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 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 : 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 |
The object Complex is a type, with ancestor classes MutableHashTable < HashTable < Thing.