Macaulay2 » Documentation
Packages » CellularResolutions :: isWellDefined(CellComplex)
next | previous | forward | backward | up | index | toc

isWellDefined(CellComplex) -- checks if a cell complex is well defined



This function checks two conditions. First, it checks that all cells in the cell complex are well defined in the sense of isWellDefined(Cell). Second, it checks that all of the labels in the cell complex are in a common ambient module.

The following example demonstrates that unlike isWellDefined(Cell), cells at all dimensions are checked, and not just the cells in the boundary. The cell complex in the example is not well defined since the edges have labels that aren't divisible by the vertices in their boundary.

i1 : R = QQ[x,y];
i2 : v1 = newSimplexCell({},x);
i3 : v2 = newSimplexCell({},y);
i4 : e1 = newSimplexCell({v1,v2},x);
i5 : e2 = newSimplexCell({v1,v2},y);
i6 : f = newCell({(e1,1),(e2,-1)},x*y);
i7 : isWellDefined f

o7 = true
i8 : isWellDefined cellComplex(R,{f})

o8 = false

Another important way that cell complexes can fail to be well defined is if they have labels from different rings

i9 : R = QQ[x,y];
i10 : S = ZZ[a,b];
i11 : v1 = newSimplexCell({},x);
i12 : v2 = newSimplexCell({},a);
i13 : isWellDefined cellComplex(R,{v1,v2})

o13 = false


This function does not check that the cell complex corresponds to a topologically realizable cell complex.

See also

Ways to use this method: