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 RationalFunction<Addition>
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.
 Type Parameters:
Properties
Defining morphisms and functions
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
. Type:
Polynomial<TropicalNumber<Addition,Rational>,Int>
 from extension:

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
. Type:
Cycle<Addition>
 from extension:

IS_GLOBALLY_DEFINED
This is TRUE, if the function is defined on the full projective torus by a
NUMERATOR
and aDENOMINATOR
. The rules do not actually check for completeness of theDOMAIN
. This property will be set to true, if the function is created only viaNUMERATOR
andDENOMINATOR
. Otherwise it will be set to FALSE (or you can set it manually upon creation). Type:
 from extension:

LINEALITY_VALUES
The value at index i describes the function value of
DOMAIN
→LINEALITY_SPACE→row(i) Type:
 from extension:

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
. Type:
Polynomial<TropicalNumber<Addition,Rational>,Int>
 from extension:

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.
 Type:
 from extension:

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. Type:
 from extension:
Methods
Defining morphisms and functions
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 theDOMAIN
. Parameters:
Cycle<Addition>
C
: The new domain. Returns:
RationalFunction<Addition>
 from extension:
Visualization
These methods are for visualization.

VISUAL()
Visualizes the domain of the function. 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: