Available versions of this document: latest release, release 4.0, release 3.6, release 3.5, nightly master
Reference documentation for older polymake versions: release 3.4, release 3.3, release 3.2
BigObject HyperbolicSurface
from application topaz
A hyperbolic surface (noncompact, finite area) is given by a triangulation DCEL_DATA
(the topological data) and PENNER_COORDINATES
(the metric data).
Properties
no category

DCEL_DATA
The triangulation of the surface is encoded by a half edge data structure. For each edge i of the triangulation there are two half edges 2i and 2i+1, one for each orientation. Each row reads as follows: [ 2i.head , (2i+1).head , 2i.next , (2i+1).next]
 Type:
 Example:
A triangulated sphere with three punctures can be given by the following
DCEL_DATA
:> $S3 = new Array<Array<Int>>([ [1,0,2,5],[2,1,4,1],[0,2,0,3] ]); > $s = new HyperbolicSurface(DCEL_DATA=>$S3);

FLIP_WORDS
Each Delaunay triangulations of the surface can be obtained by successively flipping edges of the triangulation
DCEL_DATA
. The kth flip word is a list of integers (the indices of the edges) that describe which edge flips produce the kth Delaunay triangulation. Note that the kth Delaunay triangulation also corresponds to the kth maximal cone of theSECONDARY_FAN
. Type:

PENNER_COORDINATES
Penners lambda lengths, sometimes called Penner coordinates, of the hyperbolic surface.
Robert C. Penner. Decorated Teichmüller Theory. QGM Master Class Series. European Mathematical Society, Zürich, 2012.
They are given by one positive rational for each edge of the triangulation, ordered in the sense of the triangulation
DCEL_DATA
. Type:

SECONDARY_FAN
The secondary fan of the hyperbolic surface. The kth maximal cone corresponds to the Delaunay triangulation obtained by applying the kth flip word of
FLIP_WORDS
. See M. Joswig, R. Löwe, and B. Springborn. Secondary fans and secondary polyhedra of punctured Riemann surfaces. arXiv:1708.08714. Type:

SPECIAL_POINT
In order to compute
GKZ_VECTORS
(or asecondary_polyhedron
) one needs to specify a point on the surface, seeM. Joswig, R. Löwe, and B. Springborn. Secondary fans and secondary polyhedra of punctured Riemann surfaces. arXiv:1708.08714.
This point is specified by choosing a pair of rationals (p,x) that determine how the (decorated) 0th half edge is lifted to a geodesic in H^2. The covering is chosen in such a way that the horocycle at infinity is the vertical line at height p^2 and the lifted 0th half edge goes from infinity to the point x at the ideal boundary.
 Type:
Methods
Other
Special purpose methods.

GKZ_VECTORS(Int depth)
Computes an approximation of the GKZ vectors of a hyperbolic surface. The approximation depends on the parameter depth that restricts the depth of the (covering) triangles that are summed over in the definition of the GKZ vectors.
 Parameters:
Int
depth
 Returns:
 Example:
> $T = new Array<Array<Int>>([[0,0,6,5],[0,0,1,10],[0,0,8,2],[1,0,11,4],[1,0,7,3],[1,0,9,0]]); > $s = new HyperbolicSurface(DCEL_DATA=>$T, PENNER_COORDINATES=>[1,1,1,1,1,1], SPECIAL_POINT=>[1,0]); > print $s>GKZ_VECTORS(2); 1 240509/380250 517/1950 1 98473/694950 915006978873/1469257962050

gkz_dome(Int k, Int depth)
Computes the GKZ dome of the kth Delaunay trianglation up to a given depth. Note that k is also the index of the corresponding flip word in
FLIP_WORDS
. Projection to the disc yields (a part of) the covering triangulation of the Klein disc. Parameters:
Int
k
: index of the flip wordInt
depth
 Returns:
 Example:
> $T = new Array<Array<Int>>([[0,0,6,5],[0,0,1,10],[0,0,8,2],[1,0,11,4],[1,0,7,3],[1,0,9,0]]); > $s = new HyperbolicSurface(DCEL_DATA=>$T, PENNER_COORDINATES=>[1,1,1,1,1,1], SPECIAL_POINT=>[1,0]); > $d = $s>gkz_dome(0,3); > $d>VISUAL;