next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
SRdeformations :: CoComplex

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.

See also

Methods that use an embedded co-complex :

For the programmer

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