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 Δ

       1
o3 = ZZ
      
     2

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

       1
o4 = QQ
      
     2

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

      ZZ 1
o5 = (--)
       2
      
     2

o5 : Complex
i6 : assert(homology Δ == HH Δ)
i7 : assert(prune homology Δ == (complex 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 = cokernel | 2 |
              | 0 |
      
     1

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

        1
o10 = QQ
       
      1

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

       ZZ 2      ZZ 1
o11 = (--)  <-- (--)
        2         2
                 
      1         2

o11 : Complex
i12 : assert(prune homology(Γ, ZZ/2) == (complex (ZZ/2)^2)[-1] ++ (complex (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 = ZZ
       
      -1

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

o16 = simplicialComplex 0

o16 : SimplicialComplex
i17 : homology void

o17 = 0
       
      0

o17 : Complex
i18 : assert(homology void == complex ZZ^0)

See also

Ways to use this method: