1
$\begingroup$

I want to be able to simplify expressions of vectors, such as:

Cross[Cross[x,p],Cross[Cross[y,q],Cross[x,p]]]

I know I could create my own rule sets, however I'd like to know if there are built in ways to do this. Full simplify does not work. Is there some way to specify that these are vectors to make this work?

Or are user defined rules required? If so, is there a good package I can load?

$\endgroup$
4
  • 1
    $\begingroup$ What would you expect Cross[Cross[x,p],Cross[Cross[y,q],Cross[x,p]]] to simplify to? $\endgroup$
    – lericr
    Commented Aug 3 at 18:14
  • $\begingroup$ I'd expect it to use the vector triple product. $\endgroup$
    – ions me
    Commented Aug 3 at 20:59
  • 2
    $\begingroup$ What do you mean by vector triple product? Can you please write it down? Note that Cross[a, b, c] is not the same as Cross[Cross[a, b], c]! Perhaps you want to expand your expression into dot products? Have you tried TensorExpand? $\endgroup$
    – Domen
    Commented Aug 3 at 21:27
  • $\begingroup$ That does the trick. Thanks! $\endgroup$
    – ions me
    Commented Aug 4 at 2:30

1 Answer 1

1
$\begingroup$

Per @Domen's comment, maybe you want TensorExpand.

TensorExpand[Cross[a, Cross[b, c]]]
(* -c a . b + b a . c *)


TensorExpand[Cross[Cross[x, p], Cross[Cross[y, q], Cross[x, p]]]]
(* x p . (x p . q\[Cross]y) - x p . (p x . q\[Cross]y) - p x . (x p . q\[Cross]y) + p x . (p x . q\[Cross]y) *)
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.