from application tropical
A rational function on a polyhedral complex. It can be described by giving its DOMAIN
, a Cycle, and values on this domain - which are encoded in the properties VERTEX_VALUES
and LINEALITY_VALUES
. Alternatively, it can be defined by a tropical quotient of homogeneous tropical polynomials of the same degree i.e. by giving NUMERATOR
and DENOMINATOR
. A DOMAIN
can be defined additionally (though one should take care that both functions are actually piecewise affine linear on the cells), otherwise it will be computed as the common refinement of the domains of affine linearity of the two polynomials. Note: This has nothing to do with common's RationalFunction (which is univariate). If you want to access that type or use this type from another application, be sure to prepend the appropriate namespace identifier.
These properties are used to define morphisms or rational functions on a Cycle.
DENOMINATOR
When representing the function as a quotient of tropical polynomials, this is the denominator. Should be a homogeneous polynomial of the same degree as NUMERATOR
.
Polynomial<TropicalNumber<Addition,Rational>,Int>
DOMAIN
This property describes the affine linearity domains of the function. I.e. the function is affine integral linear on each maximal polytope of DOMAIN
.
Cycle<Addition>
IS_GLOBALLY_DEFINED
This is TRUE, if the function is defined on the full projective torus by a NUMERATOR
and a DENOMINATOR
. The rules do not actually check for completeness of the DOMAIN
. This property will be set to true, if the function is created only via NUMERATOR
and DENOMINATOR
. Otherwise it will be set to FALSE (or you can set it manually upon creation).
LINEALITY_VALUES
The value at index i describes the function value of DOMAIN
→LINEALITY_SPACE→row(i)
NUMERATOR
When representing the function as a quotient of tropical polynomials, this is the numerator. Should be a homogeneous polynomial of the same degree as DENOMINATOR
.
Polynomial<TropicalNumber<Addition,Rational>,Int>
POWER
This is an internally used property that should not actually be set by the user. When creating a rational function with the ^-operator, this property is set to the exponent. The semantics is that when computing a divisor, this function should be applied so many times The usual application of this is a call to divisor($X, $f^4) or something similar. Warning: This property is not stored if the RationalFunction object is saved. Nor should be assumed to be preserved during any kind of arithmetic or restricting operation.
VERTEX_VALUES
The value at index i describes the function value at DOMAIN
→SEPARATED_VERTICES→row(i). 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 are used to define morphisms or rational functions on a Cycle.
restrict(Cycle<Addition> C)
Computes the restriction of this RationalFunction on a given Cycle. The cycle need not be contained in the DOMAIN
of the function, the restriction will be computed on the intersection of the cycle and the DOMAIN
.
Cycle<Addition>
C
: The new domain.
RationalFunction<Addition>
These methods are for visualization.
VISUAL()
Visualizes the domain of the function. 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