documentation:latest:tropical:morphism

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 morphism is a function between cycles which is locally affine linear and respects the lattices. It is defined by a DOMAIN, which is a cycle, and values on this domain, VERTEX_VALUES and LINEALITY_VALUES, much like RationalFunction. Alternatively, it can be defined as a global affine linear function by giving a matrix and a translation vector.

Type Parameters:

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

These properties are used to define morphisms or rational functions on a Cycle.

DOMAIN

This property describes the domain of the morphism. I.e. the morphism is defined on this complex and is locally affine integral linear.

Type:
Cycle<Addition>
from extension:

IS_GLOBALLY_AFFINE_LINEAR

This is TRUE, if the morphism is defined on the full projective torus by a MATRIX and a TRANSLATE The rules do not actually check for completeness of the DOMAIN. This property will be set to TRUE, if the morphism is only defined by MATRIX and TRANSLATE, otherwise it is false (or you can set it upon creation).

Type:
Bool
from extension:

LINEALITY_VALUES

The vector in row i describes the function value (slope) of DOMAIN→LINEALITY_SPACE→row(i)

Type:
Matrix<Rational,NonSymmetric>
from extension:

MATRIX

If the morphism is a global affine linear map x |→ Ax+v, then this contains the matrix A. Note that this must be well-defined on tropical projective coordinates, so the sum of the columns of A must be a multiple of the (1,..,1)-vector. If TRANSLATE is set, but this property is not set, then it is the identity by default.

Type:
Matrix<Rational,NonSymmetric>
from extension:

TRANSLATE

If the morphism is a global affine linear map x |→ Ax+v, then this contains the translation vector v. If MATRIX is set, but this property is not set, then it is the zero vector by default.

Type:
Vector<Rational>
from extension:

VERTEX_VALUES

The vector at row i describes the function value of vertex DOMAIN→SEPARATED_VERTICES→row(i). (In tropical homogenous coordinates, but without leading coordinate). More precisely, if the corresponding vertex is not a far ray, it describes its function value. If it is a directional ray, it describes the slope on that ray.

Type:
Matrix<Rational,NonSymmetric>
from extension:

These methods deal with affine and projective coordinates, conversion between those and properties like dimension that change in projective space.

affine_representation(Int domain_chart, Int target_chart)

Computes the representation of a morphism (given by MATRIX and TRANSLATE) on tropical affine coordinates.

Parameters:

Int domain_chart: Which coordinate index of the homogenized domain is shifted to zero to identify it with the domain of the affine function. 0 by default.

Int target_chart: Which coordinate of the homogenized target space is shifted to zero to identify it with the target of the affine function. 0 by default.

Returns:
Pair<Matrix<Rational>,Vector<Rational>>
from extension:

These are general methods that deal with morphisms and their arithmetic.

after(Morphism g)

Computes the composition of another morphism g and this morphism. This morphism comes after g.

Parameters:

Morphism g

Returns:
Morphism
from extension:

before(Morphism g)

Computes the composition of this morphism and another morphism g. This morphism comes before g.

Parameters:

Morphism g

Returns:
Morphism
from extension:

restrict(Cycle Some)

Computes the restriction of the morphism to a cycle. The cycle need not be contained in the DOMAIN of the morphism, the restriction will be computed on the intersection.

Parameters:

Cycle Some: cycle living in the same ambient space as the DOMAIN

Returns:
Morphism
from extension:

These methods are for visualization.

VISUAL()

Visualizes the domain of the morphism. Works exactly as VISUAL of WeightedComplex, but has additional option

Options:

String FunctionLabels: If set to “show”, textual function representations are diplayed on cones. False by default

option list Visual::Cycle::FunctionDecorations
from extension:

• documentation/latest/tropical/morphism.txt