Given a \(k\)-tensor object \(S\) and an \(l\)-tensor \(T\), we
can form the cross product \(S\otimes T\), defined as
$$S\otimes T\left(v_1,\ldots,v_k,v_{k+1},\ldots, v_{k+l}\right)=
S\left(v_1,\ldots v_k\right)\cdot T\left(v_{k+1},\ldots
v_{k+l}\right).$$
Package idiom for this includes cross(S,T)
and S %X% T
;
note that the cross product is not commutative. Function cross()
can take any number of arguments (the result is well-defined because the
cross product is associative); it uses cross2()
as a low-level
helper function.