SnapPea inputs data in a variety of formats. Given a link diagram, SnapPea can ideally triangulate the link complement. It then performs a sequence of simplifications to find a locally minimal ideal triangulation. Once a suitable ideal triangulation is found, SnapPea can try to find a hyperbolic structure. In his Princeton lecture notes, Thurston noted 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 equations. SnapPea uses an iterative method utilizing Newton's method to search for solutions. If no solution exists, then this is reported to the user. The local minimality of the triangulation is meant to increase the likelihood that such a solution exists, since heuristically one might expect such a 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 filling on the cusps to obtain more hyperbolic 3-manifolds. SnapPea does this by taking any given slopes which determine certain Dehn filling equations, and then adjusting the shapes of the ideal tetrahedra to give solutions to these equations and the edge equations. For almost all slopes, this gives an incomplete hyperbolic structure on the link complement, whose completion gives a hyperbolic structure on the Dehn-filled 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 geodesics 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: