This is an old revision of the document!
Properties and Methods defined for lattice polytopes
This page summarizes properties and methods defined for lattice polytopes in polymake. For an introductory example see here.
Up to release 2.14, a lattice polytope in polymake used to be a subclass of a rational polytope, and all basic properties were derived from that. Starting with release 2.15 (or 3.0, not decided yet), there is no distinct type LatticePolytope anymore. A lattice polytope is an instance of rational polytope having the property LATTICE=1. All properties and methods described below have not changed.
As facet inequalities are standardized automatically, they usually do not appear as integer vectors. polymake
provides the primitive(Vector)
to transform a rational or integral vector into an integral vector such that the gcd of all entries is 1 (as a return vector, the input remains unchanged). primitive(Matrix)
applies this function to all rows of the matrix.
Properties for Polytope<Rational> and LatticePolytope
Name | Description |
LATTICE | The polytope has integer vertices |
LATTICE_POINTS | List of lattice points in the polytope |
N_LATTICE_POINTS | Number of lattice points in the polytope |
INTERIOR_LATTICE_POINTS | List of lattice points in the interior of the polytope |
N_INTERIOR_LATTICE_POINTS | Number of lattice points in the interior of the polytope |
BOUNDARY_LATTICE_POINTS | List of lattice points on the boundary of the polytope |
N_BOUNDARY_LATTICE_POINTS | Number of lattice points on the boundary of the polytope |
HILBERT_BASIS | The Hilbert Basis of the cone spanned by P x {1} |
N_HILBERT_BASIS | Number of elements of the Hilbert Basis |
MINKOWSKI_SUMMAND_CONE | the cone of all Minkowski summands of P . This has connected user_methods MINKOWSKI_SUMMAND_COEFF and MINKOWSKI_SUMMAND_POINT . The first returns the polytope correspondong to a point in the cone given by coefficients in the rays, the second for a point given in the coordiantes of the ambient space. |
Name | Description |
REFLEXIVE | The polytope and it's dual have integral vertices |
GORENSTEIN | A dilation of the polytope is reflexive up to translation |
GORENSTEIN_INDEX | If P is Gorenstein, then this is the integer k such that the dilation k*P is reflexive |
GORENSTEIN_VECTOR | If P is Gorenstein, then this is the unique interior lattice point in k*P |
CANONICAL | There is exactly one interior lattice point |
TERMINAL | There is exactly one interior lattice point and all other lattice points are vertices |
LATTICE_EMPTY | The polytope contains no lattice points other than the vertices |
LATTICE_VOLUME | The normalized volume of the polytope VOLUME * dim! |
LATTICE_DEGREE | The degree of the h*-polynomial or Ehrhart polynomial |
LATTICE_CODEGREE | dim+1-degree or the smallest integer k such that k*P has an interior lattice point |
EHRHART_POLYNOMIAL_COEFF | The coefficients of the Ehrhart polynomial starting at the constant coefficient |
H_STAR_VECTOR | The coefficients of the h*-polynomial starting at the constant coefficient |
NORMAL | The cone spanned by P x {1} is generated in height 1 |
FACET_WIDTHS | The integral width of the polytope with respect to each facet normal |
FACET_WIDTH | The maximal integral width of the polytope with respect to the facet normals |
FACET_VERTEX_LATTICE_DISTANCES | The matrix of lattice distances between facets and vertices, rows: facets, columns: vertices |
COMPRESSED | FACET_WIDTH is 1 |
SMOOTH | The associated projective variety is smooth; the determinant of the edge directions is +/-1 at every vertex |
VERY_AMPLE | The Hilbert Basis of the cone spanned by the edge-directions of any vertex lies inside the polytope |
GRAPH.LATTICE_EDGE_LENGTHS | the lattice lengths of the edges of the graph |
Name | Description |
N_LATTICE_POINTS_IN_DILATION(n) | The number of lattice points in the n-th dilation of the polytope |
FACET_POINT_LATTICE_DISTANCES(Vector<int>) | The lattice distance of an integral vector from the facets of the polytope |
Name | Description |
ambient_lattice_normalization(Polytope) | transforms a LatticePolytope into a full dimensional polytope in the lattice given by the intersection of Zn and the affine hull |
vertex_lattice_normalization(Polytope) | transforms a LatticePolytope into a full dimensional polytope in the lattice spanned by the vertices of the polytope |
induced_lattice(Polytope) | returns a basis of the lattice spanned by the vertices of the polytope |
lattice_pyramid(Polytope) | returns a pyramid over the polytope where the apex sits at a lattice point at height one above the base |
lattice_bypyramid(Polytope) | returns a lattice bipyramid over the polytope with apices at height one above the base (this does not work for a simplex without interior lattice points) |
transportation_polytope(row_margin,column_margin) | returns the transportation polytope defined by the given row and column margins |
lattice_isomorphic_smooth_polytopes(Polytope,Polytope) | checks for two smooth polytopes whether they are lattice equivalent in the ambient lattice |
Name | Description |
HILBERT_BASIS | The Hilbert Basis of the cone C |
N_HILBERT_BASIS | Number of elements of the Hilbert Basis |
SMOOTH_CONE | true, if the primitive generators of the cone are a basis of Z^n |
Q_GORENSTEIN_CONE | true, if all primitive generators of the cone lie in an affine hyperplane spanned by a lattice functional in the dual cone (but not in the lineality space of the dual cone |
Q_GORENSTEIN_INDEX | the height of the primitive generators, if the cone is Q_GORENSTEIN |
GORENSTEIN | true, if Q_GORENSTEIN with index 1 |
HOMOGENEOUS | true if the primitive generators of the rays lie on a hyperplane |
Name | Description |
SMOOTH_FAN | true, if all cones are smooth |
Q_GORENSTEIN_CONE | true, if all maximal cones are Q_GORENSTEIN |
Q_GORENSTEIN_INDEX | the lcm of the indices of all maixmal cones |
GORENSTEIN | true, if Q_GORENSTEIN with index 1 |