Riemann sum gif

Experimental statistics of veering triangulations: Supporting materials


This page contains supporting files for Experimental statistics of veering triangulations. This includes a database covering over 850,000 triangulated hyperbolic manifolds, Python scripts needed to generate this data, and a Python script which contains a toolbox for querying the database.

The work in this paper relies heavily on the programs flipper and SnapPy, which can be downloaded here: flipper; SnapPy.

Python files: ESVT_py_all.zip (39kb)

the zipped archive linked above contains the following files:

surf.py: This is essentially a flipper extension. It allows you to create any punctured surface of positive complexity (along with mapping class group generators) in flipper. It should eventually be implemented in flipper.

vt_bundle.py: contains a Python class VT_Bundle() whose attributes point to all the information of interest for a mapping class, including the flipper veering traingulation and everything else that flipper computes at the same time.

hpc_get.py: this is top level code for compuations on the computing cluster.

vt_tools.py: A toolbox for querying the database, and generating graphics.

...and support files for those above, plus some Shell scripts for managing hpc computation.

Raw data: ESVT_data.zip (22gb) -- please email to ftp/rsync this file

William Worden

Contact info:

Temple University

Department of Mathematics

517 Wachman Hall

1805 N. Broad St.

Philadelphia, PA 19122


The zipped archive linked above contains a folder with about 300 subfolders, each of which is the output of a block of computations, and contains data for (typically) between 1000 and 10,000 random veering triangulations. Within each of these subfolders, certain parameters are constant---such as the filled fiber surface, the approximate word length, whether the systole was computed, etc. Each subfolder contains the following files/folders:

dicts/: for each triangulation, contains a cPickle of a Python dictionary, obtained by calling the method VT_Bundle.dictionary(). This is where most of the properties of the manifold are stored.

dicts.txt: everything in dicts/, aggregated into one file. Is a Python set, in cPickle form.

tets/: tetrahedra shape information, as a Python cPickle. This is not included as part fo the dictionaries in dicts/ because tetrahedra shapes require a lot of memory. This allows the query tool to load just the dictionary, without tet shapes, and hence use far less memory. If tetrahedra shapes are needed, then they can optionally be loaded, at the cost of memory.

tets.txt: everything in tets/, aggregated into one file. It is a Python set, in cPickle form.

stderr/, stdout/, stderr.txt, stdout.txt: standard error and standard out files for each triangulation computed, and single file aggregates thereof.

type.txt: contains the list of arguments for hpc_get.py. All triangulations in this subfolder were generated using these arguments.

All other files are input files for the computations, and logfiles generated by the compute node.

NOTE: for filled fibers \Sigma = \Sigma_{1,n}, n > 2, the generators a_0 and p_0 as given in Figure 7 of the paper, are transposed in the data. This does not affect the results since we are interested in random triangulations, but may be relevant if you are interested in reproducing or understanding a particular example in our data set. This is a result of an error in the version of surf.py used for our computations. The version contained in ESVT_py_all.zip is corrected, and produces generators as shown in Figure 7.