# Homology of chain complexes

I've got the following chain complex:

0->ZZ^2->ZZ^4->ZZ^3->0

With the boundarymaps given by

d0:(z1,z2,z3) |-> 0

d1:(z1,z2,z3,z4) |-> (-2(z1+z3+z4), 2(z1-z2), z2+z3+z4)

d2:(z1,z2)|-> (z1+z2, z1+z2,-z1,-z2)

Now I tried to compute the homology groups (e.g. H0 = ker d0 / im d1) using sage. One time manually via taking the quotients of the respective modules, one time using the ChainComplex() module. However, I don't really understand the output using the first method (e.g. what means: "Finitely generated module V/W over Integer Ring with invariants (2, 0)"), and both methods seem to deliver different results...

I've defined my boundary maps as matrices:

```
d0 = matrix(ZZ, 1,3,[[0,0,0]]).transpose()
d1 = matrix(ZZ, 3,4,[[-2,0,-2,-2],[2,-2,0,0],[0,1,1,1]]).transpose()
d2 = matrix(ZZ,4,2,[[1,1],[1,1],[-1,0],[0,-1]]).transpose()
```

Where I've taken the transpose since I'm used to write linear maps as d(x) = D*x, whereas sage seems to use d(x) = x*D, where D is the corresponding matrix.
Calculating the homology groups via

```
H0 = d0.kernel()/d1.image()
H1 = d1.kernel()/d2.image()
H2 = d2.kernel()
```

gives the following results:

H0: Finitely generated module V/W over Integer Ring with invariants (2, 0)

H1: Finitely generated module V/W over Integer Ring with invariants ()

H2: Free module of degree 2 and rank 0 over Integer Ring

whereas

```
ChainComplex([d0,d1,d2]).homology()
```

yields a different strucure.

{0: Z, 1: Z, 2: C2, 3: 0}

To maximize confusion, calculation by hand gives me H0=C2^2 x ZZ, H1=0, H2=0. I'd might have made some mistakes there, though. So I don't really konw how to interpret the results from Sage.

Just FYI, "Public worksheets are currently disabled."

I don't understand your boundary maps, in particular d1: its codomain should be ZZ^3, but it is written in terms of z1, z2, z3, z4. Since we can't see the public worksheet, perhaps you could include the matrices here?

The phrase "Finitely generated module V/W over Integer Ring with invariants (2, 0)" means a ZZ-module isomorphic to Z/2Z + Z, by the way.

Considerng the boundary maps: it's d0:ZZ^3->0 d1:ZZ^4->ZZ^3 d2:ZZ^2->ZZ^4 (and d3:0->ZZ^2, which I omitted) Considering the worksheet: I edited it in the main question

Your formula for d2 is wrong: the third component should be -z1, not -z2. The matrices are right, I think.