Macaulay2 » Documentation
Packages » SimplicialComplexes :: homology(SimplicialComplex,Ring)
next | previous | forward | backward | up | index | toc

homology(SimplicialComplex,Ring) -- compute the reduced homology of an abstract simplicial complex

Synopsis

Description

Each abstract simplicial complex $\Delta$ determines a chain complex of free modules over its coefficient ring. For all integers $i$, the $i$-th term in this chain complex has a basis corresponding to the $i$-th faces in the simplicial complex $\Delta$. When the optional argument $R$ is include, the chain complex is tensored with the given ring. The reduced homology of $\Delta$ with coefficients in $R$ is, by definition, the homology of this chain complex.

The $2$-sphere has vanishing first homology, but non-trivial second homology. We obtain a triangulation of the $2$-sphere by taking the $2$-skeleton of the $3$-simplex. Since homology groups are typically expressed as a subquotient, we prune the output to obtain a minimal presentation.

i1 : S = ZZ[a..h];
i2 : Δ = skeleton(2, simplexComplex(3, S))

o2 = simplicialComplex | bcd acd abd abc |

o2 : SimplicialComplex
i3 : prune homology Δ

o3 = -1 : 0  

      0 : 0  

      1 : 0  

            1
      2 : ZZ

o3 : GradedModule
i4 : prune homology(Δ, QQ)

o4 = -1 : 0  

      0 : 0  

      1 : 0  

            1
      2 : QQ

o4 : GradedModule
i5 : prune homology(Δ, ZZ/2)

o5 = -1 : 0    

      0 : 0    

      1 : 0    

           ZZ 1
      2 : (--)
            2

o5 : GradedModule
i6 : assert(homology Δ == HH Δ)
i7 : assert(prune homology Δ == gradedModule ZZ^1[-2])

The reduced homology of the Klein bottle has torsion.

i8 : Γ = kleinBottleComplex S

o8 = simplicialComplex | cgh agh cfh afh efg dfg aeg cdg bef adf bcf cde bde ace abd abc |

o8 : SimplicialComplex
i9 : prune homology Γ

o9 = -1 : 0             

      0 : 0             

      1 : cokernel | 2 |
                   | 0 |

      2 : 0             

o9 : GradedModule
i10 : prune homology(Γ, QQ)

o10 = -1 : 0  

       0 : 0  

             1
       1 : QQ

       2 : 0  

o10 : GradedModule
i11 : prune homology(Γ, ZZ/2)

o11 = -1 : 0    

       0 : 0    

            ZZ 2
       1 : (--)
             2

            ZZ 1
       2 : (--)
             2

o11 : GradedModule
i12 : assert(prune homology(Γ, ZZ/2) == gradedModule((ZZ/2)^2[-1] ++ (ZZ/2)^1[-2]))

There are two "trivial" simplicial complexes: the irrelevant complex has the empty set as a facet whereas the void complex has no faces. Every abstract simplicial complex other than the void complex has a unique face of dimension $-1$.

i13 : irrelevant = simplicialComplex monomialIdeal gens S

o13 = simplicialComplex | 1 |

o13 : SimplicialComplex
i14 : homology irrelevant

             1
o14 = -1 : ZZ

o14 : GradedModule
i15 : assert(homology irrelevant == gradedModule ZZ^1[1])
i16 : void = simplicialComplex monomialIdeal 1_S

o16 = simplicialComplex 0

o16 : SimplicialComplex
i17 : homology void

o17 = 0 : 0

o17 : GradedModule
i18 : assert(homology void == gradedModule ZZ^0[0])

See also

Ways to use this method: