Table of Contents

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.

Properties for LatticePolytope

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

User Methods for LatticePolytope

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

User Functions for LatticePolytope

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

Properties for Cone<Rational>

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

Properties for PolyhedralFan<Rational>

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