Vector Identities and Product Rules

Sooner or later, every calculation in electrodynamics runs into a derivative of a product. Poynting's theorem — the energy ledger of the electromagnetic field — is one line of physics and one application of ∇⋅(E×B)\nabla\cdot(\mathbf{E}\times\mathbf{B}). The force on a magnetic dipole needs ∇(m⋅B)\nabla(\mathbf{m}\cdot\mathbf{B}). The wave equation itself is born when a double curl gets rewritten. The trouble is that ∇\nabla is a hybrid creature: it is a vector, so it must obey the rules of dots and crosses, and it is a derivative, so it must obey the Leibniz product rule. Neither allegiance can be betrayed, and the six product rules of vector calculus are precisely the treaty terms that keep both sides honest. This page gives you the treaty in two forms. First the working form: the six product rules and the second-derivative identities, organized so you can find the one you need in ten seconds — this is the table stamped inside the front cover of Griffiths and Jackson, and after this chapter you will reach for it weekly. Second, and more valuable, the generating form: index notation with the Levi-Civita symbol, plus the one contraction identity εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl}, which manufactures every identity on the list mechanically. Memorize the master tool and you can lose the table without losing anything. You already know the three first derivatives — gradient, divergence, curl — and what each measures. This page is where they learn to work together, and where you acquire the single most transferable calculational skill of the entire track.

Key takeaways
  • ∇\nabla is simultaneously a vector and a derivative: every product rule enforces the Leibniz rule (differentiate each factor once) while keeping the vector algebra legal.
  • There are six product rules — two gradients (∇(fg)\nabla(fg), ∇(A⋅B)\nabla(\mathbf{A}\cdot\mathbf{B})), two divergences (∇⋅(fA)\nabla\cdot(f\mathbf{A}), ∇⋅(A×B)\nabla\cdot(\mathbf{A}\times\mathbf{B})), two curls (∇×(fA)\nabla\times(f\mathbf{A}), ∇×(A×B)\nabla\times(\mathbf{A}\times\mathbf{B})) — and they are the complete list.
  • The master tool εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl} generates every identity mechanically: expand crosses into epsilons, apply the scalar Leibniz rule, contract.
  • Two identities vanish identically — ∇×(∇f)=0\nabla\times(\nabla f)=\mathbf{0} and ∇⋅(∇×A)=0\nabla\cdot(\nabla\times\mathbf{A})=0 — both because the symmetric ∂i∂j\partial_i\partial_j meets the antisymmetric εijk\varepsilon_{ijk}.
  • The double-curl identity ∇×(∇×A)=∇(∇⋅A)−∇2A\nabla\times(\nabla\times\mathbf{A})=\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A} is the engine of the electromagnetic wave equation.
  • Blind BAC-CAB substitution with ∇\nabla is illegal: ∇\nabla must keep acting on what stands to its right — order matters everywhere.
  • Key idea: treat ∇\nabla as a vector and a derivative at once — Leibniz on each factor, then legal vector algebra (with the epsilon–delta identity) to regroup.
The core insight

Treat ∇\nabla as both a vector and a derivative: apply the Leibniz product rule to differentiate each factor, then use ordinary vector algebra (and εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl}) to regroup the result.

Where this lives today

The epsilon–delta method is no museum piece — it is how field theory is actually computed. Every plasma-physics derivation of magnetic pressure and tension starts from identity (6) applied to ∇×(B×v)\nabla\times(\mathbf{B}\times\mathbf{v}); every fluid-dynamics course rewrites (v⋅∇)v(\mathbf{v}\cdot\nabla)\mathbf{v} with Derivation B to reach Bernoulli's theorem and the vorticity equation; every derivation of the electromagnetic wave equation runs the double-curl identity. In modern computational practice the same identities live inside symbolic-algebra kernels: tensor packages in Mathematica, SymPy and Cadabra verify and generate vector and tensor identities by literally implementing εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl} as a rewrite rule, and automatic differentiation frameworks used in physics-informed machine learning must respect the same product rules when they assemble ∇⋅\nabla\cdot, ∇×\nabla\times operators on neural-network fields. Further up the ladder, the generalization of εijk\varepsilon_{ijk} to four indices builds the duality transformations of relativistic electrodynamics, and in particle physics the same symbol writes down the triple-gluon vertex. Learn the contraction identity once; bill it for decades.

The physical picture

Picture ∇\nabla as a machine with two personalities bolted into one chassis. The derivative personality is greedy and forward-looking: it insists on differentiating everything written to its right, and when it meets a product it demands its Leibniz due — one term for each factor, with the other factor held constant. The vector personality is a stickler for grammar: it has three components like any vector, and it may only ever be dotted or crossed with other vectors; expressions that dot a vector into a scalar are gibberish. A product rule is what survives when both personalities are satisfied simultaneously.

Figure
Del wears two hats — the Leibniz hat splits the product, the vector hat regroups the pieces
∇(A·B) — one input, two demands, one treaty ∇(A·B) derivative hat: Leibniz ∇₁(A·B) + ∇₂(A·B) — hit A, then hit B vector hat: legal algebra only dots and crosses of vectors — regroup with εδ A×(∇×B) + B×(∇×A) + (A·∇)B + (B·∇)A

Why should you believe there is always a clean answer? Because at the level of components nothing mysterious is happening at all. The ii-th component of any of these expressions is a sum of ordinary products of ordinary functions, and the ordinary scalar product rule ∂i(uv)=u ∂iv+v ∂iu\partial_i(uv) = u\,\partial_i v + v\,\partial_i u handles it. The entire drama of the vector identities is bookkeeping: cross products hide Levi-Civita symbols, and after the Leibniz step you must recognize which vector structure the surviving indices spell out. The epsilon–delta contraction identity is the decoder ring for that last step. Once you have used it five times, "derive the identity" becomes a two-minute mechanical task rather than an act of memory. The deepest entries in the table are the two that vanish. The curl of any gradient is zero; the divergence of any curl is zero. Both are the same theorem in disguise: each expression contracts the symmetric array of second derivatives ∂i∂j\partial_i\partial_j (symmetric because mixed partials commute) against the totally antisymmetric symbol εijk\varepsilon_{ijk}, and a symmetric object summed against an antisymmetric one is always zero — term by term, everything cancels in pairs. These two zeros are structural, not accidental, and the whole potential formulation of electrodynamics (VV exists because curl-grad =0=0; A\mathbf{A} exists because div-curl =0=0) stands on them.

Figure
Why two identities vanish — symmetric second derivatives meet the antisymmetric epsilon and cancel in pairs
∂ᵢ∂ⱼ — symmetric ∂₁∂₁ ∂₁∂₂ ∂₂∂₁ ∂₂∂₂ mirror-equal across the diagonal × εᵢⱼₖ — antisymmetric 0 +ε −ε 0 mirror-opposite across the diagonal sum over both indices: (+ε)(∂₁∂₂) + (−ε)(∂₂∂₁) = 0, pair by pair this single cancellation is the whole proof of ∇×(∇f)=0 and ∇·(∇×A)=0

The identity table, organized for retrieval

Here is the complete working set. There are exactly six product rules because there are exactly six meaningful products to differentiate: ∇\nabla can act as a gradient on the two kinds of scalar product (fgfg and A⋅B\mathbf{A}\cdot\mathbf{B}), as a divergence on the two kinds of vector product (fAf\mathbf{A} and A×B\mathbf{A}\times\mathbf{B}), and as a curl on the same two.

∇(fg)=f ∇g+g ∇f(1)\nabla(fg) = f\,\nabla g + g\,\nabla f \tag{1}

where: this is the pure Leibniz rule, no vector subtleties — differentiate each scalar factor in turn. Every other rule is this skeleton dressed in vector clothing.

∇(A⋅B)=A×(∇×B)+B×(∇×A)+(A⋅∇)B+(B⋅∇)A(2)\nabla(\mathbf{A}\cdot\mathbf{B}) = \mathbf{A}\times(\nabla\times\mathbf{B}) + \mathbf{B}\times(\nabla\times\mathbf{A}) + (\mathbf{A}\cdot\nabla)\mathbf{B} + (\mathbf{B}\cdot\nabla)\mathbf{A} \tag{2}

where: the ugliest of the six, and the price of asking a gradient to act on a dot product. The operator (A⋅∇)(\mathbf{A}\cdot\nabla) is a directional derivative — the rate of change along A\mathbf{A}, applied to each component of what follows. You will meet (2) most often in its self-product special case ∇(12A2)\nabla(\tfrac12 A^2), derived below, which is how the magnetic force law gets rewritten.

∇⋅(fA)=f (∇⋅A)+A⋅(∇f)(3)\nabla\cdot(f\mathbf{A}) = f\,(\nabla\cdot\mathbf{A}) + \mathbf{A}\cdot(\nabla f) \tag{3}

where: the workhorse. In electrostatics with f=Vf=V and A=E\mathbf{A}=\mathbf{E} it powers the field-energy derivation; in every integration by parts you do this year, (3) is the step that moves the derivative from one factor to the other.

∇⋅(A×B)=B⋅(∇×A)−A⋅(∇×B)(4)\nabla\cdot(\mathbf{A}\times\mathbf{B}) = \mathbf{B}\cdot(\nabla\times\mathbf{A}) - \mathbf{A}\cdot(\nabla\times\mathbf{B}) \tag{4}

where: the minus sign is the fingerprint of the cross product's antisymmetry, and this identity is pure physics fuel: with A=E\mathbf{A}=\mathbf{E} and B=B\mathbf{B}=\mathbf{B} it becomes Poynting's theorem, the statement of energy conservation for the electromagnetic field. Derived in full below.

∇×(fA)=f (∇×A)−A×(∇f)(5)\nabla\times(f\mathbf{A}) = f\,(\nabla\times\mathbf{A}) - \mathbf{A}\times(\nabla f) \tag{5}

where: note the minus sign (some books write +(∇f)×A+(\nabla f)\times\mathbf{A}, the same thing). Used constantly in magnetostatics and radiation, e.g. peeling scalar prefactors off vector potentials.

∇×(A×B)=(B⋅∇)A−(A⋅∇)B+A (∇⋅B)−B (∇⋅A)(6)\nabla\times(\mathbf{A}\times\mathbf{B}) = (\mathbf{B}\cdot\nabla)\mathbf{A} - (\mathbf{A}\cdot\nabla)\mathbf{B} + \mathbf{A}\,(\nabla\cdot\mathbf{B}) - \mathbf{B}\,(\nabla\cdot\mathbf{A}) \tag{6}

where: four terms, because Leibniz doubles the two-term BAC-CAB skeleton. This one drives the magnetic pressure/tension decomposition in plasma physics and appears whenever fields are advected by flows. The second-derivative layer sits on top. The two zeros and the double-curl:

∇×(∇f)=0,∇⋅(∇×A)=0,∇×(∇×A)=∇(∇⋅A)−∇2A(7)\nabla\times(\nabla f)=\mathbf{0}, \qquad \nabla\cdot(\nabla\times\mathbf{A})=0, \qquad \nabla\times(\nabla\times\mathbf{A}) = \nabla(\nabla\cdot\mathbf{A}) - \nabla^2\mathbf{A} \tag{7}

where: the two vanishing identities are the symmetric-meets-antisymmetric cancellation drawn above, and the double-curl identity — derived by exactly the epsilon–delta machinery of this page, with the full worked proof living in the del-operator article — is what turns Maxwell's curl equations into the wave equation: for ∇⋅A=0\nabla\cdot\mathbf{A}=0 it collapses to −∇2A-\nabla^2\mathbf{A}, handing you the Laplacian that propagates light. Which identity when:

you facereach fortypical payoff
∇⋅\nabla\cdot or ∇×\nabla\times of (scalar)·(vector)(3) or (5)integration by parts; peeling prefactors
∇⋅(A×B)\nabla\cdot(\mathbf{A}\times\mathbf{B})(4)Poynting's theorem, angular-momentum flux
∇(A⋅B)\nabla(\mathbf{A}\cdot\mathbf{B}) or ∇(A2)\nabla(A^2)(2)dipole forces, (v⋅∇)v(\mathbf{v}\cdot\nabla)\mathbf{v} in fluids
∇×(A×B)\nabla\times(\mathbf{A}\times\mathbf{B})(6)advection, magnetic pressure/tension
double curl(7) rightthe wave equation
"does a potential exist?"(7) left pairVV from curl-free, A\mathbf{A} from divergence-free
Derivation ADivergence of a cross product — the epsilon–delta machine on full display

We derive identity (4), ∇⋅(A×B)=B⋅(∇×A)−A⋅(∇×B)\nabla\cdot(\mathbf{A}\times\mathbf{B})=\mathbf{B}\cdot(\nabla\times\mathbf{A})-\mathbf{A}\cdot(\nabla\times\mathbf{B}), entirely in index notation. The strategy is the universal three-step: expand the cross product into a Levi-Civita symbol, apply the ordinary scalar Leibniz rule to the product of components, then read the surviving index patterns back as curls. We choose this identity for the full treatment because it is the shortest derivation that displays every move you will ever need, and because its payoff — Poynting's theorem — is the single most important energy statement in the subject. Watch how the minus sign is manufactured by the antisymmetry of εijk\varepsilon_{ijk}, not by any sign convention.

Step 1. Write the expression in components. The cross product is (A×B)i=εijkAjBk(\mathbf{A}\times\mathbf{B})_i = \varepsilon_{ijk}A_jB_k (summation over repeated indices), so

∇⋅(A×B)=∂i(εijkAjBk)=εijk ∂i(AjBk)\nabla\cdot(\mathbf{A}\times\mathbf{B}) = \partial_i\big(\varepsilon_{ijk}A_jB_k\big) = \varepsilon_{ijk}\,\partial_i(A_jB_k)

Why can εijk\varepsilon_{ijk} slide through the derivative? Its entries are constants (0,±10,\pm1); only the field components depend on position.

Step 2. Apply the scalar Leibniz rule to the product of components:

εijk ∂i(AjBk)=εijk (∂iAj)Bk+εijkAj (∂iBk)\varepsilon_{ijk}\,\partial_i(A_jB_k) = \varepsilon_{ijk}\,(\partial_iA_j)B_k + \varepsilon_{ijk}A_j\,(\partial_iB_k)

Why is this step trivial here but treacherous in vector notation? Because AjA_j and BkB_k are just functions — numbers at each point — so ordinary calculus applies. All the vector-ness has been quarantined inside εijk\varepsilon_{ijk}.

Step 3. Recognize the curls. In the first term, group εijk∂iAj\varepsilon_{ijk}\partial_iA_j. Cycle the indices of the epsilon (εijk=εkij\varepsilon_{ijk}=\varepsilon_{kij}, cyclic permutations are free) to get εkij∂iAj=(∇×A)k\varepsilon_{kij}\partial_iA_j = (\nabla\times\mathbf{A})_k. The first term is therefore Bk(∇×A)k=B⋅(∇×A)B_k(\nabla\times\mathbf{A})_k = \mathbf{B}\cdot(\nabla\times\mathbf{A}).

Step 4. Manufacture the minus sign. In the second term, group εijk∂iBk\varepsilon_{ijk}\partial_iB_k. To spell a curl we need the index order (j;i,k)(j; i, k): swap two indices, εijk=−εjik\varepsilon_{ijk} = -\varepsilon_{jik}, so εijk∂iBk=−εjik∂iBk=−(∇×B)j\varepsilon_{ijk}\partial_iB_k = -\varepsilon_{jik}\partial_iB_k = -(\nabla\times\mathbf{B})_j. The second term is −Aj(∇×B)j=−A⋅(∇×B)-A_j(\nabla\times\mathbf{B})_j = -\mathbf{A}\cdot(\nabla\times\mathbf{B}). Assembling:

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

Why remember the route rather than the result? Because the same three moves — epsilon expansion, scalar Leibniz, index regrouping (with the contraction identity εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl} when two epsilons appear) — derive all six product rules and the double-curl identity. One method, eight results. Verified: take A=(0,0,x)\mathbf{A}=(0,0,x) and B=(0,y,0)\mathbf{B}=(0,y,0). Then A×B=(−xy, 0, 0)\mathbf{A}\times\mathbf{B}=(-xy,\,0,\,0), so the left side is ∂x(−xy)=−y\partial_x(-xy)=-y. On the right, ∇×A=(0,−1,0)\nabla\times\mathbf{A}=(0,-1,0) gives B⋅(∇×A)=−y\mathbf{B}\cdot(\nabla\times\mathbf{A})=-y, while ∇×B=0\nabla\times\mathbf{B}=\mathbf{0} kills the second term. Both sides equal −y-y. ✓ The identity also matches Griffiths front-cover rule (6).

Go deeper · Derivation B · 1 minGradient of a self dot product — where the convective derivative is born
Derivation BGradient of a self dot product — where the convective derivative is born

We derive the self-product special case of identity (2): ∇(12A2)=(A⋅∇)A+A×(∇×A)\nabla\big(\tfrac12 A^2\big) = (\mathbf{A}\cdot\nabla)\mathbf{A} + \mathbf{A}\times(\nabla\times\mathbf{A}), where A2=A⋅AA^2 = \mathbf{A}\cdot\mathbf{A}. The strategy: work on the ii-th component, use the scalar Leibniz rule, then add and subtract the term that completes a curl — the one genuinely clever move in this business. This identity matters because with A=v\mathbf{A}=\mathbf{v} (a flow field) it converts the fluid acceleration (v⋅∇)v(\mathbf{v}\cdot\nabla)\mathbf{v} into a kinetic-energy gradient plus a vorticity term — the backbone of Bernoulli's theorem — and with A=B\mathbf{A}=\mathbf{B} it splits magnetic forces into pressure and tension.

Step 1. Component form and Leibniz. The ii-th component of the left side is

∂i(12AjAj)=Aj ∂iAj\partial_i\big(\tfrac12 A_jA_j\big) = A_j\,\partial_iA_j

Why no factor of 2? Leibniz gives two identical terms, 12(Aj∂iAj+Aj∂iAj)\tfrac12(A_j\partial_iA_j + A_j\partial_iA_j); the half eats the two.

Step 2. Add and subtract the completing term Aj∂jAiA_j\partial_jA_i:

Aj ∂iAj=Aj (∂iAj−∂jAi)+Aj ∂jAiA_j\,\partial_iA_j = A_j\,(\partial_iA_j - \partial_jA_i) + A_j\,\partial_jA_i

Why this particular term? Because the antisymmetric combination ∂iAj−∂jAi\partial_iA_j-\partial_jA_i is exactly the structure a curl carries, and the leftover Aj∂jAiA_j\partial_jA_i is exactly [(A⋅∇)A]i[(\mathbf{A}\cdot\nabla)\mathbf{A}]_i — both target structures appear at once.

Step 3. Identify the curl in the antisymmetric piece. Using (∇×A)k=εklm∂lAm(\nabla\times\mathbf{A})_k = \varepsilon_{klm}\partial_lA_m and the contraction identity εijkεklm=δilδjm−δimδjl\varepsilon_{ijk}\varepsilon_{klm} = \delta_{il}\delta_{jm}-\delta_{im}\delta_{jl}, expand [A×(∇×A)]i[\mathbf{A}\times(\nabla\times\mathbf{A})]_i:

[A×(∇×A)]i=εijkAj(∇×A)k=εijkεklmAj∂lAm=Aj ∂iAj−Aj ∂jAi[\mathbf{A}\times(\nabla\times\mathbf{A})]_i = \varepsilon_{ijk}A_j(\nabla\times\mathbf{A})_k = \varepsilon_{ijk}\varepsilon_{klm}A_j\partial_lA_m = A_j\,\partial_iA_j - A_j\,\partial_jA_i

Why do the deltas produce exactly two terms? The contraction identity always yields a "straight-through" term (indices matched in order: δilδjm\delta_{il}\delta_{jm}) minus a "crossed" term (δimδjl\delta_{im}\delta_{jl}) — the algebraic shadow of BAC minus CAB.

Step 4. Assemble. Step 2's right side is precisely Step 3's result plus the convective term:

∇(12A2)=A×(∇×A)+(A⋅∇)A\nabla\big(\tfrac12 A^2\big) = \mathbf{A}\times(\nabla\times\mathbf{A}) + (\mathbf{A}\cdot\nabla)\mathbf{A}

Rearranged as (A⋅∇)A=∇(12A2)−A×(∇×A)(\mathbf{A}\cdot\nabla)\mathbf{A} = \nabla(\tfrac12A^2) - \mathbf{A}\times(\nabla\times\mathbf{A}), this is the form fluid dynamics and magnetohydrodynamics quote: convection splits into an energy-gradient push and a rotation-coupled force. Verified: for the rigid-rotation field A=(−y,x,0)\mathbf{A}=(-y,x,0): 12A2=12(x2+y2)\tfrac12A^2=\tfrac12(x^2+y^2), LHS =(x,y,0)=(x,y,0). RHS: ∇×A=(0,0,2)\nabla\times\mathbf{A}=(0,0,2), so A×(∇×A)=(−y,x,0)×(0,0,2)=(2x,2y,0)\mathbf{A}\times(\nabla\times\mathbf{A})=(-y,x,0)\times(0,0,2)=(2x,2y,0); (A⋅∇)A=(−y∂x+x∂y)(−y,x,0)=(−x,−y,0)(\mathbf{A}\cdot\nabla)\mathbf{A}=(-y\partial_x+x\partial_y)(-y,x,0)=(-x,-y,0). Sum =(x,y,0)=(x,y,0). ✓ Matches Griffiths front-cover rule (2) specialized to B=A\mathbf{B}=\mathbf{A}.

Limiting cases

caseresultmeaning
constant scalar g=cg=c∇(cf)=c ∇f\nabla(cf)=c\,\nabla fproduct rules contain linearity as the trivial case
constant vector c\mathbf{c}∇⋅(fc)=(∇f)⋅c\nabla\cdot(f\mathbf{c})=(\nabla f)\cdot\mathbf{c}derivative terms on the constant factor die
∇⋅A=0\nabla\cdot\mathbf{A}=0 (Coulomb gauge)∇×(∇×A)=−∇2A\nabla\times(\nabla\times\mathbf{A})=-\nabla^2\mathbf{A}double curl collapses to the vector Laplacian — the wave equation's engine
B=A\mathbf{B}=\mathbf{A} in (2)∇(12A2)=(A⋅∇)A+A×(∇×A)\nabla(\tfrac12A^2)=(\mathbf{A}\cdot\nabla)\mathbf{A}+\mathbf{A}\times(\nabla\times\mathbf{A})Bernoulli / magnetic pressure–tension split
irrotational A\mathbf{A} in Derivation B(A⋅∇)A=∇(12A2)(\mathbf{A}\cdot\nabla)\mathbf{A}=\nabla(\tfrac12A^2)curl-free convection is a pure energy gradient
any ff, any A\mathbf{A}∇×(∇f)=0\nabla\times(\nabla f)=\mathbf{0}, ∇⋅(∇×A)=0\nabla\cdot(\nabla\times\mathbf{A})=0the structural zeros — no exceptions, ever

Worked examples

1 · Auditing the divergence product rule (confidence builder)

Verify identity (3), ∇⋅(fA)=f(∇⋅A)+A⋅(∇f)\nabla\cdot(f\mathbf{A}) = f(\nabla\cdot\mathbf{A}) + \mathbf{A}\cdot(\nabla f), for f=xy2f = xy^2 and A=x x^+z z^\mathbf{A} = x\,\hat{\mathbf{x}} + z\,\hat{\mathbf{z}}, at the point P=(2, 3, 1)P=(2,\,3,\,1).

Step 1. Left side directly. fA=x2y2 x^+xy2z z^f\mathbf{A} = x^2y^2\,\hat{\mathbf{x}} + xy^2z\,\hat{\mathbf{z}}, so ∇⋅(fA)=∂x(x2y2)+∂z(xy2z)=2xy2+xy2=3xy2\nabla\cdot(f\mathbf{A}) = \partial_x(x^2y^2) + \partial_z(xy^2z) = 2xy^2 + xy^2 = 3xy^2. At PP: 3⋅2⋅9=543\cdot2\cdot9 = 54.

Step 2. Right side, first term. ∇⋅A=∂x(x)+∂z(z)=2\nabla\cdot\mathbf{A} = \partial_x(x) + \partial_z(z) = 2, so f(∇⋅A)=2xy2f(\nabla\cdot\mathbf{A}) = 2xy^2. At PP: 2⋅2⋅9=362\cdot2\cdot9 = 36.

Step 3. Right side, second term. ∇f=(y2, 2xy, 0)\nabla f = (y^2,\ 2xy,\ 0), so A⋅∇f=x⋅y2+z⋅0=xy2\mathbf{A}\cdot\nabla f = x\cdot y^2 + z\cdot0 = xy^2. At PP: 2⋅9=182\cdot9 = 18.

Step 4. Assemble: 36+18=5436 + 18 = 54. ✓ Both routes agree everywhere (3xy23xy^2 identically), and the audit shows the anatomy: the field's own spreading contributes 2xy22xy^2, the scalar's growth along the field contributes xy2xy^2.

Answer: both sides equal 3xy23xy^2, i.e. 5454 at (2,3,1)(2,3,1) — the rule splits the total into "field spreading" (3636) plus "scalar climbing" (1818).

2 · A Poynting-style energy audit (exam level)

In a region of space, take the static fields E=E0 x^\mathbf{E} = E_0\,\hat{\mathbf{x}} with E0=120E_0 = 120 V/m (uniform) and B=βx y^\mathbf{B} = \beta x\,\hat{\mathbf{y}} with β=5.0×10−4\beta = 5.0\times10^{-4} T/m. Compute ∇⋅(E×B)\nabla\cdot(\mathbf{E}\times\mathbf{B}) both directly and via identity (4), and interpret.

Step 1. Direct route. E×B=E0βx (x^×y^)=E0βx z^\mathbf{E}\times\mathbf{B} = E_0\beta x\,(\hat{\mathbf{x}}\times\hat{\mathbf{y}}) = E_0\beta x\,\hat{\mathbf{z}}. Its divergence: ∇⋅(E0βx z^)=∂z(E0βx)=0\nabla\cdot(E_0\beta x\,\hat{\mathbf{z}}) = \partial_z(E_0\beta x) = 0.

Step 2. Identity route. ∇×E=0\nabla\times\mathbf{E} = \mathbf{0} (uniform field), so the first term B⋅(∇×E)=0\mathbf{B}\cdot(\nabla\times\mathbf{E}) = 0. For the second: ∇×B=∇×(βx y^)=β (x^×y^)⋅\nabla\times\mathbf{B} = \nabla\times(\beta x\,\hat{\mathbf{y}}) = \beta\,(\hat{\mathbf{x}}\times\hat{\mathbf{y}})\cdot... compute honestly by components: (∇×B)z=∂xBy−∂yBx=β(\nabla\times\mathbf{B})_z = \partial_x B_y - \partial_y B_x = \beta, other components zero. So ∇×B=β z^\nabla\times\mathbf{B} = \beta\,\hat{\mathbf{z}} and A→E\mathbf{A}\to\mathbf{E} gives E⋅(∇×B)=E0 x^⋅β z^=0\mathbf{E}\cdot(\nabla\times\mathbf{B}) = E_0\,\hat{\mathbf{x}}\cdot\beta\,\hat{\mathbf{z}} = 0.

Step 3. Assemble: ∇⋅(E×B)=0−0=0\nabla\cdot(\mathbf{E}\times\mathbf{B}) = 0 - 0 = 0. ✓ Both routes agree. Numerically the Poynting-type vector itself is not zero — at x=2.0x = 2.0 m it is E0βx=120×5.0×10−4×2.0=0.12E_0\beta x = 120 \times 5.0\times10^{-4}\times 2.0 = 0.12 V·T =0.12= 0.12 T·V/m pointing along z^\hat{\mathbf{z}} (divide by μ0\mu_0 to make it a power flux: 0.12/(4π×10−7)≈9.5×1040.12/(4\pi\times10^{-7}) \approx 9.5\times10^{4} W/m²) — but its divergence vanishes, so this energy current flows through every volume without depositing anything.

Step 4. Interpret with the identity. Identity (4) says energy deposition ∇⋅(E×B)\nabla\cdot(\mathbf{E}\times\mathbf{B}) is fed by two circulation couplings: B\mathbf{B} riding the curl of E\mathbf{E} (Faraday coupling) and E\mathbf{E} riding the curl of B\mathbf{B} (Ampère coupling, i.e. currents). Here the first vanishes because E\mathbf{E} is uniform and the second because E⊥∇×B\mathbf{E}\perp\nabla\times\mathbf{B} — the current that sources this B\mathbf{B} flows along z^\hat{\mathbf{z}}, perpendicular to E\mathbf{E}, so no work is done. The identity did not just check the arithmetic; it named the physics.

Answer: ∇⋅(E×B)=0\nabla\cdot(\mathbf{E}\times\mathbf{B}) = 0 by both routes; energy flux ≈9.5×104\approx 9.5\times10^{4} W/m² at x=2x=2 m flows without divergence because neither curl coupling does work.

Origins · 1 minTullio Levi-Civita and how this was discovered
TL
Tullio Levi-Civita
1873–1941 · Padua and Rome

The symbol that mechanizes this whole page carries the name of a mathematician who was mild in manner and radical in method. Levi-Civita, student of Ricci-Curbastro in Padua, co-created the "absolute differential calculus" — what we now call tensor calculus — turning index bookkeeping into a machine that handles curved spaces as easily as flat ones. When Einstein was stuck turning his physical intuition of curved spacetime into equations, it was the Ricci–Levi-Civita calculus he learned (with, as he admitted, "great respect mixed with fear") to finish general relativity; the two men exchanged a famous series of increasingly warm letters as Levi-Civita corrected Einstein's variational arguments in 1915. The totally antisymmetric εijk\varepsilon_{ijk} is the three-dimensional shadow of that machinery, and the contraction identity εε=δδ−δδ\varepsilon\varepsilon=\delta\delta-\delta\delta is its most-used gear. Dismissed from his Rome chair in 1938 by the fascist racial laws, he died three years later; the calculus he built runs every general-relativity code and every vector identity in this book.

History
1773
— Lagrange manipulates component identities equivalent to modern product rules in celestial mechanics, decades before vectors exist as objects
1881
— Gibbs's privately printed Elements of Vector Analysis establishes the dot/cross notation and the identity toolkit physicists still use
1893
— Heaviside, reworking Maxwell's twenty quaternion equations into four vector ones, makes the product rules the daily grammar of electromagnetic theory
1900
— Ricci and Levi-Civita publish the absolute differential calculus; the epsilon symbol and index methods enter mathematics as systematic machinery
1915
— Einstein, coached through the tensor calculus by Levi-Civita's correspondence, completes general relativity — index notation's greatest vindication

Going further

References. Griffiths, Introduction to Electrodynamics, 4th ed., §1.2.6 (Product Rules) and front-cover identity list · Jackson, Classical Electrodynamics, 3rd ed., inside front cover (vector formulas) · Purcell & Morin, Electricity and Magnetism, 3rd ed., Appendix (vector calculus) · Zangwill, Modern Electrodynamics, §1.2 (vector calculus review) · Arfken, Weber & Harris, Mathematical Methods for Physicists, 7th ed., Ch. 3

Provenance. All six product rules and the second-derivative identities match Griffiths Introduction to Electrodynamics 4th ed. front-cover list and §1.2.6, and Jackson 3rd ed. inside-front-cover formulas. A verifier should: (1) reproduce the double-curl derivation via εijkεklm=δilδjm−δimδjl\varepsilon_{ijk}\varepsilon_{klm}=\delta_{il}\delta_{jm}-\delta_{im}\delta_{jl}; (2) confirm ∇⋅(A×B)\nabla\cdot(\mathbf A\times\mathbf B) and ∇(12A2)\nabla(\tfrac12 A^2) derivations; (3) check the constant-factor limits reduce to linearity. The Levi-Civita contraction identity is standard (Arfken, Weber & Harris Ch. 3). No numerical constants are asserted beyond the universal vacuum relation μ0ε0=1/c2\mu_0\varepsilon_0=1/c^2 used illustratively. Worked-example numbers on this page (54=36+1854=36+18 at (2,3,1)(2,3,1); ∇×B=βz^\nabla\times\mathbf{B}=\beta\hat{\mathbf{z}} with flux ≈9.5×104\approx9.5\times10^4 W/m² at x=2x=2 m) are illustrative arithmetic recomputed from the boxed identities.

Builds on: The Del Operator (Nabla) · The Gradient · The Divergence of a Vector Field · The Curl of a Vector Field · Scalar and Vector Fields Leads to: Second Derivatives and the Laplacian · The Divergence (Gauss) Theorem · The Curl (Stokes) Theorem

Do I need to memorize all six product rules?

Memorize two things instead: the shapes of rules (3) and (5) (scalar-times-vector, which you will use daily), and the epsilon–delta method that regenerates everything else. Most working physicists keep (1), (3), (5) in their heads, remember that (4) has a minus sign "because cross products are antisymmetric," and re-derive or look up (2) and (6) on the rare occasions they need all the terms. What you must never do is guess a rule by analogy — the pitfall box shows how that goes wrong. If an exam bans formula sheets, invest your memory in εijkεilm=δjlδkm−δjmδkl\varepsilon_{ijk}\varepsilon_{ilm}=\delta_{jl}\delta_{km}-\delta_{jm}\delta_{kl}: it is one line and it manufactures the rest.

What does the operator (A·∇) actually do — it looks like a dot product with nothing to act on?

It is a scalar differential operator waiting for a victim: (A⋅∇)=Ax∂x+Ay∂y+Az∂z(\mathbf{A}\cdot\nabla) = A_x\partial_x + A_y\partial_y + A_z\partial_z. Handed a scalar ff, it returns the directional derivative A⋅(∇f)\mathbf{A}\cdot(\nabla f) — the rate of change of ff along A\mathbf{A}, times ∣A∣|\mathbf{A}|. Handed a vector B\mathbf{B}, it acts on each Cartesian component separately: [(A⋅∇)B]i=Aj∂jBi[(\mathbf{A}\cdot\nabla)\mathbf{B}]_i = A_j\partial_jB_i. In fluid dynamics with A=v\mathbf{A}=\mathbf{v} it is the convective derivative — the change a drifting observer sees. Note the order matters: (A⋅∇)(\mathbf{A}\cdot\nabla) is a finished scalar operator, while A(∇⋅ )\mathbf{A}(\nabla\cdot\ ) is a completely different animal.

Why are there exactly six product rules — could there be a seventh?

Count the possibilities. A product of two fields is either scalar·scalar (fgfg), scalar·vector (fAf\mathbf{A}), dot (A⋅B\mathbf{A}\cdot\mathbf{B}), or cross (A×B\mathbf{A}\times\mathbf{B}). The first and third are scalars, so only ∇\nabla (gradient) can act on them: two rules. The second and fourth are vectors, so ∇⋅\nabla\cdot and ∇×\nabla\times can each act: four rules. Total six, with no room for a seventh — any other combination (like "the curl of a scalar") is grammatically illegal. This closed-list property is why the front cover of Griffiths can promise completeness.

Is the summation convention doing something deep, or is it just laziness about sigma signs?

Operationally it is notation: repeated indices are summed, AjBjA_jB_j means ∑j=13AjBj\sum_{j=1}^{3}A_jB_j. But it enforces a deep grammar as a side effect: a free index (appearing once) must match on both sides of an equation — that is what makes an expression a vector component; a dummy index (appearing twice) is summed away and can be renamed freely; an index appearing three times is an error, full stop. Much of "checking an identity" is just auditing this grammar, and the convention makes illegal expressions look wrong at a glance. Einstein called it his greatest contribution to mathematics — a joke, but only half of one.

When I look up identities in different books the signs seem to differ — for example the curl of fA. Who is right?

Everyone; check the order of factors. Griffiths writes ∇×(fA)=f(∇×A)−A×(∇f)\nabla\times(f\mathbf{A}) = f(\nabla\times\mathbf{A}) - \mathbf{A}\times(\nabla f); other books write +(∇f)×A+(\nabla f)\times\mathbf{A}. Since u×v=−v×u\mathbf{u}\times\mathbf{v}=-\mathbf{v}\times\mathbf{u}, these are identical. The same reshuffle explains most apparent discrepancies in (2), (4) and (6). The one sign you can trust unconditionally: the relative minus between the two terms in ∇⋅(A×B)\nabla\cdot(\mathbf{A}\times\mathbf{B}), which no legal rewriting can remove — it is the physical asymmetry that makes Poynting's theorem a conservation law rather than a production law.

Why does the double-curl identity get so much attention compared to the others?

Because it is the birth certificate of light. Take Faraday's law, apply ∇×\nabla\times to both sides, and the left side becomes ∇×(∇×E)\nabla\times(\nabla\times\mathbf{E}). The identity trades that for ∇(∇⋅E)−∇2E\nabla(\nabla\cdot\mathbf{E})-\nabla^2\mathbf{E}; in vacuum the first term dies (no charge), Ampère–Maxwell replaces the right side, and out drops ∇2E=μ0ε0 ∂2E/∂t2\nabla^2\mathbf{E}=\mu_0\varepsilon_0\,\partial^2\mathbf{E}/\partial t^2 — a wave moving at 1/μ0ε0=c1/\sqrt{\mu_0\varepsilon_0}=c. The same move in Coulomb gauge gives the equation the photon field obeys. The full index-notation proof of the identity is worked in the del-operator article; this page's Derivation A teaches you the identical machinery on a shorter example.

What is the honest meaning of the "vector Laplacian" in the double-curl identity — is it just the scalar Laplacian three times?

Only in Cartesian coordinates. There, [∇2A]i=∇2(Ai)[\nabla^2\mathbf{A}]_i = \nabla^2(A_i): three independent scalar Laplacians, one per component. In curvilinear coordinates the unit vectors themselves twist with position, and ∇2A\nabla^2\mathbf{A} picks up extra terms coupling the components — in cylindrical coordinates, for instance, [∇2A]s≠∇2(As)[\nabla^2\mathbf{A}]_s \ne \nabla^2(A_s). The definition that stays true everywhere is the rearranged double-curl identity itself: ∇2A≡∇(∇⋅A)−∇×(∇×A)\nabla^2\mathbf{A} \equiv \nabla(\nabla\cdot\mathbf{A}) - \nabla\times(\nabla\times\mathbf{A}). When in a non-Cartesian system, compute the right side; never naively Laplace the components.

Are these identities still true in special relativity and quantum mechanics, or do they get corrected?

They are exact mathematical identities about derivatives in three-dimensional space, so nothing physical can "correct" them — any theory using 3D vector fields obeys them wholesale. What changes upstream is the cast: relativity repackages E\mathbf{E} and B\mathbf{B} into a four-tensor FμνF_{\mu\nu}, where the analogous identities use the four-dimensional epsilon εμνρσ\varepsilon^{\mu\nu\rho\sigma} (the Bianchi identity ∂[μFνρ]=0\partial_{[\mu}F_{\nu\rho]}=0 plays the role of our two zeros), and quantum mechanics differentiates operator-valued fields, where ordering matters for a new reason — operators may not commute. The three-step method — expand, Leibniz, contract — survives every one of these upgrades intact.

Before this

Where this leads