This function computes the regular cell decomposition of P given by the weight vector w. This is computed by placing the i-th lattice point of P on height w_i in n+1 space, taking the convexHull of these with the ray (0,...,0,1), and projecting the compact faces into n space. Note that the polyhedron must be compact, i.e. a polytope and the length of the weight vector must be the number of lattice points.
i1 : P = crossPolytope 3 o1 = {ambient dimension => 3 } dimension of lineality space => 0 dimension of polyhedron => 3 number of facets => 8 number of rays => 0 number of vertices => 6 o1 : Polyhedron |
i2 : w = matrix {{1,2,2,2,2,2,1}} o2 = | 1 2 2 2 2 2 1 | 1 7 o2 : Matrix ZZ <--- ZZ |
i3 : L = cellDecompose(P,w) o3 = {{ambient dimension => 3 }, {ambient dimension => 3 dimension of lineality space => 0 dimension of lineality space => dimension of polyhedron => 3 dimension of polyhedron => 3 number of facets => 4 number of facets => 4 number of rays => 0 number of rays => 0 number of vertices => 4 number of vertices => 4 ------------------------------------------------------------------------ }, {ambient dimension => 3 }, {ambient dimension => 3 0 dimension of lineality space => 0 dimension of lineality space dimension of polyhedron => 3 dimension of polyhedron => 3 number of facets => 4 number of facets => 4 number of rays => 0 number of rays => 0 number of vertices => 4 number of vertices => 4 ------------------------------------------------------------------------ }} => 0 o3 : List |
i4 : apply(L,vertices) o4 = {| -1 1 0 0 |, | -1 1 0 0 |, | -1 1 0 0 |, | -1 1 0 0 |} | 0 0 -1 0 | | 0 0 1 0 | | 0 0 -1 0 | | 0 0 1 0 | | 0 0 0 -1 | | 0 0 0 -1 | | 0 0 0 1 | | 0 0 0 1 | o4 : List |
The object cellDecompose is a method function.