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 Morphism<Addition>
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:
Properties
Defining morphisms and functions
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 aTRANSLATE
The rules do not actually check for completeness of theDOMAIN
. This property will be set to TRUE, if the morphism is only defined byMATRIX
andTRANSLATE
, otherwise it is false (or you can set it upon creation). Type:
 from extension:

LINEALITY_VALUES
The vector in row i describes the function value (slope) of
DOMAIN
→LINEALITY_SPACE→row(i) Type:
 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 welldefined 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:
 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:
 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:
 from extension:
Methods
Affine and projective coordinates
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
andTRANSLATE
) 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:
 from extension:
Morphisms
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:
 from extension:

before(Morphism g)
Computes the composition of this morphism and another morphism g. This morphism comes before g.
 Parameters:
Morphism
g
 Returns:
 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:
 Returns:
 from extension:
Visualization
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: