from application tropical
A tropical polytope is the tropical convex hull of finitely many points or the finite intersection of tropical halfspaces in a tropical projective space. Many combinatorial properties depend on POINTS
. Note: VERTICES
are used for POINTS
if the tropical polytope is initialized by INEQUALITIES.
Scalar
: Rational by default. The underlying type of ordered group.
Constructing a tropical polygon from a fixed list of generators.
> $P = new Polytope<Min>(POINTS=>[[0,1,0],[0,4,1],[0,3,3],[0,0,2]]);
Constructing the same tropical polygon from tropical linear inequalities.
> $A1 = new Matrix<TropicalNumber<Min>>([[0,-2,"inf"],["inf",-4,"inf"],["inf",-3,-1],["inf","inf",-3],[0,"inf","inf"]]); > $A2 = new Matrix<TropicalNumber<Min>>([["inf","inf",-1],[0,"inf",-1],[0,"inf","inf"],[0,-1,"inf"],["inf",0,0]]); > $Q = new Polytope<Min>(INEQUALITIES=>[$A1,$A2]); > print $Q->VERTICES; 0 0 2 0 1 0 0 3 3 0 4 1
These properties are for input only. They allow redundant information.
INEQUALITIES
Inequalities giving rise to the polytope; redundancies are allowed. They must be encoded as a pair of matrices. The pair (A,B) encodes the inequality Ax ~ Bx, where ~ is ⇐ for min and >= for max. All vectors in this section must be non-zero. Dual to POINTS
. Input section only.
Pair<Matrix<TropicalNumber<Addition,Scalar>,NonSymmetric>,Matrix<TropicalNumber<Addition,Scalar>,NonSymmetric>>
These properties capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.
MAXIMAL_COVECTORS
The covectors of the maximal cells of the torus subdivision. Entries correspond to rows of MAXIMAL_COVECTOR_CELLS
.
MAXIMAL_COVECTOR_CELLS
These are the maximal cells of the covector decomposition of the tropical torus with respect to POINTS
. Each row corresponds to a maximal cell, each column to an element of PSEUDOVERTICES
.
POLYTOPE_COVECTOR_DECOMPOSITION
This is a sublattice of TORUS_COVECTOR_DECOMPOSITION
, containing only the cells that belong to the tropical span of POINTS
.
POLYTOPE_MAXIMAL_COVECTORS
The covectors of the maximal cells of the polytope subdivision. Entries correspond to rows of POLYTOPE_MAXIMAL_COVECTOR_CELLS
.
POLYTOPE_MAXIMAL_COVECTOR_CELLS
This is a description of the tropical polytope as a polyhedral complex. Each row is a maximal cell of the covector subdivision of the tropical polytope. Indices refer to PSEUDOVERTICES
.
PSEUDOVERTEX_COARSE_COVECTORS
Coarse types of PSEUDOVERTICES
relative to POINTS
. Each row corresponds to a row of PSEUDOVERTICES
and encodes at position i, how many POINTS
contain that pseudovertex in the i-th sector.
PSEUDOVERTEX_COVECTORS
Types of PSEUDOVERTICES
relative to POINTS
. Each type is encoded as an Incidence matrix, where rows correspond to coordinates and columns to POINTS
. If the i-th row is a set S, that means that this pseudovertex is in the i-th sector of all points indexed by S. For bounded vertices, the type is computed as usual. For unbounded rays (i.e. starting with a 0), the type is computed as follows. Let g be a generator, with infinite entries at positions J and let the ray be e_J = sum_{j in J} +- e_j (the sign being the orientation of the addition). If J is contained in K, the ray is “contained” in all sectors of g. Otherwise, the ray is “contained” in the sectors indexed by g. NOTE: The latter is an artificial definition in the sense that it is not compatible with intersecting faces of the covector lattice. However, it is correct in the sense that faces spanned by a list of pseudovertices have as covector the intersection of the respective covectors.
TORUS_COVECTOR_DECOMPOSITION
This is the face lattice of the polyhedral complex, whose vertices are PSEUDOVERTICES
and whose cells are the cells of the covector decomposition. For each face in this lattice, we save the following information: 1) What PSEUDOVERTICES make up this face, i.e. a Set<Int> 2) What is the covector of this face, i.e. an IncidenceMatrix (whose rows correspond to coordinates and whose columns to POINTS
). NOTE: This lattice does not contain any far faces of the polyhedral cells, as they do not have well-defined covectors.
These properties capture geometric information of the object. Geometric properties depend on geometric information of the object, like, e.g., vertices or facets.
DOME
This is the dome of the tropical hyperplane arrangement defined by the POINTS
. I.e. we take as function the (tropical) product of the tropical linear polynomials defined in the following manner: For each point (p_0,…,p_d) we get the linear polynomial sum_{i=1}^d (1/p_i) * x_i, where sum is the DUAL tropical addition and * and / is regular addition and subtraction, respectively.
Polytope<Scalar>
ENVELOPE
Tropical polytopes have a natural description as the complex of certain faces of their envelopes. This envelope depends on the choice of the POINTS
that generate the tropical polytope.
Polytope<Scalar>
FAR_PSEUDOVERTICES
Subset of the PSEUDOVERTICES
which are not contained in the tropical projective torus.
FEASIBLE
True if the polyhedron is not empty.
POINTS
Input points in tropical homogeneous coordinates. This is the fixed system of generators with respect to which many combinatorial properties are expressed.
Matrix<TropicalNumber<Addition,Scalar>,NonSymmetric>
PROJECTIVE_AMBIENT_DIM
Dimension of the tropical projective space which contains the tropical polytope.
PSEUDOVERTICES
Pseudovertices are the vertices of the type decomposition of the tropical torus induced by POINTS
. They are projections of the vertices of ENVELOPE
. Note that each pseudovertex is given in tropical homogeneous coordinates with a leading 1 or 0, depending on whether it is a vertex or a ray.
Matrix<Scalar,NonSymmetric>
VALID_POINT
Some point belonging to the polyhedron.
Vector<TropicalNumber<Addition,Scalar>>
VERTICES
Vertices of the tropical convex hull, a submatrix of POINTS
Matrix<TropicalNumber<Addition,Scalar>,NonSymmetric>
VERTICES_IN_POINTS
These methods capture geometric information of the object. Geometric properties depend on geometric information of the object, like, e.g., vertices or facets.
polytope_subdivision_as_complex(Int chart)
This returns the subdivision of the polytope induced by POINTS
as a polyhedral complex on a chosen affine chart.
Int
chart
: Which coordinate to normalize to 0. This is 0 by default.
torus_subdivision_as_complex(Int chart)
This returns the subdivision of the tropical torus induced by POINTS
as a polyhedral complex on a chosen affine chart
Int
chart
: Which coordinate to normalize to 0. This is 0 by default.
These methods are for visualization.
VISUAL()
Visualize the subdivision of the polytope induced by POINTS
.
VISUAL_HYPERPLANE_ARRANGEMENT()
Visualize the arrangement of hyperplanes with apices in the POINTS
of the tropical polytope.
Visual::Polygons::decorations
VISUAL_SUBDIVISION()
Visualize the subdivision of the torus induced by POINTS
.