Chapter 6. Angle Structures

An angle structure on a 3-manifold triangulation is a simple algebraic generalisation of a hyperbolic structure. It contains some but not all of the properties required to produce a hyperbolic metric—in essence, it extracts the only linear parts of the hyperbolic gluing equations. Angle structures were introduced by Rivin [Riv94] [Riv03] and Casson, and further developed by Lackenby [Lac00a] [Lac00b].

An angle structure assigns an angle to every edge of every tetrahedron of the triangulation (so if there are n tetrahedra, there are 6n angles assigned in total). This assignment must satisfy several conditions:

  • Each angle must be between 0 and inclusive;

  • Opposite edges of a tetrahedron must be assigned equal angles;

  • The sum of all six angles in each tetrahedron is ;

  • The sum of angles around each non-boundary edge of the triangulation is .

Regina also supports generalised angle structures, which allow angles that are negative and/or larger than , but for these you will need to use Python or C++.

Strict Angle Structures

If you can find a strict angle structure—that is, one in which every angle is strictly positive—then this is extremely powerful. In particular, under some simple assumptions, it is enough to certify that the underlying 3-manifold is hyperbolic [FG11].

If you simply wish to test whether a strict angle structure exists, you should visit the recognition tab in the triangulation viewer (this is available for both Regina's native triangulation packets and its hybrid SnapPea triangulation packets). For this Regina uses fast and exact linear programming techniques.

If you wish to enumerate the space of all angle structures, then you should build an angle structure list as described below.