The Del Operator and Vector Differential Identities

The del operator ∇\nabla is the single most economical device in vector calculus: pack the three partial derivatives (∂x,∂y,∂z)(\partial_x,\partial_y,\partial_z) into one symbolic arrow, and that arrow generates the gradient of a scalar, the divergence and curl of a vector, and — applied twice — the Laplacian and the whole family of second-order differential identities. The economy is not cosmetic. It reflects a structural fact, later made precise by the exterior derivative on differential forms: gradient, divergence and curl are three faces of one operation acting on objects of different degree, and the "vanishing identities" say that applying that operation twice gives nothing. The power of ∇\nabla comes from a dual reading that must be honoured at every step. Algebraically it behaves like a vector, so the machinery of dot products, cross products, the scalar triple product and the BAC–CAB expansion carries over verbatim — that is what lets us predict an identity before proving it. But each component is a derivative, so ∇\nabla also obeys the Leibniz product rule and, crucially, does not commute with the fields it acts on: the position of ∇\nabla in a product is meaningful. The art of the subject is applying the vector-algebra template for the structure of an identity and the product rule for the distribution of the differentiation. From this one device flow two celebrated zeros — the curl of any gradient and the divergence of any curl — both traceable to the same "symmetric contracted with antisymmetric" cancellation, and one survivor, the curl of a curl, which does not vanish and which seeds every wave equation in physics.

Key takeaways
  • The del (nabla) operator ∇=ex∂x+ey∂y+ez∂z\nabla=\mathbf{e}_x\partial_x+\mathbf{e}_y\partial_y+\mathbf{e}_z\partial_z is a vector of partial derivatives: it is gradient on a scalar, divergence via the dot, curl via the cross.
  • Reading ∇\nabla as both a vector and a differential operator lets you generate every first-order product rule by combining vector algebra with the Leibniz rule.
  • Two second-order combinations vanish identically for smooth fields: the curl of a gradient, ∇×(∇f)=0\nabla\times(\nabla f)=\mathbf{0}, and the divergence of a curl, ∇⋅(∇×A)=0\nabla\cdot(\nabla\times\mathbf{A})=0 — both are a symmetric object contracted with the antisymmetric εijk\varepsilon_{ijk}.
  • The third combination survives: ∇×(∇×A)=∇(∇⋅A)−∇2A\nabla\times(\nabla\times\mathbf{A})=\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A}, which defines the vector Laplacian and is the algebraic seed of the electromagnetic wave equation.
  • These identities guarantee scalar and vector potentials, power the Helmholtz decomposition into curl-free plus divergence-free parts, and give c=1/μ0ε0c=1/\sqrt{\mu_0\varepsilon_0}.
  • The trap: ∇\nabla does not commute with fields, so ∇⋅(fA)≠f ∇⋅A\nabla\cdot(f\mathbf{A})\neq f\,\nabla\cdot\mathbf{A} and BAC–CAB must keep the derivative on the correct factor.
  • Key idea: Treat ∇\nabla as a vector whose components are derivatives — apply vector-algebra identities for the structure, then the Leibniz rule to distribute the differentiation across each factor.

Where this lives today

The del-operator identities are engineered into the numerical methods that simulate fields. The deepest modern application is structure-preserving discretization: because a naive finite-difference scheme does not exactly satisfy ∇×(∇f)=0\nabla\times(\nabla f)=\mathbf{0} or ∇⋅(∇×A)=0\nabla\cdot(\nabla\times\mathbf{A})=0, it produces spurious, unphysical modes. Kane Yee's 1966 finite-difference time-domain (FDTD) grid — still the backbone of computational electromagnetics — staggers the electric and magnetic field samples so that the discrete curl operators inherit ∇⋅(∇×A)=0\nabla\cdot(\nabla\times\mathbf{A})=0 exactly, keeping ∇⋅B=0\nabla\cdot\mathbf{B}=0 true to machine precision for all time. The same principle, formalized as finite-element exterior calculus using Whitney forms, builds the de Rham complex (grad, then curl, then div, composing to zero) into the mesh, and is why modern Maxwell and Stokes-flow solvers stay stable — while in fluids ∇⋅(∇×v)=0\nabla\cdot(\nabla\times\mathbf{v})=0 underlies every vorticity-based CFD code. Even the topological caveat is live technology: the failure of the curl-free converse on a multiply connected region is exactly the Aharonov–Bohm effect.

The physical picture

Imagine ∇\nabla as a "derivative-flavoured arrow", ∇=(∂x,∂y,∂z)\nabla=(\partial_x,\partial_y,\partial_z). Anything you would do with an ordinary arrow — dot it, cross it, scale a field by it — you can do with ∇\nabla, except that every "multiplication" is secretly a differentiation acting on what sits to its right. This is why the two vanishing identities feel inevitable once you know two schoolbook facts: a vector crossed with itself is zero (v×v=0\mathbf{v}\times\mathbf{v}=\mathbf{0}, which becomes curl-of-gradient), and a triple product with a repeated vector is zero (v⋅(v×A)=0\mathbf{v}\cdot(\mathbf{v}\times\mathbf{A})=0, which becomes divergence-of-curl). The "repeated vector" is the single operator ∇\nabla appearing twice. Conceptually these are opposite characters. A gradient climbs straight up the steepest slope, so it has no swirl — zero curl. A curl circulates, closing on itself, so it has no springs or drains — zero divergence. The first figure draws these two characters and the identity each one witnesses.

Figure
A gradient field climbs straight toward the peak with no swirl, so ∇×(∇f) = 0; a curl field circulates with no source or sink, so ∇·(∇×A) = 0 — the two vanishing identities are opposite, mutually exclusive characters of a vector field
Two opposite characters — and the identity each one certifies gradient ∇f — irrotational curl ∇×A — solenoidal arrows point uphill · ∇×(∇f) = 0 field circulates · ∇·(∇×A) = 0

These two markers are mutually exclusive, which is why an arbitrary field can be cleaved into a gradient piece and a curl piece with nothing left over — the Helmholtz decomposition. The odd combination out is the curl of a curl: it refuses to vanish, and that refusal is physically essential, because applied to Maxwell's two curl equations it manufactures a wave. The second figure is the operator ladder that organizes all of this and carries the punchline number, the speed of light.

Figure
Applying del twice: the curl of a gradient and the divergence of a curl both collapse to zero, while the curl of a curl survives as ∇(∇·A) − ∇²A — the term that turns Maxwell's equations into a wave with speed c = 1/√(μ₀ε₀) = 2.998×10⁸ m/s
The operator ladder — two zeros and one survivor f ∇f 0 A ∇×A 0 ∇ (grad) ∇× (curl) ∇× (curl) ∇· (div) the survivor: ∇×(∇×A) = ∇(∇·A) − ∇²A curl of Faraday's law, vacuum ⟶ ∇²E = μ₀ε₀ ∂²E/∂t² c = 1/√(μ₀ε₀) = 2.998×10⁸ m/s

The core equations

Everything below is built from one definition. In Cartesian coordinates the del operator is a formal vector whose entries are the three partial-derivative operators; the basis vectors are constant, which makes the algebra clean.

∇=ex∂∂x+ey∂∂y+ez∂∂z(1)\nabla=\mathbf{e}_x\frac{\partial}{\partial x}+\mathbf{e}_y\frac{\partial}{\partial y}+\mathbf{e}_z\frac{\partial}{\partial z} \qquad (1)

where: ex,ey,ez\mathbf{e}_x,\mathbf{e}_y,\mathbf{e}_z — orthonormal Cartesian basis vectors, constant in space; ∂/∂x\partial/\partial x — partial derivative with respect to xx. Reading: ∇\nabla is a vector waiting to differentiate the field to its right. Contract or multiply ∇\nabla with a field and the first-order operators drop out. Acting on a scalar ff it is the gradient (scalar in, vector out); dotted into a vector A\mathbf{A} it is the divergence (vector in, scalar out).

∇f=∂f∂xex+∂f∂yey+∂f∂zez,∇⋅A=∂xAx+∂yAy+∂zAz(2)\nabla f=\frac{\partial f}{\partial x}\mathbf{e}_x+\frac{\partial f}{\partial y}\mathbf{e}_y+\frac{\partial f}{\partial z}\mathbf{e}_z,\qquad \nabla\cdot\mathbf{A}=\partial_x A_x+\partial_y A_y+\partial_z A_z \qquad (2)

where: ff — scalar field; A=(Ax,Ay,Az)\mathbf{A}=(A_x,A_y,A_z) — vector field. Reading: the gradient points along steepest ascent; the divergence measures net outflow per unit volume. The cross product of ∇\nabla with A\mathbf{A} is the curl, written most usefully with the Levi-Civita symbol because the index form makes the second-order identities fall out mechanically.

∇×A=∣exeyez∂x∂y∂zAxAyAz∣=εijk ∂jAk ei(3)\nabla\times\mathbf{A}=\begin{vmatrix}\mathbf{e}_x&\mathbf{e}_y&\mathbf{e}_z\\ \partial_x&\partial_y&\partial_z\\ A_x&A_y&A_z\end{vmatrix}=\varepsilon_{ijk}\,\partial_j A_k\,\mathbf{e}_i \qquad (3)

where: εijk\varepsilon_{ijk} — Levi-Civita symbol, +1+1 for an even permutation of (1,2,3)(1,2,3), −1-1 for odd, 00 if any index repeats; ∂j≡∂/∂xj\partial_j\equiv\partial/\partial x_j; repeated indices summed. Reading: the curl measures local circulation, its antisymmetry carried entirely by εijk\varepsilon_{ijk}. Now apply ∇\nabla twice. Two of the three second-order combinations vanish identically for any field with continuous second derivatives, because each pairs a symmetric derivative with the antisymmetric εijk\varepsilon_{ijk}.

∇×(∇f)=0,∇⋅(∇×A)=0(4)\nabla\times(\nabla f)=\mathbf{0},\qquad \nabla\cdot(\nabla\times\mathbf{A})=0 \qquad (4)

where: f∈C2f\in C^2 scalar field; A∈C2\mathbf{A}\in C^2 vector field. Reading: a gradient carries no circulation and a curl carries no source — the differential heart of the Poincaré lemma. The third combination is the survivor, and the whole reason del-operator algebra reaches into dynamics. The curl of a curl is not zero; it splits into a gradient-of-divergence and a Laplacian, defining the vector Laplacian along the way.

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

where: ∇2A\nabla^2\mathbf{A} — vector Laplacian, which in Cartesian coordinates acts component-by-component, (∇2A)i=∇2Ai(\nabla^2\mathbf{A})_i=\nabla^2 A_i. Reading: subtract the "compressional" part ∇(∇⋅A)\nabla(\nabla\cdot\mathbf{A}) from the double curl and what remains is the component-wise Laplacian. Finally, the first-order product rules — each fixed by the vector-algebra skeleton with ∇\nabla differentiating one factor at a time (Leibniz). The three most used are collected here.

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

where: ff — scalar field; A,B\mathbf{A},\mathbf{B} — vector fields; A⋅∇f=(∇f)⋅A\mathbf{A}\cdot\nabla f=(\nabla f)\cdot\mathbf{A}. Reading: each rule has one term with ∇\nabla hitting the vector part and one with ∇\nabla hitting the scalar part, never one without the other. The most intricate first-order identity, the gradient of a dot product, needs all four cross-coupled terms because ∇\nabla must differentiate two vectors while respecting BAC–CAB: two directional-derivative terms (A⋅∇)(\mathbf{A}\cdot\nabla) plus two remainder terms exactly reconstruct the gradient.

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

where: (A⋅∇)=Ax∂x+Ay∂y+Az∂z(\mathbf{A}\cdot\nabla)=A_x\partial_x+A_y\partial_y+A_z\partial_z — a scalar operator transporting a vector along A\mathbf{A}.

Derivation ACurl of a curl via the epsilon-delta identity

The goal is to prove the one non-vanishing second-order identity, ∇×(∇×A)=∇(∇⋅A)−∇2A\nabla\times(\nabla\times\mathbf{A})=\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A}, from first principles rather than quoting it, because this single line is the algebraic pivot that converts Maxwell's curl equations into a wave equation and that defines what the vector Laplacian even means. The whole proof is the double-cross-product expansion of vector algebra in index notation.

Step 1. Write the ii-th component by nesting the curl formula inside itself: [∇×(∇×A)]i=εijk ∂j(∇×A)k=εijk ∂j(εklm ∂lAm)[\nabla\times(\nabla\times\mathbf{A})]_i=\varepsilon_{ijk}\,\partial_j(\nabla\times\mathbf{A})_k=\varepsilon_{ijk}\,\partial_j(\varepsilon_{klm}\,\partial_l A_m). Why: the outer curl supplies one εijk∂j\varepsilon_{ijk}\partial_j, and the inner curl supplies the components (∇×A)k=εklm∂lAm(\nabla\times\mathbf{A})_k=\varepsilon_{klm}\partial_l A_m; nesting them is the exact analogue of writing v×(v×A)\mathbf{v}\times(\mathbf{v}\times\mathbf{A}).

Step 2. Bring the summed index kk to the front of the first symbol and contract: εijkεklm=εkijεklm=δilδjm−δimδjl\varepsilon_{ijk}\varepsilon_{klm}=\varepsilon_{kij}\varepsilon_{klm}=\delta_{il}\delta_{jm}-\delta_{im}\delta_{jl}. Why: cyclic permutation leaves ε\varepsilon unchanged, and the standard contraction of two Levi-Civita symbols over a shared index is the BAC–CAB rule in disguise — this is the only non-trivial algebraic fact used.

Step 3. Substitute and let the Kronecker deltas collapse the indices: (δilδjm−δimδjl) ∂j∂lAm=∂j∂iAj−∂j∂jAi(\delta_{il}\delta_{jm}-\delta_{im}\delta_{jl})\,\partial_j\partial_l A_m=\partial_j\partial_i A_j-\partial_j\partial_j A_i. Why: the first delta pair forces l=i, m=jl=i,\ m=j, the second forces m=i, l=jm=i,\ l=j; because the derivatives commute, ∂j∂iAj=∂i∂jAj\partial_j\partial_i A_j=\partial_i\partial_j A_j, which is a gradient of a divergence.

Step 4. Reassemble in coordinate-free form: ∂i(∂jAj)−∂j∂jAi=[∇(∇⋅A)]i−[∇2A]i\partial_i(\partial_j A_j)-\partial_j\partial_j A_i=[\nabla(\nabla\cdot\mathbf{A})]_i-[\nabla^2\mathbf{A}]_i, so restoring the free index ii gives ∇×(∇×A)=∇(∇⋅A)−∇2A\nabla\times(\nabla\times\mathbf{A})=\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A}. Why: ∂jAj=∇⋅A\partial_j A_j=\nabla\cdot\mathbf{A} and ∂j∂j=∇2\partial_j\partial_j=\nabla^2; recognizing these two contractions is what turns index soup back into vector operators. *Verified: reproduced symbolically for A=(x2y, y2z, z2x)\mathbf{A}=(x^2y,\ y^2z,\ z^2x) — both sides equal (2z, 2x, 2y)(2z,\ 2x,\ 2y), and consistent with Arfken–Weber eq. (3.70) and Griffiths eq. (1.47).*

Go deeper · Derivation B · 1 minThe two vanishing identities from symmetric-antisymmetric cancellation
Derivation BThe two vanishing identities from symmetric-antisymmetric cancellation

The aim is to show that curl-of-gradient and divergence-of-curl are not two coincidences but one mechanism seen twice: in each case an index pair on which a second derivative is symmetric is summed against the antisymmetric Levi-Civita symbol, and any such contraction is identically zero. This mechanism is what licenses the existence of scalar and vector potentials throughout physics.

Step 1. For the curl of a gradient, write the component [∇×(∇f)]i=εijk ∂j∂kf[\nabla\times(\nabla f)]_i=\varepsilon_{ijk}\,\partial_j\partial_k f. Why: the gradient contributes ∂kf\partial_k f and the curl contributes εijk∂j\varepsilon_{ijk}\partial_j, so the object is a single sum over the derivative pair (j,k)(j,k).

Step 2. Note that ∂j∂kf=∂k∂jf\partial_j\partial_k f=\partial_k\partial_j f is symmetric under j↔kj\leftrightarrow k (Schwarz/Clairaut, valid for f∈C2f\in C^2), while εijk=−εikj\varepsilon_{ijk}=-\varepsilon_{ikj} is antisymmetric, so the sum equals its own negative and εijk ∂j∂kf=0\varepsilon_{ijk}\,\partial_j\partial_k f=0. Why: relabelling the dummy indices j↔kj\leftrightarrow k sends the expression to −1-1 times itself; the only number equal to its own negative is zero.

Step 3. For the divergence of a curl, write ∇⋅(∇×A)=∂i(εijk∂jAk)=εijk ∂i∂jAk\nabla\cdot(\nabla\times\mathbf{A})=\partial_i(\varepsilon_{ijk}\partial_j A_k)=\varepsilon_{ijk}\,\partial_i\partial_j A_k, since the constant εijk\varepsilon_{ijk} passes through the derivative. Why: the outer divergence supplies ∂i\partial_i, and the curl supplies εijk∂jAk\varepsilon_{ijk}\partial_j A_k; now two of the three indices are carried by commuting derivatives.

Step 4. Apply the identical cancellation on the pair (i,j)(i,j): ∂i∂jAk\partial_i\partial_j A_k is symmetric in i,ji,j while εijk\varepsilon_{ijk} is antisymmetric, so εijk ∂i∂jAk=0\varepsilon_{ijk}\,\partial_i\partial_j A_k=0. Why: it is the same theorem as Step 2 with the differentiated field promoted from a scalar to a vector component — one mechanism, two identities. *Verified: symbolic check gives ∇×(∇(x2yz))=0\nabla\times(\nabla(x^2yz))=\mathbf{0} and ∇⋅(∇×(x2y,y2z,z2x))=0\nabla\cdot(\nabla\times(x^2y,y^2z,z^2x))=0 exactly.*

Go deeper · Derivation C · 1 minThe scalar-times-vector product rule from Leibniz
Derivation CThe scalar-times-vector product rule from Leibniz

The purpose is to derive the divergence of a scalar times a vector, ∇⋅(fA)\nabla\cdot(f\mathbf{A}), showing how the "treat ∇\nabla as a vector but let it differentiate one factor at a time" recipe generates the correct two-term answer — and why dropping the second term is the most common error in the whole subject. This rule and its curl analogue are the workhorses behind integration by parts for fields.

Step 1. Expand in components: ∇⋅(fA)=∂i(fAi)\nabla\cdot(f\mathbf{A})=\partial_i(fA_i), a sum over ii of the derivative of a product of two functions of position. Why: fAifA_i is the ii-th Cartesian component of fAf\mathbf{A}, so the divergence is ∂i\partial_i acting on it, summed.

Step 2. Apply the Leibniz rule to each term: ∂i(fAi)=(∂if)Ai+f(∂iAi)\partial_i(fA_i)=(\partial_i f)A_i+f(\partial_i A_i). Why: this is the only place the operator nature of ∇\nabla enters — an ordinary vector gives one term, but a derivative must hit both factors.

Step 3. Recognize the two vector structures: (∂if)Ai=A⋅∇f(\partial_i f)A_i=\mathbf{A}\cdot\nabla f and f(∂iAi)=f ∇⋅Af(\partial_i A_i)=f\,\nabla\cdot\mathbf{A}, giving ∇⋅(fA)=f ∇⋅A+A⋅∇f\nabla\cdot(f\mathbf{A})=f\,\nabla\cdot\mathbf{A}+\mathbf{A}\cdot\nabla f. Why: reading the sums back as a dot product and a divergence returns the identity — note the extra term A⋅∇f\mathbf{A}\cdot\nabla f a naive "pull ff out" would miss. The identical Leibniz split carried by εijk\varepsilon_{ijk} gives the curl rule ∇×(fA)=f ∇×A+(∇f)×A\nabla\times(f\mathbf{A})=f\,\nabla\times\mathbf{A}+(\nabla f)\times\mathbf{A}. *Verified: matches Riley–Hobson–Bence's vector-identity table and Griffiths product rules (5) and (7).*

Limiting cases

The identities are not unconditional: the vanishing ones need enough smoothness for mixed partials to commute, and their converses — the statements that let you introduce potentials — need the right topology.

CaseResultMeaning
Smoothness requiredf∈C2,  A∈C2f\in C^2,\ \ \mathbf{A}\in C^2The two vanishing identities need continuous second partials so mixed derivatives commute (Clairaut/Schwarz); on a kink they can fail pointwise.
Curl-free converse (Poincaré)∇×F=0 ⇒ F=∇ϕ\nabla\times\mathbf{F}=\mathbf{0}\ \Rightarrow\ \mathbf{F}=\nabla\phi locallyA curl-free field is a gradient on any simply connected region; around a hole (e.g. a current-carrying wire) a single-valued global potential may not exist.
Divergence-free converse∇⋅B=0 ⇒ B=∇×A\nabla\cdot\mathbf{B}=0\ \Rightarrow\ \mathbf{B}=\nabla\times\mathbf{A} locallyA solenoidal field is a curl locally; a global vector potential needs a region with no trapped cavities (trivial second cohomology).
Curl-of-curl in Cartesian only(∇2A)i=∇2Ai(\nabla^2\mathbf{A})_i=\nabla^2 A_iThe component-wise reading of ∇2A\nabla^2\mathbf{A} holds only for Cartesian bases; in curvilinear coordinates use ∇2A=∇(∇⋅A)−∇×(∇×A)\nabla^2\mathbf{A}=\nabla(\nabla\cdot\mathbf{A})-\nabla\times(\nabla\times\mathbf{A}) as the definition.

Worked examples

1 · The curl-of-curl identity on a concrete field (fully worked)

Take A=(x2y, y2z, z2x)\mathbf{A}=(x^2y,\ y^2z,\ z^2x). Verify ∇×(∇×A)=∇(∇⋅A)−∇2A\nabla\times(\nabla\times\mathbf{A})=\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A} by computing both sides, and evaluate at (1,2,3)(1,2,3).

Step 1. Compute the inner curl. With A=(x2y, y2z, z2x)\mathbf{A}=(x^2y,\ y^2z,\ z^2x), (∇×A)x=∂y(z2x)−∂z(y2z)=0−y2=−y2(\nabla\times\mathbf{A})_x=\partial_y(z^2x)-\partial_z(y^2z)=0-y^2=-y^2; similarly (∇×A)y=−z2(\nabla\times\mathbf{A})_y=-z^2 and (∇×A)z=−x2(\nabla\times\mathbf{A})_z=-x^2, so ∇×A=(−y2, −z2, −x2)\nabla\times\mathbf{A}=(-y^2,\ -z^2,\ -x^2).

Step 2. Take the curl again. With B=(−y2,−z2,−x2)\mathbf{B}=(-y^2,-z^2,-x^2), (∇×B)x=∂y(−x2)−∂z(−z2)=0+2z=2z(\nabla\times\mathbf{B})_x=\partial_y(-x^2)-\partial_z(-z^2)=0+2z=2z; likewise (∇×B)y=2x(\nabla\times\mathbf{B})_y=2x and (∇×B)z=2y(\nabla\times\mathbf{B})_z=2y, so the left-hand side is ∇×(∇×A)=(2z, 2x, 2y)\nabla\times(\nabla\times\mathbf{A})=\mathbf{(2z,\ 2x,\ 2y)}.

Step 3. Compute the right-hand side. The divergence is ∇⋅A=2xy+2yz+2zx\nabla\cdot\mathbf{A}=2xy+2yz+2zx, whose gradient is ∇(∇⋅A)=(2y+2z, 2x+2z, 2x+2y)\nabla(\nabla\cdot\mathbf{A})=(2y+2z,\ 2x+2z,\ 2x+2y). The vector Laplacian acts component-wise: ∇2(x2y)=2y\nabla^2(x^2y)=2y, ∇2(y2z)=2z\nabla^2(y^2z)=2z, ∇2(z2x)=2x\nabla^2(z^2x)=2x, so ∇2A=(2y, 2z, 2x)\nabla^2\mathbf{A}=(2y,\ 2z,\ 2x).

Step 4. Subtract: ∇(∇⋅A)−∇2A=(2y+2z−2y, 2x+2z−2z, 2x+2y−2x)=(2z, 2x, 2y)\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A}=(2y+2z-2y,\ 2x+2z-2z,\ 2x+2y-2x)=\mathbf{(2z,\ 2x,\ 2y)}, identical to Step 2. At (1,2,3)(1,2,3) the left side is (6,2,4)(6,2,4), and the right side gives (10,8,6)−(4,6,2)=(6,2,4)(10,8,6)-(4,6,2)=(6,2,4) — the identity checks numerically. Both sides equal (2z,2x,2y)(2z,2x,2y), and at (1,2,3)(1,2,3) the value is (6,2,4)(6,2,4).

2 · From Maxwell's equations to the speed of light

Use the curl-of-curl identity to turn the source-free Maxwell equations into a wave equation for E\mathbf{E}, and compute the wave speed.

Step 1. Take the curl of Faraday's law ∇×E=−∂tB\nabla\times\mathbf{E}=-\partial_t\mathbf{B}: ∇×(∇×E)=−∂t(∇×B)\nabla\times(\nabla\times\mathbf{E})=-\partial_t(\nabla\times\mathbf{B}). Apply identity (5) to the left side: ∇(∇⋅E)−∇2E=−∂t(∇×B)\nabla(\nabla\cdot\mathbf{E})-\nabla^2\mathbf{E}=-\partial_t(\nabla\times\mathbf{B}).

Step 2. Impose the vacuum conditions. With no charges, ∇⋅E=0\nabla\cdot\mathbf{E}=0, so the first term dies — this is exactly the step where the curl-of-curl identity earns its keep. Ampère's law in vacuum gives ∇×B=μ0ε0 ∂tE\nabla\times\mathbf{B}=\mu_0\varepsilon_0\,\partial_t\mathbf{E}, so the right side becomes −μ0ε0 ∂t2E-\mu_0\varepsilon_0\,\partial_t^2\mathbf{E}.

Step 3. Assemble: −∇2E=−μ0ε0 ∂t2E-\nabla^2\mathbf{E}=-\mu_0\varepsilon_0\,\partial_t^2\mathbf{E}, i.e. ∇2E=μ0ε0 ∂t2E\nabla^2\mathbf{E}=\mu_0\varepsilon_0\,\partial_t^2\mathbf{E} — a wave equation with speed c=1/μ0ε0c=1/\sqrt{\mu_0\varepsilon_0}.

Step 4. Put in the numbers. With μ0=1.25664×10−6 H/m\mu_0=1.25664\times10^{-6}\ \mathrm{H/m} and ε0=8.85419×10−12 F/m\varepsilon_0=8.85419\times10^{-12}\ \mathrm{F/m}, the product is μ0ε0=1.11265×10−17 s2/m2\mu_0\varepsilon_0=1.11265\times10^{-17}\ \mathrm{s^2/m^2}, whose square root is 3.33564×10−9 s/m3.33564\times10^{-9}\ \mathrm{s/m}; inverting gives c=2.998×108 m/sc=\mathbf{2.998\times10^{8}\ m/s} — the speed of light, produced entirely by the algebra of ∇\nabla. The vector Laplacian identity converts Maxwell's curl equations into ∇2E=μ0ε0 ∂t2E\nabla^2\mathbf{E}=\mu_0\varepsilon_0\,\partial_t^2\mathbf{E} with c=2.998×108c=2.998\times10^{8} m/s.

Physics of the portrait

The del operator is where three-dimensional physics learned to write itself economically. The identities we treat as routine were, in the nineteenth century, the contested battleground between quaternion algebra and a new "vector analysis" — and the person who did most to make the operational notation the working language of physics was a self-taught telegrapher.

Origins · 1 minOliver Heaviside and how this was discovered
OH
Oliver Heaviside
1850–1925 · vector calculus and the operator reformulation of electromagnetism

Oliver Heaviside left school at sixteen and never held a university post, yet he reshaped how physics is written. Working from William Rowan Hamilton's quaternions (1843) and the ∇\nabla operator Hamilton introduced around 1846 — the symbol Tait and Maxwell would call "nabla" — Heaviside stripped away the quaternion's scalar part and kept the pieces physicists actually needed: divergence, gradient and curl as standalone operations. Between roughly 1883 and 1887 he recast Maxwell's original twenty coupled equations into the four compact vector equations every student now memorizes, and coined the operational vocabulary, including the modern use of "curl", that turned identities like ∇×(∇f)=0\nabla\times(\nabla f)=\mathbf{0} and ∇×(∇×A)=∇(∇⋅A)−∇2A\nabla\times(\nabla\times\mathbf{A})=\nabla(\nabla\cdot\mathbf{A})-\nabla^2\mathbf{A} into everyday tools rather than quaternion curiosities. This provoked a bitter public quarrel with Tait, who defended pure quaternions; Heaviside's blunt reply — that vectors were simpler and "worked" — won, because his notation made derivations like Worked Example 2 a few clean lines. Gibbs at Yale developed an almost identical system independently, codified in the 1901 Gibbs–Wilson textbook; but it was Heaviside's fearless manipulation of ∇\nabla — treating it at once as a vector and a differential operator, the dual reading this article is built on — that fixed the identities in the form we still use.

History
1843
— Hamilton discovers quaternions, the algebra behind the vector cross product
1846
— Hamilton writes the differential operator ∇, later christened nabla
1871
— Maxwell names the rotational derivative the curl
1884
— Heaviside recasts Maxwell's equations into four vector equations using ∇
1901
— Gibbs and Wilson publish Vector Analysis, codifying the modern identities

Going further

Texts. Arfken & Weber, Mathematical Methods for Physicists, 7th ed., ch. 3 (vector identity table, eq. 3.70) · Hassani, Mathematical Physics, ch. on vector analysis · Stone & Goldbart, Mathematics for Physics, vector calculus and differential forms · Byron & Fuller, Mathematics of Classical and Quantum Physics, ch. 1 · Griffiths, Introduction to Electrodynamics, 4th ed., ch. 1 (eq. 1.47) · Riley, Hobson & Bence, Mathematical Methods, ch. 10 · Nakahara, Geometry, Topology and Physics, for the exterior-derivative viewpoint.

Provenance. The vanishing identities and the curl-of-curl relation were re-derived here in index notation and cross-checked against Arfken–Weber 7th ed. ch. 3 and Griffiths 4th ed. ch. 1. The contracted Levi-Civita relation, the curl-of-curl identity, and the two vanishing identities were verified symbolically for A=(x2y,y2z,z2x)\mathbf{A}=(x^2y,y^2z,z^2x) and f=x2yzf=x^2yz; the wave speed c=2.998×108 m/sc=2.998\times10^{8}\ \mathrm{m/s} was recomputed from CODATA μ0,ε0\mu_0,\varepsilon_0. A verifier should reconfirm: (1) the epsilon-delta contraction εijkεklm=δilδjm−δimδjl\varepsilon_{ijk}\varepsilon_{klm}=\delta_{il}\delta_{jm}-\delta_{im}\delta_{jl}; (2) the cancellations giving identities (4); (3) the numeric curl-of-curl value (6,2,4)(6,2,4) at (1,2,3)(1,2,3); (4) the numeric cc.

Builds on: Scalar and Vector Fields · The Gradient Operator · Divergence · Curl. Leads to: The Laplacian Operator · The Divergence (Gauss) Theorem · Stokes' Theorem.

Ask the tutor: Name any identity here and I will expand it step-by-step in index notation, or apply it to a field of your choice.

Why can I treat ∇ as a vector at all if it is really an operator?

Because in Cartesian coordinates the basis vectors are constant, so the algebra of dot and cross products — antisymmetry, the scalar triple product, BAC–CAB — applies to ∇\nabla exactly as to an ordinary vector. That is what lets you predict the shape of an identity: ∇×(∇f)\nabla\times(\nabla f) "looks like" v×v=0\mathbf{v}\times\mathbf{v}=\mathbf{0}, and ∇×(∇×A)\nabla\times(\nabla\times\mathbf{A}) "looks like" the double cross product. The one extra rule is that every product must also obey Leibniz. So ∇\nabla is a vector for the structure of an identity and an operator for the distribution of derivatives: keep both roles active and you never go wrong.

What is the difference between the scalar Laplacian and the vector Laplacian?

The scalar Laplacian ∇2f=∇⋅(∇f)\nabla^2 f=\nabla\cdot(\nabla f) takes a scalar to a scalar and is unambiguous in any coordinate system. The vector Laplacian ∇2A\nabla^2\mathbf{A} takes a vector to a vector, and its definition is the curl-of-curl identity read backwards, ∇2A≡∇(∇⋅A)−∇×(∇×A)\nabla^2\mathbf{A}\equiv\nabla(\nabla\cdot\mathbf{A})-\nabla\times(\nabla\times\mathbf{A}). In Cartesian coordinates this reduces to applying the scalar Laplacian to each component, (∇2A)i=∇2Ai(\nabla^2\mathbf{A})_i=\nabla^2 A_i, which is why textbooks introduce it that way. But in cylindrical or spherical coordinates the component-wise rule is wrong — the varying basis vectors add extra terms — so use the coordinate-free definition.

If ∇×(∇f)=0 always, does that mean every curl-free field is a gradient?

Locally yes, globally not necessarily. The identity guarantees that any gradient is curl-free; the converse — that a curl-free field is a gradient — is the Poincaré lemma, and it holds only on a simply connected region (one with no holes you cannot shrink a loop through). The classic counterexample is the magnetic field around an infinite current-carrying wire: it is curl-free outside the wire, yet no single-valued potential exists there, and integrating the field around the wire gives a nonzero result. Topology, captured by de Rham cohomology, decides whether the potential is global — the mechanism behind the Aharonov–Bohm effect.

Do these identities hold in cylindrical and spherical coordinates?

The identities themselves are coordinate-free and always true — ∇×(∇f)=0\nabla\times(\nabla f)=\mathbf{0} holds in every coordinate system. What changes is the component formulas for the operators. In curvilinear coordinates the basis vectors depend on position, so gradient, divergence and curl pick up scale-factor terms, and you cannot compute the curl of a curl by blindly Laplacian-ing each component. The safe route is to use the invariant identity (5) as the definition of the vector Laplacian. The index-notation proofs here assume a Cartesian basis precisely so that ∂i\partial_i of a basis vector vanishes — that is what makes them so short.

Why is the curl-of-curl identity so central to physics rather than just the two zeros?

Because the two vanishing identities are permissions and the curl-of-curl is a mechanism. The zeros permit potentials: ∇×(∇f)=0\nabla\times(\nabla f)=\mathbf{0} lets you write an irrotational field as −∇ϕ-\nabla\phi, and ∇⋅(∇×A)=0\nabla\cdot(\nabla\times\mathbf{A})=0 lets you write a solenoidal field as ∇×A\nabla\times\mathbf{A}. But nothing happens from a zero. The curl-of-curl, by contrast, is the non-trivial step that produces dynamics: differentiate Maxwell's two curl equations once more, feed each into the other, and identity (5) collapses the result into ∇2−c−2∂t2\nabla^2-c^{-2}\partial_t^2, the wave operator. The same identity splits elastic waves into P-waves and S-waves — it is the bridge from static vector algebra to propagating fields.

How do I remember which product rule has which sign?

Anchor on the two-term structure and then fix the sign from a limiting case. Every scalar-times-vector rule has exactly two terms — ∇\nabla hitting the scalar and ∇\nabla hitting the vector — added with a plus sign, because both come from a Leibniz expansion: ∇⋅(fA)=f ∇⋅A+A⋅∇f\nabla\cdot(f\mathbf{A})=f\,\nabla\cdot\mathbf{A}+\mathbf{A}\cdot\nabla f. The minus sign appears only where an underlying cross product is antisymmetric: in ∇⋅(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}) the two vectors play asymmetric roles, so swapping them flips the sign. When in doubt, test the identity on a trivial field (set B\mathbf{B} constant) and see which sign survives — a check that beats memorization.

Before this

Where this leads