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

# newCell -- creates a new cell

## Synopsis

• Usage:
newCell(boundary,label)
newCell(boundary)
• Inputs:
• boundary, a list, that gives the boundary of the new cell either as a list of pairs of cells and their orientation, or a list of cells.
• label, , , , or an ideal, that gives a label to associate to the cell, otherwise attempt to infer it based on the labels on the boundary
• Optional inputs:
• CellDimension => an integer, default value null, that gives an explicit dimension to the cell
• Outputs:
• a cell, that was created

## Description

This function creates a new cell, to be added to a cell complex, if given a list of cells without any orientation information, it attempts to infer the orientation.

If given an empty list for the boundary, the function creates a 0-cell (a vertex).

If not given a label, and the labels on the boundary are monomials or monomial ideals from the same ring, then the label is the lcm of the labels of the boundary.

If the dimension cannot be directly inferred from the boundary, CellDimension can be used to specify the true dimension

 i1 : R = QQ[x,y] o1 = R o1 : PolynomialRing i2 : a = newCell({},x); i3 : b = newCell({},y); i4 : c1 = newCell {(a,1),(a,-1)}; i5 : c2 = newCell {a,a}; i6 : c3 = newCell {a,b}; i7 : C = cellComplex(R,{c1,c2,c3});

## Caveat

This function does not check that there is a valid map from the boundary of an n-cell to the given boundary. It only checks that the boundary forms a cycle in homology.