Characteristic classes (Part 1, Cohomology)


This article is part of my migration effort, moving some of my articles over from the excellent Functor Network.


I’m planning on writing a series of posts that explore the theory and applications of characteristic classes in algebraic topology, following the book from Milnor and Stasheff. Here I start with the appendix A, where homology is discussed and basic theorems are laid out. This post will also serve me well as a quick reminder, since I keep forgetting small details and ideas regarding (singular) (co)homology. Many results and explanations can be found in Hatcher’s book.

Singular homology

The standard nn-simplex is the set Δnn+1\Delta^n \subseteq \mathbb{R}^{n+1} consisting of all (n+1)(n+1)-tuples (t0,t1,,tn)(t_0,t_1,\dots,t_n) with the following two properties:

  • for each ii, we have ti0t_i \geq 0;
  • and ti=1\sum t_i = 1.

The second property says that points in Δn\Delta^n are such that the dot product of the vector (t01,t1,,tn)(t_0-1,t_1,\dots,t_n) with the vector n=(1,1,,1)n=(1,1,\dots,1) is zero, i.e. Δn\Delta^n lies in the nn-hyperplane with normal nn, translated by one unit in any direction. Hence each Δn\Delta^n is an affine space of dimension nn. For instance:

  • Δ0\Delta^0 is a single point 11 \in \mathbb{R};
  • Δ1\Delta^1 is the line segment in 2\mathbb{R}^2 going up from (1,0)(1,0) to (0,1)(0,1);
  • Δ2\Delta^2 is the (filled) triangle in 3\mathbb{R}^3 having as vertices the three standard basis vectors;
  • etc.

As a special case, we also define Δ1\Delta^{-1} to be the empty set.

In general each Δn\Delta^n has (n+1)(n+1) vertices, which are the points in Δn\Delta^n corresponding to the standard basis vectors. Another way to talk about the standard nn-simplex is to say it is the convex hull of the standard basis vectors in n+1\mathbb{R}^{n+1}. We can label each vertex with an integer ii, where ii is the (zero-based) position of the unique 11 in the standard basis vector corresponding to that vertex.

For each 0in0 \leq i \leq n, we have a way to talk about the ii-th side of a standard nn-simplex via the function ϕi:Δn1Δn\phi_i : \Delta^{n-1} \to\Delta^n, which is defined as ϕi(t0,,tî,,tn)=(t0,,ti1,0,ti+1,,tn).\phi_i(t_0,\dots, \widehat{t_i},\dots,t_n) = (t_0,\dots,t_{i-1},0,t_{i+1},\dots,t_n). (As usual the hat over a variable in an enumeration means that variable is actually omitted from the enumeration.) Thus the ii-th side is the convex hull of all vertices of Δn\Delta^n that are not labelled with ii. Notice that ϕi\phi_i is actually an affine embedding. Moreover, it gives an orientation to each side of a standard simplex: the orientation is positive ii is even, and negative otherwise.

Again, as a special case, we define the 00-th side of Δ0\Delta^0 to be the unique function ϕ0:Δ1Δ0\phi_0 : \Delta^{-1} \to \Delta^0 from the empty set (i.e. Δ1\Delta^{-1}) to the singleton {1}\{1\} (i.e. Δ0\Delta^0).

Let XX be any topological space. A singular nn-simplex in XX is a continuous map from Δn\Delta^n to XX. The idea here is to identify such a map with its image; since there are no restrictions on what this image may look like except that nearby points stay nearby (continuity), there could be collapsing or other weird things happening to Δn\Delta^n when viewed through the map. That’s why it’s called a singular simplex.

For 0in0 \leq i \leq n, the ii-th face of a singular nn-simplex σ:ΔnX\sigma : \Delta^n \to X is the singular (n1)(n-1)-simplex given by σϕi:Δn1X.\sigma \circ \phi_i : \Delta^{n-1} \to X.

For each n0n\geq 0, the singular chain group Cn(X;Λ)C_n(X;Λ) with coefficients in a commutative ring ΛΛ is the free ΛΛ-module having one generator for each singular nn-simplex σ\sigma in XX. In other words, Cn(X;Λ)C_n(X;Λ) consists of the formal ΛΛ-linear combinations of nn-simplices in XX: Cn(X;Λ)=σ:ΔnXΛ.C_n(X;Λ) = \bigoplus_{\sigma : \Delta^n \to X} Λ. Notice that this is a module, even though we use the term group. Just another fun little opportunity to be confused down the line. When n<0n<0, the singular chain group is defined to be the zero module. In the special case Λ=Λ = \mathbb{Z}, the singular chain group at nn is the free abelian group on the singular nn-simplices.

The singular chain group is the algebraic realization of how “sticking triangles on a space” works. If Λ=/2Λ = \mathbb{Z}/2\mathbb{Z}, then glueing two copies of the same simplex one on top of another means they “cancel out”, and when only one of their sides are overlapping, these overlapping sides also cancel out; you obtain a square in the space instead of two triangles. Many geometric arguments use the fact that sides on the boundaries cancel out. The precise meaning of this in Cn(X;Λ)C_n(X;Λ) is given by the boundary homomorphism, which is a ΛΛ-linear map :Cn(X;Λ)Cn1(X;Λ)∂: C_n(X;Λ) \to C_{n-1}(X;Λ) defined as σ=i=0n(1)i(σϕi).∂\sigma = \sum_{i=0}^n (-1)^i(\sigma \circ \phi_i). This definition is made for n1n \geq 1; if n0n \leq 0 we simply say =0∂= 0. The sign in the formula represents the orientation of each side (recall: the ii-th side has positive orientation when ii is even, and negative orientation otherwise). This is done because we need “identical sides” that are “going in opposite directions” to cancel out in many geometrical arguments. For instance, the boundary of a tiling of some region of space by triangles (i.e. a sum in the singular chain group C2C_2) should be the boundary of the region, not the sum of the individual boundaries of each triangle (for instance, think about the proof of Stoke’s formula).

An important property of the boundary homomorphism is this: 2=0∂^2 = 0. Intuitively: the boundary of the boundary is empty. Think of Δ2\Delta^2, which is a (filled) triangle, and think about it as a singular simplex in 2\mathbb{R}^2 (maybe via the projection on the plane in which Δ2\Delta^2 lies). Its boundary is the formal sum of three line segments. These segments are all perfectly lined up so that the end of the one is the start of the next: they form a cycle. Moreover, the point corresponding to the end of one segment has the opposite orientation to the point corresponding to the start of the next segment, so they cancel out. Since these endpoints are the boundaries of each of the three line segment, and since they all cancel out, the boundary of the boundary is effectively zero.

In fact, the boundary of a singular chain is zero precisely when all of the summands in the chain are arranged so that their boundaries all cancel out, that is, when they form a cycle and “enclose” some region of space. We define the nn-cycles to be the set of all such chains: Zn(X;Λ)=ker(:Cn(X;Λ)Cn1(X;Λ)).Z_n(X;Λ) = \ker (∂: C_n(X;Λ) \to C_{n-1}(X;Λ)). The nn-boundaries is the set of all chains that can be expressed as the boundary of some (n+1)(n+1)-dimensional singular chain: Bn(X;Λ)=im(:Cn+1(X;Λ)Cn(X;Λ)).B_n(X;Λ) = \operatorname{im} (∂: C_{n+1}(X;Λ) \to C_n(X;Λ)). The identity 2=0∂^2 = 0 says we have a containment of ΛΛ-submodules Bn(X;Λ)Zn(X;Λ).B_n(X;Λ) \subseteq Z_n(X;Λ). Hence we can consider the nn-th singular homology group Hn(X;Λ)=Zn(X;Λ)/Bn(X;Λ).H_n(X;Λ) = Z_n(X;Λ)/B_n(X;Λ).

The homology group captures in algebra an intuitive spatial fact. We have seen that any cycle “encloses” a region of space, by sticking together simplices of the same dimension along their boundaries until none are “left alone” (each boundary has a matching, opposite, boundary). Now suppose a given cycle is itself the boundary of some higher-dimensional simplex Δ\Delta. Now the cycle can “move inside” Δ\Delta without breaking appart, shrinking until it becomes a single point. If a cycle is not a boundary, it means that something about the space XX obstructs the construction of a simplex Δ\Delta which would have the cycle as its boundary: there’s a hole in XX. Notice that the condition of continuity on singular simplices is essential here: the hole would basically force any Δ\Delta to be torn appart if it were to have the cycle as a boundary, breaking continuity. In this way, the homology construction detects holes in XX and gives useful information about them. This technology could be used to make a precise definition of what a “hole” in a topological space is: a hole is a generator for the homology group.

Some abstract nonsense

Homology is a functor from the category of topological spaces up to homotopy, to the category of ΛΛ-modules. The source category’s objects are topological spaces, and the arrows are equivalence classes of continuous maps, where two maps are considered to be the same when they are homotopic. Since I always forget the details of what this means, here they are: consider two continuous maps f,g:XYf,g : X \to Y between topological spaces. We say they are homotopic when there exists another continuous map H:X×[0,1]YH : X \times [0,1] \to Y (called an homotopy) such that H(,0)=fH({-},0)=f and H(,1)=gH({-},1)=g. In the source category we’re interested in, an arrow is a actually a set of continous maps, all homotopic to each other.

Functoriality gives us the following for free: if two spaces are homotopic, then they have isomorphic homology groups. In particular, since n\mathbb{R}^n is contractible (i.e. homotopy equivalent to a point) for any n0n \geq 0, we have a concrete homology computation: for any i1i \geq 1, Hi(n;Λ)Hi({p};Λ)=0.\begin{equation*} H_i(\mathbb{R}^n;Λ) \cong H_i(\{p\};Λ) = 0. \end{equation*} (It’s easy to compute homology of a point: all singular simplices are the same!) When i=0i=0, things are a bit weird, and fixing weird things is the purpose of the next section.

Reduced homology

There’s a technical point to address here. Consider what happens when we take the space XX to be a single point pp and we compute the 00-th homology group. Since singular 11-simplices are continuous maps Δ1{p}\Delta^1 \to \{p\}, all 11-simplices are actually the same. Hence they are all cycles, so by definition their boundaries are zero: B0({p};Λ)=0B_0(\{p\};Λ) = 0. Therefore H0({p};Λ)Z0({p};Λ)H_0(\{p\};Λ) \cong Z_0(\{p\};Λ). However, we set to be the zero map for all n0n\leq 0 earlier, so H0({p};Λ)H_0(\{p\};Λ) is C0({p};Λ)C_0(\{p\};Λ), the free module generated by all 00-simplices. Since they are all the same, there’s actually only one generator, so H0({p};Λ)ΛH_0(\{p\};Λ) \cong Λ. For technical reasons, it’s better for the zeroth homology of a point to be the zero module; also, it makes sense intuitively, since we expect the homology to measure holes in a space, and we feel a point doesn’t have holes.

There’s an easy fix to this. Instead of having =0∂= 0 at degree zero, we set C1(X;Λ)C_{-1}(X;Λ) to be ΛΛ (recall: we made a special case above, where the only singular (1)(-1)-simplex is the unique function from the empty set Δ1\Delta^{-1} to XX; then the chain group of degree 1-1 has to be the free ΛΛ-module generated by that single (1)(-1)-simplex), and now we may define at degree zero with the same formula we used for positive degrees. For any singular 00-simplex σ:Δ0X\sigma : \Delta^0 \to X, we now have σ=σϕ0,∂\sigma = \sigma \circ \phi_0, which is the unique function from the empty set to XX, and which is identified with 1Λ1 \in Λ. Therefore corresponds to the identity map on ΛΛ. This means Z0({p};Λ)Z_0(\{p\};Λ) is trivial, and so is this modified homology at degree zero.

This modified homology is called reduced singular homology and its homology groups are denoted with a tilde: H̃i(X;Λ).\widetilde{H}_i(X;Λ). Since the only modification happens at degree zero, we have H̃i(X;Λ)=Hi(X;Λ)\widetilde{H}_i(X;Λ)=H_i(X;Λ) for each i1i \geq 1. In general, we see that for any 00-chain a1σ1++akσka_1\sigma_1+\dots+a_k\sigma_k (these are just formal linear combinations of points in XX) we have 0(a1σ1++akσk)=i=1kaiΛ.∂_0(a_1\sigma_1+\dots+a_k\sigma_k) = \sum_{i=1}^k a_i \in Λ.

There is an easy way to get from unreduced homology to reduced homology: at all positive dimensions the groups are the same, and at dimension zero we have the equation H0(X;Λ)H̃0(X;Λ)Λ.H_0(X;Λ) \cong \widetilde{H}_0(X;Λ) \oplus Λ. (Hint: think about what happens if XX is path-connected, and which 00-chains are boundaries.)

Mayer-Vietoris sequence

A great tool for computing with homology. It works for “unreduced” and reduced homology (just replace HH with H̃\widetilde{H} everywhere). Let AA and BB be two subsets of XX such that their interior cover XX (and for reduced homology, we also want their intersection to be nonempty). Then there is a long exact sequence in homology
We can use this to compute the homology of the nn-sphere SnS^n. Let AA be the “open north cap” and BB be the “open south cap”, i.e. AA and BB are contractible open sets in SnS^n such that their intersection is homotopic to the “equator” Sn1S^{n-1}. Then the reduced Mayer-Vietoris sequence looks like

Because AA and BB are contractible, the middle term above is zero for all ii \in \mathbb{Z}, so we have a collection of isomorphisms H̃i(Sn)H̃i1(Si1)\widetilde{H}_i(S^n) \cong \widetilde{H}_{i-1}(S^{i-1}). Since H̃0(S0)=Λ\widetilde{H}_0(S^0) = Λ and zero otherwise, we find by induction on nn the following calculation: H̃i(Sn;Λ)={Λif i=n0otherwise.\begin{align*} \widetilde{H}_i(S^n;Λ) = \begin{cases} Λ & \text{if $i = n$} \\ 0 & \text{otherwise.} \end{cases} \end{align*}

Relative homology

We now consider pairs (X,A)(X,A) where AA is any subspace of XX (including the empty subspace, and the full subspace). We’re going to look at homology “modulo AA”, in the sense that any singular simplex whose image lies completely in AA is going to be considered as “completely collapsed”, i.e. zero as a chain. Formally, we define the relative nn-th singular chain group to be Cn(X,A;Λ)=Cn(X;Λ)/Cn(A;Λ).C_n(X,A;Λ) = C_n(X;Λ)/C_n(A;Λ).

Because carries chains in AA to chains in AA, we obtain a chain complex “modulo AA” and we can define relative homology as Hn(X,A;Λ)=Zn(X,A;Λ)/Bn(X,A;Λ).H_n(X,A;Λ) = Z_n(X,A;Λ)/B_n(X,A;Λ).

Any pair (X,A)(X,A) gives an exact sequence of ΛΛ-modules
From the general theory of abelian categories, we obtain from it a long exact sequence in homology:

This long exact sequence also exists for reduced homology.

An important tool for working with homology is the excision theorem: let AA and BB be two subspaces of XX such that their interior cover XX; then the inclusion (B,AB)(X,A)(B,A\cap B) \hookrightarrow (X,A) induces isomorphisms Hn(B,AB)Hn(X,A)H_n(B,A\cap B) \cong H_n(X,A) for all nn \in \mathbb{Z}. Equivalently, for any subspaces ZAXZ \subseteq A \subseteq X such that the closure of ZZ is contained in the interior of AA, the obvious inclusion induces isomorphisms Hn(XZ,AZ;Λ)Hn(X,A;Λ).H_n(X-Z, A-Z; Λ) \cong H_n(X, A; Λ). This version of the statement is what justifies the name “excision”, since it gives us conditions under which we may excise ZZ from XX without changing the homology groups. That is insanely powerful. For instance, here’s a proof of the so-called Brouwer’s invariance of domain: if UmU \subseteq \mathbb{R}^m and VnV \subseteq \mathbb{R}^n are two nonempty homeomorphic open sets, then m=nm=n. The idea of the proof is to look at what happens locally around a point, so we define local homology groups around some point pXp \in X by Hn,p(X;Λ)=Hn(X,X{p};Λ).H_{n,p}(X;Λ) = H_n(X,X-\{p\};Λ). Back to the proof. Let f:UVf : U \to V be a homeomorphism and pick some point xUx \in U. Then, by excision, we have Hn,x(U)Hn,x(m)H_{n,x}(U) \cong H_{n,x}(\mathbb{R}^m). (Hint: in the excision theorem, pick AA to be the complement of {x}\{x\} and pick BB to be UU). The long exact sequence for the pair (m,m{x})(\mathbb{R}^m,\mathbb{R}^m-\{x\}) looks like:

We saw that Hi(m)0H_i(\mathbb{R}^m)\cong 0 for every ii \in \mathbb{Z}. Hence we have a collection of isomorphisms Hi,x(m)Hi+1(m{x}).H_{i,x}(\mathbb{R}^m) \cong H_{i+1}(\mathbb{R}^m-\{x\}). Moreover, because m{x}\mathbb{R}^m - \{x\} is homotopic to Sm1S^{m-1}, the homology Hi+1(m{x})H_{i+1}(\mathbb{R}^m-\{x\}) is ΛΛ for i+1=mi+1=m and zero otherwise. This gives the following calculation: the homology Hi,x(m)H_{i,x}(\mathbb{R}^m) is zero if and only if i=mi=m. The same reasoning applied to VV and h(x)h(x) gives the same calculation, and since hh induces an isomorphism of homology groups, we must have m=nm=n.

Singular cohomology

Since all elements in a ΛΛ-module MM may be identified with the ΛΛ-linear maps ΛMΛ \to M, we may dualize and consider linear maps of the same kind but having opposite polarity: this we do. The nn-th cochain group is the dual module Cn(X;Λ)=HomΛ(Cn(X;Λ),Λ),C^n(X;Λ) = \operatorname{Hom}_Λ(C_n(X;Λ), Λ), consisting of all ΛΛ-linear maps going from the singular chain group into its ring of scalars. A cochain is just a way to (linearly) compute a scalar quantity from a singular chain. There’s an analogy to be made with geometry: you have points in some affine space (singular chains), and you have coordinates (cochains), which in a way compute a number from each point. In geometry, there’s a strong link between points and coordinates: studying algebraic varieties is essentially the same as studying rings of coordinates, which are basically rings of polynomial functions from the space to the underlying field. However, it is easier to work with coordinates than sets of points, because there’s a natural ring structure. Hence, if this analogy is to hold, one would expect a link between homology and cohomology; moreover, it should be easier to work with cohomology than homology. And so it is.

The value of a cochain cc on a chain γ\gamma will be denoted c,γ\langle c, \gamma \rangle and is defined as c,γ=c(γ)Λ.\langle c, \gamma \rangle = c(\gamma) \in Λ. Obviously ,:Cn(X;Λ)×Cn(X;Λ)Λ\langle {-},{-}\rangle : C^n(X;Λ) \times C_n(X;Λ) \to Λ is ΛΛ-bilinear.

The coboundary of a cochain cCn(X;Λ)c \in C^n(X;Λ) is defined to be the cochain δcCn+1(X;Λ)\delta c \in C^{n+1}(X;Λ) whose value on each (n+1)(n+1)-chain α\alpha is determined by the identity δc,α+(1)nc,α=0.\langle \delta c, \alpha\rangle + (-1)^n\langle c, ∂\alpha \rangle = 0. Hence δ\delta is, up to sign, the dual of , in the sense that for any cochain cc, the cochain δc\delta c is, up to sign, the pullback of cc along :

This sign convention is used in Milnor and Stasheff’s book, but not in Hatcher for instance, where he defines δ\delta as precisely the dual of . Since my goal is to understand characteristic classes, I’m going to keep the sign convention used in the M&S book.

Again, this definition has intuitive content: since cc is able to “measure”, or “give coordinates”, any nn-chain, then it should be possible to obtain a way to measure (n+1)(n+1)-chains α\alpha by combining measures for the boundaries of α\alpha.

The coboundary homomorphism, just like its dual friend, verifies δ2=0\delta^2 = 0. Therefore, if we define nn-cocycles to be Zn(X;Λ)=ker(δ:Cn(X;Λ)Cn+1(X;Λ))Z^n(X;Λ) = \ker(\delta : C^n(X; Λ) \to C^{n+1}(X; Λ)) and nn-coboundaries to be Bn(X;Λ)=im(δ:Cn1(X;Λ)Cn(X;Λ),B^n(X;Λ) = \operatorname{im}(\delta : C^{n-1}(X;Λ) \to C^n(X;Λ), then we may also define the nn-th singular cohomology group by Hn(X;Λ)=Zn(X;Λ)/Bn(X;Λ).H^n(X;Λ) = Z^n(X;Λ)/B^n(X;Λ).

Universal coefficient theorem for cohomology

Instead of using the ring ΛΛ as coefficients, we may also use any ΛΛ-module MM. If ΛΛ is a principal ideal domain, then there is a natural split exact sequence

The map hh is the canonical map sending a cohomology class represented by a cochain cc, to the map which sends any homology class represented by a chain α\alpha to the element c,α\langle c, \alpha \rangle of ΛΛ.

This exact sequence measures how close the cohomology group is to be the dual of homology.