One rational or floating-point number.
The scalar representation in the input data is left to the user's
choice, since it is automatically recognized, and the data are converted
when needed. Rationals and floats can be even freely intermixed. The
actual data format used during the computations solely depends on the
chosen rule set.
Syntax rules for floating-point numbers are identical to those of C++ and perl
programming languages; rational numbers must look like
numerator or numerator/denominator ,
optionally prepended by the sign.
A textual identifier associated with an object (vertex, facet, etc.) May contain letters, digits, underscores, punctuation
characters, but no white spaces. The labels are supposed to be unique, but currently this is not checked automatically.
Sequence of elements of specified type. Elements of atomic type are written in a single line, separated
by white spaces, while complex elements are written each on a separate line. Arrays of multidimensional objects
are enclosed in an additional pair of angle brackets. Empty section encodes an array of size 0.
Sequence of elements of specified type, enclosed in curly braces. A list is written in a single line,
separated by white spaces, unless its elements occupy several lines by itself. An empty list is just a pair of braces:
{ }.
Has the printable representation of an array.
Elements must be of some numeric type; unless explicitly specified,
they are supposed to conform to the scalar syntax.
A tuple consisting of the cardinal dimension
and zero or more pairs (cardinal index, scalar value).
All omitted elements are supposed to be zero.
A sparse vector is allowed to be stored in the dense form as well.
The client programs choose the dense representation automatically if the
fill grade of a vector is over 1/2.
An array of vectors.
The vectors represent the matrix rows and must obviously have the same dimension.
Unless explicitly specified, elements are of scalar type.
Section may be empty.
An array of sets.
Each line corresponds to a node and contains the number of adjacent nodes.
The nodes are numbered from 0 to n-1. An undirected graph is stored redundantly, that is, each
edge occurs in the incidence lists of both incident nodes.
A graph with additional data associated with nodes and/or edges.
An attributed node is represented by a tuple ( node attribute, {incidence list} ).
An attributed edge is represented by a tuple ( edge attribute, target node ).
It is allowed to store an attributed graph where a `naked' one is expected (the attributes are simply ignored) and vice
versa (the program supposes all attributes having default values.)
The first line encodes the number of nodes in each level (i.e., face dimension.)
The rest of the section is an attributed directed graph.
Each node corresponds to a face. The node attribute is a set of vertices comprising the face.
Incident edges lead to the containing faces of the next (higher) dimension.
Sequence of +, -, 0.
This data format is specific to the topcom package.
It is not interpreted by polymake itself, but used as an opaque data type for storing
intermediate results of programs from this package.