Introduction to Differential Forms
There is exactly one integral in mathematics that everyone agrees is beautiful: \[ \int_a^b df = f(b) - f(a) \] The fundamental theorem of calculus. You integrate a derivative over an interval, and the answer only depends on the two endpoints. All the information in the middle cancels out. Every other integral you have ever computed was an attempt to fight your integrand into this form: that's what \( u \)-substitution is, that's what "finding the antiderivative" means.
Now look at the rest of the integrals in a vector calculus course: 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 with its own notation, its own orientation conventions, and its own proof. It's a zoo. The theory of differential forms is the discovery, mostly due to Élie Cartan, that the zoo is one animal. There is one object worth integrating (a form), one derivative (\( d \)), and one theorem: \[ \int_M d\omega = \int_{\partial M} \omega \] Everything in the zoo is a special case. This page builds up to that equation with your hands on the sliders, 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. You are walking along a path, and at each moment the integrand looks at your position and your velocity and charges you a toll. Double your speed through a region, and you cover it in half the time but pay double the rate: the toll for the trip is unchanged. That's the defining property: the charge is linear in your velocity.
So here is 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} \), eating tangent vectors and returning 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), these assemble into the cotangent bundle \( T^*M \), and a 1-form is a smooth choice of a point in each fiber, called a section of the bundle. The simplest examples on \( \mathbb{R}^2 \): \( dx \) is the 1-form that eats a vector and reports its \( x \)-component, \( dy \) reports the \( y \)-component, and every 1-form is a combination \[ \omega = a(x,y)\, dx + b(x,y)\, dy \] The integral \( \int_\gamma \omega \) means: walk the path \( \gamma \), continuously feed your velocity to \( \omega \), and accumulate the toll.
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 returns to \( P \)). The arrows show each form's dual vector field, so the toll is positive when you move with the arrows. Drag the slider to walk the path and watch the integral accumulate:
Three very different personalities, and they are worth internalizing:
- \( dx = d(x) \) is exact: it is \( df \) for the global function \( f = x \). Both the upper and lower path give \( x(Q) - x(P) = -3 \), and the loop gives \( 0 \). Path independence: the fundamental theorem of calculus in action.
- \( y\,dx \) is not closed (we'll define this in a moment): upper and lower paths disagree, and the loop integral is the enclosed area with a sign. This form genuinely depends on the journey, not the destination.
- \( d\theta \) is the interesting one: closed but not exact. Nearby paths give the same answer, but the upper path gives \( \pi \), the lower gives \( -\pi \), and the loop around the puncture gives \( 2\pi \). The form is locally a \( df \) and globally not, and the failure precisely measures how the path winds around the hole at the origin. This is the Linelander's instrument from the last article: a local measurement accumulating into a detector of global topology.
The rules of the game
Now the calculus. Everything is generated by a few rules, and the rules are forced by 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 whole personality of the wedge product \( \wedge \). Swap the vectors and the sign flips, so: \[ dx \wedge dy = -\, dy \wedge dx, \qquad dx \wedge dx = 0 \] Antisymmetry is not a convention, it's what "oriented volume" means: a parallelogram traversed backwards counts negative, and a flattened parallelogram has area zero.
Then there is the derivative \( d \), the exterior derivative, which turns \( k \)-forms into \( (k{+}1) \)-forms. On functions it's the familiar total differential, 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 \). Check the examples from the playground: \( d(y\,dx) = -\,dx \wedge dy \neq 0 \), not closed, path-dependent. And \( d(d\theta) = 0 \), closed, locally path-independent.
The deepest rule is also the shortest: \[ d^2 = 0 \] Applying \( d \) twice always gives zero. Unwind it in coordinates and it's the equality of mixed partial derivatives, \( \partial_x \partial_y f = \partial_y \partial_x f \), dressed up in its Sunday best. Hold onto this rule: at the end of the page it will turn out to be the mirror image of a fact about boundaries.
The dictionary: forms versus vector calculus
On \( \mathbb{R}^3 \), every operation of vector calculus is \( d \) wearing a costume:
| 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 \) |
The two mystery identities of vector calculus are one rule. Also notice what the dictionary needs to work: on \( \mathbb{R}^3 \) you can secretly convert 1-forms and 2-forms into vector fields because of the dot product and the dimension. On an arbitrary manifold you can't, and then grad, curl, and div stop making sense while \( d \) keeps working. Forms are what survives the trip to curved space.
Exercises
Time to get your hands dirty: the rules above are enough to
solve all of these. Answers can be typed as numbers or
expressions like 2*pi or -pi. 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 \). You already know what the answer must be from one of the rules.Solution
\( \partial_x(2xy) - \partial_y(y^2) = 2y - 2y = 0 \). Of course: \( d^2 = 0 \), always, and the mechanism is the equality of mixed partials.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 \). This matches the playground: \( \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, an integer a 1-form can compute. A closed-but-not-exact form is a topology detector.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 whole page is building toward: 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 \). You just used the generalized Stokes theorem.The generalized Stokes theorem
Here it is, the theorem the whole subject was built to state. 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 words: the derivative summed over the inside equals the original thing summed 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 perfect integral from the top of the page was Stokes all along.
| 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, one statement here. And the theorem has a striking consequence you can see: the left side only depends on \( \partial M \), so if two different surfaces share the same boundary, a closed \( d\omega \) integrates to the same value over both. Below, the field is \( \vec{F} = (-y, x, 0) \), whose curl corresponds to the 2-form \( d\omega = 2\,dx\wedge dy \). The surface is a membrane spanning the unit circle. Deform the membrane all you like: the flux refuses to change, because the boundary circulation is what it "really" is.
One more piece of elegance. Why is Stokes' theorem even true? The proof reduces to a bookkeeping fact: the boundary of a boundary is empty, \( \partial(\partial M) = \varnothing \). A solid ball's boundary is a sphere, and the sphere has no edge. Interior edges of adjacent little pieces cancel in pairs, leaving only the outer edge. Now recall \( d^2 = 0 \) from the rules. The two facts are mirror images through the theorem: \( d \) is the algebraic shadow of \( \partial \). When topologists later built de Rham cohomology, the classification of closed-but-not-exact forms, this mirror became an exact science: counting the forms like \( d\theta \) on a space tells you how many holes it has.
Back to the bundle, and into physics
In the bundles article we ended with \( \oint_{S^1} d\theta = 2\pi \) as evidence that \( d\theta \) has no global antiderivative. Now you can see the full machinery behind that sentence: \( d\theta \) is closed by \( d^2 = 0 \) (locally it is \( d \) of an angle function), so by Stokes its integral cannot change under any deformation of the loop that stays in the punctured plane. The value \( 2\pi \) is pinned by topology. A number produced by calculus, protected by shape.
Physics runs on this exact mechanism. The electromagnetic potential of a thin solenoid is, up to constants, our \( d\theta \) form: zero field outside, yet a quantum electron carried around the solenoid picks up a measurable phase proportional to \( \oint A \). That is the Aharonov–Bohm effect, and it is the physical world confirming that the U(1) bundle and its forms, not the field strength alone, are the real degrees of freedom. In the modern formulation, Maxwell's equations are two lines about a 2-form \( F = dA \): \[ dF = 0, \qquad d{\star}F = J \] where the first is \( d^2 = 0 \) for free, and \( A \) is a connection on a U(1) bundle over spacetime. The vocabulary of this page and the last one is, quite literally, the vocabulary of the Standard Model.
Where we are
We wanted every integral to look like \( \int df = f(b) - f(a) \), and we got our wish, at a fair price: 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 integral zoo collapsed into \( \int_M d\omega = \int_{\partial M} \omega \), path-independence became the word "exact," the failure of path-independence became topology, and Maxwell's four equations became two short ones. Forms are the instruments that turn the global twists of the last article into computable numbers.
What we have not done yet is geometry: nothing on this page can measure a length, an angle, or a curvature. The next instruments to build are connections and metrics, and they lead somewhere worth going: black holes you can render, and gauge fields you can simulate.