documentation:latest:tropical:matroidringcycle

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

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

from application tropical

A matroid ring cycle is a tropical cycle which lies in the intersection ring of matroids fans. I.e. it is a linear combination of matroids fans (of the same dimension). Cycle sum and intersection are implemented through the combinatorics of the underlying matroids. Note that the set of loopfree nested matroids is a basis for this ring (e.g. as a Z-module). Hence every MatroidRingCycle is represented as a linear combination of nested matroids. The nested matroids are encoded via their maximal transversal presentations in NESTED_PRESENTATIONS. The corresponding coefficients are found in NESTED_COEFFICIENTS.

Type Parameters:

Addition: Mode of tropical addition, must be Min or Max. There is on purpose no default value for it.

derived from:
Cycle
Permutations:
PresentationPerm:

permuting NESTED_PRESENTATIONS

These properties are concerned with the underlying matroid combinatorics of a MatroidRingCycle.

NESTED_COEFFICIENTS

These are the linear coefficients of this cycle in its nested matroids representation. They correspond to the entries in NESTED_PRESENTATIONS.

Type:
Array<Int>
from extension:

NESTED_PRESENTATIONS

Every matroid (and hence every element of the matroid ring) has a presentation as a linear combination of nested matroids (which form a basis). Each entry in this list represents a nested matroid whose coefficient is not 0 in the presentation of this cycle. A nested matroid is represented by its maximal transversal presentation. You can use the method nested_matroids to retrieve them as actual Matroid objects. Note that the implementation will assume that the nested presentations are each given in such a way that the sets are ordered from smallest to largest. It is not recommended to specify this property directly. Rather use the constructor to convert a matroid into a ring cycle, then use the overloaded operators to construct linear combinations.

Type:
Array<IncidenceMatrix<NonSymmetric>>
from extension:

N_ELEMENTS

Describes the ground set of the matroid ring in which this cycle lives. Same as PROJECTIVE_AMBIENT_DIM+1.

Type:
Int
from extension:

N_NESTED_SUMMANDS

The number of entries in NESTED_PRESENTATIONS (or NESTED_COEFFICIENTS).

Type:
Int
from extension:

RANK

Describes the ranks of the matroids, of which this cycle is a linear combination. Same as PROJECTIVE_DIM+1

Type:
Int
from extension:

These methods are concerned with the underlying matroid combinatorics of a MatroidRingCycle.

nested_matroids

This returns the nested matroids represented by NESTED_PRESENTATIONS as a list of Matroid objects.

from extension:
Example:

The following computes the matroid ring cycle of the matroid corresponding to the complete graph on 4 vertices. It then returns a list of the nested matroids in its basis presentation.

 > $r = new MatroidRingCycle<Max>(matroid::matroid_from_graph(complete(4))); > @n =$r->nested_matroids();
> map {print \$_->BASES->size,"\n";} @n;
19
19
19
19
20

• documentation/latest/tropical/matroidringcycle.txt