Algebraic topology is the art of assigning algebraic invariants to topological spaces in a way that respects continuous deformations. Rather than studying the intricate details of how a space is constructed geometrically, we instead ask: what algebraic information can we extract that remains constant whenever the space is deformed continuously? This philosophy transforms topology from a study of shapes into a study of algebraic structures like groups, rings, and modules — tools far more amenable to computation and reasoning.
The course begins with homotopy, the formalization of continuous deformation, which provides both the conceptual foundation and the key mechanism ensuring that our invariants are well-defined: two homotopic maps induce the same algebraic effects. From there, we develop singular homology, arguably the most natural and powerful such invariant, by counting and canceling certain algebraic combinations of simplices. The early chapters — covering singular (co)homology, the four major computational tools, and reduced homology — establish the machinery needed to compute homology groups for concrete spaces. Cell complexes provide a dramatically more efficient framework for these calculations, reducing the infinite-dimensional chain complexes of singular homology to finite computations.
The later chapters expand both the scope and power of homology theory. We generalize to arbitrary coefficient rings rather than just integers, introducing cohomology as the dual perspective and revealing hidden multiplicative structure through the cup product. The Kunneth theorem and universal coefficients theorem clarify how homology behaves under products and extensions, while vector bundles and manifolds showcase applications to high-dimensional geometry. Poincare duality stands as the capstone: a profound symmetry asserting that the homology and cohomology of a closed oriented manifold are dual to each other, revealing an elegant interplay between geometry and algebra that has shaped topology for over a century.
# Introduction
This chapter introduces the central organizing idea of algebraic topology: studying spaces and maps up to continuous deformation. Throughout the course, the word "map" means "continuous function." We define homotopy between maps, homotopy equivalence between spaces, and explain why these are the natural notions of sameness when one wants invariants that see topology rather than geometry. The chapter closes by motivating the algebraic machinery — homology and cohomology — that the rest of the course develops.
## Homotopy Between Maps
Topology studies spaces up to homeomorphism, but homeomorphism is a very rigid notion: it asks for a bijective continuous map with a continuous inverse. In practice we often have two maps $f_0, f_1: X \to Y$ that are "morally the same" — they describe paths in the same homology class, or sections over the same base — yet are not literally equal. Treating them as genuinely different would make every algebraic invariant hopelessly sensitive to irrelevant perturbations. What we need is a way to declare two maps equivalent whenever one can be continuously deformed into the other. Without such a notion, the algebraic objects we attach to spaces would not be invariants at all: a tiny deformation of a map could change the computed homology class, and we would have no stable theory.
To see what goes wrong without homotopy, consider two maps from $[0,1]$ into $\mathbb{R}^2 \setminus \{0\}$: the path $f_0(t) = (\cos \pi t, \sin \pi t)$ (a semicircle above the origin) and $f_1(t) = (\cos \pi t, -\sin \pi t)$ (a semicircle below). Both run from $(-1, 0)$ to $(1, 0)$, and they are not equal as maps. But topologically they behave identically with respect to every invariant that does not see the hole at the origin — there is no obstruction to deforming one into the other within $\mathbb{R}^2 \setminus \{0\}$ while keeping the endpoints fixed. If our theory distinguished these two maps, it would be measuring an irrelevant geometric accident rather than genuine topology. The correct framework identifies them as equivalent, which motivates the following definition.
[definition: Homotopy]
Let $X$ and $Y$ be topological spaces. A **homotopy** between maps $f_0, f_1: X \to Y$ is a map $F: [0,1] \times X \to Y$ such that
\begin{align*}
F(0, x) = f_0(x) \quad \text{and} \quad F(1, x) = f_1(x)
\end{align*}
for all $x \in X$. If such an $F$ exists, we say $f_0$ is **homotopic** to $f_1$ and write $f_0 \simeq f_1$.
[/definition]
Think of $t \in [0,1]$ as a time parameter. At time $t = 0$ we see the map $f_0$; at time $t = 1$ we see the map $f_1$; and for intermediate $t$ we see a continuous family of maps interpolating between them.
[quotetheorem:1872]
[citeproof:1872]
The key feature of homotopic maps is that they "do the same thing" from the perspective of the algebraic invariants this course develops. This will be made precise by the homotopy invariance theorem in Chapter 3.
## Homotopy Equivalence
If homotopic maps are to be regarded as the same, we need a correspondingly enlarged notion of isomorphism between spaces. The idea is to replace equality in the definition of homeomorphism by homotopy.
[definition: Homotopy Equivalence]
A map $f: X \to Y$ is a **homotopy equivalence** if there exists a map $g: Y \to X$ such that
\begin{align*}
f \circ g \simeq \operatorname{id}_Y \quad \text{and} \quad g \circ f \simeq \operatorname{id}_X.
\end{align*}
The map $g$ is called a **homotopy inverse** to $f$. When a homotopy equivalence exists we write $X \simeq Y$ and say $X$ and $Y$ are **homotopy equivalent** (or have the same **homotopy type**).
[/definition]
[quotetheorem:1874]
[citeproof:1874]
This transitivity argument is the key place where the Composition of Homotopies theorem is used. This relies on the fact that composition is compatible with homotopy.
[quotetheorem:2230]
[citeproof:2230]
This result implies that the collection of homotopy classes of maps is closed under composition, so one can define the **homotopy category** $\mathbf{hTop}$ where objects are topological spaces and morphisms are homotopy classes of maps. Composition in $\mathbf{hTop}$ is well-defined precisely because of this theorem.
Several remarks on what the theorem does and does not say are in order. First, note that $H$ is defined by $H(t,x) = G(t, F(t,x))$, which interleaves the two homotopies at the same time parameter $t$. This is the simplest possible construction, but it requires both homotopies to run simultaneously. In particular, the theorem does **not** say that the homotopy class of $g \circ f$ depends only on the homotopy class of $f$ alone — one must vary $g$ and $f$ together. Second, the theorem says nothing about how to compose homotopies of paths with fixed endpoints (the relative case); that requires the more delicate notion of homotopy relative to a subspace, which will appear when we study the fundamental group in Chapter 2. Third, the theorem is the key step in verifying that homotopy equivalence is an equivalence relation on spaces: if $f: X \to Y$ and $h: Y \to Z$ are homotopy equivalences with homotopy inverses $g$ and $k$ respectively, then composing shows $h \circ f$ is a homotopy equivalence with inverse $g \circ k$.
[example: Deformation Retract]
A more instructive boundary case is a **deformation retract**: a subspace $A \subset X$ such that there exists a continuous map $r: X \to A$ with $r|_A = \operatorname{id}_A$ and a homotopy $F: [0,1] \times X \to X$ with $F(0, x) = x$ and $F(1, x) = r(x)$ for all $x \in X$. Such an $r$ is a homotopy equivalence with homotopy inverse $i: A \hookrightarrow X$.
To verify: $r \circ i = \operatorname{id}_A$ by the condition $r|_A = \operatorname{id}_A$. For the other direction, $i \circ r: X \to X$ sends $x$ to $r(x) \in A$, and $F$ provides a homotopy from $\operatorname{id}_X$ to $i \circ r$, since $F(0, x) = x$ and $F(1, x) = r(x) = (i \circ r)(x)$.
This example is worth dwelling on because it shows exactly where the asymmetry lies: the inclusion $i: A \hookrightarrow X$ has a left inverse on the nose ($r \circ i = \operatorname{id}_A$ strictly), but only a right inverse up to homotopy ($i \circ r \simeq \operatorname{id}_X$). A homeomorphism would give strict inverses in both directions; a deformation retract gives only a homotopy inverse in one direction. This is precisely the gap between homeomorphism and homotopy equivalence made explicit.
[/example]
So every homeomorphism is a homotopy equivalence, but the converse fails dramatically — and this is not merely a theoretical possibility but the everyday situation in algebraic topology. The power of the theory comes precisely from the fact that homotopy equivalence is much weaker than homeomorphism: spaces that look geometrically very different can share all homotopy-theoretic properties. The strategy for computation is to replace a complicated space by a homotopy-equivalent simple one before applying any algebraic machinery. The next two examples illustrate this concretely.
[example: Euclidean Space is Contractible]
Let $i: \{0\} \hookrightarrow \mathbb{R}^n$ be the inclusion of the origin. This is a homotopy equivalence.
There is only one map $\mathbb{R}^n \to \{0\}$, namely the constant map $r(v) = 0$. The composition $r \circ i: \{0\} \to \{0\}$ is the identity, so $r \circ i = \operatorname{id}_{\{0\}}$.
For the other direction, $i \circ r: \mathbb{R}^n \to \mathbb{R}^n$ sends every vector to $0$. We need a homotopy from $i \circ r$ to $\operatorname{id}_{\mathbb{R}^n}$. Define
\begin{align*}
F: [0,1] \times \mathbb{R}^n &\to \mathbb{R}^n \\
(t, v) &\mapsto tv.
\end{align*}
Then $F(0, v) = 0 = (i \circ r)(v)$ and $F(1, v) = v = \operatorname{id}_{\mathbb{R}^n}(v)$, so $F$ is a homotopy from $i \circ r$ to $\operatorname{id}_{\mathbb{R}^n}$.
Thus $\{0\} \simeq \mathbb{R}^n$. From the homotopy-theoretic point of view, $\mathbb{R}^n$ and a single point are indistinguishable — regardless of $n$.
[/example]
[remark: Contractible Spaces]
A space $X$ is called **contractible** if it is homotopy equivalent to a point, i.e.\ if the identity map $\operatorname{id}_X$ is null-homotopic (homotopic to a constant map). The example above shows that every $\mathbb{R}^n$ is contractible. In a contractible space, all paths between two points are homotopic, and the space has "no holes" in any dimension.
[/remark]
This collapse of dimension is striking: a point and $\mathbb{R}^{1000}$ are homotopy equivalent. Dimension — and even cardinality — is not a homotopy invariant. In practice, this means that whenever a space contains a contractible subspace, we can collapse it to a point without changing any homotopy-theoretic information. This is the first concrete instance of the computational technique: **identify contractible pieces and collapse them**. The next example shows the complementary technique: replacing a space by a sphere to expose a hole.
[example: Punctured Euclidean Space and the Sphere]
Let $S^n \subset \mathbb{R}^{n+1}$ be the unit sphere, and $i: S^n \hookrightarrow \mathbb{R}^{n+1} \setminus \{0\}$ the inclusion. This is a homotopy equivalence.
Define $r: \mathbb{R}^{n+1} \setminus \{0\} \to S^n$ by
\begin{align*}
r(v) = \frac{v}{\|v\|}.
\end{align*}
This map is well-defined since $v \neq 0$. We have $r \circ i = \operatorname{id}_{S^n}$ because $\|v\| = 1$ for $v \in S^n$.
For the other direction, define
\begin{align*}
H: [0,1] \times (\mathbb{R}^{n+1} \setminus \{0\}) &\to \mathbb{R}^{n+1} \setminus \{0\} \\
(t, v) &\mapsto (1 - t)v + t\frac{v}{\|v\|}.
\end{align*}
Since $(1-t)v + t\frac{v}{\|v\|} = v\bigl((1-t) + \frac{t}{\|v\|}\bigr)$ and the scalar $(1-t) + \frac{t}{\|v\|}$ is strictly positive for all $t \in [0,1]$ and $v \neq 0$, the image of $H$ stays in $\mathbb{R}^{n+1} \setminus \{0\}$.
We have $H(0, v) = v = \operatorname{id}(v)$ and $H(1, v) = \frac{v}{\|v\|} = (i \circ r)(v)$, so $H$ is a homotopy from $\operatorname{id}_{\mathbb{R}^{n+1} \setminus \{0\}}$ to $i \circ r$. Thus $S^n \simeq \mathbb{R}^{n+1} \setminus \{0\}$.
[/example]
<!-- illustration-needed: homotopy from the identity on R^{n+1} minus 0 to the radial projection onto S^n — show concentric circles being "squashed" radially onto the unit sphere via the linear interpolation H(t,v) -->
This example reveals what homotopy equivalence does preserve: the **hole** at the origin of $\mathbb{R}^{n+1} \setminus \{0\}$ cannot be eliminated by a homotopy equivalence — it is encoded in the sphere $S^n$. Homotopy equivalences preserve the "hole structure" of a space, while allowing one to collapse dimensions that contain no holes.
## The Role of Algebraic Invariants
The preceding examples raise an immediate question: for $n \neq m$, are $S^n$ and $S^m$ homotopy equivalent? Every attempt to construct such a homotopy equivalence will fail, suggesting they are not — but at this stage we have no tools to prove it. This is the gap that algebraic topology fills.
The strategy is to assign to each topological space $X$ an algebraic object (a group, a ring, a module) in a way that is **homotopy invariant**: if $X \simeq Y$, then the algebraic objects assigned to $X$ and $Y$ are isomorphic. If two spaces receive non-isomorphic algebraic objects, they cannot be homotopy equivalent.
This approach also distinguishes spaces that are not even homeomorphic. For example, both $\mathbb{R}^n$ and $\mathbb{R}^m$ are contractible, so algebraic topology cannot directly distinguish them. Instead, one removes a point: if $\mathbb{R}^n \cong \mathbb{R}^m$ as topological spaces, then $\mathbb{R}^n \setminus \{0\} \cong \mathbb{R}^m \setminus \{0\}$. These punctured spaces are homotopy equivalent to $S^{n-1}$ and $S^{m-1}$ respectively (by the previous example). If algebraic topology can distinguish $S^{n-1}$ from $S^{m-1}$ whenever $n \neq m$, it follows that $\mathbb{R}^n \ncong \mathbb{R}^m$ for $n \neq m$.
We will indeed prove this: the homology groups of $S^k$ depend non-trivially on $k$, so spheres of different dimensions are not homotopy equivalent. This gives a rigorous proof that $\mathbb{R}^n \ncong \mathbb{R}^m$ for $n \neq m$ — a fact that seems intuitively obvious but requires real work to establish.
[explanation: Why Homotopy Equivalence is the Right Framework]
One might wonder why we work up to homotopy equivalence rather than homeomorphism. There are two reasons. First, the algebraic invariants we construct (homology, cohomology) turn out to be homotopy invariants but not stronger — they cannot distinguish, say, spaces that are homeomorphic from spaces that are merely homotopy equivalent. So homotopy is the natural level of coarseness for these tools.
Second, homotopy equivalence is more flexible and easier to exploit computationally. Many spaces that arise naturally in geometry and analysis are homotopy equivalent to simpler spaces (spheres, wedges of spheres, products), and once we establish the machinery, we can compute their invariants by working with these simpler models.
The rest of the course develops two families of algebraic invariants — singular homology $H_n(X)$ and singular cohomology $H^n(X)$ — and proves that they are homotopy invariants. After that, we develop the tools needed to compute them, culminating in Poincaré duality for manifolds.
[/explanation]
Having established the foundational concept of homotopy and its equivalences, we now formalize a concrete algebraic machine to compute topological invariants: singular homology.
# 2. Singular (Co)homology
This chapter develops the central machinery of the course: singular (co)homology. Having established homotopy in Chapter 1, we now build the algebraic apparatus that turns topological spaces into computable invariants. We begin with the purely algebraic framework of chain complexes, then construct the singular chain complex of a space, extract homology groups, and compute the first examples — including the homology of a point, of Euclidean space, and of spheres. The four major tools — homotopy invariance, Mayer–Vietoris, relative homology, and excision — are then stated and applied.
## Chain Complexes and Their Homology
What algebraic structure is needed to detect holes in a topological space? The key insight is to find a sequence of groups and maps where knowing which elements are "boundaries" and which are "cycles" lets us measure obstruction. A chain complex formalises exactly this: a sequence of abelian groups connected by maps satisfying one compatibility condition, $d \circ d = 0$, which ensures that every boundary is a cycle. The quotients of cycles by boundaries — the homology groups — then capture whatever the boundary operation misses.
[definition: Chain Complex]
A **chain complex** is a sequence of abelian groups and homomorphisms
\begin{align*}
\cdots \to C_3 \xrightarrow{d_3} C_2 \xrightarrow{d_2} C_1 \xrightarrow{d_1} C_0 \xrightarrow{d_0} 0
\end{align*}
such that $d_i \circ d_{i+1} = 0$ for all $i$.
[/definition]
The dual notion has maps pointing in the opposite direction and uses superscripts throughout.
[definition: Cochain Complex]
A **cochain complex** is a sequence of abelian groups and homomorphisms
\begin{align*}
0 \to C^0 \xrightarrow{d^0} C^1 \xrightarrow{d^1} C^2 \xrightarrow{d^2} C^3 \to \cdots
\end{align*}
such that $d^{i+1} \circ d^i = 0$ for all $i$.
[/definition]
[definition: Differentials]
The maps $d_i$ in a chain complex and $d^i$ in a cochain complex are called **differentials**. Each differential is indexed by the degree of its domain. We will often write all differentials simply as $d$ when the index is clear from context.
[/definition]
The condition $d \circ d = 0$ is the key structural fact. It tells us that $\operatorname{im}(d_{i+1}) \subseteq \ker(d_i)$, but leaves open the question of how far this containment is from being an equality. The quotient group $\ker(d_i)/\operatorname{im}(d_{i+1})$ measures the failure of exactness — this is the homology.
[definition: Homology]
The **homology** of a chain complex $C_\bullet$ is the collection of quotient groups
\begin{align*}
H_i(C_\bullet) = \frac{\ker(d_i: C_i \to C_{i-1})}{\operatorname{im}(d_{i+1}: C_{i+1} \to C_i)}.
\end{align*}
An element of $H_i(C_\bullet)$ is called a **homology class**.
[/definition]
[definition: Cohomology]
The **cohomology** of a cochain complex $C^\bullet$ is
\begin{align*}
H^i(C^\bullet) = \frac{\ker(d^i: C^i \to C^{i+1})}{\operatorname{im}(d^{i-1}: C^{i-1} \to C^i)}.
\end{align*}
An element of $H^i(C^\bullet)$ is called a **cohomology class**.
[/definition]
The elements of $\ker d_i$ are called **cycles** and those of $\operatorname{im}(d_{i+1})$ are called **boundaries**; dually, elements of $\ker d^i$ are **cocycles** and those of $\operatorname{im}(d^{i-1})$ are **coboundaries**. Homology thus measures cycles that are not boundaries: it is the group of cycles modulo the subgroup of boundaries.
To compare chain complexes, we need a notion of map that is compatible with the differential structure.
[definition: Chain Map]
If $(C_\bullet, d^C_\bullet)$ and $(D_\bullet, d^D_\bullet)$ are chain complexes, a **chain map** $f_\bullet: C_\bullet \to D_\bullet$ is a collection of homomorphisms $f_n: C_n \to D_n$ such that $d^D_n \circ f_n = f_{n-1} \circ d^C_n$ for all $n$. This commutativity requirement says that the following square commutes for all $n$:
the map $f_n$ intertwines the two differentials, so that applying the differential after $f_n$ is the same as applying $f_{n-1}$ after the differential.
There is an analogous notion of **cochain map** between cochain complexes.
[/definition]
<!-- illustration-needed: chain map commutativity — a commutative square with C_n → D_n on top, d^C down the left, d^D down the right, and C_{n-1} → D_{n-1} on the bottom, labeled with f_n and f_{n-1} -->
The essential property of chain maps is that they descend to maps on homology.
[quotetheorem:1922]
This is the reason chain maps are the correct notion of morphism between chain complexes: they are precisely the maps that are compatible with the differential, and compatibility with the differential is exactly what it takes to pass to homology. Without the chain map condition, the assignment $[x] \mapsto [f_n(x)]$ would not be well-defined — a different representative $x + d(z)$ could map to a different homology class.
[proof]
We must check two things: that $f_n(x)$ is a cycle whenever $x$ is, and that the assignment on homology classes is independent of the choice of representative.
If $x \in C_n$ is a cycle, so $d^C_n(x) = 0$, then $d^D_n(f_n(x)) = f_{n-1}(d^C_n(x)) = f_{n-1}(0) = 0$, so $f_n(x)$ is indeed a cycle in $D_n$.
For well-definedness, suppose $[x] = [y]$ in $H_n(C_\bullet)$, meaning $x - y = d^C_{n+1}(z)$ for some $z \in C_{n+1}$. Then $f_n(x) - f_n(y) = f_n(d^C_{n+1}(z)) = d^D_{n+1}(f_{n+1}(z))$ is a boundary in $D_n$, so $[f_n(x)] = [f_n(y)]$ in $H_n(D_\bullet)$.
[/proof]
## Singular Homology: Defining the Chain Complex
We now use the algebraic framework to assign homology groups to topological spaces. The strategy is to construct a chain complex $C_\bullet(X)$ directly from a space $X$, using continuous maps from standard geometric pieces into $X$ as the building blocks.
[motivation]
### Why Singular Homology?
Given a space $X$, we want to detect its "holes" at different dimensions. A one-dimensional hole is something a loop can surround; a two-dimensional hole is something a sphere can surround. Homology should capture these algebraically.
The challenge is to build a chain complex that depends only on the topology of $X$, not on any auxiliary choices. One approach uses triangulations of $X$ (simplicial homology), but then one must prove the result is independent of the triangulation chosen — which is work. Singular homology avoids this by taking *all* possible maps from standard simplices into $X$ as its input. The resulting chain groups are enormous, but the homology groups are the same as those computed by any triangulation.
[/motivation]
The building blocks are the standard simplices.
[definition: Standard $n$-Simplex]
The **standard $n$-simplex** is
\begin{align*}
\Delta^n = \left\{(t_0, \ldots, t_n) \in \mathbb{R}^{n+1} : t_i \geq 0,\; \sum_{i=0}^n t_i = 1\right\}.
\end{align*}
[/definition]
<!-- illustration-needed: the standard simplices Delta^0 (a point), Delta^1 (a line segment), Delta^2 (a triangle), Delta^3 (a tetrahedron) displayed side by side, with vertices labeled by their barycentric coordinates -->
So $\Delta^0$ is a single point, $\Delta^1$ is a closed interval, $\Delta^2$ is a filled triangle, and $\Delta^3$ is a solid tetrahedron. The simplex $\Delta^n$ has exactly $n+1$ faces, each homeomorphic to $\Delta^{n-1}$.
[definition: Face of Standard Simplex]
The **$i$th face** of $\Delta^n$ is the subset
\begin{align*}
\Delta^n_i = \{(t_0, \ldots, t_n) \in \Delta^n : t_i = 0\}.
\end{align*}
[/definition]
The face $\Delta^n_i$ is obtained by setting the $i$th barycentric coordinate to zero. It is homeomorphic to $\Delta^{n-1}$ via the face inclusion map
\begin{align*}
\delta_i: \Delta^{n-1} &\to \Delta^n\\
(t_0, \ldots, t_{n-1}) &\mapsto (t_0, \ldots, t_{i-1}, 0, t_i, \ldots, t_{n-1}),
\end{align*}
which inserts a zero in position $i$. For example, $\delta_0$ includes $\Delta^{n-1}$ as the face where the first coordinate is zero, and $\delta_1$ as the face where the second coordinate is zero.
[example: Faces of the Standard 1-Simplex]
The standard 1-simplex $\Delta^1 = \{(t_0, t_1) : t_0 + t_1 = 1, t_0, t_1 \geq 0\}$ is a closed interval. It has two faces:
- $\Delta^1_0 = \{(0, 1)\}$, the endpoint where $t_0 = 0$, identified via $\delta_0(1) = (0,1)$;
- $\Delta^1_1 = \{(1, 0)\}$, the endpoint where $t_1 = 0$, identified via $\delta_1(1) = (1,0)$.
So the faces of the interval are exactly its two endpoints, as expected.
[/example]
We now define the key ingredient.
[definition: Singular $n$-Simplex]
Let $X$ be a topological space. A **singular $n$-simplex** in $X$ is a continuous map $\sigma: \Delta^n \to X$.
[/definition]
The word "singular" signals that we impose no regularity beyond continuity: a singular simplex can fold back on itself, collapse to a lower-dimensional subset, or be constant. The constant map $\Delta^n \to \{x\}$ and the identity map $\Delta^n \to \Delta^n$ are both singular $n$-simplices.
Given a space $X$, the set of all singular $n$-simplices is a set, but to do homological algebra we need abelian groups. We take the free abelian group on this set.
[definition: Singular Chain Complex]
Let $X$ be a topological space. Define $C_n(X)$ to be the **free abelian group** generated by the set of all singular $n$-simplices in $X$:
\begin{align*}
C_n(X) = \left\{\sum_{\sigma} n_\sigma \cdot \sigma : \sigma: \Delta^n \to X,\; n_\sigma \in \mathbb{Z},\; \text{only finitely many } n_\sigma \neq 0\right\}.
\end{align*}
Elements of $C_n(X)$ are called **singular $n$-chains**.
Define the **boundary homomorphism** $d_n: C_n(X) \to C_{n-1}(X)$ on generators by
\begin{align*}
d_n(\sigma) = \sum_{i=0}^n (-1)^i \sigma \circ \delta_i,
\end{align*}
and extend linearly to all of $C_n(X)$.
[/definition]
The alternating signs in the boundary formula encode orientation. The $i$th face $\sigma \circ \delta_i$ appears with sign $(-1)^i$, which alternates as $i$ increases. Without these signs, terms in $d(d(\sigma))$ would all have positive coefficients and could not cancel; the signs are what make $d \circ d = 0$ possible.
To verify that $d_{n-1} \circ d_n = 0$, we need the following key identity.
[quotetheorem:2231]
[citeproof:2231]
[quotetheorem:2232]
[citeproof:2232]
The alternating signs in the boundary formula are not arbitrary: they are the unique choice that makes the double-boundary vanish. Any other sign pattern would leave un-cancelled terms in $d \circ d$, destroying the chain complex structure and with it the definition of homology. This result also explains why the face inclusion relation is stated for $i < j$ specifically — the asymmetry between the two cases is what produces the sign cancellation.
We now have a genuine chain complex $C_\bullet(X)$, and we take its homology.
[definition: Singular Homology]
The **singular homology** of a topological space $X$ is the homology of the singular chain complex $C_\bullet(X)$:
\begin{align*}
H_n(X) = H_n(C_\bullet(X)) = \frac{\ker(d_n: C_n(X) \to C_{n-1}(X))}{\operatorname{im}(d_{n+1}: C_{n+1}(X) \to C_n(X))}.
\end{align*}
[/definition]
## Singular Cohomology and the Dual Chain Complex
The singular chain complex $C_\bullet(X)$ is built by mapping standard simplices *into* $X$. What happens if instead we map $C_n(X)$ *out* to $\mathbb{Z}$? Applying the functor $\operatorname{Hom}(-, \mathbb{Z})$ termwise reverses all the arrows and produces a cochain complex. The resulting cohomology groups carry strictly more information than homology alone — in particular, they admit a multiplicative ring structure (the cup product) that homology lacks.
[definition: Singular Cohomology]
Define the **singular cochain group** $C^n(X) = \operatorname{Hom}(C_n(X), \mathbb{Z})$ and the **coboundary map** $d^n: C^n(X) \to C^{n+1}(X)$ by
\begin{align*}
d^n(\varphi) = \varphi \circ d_{n+1}: C_{n+1}(X) \to \mathbb{Z}.
\end{align*}
This is the adjoint of $d_{n+1}$. The resulting cochain complex satisfies $d^{n+1} \circ d^n = 0$ because
\begin{align*}
d^{n+1}(d^n(\varphi)) = \varphi \circ d_{n+1} \circ d_{n+2} = \varphi \circ 0 = 0.
\end{align*}
The **singular cohomology** of $X$ is
\begin{align*}
H^n(X) = \frac{\ker(d^n: C^n(X) \to C^{n+1}(X))}{\operatorname{im}(d^{n-1}: C^{n-1}(X) \to C^n(X))}.
\end{align*}
[/definition]
[remark: Cohomology is Not Simply the Dual of Homology]
It is tempting to guess that $H^n(X) \cong \operatorname{Hom}(H_n(X), \mathbb{Z})$, but this is false in general. Dualizing and taking homology do not commute. The precise relationship between $H^n(X)$ and $H_n(X)$ is given by the Universal Coefficient Theorem, which will be established later in the course.
[/remark]
## Functoriality: Maps of Spaces Induce Maps on Homology
A topological invariant that could not be compared across spaces would be nearly useless. The central question here is: when does a continuous map $f: X \to Y$ give rise to a homomorphism of homology groups? The answer is that it always does — and the construction is natural. This makes singular homology a functor from topological spaces to graded abelian groups, a fact with far-reaching consequences for the theory.
[quotetheorem:2233]
[citeproof:2233]
This result has an immediate limitation worth noting: the induced map $f_*$ depends only on the continuous map $f$, not on any smooth or simplicial structure. In particular, two homotopic maps $f \simeq g$ need not induce the same chain maps $f_\bullet \neq g_\bullet$ at the chain level — the chain maps can differ while still inducing equal maps on homology. That stronger result, homotopy invariance, requires additional work and is the main theorem of the next section.
Functoriality means that composition of maps corresponds to composition of the induced maps on homology. If $g: Y \to Z$ is another continuous map, then $(g \circ f)_* = g_* \circ f_*$, and $(\operatorname{id}_X)_* = \operatorname{id}_{H_n(X)}$.
[quotetheorem:2234]
[citeproof:2234]
The same argument shows that homotopic maps will later be shown to induce equal maps on homology — a much deeper result that establishes homology as a homotopy invariant.
For cohomology, the duality reverses the direction: applying $\operatorname{Hom}(-, \mathbb{Z})$ to the chain map $f_\bullet: C_\bullet(X) \to C_\bullet(Y)$ gives cochain maps $f^n: C^n(Y) \to C^n(X)$ via $\varphi \mapsto \varphi \circ f_n$. The induced map $f^*: H^n(Y) \to H^n(X)$ goes in the *opposite* direction to $f$. This contravariance is a fundamental feature of cohomology.
## Geometric Intuition: Cycles, Boundaries, and Holes
Before computing, it is worth understanding geometrically what cycles and boundaries represent. Consider a space $X$ with a hole in it.
[example: Cycles and Boundaries in a Punctured Disk]
Let $X$ be an annulus (a disk with a smaller disk removed from its interior). Consider 1-chains in $X$.
A single 1-simplex $\sigma: \Delta^1 \to X$ has boundary $d_1(\sigma) = \sigma \circ \delta_0 - \sigma \circ \delta_1$, which equals $\sigma(1,0) - \sigma(0,1)$ in terms of the endpoints of the interval. This boundary is zero if and only if the two endpoints coincide, meaning $\sigma$ is a loop.
A chain such as $\sigma_1 + \sigma_2 + \sigma_3 + \sigma_4$ of four 1-simplices arranged end-to-end around the inner hole, satisfying $\sigma_k(1) = \sigma_{k+1}(0)$ (indices mod 4), is also a cycle since all endpoints cancel. Intuitively, this cycle detects the hole by surrounding it.
However, a loop that does not surround any hole bounds a 2-simplex: it is the image of $d_2$ applied to a map $\tau: \Delta^2 \to X$ filling the region enclosed by the loop. Such a cycle is a boundary and hence represents zero in $H_1(X)$.
Two loops that surround the same hole differ by the boundary of the 2-chain filling the region between them, so they represent the same homology class. Thus $H_1(X)$ counts "independent holes" that 1-cycles can surround: for the annulus, $H_1(X) \cong \mathbb{Z}$, generated by any loop around the hole.
[/example]
<!-- illustration-needed: the annulus with three kinds of 1-cycles: (a) a loop around the inner hole (non-trivial cycle), (b) a contractible loop not surrounding the hole (which is a boundary), (c) two concentric loops surrounding the same hole (differing by a boundary) -->
## First Computations
How does one actually compute homology? The singular chain groups $C_n(X)$ are in general enormous — for any nonempty space, there are uncountably many singular $n$-simplices, so direct computation is out of reach for all but the simplest spaces. The exception is a single point, where every simplex is forced to be constant and the chain groups collapse to $\mathbb{Z}$. Starting from this base case and using the tools developed later, we can compute the homology of an expanding family of spaces.
[example: Homology of a Point]
Let $\{*\}$ be the one-point space. For each $n \geq 0$, there is exactly one singular $n$-simplex, namely the constant map $\sigma_n: \Delta^n \to \{*\}$. So $C_n(\{*\}) = \mathbb{Z}$, generated by $\sigma_n$.
The boundary map acts as:
\begin{align*}
d_n(\sigma_n) = \sum_{i=0}^n (-1)^i \sigma_n \circ \delta_i = \left(\sum_{i=0}^n (-1)^i\right)\sigma_{n-1}.
\end{align*}
When $n$ is odd, the sum $\sum_{i=0}^n (-1)^i = 0$, so $d_n = 0$. When $n$ is even and positive, the sum equals $1$, so $d_n: \mathbb{Z} \to \mathbb{Z}$ is the identity. The singular chain complex is thus:
\begin{align*}
\cdots \xrightarrow{1} \mathbb{Z} \xrightarrow{0} \mathbb{Z} \xrightarrow{1} \mathbb{Z} \xrightarrow{0} \mathbb{Z} \to 0.
\end{align*}
Direct computation gives $H_0(\{*\}) = \mathbb{Z}$ and $H_n(\{*\}) = 0$ for $n > 0$. The same holds for cohomology.
[/example]
[example: Homology of a Disjoint Union]
If $X = \coprod_{\alpha \in I} X_\alpha$ is a disjoint union of spaces, then every singular simplex $\sigma: \Delta^n \to X$ must map entirely into one component $X_\alpha$ (since $\Delta^n$ is connected and each $X_\alpha$ is open in $X$). Therefore $C_n(X) = \bigoplus_{\alpha \in I} C_n(X_\alpha)$, and taking homology commutes with direct sums:
\begin{align*}
H_n(X) \cong \bigoplus_{\alpha \in I} H_n(X_\alpha).
\end{align*}
In particular, the homology of a discrete space with $k$ points is $H_0 \cong \mathbb{Z}^k$ and $H_n = 0$ for $n > 0$.
[/example]
The zero-dimensional homology has a clean interpretation in terms of path components.
[quotetheorem:2235]
[citeproof:2235]
Combining with the disjoint union formula:
[quotetheorem:2236]
## The Four Major Tools
Direct computation from the definition is feasible only for the simplest spaces. To compute homology in general, we rely on four major tools. Their proofs are long and are deferred; we state them here and then apply them to obtain a large collection of computations.
### Homotopy Invariance
[quotetheorem:343]
Homotopy invariance is the most important property of singular homology, and it is not automatic. At the chain level, homotopic maps $f \simeq g$ need not induce the same chain maps — the chain groups $C_n(X)$ are enormous and the maps $f_n, g_n$ can differ substantially as homomorphisms. What the theorem says is that their images in homology coincide, which follows from the existence of an algebraic interpolant — the chain homotopy — that relates $f_\bullet$ and $g_\bullet$ at the chain level. A consequence is that homology cannot distinguish between homotopy equivalent spaces, making it a genuinely homotopy-theoretic invariant.
The proof constructs an explicit "chain homotopy" — a family of homomorphisms $P_n: C_n(X) \to C_{n+1}(Y)$ satisfying $d_{n+1} \circ P_n + P_{n-1} \circ d_n = g_n - f_n$ — which witnesses the algebraic relationship between the two chain maps. Such a chain homotopy implies that $f_*$ and $g_*$ agree on homology.
[quotetheorem:2237]
[citeproof:2237]
[example: Homology of Euclidean Space]
Since $\mathbb{R}^n$ is homotopy equivalent to a point (via the homotopy $F(t, v) = tv$ from $\operatorname{id}_{\mathbb{R}^n}$ to the constant map), we have:
\begin{align*}
H_k(\mathbb{R}^n) = \begin{cases} \mathbb{Z} & k = 0 \\ 0 & k > 0 \end{cases}.
\end{align*}
This reflects the fact that $\mathbb{R}^n$ has no holes of any dimension.
[/example]
### Mayer–Vietoris
To compute homology of a space from its pieces, we use the Mayer–Vietoris theorem. First we need the notion of an exact sequence.
[definition: Exact Sequence]
A sequence of abelian group homomorphisms $\cdots \to A \xrightarrow{f} B \xrightarrow{g} C \to \cdots$ is **exact at $B$** if $\operatorname{im}(f) = \ker(g)$. The sequence is **exact** if it is exact at every term. A **short exact sequence** is an exact sequence of the form
\begin{align*}
0 \to A \xrightarrow{f} B \xrightarrow{g} C \to 0,
\end{align*}
which means $f$ is injective, $g$ is surjective, and $C \cong B/f(A)$.
[/definition]
[example: Short Exact Sequences]
The sequence $0 \to \mathbb{Z} \xrightarrow{\times n} \mathbb{Z} \to \mathbb{Z}/n\mathbb{Z} \to 0$ is a short exact sequence: multiplication by $n$ is injective, the quotient map is surjective, and the kernel of the quotient map equals the image of multiplication by $n$.
In a short exact sequence $0 \to \mathbb{Z}/n\mathbb{Z} \to A \to \mathbb{Z}/m\mathbb{Z} \to 0$, the group $A$ need not be determined uniquely. Two examples are $A = \mathbb{Z}/nm\mathbb{Z}$ and $A = \mathbb{Z}/n\mathbb{Z} \oplus \mathbb{Z}/m\mathbb{Z}$. When $\gcd(n,m) > 1$ these are non-isomorphic groups, so the exact sequence alone does not determine $A$.
[/example]
The non-uniqueness in the second example is a preview of extension problems, which will recur throughout the course. For Mayer–Vietoris, the key point is that the long exact sequence encodes how the homology of $X$ is constrained by the homology of $A$, $B$, and $A \cap B$, even without splitting the sequence.
[quotetheorem:2238]
Mayer–Vietoris is the workhorse of homology computations. Its power comes from a key asymmetry: the cover $A, B$ can be chosen to make $H_*(A)$, $H_*(B)$, and $H_*(A \cap B)$ easy to compute (often contractible or simpler spaces), and then the long exact sequence forces $H_*(X)$ from the remaining information. The naturality statement ensures that functorial maps between spaces lift to maps of Mayer–Vietoris sequences, enabling comparison arguments.
The connecting homomorphism $\partial_{MV}$ has a concrete description. If $[\alpha] \in H_n(X)$ is represented by a cycle that can be written as $\alpha = a + b$ with $a \in C_n(A)$ and $b \in C_n(B)$, then since $d_n(a+b) = 0$ we have $d_n(a) = -d_n(b)$, and since $d_n(a) \in C_{n-1}(A)$ and $d_n(b) \in C_{n-1}(B)$, this common value lies in $C_{n-1}(A \cap B)$. Then $\partial_{MV}([a+b]) = [d_n(a)] \in H_{n-1}(A \cap B)$.
### Relative Homology
[definition: Relative Homology]
Let $A \subseteq X$. Since the inclusion $i: A \hookrightarrow X$ induces an injection $C_n(A) \hookrightarrow C_n(X)$, we can form the quotient complex $C_n(X, A) = C_n(X)/C_n(A)$. The differential $d_n: C_n(X) \to C_{n-1}(X)$ preserves $C_n(A)$ and so descends to a differential on $C_\bullet(X, A)$. The **relative homology** is
\begin{align*}
H_n(X, A) = H_n(C_\bullet(X, A)).
\end{align*}
Geometrically, $H_n(X, A)$ counts cycles in $X$ modulo those that lie in $A$ or are boundaries of chains whose boundaries lie in $A$.
[/definition]
A map of pairs $(X,A) \to (Y,B)$ is a continuous map $f: X \to Y$ with $f(A) \subseteq B$. Such a map induces $f_*: H_n(X,A) \to H_n(Y,B)$.
[quotetheorem:2239]
The connecting map $\partial$ is well-defined because a class in $H_n(X,A)$ is represented by a chain $c \in C_n(X)$ with $[d_n c] = 0$ in $C_{n-1}(X,A)$, meaning $d_n c \in C_{n-1}(A)$, and $d_{n-1}(d_n c) = 0$ so $d_n c$ is a cycle in $C_{n-1}(A)$.
### Excision
Relative homology is useful because it comes with a long exact sequence, but we still need a way to compute $H_n(X,A)$. The excision theorem says we can remove a sufficiently "interior" piece of $A$ without changing the relative homology.
[quotetheorem:2240]
<!-- illustration-needed: a square X containing a smaller region A, inside which sits an even smaller region Z well inside the interior of A; arrows showing the excision — cutting out Z leaves the relative homology unchanged -->
All four tools — homotopy invariance, Mayer–Vietoris, the long exact sequence for relative homology, and excision — hold for cohomology as well. The relative cohomology is defined by $C^n(X,A) = \operatorname{Hom}(C_n(X,A), \mathbb{Z})$, and the Mayer–Vietoris sequence for cohomology has connecting maps pointing in the opposite direction: $\partial_{MV}: H^n(A \cap B) \to H^{n+1}(X)$.
## Applications: Homology of Spheres and Degree Theory
With the four tools in hand, we can compute the homology of spheres and derive several classical results.
### Homology of Spheres
Spheres are the fundamental test case for any homology theory. The answer should reflect the geometric intuition: $S^n$ has a single $n$-dimensional hole (its interior), so we expect $H_n(S^n) \cong \mathbb{Z}$ and $H_k(S^n) = 0$ for $0 < k < n$. We verify this by Mayer–Vietoris, using covers by contractible open sets.
[quotetheorem:2241]
[citeproof:2241]
The computation for $S^1$ illustrates the general strategy: cover by two contractible arcs, identify the intersection as a discrete set of points, and read off the homology from the Mayer–Vietoris sequence. For higher spheres the same cover works inductively, since the intersection $A \cap B \simeq S^{n-1}$ allows the inductive hypothesis to be applied directly.
[quotetheorem:2242]
[citeproof:2242]
These computations yield the promised applications. The key point is that homology groups are topological invariants: homeomorphic spaces have isomorphic homology. Since the homology groups of $S^{n-1}$ and $S^{m-1}$ differ when $n \neq m$, no homeomorphism between them can exist.
[quotetheorem:2243]
[citeproof:2243]
[quotetheorem:2244]
[citeproof:2244]
### Degree of Maps $S^n \to S^n$
With $H_n(S^n) \cong \mathbb{Z}$ established, any self-map $f: S^n \to S^n$ induces an endomorphism $f_*: \mathbb{Z} \to \mathbb{Z}$, which is necessarily multiplication by some integer. This integer — the degree — is a complete homotopy invariant for maps $S^n \to S^n$: two such maps are homotopic if and only if they have the same degree. The degree thus compresses the entire homotopy theory of self-maps of spheres into a single integer.
[definition: Degree of a Map]
Let $f: S^n \to S^n$ be a continuous map. The **degree** $\deg(f)$ is the unique integer such that $f_*: H_n(S^n) \to H_n(S^n)$ is multiplication by $\deg(f)$ under the identification $H_n(S^n) \cong \mathbb{Z}$.
[/definition]
For $n = 1$, the degree coincides with the winding number. The degree is well-defined once we choose a consistent identification $H_n(S^n) \cong \mathbb{Z}$ on both sides.
[quotetheorem:2245]
[citeproof:2245]
[quotetheorem:2246]
[citeproof:2246]
The reflection result is the key inductive step: once we know reflections have degree $-1$, the degree of any composition of reflections is determined by multiplicativity. In particular, any map homotopic to the identity has degree $1$, and any map homotopic to a reflection has degree $-1$.
[quotetheorem:2247]
[citeproof:2247]
The parity of the antipodal degree — $(-1)^{n+1}$ — determines which spheres admit antipode-free homotopies from the identity, which in turn controls the existence of nowhere-zero vector fields. This connection is made precise in the Hairy Ball Theorem below.
### Brouwer's Fixed Point Theorem
Brouwer's theorem is one of the first genuinely non-trivial applications of homology: a purely topological existence result whose proof is algebraic. The argument is indirect — it assumes no fixed point and derives a retraction, then uses homology to show the retraction cannot exist.
[quotetheorem:1895]
[citeproof:1895]
Brouwer's theorem has no constructive content — it guarantees a fixed point exists but gives no method to find it. Its proof is purely existential: the homology of $D^n$ (trivial) is incompatible with the homology of $S^{n-1}$ (non-trivial) forcing the retraction to fail. For a constructive version, one must turn to Sperner's lemma or other combinatorial arguments.
<!-- illustration-needed: the retraction argument for Brouwer's fixed point theorem — a disk D^n with a point x, the putative fixed-point-free image f(x), and the ray from f(x) through x meeting the boundary S^{n-1} at r(x) -->
### The Hairy Ball Theorem
[quotetheorem:2248]
[citeproof:2248]
[remark: Interpretation of the Hairy Ball Theorem]
For $n = 2$ (the ordinary 2-sphere, like the surface of the Earth), the theorem says there is no continuous nowhere-zero tangent vector field. In meteorological terms: at every moment, there is at least one point on Earth where the horizontal wind speed is zero.
[/remark]
Singular homology gives us a powerful functor from topology to algebra, but to master its applications, we must understand the major structural theorems that govern (co)homology computations.
# 3. Four Major Tools of (Co)homology
With the singular (co)homology groups defined and functorial in continuous maps, we are in a position to state the four major tools that make homology computable. The goal is first to understand what each theorem says, why each piece of structure is needed, and how the four tools fit together into a coherent toolkit for calculation. The full proofs appear at the end of this chapter.
Computing singular homology directly from the definition — by writing down the full chain complex $C_\bullet(X)$ and calculating its homology — is infeasible for all but the simplest spaces. The four tools give indirect methods. Homotopy invariance allows us to replace a space by any homotopy-equivalent space before computing; contractible spaces have vanishing homology and appear frequently. Mayer-Vietoris assembles the homology of $X$ from an open cover $X = A \cup B$, encoding the answer in a long exact sequence involving $H_*(A)$, $H_*(B)$, and $H_*(A \cap B)$. Relative homology introduces groups $H_n(X, A)$ that ignore a subspace $A$, and the long exact sequence of a pair connects these to $H_*(A)$ and $H_*(X)$. Excision then gives computational control over the relative groups, showing that small subsets of $A$ can be removed without changing $H_*(X, A)$. Used in combination, these tools suffice to compute the homology of all spheres, projective spaces, tori, and CW complexes.
## Homotopy Invariance
If we deform a space continuously, should its homology change? Two continuous maps $f, g: X \to Y$ can be homotopic — connected by a continuous family of maps — yet the individual chain maps $f_\#$ and $g_\#$ they induce look entirely different. The question is whether homology is sensitive enough to see this difference, or whether homotopic maps always agree at the level of homology groups. The answer is that it cannot: homotopic maps induce identical maps on homology.
[quotetheorem:343]
The proof (given later) constructs a *chain homotopy* — a collection of maps $P_n: C_n(X) \to C_{n+1}(Y)$ satisfying $d_{n+1} \circ P_n + P_{n-1} \circ d_n = f_n - g_n$. The chain homotopy shows that $f_n(c) - g_n(c)$ is always a boundary whenever $c$ is a cycle, so $[f_n(c)] = [g_n(c)]$ in homology.
An immediate and important consequence concerns homotopy equivalences:
[quotetheorem:2237]
[citeproof:2237]
[example: Homology of Euclidean Space]
Since $\mathbb{R}^n$ is homotopy equivalent to a point (via the deformation retraction $F(t, v) = tv$), homotopy invariance gives
\begin{align*}
H_k(\mathbb{R}^n) = H_k(\{*\}) =
\begin{cases}
\mathbb{Z} & k = 0, \\
0 & k > 0.
\end{cases}
\end{align*}
The retraction $F: [0,1] \times \mathbb{R}^n \to \mathbb{R}^n$, $(t, v) \mapsto tv$ satisfies $F(0, v) = \mathbf{0}$ and $F(1, v) = v$, confirming that $\mathrm{id}_{\mathbb{R}^n} \simeq c_{\mathbf{0}}$ (the constant map to the origin). The same homotopy equivalence gives $H^k(\mathbb{R}^n) = H^k(\{*\})$.
[/example]
Homotopy invariance says that homology is an invariant of the *homotopy type* of $X$, not just its homeomorphism type. This is both a strength (many spaces are homotopy equivalent to simpler ones) and a limitation (homology cannot detect subtleties finer than homotopy equivalence).
## Exact Sequences and the Mayer-Vietoris Theorem
The second tool addresses a basic computational strategy: if we know the homology of two overlapping pieces $A$ and $B$ of a space $X$, can we recover $H_n(X)$? The answer is given by the Mayer-Vietoris sequence, but the information is not simply $H_n(A) \oplus H_n(B)$ — it is packaged in a long exact sequence. To state this precisely, we first need the algebraic notion of exactness.
[definition: Exact Sequence]
A pair of homomorphisms of abelian groups
\begin{align*}
A \xrightarrow{f} B \xrightarrow{g} C
\end{align*}
is *exact at $B$* if $\operatorname{im}(f) = \ker(g)$. A sequence of homomorphisms
\begin{align*}
\cdots \to X_{n+1} \xrightarrow{} X_n \xrightarrow{} X_{n-1} \to \cdots
\end{align*}
is *exact* if it is exact at each $X_n$.
[/definition]
The condition $\operatorname{im}(f) = \ker(g)$ is the algebraic version of saying "the output of one map is exactly the input that gets killed by the next." It generalizes both injectivity (exactness at $A$ in $0 \to A \to B$ means $f$ is injective) and surjectivity (exactness at $C$ in $A \to C \to 0$ means the map into $C$ is surjective).
[definition: Short Exact Sequence]
A *short exact sequence* is an exact sequence of the form
\begin{align*}
0 \to A \xrightarrow{f} B \xrightarrow{g} C \to 0.
\end{align*}
[/definition]
In a short exact sequence, $f$ is injective, $g$ is surjective, and $C \cong B / \operatorname{im}(f)$ by the first isomorphism theorem. The sequence encodes an *extension* of $C$ by $A$: the group $B$ sits between them, but $B$ need not be the direct sum $A \oplus C$.
[example: Extensions Are Not Unique]
Consider the short exact sequence
\begin{align*}
0 \to \mathbb{Z}/n\mathbb{Z} \to A \to \mathbb{Z}/m\mathbb{Z} \to 0.
\end{align*}
Both $A = \mathbb{Z}/nm\mathbb{Z}$ and $A = \mathbb{Z}/n\mathbb{Z} \oplus \mathbb{Z}/m\mathbb{Z}$ are valid choices. When $\gcd(n, m) > 1$, these two groups are not isomorphic, so the short exact sequence does not determine $A$ uniquely. This reflects a genuine ambiguity that will arise when reading off homology groups from exact sequences: the sequence constrains the groups but does not always pin them down.
[/example]
Many of the fundamental theorems in homology take the form: the homology groups of certain spaces fit into an exact sequence, and the task is to extract the individual groups from it. The Mayer-Vietoris theorem is the primary example.
[quotetheorem:1533]
<!-- illustration-needed: the Mayer-Vietoris setup — draw X = A ∪ B with the overlap A ∩ B shaded, labeling all four inclusions i_A, i_B, j_A, j_B; show how a cycle in X that decomposes as a + b (with a ∈ C_n(A), b ∈ C_n(B)) has its boundary landing in A ∩ B -->
The maps in the sequence have the following concrete meaning. The map $(i_{A*}, i_{B*})$ sends a class $[\alpha] \in H_n(A \cap B)$ to the pair $(i_{A*}[\alpha], i_{B*}[\alpha])$, recording how $\alpha$ maps into each piece. The map $j_{A*} - j_{B*}$ sends $([a], [b]) \in H_n(A) \oplus H_n(B)$ to $j_{A*}[a] - j_{B*}[b] \in H_n(X)$.
The connecting homomorphism $\partial_{MV}$ is the most subtle. For a class represented by a cycle $a + b$ with $a \in C_n(A)$ and $b \in C_n(B)$, the formula is:
\begin{align*}
\partial_{MV}([a + b]) = [d_n(a)] = [-d_n(b)] \in H_{n-1}(A \cap B).
\end{align*}
To see this is consistent: since $a + b$ is a cycle, $d_n(a + b) = 0$, so $d_n(a) = -d_n(b)$. Since $a \in C_n(A)$, we have $d_n(a) \in C_{n-1}(A)$; since $b \in C_n(B)$, we have $-d_n(b) = d_n(a) \in C_{n-1}(B)$. So $d_n(a) \in C_{n-1}(A) \cap C_{n-1}(B) = C_{n-1}(A \cap B)$, and the formula makes sense. The work in the proof is to show that every class in $H_n(X)$ can be represented by a cycle that decomposes in this way.
[remark: Cohomology Mayer-Vietoris]
There is a dual Mayer-Vietoris sequence for cohomology, with arrows reversed. The connecting homomorphism runs $\partial_{MV}: H^n(A \cap B) \to H^{n+1}(X)$, and the sequence takes the form
\begin{align*}
\cdots \to H^n(X) \to H^n(A) \oplus H^n(B) \to H^n(A \cap B) \xrightarrow{\partial_{MV}} H^{n+1}(X) \to \cdots
\end{align*}
All structural properties — exactness and naturality — hold for cohomology as well.
[/remark]
## Relative Homology and Its Long Exact Sequence
Mayer-Vietoris is a powerful tool, but it requires the space to decompose as a union of two *open* sets. For many natural situations — for instance, studying a subspace $A \subseteq X$ — a different tool is needed. The solution is to build a homology theory that measures $X$ *relative to* $A$, ignoring whatever happens inside $A$.
[definition: Relative Chain Complex]
Let $A \subseteq X$. The inclusion $i: A \hookrightarrow X$ induces an injection $i_n: C_n(A) \hookrightarrow C_n(X)$. The *relative chain group* is the quotient
\begin{align*}
C_n(X, A) = \frac{C_n(X)}{C_n(A)}.
\end{align*}
The differential $d_n: C_n(X) \to C_{n-1}(X)$ maps $C_n(A)$ into $C_{n-1}(A)$, so it descends to a well-defined map $d_n: C_n(X, A) \to C_{n-1}(X, A)$ by $[c] \mapsto [d_n(c)]$. The *relative homology* is the homology of this chain complex:
\begin{align*}
H_n(X, A) = H_n(C_\bullet(X, A)).
\end{align*}
[/definition]
Intuitively, a relative $n$-cycle is a chain in $X$ whose boundary lies entirely in $A$. Two such cycles are homologous if they differ by a boundary in $X$ plus an arbitrary chain in $A$. The relative homology thus measures topological features of $X$ that are not "explained by" $A$.
The key structural result is that the short exact sequence of chain complexes
\begin{align*}
0 \to C_\bullet(A) \xrightarrow{i} C_\bullet(X) \xrightarrow{q} C_\bullet(X, A) \to 0
\end{align*}
gives rise to a long exact sequence on homology. This is an instance of a general algebraic fact: any short exact sequence of chain complexes yields a long exact sequence of homology groups, with connecting homomorphisms threading between the levels.
[quotetheorem:2249]
[example: Relative Homology When A Is a Point]
Let $A = \{x_0\} \subseteq X$ for a path-connected space $X$. Then $H_n(\{x_0\}) = 0$ for $n > 0$ and $H_0(\{x_0\}) = \mathbb{Z}$. The long exact sequence gives, for $n \geq 2$:
\begin{align*}
0 = H_n(\{x_0\}) \to H_n(X) \xrightarrow{q_*} H_n(X, \{x_0\}) \xrightarrow{\partial} H_{n-1}(\{x_0\}) = 0,
\end{align*}
so $H_n(X, \{x_0\}) \cong H_n(X)$ for $n \geq 2$. In degree 1, we get $0 \to H_1(X) \to H_1(X, \{x_0\}) \to \mathbb{Z} \to \mathbb{Z} \to 0$; since the map $H_0(\{x_0\}) \to H_0(X)$ is an isomorphism (both are $\mathbb{Z}$, and the map sends the generator to the path component of $x_0$), exactness forces $H_1(X, \{x_0\}) \cong H_1(X)$. So for path-connected $X$, the relative homology $H_n(X, \{x_0\})$ agrees with $H_n(X)$ for all $n \geq 1$.
[/example]
[definition: Map of Pairs]
Let $(X, A)$ and $(Y, B)$ be pairs of topological spaces with $A \subseteq X$ and $B \subseteq Y$. A *map of pairs* is a continuous map $f: X \to Y$ satisfying $f(A) \subseteq B$.
Such a map induces a chain map $f_\bullet: C_\bullet(X, A) \to C_\bullet(Y, B)$ and hence a homomorphism $f_*: H_n(X, A) \to H_n(Y, B)$ for each $n$.
[/definition]
The introduction of $H_n(X, A)$ raises an obvious question: have we made things harder? We now have a new quantity to compute that we do not know. The answer is that the excision theorem, stated next, gives us computational control over relative homology.
## Excision
The relative homology $H_n(X, A)$ is intended to measure the topology of $X$ modulo $A$. If this idea is to be useful, the groups $H_n(X, A)$ should not be sensitive to the internal structure of $A$ — only to how $A$ sits inside $X$. In particular, removing a portion of $A$ that is "well inside" $A$ should not change $H_n(X, A)$. The excision theorem makes this precise.
[quotetheorem:2240]
<!-- illustration-needed: excision diagram — draw a rectangle X containing a region A (shaded), and inside A a smaller region Z with wiggly boundary indicating the closure condition cl(Z) ⊆ int(A); show that cutting out Z leaves the relative homology unchanged -->
The condition $\overline{Z} \subseteq A^\circ$ is the precise version of "$Z$ is not too big." If $Z$ were to touch the boundary of $A$ (i.e., if $\overline{Z} \not\subseteq A^\circ$), the theorem can fail. The condition ensures that every singular simplex in $X$ that is "close to the boundary of $A$" is also counted in the complement $X \setminus Z$.
[remark: Why Excision Matters]
On its own, the definition of $H_n(X, A)$ seems to make things harder — it introduces a new group without obvious tools to compute it. Excision bridges the gap. Together with the long exact sequence of a pair, it allows one to express the relative homology of a pair in terms of simpler absolute homology groups. The classic application, carried out in the applications section, is to compute the homology of spheres by decomposing $S^n$ into two hemispheres and applying the Mayer-Vietoris sequence, or equivalently, by expressing $H_n(S^n)$ as a relative group $H_n(D^n, \partial D^n)$ and using excision to simplify.
[/remark]
## The Parallel Story for Cohomology
Everything stated so far for homology has a parallel version for cohomology. The cohomology groups are defined by dualizing: $C^n(X) = \operatorname{Hom}(C_n(X), \mathbb{Z})$, and the differential $d^n: C^n(X) \to C^{n+1}(X)$ is the adjoint of $d_{n+1}$. The four structural theorems carry over:
- **Homotopy invariance**: Homotopic maps induce the same maps on cohomology.
- **Mayer-Vietoris**: For $X = A \cup B$ open, there is a long exact sequence in cohomology with connecting homomorphism $\partial_{MV}: H^n(A \cap B) \to H^{n+1}(X)$.
- **Relative cohomology**: Define $C^n(X, A) = \operatorname{Hom}(C_n(X, A), \mathbb{Z})$. The relative cohomology $H^n(X, A)$ fits into a long exact sequence $\cdots \to H^n(X, A) \to H^n(X) \to H^n(A) \to H^{n+1}(X, A) \to \cdots$
- **Excision**: The same condition $\overline{Z} \subseteq A^\circ$ gives an isomorphism $H^n(X, A) \xrightarrow{\sim} H^n(X \setminus Z, A \setminus Z)$.
The cohomology groups carry additional algebraic structure — in particular, a cup product making $H^*(X; R)$ into a graded ring — that has no direct homological analogue. This will be developed in later chapters, and will become essential when we study manifolds and Poincaré duality.
## Applications
With the four major tools in hand — homotopy invariance, Mayer-Vietoris, relative homology, and excision — we can now carry out a wide range of explicit computations. The goal of this section is to show what these tools can do when applied in concert: we compute the homology of all spheres, introduce degree theory, derive Brouwer's fixed point theorem and the hairy ball theorem, compute the homology of the Klein bottle, and establish a local homology characterisation of manifold dimension.
### Homology of Spheres
The circle is the simplest example, and it already illustrates the full strategy.
[quotetheorem:2250]
[citeproof:2250]
The general case proceeds by induction using the same north-pole/south-pole decomposition.
[quotetheorem:1945]
[citeproof:1945]
[remark: Invariance of Dimension]
Two immediate corollaries follow. If $n \neq m$ then $S^{n-1} \not\simeq S^{m-1}$, since they have different homology groups. Since $\mathbb{R}^n \setminus \{0\} \simeq S^{n-1}$, it also follows that $\mathbb{R}^n \ncong \mathbb{R}^m$ for $n \neq m$ — a result that is surprisingly difficult to prove by purely topological means.
[/remark]
### Degree Theory
Since $H_n(S^n) \cong \mathbb{Z}$, any self-map of $S^n$ induces a map $\mathbb{Z} \to \mathbb{Z}$, which is necessarily multiplication by some integer. The question is: which integers actually arise, and does this integer distinguish homotopy classes?
[definition: Degree of a Map]
Let $f: S^n \to S^n$ be a continuous map. The **degree** $\deg(f)$ is the unique integer such that the induced map $f_*: H_n(S^n) \to H_n(S^n)$ equals multiplication by $\deg(f)$, under any fixed identification $H_n(S^n) \cong \mathbb{Z}$.
[/definition]
The identification of $H_n(S^n)$ with $\mathbb{Z}$ is only canonical up to sign; specifying a degree requires choosing a generator (an orientation). Once a generator is fixed, the degree is well-defined. For $n = 1$, the degree coincides with the classical winding number.
[quotetheorem:2251]
[citeproof:2251]
Degree is thus a homotopy invariant of self-maps of $S^n$. Property (4) says that homotopic maps have the same degree; the converse is also true (Hopf's theorem): two maps $S^n \to S^n$ are homotopic if and only if they have the same degree. This makes degree a *complete* homotopy invariant for maps $S^n \to S^n$ — the homology group $H_n(S^n) \cong \mathbb{Z}$ remembers everything about the homotopy class. Property (2) and the composition formula (3) also show that surjectivity is implied by nonzero degree: if $\deg(f) \neq 0$, then $f$ must be surjective (otherwise $\deg(f) = 0$ by property (2)).
### Brouwer's Fixed Point Theorem
Can a continuous map $f: D^n \to D^n$ fail to have a fixed point? The intuition is no — the disk has nowhere for every point to escape to simultaneously — but making this precise requires a topological obstruction. The obstruction comes from degree: if $f$ had no fixed point, we could construct a retraction of $D^n$ onto its boundary, and the homology of $S^{n-1}$ prevents any such retraction from existing.
[quotetheorem:1895]
[citeproof:1895]
<!-- illustration-needed: Brouwer retraction — show a point x inside the disk D^n, the point f(x) nearby, the ray from f(x) through x, and its intersection r(x) with the boundary sphere S^{n-1} -->
The theorem applies to $D^n$ specifically because $D^n$ is contractible (so $H_{n-1}(D^n) = 0$) and its boundary is $S^{n-1}$ (so $H_{n-1}(\partial D^n) \cong \mathbb{Z}$). The same argument fails on $S^n$: the antipodal map $a: S^n \to S^n$ has no fixed points and degree $(-1)^{n+1}$, so when $n$ is even, $\deg(a) = -1 \neq 1 = \deg(\operatorname{id})$, confirming that $a$ is not homotopic to the identity. Thus $S^n$ does admit fixed-point-free maps, and one cannot retract $S^n$ onto any proper subsphere in the same way. The continuity of $f$ is essential throughout: by the intermediate value theorem, a discontinuous map on $[0,1]$ can dodge every fixed point. The specific topology of $D^n$ — contractible interior, sphere boundary — is precisely what makes the homological obstruction work.
[remark: Historical Note]
The theorem is celebrated as a non-constructive existence result: it guarantees a fixed point without any information about where it is. The irony noted in the course is that L.E.J. Brouwer, who proved it, was a committed constructivist who later rejected such non-constructive arguments.
[/remark]
### Degrees of Reflections and the Antipodal Map
Having seen degrees of $0$ and $1$, we now show that every integer arises as the degree of some map $S^n \to S^n$. The key building blocks are reflections, whose degree is $-1$.
[quotetheorem:2252]
[citeproof:2252]
The degree of a reflection is $-1$ because it reverses orientation — it maps the generator of $H_n(S^n)$ to its negative. This is geometrically clear: a reflection in $\mathbb{R}^{n+1}$ reverses the orientation of the ambient space, and therefore reverses the induced orientation on $S^n$. Chaining reflections together gives a formula for the antipodal map.
[quotetheorem:2247]
[citeproof:2247]
When $n$ is odd, $\deg(a) = 1 = \deg(\operatorname{id})$, so the antipodal map is homotopic to the identity (Hopf's theorem guarantees this once the degrees match). When $n$ is even, $\deg(a) = -1 \neq 1$, so the antipodal map and the identity are in different homotopy classes. This distinction — between odd and even spheres — will reappear immediately in the hairy ball theorem, where it governs the existence of nowhere-zero vector fields.
### The Hairy Ball Theorem
The degree calculation for the antipodal map leads immediately to a striking geometric result.
[quotetheorem:2248]
Here a vector field on $S^n$ (viewed as a subset of $\mathbb{R}^{n+1}$) is a continuous map $v: S^n \to \mathbb{R}^{n+1}$ such that $\langle v(x), x \rangle = 0$ for all $x \in S^n$, i.e., $v(x)$ is tangent to the sphere at $x$.
[proof]
**Odd case (existence).** Write $n = 2k - 1$ and identify $\mathbb{R}^{2k} = \mathbb{R}^2 \times \cdots \times \mathbb{R}^2$ ($k$ factors). Define
\begin{align*}
v(x_1, y_1, x_2, y_2, \ldots, x_k, y_k) = (-y_1, x_1, -y_2, x_2, \ldots, -y_k, x_k).
\end{align*}
Since each pair $(-y_i, x_i)$ is a $90^\circ$ rotation of $(x_i, y_i)$ in the $i$-th copy of $\mathbb{R}^2$, the inner product $\langle v(x), x \rangle = \sum_i (-y_i x_i + x_i y_i) = 0$. Moreover $|v(x)| = |x| = 1$ on $S^n$, so this is indeed a nowhere-zero tangent vector field.
**Even case (obstruction).** Suppose $v: S^n \to \mathbb{R}^{n+1} \setminus \{0\}$ is a nowhere-zero vector field. Normalise: set $w = v/|v|: S^n \to S^n$. Since $\langle w(x), x \rangle = 0$, the vectors $x$ and $w(x)$ are perpendicular unit vectors, so we can interpolate between them along great circles. Define
\begin{align*}
H: [0, \pi] \times S^n &\to S^n \\
(t, x) &\mapsto \cos(t)\, x + \sin(t)\, w(x).
\end{align*}
Perpendicularity ensures $|H(t,x)|^2 = \cos^2(t) + \sin^2(t) = 1$, so $H$ maps into $S^n$. At $t = 0$ we get $H(0, x) = x = \operatorname{id}$, and at $t = \pi$ we get $H(\pi, x) = -x = a(x)$. Thus $\operatorname{id} \simeq a$, which forces $\deg(\operatorname{id}) = \deg(a)$, i.e., $1 = (-1)^{n+1}$. This holds only when $n$ is odd.
[/proof]
[remark: Physical Interpretation]
For $n = 2$ (the usual sphere), the theorem says you cannot comb a hairy ball flat without creating a cowlick — some hair must stick straight up. For $n = 1$ (the circle), an explicit everywhere-tangent unit field is given by rotating each point $90^\circ$, consistent with the theorem.
[/remark]
### Homology of the Klein Bottle
We now leave spheres and compute the homology of a non-orientable surface.
[example: Homology of the Klein Bottle]
Let $K$ denote the Klein bottle. Decompose $K$ into two open subsets $A$ and $B$ as follows: identify $K$ with the unit square $[0,1]^2$ with edges glued by the relations $(x, 0) \sim (x, 1)$ (both horizontal edges in the same direction) and $(0, y) \sim (1, 1-y)$ (vertical edges in opposite directions). Take $A$ to be the open strip covering the top and bottom thirds of the square, and $B$ the open middle third. Both $A$ and $B$ are cylinders (homotopy equivalent to $S^1$), and $A \cap B$ is the disjoint union of two cylinders (also homotopy equivalent to $S^1 \coprod S^1$). Thus:
\begin{align*}
H_i(A) \cong H_i(B) \cong H_i(S^1), \qquad H_i(A \cap B) \cong H_i(S^1) \oplus H_i(S^1).
\end{align*}
The Mayer-Vietoris sequence gives:
\begin{align*}
0 \to H_2(K) \to H_1(A \cap B) \xrightarrow{(i_{A*}, i_{B*})} H_1(A) \oplus H_1(B) \to H_1(K) \to H_0(A \cap B) \xrightarrow{} H_0(A) \oplus H_0(B) \to \mathbb{Z} \to 0.
\end{align*}
Substituting $H_1(A \cap B) \cong \mathbb{Z} \oplus \mathbb{Z}$, $H_1(A) \oplus H_1(B) \cong \mathbb{Z} \oplus \mathbb{Z}$:
\begin{align*}
0 \to H_2(K) \to \mathbb{Z} \oplus \mathbb{Z} \xrightarrow{M} \mathbb{Z} \oplus \mathbb{Z} \to H_1(K) \to \mathbb{Z} \oplus \mathbb{Z} \xrightarrow{N} \mathbb{Z} \oplus \mathbb{Z} \to \mathbb{Z} \to 0.
\end{align*}
**Computing the map $M$.** Let $s$ and $t$ be the generators of $H_1(A \cap B) \cong \mathbb{Z} \oplus \mathbb{Z}$ corresponding to the two boundary circles, and let $a, b$ generate $H_1(A) \oplus H_1(B)$ as the left-to-right loops. The gluing of the Klein bottle causes the two inclusions to send:
\begin{align*}
i_{A*}(s) &= -1, \quad i_{A*}(t) = 1, \quad i_{B*}(s) = 1, \quad i_{B*}(t) = 1.
\end{align*}
The matrix of $M = (i_{A*}, i_{B*})$ is
\begin{align*}
M = \begin{pmatrix} -1 & 1 \\ 1 & 1 \end{pmatrix}.
\end{align*}
Since $\det M = -2 \neq 0$, the map $M$ is injective. Therefore $H_2(K) = \ker M = 0$.
The cokernel is
\begin{align*}
\frac{\mathbb{Z} \oplus \mathbb{Z}}{\operatorname{im} M} = \frac{\langle a, b \rangle}{\langle -a + b,\, a + b \rangle} = \frac{\langle a \rangle}{\langle 2a \rangle} \cong \mathbb{Z}/2\mathbb{Z}.
\end{align*}
**Computing the map $N$.** The map $N = (i_{A*}, i_{B*})$ on $H_0$ is given by
\begin{align*}
N = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix},
\end{align*}
whose kernel is $\{(m, -m) : m \in \mathbb{Z}\} \cong \mathbb{Z}$.
From the exact sequence we extract a short exact sequence:
\begin{align*}
0 \to \mathbb{Z}/2\mathbb{Z} \to H_1(K) \to \mathbb{Z} \to 0.
\end{align*}
Since $\mathbb{Z}$ is free, this sequence splits, giving $H_1(K) \cong \mathbb{Z} \oplus \mathbb{Z}/2\mathbb{Z}$.
In summary:
\begin{align*}
H_i(K) = \begin{cases} \mathbb{Z} & i = 0 \\ \mathbb{Z} \oplus \mathbb{Z}/2\mathbb{Z} & i = 1 \\ 0 & i \geq 2. \end{cases}
\end{align*}
The torsion in $H_1$ detects the non-orientability of the Klein bottle, and the vanishing of $H_2$ reflects that it does not embed in $\mathbb{R}^3$ as an orientable closed surface.
[/example]
### Local Homology and Manifold Dimension
The final application uses relative homology to extract local information about manifolds.
[quotetheorem:2253]
[citeproof:2253]
[explanation: Local Homology as a Dimension Detector]
The local homology groups $H_n(M, M \setminus \{x\})$ give a purely homological way to detect the dimension of a space at a point. Since the local homology group is $\mathbb{Z}$ exactly at dimension $d$ and zero elsewhere, two manifolds of different dimensions cannot be homeomorphic — their local homology groups differ at every point. This is a much cleaner proof of the invariance of domain than direct construction.
More can be said: the local homology also detects orientation. A generator of $H_d(M, M \setminus \{x\}) \cong \mathbb{Z}$ is called a **local orientation** at $x$. A global orientation of $M$ is a consistent choice of such generators across all points. The local homology groups fit into this global structure via the theory of orientable manifolds, which will become central when we discuss Poincaré duality.
[/explanation]
### Local Degree
The local homology computation shows that $H_d(S^d, S^d \setminus \{x\}) \cong \mathbb{Z}$ for any $x \in S^d$. This allows us to define a refined version of degree that tracks the local behaviour of a map.
[definition: Local Degree]
Let $f: S^d \to S^d$ be a continuous map and $x \in S^d$. The map $f$ induces
\begin{align*}
f_*: H_d(S^d, S^d \setminus \{x\}) \to H_d(S^d, S^d \setminus \{f(x)\}).
\end{align*}
Using the natural isomorphisms $H_d(S^d, S^d \setminus \{x\}) \cong H_d(S^d) \cong \mathbb{Z}$ (arising from the long exact sequence of the pair), the map $f_*$ becomes multiplication by a fixed integer. This integer is the **local degree** of $f$ at $x$, written $\deg(f)_x$.
[/definition]
The local degree is the signed local multiplicity of $f$ at $x$, measuring how many times, and with what orientation, $f$ wraps a small neighbourhood of $x$ around a neighbourhood of $f(x)$.
[quotetheorem:2254]
[citeproof:2254]
[example: Degree via Local Degrees]
Consider the map $f: S^1 \to S^1$ given by $f(e^{i\theta}) = e^{2i\theta}$ (wrapping the circle twice). For a generic point $y = e^{i\phi}$, the preimage is $f^{-1}(y) = \{e^{i\phi/2}, e^{i(\phi/2 + \pi)}\}$, two points. At each preimage point, $f$ locally looks like $z \mapsto z^2$, which wraps a small arc once around a small arc in the same direction. Thus each local degree equals $+1$, and $\deg(f) = 1 + 1 = 2$.
More generally, the map $e^{i\theta} \mapsto e^{in\theta}$ has degree $n$, confirming that every integer arises as the degree of some map $S^1 \to S^1$.
[/example]
The theorem on global degree via local degrees is especially useful when $f$ is a smooth map between oriented manifolds: in that case the local degree at a regular point $x$ (where $Df_x$ is an isomorphism) equals $+1$ if $Df_x$ preserves orientation and $-1$ if it reverses it. This connects the homological definition of degree with the differential-geometric one.
## Proofs of the Four Major Tools
With the statements and applications of the four major tools now in hand, we turn to paying back the technical debt: the proofs. The long exact sequence of relative homology is handled by a piece of pure algebra, the snake lemma, which works for any short exact sequence of chain complexes. Homotopy invariance is deduced from the existence of chain homotopies constructed via prism operators. Excision and Mayer-Vietoris are both consequences of the small simplices theorem, which says that barycentric subdivision can always be iterated until each simplex fits inside an open cover.
### The Snake Lemma and the Long Exact Sequence
The long exact sequence of relative homology is an instance of a completely general algebraic fact. Given the short exact sequence of chain complexes
\begin{align*}
0 \to C_\cdot(A) \to C_\cdot(X) \to C_\cdot(X, A) \to 0,
\end{align*}
we want to assemble the individual homology groups into a single long exact sequence. The key observation is that this has nothing to do with topology: it works for any short exact sequence of chain complexes.
[quotetheorem:1930]
The central idea is diagram chasing. Because $i_n$ is injective and $q_n$ is surjective with $\ker q_n = \operatorname{im} i_n$, any element of $C_n$ can be lifted to $B_n$. Applying the boundary map to the lift, and using the fact that $d^2 = 0$, lands us in $A_{n-1}$. The connecting map $\partial_*$ sends $[x] \in H_n(C_\cdot)$ to the homology class of this element in $A_{n-1}$.
[proof]
The construction of $\partial_*$ proceeds as follows. Fix the commutative diagram with exact rows:
\begin{align*}
\begin{array}{ccccccc}
0 & \to & A_n & \xrightarrow{i_n} & B_n & \xrightarrow{q_n} & C_n & \to 0 \\
& & \downarrow d & & \downarrow d & & \downarrow d & \\
0 & \to & A_{n-1} & \xrightarrow{i_{n-1}} & B_{n-1} & \xrightarrow{q_{n-1}} & C_{n-1} & \to 0
\end{array}
\end{align*}
Let $[x] \in H_n(C_\cdot)$ with $x \in Z_n(C)$. Since $q_n$ is surjective, pick $y \in B_n$ with $q_n(y) = x$. Compute $d(y) \in B_{n-1}$. By commutativity and the cycle condition $dx = 0$:
\begin{align*}
q_{n-1}(d(y)) = d(q_n(y)) = d(x) = 0.
\end{align*}
So $d(y) \in \ker q_{n-1} = \operatorname{im} i_{n-1}$. Since $i_{n-1}$ is injective, there is a unique $z \in A_{n-1}$ with $i_{n-1}(z) = d(y)$. Define $\partial_*([x]) = [z]$.
Four things must be verified: (1) $z$ is a cycle so that $[z]$ is well-defined in $H_{n-1}(A)$; (2) the class $[z]$ is independent of the choice of lift $y$; (3) the class $[z]$ is independent of the representative $x$ of $[x]$; (4) the resulting long sequence is exact at every position.
For (1): extend the diagram one row lower. Then $i_{n-2}(d(z)) = d(i_{n-1}(z)) = d(d(y)) = 0$, and injectivity of $i_{n-2}$ gives $d(z) = 0$.
For (2): if $y'$ is another lift with $q_n(y') = x$, then $y' - y \in \ker q_n = \operatorname{im} i_n$, say $y' - y = i_n(a)$. Then $d(y') - d(y) = d(i_n(a)) = i_{n-1}(d(a))$, so the two lifts of $d(y')$ and $d(y)$ differ by the boundary $d(a)$, giving the same homology class.
For (3): if $x' = x + d(c)$ for some $c \in C_{n+1}$, lift $c = q_{n+1}(b)$ and compute $y' = y + d(b)$ as a valid lift of $x'$; then $d(y') = d(y)$, so $\partial_*([x']) = \partial_*([x])$.
For (4), there are six inclusions to check ($\operatorname{im} \subseteq \ker$ and $\ker \subseteq \operatorname{im}$ at each of the three positions). Each is a routine diagram chase following the same philosophy: use surjectivity and injectivity of the maps in the short exact sequences to produce elements, and use commutativity and the cycle or boundary conditions to verify they have the required properties.
[/proof]
The snake lemma immediately gives the long exact sequence for relative homology, since the sequence $0 \to C_\cdot(A) \to C_\cdot(X) \to C_\cdot(X, A) \to 0$ is exact by definition of the relative chain groups.
### The Five Lemma
A companion piece of diagram algebra is the five lemma. It will be used in the proof of excision to conclude that a map between long exact sequences induces isomorphisms whenever four out of five terms do.
[quotetheorem:1938]
[citeproof:1938]
[remark: Relative Homology Corollary]
As an immediate consequence: if $f: (X, A) \to (Y, B)$ is a map of pairs such that any two of the induced maps $f_*: H_*(A) \to H_*(B)$, $f_*: H_*(X) \to H_*(Y)$, and $f_*: H_*(X, A) \to H_*(Y, B)$ are isomorphisms, then the third is also an isomorphism. This follows by applying the five lemma to the map between the two long exact sequences of the pairs.
[/remark]
### Chain Homotopies and Homotopy Invariance
The challenge in proving homotopy invariance is that a topological homotopy $H: [0,1] \times X \to Y$ is a continuous map, not a chain map — it lives one categorical level above the chain complexes. To extract algebraic information, we need to triangulate the cylinder $[0,1] \times \Delta^n$, translate $H$ into chain-level data, and then show that the resulting difference $g_\# - f_\#$ is always a boundary. The algebraic notion that captures this is a chain homotopy.
[definition: Chain Homotopy]
A **chain homotopy** between chain maps $f_\cdot, g_\cdot: C_\cdot \to D_\cdot$ is a collection of group homomorphisms $F_n: C_n \to D_{n+1}$ such that for all $n$:
\begin{align*}
g_n - f_n = d^D_{n+1} \circ F_n + F_{n-1} \circ d^C_n : C_n \to D_n.
\end{align*}
If such a collection exists, we say $f_\cdot$ and $g_\cdot$ are **chain homotopic**.
[/definition]
Intuitively, $F_n(\sigma)$ provides an $(n+1)$-chain in $D$ whose boundary equals $g_n(\sigma) - f_n(\sigma)$ up to contributions from the boundary of $\sigma$ itself. The formula is exactly the algebraic shadow of the geometric fact that a homotopy fills in a cylinder $[0,1] \times \sigma$ whose boundary consists of the top face $g_\#(\sigma)$, the bottom face $f_\#(\sigma)$, and the side faces arising from the boundary of $\sigma$.
[quotetheorem:1923]
[citeproof:1923]
The hard part is constructing the chain homotopy from a topological homotopy. We adopt the notation $f_\#: C_n(X) \to C_n(Y)$ for the chain map induced by $f: X \to Y$ (sending $\sigma \mapsto f \circ \sigma$), reserving $f_*$ for the induced map on homology.
Given $H: [0,1] \times X \to Y$ with $H(0, \cdot) = f$ and $H(1, \cdot) = g$, and a singular simplex $\sigma: \Delta^n \to X$, we form the composite map $H \circ (\operatorname{id} \times \sigma): [0,1] \times \Delta^n \to Y$. This maps the prism $[0,1] \times \Delta^n$ to $Y$ with bottom face $f \circ \sigma$ and top face $g \circ \sigma$. To extract a chain homotopy, we need to triangulate the prism $[0,1] \times \Delta^n$ into $(n+1)$-simplices.
<!-- illustration-needed: the prism triangulation — the product [0,1] × Δ^n with vertices v_0,...,v_n on the bottom and w_0,...,w_n on the top, subdivided into (n+1) simplices of the form [v_0,...,v_i, w_i,...,w_n]. For n=2 this is the triangular prism cut into three tetrahedra. -->
[definition: Prism Operators]
View $[0,1] \times \Delta^n \subset \mathbb{R} \times \mathbb{R}^{n+1}$. Label the vertices of the bottom face $\{0\} \times \Delta^n$ as $v_0, \ldots, v_n$ and the corresponding vertices of the top face $\{1\} \times \Delta^n$ as $w_0, \ldots, w_n$. For vertices $x_0, \ldots, x_k$ in $\{v_0, \ldots, v_n\} \cup \{w_0, \ldots, w_n\}$, define the affine singular simplex $[x_0, \ldots, x_k]: \Delta^k \to [0,1] \times \Delta^n$ by $(t_0, \ldots, t_k) \mapsto \sum_i t_i x_i$ (well-defined by convexity). The **prism chain** is:
\begin{align*}
P_n = \sum_{i=0}^n (-1)^i [v_0, \ldots, v_i, w_i, w_{i+1}, \ldots, w_n] \in C_{n+1}([0,1] \times \Delta^n).
\end{align*}
[/definition]
The prism chain satisfies a boundary formula that encodes the boundary of the cylinder:
\begin{align*}
d(P_n) = i_1 - i_0 - \sum_{j=0}^n (-1)^j ([0,1] \times \delta_j)_\#(P_{n-1}),
\end{align*}
where $i_0, i_1: \Delta^n \to [0,1] \times \Delta^n$ are the inclusions of the bottom and top faces, and $\delta_j: \Delta^{n-1} \to \Delta^n$ is the inclusion of the $j$th face. This is a direct computation using the face maps of $P_n$.
We now define the chain homotopy operator $F_n: C_n(X) \to C_{n+1}(Y)$ by:
\begin{align*}
F_n(\sigma) = (H \circ (\operatorname{id} \times \sigma))_\#(P_n).
\end{align*}
[quotetheorem:343]
[citeproof:343]
### Small Simplices and Barycentric Subdivision
Both excision and Mayer-Vietoris follow from a single key theorem about singular homology: every homology class can be represented by chains whose simplices are as small as we like. The tool that makes simplices small is barycentric subdivision.
#### Barycentric Subdivision
Given an open cover $\mathcal{U} = \{U_\alpha\}_{\alpha \in I}$ of $X$ (with interiors covering $X$), define $C_n^\mathcal{U}(X) \subset C_n(X)$ to be the subgroup generated by singular simplices $\sigma: \Delta^n \to X$ with $\sigma(\Delta^n) \subset U_\alpha$ for some $\alpha$. Since the faces of such a simplex are also contained in $U_\alpha$, these subgroups form a sub-chain complex $C_\cdot^\mathcal{U}(X) \subset C_\cdot(X)$, with homology $H_n^\mathcal{U}(X)$.
[quotetheorem:2255]
The idea is to construct a barycentric subdivision operator $\rho^X: C_n(X) \to C_n(X)$ that is a chain map, is chain homotopic to the identity, and has the property that iterating it eventually moves any simplex entirely inside some $U_\alpha$.
**The cone construction.** For the standard simplex $\Delta^n$, let $b_n = \frac{1}{n+1}\sum_{i=0}^n e_i$ be its barycenter, where $e_0, \ldots, e_n$ are the vertices. For a singular $i$-simplex $\sigma: \Delta^i \to \Delta^n$, define the cone:
\begin{align*}
\operatorname{Cone}_i^{\Delta^n}(\sigma): \Delta^{i+1} \to \Delta^n, \quad (t_0, \ldots, t_{i+1}) \mapsto t_0 b_n + (1 - t_0)\,\sigma\!\left(\tfrac{(t_1, \ldots, t_{i+1})}{1 - t_0}\right).
\end{align*}
This extends linearly to $\operatorname{Cone}_i^{\Delta^n}: C_i(\Delta^n) \to C_{i+1}(\Delta^n)$. A direct computation with face maps gives, for $i > 0$:
\begin{align*}
d \circ \operatorname{Cone}_i^{\Delta^n} + \operatorname{Cone}_{i-1}^{\Delta^n} \circ d = \operatorname{id} - c_i,
\end{align*}
where $c_i = 0$ for $i > 0$ and $c_0(\sigma) = \varepsilon(\sigma) \cdot b_n$ (the map sending every $0$-simplex to the barycenter, weighted by the augmentation $\varepsilon$).
<!-- illustration-needed: barycentric subdivision of a 2-simplex — show the original triangle, then after subdividing boundary edges by inserting their midpoints, then after coning all boundary simplices off toward the barycenter, producing 6 smaller triangles -->
**Defining barycentric subdivision by naturality.** We want $\rho^X: C_n(X) \to C_n(X)$ to be natural, meaning $f_\# \circ \rho^X = \rho^Y \circ f_\#$ for any $f: X \to Y$. Since every singular simplex factors as $\sigma = \sigma_\# \iota_n$ where $\iota_n: \Delta^n \to \Delta^n$ is the identity map, naturality forces $\rho^X(\sigma) = \sigma_\#(\rho^{\Delta^n}(\iota_n))$. So it suffices to define $\rho^{\Delta^n}(\iota_n)$ recursively:
1. For $n = 0$: $\rho^{\Delta^0}(\iota_0) = \iota_0$.
2. For $n > 0$: $\rho^{\Delta^n}(\iota_n) = \operatorname{Cone}_{n-1}^{\Delta^n}(\rho^{\Delta^{n-1}}(d\iota_n))$.
Then extend to all spaces by naturality: $\rho^X(\sigma) = \sigma_\#(\rho^{\Delta^n}(\iota_n))$.
[quotetheorem:2256]
[citeproof:2256]
[proof]
We verify both surjectivity and injectivity of $H_n^\mathcal{U}(X) \to H_n(X)$.
**Surjectivity.** Let $[c] \in H_n(X)$. By the diameter bound, for any singular simplex $\sigma$, we can iterate: $(\rho^X)^k(\sigma) \in C_n^\mathcal{U}(X)$ once the diameter of subdivided simplices drops below the Lebesgue number of the cover $\{\sigma^{-1}(\mathring{U}_\alpha)\}$ on $\Delta^n$. Since $c$ is a finite sum of simplices, the same $k$ works for all of them. Since $\rho^X$ is chain homotopic to the identity, $[(\rho^X)^k(c)] = [c]$ in $H_n(X)$, so $[c]$ lies in the image.
**Injectivity.** Suppose $[c] \in H_n^\mathcal{U}(X)$ and its image in $H_n(X)$ is zero. Then $c = d(z)$ for some $z \in C_{n+1}(X)$. Apply iterated subdivision to $z$: for large enough $k$, $(\rho^X)^k(z) \in C_{n+1}^\mathcal{U}(X)$, and $d((\rho^X)^k(z)) = (\rho^X)^k(c)$. Since $\rho^X$ is chain homotopic to the identity, $[c] = [(\rho^X)^k(c)]$ in $H_n^\mathcal{U}(X)$. But $(\rho^X)^k(c)$ is a boundary in $C^\mathcal{U}_\cdot(X)$, so $[c] = 0$.
[/proof]
### Proofs of Mayer-Vietoris and Excision
With the small simplices theorem in hand, both major theorems fall out relatively quickly.
[proof]
Let $X = A \cup B$ with $A, B$ open. Take $\mathcal{U} = \{A, B\}$ and write $C_\cdot(A + B) = C_\cdot^\mathcal{U}(X)$. There is a natural chain map
\begin{align*}
C_\cdot(A) \oplus C_\cdot(B) \xrightarrow{j_A - j_B} C_\cdot(A + B),
\end{align*}
where $j_A$ and $j_B$ include chains in $A$ and $B$ into $C_\cdot(A+B)$ by forgetting that they lie in the respective subspace. This map is surjective by definition of $C_\cdot(A+B)$. Its kernel consists of pairs $(x, y)$ with $j_A(x) = j_B(y)$; since the maps $j_A, j_B$ are inclusions into $C_\cdot(X)$, this forces $x = y$ as chains in $C_\cdot(A) \cap C_\cdot(B) = C_\cdot(A \cap B)$. So we have a short exact sequence of chain complexes:
\begin{align*}
0 \to C_\cdot(A \cap B) \xrightarrow{(i_A, i_B)} C_\cdot(A) \oplus C_\cdot(B) \xrightarrow{j_A - j_B} C_\cdot(A + B) \to 0.
\end{align*}
The snake lemma produces a long exact sequence involving $H_n^\mathcal{U}(X) = H_n(A+B)$ in place of $H_n(X)$. Replacing $H_n^\mathcal{U}(X)$ with $H_n(X)$ via the small simplices theorem gives the Mayer-Vietoris sequence.
[/proof]
[remark: Mayer-Vietoris Connecting Homomorphism]
The connecting homomorphism $\partial_{MV}: H_n(X) \to H_{n-1}(A \cap B)$ has the following explicit description. Given $[c] \in H_n(X)$, represent $c = a + b$ with $a \in C_n(A)$ and $b \in C_n(B)$ (possible by the small simplices theorem). Then $d(a) = -d(b)$ lies in $C_{n-1}(A) \cap C_{n-1}(B) = C_{n-1}(A \cap B)$, and $\partial_{MV}([a+b]) = [d(a)]$.
[/remark]
[proof]
Let $Z \subset A \subset X$ with $\overline{Z} \subset \mathring{A}$, and set $B = X \setminus Z$. The interiors $\mathring{A}$ and $\mathring{B} = X \setminus \overline{Z}$ cover $X$, so $\mathcal{U} = \{A, B\}$ is a valid cover. Consider the commutative diagram of short exact sequences:
\begin{align*}
\begin{array}{ccccccc}
0 & \to & C_\cdot(A) & \to & C_\cdot(A+B) & \to & C_\cdot(A+B)/C_\cdot(A) & \to & 0 \\
& & \| & & \downarrow & & \downarrow & \\
0 & \to & C_\cdot(A) & \to & C_\cdot(X) & \to & C_\cdot(X, A) & \to & 0
\end{array}
\end{align*}
The vertical maps are the natural inclusions. The snake lemma gives long exact sequences for both rows, and the five lemma implies the right vertical map $C_\cdot(A+B)/C_\cdot(A) \to C_\cdot(X, A)$ induces isomorphisms on homology (using the small simplices theorem for the middle vertical map).
It remains to identify $H_\cdot(C_\cdot(A+B)/C_\cdot(A))$. Since $C_\cdot(A+B)$ consists of chains in $A$ or $B$, the quotient $C_\cdot(A+B)/C_\cdot(A)$ is generated by chains lying in $B$ modulo chains lying in $A \cap B$. This is precisely $C_\cdot(B)/C_\cdot(A \cap B) = C_\cdot(B, A \cap B)$. The chain map
\begin{align*}
C_\cdot(B, A \cap B) \xrightarrow{\sim} C_\cdot(A+B)/C_\cdot(A)
\end{align*}
is an isomorphism of chain complexes. Since $B = X \setminus Z$ and $A \cap B = A \setminus Z$, we obtain the excision isomorphism:
\begin{align*}
H_n(X \setminus Z, A \setminus Z) \cong H_n(X, A).\qed
\end{align*}
[/proof]
[explanation: What the Proofs Reveal]
Stepping back, it is striking how the four tools divide into two different proofs. The long exact sequence of relative homology is pure homological algebra: it holds for any short exact sequence of chain complexes, with no geometry involved. Homotopy invariance is geometric in the sense that it requires building an explicit algebraic object (the prism operator $P_n$) from geometric data (the triangulation of a cylinder), but then the conclusion is again purely algebraic (chain homotopic maps induce the same map on homology).
Excision and Mayer-Vietoris are the deepest of the four, because they require the small simplices theorem, which is where the actual topology enters: one uses compactness of $\Delta^n$ (via the Lebesgue number lemma) to guarantee that iterated subdivision eventually makes simplices small enough. This is the one genuinely topological input in the proofs of the four tools, and it is entirely hidden inside the small simplices theorem. Once that theorem is established, both excision and Mayer-Vietoris reduce to diagram chasing.
[/explanation]
With the four major tools in hand — Mayer-Vietoris, long exact sequences, excision, and the five-lemma — we refine our homology theory by removing the contribution of a basepoint through reduced homology.
# 4. Reduced Homology
## Reduced Homology
The preceding chapters built up the full machinery of singular homology and established its four major tools: homotopy invariance, Mayer-Vietoris, the long exact sequence for relative homology, and excision. In $H_0$ we always see a free abelian group generated by path components, which is topologically sensible but algebraically awkward — a contractible space has $H_0 \cong \mathbb{Z}$ rather than $0$. This chapter introduces **reduced homology**, a minor modification that eliminates this bookkeeping nuisance in degree zero. The payoff is immediate: reduced homology allows us to identify relative homology $H_*(X, A)$ with the homology of the quotient space $X/A$, a powerful computational tool whenever the pair $(X, A)$ satisfies a mild local condition.
## The Definition and Its Justification
To understand why reduced homology is natural, recall how ordinary homology behaves on the one-point space. The chain complex $C_\bullet(\{*\})$ has $C_n(\{*\}) \cong \mathbb{Z}$ for all $n \geq 0$, since there is exactly one singular $n$-simplex. The boundary maps alternate between the identity and zero, so the homology is $H_0(\{*\}) \cong \mathbb{Z}$ and $H_n(\{*\}) = 0$ for $n > 0$. For a contractible space, the same result holds by homotopy invariance. This $\mathbb{Z}$ in degree zero is not detecting any topology — it is simply an artifact of the construction. Reduced homology kills it.
[definition: Reduced Homology]
Let $X$ be a space and $x_0 \in X$ a basepoint. The **reduced homology** of $X$ is
\begin{align*}
\tilde{H}_n(X) := H_n(X, \{x_0\}).
\end{align*}
[/definition]
Since we are working with the relative homology of the pair $(X, \{x_0\})$, the long exact sequence of relative homology gives us an immediate comparison with ordinary homology.
[quotetheorem:2257]
[citeproof:2257]
[remark: Consequence for Contractible Spaces]
For a contractible space $X$, all ordinary homology groups vanish except $H_0(X) \cong \mathbb{Z}$. The reduced homology satisfies $\tilde{H}_n(X) = 0$ for all $n \geq 0$. This is the "correct" statement: a contractible space has trivial reduced homology, just as it has the homotopy type of a point.
[/remark]
[remark: Independence of Basepoint]
When $X$ is path-connected, the isomorphism type of $\tilde{H}_*(X)$ does not depend on the choice of $x_0$. Any two basepoints $x_0, x_1$ are connected by a path, and this path induces a homotopy of inclusions $\{x_0\} \simeq \{x_1\}$ in a suitable sense. In degree $\geq 1$, the isomorphism $\tilde{H}_n \cong H_n$ makes independence immediate. In degree $0$, note that $\tilde{H}_0(X) = 0$ for any path-connected $X$ regardless of basepoint, since $H_0(X) \cong \mathbb{Z}$ and the splitting gives $\tilde{H}_0(X) \cong H_0(X)/\mathbb{Z} = 0$.
[/remark]
## Good Pairs and the Quotient Isomorphism
The real power of reduced homology is revealed by its relationship with relative homology. Relative homology $H_n(X, A)$ captures information about $X$ modulo $A$, so it is natural to ask whether this equals $\tilde{H}_n(X/A)$, the reduced homology of the quotient space where $A$ is collapsed to a point. This is true when the pair $(X, A)$ is geometrically well-behaved.
[definition: Good Pair]
A pair $(X, A)$ with $A \subset X$ is called a **good pair** if there exists an open set $U \subset X$ containing $\overline{A}$ such that the inclusion $A \hookrightarrow U$ is a deformation retract. Explicitly, there must exist a homotopy $H: [0, 1] \times U \to U$ satisfying
\begin{align*}
H(0, x) &= x \quad \text{for all } x \in U, \\
H(1, x) &\in A \quad \text{for all } x \in U, \\
H(t, a) &= a \quad \text{for all } a \in A,\ t \in [0, 1].
\end{align*}
[/definition]
The condition says that $A$ is a neighborhood deformation retract in $X$: we can find a collar around $A$ and retract it onto $A$ while fixing $A$ pointwise. This is satisfied in virtually all cases arising in practice.
[example: CW Pairs are Good]
If $X$ is a CW complex and $A$ is a subcomplex, then $(X, A)$ is a good pair. The open set $U$ can be taken to be a tubular neighborhood of $A$ built from the open cells adjacent to $A$. The deformation retraction pushes $U$ onto $A$ along the attaching maps of those cells. This covers most spaces encountered in the course: spheres, tori, real and complex projective spaces, and their skeleta.
[/example]
[example: Bad Pair]
The Hawaiian earring $H \subset \mathbb{R}^2$ (the union of circles of radius $1/n$ tangent to the origin) with $A = \{0\}$ is an example of a pair that is **not** good. Any open set $U$ containing the origin must contain infinitely many of the circles, and it is not possible to deformation retract $U$ onto $\{0\}$ in a way that keeps the origin fixed — the circles can be pushed toward the origin but never fully contracted within a fixed open neighborhood. In this case, the map $H_n(H, \{0\}) \to \tilde{H}_n(H/\{0\})$ can fail to be an isomorphism.
[/example]
[quotetheorem:2258]
[citeproof:2258]
This theorem is one of the most useful computational tools in homology theory. It lets us replace the abstract relative group $H_n(X, A)$ with the geometrically concrete reduced homology of a quotient space, which often has a recognizable form.
## Consequences and Computations
[example: Homology of the Sphere via Quotients]
The disk $D^n$ with its boundary $\partial D^n = S^{n-1}$ forms a good pair. The quotient $D^n / S^{n-1}$ is homeomorphic to $S^n$: collapsing the boundary sphere of a disk produces a sphere. By the theorem, we have
\begin{align*}
H_k(D^n, S^{n-1}) \cong \tilde{H}_k(S^n) =
\begin{cases}
\mathbb{Z} & k = n, \\
0 & k \neq n.
\end{cases}
\end{align*}
We can verify this independently using the long exact sequence of the pair $(D^n, S^{n-1})$: since $D^n$ is contractible, $H_k(D^n) = 0$ for $k > 0$ and $H_0(D^n) \cong \mathbb{Z}$. The long exact sequence
\begin{align*}
\cdots \to H_k(D^n) \to H_k(D^n, S^{n-1}) \to H_{k-1}(S^{n-1}) \to H_{k-1}(D^n) \to \cdots
\end{align*}
gives, for $k \geq 2$, the fragment $0 \to H_k(D^n, S^{n-1}) \to H_{k-1}(S^{n-1}) \to 0$, so $H_k(D^n, S^{n-1}) \cong H_{k-1}(S^{n-1}) \cong \tilde{H}_{k-1}(S^{n-1})$. This gives $H_n(D^n, S^{n-1}) \cong \mathbb{Z}$ for $k = n$. Both approaches agree.
[/example]
[example: Reduced Homology of a Wedge Sum]
Given pointed spaces $(X, x_0)$ and $(Y, y_0)$, their wedge sum is $X \vee Y = (X \sqcup Y)/(x_0 \sim y_0)$. The pair $(X \sqcup Y, \{x_0, y_0\})$ is good (both basepoints have neighborhoods retracting onto them), so we obtain
\begin{align*}
\tilde{H}_n(X \vee Y) \cong H_n(X \sqcup Y, \{x_0, y_0\}) \cong \tilde{H}_n(X) \oplus \tilde{H}_n(Y).
\end{align*}
The last isomorphism uses additivity of homology over disjoint unions combined with the splitting $H_n(X, \{x_0\}) \oplus H_n(Y, \{y_0\}) \cong H_n(X \sqcup Y, \{x_0, y_0\})$. Applied iteratively, the reduced homology of a wedge of spheres $\bigvee_{i} S^n$ is a direct sum of copies of $\mathbb{Z}$ in degree $n$ and zero elsewhere — one copy per sphere.
[/example]
These examples illustrate the broader pattern: whenever a space can be built by attaching cells or collapsing subspaces, the quotient isomorphism theorem converts relative homology groups into reduced homology groups of recognizable quotient spaces, making the computation tractable. This perspective becomes central in the next chapter, where we study CW complexes and cellular homology in depth.
Reduced homology simplifies computations for pointed spaces, but many natural topological spaces are built from cells; cell complexes provide a combinatorial framework that makes homology calculation explicit and functorial.
# 5. Cell Complexes
The preceding chapters developed singular homology as a powerful but cumbersome machine: the chain groups $C_n(X)$ are enormous free abelian groups on all singular simplices, making direct computation essentially impossible except via indirect arguments. This chapter introduces **cell complexes** (also called CW complexes), a class of spaces built by a controlled gluing procedure. The payoff is substantial: for spaces admitting such a structure, homology can be computed from a small, combinatorially explicit chain complex called the **cellular chain complex**, whose rank in degree $n$ equals the number of $n$-cells.
## Cell Complexes and Their Topology
Before defining cell complexes precisely, it is worth asking what goes wrong with arbitrary topological spaces. Even imposing mild separation axioms like Hausdorffness and second countability does not prevent pathological behavior. The idea is instead to restrict attention to spaces that are *built*, step by step, by attaching disks along their boundaries — a construction general enough to include virtually every space encountered in practice, but controlled enough to admit clean homological computations.
[definition: Cell Complex]
A **cell complex** (or **CW complex**) is a topological space $X$ constructed by the following procedure.
1. **0-skeleton.** Start with a discrete space $X^0$. Write $I_0$ for the indexing set of its points.
2. **Inductive attachment.** Given the $(n-1)$-skeleton $X^{n-1}$, choose a collection of **attaching maps**
\begin{align*}
\{\varphi_\alpha : S^{n-1} \to X^{n-1}\}_{\alpha \in I_n}
\end{align*}
and form the **$n$-skeleton**
\begin{align*}
X^n = \left( X^{n-1} \amalg \coprod_{\alpha \in I_n} D^n_\alpha \right) \Big/ \bigl\{ x \sim \varphi_\alpha(x) : x \in \partial D^n_\alpha \bigr\}.
\end{align*}
The image of the open disk $D^n_\alpha \setminus \partial D^n_\alpha$ in $X^n$ is called the **open $n$-cell** $e_\alpha$.
3. **Weak topology.** Set $X = \bigcup_{n \geq 0} X^n$ and equip it with the **weak topology**: a subset $A \subseteq X$ is open if and only if $A \cap X^n$ is open in $X^n$ for all $n$.
[/definition]
The induced map $\Phi_\alpha : D^n_\alpha \to X^n$ from the construction above is called the **characteristic map** of the cell $e_\alpha$. It restricts to a homeomorphism $D^n_\alpha \setminus \partial D^n_\alpha \xrightarrow{\sim} e_\alpha$ and its restriction to $\partial D^n_\alpha = S^{n-1}$ is the attaching map $\varphi_\alpha$.
<!-- illustration-needed: the $n$-skeleton $X^n$ being built from $X^{n-1}$ by attaching disks $D^n_\alpha$ along their boundary spheres via maps $\varphi_\alpha : S^{n-1} \to X^{n-1}$ -->
[definition: Finite-Dimensional Cell Complex]
A cell complex $X$ is **finite-dimensional** if $X = X^n$ for some $n$; in this case the smallest such $n$ is the **dimension** of $X$.
[/definition]
[definition: Finite Cell Complex]
A cell complex $X$ is **finite** if it is finite-dimensional and each indexing set $I_n$ is finite — that is, $X$ has finitely many cells in total.
[/definition]
[definition: Subcomplex]
A **subcomplex** $A$ of $X$ is a cell complex formed by choosing, for each $n$, a subset $I_n' \subseteq I_n$ of the index set of $n$-cells, subject to the condition that the attaching maps of retained cells land in $A$. Equivalently, $A$ is a closed subspace of $X$ that is itself a cell complex with cells a subset of the cells of $X$.
[/definition]
One cannot simply discard cells freely: if $e_\beta$ is a cell whose attaching map hits $e_\alpha$, removing $e_\alpha$ while keeping $e_\beta$ breaks the subcomplex condition. The requirement is precisely that the cells in $A$ form a closed subset of the cell poset under the attaching relation.
The following technical result, proved in Hatcher (Proposition 0.16), is important for connecting cellular to singular homology.
[quotetheorem:2259]
The proof uses the fact that each cell neighborhood deformation retracts onto the subcomplex by a map that is the identity on $A$. We quote the result without proof.
As an immediate corollary of the excision theorem (applied to good pairs):
[quotetheorem:2260]
This isomorphism will be the key ingredient when we compute the relative homology of consecutive skeleta $H_n(X^n, X^{n-1})$.
## The Cellular Chain Complex
The main theorem of this chapter is that the homology of a CW complex can be read off from a small, explicit chain complex built out of the cells. The construction proceeds in two stages: first establishing structural lemmas about the homology of skeleta, then assembling these into the cellular chain complex.
### Homology of Skeleta
[quotetheorem:2261]
[citeproof:2261]
### Construction of the Cellular Chain Complex
These structural results suggest how to build a chain complex from the cells. Define
\begin{align*}
C_n^{\mathrm{cell}}(X) := H_n(X^n, X^{n-1}) \cong \bigoplus_{\alpha \in I_n} \mathbb{Z}.
\end{align*}
The generator corresponding to $\alpha \in I_n$ is written $e_\alpha$ and represents the $n$-cell.
[definition: Cellular Boundary Map]
The **cellular boundary map** $d_n^{\mathrm{cell}} : C_n^{\mathrm{cell}}(X) \to C_{n-1}^{\mathrm{cell}}(X)$ is the composition
\begin{align*}
H_n(X^n, X^{n-1}) \xrightarrow{\;\partial\;} H_{n-1}(X^{n-1}) \xrightarrow{\;q_*\;} H_{n-1}(X^{n-1}, X^{n-2}),
\end{align*}
where $\partial$ is the connecting homomorphism of the pair $(X^n, X^{n-1})$ and $q_*$ is induced by the quotient $X^{n-1} \to X^{n-1}/X^{n-2}$.
[/definition]
[quotetheorem:2262]
[citeproof:2262]
[definition: Cellular Homology]
The **cellular homology** of $X$ is the homology of the cellular chain complex:
\begin{align*}
H_n^{\mathrm{cell}}(X) := H_n(C_\bullet^{\mathrm{cell}}(X), d_\bullet^{\mathrm{cell}}).
\end{align*}
[/definition]
## Cellular Equals Singular Homology
The cellular chain complex is small and computable; singular homology is the canonical homotopy-invariant functor. The central theorem of this chapter is that they agree.
[quotetheorem:2263]
[citeproof:2263]
[remark: Immediate Consequences]
This theorem has structural consequences. For a finite cell complex, $C_n^{\mathrm{cell}}(X)$ has rank $|I_n|$, so $H_n(X)$ is a finitely generated abelian group generated by at most $|I_n|$ elements. In particular, if $X$ has no $n$-cells, then $H_n(X) = 0$. Moreover, if $X$ has cells only in even dimensions, then all cellular boundary maps are zero (since they go between groups in adjacent degrees, one of which is trivial), so all $H_n(X)$ are free abelian.
[/remark]
## Cellular Cohomology
The cellular construction dualizes to give a cochain complex for cohomology.
[definition: Cellular Cohomology]
Define $C^n_{\mathrm{cell}}(X) := H^n(X^n, X^{n-1})$ and let $d^n_{\mathrm{cell}} : C^n_{\mathrm{cell}}(X) \to C^{n+1}_{\mathrm{cell}}(X)$ be the composition
\begin{align*}
H^n(X^n, X^{n-1}) \xrightarrow{q^*} H^n(X^n) \xrightarrow{\partial^*} H^{n+1}(X^{n+1}, X^n).
\end{align*}
This gives a cochain complex $C^\bullet_{\mathrm{cell}}(X)$ with cohomology $H^*_{\mathrm{cell}}(X)$, and one has
\begin{align*}
H^n_{\mathrm{cell}}(X) \cong H^n(X).
\end{align*}
Moreover, $C^\bullet_{\mathrm{cell}}(X) \cong \operatorname{Hom}(C_\bullet^{\mathrm{cell}}(X), \mathbb{Z})$: the cellular cochain complex is simply the dual of the cellular chain complex.
[/definition]
The isomorphism $H^n_{\mathrm{cell}}(X) \cong H^n(X)$ follows by dualizing the proof of the cellular homology theorem.
## Computing the Cellular Boundary Maps
The cellular chain complex is only useful if we can compute $d_n^{\mathrm{cell}}$ explicitly. Since $C_n^{\mathrm{cell}}(X) = \bigoplus_{\alpha \in I_n} \mathbb{Z}\{e_\alpha\}$, the map is determined by integers $d_{\alpha\beta}$ defined by
\begin{align*}
d_n^{\mathrm{cell}}(e_\alpha) = \sum_{\beta \in I_{n-1}} d_{\alpha\beta}\, e_\beta.
\end{align*}
[quotetheorem:2264]
[citeproof:2264]
[remark: Local Degrees]
In practice, the degree of $f_{\alpha\beta}$ can be computed via local degrees. If $y \in S^{n-1}_\beta$ is a regular value, the degree is $\sum_{x \in f_{\alpha\beta}^{-1}(y)} \deg_x(f_{\alpha\beta})$, where each local degree $\deg_x$ is $+1$ or $-1$ depending on whether $f_{\alpha\beta}$ is orientation-preserving or -reversing near $x$.
[/remark]
## Computing Homology: Worked Examples
### The Klein Bottle
[example: Homology of the Klein Bottle]
Let $K$ denote the Klein bottle. We recall that $K$ is formed from a square by identifying opposite edges according to the word $aba^{-1}b$ (the two vertical edges $a$ in the same direction, the two horizontal edges $b$ in opposite directions).
We give $K$ a cell complex structure:
- **0-skeleton:** one vertex $v$ (all four corners of the square are identified).
- **1-skeleton:** two 1-cells $a$ and $b$, each attached as a loop at $v$.
- **2-skeleton:** one 2-cell $\pi$ attached via $\varphi_\pi : S^1 \to K^1$ traversing $a b a^{-1} b$.
The cellular chain complex is
\begin{align*}
0 \to C_2^{\mathrm{cell}}(K) \xrightarrow{d_2} C_1^{\mathrm{cell}}(K) \xrightarrow{d_1} C_0^{\mathrm{cell}}(K) \to 0
\end{align*}
with $C_2^{\mathrm{cell}}(K) = \mathbb{Z}\pi$, $C_1^{\mathrm{cell}}(K) = \mathbb{Z}a \oplus \mathbb{Z}b$, $C_0^{\mathrm{cell}}(K) = \mathbb{Z}v$.
**Computing $d_1$.** Both $a$ and $b$ are loops based at $v$, so their attaching maps send both endpoints of $[0,1]$ to $v$. Thus $d_1(a) = v - v = 0$ and $d_1(b) = v - v = 0$.
**Computing $d_2$.** We use local degrees. The attaching map $\varphi_\pi$ traces $a b a^{-1} b$. For the $a$-cell, the map $\varphi_\pi$ traverses $a$ once forward and $a^{-1}$ once backward: the two preimages of a regular point of $a$ have local degrees $+1$ and $-1$, which cancel, giving $d_{\pi a} = 0$. For the $b$-cell, the map traces $b$ twice in the same direction (both with degree $+1$), giving $d_{\pi b} = 2$. Thus
\begin{align*}
d_2(\pi) = 0 \cdot a + 2 \cdot b.
\end{align*}
The homology groups are:
\begin{align*}
H_0(K) &= C_0^{\mathrm{cell}} / \operatorname{im}(d_1) = \mathbb{Z}v / 0 = \mathbb{Z}, \\
H_1(K) &= \ker(d_1) / \operatorname{im}(d_2) = (\mathbb{Z}a \oplus \mathbb{Z}b) / \langle 2b \rangle \cong \mathbb{Z} \oplus \mathbb{Z}/2\mathbb{Z}, \\
H_2(K) &= \ker(d_2) = 0.
\end{align*}
Here $\ker(d_2) = 0$ since $d_2(\pi) = 2b \neq 0$.
**Cohomology.** Dualizing, write $a^*, b^*, \pi^*$ for the dual bases. The dual boundary map $(d_2)^\top : C^1_{\mathrm{cell}} \to C^2_{\mathrm{cell}}$ is given by the matrix $(0 \; 2)$, and $(d_1)^\top : C^0_{\mathrm{cell}} \to C^1_{\mathrm{cell}}$ is the zero map. Computing:
\begin{align*}
H^0(K) &= \mathbb{Z}, \quad H^1(K) = \mathbb{Z}, \quad H^2(K) = \mathbb{Z}/2\mathbb{Z}.
\end{align*}
The torsion in $H_1$ has migrated to $H^2$. Note that $H^2(K) \cong \mathbb{Z}/2\mathbb{Z}$ is not the $\mathbb{Z}$-dual of $H_2(K) = 0$. This mismatch — torsion in degree $n$ of homology appearing in degree $n+1$ of cohomology — is a general phenomenon explained by the **universal coefficient theorem**.
[/example]
### Real Projective Space
[example: Homology of Real Projective Space]
Let $\mathbb{R}P^n = S^n / (x \sim -x)$ be real projective $n$-space. We build a cell complex structure by induction.
**Cell structure.** Any point in $\mathbb{R}P^n$ not on the equator $\{x_{n+1} = 0\}$ is represented by a unique point in the open upper hemisphere. Points on the equator are pairs of antipodal points, so they form a copy of $\mathbb{R}P^{n-1}$. This gives
\begin{align*}
\mathbb{R}P^n = \mathbb{R}P^{n-1} \cup_f D^n,
\end{align*}
where $f : S^{n-1} \to \mathbb{R}P^{n-1}$ is the quotient map $f(x) = [x]$. By induction, $\mathbb{R}P^n$ has exactly one cell $e_i$ in each dimension $0 \leq i \leq n$.
**Computing the boundary maps.** The attaching map of $e_i$ is the covering map $f : S^{i-1} \to \mathbb{R}P^{i-1}$. The quotient map $\mathbb{R}P^{i-1} \to \mathbb{R}P^{i-1}/\mathbb{R}P^{i-2} \cong S^{i-1}$ combined with $f$ gives the composite $f_{i} : S^{i-1} \to S^{i-1}$.
The upper and lower hemispheres of $S^{i-1}$ each map homeomorphically to $S^{i-1} \setminus \{*\}$, but the lower hemisphere does so via $f \circ a$, where $a : S^{i-1} \to S^{i-1}$ is the antipodal map. Since $\deg(a) = (-1)^i$, the two preimages of a regular value contribute local degrees $+1$ and $(-1)^i$. Thus
\begin{align*}
\deg(f_i) = 1 + (-1)^i = \begin{cases} 0 & i \text{ odd}, \\ 2 & i \text{ even}. \end{cases}
\end{align*}
The cellular chain complex is
\begin{align*}
\cdots \xrightarrow{2} \mathbb{Z}e_3 \xrightarrow{0} \mathbb{Z}e_2 \xrightarrow{2} \mathbb{Z}e_1 \xrightarrow{0} \mathbb{Z}e_0.
\end{align*}
(The degree of $d_i^{\mathrm{cell}}$ is $0$ when $i$ is odd and $2$ when $i$ is even, and the leftmost map depends on the parity of $n$.)
**Homology.** Reading off the homology groups:
\begin{align*}
H_i(\mathbb{R}P^n) = \begin{cases} \mathbb{Z} & i = 0, \\ \mathbb{Z}/2\mathbb{Z} & i \text{ odd},\; 0 < i < n, \\ 0 & i \text{ even},\; 0 < i < n, \\ \mathbb{Z} & i = n \text{ and } n \text{ odd}, \\ 0 & \text{otherwise.} \end{cases}
\end{align*}
**Cohomology.** Dualizing the chain complex gives the cochain complex
\begin{align*}
0 \xrightarrow{0} \mathbb{Z} \xrightarrow{0} \mathbb{Z} \xrightarrow{2} \mathbb{Z} \xrightarrow{0} \mathbb{Z} \xrightarrow{2} \cdots
\end{align*}
and hence
\begin{align*}
H^i(\mathbb{R}P^n) = \begin{cases} \mathbb{Z} & i = 0, \\ 0 & i \text{ odd},\; 0 < i < n, \\ \mathbb{Z}/2\mathbb{Z} & i \text{ even},\; 0 < i \leq n, \\ \mathbb{Z} & i = n \text{ and } n \text{ odd}, \\ 0 & \text{otherwise.} \end{cases}
\end{align*}
The torsion has shifted: in homology it lives in odd degrees $< n$, while in cohomology it lives in even degrees $\leq n$. This shift is the universal coefficient theorem in action.
[/example]
[explanation: The Universal Coefficient Theorem Preview]
Both examples above exhibit the same pattern: the torsion part of $H_n(X)$ does not directly reappear in $H^n(X)$. Instead, torsion from $H_{n-1}(X)$ contributes to $H^n(X)$.
More precisely, for a cell complex $X$, knowing all the homology groups $H_*(X)$ determines all the cohomology groups $H^*(X)$ — but the correspondence is not just dualization. The rule is:
- The free part of $H_n(X)$ contributes a copy of $\mathbb{Z}$ to $H^n(X)$.
- The torsion part of $H_{n-1}(X)$ (specifically, $\mathbb{Z}/k\mathbb{Z}$ factors from $H_{n-1}$) contributes a copy of $\mathbb{Z}/k\mathbb{Z}$ to $H^n(X)$.
This is the content of the **universal coefficient theorem**, which will be addressed in a later chapter. For now, the examples of the Klein bottle and $\mathbb{R}P^n$ provide the key illustration: cohomology carries the same information as homology, but it is redistributed across degrees.
[/explanation]
Cell complexes let us compute homology directly from combinatorial data, but coefficients offer finer algebraic structure; working with homology in a module over an arbitrary ring reveals universal properties and structure theorems.
# 6. (Co)homology with Coefficients
The homology and cohomology groups developed in the previous chapters were built from free $\mathbb{Z}$-modules — the singular chain groups $C_n(X)$ are free abelian, and all the algebraic machinery ran over $\mathbb{Z}$. But the construction never actually required $\mathbb{Z}$: any abelian group $A$ would serve equally well as the "scalars" in a chain complex. Replacing $\mathbb{Z}$ with a general coefficient group reveals new structure that integer homology conceals. Torsion in the integer homology becomes visible over $\mathbb{Z}/n\mathbb{Z}$, while passing to $\mathbb{Q}$ or $\mathbb{R}$ kills it and gives a cleaner theory more amenable to linear-algebraic methods. This chapter introduces homology and cohomology with coefficients in an arbitrary abelian group $A$, establishes that all earlier results carry over unchanged, and illustrates through the example of $\mathbb{RP}^n$ how the choice of coefficients dramatically changes what one sees.
## Defining (Co)homology with Coefficients
Integer homology carries a hidden limitation: it can fail to detect topological features that are genuinely present. The $2$-torsion in $H_1(\mathbb{RP}^2; \mathbb{Z}) \cong \mathbb{Z}/2$ is visible over $\mathbb{Z}$, but over $\mathbb{Q}$ it vanishes entirely — rational homology cannot see finite-order phenomena. Conversely, the non-orientability of $\mathbb{RP}^2$ is invisible over $\mathbb{Z}$ in the top dimension (since $H_2(\mathbb{RP}^2; \mathbb{Z}) = 0$) but becomes visible over $\mathbb{Z}/2$, where $H_2(\mathbb{RP}^2; \mathbb{Z}/2) \cong \mathbb{Z}/2$. The remedy is to allow the coefficient group to vary. Instead of forming the free abelian group on the set of singular $n$-simplices (which produces $C_n(X) = \bigoplus_\sigma \mathbb{Z}$), we take one copy of an arbitrary abelian group $A$ for each singular simplex and sum them.
[definition: Homology and Cohomology with Coefficients]
Let $X$ be a topological space and let $A$ be an abelian group. Define the **singular chain complex with coefficients $A$** by
\begin{align*}
C_n(X; A) := C_n(X) \otimes_{\mathbb{Z}} A,
\end{align*}
with differential $d_n \otimes \operatorname{id}_A : C_n(X; A) \to C_{n-1}(X; A)$.
A general element of $C_n(X; A)$ has the form $\sum_\sigma n_\sigma \cdot \sigma$ where each $n_\sigma \in A$ and $\sigma : \Delta^n \to X$ is a singular $n$-simplex (only finitely many $n_\sigma$ nonzero). The **singular homology of $X$ with coefficients in $A$** is
\begin{align*}
H_n(X; A) := H_n(C_\bullet(X; A),\, d_\bullet \otimes \operatorname{id}_A).
\end{align*}
For CW complexes, the cellular version is
\begin{align*}
H_n^{\mathrm{cell}}(X; A) := H_n(C_\bullet^{\mathrm{cell}}(X) \otimes A),
\end{align*}
and the cellular-to-singular comparison shows $H_n^{\mathrm{cell}}(X; A) = H_n(X; A)$ by exactly the same argument as in the integer case.
Dually, the **cochain complex with coefficients in $A$** is
\begin{align*}
C^n(X; A) := \operatorname{Hom}(C_n(X), A),
\end{align*}
with coboundary $d^n : C^n(X; A) \to C^{n+1}(X; A)$ defined by $d^n(\varphi) = \varphi \circ d_{n+1}$. The **singular cohomology of $X$ with coefficients in $A$** is
\begin{align*}
H^n(X; A) := H^n(C^\bullet(X; A)).
\end{align*}
If $A = R$ is a commutative ring, then $C_n(X; R)$ and $H_n(X; R)$ are $R$-modules.
[/definition]
The element $n_\sigma \in A$ playing the role of a coefficient explains the terminology: a chain in $C_n(X; A)$ is a formal linear combination of singular simplices with coefficients drawn from $A$, not just from $\mathbb{Z}$.
[remark: Standard Coefficient Choices]
The most common choices of $A$ are $\mathbb{Z}$ (recovering the ordinary theory), $\mathbb{Z}/n\mathbb{Z}$ (for detecting $n$-torsion), $\mathbb{Q}$ (for a theory without torsion, with rational vector space structure), and $\mathbb{R}$ or $\mathbb{C}$ (for connections with de Rham cohomology and Hodge theory).
[/remark]
[quotetheorem:2265]
The reason the same proofs work is instructive: none of the key arguments used any specific property of $\mathbb{Z}$ beyond the fact that the chain groups $C_n(X)$ were free abelian. When we tensor with $A$, the boundary maps $d_n \otimes \operatorname{id}_A$ satisfy $(d_n \otimes \operatorname{id}_A) \circ (d_{n+1} \otimes \operatorname{id}_A) = d_n \circ d_{n+1} \otimes \operatorname{id}_A = 0$, so the coefficient complex is still a chain complex. Every diagram chase — for the snake lemma, for the Mayer–Vietoris connecting homomorphism, for excision — goes through unchanged, with $\mathbb{Z}$ replaced by $A$ throughout.
## The Effect of Coefficients: $\mathbb{RP}^n$
The real power of coefficient homology is that different groups $A$ illuminate different aspects of a space. The projective space $\mathbb{RP}^n$ provides a perfect illustration, because its integer homology mixes free and torsion parts.
Recall that the cellular chain complex of $\mathbb{RP}^n$ has one cell in each dimension $0 \le k \le n$, so $C_k^{\mathrm{cell}}(\mathbb{RP}^n) \cong \mathbb{Z}$ for $0 \le k \le n$. The differentials alternate between $0$ and multiplication by $2$:
\begin{align*}
d_k = \begin{cases} 0 & k \text{ odd}, \\ 2 & k \text{ even and } k \ge 2. \end{cases}
\end{align*}
[example: $\mathbb{RP}^n$ with $\mathbb{Z}/2$-Coefficients]
When we tensor the cellular chain complex with $\mathbb{Z}/2\mathbb{Z}$, every differential becomes multiplication by $2$ in $\mathbb{Z}/2\mathbb{Z}$, which is $0$. So
\begin{align*}
C_k^{\mathrm{cell}}(\mathbb{RP}^n; \mathbb{Z}/2) \cong \mathbb{Z}/2,
\end{align*}
and all differentials vanish. Since there are no boundaries and all chains are cycles, the homology equals the chain group in each degree:
\begin{align*}
H_k(\mathbb{RP}^n; \mathbb{Z}/2) = \begin{cases} \mathbb{Z}/2 & 0 \le k \le n, \\ 0 & k > n. \end{cases}
\end{align*}
Similarly, the cohomology groups $H^k(\mathbb{RP}^n; \mathbb{Z}/2)$ are the same in each degree.
The $\mathbb{Z}/2$-theory is dramatically simpler than the integer theory: all the subtlety of the $2$-torsion and free parts collapses to a uniform $\mathbb{Z}/2$ in every dimension. This is why $\mathbb{Z}/2$ coefficients are the natural setting for studying spaces built from cells whose attaching maps have degree $2$ (or any even integer).
[/example]
[example: $\mathbb{RP}^n$ with Rational Coefficients]
When we tensor with $\mathbb{Q}$, multiplication by $2$ becomes an isomorphism on $\mathbb{Q}$ (since $\frac{1}{2} \in \mathbb{Q}$). The cellular differentials that were multiplication by $2$ over $\mathbb{Z}$ now become isomorphisms $\mathbb{Q} \xrightarrow{\sim} \mathbb{Q}$.
For $n$ even, the chain complex $C_\bullet^{\mathrm{cell}}(\mathbb{RP}^n; \mathbb{Q})$ looks like
\begin{align*}
0 \to \mathbb{Q} \xrightarrow{2} \mathbb{Q} \xrightarrow{0} \mathbb{Q} \xrightarrow{2} \cdots \xrightarrow{2} \mathbb{Q} \xrightarrow{0} \mathbb{Q} \to 0.
\end{align*}
The maps $\xrightarrow{2}$ are isomorphisms over $\mathbb{Q}$, so the resulting homology is concentrated in degree $0$: $H_0(\mathbb{RP}^n; \mathbb{Q}) \cong \mathbb{Q}$ and $H_k(\mathbb{RP}^n; \mathbb{Q}) = 0$ for $k > 0$ when $n$ is even.
For $n$ odd, the pattern is similar except the top differential vanishes, yielding $H_n(\mathbb{RP}^n; \mathbb{Q}) \cong \mathbb{Q}$ in addition to $H_0 \cong \mathbb{Q}$. In both cases, the rational homology contains no torsion information — it only detects the free part of the integer homology.
More precisely:
\begin{align*}
H_k(\mathbb{RP}^n; \mathbb{Q}) = \begin{cases} \mathbb{Q} & k = 0, \text{ or } k = n \text{ with } n \text{ odd}, \\ 0 & \text{otherwise.} \end{cases}
\end{align*}
Passing to $\mathbb{Q}$ coefficients wipes out all $2$-torsion and reveals that $\mathbb{RP}^n$ is, rationally, very simple: its rational homology is no richer than that of a point (when $n$ is even) or a circle (when $n$ is odd).
[/example]
[explanation: What Coefficient Changes Reveal]
The $\mathbb{RP}^n$ calculation illustrates a general principle. The integer homology $H_n(X; \mathbb{Z})$ packages two types of information: the **free rank** (the number of independent $\mathbb{Z}$ summands) and the **torsion** (the finite cyclic subgroups). These contribute differently when we change coefficients:
- Tensoring with $\mathbb{Q}$ kills all torsion: a summand $\mathbb{Z}/m\mathbb{Z}$ in $H_n(X;\mathbb{Z})$ contributes $0$ to $H_n(X;\mathbb{Q})$, while a free summand $\mathbb{Z}$ contributes $\mathbb{Q}$.
- Tensoring with $\mathbb{Z}/p\mathbb{Z}$ preserves $p$-torsion and kills torsion coprime to $p$. Moreover, it can detect torsion that is hidden in integer homology — a free summand $\mathbb{Z}$ contributes $\mathbb{Z}/p\mathbb{Z}$, while a torsion summand $\mathbb{Z}/p^k\mathbb{Z}$ contributes $\mathbb{Z}/p\mathbb{Z}$ as well (for $k \ge 1$).
The precise relationship between $H_n(X; A)$ and $H_n(X; \mathbb{Z}) \otimes A$ is given by the Universal Coefficient Theorem, which relates the two via a short exact sequence involving both $\operatorname{Tor}$ and the tensor product. This will be developed in later sections of the course.
For now, the key takeaway is that coefficient groups are a tool for isolating specific arithmetic features of a space's topology.
[/explanation]
Homology groups themselves carry geometric meaning: their ranks sum to a single topological invariant, the Euler characteristic, which relates combinatorial structure to fundamental properties like orientability and fixed points.
# 7. Euler Characteristic
The Euler characteristic is one of the oldest topological invariants, predating homology theory by more than a century. Euler observed that for any convex polyhedron, the alternating sum $V - E + F = 2$, where $V$, $E$, $F$ count vertices, edges, and faces. Chapter 6 developed the machinery of CW complexes and cellular homology; here we cash in on that investment. The Euler characteristic is most naturally defined combinatorially — as an alternating count of cells — but the striking fact is that this combinatorial count equals the alternating sum of ranks of homology groups, making it a genuine topological invariant independent of the cell decomposition.
## Three Equivalent Definitions
There are many ways to define the Euler characteristic, and they are all equivalent. We start with the definition that makes it most transparent that the result is an integer.
[definition: Euler Characteristic]
Let $X$ be a cell complex. The **Euler characteristic** of $X$ is
\begin{align*}
\chi(X) = \sum_n (-1)^n \cdot (\text{number of } n\text{-cells of } X) \in \mathbb{Z}.
\end{align*}
[/definition]
This definition is completely explicit: count cells of each dimension, weight each count by $(-1)^n$, and sum. For a finite CW complex the sum is finite, so $\chi(X)$ is a well-defined integer. However, from this definition alone it is not at all clear that $\chi(X)$ depends only on the homotopy type of $X$ rather than on the chosen cell decomposition. The same space can be given many different CW structures — adding or removing cells — and a priori the alternating count could change. This is the central subtlety.
To address it, we introduce two further quantities defined in terms of homology, which are manifestly homotopy invariants.
For integer homology, define
\begin{align*}
\chi_{\mathbb{Z}}(X) = \sum_n (-1)^n \operatorname{rank} H_n(X; \mathbb{Z}),
\end{align*}
where $\operatorname{rank}$ denotes the rank of an abelian group (the rank of its free part).
For any field $\mathbb{F}$, define
\begin{align*}
\chi_{\mathbb{F}}(X) = \sum_n (-1)^n \dim_{\mathbb{F}} H_n(X; \mathbb{F}).
\end{align*}
Since homology groups are homotopy invariants, both $\chi_{\mathbb{Z}}(X)$ and $\chi_{\mathbb{F}}(X)$ are automatically homotopy invariant. The following theorem shows that the combinatorial definition coincides with both, so all three agree.
[quotetheorem:2266]
[citeproof:2266]
The theorem has a clean conceptual interpretation: the signed cancellation of cycles and boundaries in the chain complex is so perfect that only the homological data survives. In particular, every time one adds a pair of cells that cancel in homology — such as an $n$-cell whose boundary kills a previously free $(n-1)$-cycle — the Euler characteristic is unchanged.
## Homotopy Invariance and Computations
An immediate consequence of the theorem is that $\chi(X)$ is a homotopy invariant: since $\chi(X) = \chi_{\mathbb{Z}}(X)$ and homology groups are homotopy invariants, the Euler characteristic cannot change under homotopy equivalences.
[remark: Different Cell Structures Give the Same Euler Characteristic]
The theorem implies that any two CW structures on a homotopy-equivalent space yield the same Euler characteristic. For instance, a triangulated torus has $V - E + F = 0$ regardless of how finely one triangulates it, since $\chi(T^2) = 0$ as computed from homology.
[/remark]
Let us compute the Euler characteristic for the standard examples, using the homology groups established in previous chapters.
[example: Euler Characteristic of Spheres]
The homology groups of $S^n$ for $n \geq 1$ are $H_0(S^n; \mathbb{Z}) \cong \mathbb{Z}$ and $H_n(S^n; \mathbb{Z}) \cong \mathbb{Z}$, with all other groups vanishing. Therefore,
\begin{align*}
\chi(S^n) = (-1)^0 \cdot 1 + (-1)^n \cdot 1 = 1 + (-1)^n.
\end{align*}
For even $n$, this gives $\chi(S^n) = 2$. For odd $n$, this gives $\chi(S^n) = 0$.
To verify consistency with the cell structure: $S^n$ has the minimal CW structure with one $0$-cell and one $n$-cell, giving
\begin{align*}
\chi = (-1)^0 \cdot 1 + (-1)^n \cdot 1 = 1 + (-1)^n,
\end{align*}
which matches perfectly.
[/example]
[example: Euler Characteristic of the Torus and Surfaces]
The torus $T^2 = S^1 \times S^1$ has homology $H_0 \cong \mathbb{Z}$, $H_1 \cong \mathbb{Z}^2$, $H_2 \cong \mathbb{Z}$, so
\begin{align*}
\chi(T^2) = 1 - 2 + 1 = 0.
\end{align*}
The standard CW structure on $T^2$ has one $0$-cell, two $1$-cells, and one $2$-cell, giving $\chi = 1 - 2 + 1 = 0$, consistent.
More generally, the closed orientable surface $\Sigma_g$ of genus $g$ satisfies $\chi(\Sigma_g) = 2 - 2g$. For $g = 0$ (sphere), $\chi = 2$; for $g = 1$ (torus), $\chi = 0$; for $g = 2$ (double torus), $\chi = -2$. The non-orientable surface $N_k$ (connected sum of $k$ projective planes) satisfies $\chi(N_k) = 2 - k$.
[/example]
[example: Euler Characteristic of Real Projective Spaces]
The real projective space $\mathbb{R}P^n$ has a CW structure with exactly one cell in each dimension $0, 1, \ldots, n$. Thus
\begin{align*}
\chi(\mathbb{R}P^n) = \sum_{k=0}^n (-1)^k = \frac{1 + (-1)^n}{2} = \begin{cases} 1 & n \text{ even} \\ 0 & n \text{ odd} \end{cases}.
\end{align*}
One can verify this using the known homology groups of $\mathbb{R}P^n$: for odd $n$, the $\mathbb{Z}/2\mathbb{Z}$ torsion in homology does not contribute to the rank, and indeed $\chi_{\mathbb{Z}} = 0$. Over $\mathbb{F}_2$, each homology group $H_k(\mathbb{R}P^n; \mathbb{F}_2) \cong \mathbb{F}_2$ for $0 \leq k \leq n$, giving $\chi_{\mathbb{F}_2}(\mathbb{R}P^n) = \sum_{k=0}^n (-1)^k$, the same answer.
[/example]
## The Euler Characteristic and the Hairy Ball Theorem
The sign of $\chi(S^n)$ — specifically whether it is zero or nonzero — is intimately related to the existence of nowhere-vanishing vector fields, as established in the previous chapter.
[remark: Euler Characteristic and Vector Fields]
The Hairy Ball Theorem states that $S^n$ admits a nowhere-zero vector field if and only if $n$ is odd. This is precisely the condition $\chi(S^n) = 0$: odd $n$ gives $\chi(S^n) = 0$, while even $n$ gives $\chi(S^n) = 2 \neq 0$. This is not a coincidence — for compact smooth manifolds, a classical theorem (the Poincaré–Hopf theorem, which lies slightly beyond this course) asserts that a nowhere-zero vector field exists if and only if $\chi(M) = 0$.
[/remark]
## Multiplicativity of the Euler Characteristic
A useful computational property is that the Euler characteristic is multiplicative under products and behaves well under covers.
[quotetheorem:2267]
[citeproof:2267]
[example: Verification for the Torus]
Using multiplicativity: $\chi(T^2) = \chi(S^1) \times \chi(S^1) = 0 \times 0 = 0$, which matches our direct computation. Similarly, $\chi(S^1 \times S^2) = 0 \times 2 = 0$, and $\chi(S^2 \times S^2) = 2 \times 2 = 4$. For the latter, the homology groups are $H_0 \cong \mathbb{Z}$, $H_2 \cong \mathbb{Z}^2$, $H_4 \cong \mathbb{Z}$, giving $\chi = 1 - 0 + 2 - 0 + 1 = 4$, confirming the formula.
[/example]
[quotetheorem:2268]
[citeproof:2268]
[example: Euler Characteristic of Real Projective Space via Double Cover]
The double cover $S^n \to \mathbb{R}P^n$ gives $\chi(S^n) = 2\chi(\mathbb{R}P^n)$. For $n$ even: $\chi(S^n) = 2$ and $\chi(\mathbb{R}P^n) = 1$, so $2 = 2 \times 1$. For $n$ odd: $\chi(S^n) = 0$ and $\chi(\mathbb{R}P^n) = 0$, so $0 = 2 \times 0$. Both cases are consistent.
[/example]
The Euler characteristic counts dimension, but the cup product endows cohomology with a multiplicative structure that distinguishes spaces even when their homology groups are identical.
# 8. Cup Product
Throughout the course, homology and cohomology have seemed like two faces of the same coin — related by the Universal Coefficient Theorem, carrying essentially the same information. This chapter reveals the decisive advantage of cohomology: it admits a multiplicative structure. By combining two cohomology classes of degrees $k$ and $\ell$ into a class of degree $k + \ell$, we turn the graded abelian group $H^*(X; R)$ into a graded ring. This ring structure, called the **cup product**, is a strictly richer invariant than the collection of cohomology groups alone — spaces with isomorphic cohomology groups can have non-isomorphic cohomology rings.
## Defining the Cup Product
The definition of the cup product is elementary: it acts at the level of cochains by splitting a simplex into its front and back faces, evaluating each cochain on one piece, and multiplying the results in the coefficient ring $R$.
[definition: Cup Product]
Let $R$ be a commutative ring and let $X$ be a topological space. For $\phi \in C^k(X; R)$ and $\psi \in C^\ell(X; R)$, the **cup product** $\phi \smile \psi \in C^{k+\ell}(X; R)$ is defined by
\begin{align*}
(\phi \smile \psi)(\sigma) = \phi\!\left(\sigma|_{[v_0, \ldots, v_k]}\right) \cdot \psi\!\left(\sigma|_{[v_k, \ldots, v_{k+\ell}]}\right),
\end{align*}
for each singular $(k+\ell)$-simplex $\sigma: \Delta^{k+\ell} \to X$, where $v_0, \ldots, v_{k+\ell}$ are the standard vertices of $\Delta^{k+\ell} \subseteq \mathbb{R}^{k+\ell+1}$, and the restriction is given by
\begin{align*}
\sigma|_{[x_0, \ldots, x_i]}(t_0, \ldots, t_i) = \sigma\!\left(\textstyle\sum_j t_j x_j\right).
\end{align*}
The product on the right-hand side is multiplication in $R$. This defines a bilinear map $C^k(X; R) \times C^\ell(X; R) \to C^{k+\ell}(X; R)$.
[/definition]
The splitting of vertices is the key idea: a $(k+\ell)$-simplex has a natural **front $k$-face** $[v_0, \ldots, v_k]$ and a **back $\ell$-face** $[v_k, \ldots, v_{k+\ell}]$, and the cup product uses $\phi$ to probe the front and $\psi$ to probe the back. The vertex $v_k$ is shared between the two faces — this overlap is what makes the Leibniz rule (see below) work out with the correct signs.
We also introduce the notation
\begin{align*}
H^*(X; R) = \bigoplus_{n \geq 0} H^n(X; R)
\end{align*}
for the **total cohomology**, which is the graded abelian group collecting all cohomology groups together. Our goal is to make $H^*(X; R)$ into a ring using $\smile$.
## The Leibniz Rule and Descent to Cohomology
The definition at the cochain level is straightforward, but we need the cup product to descend to a well-defined operation on cohomology classes. This requires understanding how $\smile$ interacts with the coboundary operator $d$.
[quotetheorem:2269]
This is the graded Leibniz rule — a product rule with a sign determined by the degree of the left factor. The sign $(-1)^k$ is a hallmark of **graded algebra**: whenever you move a degree-$k$ object past a boundary operator (or past another object), you pick up a sign $(-1)^k$.
[proof]
Let $\sigma: \Delta^{k+\ell+1} \to X$. We compute each term separately. For the term $(d\phi) \smile \psi$:
\begin{align*}
((d\phi) \smile \psi)(\sigma)
&= (d\phi)\!\left(\sigma|_{[v_0,\ldots,v_{k+1}]}\right) \cdot \psi\!\left(\sigma|_{[v_{k+1},\ldots,v_{k+\ell+1}]}\right) \\
&= \phi\!\left(\sum_{i=0}^{k+1}(-1)^i\,\sigma|_{[v_0,\ldots,\hat v_i,\ldots,v_{k+1}]}\right) \cdot \psi\!\left(\sigma|_{[v_{k+1},\ldots,v_{k+\ell+1}]}\right).
\end{align*}
For the term $(-1)^k\,\phi \smile (d\psi)$:
\begin{align*}
(\phi \smile (d\psi))(\sigma)
&= \phi\!\left(\sigma|_{[v_0,\ldots,v_k]}\right) \cdot (d\psi)\!\left(\sigma|_{[v_k,\ldots,v_{k+\ell+1}]}\right),
\end{align*}
and expanding the coboundary and re-indexing signs gives a factor of $(-1)^k$ relative to the last term of the first sum. The critical observation is that the last term of $(d\phi)\smile\psi$ (with $i = k+1$, giving face $[v_0,\ldots,v_k]$ at $v_{k+1}$) and the first term of $\phi\smile(d\psi)$ (from removing $v_k$) coincide but with opposite signs, so they cancel. The remaining terms combine to give exactly $(d(\phi\smile\psi))(\sigma) = (\phi\smile\psi)(d\sigma)$.
[/proof]
[remark: Why the Leibniz Rule Matters]
The Leibniz rule is the crucial structural fact. If $d\phi = 0$ and $d\psi = 0$ (both are cocycles), then $d(\phi\smile\psi) = 0$, so the cup product of two cocycles is again a cocycle. Moreover, if $\phi' = \phi + d\tau$, then
\begin{align*}
\phi' \smile \psi = \phi \smile \psi + (d\tau) \smile \psi = \phi \smile \psi + d(\tau \smile \psi) \pm \tau \smile (d\psi).
\end{align*}
Since $d\psi = 0$, the last term vanishes, so $\phi' \smile \psi$ and $\phi \smile \psi$ differ by a coboundary. Thus the cohomology class $[\phi \smile \psi]$ depends only on $[\phi]$ and $[\psi]$.
[/remark]
[quotetheorem:2270]
[citeproof:2270]
## The Cohomology Ring
The cup product is associative at the cochain level — this is immediate from the definition, since both $(\phi\smile\psi)\smile\chi$ and $\phi\smile(\psi\smile\chi)$ evaluate on $\sigma: \Delta^{k+\ell+m} \to X$ by using the front $k$-face, the middle $\ell$-face, and the back $m$-face, with the products taken in the same order. Associativity on $H^*(X; R)$ follows.
There is also a unit element. Define $1 \in C^0(X; R)$ by $1(\sigma) = 1_R$ for every $0$-simplex $\sigma$. Then $d(1) = 0$, so $1$ is a cocycle, and $[1] \in H^0(X; R)$. For any $\phi \in C^k(X; R)$, one checks directly from the definition that $1 \smile \phi = \phi = \phi \smile 1$.
[quotetheorem:2271]
The word **graded** means that the multiplication respects the grading: the product of a degree-$k$ class with a degree-$\ell$ class lies in degree $k+\ell$. This is the correct setting for the next property.
## Graded-Commutativity
Unlike ordinary ring multiplication, the cup product is not commutative. Instead, it satisfies a **graded commutativity** condition that mixes the degrees with signs.
[quotetheorem:2272]
[remark: Graded Commutativity at the Cochain Level]
This identity is **not** true at the cochain level — it is a cohomological coincidence, and the proof requires a non-trivial chain homotopy argument. The idea is to relate $\phi \smile \psi$ to $\psi \smile \phi$ via a chain map that reverses the ordering of vertices.
[/remark]
[proof]
Define the **vertex-reversal map** $\rho_n: C_n(X) \to C_n(X)$ by
\begin{align*}
\rho_n(\sigma) = (-1)^{n(n+1)/2}\, \sigma|_{[v_n, v_{n-1}, \ldots, v_0]},
\end{align*}
where $(-1)^{n(n+1)/2}$ is the sign of the permutation that reverses $\{0, 1, \ldots, n\}$. Write $\varepsilon_n = (-1)^{n(n+1)/2}$ for convenience.
We claim that $\rho$ is a chain map homotopic to the identity. Assuming this claim, let $\phi \in C^k(X; R)$ represent $\alpha$ and $\psi \in C^\ell(X; R)$ represent $\beta$. The key computation is:
\begin{align*}
(\rho^*\phi \smile \rho^*\psi)(\sigma)
&= \phi(\varepsilon_k\,\sigma|_{[v_k,\ldots,v_0]}) \cdot \psi(\varepsilon_\ell\,\sigma|_{[v_{k+\ell},\ldots,v_k]}),
\end{align*}
and
\begin{align*}
\rho^*(\psi \smile \phi)(\sigma)
&= (\psi \smile \phi)(\varepsilon_{k+\ell}\,\sigma|_{[v_{k+\ell},\ldots,v_0]}) \\
&= \varepsilon_{k+\ell}\,\psi(\sigma|_{[v_{k+\ell},\ldots,v_k]}) \cdot \phi(\sigma|_{[v_k,\ldots,v_0]}) \\
&= \varepsilon_{k+\ell}\,\varepsilon_k\,\varepsilon_\ell \cdot (\rho^*\phi \smile \rho^*\psi)(\sigma).
\end{align*}
A direct computation shows $\varepsilon_{k+\ell}\,\varepsilon_k\,\varepsilon_\ell = (-1)^{k\ell}$. Since $\rho$ is chain homotopic to the identity, $\rho^*$ induces the identity on cohomology. Thus:
\begin{align*}
\alpha \smile \beta = [\phi \smile \psi] = [\rho^*\phi \smile \rho^*\psi] = (-1)^{k\ell}[\rho^*(\psi \smile \phi)] = (-1)^{k\ell}[\psi \smile \phi] = (-1)^{k\ell}\,\beta \smile \alpha.
\end{align*}
It remains to verify that $\rho$ is a chain map homotopic to the identity. That $\rho$ is a chain map follows from the identity $\varepsilon_{n-1}(-1)^{n-i} = \varepsilon_n(-1)^i$, which one checks by expanding both sides. The chain homotopy uses a **twisted prism construction**: let
\begin{align*}
P_n = \sum_i (-1)^i \varepsilon_{n-i}[v_0, \ldots, v_i, w_n, \ldots, w_i] \in C_{n+1}([0,1]\times\Delta^n),
\end{align*}
where $v_0,\ldots,v_n$ are the vertices of $\{0\}\times\Delta^n$ and $w_0,\ldots,w_n$ are the vertices of $\{1\}\times\Delta^n$. Setting $\pi: [0,1]\times\Delta^n \to \Delta^n$ for the projection, one defines $F_n^X: C_n(X) \to C_{n+1}(X)$ by $\sigma \mapsto (\sigma\circ\pi)_\#(P_n)$ and verifies that $\partial F_n^X + F_{n-1}^X \partial = \rho - \operatorname{id}$.
[/proof]
## Naturality of the Cup Product
The cup product is natural with respect to continuous maps. This is a straightforward consequence of the cochain-level formula: if $f: X \to Y$ is continuous, then the pullback $f^*: C^\ell(Y; R) \to C^\ell(X; R)$ sends $\phi \mapsto \phi \circ f_\#$, and one computes
\begin{align*}
(f^*\phi \smile f^*\psi)(\sigma) = (f^*\phi)(\sigma|_{[v_0,\ldots,v_k]}) \cdot (f^*\psi)(\sigma|_{[v_k,\ldots,v_{k+\ell}]}) = (\phi\smile\psi)(f\circ\sigma) = f^*(\phi\smile\psi)(\sigma).
\end{align*}
[quotetheorem:2273]
This naturality is what makes the cohomology ring a genuine functor from spaces to graded rings — it is the property exploited in most applications to distinguish spaces.
## The Cross Product and Diagonal
Related to the cup product is the **cross product**, which combines cohomology classes from two different spaces.
[definition: Cross Product]
Let $\pi_X: X \times Y \to X$ and $\pi_Y: X \times Y \to Y$ be the projections. The **cross product** is the map
\begin{align*}
\times: H^k(X; R) \otimes_R H^\ell(Y; R) \to H^{k+\ell}(X \times Y; R), \quad a \otimes b \mapsto (\pi_X^* a) \smile (\pi_Y^* b).
\end{align*}
[/definition]
The cross product and the cup product determine each other via the **diagonal map** $\Delta: X \to X \times X$, defined by $\Delta(x) = (x, x)$. For any $a, b \in H^*(X; R)$, one has
\begin{align*}
\Delta^*(a \times b) = \Delta^*(\pi_X^* a \smile \pi_Y^* b) = (\pi_X \circ \Delta)^* a \smile (\pi_Y \circ \Delta)^* b = a \smile b,
\end{align*}
since $\pi_X \circ \Delta = \pi_Y \circ \Delta = \operatorname{id}_X$. So the cup product is the pullback of the cross product along the diagonal.
## Relative Cup Products
The cup product also has a relative version. If $A \subseteq X$, recall that $C^k(X, A; R) = \operatorname{Hom}(C_k(X, A), R)$ consists of cochains on $X$ that vanish on chains supported in $A$.
There is a cup product
\begin{align*}
\smile: H^k(X, A; R) \otimes H^\ell(X; R) \to H^{k+\ell}(X, A; R)
\end{align*}
defined by the same formula as before. To see it is well-defined at the cochain level: if $\phi \in C^k(X, A; R)$ (so $\phi$ vanishes on $C_k(A)$) and $\sigma \in C_{k+\ell}(A)$, then the front face $\sigma|_{[v_0,\ldots,v_k]}$ lies in $C_k(A)$, so $\phi(\sigma|_{[v_0,\ldots,v_k]}) = 0$, and thus $(\phi\smile\psi)(\sigma) = 0$. This shows that $\phi\smile\psi \in C^{k+\ell}(X, A; R)$.
Since a relative cohomology class is in particular an absolute one, this restricts to a map
\begin{align*}
\smile: H^k(X, A; R) \otimes H^\ell(X, A; R) \to H^{k+\ell}(X, A; R),
\end{align*}
but the more general version with one absolute and one relative factor is often more useful (for instance, in Poincaré duality).
## A Structural Example
The cup product can force certain cohomology classes to vanish, purely from degree and sign considerations.
[example: Self-Cup-Product in Odd Degree]
Suppose $X$ is a space with $H^3(X; \mathbb{Z}) \cong \mathbb{Z}$, generated by a class $x$, and $H^6(X; \mathbb{Z}) \cong \mathbb{Z}$.
What can $x \smile x \in H^6(X; \mathbb{Z})$ be? By graded commutativity with $k = \ell = 3$:
\begin{align*}
x \smile x = (-1)^{3 \cdot 3}\, x \smile x = (-1)^9\, x \smile x = -(x \smile x).
\end{align*}
Therefore $2(x \smile x) = 0$ in $H^6(X; \mathbb{Z}) \cong \mathbb{Z}$. Since $\mathbb{Z}$ is torsion-free, we conclude $x \smile x = 0$.
This shows that in odd degree (over $\mathbb{Z}$), any class $x \in H^{\mathrm{odd}}(X; \mathbb{Z})$ satisfies $x \smile x = 0$ — a non-trivial constraint that follows purely from graded commutativity.
[/example]
[remark: Why Cohomology is a Richer Invariant]
Consider two spaces that have the same cohomology groups in every degree. Their cohomology rings can still differ, because the cup product structure encodes how the various degrees interact multiplicatively. The simplest illustration is comparing $S^2 \vee S^4$ with $\mathbb{CP}^2$: both have cohomology groups $\mathbb{Z}$ in degrees $0, 2, 4$ and zero otherwise. However, in $H^*(\mathbb{CP}^2; \mathbb{Z})$, the generator $\alpha \in H^2$ satisfies $\alpha \smile \alpha \neq 0$ (it generates $H^4$), while in $H^*(S^2 \vee S^4; \mathbb{Z})$, the corresponding cup product vanishes. Thus the two spaces are not homotopy equivalent, a fact the cohomology groups alone cannot detect.
[/remark]
The cup product is natural and powerful, yet computing it directly is difficult; the Kunneth and Universal Coefficients theorems translate products of spaces and coefficient changes into manageable algebraic formulas.
# 9. Kunneth Theorem and Universal Coefficients Theorem
This chapter proves two fundamental computational theorems that govern how homology and cohomology behave under products and coefficient changes. The Künneth theorem identifies the cohomology of a product space $X \times Y$ in terms of the cohomologies of the factors, while the universal coefficients theorem explains how homology and cohomology with coefficients in an arbitrary module relate to the integral theory. Both results have a similar algebraic character and require a freeness hypothesis to avoid the complications introduced by $\mathrm{Tor}$ and $\mathrm{Ext}$. Together they give the two principal tools for computing (co)homology of spaces built from simpler pieces.
## The Künneth Theorem
The Künneth theorem asks: given spaces $X$ and $Y$, how does $H^*(X \times Y; R)$ relate to the cohomologies $H^*(X; R)$ and $H^*(Y; R)$? The answer involves the cross product, a ring map constructed from the cup product that was introduced in the previous chapter.
Recall that for cohomology classes $\alpha \in H^k(X; R)$ and $\beta \in H^\ell(Y; R)$, the external cross product is defined by
\begin{align*}
\alpha \times \beta &= \pi_X^*(\alpha) \smile \pi_Y^*(\beta) \in H^{k+\ell}(X \times Y; R),
\end{align*}
where $\pi_X: X \times Y \to X$ and $\pi_Y: X \times Y \to Y$ are the projections. Summing over all ways to write $n = k + \ell$, this gives a homomorphism
\begin{align*}
\times: \bigoplus_{k + \ell = n} H^k(X; R) \otimes_R H^\ell(Y; R) \longrightarrow H^n(X \times Y; R).
\end{align*}
The Künneth theorem says this map is an isomorphism when the cohomology of $Y$ is free as an $R$-module.
[quotetheorem:2274]
For brevity, write $H^*(X; R) \otimes H^*(Y; R)$ for the graded $R$-module whose degree-$n$ piece is $\bigoplus_{k+\ell=n} H^k(X;R) \otimes_R H^\ell(Y;R)$. The Künneth theorem then states that the cross product
\begin{align*}
\times: H^*(X; R) \otimes H^*(Y; R) \longrightarrow H^*(X \times Y; R)
\end{align*}
is an isomorphism of graded rings, where the ring structure on the left is given by the product $(a \otimes b)(c \otimes d) = (-1)^{|b||c|}(ac) \otimes (bd)$.
[proof]
Define functors $F^n(-)$ and $G^n(-)$ on spaces with basepoint-preserving maps by
\begin{align*}
F^n(X) &= \bigoplus_{k + \ell = n} H^k(X; R) \otimes_R H^\ell(Y; R), \\
G^n(X) &= H^n(X \times Y; R).
\end{align*}
The cross product provides a natural transformation $\times: F^n(X) \to G^n(X)$. One checks that $\times: F^n(*) \to G^n(*)$ is an isomorphism, since both sides equal $H^n(Y; R)$.
The strategy is to show that $F^n$ and $G^n$ satisfy the same formal properties as cohomology theories and agree on a point; it will then follow by induction on cells that they agree on all finite cell complexes.
Both $F^n$ and $G^n$ are homotopy invariant, since each is built from homotopy invariant functors. For relative pairs, define
\begin{align*}
F^n(X, A) &= \bigoplus_{i + j = n} H^i(X, A; R) \otimes_R H^j(Y; R), \\
G^n(X, A) &= H^n(X \times Y, A \times Y; R),
\end{align*}
and the relative cross product gives a natural map $F^n(X,A) \to G^n(X,A)$. The functor $G^n$ has a long exact sequence from the usual long exact sequence of $(X \times Y, A \times Y)$. For $F^n$, the freeness hypothesis $H^j(Y;R) \cong R^{k_j}$ implies that tensoring the long exact sequence of $(X, A)$ with $H^j(Y; R)$ preserves exactness (tensoring with a free module takes $k_j$ copies). Summing these sequences over $j$ with appropriate degree shifts produces a long exact sequence for $F^n$.
The isomorphism is proved by induction on the cell structure of $X$. For $X = *$ we have the base case. Suppose $X = X' \cup_f D^n$ for some attaching map $f: S^{n-1} \to X'$, and that $\times: F^*(X') \to G^*(X')$ is an isomorphism (using the inductive hypothesis for all cells of dimension less than $n$). The long exact sequences of the pair $(X, X')$ and the naturality of $\times$ give a map of long exact sequences:
\begin{align*}
\cdots \to F^{*-1}(X') \to F^*(X, X') \to F^*(X) \to F^*(X') \to \cdots \\
\cdots \to G^{*-1}(X') \to G^*(X, X') \to G^*(X) \to G^*(X') \to \cdots
\end{align*}
with vertical maps given by $\times$. The maps on $F^*(X')$ and $G^*(X')$ are isomorphisms by induction. By the five lemma, it suffices to show that $\times: F^*(X, X') \to G^*(X, X')$ is an isomorphism. Since $(X, X')$ is a good pair, excision gives $F^*(X, X') \cong F^*(D^n, \partial D^n)$ and $G^*(X, X') \cong G^*(D^n, \partial D^n)$. Applying the five lemma to the long exact sequence of $(D^n, \partial D^n)$ and using the isomorphisms for $D^n$ (contractible, so same as $*$) and $\partial D^n = S^{n-1}$ (follows from the inductive hypothesis by dimension), one concludes that $\times: F^*(D^n, \partial D^n) \to G^*(D^n, \partial D^n)$ is an isomorphism. One must also verify that the boundary maps $\partial$ in the long exact sequences commute with $\times$; this is a direct check using the definition of $\partial$ and the cross product.
[/proof]
### When Is the Freeness Hypothesis Satisfied?
The freeness condition $H^n(Y; R)$ is free as an $R$-module is automatically satisfied when $R$ is a field, because every module over a field is free (it has a basis). In particular, the Künneth theorem applies without restriction when working with $\mathbb{Q}$, $\mathbb{R}$, $\mathbb{C}$, or $\mathbb{Z}/p$ coefficients. For integer coefficients, one must check by hand that the cohomology groups are torsion-free, i.e., free abelian groups.
## Cohomology of Tori
The Künneth theorem has a striking application to the cohomology of tori. Let $T^n = (S^1)^n$ be the $n$-dimensional torus.
[example: Cohomology Ring of the n-Torus]
We compute $H^*(T^n; \mathbb{Z})$ using Künneth iteratively. First recall that
\begin{align*}
H^k(S^1; \mathbb{Z}) \cong \begin{cases} \mathbb{Z} & k = 0, 1 \\ 0 & \text{otherwise.} \end{cases}
\end{align*}
Let $1 \in H^0(S^1; \mathbb{Z})$ be the unit class and $x \in H^1(S^1; \mathbb{Z})$ a generator. Since there is nothing in degree 2, the cup product satisfies $x \smile x = 0$. Thus
\begin{align*}
H^*(S^1; \mathbb{Z}) \cong \mathbb{Z}[x]/(x^2),
\end{align*}
the truncated polynomial ring with $|x| = 1$.
Since $H^*(S^1; \mathbb{Z})$ is free in each degree, the Künneth theorem applies to give an isomorphism of graded rings
\begin{align*}
H^*(T^n; \mathbb{Z}) \cong H^*(S^1; \mathbb{Z})^{\otimes n}.
\end{align*}
This ring has generators $x_1, \ldots, x_n$, each in degree 1, with the relation $x_i^2 = 0$ for each $i$. Because each $x_i$ has odd degree, the graded-commutativity of the cup product gives $x_i \smile x_j = -x_j \smile x_i$. Thus
\begin{align*}
H^*(T^n; \mathbb{Z}) \cong \mathbb{Z}[x_1, \ldots, x_n]/(x_i^2,\; x_i x_j + x_j x_i).
\end{align*}
This is the exterior algebra $\Lambda_{\mathbb{Z}}(x_1, \ldots, x_n)$ over $\mathbb{Z}$ in $n$ generators of degree 1. As a graded abelian group,
\begin{align*}
H^k(T^n; \mathbb{Z}) \cong \mathbb{Z}^{\binom{n}{k}},
\end{align*}
generated by the products $x_{i_1} \smile \cdots \smile x_{i_k}$ for $i_1 < \cdots < i_k$. In particular, $H^n(T^n; \mathbb{Z}) \cong \mathbb{Z}$, generated by the fundamental class $x_1 \smile \cdots \smile x_n$.
[/example]
The rich cup product structure of $H^*(T^n; \mathbb{Z})$ has geometric content. For instance, it reveals topological constraints on maps into the torus:
[example: Maps from Spheres to Tori]
Let $n > 1$ and let $f: S^n \to T^n$ be any map. We claim that $f^*: H^n(T^n; \mathbb{Z}) \to H^n(S^n; \mathbb{Z})$ is the zero map.
The generator of $H^n(T^n; \mathbb{Z})$ is the $n$-fold cup product $x_1 \smile \cdots \smile x_n$. Under $f^*$, this maps to
\begin{align*}
f^*(x_1 \smile \cdots \smile x_n) = f^*(x_1) \smile \cdots \smile f^*(x_n).
\end{align*}
Each $f^*(x_i)$ lies in $H^1(S^n; \mathbb{Z})$. For $n > 1$, we have $H^1(S^n; \mathbb{Z}) = 0$, so $f^*(x_i) = 0$ for every $i$. Hence $f^*(x_1 \smile \cdots \smile x_n) = 0$.
What makes this argument notable is that it is entirely cohomological. The statement involves only the induced map on $H^n$, but the proof requires the ring structure: we must factor the generator as a cup product of degree-1 classes and use the vanishing of $H^1(S^n)$ for $n > 1$. A purely homological argument would be much harder.
[/example]
## The Universal Coefficients Theorem
Having computed cohomology with various rings $R$, one naturally asks: if we know $H_*(X; R)$, can we recover $H_*(X; M)$ for other $R$-modules $M$, and similarly for cohomology? The universal coefficients theorem answers this under a freeness hypothesis that eliminates the Tor and Ext corrections.
[motivation]
### Why Coefficients Matter
The simplest version of singular homology uses integer coefficients. But many situations call for different coefficient groups. Computing over $\mathbb{Z}/2$ eliminates orientation issues; computing over $\mathbb{Q}$ gives a vector space, which is computationally simpler; computing over $\mathbb{Z}/p$ reveals $p$-torsion phenomena. One would like a systematic way to pass between coefficient rings without recomputing everything from scratch.
The naive guess is $H_*(X; M) \cong H_*(X; R) \otimes_R M$. This holds when $H_*(X; R)$ is free, and the correction term in general is given by $\mathrm{Tor}^R_1(H_{*-1}(X; R), M)$. We work exclusively in the free case, where the correction vanishes.
### The Map and Its Naturality
There is an obvious map $H_*(X; R) \otimes_R M \to H_*(X; M)$: given a cycle $[c] \in H_n(X; R)$ and $m \in M$, send $[c] \otimes m$ to the class of $c \otimes m$ in $H_n(X; M)$. This map is natural in both $X$ and $M$. The question is when it is an isomorphism.
Dually, evaluation defines a natural map $H^*(X; M) \to \mathrm{Hom}_R(H_*(X; R), M)$: a cohomology class $[\varphi] \in H^n(X; M)$ is a closed cochain, which restricts to a well-defined homomorphism on $n$-cycles and kills boundaries, yielding a map $H_n(X; R) \to M$.
[/motivation]
[quotetheorem:2275]
In the most important special case $R = \mathbb{Z}$, the theorem says that if the integral homology groups $H_n(X; \mathbb{Z})$ are free abelian, then
\begin{align*}
H_n(X; M) &\cong H_n(X; \mathbb{Z}) \otimes_{\mathbb{Z}} M, \\
H^n(X; M) &\cong \mathrm{Hom}_{\mathbb{Z}}(H_n(X; \mathbb{Z}), M).
\end{align*}
This determines all coefficient homology and cohomology groups from the integral theory.
[proof]
We prove the homology statement; the cohomology version is analogous.
Write $C_n = C_n(X; R)$ for the singular chain groups, $Z_n \subseteq C_n$ for the cycles, and $B_n \subseteq Z_n$ for the boundaries. The differential $d: C_n \to C_{n-1}$ gives a short exact sequence
\begin{align*}
0 \to Z_n \xrightarrow{i} C_n \xrightarrow{g} B_{n-1} \to 0,
\end{align*}
where $g(\sigma) = d_n(\sigma)$ for each generator, so the image is exactly $B_{n-1}$. Since $R$ is a PID, every submodule of a free module is free; $B_{n-1} \subseteq C_{n-1}$ is such a submodule, so it is free. Choosing a basis of $B_{n-1}$ provides a splitting $s: B_{n-1} \to C_n$ with $g \circ s = \mathrm{id}_{B_{n-1}}$, giving an isomorphism
\begin{align*}
C_n \cong Z_n \oplus B_{n-1}.
\end{align*}
Tensoring with $M$ commutes with direct sums, so
\begin{align*}
C_n \otimes_R M \cong (Z_n \otimes_R M) \oplus (B_{n-1} \otimes_R M).
\end{align*}
This shows the sequence $0 \to Z_n \otimes M \to C_n \otimes M \to B_{n-1} \otimes M \to 0$ is exact (the splitting lifts). We therefore obtain a short exact sequence of chain complexes (with the differential on $Z_n \otimes M$ and $B_n \otimes M$ being zero, since cycles and boundaries are closed under $d$):
\begin{align*}
0 \to (Z_n \otimes M, 0) \to (C_n \otimes M, d \otimes \mathrm{id}) \to (B_{n-1} \otimes M, 0) \to 0.
\end{align*}
The associated long exact sequence in homology includes the segment
\begin{align*}
\cdots \to B_n \otimes M \to Z_n \otimes M \to H_n(X; M) \to B_{n-1} \otimes M \to \cdots.
\end{align*}
Now we bring in the freeness hypothesis. By definition, $H_n(X; R) = Z_n / B_n$, giving a short exact sequence
\begin{align*}
0 \to B_n \to Z_n \to H_n(X; R) \to 0.
\end{align*}
Since $H_n(X; R)$ is free, this sequence splits: there exists $t: H_n(X; R) \to Z_n$ with the quotient map composed with $t$ equal to the identity. Tensoring with $M$ preserves the split short exact sequence, yielding
\begin{align*}
0 \to B_n \otimes M \to Z_n \otimes M \to H_n(X; R) \otimes M \to 0.
\end{align*}
In particular, the map $B_n \otimes M \to Z_n \otimes M$ is injective, so the long exact sequence from the chain complex computation breaks into short exact sequences
\begin{align*}
0 \to B_n \otimes M \to Z_n \otimes M \to H_n(X; M) \to 0.
\end{align*}
Comparing the two short exact sequences — both having first two terms $B_n \otimes M$ and $Z_n \otimes M$ — we conclude that $H_n(X; M) \cong H_n(X; R) \otimes_R M$.
[/proof]
[remark: Why the PID Hypothesis Is Needed]
The argument uses that every submodule of a free module over $R$ is again free. This holds precisely when $R$ is a PID. Over a general commutative ring, $B_{n-1}$ might not be free, the splitting of the first short exact sequence might not exist, and a correction term $\mathrm{Tor}^R_1(H_{n-1}(X; R), M)$ would appear. The full universal coefficients theorem (which we do not prove here) handles this general case.
[/remark]
## Computing with the Universal Coefficients Theorem
The universal coefficients theorem is most useful when $H_*(X; \mathbb{Z})$ consists entirely of free abelian groups. In that case, both formulas apply directly and the passage to other coefficients is immediate.
[example: Cohomology of Spheres with Arbitrary Coefficients]
We know that $H_n(S^k; \mathbb{Z}) \cong \mathbb{Z}$ for $n = 0, k$ and $0$ otherwise. These groups are free abelian. By the universal coefficients theorem, for any abelian group $M$,
\begin{align*}
H^n(S^k; M) \cong \mathrm{Hom}_{\mathbb{Z}}(H_n(S^k; \mathbb{Z}), M) \cong \begin{cases} M & n = 0, k \\ 0 & \text{otherwise.} \end{cases}
\end{align*}
In particular, $H^n(S^k; \mathbb{Z}/p) \cong \mathbb{Z}/p$ for $n = 0, k$ and zero otherwise. This is the same pattern as the integer cohomology, but with $\mathbb{Z}$ replaced by $\mathbb{Z}/p$.
[/example]
[example: Cohomology of Tori with Field Coefficients]
By the computation above, $H^k(T^n; \mathbb{Z}) \cong \mathbb{Z}^{\binom{n}{k}}$, which is free abelian for each $k$. The universal coefficients theorem therefore gives, for any field $\mathbb{F}$,
\begin{align*}
H^k(T^n; \mathbb{F}) \cong H^k(T^n; \mathbb{Z}) \otimes_{\mathbb{Z}} \mathbb{F} \cong \mathbb{F}^{\binom{n}{k}}.
\end{align*}
The Künneth theorem over $\mathbb{F}$ gives the same answer directly, since all modules over a field are free. The two routes are consistent: freeness over $\mathbb{Z}$ means there is no torsion to create discrepancies when passing to field coefficients.
[/example]
[explanation: Relationship Between Homology and Cohomology]
The universal coefficients theorem clarifies the relationship $H^n(X; M) \cong \mathrm{Hom}_R(H_n(X; R), M)$ that one might naively hope for. When $H_n(X; R)$ is free, dualizing does give cohomology. But when the homology has torsion, the two differ. For example, if $H_n(X; \mathbb{Z}) \cong \mathbb{Z}/k$, then $\mathrm{Hom}_\mathbb{Z}(\mathbb{Z}/k, \mathbb{Z}) = 0$, but $H^{n+1}(X; \mathbb{Z})$ will typically contain $\mathbb{Z}/k$ as a summand — this is the Ext correction term. The freeness assumption in the theorem eliminates these complications.
The two theorems in this chapter — Künneth and universal coefficients — are parallel in structure. Both take a cohomology theory and compare it with an algebraically constructed object, namely a tensor product of cohomologies or a Hom of cohomology with a module. Both require a freeness condition to ensure that the relevant algebraic constructions (tensor and Hom) interact well with exactness. And both are proved using the same technique: exhibit a natural transformation between two theories, show it is an isomorphism on a point, and induct on the cell structure using long exact sequences and the five lemma.
[/explanation]
We have now built the algebraic toolkit for homological computations, but topology in higher dimensions reveals geometric structures — vector bundles — that interact intimately with cohomology via characteristic classes.
# 10. Vector Bundles
This chapter turns from the general toolkit of (co)homology toward a rich geometric structure that pervades modern topology: vector bundles. A vector bundle is a continuous family of vector spaces parametrised by points of a base space, and the interaction between the topology of the base and the linear algebra of the fibers is one of the most fertile ideas in mathematics. We first develop the basic theory — local triviality, sections, pullbacks, and key constructions — before introducing orientability for bundles, culminating in the Thom isomorphism theorem and the Gysin sequence, which we use to compute the cohomology rings of projective spaces.
## The Definition and Basic Constructions
To motivate the definition, think of attaching a copy of $\mathbb{R}^d$ to each point of a space $X$ in a way that varies continuously. The local triviality condition makes this precise: each point must have a neighbourhood over which the bundle looks like a product.
[definition: Vector Bundle]
Let $X$ be a topological space. A **real vector bundle of dimension $d$** over $X$ is a map $\pi: E \to X$ together with a real vector space structure on each **fiber** $E_x = \pi^{-1}(\{x\})$, subject to the following **local triviality condition**: for each $x \in X$, there is a neighbourhood $U$ of $x$ and a homeomorphism $\varphi: E|_U = \pi^{-1}(U) \to U \times \mathbb{R}^d$ such that $\pi_1 \circ \varphi = \pi$ (where $\pi_1$ is projection onto the first factor), and such that for each $y \in U$, the restriction $\varphi|_{E_y}: E_y \to \{y\} \times \mathbb{R}^d$ is a linear isomorphism. Such a $\varphi$ is called a **local trivialization**.
[/definition]
The analogue for complex vector bundles is identical, replacing $\mathbb{R}^d$ with $\mathbb{C}^d$ throughout. We will work over $\mathbb{R}$ by default and indicate the complex case explicitly.
[definition: Section]
A **section** of a vector bundle $\pi: E \to X$ is a continuous map $s: X \to E$ such that $\pi \circ s = \operatorname{id}_X$, i.e., $s(x) \in E_x$ for every $x \in X$.
[/definition]
[definition: Zero Section]
The **zero section** of a vector bundle $\pi: E \to X$ is the section $s_0: X \to E$ defined by $s_0(x) = 0 \in E_x$.
[/definition]
The zero section provides a canonical embedding of $X$ into $E$. Since each fiber $E_x$ is a vector space and hence contractible, the composition $E \xrightarrow{\pi} X \xrightarrow{s_0} E$ is homotopic to the identity map $\operatorname{id}_E$ — the homotopy is given by scaling each vector in the fiber linearly to zero.
## Constructions on Vector Bundles
Most linear-algebraic constructions on vector spaces extend fiberwise to vector bundles.
[definition: Pullback of a Vector Bundle]
Let $\pi: E \to X$ be a vector bundle and $f: Y \to X$ a continuous map. The **pullback bundle** is
\begin{align*}
f^* E &= \{(y, e) \in Y \times E : f(y) = \pi(e)\},
\end{align*}
with projection $f^*\pi: f^*E \to Y$ given by the first coordinate. The fiber $(f^*E)_y = E_{f(y)}$ inherits its vector space structure from $E$, and local trivializations of $\pi: E \to X$ induce local trivializations of $f^*\pi: f^*E \to Y$.
[/definition]
<!-- illustration-needed: pullback bundle — show a commutative square with Y mapping to X, E mapping to X via pi, and the pullback f*E sitting over Y with fibers identified with fibers of E -->
The pullback construction is the mechanism by which vector bundles are transported along maps. It is functorial: if $g: Z \to Y$ and $f: Y \to X$, then $(f \circ g)^* E \cong g^*(f^* E)$.
[definition: Whitney Sum]
Let $\pi: E \to X$ and $\rho: F \to X$ be vector bundles over the same base $X$. Their **Whitney sum** is
\begin{align*}
E \oplus F &= \{(e, f) \in E \times F : \pi(e) = \rho(f)\},
\end{align*}
with projection $(\pi \oplus \rho)(e, f) = \pi(e) = \rho(f)$ and fiberwise vector space structure $(E \oplus F)_x = E_x \oplus F_x$. Local trivializations for $E$ and $F$ induce local trivializations for $E \oplus F$.
[/definition]
Tensor products $E \otimes F$ are defined similarly, with $(E \otimes F)_x = E_x \otimes F_x$. Subbundles and quotient bundles capture the notion of a continuously varying subspace.
[definition: Vector Subbundle]
Let $\pi: E \to X$ be a vector bundle. A subspace $F \subseteq E$ is a **vector subbundle** if for each $x \in X$ there is a local trivialization $(U, \varphi)$ of $E$ such that $\varphi$ maps $F|_U$ homeomorphically onto $U \times \mathbb{R}^k$ for some fixed $k$, where $\mathbb{R}^k \subseteq \mathbb{R}^d$ is a fixed subspace.
[/definition]
[definition: Quotient Bundle]
If $F$ is a vector subbundle of $E$, the **quotient bundle** $E/F$ is the vector bundle with fibers $(E/F)_x = E_x/F_x$, equipped with the quotient topology and local trivializations induced from those of $E$.
[/definition]
## The Grassmannian and the Tautological Bundle
The most important example of a vector bundle is the tautological bundle over the Grassmannian. It is in a precise sense universal for all vector bundles of a given rank.
[example: Tautological Bundle Over the Grassmannian]
For $1 \leq k \leq n$, the **Grassmannian** $\operatorname{Gr}_k(\mathbb{R}^n)$ is the space of all $k$-dimensional linear subspaces of $\mathbb{R}^n$. To topologise it, fix a $V \in \operatorname{Gr}_k(\mathbb{R}^n)$; then every $k$-dimensional subspace is the image $M(V)$ for some $M \in \mathrm{GL}_n(\mathbb{R})$, giving a surjection $\mathrm{GL}_n(\mathbb{R}) \to \operatorname{Gr}_k(\mathbb{R}^n)$, and we give $\operatorname{Gr}_k(\mathbb{R}^n)$ the resulting quotient topology. A special case is $\operatorname{Gr}_1(\mathbb{R}^{n+1}) = \mathbb{R}P^n$.
Since a point of $\operatorname{Gr}_k(\mathbb{R}^n)$ is itself a vector space, there is a natural vector bundle: define the **tautological bundle**
\begin{align*}
\gamma_{k,n}^{\mathbb{R}} &= \{(V, v) \in \operatorname{Gr}_k(\mathbb{R}^n) \times \mathbb{R}^n : v \in V\},
\end{align*}
with projection $\pi(V, v) = V$ and fiber $(\gamma_{k,n}^{\mathbb{R}})_V = V$.
To verify local triviality, fix $V \in \operatorname{Gr}_k(\mathbb{R}^n)$ and let $V^\perp$ be its orthogonal complement. The open set
\begin{align*}
U &= \{W \in \operatorname{Gr}_k(\mathbb{R}^n) : W \cap V^\perp = \{0\}\}
\end{align*}
is a neighbourhood of $V$. For $W \in U$ and $w \in W$, the orthogonal projection $\operatorname{pr}_V: \mathbb{R}^n \to V$ restricts to an isomorphism $W \to V$ (since $W \cap V^\perp = \{0\}$ forces $\operatorname{pr}_V|_W$ to be injective, hence bijective by dimension count). The map $(W, w) \mapsto (W, \operatorname{pr}_V(w))$ then defines a local trivialization $\gamma_{k,n}^{\mathbb{R}}|_U \xrightarrow{\sim} U \times V \cong U \times \mathbb{R}^k$. An analogous construction yields the complex tautological bundle $\gamma_{k,n}^{\mathbb{C}} \to \operatorname{Gr}_k(\mathbb{C}^n)$.
[/example]
[example: Tangent Bundle and Normal Bundle]
Let $M$ be a smooth $d$-dimensional manifold. The **tangent bundle** $\pi: TM \to M$ is the $d$-dimensional vector bundle with fiber $(TM)_x = T_x M$, the tangent space at $x$.
If $M \subseteq N$ is a smooth submanifold with inclusion $i: M \hookrightarrow N$, then $TM$ is a subbundle of the pullback $i^*TN$ (not of $TN$ directly, since $TM$ and $TN$ have different base spaces). The **normal bundle** of $M$ in $N$ is the quotient bundle
\begin{align*}
\nu_{M \subseteq N} &= \frac{i^*TN}{TM}.
\end{align*}
The following result, which we quote without proof as it requires differential geometry, describes how this normal bundle controls the local geometry of the embedding.
[/example]
[quotetheorem:2276]
The theorem says that a neighbourhood of $M$ in $N$ looks like the normal bundle: nearby points in $N$ are described by specifying a base point in $M$ together with a normal vector.
## Embedding Every Bundle in a Trivial Bundle
To work globally with vector bundles, we need analytic tools. The key analytic ingredient is partitions of unity.
[definition: Partition of Unity]
Let $X$ be a compact Hausdorff space and $\{U_\alpha\}_{\alpha \in I}$ an open cover. A **partition of unity subordinate to $\{U_\alpha\}$** is a collection of continuous functions $\lambda_\alpha: X \to [0, \infty)$ such that:
1. $\operatorname{supp}(\lambda_\alpha) = \overline{\{x \in X : \lambda_\alpha(x) > 0\}} \subseteq U_\alpha$ for each $\alpha$;
2. each $x \in X$ lies in only finitely many of the supports $\operatorname{supp}(\lambda_\alpha)$;
3. $\sum_{\alpha \in I} \lambda_\alpha(x) = 1$ for all $x \in X$.
[/definition]
Partitions of unity exist for any open cover of a compact Hausdorff space. (Unlike the smooth setting, we need no smoothness here, which makes this argument easier than the differential geometry version.)
[quotetheorem:2277]
[citeproof:2277]
[quotetheorem:2278]
[citeproof:2278]
[quotetheorem:2279]
[citeproof:2279]
## Classifying Vector Bundles
The embedding results allow us to assign to each vector bundle over a compact $X$ a classifying map into a Grassmannian. Given an embedding $E \subseteq X \times \mathbb{R}^N$, each fiber $E_x$ is a $d$-dimensional subspace of $\mathbb{R}^N$, giving a map
\begin{align*}
f_\pi: X &\to \operatorname{Gr}_d(\mathbb{R}^N), \quad x \mapsto E_x.
\end{align*}
Pulling back the tautological bundle along $f_\pi$ recovers $E$: $f_\pi^* \gamma_{d,N}^{\mathbb{R}} \cong E$.
Different bundles may require different values of $N$. To obtain a single classifying space, we form the infinite Grassmannian
\begin{align*}
\operatorname{Gr}_d(\mathbb{R}^\infty) &= \bigcup_{N \geq d} \operatorname{Gr}_d(\mathbb{R}^N),
\end{align*}
where each inclusion $\operatorname{Gr}_d(\mathbb{R}^N) \hookrightarrow \operatorname{Gr}_d(\mathbb{R}^{N+1})$ sends a subspace $W \subseteq \mathbb{R}^N$ to $W \times \{0\} \subseteq \mathbb{R}^{N+1}$, and these inclusions are compatible with the tautological bundles. The union carries a canonical bundle $\gamma_d^{\mathbb{R}}$.
Every vector bundle $\pi: E \to X$ is the pullback of $\gamma_d^{\mathbb{R}}$ along some map $f_\pi: X \to \operatorname{Gr}_d(\mathbb{R}^\infty)$. The map is not unique — different embeddings of $E$ into trivial bundles yield different maps, related by "wiggling" the embedding continuously. The key insight is that this is the only ambiguity:
[quotetheorem:2280]
The proof is mostly technical and amounts to showing that any two classifying maps for isomorphic bundles are homotopic. This makes $\operatorname{Gr}_d(\mathbb{R}^\infty)$ the **classifying space** for $d$-dimensional real vector bundles.
## Orientability of Vector Bundles
With the basic theory established, we can now do algebraic topology. The cohomological machinery of the next two sections requires the bundle to be oriented in an appropriate sense. The notion of $R$-orientability is graded by the coefficient ring $R$: any bundle is $\mathbb{F}_2$-orientable, while $\mathbb{Z}$-orientability is the strongest condition.
Let $\pi: E \to X$ be a $d$-dimensional vector bundle. Write $E^\# = E \setminus s_0(X)$ for the complement of the zero section. For each $x \in X$, the pair $(E_x, E_x^\#)$ — where $E_x^\# = E_x \setminus \{0\}$ — has cohomology
\begin{align*}
H^i(E_x, E_x^\#; R) &\cong H^i(\mathbb{R}^d, \mathbb{R}^d \setminus \{0\}; R) = \begin{cases} R & i = d \\ 0 & \text{otherwise,} \end{cases}
\end{align*}
once we choose an isomorphism $E_x \cong \mathbb{R}^d$. The group in degree $d$ is thus a free $R$-module of rank one, but it has no canonical generator — different isomorphisms $E_x \cong \mathbb{R}^d$ relate the generators by the action of $\mathrm{GL}_d(\mathbb{R})$ on $H^d(\mathbb{R}^d, \mathbb{R}^d \setminus \{0\}; R)$.
[definition: $R$-Orientation of a Vector Bundle]
A **local $R$-orientation of $E$ at $x$** is a choice of $R$-module generator $\varepsilon_x \in H^d(E_x, E_x^\#; R)$.
An **$R$-orientation of $E$** is a choice of local $R$-orientations $\{\varepsilon_x\}_{x \in X}$ that are **compatible**: for each open $U \subseteq X$ over which $E$ trivialises via $\varphi_U: E|_U \xrightarrow{\sim} U \times \mathbb{R}^d$, and for any $x, y \in U$, the composite linear isomorphism $h_x: E_x \to \mathbb{R}^d$ (resp. $h_y: E_y \to \mathbb{R}^d$) sends $\varepsilon_x$ and $\varepsilon_y$ to the same generator of $H^d(\mathbb{R}^d, \mathbb{R}^d \setminus \{0\}; R)$. Equivalently, the map
\begin{align*}
h_y^* \circ (h_x^{-1})^*: H^d(E_x, E_x^\#; R) \to H^d(E_y, E_y^\#; R)
\end{align*}
sends $\varepsilon_x$ to $\varepsilon_y$. The definition does not depend on the choice of trivialization $\varphi_U$ since it is used twice and cancels.
[/definition]
[quotetheorem:2281]
[citeproof:2281]
For more interesting rings, orientability can often be established by examining the transition functions.
[quotetheorem:2282]
[citeproof:2282]
[remark: Complex Bundles Are Always Orientable]
Any complex vector bundle, viewed as a real bundle via the inclusion $\mathrm{GL}_k(\mathbb{C}) \hookrightarrow \mathrm{GL}_{2k}(\mathbb{R})$, has transition functions of positive determinant: $\mathrm{GL}_1(\mathbb{C}) = \mathbb{C}^* $ is connected and contains the identity, so every element has positive determinant as a real linear map. By the theorem above, every complex vector bundle is $\mathbb{Z}$-orientable.
[/remark]
## The Thom Isomorphism Theorem
We now arrive at the central theorem of the chapter. It establishes a fundamental relationship between the cohomology of the total space $E$ (relative to $E^\#$) and the cohomology of the base $X$.
[quotetheorem:2283]
[citeproof:2283]
## The Euler Class
The Thom class determines a canonical cohomology class of the base space.
[definition: Euler Class]
Let $\pi: E \to X$ be an $R$-oriented $d$-dimensional vector bundle with Thom class $u_E \in H^d(E, E^\#; R)$. The **Euler class** is
\begin{align*}
e(E) &= s_0^*(q^*(u_E)) \in H^d(X; R),
\end{align*}
where $q: H^d(E, E^\#; R) \to H^d(E; R)$ is the map from the long exact sequence of the pair $(E, E^\#)$, and $s_0^*: H^d(E; R) \to H^d(X; R)$ is pullback along the zero section.
[/definition]
The Euler class is a **characteristic class**: it is natural under pullbacks. Given a map $f: Y \to X$ and the induced bundle map $\hat{f}: f^*E \to E$, the fiberwise isomorphism $(f^*E)_y \cong E_{f(y)}$ identifies orientations, and by uniqueness of the Thom class, $f^*(u_E) = u_{f^*E}$. Consequently,
\begin{align*}
e(f^*E) &= f^*(e(E)) \in H^d(Y; R).
\end{align*}
The Euler class is an obstruction to the existence of a non-vanishing section.
[quotetheorem:2284]
[citeproof:2284]
The Thom class also encodes how $u_E$ cups with itself.
[quotetheorem:2285]
[citeproof:2285]
As a consequence, for $\Phi(c), \Phi(d) \in H^*(E, E^\#; R)$,
\begin{align*}
\Phi(c) \smile \Phi(d) &= \pi^*c \smile u_E \smile \pi^*d \smile u_E = \pm \pi^*(c \smile d) \smile u_E \smile u_E = \pm \Phi(c \smile d \smile e(E)).
\end{align*}
Thus $e(E)$ is precisely the information needed to recover the cup product structure on $H^*(E, E^\#; R)$ from $H^*(X; R)$.
[quotetheorem:2286]
[citeproof:2286]
In particular, if $H^d(X; R)$ is torsion-free, then $e(E) = 0$ for every odd-rank $R$-oriented bundle over $X$.
## The Gysin Sequence
The Thom isomorphism theorem has a powerful long exact sequence consequence. Let $\pi: E \to X$ be a $d$-dimensional $R$-oriented bundle. The **sphere bundle** $S(E)$ consists of the unit vectors in each fiber.
[definition: Sphere Bundle]
Let $\pi: E \to X$ be a vector bundle equipped with a continuous family of inner products $\langle \cdot, \cdot \rangle$. The **sphere bundle** is
\begin{align*}
S(E) &= \{v \in E : \langle v, v \rangle = 1\} \subseteq E.
\end{align*}
This has a projection $p: S(E) \to X$ given by $p = \pi|_{S(E)}$.
[/definition]
Since the unit sphere in $\mathbb{R}^d$ is a deformation retract of $\mathbb{R}^d \setminus \{0\}$, the inclusion $j: S(E) \hookrightarrow E^\#$ is a homotopy equivalence, with homotopy inverse given by normalization. Thus $H^*(E^\#; R) \cong H^*(S(E); R)$.
The long exact sequence of the pair $(E, E^\#)$, combined with the Thom isomorphism and the identification $H^*(E; R) \cong H^*(X; R)$ via $\pi^*$ (using the fact that $E$ deformation retracts onto $X$ via the zero section), yields the **Gysin sequence**:
\begin{align*}
\cdots \to H^i(X; R) \xrightarrow{\smile\, e(E)} H^{i+d}(X; R) \xrightarrow{p^*} H^{i+d}(S(E); R) \xrightarrow{p_!} H^{i+1}(X; R) \to \cdots
\end{align*}
Here $p^*$ is the pullback along the projection $p: S(E) \to X$, and $p_!$ (the "Gysin map" or "wrong-way map") is defined as the unique map making the sequence exact, obtained by tracing through the diagram:
<!-- illustration-needed: Gysin sequence commutative diagram — show the identification of the long exact sequence of (E, E#) with the Gysin sequence via the Thom isomorphism Phi and the homotopy equivalence j: S(E) -> E# -->
The Gysin sequence is exact because the long exact sequence of a pair is exact, and all vertical maps in the comparison diagram are isomorphisms. It is a long exact sequence of $H^*(X; R)$-modules.
## Applications: Cohomology of Projective Spaces
The Gysin sequence gives a clean computation of the cohomology rings of complex and real projective spaces.
[example: Cohomology Ring of $\mathbb{C}P^n$]
Let $L = \gamma_{1, n+1}^{\mathbb{C}} \to \mathbb{C}P^n = \operatorname{Gr}_1(\mathbb{C}^{n+1})$ be the tautological complex line bundle, viewed as a real rank-$2$ bundle. Since $L$ is a complex line bundle, it is $\mathbb{Z}$-oriented (any complex bundle is). The sphere bundle is
\begin{align*}
S(L) &= \{(V, v) \in \mathbb{C}P^n \times \mathbb{C}^{n+1} : v \in V,\, |v| = 1\} \cong S^{2n+1},
\end{align*}
where the homeomorphism sends $(V, v) \mapsto v$ (with inverse $v \mapsto (\langle v \rangle, v)$).
The Gysin sequence with $d = 2$ (real rank of $L$) and $S(L) \cong S^{2n+1}$ reads
\begin{align*}
H^{i+1}(S^{2n+1}) \xrightarrow{p_!} H^i(\mathbb{C}P^n) \xrightarrow{\smile\, e(L)} H^{i+2}(\mathbb{C}P^n) \xrightarrow{p^*} H^{i+2}(S^{2n+1}).
\end{align*}
For $i \leq 2n - 2$, both outer cohomology groups $H^{i+1}(S^{2n+1})$ and $H^{i+2}(S^{2n+1})$ vanish (since $i+1 \leq 2n-1$ and $i+2 \leq 2n$, and $S^{2n+1}$ has cohomology only in degrees $0$ and $2n+1$). Thus $\smile\, e(L): H^i(\mathbb{C}P^n) \to H^{i+2}(\mathbb{C}P^n)$ is an isomorphism for $0 \leq i \leq 2n-2$.
Starting from $H^0(\mathbb{C}P^n) \cong \mathbb{Z}$ generated by $1$, successive cup products with $e(L)$ give:
\begin{align*}
H^0(\mathbb{C}P^n) \cong \mathbb{Z} \cdot 1, \quad H^2(\mathbb{C}P^n) \cong \mathbb{Z} \cdot e(L), \quad H^4(\mathbb{C}P^n) \cong \mathbb{Z} \cdot e(L)^2, \quad \ldots
\end{align*}
The odd-degree groups vanish (a similar analysis at the endpoints of the sequence confirms this). Analysing the sequence at $i = 2n$ reveals that $e(L)^{n+1} = 0$. Therefore
\begin{align*}
H^*(\mathbb{C}P^n; \mathbb{Z}) &\cong \mathbb{Z}[e(L)] / (e(L)^{n+1}),
\end{align*}
a truncated polynomial algebra with $\deg e(L) = 2$.
[/example]
[example: Cohomology Ring of $\mathbb{R}P^n$ with $\mathbb{F}_2$ Coefficients]
Let $K = \gamma_{1, n+1}^{\mathbb{R}} \to \mathbb{R}P^n = \operatorname{Gr}_1(\mathbb{R}^{n+1})$ be the tautological real line bundle. Unlike the complex case, $K$ is not $\mathbb{Z}$-orientable. However, it is $\mathbb{F}_2$-oriented, and the sphere bundle is
\begin{align*}
S(K) &\cong \{(V, v) \in \mathbb{R}P^n \times \mathbb{R}^{n+1} : v \in V,\, |v| = 1\} \cong S^n.
\end{align*}
The Gysin sequence over $\mathbb{F}_2$, with $d = 1$ (real rank of $K$) and $S(K) \cong S^n$, reads
\begin{align*}
H^{i+1}(S^n; \mathbb{F}_2) \xrightarrow{p_!} H^i(\mathbb{R}P^n; \mathbb{F}_2) \xrightarrow{\smile\, e(K)} H^{i+1}(\mathbb{R}P^n; \mathbb{F}_2) \xrightarrow{p^*} H^{i+1}(S^n; \mathbb{F}_2).
\end{align*}
For $0 < i < n-1$, the outer terms vanish and cup product with $e(K)$ is an isomorphism. Starting from $H^0 \cong \mathbb{F}_2$, we get $H^k(\mathbb{R}P^n; \mathbb{F}_2) \cong \mathbb{F}_2$ for $0 \leq k \leq n$, and $0$ otherwise. The endpoint analysis shows $e(K)^{n+1} = 0$, so
\begin{align*}
H^*(\mathbb{R}P^n; \mathbb{F}_2) &\cong \mathbb{F}_2[e(K)] / (e(K)^{n+1}),
\end{align*}
a truncated polynomial algebra with $\deg e(K) = 1$. Note that the generator has degree $1$ in the real case, versus degree $2$ in the complex case, reflecting the difference in rank between $K$ and $L$.
[/example]
These computations illustrate the power of the Thom isomorphism and Gysin sequence: questions about the cohomology ring of a complicated space ($\mathbb{C}P^n$ or $\mathbb{R}P^n$) are reduced to questions about spheres and line bundles, which are accessible via the earlier machinery.
Vector bundles encode geometric information that homology alone cannot capture, and manifolds are the canonical spaces where bundles, orientability, and duality conspire to create Poincare duality, a profound symmetry in homology and cohomology.
# 11. Manifolds and Poincare Duality
This final chapter brings together cohomology, manifold theory, and the intersection theory of submanifolds into a unified picture centred on Poincaré duality. The previous chapters developed cohomology with its cup product and studied vector bundles via the Thom isomorphism; now we harvest those tools to prove that, for a compact oriented manifold $M$ of dimension $d$, the homology group $H_k(M)$ is isomorphic to the cohomology group $H^{d-k}(M)$. The route passes through compactly supported cohomology — a variant that sees the topology of non-compact manifolds — and culminates in applications to signatures, degrees, intersection products, and the Lefschetz fixed point theorem.
## Compactly Supported Cohomology
Ordinary cohomology is contravariant and homotopy invariant, which makes it blind to the large-scale geometry of non-compact spaces. To state Poincaré duality for non-compact manifolds, we need a cohomology theory that is sensitive to compactness. The key idea is to restrict to cochains whose support lies inside some compact set.
[definition: Support of a Cochain]
Let $\varphi \in C^n(X)$ be a cochain. We say $\varphi$ has **support** in a subset $S \subseteq X$ if $\varphi(\sigma) = 0$ whenever $\sigma: \Delta^n \to X \setminus S$ (that is, whenever the singular simplex lies entirely outside $S$). If $\varphi$ has support in $S$, then $d\varphi$ also has support in $S$.
[/definition]
The subtlety here is that the definition only controls $\varphi$ on simplices that avoid $S$ completely; it says nothing about simplices that cross the boundary of $S$. This becomes relevant in proofs, where one circumvents the issue via barycentric subdivision.
[definition: Compactly Supported Cochain Complex]
Let $C_c^\bullet(X) \subseteq C^\bullet(X)$ be the sub-cochain complex consisting of those $\varphi$ which have support in some compact $K \subseteq X$.
[/definition]
This is indeed a sub-cochain complex: if $\varphi$ has support in $K$ and $\psi$ has support in $L$, then $\varphi + \psi$ has support in $K \cup L$, which is compact.
[definition: Compactly Supported Cohomology]
The **compactly supported cohomology** of $X$ is
\begin{align*}
H_c^*(X) = H^*(C_c^\bullet(X)).
\end{align*}
[/definition]
There is an alternative description via direct limits, which is often more useful for computation. We use local cohomology as an intermediate object.
[definition: Local Cohomology]
For a compact $K \subseteq X$, the **local cohomology near $K$** is
\begin{align*}
H^n(X \mid K; R) = H^n(X, X \setminus K; R).
\end{align*}
By excision, this depends only on a neighbourhood of $K$ in $X$.
[/definition]
[definition: Direct Limit]
A **directed set** is a partial order $(I, \leq)$ such that for all $i, j \in I$ there exists $k \in I$ with $i \leq k$ and $j \leq k$. A **direct system** of abelian groups indexed by $I$ is a collection of groups $G_i$ and homomorphisms $\rho_{ij}: G_i \to G_j$ for $i \leq j$, satisfying $\rho_{ii} = \operatorname{id}_{G_i}$ and $\rho_{ik} = \rho_{jk} \circ \rho_{ij}$ for $i \leq j \leq k$. The **direct limit** is
\begin{align*}
\varinjlim_{i \in I} G_i = \left(\bigoplus_{i \in I} G_i\right)\big/\langle x - \rho_{ij}(x) : x \in G_i \rangle.
\end{align*}
[/definition]
The compact subsets of $X$ form a directed set $\mathcal{K}(X)$ under inclusion, and the assignment $K \mapsto H^n(X \mid K; R)$ is a direct system (maps given by restriction). The following theorem gives the direct-limit description of compactly supported cohomology.
[quotetheorem:2287]
[citeproof:2287]
[remark: Key Features of Compactly Supported Cohomology]
Compactly supported cohomology is **not** homotopy invariant: $H_c^i(\mathbb{R}^d; R) \cong R$ for $i = d$ and vanishes otherwise, which depends on the dimension $d$ and not merely the homotopy type of $\mathbb{R}^d$. In particular, a general continuous map $f: X \to Y$ does not induce a map on $H_c^*$, because the preimage of a compact set need not be compact.
[/remark]
[definition: Proper Map]
A continuous map $f: X \to Y$ is **proper** if $f^{-1}(K)$ is compact whenever $K \subseteq Y$ is compact.
[/definition]
A proper map $f: X \to Y$ does induce a map $f^*: H_c^*(Y) \to H_c^*(X)$ by the usual construction.
The inclusion of an open subspace $i: U \hookrightarrow X$ induces a map in the other direction: by excision, a compactly supported class on $U$ extends by zero to give a class on $X$. This map $i_*: H_c^*(U) \to H_c^*(X)$ is called extension by zero. Concretely, a cochain supported in $K \subseteq U$ is evaluated on simplices in $X$ by: evaluate normally if the simplex lies in $U$, send to zero if it lies outside $K$, and use barycentric subdivision to ensure every simplex falls into one of these cases.
[quotetheorem:2288]
[citeproof:2288]
The following Mayer–Vietoris sequence for compactly supported cohomology is crucial for the inductive proof of Poincaré duality. Notice that the arrows point in the opposite direction from the ordinary Mayer–Vietoris sequence for cohomology.
[quotetheorem:2289]
[citeproof:2289]
## Orientation of Manifolds
Before stating Poincaré duality, we must define orientability in a way that interacts cleanly with the homological machinery developed so far. The key observation is that for a $d$-manifold $M$ and any point $x \in M$, excision and the computation above give
\begin{align*}
H_i(M \mid x; R) \cong \begin{cases} R & i = d \\ 0 & i \neq d. \end{cases}
\end{align*}
This means there is a canonical $R$-module $H_d(M \mid x; R) \cong R$ at each point. A choice of generator at each point, varying continuously, is an orientation.
[definition: Local $R$-Orientation]
For a $d$-manifold $M$, a **local $R$-orientation** at $x \in M$ is an $R$-module generator $\mu_x \in H_d(M \mid x; R)$.
[/definition]
[definition: $R$-Orientation of a Manifold]
An **$R$-orientation** of $M$ is a collection $\{\mu_x\}_{x \in M}$ of local $R$-orientations such that for every chart $\varphi: \mathbb{R}^d \to U \subseteq M$ and any two points $p, q \in \mathbb{R}^d$, the composition of isomorphisms
\begin{align*}
H_d(M \mid \varphi(p)) \xrightarrow{\sim} H_d(U \mid \varphi(p)) \xleftarrow{\varphi_*, \sim} H_d(\mathbb{R}^d \mid p) \xrightarrow{\text{translation}, \sim} H_d(\mathbb{R}^d \mid q) \xrightarrow{\varphi_*, \sim} H_d(U \mid \varphi(q)) \xrightarrow{\sim} H_d(M \mid \varphi(q))
\end{align*}
sends $\mu_{\varphi(p)}$ to $\mu_{\varphi(q)}$.
[/definition]
[remark: Every Manifold is $\mathbb{F}_2$-Orientable]
When $R = \mathbb{F}_2$, there is only one $\mathbb{F}_2$-module generator of $\mathbb{F}_2$, so every manifold is automatically $\mathbb{F}_2$-oriented. This means Poincaré duality holds with $\mathbb{F}_2$ coefficients for any manifold, orientable or not.
[/remark]
The central result about orientations is that a compact oriented manifold carries a canonical homology class, the **fundamental class**, that encodes the orientation globally.
[quotetheorem:2290]
[citeproof:2290]
[definition: Fundamental Class]
For a compact $R$-oriented $d$-manifold $M$, the **fundamental class** is the unique class $[M] \in H_d(M; R)$ that restricts to $\mu_x$ for every $x \in M$.
[/definition]
If $M$ admits a triangulation, then $[M]$ is the sum of all $d$-simplices with consistently chosen orientations — the homological fundamental class is precisely the topological picture of a consistently oriented triangulation.
## Poincaré Duality
We are now ready to define and prove the main theorem of the chapter. The duality map uses the **cap product**, which pairs a homology class with a cohomology class of lower degree to produce a lower-dimensional homology class.
[definition: Cap Product]
The **cap product** is the bilinear map
\begin{align*}
\frown\;: C_k(X; R) \times C^\ell(X; R) &\to C_{k-\ell}(X; R), \\
(\sigma, \varphi) &\mapsto \varphi\bigl(\sigma|_{[v_0, \ldots, v_\ell]}\bigr) \cdot \sigma|_{[v_\ell, \ldots, v_k]},
\end{align*}
where $\sigma|_{[v_0, \ldots, v_j]}$ denotes the singular simplex obtained by restricting to the first $j+1$ vertices.
[/definition]
To see that the cap product descends to homology and cohomology, one verifies the boundary formula
\begin{align*}
d(\sigma \frown \varphi) = (-1)^d\bigl((d\sigma) \frown \varphi - \sigma \frown (d\varphi)\bigr),
\end{align*}
which shows that capping a cycle with a cocycle produces a cycle, and capping with a coboundary or capping a boundary produces a boundary. Thus the cap product induces a well-defined pairing $H_k(X; R) \times H^\ell(X; R) \to H_{k-\ell}(X; R)$.
There are also relative versions:
\begin{align*}
\frown\;: H_k(X, A; R) \times H^\ell(X; R) &\to H_{k-\ell}(X, A; R), \\
\frown\;: H_k(X, A; R) \times H^\ell(X, A; R) &\to H_{k-\ell}(X; R).
\end{align*}
These are used when constructing the duality map for non-compact manifolds, where the fundamental class lives in a relative group $H_d(M \mid K; R)$.
The naturality of the cap product takes the following form: for a map $f: X \to Y$ and classes $x \in H_k(X; R)$, $y \in H^\ell(Y; R)$,
\begin{align*}
f_*(x \frown f^*(y)) = f_*(x) \frown y \in H_{k-\ell}(Y; R).
\end{align*}
[quotetheorem:2291]
[citeproof:2291]
[remark: Poincaré Duality for Compact Manifolds]
When $M$ is compact, $H_c^k(M) = H^k(M)$ and the duality map becomes
\begin{align*}
D_M = [M] \frown \ph\;: H^k(M; R) \xrightarrow{\sim} H_{d-k}(M; R).
\end{align*}
In particular, $H_i(M; R) = 0$ for $i > d$, since $H^{d-i}(M; R) = 0$ for $d - i < 0$.
[/remark]
### Euler Characteristic of Odd-Dimensional Manifolds
[quotetheorem:2292]
[citeproof:2292]
### The Cohomology Ring of $\mathbb{CP}^n$
Poincaré duality, combined with the non-singularity of the cup product pairing, allows us to recover the cohomology ring of $\mathbb{CP}^n$ by induction.
[example: Cohomology Ring of $\mathbb{CP}^n$ via Poincaré Duality]
We claim $H^*(\mathbb{CP}^n; \mathbb{Z}) \cong \mathbb{Z}[y]/(y^{n+1})$ with $|y| = 2$. Assume inductively that $H^*(\mathbb{CP}^{n-1}; \mathbb{Z}) \cong \mathbb{Z}[x]/(x^n)$. Since $\mathbb{CP}^n$ is obtained from $\mathbb{CP}^{n-1}$ by attaching a $2n$-cell, the restriction $i^*: H^2(\mathbb{CP}^n; \mathbb{Z}) \to H^2(\mathbb{CP}^{n-1}; \mathbb{Z})$ is an isomorphism. Let $y \in H^2(\mathbb{CP}^n; \mathbb{Z})$ be the generator corresponding to $x$. By induction, $i^*(y^k) = x^k$ generates $H^{2k}(\mathbb{CP}^{n-1}; \mathbb{Z})$ for $k \leq n-1$, so $y^k$ generates $H^{2k}(\mathbb{CP}^n; \mathbb{Z})$ for $k \leq n-1$. For $k = n$, $\mathbb{CP}^n$ is $\mathbb{Z}$-oriented (it is a complex manifold), and the Poincaré duality pairing
\begin{align*}
\langle \ph, \ph \rangle: H^2(\mathbb{CP}^n; \mathbb{Z}) \otimes H^{2n-2}(\mathbb{CP}^n; \mathbb{Z}) \to \mathbb{Z}
\end{align*}
is non-singular. Since $y$ generates $H^2$ and $y^{n-1}$ generates $H^{2n-2}$, the non-singularity forces $\langle y, y^{n-1} \rangle = y^n[\mathbb{CP}^n] \neq 0$, so $y^n$ generates $H^{2n}(\mathbb{CP}^n; \mathbb{Z}) \cong \mathbb{Z}$.
[/example]
## The Cup Product Pairing and Signature
For a compact $R$-oriented $d$-manifold $M$, Poincaré duality converts the cup product into a non-degenerate bilinear form on cohomology. Define the **intersection pairing**
\begin{align*}
\langle \ph, \ph \rangle: H^k(M; R) \otimes H^{d-k}(M; R) &\to R \\
[\varphi] \otimes [\psi] &\mapsto (\varphi \smile \psi)([M]).
\end{align*}
[quotetheorem:2293]
[citeproof:2293]
When $d = 4k$, the middle-dimensional pairing $\langle \ph, \ph \rangle: H^{2k}(M; \mathbb{R}) \otimes H^{2k}(M; \mathbb{R}) \to \mathbb{R}$ is symmetric (since $n^2 \equiv n \pmod{2}$ and $(-1)^{(2k)^2} = 1$). By the spectral theorem for symmetric matrices, this form can be diagonalized over $\mathbb{R}$.
[definition: Signature of a Manifold]
Let $M$ be a compact $4k$-dimensional $\mathbb{Z}$-oriented manifold. The **signature** $\operatorname{sgn}(M)$ is the number of positive eigenvalues of the bilinear form $\langle \ph, \ph \rangle: H^{2k}(M; \mathbb{R}) \otimes H^{2k}(M; \mathbb{R}) \to \mathbb{R}$ minus the number of negative eigenvalues. By Sylvester's law of inertia, this is well-defined.
[/definition]
[example: Signature of $\mathbb{CP}^2$]
We have $H^2(\mathbb{CP}^2; \mathbb{R}) \cong \mathbb{R}$, generated by $y$. The bilinear form is represented by the $1 \times 1$ matrix $(y^2[\mathbb{CP}^2])$. Since $y^2$ is the generator of $H^4(\mathbb{CP}^2; \mathbb{Z}) \cong \mathbb{Z}$, we have $y^2[\mathbb{CP}^2] = 1$. So the form is represented by the matrix $(1)$, giving $\operatorname{sgn}(\mathbb{CP}^2) = 1$. Since any boundary $\partial W$ of a compact $4k+1$-manifold $W$ satisfies $\operatorname{sgn}(\partial W) = 0$, it follows that $\mathbb{CP}^2$ is not the boundary of any compact $5$-manifold.
[/example]
### Degree of a Map Between Manifolds
The degree of a map from a sphere to itself generalises immediately to maps between oriented manifolds.
[definition: Degree of a Map Between Manifolds]
Let $M, N$ be compact connected $d$-dimensional $\mathbb{Z}$-oriented manifolds, and let $f: M \to N$ be a map. Then $f_*([M]) \in H_d(N; \mathbb{Z}) \cong \mathbb{Z}[N]$, so $f_*([M]) = k[N]$ for a unique integer $k$. This integer is the **degree** of $f$, written $\deg(f)$.
[/definition]
[quotetheorem:2294]
[citeproof:2294]
## The Intersection Product
Poincaré duality interchanges the cup product on cohomology with a product on homology, called the intersection product. To understand it geometrically, we work with smooth manifolds, where submanifolds provide concrete representatives of homology classes.
Let $M$ be a compact smooth $R$-oriented $d$-manifold, and let $N \subseteq M$ be an $n$-dimensional $R$-oriented submanifold. The inclusion $i: N \hookrightarrow M$ pushes forward the fundamental class to give $i_*[N] \in H_n(M; R)$. The Poincaré dual of this class has a beautiful description in terms of the normal bundle.
Write $\nu_{N \subseteq M}$ for the normal bundle of $N$ in $M$. Since both $TN$ and $TM$ are oriented and $i^*TM \cong TN \oplus \nu_{N \subseteq M}$, the orientation lemma for direct sums induces an orientation on $\nu_{N \subseteq M}$.
[quotetheorem:2295]
[citeproof:2295]
The intersection product can now be described as cup product of Thom classes, subject to a transversality condition.
[definition: Transverse Intersection]
Two submanifolds $N, W \subseteq M$ **intersect transversely** if $T_x N + T_x W = T_x M$ for every $x \in N \cap W$.
[/definition]
<!-- illustration-needed: Two curves in a surface intersecting transversely (tangent spaces span the ambient plane) versus non-transverse intersection (tangent to each other at a point, like a line tangent to a parabola). -->
For example, two curves in a surface intersect transversely if their tangent lines span the tangent plane at each intersection point, but they do not intersect transversely if they are tangent to each other. Any two submanifolds can be made transverse by a small perturbation (this is a standard result in differential topology which we take for granted).
When $N$ and $W$ intersect transversely, $N \cap W$ is a submanifold of dimension $n + \dim W - d$, and the normal bundle of the intersection decomposes as
\begin{align*}
(\nu_{N \cap W \subseteq M})_x = (\nu_{N \subseteq M})_x \oplus (\nu_{W \subseteq M})_x.
\end{align*}
One then computes that
\begin{align*}
D_M^{-1}([N]) \smile D_M^{-1}([W]) = D_M^{-1}([N \cap W]),
\end{align*}
by showing that the cup product of the two Thom classes gives the Thom class of the intersection. This is the precise statement of the slogan: **cup product is Poincaré dual to intersection**.
[definition: Intersection Product]
The **intersection product** on the homology of a compact $R$-oriented $d$-manifold $M$ is
\begin{align*}
H_{d-k}(M; R) \otimes H_{d-\ell}(M; R) &\to H_{d-k-\ell}(M; R) \\
(a, b) &\mapsto a \cdot b = D_M(D_M^{-1}(a) \smile D_M^{-1}(b)).
\end{align*}
[/definition]
[example: Intersection Product on $\mathbb{CP}^n$]
The homology $H_{2k}(\mathbb{CP}^n; \mathbb{Z}) \cong \mathbb{Z}$ is generated by the class $[\mathbb{CP}^k]$. To compute $[\mathbb{CP}^k] \cdot [\mathbb{CP}^\ell]$, we cannot use the standard embeddings since one would be contained in the other (not transverse). Instead, choose
\begin{align*}
\mathbb{CP}^k &= \{[z_0 : z_1 : \cdots : z_k : 0 : \cdots : 0]\}, \\
\mathbb{CP}^\ell &= \{[0 : \cdots : 0 : w_0 : \cdots : w_\ell]\}.
\end{align*}
These embeddings are homotopic to the standard ones, so they represent the same homology classes. They intersect transversely, and $\mathbb{CP}^k \cap \mathbb{CP}^\ell = \mathbb{CP}^{k+\ell-n}$. Therefore $[\mathbb{CP}^k] \cdot [\mathbb{CP}^\ell] = \pm[\mathbb{CP}^{k+\ell-n}]$. This is consistent with the cup product computation $x^k \smile x^\ell = x^{k+\ell}$ via Poincaré duality.
[/example]
[example: Intersection Product on a Surface of Genus $g$]
For the closed orientable surface $\Sigma_g$ of genus $g$, the first homology $H_1(\Sigma_g; \mathbb{Z}) \cong \mathbb{Z}^{2g}$ is generated by loops $a_1, b_1, \ldots, a_g, b_g$, where $a_i$ is a longitudinal loop and $b_i$ is a meridional loop around the $i$-th handle. These loops can be arranged to intersect transversely in exactly one point for $a_i \cap b_i$ and to be disjoint otherwise. The intersection product then satisfies $a_i \cdot b_i = [\mathrm{pt}]$ and $a_i \cdot b_j = 0$ for $i \neq j$. This determines the ring structure $H_*(\Sigma_g; \mathbb{Z})$ and, by duality, the ring structure $H^*(\Sigma_g; \mathbb{Z})$, far more easily than a direct cochain computation.
[/example]
## The Diagonal and the Euler Characteristic
The intersection product leads to a beautiful formula connecting the cohomology ring to the Euler characteristic. Let $M$ be a compact $\mathbb{Q}$-oriented $d$-manifold. Then $M \times M$ is a $2d$-manifold with fundamental class $[M \times M] = [M] \otimes [M]$ (using the Künneth isomorphism $H_{2d}(M \times M; \mathbb{Q}) \cong H_d(M; \mathbb{Q}) \otimes H_d(M; \mathbb{Q})$).
The diagonal map $\Delta: M \to M \times M$, $x \mapsto (x, x)$, pushes forward the fundamental class to give $\Delta_*[M] \in H_d(M \times M; \mathbb{Q})$. The Poincaré dual of this class is
\begin{align*}
\delta = D_{M \times M}^{-1}(\Delta_*[M]) \in H^d(M \times M; \mathbb{Q}) \cong \bigoplus_{i+j=d} H^i(M; \mathbb{Q}) \otimes H^j(M; \mathbb{Q}).
\end{align*}
[quotetheorem:2296]
[citeproof:2296]
[quotetheorem:2297]
[citeproof:2297]
For smooth manifolds, the diagonal class has an even deeper interpretation. The class $\delta$ is the Thom class of the normal bundle $\nu_{M \subseteq M \times M}$. The fiber of this normal bundle at $x$ is the cokernel of the diagonal map $\Delta: T_x M \to T_x M \oplus T_x M$, which is canonically isomorphic to $T_x M$ (via $(v, w) \mapsto v - w$). Thus $\nu_{M \subseteq M \times M} \cong TM$.
[quotetheorem:2298]
The consequence is immediate: if $M$ has a nowhere-zero vector field $v: M \to TM$ (a section with $v(x) \neq 0$ for all $x$), then the Euler class $e(TM) = 0$ (since the zero section would be null-homotopic), and thus $\chi(M) = 0$. The converse also holds for smooth manifolds. More generally, $\chi(M)$ is the algebraic count of zeroes of any vector field transverse to the zero section.
For the Euler class of a direct sum, one has the product formula $e(E \oplus F) = e(E) \smile e(F)$.
[quotetheorem:2299]
[citeproof:2299]
## The Lefschetz Fixed Point Theorem
The intersection product and the diagonal class combine to prove a precise counting theorem for fixed points, generalising the Brouwer fixed point theorem to give the actual algebraic count.
Let $M$ be a compact $d$-dimensional $\mathbb{Z}$-oriented manifold and $f: M \to M$ a map. The fixed points of $f$ are exactly the points of $\Gamma_f \cap \Delta(M)$, where $\Gamma_f = \{(x, f(x))\} \subseteq M \times M$ is the graph of $f$ and $\Delta(M) = \{(x, x)\}$ is the diagonal. The transversality condition needed to count fixed points with sign is: for each fixed point $x$, the map
\begin{align*}
D_x\Delta \oplus D_x F: T_x M \oplus T_x M \to T_x M \oplus T_x M
\end{align*}
is an isomorphism, where $F(x) = (x, f(x))$. Computing the matrix of this map and row-reducing shows this is equivalent to requiring that $1$ is not an eigenvalue of $D_x f$.
[quotetheorem:1959]
[citeproof:1959]
[example: Every Self-Map of $\mathbb{CP}^{2n}$ Has a Fixed Point]
Let $f: \mathbb{CP}^{2n} \to \mathbb{CP}^{2n}$. The ring structure $H^*(\mathbb{CP}^{2n}; \mathbb{Q}) \cong \mathbb{Q}[x]/(x^{2n+1})$ forces $f^*(x) = \lambda x$ for some $\lambda \in \mathbb{Q}$, and thus $f^*(x^k) = \lambda^k x^k$. The Lefschetz number is
\begin{align*}
L(f) = \sum_{k=0}^{2n} (-1)^k \operatorname{tr}(f^*: H^{2k}(\mathbb{CP}^{2n}; \mathbb{Q}) \to H^{2k}(\mathbb{CP}^{2n}; \mathbb{Q})) = 1 + \lambda + \lambda^2 + \cdots + \lambda^{2n}.
\end{align*}
This polynomial in $\lambda$ has no real root for $\lambda > 0$ (all terms positive) and no real root for $\lambda \leq 0$ because for $\lambda = 0$ the sum equals $1$, and for $\lambda < 0$ the terms alternate but with $2n+1$ terms the sum cannot be zero (the positive terms dominate). Thus $L(f) \neq 0$ for all $\lambda \in \mathbb{R}$, and in particular $L(f) \neq 0$ for $\lambda \in \mathbb{Q}$. By the Lefschetz theorem (applied after a small perturbation to achieve transversality), $f$ must have a fixed point.
[/example]
The Lefschetz fixed point theorem exemplifies how the algebraic structure of the cohomology ring — and specifically the ring homomorphism $f^*$ it induces — controls the topology of fixed-point sets. This is the deepest application of the interlocking theory of manifolds, Poincaré duality, the cup product, and characteristic classes developed throughout this course.
Contents
- Introduction
- Homotopy Between Maps
- Homotopy Equivalence
- The Role of Algebraic Invariants
- 2. Singular (Co)homology
- Chain Complexes and Their Homology
- Singular Homology: Defining the Chain Complex
- Why Singular Homology?
- Singular Cohomology and the Dual Chain Complex
- Functoriality: Maps of Spaces Induce Maps on Homology
- Geometric Intuition: Cycles, Boundaries, and Holes
- First Computations
- The Four Major Tools
- Homotopy Invariance
- Mayer–Vietoris
- Relative Homology
- Excision
- Applications: Homology of Spheres and Degree Theory
- Homology of Spheres
- Degree of Maps $S^n \to S^n$
- Brouwer's Fixed Point Theorem
- The Hairy Ball Theorem
- 3. Four Major Tools of (Co)homology
- Homotopy Invariance
- Exact Sequences and the Mayer-Vietoris Theorem
- Relative Homology and Its Long Exact Sequence
- Excision
- The Parallel Story for Cohomology
- Applications
- Homology of Spheres
- Degree Theory
- Brouwer's Fixed Point Theorem
- Degrees of Reflections and the Antipodal Map
- The Hairy Ball Theorem
- Homology of the Klein Bottle
- Local Homology and Manifold Dimension
- Local Degree
- Proofs of the Four Major Tools
- The Snake Lemma and the Long Exact Sequence
- The Five Lemma
- Chain Homotopies and Homotopy Invariance
- Small Simplices and Barycentric Subdivision
- Barycentric Subdivision
- Proofs of Mayer-Vietoris and Excision
- 4. Reduced Homology
- Reduced Homology
- The Definition and Its Justification
- Good Pairs and the Quotient Isomorphism
- Consequences and Computations
- 5. Cell Complexes
- Cell Complexes and Their Topology
- The Cellular Chain Complex
- Homology of Skeleta
- Construction of the Cellular Chain Complex
- Cellular Equals Singular Homology
- Cellular Cohomology
- Computing the Cellular Boundary Maps
- Computing Homology: Worked Examples
- The Klein Bottle
- Real Projective Space
- 6. (Co)homology with Coefficients
- Defining (Co)homology with Coefficients
- The Effect of Coefficients: $\mathbb{RP}^n$
- 7. Euler Characteristic
- Three Equivalent Definitions
- Homotopy Invariance and Computations
- The Euler Characteristic and the Hairy Ball Theorem
- Multiplicativity of the Euler Characteristic
- 8. Cup Product
- Defining the Cup Product
- The Leibniz Rule and Descent to Cohomology
- The Cohomology Ring
- Graded-Commutativity
- Naturality of the Cup Product
- The Cross Product and Diagonal
- Relative Cup Products
- A Structural Example
- 9. Kunneth Theorem and Universal Coefficients Theorem
- The Künneth Theorem
- When Is the Freeness Hypothesis Satisfied?
- Cohomology of Tori
- The Universal Coefficients Theorem
- Why Coefficients Matter
- The Map and Its Naturality
- Computing with the Universal Coefficients Theorem
- 10. Vector Bundles
- The Definition and Basic Constructions
- Constructions on Vector Bundles
- The Grassmannian and the Tautological Bundle
- Embedding Every Bundle in a Trivial Bundle
- Classifying Vector Bundles
- Orientability of Vector Bundles
- The Thom Isomorphism Theorem
- The Euler Class
- The Gysin Sequence
- Applications: Cohomology of Projective Spaces
- 11. Manifolds and Poincare Duality
- Compactly Supported Cohomology
- Orientation of Manifolds
- Poincaré Duality
- Euler Characteristic of Odd-Dimensional Manifolds
- The Cohomology Ring of $\mathbb{CP}^n$
- The Cup Product Pairing and Signature
- Degree of a Map Between Manifolds
- The Intersection Product
- The Diagonal and the Euler Characteristic
- The Lefschetz Fixed Point Theorem
Cambridge III Algebraic Topology
Content
Problems
History
Created by admin on 4/25/2026 | Last updated on 4/25/2026
Prerequisites
No prerequisites required for this page.
Rate this page
★
★
★
★
★
Poor
Excellent