next | previous | forward | backward | up | index | toc

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

## Synopsis

• Function: homology
• Usage:
homology(Delta, R)
• Inputs:
• Delta, ,
• R, a ring,
• Outputs:
• , that is reduced homology group of $\Delta$ with coefficients in $R$

## 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])