Skip to main content

Section 2.11 Week 11

Subsection Monday

Last week we developed the language of homotopy, CW complexes, and the homotopy extension property. This week we introduce singular homology, an algebraic invariant that assigns to each topological space \(X\) a sequence of abelian groups \(H_0(X), H_1(X), H_2(X), \ldots\) These groups detect "holes" of each dimension: \(H_0\) counts connected components, \(H_1\) detects loops that do not bound, \(H_2\) detects trapped cavities, and so on. Unlike the fundamental group, homology is abelian and defined in all dimensions, making it both more computable and more broadly applicable.
The construction proceeds in three stages: we define the singular chain groups \(C_n(X)\text{,}\) organize them into a chain complex via a boundary operator \(\partial\text{,}\) and then extract homology as the quotient \(H_n(X)=\ker\partial_n/\operatorname{im}\partial_{n+1}\text{.}\)

Subsubsection Singular simplices and chain groups

Definition 2.11.1. Standard simplex.
The standard \(n\)-simplex is the subspace
\begin{equation*} \Delta^n := \{(t_0,t_1,\ldots,t_n)\in\mathbb{R}^{n+1} \mid t_i\ge 0,\; \textstyle\sum_i t_i=1\} \subseteq\mathbb{R}^{n+1}. \end{equation*}
We write \(e_0,e_1,\ldots,e_n\) for the vertices of \(\Delta^n\text{,}\) where \(e_i\) is the point with \(t_i=1\) and all other coordinates zero. Thus \(\Delta^0\) is a point, \(\Delta^1\) is a line segment, \(\Delta^2\) is a triangle, and \(\Delta^3\) is a tetrahedron.
Definition 2.11.2. Singular simplex.
A singular \(n\)-simplex in a topological space \(X\) is a continuous map \(\sigma\colon\Delta^n\to X\text{.}\) We emphasize that \(\sigma\) need not be an embedding β€” it can collapse dimensions, have self-intersections, or be constant. The word "singular" is used precisely to contrast with simplicial maps that preserve combinatorial structure.
Definition 2.11.3. Singular chain group.
The singular chain group \(C_n(X)\) is the free abelian group generated by the set of all singular \(n\)-simplices in \(X\text{:}\)
\begin{equation*} C_n(X) := \bigoplus_{\sigma\colon\Delta^n\to X}\mathbb{Z}\cdot\sigma. \end{equation*}
An element of \(C_n(X)\) is called a singular \(n\)-chain; it is a finite formal \(\mathbb{Z}\)-linear combination \(\sum_i n_i\sigma_i\) of singular \(n\)-simplices.
The groups \(C_n(X)\) are typically enormous β€” even for \(X\) a single point, there is one singular \(n\)-simplex (the constant map) for each \(n\ge 0\text{.}\) The power of the theory lies not in the chain groups themselves but in the algebraic structure imposed by the boundary operator.

Subsubsection The boundary operator

The boundary operator is built from face maps that include \(\Delta^{n-1}\) into \(\Delta^n\) as each of its \(n+1\) codimension-one faces.
Definition 2.11.4. Face map.
For \(0\le i\le n\text{,}\) the \(i\)-th face map \(d_i\colon\Delta^{n-1}\to\Delta^n\) is the affine-linear map that sends the vertices \(e_0,\ldots,e_{n-1}\) of \(\Delta^{n-1}\) to the vertices \(e_0,\ldots,\widehat{e_i},\ldots,e_n\) of \(\Delta^n\) (omitting \(e_i\)), preserving order. In coordinates,
\begin{equation*} d_i(t_0,\ldots,t_{n-1}) = (t_0,\ldots,t_{i-1},0,t_i,\ldots,t_{n-1}). \end{equation*}
The image of \(d_i\) is the face of \(\Delta^n\) opposite the vertex \(e_i\text{.}\)
Definition 2.11.5. Boundary operator.
The boundary operator \(\partial_n\colon C_n(X)\to C_{n-1}(X)\) is the homomorphism defined on generators by
\begin{equation*} \partial_n(\sigma) := \sum_{i=0}^{n}(-1)^i\,\sigma\circ d_i \end{equation*}
and extended linearly. The \(i\)-th term \(\sigma\circ d_i\) is the \(i\)-th face of \(\sigma\text{:}\) the restriction of \(\sigma\) to the face of \(\Delta^n\) opposite vertex \(e_i\text{,}\) viewed as a singular \((n-1)\)-simplex via the identification \(d_i\colon\Delta^{n-1}\xrightarrow{\;\sim\;}\text{(face)}\text{.}\)
Example 2.11.6. Boundary in low dimensions.
For a singular \(1\)-simplex \(\sigma\colon\Delta^1\to X\) (a path from \(\sigma(e_0)\) to \(\sigma(e_1)\)),
\begin{equation*} \partial_1(\sigma) = \sigma\circ d_0 - \sigma\circ d_1 = \sigma(e_1)-\sigma(e_0), \end{equation*}
the formal difference of the endpoint and the starting point. For a singular \(2\)-simplex \(\sigma\colon\Delta^2\to X\text{,}\)
\begin{equation*} \partial_2(\sigma) = \sigma\circ d_0 - \sigma\circ d_1 + \sigma\circ d_2, \end{equation*}
the alternating sum of the three edges of the triangle.
The most important property of the boundary operator is that applying it twice yields zero.
Proof.
It suffices to check on a generator \(\sigma\colon\Delta^n\to X\text{:}\)
\begin{equation*} \partial_{n-1}(\partial_n(\sigma)) = \partial_{n-1}\Bigl(\sum_{i=0}^n(-1)^i\,\sigma\circ d_i\Bigr) = \sum_{i=0}^n\sum_{j=0}^{n-1}(-1)^{i+j}\,\sigma\circ d_i\circ d_j. \end{equation*}
The face maps satisfy the simplicial identity \(d_i\circ d_j=d_{j+1}\circ d_i\) for \(i\le j\text{.}\) Splitting the double sum into the regions \(j\ge i\) and \(j\lt i\) and reindexing the first using the simplicial identity, one finds that every term in the region \(j\ge i\) cancels with a term in the region \(j\lt i\) (with opposite sign), giving zero.
In more detail: in the sum, each pair of faces \((i,j)\) with \(i\le j\) contributes \((-1)^{i+j}\sigma\circ d_{j+1}\circ d_i\text{,}\) which cancels with the term \((-1)^{(j+1)+i}\sigma\circ d_{j+1}\circ d_i\) arising from the pair \((j+1,i)\) with \(i\lt j+1\text{.}\) These signs differ by \((-1)\text{,}\) so the cancellation is exact.

Subsubsection Chain complexes and homology

The relation \(\partial^2=0\) means that the image of \(\partial_{n+1}\) is always contained in the kernel of \(\partial_n\text{.}\) This algebraic setup β€” a sequence of abelian groups connected by maps whose composition is zero β€” is a chain complex.
Definition 2.11.8. Chain complex.
A chain complex \((C_\bullet,\partial)\) is a sequence of abelian groups and homomorphisms
\begin{equation*} \cdots \xrightarrow{\partial_{n+2}} C_{n+1} \xrightarrow{\partial_{n+1}} C_n \xrightarrow{\partial_n} C_{n-1} \xrightarrow{\partial_{n-1}} \cdots \xrightarrow{\partial_1} C_0 \xrightarrow{\partial_0} 0 \end{equation*}
satisfying \(\partial_n\circ\partial_{n+1}=0\) for all \(n\text{.}\) Elements of \(\ker\partial_n\) are called \(n\)-cycles, and elements of \(\operatorname{im}\partial_{n+1}\) are called \(n\)-boundaries. We write \(Z_n:=\ker\partial_n\) and \(B_n:=\operatorname{im}\partial_{n+1}\text{.}\)
Definition 2.11.9. Homology group.
The \(n\)-th homology group of a chain complex \((C_\bullet,\partial)\) is
\begin{equation*} H_n(C_\bullet) := Z_n/B_n = \ker\partial_n\big/\operatorname{im}\partial_{n+1}. \end{equation*}
Two \(n\)-cycles \(z,z'\in Z_n\) represent the same homology class if and only if \(z-z'\in B_n\text{,}\) i.e., \(z-z'=\partial_{n+1}(c)\) for some \((n+1)\)-chain \(c\text{.}\) In this case we say \(z\) and \(z'\) are homologous.
Definition 2.11.10. Singular homology.
The \(n\)-th singular homology group of a topological space \(X\) is the \(n\)-th homology group of its singular chain complex:
\begin{equation*} H_n(X) := H_n(C_\bullet(X),\partial) = \ker\bigl(\partial_n\colon C_n(X)\to C_{n-1}(X)\bigr)\big/\operatorname{im}\bigl(\partial_{n+1}\colon C_{n+1}(X)\to C_n(X)\bigr). \end{equation*}
The intuition is: a homology class in \(H_n(X)\) is represented by an \(n\)-chain whose boundary vanishes (a cycle), modulo those cycles that are themselves boundaries of \((n+1)\)-chains. A nonzero class in \(H_n(X)\) detects an \(n\)-dimensional "hole" β€” an \(n\)-cycle that cannot be filled in.

Subsubsection Computation of \(H_0\)

Proof.
A singular \(0\)-chain is a finite formal sum \(\sum n_i\, p_i\) of points \(p_i\in X\) with integer coefficients. Since \(C_{-1}(X)=0\text{,}\) every \(0\)-chain is a cycle, so \(Z_0=C_0(X)\text{.}\) A \(0\)-chain is a boundary if and only if it lies in \(\operatorname{im}(\partial_1)\text{.}\) For any path \(\sigma\colon\Delta^1\to X\text{,}\) we have \(\partial_1(\sigma)=\sigma(e_1)-\sigma(e_0)\text{,}\) so the boundaries are generated by formal differences \(q-p\) where \(p\) and \(q\) lie in the same path-component.
It follows that two \(0\)-chains are homologous if and only if they have the same total coefficient in each path-component. The map \(\varepsilon\colon C_0(X)\to\bigoplus_{\alpha}\mathbb{Z}\) that sends a \(0\)-chain to its vector of total coefficients by component therefore descends to an isomorphism \(H_0(X)\xrightarrow{\;\sim\;}\bigoplus_\alpha\mathbb{Z}\text{.}\)
In particular, if \(X\) is path-connected, then \(H_0(X)\cong\mathbb{Z}\text{,}\) generated by the class of any point.

Subsection Wednesday

Having set up the singular chain complex and computed \(H_0\text{,}\) we now develop the key structural features of homology: functoriality, relative homology, and the long exact sequence of a pair. These tools will allow us to compute homology groups by breaking spaces into simpler pieces.

Subsubsection Functoriality

A continuous map \(f\colon X\to Y\) induces a map on singular chains by composition: each singular simplex \(\sigma\colon\Delta^n\to X\) is sent to \(f\circ\sigma\colon\Delta^n\to Y\text{.}\) Extending linearly gives a homomorphism \(f_\sharp\colon C_n(X)\to C_n(Y)\) for each \(n\text{.}\)
Proof.
On a generator \(\sigma\colon\Delta^n\to X\text{:}\)
\begin{equation*} \partial_n(f_\sharp(\sigma)) = \partial_n(f\circ\sigma) = \sum_i(-1)^i(f\circ\sigma)\circ d_i = \sum_i(-1)^i f\circ(\sigma\circ d_i) = f_\sharp\bigl(\partial_n(\sigma)\bigr). \end{equation*}
Since \(f_\sharp\) sends cycles to cycles and boundaries to boundaries, it descends to a well-defined homomorphism on homology.
Definition 2.11.13. Induced map on homology.
For a continuous map \(f\colon X\to Y\text{,}\) the induced map \(f_*\colon H_n(X)\to H_n(Y)\) is defined by \(f_*[z]:=[f_\sharp(z)]\) for any cycle \(z\in Z_n(X)\text{.}\)
Proof.
Both properties follow immediately from the corresponding identities at the chain level: \((\mathrm{id}_X)_\sharp=\mathrm{id}_{C_n(X)}\) and \((g\circ f)_\sharp = g_\sharp\circ f_\sharp\) (since \((g\circ f)\circ\sigma = g\circ(f\circ\sigma)\)).
An immediate consequence: if \(f\colon X\to Y\) is a homeomorphism, then \(f_*\colon H_n(X)\to H_n(Y)\) is an isomorphism for all \(n\text{.}\) Thus singular homology groups are topological invariants. Next week we will strengthen this dramatically by showing that \(f_*\) depends only on the homotopy class of \(f\text{.}\)

Subsubsection Relative homology

To compute homology, we need a way to break a space into pieces and relate their homology groups. The first step is to define relative homology, which measures the homology of \(X\) "modulo" a subspace \(A\text{.}\)
Definition 2.11.15. Relative chain groups.
Let \(A\subseteq X\) be a subspace. The inclusion \(\iota\colon A\hookrightarrow X\) induces an injection \(\iota_\sharp\colon C_n(A)\hookrightarrow C_n(X)\) (every singular simplex in \(A\) is also a singular simplex in \(X\)). The relative chain group is the quotient
\begin{equation*} C_n(X,A) := C_n(X)/C_n(A). \end{equation*}
An element of \(C_n(X,A)\) is an equivalence class of \(n\)-chains in \(X\text{,}\) where two chains are identified if their difference lies in \(C_n(A)\text{.}\)
Since \(\partial\) sends \(C_n(A)\) into \(C_{n-1}(A)\) (the boundary of a chain in \(A\) is a chain in \(A\)), the boundary operator descends to a well-defined map \(\bar{\partial}\colon C_n(X,A)\to C_{n-1}(X,A)\text{,}\) and \(\bar{\partial}^2=0\text{.}\)
Definition 2.11.16. Relative homology.
The \(n\)-th relative homology group of the pair \((X,A)\) is
\begin{equation*} H_n(X,A) := H_n\bigl(C_\bullet(X,A),\bar{\partial}\bigr) = \ker\bar{\partial}_n\big/\operatorname{im}\bar{\partial}_{n+1}. \end{equation*}
A relative \(n\)-cycle is a chain in \(X\) whose boundary lies in \(A\text{.}\) A relative \(n\)-boundary is a chain in \(X\) that equals a boundary plus a chain supported in \(A\text{.}\)
Relative homology should be thought of as measuring the homology of \(X\) with the contribution of \(A\) "killed." For nice pairs, we will see that \(H_n(X,A)\cong\widetilde{H}_n(X/A)\text{,}\) the reduced homology of the quotient.

Subsubsection The long exact sequence of a pair

The relative chain groups fit into a short exact sequence of chain complexes
\begin{equation*} 0\to C_\bullet(A)\xrightarrow{\;\iota_\sharp\;} C_\bullet(X)\xrightarrow{\;q\;} C_\bullet(X,A)\to 0, \end{equation*}
where \(\iota_\sharp\) is the inclusion and \(q\) is the quotient map. A fundamental result of homological algebra turns this into a long exact sequence on homology.
Proof.
This is an instance of the snake lemma (or equivalently, the long exact sequence associated to a short exact sequence of chain complexes). We verify the key steps.
Well-definedness of \(\partial_*\text{.}\) If \(z\in C_n(X)\) represents a relative cycle, then \(\partial z\in C_{n-1}(A)\text{.}\) Moreover, \(\partial(\partial z)=0\text{,}\) so \(\partial z\) is a cycle in \(A\text{.}\) If we choose a different representative \(z'=z+a+\partial w\) where \(a\in C_n(A)\) and \(w\in C_{n+1}(X)\text{,}\) then \(\partial z'=\partial z+\partial a+\partial^2 w=\partial z+\partial a\text{.}\) Since \(\partial a\in C_{n-1}(A)\) is a boundary in \(A\text{,}\) the class \([\partial z']=[\partial z]\in H_{n-1}(A)\text{.}\) So \(\partial_*\) is well-defined.
Exactness. We verify exactness at each of the three positions. At \(H_n(X)\text{:}\) \(q_*\circ\iota_*=0\) since \(q\circ\iota_\sharp=0\text{.}\) If \(q_*[z]=0\text{,}\) then \(z=a+\partial w\) modulo \(C_n(A)\text{,}\) so \(z-\partial w\in C_n(A)\) and \([z]=\iota_*[z-\partial w]\text{.}\) At \(H_n(X,A)\text{:}\) \(\partial_*\circ q_*=0\) since if \(\bar{z}=q(z)\) with \(z\) a cycle in \(X\text{,}\) then \(\partial z=0\) so \(\partial_*[\bar{z}]=0\text{.}\) If \(\partial_*[\bar{z}]=0\text{,}\) then \(\partial z=\partial a\) for some \(a\in C_n(A)\text{,}\) so \(z-a\) is a cycle in \(X\) and \(q_*[z-a]=[\bar{z}]\text{.}\) At \(H_{n-1}(A)\text{:}\) \(\iota_*\circ\partial_*=0\) since \(\iota_\sharp(\partial z)=\partial z=\partial(\text{something in }C_n(X))\text{,}\) a boundary in \(X\text{.}\) If \(\iota_*[a]=0\text{,}\) then \(a=\partial z\) for some \(z\in C_n(X)\text{,}\) and \(\bar{z}\) is a relative cycle with \(\partial_*[\bar{z}]=[a]\text{.}\)
As a diagram, one can visualize the passage from the short exact sequence of chain complexes to the long exact sequence on homology via the connecting homomorphism:
described in detail following the image
A commutative diagram showing two consecutive rows of the short exact sequence of chain complexes, with vertical boundary maps and the zig-zag connecting homomorphism from \(H_n(X,A)\) back to \(H_{n-1}(A)\text{.}\)
The dashed arrow represents the connecting homomorphism \(\partial_*\text{:}\) lift a relative cycle to a chain in \(X\text{,}\) take its boundary, and observe that it lands in \(C_{n-1}(A)\text{.}\)

Subsection Friday

We conclude the week with reduced homology, the computation of the homology of a point (and more generally contractible spaces), and the algebraic notion of chain homotopy, which will be the engine behind homotopy invariance next week.

Subsubsection Reduced homology

Singular homology assigns \(H_0(\mathrm{pt})\cong\mathbb{Z}\) to a point and \(H_n(\mathrm{pt})=0\) for \(n\ge 1\) (as we will verify below). For many purposes it is convenient to work with reduced homology, which adjusts \(H_0\) so that a point has trivial homology in all degrees.
Definition 2.11.18. Augmentation map.
The augmentation is the homomorphism \(\varepsilon\colon C_0(X)\to\mathbb{Z}\) defined by \(\varepsilon\bigl(\sum n_i\sigma_i\bigr)=\sum n_i\text{.}\) One checks that \(\varepsilon\circ\partial_1=0\) (since \(\varepsilon(\partial_1\sigma)=\varepsilon(\sigma(e_1)-\sigma(e_0))=1-1=0\)), so \(\varepsilon\) extends the singular chain complex to an augmented chain complex:
\begin{equation*} \cdots\to C_1(X)\xrightarrow{\partial_1} C_0(X)\xrightarrow{\varepsilon}\mathbb{Z}\to 0. \end{equation*}
Definition 2.11.19. Reduced homology.
The reduced homology groups of \(X\) are the homology groups of the augmented chain complex:
\begin{equation*} \widetilde{H}_n(X) := \begin{cases} H_n(X) \amp \text{if } n\ge 1,\\ \ker\varepsilon/\operatorname{im}\partial_1 \amp \text{if } n=0. \end{cases} \end{equation*}
Equivalently, \(\widetilde{H}_0(X)\cong\ker\bigl(H_0(X)\xrightarrow{\varepsilon_*}\mathbb{Z}\bigr)\text{.}\) For a path-connected space, \(H_0(X)\cong\mathbb{Z}\) via \(\varepsilon_*\text{,}\) so \(\widetilde{H}_0(X)=0\text{.}\)
The relationship between reduced and unreduced homology is simple: for nonempty \(X\text{,}\) \(H_n(X)\cong\widetilde{H}_n(X)\) for \(n\ge 1\) and \(H_0(X)\cong\widetilde{H}_0(X)\oplus\mathbb{Z}\text{.}\) Reduced homology is natural in pointed spaces and behaves more cleanly in many exact sequences.

Subsubsection Homology of a point and contractible spaces

Proof.
For each \(n\ge 0\text{,}\) there is exactly one singular \(n\)-simplex in \(\mathrm{pt}\text{:}\) the constant map \(\sigma_n\colon\Delta^n\to\mathrm{pt}\text{.}\) So \(C_n(\mathrm{pt})\cong\mathbb{Z}\text{,}\) generated by \(\sigma_n\text{.}\) The boundary is
\begin{equation*} \partial_n(\sigma_n) = \sum_{i=0}^n(-1)^i\,\sigma_n\circ d_i = \sum_{i=0}^n(-1)^i\,\sigma_{n-1} = \begin{cases} \sigma_{n-1} \amp \text{if } n \text{ is even},\\ 0 \amp \text{if } n \text{ is odd}.\end{cases} \end{equation*}
The augmented chain complex is therefore
\begin{equation*} \cdots \xrightarrow{1}\mathbb{Z}\xrightarrow{0}\mathbb{Z}\xrightarrow{1}\mathbb{Z}\xrightarrow{0}\mathbb{Z}\xrightarrow{1}\mathbb{Z}\to 0, \end{equation*}
which is exact everywhere. Hence \(\widetilde{H}_n(\mathrm{pt})=0\) for all \(n\text{.}\)
We will show next week that homotopy equivalences induce isomorphisms on homology. Combined with the computation above, this gives:
In particular, \(\widetilde{H}_n(\mathbb{R}^k)=0\text{,}\) \(\widetilde{H}_n(D^k)=0\text{,}\) and \(\widetilde{H}_n(\mathrm{cone}(Y))=0\) for all \(n\) and all \(k\text{.}\)

Subsubsection Chain homotopies

How does one show that two chain maps induce the same map on homology? The algebraic counterpart of a topological homotopy is a chain homotopy.
Definition 2.11.22. Chain homotopy.
Let \(f_\sharp,g_\sharp\colon C_\bullet(X)\to C_\bullet(Y)\) be chain maps. A chain homotopy from \(f_\sharp\) to \(g_\sharp\) is a sequence of homomorphisms \(P_n\colon C_n(X)\to C_{n+1}(Y)\) satisfying
\begin{equation*} \partial_{n+1}\circ P_n + P_{n-1}\circ\partial_n = g_\sharp - f_\sharp \end{equation*}
for all \(n\text{.}\) If such a \(P\) exists, we say \(f_\sharp\) and \(g_\sharp\) are chain homotopic and write \(f_\sharp\simeq g_\sharp\text{.}\)
described in detail following the image
Diagram showing chain maps \(f_\sharp\) and \(g_\sharp\) from \(C_n(X)\) to \(C_n(Y)\text{,}\) with the chain homotopy \(P\) mapping diagonally from \(C_n(X)\) to \(C_{n+1}(Y)\text{.}\)
Proof.
Let \(z\in C_n(X)\) be a cycle (\(\partial z=0\)). Then
\begin{equation*} g_\sharp(z)-f_\sharp(z) = \partial P_n(z) + P_{n-1}(\partial z) = \partial P_n(z). \end{equation*}
So \(g_\sharp(z)\) and \(f_\sharp(z)\) differ by a boundary, hence \([g_\sharp(z)]=[f_\sharp(z)]\) in \(H_n(Y)\text{.}\)
The key theorem of next week β€” homotopy invariance of singular homology β€” amounts to showing that if \(f,g\colon X\to Y\) are homotopic continuous maps, then the chain maps \(f_\sharp\) and \(g_\sharp\) are chain homotopic. The chain homotopy will be constructed using the prism operator, which decomposes the product \(\Delta^n\times[0,1]\) into \((n+1)\)-simplices β€” an algebraic incarnation of the cylinder constructions we studied in week 10.