Basic properties

POINTS : matrix
Points such that the polyhedron is their convex hull. Redundancies are allowed. Vector (x0 x1 .. xd) represents a point in (d+1)-space (homogeneous coordinates.) Affine points are identified by x0 > 0. Points with x0 = 0 can be interpreted as rays.
polymake automatically normalizes each coordinate vector, dividing them by the first non-zero element. The clients and rule subroutines can always assume that x0 is either 0 or 1. Dual to INEQUALITIES.
Input section only. Ask for VERTICES if you want to compute a V-representation from an H-representation.
VERTICES : matrix
Vertices of the polyhedron. No redundancies are allowed. The coordinates are normalized the same way as POINTS. Dual to FACETS.
INEQUALITIES : matrix
Inequalities that describe half-spaces such that the polyhedron is their intersection. Redundancies are allowed. Dual to POINTS.
A vector (A0 A1 .. Ad) defines the (closed affine) half-space of points (1,x1,..,xd) such that A0 + A1 x1 + .. + Ad xd >= 0.
Input section only. Ask for FACETS and AFFINE_HULL if you want to compute an H-representation from a V-representation.
FACETS : matrix
Facets of the polyhedron, encoded as INEQUALITIES. Dual to VERTICES.
EQUATIONS : matrix
Equations that hold for all points of the polyhedron.
A vector (A0 A1 .. Ad) describes the hyperplane of all points (1,x1,..,xd) such that A0 + A1 x1 + .. + Ad xd = 0.
Input section only. Ask for AFFINE_HULL if you want to see an irredundant description of the affine span.
AFFINE_HULL : matrix
Dual basis of the affine hull of the polyhedron.
VERTEX_NORMALS : matrix
The i-th row is the normal vector of a hyperplane separating the i-th vertex from the rest ones. This property is a by-product of redundant point elimination algorithm.
VALID_POINT : vector
Some point belonging to the polyhedron.
DIM : cardinal
Dimension of the affine hull of the polyhedron = dimension of the polyhedron. If the polytope is given purely combinatorically, it's the dimension of a minimal embedding space deduced from the combinatorial structure.
AMBIENT_DIM : cardinal
Dimension of the space where the polyhedron lives in.
FEASIBLE : boolean
True if the polyhedron is not empty.
POINTED : boolean
True if the polyhedron does not contain an affine line.
FAR_FACE : set
Indices of vertices that are rays.
UNBOUNDED_FACETS : set
Indices of facets that are unbounded.
BOUNDED : boolean
True if the polyhedron is a bounded polytope.
BOUNDED_GRAPH : graph
Graph of the bounded subcomplex.
CENTERED : boolean
True if (1,0,0,..) is a relative interior point. Polar to BOUNDED.
POSITIVE : boolean
True if all vertices of the polyhedron have non-negative coordinates, that is, it lies entirely in the positive orthant.
N_POINTS : cardinal
Number of points.
VERTEX_BARYCENTER : vector
The center of gravity of the vertices of a bounded polytope.
ZONOTOPE_INPUT_VECTORS : matrix
Contains the vector configuration for which a zonotope can be built.
REVERSE_TRANSFORMATION : matrix
Some invertible linear transformation that can be used to get back a previous coordinate repersentation of the polytope. It operates from the right on point row vectors (e.g. in properties like POINTS, VERTICES, REL_INT_POINT); its inverse operates from the left on hyperplane column vectors.
VERTEX_LABELS : array<label>
Unique names assigned to the VERTICES. If specified, they are shown by visualization tools instead of vertex indices.
For a polytope build from scratch, you should create this property by yourself, either manually in a text editor, or with a client program. If you build a polytope with a construction client taking some other input polytope(s), you can create the labels automatically if you call the client with a -relabel option. The exact format of the labels is dependent on the construction, and is described by the corresponding client.
FACET_LABELS : array<label>
Unique names assigned to the FACETS, analogous to VERTEX_LABELS.
GALE_TRANSFORM : matrix
Coordinates of the Gale transform.
STEINER_POINTS : matrix
A weighted inner point depending on the outer angle called Steiner point for all faces of dimensions 2 to d.

Combinatorics

N_VERTICES : cardinal
Number of vertices.
N_BOUNDED_VERTICES : cardinal
Number of bounded vertices (non-rays).
N_FACETS : cardinal
Number of facets.
N_VERTEX_FACET_INC : cardinal
Number of pairs of incident vertices and facets.
VERTICES_IN_FACETS : incidence_matrix
Vertex-facet incidence matrix, with rows corresponding to facets and columns to vertices. Vertices and facets are numbered from 0 to N_VERTICES-1 rsp. N_FACETS-1, according to their order in VERTICES rsp. FACETS.
FACETS_THRU_VERTICES : incidence_matrix
transposed VERTICES_IN_FACETS
HASSE_DIAGRAM : face_lattice
The face lattice of the polytope organized as a directed graph. Each node corresponds to some proper face of the polytope. The nodes corresponding to the vertices and facets appear in the same order as the elements of VERTICES and FACETS properties.
Two special nodes represent the whole polytope and the empty face.
VERTEX_SIZES : array<cardinal>
Number of incident facets for each vertex.
FACET_SIZES : array<cardinal>
Number of incident vertices for each facet.
GRAPH : graph
Vertex-edge graph.
DUAL_GRAPH : graph
Facet-ridge graph. Dual to GRAPH.
N_EDGES : cardinal
Number of edges.
N_RIDGES : cardinal
Number of ridges.
VERTEX_DEGREES : array<cardinal>
Degrees of vertices in the GRAPH.
FACET_DEGREES : array<cardinal>
Degrees of facets in the DUAL_GRAPH.
DIAMETER : cardinal
Graph theoretical diameter of GRAPH.
DUAL_DIAMETER : cardinal
Graph theoretical diameter of DUAL_GRAPH.
TRIANGLE_FREE : boolean
True if GRAPH does not contain a triangle.
DUAL_TRIANGLE_FREE : boolean
True if DUAL_GRAPH does not contain a triangle.
ALTSHULER_DET : cardinal
Let M be the vertex-facet incidence matrix, then the Altshulter determinant is defined as max{det(MMT), det(MTM)}.
F_VECTOR : vector<cardinal>
fk is the number of k-faces.
F2_VECTOR : matrix<cardinal>
fik is the number of incident pairs of i-faces and k-faces; the main diagonal contains the F_VECTOR.
FLAG_VECTOR : vector<cardinal>
Condensed form of the flag vector. Use Dehn-Sommerville equations, via user function N_FLAGS, to extend.
CD_INDEX_COEFFICIENTS : vector<cardinal>
Coefficients of the cd-index.
H_VECTOR : vector<cardinal>
Simplicial h-vector. Defined for simplicial polytopes and also for their duals.
CUBICAL_H_VECTOR : vector<cardinal>
undocumented
ESSENTIALLY_GENERIC : boolean
All intermediate polytopes (with respect to the given insertion order) in the beneath-and-beyond algorithm are simplicial. We have the implications: VERTICES in general position => ESSENTIALLY_GENERIC => SIMPLICIAL
SIMPLICIAL : boolean
True if the polytope is simplicial.
SIMPLE : boolean
True if the polytope is simple. Dual to SIMPLICIAL.
EVEN : boolean
True if the GRAPH of the polytope is bipartite.
DUAL_EVEN : boolean
True if the DUAL_GRAPH of the polytope is bipartite. Dual to EVEN.
CONNECTIVITY : cardinal
Node connectivity of the GRAPH of the polytope, that is, the minimal number of nodes to be removed from the graph such that the result is disconnected.
DUAL_CONNECTIVITY : cardinal
Node connectivity of the DUAL_GRAPH of the polytope. Dual to CONNECTIVITY.
SIMPLICIALITY : cardinal
Maximal dimension in which all faces are simplices.
SIMPLICITY : cardinal
Maximal dimension in which all dual faces are simplices.
FACE_SIMPLICITY : cardinal
Maximal dimension in which all faces are simple polytopes.
CUBICAL : boolean
True if all facets are cubes.
CUBICALITY : cardinal
Maximal dimension in which all facets are cubes.
COCUBICAL : boolean
Dual to CUBICAL.
COCUBICALITY : cardinal
Dual to CUBICALITY.
NEIGHBORLY : boolean
True if the polytope is neighborly.
NEIGHBORLINESS : cardinal
Maximal dimension in which all facets are neighborly.
BALANCED : boolean
Dual to NEIGHBORLY.
BALANCE : cardinal
Maximal dimension in which all facets are balanced.
FATNESS : scalar
Parameter describing the shape of the face-lattice of a 4-polytope.
COMPLEXITY : scalar
Parameter describing the shape of the face-lattice of a 4-polytope.

Convex hull computation

POINTS_IN_FACETS : incidence_matrix
Similar to VERTICES_IN_FACETS, but with columns corresponding to POINTS instead of VERTICES. This property is a byproduct of convex hull computation algorithms. It is discarded as soon as VERTICES_IN_FACETS is computed.
VERTICES_IN_INEQUALITIES : incidence_matrix
Similar to VERTICES_IN_FACETS, but with rows corresponding to INEQUALITIES instead of FACETS. This property is a byproduct of convex hull computation algorithms. It is discarded as soon as VERTICES_IN_FACETS is computed.

Triangulation and volume

Everything in this group is defined for BOUNDED polytopes only.

VOLUME : scalar
Volume of the polytope.
TRIANGULATION : array<set>
Some triangulation of the polytope using only its vertices. Each line contains indices from VERTICES comprising a simplex.
TRIANGULATION_INT : array<set>
Similar to TRIANGULATION, but using POINTS.
TRIANGULATION_BOUNDARY : array<powerset>
Intersection of TRIANGULATION with polytope boundary. Each line describes the triangulation of the corresponding facet as a list of simplices.
TRIANGULATION_SIGNS : vector<integer>
For each simplex in TRIANGULATION, contains the sign of determinant of its coordinate matrix, telling about its orientation.
TRIANGULATION_INT_SIGNS : vector<integer>
Similar to TRIANGULATION_SIGNS, but relates to TRIANGULATION_INT.

Visualization

VIF_CYCLIC_NORMAL : array< list<cardinal> >
Reordered VERTICES_IN_FACETS for 2-d and 3-d polytopes. Vertices are listed in the order of their appearance when traversing the facet border counterclockwise seen from outside of the polytope.
For a 2-d polytope (which is a closed polygon), lists all vertices in the border traversing order.
NEIGHBOR_FACETS_CYCLIC_NORMAL : array< list<cardinal> >
Reordered DUAL_GRAPH for 3-d polytopes. The neighbor facets are listed in the order corresponding to VIF_CYCLIC_NORMAL, so that the first two vertices in VIF_CYCLIC_NORMAL make up the ridge to the first neighbor facet and so on.
FTV_CYCLIC_NORMAL : array< list<cardinal> >
Reordered transposed VERTICES_IN_FACETS. Dual to VIF_CYCLIC_NORMAL.
NEIGHBOR_VERTICES_CYCLIC_NORMAL : array< list<cardinal> >
Reordered GRAPH. Dual to NEIGHBOR_FACETS_CYCLIC_NORMAL.
SCHLEGEL_PARAMS : text
Set of stored parameters to create a Schlegel diagram. This is a temporary solution until the hierarchical objects are fully implemented.
GALE_VERTICES : matrix
Coordinates of points for an affine Gale diagram.

Polarization

REL_INT_POINT : vector
Relatively interior point of the polyhedron.
FAR_HYPERPLANE : vector
Valid strict inequality for all affine points of the polyhedron.

Optimization

LINEAR_OBJECTIVE : vector
Linear objective function.
ABSTRACT_OBJECTIVE : vector
Abstract objective function. The i-th element is the value of the objective function at vertex number i. Only defined for bounded polytopes.
MAXIMAL_FACE : set
Indices of vertices at which the maximum of the objective function is attained.
MINIMAL_FACE : set
Similar to MAXIMAL_FACE.
MAXIMAL_VERTEX : vector
Coordinates of a (possible not unique) vertex at which the maximum of the objective function is attained.
MINIMAL_VERTEX : vector
Similar to MAXIMAL_VERTEX.
MAXIMAL_VALUE : scalar
Maximum value of the objective function. Negated if linear problem is unbounded.
MINIMAL_VALUE : scalar
Similar to MAXIMAL_VALUE.
DIRECTED_GRAPH : graph
Subgraph of GRAPH. Consists only of directed arcs along which the value of the objective function increases.
VERTEX_OUT_DEGREES : array<cardinal>
Number of outgoing arcs for each vertex in DIRECTED_GRAPH.
VERTEX_IN_DEGREES : array<cardinal>
Number of incoming arcs for each vertex in DIRECTED_GRAPH.
VERTEX_COLORS : array<RGB>
Approximate color encoding of objective function values. For each vertex, the color is chosen by linear interpolation in HSV system between fixed "maximal" and "minimal" colors, with the same ratio as the objective function value has in relation to the global maximum and mininum on the entire polytope.
RANDOM_EDGE_EPL : vector
Expected average path length for a simplex algorithm employing "random edge" pivoting strategy.
VARIABLE_NAMES : array<label>
You can give a list of variable names here (this amounts to naming the columns of the coordinate vectors for VERTICES). This is of not much use for polymake. But this information will be used by programs which convert polymake format to other formats (such as LP).

Voronoi diagrams

SITES : matrix
Coordinates of the sites in case the polyhedron is Voronoi. Sites must be distinct.
N_SITES : cardinal
Number of SITES.
SITE_LABELS : array<label>
Unique names assigned to the SITES. Works like VERTEX_LABELS.
BOUNDING_BOX : matrix
Since a Voronoi polyhedron is unbounded it must be artificially bounded for visualization purposes. Allowed is any set of hyperplanes which makes the projection onto the last d-1 coordinates bounded. By default, these are the vertical facets of a suitably scaled cube. Can also be used for other unbounded polyhedra not related to Voronoi diagrams.
VORONOI_VERTICES : matrix
Vertices of the Voronoi diagram of the SITES.
VORONOI_GRAPH : graph
Graph of the Voronoi diagram of the SITES. The coordinates (homogeneous, before projection) are stored as node attributes. The graph is truncated according to the BOUNDING_BOX. All vertices of the Voronoi diagram are visible (and represented in the VORONOI_GRAPH) for the default BOUNDING_BOX.
DELAUNAY_GRAPH : graph
Graph of the Delaunay decomposition Del(SITES).
ITERATED_DELAUNAY_GRAPH : graph
Graph of the Del(SITES + Vor(SITES).
CRUST_GRAPH : graph
Graph of the crust.
ITERATED_VORONOI_GRAPH : graph
Graph of the joint Voronoi diagram of the SITES and the vertices of Vor(SITES). The coordinates (homogeneous, before projection) are stored as node attributes. The graph is truncated according to the BOUNDING_BOX. For the default BOUNDING_BOX it may happen that some of the iterated Voronoi vertices are truncated. Use the client voronoi to produce proper iterated Voronoi diagrams.

Oriented matroids

CHIROTOPE : chirotope
Chirotope corresponding to VERTICES
CHIROTOPE_INT : chirotope
Chirotope corresponding to POINTS.