The homology complex $H$ is defined by ker dd^C/image dd^C. The differential of the homology complex is the zero map.
The first example is the complex associated to a triangulation of the real projective plane, having 6 vertices, 15 edges, and 10 triangles.
i1 : d1 = matrix {
{1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{-1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0},
{0, -1, 0, 0, 0, -1, 0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, 1, 1, 0},
{0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, 1},
{0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1}}
o1 = | 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 |
| -1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 |
| 0 -1 0 0 0 -1 0 0 0 1 1 1 0 0 0 |
| 0 0 -1 0 0 0 -1 0 0 -1 0 0 1 1 0 |
| 0 0 0 -1 0 0 0 -1 0 0 -1 0 -1 0 1 |
| 0 0 0 0 -1 0 0 0 -1 0 0 -1 0 -1 -1 |
6 15
o1 : Matrix ZZ <--- ZZ
|
i2 : d2 = matrix {
{-1, -1, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, -1, -1, 0, 0, 0, 0, 0, 0},
{1, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, -1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, -1, -1, 0, 0, 0},
{-1, 0, 0, 0, 0, 0, 0, -1, 0, 0},
{0, -1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 1, 0, 0},
{0, 0, -1, 0, 0, 0, 0, 0, -1, 0},
{0, 0, 0, 0, 0, -1, 0, 0, 1, 0},
{0, 0, 0, -1, 0, 0, -1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, -1, -1},
{0, 0, 0, 0, 0, 0, 0, -1, 0, 1},
{0, 0, 0, 0, -1, 0, 0, 0, 0, -1}}
o2 = | -1 -1 0 0 0 0 0 0 0 0 |
| 0 0 -1 -1 0 0 0 0 0 0 |
| 1 0 1 0 0 0 0 0 0 0 |
| 0 1 0 0 -1 0 0 0 0 0 |
| 0 0 0 1 1 0 0 0 0 0 |
| 0 0 0 0 0 -1 -1 0 0 0 |
| -1 0 0 0 0 0 0 -1 0 0 |
| 0 -1 0 0 0 1 0 0 0 0 |
| 0 0 0 0 0 0 1 1 0 0 |
| 0 0 -1 0 0 0 0 0 -1 0 |
| 0 0 0 0 0 -1 0 0 1 0 |
| 0 0 0 -1 0 0 -1 0 0 0 |
| 0 0 0 0 0 0 0 0 -1 -1 |
| 0 0 0 0 0 0 0 -1 0 1 |
| 0 0 0 0 -1 0 0 0 0 -1 |
15 10
o2 : Matrix ZZ <--- ZZ
|
i3 : C = complex {d1,d2}
6 15 10
o3 = ZZ <-- ZZ <-- ZZ
0 1 2
o3 : Complex
|
i4 : dd^C
6 15
o4 = 0 : ZZ <---------------------------------------------------- ZZ : 1
| 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 |
| -1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 |
| 0 -1 0 0 0 -1 0 0 0 1 1 1 0 0 0 |
| 0 0 -1 0 0 0 -1 0 0 -1 0 0 1 1 0 |
| 0 0 0 -1 0 0 0 -1 0 0 -1 0 -1 0 1 |
| 0 0 0 0 -1 0 0 0 -1 0 0 -1 0 -1 -1 |
15 10
1 : ZZ <------------------------------------- ZZ : 2
| -1 -1 0 0 0 0 0 0 0 0 |
| 0 0 -1 -1 0 0 0 0 0 0 |
| 1 0 1 0 0 0 0 0 0 0 |
| 0 1 0 0 -1 0 0 0 0 0 |
| 0 0 0 1 1 0 0 0 0 0 |
| 0 0 0 0 0 -1 -1 0 0 0 |
| -1 0 0 0 0 0 0 -1 0 0 |
| 0 -1 0 0 0 1 0 0 0 0 |
| 0 0 0 0 0 0 1 1 0 0 |
| 0 0 -1 0 0 0 0 0 -1 0 |
| 0 0 0 0 0 -1 0 0 1 0 |
| 0 0 0 -1 0 0 -1 0 0 0 |
| 0 0 0 0 0 0 0 0 -1 -1 |
| 0 0 0 0 0 0 0 -1 0 1 |
| 0 0 0 0 -1 0 0 0 0 -1 |
o4 : ComplexMap
|
i5 : H = HH C
o5 = cokernel | 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 | <-- subquotient (| 0 1 0 0 0 0 0 0 0 0 |, | -1 -1 0 0 0 0 0 0 0 0 |) <-- image 0
| -1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 | | 1 0 0 0 0 0 0 0 0 0 | | 0 0 -1 -1 0 0 0 0 0 0 |
| 0 -1 0 0 0 -1 0 0 0 1 1 1 0 0 0 | | 0 -1 1 0 -1 0 1 0 1 0 | | 1 0 1 0 0 0 0 0 0 0 | 2
| 0 0 -1 0 0 0 -1 0 0 -1 0 0 1 1 0 | | 0 0 0 0 0 1 0 0 0 0 | | 0 1 0 0 -1 0 0 0 0 0 |
| 0 0 0 -1 0 0 0 -1 0 0 -1 0 -1 0 1 | | -1 0 -1 0 1 -1 -1 0 -1 0 | | 0 0 0 1 1 0 0 0 0 0 |
| 0 0 0 0 -1 0 0 0 -1 0 0 -1 0 -1 -1 | | 0 0 0 0 1 0 0 0 0 0 | | 0 0 0 0 0 -1 -1 0 0 0 |
| 0 0 0 1 0 0 0 0 1 1 | | -1 0 0 0 0 0 0 -1 0 0 |
0 | 0 1 -1 0 0 0 0 0 -1 0 | | 0 -1 0 0 0 1 0 0 0 0 |
| 0 0 1 -1 -1 0 0 0 0 -1 | | 0 0 0 0 0 0 1 1 0 0 |
| 0 0 0 0 0 0 0 1 0 0 | | 0 0 -1 0 0 0 0 0 -1 0 |
| 0 0 0 0 0 0 0 0 0 1 | | 0 0 0 0 0 -1 0 0 1 0 |
| 1 0 0 0 1 0 0 -1 0 -1 | | 0 0 0 -1 0 0 -1 0 0 0 |
| 0 -1 1 0 -1 0 1 1 2 1 | | 0 0 0 0 0 0 0 0 -1 -1 |
| 0 0 0 1 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 -1 0 1 |
| 0 0 0 0 -1 1 1 1 1 2 | | 0 0 0 0 -1 0 0 0 0 -1 |
1
o5 : Complex
|
i6 : dd^H == 0 o6 = true |
To see that the first homology group has torsion, we compute a minimal presentation of the homology.
i7 : Hpruned = prune HH C
1
o7 = ZZ <-- cokernel | 2 |
0 1
o7 : Complex
|
i8 : dd^Hpruned == 0 o8 = true |
By dualizing the minimal free resolution of a monomial ideal, we get a free complex with non-trivial homology. This particular complex is related to the local cohomology supported at the monomial ideal.
i9 : S = ZZ/101[a..d, DegreeRank=>4]; |
i10 : I = intersect(ideal(a,b),ideal(c,d)) o10 = ideal (b*d, a*d, b*c, a*c) o10 : Ideal of S |
i11 : C = freeResolution (S^1/I)
1 4 4 1
o11 = S <-- S <-- S <-- S
0 1 2 3
o11 : Complex
|
i12 : prune HH C
o12 = cokernel | bd ad bc ac |
0
o12 : Complex
|
i13 : Cdual = dual C
1 4 4 1
o13 = S <-- S <-- S <-- S
-3 -2 -1 0
o13 : Complex
|
i14 : prune HH Cdual
o14 = cokernel {-1, -1, -1, -1} | d c b a | <-- cokernel {-1, -1, 0, 0} | b a 0 0 |
{0, 0, -1, -1} | 0 0 d c |
-3
-2
o14 : Complex
|
i15 : prune HH_(-2) Cdual
o15 = cokernel {-1, -1, 0, 0} | b a 0 0 |
{0, 0, -1, -1} | 0 0 d c |
2
o15 : S-module, quotient of S
|