MAS61015 Algebraic Topology

13. Chain complexes and homology

Video (Definition 13.1 to Example 13.7)

Given a topological space X, we previously defined a system of groups Ck(X)={Sk(X)} and homomorphisms :Ck(X)Ck-1(X). In Proposition 10.16 we showed that 2=0, and this allowed us to define the homology groups Hk(X). In this section we will place all those constructions in a wider context, which will be useful for calculating Hk(X).

Definition 13.1.

A chain complex is a sequence of abelian groups and homomorphisms like


such that didi+1=0:Ai+1Ai-1 for all i. We will often suppress the indices and just write d2=0 instead of didi+1=0. We now put

Zi(A) =ker(di:AiAi-1)Ai
Bi(A) =img(di+1:Ai+1Ai)Ai.

The elements of Zi(A) are called cycles, and the elements of Bi(A) are called boundaries. As in Remark 12.13, the condition didi+1=0 means that Bi(A)Zi(A), so every boundary is a cycle. Because of this, it is legitimate to define


This is called the i’th homology group of the complex. Given a cycle zZi(A), we write [z] for the coset z+Bi(A)Hi(A), and call this the homology class of z. Thus [z] is defined iff dz=0, and [z]=[z] iff z=z+dy for some y. The homomorphisms di are called differentials.

Remark 13.2.

We use the notation A* to refer to the whole chain complex as a single object. We also write Z*(A) for the whole system of groups Zi(A), and similarly for B*(A) and H*(A).

Remark 13.3.

The content of Section 10 can now be expressed as follows: the groups C*(X) form a chain complex (with differential ), and the homology groups of the space X are defined to be the homology groups of the chain complex C*(X).

Remark 13.4.

Note that the quotient Hi(A)=Zi(A)/Bi(A) is zero iff Zi(A)=Bi(A) iff ker(di:AiAi-1)=img(di+1:Ai+1Ai) iff the sequence Ai+1di+1AidiAi-1 is exact. Thus, the size of the group Hi(A) can be regarded as a measure of how badly the chain complex fails to be exact at Ai.

Example 13.5.

Consider a chain complex in which Ai=0 for i>0, so the complex just has the form


Every differential either starts or ends at the zero group, so all differentials are zero. We find that Z0(A)=A0 and B0(A)=0 so H0(A)=A0/0=A0. For i0 we just have Zi(A)=0 and Bi(A)=0 and Hi(A)=0.

Example 13.6.

Now consider a chain complex in which Ai=0 for i>1, so the complex just has the form


It is clear that di=0 for all i1, but d1 may be nonzero. It follows that

Z0(A) =A0 B0(A) =d1(A1) H0(A) =A0/d1(A1)
Z1(A) =ker(d1) B1(A) =0 H1(A) =ker(d1).
Example 13.7.

We now consider a specific chain complex A of the type discussed in Example 13.6, so Ak=0 for k>1. We fix n>0, and take A0 and A1 to be free abelian groups as follows:

A0 ={v0,,vn-1}
A1 ={e0,,en-1}.

These indices are supposed to be read modulo n, so vn=v0 and v-1=vn-1 and so on. We define d1:A1A0 by d1(ei)=vi+1-vi (so in particular d1(en-1)=v0-vn-1). We claim that the groups H0(A) and H1(A) are both isomorphic to .

The easiest way to see this is to introduce some alternative bases for these groups. We put

ei =e0+e1++ei=j=0iej  ( for 0i<n)
v0 =v0
vi =vi-v0  ( for 0<i<n).

For example, when n=4 we have

e0 =e0 e0 =e0 v0 =v0 v0 =v0
e1 =e0+e1 e1 =e1-e0 v1 =v1-v0 v1 =v1+v0
e2 =e0+e1+e2 e2 =e2-e1 v2 =v2-v0 v2 =v2+v0
e3 =e0+e1+e2+e3 e3 =e3-e2 v3 =v3-v0 v3 =v3+v0

It is easy to see that the list (e0,,en-1) is a basis for A1 over , and (v0,,vn-1) is a basis for A0. We also have


Most of the terms cancel, giving d1(ei)=vi+1-v0. For 0i<n-1 we can write this as d1(ei)=vi+1. However, vn is the same as v0, so d1(en-1)=0. In summary, we have

d1(e0)=v1  d1(e1)=v2  d1(e2)=v3    d1(en-2)=vn-1  d1(en-1)=0.

From this it is clear that ker(d1)=.en-1 and img(d1)={v1,,vn-1} so A0/img(d1)=.v0. In other words, we have H1(A)=.en-1 and H0(A)=.v0.

We will typically express this answer by writing H*(A)=(,). The first group listed is H0, the second one is H1, and it is implicit that all subsequent groups are zero.

Remark 13.8.

The method used above is fairly typical for calculation of the homology of small chain complexes. To calculate H*(A), we try to find bases for all the groups Ai such that the differential sends every basis element to another basis element or to zero. We can then take the basis for A and discard all pairs of basis elements (a,a) with da=a. The remaining elements will then give a basis for H*(A) over , so in particular all the groups Hi(A) are free abelian groups.

There are some chain complexes A for which the groups Hi(A) are not free abelian groups, and in those cases we will not be able to find a basis with properties as above. There is a more complicated algorithm that will still work in those cases, but we will not explain it here.

Video (Definition 13.9 to Remark 13.13)

Definition 13.9.

Let A and A be chain complexes. A chain map from A to A is a sequence of group homomorphisms fn:AnAn such that for all n0 we have fndn+1A=dn+1Afn+1. In other words, the following diagram must commute:

We will typically suppress all subscripts and superscripts and just write fd=df rather than fndn+1A=dn+1Afn+1.

Definition 13.10.

We write idA* for the sequence of identity maps idAn:AnAn. This is clearly a chain map from A to itself. Now suppose we have chain maps A𝑓AfA′′. We define a chain map ff:AA′′ by the obvious rule (ff)n=fnfn; this satisfies


as required. It is easy to see that this kind of composition is associative and that idf=f=fid, so we have a category Chain of chain complexes and chain maps.

Proposition 13.11.

Let f:AA be a chain map. Then

  • (a)

    For all n we have fn(Zn(A))Zn(A)

  • (b)

    For all n we have fn(Bn(A))Bn(A)

  • (c)

    There is a well-defined map f*:Hn(A)Hn(A) given by f*[z]=[f(z)].

Moreover, these constructions give functors Zn,Bn,Hn:ChainAb.

  • (a)

    Suppose that zZn(A), so d(z)=0. We then have f(z)An with d(f(z))=f(d(z))=f(0)=0, so f(z)Zn(A) as required. (As mentioned in Remark 10.22, the notation [z] is only meaningful if d(z)=0. Now we have checked that d(f(z))=0, we see that the notation [f(z)] used in (c) is valid.)

  • (b)

    Suppose that bBn(A), so b=d(x) for some xAn+1. We then have f(b)=fd(x)=df(x)d(An+1)=Bn(A) as required.

  • (c)

    From (a) and (b) we see that if z+Bn(A)=z+Bn(A) then z-zBn(A) so f(z)-f(z)=f(z-z)Bn(A) so f(z)+Bn(A)=f(z)+Bn(A). It follows that there is an induced homomorphism f*:Hn(A)Hn(A) given by


    or in other words f*[z]=[f(z)].

We can make Zn into a functor by defining


As this is just a restriction of fn, it is clearly compatible with composition and identity morphisms, as required. We can make Bn into a functor in the same way. Finally, suppose we have chain maps


For a homology class [z]Hn(A) we have


From this it is clear that Hn:ChainAb is also a functor. ∎

Construction 13.12.

We now want to make homology into a functor from topological spaces to abelian groups. Let f:XY be a continuous map. Let u be an element of the set Sk(X), or equivalently, a continuous map u:ΔkX. We define f#(u)Sk(Y) to be the composite function fu:ΔkY. Next, given an element u=i=1rniuiCk(X) we define f#(u)=i=1rnif#(ui)Ck(Y). This extends the map f#:Sk(X)Sk(Y) linearly to give a homomorphism f#:Ck(X)Ck(Y). We claim that this is a chain map, or in other words that f#((u))=(f#(u)) whenever uCk(X). As everything is extended linearly, it will be enough to prove this when uSk(X), or equivalently u:ΔkX. We then have

f#(u) =fu
(u) =i=0k(-1)i(uδi)
f#((u)) =i=0k(-1)i(fuδi)=(f#(u)),

as required. It is clear that id#=id and (gf)#=g#f#, so we have defined a functor C*:TopChain. We can compose this with the functor Hn:ChainAb to get a functor TopAb which is traditionally also denoted by Hn.

Remark 13.13.

Now that we know that Hn is a functor, we can use Propositions 6.17 and 6.25. These tell us that:

  • (a)

    If X is homeomorphic to Y, then Hn(X) is isomorphic to Hn(Y).

  • (b)

    If X is a retract of Y, then Hn(X) is a retract of Hn(Y).

Remark 13.14.

Suppose that f:XY is constant, say f(x)=b for all xX. We then claim that f*=0:Hn(X)Hn(Y) for all n>0. Indeed, we can define X𝑝{0}𝑞Y by p(x)=0 and q(0)=b, so f=qp. Thus, the map f*:Hn(X)Hn(Y) is the composite of the maps p*:Hn(X)Hn({0}) and q*:Hn({0})Hn(Y). However, Proposition 10.23 tells us that Hn({0})=0, and the claim is clear from this.