Cohomology — Simplicial and Singular
Cohomology assigns to a topological space a graded ring built by dualizing the chain complex of simplices and taking the cohomology of the resulting cochain complex. The core result: simplicial and singular cohomology agree on triangulable spaces, both are homotopy invariants, and the cup product turns cohomology into a graded-commutative ring — strictly finer than homology. Applies across algebraic topology, geometry, and physics (gauge theory, anomalies). Developed by Alexander, Kolmogorov, Čech, Whitney, and Eilenberg–MacLane in the 1930s–1940s.Singular cohomology is the cohomology of the cochain complex , where is the free abelian group on singular -simplices . Simplicial cohomology does the same for a simplicial (or -)complex using only the finitely many simplices of a triangulation, making it computable. Cohomology matters because it carries a ring structure (the cup product) absent in homology, classifies maps into Eilenberg–MacLane spaces, and represents characteristic classes and obstructions. A surprising fact: although cohomology groups are "dual" to homology groups, they are not simply the dual vector spaces in general — the Universal Coefficient Theorem reveals a torsion-shifting correction that mixes adjacent dimensions.
The Core Insight
Homology measures cycles modulo boundaries by pushing chains forward; cohomology measures functions on chains that vanish on boundaries, modulo those that are themselves "derivatives." Dualizing flips the boundary map into a coboundary running in the opposite direction, and the resulting contravariant functor acquires a multiplicative structure — the cup product — that makes cohomology a far sharper invariant than its dimensions alone suggest.
Formal Statement
Singular chain complex
For a space and the standard -simplex , a singular -simplex is a continuous map . The singular chain group is the free abelian group on these. The boundary operator is
where is the -th face inclusion (omitting vertex ). One has .
Singular cochain complex and cohomology
Fix a commutative ring (often , a field, or ). The group of singular -cochains with coefficients in is . The coboundary is the dual of :
Since we get . The -th singular cohomology group is
Elements of are cocycles; elements of are coboundaries.
Simplicial cohomology
Let be a simplicial complex (or -complex) with oriented simplices. Let be the free abelian group on -simplices and the simplicial boundary. Set with coboundary dual to . The simplicial cohomology is
Because has finitely many simplices in each dimension when it is finite, is finitely generated and is directly computable by linear algebra over .
Simplicial = Singular
If is the geometric realization of a simplicial (or -) complex , the canonical chain map inducing induces, after dualizing, a natural isomorphism
Universal Coefficient Theorem for cohomology
For any space and abelian group there is a natural short exact sequence, split (non-naturally),
The map is the evaluation (Kronecker) homomorphism .
Cup product / ring structure
For cochains define, for a singular -simplex ,
using front and back faces. Then , so descends to cohomology, making a graded-commutative ring:
Why It Holds / Derivation
Cohomology is a homotopy-invariant functor
Step 1 — Contravariant functoriality. A continuous induces , , a chain map. Dualizing reverses the arrow: commutes with , hence induces with . Step 2 — Chain homotopy from a homotopy. If is a homotopy , the prism (subdivision of ) gives a chain homotopy with . Step 3 — Dualize the homotopy. Apply : satisfies , i.e. and are cochain-homotopic. Step 4 — Conclusion. Cochain-homotopic maps induce equal maps on cohomology: if is a cocycle, . Hence , and homotopy equivalences induce isomorphisms.Mayer–Vietoris in cohomology
Step 1. For an open cover , the short exact sequence of cochain complexes arises from restriction maps; exactness uses that small-simplex chains are a quasi-isomorphism (excision/barycentric subdivision). Step 2. The snake lemma yields the long exact sequenceSamuel Eilenberg & Saunders MacLane | 1940s
Eilenberg (1913–1998) and MacLane (1909–2005) axiomatized homology and cohomology, introducing the Eilenberg–Steenrod axioms (with Steenrod) and the spaces that represent cohomology: . Their invention of category theory (1945) was motivated precisely by the need to make "natural" transformations like the cup product and the UCT splitting precise. MacLane's work on cohomology of groups and Eilenberg's on singular theory unified the competing 1930s definitions into the modern functorial framework.
Building Intuition
Think of a -cochain as a "measuring device" that eats a -dimensional piece of the space and returns a number. The cocycle condition says the measurement is conservative: integrating over the boundary of any -cell gives zero — a discrete Stokes' theorem. A coboundary is a measurement that is the "total change" of a lower-dimensional potential, hence trivially conservative. Cohomology = conservative measurements modulo exact ones = the genuinely "circulating" fields the space supports. The de Rham analogy is exact: differential forms are continuous cochains, is , closed/exact forms are cocycles/coboundaries, and the cup product is the wedge product .
Why a physicist cares
In gauge theory a connection is a 1-form and its field strength a 2-form; the magnetic monopole's charge is the integral of over a sphere, an element of . Dirac quantization is the statement that this cohomology class is integral. Cup products encode anomalies and the ring structure of characteristic classes (Chern, Stiefel–Whitney). Discrete versions (lattice gauge theory, topological order) literally use simplicial cochains on a triangulated spacetime.
Worked Examples
Cohomology of the circle $S^1$
Given: as a -complex with one vertex and one edge (a loop). Coefficients . Step 1 — Chain groups. , higher zero. Boundary . Step 2 — Cochains. . Coboundary is the transpose of , so . Step 3 — Cohomology. (since , all of is cocycles). . Step 4 — Check via UCT. , both free, so and , confirming the result.Cohomology of $\mathbb{RP}^2$ — torsion appears
Given: Real projective plane, with known integral homology . Step 1 — Apply UCT in degree 1. Step 2 — Degree 2 (the torsion shift). Since , we get . Step 3 — With coefficients (ring structure). with , so generates .Common Misconceptions
Cohomology is not just the dual of homology
A pervasive error is to assume . This fails whenever has torsion: the term in [6] contributes. For , homology has in degree 1, but cohomology has in degree 2, not degree 1. Over a field the term vanishes and does hold — which is why people forget the correction.
The cup product is not commutative on cochains
Formula [7] is not symmetric: as cochains in general. Graded-commutativity [8] holds only after passing to cohomology, via a non-trivial chain homotopy (whose obstruction to vanishing yields the Steenrod squares ). Confusing cochain-level and cohomology-level identities is a classic source of false "proofs."
Same groups, different rings
and have identical cohomology groups: in degrees . But in the generator satisfies (it generates ), while in the wedge kills all products, so . The cup product detects that is "twisted" while the wedge is not — these spaces are not homotopy equivalent, a fact invisible to homology or cohomology groups alone.The coboundary $\delta$ runs opposite to the boundary $\partial$, dualizing the chain complex
<svg viewBox="0 0 720 280" xmlns="http://www.w3.org/2000/svg">
<rect width="720" height="280" fill="#0a0e17"/>
<text x="360" y="30" fill="#e2e8f0" font-size="16" text-anchor="middle">Chain complex (down) vs Cochain complex (up)</text>
<!-- chain row -->
<text x="60" y="110" fill="#e2e8f0" font-size="15" text-anchor="middle">C₀</text>
<text x="220" y="110" fill="#e2e8f0" font-size="15" text-anchor="middle">C₁</text>
<text x="380" y="110" fill="#e2e8f0" font-size="15" text-anchor="middle">C₂</text>
<text x="540" y="110" fill="#e2e8f0" font-size="15" text-anchor="middle">C₃</text>
<path d="M205 105 L75 105" stroke="#94a3b8" stroke-width="2" marker-end="url(#a)"/>
<path d="M365 105 L235 105" stroke="#94a3b8" stroke-width="2" marker-end="url(#a)"/>
<path d="M525 105 L395 105" stroke="#94a3b8" stroke-width="2" marker-end="url(#a)"/>
<text x="140" y="95" fill="#94a3b8" font-size="13" text-anchor="middle">∂₁</text>
<text x="300" y="95" fill="#94a3b8" font-size="13" text-anchor="middle">∂₂</text>
<text x="460" y="95" fill="#94a3b8" font-size="13" text-anchor="middle">∂₃</text>
<!-- cochain row -->
<text x="60" y="200" fill="#e2e8f0" font-size="15" text-anchor="middle">C⁰</text>
<text x="220" y="200" fill="#e2e8f0" font-size="15" text-anchor="middle">C¹</text>
<text x="380" y="200" fill="#e2e8f0" font-size="15" text-anchor="middle">C²</text>
<text x="540" y="200" fill="#e2e8f0" font-size="15" text-anchor="middle">C³</text>
<path d="M75 195 L205 195" stroke="#d4a853" stroke-width="2.5" marker-end="url(#b)"/>
<path d="M235 195 L365 195" stroke="#d4a853" stroke-width="2.5" marker-end="url(#b)"/>
<path d="M395 195 L525 195" stroke="#d4a853" stroke-width="2.5" marker-end="url(#b)"/>
<text x="140" y="218" fill="#d4a853" font-size="13" text-anchor="middle">δ⁰</text>
<text x="300" y="218" fill="#d4a853" font-size="13" text-anchor="middle">δ¹</text>
<text x="460" y="218" fill="#d4a853" font-size="13" text-anchor="middle">δ²</text>
<!-- dualization arrows -->
<path d="M60 120 L60 185" stroke="#94a3b8" stroke-width="1" stroke-dasharray="4 3"/>
<path d="M220 120 L220 185" stroke="#94a3b8" stroke-width="1" stroke-dasharray="4 3"/>
<path d="M380 120 L380 185" stroke="#94a3b8" stroke-width="1" stroke-dasharray="4 3"/>
<path d="M540 120 L540 185" stroke="#94a3b8" stroke-width="1" stroke-dasharray="4 3"/>
<text x="640" y="155" fill="#e2e8f0" font-size="12" text-anchor="middle">Hom(–,R)</text>
<text x="360" y="260" fill="#d4a853" font-size="13" text-anchor="middle">δⁿ = (∂ₙ₊₁)ᵀ : raises degree, runs rightward</text>
<defs>
<marker id="a" markerWidth="9" markerHeight="9" refX="7" refY="3" orient="auto">
<path d="M0,0 L7,3 L0,6 Z" fill="#94a3b8"/></marker>
<marker id="b" markerWidth="9" markerHeight="9" refX="7" refY="3" orient="auto">
<path d="M0,0 L7,3 L0,6 Z" fill="#d4a853"/></marker>
</defs>
</svg>
Connections
Cohomology sits at a crossroads. Via the de Rham theorem, de Rham Cohomology of a smooth manifold is isomorphic (as rings, by the wedge/cup correspondence) to singular cohomology with coefficients. Čech Cohomology agrees with singular on paracompact spaces and is the natural home for sheaf-theoretic generalizations, leading to Sheaf Cohomology and Derived Functors. The representability links cohomology to Homotopy Theory and Eilenberg–MacLane Spaces. Generalizing the Eilenberg–Steenrod axioms by dropping the dimension axiom yields Generalized Cohomology Theories such as K-theory and cobordism. The cup product is the degree-zero shadow of richer structure in Spectral Sequences and Steenrod Algebra.
Real-World Applications
- Dirac monopole quantization (physics): magnetic charge = class in ; integrality forces .
- Topological data analysis: persistent (co)homology of point clouds via simplicial complexes (Vietoris–Rips, Čech) detects holes in data; software like Ripser computes simplicial cohomology of large filtrations.
- Obstruction theory / robotics: extending sections of a fibration is obstructed by classes in — used in motion-planning algorithms and sensor-network coverage.
- Gauge anomalies (quantum field theory): anomaly cancellation conditions are cohomological (Green–Schwarz mechanism uses , cup-product relations).
- Characteristic classes in engineering: Stiefel–Whitney classes in decide orientability and the existence of nowhere-zero vector fields on manifolds.
- Topological insulators / condensed matter: band structures are classified by cohomology and K-theory of the Brillouin zone torus.
- Cryptography & coboundaries: group cohomology classifies central extensions used in some key-exchange and secret-sharing constructions.
Historical Development
- 1895–1904: Poincaré introduces homology and duality (Analysis Situs), implicitly the seed of cohomological duality but with no cochain language.
- 1925–1928: Emmy Noether reframes homology in terms of abelian groups, enabling the dual (Hom) construction.
- 1934–1936: J. W. Alexander and A. N. Kolmogorov independently introduce cochains and the cup/coboundary operations at the Moscow conference (1935); priority and sign conventions are debated.
- 1935: E. Čech defines cohomology via open covers and nerves — Čech Cohomology.
- 1937: H. Whitney coins the term "cup product" and clarifies its formula and properties.
- 1944: Eilenberg gives the modern, rigorous definition of singular homology and cohomology, with continuous maps of simplices.
- 1945: Eilenberg & Steenrod state the axioms characterizing (co)homology; Eilenberg & MacLane found category theory to express naturality.
- 1947–1952: Steenrod constructs the squares ; the failure of cochain-level commutativity becomes a powerful invariant. de Rham's theorem (1931, sharpened later) ties forms to cohomology.
- 1950s: Serre's spectral sequence and Leray's sheaf cohomology integrate singular cohomology into the broader machinery of modern algebraic topology and geometry.
Subtleties & Limits
The cup product is only the first layer: the full Steenrod operations and the failure of strict commutativity at the cochain level encode deep secondary information, and computing the action of the Steenrod algebra on for complicated remains hard. More broadly, the Adams spectral sequence built from over the Steenrod algebra is the gateway to stable homotopy groups of spheres — still unknown in general. On the foundational side, while singular and Čech cohomology agree for nice (paracompact, locally contractible) spaces, they diverge for pathological spaces (e.g. the Warsaw circle), and characterizing exactly when sheaf, Čech, and singular theories coincide leads into subtle point-set and topos-theoretic questions still studied today.