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

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:

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

### 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 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).

Type:
Bool
from extension:

LINEALITY_VALUES

The value at index i describes the function value of DOMAIN→LINEALITY_SPACE→row(i)

Type:
Vector<Rational>
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:
Int
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:
Vector<Rational>
from extension:

### 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 the DOMAIN.

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:

• documentation/latest/tropical/rationalfunction.txt