Available versions of this document: latest release, release 4.13, release 4.12, release 4.11, release 4.10, release 4.9, release 4.8, release 4.7, release 4.6, release 4.5, release 4.4, release 4.3, release 4.2, release 4.1, release 4.0, release 3.6, release 3.5, nightly master
Reference documentation for older polymake versions: release 3.4, release 3.3, release 3.2
BigObject Cone<Scalar>
from application polytope
A polyhedral cone, not necessarily pointed. Note that in contrast to the vertices of a polytope, the RAYS
are given in affine coordinates.
- Type Parameters:
Scalar
: numeric data type used for the coordinates, must be an ordered field. Default isRational
.- Specializations:
Cone::ExactCoord
: An affine cone with an exact coordinate type, like Rational.Cone<Float>
: An affine cone with float coordinates realized in Rd.Cone<Rational>
: An affine rational cone realized in Rd.- Permutations:
Properties
Input property
These properties are for input only. They allow redundant information.
-
EQUATIONS
Equations that hold for all
INPUT_RAYS
of the cone. All vectors in this section must be non-zero. Input section only. Ask forLINEAR_SPAN
if you want to see an irredundant description of the linear span.- Type:
Matrix<Scalar,NonSymmetric>
-
INEQUALITIES
Inequalities giving rise to the cone; redundancies are allowed. All vectors in this section must be non-zero. Dual to
INPUT_RAYS
. Input section only. Ask forFACETS
if you want to compute an H-representation from a V-representation.- Type:
Matrix<Scalar,NonSymmetric>
-
INPUT_LINEALITY
(Non-homogenous) vectors whose linear span defines a subset of the lineality space of the cone; redundancies are allowed. All vectors in the input must be non-zero. Dual to
EQUATIONS
. Input section only. Ask forLINEALITY_SPACE
if you want to compute a V-representation from an H-representation.- Type:
Matrix<Scalar,NonSymmetric>
-
INPUT_RAYS
(Non-homogenous) vectors whose positive span form the cone; redundancies are allowed. Dual to
INEQUALITIES
. All vectors in the input must be non-zero. Input section only. Ask forRAYS
if you want to compute a V-representation from an H-representation.- Type:
Matrix<Scalar,NonSymmetric>
Combinatorics
These properties capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.
-
ALTSHULER_DET
Let M be the vertex-facet incidence matrix, then the Altshuler determinant is defined as max{det(M ∗ MT), det(MT ∗ M)}.
- Type:
- Example:
This prints the Altshuler determinant of the built-in pentagonal pyramid (Johnson solid 2):
> print johnson_solid("pentagonal_pyramid")->ALTSHULER_DET; 25
-
COCIRCUIT_EQUATIONS
A matrix whose rows contain the cocircuit equations of P. The columns correspond to the
MAX_INTERIOR_SIMPLICES
.- Type:
-
COMBINATORIAL_DIM
Combinatorial dimension This is the dimension all combinatorial properties of the cone like e.g.
RAYS_IN_FACETS
or theHASSE_DIAGRAM
refer to. Geometrically, the combinatorial dimension is the dimension of the intersection of the pointed part of the cone with a hyperplane that creates a bounded intersection.- Type:
-
DUAL_GRAPH
Facet-ridge graph. Dual to
GRAPH
.- Type:
-
ESSENTIALLY_GENERIC
All intermediate polytopes (with respect to the given insertion order) in the beneath-and-beyond algorithm are simplicial. We have the implications:
RAYS
in general position ⇒ ESSENTIALLY_GENERIC ⇒SIMPLICIAL
- Type:
-
EXCESS_FACET_DEGREE
Measures the deviation of the cone from being simple in terms of the
DUAL_GRAPH
.- Type:
-
EXCESS_RAY_DEGREE
Measures the deviation of the cone from being simple in terms of the
GRAPH
.- Type:
-
F2_VECTOR
The vector counting the number of incidences between pairs of faces. `fik` is the number of incident pairs of `(i+1)`-faces and `(k+1)`-faces. The main diagonal contains the
F_VECTOR
.- Type:
-
FACETS_THRU_RAYS
Transposed to
RAYS_IN_FACETS
. Notice that this is a temporary property; it will not be stored in any file.- Type:
-
FACET_SIZES
Number of incident rays for each facet.
- Type:
-
FLAG_VECTOR
Condensed form of the flag vector, containing all entries indexed by sparse sets in {0, …,
COMBINATORIAL_DIM
-1} in the following order: (1, f0, f1, f2, f02, f3, f03, f13, f4, f04, f14, f24, f024, f5, …). Use Dehn-Sommerville equations, via user functionN_FLAGS
, to extend.- Type:
-
FOLDABLE_COCIRCUIT_EQUATIONS
A matrix whose rows contain the foldable cocircuit equations of P. The columns correspond to 2 *
MAX_INTERIOR_SIMPLICES
. col 0 = 0, col 1 = first simplex (black copy), col 2 = first simplex (white copy), col 3 = second simplex (black copy), …- Type:
-
F_VECTOR
The vector counting the number of faces (`fk` is the number of `(k+1)`-faces).
- Type:
-
GRAPH
Vertex-edge graph obtained by intersecting the cone with a transversal hyperplane.
- Type:
-
HASSE_DIAGRAM
- Type:
- Methods of HASSE_DIAGRAM:
-
dim()
The dimension of the underlying object
- Returns:
-
nodes_of_dim(Int d)
The indices of nodes in the
HASSE_DIAGRAM
corresponding to faces of dimension d in the underlying object- Parameters:
Int
d
: dimension- Returns:
-
nodes_of_dim_range(Int d1, Int d2)
The indices of nodes in the
HASSE_DIAGRAM
corresponding to faces with dimension in the range (d1,d2) in the underlying object
-
-
INTERIOR_RIDGE_SIMPLICES
The (d-1)-dimensional simplices in the interior.
- Type:
-
MAX_BOUNDARY_SIMPLICES
The boundary (d-1)-dimensional simplices of a cone of combinatorial dimension d
- Type:
-
MAX_INTERIOR_SIMPLICES
The interior d-dimensional simplices of a cone of combinatorial dimension d
- Type:
-
N_EDGES
The number of edges of the
GRAPH
- Type:
-
N_FACETS
The number of
FACETS
.- Type:
-
N_RAYS
The number of
RAYS
- Type:
-
N_RAY_FACET_INC
Number of pairs of incident vertices and facets.
- Type:
-
N_RIDGES
The number of ridges (faces of codimension 2) equals the number of edges of the
DUAL_GRAPH
- Type:
-
RAYS_IN_FACETS
Ray-facet incidence matrix, with rows corresponding to facets and columns to rays. Rays and facets are numbered from 0 to
N_RAYS
-1 rsp.N_FACETS
-1, according to their order inRAYS
rsp.FACETS
.- Type:
-
RAYS_IN_RIDGES
Ray-ridge incidence matrix, with rows corresponding to ridges and columns to rays. Rays and ridges are numbered from 0 to
N_RAYS
-1 rsp.N_RIDGES
-1, according to their order inRAYS
rsp.RIDGES
.- Type:
-
RAY_SIZES
Number of incident facets for each ray.
- Type:
-
SELF_DUAL
True if the cone is self-dual.
- Type:
-
SIMPLE
True if the facets of the cone are simple. Dual to
SIMPLICIAL
.- Type:
-
SIMPLICIAL
True if the facets of the cone are simplicial.
- Type:
-
SIMPLICIAL_CONE
True if the cone is simplicial.
- Type:
Geometry
These properties capture geometric information of the object. Geometric properties depend on geometric information of the object, like, e.g., vertices or facets.
-
CONE_AMBIENT_DIM
The dimension of the space in which the cone lives.
- Type:
-
CONE_DIM
Dimension of the linear span of the cone = dimension of the cone. If the cone is given purely combinatorially, this is the dimension of a minimal embedding space deduced from the combinatorial structure.
- Type:
-
EPSILON
Threshold for zero test for scalar products (e.g. vertex * facet normal)
- Type:
-
FACETS
Facets of the cone, encoded as inequalities. All vectors in this section must be non-zero. Dual to
RAYS
. This section is empty if and only if the cone is trivial (e.g. if it encodes an empty polytope). Notice that a polytope which is a single point defines a one-dimensional cone, the face at infinity is a facet. The propertyFACETS
appears only in conjunction with the propertyLINEAR_SPAN
, orAFFINE_HULL
, respectively. The specification of the propertyFACETS
requires the specification ofLINEAR_SPAN
, orAFFINE_HULL
, respectively, and vice versa.- Type:
Matrix<Scalar,NonSymmetric>
-
FACETS_THRU_INPUT_RAYS
Transposed to
INPUT_RAYS_IN_FACETS
. Notice that this is a temporary property; it will not be stored in any file.- Type:
-
FULL_DIM
CONE_AMBIENT_DIM
andCONE_DIM
coincide. Notice that this makes sense also for the derived Polytope class.- Type:
-
INEQUALITIES_THRU_RAYS
transposed
RAYS_IN_INEQUALITIES
Notice that this is a temporary property; it will not be stored in any file.- Type:
-
INPUT_RAYS_IN_FACETS
Input ray-facet incidence matrix, with rows corresponding to facet and columns to input rays. Input_rays and facets are numbered from 0 to
N_INPUT_RAYS
-1 rsp.N_FACETS
-1, according to their order inINPUT_RAYS
rsp.FACETS
.- Type:
-
LINEALITY_DIM
Dimension of the
LINEALITY_SPACE
(>0 in the non-POINTED case)- Type:
-
LINEALITY_SPACE
Basis of the linear subspace orthogonal to all
INEQUALITIES
andEQUATIONS
All vectors in this section must be non-zero. The propertyLINEALITY_SPACE
appears only in conjunction with the propertyRAYS
, orVERTICES
, respectively. The specification of the propertyRAYS
orVERTICES
requires the specification ofLINEALITY_SPACE
, and vice versa.- Type:
Matrix<Scalar,NonSymmetric>
-
LINEAR_SPAN
Dual basis of the linear span of the cone. All vectors in this section must be non-zero. The property
LINEAR_SPAN
appears only in conjunction with the propertyFACETS
. The specification of the propertyFACETS
requires the specification ofLINEAR_SPAN
, orAFFINE_HULL
, respectively, and vice versa.- Type:
Matrix<Scalar,NonSymmetric>
-
N_EQUATIONS
The number of
EQUATIONS
.- Type:
-
N_INPUT_LINEALITY
The number of
INPUT_LINEALITY
.- Type:
-
N_INPUT_RAYS
The number of
INPUT_RAYS
.- Type:
-
ONE_RAY
A ray of a pointed cone.
- Type:
Vector<Scalar>
-
POINTED
True if the cone does not contain a non-trivial linear subspace.
- Type:
-
POSITIVE
True if all
RAYS
of the cone have non-negative coordinates, that is, if the pointed part of the cone lies entirely in the positive orthant.- Type:
-
RAYS
Rays of the cone. No redundancies are allowed. All vectors in this section must be non-zero. The property
RAYS
appears only in conjunction with the propertyLINEALITY_SPACE
. The specification of the propertyRAYS
requires the specification ofLINEALITY_SPACE
, and vice versa.- Type:
Matrix<Scalar,NonSymmetric>
-
RAYS_IN_INEQUALITIES
Ray-inequality incidence matrix, with rows corresponding to facets and columns to rays. Rays and inequalities are numbered from 0 to
N_RAYS
-1 rsp. number ofINEQUALITIES
-1, according to their order inRAYS
rsp.INEQUALITIES
.- Type:
-
RAY_SEPARATORS
The i-th row is the normal vector of a hyperplane separating the i-th vertex from the others. This property is a by-product of redundant point elimination algorithm.
- Type:
Matrix<Scalar,NonSymmetric>
-
REL_INT_POINT
A point in the relative interior of the cone.
- Type:
Vector<Scalar>
-
TRIVIAL
True if the only valid point in the cone is the unique non-sensical point (0,…,0)
- Type:
Lattice points in cones
These properties capture information that depends on the lattice structure of the cone. polymake always works with the integer lattice.
-
CONE_TORIC_IDEAL
The ideal whose vanishing set is the affine toric variety given by the cone. In other words the rows of its
BINOMIAL_GENERATORS
give the relations between the Hilbert basis elements.- Type:
- depends on extension:
-
DEGREE_ONE_GENERATORS
Elements of the
HILBERT_BASIS
for the cone of degree 1 with respect to theMONOID_GRADING
.- Type:
-
GORENSTEIN_CONE
A cone is Gorenstein if it is Q-Gorenstein with index one
- Type:
-
HILBERT_BASIS_GENERATORS
Generators for the
HILBERT_BASIS
of a posiibly non-pointed cone the first matrix is a Hilbert basis of a pointed part of the cone the second matrix is a lattice basis of the lineality space note: the pointed part used in this property need not be the same as the one described byRAYS
orINPUT_RAYS
it will be if the cone is pointed (the polytope is bounded)- Type:
- depends on extension:
-
HILBERT_SERIES
Hilbert series of the monoid, given by the intersection of the cone with the lattice Z^d with respect to the
MONOID_GRADING
- Type:
- depends on extension:
-
HOMOGENEOUS
True if the primitive generators of the rays lie on an affine hyperplane in the span of the rays.
- Type:
-
H_STAR_POLYNOMIAL
The Hilbert polynomial, the h^*-polynomial for lattice polytopes. The degree is at most on less then the h^*-vector.
- Type:
- depends on extension:
-
H_STAR_VECTOR
The coefficients of the Hilbert polynomial, the h^*-polynomial for lattice polytopes, with respect to the
MONOID_GRADING
, starting at the constant coefficient. For lattice polytopes the length of this vector isCONE_DIM
. In general the length is one less than the degree of the denominator of theHILBERT_SERIES
.- Type:
- depends on extension:
-
MONOID_GRADING
A grading for the monoid given by the intersection of the cone with the lattice Z^d, should be positive for all generators. If this property is not specified by the user there are two defaults: For rational polytopes the affine hyperplane defined by (1,0,\ldots,0) will be used. For
HOMOGENEOUS
cones the affine hyperplane containing the primitive generators will be used.- Type:
-
N_HILBERT_BASIS
The number of elements of the
HILBERT_BASIS
.- Type:
-
Q_GORENSTEIN_CONE
A cone is Q-Gorenstein 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).
- Type:
-
Q_GORENSTEIN_CONE_INDEX
If a cone is Q-Gorenstein, then its index is the common lattice height of the primitive generators with respect to the origin. Otherwise Q_GORENSTEIN_CONE_INDEX is undefined.
- Type:
-
SMOOTH_CONE
A cone is smooth if the primitive generators are part of a lattice basis.
- Type:
Symmetry
These properties capture information of the object that is concerned with the action of permutation groups.
-
GROUP
- Type:
- Methods of GROUP:
-
REPRESENTATIVE_INEQUALITIES()
explicit representatives of equivalence classes of INEQUALITIES under a group action
- Returns:
-
REPRESENTATIVE_INPUT_RAYS()
explicit representatives of equivalence classes of
INPUT_RAYS
under a group action- Returns:
-
- Properties of GROUP:
-
BITSET_ACTION
- Type:
-
MATRIX_ACTION
- Type:
MatrixActionOnVectors<Scalar>
- Properties of MATRIX_ACTION:
-
RAYS_ORBITS
Alias for property
VECTORS_ORBITS
.- Type:
-
-
REPRESENTATIVE_BOUNDARY_RIDGE_SIMPLICES
One representative for each orbit of boundary ridge simplices
- Type:
-
REPRESENTATIVE_FACETS
- Type:
Matrix<Scalar,NonSymmetric>
-
REPRESENTATIVE_INTERIOR_RIDGE_SIMPLICES
One representative for each orbit of interior ridge simplices
- Type:
-
REPRESENTATIVE_MAX_BOUNDARY_SIMPLICES
One representative for each orbit of maximal-dimensional boundary simplices
- Type:
-
REPRESENTATIVE_MAX_INTERIOR_SIMPLICES
One representative for each orbit of maximal-dimensional interior simplices
- Type:
-
REPRESENTATIVE_RAYS
- Type:
Matrix<Scalar,NonSymmetric>
-
Triangulation and volume
These properties collect information about triangulations of the object and properties usually computed from such, as the volume.
-
TRIANGULATION
- Type:
GeometricSimplicialComplex<Scalar>
- Properties of TRIANGULATION:
-
BOUNDARY
- derived from:
- Type:
- Properties of BOUNDARY:
-
FACET_TRIANGULATIONS
For each facet the set of simplex indices of
BOUNDARY
that triangulate it.- Type:
-
-
REFINED_SPLITS
The splits that are coarsenings of the current
TRIANGULATION
. If the triangulation is regular these form the unique split decomposition of the corresponding weight function.- Type:
-
REGULAR
Checks regularity of
TRIANGULATION
.- Type:
-
WEIGHTS
Weight vector to construct a regular
TRIANGULATION
. Must be generic.- Type:
Vector<Scalar>
-
-
TRIANGULATION_INT
Conceptually, similar to
TRIANGULATION
, but usingINPUT_RAYS
. However, here we use a small object type. The main reason for the existence of this property (in this form) is the beneath_beyond algorithm, which automatically produces this data as a by-product of the conversion fromINPUT_RAYS
toFACETS
. And that data is too valuable to throw away. Use big objects of typeVectorConfiguration
if you want to work with triangulations using redundant points.- Type:
Visualization
These properties are for visualization.
-
COORDINATE_LABELS
Unique names assigned to the coordinate directions, analogous to
RAY_LABELS
. For Polytopes this should contain “inhomog_var” for the homogenization coordinate and this will be added automatically if necessary andCONE_AMBIENT_DIM
can be computed.- Type:
-
FACET_LABELS
Unique names assigned to the
FACETS
, analogous toRAY_LABELS
.- Type:
-
FTR_CYCLIC_NORMAL
Reordered transposed
RAYS_IN_FACETS
. Dual toRIF_CYCLIC_NORMAL
.- Type:
-
INEQUALITY_LABELS
Unique names assigned to the
INEQUALITIES
, analogous toRAY_LABELS
.- Type:
-
INPUT_RAY_LABELS
Unique names assigned to the
INPUT_RAYS
, analogous toRAY_LABELS
.- Type:
-
LABELED_FACETS
Print
RAYS_IN_FACETS
usingRAY_LABELS
- Type:
-
NEIGHBOR_FACETS_CYCLIC_NORMAL
Reordered
DUAL_GRAPH
for 3d-cones. The neighbor facets are listed in the order corresponding toRIF_CYCLIC_NORMAL
, so that the first two vertices in RIF_CYCLIC_NORMAL make up the ridge to the first neighbor facet and so on.- Type:
-
NEIGHBOR_RAYS_CYCLIC_NORMAL
Reordered
GRAPH
. Dual toNEIGHBOR_FACETS_CYCLIC_NORMAL
.- Type:
-
RAY_LABELS
Unique names assigned to the
RAYS
. If specified, they are shown by visualization tools instead of ray indices. For a cone built from scratch, you should create this property by yourself, either manually in a text editor, or with a client program. If you build a cone with a construction client taking some other input cone(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.- Type:
-
RIF_CYCLIC_NORMAL
Reordered
RAYS_IN_FACETS
for 2d and 3d-cones. Rays are listed in the order of their appearance when traversing the facet border counterclockwise seen from outside of the origin.- Type:
Methods
Backward compatibility
These methods are provided for backward compatibility with older versions of polymake only. They should not be used in new code.
-
DIAMETER()
The diameter of the
GRAPH
of the cone- Returns:
-
DUAL_DIAMETER()
The diameter of the
DUAL_GRAPH
- Returns:
-
DUAL_TRIANGLE_FREE()
True if the
DUAL_GRAPH
contains no triangle- Returns:
-
TRIANGLE_FREE()
True if the
GRAPH
contains no triangle- Returns:
Combinatorics
These methods capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.
-
CONNECTIVITY()
Connectivity of the
GRAPH
this is the minimum number of nodes that have to be removed from theGRAPH
to make it disconnected- Returns:
-
DUAL_CONNECTIVITY()
Connectivity of the
DUAL_GRAPH
this is the minimum number of nodes that have to be removed from theDUAL_GRAPH
to make it disconnected- Returns:
-
DUAL_EVEN()
True if the
DUAL_GRAPH
is bipartite- Returns:
-
EVEN()
True if the
GRAPH
is bipartite- Returns:
-
FACET_DEGREES()
Facet degrees of the polytope. The degree of a facet is the number of adjacent facets.
- Returns:
-
N_FLAGS(Int type …)
Determine the number of flags of a given type. type must belong to {0,…,
COMBINATORIAL_DIM
-1}. Example: “N_FLAGS(0,3,4)” determines the entry f034 of the flag vector.- Parameters:
Int
type …
: flag type- Returns:
-
VERTEX_DEGREES()
Ray degrees of the cone
- Returns:
Geometry
These methods capture geometric information of the object. Geometric properties depend on geometric information of the object, like, e.g., vertices or facets.
-
AMBIENT_DIM()
returns the dimension of the ambient space of the cone
- Returns:
-
DIM()
returns the geometric dimension of the cone (including the lineality space) for the dimension of the pointed part ask for
COMBINATORIAL_DIM
- Returns:
-
contains(Cone<Scalar> C_in)
checks whether a given cone is containeed in another
- Parameters:
Cone<Scalar>
C_in
- Returns:
-
contains(Vector<Scalar> v)
checks whether a given point is contained in a cone
- Parameters:
Vector<Scalar>
v
: point- Returns:
-
contains_in_interior(Vector<Scalar> v)
checks whether a given point is contained in the strict interior of a cone
- Parameters:
Vector<Scalar>
v
: point- Returns:
Lattice points in cones
These methods capture information that depends on the lattice structure of the cone. polymake always works with the integer lattice.
-
HILBERT_BASIS()
for a cone this method returns a Hilbert basis of the cone for a polytope this method returns a Hilbert basis of the homogenization cone of the polytope note: if the cone is not pointed (the polytope is not bounded) then the returned basis is not unique and usually not minimal
- Returns:
Topology
The following methods compute topological invariants.
-
DUAL_GRAPH_SIGNATURE()
Difference of the black and white nodes if the
DUAL_GRAPH
isBIPARTITE
. Otherwise -1.- Returns:
-
GRAPH_SIGNATURE()
- Returns:
Visualization
These methods are for visualization.
-
VISUAL()
Visualizes the cone, intersected with the unit ball.
- Options:
- option list
Visual::Polygons::decorations
- option list
geometric_options_linear
- Returns:
-
VISUAL_DUAL_FACE_LATTICE()
Visualize the dual face lattice of a cone as a multi-layer graph.
- Options:
Int
seed
: random seed value for the node placement- option list
Visual::Lattice::decorations
- Returns:
-
VISUAL_FACE_LATTICE()
Visualize the
HASSE_DIAGRAM
of a cone as a multi-layer graph.- Options:
Int
seed
: random seed value for the node placement- option list
Visual::Lattice::decorations
- Returns: