This webpage collects data related to veering structures on ideal triangulations of three-manifolds, as introduced by Ian Agol in his 2011 paper, Ideal triangulations of pseudo-Anosov mapping tori. The data and images here were all generated in collaboration with Saul Schleimer, using Regina by Ben Burton, Ryan Budney, William Pettersson, and others. We also provide data derived from our census using SnapPy, written by Marc Culler, Nathan Dunfield, and Matthias Goerner using the SnapPea kernel written by Jeff Weeks.

For the definition of a veering triangulation as used on this webpage, see the paper Veering triangulations admit strict angle structures by Hodgson, Rubinstein, Segerman and Tillmann.

The code we used to generate the census below was based on a previous census generating program written by my master's student Andreas Giannopolous.

The census

Here we restrict to transverse veering structures, meaning that the two-skeleton of the triangulation admits a transverse coorientation compatible with the taut angle structure. However, we do not restrict to layered triangulations.

We build all transverse veering triangulations with up to 16 tetrahedra, for a total of 87047 veering structures. The census is given in the form of a text file. Each line of the text file is the taut isoSig for a veering triangulation. A taut isoSig is formatted as follows:

[isoSig]_[taut angle structure]

Here, [isoSig] is Regina's isomorphism signature for the triangulation, and [taut angle structure] is a string of numbers that records which pair of edges in each tetrahedron has angle pi. A "0" means that the edges between vertices 0 and 1, and between vertices 2 and 3 in Regina's numbering of that tetrahedron has angle pi. A "1" means the same for the edges between vertices 0 and 2, and between vertices 1 and 3. A "2" means the same for the edges between vertices 0 and 3, and between vertices 1 and 2.

If a triangulation has non-trivial symmetries then it is possible that different taut angle structures on the same triangulation can give the same veering structure. In such a case, we choose the lexicographically earliest taut angle structure string for the taut isoSig.

Note that Regina's method to generate a triangulation from an isoSig does not return an oriented triangulation, even when the triangulation is orientable. To remedy this, we provide a Regina-Python utility script that returns an oriented triangulation, together with the taut angle structure for that oriented triangulation. (In fact, our oriented triangulation is constructed in such a way that its taut angle structure has pis at the same edges of each tetrahedron as that of Regina's triangulation, and hence matches the taut isoSig.) Note that there is no canonical choice of the two possible orientations: we choose one arbitrarily. Reversing the orientation swaps the edge colours.

Here, for each number of tetrahedra we tabulate the number of veering structures, and the number of those structures with various other properties. The data on non-geometric triangulations was generated by SnapPy (and therefore requires further grains of salt).

tetrahedra veering structures zero Euler class layered measurable non-measurable non-geometric
2 2 2 2 0 0 0
3 3 3 3 0 0 0
4 12 12 12 0 0 0
5 20 20 16 0 4 0
6 50 48 37 1 12 0
7 85 83 61 0 24 0
8 202 191 142 11 49 0
9 355 337 235 29 91 1
10 745 690 492 64 189 3
11 1358 1259 866 103 389 9
12 2867 2656 1833 219 815 22
13 5330 4887 3255 456 1619 52
14 10972 10047 6709 982 3281 110
15 21283 19417 12497 1973 6813 234
16 43763 39970 25606 4118 14039 503
We conjecture that the fraction of veering triangulations that are measurable (but not layered) tends to one as the number of tetrahedra increases. We conjecture the same for the fraction of non-geometric triangulations. Note that in Random veering triangulations are not geometric, David Futer, Sam Taylor and Will Worden prove the latter conjecture, restricted to layered veering triangulations.

Triangulation of the boundary torus (in the geometric and ladders styles) for the veering
triangulation gLLAQbecdfffhhnkqnc_120012. This manifold is s227 in the SnapPy census.

Induced triangulations of the boundary tori

For veering triangulations from our census up to 12 tetrahedra (5699 veering triangulations), we draw pictures of the induced triangulation of each boundary torus. We now explain these pictures further. We put our eye at a cusp. A tetrahedron incident to that cusp then has at least one of its vertices at our eye. We draw a dot for each edge leaving such a vertex, and we draw the remaining three edges connecting those dots. So each vertex of each tetrahedron gives a triangle on these images. The numbers on the pictures agree with Regina's numbering scheme, as follows. Each triangle is labelled with a tetrahedron number, together with a subscript indicating which of the four vertices of the tetrahedron is at our eye. The three corners of the triangle are labelled with the other three vertices of that tetrahedron. Faces of the triangulation are labelled with green numbers on the corresponding edges of the boundary triangulation. We also draw a green circle at a vertex or edge-midpoint if the triangulation of the boundary torus has a rotational symmetry there. When a manifold has multiple boundary components, we draw them in a column, ordered by Regina's numbering, with the zeroth cusp at the bottom.

We draw these pictures in two styles: geometric - following the geometry induced by the complete hyperbolic structure on the manifold, and ladders - essentially in the style of the pictures in Explicit angle structures for veering triangulations by David Futer and François Guéritaud. We differ from that paper in that we smooth the edges so that they are vertical at each vertex. This makes our ladderpoles straight.

Mid-annuli for gLLAQbecdfffhhnkqnc_120012,
a veering triangulation for the manifold
s227 in the SnapPy census.


Following our paper From veering triangulations to pseudo-Anosov flows (in progress), a manifold with a veering triangulation canonically decomposes into a union of veering solid tori. Each veering solid torus has a vertical mid-annulus cutting it in half. The mid-annuli glue together to give the mid-surface. For veering triangulations from our census up to 12 tetrahedra, we draw pictures of the mid-annuli, cut into half-diamonds, which are labelled by the tetrahedra they are in. Each half-diamond sits in either the top or bottom half of a tetrahedron, and has vertices at the midpoints of the majority colour edge in that half-tetrahedron.

In a separate file, we draw the top two and bottom two triangles of each tetrahedron in a column, with edge and face numbers marked. The same numbers appear on the mid-annuli. We draw edge orientations on the edges in the tetrahedra pictures. These orientations also appear at the corners of each half-diamond on the mid-annuli picture, indicated by either a "." or a "x" after the edge number. These correspond to the arrow pointing out of, or into the screen respectively. Edge numbers have a circle around them when the gluing of the mid-annuli at this edge reverses the orientation on the screen. In particular, we have circles if and only if the mid-surface is non-orientable. Note that our edge orientations are not the same as the orientations given by Regina: we choose our orientations so that as much as possible, two edges of the same colour on the boundary of a triangle have the same orientation relative to their shared vertex.

Tetrahedra for gLLAQbecdfffhhnkqnc_120012, a
veering triangulation for the manifold s227 in the SnapPy census.


If you find this census useful in your research, please consider citing it. A suggested reference is:

Andreas Giannopolous, Saul Schleimer and Henry Segerman. 
A census of veering structures., 2019.

Bibtex entry:

        author = {Giannopolous, Andreas and Schleimer, Saul and Segerman, Henry},
        title = {A census of veering structures},
        howpublished = {\url{} {YYYY/MM/DD}}


This page last updated: