# CoComplex -- The class of all embedded co-complexes.

## Description

The class of all embedded co-complexes, not necessarily simplicial.

Creating co-complexes:

The following functions return co-complexes:

idealToCoComplex -- The co-complex associated to a reduced monomial ideal

dualize -- The dual of a complex.

complement -- The complement of a complex.

coComplex -- Make a co-complex from a list of faces

For further examples see the documentation of these functions.

The data stored in a co-complex C:

C.simplexRing, the polynomial ring of vertices of C (note these are only faces of C if C is a polytope).

C.grading, is C.simplexRing.grading, a matrix with the coordinates of the vertices of C in its rows.

C.facets, a list with the facets of C sorted into lists by dimension.

C.edim, the embedding dimension of C, i.e., rank source C.grading.

C.dim, the dimension of C, i.e., the minimal dimension of the faces.

C.isSimp, a Boolean indicating whether C is simplicial.

C.isEquidimensional, a Boolean indicating whether C is equidimensional.

C.fc, a ScriptedFunctor with the faces of C sorted and indexed by dimension.

C.fvector, a List with the F-vector of C.

The following may be present (if known due to creation of C or due to calling some function):

C.dualComplex, the dual complex of C in the sense of dual faces of a polytope. See dualize.

C.isPolytope, a Boolean indicating whether C is a polytope.

C.polytopalFacets, a List with the boundary faces of the polytope C.

C.complementComplex, the complement complex of C (if C is a subcocomplex of a simplex). See complement.

 i1 : R=QQ[x_0..x_5] o1 = R o1 : PolynomialRing i2 : C=boundaryCyclicPolytope(3,R) o2 = 2: x x x x x x x x x x x x x x x x x x x x x x x x 0 1 2 0 2 3 0 3 4 0 1 5 1 2 5 2 3 5 0 4 5 3 4 5 o2 : complex of dim 2 embedded in dim 5 (printing facets) equidimensional, simplicial, F-vector {1, 6, 12, 8, 0, 0, 0}, Euler = 1 i3 : C.simplexRing o3 = R o3 : PolynomialRing i4 : C.grading o4 = | -1 -1 -1 -1 -1 | | 1 0 0 0 0 | | 0 1 0 0 0 | | 0 0 1 0 0 | | 0 0 0 1 0 | | 0 0 0 0 1 | 6 5 o4 : Matrix ZZ <--- ZZ i5 : C.fc_2 o5 = {x x x , x x x , x x x , x x x , x x x , x x x , x x x , x x x } 0 1 2 0 2 3 0 3 4 0 1 5 1 2 5 2 3 5 0 4 5 3 4 5 o5 : List i6 : C.facets o6 = {{}, {}, {}, {x x x , x x x , x x x , x x x , x x x , x x x , x x x , 0 1 2 0 2 3 0 3 4 0 1 5 1 2 5 2 3 5 0 4 5 ------------------------------------------------------------------------ x x x }, {}, {}, {}} 3 4 5 o6 : List i7 : dC=dualize C o7 = 2: v v v v v v v v v v v v v v v v v v v v v v v v 0 1 2 0 1 4 0 3 4 1 2 3 1 2 5 1 4 5 2 3 4 3 4 5 o7 : co-complex of dim 2 embedded in dim 5 (printing facets) equidimensional, simplicial, F-vector {0, 0, 0, 8, 12, 6, 1}, Euler = 1 i8 : cC=complement C o8 = 2: x x x x x x x x x x x x x x x x x x x x x x x x 4 5 3 1 4 5 1 5 2 4 2 3 0 4 3 1 0 4 1 2 3 1 0 2 o8 : co-complex of dim 2 embedded in dim 5 (printing facets) equidimensional, simplicial, F-vector {0, 0, 0, 8, 12, 6, 1}, Euler = 1 i9 : dualize cC o9 = 2: v v v v v v v v v v v v v v v v v v v v v v v v 3 4 5 2 3 5 1 2 5 0 4 5 0 3 4 0 2 3 0 1 5 0 1 2 o9 : complex of dim 2 embedded in dim 5 (printing facets) equidimensional, simplicial, F-vector {1, 6, 12, 8, 0, 0, 0}, Euler = 1

## Caveat

So far a co-complex is of class complex and the methods checks of which type it really is. At some point both will have a common ancestor.