boolean
Property that can have only two values, true or false. true is encoded as an empty section, false - as a negated section.
integer
One integer number in decimal notation.
cardinal
One non-negative integer number.
scalar
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.
label
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.
array
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.
list
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: { }.
tuple
Sequence of values of (possibly) different types enclosed in parentheses. A tuple may extend over several lines.
vector
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.
sparse vector
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.
matrix
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.
sparse matrix
Like matrix, but each line is allowed to be in the dense or sparse form.
set
A list of elements in strictly increasing order. Unless specified explicitly, elements are cardinals.
powerset
Lexicographically sorted list of sets.
incidence matrix
An array of sets. Each line encodes a row of the 0/1 matrix, it contains the set of column indices of 1-entries.
graph
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.
attributed graph
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.)
face lattice
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.
RGB
Vector with 3 integers between 0 and 255, encoding a color in a 24-bit RGB system.
chirotope
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.