SnapPea 3025251 221294273 2008-06-23T22:07:38Z GregorB 179697 +cat [[Image:SnapPea-horocusp_view.png|250px|thumbnail|cusp view of the [[Borromean rings]] complement. A fundamental parallelogram is drawn.]] '''SnapPea''' is [[free software]] designed to help [[mathematician]]s, in particular [[low-dimensional topology|low-dimensional topologists]], study [[hyperbolic 3-manifold]]s. The primary developer is [[Jeffrey Weeks (mathematician)|Jeffrey Weeks]], who created the first version as part of his doctoral thesis. The latest version is 3.0d3. [[Marc Culler]] and [[Nathan Dunfield]] have a version which extends SnapPea's [[Python (programming language)|Python]] interface (see external links below). The following people are credited in SnapPea 2.5.3's list of acknowledgments: [[Colin Adams (mathematician)|Colin Adams]], [[Bill Arveson]], [[Pat Callahan (mathematician)|Pat Callahan]], [[Joe Christy]], [[David Gabai|Dave Gabai]], [[Charlie Gunn]], [[Martin Hildebrand]], [[Craig Hodgson]], [[Diane Hoffoss]], [[A. C. Manoharan]], [[Al Marden]], [[Dick McGehee]], [[Rob Meyerhoff]], [[Lee Mosher]], [[Walter Neumann]], [[Carlo Petronio]], [[Mark Phillips (mathematician)|Mark Phillips]], [[Alan Reid (mathematician)|Alan Reid]], and [[Makoto Sakuma]]. The [[C (programming language)|C]] source code is extensively commented by Weeks and contains useful descriptions of the mathematics involved with references. ==Algorithms and functions== At the core of SnapPea are two main algorithms. The first attempts to find a minimal [[ideal triangulation]] of a given [[link complement]]. The second computes the [[canonical decomposition (hyperbolic manifold)|canonical decomposition]] of a cusped [[hyperbolic 3-manifold]]. Almost all the other functions of SnapPea rely in some way on one of these decompositions. ===Minimal ideal triangulation=== SnapPea inputs data in a variety of formats. Given a [[link diagram]], SnapPea can ideal triangulate the [[link complement]]. It then performs a sequence of simplifications to find a minimal ideal triangulation. Once a minimal ideal triangulation is found, SnapPea can try and find a hyperbolic structure. [[William Thurston|Thurston]] has described, in his Princeton lecture notes, a method for describing the geometric shape of each hyperbolic tetrahedron by a complex number and a set of nonlinear equations of complex variables whose solution would give a complete hyperbolic metric on the 3-manifold. These equations consist of ''edge equations'' and ''cusp (completeness) equations''. SnapPea uses an iterative method utilizing [[Newton's method]] to search for solutions. If no solution exists, then it retriangulated randomly and tries again. The minimality of the triangulation is meant to increase the likelihood that such a solution exists, since heuristically one might expect the minimal triangulation to be "straightened" without causing degenerations or overlapping of tetrahedra. From this description of the hyperbolic structure on a link complement, SnapPea can then perform [[hyperbolic Dehn surgery|hyperbolic Dehn filling]] on the cusps to obtain more hyperbolic 3-manifolds. SnapPea does this by taking any given slopes which determine certain ''Dehn filling equations'' (also explained in Thurston's notes), and then adjusting the shapes of the ideal tetrahedra to give solutions to these equations and the edge equations. This gives an (incomplete) hyperbolic structure on almost all of the Dehn-filled manifold. The completion gives a hyperbolic structure on the entire manifold. Its volume is the sum of the volumes of the adjusted tetrahedra. ===Canonical decomposition=== SnapPea is usually able to compute the canonical decomposition of a cusped hyperbolic 3-manifold from a given ideal triangulation. If not, then it randomly retriangulates and tries again. This has never been known to fail. The canonical decomposition allows SnapPea to tell two cusped hyperbolic 3-manifolds apart by turning the problem of recognition into a combinatorial question, i.e. checking if the two manifolds have combinatorially equivalent canonical decompositions. SnapPea is also able to check if two ''closed'' hyperbolic 3-manifolds are isometric by drilling out short [[geodesic]]s to create cusped hyperbolic 3-manifolds and then using the canonical decomposition as before. The recognition algorithm allow SnapPea to tell two hyperbolic knots or links apart. Weeks, et al, were also able to compile different censuses of hyperbolic 3-manifolds by using the algorithm to cull lists of duplicates. Additionally, from the canonical decomposition, SnapPea is able to: *Compute the Ford domain *Compute the symmetry group ===Computable invariants=== ===Censuses=== SnapPea has several databases of hyperbolic 3-manifolds available for systematic study. *Cusped census *Closed census ==References== *Weeks, Jeffrey R., SnapPea C source code, (1999) *Weeks, Jeffrey R., ''Convex hulls and isometries of cusped hyperbolic $3$-manifolds.'' Topology Appl. 52 (1993), no. 2, 127--149. ==External links== *[http://www.math.uic.edu/~t3m/ Culler and Dunfield's extension of SnapPea] *[http://www.geometrygames.org/SnapPea/ Jeff Weeks' SnapPea site] [[Category:3-manifolds]] [[Category:Numerical software]] [[Category:Free software programmed in C]] [[Category:Free mathematics software]]