Macaulay2 » Documentation
Packages » SRdeformations :: Complex
next | previous | forward | backward | up | index | toc

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

See also

Types of embedded complex :

Methods that use an embedded complex :

For the programmer

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