# &snappea; Triangulations

For 3-manifolds, ®ina;'s native triangulation structure is the triangulation packet, as described in the previous chapter. This structure is best suited for fine-grained analysis and manipulation of the triangulation, and gives you full access to all of ®ina;'s topological algorithms.

However, if you are working with hyperbolic 3-manifolds then it is sometimes desirable to work with both ®ina; and &snappeapylink; simultaneously, and to preserve data that only &snappea; knows about (such as fillings and peripheral curves) as it passes through ®ina;.

The solution is the &snappea; triangulation packet. This is a hybrid structure that maintains two synchronised copies of a 3-manifold triangulation, one using ®ina;'s internal structures and one using &snappea;'s internal structures.

The advantages of using a &snappea; triangulation are:

- For read-only routines, you have direct internal access to both ®ina;'s and &snappea;'s mathematical engines. For instance, you can enumerate normal surfaces or angle structures (using ®ina;'s engine), and you can search for a complete hyperbolic structure using given filling coefficients (using &snappea;'s engine). All of this is available directly in ®ina;'s user interface.

- As noted above, &snappea;-specific information (such as peripheral curves or filling coefficients) will never be lost. You can import from a &snappeapy; data file, work with it in ®ina;'s user interface, and then export it back to &snappeapy;. Throughout this process, all of &snappea;'s own data such as filling coefficients and peripheral curves will be preserved.

The disadvantages are:

- For read-write routines, your access to ®ina; is much more restricted. Specifically, you cannot modify the triangulation using ®ina;'s mathematical engine (e.g., you cannot perform a 2-0 edge move or a barycentric subdivision). You can still modify the triangulation using &snappea;'s engine (so, for instance, you can permanently fill cusps, or use &snappea; to randomise the triangulation).

  This restriction is enforced by the user interface, and also at the &python; level. In &python; you can of course still call ®ina;'s modification functions, but if you do so then the triangulation will delete itself and become a “null triangulation” instead.

- There is extra overhead, both in memory and running time. This is because each &snappea; triangulation maintains two internal copies of the triangulation using two independent pieces of mathematical software.

Be aware that much of the information gained through the &snappea; kernel is inexact. In particular, it may be subject to numerical instability or floating point error. If you wish to rigorously certify that a manifold is hyperbolic, see the recognition tab (which works with both ®ina;'s native triangulations and also &snappea; triangulations).

## Creation

### Converting from a ®ina; Triangulation

It is easy to convert one of ®ina;'s native 3-manifold triangulation packets into a &snappea; triangulation. To do this, open the ®ina; triangulation and then either:

- select 3-D Triangulation Convert to &snappea; from the menu or press the corresponding toolbar button; or

- switch to the &snappea; tab in the triangulation viewer, and press the button marked Convert to a &snappea; triangulation.

This will create a new &snappea; triangulation immediately beneath the original (native) triangulation in the packet tree; the original will be left untouched.

If your original triangulation is a closed manifold, then &snappea; will drill out a curve and present the &snappea; triangulation as a cusped manifold with a Dehn filling.

Regarding peripheral curves: during the conversion process, ®ina; will ask &snappea; to install the (shortest, second shortest) basis on each cusp. Note however that this is only possible if &snappea; finds a sufficiently good solution to the gluing equations (either tetrahedra positively oriented, or contains negatively oriented tetrahedra). Even then, this choice might not be unique for some cusp shapes, and the resolution of such ambiguities might be machine-dependent. If &snappea; cannot find a sufficiently good solution then it will install a default basis (which may change across different versions of the &snappea; kernel).

### Converting from a Knot or Link

You can create a &snappea; triangulation directly from one of ®ina;'s knots or links. This will ensure that &snappea; preserves the peripheral curves (i.e., the meridian and longitude) from the link diagram.

To do this, open the link and then either select Knot / Link Complement Via &snappea; from the menu, or press the corresponding toolbar button. As before, this will create a new &snappea; triangulation immediately beneath your link in the packet tree.

### New &snappea; Triangulations

Instead of using the conversion procedures described above, you can instead create a new &snappea; triangulation by selecting Packet Tree New &snappea; Triangulation from the menu (or the corresponding toolbar button).

You will be asked how you wish to create the &snappea; triangulation (see the drop-down box below). Here we walk through the various options.

#### Example Triangulation

®ina; offers a small selection of ready-made sample triangulations, which you can play with to see how &snappea; triangulations work within ®ina;. Simply select an example from the list provided and ®ina; will build the corresponding &snappea; triangulation for you.

### Paste a &snappea; file

Here you can paste the entire contents of a &snappeapy; data file into the given box, and ®ina; will build the corresponding triangulation. You might, for instance, have obtained these file contents by opening a &snappea; data file in a text editor, or by calling `Manifold._to_string()` in &snappy;.

If you simply wish to use a &snappeapy; data file on your hard drive, you might find it easier to import the &snappea; file directly. This will have the same effect: it will create a &snappea; triangulation, and none of &snappea;'s own data will be lost.

### Convert a ®ina; triangulation

This allows you to select one of ®ina;'s native 3-manifold triangulations from your current file and convert it into a &snappea; triangulation. This is exactly the same as opening the ®ina; triangulation and converting it through the &snappea; tab, as discussed earlier.

If you simply wish to use a &snappeapy; data file on your hard drive, you might find it easier to import the &snappea; file directly. This will have the same effect: it will create a &snappea; triangulation, and none of &snappea;'s own data will be lost.

### Link complement

This allows you to build the complement of a knot or link as a &snappea; triangulation, preserving the meridian and longitude as peripheral curves within the &snappea; kernel. This is the same as opening the link and converting it via the &snappea; button, as described earlier.

### Importing Triangulations

As already noted, you can import a &snappeapy; data file into ®ina;; this will automatically create a &snappea; triangulation for you. See the chapter on imports and exports for details.

## Analysis and Modification

&snappea; triangulations inherit a great deal of functionality from ®ina;'s native 3-manifold triangulations. If you open the &snappea; triangulation viewer, you will see several familiar tabs: gluings, skeleton, composition, and recognition. These behave much like their counterparts for native triangulations; you can read more details by following any of the links above. Note that these “inherited” tabs describe the unfilled triangulation only (i.e., any fillings on the cusps are ignored).

In the remainder of this chapter we discuss the extra functionality that is specific to &snappea; triangulations.

### Volume, Solution Type and Other Basic Properties

At the top of the &snappea; triangulation viewer is a banner listing some basic properties of the manifold (circled in red above). These include:

Orientable / Non-orientable

Indicates whether or not the manifold is orientable. Note that an orientable &snappea; triangulation will automatically be oriented (i.e., the vertex labels 0, 1, 2 and 3 on each tetrahedron will induce a consistent orientation for all tetrahedra).

Cusps

®ina; will tell you how many cusps the manifold has, as well as how many of these cusps are filled and how many are complete (unfilled).

You can view, change, add or remove fillings on cusps through the Shapes & Cusps tab.

Volume and solution type

Gives &snappea;'s estimate of the hyperbolic volume, as well as the type of solution that &snappea; found to the hyperbolic gluing equations.

If you have filling coefficients on some or all of the cusps, then the volume and solution type will be with respect to the filled manifold.

The solution type will be one of the following:

Tetrahedra positively oriented

All tetrahedra are positively oriented.

Contains flat or negative tetrahedra

The overall volume is positive, but some tetrahedra are flat or negatively oriented. No tetrahedra have shape 0, 1 or infinity.

All tetrahedra flat

All tetrahedra are flat, but none have shape 0, 1 or infinity.

Contains degenerate tetrahedra

At least one tetrahedron has shape 0, 1 or infinity.

Unrecognised solution type

The volume is zero or negative, but the solution is neither flat nor degenerate.

No solution found

The gluing equations could not be solved.

Externally computed

Tetrahedron shapes were inserted into the triangulation by some other means (e.g., manually, or by another program).

### Cusps, Fillings and Tetrahedron Shapes

The Shapes & Cusps tab shows information on each of the cusps, and also shows the individual tetrahedron shapes for &snappea;'s solution to the hyperbolic gluing equations.

#### Cusps and Filling Coefficients

The individual cusps are numbered by the &snappea; kernel (0, 1, 2, …). Beside each cusp is the corresponding vertex number given by ®ina;; this is the vertex number that you see in the skeleton viewer. Note that ®ina;'s vertex numbers and &snappea;'s cusp numbers are often, but not always, the same.

Also beside each cusp you will see the current filling coefficients, if any. You can change the filling coefficients by typing new values directly into the table. To remove the filling from a cusp (i.e., to make it complete), simply delete the contents of the table cell.

#### Triangulating Vertex Links

If you wish to see the explicit trianglation of some cusp (i.e., the triangulated vertex link), you can select &snappea; Triangulation Vertex Links… from the menu. This will explicitly build the chosen vertex link as a new 2-manifold triangulation. This operation is the same as for ®ina;'s native triangulations, and you can read more details in the triangulations chapter.

#### Permanently Filling Cusps

You can also make your fillings permanent, by selecting &snappea; Triangulation Build Filled Manifold… from the menu or by pressing the corresponding toolbar button. If some of your cusps are complete (i.e., unfilled) then this will create a new &snappea; triangulation with only those unfilled cusps remaining. If all of your cusps have fillings then this will create a new native ®ina; triangulation describing a closed 3-manifold. Either way, the result will be added to the packet tree beneath your original &snappea; triangulation, and the original will be left untouched.

#### Tetrahedron Shapes

At the bottom of the Shapes & Cusps tab you will see the full details of &snappea;'s solution to the hyperbolic gluing equations. This solution is with respect to the Dehn filled hyperbolic structure (i.e., your filling coefficients will be taken into account).

In particular, you will see a table listing the individual tetrahedron shapes. These are given as the complex numbers `z` 0, `z` 1, … in rectangular form, and using a fixed coordinate system (“fixed alignment” in &snappea;'s terminology).

### Homology and Fundamental Group

The Algebra tab shows the first homology and the fundamental group, for both the filled manifold (respecting your filling coefficients), and also the unfilled manifold (ignoring your filling coefficients and instead treating every cusp as complete).

As with ®ina;'s native triangulations, complete (i.e., unfilled) cusps will be treated as though they had been truncated. In other words, each unfilled ideal vertex will be treated as a torus or Klein bottle boundary component for the underlying 3-manifold.

Each fundamental group will be presented as a set of generators and relations, just as you would see in the algebra viewer for ®ina;'s native triangulations.

If you cannot read the superscript digits in the fundamental group presentations, or if you cannot read the blackboard-bold Z symbols in the homology groups, try disabling unicode symbols in ®ina;'s settings.

### Retriangulation

Whilst &snappea; triangulations do not offer the same level of fine-grained manipulation as ®ina;'s own triangulations, there are still some ways in which you can retriangulate your manifold.

#### Randomisation

&snappea; has a feature where it “randomises” a triangulation by applying a series of random Pachner moves (e.g., 2-3 and 3-2 moves). You can do this by selecting &snappea; Triangulation Randomise from the menu, or by pressing the corresponding toolbar button.

#### Canonical Retriangulation

&snappea; can attempt to compute the canonical retriangulation of a manifold. In theory, two hyperbolic manifolds are homeomorphic if and only if their canonical triangulations are isomorphic (i.e., identical up to a relabelling of the tetrahedra and/or their vertices).

Note that you can test for isomorphism in the composition tab, which is available for &snappea; triangulations as well as ®ina;'s own native triangulations. You can also test for isomorphism by comparing the isomorphism signatures of triangulations.

The canonical retriangulation is based on the canonical Epstein-Penner cell decomposition; see bib-weeks-canonical for a description of the main ideas. If the Epstein-Penner decomposition is already a triangulation then the canonical retriangulation is the same; otherwise it retriangulates the Epstein-Penner decomposition in a canonical way by introducing new internal vertices. Because of this latter possibility, the result will be one of ®ina;'s more flexible triangulation packets, and not a &snappea; triangulation.

This is one of &snappea;'s more fragile operations: it will often compute the canonical retriangulation incorrectly due to floating point errors. Regardless, it is guaranteed that whatever triangulation &snappea; does produce will be homeomorphic to the original.

To compute the canonical retriangulation, select &snappea; Triangulation Build Canonical Retriangulation from the menu, or press the corresponding toolbar button. This will create a new ®ina; triangulation immediately beneath the original &snappea; triangulation in the packet tree; the original will be left untouched.

### Exporting to Other Formats

The File tab shows the triangulation in &snappeapy;'s own file format. You can copy this to the clipboard and paste it into other applications if you wish.

If you simply wish to save the triangulation as a &snappeapy; data file on your hard drive, you might find it easier to export the &snappea; triangulation directly instead.

#### Converting to a ®ina; Triangulation

If you want access to ®ina;'s full functionality and fine-grained access to the triangulation, you can convert your &snappea; triangulation packet into one of ®ina;'s native 3-manifold triangulation packets. To do this, select &snappea; Triangulation Convert to ®ina; from the menu, or press the corresponding toolbar button. This will create a new ®ina; triangulation immediately beneath the original &snappea; triangulation in the packet tree; the original will be left untouched.

Be aware that, when you convert to a ®ina; triangulation, all &snappea;-specific information such as fillings and peripheral curves will be lost. If you want the new ®ina; triangulation to include your fillings, then you should first make your fillings permanent.