Macaulay2 » Documentation
Packages » Polyhedra :: PolyhedralComplex
next | previous | forward | backward | up | index | toc

PolyhedralComplex -- the class of all polyhedral complexes


A PolyhedralComplex represents a complex of rational convex polyhedra, i.e. a collection of polyhedra, such that for every polyhedron in the complex all faces are in the complex and for every two polyhedra in the complex their intersection is a face of each (intersection condition). It need not be full dimensional or pure, and the polyhedra need not be compact. It is saved as a hash table which contains a list of the generating polyhedra of the complex starting with those of maximal dimension. So for every polyhedron in this list all faces are considered to be in the complex. The output of a PolyhedralComplex looks like this:
i1 : polyhedralComplex crossPolytope 3

o1 = PolyhedralComplex{...1...}

o1 : PolyhedralComplex

This table displays a short summary of the properties of the PolyhedralComplex. However, one can not access the above information directly, because this is just a virtual hash table generated for the output. The data defining a PolyhedralComplex is extracted by the functions included in this package. A PolyhedralComplex can be constructed by collecting Polyhedra that satisfy the intersection condition. Every polyhedron that is added to a PolyhedralComplex is always considered as the collection of the Polyhedron and all of its faces.
i2 : P1 = convexHull matrix {{2,2,0},{1,-1,0}};
i3 : P2 = convexHull matrix {{2,-2,0},{1,1,0}};
i4 : P3 = convexHull matrix {{-2,-2,0},{1,-1,0}};
i5 : P4 = convexHull matrix {{-2,2,0},{-1,-1,0}};
i6 : F = polyhedralComplex {P1,P2,P3,P4}

o6 = F

o6 : PolyhedralComplex

Methods that use an object of class PolyhedralComplex :

For the programmer

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