# Complex -- The class of all embedded complexes.

## Description

The class of all embedded complexes, not necessarily simplicial or compact or equidimensional. These are complexes with coordinates assigned to their vertices.

Creating complexes:

The following functions return complexes:

simplex -- Simplex in the variables of a polynomial ring

boundaryCyclicPolytope -- The boundary complex of a cyclic polytope with standard projective space vertices

fullCyclicPolytope -- The full cyclic polytope with moment curve vertices

convHull -- The convex hull

hull -- The positive hull

boundaryOfPolytope -- The boundary of a polytope

newEmptyComplex -- Generates an empty complex.

idealToComplex -- The complex associated to a reduced monomial ideal

dualize -- The dual of a co-complex.

complement -- The complement of a co-complex.

complex -- Make a complex from a list of faces

complexFromFacets -- Make a complex from a list of facets

embeddingComplex -- The complex containing a subcomplex

For examples see the documentation of these functions.

The data stored in a complex C:

C.simplexRing, the polynomial ring of vertices of C.

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 the complex.

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

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

If not just the facets but the faces of C a known (e.g., after computed with fc) then the following data is present:

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 co-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 co-complex of C (if C is a subcomplex 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 : 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 : 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 3 4 5 1 4 5 2 1 5 2 3 4 3 0 4 1 0 4 2 3 1 2 1 0 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 : R=QQ[x_0..x_5] o9 = R o9 : PolynomialRing i10 : C=simplex R o10 = 5: x x x x x x 0 1 2 3 4 5 o10 : complex of dim 5 embedded in dim 5 (printing facets) equidimensional, simplicial, F-vector {1, 6, 15, 20, 15, 6, 1}, Euler = 0 i11 : C.isPolytope o11 = true i12 : C.polytopalFacets o12 = {x 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 3 4 0 1 2 3 5 0 1 2 4 5 0 1 3 4 5 0 2 3 4 5 ----------------------------------------------------------------------- x x x x x } 1 2 3 4 5 o12 : List

• CoComplex -- The class of all embedded co-complexes.
• Face -- The class of all faces of complexes or co-complexes.
• HH Complex -- Compute the homology of a complex.

## Types of embedded complex :

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

## Methods that use an embedded complex :

• "boundaryOfPolytope(Complex)" -- see boundaryOfPolytope -- The boundary of a polytope.
• "closedStar(Face,Complex)" -- see closedStar -- The closed star of a face of a complex.
• complement(Complex) -- Compute the complement CoComplex.
• Complex == Complex -- Compare two complexes.
• "complexToIdeal(Complex)" -- see complexToIdeal -- The monomial ideal associated to a complex.
• "coordinates(Face,Complex)" -- see coordinates -- The coordinates of a face.
• "deform(Complex)" -- see deform -- Compute the deformations associated to a Stanley-Reisner complex.
• "deformationsFace(Face,Complex)" -- see deformationsFace -- Compute the deformations associated to a face.
• "deformationsFace(Face,Complex,Ideal)" -- see deformationsFace -- Compute the deformations associated to a face.
• dim(Complex) -- Compute the dimension of a complex or co-complex.
• dim(Face,Complex) -- Compute the dimension of a face.
• "dualGrading(Complex)" -- see dualGrading -- The dual vertices of a polytope.
• "dualize(Complex)" -- see dualize -- The dual of a face or complex.
• "edim(Complex)" -- see edim -- The embedding dimension of a complex or co-complex.
• "embeddingComplex(Complex)" -- see embeddingComplex -- The embedding complex of a complex or co-complex.
• "eulerCharacteristic(Complex)" -- see eulerCharacteristic -- The Euler characteristic of a complex.
• "face(List,Complex)" -- see face -- Generate a face.
• "face(List,Complex,ZZ,ZZ)" -- see face -- Generate a face.
• "facets(Complex)" -- see facets -- The maximal faces of a complex.
• "fc(Complex)" -- see fc -- The faces of a complex.
• "fc(Complex,ZZ)" -- see fc -- The faces of a complex.
• "fvector(Complex)" -- see fvector -- The F-vector of a complex.
• HH Complex -- Compute the homology of a complex.
• "idealToCoComplex(Ideal,Complex)" -- see idealToCoComplex -- The co-complex associated to a reduced monomial ideal.
• "idealToCoComplex(MonomialIdeal,Complex)" -- see idealToCoComplex -- The co-complex associated to a reduced monomial ideal.
• "idealToComplex(Ideal,Complex)" -- see idealToComplex -- The complex associated to a reduced monomial ideal.
• "idealToComplex(MonomialIdeal,Complex)" -- see idealToComplex -- The complex associated to a reduced monomial ideal.
• "isEquidimensional(Complex)" -- see isEquidimensional -- Check whether a complex or co-complex is equidimensional.
• "isPolytope(Complex)" -- see isPolytope -- Check whether a complex is a polytope.
• "isSimp(Complex)" -- see isSimp -- Check whether a complex or co-complex is simplicial.
• "minimalNonFaces(Complex)" -- see minimalNonFaces -- The minimal non-faces of a complex.
• net(Complex) -- Printing complexes.
• "polytopalFacets(Complex)" -- see polytopalFacets -- The facets of a polytope.
• "PT1(Complex)" -- see PT1 -- Compute the deformation polytope associated to a Stanley-Reisner complex.
• "saveDeformations(Complex,String)" -- see saveDeformations -- Store the deformation data of a complex in a file.
• simplexRing(Complex) -- The underlying polynomial ring of a complex.
• "trivialDeformations(Complex)" -- see trivialDeformations -- Compute the trivial deformations.
• "tropDef(Complex,Complex)" -- see tropDef -- The co-complex of tropical faces of the deformation polytope.
• "variables(Complex)" -- see variables -- The variables of a complex or co-complex.
• "vert(Complex)" -- see vert -- The vertices of a face or complex.
• "verticesDualPolytope(Complex)" -- see verticesDualPolytope -- The dual vertices of a polytope.

## For the programmer

The object Complex is a type, with ancestor classes MutableHashTable < HashTable < Thing.