The Levi-Civita Symbol
Index
notation handled the dot product with a single repeated index. But the
cross product,
the determinant and the curl all involve something the Kronecker delta cannot express:
orientation. They care whether an ordering is right-handed or left-handed, and
they flip sign when you swap two things. To write them with indices you need a companion to
\delta_{ij} that is antisymmetric — the
Levi-Civita symbol \varepsilon_{ijk}.
With this one symbol, the cross product, the scalar triple product, the determinant and the curl
all collapse into single index expressions — and the tangle of vector identities you meet in
electromagnetism becomes routine algebra.
The definition: +1, −1, or 0
\varepsilon_{ijk} has three indices, each running over
1, 2, 3, and takes just three values:
\varepsilon_{ijk} = \begin{cases} +1 & \text{if } (i,j,k) \text{ is an even (cyclic) permutation of } (1,2,3), \\ -1 & \text{if } (i,j,k) \text{ is an odd (anticyclic) permutation of } (1,2,3), \\ \;\;0 & \text{if any two indices are equal.} \end{cases}
Concretely, the cyclic orders (1,2,3), (2,3,1), (3,1,2)
give +1; the anticyclic orders
(3,2,1), (2,1,3), (1,3,2) give -1; and any
repeat, like (1,1,2), gives 0. The figure is
the mnemonic: read the circle clockwise for +1, against it for
-1.
The defining feature is total antisymmetry: swapping any two indices
flips the sign,
\varepsilon_{ijk} = -\varepsilon_{jik} = -\varepsilon_{ikj} = -\varepsilon_{kji},
which instantly explains the last case — if two indices are equal, swapping them changes nothing
yet must flip the sign, so the value has to be 0.
The cross product
The i-th component of \mathbf{a}\times\mathbf{b}
is one clean expression — i is free, while
j and k are summed:
(\mathbf{a}\times\mathbf{b})_i = \varepsilon_{ijk}\, a_j\, b_k.
Worked example — recover the familiar first component. Set the free index
i = 1 and sum over j, k \in \{1,2,3\}. Only
terms with all three indices distinct survive (the rest carry a repeated index and vanish), so the
only survivors have \{j,k\} = \{2,3\}:
(\mathbf{a}\times\mathbf{b})_1 = \varepsilon_{123}\,a_2 b_3 + \varepsilon_{132}\,a_3 b_2 = (+1)\,a_2 b_3 + (-1)\,a_3 b_2 = a_2 b_3 - a_3 b_2.
Exactly the first row of the determinant formula — but derived by pure bookkeeping. The other two
components follow by cycling 1 \to 2 \to 3.
The determinant and the scalar triple product
Contract three vectors against \varepsilon and you get the
scalar triple product — which is exactly the
3\times 3 determinant:
\mathbf{a}\cdot(\mathbf{b}\times\mathbf{c}) = \varepsilon_{ijk}\, a_i\, b_j\, c_k = \det\begin{pmatrix} a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \end{pmatrix}.
The antisymmetry of \varepsilon is the antisymmetry of the
determinant: swap two rows and the sign flips; repeat a row and it is zero. More generally, for
any 3\times 3 matrix M,
\det M = \varepsilon_{ijk}\, M_{1i}\, M_{2j}\, M_{3k},
so the Levi-Civita symbol is the engine inside every determinant you have ever expanded.
The curl
Replace one vector by the derivative operator \partial_j \equiv \partial/\partial x_j
and the cross-product formula becomes the curl:
(\nabla\times\mathbf{F})_i = \varepsilon_{ijk}\, \partial_j F_k.
Setting i = 3, say, and summing gives
\varepsilon_{312}\,\partial_1 F_2 + \varepsilon_{321}\,\partial_2 F_1 = \partial_1 F_2 - \partial_2 F_1
— the familiar \partial F_y/\partial x - \partial F_x/\partial y. One
formula now encodes all three messy components of the curl, and identities like
\nabla\cdot(\nabla\times\mathbf{F}) = 0 become one-line consequences of
antisymmetry meeting symmetry.
The epsilon–delta identity — the master tool
When two Levi-Civita symbols meet and share one summed index, they collapse into
Kronecker deltas. This single identity dispatches almost every vector identity in physics:
\varepsilon_{ijk}\,\varepsilon_{ilm} = \delta_{jl}\,\delta_{km} - \delta_{jm}\,\delta_{kl}.
The shared index here is the first one, i (summed). The
surviving indices pair up: the "in-order" pairing
(j\text{–}l,\ k\text{–}m) comes with a plus, the "crossed" pairing
(j\text{–}m,\ k\text{–}l) with a minus. Two useful special cases follow
by contracting further:
\varepsilon_{ijk}\,\varepsilon_{ijm} = 2\,\delta_{km}, \qquad \varepsilon_{ijk}\,\varepsilon_{ijk} = 6.
Worked identity: the "BAC−CAB" rule
The vector triple product \mathbf{a}\times(\mathbf{b}\times\mathbf{c})
is a nightmare to expand geometrically, but the epsilon–delta identity makes it fall out in a few
lines. This is the calculation that convinces people to learn index notation.
Step 1 — write the i-th component with two
epsilons. The inner cross product has component
(\mathbf{b}\times\mathbf{c})_k = \varepsilon_{klm} b_l c_m, so
\big[\mathbf{a}\times(\mathbf{b}\times\mathbf{c})\big]_i = \varepsilon_{ijk}\, a_j\, (\mathbf{b}\times\mathbf{c})_k = \varepsilon_{ijk}\,\varepsilon_{klm}\, a_j\, b_l\, c_m.
Step 2 — line up the shared index. The identity needs the summed index
(k) in the first slot of both symbols. Cycle the first one,
\varepsilon_{ijk} = \varepsilon_{kij}, so that
\varepsilon_{ijk}\varepsilon_{klm} = \varepsilon_{kij}\varepsilon_{klm} = \delta_{il}\delta_{jm} - \delta_{im}\delta_{jl}.
= (\delta_{il}\delta_{jm} - \delta_{im}\delta_{jl})\, a_j\, b_l\, c_m.
Step 3 — let the deltas sift. In the first term
\delta_{il} forces l = i and
\delta_{jm} forces m = j; in the second,
m = i and l = j:
= a_j\, b_i\, c_j - a_j\, b_j\, c_i.
Step 4 — read off the vectors. The repeated j in
a_j c_j is the dot product \mathbf{a}\cdot\mathbf{c},
and a_j b_j = \mathbf{a}\cdot\mathbf{b}. So
\big[\mathbf{a}\times(\mathbf{b}\times\mathbf{c})\big]_i = b_i\,(\mathbf{a}\cdot\mathbf{c}) - c_i\,(\mathbf{a}\cdot\mathbf{b}) \quad\Longrightarrow\quad \mathbf{a}\times(\mathbf{b}\times\mathbf{c}) = \mathbf{b}\,(\mathbf{a}\cdot\mathbf{c}) - \mathbf{c}\,(\mathbf{a}\cdot\mathbf{b}).
The famous "BAC−CAB" rule, proved with nothing but the definition of
\varepsilon and one identity — no diagrams, no case-checking. Every
step is mechanical, which is exactly the point.
Tullio Levi-Civita (1873–1941) was an Italian mathematician who, with his teacher Gregorio
Ricci-Curbastro, built the tensor calculus in the 1890s — the machinery of
indices, summation and antisymmetric symbols. For years it was a beautiful curiosity almost
nobody used. Then in 1912 a struggling Einstein wrote to Levi-Civita for help: he needed exactly
this language to express general relativity, where gravity is the curvature of spacetime.
Levi-Civita's calculus became the backbone of the theory, and the little
+1/-1/0 symbol that carries his name is now on the first page of every
textbook on electromagnetism, fluid dynamics and quantum mechanics. Einstein later called
Levi-Civita's work the one thing in the theory he found "really beautiful."
Two sign traps.
(1) The epsilon–delta identity needs the shared index in the same position.
The clean form \varepsilon_{ijk}\varepsilon_{ilm} = \delta_{jl}\delta_{km} - \delta_{jm}\delta_{kl}
holds only when the summed index sits first in both symbols. If it doesn't, use the
cyclic property (\varepsilon_{ijk} = \varepsilon_{jki} = \varepsilon_{kij})
to rotate it into place — but rotate cyclically, because a single swap would introduce
a stray minus sign.
(2) Cyclic is safe, a swap flips the sign.
\varepsilon_{ijk} = \varepsilon_{jki} = \varepsilon_{kij} (rotate all
three — no sign change), but \varepsilon_{ijk} = -\varepsilon_{jik}
(swap just two — sign flips). Confusing a cyclic rotation with a two-index swap is the number-one
source of wrong signs in these calculations. When in doubt, test on
(1,2,3).