Cross product

Cross product

In mathematics, the cross product, vector product, or Gibbs vector product is a binary operation on two vectors in three-dimensional space. It results in a vector which is perpendicular to both of the vectors being multiplied and normal to the plane containing them. The name is derived from the cross symbol "×" that is often used to designate this operation; the alternative name vector product emphasizes the vector (rather than scalar) nature of the result. It has many applications in mathematics, engineering and physics.

If either of the vectors being multiplied is zero or the vectors are parallel then their cross product is zero. More generally, the magnitude of the product equals the area of a parallelogram with the vectors for sides; in particular for perpendicular vectors this is a rectangle and the magnitude of the product is the product of their lengths. The cross product is anticommutative, distributive over addition and satisfies the Jacobi identity. The space and product form an algebra over a field, which is neither commutative nor associative, but is a Lie algebra with the cross product being the Lie bracket.

Like the dot product, it depends on the metric of Euclidean space, but unlike the dot product, it also depends on the choice of orientation or "handedness". The product can be generalized in various ways; it can be made independent of orientation by changing the result to pseudovector, or in arbitrary dimensions the exterior product of vectors can be used with a bivector or two-form result. Also, using the orientation and metric structure just as for the traditional 3-dimensional cross product, one can in n dimensions take the product of n − 1 vectors to produce a vector perpendicular to all of them. But if the product is limited to non-trivial binary products with vector results, it exists only in three and seven dimensions.[citation needed]

The cross-product in respect to a right-handed coordinate system



Finding the direction of the cross product by the right-hand rule

The cross product of two vectors a and b is denoted by a × b. In physics, sometimes the notation ab is used,[1] though this is avoided in mathematics to avoid confusion with the exterior product.

The cross product a × b is defined as a vector c that is perpendicular to both a and b, with a direction given by the right-hand rule and a magnitude equal to the area of the parallelogram that the vectors span.

The cross product is defined by the formula[2][3]

\mathbf{a} \times \mathbf{b} = a b \sin \theta \ \mathbf{n}

where θ is the measure of the smaller angle between a and b (0° ≤ θ ≤ 180°), a and b are the magnitudes of vectors a and b (i.e., a = |a| and b = |b|), and n is a unit vector perpendicular to the plane containing a and b in the direction given by the right-hand rule as illustrated. If the vectors a and b are parallel (i.e., the angle θ between them is either 0° or 180°), by the above formula, the cross product of a and b is the zero vector 0.

The direction of the vector n is given by the right-hand rule, where one simply points the forefinger of the right hand in the direction of a and the middle finger in the direction of b. Then, the vector n is coming out of the thumb (see the picture on the right). Using this rule implies that the cross-product is anti-commutative, i.e., b × a = −(a × b). By pointing the forefinger toward b first, and then pointing the middle finger toward a, the thumb will be forced in the opposite direction, reversing the sign of the product vector.

Using the cross product requires the handedness of the coordinate system to be taken into account (as explicit in the definition above). If a left-handed coordinate system is used, the direction of the vector n is given by the left-hand rule and points in the opposite direction.

This, however, creates a problem because transforming from one arbitrary reference system to another (e.g., a mirror image transformation from a right-handed to a left-handed coordinate system), should not change the direction of n. The problem is clarified by realizing that the cross-product of two vectors is not a (true) vector, but rather a pseudovector. See cross product and handedness for more detail.

Computing the cross product

Coordinate notation

The standard basis vectors i, j, and k satisfy the following equalities:

\mathbf{i} \times \mathbf{j} = \mathbf{k}\quad\ \mathbf{j} \times \mathbf{k} = \mathbf{i}\quad\ \mathbf{k} \times \mathbf{i} = \mathbf{j}.

Together with the skew-symmetry and bilinearity of the product, these three identities are sufficient to determine the cross product of any two vectors. In particular, the following identities can be established:

\mathbf{j} \times \mathbf{i} = -\mathbf{k}\quad\ \mathbf{k} \times \mathbf{j} = -\mathbf{i}\quad\ \mathbf{i} \times \mathbf{k} = -\mathbf{j},
\mathbf{i} \times \mathbf{i} = \mathbf{j} \times \mathbf{j} = \mathbf{k} \times \mathbf{k} = \mathbf{0}. (the zero vector)

These can be used to compute the product of two general vectors, a = a1i + a2j + a3k and b = b1i + b2j + b3k, by expanding the product using distributivity then collecting similar terms:

\mathbf{a} \times \mathbf{b} =& (a_1\mathbf{i} + a_2\mathbf{j} + a_3\mathbf{k}) \times(b_1\mathbf{i} + b_2\mathbf{j} + b_3\mathbf{k}) \\
= &a_1b_1\mathbf{i} \times \mathbf{i} + a_1b_2\mathbf{i} \times \mathbf{j} + a_1b_3\mathbf{i} \times \mathbf{k} +\\
 &a_2b_1\mathbf{j} \times \mathbf{i} + a_2b_2\mathbf{j} \times \mathbf{j} + a_2b_3\mathbf{j} \times \mathbf{k} +\\
 &a_3b_1\mathbf{k} \times \mathbf{i} + a_3b_2\mathbf{k} \times \mathbf{j} + a_3b_3\mathbf{k} \times \mathbf{k} \\
=& a_1b_1\mathbf{0} + a_1b_2\mathbf{k} + a_1b_3(-\mathbf{j}) + a_2b_1(-\mathbf{k}) + a_2b_2\mathbf{0} + a_2b_3\mathbf{i} + a_3b_1\mathbf{j} + a_3b_2(-\mathbf{i}) + a_3b_3\mathbf{0} \\
=& (a_2b_3 - a_3b_2) \mathbf{i} + (a_3b_1 - a_1b_3) \mathbf{j} + (a_1b_2 - a_2b_1) \mathbf{k}. \\

Or written as column vectors:

\begin{pmatrix}a_1 \\ a_2 \\ a_3 \end{pmatrix} \times \begin{pmatrix}b_1 \\ b_2 \\ b_3 \end{pmatrix}  = \begin{pmatrix}a_2b_3 - a_3b_2 \\ a_3b_1 - a_1b_3 \\ a_1b_2 - a_2b_1 \end{pmatrix}.

Matrix notation

The definition of the cross product can also be represented by the determinant of a formal matrix:

\mathbf{a}\times\mathbf{b}= \begin{vmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \\
a_1 & a_2 & a_3 \\
b_1 & b_2 & b_3 \\

This determinant can be computed using Sarrus' rule or Cofactor expansion.

Using Sarrus' Rule, it expands to

\mathbf{a}\times\mathbf{b}= \mathbf{i}a_2b_3 + \mathbf{j}a_3b_1 + \mathbf{k}a_1b_2 - \mathbf{i}a_3b_2 - \mathbf{j}a_1b_3 - \mathbf{k}a_2b_1.

Using Cofactor expansion along the first row instead, it expands to[4]

a_2 & a_3\\
b_2 & b_3
\end{vmatrix} \mathbf{i} - 
a_1 & a_3\\
b_1 & b_3
\end{vmatrix} \mathbf{j}+
a_1 & a_2\\
b_1 & b_2
\end{vmatrix} \mathbf{k}

which gives the components of the resulting vector directly.

An elegant, alternative derivation is based on an isometric sketch of (x,y,z) axes with the (x,y,z) components of each vector (A,B) drawn parallel to the corresponding axes. The resulting formula for the constituents of the cross product (C = A x B) then appears by inspection, provided we are careful to take all orthogonal cross products in the order A:B (such as Az x Bx). For example, this method yields the magnitude (Cz = AxBy - AyBx) for the vector component along the z-axis and unit vector (k).


Geometric meaning

Figure 1. The area of a parallelogram as a cross product
Figure 2. Three vectors defining a parallelepiped

The magnitude of the cross product can be interpreted as the positive area of the parallelogram having a and b as sides (see Figure 1):

A = | \mathbf{a} \times \mathbf{b}| = | \mathbf{a} | | \mathbf{b}| \sin \theta. \,\!

Indeed, one can also compute the volume V of a parallelepiped having a, b and c as sides by using a combination of a cross product and a dot product, called scalar triple product (see Figure 2):

\mathbf{a}\cdot(\mathbf{b}\times \mathbf{c})=
\mathbf{b}\cdot(\mathbf{c}\times \mathbf{a})=
\mathbf{c}\cdot(\mathbf{a}\times \mathbf{b}).

Since the result of the scalar triple product may be negative, the volume of the parallelepiped is given by its absolute value. For instance,

V = |\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})|.

Because the magnitude of the cross product goes by the sine of the angle between its arguments, the cross product can be thought of as a measure of "perpendicularness" in the same way that the dot product is a measure of "parallelness". Given two unit vectors, their cross product has a magnitude of 1 if the two are perpendicular and a magnitude of zero if the two are parallel. The opposite is true for the dot product of two unit vectors.

Unit vectors enable two convenient identities: the dot product of two unit vectors yields the cosine (which may be positive or negative) of the angle between the two unit vectors. The magnitude of the cross product of the two unit vectors yields the sine (which will always be positive).

Algebraic properties

The cross product is anticommutative,

\mathbf{a} \times \mathbf{b} = -\mathbf{b} \times \mathbf{a},

distributive over addition,

\mathbf{a} \times (\mathbf{b} + \mathbf{c}) = (\mathbf{a} \times \mathbf{b}) + (\mathbf{a} \times \mathbf{c}),

and compatible with scalar multiplication so that

(r\mathbf{a}) \times \mathbf{b} = \mathbf{a} \times (r\mathbf{b}) = r(\mathbf{a} \times \mathbf{b}).

It is not associative, but satisfies the Jacobi identity:

\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) + \mathbf{b} \times (\mathbf{c} \times \mathbf{a}) + \mathbf{c} \times (\mathbf{a} \times \mathbf{b}) = \mathbf{0}.

Distributivity, linearity and Jacobi identity show that R3 together with vector addition and the cross product forms a Lie algebra, the Lie algebra of the real orthogonal group in 3 dimensions, SO(3).

The cross product does not obey the cancellation law: a × b = a × c with non-zero a does not imply that b = c. Instead if a × b = a × c:

\mathbf{0} &= (\mathbf{a} \times \mathbf{b}) - (\mathbf{a} \times \mathbf{c})\\
&= \mathbf{a} \times (\mathbf{b} - \mathbf{c}).\\

If neither a nor b - c is zero then from the definition of the cross product the angle between them must be zero and they must be parallel. They are related by a scale factor, so one of b or c can be expressed in terms of the other, for example

\mathbf{c} = \mathbf{b} + t\mathbf{a},

for some scalar t.

If a · b = a · c and a × b = a × c, for non-zero vector a, then b = c, as

\mathbf{a} \times (\mathbf{b} - \mathbf{c}) = \mathbf{0} and
\mathbf{a} \cdot (\mathbf{b} - \mathbf{c}) = 0,

so bc is both parallel and perpendicular to the non-zero vector a, something that is only possible if bc = 0 so they are identical.

From the geometrical definition the cross product is invariant under rotations about the axis defined by a × b. More generally the cross product obeys the following identity under matrix transformations:

(M\mathbf{a}) \times (M\mathbf{b}) = (\det M) M^{-T}(\mathbf{a} \times \mathbf{b})

where \scriptstyle M is a 3 by 3 matrix and \scriptstyle M^{-T} is the transpose of the inverse

The cross product of two vectors in 3-D always lies in the null space of the matrix with the vectors as rows:

\mathbf{a} \times \mathbf{b} \in NS\left(\begin{bmatrix}\mathbf{a} \\ \mathbf{b}\end{bmatrix}\right).

For the sum of two cross products, the following identity holds:

\mathbf{a} \times \mathbf{b} + \mathbf{c} \times \mathbf{d} = (\mathbf{a} - \mathbf{c}) \times (\mathbf{b} - \mathbf{d}) + \mathbf{a} \times \mathbf{d} + \mathbf{c} \times \mathbf{b}.


The product rule applies to the cross product in a similar manner:

\frac{d}{dx}(\mathbf{a} \times \mathbf{b}) = \frac{d\mathbf{a}}{dx} \times \mathbf{b} + \mathbf{a} \times \frac{d\mathbf{b}}{dx}.

This identity can be easily proved using the matrix multiplication representation.

Triple product expansion

The cross product is used in both forms of the triple product. The scalar triple product of three vectors is defined as

\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}),

It is the signed volume of the parallelepiped with edges a, b and c and as such the vectors can be used in any order that's an even permutation of the above ordering. The following therefore are equal:

\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}) = \mathbf{b} \cdot (\mathbf{c} \times \mathbf{a}) = \mathbf{c} \cdot (\mathbf{a} \times \mathbf{b}),

The vector triple product is the cross product of a vector with the result of another cross product, and is related to the dot product by the following formula

\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) = \mathbf{b}(\mathbf{a} \cdot \mathbf{c}) - \mathbf{c}(\mathbf{a} \cdot \mathbf{b}).

The mnemonic "BAC minus CAB" is used to remember the order of the vectors in the right hand member. This formula is used in physics to simplify vector calculations. A special case, regarding gradients and useful in vector calculus, is

\nabla \times (\nabla \times \mathbf{f}) & = \nabla (\nabla \cdot  \mathbf{f} ) - (\nabla \cdot \nabla) \mathbf{f} \\
& =  \nabla (\nabla \cdot  \mathbf{f} ) - \nabla^2 \mathbf{f},\\

where ∇2 is the vector Laplacian operator.

Another identity relates the cross product to the scalar triple product:

(\mathbf{a}\times \mathbf{b})\times (\mathbf{a}\times \mathbf{c}) = (\mathbf{a}\cdot(\mathbf{b}\times \mathbf{c})) \mathbf{a}

Alternative formulation

The cross product and the dot product are related by:

 |\mathbf{a} \times \mathbf{b}|^2  = |\mathbf{a}|^2  |\mathbf{b}|^2 - (\mathbf{a} \cdot \mathbf{b})^2.

The right-hand side is the Gram determinant of a and b, the square of the area of the parallelogram defined by the vectors. This condition determines the magnitude of the cross product. Namely, since the dot product is defined, in terms of the angle θ between the two vectors, as:

 \mathbf{a \cdot b} = | \mathbf a | | \mathbf b | \cos \theta ,

the above given relationship can be rewritten as follows:

  |\mathbf{a \times b}|^2 = |\mathbf{a}|^2 |\mathbf{b}|^2 \left(1-\cos^2 \theta \right) .

Invoking the Pythagorean trigonometric identity one obtains:

 |\mathbf{a} \times \mathbf{b}|  = |\mathbf{a}|  |\mathbf{b}| \sin \theta ,

which is the magnitude of the cross product expressed in terms of θ, equal to the area of the parallelogram defined by a and b (see definition above).

The combination of this requirement and the property that the cross product be orthogonal to its constituents a and b provides an alternative definition of the cross product.[5]

Lagrange's identity

The relation:

 |\mathbf{a} \times \mathbf{b}|^2 =  |\mathbf{a}|^2  |\mathbf{b}|^2 - (\mathbf{a} \cdot \mathbf{b})^2  .

can be compared with another relation involving the right-hand side, namely Lagrange's identity expressed as:[6]

\sum_{1 \le i < j \le n} \left(a_ib_j-a_jb_i \right)^2 =  | \mathbf a |^2 | \mathbf b |^2 - (\mathbf {a \cdot b } )^2\ ,

where a and b may be n-dimensional vectors. In the case n=3, combining these two equations results in the expression for the magnitude of the cross product in terms of its components:[7]

 |\mathbf{a} \times \mathbf{b}|^2 = \sum_{1 \le i < j \le 3} \left(a_ib_j-a_jb_i \right)^2 = (a_1b_2  - b_1a_2)^2 + (a_2b_3 - a_3b_2)^2 + (a_3b_1-a_1b_3)^2 \ .

The same result is found directly using the components of the cross-product found from:

\mathbf{a}\times\mathbf{b}=\det \begin{bmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \\
a_1 & a_2 & a_3 \\
b_1 & b_2 & b_3 \\

In R3 Lagrange's equation is a special case of the multiplicativity |vw| = |v||w| of the norm in the quaternion algebra.

It is a special case of another formula, also sometimes called Lagrange's identity, which is the three dimensional case of the Binet-Cauchy identity:[8][9]

(\mathbf{a} \times \mathbf{b}) \cdot (\mathbf{c} \times \mathbf{d}) = (\mathbf{a} \cdot \mathbf{c})(\mathbf{b} \cdot \mathbf{d}) - (\mathbf{a} \cdot \mathbf{d})(\mathbf{b} \cdot \mathbf{c}).

If a = c and b = d this simplifies to the formula above.

Alternative ways to compute the cross product

Conversion to matrix multiplication

The vector cross product also can be expressed as the product of a skew-symmetric matrix and a vector:[8]

\mathbf{a} \times \mathbf{b} = [\mathbf{a}]_{\times} \mathbf{b} = \begin{bmatrix}\,0&\!-a_3&\,\,a_2\\ \,\,a_3&0&\!-a_1\\-a_2&\,\,a_1&\,0\end{bmatrix}\begin{bmatrix}b_1\\b_2\\b_3\end{bmatrix}
\mathbf{a} \times \mathbf{b} = [\mathbf{b}]_{\times}^\mathrm T \mathbf{a} = \begin{bmatrix}\,0&\,\,b_3&\!-b_2\\ -b_3&0&\,\,b_1\\\,\,b_2&\!-b_1&\,0\end{bmatrix}\begin{bmatrix}a_1\\a_2\\a_3\end{bmatrix}

where superscript T refers to the Transpose matrix, and [a]× is defined by:

[\mathbf{a}]_{\times} \stackrel{\rm def}{=} \begin{bmatrix}\,\,0&\!-a_3&\,\,\,a_2\\\,\,\,a_3&0&\!-a_1\\\!-a_2&\,\,a_1&\,\,0\end{bmatrix}.

Also, if a is itself a cross product:

\mathbf{a} = \mathbf{c} \times \mathbf{d}

then[citation needed]

[\mathbf{a}]_{\times} = (\mathbf{c}\mathbf{d}^\mathrm T)^\mathrm T - \mathbf{c}\mathbf{d}^\mathrm T.

This result can be generalized to higher dimensions using geometric algebra. In particular in any dimension bivectors can be identified with skew-symmetric matrices, so the product between a skew-symmetric matrix and vector is equivalent to the grade-1 part of the product of a bivector and vector.[citation needed] In three dimensions bivectors are dual to vectors so the product is equivalent to the cross product, with the bivector instead of its vector dual. In higher dimensions the product can still be calculated but bivectors have more degrees of freedom and are not equivalent to vectors.[citation needed]

This notation is also often much easier to work with, for example, in epipolar geometry.

From the general properties of the cross product follows immediately that

[\mathbf{a}]_{\times} \, \mathbf{a} = \mathbf{0}   and   \mathbf{a}^\mathrm T \, [\mathbf{a}]_{\times} = \mathbf{0}

and from fact that [a]× is skew-symmetric it follows that

\mathbf{b}^\mathrm T \, [\mathbf{a}]_{\times} \, \mathbf{b} = 0.

The above-mentioned triple product expansion (bac-cab rule) can be easily proven using this notation.[citation needed]

The above definition of [a]× means that there is a one-to-one mapping between the set of 3×3 skew-symmetric matrices, also known as the Lie algebra of SO(3), and the operation of taking the cross product with some vector a.[citation needed]

Index notation

The cross product can alternatively be defined in terms of the Levi-Civita symbol, εijk:

\mathbf{a \times b} = \mathbf{c}\Leftrightarrow\ c_i = \sum_{j=1}^3 \sum_{k=1}^3 \varepsilon_{ijk} a_j b_k

where the indices \scriptstyle i,j,k correspond, as in the previous section, to orthogonal vector components. This characterization of the cross product is often expressed more compactly using the Einstein summation convention as

\mathbf{a \times b} = \mathbf{c}\Leftrightarrow\ c_i = \varepsilon_{ijk} a_j b_k

in which repeated indices are summed from 1 to 3. Note that this representation is another form of the skew-symmetric representation of the cross product:

\varepsilon_{ijk} a_j = [\mathbf{a}]_\times.

In classical mechanics: representing the cross-product with the Levi-Civita symbol can cause mechanical-symmetries to be obvious when physical-systems are isotropic in space. (Quick example: consider a particle in a Hooke's Law potential in three-space, free to oscillate in three dimensions; none of these dimensions are "special" in any sense, so symmetries lie in the cross-product-represented angular-momentum which are made clear by the abovementioned Levi-Civita representation).[citation needed]


The word "xyzzy" can be used to remember the definition of the cross product.


\mathbf{a} = \mathbf{b} \times \mathbf{c}


\mathbf{a} = \begin{bmatrix}a_x\\a_y\\a_z\end{bmatrix},
\mathbf{b} = \begin{bmatrix}b_x\\b_y\\b_z\end{bmatrix},
\mathbf{c} = \begin{bmatrix}c_x\\c_y\\c_z\end{bmatrix}


a_x = b_y c_z - b_z c_y \,
a_y = b_z c_x - b_x c_z \,
a_z = b_x c_y - b_y c_x. \,

The second and third equations can be obtained from the first by simply vertically rotating the subscripts, xyzx. The problem, of course, is how to remember the first equation, and two options are available for this purpose: either to remember the relevant two diagonals of Sarrus's scheme (those containing i), or to remember the xyzzy sequence.

Since the first diagonal in Sarrus's scheme is just the main diagonal of the above-mentioned \scriptstyle 3 \times 3 matrix, the first three letters of the word xyzzy can be very easily remembered.

Cross Visualization

Similarly to the mnemonic device above, a "cross" or X can be visualized between the two vectors in the equation. This may help you to remember the correct cross product formula.


\mathbf{a} = \mathbf{b} \times \mathbf{c}


\mathbf{a} =
\begin{bmatrix}b_x\\b_y\\b_z\end{bmatrix} \times

If we want to obtain the formula for ax we simply drop the bx and cx from the formula, and take the next two components down -

a_x =
\begin{bmatrix}b_y\\b_z\end{bmatrix} \times

It should be noted that when doing this for ay the next two elements down should "wrap around" the matrix so that after the z component comes the x component. For clarity, when performing this operation for ay, the next two components should be z and x (in that order). While for az the next two components should be taken as x and y.

a_y =
\begin{bmatrix}b_z\\b_x\end{bmatrix} \times
a_z =
\begin{bmatrix}b_x\\b_y\end{bmatrix} \times

For ax then, if we visualize the cross operator as pointing from an element on the left to an element on the right, we can take the first element on the left and simply multiply by the element that the cross points to in the right hand matrix. We then subtract the next element down on the left, multiplied by the element that the cross points to here as well. This results in our ax formula -

a_x = b_y c_z - b_z c_y. \,

We can do this in the same way for ay and az to construct their associated formulas.


Computational geometry

The cross product can be used to calculate the normal for a triangle or polygon, an operation frequently performed in computer graphics. For example, the winding of polygon (clockwise or anticlockwise) about a point within the polygon (i.e. the centroid or mid-point) can be calculated by triangulating the polygon (like spoking a wheel) and summing the angles (between the spokes) using the cross product to keep track of the sign of each angle.

In computational geometry of the plane, the cross product is used to determine the sign of the acute angle defined by three points \scriptstyle p_1=(x_1,y_1), \scriptstyle p_2=(x_2,y_2) and \scriptstyle p_3=(x_3,y_3). It corresponds to the direction of the cross product of the two coplanar vectors defined by the pairs of points \scriptstyle p_1, p_2 and \scriptstyle p_1, p_3, i.e., by the sign of the expression \scriptstyle P = (x_2-x_1)(y_3-y_1)-(y_2-y_1)(x_3-x_1). In the "right-handed" coordinate system, if the result is 0, the points are collinear; if it is positive, the three points constitute a negative angle of rotation around \scriptstyle p_1 from \scriptstyle p_2 to \scriptstyle p_3, otherwise a positive angle. From another point of view, the sign of \scriptstyle P tells whether \scriptstyle p_3 lies to the left or to the right of line \scriptstyle p_1, p_2.


Moment of a force \scriptstyle\mathbf{F_B} applied at point B around point A is given as:

\mathbf{M_A} = \mathbf{r_{AB}} \times \mathbf{F_B}. \,


The cross product occurs in the formula for the vector operator curl. It is also used to describe the Lorentz force experienced by a moving electrical charge in a magnetic field. The definitions of torque and angular momentum also involve the cross product.

The trick of rewriting a cross product in terms of a matrix multiplication appears frequently in epipolar and multi-view geometry, in particular when deriving matching constraints.

Cross product as an exterior product

The cross product in relation to the exterior product. In red are the orthogonal unit vector, and the "parallel" unit bivector.

The cross product can be viewed in terms of the exterior product. This view allows for a natural geometric interpretation of the cross product. In exterior calculus the exterior product (or wedge product) of two vectors is a bivector. A bivector is an oriented plane element, in much the same way that a vector is an oriented line element. Given two vectors a and b, one can view the bivector ab as the oriented parallelogram spanned by a and b. The cross product is then obtained by taking the Hodge dual of the bivector ab, identifying 2-vectors with vectors:

a \times b = * (a \wedge b) \,.

This can be thought of as the oriented multi-dimensional element "perpendicular" to the bivector. Only in three dimensions is the result an oriented line element – a vector – whereas, for example, in 4 dimensions the Hodge dual of a bivector is two-dimensional – another oriented plane element. So, only in three dimensions is the cross product of a and b the vector dual to the bivector ab: it is perpendicular to the bivector, with orientation dependent on the coordinate system's handedness, and has the same magnitude relative to the unit normal vector as ab has relative to the unit bivector; precisely the properties described above.

Cross product and handedness

When measurable quantities involve cross products, the handedness of the coordinate systems used cannot be arbitrary. However, when physics laws are written as equations, it should be possible to make an arbitrary choice of the coordinate system (including handedness). To avoid problems, one should be careful to never write down an equation where the two sides do not behave equally under all transformations that need to be considered. For example, if one side of the equation is a cross product of two vectors, one must take into account that when the handedness of the coordinate system is not fixed a priori, the result is not a (true) vector but a pseudovector. Therefore, for consistency, the other side must also be a pseudovector.[citation needed]

More generally, the result of a cross product may be either a vector or a pseudovector, depending on the type of its operands (vectors or pseudovectors). Namely, vectors and pseudovectors are interrelated in the following ways under application of the cross product:

  • vector × vector = pseudovector
  • pseudovector × pseudovector = pseudovector
  • vector × pseudovector = vector
  • pseudovector × vector = vector.

So by the above relationships, the unit basis vectors i, j and k of an orthonormal, right-handed (Cartesian) coordinate frame must all be pseudovectors (if a basis of mixed vector types is disallowed, as it normally is) since i × j = k, j × k = i and k × i = j.

Because the cross product may also be a (true) vector, it may not change direction with a mirror image transformation. This happens, according to the above relationships, if one of the operands is a (true) vector and the other one is a pseudovector (e.g., the cross product of two vectors). For instance, a vector triple product involving three (true) vectors is a (true) vector.

A handedness-free approach is possible using exterior algebra.


There are several ways to generalize the cross product to the higher dimensions.

Lie algebra

The cross product can be seen as one of the simplest Lie products, and is thus generalized by Lie algebras, which are axiomatized as binary products satisfying the axioms of multilinearity, skew-symmetry, and the Jacobi identity. Many Lie algebras exist, and their study is a major field of mathematics, called Lie theory.

For example, the Heisenberg algebra gives another Lie algebra structure on \scriptstyle\mathbf{R}^3. In the basis \scriptstyle\{x,y,z\}, the product is \scriptstyle [x,y]=z, [x,z]=[y,z]=0.


The cross product can also be described in terms of quaternions, and this is why the letters i, j, k are a convention for the standard basis on \scriptstyle\mathbf{R}^3. The unit vectors i, j, k correspond to "binary" (180 deg) rotations about their respective axes (Altmann, S. L., 1986, Ch. 12), said rotations being represented by "pure" quaternions (zero scalar part) with unit norms.

For instance, the above given cross product relations among i, j, and k agree with the multiplicative relations among the quaternions i, j, and k. In general, if a vector [a1, a2, a3] is represented as the quaternion a1i + a2j + a3k, the cross product of two vectors can be obtained by taking their product as quaternions and deleting the real part of the result. The real part will be the negative of the dot product of the two vectors.

Alternatively and more straightforwardly, using the above identification of the 'purely imaginary' quaternions with \scriptstyle\mathbf{R}^3, the cross product may be thought of as half of the commutator of two quaternions.


A cross product for 7-dimensional vectors can be obtained in the same way by using the octonions instead of the quaternions. The nonexistence of such cross products of two vectors in other dimensions is related to the result that the only normed division algebras are the ones with dimension 1, 2, 4, and 8; Hurwitz's theorem.

Wedge product

In general dimension, there is no direct analogue of the binary cross product. There is however the wedge product, which has similar properties, except that the wedge product of two vectors is now a 2-vector instead of an ordinary vector. As mentioned above, the cross product can be interpreted as the wedge product in three dimensions after using Hodge duality to identify 2-vectors with vectors.

The wedge product and dot product can be combined to form the Clifford product.

Multilinear algebra

In the context of multilinear algebra, the cross product can be seen as the (1,2)-tensor (a mixed tensor, specifically a bilinear map) obtained from the 3-dimensional volume form,[note 1] a (0,3)-tensor, by raising an index.

In detail, the 3-dimensional volume form defines a product \scriptstyle V \times V \times V \to \mathbf{R}, by taking the determinant of the matrix given by these 3 vectors. By duality, this is equivalent to a function \scriptstyle V \times V \to V^*, (fixing any two inputs gives a function \scriptstyle V \to \mathbf{R} by evaluating on the third input) and in the presence of an inner product (such as the dot product; more generally, a non-degenerate bilinear form), we have an isomorphism \scriptstyle V \to V^*, and thus this yields a map \scriptstyle V \times V \to V, which is the cross product: a (0,3)-tensor (3 vector inputs, scalar output) has been transformed into a (1,2)-tensor (2 vector inputs, 1 vector output) by "raising an index".

Translating the above algebra into geometry, the function "volume of the parallelepiped defined by \scriptstyle (a,b,-)" (where the first two vectors are fixed and the last is an input), which defines a function \scriptstyle V \to \mathbf{R}, can be represented uniquely as the dot product with a vector: this vector is the cross product \scriptstyle a \times b. From this perspective, the cross product is defined by the scalar triple product, \scriptstyle\mathrm{Vol}(a,b,c) = (a\times b)\cdot c.

In the same way, in higher dimensions one may define generalized cross products by raising indices of the n-dimensional volume form, which is a \scriptstyle (0,n)-tensor. The most direct generalizations of the cross product are to define either:

  • a \scriptstyle (1,n-1)-tensor, which takes as input \scriptstyle n-1 vectors, and gives as output 1 vector – an \scriptstyle (n-1)-ary vector-valued product, or
  • a \scriptstyle (n-2,2)-tensor, which takes as input 2 vectors and gives as output skew-symmetric tensor of rank n−2 – a binary product with rank n−2 tensor values. One can also define \scriptstyle (k,n-k)-tensors for other k.

These products are all multilinear and skew-symmetric, and can be defined in terms of the determinant and parity.

The \scriptstyle (n-1)-ary product can be described as follows: given \scriptstyle n-1 vectors \scriptstyle v_1,\dots,v_{n-1} in \scriptstyle\mathbf{R}^n, define their generalized cross product \scriptstyle v_n = v_1 \times \cdots \times v_{n-1} as:

  • perpendicular to the hyperplane defined by the \scriptstyle v_i,
  • magnitude is the volume of the parallelotope defined by the \scriptstyle v_i, which can be computed as the Gram determinant of the \scriptstyle v_i,
  • oriented so that \scriptstyle v_1,\dots,v_n is positively oriented.

This is the unique multilinear, alternating product which evaluates to \scriptstyle e_1 \times \cdots \times e_{n-1} = e_n, \scriptstyle e_2 \times \cdots \times e_n = e_1, and so forth for cyclic permutations of indices.

In coordinates, one can give a formula for this \scriptstyle (n-1)-ary analogue of the cross product in Rn by:

v_1{}^1 &\cdots &v_1{}^{n}\\
\vdots  &\ddots &\vdots\\
v_{n-1}{}^1 & \cdots &v_{n-1}{}^{n}\\
\mathbf{e}_1 &\cdots &\mathbf{e}_{n}

This formula is identical in structure to the determinant formula for the normal cross product in R3 except that the row of basis vectors is the last row in the determinant rather than the first. The reason for this is to ensure that the ordered vectors (v1,...,vn-1,Λ(v1,...,vn-1)) have a positive orientation with respect to (e1,...,en). If n is odd, this modification leaves the value unchanged, so this convention agrees with the normal definition of the binary product. In the case that n is even, however, the distinction must be kept. This \scriptstyle (n-1)-ary form enjoys many of the same properties as the vector cross product: it is alternating and linear in its arguments, it is perpendicular to each argument, and its magnitude gives the hypervolume of the region bounded by the arguments. And just like the vector cross product, it can be defined in a coordinate independent way as the Hodge dual of the wedge product of the arguments.


In 1773, Joseph Louis Lagrange introduced the component form of both the dot and cross products in order to study the tetrahedron in three dimensions.[10] In 1843 the Irish mathematical physicist Sir William Rowan Hamilton introduced the quaternion product, and with it the terms "vector" and "scalar". Given two quaternions [0, u] and [0, v], where u and v are vectors in R3, their quaternion product can be summarized as [−u·v, u×v]. James Clerk Maxwell used Hamilton's quaternion tools to develop his famous electromagnetism equations, and for this and other reasons quaternions for a time were an essential part of physics education.

In 1878 William Kingdon Clifford published his Elements of Dynamic which was an advanced text for its time. He defined the product of two vectors[11] to have magnitude equal to the area of the parallelogram of which they are two sides, and direction perpendicular to their plane.

Oliver Heaviside in England and Josiah Willard Gibbs, a professor at Yale University in Connecticut, also felt that quaternion methods were too cumbersome, often requiring the scalar or vector part of a result to be extracted. Thus, about forty years after the quaternion product, the dot product and cross product were introduced—to heated opposition. Pivotal to (eventual) acceptance was the efficiency of the new approach, allowing Heaviside to reduce the equations of electromagnetism from Maxwell's original 20 to the four commonly seen today.[12]

Largely independent of this development, and largely unappreciated at the time, Hermann Grassmann created a geometric algebra not tied to dimension two or three, with the exterior product playing a central role. William Kingdon Clifford combined the algebras of Hamilton and Grassmann to produce Clifford algebra, where in the case of three-dimensional vectors the bivector produced from two vectors dualizes to a vector, thus reproducing the cross product.

The cross notation, which began with Gibbs, inspired the name "cross product". Originally it appeared in privately published notes for his students in 1881 as Elements of Vector Analysis. The utility for mechanics was noted by Aleksandr Kotelnikov. Gibbs's notation —and the name— later reached a wide audience through Vector Analysis, a textbook by Edwin Bidwell Wilson, a former student. Wilson rearranged material from Gibbs's lectures, together with material from publications by Heaviside, Föpps, and Hamilton. He divided vector analysis into three parts:

First, that which concerns addition and the scalar and vector products of vectors. Second, that which concerns the differential and integral calculus in its relations to scalar and vector functions. Third, that which contains the theory of the linear vector function.

Two main kinds of vector multiplications were defined, and they were called as follows:

  • The direct, scalar, or dot product of two vectors
  • The skew, vector, or cross product of two vectors

Several kinds of triple products and products of more than three vectors were also examined. The above mentioned triple product expansion was also included.

See also


  1. ^ By a volume form one means a function that takes in n vectors and gives out a scalar, the volume of the parallelotope defined by the vectors: \scriptstyle V\times \cdots \times V \to \mathbf{R}. This is an n-ary multilinear skew-symmetric form. In the presence of a basis, such as on \scriptstyle\mathbf{R}^n, this is given by the determinant, but in an abstract vector space, this is added structure. In terms of G-structures, a volume form is an \scriptstyle SL-structure.


  1. ^ Jeffreys, H and Jeffreys, BS (1999). Methods of mathematical physics. Cambridge University Press. 
  2. ^ Wilson 1901, p. 60–61
  3. ^ Dennis G. Zill, Michael R. Cullen (2006). "Definition 7.4: Cross product of two vectors". Advanced engineering mathematics (3rd ed.). Jones & Bartlett Learning. p. 324. ISBN 076374591X. 
  4. ^ Dennis G. Zill, Michael R. Cullen (2006). "Equation 7: a × b as sum of determinants". cited work. Jones & Bartlett Learning. p. 321. ISBN 076374591X. 
  5. ^ WS Massey (Dec. 1983). "Cross products of vectors in higher dimensional Euclidean spaces". The American Mathematical Monthly (The American Mathematical Monthly, Vol. 90, No. 10) 90 (10): 697–701. doi:10.2307/2323537. JSTOR 2323537. 
  6. ^ Vladimir A. Boichenko, Gennadiĭ Alekseevich Leonov, Volker Reitmann (2005). Dimension theory for ordinary differential equations. Vieweg+Teubner Verlag. p. 26. ISBN 3519004372. 
  7. ^ Pertti Lounesto (2001). Clifford algebras and spinors (2nd ed.). Cambridge University Press. p. 94. ISBN 0521005515. 
  8. ^ a b Shuangzhe Liu and Gõtz Trenkler (2008). "Hadamard, Khatri-Rao, Kronecker and other matrix products". Int J Information and systems sciences (Institute for scientific computing and education) 4 (1): 160–177. 
  9. ^ by Eric W. Weisstein (2003). "Binet-Cauchy identity". CRC concise encyclopedia of mathematics (2nd ed.). CRC Press. p. 228. ISBN 1584883472. 
  10. ^ Lagrange, JL (1773). "Solutions analytiques de quelques problèmes sur les pyramides triangulaires". Oeuvres. vol 3. 
  11. ^ William Kingdon Clifford (1878) Elements of Dynamic, Part I, page 95, London: MacMillan & Co; online presentation by Cornell University Historical Mathematical Monographs
  12. ^ Nahin, Paul J. (2000). Oliver Heaviside: the life, work, and times of an electrical genius of the Victorian age. JHU Press. pp. 108–109. ISBN 0-801-86909-9. 

External links

Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • cross product — vektorinė sandauga statusas T sritis automatika atitikmenys: angl. cross product; vector product; vectorial product vok. Kreuzprodukt, n; äußeres Produkt, n; Vektorprodukt, n rus. векторное произведение, n pranc. produit vectoriel, m …   Automatikos terminų žodynas

  • cross product — cross′ prod uct n. math. a vector perpendicular to two given vectors and having magnitude equal to the product of the magnitudes of the two vectors multiplied by the sine of the angle between them Also called vector product • Etymology: 1925–30 …   From formal English to slang

  • Cross product (disambiguation) — The cross product is a product in vector algebra. Cross product may also refer to: Seven dimensional cross product, a related product in seven dimensions A product in a Künneth theorem A crossed product in von Neumann algebras This disambiguation …   Wikipedia

  • cross product — Math. a vector perpendicular to two given vectors, u and v, and having magnitude equal to the product of the magnitudes of the two given vectors multiplied by the sine of the angle between the two given vectors, usually represented by u × v. Also …   Universalium

  • cross product — noun a vector that is the product of two other vectors • Syn: ↑vector product • Hypernyms: ↑vector …   Useful english dictionary

  • cross product — noun Date: 1929 1. vector product 2. either of the two products obtained by multiplying the two means or the two extremes of a proportion …   New Collegiate Dictionary

  • cross product — noun A vector product …   Wiktionary

  • cross product — vector that is the result of two other vectors, vector product (Mathematics) …   English contemporary dictionary

  • cross product — noun another term for vector product …   English new terms dictionary

  • Seven-dimensional cross product — In mathematics, the seven dimensional cross product is a binary operation on vectors in a seven dimensional Euclidean space. It is a generalization of the ordinary three dimensional cross product. The seven dimensional cross product has the same… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”