Cross Product

The cross product is an operation defined for two vectors in R3\mathbb{R}^3 that produces a third vector perpendicular to both. Unlike the inner product, the cross product is specific to three dimensions and returns a vector, not a scalar.

Definition

The cross product of u=(u1,u2,u3)\mathbf{u} = (u_1, u_2, u_3)^\top and v=(v1,v2,v3)\mathbf{v} = (v_1, v_2, v_3)^\top in R3\mathbb{R}^3 is:

u×v=(u2v3u3v2u3v1u1v3u1v2u2v1)\mathbf{u} \times \mathbf{v} = \begin{pmatrix} u_2 v_3 - u_3 v_2 \\ u_3 v_1 - u_1 v_3 \\ u_1 v_2 - u_2 v_1 \end{pmatrix}

A convenient mnemonic: expand the formal determinant

u×v=det(e1e2e3u1u2u3v1v2v3)\mathbf{u} \times \mathbf{v} = \det \begin{pmatrix} \mathbf{e}_1 & \mathbf{e}_2 & \mathbf{e}_3 \\ u_1 & u_2 & u_3 \\ v_1 & v_2 & v_3 \end{pmatrix}

where e1,e2,e3\mathbf{e}_1, \mathbf{e}_2, \mathbf{e}_3 are the standard basis vectors of R3\mathbb{R}^3. This “determinant” is symbolic (its first row contains vectors, not scalars), but cofactor-expanding along the first row gives exactly the formula above.

Concretely, for each basis vector ei\mathbf{e}_i cross out its row and column and take the determinant of the remaining 2×22 \times 2 block:

u×v=e1det(u2u3v2v3)e2det(u1u3v1v3)+e3det(u1u2v1v2)\mathbf{u} \times \mathbf{v} = \mathbf{e}_1 \det \begin{pmatrix} u_2 & u_3 \\ v_2 & v_3 \end{pmatrix} - \mathbf{e}_2 \det \begin{pmatrix} u_1 & u_3 \\ v_1 & v_3 \end{pmatrix} + \mathbf{e}_3 \det \begin{pmatrix} u_1 & u_2 \\ v_1 & v_2 \end{pmatrix}

Note the alternating signs +,,++, -, +: the middle term carries a minus. Forgetting this sign flip is the most common mistake when computing a cross product by hand. Evaluating the 2×22 \times 2 determinants then yields

u×v=e1(u2v3u3v2)e2(u1v3u3v1)+e3(u1v2u2v1),\mathbf{u} \times \mathbf{v} = \mathbf{e}_1 (u_2 v_3 - u_3 v_2) - \mathbf{e}_2 (u_1 v_3 - u_3 v_1) + \mathbf{e}_3 (u_1 v_2 - u_2 v_1),

which matches the definition once the minus on the e2\mathbf{e}_2 term is distributed, turning u1v3u3v1u_1 v_3 - u_3 v_1 into u3v1u1v3u_3 v_1 - u_1 v_3.

Cross-Product Matrix

There is another shortcut for computing u×v\mathbf{u} \times \mathbf{v} that avoids both the 3×33 \times 3 determinant and the cyclic memorization: package u\mathbf{u} into a skew-symmetric matrix and let ordinary matrix-vector multiplication do the rest.

The cross-product matrix (or skew-symmetric matrix associated with u\mathbf{u}) of u=(u1,u2,u3)R3\mathbf{u} = (u_1, u_2, u_3)^\top \in \mathbb{R}^3 is:

u^=(0u3u2u30u1u2u10)\hat{\mathbf{u}} = \begin{pmatrix} 0 & -u_3 & u_2 \\ u_3 & 0 & -u_1 \\ -u_2 & u_1 & 0 \end{pmatrix}

It satisfies u^=u^\hat{\mathbf{u}}^\top = -\hat{\mathbf{u}} — exactly the skew-symmetric condition — and turns the cross product into a matrix-vector product:

u×v=u^v\mathbf{u} \times \mathbf{v} = \hat{\mathbf{u}} \, \mathbf{v}

Reading u^\hat{\mathbf{u}} off u\mathbf{u} is a quick pattern: the diagonal is zeros (forced by skew-symmetry), and each component uiu_i appears off-diagonal with alternating signs — u1u_1 in the (2,3)(2, 3)/(3,2)(3, 2) slots, u2u_2 in the (1,3)(1, 3)/(3,1)(3, 1) slots, u3u_3 in the (1,2)(1, 2)/(2,1)(2, 1) slots. The minus sign always sits in the upper triangle for u1u_1 and u3u_3, and in the lower triangle for u2u_2 — the same alternating-sign pattern as the determinant cofactors.

Multiplying u^\hat{\mathbf{u}} against v\mathbf{v} recovers the original definition entry by entry:

u^v=(0u3u2u30u1u2u10)(v1v2v3)=(u2v3u3v2u3v1u1v3u1v2u2v1)\hat{\mathbf{u}} \mathbf{v} = \begin{pmatrix} 0 & -u_3 & u_2 \\ u_3 & 0 & -u_1 \\ -u_2 & u_1 & 0 \end{pmatrix} \begin{pmatrix} v_1 \\ v_2 \\ v_3 \end{pmatrix} = \begin{pmatrix} u_2 v_3 - u_3 v_2 \\ u_3 v_1 - u_1 v_3 \\ u_1 v_2 - u_2 v_1 \end{pmatrix}

— exactly u×v\mathbf{u} \times \mathbf{v}.

This form is especially handy when the same u\mathbf{u} is crossed against many different v\mathbf{v}‘s — build u^\hat{\mathbf{u}} once and multiply by each v\mathbf{v} in turn. It also makes linearity in v\mathbf{v} — that is, u×(αv+w)=α(u×v)+(u×w)\mathbf{u} \times (\alpha \mathbf{v} + \mathbf{w}) = \alpha (\mathbf{u} \times \mathbf{v}) + (\mathbf{u} \times \mathbf{w}) — fall out as a one-liner from the linearity of matrix-vector multiplication.

Geometric Interpretation

The result u×v\mathbf{u} \times \mathbf{v} is perpendicular to both u\mathbf{u} and v\mathbf{v}, with magnitude:

u×v=uvsinθ\|\mathbf{u} \times \mathbf{v}\| = \|\mathbf{u}\| \, \|\mathbf{v}\| \sin \theta

where θ[0,π]\theta \in [0, \pi] is the angle between u\mathbf{u} and v\mathbf{v}. This magnitude equals the area of the parallelogram spanned by u\mathbf{u} and v\mathbf{v}.

The direction follows the right-hand rule: curl the fingers of the right hand from u\mathbf{u} toward v\mathbf{v}; the thumb points in the direction of u×v\mathbf{u} \times \mathbf{v}.

Key Properties

For u,v,wR3\mathbf{u}, \mathbf{v}, \mathbf{w} \in \mathbb{R}^3 and αR\alpha \in \mathbb{R}:

  • Anti-commutativity: u×v=(v×u)\mathbf{u} \times \mathbf{v} = -(\mathbf{v} \times \mathbf{u})
  • Linearity: (αu+w)×v=α(u×v)+(w×v)(\alpha\mathbf{u} + \mathbf{w}) \times \mathbf{v} = \alpha(\mathbf{u} \times \mathbf{v}) + (\mathbf{w} \times \mathbf{v})
  • Self-cross-product: v×v=0\mathbf{v} \times \mathbf{v} = \mathbf{0}
  • Parallel vectors: u×v=0\mathbf{u} \times \mathbf{v} = \mathbf{0} if and only if u\mathbf{u} and v\mathbf{v} are parallel (or one is zero)

e1×e2=e3\mathbf{e}_1 \times \mathbf{e}_2 = \mathbf{e}_3, e2×e3=e1\quad \mathbf{e}_2 \times \mathbf{e}_3 = \mathbf{e}_1, e3×e1=e2\quad \mathbf{e}_3 \times \mathbf{e}_1 = \mathbf{e}_2

These follow the cyclic pattern 12311 \to 2 \to 3 \to 1.