cross product

Cross products


In general, the term ‘cross product’ is used for any operation denoted by the symbol ‘×\times’, such as cartesian product, direct product, Tychonoff product, or (subsuming all of these) product in a category.

However, there is another completely different context, used in the elementary analysis of vector spaces, and that is what we discuss here. Originally isolated from the multiplication operation in quaternions as a binary operation on 3Im\mathbb{R}^3 \simeq Im \mathbb{H}, the cross product now has generalisations to other arities, other dimensions, and other ground fields.



The classical cross product on the Cartesian space 3\mathbb{R}^3 is the bilinear function

()×(): 3× 3 3 (-) \times (-)\colon \mathbb{R}^3 \times \mathbb{R}^3 \to \mathbb{R}^3

given by

(a,b,c)×(d,e,f)=(becf,cdaf,aebd). (a,b,c) \times (d,e,f) = (b e - c f, c d - a f, a e - b d) .

This operation is invariant under orthogonal transformations and there is nothing special here about the real numbers, so given any 33-dimensional oriented inner product space VV over any field, we have a bilinear cross product

()×():V×VV (-) \times (-)\colon V \times V \to V

given, upon choosing any oriented orthonormal basis for VV, by the formula above.


We have already, trivially, generalized the cross product to other ground fields. One way to generalise it to other dimensions is to identify characteristic features as a bilinear operation and see what operations in other dimensions have these.

In this vein, a binary cross product on any inner product space VV is a bilinear function

()×():V×VV (-) \times (-)\colon V \times V \to V

such that for all x,yVx, y\in V we have

  1. Orthgonality: x×yx \times y is orthogonal to both xx and yy; that is, x(x×y)=(x×y)y=0x \cdot (x \times y) = (x \times y) \cdot y = 0.

  2. Area: x×y=xy{\|x \times y\|} = {\|x\|} {\|y\|} if x,yx, y are orthogonal.

From these, we can prove a more general formula for x×y{\|x \times y\|}:

x×y 2=x 2y 2(xy) 2, {\|x \times y\|}^2 = {\|x\|}^2 {\|y\|}^2 - (x \cdot y)^2 ,

or equivalently

x×y=xy|sin(x,y)|. {\|x \times y\|} = {\|x\|} {\|y\|} {|\sin\angle(x,y)|} .

(Using the polarization identity to express xyx \cdot y in terms of x\|x\|, y\|y\|, and either x+y\|x + y\| or xy\|x - y\|, this is the double of Hero’s Formula for the area of a triangle.)

We then have over the real numbers:

  • In dimension 00 or 11, there is one binary cross product: x×y0x \times y \coloneqq 0.
  • In dimension 33, there are two binary cross products, one for each orientation, matching the classical cross product.
  • In dimension 77, there are uncountably many binary cross products. Even fixing a basis and requiring compatibility with this, there are still hundreds of cross products.
  • In any other finite dimension, there are no binary cross products at all.

These cross products exist over any base field, but as far as I know there may be additional cross products over some. (Of course, the claim that there are uncountably many cross products in 77 dimensions should be generalised and made more precise; the space of these inner products is some algebraic variety.)

Binary cross products are closely related to normed division algebras (NDAs). Given a normed division algebra AA, the imaginary hyperplane Im(A)Im(A) inherits an inner product from AA and gains a cross product as

x×yIm(xy)=12[x,y]=xy+xy. x \times y \coloneqq Im(x y) = \frac{1}{2}[x,y] = x y + x \cdot y .

Conversely, given an inner product space VV with a binary cross product, the orthogonal direct sum KVK \oplus V becomes a NDA as

(a,x)(b,y)=(abxy,ay+bx+x×y), (a,x) (b,y) = (a b - x \cdot y, a y + b x + x \times y) ,

where KK is the ground field.

By Hurwitz's theorem?, the only finite-dimensional NDAs over \mathbb{R} are \mathbb{R} itself (the real numbers), \mathbb{C} (the complex numbers), \mathbb{H} (the quaternions), and 𝕆\mathbb{O} (the octonions). Thus the limited possibilities for binary cross products are determined by the limited possibilities for NDA structures.


Given an oriented inner product space VV of finite dimension nn, we can define the signed volume of an nn-tuple of vectors. (See also volume form.) This allows us to characterise a co-unary cross product of n1n - 1 vectors as a multilinear operation

:V n1V ⨉\colon V^{n - 1} \to V

such that

(v 1,,v n1)v n=vol(v 1,,v n) ⨉(v_1,\ldots,v_{n-1}) \cdot v_n = vol(v_1,\ldots,v_n)

always. There is exactly one such cross product on any such VV (so two if we start with an unoriented inner product space).

In 33 dimensions, this also recovers the classical cross product.


In general, let a vector-valued cross product on any inner product space VV be a multilinear function

:V kV ⨉\colon V^k \to V

for some natural number kk (called the arity?) such that:

  1. Orthgonality: (v 1,,v k)⨉(v_1,\ldots,v_k) is orthogonal to each v iv_i.

  2. Area: (v 1,,v k)= iv i{\|⨉(v_1,\ldots,v_k)\|} = \prod_i {\|v_i\|} if the v iv_i are mutually orthogonal.

We can again extend (2) to get the magnitude of the cross product of any kk vectors; its square is the determinant of the matrix whose (i,j)(i,j)th entry is v iv jv_i \cdot v_j (the Gram determinant?).

Then for an inner product space VV over \mathbb{R} of finite dimension nn, we have:

  • If k=0k = 0, then there is no cross product.
  • If k=1k = 1, then there is one cross product (always 00) in dimension 00, two cross products in dimension 22 (one for each orientation), and no others.
  • If k=2k = 2, then the possibilities are as listed above for binary cross products.
  • If k=3k = 3, then there is one cross product (always 00) for n2n \leq 2, two cross products (one for each orientation) when n=4n = 4, some cross products when n=8n = 8 that I don't understand (but which are presumably related to the octonions), and no others.
  • If 3<k<n13 \lt k \lt n - 1, then there are no cross products.
  • If k=n1k = n - 1, then there are two cross products, one for each orientation, as described above.
  • If k=nk = n, then there are no cross products.
  • If k>nk \gt n, then there is one cross product, whose value is always 00.


Exterior products

The cross product is also called ‘outer product’, and both of these terms are sometimes also used for the exterior product. In its most basic form, the exterior product of two vectors u,vu,v is a bivector uvu \wedge v. In 33 dimensions, given an inner product and an orientation, we can use the Hodge dual to turn this into a vector, and this is the classical cross product once more. In 22 dimensions, using the same structure, we can turn the bivector into a scalar; this is sometimes called the scalar-valued cross product. Actually, the scalar-valued cross product x×yx \times y in 22 dimensions is simply the dot product x×yx \cdot \times{y}, where ×y\times{y} is the unary vector-valued cross product in 22 dimensions. (In a counterclockwise-oriented plane, it rotates a vector clockwise by a right angle.)

Using only the inner product but not the orientation, we get (respectively) a pseudovector? (sometimes called an axial vector) or a pseudoscalar?; this perspective is common in geometric algebra. (In general in dimension nn, a bivector becomes an (n2)(n-2)-(pseudo)-vector, but this is not usually an simplification.)

In classical applications of the cross product, often not all of the structure is needed, and the exterior product is really the fundamental concept.


If MM is a Riemannian manifold, then the tangent space at each point is an inner product space, so it may be possible to smoothly assign a kk-ary cross product to these spaces. If this is done, then we can take the curl of a (k1)(k-1)-vector field? as follows:

  • Use the metric to turn the (k1)(k-1)-vector field into a (k1)(k-1)-form.
  • Take the exterior differential to get a kk-form.
  • Use the metric again to get a kk-vector field.
  • Apply the cross product to get a vector field.

This vector field is the curl of the original (k1)(k-1)-vector field. This justifies the notation ×X\Del \times X for the curl.

(It's important that the cross product is alternating and multilinear, so that it makes sense to apply it to a kk-vector rather than to kk individual vectors.)

When k=2k = 2 and n=3n = 3, there is one smooth choice of cross product for each orientation of MM, and we recover the classical notion of curl.

When k=1k = 1 and n=2n = 2, we may also consider the scalar-valued curl, using the scalar-valued cross product described above. The scalar-valued curl of a vector field XX is the same as the divergence of the rotated vector field ×X\times{X} (using the unary vector-valued cross product in 22 dimensions); that is, ×X=×X\Del \times X = \Del \cdot \times{X}.


Revised on March 7, 2016 03:24:09 by David Roberts (