Differential forms — what integrals are really made of
Differential forms — what integrals are really made of
The grad/curl/div of vector calculus and its four integral theorems collapse into a single line: on a manifold.
Opening
Undergraduate vector calculus asks you to memorize three differential operators (grad, curl, div) and four integral theorems (fundamental theorem of calculus, Green’s, Kelvin–Stokes, Gauss divergence) as if they were unrelated facts. This chapter shows that all four are the same one-line statement, , written four times with different dimensions. The cast is small: 1-forms, the wedge product, and the exterior derivative . By the end of the chapter you should be able to rewrite a vector-calculus identity as a statement about forms, and know which form-language sentence reduces to which classical theorem. Chapter 7’s Lagrangian mechanics will use this language immediately when we take the variation of the action.
Main 1 — 1-forms, the duals of vectors
A 1-form at a point is a linear map that eats a single vector and returns a real number. It is therefore the dual of a vector. In coordinates we define the differential to be the machine that extracts the -th component of a vector. Any 1-form is then a linear combination of these basis elements,
(Einstein summation), and a 1-form field is one whose coefficients depend on position.
The most familiar example is the exact differential of a smooth function :
In freshman physics this was just “the change in under a small displacement ”. Read again now, is not a piece of suggestive notation: it is a 1-form, the one whose action on a displacement vector returns the first-order change of .
Main 2 — The wedge product and higher-degree forms
To handle oriented areas and volumes we need a way to multiply two 1-forms into a 2-form. The wedge product is the antisymmetric multiplication defined by
Everything else follows from that one antisymmetry. A generic 2-form in three dimensions is
and when fed two vectors it returns the signed area of the parallelogram they span, weighted by . On an -dimensional manifold the top-degree form — the -form — is exactly a volume element. We define an orientation as the choice of a nowhere-vanishing top form; that is the cleanest way to fix signed volumes without picking coordinates.
Main 3 — The exterior derivative unifies grad, curl, div
The exterior derivative is a linear operator that turns a -form into a -form. On a 0-form (a function) it is the differential we already met: . On a 1-form ,
because antisymmetry of the wedge throws away the symmetric part automatically. The single most important property of is
which is just the commuting of partial derivatives in disguise. In three dimensions this one operator collapses into all three classical operators:
- of a 0-form is the 1-form — its components are the gradient .
- of a 1-form is a 2-form whose components are the curl .
- of a 2-form is a 3-form whose coefficient is the divergence .
And the identity is then the two classical identities and stated at once.
Main 4 — Stokes’ theorem in one line
Now the payoff. For any compact oriented manifold with boundary and any -form ,
This single line contains all four of the integral theorems you memorized as separate facts.
- a 1D interval, — the fundamental theorem of calculus, .
- a planar region, — Green’s theorem, .
- an oriented 2-surface in , — Kelvin–Stokes, .
- a 3D solid, a 2-form — Gauss’ divergence theorem, .
Four classical theorems become four rewordings of one identity. The moment you have an equation that you learn once and apply in four places, vector calculus shrinks dramatically.
In Python
# Verify Green's theorem numerically on the unit disk.
# omega = -y dx + x dy → d omega = 2 dx ^ dy
# Both the boundary integral and the area integral should be near 2π.
import numpy as np
# (a) Boundary integral: parametrize the unit circle by t in [0, 2π)
N = 20000
t = np.linspace(0.0, 2.0 * np.pi, N, endpoint=False)
dt = (2.0 * np.pi) / N
x, y = np.cos(t), np.sin(t)
dxdt, dydt = -np.sin(t), np.cos(t)
# omega(γ'(t)) = (-y)·x'(t) + x·y'(t) = sin^2 t + cos^2 t = 1
integrand_boundary = (-y) * dxdt + x * dydt
line_integral = np.sum(integrand_boundary) * dt
# (b) Area integral: d omega = 2 dx ^ dy, so 2 · area(disk) = 2π
M = 2000
xs = np.linspace(-1.0, 1.0, M)
ys = np.linspace(-1.0, 1.0, M)
X, Y = np.meshgrid(xs, ys, indexing="xy")
inside = (X * X + Y * Y) <= 1.0
cell_area = (xs[1] - xs[0]) * (ys[1] - ys[0])
area_integral = 2.0 * np.sum(inside) * cell_area
print(f"∫∂M ω = {line_integral:.6f}")
print(f"∫M dω = {area_integral:.6f}")
print(f"theory 2π = {2.0 * np.pi:.6f}")
When both numbers land near , you have touched the simplest non-trivial case of Stokes’ theorem by hand. The area integral converges more slowly as the grid is refined because the disk’s boundary is approximated by a staircase.
To the next chapter
Chapter 7: Lagrangian mechanics uses the 1-forms and exterior derivative of this chapter directly when taking the variation of the action . Even the familiar Euler–Lagrange left-hand side is, in disguise, a component-form statement that a certain 1-form on configuration-velocity space is closed. With the language of forms in place, the next chapter’s jump from Lagrangian to Hamiltonian mechanics will look like a one-line Legendre transform.