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