Skip to main content

This is Python code for computing:

– the complete hyperbolic structure by giving equations for edge and crossing labels (1 in the menu) and their complex values (2 in the menu) for a hyperbolic link in 3-sphere;

– equations for the canonical component of PSL(2, C)-representation variety (3 in the menu) of a hyperbolic knot in 3-sphere.

If you use Windows and would rather not run the code and associated modules, here is exe file.

The link/knot diagram needs to be taut (e.g. any reduced alternating diagram is taut) and can be given as Dowker-Thistlethwaite (DT) code or planar diagram (PD) code (the latter only for alternating links).

Computing 1 and 2 are based on this paper by Thistlethwaite and Tsvietkova; 3 is based on an upcoming preprint by K. Petersen and A. Tsvietkova. The equations for 3 can be large, and are hence additionally recorded in a txt file (called log) in the folder with the code.

Different people worked on the code at different times: Jaeyun Bae, Mark Bell, Dale Koenig, Alex Lowen, Anastasiia Tsvietkova. The code uses the Spherogram module from SnapPy, as well as the NumPy, SciPy, and SymPy packages.

If you use the code, please reference it as
Jaeyun Bae, Mark Bell, Dale Koenig, Alex Lowen, Anastasiia Tsvietkova, Geometric structures from diagrams, www.github.com/Nastia-Tsvietkova/Geometric-Structures

Many people were students or postdocs when they worked on the code, and were learning to code. So please excuse any potential bugs or inefficiency you may find! If you might be interested in contributing, email Anastasiia Tsvietkova.

The project is/was partially supported by NSF and OIST under grants with Anastasiia Tsvietkova as the PI (see this page for the full list of related funding).