Available versions of this document: latest release, release 3.5, nightly master

Reference documentation for older polymake versions: release 3.4, release 3.3, release 3.2

# BigObject RationalCurve

from application tropical

An n-marked rational curve, identified by its SETS, i.e. its partitions of {1,…,n} and its COEFFICIENTS, i.e. the lengths of the corresponding edges.

### Input property

These properties are for input only. They allow redundant information.

INPUT_COEFFS

Same as COEFFS, except that entries may be ⇐0. This should have the same length as INPUT_SETS.

Type:
Vector<Rational>
from extension:

INPUT_SETS

Same as SETS, except that sets may appear several times.

Type:
IncidenceMatrix<NonSymmetric>
from extension:

INPUT_STRING

This property can also be used to define a rational curve: A linear combination of partitions is given as a string, using the following syntax: A partition is given as a subset of {1,..,n} and written as a comma-separated list of leaf indices in round brackets, e.g. “(1,2,5)” A linear combination can be created using rational numbers, “+”,“+” and “-” in the obvious way, e.g. “2*(1,2,5) + 1*(3,4,7) - 2(1,2) (The “*” is optional) Of course, each set should contain at least two elements. If you don't specify N_LEAVES, it is set to be the largest leaf index occuring in the sets. Partitions needn't be irredundant and coefficients can be any rational number. If the resulting element is not in the moduli space, an error is thrown.

Type:
String
from extension:

### 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.

COEFFS

A list of positive rational coefficients. The list should have the same length as SETS and contain only entries > 0. The i-th entry then gives the length of the bounded edge defined by the i-th partition. If you're not sure if all your coefficients are > 0, use INPUT_SETS and INPUT_COEFFS instead. Note that the zero curve (i.e. no bounded edges, only leaves) is represented by one empty set with corresponding lenghth 0.

Type:
Vector<Rational>
from extension:

GRAPH

Contains the abstract graph (non-metric) corresponding to the curve. All unbounded leaves are modelled as bounded edges. The vertices at the ends of the “leaves” are always the first N_LEAVES vertices.

Type:
Graph<Undirected>
from extension:

GRAPH_EDGE_LENGTHS

Contains the lengths of the edges of GRAPH that represent bounded edges of the curve. The coefficients appear in the order that the corr. edges appear in EDGES.

Type:
Vector<Rational>
from extension:

NODES_BY_LEAVES

This incidence matrix gives a list of the vertices of the curve Each row corresponds to a vertex and contains as a set the leaves that are attached to that vertex (again, counting from 1!)

Type:
IncidenceMatrix<NonSymmetric>
from extension:

NODES_BY_SETS

This incidence matrix gives a list of the vertices of the curve Each row corresponds to a vertex and contains as a set the row indices of the SETS that correspond to edges attached to that vertex

Type:
IncidenceMatrix<NonSymmetric>
from extension:

NODE_DEGREES

This gives a list of the vertices of the curve in terms of their valences They appear in the same order as in NODES_BY_LEAVES or NODES_BY_SETS

Type:
Vector<Int>
from extension:

N_LEAVES

The number of leaves of the rational curve.

Type:
Int
from extension:

SETS

A list of partitions of [n] that define the tree of the curve: For each bounded edge we have the corresponding partition of the n leaves. These should be irredundant. If you want to input a possibly redundant list, use INPUT_SETS and INPUT_COEFFS instead. The number of marked leaves should always be given by N_LEAVES. The sets are subsets of {1,…,n} (NOT {0,..,n-1}!) Note that the zero curve (i.e. no bounded edges, only leaves) is represented by one empty set with corresponding lenghth 0.

Type:
IncidenceMatrix<NonSymmetric>
from extension:

### Conversion

These deal with converting the representation of a rational curve between metric vector and matroid fan coordinates.

metric_vector

Returns the (n over 2) metric vector of the rational n-marked curve

from extension:

### Visualization

These methods are for visualization.

VISUAL()

Visualizes a RationalCurve object. This visualization uses the VISUAL method of its GRAPH, so it accepts all the options of Visual::Graph::decorations. In addition it has another option

Options:

String LengthLabels: If “hidden”, the edges are not labelled with their lengths. Any other text is ignored. Not set to “hidden” by default.

option list Visual::RationalCurve::decorations
from extension:

• documentation/latest/tropical/rationalcurve.txt