gives the vector cross product of a and b.


  • If a and b are lists of length 3, corresponding to vectors in three dimensions, then Cross[a,b] is also a list of length 3.
  • Cross[a,b] can be entered in StandardForm and InputForm as ab, a cross b or a\[Cross]b. Note the difference between \[Cross] and \[Times].
  • Cross is antisymmetric, so that Cross[b,a] is -Cross[a,b]. »
  • Cross[{x,y}] gives the perpendicular vector {-y,x}.
  • In general, Cross[v1,v2,,vn-1] is a totally antisymmetric product which takes vectors of length n and yields a vector of length n that is orthogonal to all of the vi.
  • Cross[v1,v2,] gives the dual (Hodge star) of the wedge product of the vi, viewed as oneforms in n dimensions.


open allclose all

Basic Examples  (3)

The cross product of two vectors in three dimensions:

Visualize the two initial vectors, the plane they span in and the product:

The cross product of a single vector in two dimensions:

Visualize the two vectors:

Enter using cross:

Scope  (9)

Find the cross product of machine-precision vectors:

Cross product of complex vectors:

Cross product of exact vectors:

The cross product of arbitrary-precision vectors:

Cross product of symbolic vectors:

Compute the cross product of QuantityArray vectors:

The QuantityArray structure is preserved:

Format the result:

The cross product of a single vector in two dimensions:

The result is perpendicular to the original vector:

Define two vectors in three dimensions:

Verify that Cross is antisymmetric:

Define three vectors in four dimensions:

Compute the cross product of the vectors:

Verify that the product is orthogonal to all three vectors:

Compute all possible product orders; each swap of two vectors merely changes the overall sign:

Applications  (10)

Geometric Applications  (5)

Find the normal to the plane spanned by two vectors:

Verify that the result is perpendicular to both inputs:

The equation for the plane:

Find a vector perpendicular to a vector in the plane:

Verify that u and v are perpendicular:

Find a vector orthogonal to n-1 vectors in n dimensions:

Find the area of the parallelogram defined by two vectors:

Compare with a direct computation using Area:

This can also be computed as TemplateBox[{a}, Norm] TemplateBox[{b}, Norm] sin(theta), with the angle between the vectors:

Visualize the parallelogram:

The FrenetSerret system encodes every space curve's properties in a vector basis and scalar functions. Consider the following curve:

Define the tangent, normal and binormal vectors in terms of cross products of the first two derivatives:

These three vectors define a right-handed, orthonormal basis for :

Compute the curvature, , and torsion, , which quantify how the curve bends:

Verify the answers using FrenetSerretSystem:

Visualize the curve and the associated moving basis, also called a frame:

Physical Applications  (5)

Find the torque about the origin of a force TemplateBox[{10, "N", newtons, "Newtons"}, QuantityTF] straight down applied at the point TemplateBox[{{{, {1.5`, ,, 3.2`, ,, 1.25`}, }}, "m", meters, "Meters"}, QuantityTF]:

Torque is given by the formula :

Find the angular momentum of a particle of mass TemplateBox[{3, "kg", kilograms, "Kilograms"}, QuantityTF], velocity TemplateBox[{{{, {1.5`, ,, 2.3`, ,, {-, 3.4`}}, }}, {"m", , "/", , "s"}, meters per second, {{(, "Meters", )}, /, {(, "Seconds", )}}}, QuantityTF] and position TemplateBox[{{{, {2.5`, ,, {-, 3.3`}, ,, 1.4`}, }}, "m", meters, "Meters"}, QuantityTF] about the origin:

Angular momentum is given by , with linear momentum equal to :

Find the magnetic force on the particle of charge TemplateBox[{2, "C", coulombs, "Coulombs"}, QuantityTF] and velocity TemplateBox[{{{, {3, ,, {-, 4}, ,, 5}, }}, {"m", , "/", , "s"}, meters per second, {{(, "Meters", )}, /, {(, "Seconds", )}}}, QuantityTF] moving through a magnetic field of TemplateBox[{0.075`, "T", teslas, "Teslas"}, QuantityTF] in the positive direction:

Magnetic force is given by :

Use UnitSimplify get the expected unit Newtons, and MatrixForm to format the vector:

Consider a particle constrained to rotate at a fixed distance from the axis:

Define the angular velocity by means of a cross product:

Many properties can be expressed in terms of . The linear velocity equals :

The perpendicular or centripetal acceleration equals :

Since and are orthogonal, it is immediate that TemplateBox[{{a, _, {(, perp, )}}}, Norm]=TemplateBox[{omega}, Norm] TemplateBox[{{r, ^, {(, ', )}}}, Norm]:

The well-known formula for centripetal acceleration, TemplateBox[{{a, _, {(, perp, )}}}, Norm]=(TemplateBox[{{r, ^, {(, ', )}}}, Norm]^2)/(TemplateBox[{r}, Norm])=(TemplateBox[{v}, Norm]^2)/(TemplateBox[{r}, Norm]), also holds:

The derivative of is the angular velocity :

The acceleration parallel to the direction of motion, , equals :

Note that the linear acceleration equals the sum :

Cross products with respect to fixed three-dimensional vectors can be represented by matrix multiplication, which is useful in studying rotational motion. Construct the antisymmetric matrix representing the linear operator , where is an angular velocity about the axis:

Verify that the action of is the same as doing a cross product with :

The rotation matrix at time is the matrix exponential of times the previous matrix:

Verify using RotationMatrix:

The point at time zero will be at time :

The velocity of will be given by :

And the vector from the axis of rotation to is (v(t)xomega)/(TemplateBox[{omega}, Norm]^2):

Visualize this motion and the associated vectors:

Properties & Relations  (10)

If u and v are linearly independent, u×v is nonzero and orthogonal to u and v:

If u and v are linearly dependent, u×v is zero:

For three-dimensional vectors, TemplateBox[{{{u, _, 1}, x, {u, _, 2}}}, Norm]=TemplateBox[{{u, _, 1}}, Norm] TemplateBox[{{u, _, 2}}, Norm]sin(theta) , with the angle between and :

The norm of Cross[u1,,uk] is the measure of the k-dimensional parallelopiped spanned by ui:

Cross is antisymmetric:

Cross is linear in each argument:

Since Cross is linear, the operator can be represented by matrix multiplication:

Multiplying a vector by by the antisymmetric matrix is equivalent to :

There is a corresponding operator, , for computing the product in the opposite order:

These two matrices are transposes orequivalently, due to antisymmetrynegations of each other:

Cross in dimension is the contraction of vectors into the Levi-Civita tensor:

Cross of vectors in dimension is ( times the Hodge dual of their tensor product:

The Hodge dual of the TensorWedge of -vectors coincides with the Cross of those vectors:

TensorWedge can treat higher-rank forms:

Interactive Examples  (1)

Create a visualization of two draggable vectors in the - plane, their cross product (parallel to the axis), and the parallelogram they span:

Wolfram Research (1996), Cross, Wolfram Language function,


Wolfram Research (1996), Cross, Wolfram Language function,


Wolfram Language. 1996. "Cross." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (1996). Cross. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_cross, author="Wolfram Research", title="{Cross}", year="1996", howpublished="\url{}", note=[Accessed: 21-June-2024 ]}


@online{reference.wolfram_2024_cross, organization={Wolfram Research}, title={Cross}, year={1996}, url={}, note=[Accessed: 21-June-2024 ]}