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

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 k-th flip word is a list of integers (the indices of the edges) that describe which edge flips produce the k-th Delaunay triangulation. Note that the k-th Delaunay triangulation also corresponds to the k-th maximal cone of the SECONDARY_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 k-th maximal cone corresponds to the Delaunay triangulation obtained by applying the k-th 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 a secondary_polyhedron) one needs to specify a point on the surface, see

M. 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:

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 k-th 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 word

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]);
 > $d = $s->gkz_dome(0,3);
 > $d->VISUAL;


  • documentation/latest/topaz/hyperbolicsurface.txt
  • Last modified: 2019/08/13 10:31
  • (external edit)