Crushing and Cutting

In certain situations normal surfaces can be used to decompose the underlying triangulation into smaller and/or simpler components. The available ways in which this can be done are as follows.

Crushing a Surface

A normal surface can be crushed to a point in the underlying triangulation by selecting the surface within the table and invoking the Normal Surfaces->Crush Surface menu item.

The original triangulation will not be changed; a new triangulation in which the selected surface has been crushed will appear as a child packet of this surface list.

Note that crushing a normal surface might change the topology of the underlying 3-manifold (beyond the simple act of slicing along the surface) and in some cases might introduce ideal vertices or even invalid edges. For details see NNormalSurface::crush() in the calculation engine documentation.

Why crush a surface if it can have such nasty side-effects? The advantage is that, unlike the cutting operation described below, crushing a surface can only ever reduce the number of tetrahedra in a triangulation (the worst case is where the surface only contains vertex links, whereupon the number of tetrahedra will remain the same).

In general you should only crush a normal surface when there are theoretical reasons to know that this is safe. Examples of safe scenarios can be found in Jaco and Rubinstein's paper on 0-efficiency [JR03].

Cutting Along a Surface

Instead of crushing a surface to a point, one might wish to simply slice along the surface and subdivide the resulting polyhedra into tetrahedra to produce a new triangulation.

This has the advantage over crushing in that it will never change the topology of the underlying 3-manifold beyond the act of simply slicing along the surface. It will also never introduce new ideal vertices or invalid edges.

The disadvantage is that, after cutting along a surface, the number of tetrahedra in the triangulation can potentially skyrocket. This has severe implications if you wish to do anything computationally intensive with the resulting triangulation(s).

To cut along a normal surface, select the surface within the table and invoke the Normal Surfaces->Cut Along Surface menu item. As with crushing, the original triangulation will not be changed; the resulting cut-open triangulation will be added to the packet tree as a new child of this surface list.

Tip

When crushing or cutting along a two-sided surface, it is possible that you will end up with a disconnected triangulation. The menu item Triangulation->Extract Components can be used to split this triangulation into its connected components. See the section on component decomposition for details.