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.
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.
Cycle<Addition>
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).
LINEALITY_VALUES
The vector in row i describes the function value (slope) of DOMAIN
→LINEALITY_SPACE→row(i)
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.
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.
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.
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.
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.
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.
Morphism
g
before(Morphism g)
Computes the composition of this morphism and another morphism g. This morphism comes before g.
Morphism
g
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.
These methods are for visualization.
VISUAL()
Visualizes the domain of the morphism. Works exactly as VISUAL of WeightedComplex, but has additional option
String
FunctionLabels
: If set to “show”, textual function representations are diplayed on cones. False by default
Visual::Cycle::FunctionDecorations