Introduction to Differential Forms
There is one integral in calculus that every other integral wants to be when it grows up: \[ \int_a^b df = f(b) - f(a) \] That's the fundamental theorem of calculus. You integrate a derivative over an interval, and the answer only depends on the two endpoints. Everything in the middle cancels out. If you think back to all those integrals you did in calculus class, most of the work was trying to massage the integrand into this form. That's what \( u \)-substitution was for, and that's what "finding the antiderivative" means.
Then you get to vector calculus, and it all falls apart. Line integrals with \( \vec{F} \cdot d\vec{r} \), flux integrals with \( \vec{F} \cdot \hat{n} \, dA \), Green's theorem, the divergence theorem, Stokes' theorem, each one with its own notation, its own rules about which way is positive, and its own proof. It's a mess. Most of us memorized them as separate facts and never found out they were related. The theory of differential forms, mostly due to Élie Cartan (ay-LEE kar-TAHN), cleans up the mess. There is one kind of thing you integrate (a form), one derivative (\( d \)), and one theorem: \[ \int_M d\omega = \int_{\partial M} \omega \] Every theorem in that list is a special case of this one. In this post I'll build up to that equation, with interactive figures along the way, and I'll keep using the circle and the bundles from the previous article as home base.
What a 1-form is
Start with the thing under the integral sign in a line integral. Imagine you are walking along a path, and at each moment a toll collector looks at your position and your velocity and charges you. If you double your speed through a stretch of road, you cover it in half the time but pay twice the rate, so the toll for that stretch comes out the same. The charge is linear in your velocity, and that's the property that makes it a 1-form.
Here's the definition. A 1-form \( \omega \) on a manifold \( M \) assigns to each point \( p \) a linear map \( \omega_p : T_p M \to \mathbb{R} \). It eats tangent vectors and spits out numbers. In the bundle language from last time, the linear maps on \( T_p M \) form a vector space \( T_p^* M \) (the dual space), and these assemble into the cotangent bundle \( T^*M \). A 1-form is a smooth choice of one point in each fiber, which is called a section of the bundle. The simplest examples live on \( \mathbb{R}^2 \). The 1-form \( dx \) eats a vector and reports its \( x \)-component, \( dy \) reports the \( y \)-component, and every 1-form is some combination of the two: \[ \omega = a(x,y)\, dx + b(x,y)\, dy \] So the integral \( \int_\gamma \omega \) means: walk the path \( \gamma \), keep handing your velocity to \( \omega \), and add up the tolls.
Playing with 1-forms
Below are three 1-forms and three paths from \( P = (1.5, 0) \) to \( Q = (-1.5, 0) \) (the third path is a closed loop that comes back to \( P \)). The arrows show each form's dual vector field, so you pay a positive toll when you move with the arrows and get paid when you move against them. Drag the slider to walk the path and watch the integral add up:
Play with it for a minute. These three forms behave very differently, and each one teaches something:
- \( dx = d(x) \) is exact, which means it's \( df \) for some global function, here \( f = x \). The upper and lower paths both give \( x(Q) - x(P) = -3 \), and the loop gives \( 0 \). The answer doesn't care which way you went. That's the fundamental theorem of calculus in action.
- \( y\,dx \) is not closed (I'll define that in a moment). The upper and lower paths disagree, and the loop integral turns out to be the enclosed area with a minus sign. With this form, the route matters.
- \( d\theta \) is the weird one. It's closed but not exact. Wiggle a path a little and you get the same answer, but the upper path gives \( \pi \), the lower gives \( -\pi \), and the loop around the hole gives \( 2\pi \). Up close it looks like \( df \) for some \( f \), but no such \( f \) exists on the whole plane, and what goes wrong tells you how many times the path wound around the hole at the origin. This is the Linelander's instrument from the last article: a local measurement that adds up to a detector of global topology.
The rules of the game
Okay, now for the calculus. The whole thing runs on a few rules, and they all come from one design decision: a \( k \)-form measures oriented \( k \)-dimensional volume. A 0-form is a function. A 1-form measures (weighted, signed) length along a curve. A 2-form eats two vectors and reports the signed area of the parallelogram they span: \[ (dx \wedge dy)(v, w) = v_x w_y - v_y w_x \] That determinant is the wedge product \( \wedge \). Swap the two vectors and the sign flips, so: \[ dx \wedge dy = -\, dy \wedge dx, \qquad dx \wedge dx = 0 \] This isn't an arbitrary convention somebody picked. If you trace a parallelogram backwards it should count as negative, and a parallelogram squashed flat should have zero area. That's all antisymmetry is saying.
Next is the derivative \( d \), called the exterior derivative, which turns \( k \)-forms into \( (k{+}1) \)-forms. On functions it's the total differential you already know. On higher forms you differentiate the coefficients and wedge: \[ df = \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy, \qquad d(a\, dx + b\, dy) = \left( \frac{\partial b}{\partial x} - \frac{\partial a}{\partial y} \right) dx \wedge dy \] A form \( \omega \) is closed if \( d\omega = 0 \), and exact if \( \omega = d\eta \) for some \( \eta \). Go back to the playground and check: \( d(y\,dx) = -\,dx \wedge dy \neq 0 \), so it's not closed, and sure enough the route mattered. And \( d(d\theta) = 0 \), so it's closed, and small wiggles of the path didn't change anything.
The most important rule is also the shortest: \[ d^2 = 0 \] Apply \( d \) twice and you always get zero. Unwind it in coordinates and it's just the fact that mixed partial derivatives commute, \( \partial_x \partial_y f = \partial_y \partial_x f \). Hang on to this one, it comes back at the end as the mirror image of a fact about boundaries.
The dictionary: forms versus vector calculus
On \( \mathbb{R}^3 \), every operation from vector calculus turns out to be \( d \) in disguise:
| vector calculus | differential forms |
|---|---|
| function \( f \) | 0-form \( f \) |
| \( \nabla f \) (grad) | \( df \), a 1-form |
| \( \nabla \times \vec{F} \) (curl) | \( d \) of a 1-form, a 2-form |
| \( \nabla \cdot \vec{F} \) (div) | \( d \) of a 2-form, a 3-form |
| \( \nabla \times \nabla f = 0 \) | \( d^2 = 0 \) |
| \( \nabla \cdot (\nabla \times \vec{F}) = 0 \) |
Those two mysterious identities you had to memorize in vector calculus are the same rule. There's a catch hiding in this table, though. On \( \mathbb{R}^3 \) you can quietly convert 1-forms and 2-forms into vector fields, and that only works because of the dot product and the fact that there are three dimensions. On a general manifold you can't do that, so grad, curl and div stop making sense, but \( d \) keeps working just fine. That's why forms survive the trip into curved space.
Exercises
The rules above are all you need for these. You can type
answers as numbers or expressions like 2*pi or
-pi, and your progress is saved in your browser
().
Exercise 1. Let \( f = x^2 y \). Compute \( df \), then evaluate it at the point \( p = (1, 2) \) on the tangent vector \( v = (3, 4) \). That is, compute \( df_p(v) \).
Hint
\( df = \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy \), and \( dx(v) = v_x \), \( dy(v) = v_y \).Solution
\( df = 2xy\, dx + x^2\, dy \). At \( p = (1,2) \) this is \( 4\,dx + 1\,dy \), and feeding it \( v = (3,4) \) gives \( 4 \cdot 3 + 1 \cdot 4 = 16 \).Exercise 2. Evaluate the 2-form \( dx \wedge dy \) on the pair of vectors \( v = (2, 1) \), \( w = (1, 3) \).
Hint
\( (dx \wedge dy)(v, w) = v_x w_y - v_y w_x \), the signed area of the parallelogram spanned by \( v \) and \( w \).Solution
\( 2 \cdot 3 - 1 \cdot 1 = 5 \).Exercise 3. Let \( f = xy^2 \). Compute \( d(df) \) and enter the coefficient of \( dx \wedge dy \).
Hint
First \( df = y^2 dx + 2xy\, dy \). Then use \( d(a\,dx + b\,dy) = (\partial_x b - \partial_y a)\, dx \wedge dy \). Honestly, one of the rules already tells you the answer.Solution
\( \partial_x(2xy) - \partial_y(y^2) = 2y - 2y = 0 \). Of course it is. \( d^2 = 0 \) every time, and what makes it work is that mixed partials commute.Exercise 4. Compute \( \displaystyle\oint_{S^1} y\, dx \), around the unit circle, counterclockwise.
Hint
Parametrize: \( x = \cos t \), \( y = \sin t \), \( t \in [0, 2\pi] \), so \( dx = -\sin t \, dt \).Solution
\( \int_0^{2\pi} \sin t \,(-\sin t)\, dt = -\int_0^{2\pi} \sin^2 t \, dt = -\pi \). Same thing the playground showed you: \( \oint y\,dx \) is minus the enclosed area.Exercise 5. Compute \( \displaystyle\oint d\theta \) along the path that goes around the unit circle twice, counterclockwise.
Hint
The integral of \( d\theta \) along a path is the total change in angle along it. What does going around twice do to the angle?Solution
Each loop adds \( 2\pi \), so the answer is \( 4\pi \). In general \( \frac{1}{2\pi}\oint d\theta \) is the winding number. That's an integer, and a 1-form just computed it for you. Closed but not exact forms are topology detectors.Exercise 6. Let \( \omega = -y\,dx + x\,dy \) (note: no denominator this time). Use \( d\omega \) and the area of the unit disk to compute \( \displaystyle\oint_{S^1} \omega \) counterclockwise, without parametrizing anything.
Hint
\( d\omega = (\partial_x(x) - \partial_y(-y))\, dx \wedge dy \). Then use the theorem this page is building up to: the integral of \( \omega \) around the boundary equals the integral of \( d\omega \) over the inside.Solution
\( d\omega = 2\, dx \wedge dy \), so \( \oint_{S^1} \omega = \int_{D^2} 2\, dx \wedge dy = 2 \cdot \pi = 2\pi \). Congratulations, you just used the generalized Stokes theorem before I officially told you what it was.The generalized Stokes theorem
Here it is, the reason the whole subject exists. For any \( k \)-form \( \omega \) on an oriented \( (k{+}1) \)-dimensional manifold \( M \) with boundary \( \partial M \): \[ \boxed{\; \int_M d\omega = \int_{\partial M} \omega \;} \] In plain words: add up the derivative over the inside, and you get the same thing as adding up the original over the edge. The fundamental theorem of calculus is the case where \( M \) is an interval \( [a,b] \), whose boundary is the two points \( \{a, b\} \) (with signs), and \( \omega = f \) is a 0-form: \( \int_a^b df = f(b) - f(a) \). The integral from the top of the page was Stokes' theorem the whole time. It was wearing a disguise.
| classical name | \( M \) | \( \omega \) |
|---|---|---|
| Fundamental theorem of calculus | interval | 0-form \( f \) |
| Green's theorem | region in the plane | 1-form |
| Kelvin–Stokes (curl) theorem | surface in \( \mathbb{R}^3 \) | 1-form |
| Divergence theorem | solid region in \( \mathbb{R}^3 \) | 2-form |
Four theorems, four separate proofs in a calculus course, and here they're one line. So who cares, besides people who hate memorizing things? Well, the theorem has a consequence you can see. The right side only depends on \( \partial M \), so if two different surfaces share the same boundary, \( d\omega \) integrates to the same value over both of them. In the figure below, the field is \( \vec{F} = (-y, x, 0) \), and its curl corresponds to the 2-form \( d\omega = 2\,dx\wedge dy \). The surface is a membrane stretched across the unit circle, like a soap film. Deform the membrane as much as you like, the flux won't budge, because it equals the circulation around the boundary, and the boundary stays put.
Why is Stokes' theorem true? The proof comes down to a bookkeeping fact: the boundary of a boundary is empty, \( \partial(\partial M) = \varnothing \). A solid ball's boundary is a sphere, and a sphere has no edge. Chop \( M \) into little pieces, and the inside edges of neighboring pieces cancel in pairs, leaving only the outer edge. Now think back to \( d^2 = 0 \) from the rules. The two facts are mirror images of each other, reflected through the theorem, with \( d \) as the algebraic shadow of \( \partial \). Later, topologists built de Rham cohomology (a way of classifying the closed but not exact forms) and made this mirror image exact. Count the forms like \( d\theta \) on a space, and you've counted its holes.
Back to the bundle, and into physics
The bundles article ended with \( \oint_{S^1} d\theta = 2\pi \) as evidence that \( d\theta \) has no global antiderivative. Now you can see all the gears behind that sentence. \( d\theta \) is closed, by \( d^2 = 0 \) (locally it really is \( d \) of an angle function), so by Stokes its integral can't change when you deform the loop, as long as the loop stays out of the hole. The \( 2\pi \) is nailed down by topology.
Physics runs on the same trick. The electromagnetic potential of a thin solenoid is, up to constants, our \( d\theta \) form. The magnetic field outside the solenoid is zero, and yet a quantum electron carried around it picks up a measurable phase proportional to \( \oint A \). That's the Aharonov–Bohm effect, and I think it's one of the strangest results in physics. The electron is somehow affected by a field it never touches. It's nature telling us that the U(1) bundle and its forms are the real degrees of freedom, and the field strength alone doesn't tell the whole story. In the modern formulation, Maxwell's equations are two lines about a 2-form \( F = dA \): \[ dF = 0, \qquad d{\star}F = J \] The first one is \( d^2 = 0 \), which you get for free, and \( A \) is a connection on a U(1) bundle over spacetime. The words on this page and the last one are the words the Standard Model is written in.
Where we are
We wanted every integral to look like \( \int df = f(b) - f(a) \), and we got our wish, but it cost something. The integrand had to become a form, the derivative had to become \( d \), and the domain had to become a manifold with boundary. In exchange, the whole zoo of integrals collapsed into \( \int_M d\omega = \int_{\partial M} \omega \). Path independence got a name ("exact"), the ways it fails turned out to be topology, and Maxwell's four equations shrank to two short ones. Forms are the instruments that turn the global twists from the last article into numbers you can compute. Not bad for an integral from first-year calculus. It was never just about intervals, it was Stokes' theorem hiding in one dimension.