| Polymake 1.3 File FormatA polytope in the polymake system is represented by a printable ASCII file.
Each of its properties is represented by a sequence of non-empty lines, called a
section. The first line of a section is called its title. Lines starting with #are treated as comments. They can be
arbitrarily intermixed with the data lines. However, procession by polymake
moves all comment lines above the title of the respective section. The title of a section contains its name optionally followed by the attribute
list enclosed in parentheses. Several attributes in the list are separated by +.
Both the name and the attributes are built only of alphanumeric characters
(letters, digits, underscore). By convention, data section names are written in
upper case. As already mentioned, a section is defined merely as a collection of lines of
ASCII characters, so that it's generally possible to introduce arbitrary
sections with arbitrary contents. However, the programs comprising the polymake
package need to be able to parse the data in some reasonable way, so the
standard sections are expected to obey stricter syntactic rules. While most sections contain data of a fixed type, there are certain sections
which may contain data of various types. In order to distinguish between these
types the following attributes are used: 
  
    | empty | arbitrary precision rational data, homogeneous coordinate
      model 
    | float | floating point data |  
    | dehomogenized | affine coordinate model |  
    | true,false | indicates a boolean type |  
    | labeled | A graph having additional data on the edges. Edge label
      follows the number of the adjacent node. |  |  Section typesThe notion of a section type is introduced here for the ease of description.
Polymake does not really support types. It can check the contents of the
sections line by line using regular expressions, but does not take care beyond
the assertion of syntactical integrity. 
  
    | boolean | Section with empty contents. It always has an attribute,
      either trueorfalse. |  
    | cardinal | Section contains a single line with one non-negative
      integer number. It does not have any attributes. |  
    | number | Section contains a single line with one rational or
      floating-point number. The exact type is specified by the attribute:
      either empty or float. |  
    | vector | Section contains a single line with a sequence of rational
      or floating-point numbers. The exact type is specified by the attribute:
      either empty or float. |  
    | matrix | Section contains at least one line vector. All vectors have
      the same length. The exact type is specified by the attribute: either
      empty or float. |  
    | list | Section contains a strictly increasing list of cardinals.
      The entire line is enclosed in braces. |  
    | list array | Section contains at least one list. The length of the lists
      may vary from row to row. |  
    | name list | Section contains alphanumeric words, one identifier per
      line. |  Some of the sections described below are marked by `*'.
This means that there are no rules which produce them. Typically, these sections
are provided by the user or generated by clients. Basic sections
  
    | Section name | Type | Description |  
    | POINTS* | matrix | Points such that the polytope is their convex hull.
      Redundancies are allowed (i.e. double or interior points). Syntax: a line
      "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. |  
    | VERTICES | matrix | Vertices of the polyhedron. No redundancies allowed. Syntax
      as for POINTS. |  
    | INEQUALITIES* | matrix | Inequalities that describe half-spaces such that the
      polyhedron is their intersection. Redundancies are allowed. Dual to POINTS.
      Syntax: a line "A0 A1 .. Ad" defines the (closed affine)
      half-space of points (1,x1,..,xd) such that A0 + A1*x1 + .. + Ad*xd >=
      0. |  
    | FACETS | matrix | Facets of the polyhedron. Dual to VERTICES.
      Syntax as forINEQUALITIES. |  
    | EQUATIONS* | matrix | Equations that hold for all points of the polyhedron.
      Syntax: a line "A0 A1 .. Ad" describes the hyperplane of all
      points (1,x1,..,xd) such that A0 + A1*x1 + .. + Ad*xd == 0. |  
    | AFFINE_HULL | matrix or empty | Dual basis of the affine hull of the polyhedron. Syntax as of EQUATIONS. |  
    | AMBIENT_DIM | cardinal | Dimension of the space where the polyhedron lives in. |  
    | IN_EQ_DIM | cardinal | Dimension of the span of INEQUALITIESandEQUATIONS. |  
    | DIM | cardinal | Dimension of the affine hull of the polyhedron = dimension
      of the polyhedron. |  
    | BOUNDED | boolean | Attribute: trueif the polyhedron is a bounded
      polytope,falseotherwise. |  
    | CENTERED | boolean | Attribute: trueif (1,0,0,..) is a relative
      interior point,falseotherwise. This is dual toBOUNDED. |  
    | POSITIVE | boolean | Attribute: trueif all vertices of the
      polyhedron have non-negative coordinates, that is, it lies entirely in the
      positive orthant. |  Combinatorics
  
    | N_VERTICES | cardinal | Number of vertices. |  
    | N_EDGES | cardinal | Number of edges. |  
    | N_RIDGES | cardinal | Number of ridges. |  
    | N_FACETS | cardinal | Number of facets. |  
    | F_VECTOR | list | fk is the number of k-faces. |  
    | H_VECTOR | list | Simplicial h-vector. Defined for simplicial
      polytopes and also for their duals. |  
    | F2_VECTOR | matrix of cardinals | fik is the number of pairs of incident
      pairs of i-faces and k-faces. A copy of the F_VECTORis on the digonal of this symmetric matrix. |  
    | FACETS_THRU_VERTICES | list array | For each vertex there is a line that contains those facets
      which are incident with the vertex in question. The facets are numbered
      from 0 to N_FACETS-1according to their order in theFACETSsection. The numbers of the facets are strictly increasing. |  
    | VERTICES_IN_FACETS | list array | Dual to FACETS_THRU_VERTICES. |  
    | GRAPH | list array | For each vertex there is a line that contains the adjacent
      vertices. The numbers of the vertices are strictly increasing. |  
    | DUAL_GRAPH | list array | Dual to GRAPH. |  
    | VERTEX_DEGREES | vector of cardinals | For each vertex there is an entry denoting the degree of
      the vertex in the GRAPH. |  
    | FACET_DEGREES | vector of cardinals | For each facet there is an entry denoting the degree of the
      facet in the DUAL_GRAPH. |  
    | VERTEX_SIZES | vector of cardinals | For each vertex there is an entry denoting how many facets
      pass through this particular vertex. |  
    | FACET_SIZES | vector of cardinals | For each facet there is an entry denoting how many vertices
      are contained in this particular facet. |  
    | DIAMETER | cardinal | Graph theoretical diameter of GRAPH. |  
    | DUAL_DIAMETER | cardinal | Graph theoretical diameter of DUAL_GRAPH. |  
    | TRIANGLE_FREE | boolean | trueifGRAPHdoes not contain a
      triangle,falseotherwise. |  
    | DUAL_TRIANGLE_FREE | boolean | trueifDUAL_GRAPHdoes not
      contain a triangle,falseotherwise. |  
    | ALTSHULER_DET | cardinal | Let I be the vertex-facet incidence matrix, then the
      Altshulter determinant is defined as max{det(I*Itr),det(Itr*I)}. |  
    | SIMPLICIAL | boolean | Attribute: trueif the polytope is simplicial,falseotherwise. |  
    | SIMPLE,NEIGHBORLY,BALANCED | boolean | Similar to the above. This might be a notion that is less
      standard: a polytope is balanced if its dual is neighborly. |  
    | SIMPLICIALITY | cardinal | Maximal dimension in which all faces are simplices. |  
    | SIMPLICITY,NEIGHBORLINESS,BALANCE | cardinal | Similar to the above. |  
    | FACE_SIMPLICITY | cardinal | The face simplicity is the maximal dimension in which all
      faces are simple polytopes. |  
    | CUBICALITY | cardinal | Maximal dimension in which all faces are cubes. |  
    | CUBICAL | boolean | Attribute: trueif all facets are cubes,falseotherwise. |  For systematic reasons it would be appropriate to repeat the DIMsection here, because it is possible to deduce the dimension of a minimal
embedding space from the combinatorial structure. Polarization
  
    | VERTEX_BARYCENTER | vector | The center of gravity of the vertices of a bounded
      polytope. |  
    | REL_INT_POINT | vector | Relatively interior point of the polyhedron. |  
    | FAR_HYPERPLANE | vector | Valid inequality for all affine points of the polyhedron.
      The corresponding hyperplane does not contain any of the points. |  
    | 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; its inverse operates from the left on
      hyperplane column vectors. |  Optimization
  
    | LINEAR_OBJECTIVE* | vector | Linear objective function. |  
    | ABSTRACT_OBJECTIVE | vector | Abstract objective function. A vector AOF with N_VERTICESentries. AOF[i] is the value of the abstract objective function at
      vertex number i. Only defined for bounded polytopes. |  
    | MINIMAL_VALUE | number | The minimal value with respect to the ABSTRACT_OBJECTIVEfunction. If the abstract linear program is unbounded, then this section
      is empty. |  
    | MAXIMAL_VALUE | number | Similar to MINIMAL_VALUE. |  
    | MINIMAL_FACE | list | Contains the list of vertices at which the minimum of the ABSTRACT_OBJECTIVEfunction is attained. |  
    | MAXIMAL_FACE | list | Similar to MINIMAL_FACE. |  
    | DIRECTED_GRAPH | list array | For each vertex there is a line that contains the adjacent
      vertices which are better with respect to the specified ABSTRACT_OBJECTIVEfunction. The numbers of the vertices are strictly increasing. |  
    | VARIABLE_NAMES* | name list | 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). |  Triangulation and volumeEverything in this section is defined for bounded polytopes only. 
  
    | TRIANGULATION | list array | Some triangulation of the polytope without interior points. |  
    | TRIANGULATION_INT | list array | Some triangulation of the polytope with interior points
      from the POINTSsection. |  
    | VOLUME | number | Volume of the polytope. |  Lattice points
  
    | N_NON_NEG_INT | cardinal | Number of non-negative interior lattice points. |  Oriented matroids
  
    | CHIROTOPE | Sequence of +,-,0. | Chirotope corresponding to the VERTICES. |  
    | CHIROTOPE_INT | Sequence of +,-,0. | Chirotope corresponding to the POINTS. That
      is, interior points are taken into account. |  Visualization and Related Stuff
  
    | SCHLEGEL_FACET | cardinal | Number of the facet which is the Schlegel diagram is
      projected on. The default is 0, corresponding to the first facet listed in
      the section FACETS. Run the programschlegeldirectly for other projections. |  
    | SCHLEGEL_VERTICES | matrix | Coordinates in affine 3-space of the vertices which
      correspond to a 3-dimensional (Schlegel-) projection of a 4-polytope. The
      facet which is projected on is specified in SCHLEGEL_FACET. |  
    | GALE_TRANSFORM | matrix | Coordinates of the Gale transform. |  
    | VERTEX_COLORS | matrix | Each row contains RGB-values for the corresponding vertex.
      This section is read by the graphlet interface. It is primarily meant to
      display height with respect to a linear objective function. |  Even More SectionsThere might be other sections contained in a polymake file. Some of them will
correspond to extensions of individual users. Others are used by the polymake
system for internal use. By now this is only the DEPENDENCESsection. |