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

HH_ZZ CellComplex -- compute the homology modules of a cell complex

Synopsis

• Function: homology
• Usage:
homology(r,C)
• Inputs:
• r, an integer, an integer
• C, , with labels in ring(C)
• Outputs:
• , the r-th homology module of C with coefficients in ring(C)

Description

This computes the reduced homology in degree r of the cellular complex arising from the cell complex C. For more details on the labels, see HH CellComplex. As an example, we can compute the 0-th and 1st homology of a wedge of two circles.

 i1 : R = QQ o1 = QQ o1 : Ring i2 : a = newSimplexCell({},1); i3 : b1 = newCell {a,a}; i4 : b2 = newCell {a,a}; i5 : C = cellComplex(R,{b1,b2}); i6 : homology(0,C) o6 = image 0 1 o6 : QQ-module, submodule of QQ i7 : homology(1,C) 2 o7 = QQ o7 : QQ-module, free i8 : prune oo 2 o8 = QQ o8 : QQ-module, free

We can make this example slightly more interesting by changing the label ring and adding a non-unit label. Note in particular that this has a non-zero 0-th homology.

 i9 : R = QQ[x] o9 = R o9 : PolynomialRing i10 : a = newSimplexCell({},x); i11 : b1 = newCell {a,a}; i12 : b2 = newCell {a,a}; i13 : C = cellComplex(R,{b1,b2}); i14 : homology(0,C) o14 = image 0 1 o14 : R-module, submodule of R i15 : prune oo o15 = 0 o15 : R-module i16 : homology(1,C) 2 o16 = R o16 : R-module, free, degrees {2:1} i17 : prune oo 2 o17 = R o17 : R-module, free, degrees {2:1}