Google Answers Logo
View Question
Q: Computing Homology Groups Part "b" ( Answered 5 out of 5 stars,   2 Comments )
Subject: Computing Homology Groups Part "b"
Category: Science > Math
Asked by: dubois-ga
List Price: $50.00
Posted: 08 Dec 2002 14:31 PST
Expires: 07 Jan 2003 14:31 PST
Question ID: 121509
Please refer to part "b" of the expired question Computing Homology
Groups.  As this is a relatively small subset of one part to a single
question in Hatcher, I do not imagine it will take all that long (but
please correct me if I am wrong).
Subject: Re: Computing Homology Groups Part "b"
Answered By: rbnn-ga on 09 Dec 2002 19:03 PST
Rated:5 out of 5 stars
A few general remarks.

First, it is wise to look at the derivation of the simplicial homology
of the torus on Example 2.3 of Hatcher, as that gives a very concrete
example of how one can compute homology. We could do the same thing
here, but the simplices involved are a bit of a hassle to deal with
hand, although by no means impossible.

First, I will just give the answer:

The answer is:

H_1(X,B)=Z x Z x Z

H_k(X,B)=0 for k>2 .

I will give two proofs of this fact: one a concrete one based on
triangulation, and one a more abstract one based on exact sequences.

Particularly the more abstract proof may be a bit terse. Please ask
for clarifcations to clear up specific questions.

Preliminary definitions:
Let T be a torus. 

X is the connected sum of two tori, T#T, formed by cutting out a small
disk in each torus and gluing the sides together.

B is a small circle going around one of the tori.

Homology is singular homology with coefficient group Z.

First proof
This relies on a web-based simplicial homology computation program. 

I will write R_n for 


, the reduced homology functor.

We first observe that 

H_n(X,B) = R_n(X/B) by proposition 2.22 of Hatcher, on page 124. Here,
(X,B) form a "good pair" as defined on page 114 following the
statement of theorem 2.13, since B is manifestly a deformation retract
of a small cylinder containing it in X.

We shall now construct a simplicial complex equal to X/B , and run
that through the homology program. This particular program requires
that its simplices be uniquely determined by its vertices, so we need
to put in some extra triangles compared to the Hatcher treatment.

First, let us triangularize the torus.

We trisect the horizontal and vertical lines in a square, and label
the intersections as follows:

1   4   7   1

2   5   8   2

3   6   9   3

1   4   7   1

Now we draw lines between horizontally and vertically adjacent nodes,
and bisect each rectangle. The triangles formed are thus:


Here each three digit string denotes a 2-simplex (a triangle) in the

Now let us consider the topology of Y=T/B . This represents a torus
with the wrapping circle B squashed to a point: imagine that B is a
rope, and tighten the rope until it is a point.

The resulting topology looks like two open cones  - say ice-cream
cones, with their points glued together.

We now triangularize Y.

We name the vertex of Y 10 . 10 is part of the boundary of a
boundary([10,20,30,40]). Thus, to get one open cone we add faces:

[10,20,30], [10,20,40],[10,30,40]

Now we build the other open cone with faces:


Now we connect the corresponding vertices of the two triangles two
form a prism with three rectangles:

Finally, we bisect each rectangle to get the triangularization of the

[20,30,50], [30,50,60]
[30,40,60], [40,60,70]
[40,50,70], [20,40,50]

Thus, the full triangularization of T/B is:

[10,20,30], [10,20,40],[10,30,40]
[20,30,50], [30,50,60]
[30,40,60], [40,60,70]
[40,50,70], [20,40,50]

Finally, to form X/B we form the connected sum of  T/B and T . We
choose a small two-simplex in T, say


and we glue that to a small triangle in T/B, say


To do this, we form the union of the faces in T/B and T, we remove
[1,2,4] and [20,30,40] from the list, and we replace respectively

20 by 1,
30 by 2
40 by 4 .

The resulting simplex is then:

The Homology computation server URL at: 

is a bit difficult to use. We create a URL with this string in it:


say . We then input this URL into the form at the homology
computation server. It's output looks like this:


which indicates that the reduced homology groups of (X/B) are:

R_1(X/B)=Z+Z+Z [direct sum]

The result now follows.


First let us compute the homology of Y. 

We see that Y is homeomorphic to a two-sphere S^2 with two points
identified. Let V be S^2 and let W={a,b} be two points on S^2.


Now, (V,W) is a good pair, since W is a deformation retract of two
small disks about a and b. Therefore by theorem 2.13

we have an exact sequence:

R_2(W)->R_2(V)->R_2(Y)->R_1(W)->R_1(V)-> R_1(Y)->R_0(W)->R_0(V).

Now, R_2(W)=R_1(W)=0 since W has just 0-complexes.
R_0(W)=Z since H_0(W)=Z+Z .

We know the reduced homology of V=S^2 is 0 except at dimension 2 (this
is a standard theorem).

Therefore, the above exact sequence reduces to:


In any exact sequence of the form 


the middle map must be an isomorphism. 

Therefore, R_2(Y)=Z and R_1(Y)=Z ; we already know R_0(Y)=Z .

So we have computed the homology of Y.

Now, let X/B = Y # T = M . 

Let A be a circle around the connecting bridge of M, as pictured in
the diagram in Hatcher. Note that A is homotopic to a constant map.

Now, M/A is just the wedge sum of T and Y . Therefore, the homology of
M/A is given by (following corollary 2.25)


R_2(M/A)=R_2(T)+R_2(Y)= Z+Z

since the reduced homology of T in dimensions 0, 1, and 2 is 0, Z^4, Z
respectively by Example 2.3 and the equivalence of singular and
simplicial homology.

Hence we have exact sequences:


The last term is 0 since the spaces are all path connected so have
trivial reduced homology.

We have R_2(A)=0 since A is S^1 .
R_1(Z)=Z since A is S^1

So we now have exact sequence:


The map Z->R_1(M) is induced by the inclusion map A->M. But A is
homotopic to a constant map, so that the image of this map is 0.
Hence, the map from R_1(M) to Z^3 is an isomorphism, as it is
surjective by the 0 after Z^3 and injective because its kernel is 0,
so that R_1(M)=Z^3 .

There is an injection from R_2(M) into Z+Z, so R_2(M) has no torsion
(no elements a multiple of which are zero) .

Since the map h from Z+Z to Z is surjective (as the map from Z to
R_1(M) is the 0 map), we have Z is isomorphic to (Z+Z)/ker h. This is
only possible if ker h is equal to Z, so the image of R_2(M) is equal
to Z. Since that map is an injection R_2(M) is Z.

The result now follows.

I found this far and away the trickiest of the challenges you have
set; it's solution required quite some work. Although in your note you
mentioned that it may not seem that difficult, since it is one part of
one part of an exercise, all the other parts are trivial.

[E.g., for 17(a): when one removes a point from S^2 or S^1xS^1 one
gets a disk. The homology of H_n(X,A) is virtually immediate, since
X/A is a wedge sum of tori.]

Generally in algebraic topology, one can compute homology either by
relying on powerful theorems (exactness arguments) or doing explicit
computation. I did both here, as a check.

The homology computation server was found by searching on "homology
computation". The actual server has a rather byzantine interface, but
to install it locally requires GAP (a nice package I have used before)
and both g++ and GNU Pascall (?!) .

Clarification of Answer by rbnn-ga on 09 Dec 2002 20:54 PST
I actuallyproved that:
H_0(X,B)=0 , and this is correct. 

The statement at the beginning of the answer that H_0(X,B)=Z is
incorrect; when we get H_0(X,B) we pass to reduce homology R_0(X,B)=0.

Thus, the homology is:

H_1(X,B)=Z x Z x Z 
H_k(X,B)=0 for k>2

Clarification of Answer by rbnn-ga on 09 Dec 2002 23:06 PST
Although not strictly speaking necessary for the understanding of the
answer, I thought that you might enjoy some additional files with
which to play around with the computation of homology on the homology

You can go to the homology server and input the URLs respectively, to:

and input these into the "Enter gap script url".

click "begin computation" and then "View Results" on the next page.

The output format is a bit sloppy, but one can check that the reduced
homology of

the torus, at 

[ [ 0 ], [ 2 ], [ 1 ] ]

, which means reduced homology groups at dimensions 0, 1, 2 of 0, Z^2,
and Z.

The space Y, or T/B is found at the URL: with homology:

[ [ 0 ], [ 1 ], [ 1 ] ]

Similarly, for the X/B space at

[ [ 0 ], [ 3 ], [ 1 ] ]

Clarification of Answer by rbnn-ga on 10 Dec 2002 07:26 PST
I suggest skipping to the THIRD PROOF at the end, as it is
significantly simpler than the first two. However, for completeness, I
am including clarification notes on the second proof.

This document is divided into these sections:


For some reason errors keep slipping by me in this proof. I suppose I
wanted to try to get out what I had as soon as possible because you
indicated there was an element of time pressure involved. None of
these affect the validity or reasoning of the proof but they do make
it harder to understand. Here is a list, followed by some additional


In the line "we already know R_0(Y)=Z" for the second proof -
obviously, what is meant is "we already know R_0(Y)=0" . Here Y is T/B
or S^2/{a,b} .

Here I am using the fact that R_0(H)+Z=H_0(H) for any space H by the
remarks on page 110; and the fact that H_0(H) is the number of path
components of H, by Proposition 2.7.

In the phrase "the reduced homology of T in dimensions 0,1, and 2 is
0, Z^4, Z respectively by example 2.3" of course the homology at
dimension 1 is Z^2 and not Z^4; of course the computation itself uses
the correct homology.

In the comment at the end on the solution of part (a) of exercise 17
for a torus; actually removing a point from a torus yields an annulus,
not a disk; in any case this is not related to the actual question.

R_n(X) is the reduced homology at dimension n of a space X:

   H_n (X)

T is a torus .

X is the connected sum of two copies of a torus, T#T' where T' is a
copy of T. (usually just written T#T)

B is a small circle going through the center of one of the copies of T
in X .

A is a small circle around the link between the tori in X; A is
contractible in X, but B is not.

M is X/B, the space whose reduced homology we want to compute, since
this is the relative homology of (X,B) .

Y is T/B , a squashed torus. This is also two ice-cream cones with
tips and tops glued together respectively; or a 2-sphere with two
points identified.

V is the 2-sphere S^2.

W is {a,b}, two points in S^2, so that Y=V/W. Thus:

M=T # Y

o The relative homology of (X,B) is the reduced homology of M = X/B.

o We use the long exact sequence in Theorem 2.13 to compute the
reduced homology of Y=T/B, since we know the homology of T and B.

o We observe that M/A = T \/ Y, the wedge sum of T and Y, and so M/A
has known homology .

o Since we know the homology of A and M/A, we can use again the long
exact sequence in Theorem 2.13 to compute the homology of M .

The exact sequence of theorem 2.13 is of course our key tool. 

One subtlety that might cause difficulty: 

How do we know that the map

H_1(A) -> H_1 (M)

given in the second use of theorem 2.13 in the computation of the
homology of M from that of M/A is 0?

This map is "induced by the inclusion map". That is, if


is inclusion, and 

sigma : Delta^1 -> A

is a singular one-chain in A, then the induced singular one-chain in M

i^star(sigma) : Delta^1 -> M
 t |-> i^star(sigma(t))

Thus, i^star takes one-chains in A to one-chains in M, and it also
maps homology groups.

Now, let c be a constant map (since M is path connected it does not
matter which constant):

c: A-> M
 a|-> x_0 constant

Now, again there is a map c^star that takes chains in A to the
constant trivial chain in M:

c^star(sigma): Delta^1->M

Since the boundary operator on the chain c^star(sigma) is obviously 0,
c^star(sigma) is in Ker(del_1) and so c^star induces a 0 map

c^star : H_1(A) -> H_1(M)

But by theorem 2.10, the induced maps of homotopic maps are equal.
Therefore, c^star=i^star, and so the map i^star of theorem 2.13 is
indeed trivial.

Another subtlety in the use of theorem 2.13 is in the argument on
exact sequences we use. If you've seen this kind of argument before,
the argument might be clear, but otherwise I can expand the use of the

After writing the above, I just realized there is a much simpler
computation of the homology of X/B.

Again, we observe that the relative homology of (X,B) is the reduced
homology of X/B.

Let W be a set of two points on the torus T . 

Then in fact 

X/B = T/W .

I'm not sure how to prove this rigorously, but it's certainly clear if
one imagines a picture of what's going on.

Now we can apply theorem 2.13 to T and W to get an exact sequence:


We have:

R_2(W)=R_1(W), since W is a 0-complex
R_0(W)=Z since W has two path components
R_2(T)=Z, by example 2.3 as above
R_1(T)=Z+Z, by the same example
R_0(T)=0, since T is path connected

Hence, our exact sequence is:


Since in any exact sequence 0->G->H->0 there is an isomorphism from G
to H, R_2(T/W)=Z .

Let us examine the remaining part of the long exact sequence:

         h       j
0->Z+Z   ->  G   ->  Z->0

where G=R_1(T/W) .

By exactness, h is an injection and j is a surjection . So G has a
subgroup K isomorphic to Z+Z with:

G/K = Z .

Now, G has no torsion: if there were an element g in g and a nonzero
integer n such that g n =0, then we cannot have g is in K, since K has
no torsion, and no multiple of g can be in K either, since G/K has no

So G is free abelian. By the remark following Theorem 2.44, G has rank
3, or by general considerations on free abelian groups,

rank(K)+rank(Z)=rank(G) .

Indeed, generators for G are the two generators of K and any
representative of a generator for G/K .

This means that G must equal Z+Z+Z. The value of R_1(T/W) follows, as
does the reduced homology for T/W, as does the reduced homology for
X/B, as does the relative homology for (X,B).
dubois-ga rated this answer:5 out of 5 stars and gave an additional tip of: $10.00
One of the most thorough and well thought out answers I have ever come
across.  Absolutely superlative and extremely helpful.

Subject: Re: Computing Homology Groups Part "b"
From: mathtalk-ga on 09 Dec 2002 22:06 PST
Hi, rbnn:

Bravo! Great work, it will take me awhile to assimilate.

regards, mathtalk-ga
Subject: Re: Computing Homology Groups Part "b"
From: dubois-ga on 10 Dec 2002 16:29 PST
Sorry for the delay, rbnn; Google mistakenly thought my credit card
was bad and revoked my priveleges which I only now have gotten back. 
Anyway, thank you for the great answer.  Truly above and beyond.  I
found the first proof particularly interesting as I have not seen that
method before.  I had a few things I wanted clarified, but your last
clarification took care of all that.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  

Google Home - Answers FAQ - Terms of Service - Privacy Policy