Ask Your Question
0

Homology of chain complexes

asked 12 years ago

roman gravatar image

updated 12 years ago

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) = Dx, whereas sage seems to use d(x) = xD, 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.

Preview: (hide)

Comments

Just FYI, "Public worksheets are currently disabled."

kcrisman gravatar imagekcrisman ( 12 years ago )

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?

John Palmieri gravatar imageJohn Palmieri ( 12 years ago )

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.

John Palmieri gravatar imageJohn Palmieri ( 12 years ago )

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

roman gravatar imageroman ( 12 years ago )

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

John Palmieri gravatar imageJohn Palmieri ( 12 years ago )

1 Answer

Sort by » oldest newest most voted
2

answered 12 years ago

According to the documentation for ChainComplex, the default degree for the differential is +1. So when you say ChainComplex([d0,d1,d2]), you are defining a chain complex with maps

d_0: ZZ^0 --> ZZ^3,
d_1: ZZ^3 --> ZZ^4,
d_2: ZZ^4 --> ZZ^2.

Instead, you should do

sage: C = ChainComplex([d0.transpose(), d1.transpose(), d2.transpose()], degree=-1)

Then

sage: C.homology()
{0: Z x C2, 1: 0, 2: 0}

Now, regarding kernels, you could instead use left_kernel or right_kernel, depending on which side the matrix is acting, to make things more explicit. The vectors v so that v*A=0 is the left kernel of A, for example. In your case, the differential d2 is injective, so it has zero kernel, so the homology in that degree is zero. The image of d2 is equal to the kernel of d1, so the homology in degree 1 is zero. I haven't thought about doing the degree zero case by hand, but see no reason not to trust Sage's answer of Z x C2.

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 12 years ago

Seen: 1,241 times

Last updated: Jul 20 '12