The Kronecker Delta and Levi-Civita Symbol

Vector algebra in three dimensions has two faces. There is the arrow face — dot products, cross products, gradients, curls, drawn and named — and the index face, where every vector is a list of components aia_i and every operation is a pattern of subscripts summed against each other. Almost all of the second is carried by two symbols. The Kronecker delta δij\delta_{ij} is the components of the identity matrix — 11 when its indices agree, 00 when they differ — and equally the table of inner products of an orthonormal basis, e^i⋅e^j=δij\hat{\mathbf{e}}_i\cdot\hat{\mathbf{e}}_j=\delta_{ij}. The Levi-Civita symbol εijk\varepsilon_{ijk} is the totally antisymmetric symbol of three indices, pinned down by the single choice ε123=+1\varepsilon_{123}=+1; it is the machine that reads orientation, builds the cross product, and computes the 3×33\times3 determinant. What makes these two symbols a calculus rather than a pair of definitions is the Einstein summation convention — any index appearing exactly twice in a term is silently summed over 1,2,31,2,3 — together with one bridging identity. Under the convention δij\delta_{ij} becomes an index-renaming machine, δijaj=ai\delta_{ij}a_j=a_i, and the products read a⋅b=aibi\mathbf{a}\cdot\mathbf{b}=a_ib_i and (a×b)i=εijkajbk(\mathbf{a}\times\mathbf{b})_i=\varepsilon_{ijk}a_jb_k. The bridge is the master contraction εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl}, which converts any product of two cross products or two curls into deltas, so proofs that are folklore-and-memory in arrow notation — the BAC–CAB rule and ∇×(∇×A)=∇(∇⋅A)−∇2A\nabla\times(\nabla\times\mathbf{A})=\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A} — become two-line computations. This index calculus is the groundwork for the differential operators and integral theorems of classical field theory, and it generalises without change to the metric gijg_{ij} and the Levi-Civita tensor density of tensor analysis.

Key takeaways
  • The Kronecker delta δij\delta_{ij} is the identity on indices — 11 when i=ji=j, 00 otherwise — encoding orthonormality e^i⋅e^j=δij\hat{\mathbf{e}}_i\cdot\hat{\mathbf{e}}_j=\delta_{ij} and the dot product.
  • The Levi-Civita symbol εijk\varepsilon_{ijk} is totally antisymmetric with ε123=+1\varepsilon_{123}=+1; of its 2727 components only 66 are nonzero, and it encodes the cross product and the determinant.
  • With the Einstein summation convention, a⋅b=δijaibj=aibi\mathbf{a}\cdot\mathbf{b}=\delta_{ij}a_ib_j=a_ib_i and (a×b)i=εijkajbk(\mathbf{a}\times\mathbf{b})_i=\varepsilon_{ijk}a_jb_k.
  • The master contraction εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl} reduces nearly every vector identity to delta bookkeeping; its full contractions give εijkεijk=6\varepsilon_{ijk}\varepsilon_{ijk}=6 and δii=3\delta_{ii}=3.
  • Antisymmetric-on-symmetric vanishes, εijkSjk=0\varepsilon_{ijk}S_{jk}=0 — the single fact behind ∇×∇ϕ=0\nabla\times\nabla\phi=0 and ∇⋅(∇×A)=0\nabla\cdot(\nabla\times\mathbf{A})=0.
  • Key idea: write vectors in components and adopt the summation convention — then δij\delta_{ij} does dot products and renames indices, εijk\varepsilon_{ijk} does cross products and determinants, and the single identity εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl} converts any double-cross-product into deltas.

Where this lives today

The index calculus of δ\delta and ε\varepsilon is the working notation of every field that touches vectors and tensors. In electromagnetism (∇×B)i=εijk∂jBk(\nabla\times\mathbf{B})_i=\varepsilon_{ijk}\partial_jB_k, and the curl-of-curl reduction proved above is the exact step that turns the first-order Maxwell system into the wave equation ∇2E−c−2∂t2E=0\nabla^2\mathbf{E}-c^{-2}\partial_t^2\mathbf{E}=0. In quantum mechanics the rotation generators satisfy [Li,Lj]=iℏ εijkLk[L_i,L_j]=i\hbar\,\varepsilon_{ijk}L_k, so εijk\varepsilon_{ijk} is the structure constants of so(3)\mathrm{so}(3), and it runs through the Pauli algebra σiσj=δijI+iεijkσk\sigma_i\sigma_j=\delta_{ij}I+i\varepsilon_{ijk}\sigma_k behind spin and qubits; in fluid mechanics the vorticity is ωi=εijk∂jvk\omega_i=\varepsilon_{ijk}\partial_jv_k. Every computer-algebra system implements the convention directly — Mathematica's `LeviCivitaTensor`, SymPy's `LeviCivita`, NumPy's `einsum`. And the generalisation is seamless: promote δij\delta_{ij} to the metric gμνg_{\mu\nu} and εijk\varepsilon_{ijk} to εμνρσ\varepsilon_{\mu\nu\rho\sigma}, and the same two symbols organise relativistic electrodynamics and the geometry of spacetime.

The physical picture

Strip a vector of its arrow and what remains is a column of three numbers tagged by an index; the two symbols are the grammar that lets those numbers reproduce every geometric operation. The Kronecker delta is the simpler — nothing more than the identity matrix, whose whole job is to detect a match. Summed against anything it collapses the sum to the term where the indices coincide, so δijvj=vi\delta_{ij}v_j=v_i rewrites an index name and δijaibj\delta_{ij}a_ib_j picks out aibi=a⋅ba_ib_i=\mathbf{a}\cdot\mathbf{b}. Because the basis is orthonormal, the same table of 11s and 00s is the set of inner products e^i⋅e^j\hat{\mathbf{e}}_i\cdot\hat{\mathbf{e}}_j — geometry and matrix are one object.

Figure
The Kronecker delta δ_ij is the identity matrix — 1 on the diagonal, 0 off it — and equivalently the inner products of an orthonormal basis, so ê_1·ê_1 = 1 while ê_1·ê_2 = 0
δ_ij is the identity matrix and the orthonormal-basis inner products δ_ij (rows i, columns j) 1 1 1 0 0 0 0 0 0 orthonormal triad ê_i·ê_j = δ_ij ê_1 ê_2 ê_3 ê_1·ê_1 = 1 ê_1·ê_2 = 0

The Levi-Civita symbol carries the other half of geometry: orientation. Read its three indices around a wheel numbered 1→2→3→11\to2\to3\to1: a cyclic ordering (123123, 231231, 312312) reads +1+1, its reverse −1-1, and any repeated index 00, because a triple with a repeated direction spans no oriented volume. That rule of total antisymmetry makes εijk\varepsilon_{ijk} flip sign under any pair-swap, and it is why εijk\varepsilon_{ijk} contracted with anything symmetric in two indices dies on the spot — the observation behind curl grad=0\mathrm{curl}\,\mathrm{grad}=0 and div curl=0\mathrm{div}\,\mathrm{curl}=0.

Figure
The Levi-Civita symbol ε_ijk read off the cyclic wheel — cyclic orderings 123, 231, 312 give +1, their reverses give −1, and any repeated index gives 0 — so of 27 components only 6 are nonzero and ε_ijk ε_ijk = 6
ε_ijk reads orientation: cyclic = +1, anticyclic = −1, repeat = 0 1 2 3 follow arrows = +1 ε_123 = ε_231 = ε_312 = +1 ε_321 = ε_213 = ε_132 = −1 ε_iij = ε_iji = ε_jii = 0 (any repeat) a swap of any two indices flips the sign 27 components = 6 nonzero + 21 zero ε_ijk ε_ijk = 6 = 3! δ_ii = 3 ε_ijk ε_ijl = 2 δ_kl

The core equations

The two definitions come first. The Kronecker delta is the identity matrix; its power comes from being summed under the convention.

δij={1i=j0i≠j(1)\delta_{ij}=\begin{cases}1 & i=j\\ 0 & i\neq j\end{cases} \qquad (1)

where: i,ji,j — indices over 1,2,31,2,3 (Cartesian components); δij\delta_{ij} — components of the 3×33\times3 identity matrix, equal also to e^i⋅e^j\hat{\mathbf{e}}_i\cdot\hat{\mathbf{e}}_j. Reading: δij\delta_{ij} is a match detector, surviving only when its two indices are equal. The Levi-Civita symbol is fixed by one convention, ε123=+1\varepsilon_{123}=+1, and one rule, total antisymmetry. Those determine all 2727 components: the six even permutations of 123123 give +1+1, the six odd ones −1-1, and the remaining 2121 (with a repeated index) vanish.

εijk={+1(ijk) an even permutation of 123−1(ijk) an odd permutation of 1230any index repeated(2)\varepsilon_{ijk}=\begin{cases}+1 & (ijk)\text{ an even permutation of }123\\ -1 & (ijk)\text{ an odd permutation of }123\\ 0 & \text{any index repeated}\end{cases} \qquad (2)

where: ε123=ε231=ε312=+1\varepsilon_{123}=\varepsilon_{231}=\varepsilon_{312}=+1 — the cyclic (even) orderings; ε321=ε213=ε132=−1\varepsilon_{321}=\varepsilon_{213}=\varepsilon_{132}=-1 — the anticyclic (odd) orderings. Reading: εijk\varepsilon_{ijk} is the sign of the permutation that sorts ijkijk into 123123. The dot product is the delta contracted against two vectors; because δij\delta_{ij} forces i=ji=j, the double sum collapses to the sum of component products.

a⋅b=δijaibj=aibi(3)\mathbf{a}\cdot\mathbf{b}=\delta_{ij}a_ib_j=a_ib_i \qquad (3)

where: ai,bia_i,b_i — Cartesian components of a\mathbf{a} and b\mathbf{b}; aibia_ib_i — the repeated ii summed over 1,2,31,2,3. Reading: the dot product is just "same index, summed". The cross product is the epsilon contracted against two vectors, leaving one free index for the output; the antisymmetry of ε\varepsilon is exactly a×b=−b×a\mathbf{a}\times\mathbf{b}=-\mathbf{b}\times\mathbf{a}.

(a×b)i=εijkajbk(4)(\mathbf{a}\times\mathbf{b})_i=\varepsilon_{ijk}a_jb_k \qquad (4)

where: ii — the single free index, labelling the output component; j,kj,k — dummy indices, both summed. Reading: i=1i=1 gives a2b3−a3b2a_2b_3-a_3b_2, and cyclic shifts give the other two components. The bridge between the two symbols is the master contraction identity — the one formula worth memorising, since every proof involving two cross products or two curls passes through it. Sum the shared index of two epsilons and you get a determinant of deltas on the remaining four.

εijkεilm=δjlδkm−δjmδkl(5)\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl} \qquad (5)

where: ii — the shared, contracted index, summed; j,k,l,mj,k,l,m — the four surviving free indices. Reading: the plus term pairs the matching-position indices (jj with ll, kk with mm), the minus term pairs the crossed ones — a mnemonic that never fails. Contracting further: setting m=km=k gives εijkεijl=3δkl−δkl=2δkl\varepsilon_{ijk}\varepsilon_{ijl}=3\delta_{kl}-\delta_{kl}=2\delta_{kl}, and setting l=jl=j too gives εijkεijk=6\varepsilon_{ijk}\varepsilon_{ijk}=6, alongside the trace δii=3\delta_{ii}=3 where the dimension of space enters. All three fall out of equation (5) and are collected in the limiting-cases table below. Finally, the epsilon is the determinant in disguise: the signed sum of matrix entries weighted by ε\varepsilon is the Leibniz formula for a 3×33\times3 determinant, and specialises to the scalar triple product.

det⁡A=εijkA1iA2jA3k,a⋅(b×c)=εijkaibjck(6)\det A=\varepsilon_{ijk}A_{1i}A_{2j}A_{3k},\qquad \mathbf{a}\cdot(\mathbf{b}\times\mathbf{c})=\varepsilon_{ijk}a_ib_jc_k \qquad (6)

where: AijA_{ij} — entries of a 3×33\times3 matrix; εijk\varepsilon_{ijk} — supplies the sign of each of the 3!3! permutations. Reading: the determinant, the scalar triple product, and the signed volume of a parallelepiped are one formula, with ε\varepsilon assigning each term its sign.

Derivation AThe master epsilon-delta contraction identity

The goal is to prove the single most useful formula in three-dimensional index calculus, εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl}, from first principles rather than by pattern-matching. We start from the most general product of two Levi-Civita symbols — a 3×33\times3 determinant of Kronecker deltas — then set one pair of indices equal and sum, watching the determinant collapse into the two-term result. This shows why the plus-minus pattern is forced and makes the higher contractions εijkεijl=2δkl\varepsilon_{ijk}\varepsilon_{ijl}=2\delta_{kl} and εijkεijk=6\varepsilon_{ijk}\varepsilon_{ijk}=6 fall out for free.

Step 1. Write the fully general relation as a determinant of deltas, εijkεlmn=det⁡ ⁣(δilδimδinδjlδjmδjnδklδkmδkn)\varepsilon_{ijk}\varepsilon_{lmn}=\det\!\begin{pmatrix}\delta_{il}&\delta_{im}&\delta_{in}\\ \delta_{jl}&\delta_{jm}&\delta_{jn}\\ \delta_{kl}&\delta_{km}&\delta_{kn}\end{pmatrix}. Why: both sides are totally antisymmetric in (ijk)(ijk) and (lmn)(lmn) and equal +1+1 at ijk=lmn=123ijk=lmn=123, and such an object is fixed by its value on one ordering — so they agree everywhere.

Step 2. Contract by setting l=il=i and summing over ii; expanding along the first row gives εijkεimn=δii(δjmδkn−δjnδkm)−δim(δjiδkn−δjnδki)+δin(δjiδkm−δjmδki)\varepsilon_{ijk}\varepsilon_{imn}=\delta_{ii}(\delta_{jm}\delta_{kn}-\delta_{jn}\delta_{km})-\delta_{im}(\delta_{ji}\delta_{kn}-\delta_{jn}\delta_{ki})+\delta_{in}(\delta_{ji}\delta_{km}-\delta_{jm}\delta_{ki}). Why: expanding first and substituting the shared index second keeps every term a plain product of deltas we can simplify by renaming.

Step 3. Simplify each piece with δii=3\delta_{ii}=3 and the renaming rule δimδji=δjm\delta_{im}\delta_{ji}=\delta_{jm}: the three groups become 3(δjmδkn−δjnδkm)3(\delta_{jm}\delta_{kn}-\delta_{jn}\delta_{km}) and then −(δjmδkn−δjnδkm)-(\delta_{jm}\delta_{kn}-\delta_{jn}\delta_{km}) twice over. Why: the dimension enters once, through δii=3\delta_{ii}=3, leaving the coefficient 3−1−1=13-1-1=1.

Step 4. Collect: 3−1−1=13-1-1=1 leaves εijkεimn=δjmδkn−δjnδkm\varepsilon_{ijk}\varepsilon_{imn}=\delta_{jm}\delta_{kn}-\delta_{jn}\delta_{km}, and renaming m,n→l,mm,n\to l,m gives the boxed result. Contracting once more reproduces εijkεijl=2δkl\varepsilon_{ijk}\varepsilon_{ijl}=2\delta_{kl} and then εijkεijk=6\varepsilon_{ijk}\varepsilon_{ijk}=6. Why: the same formula, contracted step by step, generates the whole family of reductions.

εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl}

As a quick check: successive contraction of the boxed identity reproduces εijkεijk=6\varepsilon_{ijk}\varepsilon_{ijk}=6, εijkεijl=2δkl\varepsilon_{ijk}\varepsilon_{ijl}=2\delta_{kl}, and δii=3\delta_{ii}=3; and evaluating directly on the single case ε123ε123=1=δ22δ33−δ23δ32\varepsilon_{123}\varepsilon_{123}=1=\delta_{22}\delta_{33}-\delta_{23}\delta_{32} confirms the right-hand side.

Go deeper · Derivation B · 1 minThe BAC-CAB rule for the vector triple product
Derivation BThe BAC-CAB rule for the vector triple product

The goal is to prove the vector triple-product identity a×(b×c)=b (a⋅c)−c (a⋅b)\mathbf{a}\times(\mathbf{b}\times\mathbf{c})=\mathbf{b}\,(\mathbf{a}\cdot\mathbf{c})-\mathbf{c}\,(\mathbf{a}\cdot\mathbf{b}) — the "BAC minus CAB" mnemonic — entirely by index manipulation, without a single arrow. In arrow notation this is a memorised black box; in index notation it is a two-line consequence of the master contraction. We write the ii-th component, expand the inner cross product, apply the master identity, and let the deltas rename indices until vectors reappear.

Step 1. Take the ii-th component and substitute the index form of the inner cross product twice, [a×(b×c)]i=εijkaj(b×c)k=εijkajεklmblcm[\mathbf{a}\times(\mathbf{b}\times\mathbf{c})]_i=\varepsilon_{ijk}a_j(\mathbf{b}\times\mathbf{c})_k=\varepsilon_{ijk}a_j\varepsilon_{klm}b_lc_m. Why: replacing each named cross product by an epsilon with fresh dummies turns geometry into pure algebra of subscripts.

Step 2. Bring the shared index to the front of both epsilons by cyclic rotation, εijkεklm=εkijεklm\varepsilon_{ijk}\varepsilon_{klm}=\varepsilon_{kij}\varepsilon_{klm}, and apply the master identity to get δilδjm−δimδjl\delta_{il}\delta_{jm}-\delta_{im}\delta_{jl}. Why: the master identity is stated with the contracted index first, so we rotate ijk→kijijk\to kij (an even permutation) before reading it off.

Step 3. Substitute back and let the deltas rename indices, (δilδjm−δimδjl)ajblcm=bi(ajcj)−ci(ajbj)(\delta_{il}\delta_{jm}-\delta_{im}\delta_{jl})a_jb_lc_m=b_i(a_jc_j)-c_i(a_jb_j). Why: δilbl=bi\delta_{il}b_l=b_i and δjmcm=cj\delta_{jm}c_m=c_j collapse the first term, and the crossed pairing collapses the second — the deltas do all the algebra.

Step 4. Recognise the dummy sums as dot products, ajcj=a⋅ca_jc_j=\mathbf{a}\cdot\mathbf{c} and ajbj=a⋅ba_jb_j=\mathbf{a}\cdot\mathbf{b}, so [⋯ ]i=[b(a⋅c)−c(a⋅b)]i[\cdots]_i=[\mathbf{b}(\mathbf{a}\cdot\mathbf{c})-\mathbf{c}(\mathbf{a}\cdot\mathbf{b})]_i. Why: equality for every free ii is equality of vectors — the BAC–CAB rule.

a×(b×c)=b (a⋅c)−c (a⋅b)\mathbf{a}\times(\mathbf{b}\times\mathbf{c})=\mathbf{b}\,(\mathbf{a}\cdot\mathbf{c})-\mathbf{c}\,(\mathbf{a}\cdot\mathbf{b})

For example, with a=x^, b=y^, c=x^\mathbf{a}=\hat{x},\ \mathbf{b}=\hat{y},\ \mathbf{c}=\hat{x}: the left side gives x^×(y^×x^)=x^×(−z^)=y^\hat{x}\times(\hat{y}\times\hat{x})=\hat{x}\times(-\hat{z})=\hat{y}, and the right side gives y^(x^⋅x^)−x^(x^⋅y^)=y^(1)−x^(0)=y^\hat{y}(\hat{x}\cdot\hat{x})-\hat{x}(\hat{x}\cdot\hat{y})=\hat{y}(1)-\hat{x}(0)=\hat{y} — both sides agree.

Go deeper · Derivation C · 1 minCurl of a curl as grad-div minus Laplacian
Derivation CCurl of a curl as grad-div minus Laplacian

The goal is to establish the identity ∇×(∇×A)=∇(∇⋅A)−∇2A\nabla\times(\nabla\times\mathbf{A})=\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A}, the most-used vector-calculus identity in electromagnetism and elasticity, by the same epsilon machinery — because a curl is just an epsilon contracted with a gradient. The derivation is line-for-line the BAC–CAB computation with aj→∂ja_j\to\partial_j: replacing a vector by the gradient operator turns an algebraic identity into a differential one, provided derivatives commute.

Step 1. Write the ii-th component with two epsilons, one per curl, [∇×(∇×A)]i=εijk∂jεklm∂lAm[\nabla\times(\nabla\times\mathbf{A})]_i=\varepsilon_{ijk}\partial_j\varepsilon_{klm}\partial_lA_m, with ∂j≡∂/∂xj\partial_j\equiv\partial/\partial x_j. Why: the curl (∇×V)i=εijk∂jVk(\nabla\times\mathbf{V})_i=\varepsilon_{ijk}\partial_jV_k is a cross product with the gradient, and the constant ε\varepsilon passes through the derivative untouched.

Step 2. Rotate and contract as before, εijkεklm=δilδjm−δimδjl\varepsilon_{ijk}\varepsilon_{klm}=\delta_{il}\delta_{jm}-\delta_{im}\delta_{jl}, giving (δilδjm−δimδjl)∂j∂lAm(\delta_{il}\delta_{jm}-\delta_{im}\delta_{jl})\partial_j\partial_lA_m. Why: the index structure is identical to BAC–CAB, so the same master identity applies.

Step 3. Apply the deltas, ∂j∂iAj−∂j∂jAi=∂i(∂jAj)−(∂j∂j)Ai\partial_j\partial_iA_j-\partial_j\partial_jA_i=\partial_i(\partial_jA_j)-(\partial_j\partial_j)A_i. Why: the freedom to write ∂j∂i=∂i∂j\partial_j\partial_i=\partial_i\partial_j (mixed partials commute) is what lets the first term become a gradient of a divergence.

Step 4. Identify the operators, ∂jAj=∇⋅A\partial_jA_j=\nabla\cdot\mathbf{A} and ∂j∂j=∇2\partial_j\partial_j=\nabla^2, so [⋯ ]i=[∇(∇⋅A)]i−[∇2A]i[\cdots]_i=[\nabla(\nabla\cdot\mathbf{A})]_i-[\nabla^2\mathbf{A}]_i for every ii. Why: the same ε\varepsilon-antisymmetry gives the companions ∇×∇ϕ=εijk∂j∂kϕ=0\nabla\times\nabla\phi=\varepsilon_{ijk}\partial_j\partial_k\phi=0 and ∇⋅(∇×A)=εijk∂i∂jAk=0\nabla\cdot(\nabla\times\mathbf{A})=\varepsilon_{ijk}\partial_i\partial_jA_k=0 for free.

∇×(∇×A)=∇(∇⋅A)−∇2A\nabla\times(\nabla\times\mathbf{A})=\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A}

The two scalar corollaries hold because antisymmetric εijk\varepsilon_{ijk} contracts symmetric ∂i∂j\partial_i\partial_j to zero; and curl-curl is precisely the operator analogue of BAC–CAB with a,c→∇\mathbf{a},\mathbf{c}\to\nabla, b→A\mathbf{b}\to\mathbf{A}.

Limiting cases

The useful "limits" of an index calculus are its structural reductions — the values contractions take when indices coincide, and the vanishing antisymmetry forces.

CaseResultMeaning
Trace of the deltaδii=3\delta_{ii}=3in nn dimensions δii=n\delta_{ii}=n; forgetting it corrupts every numerical factor
Full contractionεijkεijk=6\varepsilon_{ijk}\varepsilon_{ijk}=6counts the 3!=63!=6 nonzero components, each squared to +1+1
Double contractionεijkεljk=2δil\varepsilon_{ijk}\varepsilon_{ljk}=2\delta_{il}a fast check on the master identity and the source of the factor 22
Single contractionεijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl}the master identity — the reduction all others specialise
Antisymmetric on symmetricεijkSjk=0  (Sjk=Skj)\varepsilon_{ijk}S_{jk}=0\ \ (S_{jk}=S_{kj})the engine behind curl grad=0\mathrm{curl}\,\mathrm{grad}=0 and div curl=0\mathrm{div}\,\mathrm{curl}=0
Delta on epsilonδjkεijk=0\delta_{jk}\varepsilon_{ijk}=0δ\delta forces j=kj=k but ε\varepsilon with a repeated index is zero

Worked examples

1 · Cross product, triple product, and determinant from one symbol (fully worked)

Let a=(1,2,3)\mathbf{a}=(1,2,3), b=(4,5,6)\mathbf{b}=(4,5,6), c=(2,0,1)\mathbf{c}=(2,0,1). Use εijk\varepsilon_{ijk} to compute a×b\mathbf{a}\times\mathbf{b} and the scalar triple product a⋅(b×c)\mathbf{a}\cdot(\mathbf{b}\times\mathbf{c}), and confirm the latter equals the determinant with rows a,b,c\mathbf{a},\mathbf{b},\mathbf{c}.

Step 1. Read off the cross product from (a×b)i=εijkajbk(\mathbf{a}\times\mathbf{b})_i=\varepsilon_{ijk}a_jb_k. The i=1i=1 component keeps only ε123\varepsilon_{123} and ε132\varepsilon_{132}: a2b3−a3b2=12−15=−3a_2b_3-a_3b_2=12-15=-3. Likewise i=2i=2 gives 12−6=612-6=6 and i=3i=3 gives 5−8=−35-8=-3. So a×b=(−3, 6, −3)\mathbf{a}\times\mathbf{b}=(-3,\,6,\,-3).

Step 2. Contract with a\mathbf{a} for the triple product a⋅(b×c)=εijkaibjck\mathbf{a}\cdot(\mathbf{b}\times\mathbf{c})=\varepsilon_{ijk}a_ib_jc_k. First b×c=(5,8,−10)\mathbf{b}\times\mathbf{c}=(5,8,-10), then a⋅(b×c)=1⋅5+2⋅8+3⋅(−10)=5+16−30=−9\mathbf{a}\cdot(\mathbf{b}\times\mathbf{c})=1\cdot5+2\cdot8+3\cdot(-10)=5+16-30=-9.

Step 3. Confirm against det⁡A=εijkA1iA2jA3k\det A=\varepsilon_{ijk}A_{1i}A_{2j}A_{3k} with rows a,b,c\mathbf{a},\mathbf{b},\mathbf{c}: cofactor expansion gives 1(5)−2(4−12)+3(−10)=−91(5)-2(4-12)+3(-10)=-9, so the epsilon formula is the determinant. a×b=(−3,6,−3)\mathbf{a}\times\mathbf{b}=(-3,6,-3), and a⋅(b×c)=det⁡=−9\mathbf{a}\cdot(\mathbf{b}\times\mathbf{c})=\det=-9 — a negative signed volume, so (a,b,c)(\mathbf{a},\mathbf{b},\mathbf{c}) is left-handed.

2 · Lagrange's identity from the master contraction (fully worked)

Prove ∣a×b∣2=∣a∣2∣b∣2−(a⋅b)2|\mathbf{a}\times\mathbf{b}|^2=|\mathbf{a}|^2|\mathbf{b}|^2-(\mathbf{a}\cdot\mathbf{b})^2 with the master identity, then verify it numerically for the vectors of Example 1.

Step 1. Write the squared magnitude as a double epsilon contraction, ∣a×b∣2=εijkεilm ajbkalbm|\mathbf{a}\times\mathbf{b}|^2=\varepsilon_{ijk}\varepsilon_{ilm}\,a_jb_ka_lb_m, where the two cross products share the now-summed index ii.

Step 2. Apply the master identity and let the deltas rename indices: (δjlδkm−δjmδkl)ajbkalbm=ajaj bkbk−ajbj bkak(\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl})a_jb_ka_lb_m=a_ja_j\,b_kb_k-a_jb_j\,b_ka_k. The first term is ∣a∣2∣b∣2|\mathbf{a}|^2|\mathbf{b}|^2, the second (a⋅b)2(\mathbf{a}\cdot\mathbf{b})^2, giving ∣a×b∣2=∣a∣2∣b∣2−(a⋅b)2|\mathbf{a}\times\mathbf{b}|^2=|\mathbf{a}|^2|\mathbf{b}|^2-(\mathbf{a}\cdot\mathbf{b})^2, Lagrange's identity.

Step 3. Check with a=(1,2,3)\mathbf{a}=(1,2,3), b=(4,5,6)\mathbf{b}=(4,5,6). From Example 1, a×b=(−3,6,−3)\mathbf{a}\times\mathbf{b}=(-3,6,-3), so ∣a×b∣2=54|\mathbf{a}\times\mathbf{b}|^2=54. On the right, ∣a∣2=14|\mathbf{a}|^2=14, ∣b∣2=77|\mathbf{b}|^2=77, a⋅b=32\mathbf{a}\cdot\mathbf{b}=32, so 14⋅77−322=1078−1024=5414\cdot77-32^2=1078-1024=54. Both sides equal 5454, and dividing by ∣a∣2∣b∣2|\mathbf{a}|^2|\mathbf{b}|^2 turns the identity into sin⁡2θ=1−cos⁡2θ\sin^2\theta=1-\cos^2\theta. The same epsilon algebra, applied to Li=εijkxjpkL_i=\varepsilon_{ijk}x_jp_k with [xj,pl]=iℏδjl[x_j,p_l]=i\hbar\delta_{jl}, yields [Li,Ll]=iℏ εilkLk[L_i,L_l]=i\hbar\,\varepsilon_{ilk}L_k — so ε\varepsilon is literally the structure constant of so(3)\mathrm{so}(3).

Physics of the portrait

The two symbols carry two names from two centuries. Kronecker attached his to the delta in nineteenth-century work on determinants; Levi-Civita gave his to the antisymmetric symbol through the tensor calculus he built with his teacher — the calculus that became the language of general relativity.

Origins · 1 minTullio Levi-Civita and how this was discovered
TL
Tullio Levi-Civita
1873–1941 · Italian mathematician — the absolute differential calculus behind general relativity

Tullio Levi-Civita was born in Padua in 1873 and studied there under Gregorio Ricci-Curbastro, whose "absolute differential calculus" he extended into the tool that reshaped physics. Their joint 1900 memoir, Méthodes de calcul différentiel absolu et leurs applications, systematised the calculus of tensors — including the antisymmetric symbol that now bears his name — and supplied the covariant machinery Einstein needed as he struggled toward general relativity around 1912–1915, a debt Einstein acknowledged warmly. In 1917 Levi-Civita introduced parallel transport, clarifying the meaning of curvature and turning the antisymmetric symbol into a genuine tensor density on a curved manifold. He held chairs at Padua and then Rome; in 1938 the Fascist racial laws stripped him, as a Jew, of his professorship and academy memberships, and he died in Rome in 1941. The delta's namesake, Leopold Kronecker (1823–1891), was a Berlin algebraist and number theorist whose creed that mathematics be built from the integers could hardly be further from the geometry his delta now serves.

History
1868
— Kronecker uses the delta symbol δ_ij in his lectures on determinants and bilinear forms
1873
— Tullio Levi-Civita is born in Padua
1900
— Ricci-Curbastro and Levi-Civita publish the absolute differential calculus, formalising the antisymmetric symbol
1916
— Einstein adopts the summation convention over repeated indices in his general relativity papers
1917
— Levi-Civita introduces parallel transport, giving the symbol its tensor-density meaning

Going further

Texts. Arfken & Weber, Mathematical Methods for Physicists, 6th ed., §2.9 (Levi-Civita symbol and contraction identities) · Hassani, Mathematical Physics, Ch. 1 and §26 (index notation and tensors) · Stone & Goldbart, Mathematics for Physics, Ch. 1 (vectors and Cartesian tensors) · Nakahara, Geometry, Topology and Physics, 2nd ed., Ch. 5 (the Levi-Civita tensor density on manifolds) · Byron & Fuller, Mathematics of Classical and Quantum Physics, Ch. 1 · Riley, Hobson & Bence, Mathematical Methods for Physics and Engineering, 3rd ed., §26.1 (suffix notation). The core numerical results are self-consistent: δii=3\delta_{ii}=3, εijkεijk=6\varepsilon_{ijk}\varepsilon_{ijk}=6, εijkεijl=2δkl\varepsilon_{ijk}\varepsilon_{ijl}=2\delta_{kl}, and the master identity εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl}. The worked examples are mutually checking: for a=(1,2,3)\mathbf{a}=(1,2,3), b=(4,5,6)\mathbf{b}=(4,5,6), c=(2,0,1)\mathbf{c}=(2,0,1), one finds a×b=(−3,6,−3)\mathbf{a}\times\mathbf{b}=(-3,6,-3) and a⋅(b×c)=det⁡=−9\mathbf{a}\cdot(\mathbf{b}\times\mathbf{c})=\det=-9; and Lagrange's identity gives ∣a×b∣2=54=14⋅77−322|\mathbf{a}\times\mathbf{b}|^2=54=14\cdot77-32^2.

Prerequisites. Scalar and Vector Fields. Leads to. The Del Operator and Vector Differential Identities · Curl of a Vector Field · Divergence of a Vector Field · The Laplacian Operator · Stokes' Theorem.

Ask the tutor: Ask me to run any grad–div–curl identity through the epsilon-delta machine, and I will show you the two-line index proof from start to finish.

What exactly is the Einstein summation convention, and why adopt it?

The convention is a single agreement: an index appearing exactly twice in a term is summed over its range and the summation sign dropped, so aibia_ib_i means ∑i=13aibi\sum_{i=1}^3 a_ib_i. The pay-off is that the notation enforces the algebra — a repeated ("dummy") index must be summed and can be renamed freely, while a single ("free") index labels a component and must match on both sides. A free index that fails to match, or any index appearing three times, is an error the notation will not let you hide. Einstein introduced it in his 1916 general relativity papers, and it is now universal.

What is the difference between a free index and a dummy index?

A dummy index appears twice in a term and is summed; because it is summed away its name carries no meaning and you may rename it freely — aibia_ib_i and akbka_kb_k are the same number. A free index appears exactly once, labels a specific un-summed component, and must appear in every term on both sides. In (a×b)i=εijkajbk(\mathbf{a}\times\mathbf{b})_i=\varepsilon_{ijk}a_jb_k, ii is free ("the ii-th component") while j,kj,k are dummies. Two strict rules follow: never let an index appear more than twice in one term, and never rename a dummy to a letter already used as a free index — both are the commonest index-algebra mistakes.

Why does contracting an antisymmetric symbol with a symmetric one give zero?

Suppose Ajk=−AkjA_{jk}=-A_{kj} is antisymmetric and Sjk=SkjS_{jk}=S_{kj} is symmetric, and form AjkSjkA_{jk}S_{jk} (both indices summed). Relabel the dummies j↔kj\leftrightarrow k: the value is unchanged but becomes AkjSkj=−AjkSjkA_{kj}S_{kj}=-A_{jk}S_{jk}, so the quantity equals its own negative — hence zero. This is the reason εijk∂j∂kϕ=0\varepsilon_{ijk}\partial_j\partial_k\phi=0 (so ∇×∇ϕ=0\nabla\times\nabla\phi=0) and εijk∂i∂jAk=0\varepsilon_{ijk}\partial_i\partial_jA_k=0 (so ∇⋅(∇×A)=0\nabla\cdot(\nabla\times\mathbf{A})=0): the derivatives commute, hence are symmetric, while ε\varepsilon is antisymmetric.

Is the Kronecker delta the same thing as the identity matrix?

Numerically, yes — δij\delta_{ij} is the (i,j)(i,j) entry of the identity matrix. Conceptually it is more flexible: δij\delta_{ij} is an indexed symbol you contract inside expressions, its defining action being to rename or match indices, δijaj=ai\delta_{ij}a_j=a_i and δijδjk=δik\delta_{ij}\delta_{jk}=\delta_{ik}. In an orthonormal Cartesian basis it is also the metric — the table of inner products e^i⋅e^j\hat{\mathbf{e}}_i\cdot\hat{\mathbf{e}}_j — which is why raising and lowering indices does nothing there. The distinction becomes real only when you leave Cartesian frames: then the metric gijg_{ij} replaces δij\delta_{ij}, and the two part ways.

Why is the Levi-Civita symbol called a pseudotensor rather than a tensor?

A rank-three tensor transforms by three factors of the transformation matrix. Feed the constant array εijk\varepsilon_{ijk} through that transformation and the result is the determinant of the transformation times εijk\varepsilon_{ijk}: for a proper rotation the determinant is +1+1 and the array is unchanged, but for a reflection it is −1-1 and the array flips sign, whereas a true tensor would not. That extra sign defines a pseudotensor (a tensor density of weight one). It matters physically because quantities built with ε\varepsilon — angular momentum, torque, magnetic field, vorticity — are pseudovectors that reverse relative to ordinary vectors under a mirror, which is why a spinning top viewed in a mirror appears to spin the "wrong" way.

How does all of this generalise beyond three dimensions?

The Kronecker delta works in any dimension nn, with δii=n\delta_{ii}=n. The Levi-Civita symbol adds indices — in nn dimensions it carries nn of them, εi1⋯in\varepsilon_{i_1\cdots i_n}, totally antisymmetric, +1+1 on 12⋯n12\cdots n; in four-dimensional spacetime εμνρσ\varepsilon_{\mu\nu\rho\sigma} builds the dual field-strength tensor of electromagnetism. The contraction identities generalise but the numbers change: the full contraction is εi1⋯inεi1⋯in=n!\varepsilon_{i_1\cdots i_n}\varepsilon_{i_1\cdots i_n}=n!, so the "66" of three dimensions is really 3!3! — the 3D case is just the most-used member of an infinite family.

Before this

Where this leads