# Cross product

*This article is about the cross product of two vectors. For related concepts, see cross product (disambiguation).*

In mathematics, the **cross product** is a binary operation on two vectors in a three-dimensional Euclidean space that results in another vector which is perpendicular to the two input vectors. By contrast, the dot product produces a scalar result. In many engineering and physics problems, it is handy to be able to construct a perpendicular vector from two existing vectors, and the cross product provides a means for doing so. The cross product is also known as the **vector product**, or **Gibbs vector product**.

The cross product is not defined except in three-dimensions (and the algebra defined by the cross product is not associative). Like the dot product, it depends on the metric of Euclidean space. Unlike the dot product, it also depends on the choice of orientation or "handedness". Certain features of the cross product can be generalized to other situations. For arbitrary choices of orientation, the cross product must be regarded not as a vector, but as a pseudovector. For arbitrary choices of metric, and in arbitrary dimensions, the cross product can be generalized by the exterior product of vectors, defining a two-form instead of a vector.

## Definition

The cross product of two vectors **a** and **b** is denoted by **a** × **b**. In physics, sometimes the notation **a** ∧ **b** is used^{[1]} (mathematicians do not use this notation, to avoid confusion with the exterior product).

In a three-dimensional Euclidean space, with a usual right-handed coordinate system, **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 given by the formula

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{a} \times \mathbf{b} = a b \sin \theta \ \mathbf{\hat{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**, and **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{\hat{n}}**
is a unit vector perpendicular to the plane containing **a** and **b**. If the vectors **a** and **b** are collinear (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 **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{\hat{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 **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{\hat{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

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 *pseudovector*. See cross product and handedness for more detail.

## Computing the cross product

### Coordinate notation

The unit vectors **i**, **j**, and **k** from the given orthogonal coordinate system satisfy the following equalities:

**i**×**j**=**k****j**×**k**=**i****k**×**i**=**j**.

With these rules, the coordinates of the cross product of two vectors can be computed easily, without the need to determine any angles: Let

**a**=*a*_{1}**i**+*a*_{2}**j**+*a*_{3}**k**= (*a*_{1},*a*_{2},*a*_{3})

and

**b**=*b*_{1}**i**+*b*_{2}**j**+*b*_{3}**k**= (*b*_{1},*b*_{2},*b*_{3})

Then

**a**×**b**= (a_{2}b_{3}− a_{3}b_{2})**i**+ (a_{3}b_{1}− a_{1}b_{3})**j**+ (a_{1}b_{2}− a_{2}b_{1})**k**= (a_{2}b_{3}− a_{3}b_{2}, a_{3}b_{1}− a_{1}b_{3}, a_{1}b_{2}− a_{2}b_{1})

### Matrix notation

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

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \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 \\ \end{bmatrix}.**

This determinant can be computed using Sarrus' rule. Consider the table

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \begin{matrix} \mathbf{i} & \mathbf{j} & \mathbf{k} & \mathbf{i} & \mathbf{j} & \mathbf{k} \\ a_1 & a_2 & a_3 & a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 & b_1 & b_2 & b_3 \end{matrix}**

From the first three elements on the first row draw three diagonals to the right (e.g. the first diagonal would contain **i**, *a*_{2}, and *b*_{3}), and from the last three elements on the first row draw three diagonals to the left (e.g. the first diagonal would contain **i**, *a*_{3}, and *b*_{2}). Then multiply the elements on each of these six diagonals, and negate the last three products. The cross product would be defined by the sum of these products:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \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.**

## Examples

### Example 1

Consider two vectors, **a** = (1,2,3) and **b** = (4,5,6). The cross product **a** × **b** is

**a**×**b**= (1,2,3) × (4,5,6) = ((2×6 - 3×5), (3×4 - 1×6), (1×5 - 2×4)) = (-3,6,-3).

### Example 2

Consider two vectors, **a** = (3,0,0) and **b** = (0,2,0). The cross product **a** × **b** is

**a**×**b**= (3,0,0) × (0,2,0) = ((0×0 - 0×2), (0×0 - 3×0), (3×2 - 0×0)) = (0,0,6).

This example has the following interpretations:

- The area of the parallelogram (a rectangle in this case) is 2 × 3 = 6.
- The cross product of
*any*two vectors in the*xy*plane will be parallel to the*z*axis. - Since the z-component of the result is positive, the non-obtuse angle from
**a**to**b**is counterclockwise (when observed from a point on the +*z*semiaxis, and when the coordinate system is right-handed).

## Properties

### Geometric meaning

*See also: Triple_product*

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

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): | \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):

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): V = |\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})|.**

Figure 2 demonstrates that this volume can be found in two ways, showing geometrically that the identity holds that a "dot" and a "cross" can be interchanged without changing the result. That is:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): V =\mathbf{a \times b \cdot c} = \mathbf{a \cdot b \times c} \ .**

### Algebraic properties

The cross product is anticommutative,

**a**×**b**= −**b**×**a**,

distributive over addition,

**a**× (**b**+**c**) = (**a**×**b**) + (**a**×**c**),

and compatible with scalar multiplication so that

- (
*r***a**) ×**b**=**a**× (*r***b**) =*r*(**a**×**b**).

It is not associative, but satisfies the *Jacobi identity*:

**a**× (**b**×**c**) +**b**× (**c**×**a**) +**c**× (**a**×**b**) =**0**.

It does not obey the cancellation law:

- If
**a**×**b**=**a**×**c**and**a**≠**0**then we can write: - (
**a**×**b**) − (**a**×**c**) =**0**and, by the distributive law above: **a**× (**b**−**c**) =**0**- Now, if
**a**is parallel to (**b**−**c**), then even if**a**≠**0**it is possible that (**b**−**c**) ≠**0**and therefore that**b**≠**c**.

However, if both **a** · **b** = **a** · **c** *and* **a** × **b** = **a** × **c**, then we *can* conclude that **b** = **c**. Indeed,

**a**. (**b**-**c**) = 0, and**a**× (**b**-**c**) =**0**

so that **b** - **c** is *both parallel and perpendicular* to the non-zero vector *a*. This is only possible if **b** - **c** = **0**.

The distributivity, linearity and Jacobi identity show that **R**^{3} together with vector addition and cross product forms a Lie algebra. In fact, the Lie algebra is that of the orthogonal group in 3 dimensions, SO(3).

Further, two non-zero vectors **a** and **b** are parallel iff **a** × **b** = **0**.

It follows from the geometrical definition above that the cross product is invariant under rotations about the axis defined by **a**×**b**.

### Triple product expansion

The triple product expansion, also known as **Lagrange's formula**, is a formula relating the cross product of three vectors (called the **vector triple product**) with the dot product:

**a**× (**b**×**c**) =**b**(**a**·**c**) −**c**(**a**·**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 given below.

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \begin{align} \nabla \times (\nabla \times \mathbf{f}) & {}= \nabla (\nabla \cdot \mathbf{f} ) - (\nabla \cdot \nabla) \mathbf{f} \\ & {}= \mbox{grad }(\mbox{div } \mathbf{f} ) - \mbox{laplacian } \mathbf{f}. \end{align}**

This is a special case of the more general Laplace-de Rham operator **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \Delta = d \delta + \delta d**
.

The following identity also relates the cross product and the dot product:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): |\mathbf{a} \times \mathbf{b}|^2 + |\mathbf{a} \cdot \mathbf{b}|^2 = |\mathbf{a}|^2 |\mathbf{b}|^2.**

This is a special case of the multiplicativity **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): |\mathbf{vw}| = |\mathbf{v}| |\mathbf{w}|**
of the norm in the quaternion algebra, and a restriction to **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbb{R}^3**
of Lagrange's identity.

## Alternative ways to compute the cross product

### Quaternions

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 **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{R}^3**
: it is being thought of as the imaginary quaternions.

Notice for instance that 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 we represent a vector [*a*_{1}, *a*_{2}, *a*_{3}] as the quaternion *a*_{1}*i* + *a*_{2}*j* + *a*_{3}*k*, we obtain the cross product of two vectors 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.

### Conversion to matrix multiplication

A cross product between two vectors (which can only be defined in three-dimensional space) can be rewritten in terms of pure matrix multiplication as the product of a skew-symmetric matrix and a vector, as follows:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \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}**

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{b} \times \mathbf{a} = [\mathbf{a}]^T_{\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}**

where

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): [\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 **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{a}**
is itself a cross product:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{a} = \mathbf{c} \times \mathbf{d}**

then

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): [\mathbf{a}]_{\times} = (\mathbf{c}\mathbf{d}^T)^T - \mathbf{c}\mathbf{d}^T.**

This notation provides another way of generalizing cross product to the higher dimensions by substituting pseudovectors (such as angular velocity or magnetic field) with such skew-symmetric matrices. It is clear that such physical quantities will have n(n-1)/2 independent components in n dimensions, which coincides with number of dimensions for three-dimensional space, and this is why vectors can be used (and most often are used) to represent such quantities.

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

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): [\mathbf{a}]_{\times} \, \mathbf{a} = \mathbf{0}**and**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{a}^{T} \, [\mathbf{a}]_{\times} = \mathbf{0}**

and from fact that **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): [\mathbf{a}]_{\times} **
is skew-symmetric it follows that

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{b}^{T} \, [\mathbf{a}]_{\times} \, \mathbf{b} = 0.**

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

The above definition of **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): [\mathbf{a}]_{\times} **
means that there is a one-to-one mapping between the set of 3×3 skew-symmetric matrices, also denoted SO(3), and the operation of taking the cross product with some vector **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{a} **
.

### Index notation

The cross product can alternatively be defined in terms of the Levi-Civita tensor **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \varepsilon_{ijk}**

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \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 **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): i,j,k**
correspond, as in the previous section, to orthogonal vector components.

### Mnemonic

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

If

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \mathbf{a} = \mathbf{b} \times \mathbf{c}**

where:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \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}**

then:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): a_x = b_y c_z - b_z c_y \,****Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): a_y = b_z c_x - b_x c_z \,****Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): a_z = b_x c_y - b_y c_x \,**

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

Since the first diagonal in Sarrus's scheme is just the main diagonal of the above-mentioned **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): 3 \times 3**
matrix, the first three letters of the word xyzzy can be very easily remembered.

## Applications

### Computational geometry

The cross product can be used to calculate the normal for a triangle or polygon, an operation frequently performed in computer graphics.

In computational geometry of the plane, the cross product is used to determine the sign of the acute angle defined by three points **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): p_1=(x_1,y_1)**
, **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): p_2=(x_2,y_2)**
and **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): 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 **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): p_1, p_2**
and **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): p_1, p_3**
, i.e., by the sign of the expression **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): 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 **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): p_2**
from **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): p_1**
to **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): p_3**
, otherwise a positive angle. From another point of view, the sign of **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): P**
tells whether **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): p_3**
lies to the left or to the right of line **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): p_1, p_2**
.

### Other

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 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 *a*∧*b* as the oriented parallelogram spanned by *a* and *b*. The cross product is then obtained by taking the Hodge dual of the bivector *a*∧*b*, identifying 2-vectors with vectors:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): 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, in three dimensions only is the cross product of *a* and *b* the vector dual to the bivector *a*∧*b*: 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 *a*∧*b* 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.Template:Fix/category^{[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
- vector × pseudovector = vector
- pseudovector × pseudovector = pseudovector

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.

## Higher dimensions

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

In the context of multilinear algebra, it is possible to define a generalized cross product in terms of parity such that the generalized cross product between two vectors of dimension *n* is a skew-symmetric tensor of rank *n*−2.

### Using octonions

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.

### 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.

One can also construct an *n*-ary analogue of the cross product in **R**^{n+1} given by

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \bigwedge(\mathbf{v}_1,\cdots,\mathbf{v}_n)= \begin{vmatrix} v_1{}^1 &\cdots &v_1{}^{n+1}\\ \vdots &\ddots &\vdots\\ v_n{}^1 & \cdots &v_n{}^{n+1}\\ \mathbf{e}_1 &\cdots &\mathbf{e}_{n+1} \end{vmatrix}.**

This formula is identical in structure to the determinant formula for the normal cross product in **R**^{3} 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 (**v**_{1},...,**v**_{n},Λ(**v**_{1},...,**v**_{n})) have a positive orientation with respect to (**e**_{1},...,**e**_{n+1}). If *n* is even, this modification leaves the value unchanged, so this convention agrees with the normal definition of the binary product. In the case that *n* is odd, however, the distinction must be kept. This *n*-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.

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

## History

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.^{[2]} 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 **R**^{3}, 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.

However, Oliver Heaviside in England and Josiah Willard Gibbs in Connecticut 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.

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 appearing in privately published notes for his students in 1881 as *Elements of Vector Analysis*, Gibbs’s notation — and the name — later reached a wider audience through Vector Analysis (Gibbs/Wilson), a textbook by a former student. Edwin Bidwell 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

- Triple products — Products involving three vectors.
- Multiple cross products — Products involving more than three vectors.
- Dot product
- Cartesian product — A product of two sets.
- × (the symbol)

## Notes

- ↑ Jeffreys, H and Jeffreys, BS (1999).
*Methods of mathematical physics*. Cambridge University Press. - ↑ Lagrange, JL (1773). "Solutions analytiques de quelques problèmes sur les pyramides triangulaires".
*Oeuvres*. vol 3.

## References

- Cajori, Florian (1929),
*A History Of Mathematical Notations Volume II*, Open Court Publishing, p. p. 134, ISBN 978-0-486-67766-8 - Wilson, Edwin Bidwell (1901),
*Vector Analysis: A text-book for the use of students of mathematics and physics, founded upon the lectures of J. Willard Gibbs*, Yale University Press

## External links

- Template:Mathworld
- Z.K. Silagadze (2002). Multi-dimensional vector product. Journal of Physics. A35, 4949 (it is only possible in 7-D space)
- Real and Complex Products of Complex Numbers
- Vector Product Calculator Online application to calculate the vector product of 3 element vectors
- An interactive tutorial created at Syracuse University - (requires java)
- W. Kahan (2007). Cross-Products and Rotations in Euclidean 2- and 3-Space. University of California, Berkeley (PDF).

ca:Producte vectorial cs:Vektorový součin da:Krydsprodukt de:Kreuzprodukt eo:Vektora produto fa:ضرب خارجی gl:Produto vectorial ko:외적 is:Krossfeldi it:Prodotto vettoriale he:מכפלה וקטורית hu:Vektoriális szorzat nl:Kruisproduct nn:Kryssprodukt sk:Vektorový súčin sl:Vektorski produkt sv:Kryssprodukt th:ผลคูณไขว้ uk:Векторний добуток