Exceptional Dehn surgeries

I have written a python code which can be used on SnapPy to classify the exceptional fillings on a cusped hyperbolic 3-manifold, as explained in the paper You can use this code to try to classify the exceptional Dehn surgeries on your favourite link in the three-sphere. Just follow these steps:
  1. Download Snappy, written by Culler, Dunfield, and Weeks, and practice yourself with the python command line by playing with some hyperbolic 3-manifolds;
  2. Install the hikmot module;
  3. Draw your link with SnapPy and save its complement as a file manifold.tri;
  4. Download the archive find_exceptional_fillings.zip on your computer. The archive contains two main python codes find_exceptional_fillings.py and search_geometric_solutions.py;
  5. Run find_exceptional_fillings.py under a python interpreter.
The output of the program will consist of two lists:
  1. A list of candidate exceptional fillings, for which SnapPy was unable to find any kind of solution;
  2. A list of candidate hyperbolic fillings, for which SnapPy found some numerical non-geometric solution (with flat or negatively oriented tetrahedra).
For instance, if the manifold is the Whitehead link complement the output is as follows:

Candidate exceptional fillings:
With 1 fillings: [[(0,0),(0,1)],[(0,0),(1,0)],[(0,0),(1,1)],[(0,0),(2,1)],[(0,0),(3,1)],[(0,0),(4,1)],[(0,1),(0,0)],[(1,0),(0,0)],[(1,1),(0,0)],[(2,1),(0,0)],[(3,1),(0,0)],[(4,1),(0,0)]]
Total: 12
With 2 fillings:
[[(-4,1),(-1,1)],[(-3,1),(-1,1)],[(-2,1),(-2,1)], [(-2,1),(-1,1)],[(-1,1),(-4,1)],[(-1,1),(-3,1)], [(-1,1),(-2,1)],[(-1,1),(-1,1)],[(3,2),(5,1)], [(4,3),(5,1)],[(5,1),(3,2)],[(5,1),(4,3)], [(5,2),(7,2)],[(7,2),(5,2)]]
Total: 14
Candidate hyperbolic fillings:
With 1 fillings:
Total: 0
With 2 fillings:
[[(-3,1),(-2,1)],[(-2,1),(-3,1)],[(3,2),(6,1)], [(5,2),(6,1)],[(6,1),(3,2)],[(6,1),(5,2)]]
Total: 6

The output says that the candidate exceptional fillings are:

  1. the single fillings 0, 1, 2, 3, 4 on either component of the link,
  2. the pairs of fillings (-4, -1), (-3, -1), (-2, -2), (-2, -1), (3/2, 5), (4/3, 5), (5/2, 7/2), and their symmetric companions.
These form the first list. The second list consists of candidate hyperbolic fillings, and these are (-3, -2), (3/2, 6), (5/2, 6) and their symmetric companions.

Most likely, the first list is a complete list of exceptional fillings, in the sense that a filling of the Whitehead link exterior is exceptional if and only if it contains one of these fillings. To get a rigorous proof of this fact you need to:

  1. Prove that all the filled manifolds in list 1 are indeed not hyperbolic, and more precisely that they are graph manifolds (if one filling contains some hyperbolic piece in its canonical decomposition along sphere and tori, it should be analysed separately, because some of their fillings might be non-exceptional, i.e. hyperbolic);
  2. Prove that all the filled manifolds in list 2 are indeed hyperbolic: these manifolds are typically closed, but if some were not, its fillings should be further investigated separately. To fulfill this task you may use the separate code search_geometric_solution.py which is more powerful in detecting hyperbolicity.
For more details see our paper quoted above.


There have been essentially two versions of these codes, one written in 2011 (now obsolete) and the current one, written in november 2013. The main improvement of the current version is the use of the hikmot module to ensure rigorousness of numerical computations.

I warmly thank Hidetoshi Masai for various helpful conversations.