Visual Tools
Calculators
Tables
Mathematical Keyboard
Converters
Other Tools


Cross Product






A Product That Builds Perpendicular Vectors

The cross product stands apart from every other operation in this section. It takes two vectors and returns a new vector — one that is perpendicular to both inputs. Its magnitude measures the area of the parallelogram the two vectors span, and its direction is determined by a handedness convention that introduces orientation into three-dimensional space. Unlike the dot product, which works in any Rn\mathbb{R}^n and produces a scalar, the cross product is defined exclusively in R3\mathbb{R}^3 and produces a vector. It is anti-commutative, not associative, and zero precisely when the two inputs are parallel. These departures from familiar algebraic patterns are not defects — they reflect the geometric nature of perpendicularity and area in three dimensions.



Algebraic Definition

Given a=(a1,a2,a3)\mathbf{a} = (a_1, a_2, a_3) and b=(b1,b2,b3)\mathbf{b} = (b_1, b_2, b_3) in R3\mathbb{R}^3, their cross product is a new three-component vector built from pairwise differences of mixed products:

Cross Product (Component Form)
a×b=(a2b3a3b2, a3b1a1b3, a1b2a2b1)\mathbf{a} \times \mathbf{b} = (a_2 b_3 - a_3 b_2,\ a_3 b_1 - a_1 b_3,\ a_1 b_2 - a_2 b_1)
Learn more about this formula: Cross Product (Component Form) →


The indices rotate cyclically. To obtain the first component, cover the first entries of both vectors and cross-multiply the remaining pairs: a2b3a3b2a_2b_3 - a_3b_2. For the second component, cover the second entries and cross-multiply with a sign reversal: a3b1a1b3a_3b_1 - a_1b_3. The third component follows the same logic with the third entries hidden: a1b2a2b1a_1b_2 - a_2b_1.

A convenient way to package the computation uses a symbolic 3×33 \times 3 determinant whose first row holds the standard basis vectors:

Cross Product (Determinant Form)
a×b=ijka1a2a3b1b2b3\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 \end{vmatrix}
Learn more about this formula: Cross Product (Determinant Form) →


Placing vectors rather than numbers in the top row makes this a notational device rather than a genuine determinant. Still, applying cofactor expansion along that top row reproduces the component formula term by term. The determinant layout keeps the six constituent products and their signs organized in a form that is easy to remember and hard to scramble.
detijku1u2u3v1v2v3=u × v3×1u2v3u3v2u3v1u1v3?
The symbolic determinant laid out

The three components of the result are being read off a determinant whose first row carries the basis vectors and whose other two rows are the operands. The middle component picks up its minus sign from the checkerboard pattern, not from anything geometric — a detail far easier to trust once seen laid out. Expand it row by row on the cross product visualizer.

That determinant layout is also the quickest way to see why swapping the two vectors flips the sign of the whole product.

Cross Product Notation

Notation

Cross Product Notation

The multiplication sign that finally became order-sensitive, the triple product with only one legal parse, and the three ways to spell one basis.
Bold vectors — vector notation; the dot — dot product notation; the symbolic-determinant device is the body's own Algebraic Definition above.
a×b\mathbf{a} \times \mathbf{b}
a cross b
The arithmetic ×\times recycled for a new operation — vector in, vector out, and only in R3\mathbb{R}^3. For the first time in a student's notation, order changes the answer: b×a=(a×b)\mathbf{b} \times \mathbf{a} = -(\mathbf{a} \times \mathbf{b}), as Properties of the Cross Product below develops.
Casesa×a=0\mathbf{a} \times \mathbf{a} = \mathbf{0} — the bold zero, a vector. Against the dot: same inputs, different species out — scalar from the dot, vector from the cross.
Also writtenab\mathbf{a} \wedge \mathbf{b} — the wedge, standard in French texts for this very operation; in differential geometry the wedge is a related but distinct exterior product, so the symbol does not travel safely between fields.
Do not confuseScalar multiplication written with ×\times. Between numbers, ×\times and \cdot are interchangeable; between vectors they are two different operations — carrying the arithmetic habit across is a species error.
a(b×c)\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})
a dot, b cross c
The scalar triple product — and its parentheses are a courtesy, not a necessity: the other grouping (ab)×c(\mathbf{a} \cdot \mathbf{b}) \times \mathbf{c} is a species error, a scalar crossed with a vector. Only one parse exists; the volume it computes is The Scalar Triple Product below.
CasesThe cyclic shuffle preserves it — a(b×c)=b(c×a)\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}) = \mathbf{b} \cdot (\mathbf{c} \times \mathbf{a}) — while any swap of two letters flips the sign, mirroring the cross product's own antisymmetry.
Also written[a,b,c][\mathbf{a}, \mathbf{b}, \mathbf{c}] — the box-product bracket, common in Russian and European texts, where the operation is called the mixed product; some write plain (a,b,c)(\mathbf{a}, \mathbf{b}, \mathbf{c}), colliding with tuples.
Do not confuseA vector result. The nesting reads inside-out: the cross builds a vector, the dot collapses it — the triple product is a number, single bars only when its absolute value is taken.
i,j,k\mathbf{i}, \mathbf{j}, \mathbf{k}
The standard basis of R-three
This page's spelling of the three coordinate directions — bold letters, as in Standard Basis Cross Products below. Two rival spellings coexist: the hatted ı^,ȷ^,k^\hat{\imath}, \hat{\jmath}, \hat{k} of physics, per norm notation, and the subscripted e1,e2,e3\mathbf{e}_1, \mathbf{e}_2, \mathbf{e}_3 that survives beyond three dimensions.
CasesThe ei\mathbf{e}_i form is the only one that scales — R7\mathbb{R}^7 has an e5\mathbf{e}_5 but no letter for it; i,j,k\mathbf{i}, \mathbf{j}, \mathbf{k} are a three-dimensional luxury.
Also writtenux,uy,uz\mathbf{u}_x, \mathbf{u}_y, \mathbf{u}_z — axis-subscripted, in engineering texts.
Do not confuseThe imaginary unit. Unbolded ii is 1\sqrt{-1} — and the collision is historical, not accidental: Hamilton's quaternions i,j,ki, j, k are the ancestors of both this basis and the cross product itself.

Standard Basis Cross Products

Crossing pairs of the standard basis vectors i=(1,0,0)\mathbf{i} = (1,0,0), j=(0,1,0)\mathbf{j} = (0,1,0), k=(0,0,1)\mathbf{k} = (0,0,1) produces a pattern governed by cyclic order:

Standard Basis Cross Products
i×j=k,j×k=i,k×i=j\mathbf{i} \times \mathbf{j} = \mathbf{k}, \quad \mathbf{j} \times \mathbf{k} = \mathbf{i}, \quad \mathbf{k} \times \mathbf{i} = \mathbf{j}
Learn more about this formula: Standard Basis Cross Products →


Swapping the two factors in any of these pairs flips the sign:

j×i=k,k×j=i,i×k=j\mathbf{j} \times \mathbf{i} = -\mathbf{k}, \quad \mathbf{k} \times \mathbf{j} = -\mathbf{i}, \quad \mathbf{i} \times \mathbf{k} = -\mathbf{j}


The organizing principle is a directed loop ijki\mathbf{i} \to \mathbf{j} \to \mathbf{k} \to \mathbf{i}. Traversing it in the forward direction yields a positive basis vector; going against the loop negates the outcome. Any basis vector crossed with a copy of itself gives 0\mathbf{0}: i×i=j×j=k×k=0\mathbf{i} \times \mathbf{i} = \mathbf{j} \times \mathbf{j} = \mathbf{k} \times \mathbf{k} = \mathbf{0}.

Every cross product in R3\mathbb{R}^3 can be traced back to these nine cases. Expressing both input vectors as linear combinations of i\mathbf{i}, j\mathbf{j}, k\mathbf{k} and distributing the cross product over the resulting sums reduces the computation to a collection of basis-pair cross products. Gathering terms afterward recovers the component formula.

The nine pairings sit in one lookup grid below, with the left input vector indexing the rows and the right input indexing the columns.
a × b b = i b = j b = k
a = i 0 k −j
a = j −k 0 i
a = k j −i 0

Geometric Interpretation

The cross product carries geometric content on two distinct levels — one captured by its length, the other by its orientation in space.

The magnitude satisfies:

Cross Product Magnitude
a×b=absinθ\|\mathbf{a} \times \mathbf{b}\| = \|\mathbf{a}\|\,\|\mathbf{b}\|\sin\theta
Learn more about this formula: Cross Product Magnitude →


where θ\theta is the angle separating a\mathbf{a} and b\mathbf{b}. The product absinθ\|\mathbf{a}\|\,\|\mathbf{b}\|\sin\theta has a clean geometric reading: it is the area enclosed by the parallelogram whose adjacent sides are a\mathbf{a} and b\mathbf{b}:

Parallelogram Area
Area=a×b\text{Area} = \|\mathbf{a} \times \mathbf{b}\|
Learn more about this formula: Parallelogram Area →


At θ=π2\theta = \frac{\pi}{2} the sine reaches 11 and the parallelogram attains its largest possible area for those two lengths — a rectangle. At θ=0\theta = 0 or θ=π\theta = \pi the sine vanishes, the two sides collapse onto the same line, and the enclosed area drops to zero.

The direction of a×b\mathbf{a} \times \mathbf{b} sits at a right angle to both a\mathbf{a} and b\mathbf{b} simultaneously. An algebraic confirmation is straightforward: evaluate a(a×b)\mathbf{a} \cdot (\mathbf{a} \times \mathbf{b}) and b(a×b)\mathbf{b} \cdot (\mathbf{a} \times \mathbf{b}) component by component, and both dot products reduce to zero. The cross product therefore solves a problem that no other operation in the section addresses — it constructs a direction that exits the plane spanned by two given vectors.

Direction and the Right-Hand Rule

A plane in R3\mathbb{R}^3 has two unit normals — they point in opposite directions, and the magnitude formula alone cannot choose between them. Resolving this ambiguity requires an external convention: the right-hand rule.

The procedure is physical: align the fingers of the right hand along a\mathbf{a} and curl them toward b\mathbf{b} through the shorter arc. The extended thumb then indicates which of the two perpendicular directions a×b\mathbf{a} \times \mathbf{b} adopts.

Switching the operands — computing b×a\mathbf{b} \times \mathbf{a} instead — reverses the curl direction, sending the thumb the opposite way. This is the geometric engine behind anti-commutativity: the two cross products share the same length but face in opposite directions.

Embedded in the right-hand rule is the concept of orientation. A coordinate system is called right-handed when i×j\mathbf{i} \times \mathbf{j} points along k\mathbf{k}; a left-handed system would have it pointing along k-\mathbf{k}. The cross product is sensitive to this distinction — adopting the opposite handedness convention would reverse every cross product in R3\mathbb{R}^3. No such sensitivity appears in the dot product or in any operation on R2\mathbb{R}^2, making orientation a phenomenon particular to three-dimensional vector multiplication.

Properties of the Cross Product

Several algebraic rules govern the cross product, some mirroring the basic operations and others breaking from them sharply.

Anti-Commutativity


Cross Product Anti-Commutativity
a×b=(b×a)\mathbf{a} \times \mathbf{b} = -(\mathbf{b} \times \mathbf{a})
Learn more about this formula: Cross Product Anti-Commutativity →


Exchanging the two inputs flips the output vector. In the language of the right-hand rule, reversing which vector the fingers follow and which they curl toward sends the thumb the other way.

Distributivity


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


The cross product spreads across sums on either side. Because of anti-commutativity, distributing from the right introduces a sign change relative to distributing from the left.

Scalar Factoring


(ca)×b=c(a×b)=a×(cb)(c\mathbf{a}) \times \mathbf{b} = c(\mathbf{a} \times \mathbf{b}) = \mathbf{a} \times (c\mathbf{b})


A scalar coefficient can migrate freely between the inputs and the output. This makes the cross product linear in each slot independently.

Non-Associativity


a×(b×c)(a×b)×cin general\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) \neq (\mathbf{a} \times \mathbf{b}) \times \mathbf{c} \quad \text{in general}


Regrouping the factors produces a different vector. This stands in stark contrast to addition and scalar multiplication, where parentheses can be shifted without consequence. The vector triple product expansion provides a workaround for simplifying nested cross products:

Vector Triple Product
a×(b×c)=(ac)b(ab)c\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) = (\mathbf{a} \cdot \mathbf{c})\,\mathbf{b} - (\mathbf{a} \cdot \mathbf{b})\,\mathbf{c}
Learn more about this formula: Vector Triple Product →


A related identity, due to Lagrange, expresses the dot product of two cross products as a determinant of pairwise dot products:

Lagrange Identity
(a×b)(c×d)=(ac)(bd)(ad)(bc)(\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})
Learn more about this formula: Lagrange Identity →


Setting c=a\mathbf{c} = \mathbf{a} and d=b\mathbf{d} = \mathbf{b} recovers the magnitude identity a×b2=a2b2(ab)2\|\mathbf{a} \times \mathbf{b}\|^2 = \|\mathbf{a}\|^2\|\mathbf{b}\|^2 - (\mathbf{a} \cdot \mathbf{b})^2, which is equivalent to sin2θ=1cos2θ\sin^2\theta = 1 - \cos^2\theta.

Self-Cross Product


a×a=0\mathbf{a} \times \mathbf{a} = \mathbf{0}


Crossing a vector with itself always returns the zero vector. Anti-commutativity forces this: a×a=(a×a)\mathbf{a} \times \mathbf{a} = -(\mathbf{a} \times \mathbf{a}) has the unique solution 0\mathbf{0}. From the geometric side, a single vector does not span any area — the parallelogram degenerates to a segment — and no unique perpendicular direction can be extracted.
Vectors · cross product

Properties of the cross product

Linear in each slot and distributive, like the dot product — but anti-commutative rather than commutative, and not associative at all. The two failures are the ones worth holding onto.

06entries
Unconditional2
ii
Distributivitya×(b+c)=a×b+a×c\mathbf{a} \times (\mathbf{b} + \mathbf{c}) = \mathbf{a} \times \mathbf{b} + \mathbf{a} \times \mathbf{c}
Combined with scalar factoring this makes the cross product bilinear — linear in each slot…
Unconditional
Requires
spreads over sums on either side

Combined with scalar factoring this makes the cross product bilinear — linear in each slot separately, which is what lets it be computed by the determinant formula.

iii
Scalar factoring(ca)×b=c(a×b)=a×(cb)(c\mathbf{a}) \times \mathbf{b} = c(\mathbf{a} \times \mathbf{b}) = \mathbf{a} \times (c\mathbf{b})
Scalars migrate freely between slots and out front.
Unconditional
Requires
any scalar cc

Scalars migrate freely between slots and out front. A negative cc reverses the output, consistent with anti-commutativity.

Conditional2
i
Anti-commutativitya×b=(b×a)\mathbf{a} \times \mathbf{b} = -(\mathbf{b} \times \mathbf{a})
Swapping the inputs reverses the output vector.
Order flips sign
Holds when
always — the sign is the rule, not an exception

Swapping the inputs reverses the output vector. The magnitude is unchanged, so the parallelogram area is the same; only the perpendicular direction flips, which is the right-hand rule reading itself backwards.

iv
Self-cross producta×a=0\mathbf{a} \times \mathbf{a} = \mathbf{0}
Forced by anti-commutativity: a × a = -(a × a), and the only vector equal to its own negative…
Always zero
Holds when
for every a\mathbf{a}, including 0\mathbf{0}

Forced by anti-commutativity: a×a=(a×a)\mathbf{a} \times \mathbf{a} = -(\mathbf{a} \times \mathbf{a}), and the only vector equal to its own negative is 0\mathbf{0}. Geometrically a vector spans no parallelogram with itself, so there is no area and no unique perpendicular.

Fails or undefined2
v
Associativitya×(b×c)(a×b)×c\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) \neq (\mathbf{a} \times \mathbf{b}) \times \mathbf{c}
The triple product expansion a × (b × c) = b(a·c) - c(a·b) is the workaround: it rewrites a…
Fails
Fails when
in general — parenthesisation changes the result

The triple product expansion a×(b×c)=b(ac)c(ab)\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) = \mathbf{b}(\mathbf{a}\cdot\mathbf{c}) - \mathbf{c}(\mathbf{a}\cdot\mathbf{b}) is the workaround: it rewrites a nested cross product without one.

Witnessa = i, b = i, c = j
a × (b × c) = i × (i × j) = i × k = −j
(a × b) × c = (i × i) × j = 0 × j = 0
vi
Cancellationa×b=a×cb=c\mathbf{a} \times \mathbf{b} = \mathbf{a} \times \mathbf{c} \nRightarrow \mathbf{b} = \mathbf{c}
The cross product discards whatever is parallel to a — the mirror image of the dot product…
Fails
Fails when
always, for a0\mathbf{a} \neq \mathbf{0}

The cross product discards whatever is parallel to a\mathbf{a} — the mirror image of the dot product, which discards whatever is perpendicular. Between them nothing is lost, which is why the two together determine a vector completely.

Witnessa = (1, 0, 0), b = (0, 1, 0), c = (1, 1, 0)
a × b = a × c = (0, 0, 1), yet b ≠ c
Unconditional
Conditional
Fails or undefined
Anti-commutativityOrder flips sign
a×b=(b×a)\mathbf{a} \times \mathbf{b} = -(\mathbf{b} \times \mathbf{a})
Holds when
always — the sign is the rule, not an exception
Swapping the inputs reverses the output vector. The magnitude is unchanged, so the parallelogram area is the same; only the perpendicular direction flips, which is the right-hand rule reading itself backwards.
DistributivityUnconditional
a×(b+c)=a×b+a×c\mathbf{a} \times (\mathbf{b} + \mathbf{c}) = \mathbf{a} \times \mathbf{b} + \mathbf{a} \times \mathbf{c}
Requires
spreads over sums on either side
Combined with scalar factoring this makes the cross product bilinear — linear in each slot separately, which is what lets it be computed by the determinant formula.
Scalar factoringUnconditional
(ca)×b=c(a×b)=a×(cb)(c\mathbf{a}) \times \mathbf{b} = c(\mathbf{a} \times \mathbf{b}) = \mathbf{a} \times (c\mathbf{b})
Requires
any scalar cc
Scalars migrate freely between slots and out front. A negative cc reverses the output, consistent with anti-commutativity.
Self-cross productAlways zero
a×a=0\mathbf{a} \times \mathbf{a} = \mathbf{0}
Holds when
for every a\mathbf{a}, including 0\mathbf{0}
Forced by anti-commutativity: a×a=(a×a)\mathbf{a} \times \mathbf{a} = -(\mathbf{a} \times \mathbf{a}), and the only vector equal to its own negative is 0\mathbf{0}. Geometrically a vector spans no parallelogram with itself, so there is no area and no unique perpendicular.
AssociativityFails
a×(b×c)(a×b)×c\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) \neq (\mathbf{a} \times \mathbf{b}) \times \mathbf{c}
Fails when
in general — parenthesisation changes the result
The triple product expansion a×(b×c)=b(ac)c(ab)\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) = \mathbf{b}(\mathbf{a}\cdot\mathbf{c}) - \mathbf{c}(\mathbf{a}\cdot\mathbf{b}) is the workaround: it rewrites a nested cross product without one.
Witnessa = i, b = i, c = j
a × (b × c) = i × (i × j) = i × k = −j
(a × b) × c = (i × i) × j = 0 × j = 0
CancellationFails
a×b=a×cb=c\mathbf{a} \times \mathbf{b} = \mathbf{a} \times \mathbf{c} \nRightarrow \mathbf{b} = \mathbf{c}
Fails when
always, for a0\mathbf{a} \neq \mathbf{0}
The cross product discards whatever is parallel to a\mathbf{a} — the mirror image of the dot product, which discards whatever is perpendicular. Between them nothing is lost, which is why the two together determine a vector completely.
Witnessa = (1, 0, 0), b = (0, 1, 0), c = (1, 1, 0)
a × b = a × c = (0, 0, 1), yet b ≠ c
Both failures come from the same source: the output is a vector perpendicular to its inputs, so it depends on their order and on which pair you multiply first. The dot product returns a scalar and fails in the opposite direction — it commutes freely but leaves R3\mathbb{R}^3 entirely.
Properties of the cross product·/linear-algebra/vectors/cross-productLearn Math Class

Parallel Vectors and the Cross Product

The cross product furnishes a clean test for parallelism:

Parallelism Test (Cross Product)
a×b=0    ab\mathbf{a} \times \mathbf{b} = \mathbf{0} \iff \mathbf{a} \parallel \mathbf{b}
Learn more about this formula: Parallelism Test (Cross Product) →


Parallel vectors sit along the same line, so the angle between them is 00 or π\pi. In either case sinθ\sin\theta vanishes, collapsing the magnitude a×b=absinθ\|\mathbf{a} \times \mathbf{b}\| = \|\mathbf{a}\|\,\|\mathbf{b}\|\sin\theta to zero. A zero magnitude forces the cross product itself to be 0\mathbf{0}. The zero vector is parallel to every vector by convention, so the test absorbs the edge cases naturally.

This criterion pairs naturally with the dot product's test for orthogonality. A vanishing dot product signals perpendicularity; a vanishing cross product signals collinearity. The two tests cover opposite ends of the angular spectrum — maximum separation versus no separation at all — and between them, any angular configuration of two vectors in R3\mathbb{R}^3 can be diagnosed.

The Scalar Triple Product

Three vectors in R3\mathbb{R}^3 can be combined into a single scalar by nesting the cross product inside a dot product:

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


The inner operation b×c\mathbf{b} \times \mathbf{c} yields a vector orthogonal to both b\mathbf{b} and c\mathbf{c}, whose length equals the area of the parallelogram they outline. The outer dot product then projects a\mathbf{a} onto that orthogonal direction, effectively extracting the component of a\mathbf{a} that rises out of the b\mathbf{b}-c\mathbf{c} plane. Multiplying base area by height produces a volume: the result is the signed volume of the parallelepiped whose edges are a\mathbf{a}, b\mathbf{b}, c\mathbf{c}.

Taking the absolute value strips the sign and gives the true geometric volume of the parallelepiped:

Parallelepiped Volume
V=a(b×c)V = |\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})|
Learn more about this formula: Parallelepiped Volume →


The sign itself records handedness — it is positive when the triple a\mathbf{a}, b\mathbf{b}, c\mathbf{c} follows the right-hand convention and negative when it does not.

The tetrahedron (triangular pyramid) with edges a\mathbf{a}, b\mathbf{b}, c\mathbf{c} from a common vertex occupies exactly one-sixth of this parallelepiped:

Pyramid Volume
V=16a(b×c)V = \tfrac{1}{6}|\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})|
Learn more about this formula: Pyramid Volume →


The factor 16\tfrac{1}{6} arises as 13\tfrac{1}{3} (the general pyramid factor V=13baseheightV = \tfrac{1}{3} \cdot \text{base} \cdot \text{height}) times 12\tfrac{1}{2} (the triangular base is half the parallelogram base).

An equivalent computation arranges the nine components into a 3×33 \times 3 determinant:

Scalar Triple Product
a(b×c)=a1a2a3b1b2b3c1c2c3\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}) = \begin{vmatrix} a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \end{vmatrix}
Learn more about this formula: Scalar Triple Product →


A zero determinant means the parallelepiped has been flattened — the three vectors are coplanar, all confined to a single plane with no volume between them.

Dot Product vs Cross Product

The two multiplication operations available for vectors occupy complementary niches, and contrasting them sharpens the purpose of each.

At the most basic level, they differ in what comes out: the dot product delivers a number, while the cross product delivers a vector. They also differ in scope — the component-wise sum of products behind the dot product generalizes to any Rn\mathbb{R}^n, whereas the cross product's reliance on three-component determinants confines it to R3\mathbb{R}^3.

Order sensitivity separates them further. Swapping the operands in a dot product changes nothing; swapping them in a cross product reverses the resulting vector entirely. This distinction — commutativity versus anti-commutativity — reflects a deeper geometric divide. The dot product is insensitive to handedness; the cross product is built on it.

The conditions under which each product vanishes tell opposite stories. A zero dot product flags perpendicularity: the vectors share no directional overlap. A zero cross product flags collinearity: the vectors lie along the same line and enclose no area. One detects maximum angular separation; the other detects none at all.

Taken together, the two products partition the angular information between a pair of vectors in R3\mathbb{R}^3 without overlap. The dot product isolates the cosθ\cos\theta factor — the projection of one vector onto the other. The cross product isolates the sinθ\sin\theta factor — the extent to which the vectors diverge from each other's direction, packaged as a perpendicular vector whose length records the enclosed area. Every geometric relationship between two vectors in three dimensions can be read from these two numbers.
Vectors · two products

Dot against cross

Two ways of multiplying vectors that disagree on almost every attribute. Where one is zero the other is largest, and between them they measure the two things a pair of vectors has: how much they agree, and how much they span.

2products
TypeConditionoutputdefined inswapping the argumentszero whengeometric reading
Measures agreement
Dot product§ 8ab=abcosθ\mathbf{a} \cdot \mathbf{b} = \|\mathbf{a}\|\|\mathbf{b}\|\cos\thetaa scalarany Rn\mathbb{R}^nunchanged — commutativeperpendicular, θ=π/2\theta = \pi/2projection of one onto the other
Measures spread
Cross product§ 8a×b=absinθ\|\mathbf{a} \times \mathbf{b}\| = \|\mathbf{a}\|\|\mathbf{b}\|\sin\thetaa vectoronly R3\mathbb{R}^3sign reverses — anti-commutativeparallel, θ=0\theta = 0 or π\piarea of the parallelogram spanned
The opposition is systematic rather than coincidental. One extracts cosθ\cos\theta and one extracts sinθ\sin\theta, and every difference below follows: zero at opposite angles, scalar against vector, commutative against sign-reversing. Given both products, θ\theta is determined completely — neither alone suffices.
Dot against cross·/linear-algebra/vectors/cross-productLearn Math Class
Every row opposes because the two products extract different halves of the same angle. The dot product carries cosθ\cos\theta and the cross product sinθ\sin\theta, so one peaks exactly where the other vanishes — and together they pin θ\theta down completely, which neither can do alone. The remaining differences follow from the outputs: a scalar has no orientation to reverse, while a vector does, which is why one commutes and the other flips sign.

Summary of Cross Product Uses

The preceding sections put the cross product to a small set of distinct uses — measuring the area of a parallelogram, constructing a vector perpendicular to a given plane, testing whether two vectors are parallel, computing the volume of a parallelepiped through the scalar triple product, and reducing nested cross products through the vector triple product expansion. The table below collects these uses in one place: each row pairs a geometric or algebraic result with the formula that delivers it and a one-line statement of what that result captures.
Result Formula What it captures
Area of a parallelogram ‖a × b‖ = ‖a‖ ‖b‖ sin θ size of the region spanned by a and b
Perpendicular direction a × b ⊥ a  and  a × b ⊥ b a vector normal to the plane of a and b
Test for parallelism a × b = 0 ⇔ a ∥ b detects when two vectors are collinear
Right-handed orientation i × j = k (by convention) resolves the two-normal ambiguity
Volume of a parallelepiped |a · (b × c)| signed volume of the box with edges a, b, c
Test for coplanarity a · (b × c) = 0 detects when three vectors lie in one plane
Vector triple product a × (b × c) = (a · c)b − (a · b)c reduces a nested cross product to a sum of scaled vectors

Cross Product FAQ

Is ×\times between vectors the same as ×\times between numbers?

+
No, and carrying the arithmetic habit across is a genuine error. Between numbers ×\times and \cdot are interchangeable, but between vectors they name two different operations returning different kinds of object: the dot gives a scalar, the cross gives a vector. The cross product also exists only in three dimensions.Read more →

Does a(b×c)\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}) really need its parentheses?

+
They are a courtesy rather than a necessity, because only one grouping makes sense. The alternative reading would cross a scalar with a vector, which is not a defined operation. So the expression parses uniquely: the cross builds a vector, then the dot collapses it, and the result is a number.Read more →

Why do ii, jj, kk mean basis vectors here but 1\sqrt{-1} elsewhere?

+
The collision is historical rather than coincidental: Hamilton's quaternions i,j,ki, j, k are the common ancestor of both this basis and the cross product itself. Boldface separates them in print. Note also that e1,e2,e3\mathbf{e}_1, \mathbf{e}_2, \mathbf{e}_3 scales to any dimension, while i,j,k\mathbf{i}, \mathbf{j}, \mathbf{k} runs out of letters past three.Read more →