# 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 bib-rivin-structures bib-rivin-combopt and Casson, and further developed by Lackenby bib-lackenby-taut bib-lackenby-anglestruct.

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

- Each angle must be between 0 and &twopi; inclusive;

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

- The sum of all six angles in each tetrahedron is &twopi;;

- The sum of angles around each non-boundary edge of the triangulation is &twopi;.

®ina; also supports generalised angle structures, which allow angles that are negative and/or larger than &twopi;, but for these you will need to use &python; or &cpp;.

## 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 bib-futer-angled.

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 ®ina;'s native triangulation packets and its hybrid &snappea; triangulation packets). For this ®ina; 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.

## Enumerating Angle Structures

Angle structures are stored in lists, which typically hold all vertex angle structures on a particular 3-manifold triangulation. Here vertex angle structures correspond to the vertices of the solution polytope for the equations and inequalities described earlier. This means that every possible angle structure on the triangulation can be expressed as a convex combination of the vertex angle strutures.

To create a new angle structure list, select Packet Tree New Angle Structure Solutions from the menu (or press the corresponding toolbar button).

A new packet window will appear, asking for some additional details:

Triangulation

This is the triangulation that will contain your angle structures. You may chose either one of ®ina;'s native triangulation packets or one of its hybrid &snappea; triangulation packets. The new angle structure list will appear as a child of this triangulation in the packet tree.

Taut angle structures only

If unchecked (the default), ®ina; will enumerate all vertex angle structures.

If checked, ®ina; will only enumerate taut angle structures. These are angle strutures in which every angle is either 0 or π. There are only ever finitely many taut structures (possibly none at all), and if you check this box then ®ina; will enumerate them all. This is generally much faster than enumerating all vertex angle structures.

Note that we use the Kang-Rubinstein definition of taut angle structure bib-kang-taut, which is based on the angles alone. We do not use Lackenby's definition bib-lackenby-taut, which also requires consistent coorientations on the 2-faces of the triangulation.

Once you are ready, click OK. ®ina; will enumerate the vertex angle structures as requested, package them into an angle structure list, and open this list for you to view.

## Analysis

When you open an angle structure list for viewing, you will see a table with all of the angle structures in your list.

Above this table is a header displaying the total number of angle structures. If you enumerated taut structures only, this will be reported in the header also:

Otherwise the header will indicate whether or not the convex span of these angle structures contains any strict and/or taut structures (these terms are defined below).

### Viewing the Triangulation

Like normal surfaces, angle structures are (since ®ina; 7.0) no longer linked to their source triangulations in the packet tree. You can move an angle structure list and/or its triangulation independently around in the tree, or you can modify or even delete the original triangulation. All of these operations are now allowed and safe.

Whatever happens, it is always possible to come back and view the original triangulation from which an angle structure list was created. You do this the same way as for normal surface lists; see the normal surfaces chapter for details.

### Details of Individual Angle Structures

Each row of the table represents a single angle structure in this list.

The leftmost column is used to indicate special types of angle structure. Possible values include:

Strict

Indicates a strict angle structure (all of its angles are strictly between 0 and π).

Taut

Indicates a taut angle structure (all of its angles are equal to either 0 or π).

Here we use the Kang-Rubinstein definition of taut angle structure bib-kang-taut, which is based on the angles alone. We do not use Lackenby's definition bib-lackenby-taut, which also requires consistent coorientations on the 2-faces of the triangulation.

Note that some taut structures may be listed as veering instead (which indicates a stronger combinatorial structure).

Veering

Indicates a veering structure. This is a taut structure with additional (and very strong) combinatorial constraints; for details see bib-hodgson-veering.

Note that we use the Hodgson et al. definition of veering structure bib-hodgson-veering. This is slightly more general than Agol's original definition bib-agol-ideal, in the same sense that the Kang-Rubinstein definition of taut angle structure is slightly more general than Lackenby's. In particular, we do not require consistent coorientations on the 2-faces of the triangulation.

If an angle structure is neither strict nor taut, the leftmost cell will be left empty.

The remaining columns list the individual angles that are assigned to edges in tetrahedra. These columns are labelled 0:01/23, 0:02/13, 0:03/12, 1:01/23, etc., where column `t`:`ab`/`cd` represents the angle assigned to tetrahedron `t` along the edge that joins tetrahedron vertices `a` and `b`, as well as the (opposite) edge that joins tetrahedron vertices `c` and `d`. Here 0 ≤ `t` < `n`, and `a`,`b`,`c`,`d` are some permutation of 0,1,2,3.