While working on physics engine, I have to
deal with a lot of analytical and computational geometry. Sometimes interesting
things arise.

Consider, for example, triple product of three 3-dimensional vectors:
(*a*,*b*,*c*)=*a*·(*b* × *c*). Although it doesn’t look symmetric, in fact it has
some sort of symmetry: it’s cyclic, i.e. (*a*,*b*,*c*)=(*c*,*a*,*b*)=(*b*,*c*,*a*).

This follows from different interpretations of triple product. For example, from
geometric point of view, triple product is the signed volume of the
parallelepiped defined by these three vectors.

On the other hand, triple product is the determinant of the 3-by-3 matrix having the
three vectors as rows.

None of these interpretations, however, is obvious from the definition of the
triple product, given above. If you don’t know them, the only way to prove
cyclicity is to expand both sides using coordinates and to see that they are
identical. In this case it looks like magical coincidence (at least it looked so
for me when I was studying it for the first time).

Today I discovered very straightforward justification of this property, which, I
think, explains its algebraic nature and connections with dot and cross
products.

Cross product is linear transformation from ℝ^{3} space to itself, and thus can
be represented by 3-by-3 matrix.

*a* × *b* = *A* *b* = | ⎡
⎢
⎢
⎣ | 0 | −*a*_{3} | *a*_{2} |
*a*_{3} | 0 | −*a*_{1} |
−*a*_{2} | *a*_{1} | 0 |
| ⎤
⎥
⎥
⎦ |
| |

As you can see, matrix *A* is skew-symmetric, i.e. *A*^{T}=−*A*. Then
adjoint matrix *A*^{*} also equals −*A*.

Now we have all that we need. Here ( , ) represents dot product and *B* is
cross product matrix for *b*.

(*a*,*b*,*c*)=*a* · (*b* × *c*)=(*a*, *B* *c*)=(*B*^{*} *a*, *c*)=(− *b* × *a*,
*c*)=(*a* × *b*, *c*)=(*c*, *a* × *b*) = (*c*,*a*,*b*). |