Is there a simple way to simplify an expression in terms of vector operations?

For example, when I evaluate this;

v1 = {x1, y1, z1};
v2 = {x2, y2, z2};
v3 = {x3, y3, z3};
v4 = {x4, y4, z4};
Integrate[1, {x, y, z} \[Element] Tetrahedron[{v1, v2, v3, v4}]]

I get this horrible abomination;

1/6 Abs[x3 y2 z1 - x4 y2 z1 - x2 y3 z1 + x4 y3 z1 + x2 y4 z1 - x3 y4 z1 - x3 y1 z2 + x4 y1 z2 + x1 y3 z2 - x4 y3 z2 - x1 y4 z2 + x3 y4 z2 + x2 y1 z3 - x4 y1 z3 - x1 y2 z3 + x4 y2 z3 + x1 y4 z3 - x2 y4 z3 - x2 y1 z4 + x3 y1 z4 + x1 y2 z4 - x3 y2 z4 - x1 y3 z4 + x2 y3 z4]

However, this is simply the formula for the tetrahedron volume;

$$\frac16 \left| ( \vec{v}_2 - \vec{v}_1 ) \cdot ( ( \vec{v}_3 - \vec{v}_1 ) \times ( \vec{v}_4 - \vec{v}_1 ) ) \right|$$

Can Mathematica show the result I get in terms of vectors and vector operations?

There are other questions similar to this, but answers are some hacky manipualtions and not quite what I'm looking for.

Isn't there a simple, non-hacky, built-in way? There must be! C'mon Mathematica...

  • $\begingroup$ You could define vectors $Assumptions = (v1 | v2 | v3 | v4) \[Element] Vectors[dim, Reals], but you need a "vectorformulated Tetrahedron"! $\endgroup$ – Ulrich Neumann Jul 1 at 14:01
  • $\begingroup$ I tried that. $Assumptions = (v1 | v2 | v3 | v4) \[Element] Vectors[3, Reals]; Integrate[1, {x, y, z} \[Element] Tetrahedron[{v1, v2, v3, v4}]] However, I got this error: Integrate::ilim: Invalid integration variable or limit(s) in {x,y,z}\[Element]Tetrahedron[{v1,v2,v3,v4}]. $\endgroup$ – Mahmut Akkuş Jul 1 at 14:09
  • $\begingroup$ Because "Tetrahedron" expects "euclidian coordinates" . You have to define your own "Tetrahedron" I think. $\endgroup$ – Ulrich Neumann Jul 1 at 14:23
  • $\begingroup$ Welcome to Mathematica.SE! I suggest the following: 1) As you receive help, try to give it too, by answering questions in your area of expertise. 2) Take the tour! 3) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! $\endgroup$ – Michael E2 Jul 1 at 15:34
  • $\begingroup$ Somewhat related: mathematica.stackexchange.com/questions/3242/…, reference.wolfram.com/language/guide/SymbolicTensors.html. But you have to start with a vector/tensor formulation, perhaps. $\endgroup$ – Michael E2 Jul 1 at 15:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.