Everyday examples of cohomology
Here’s a grab-bag of “cohomology in the wild”—ways the idea shows up in everyday-ish things. Think: local rules that don’t quite fit together globally, and the little “residue” of that mismatch is a cohomology class.
-
Setting one clock for a whole network (H¹ of a graph). Suppose edges of a network store measured time differences between neighboring devices. If those differences come from a single global clock, their sums around every cycle are 0. If some loop sums to +3 seconds, you can’t assign one consistent clock—your loop sum is a nonzero cohomology class.
-
Kirchhoff’s laws in circuits (graph cohomology). Node voltages are 0-cochains; edge voltage drops are 1-cochains. Taking differences (“gradient”) sends node voltages → edge drops. A pattern of drops is exact iff every loop sums to 0 (KVL). Batteries/induced EMFs make nonzero loop sums: that’s a nontrivial class in
measuring how much “potential” fails to exist globally. -
Wind around a chimney / water around a drain (de Rham
). Away from the chimney the field can be curl-free (closed), yet the circulation around the chimney isn’t 0. There’s no global potential function because the domain has a hole. That “circulation around the hole” lives in and counts independent loops. -
Magnetic/electric induction loops. Faraday’s law
says the electric field around a changing magnetic flux isn’t a pure gradient globally—even if it looks locally conservative. The cohomology class detects the “global twist” forced by the changing flux. -
Panorama/map stitching (Čech
). You align overlapping photos (local matches). If the pairwise alignments are perfectly compatible, they come from one global placement. If you go around a cycle of overlaps and come back rotated/shifted, that loop defect is a 1-cocycle that isn’t a coboundary—nonzero class says “no globally consistent stitching without a cut.” -
Reconstructing an image from its gradients (Poisson editing). Given desired pixel-gradients, you can recover an image iff those gradients are an exact field. If loop integrals don’t vanish, you get seams unless you cut the domain (killing
) or adjust gradients to kill the cohomology. -
GPS path independence & “conservative costs.” If road “efforts” (fuel/time differentials) are integrable to a single potential, the cost from A→B is path-independent. One-way streets, toll loops, or wind currents can create loop imbalances: those are precisely the obstructions measured in
. -
“Counting connected pieces” (
). is the simplest: it counts connected components. In practice: how many islands are there in your maze/map/graph? That’s the dimension of . -
Global balance laws (top cohomology). Integrating a density over a region gives a number that only depends on the region’s “top” cohomology class (think total mass/charge). Change coordinates, wiggle things—integrals of exact top-forms vanish; only the cohomology class survives.
One-line motto: cohomology measures whether “locally defined stuff” (differences, gradients, patches, phases) can be glued into a single global object—and if not, how it fails.
If you want, we can pick one (say, circuits or the panorama example) and work through a tiny concrete calculation.