News

  • Version 3.2 (January 2025):

    • An alternative implementation of the length spectrum. It supports verified computations and is significantly faster in some cases. See length_spectrum_alt and length_spectrum_alt_gen.

    • isometry_signature now also works for closed manifolds.

    • A paper plane or eye ball in the inside_view showing the position and bearing of the user in the hyperbolic manifold. By default, we now show the paper plane instead of the edges of the triangulation so that the view is intrinsic to the manifold. The geodesics window now also features a button to put the camera onto a geodesic. Here are some examples:

      Paper plane near shortest geodesic of o9_00000 Paper plane very near shortest geodesic of o9_00000 Paper plane on shortest geodesic of m004 Paper plane coming out of a cusp of m125
    • A faster and more robust algorithm to the compute maximal cusp area matrix. The new algorithm is now the default for cusp_area_matrix(), cusp_areas(), short_slopes() and cusp_translations().

    • New options ignore_curves and ignore_filling_orientations for triangulation_isosig(). Also fixing a subtle bug where the filling coefficients returned by triangulation_isosig were not canonical when ignore_curve_orientations = True.

    • canonical_retriangulation() and isometry_signature() fail with exceptions rather than silently returning None. In particular, it now safe to compare isometry signatures (without further checks) to determine whether M and N are isometric hyperbolic manifolds:

      >>> M.isometry_signature(verified=True) == N.isometry_signature(verified=True)
      
    • Bug fix to slice_obstruction_HKL: earlier versions incorrectly allowed looking at mod 2 homology of the branched cover, where the theory does not directly apply.

    • New self-contained SnapPy application for Linux.

    • Support for Python 3.13 and SageMath 10.5.

  • Versions 3.1 (May 2023) and 3.1.1 (June 2023):

    • A method exterior_to_link for going from a link exterior to a link diagram taken from Dunfield-Obeidin-Rudd.

    • Covers now computed by the stand-alone low_index module, which uses multiple processor cores and is typically much faster than the old code. In some cases, it is dramatically faster than even GAP or Magma.

    • Added geodesics to the inside_view.

    • Added drilling any simple geodesic with drill_word and drill_words, not just those that are combinatorially simple.

    • Added ignore_orientation flag to triangulation_isosig.

    • Added include_words flag to length_spectrum for getting the word corresponding to a geodesic which can be given to drill_word.

    • Support for Python 3.11 and SageMath 10.0.

    • Modernized styling of the documentation.

  • Version 3.0.3 (December 2021):

    • Runs natively on Macs with Apple Silicon processors (M1, M2, and variants).

  • Version 3.0.2 (November 2021):

    • Support for SageMath 9.4 and 9.5, Python 3.10, and macOS Monterey.

  • Version 3.0 (April 2021): New features include:

    • Incorporates Zoltán Szabó’s program for computing Knot Floer homology, see knot_floer_homology. This can compute the Seifert genus of a 25 crossing knot in mere seconds!

    • Topological slice obstructions of Herald-Kirk-Livingston, see slice_obstruction_HKL.

    • Faster “local” algorithm for jones_polynomial.

    • Cohomology fractals added to inside_view.

    • Convention changes: Sign of knot signature (now positive knots have negative signatures), choice of braid generators (now positive generators give positive crossings).

    • Updates to methods cusp_translations, cusp_areas, short_slopes. Also Link now accepts DT codes.

    • Support for SageMath 9.3, Python 3.9, and macOS Big Sur.

    • macOS app now code-signed and notarized.

    • SnapPy now requires Python 3.6 or newer.

  • Version 2.8 (June 2020): New features include:

  • Version 2.7 (July 2019): New features include:

    • Python 3 is now recommended over Python 2 on all platforms; the default Mac and Windows apps use Python 3 rather than Python 2. The only difference most users will notice is that one must type print(blah) instead of print blah.

    • Verified computations: performance improvements by switching to the Krawczyk test.

    • Support for SageMath 8.8.

    • Installation instructions extensively updated.

    • GUI improvements, especially on macOS. These include improved support for dark mode and tabs on macOS Mojave and preliminary support for macOS Catalina.

  • Version 2.6.1 (August 2018): New features include:

  • Version 2.6 (Nov 2017): New features include:

    • Support for macOS High Sierra, SageMath 8.1, and Windows systems using non-Latin alphabets.

    • Many bug fixes, including improved Python 3 support.

  • Version 2.5 (Feb 2017): New features include:

    • Rigorous computation of hyperbolic volume.

    • STL export of Dirichlet domains for 3D printing, contributed by Jose Sanchez.

    • Support for Python 3, SageMath 7.5, 7.6, and 8.0, and many more versions of Python on Windows.

    • Much improved infrastructure for testing and distributing SnapPy.

  • Version 2.4 (May 2016): New features include:

  • Version 2.3 (March 2015): New features include:

    • Major improvements to the link and planar diagram component, including link simplification, random links, and better documentation.

    • Basic support for spun normal surfaces.

    • New extra features when used inside of Sage:

    • Better compatibility with OS X Yosemite and Windows 8.1.

    • Development changes:

      • Major source code reorganization/cleanup.

      • Source code repository moved to Bitbucket.

      • Python modules now hosted on PyPI, simplifying installation.

  • Version 2.2 (June 2014): Includes Ben Burton’s census of orientable cusped manifolds with 9 tetrahedra.

  • Version 2.1 (February 2014): New high-precision manifolds (ManifoldHP) which compute hyperbolic structures (and everything related) in quad-double (212 bit) precision.

  • Version 2.0 (September 2013): Many new features, including:

    • A manifold browser window for easily examining a particular manifold.

    • Many improvements to the link editor, including

      • A smoothed view mode with image export to EPS/PDF/SVG/TikZ.

      • Producing a fully editable link from combinatorial data like a DT code.

    • Splitting manifolds along surfaces of non-negative euler characteristic.

    • Generalizing the ptolemy obstruction class to allow computation of PGL(3,C)-representations and improving usability of the ptolemy module.

    • CensusKnots now includes knot exteriors with 8 tetrahedra.

  • Version 1.8 (May 2013) improves handling of DT codes and adds the HTLinkExteriors census, which provides identification for knots and links up to 14 crossings.

  • Version 1.7 (November 2012) incorporates the ptolemy module for studying representations of 3-manifold groups into pSL(N, C).

  • Version 1.6 (August 2012) includes a new way to make links and some support for arbitrary precision calculation.

  • Version 1.5 (February 2012) includes much improved manifold censuses.

  • Version 1.4 (December 2011) uses the current release of IPython, which has been completely rewritten.

  • Version 1.3.10 (July 2011) incorporates Twister.

  • Version 1.3 (February 2011) has a completely redesigned cusp horoball viewer and many bug fixes!

  • Version 1.2 (December 2010).

  • Version 1.1 (February 2010).

  • Version 1.0 (August 2009) Initial version.