Vector Calculus

Vector Calculus Identities

The algebraic glue of grad, div, and curl — and how they collapse Maxwell's equations

Vector calculus identities collapse nested operators into clean expressions. The three signature identities — ∇·(∇×F) = 0, ∇×(∇φ) = 0, and ∇×(∇×F) = ∇(∇·F) − ∇²F — fall straight out of the equality of mixed partial derivatives and underwrite the entirety of classical field theory, from Maxwell's wave equation to fluid vorticity.

  • Div of curl∇·(∇×F) = 0 always
  • Curl of grad∇×(∇φ) = 0 always
  • Vector Laplacian∇×(∇×F) = ∇(∇·F) − ∇²F
  • Why they holdClairaut: ∂²f/∂x∂y = ∂²f/∂y∂x
  • Deeper origind² = 0 on differential forms
  • Used inMaxwell's equations, Helmholtz decomposition, CFD

Watch the 60-second explainer

A condensed visual walkthrough — narrated, captioned, under a minute.

The three signature identities

Vector calculus has dozens of identities, but three are load-bearing — every derivation in electromagnetism, fluid mechanics, and elasticity passes through them:

(1)  ∇·(∇×F) = 0          — divergence of a curl is identically zero
(2)  ∇×(∇φ) = 0           — curl of a gradient is identically zero
(3)  ∇×(∇×F) = ∇(∇·F) − ∇²F  — the vector Laplacian identity

The first two are killer constraints: any vector field of the form ∇×A automatically has zero divergence everywhere, and any vector field of the form ∇φ automatically has zero curl. The third turns nested curls into a divergence-plus-Laplacian — the move that converts Maxwell's equations into a wave equation.

All three follow from one fact: for sufficiently smooth functions, mixed partial derivatives commute (Clairaut's theorem). That is the entire content. The algebraic shuffling is bookkeeping; the substance is ∂²/∂x∂y = ∂²/∂y∂x.

Why div of curl vanishes

Take F = (F_x, F_y, F_z) and compute ∇×F:

∇×F = ( ∂F_z/∂y − ∂F_y/∂z ,  ∂F_x/∂z − ∂F_z/∂x ,  ∂F_y/∂x − ∂F_x/∂y )

Now take the divergence — sum each component's partial with respect to its own axis:

∇·(∇×F) = ∂/∂x (∂F_z/∂y − ∂F_y/∂z)
        + ∂/∂y (∂F_x/∂z − ∂F_z/∂x)
        + ∂/∂z (∂F_y/∂x − ∂F_x/∂y)

        = (∂²F_z/∂x∂y − ∂²F_y/∂x∂z)
        + (∂²F_x/∂y∂z − ∂²F_z/∂y∂x)
        + (∂²F_y/∂z∂x − ∂²F_x/∂z∂y)

By Clairaut's theorem, ∂²F_z/∂x∂y = ∂²F_z/∂y∂x, so those two terms cancel. The same pairing eliminates every term. The total is exactly zero.

This is the mathematical reason ∇·B = 0 holds for magnetic fields. Once you write B = ∇×A for a vector potential A, the divergence is forced to vanish. Magnetic monopoles do not exist (in classical E&M) because the magnetic field is built as a curl.

Why curl of grad vanishes

Take φ : ℝ³ → ℝ. Its gradient is ∇φ = (∂φ/∂x, ∂φ/∂y, ∂φ/∂z). Its curl:

∇×(∇φ) = ( ∂²φ/∂y∂z − ∂²φ/∂z∂y ,
            ∂²φ/∂z∂x − ∂²φ/∂x∂z ,
            ∂²φ/∂x∂y − ∂²φ/∂y∂x )

       = (0, 0, 0)

Again Clairaut. Conservative fields — gravity, electrostatics, any pressure gradient — have zero curl because they are built as gradients of a potential.

The converse holds on simply connected domains: every irrotational field on a contractible region is the gradient of some potential. The 2D counterexample on a punctured plane, F = (−y, x)/(x²+y²), has zero curl everywhere it is defined but has a nonzero loop integral. Topology trumps analysis when the domain has holes.

The vector Laplacian identity

The third identity is more surprising — it relates a double curl to a gradient of a divergence minus a vector Laplacian:

∇×(∇×F) = ∇(∇·F) − ∇²F

where ∇²F is the vector Laplacian, applied component by component in Cartesian coordinates: ∇²F = (∇²F_x, ∇²F_y, ∇²F_z).

The proof is a direct computation. Compute the x-component of ∇×(∇×F):

[∇×(∇×F)]_x = ∂/∂y (∇×F)_z − ∂/∂z (∇×F)_y
            = ∂/∂y (∂F_y/∂x − ∂F_x/∂y) − ∂/∂z (∂F_x/∂z − ∂F_z/∂x)
            = ∂²F_y/∂y∂x − ∂²F_x/∂y² − ∂²F_x/∂z² + ∂²F_z/∂z∂x

Add and subtract ∂²F_x/∂x² to complete the Laplacian, and rearrange:

[∇×(∇×F)]_x = ∂/∂x (∂F_x/∂x + ∂F_y/∂y + ∂F_z/∂z) − (∂²F_x/∂x² + ∂²F_x/∂y² + ∂²F_x/∂z²)
            = ∂(∇·F)/∂x − ∇²F_x
            = [∇(∇·F) − ∇²F]_x

The y- and z-components follow by symmetry. The identity holds.

Worked example — deriving the wave equation

This is the canonical application. Start with Maxwell's equations in free space (no charges, no currents):

∇·E = 0       ∇·B = 0
∇×E = −∂B/∂t  ∇×B = μ₀ε₀ ∂E/∂t

Take the curl of Faraday's law:

∇×(∇×E) = −∂/∂t (∇×B) = −μ₀ε₀ ∂²E/∂t²

Apply the vector Laplacian identity to the left side: ∇×(∇×E) = ∇(∇·E) − ∇²E. Since ∇·E = 0 in free space, the first term drops out:

−∇²E = −μ₀ε₀ ∂²E/∂t²
∇²E = μ₀ε₀ ∂²E/∂t²

That is the wave equation, with propagation speed c = 1/√(μ₀ε₀). Plugging in μ₀ = 4π × 10⁻⁷ H/m and ε₀ = 8.854 × 10⁻¹² F/m gives c ≈ 2.998 × 10⁸ m/s — the speed of light. Maxwell predicted electromagnetic waves and identified light as one in 1865, by applying exactly this manipulation. The vector Laplacian identity is what makes the derivation work.

Product rules

The product rules tell you how grad, div, and curl interact with products of fields. They are direct generalisations of the Leibniz rule (fg)' = f'g + fg' from single-variable calculus.

Gradient product rules

∇(fg)      = f ∇g + g ∇f
∇(F·G)     = (F·∇)G + (G·∇)F + F×(∇×G) + G×(∇×F)

Divergence product rules

∇·(fF)     = f (∇·F) + (∇f)·F
∇·(F×G)    = (∇×F)·G − F·(∇×G)

Curl product rules

∇×(fF)     = f (∇×F) + (∇f)×F
∇×(F×G)    = F(∇·G) − G(∇·F) + (G·∇)F − (F·∇)G

The last identity — curl of a cross product — is the "BAC-CAB rule for fields" and contains four terms because each derivative has to act on each factor. It is the source of the vortex-stretching term in fluid mechanics: in the vorticity equation ∂ω/∂t + (u·∇)ω = (ω·∇)u, the right-hand side comes directly from this identity.

Identity cheat sheet

IdentitySaysUsed in
∇·(∇×F) = 0Curls have no sources∇·B = 0 (no magnetic monopoles)
∇×(∇φ) = 0Gradients have no rotationConservative force fields
∇×(∇×F) = ∇(∇·F) − ∇²FDouble curl = grad-div minus LaplacianEM wave equation; vector Poisson
∇·(fF) = f∇·F + ∇f·FScalar-vector divergence product ruleConvection–diffusion equations
∇×(fF) = f∇×F + ∇f×FScalar-vector curl product ruleMaterial curl in continuum mechanics
∇·(F×G) = (∇×F)·G − F·(∇×G)Divergence of cross productPoynting theorem (energy flux of EM)
∇×(F×G) = F(∇·G) − G(∇·F) + (G·∇)F − (F·∇)GCurl of cross productVortex stretching in Navier–Stokes

The deep reason — exterior derivatives

Why do these identities hold so reliably? The answer is that grad, div, and curl are three faces of one operator — the exterior derivative d on differential forms. In ℝ³:

  • A scalar field φ is a 0-form. Its differential dφ is a 1-form; in coordinates, dφ = (∂φ/∂x)dx + (∂φ/∂y)dy + (∂φ/∂z)dz, which is just ∇φ written as a 1-form.
  • A vector field F = (P, Q, R), viewed as a 1-form ω = P dx + Q dy + R dz, has dω = (∂R/∂y − ∂Q/∂z) dy∧dz + … — a 2-form whose components are exactly ∇×F.
  • The 2-form η = P dy∧dz + Q dz∧dx + R dx∧dy has dη = (∂P/∂x + ∂Q/∂y + ∂R/∂z) dx∧dy∧dz — a 3-form whose single component is ∇·F.

The exterior derivative satisfies d² = 0: applying d twice always yields zero, on any form, in any dimension, on any manifold. ∇×(∇φ) = 0 is d²(0-form) = 0, and ∇·(∇×F) = 0 is d²(1-form) = 0. The two identities are not two separate facts — they are one fact, viewed at different ranks of form.

This unification is the starting point of differential geometry. It is the reason the same identities transplant unchanged to curved spaces, Riemannian manifolds, and general relativity (where d² = 0 still holds).

Where these identities show up

  • Electromagnetism. The wave equation derivation above. Also: the magnetic vector potential B = ∇×A automatically satisfies ∇·B = 0; the scalar potential E = −∇φ automatically satisfies ∇×E = 0 in electrostatics.
  • Fluid mechanics. Incompressible flow has ∇·v = 0, allowing v = ∇×ψ in 2D with a stream function ψ. The vorticity equation ∂ω/∂t + (v·∇)ω = (ω·∇)v + ν∇²ω uses the curl of a cross product identity to derive the vortex-stretching term.
  • Helmholtz decomposition. Every nice field on ℝ³ splits as F = −∇φ + ∇×A. The identities ensure the two parts are independent: the gradient piece has zero curl, the curl piece has zero divergence.
  • Elasticity and continuum mechanics. The strain-compatibility equations are exactly the conditions that a strain tensor be the symmetrized gradient of a displacement field — vector-calculus identities applied to second-rank tensors.
  • Computer graphics and CFD. The pressure-projection step in incompressible flow solvers uses ∇²p = ∇·v* to enforce ∇·v = 0 after each time step. The Helmholtz–Hodge decomposition implemented numerically.
  • Differential geometry and topology. The de Rham cohomology classes are the kernel of d modulo its image — exact forms in the kernel of d are precisely the manifestations of these identities. The Poincaré lemma says they fail to be vacuous only on topologically nontrivial domains.

A warning about curvilinear coordinates

The identities themselves are coordinate-independent — they hold in any chart. But the formulas for div, grad, curl, and Laplacian are not the same in cylindrical or spherical coordinates as in Cartesian. The Laplacian of a vector field in spherical coordinates, in particular, is not just the Laplacian applied component-wise: the unit vectors ρ̂, φ̂, θ̂ themselves depend on position, contributing extra terms.

Concretely, in spherical (ρ, θ, φ), the vector Laplacian of F has extra terms involving F itself:

(∇²F)_ρ ≠ ∇²F_ρ   in spherical/cylindrical coords

You must use the proper vector-Laplacian formula, derivable from ∇²F = ∇(∇·F) − ∇×(∇×F) applied carefully in those coordinates. Skipping the derivation and treating the scalar formula component-wise is a leading source of bugs in physics calculations.

Common mistakes

  • Dropping ∇·F when using ∇×(∇×F) = ∇(∇·F) − ∇²F. The simplification ∇×(∇×F) = −∇²F only holds when ∇·F = 0. In bound (charged) regions of E&M, ∇·E ≠ 0 and the full identity is needed.
  • Forgetting the cross terms in product rules. ∇×(fF) is not f∇×F — it has the extra (∇f)×F term that is responsible for, e.g., refraction at material interfaces.
  • Assuming ∇×F = 0 ⇒ F = ∇φ globally. True only on simply connected domains. On annuli, tori, or punctured planes, curl-free fields can have nonzero loop integrals.
  • Applying the scalar Laplacian formula to vectors in curvilinear coordinates. (∇²F)_ρ ≠ ∇²F_ρ in spherical and cylindrical coordinates — extra terms appear from differentiating the unit vectors.
  • Sign errors in the curl of a cross product. ∇×(F×G) has four terms with specific signs. The BAC-CAB mnemonic from ordinary cross-product algebra is a useful pattern but not literal — the derivatives have to be distributed correctly.
  • Confusing ∇²(scalar) with ∇²(vector). The scalar Laplacian ∇²φ = ∂²φ/∂x² + ∂²φ/∂y² + ∂²φ/∂z² is unambiguous. The vector Laplacian ∇²F is defined via the identity ∇²F = ∇(∇·F) − ∇×(∇×F) and reduces to the scalar Laplacian applied component-wise only in Cartesian coordinates.

Frequently asked questions

Why is ∇·(∇×F) always zero?

Compute it directly: ∇·(∇×F) = ∂/∂x (∂F_z/∂y − ∂F_y/∂z) + ∂/∂y (∂F_x/∂z − ∂F_z/∂x) + ∂/∂z (∂F_y/∂x − ∂F_x/∂y). Every mixed second partial ∂²F_i/∂x_j∂x_k appears exactly twice with opposite signs and cancels — provided F is C², so Clairaut's theorem applies (equality of mixed partials). Physically, the identity says that any field built as a curl has no sources or sinks. This is the mathematical reason ∇·B = 0 holds for magnetic fields once you posit B = ∇×A — no magnetic monopoles.

Why is ∇×(∇φ) always zero?

Each component of ∇×(∇φ) is a difference of mixed second partials of the scalar φ, e.g. the k-component is ∂²φ/∂x∂y − ∂²φ/∂y∂x. By Clairaut's theorem (equality of mixed partials for C² functions) every component vanishes identically. Physically, any conservative field — gravitational, electrostatic, any gradient of a potential — has zero curl. The converse holds on simply connected domains: every curl-free field on a contractible region is a gradient of some potential.

What is the vector Laplacian identity ∇×(∇×F) = ∇(∇·F) − ∇²F used for?

This identity is the key step in deriving the electromagnetic wave equation from Maxwell's equations. Take ∇× of Faraday's law ∇×E = −∂B/∂t. The left side becomes ∇×(∇×E) = ∇(∇·E) − ∇²E by the identity. In free space ∇·E = 0, so it collapses to −∇²E. The right side, after using Ampère's law, becomes −μ₀ε₀ ∂²E/∂t². The result is ∇²E = μ₀ε₀ ∂²E/∂t² — the wave equation, with c = 1/√(μ₀ε₀). The identity also appears in fluid mechanics (rotational decomposition of Navier–Stokes) and in computing the vector Laplacian in non-Cartesian coordinates.

What are the product rules for the gradient, divergence, and curl?

Gradient of a product: ∇(fg) = f∇g + g∇f. Divergence of a scalar times a vector: ∇·(fF) = f(∇·F) + (∇f)·F. Divergence of a cross product: ∇·(F×G) = (∇×F)·G − F·(∇×G). Curl of a scalar times a vector: ∇×(fF) = f(∇×F) + (∇f)×F. Curl of a cross product: ∇×(F×G) = F(∇·G) − G(∇·F) + (G·∇)F − (F·∇)G. The last is the 'BAC-CAB rule generalised to fields' — it appears in vortex stretching in fluid mechanics.

How do these identities interact with the Helmholtz decomposition?

Helmholtz says every sufficiently smooth, decaying vector field on ℝ³ splits uniquely as F = −∇φ + ∇×A — an irrotational part plus a solenoidal part. The two identities ∇×(∇φ) = 0 and ∇·(∇×A) = 0 guarantee that the irrotational part has no curl and the solenoidal part has no divergence, so the decomposition is consistent. Recovering φ and A from F amounts to solving two Poisson equations: ∇²φ = −∇·F and ∇²A = −∇×F (with gauge choices). Maxwell's equations in free space are precisely a coupled pair of Helmholtz decompositions for E and B.

Do these identities hold in curvilinear coordinates and on curved spaces?

Yes — they are coordinate-independent. The identities follow from the structure of the exterior derivative d acting on differential forms: d² = 0. ∇×(∇φ) = 0 is the statement d(df) = 0 for 0-forms, and ∇·(∇×F) = 0 is d(dω) = 0 for 1-forms. On a Riemannian manifold the same equations hold with the Hodge dual taking the place of the cross product, and the codifferential δ taking the place of −∇·. The identities are robust to curvature, but the vector Laplacian picks up Ricci-curvature terms (the Bochner–Weitzenböck formula).

What is the most common mistake when applying these identities?

Mishandling product rules — particularly ∇×(fF) versus ∇×F multiplied by f. They differ by the (∇f)×F term, and dropping it is a leading source of textbook errors. Another classic mistake is using ∇×(∇×F) = −∇²F (the free-space simplification) when ∇·F ≠ 0. Always check whether ∇·F = 0 before discarding the gradient-of-divergence term. A third trap: assuming ∇×(∇φ) = 0 makes φ globally recoverable from a curl-free F on any domain — true only on simply connected regions; on a punctured plane there are curl-free fields with no global potential.