snappy 3.3__cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- snappy/CyOpenGL.cpython-310-aarch64-linux-gnu.so +0 -0
- snappy/SnapPy.cpython-310-aarch64-linux-gnu.so +0 -0
- snappy/SnapPy.ico +0 -0
- snappy/SnapPy.png +0 -0
- snappy/SnapPyHP.cpython-310-aarch64-linux-gnu.so +0 -0
- snappy/__init__.py +534 -0
- snappy/app.py +604 -0
- snappy/app_menus.py +372 -0
- snappy/browser.py +998 -0
- snappy/cache.py +25 -0
- snappy/canonical.py +249 -0
- snappy/cusps/__init__.py +280 -0
- snappy/cusps/cusp_area_matrix.py +98 -0
- snappy/cusps/cusp_areas_from_matrix.py +96 -0
- snappy/cusps/maximal_cusp_area_matrix.py +136 -0
- snappy/cusps/short_slopes_for_cusp.py +217 -0
- snappy/cusps/test.py +22 -0
- snappy/cusps/trig_cusp_area_matrix.py +63 -0
- snappy/database.py +454 -0
- snappy/db_utilities.py +79 -0
- snappy/decorated_isosig.py +717 -0
- snappy/dev/__init__.py +0 -0
- snappy/dev/extended_ptolemy/__init__.py +8 -0
- snappy/dev/extended_ptolemy/closed.py +106 -0
- snappy/dev/extended_ptolemy/complexVolumesClosed.py +149 -0
- snappy/dev/extended_ptolemy/direct.py +42 -0
- snappy/dev/extended_ptolemy/extended.py +406 -0
- snappy/dev/extended_ptolemy/giac_helper.py +43 -0
- snappy/dev/extended_ptolemy/giac_rur.py +129 -0
- snappy/dev/extended_ptolemy/gluing.py +46 -0
- snappy/dev/extended_ptolemy/phc_wrapper.py +220 -0
- snappy/dev/extended_ptolemy/printMatrices.py +70 -0
- snappy/dev/vericlosed/__init__.py +1 -0
- snappy/dev/vericlosed/computeApproxHyperbolicStructureNew.py +159 -0
- snappy/dev/vericlosed/computeApproxHyperbolicStructureOrb.py +90 -0
- snappy/dev/vericlosed/computeVerifiedHyperbolicStructure.py +111 -0
- snappy/dev/vericlosed/gimbalLoopFinder.py +130 -0
- snappy/dev/vericlosed/hyperbolicStructure.py +313 -0
- snappy/dev/vericlosed/krawczykCertifiedEdgeLengthsEngine.py +165 -0
- snappy/dev/vericlosed/oneVertexTruncatedComplex.py +122 -0
- snappy/dev/vericlosed/orb/__init__.py +1 -0
- snappy/dev/vericlosed/orb/orb_solution_for_snappea_finite_triangulation_mac +0 -0
- snappy/dev/vericlosed/parseVertexGramMatrixFile.py +47 -0
- snappy/dev/vericlosed/polishApproxHyperbolicStructure.py +61 -0
- snappy/dev/vericlosed/test.py +54 -0
- snappy/dev/vericlosed/truncatedComplex.py +176 -0
- snappy/dev/vericlosed/verificationError.py +58 -0
- snappy/dev/vericlosed/verifyHyperbolicStructureEngine.py +177 -0
- snappy/doc/_images/SnapPy-196.png +0 -0
- snappy/doc/_images/m004_paper_plane_on_systole.jpg +0 -0
- snappy/doc/_images/m125_paper_plane.jpg +0 -0
- snappy/doc/_images/mac.png +0 -0
- snappy/doc/_images/o9_00000_systole_paper_plane.jpg +0 -0
- snappy/doc/_images/o9_00000_systole_paper_plane_closer.jpg +0 -0
- snappy/doc/_images/plink-action.png +0 -0
- snappy/doc/_images/ubuntu.png +0 -0
- snappy/doc/_images/win7.png +0 -0
- snappy/doc/_sources/additional_classes.rst.txt +40 -0
- snappy/doc/_sources/bugs.rst.txt +14 -0
- snappy/doc/_sources/censuses.rst.txt +52 -0
- snappy/doc/_sources/credits.rst.txt +81 -0
- snappy/doc/_sources/development.rst.txt +261 -0
- snappy/doc/_sources/index.rst.txt +215 -0
- snappy/doc/_sources/installing.rst.txt +249 -0
- snappy/doc/_sources/manifold.rst.txt +6 -0
- snappy/doc/_sources/manifoldhp.rst.txt +46 -0
- snappy/doc/_sources/news.rst.txt +425 -0
- snappy/doc/_sources/other.rst.txt +25 -0
- snappy/doc/_sources/platonic_census.rst.txt +20 -0
- snappy/doc/_sources/plink.rst.txt +102 -0
- snappy/doc/_sources/ptolemy.rst.txt +66 -0
- snappy/doc/_sources/ptolemy_classes.rst.txt +42 -0
- snappy/doc/_sources/ptolemy_examples1.rst.txt +298 -0
- snappy/doc/_sources/ptolemy_examples2.rst.txt +363 -0
- snappy/doc/_sources/ptolemy_examples3.rst.txt +301 -0
- snappy/doc/_sources/ptolemy_examples4.rst.txt +61 -0
- snappy/doc/_sources/ptolemy_prelim.rst.txt +105 -0
- snappy/doc/_sources/screenshots.rst.txt +21 -0
- snappy/doc/_sources/snap.rst.txt +87 -0
- snappy/doc/_sources/snappy.rst.txt +28 -0
- snappy/doc/_sources/spherogram.rst.txt +103 -0
- snappy/doc/_sources/todo.rst.txt +47 -0
- snappy/doc/_sources/triangulation.rst.txt +11 -0
- snappy/doc/_sources/tutorial.rst.txt +49 -0
- snappy/doc/_sources/verify.rst.txt +210 -0
- snappy/doc/_sources/verify_internals.rst.txt +79 -0
- snappy/doc/_static/SnapPy-horizontal-128.png +0 -0
- snappy/doc/_static/SnapPy.ico +0 -0
- snappy/doc/_static/_sphinx_javascript_frameworks_compat.js +123 -0
- snappy/doc/_static/basic.css +906 -0
- snappy/doc/_static/css/badge_only.css +1 -0
- snappy/doc/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- snappy/doc/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- snappy/doc/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- snappy/doc/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- snappy/doc/_static/css/fonts/fontawesome-webfont.eot +0 -0
- snappy/doc/_static/css/fonts/fontawesome-webfont.svg +2671 -0
- snappy/doc/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- snappy/doc/_static/css/fonts/fontawesome-webfont.woff +0 -0
- snappy/doc/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- snappy/doc/_static/css/fonts/lato-bold-italic.woff +0 -0
- snappy/doc/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- snappy/doc/_static/css/fonts/lato-bold.woff +0 -0
- snappy/doc/_static/css/fonts/lato-bold.woff2 +0 -0
- snappy/doc/_static/css/fonts/lato-normal-italic.woff +0 -0
- snappy/doc/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- snappy/doc/_static/css/fonts/lato-normal.woff +0 -0
- snappy/doc/_static/css/fonts/lato-normal.woff2 +0 -0
- snappy/doc/_static/css/theme.css +4 -0
- snappy/doc/_static/doctools.js +149 -0
- snappy/doc/_static/documentation_options.js +13 -0
- snappy/doc/_static/file.png +0 -0
- snappy/doc/_static/fonts/Lato/lato-bold.eot +0 -0
- snappy/doc/_static/fonts/Lato/lato-bold.ttf +0 -0
- snappy/doc/_static/fonts/Lato/lato-bold.woff +0 -0
- snappy/doc/_static/fonts/Lato/lato-bold.woff2 +0 -0
- snappy/doc/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- snappy/doc/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- snappy/doc/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- snappy/doc/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- snappy/doc/_static/fonts/Lato/lato-italic.eot +0 -0
- snappy/doc/_static/fonts/Lato/lato-italic.ttf +0 -0
- snappy/doc/_static/fonts/Lato/lato-italic.woff +0 -0
- snappy/doc/_static/fonts/Lato/lato-italic.woff2 +0 -0
- snappy/doc/_static/fonts/Lato/lato-regular.eot +0 -0
- snappy/doc/_static/fonts/Lato/lato-regular.ttf +0 -0
- snappy/doc/_static/fonts/Lato/lato-regular.woff +0 -0
- snappy/doc/_static/fonts/Lato/lato-regular.woff2 +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- snappy/doc/_static/jquery.js +2 -0
- snappy/doc/_static/js/badge_only.js +1 -0
- snappy/doc/_static/js/theme.js +1 -0
- snappy/doc/_static/js/versions.js +228 -0
- snappy/doc/_static/language_data.js +192 -0
- snappy/doc/_static/minus.png +0 -0
- snappy/doc/_static/plus.png +0 -0
- snappy/doc/_static/pygments.css +75 -0
- snappy/doc/_static/searchtools.js +635 -0
- snappy/doc/_static/snappy_furo.css +33 -0
- snappy/doc/_static/snappy_sphinx_rtd_theme.css +42 -0
- snappy/doc/_static/sphinx_highlight.js +154 -0
- snappy/doc/additional_classes.html +1500 -0
- snappy/doc/bugs.html +132 -0
- snappy/doc/censuses.html +453 -0
- snappy/doc/credits.html +184 -0
- snappy/doc/development.html +385 -0
- snappy/doc/doc-latest/additional_classes.html +1500 -0
- snappy/doc/doc-latest/bugs.html +132 -0
- snappy/doc/doc-latest/censuses.html +453 -0
- snappy/doc/doc-latest/credits.html +184 -0
- snappy/doc/doc-latest/development.html +385 -0
- snappy/doc/doc-latest/genindex.html +1349 -0
- snappy/doc/doc-latest/index.html +287 -0
- snappy/doc/doc-latest/installing.html +346 -0
- snappy/doc/doc-latest/manifold.html +3632 -0
- snappy/doc/doc-latest/manifoldhp.html +180 -0
- snappy/doc/doc-latest/news.html +438 -0
- snappy/doc/doc-latest/objects.inv +0 -0
- snappy/doc/doc-latest/other.html +160 -0
- snappy/doc/doc-latest/platonic_census.html +376 -0
- snappy/doc/doc-latest/plink.html +210 -0
- snappy/doc/doc-latest/ptolemy.html +253 -0
- snappy/doc/doc-latest/ptolemy_classes.html +1144 -0
- snappy/doc/doc-latest/ptolemy_examples1.html +409 -0
- snappy/doc/doc-latest/ptolemy_examples2.html +471 -0
- snappy/doc/doc-latest/ptolemy_examples3.html +414 -0
- snappy/doc/doc-latest/ptolemy_examples4.html +195 -0
- snappy/doc/doc-latest/ptolemy_prelim.html +248 -0
- snappy/doc/doc-latest/py-modindex.html +165 -0
- snappy/doc/doc-latest/screenshots.html +141 -0
- snappy/doc/doc-latest/search.html +135 -0
- snappy/doc/doc-latest/searchindex.js +1 -0
- snappy/doc/doc-latest/snap.html +202 -0
- snappy/doc/doc-latest/snappy.html +181 -0
- snappy/doc/doc-latest/spherogram.html +1346 -0
- snappy/doc/doc-latest/todo.html +166 -0
- snappy/doc/doc-latest/triangulation.html +1676 -0
- snappy/doc/doc-latest/tutorial.html +159 -0
- snappy/doc/doc-latest/verify.html +330 -0
- snappy/doc/doc-latest/verify_internals.html +1235 -0
- snappy/doc/genindex.html +1349 -0
- snappy/doc/index.html +287 -0
- snappy/doc/installing.html +346 -0
- snappy/doc/manifold.html +3632 -0
- snappy/doc/manifoldhp.html +180 -0
- snappy/doc/news.html +438 -0
- snappy/doc/objects.inv +0 -0
- snappy/doc/other.html +160 -0
- snappy/doc/platonic_census.html +376 -0
- snappy/doc/plink.html +210 -0
- snappy/doc/ptolemy.html +253 -0
- snappy/doc/ptolemy_classes.html +1144 -0
- snappy/doc/ptolemy_examples1.html +409 -0
- snappy/doc/ptolemy_examples2.html +471 -0
- snappy/doc/ptolemy_examples3.html +414 -0
- snappy/doc/ptolemy_examples4.html +195 -0
- snappy/doc/ptolemy_prelim.html +248 -0
- snappy/doc/py-modindex.html +165 -0
- snappy/doc/screenshots.html +141 -0
- snappy/doc/search.html +135 -0
- snappy/doc/searchindex.js +1 -0
- snappy/doc/snap.html +202 -0
- snappy/doc/snappy.html +181 -0
- snappy/doc/spherogram.html +1346 -0
- snappy/doc/todo.html +166 -0
- snappy/doc/triangulation.html +1676 -0
- snappy/doc/tutorial.html +159 -0
- snappy/doc/verify.html +330 -0
- snappy/doc/verify_internals.html +1235 -0
- snappy/drilling/__init__.py +456 -0
- snappy/drilling/barycentric.py +103 -0
- snappy/drilling/constants.py +5 -0
- snappy/drilling/crush.py +270 -0
- snappy/drilling/cusps.py +125 -0
- snappy/drilling/debug.py +242 -0
- snappy/drilling/epsilons.py +6 -0
- snappy/drilling/exceptions.py +55 -0
- snappy/drilling/moves.py +620 -0
- snappy/drilling/peripheral_curves.py +210 -0
- snappy/drilling/perturb.py +188 -0
- snappy/drilling/shorten.py +36 -0
- snappy/drilling/subdivide.py +274 -0
- snappy/drilling/test.py +23 -0
- snappy/drilling/test_cases.py +132 -0
- snappy/drilling/tracing.py +351 -0
- snappy/exceptions.py +26 -0
- snappy/export_stl.py +120 -0
- snappy/exterior_to_link/__init__.py +2 -0
- snappy/exterior_to_link/barycentric_geometry.py +463 -0
- snappy/exterior_to_link/exceptions.py +6 -0
- snappy/exterior_to_link/geodesic_map.json +14408 -0
- snappy/exterior_to_link/hyp_utils.py +112 -0
- snappy/exterior_to_link/link_projection.py +323 -0
- snappy/exterior_to_link/main.py +198 -0
- snappy/exterior_to_link/mcomplex_with_expansion.py +261 -0
- snappy/exterior_to_link/mcomplex_with_link.py +687 -0
- snappy/exterior_to_link/mcomplex_with_memory.py +162 -0
- snappy/exterior_to_link/pl_utils.py +491 -0
- snappy/exterior_to_link/put_in_S3.py +156 -0
- snappy/exterior_to_link/rational_linear_algebra.py +130 -0
- snappy/exterior_to_link/rational_linear_algebra_wrapped.py +135 -0
- snappy/exterior_to_link/simplify_to_base_tri.py +114 -0
- snappy/exterior_to_link/stored_moves.py +475 -0
- snappy/exterior_to_link/test.py +31 -0
- snappy/filedialog.py +28 -0
- snappy/geometric_structure/__init__.py +212 -0
- snappy/geometric_structure/cusp_neighborhood/__init__.py +3 -0
- snappy/geometric_structure/cusp_neighborhood/complex_cusp_cross_section.py +691 -0
- snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +480 -0
- snappy/geometric_structure/cusp_neighborhood/exceptions.py +41 -0
- snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +294 -0
- snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +156 -0
- snappy/geometric_structure/cusp_neighborhood/vertices.py +35 -0
- snappy/geometric_structure/geodesic/__init__.py +0 -0
- snappy/geometric_structure/geodesic/add_core_curves.py +152 -0
- snappy/geometric_structure/geodesic/avoid_core_curves.py +369 -0
- snappy/geometric_structure/geodesic/canonical_representatives.py +52 -0
- snappy/geometric_structure/geodesic/check_away_from_core_curve.py +60 -0
- snappy/geometric_structure/geodesic/constants.py +6 -0
- snappy/geometric_structure/geodesic/exceptions.py +22 -0
- snappy/geometric_structure/geodesic/fixed_points.py +106 -0
- snappy/geometric_structure/geodesic/geodesic_start_point_info.py +435 -0
- snappy/geometric_structure/geodesic/graph_trace_helper.py +67 -0
- snappy/geometric_structure/geodesic/line.py +30 -0
- snappy/geometric_structure/geodesic/multiplicity.py +127 -0
- snappy/geometric_structure/geodesic/tiles_for_geodesic.py +128 -0
- snappy/geometric_structure/test.py +22 -0
- snappy/gui.py +121 -0
- snappy/horoviewer.py +443 -0
- snappy/hyperboloid/__init__.py +212 -0
- snappy/hyperboloid/distances.py +259 -0
- snappy/hyperboloid/horoball.py +19 -0
- snappy/hyperboloid/line.py +35 -0
- snappy/hyperboloid/point.py +9 -0
- snappy/hyperboloid/triangle.py +29 -0
- snappy/info_icon.gif +0 -0
- snappy/infowindow.py +65 -0
- snappy/isometry_signature.py +389 -0
- snappy/len_spec/__init__.py +609 -0
- snappy/len_spec/geodesic_info.py +129 -0
- snappy/len_spec/geodesic_key_info_dict.py +116 -0
- snappy/len_spec/geodesic_piece.py +146 -0
- snappy/len_spec/geometric_structure.py +182 -0
- snappy/len_spec/geometry.py +136 -0
- snappy/len_spec/length_spectrum_geodesic_info.py +185 -0
- snappy/len_spec/spine.py +128 -0
- snappy/len_spec/test.py +24 -0
- snappy/len_spec/test_cases.py +69 -0
- snappy/len_spec/tile.py +276 -0
- snappy/len_spec/word.py +86 -0
- snappy/manifolds/HTWKnots/alternating.gz +0 -0
- snappy/manifolds/HTWKnots/nonalternating.gz +0 -0
- snappy/manifolds/__init__.py +3 -0
- snappy/margulis/__init__.py +332 -0
- snappy/margulis/cusp_neighborhood_neighborhood.py +66 -0
- snappy/margulis/geodesic_neighborhood.py +152 -0
- snappy/margulis/margulis_info.py +21 -0
- snappy/margulis/mu_from_neighborhood_pair.py +175 -0
- snappy/margulis/neighborhood.py +29 -0
- snappy/margulis/test.py +22 -0
- snappy/math_basics.py +187 -0
- snappy/matrix.py +525 -0
- snappy/number.py +657 -0
- snappy/numeric_output_checker.py +345 -0
- snappy/pari.py +41 -0
- snappy/phone_home.py +57 -0
- snappy/polyviewer.py +259 -0
- snappy/ptolemy/__init__.py +17 -0
- snappy/ptolemy/component.py +103 -0
- snappy/ptolemy/coordinates.py +2290 -0
- snappy/ptolemy/fieldExtensions.py +153 -0
- snappy/ptolemy/findLoops.py +473 -0
- snappy/ptolemy/geometricRep.py +59 -0
- snappy/ptolemy/homology.py +165 -0
- snappy/ptolemy/magma/default.magma_template +229 -0
- snappy/ptolemy/magma/radicalsOfPrimaryDecomposition.magma_template +79 -0
- snappy/ptolemy/manifoldMethods.py +395 -0
- snappy/ptolemy/matrix.py +350 -0
- snappy/ptolemy/numericalSolutionsToGroebnerBasis.py +113 -0
- snappy/ptolemy/polynomial.py +856 -0
- snappy/ptolemy/processComponents.py +173 -0
- snappy/ptolemy/processFileBase.py +247 -0
- snappy/ptolemy/processFileDispatch.py +46 -0
- snappy/ptolemy/processMagmaFile.py +392 -0
- snappy/ptolemy/processRurFile.py +150 -0
- snappy/ptolemy/ptolemyGeneralizedObstructionClass.py +102 -0
- snappy/ptolemy/ptolemyObstructionClass.py +64 -0
- snappy/ptolemy/ptolemyVariety.py +995 -0
- snappy/ptolemy/ptolemyVarietyPrimeIdealGroebnerBasis.py +140 -0
- snappy/ptolemy/reginaWrapper.py +698 -0
- snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c2.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c3.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c4.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c5.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c6.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c7.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files_generalized/m003__sl3_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files_generalized/m003__sl3_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files_generalized/m015__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files_generalized/m015__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files_generalized/m015__sl3_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/regina_testing_files_generalized/m015__sl3_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/rur.py +545 -0
- snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +277 -0
- snappy/ptolemy/test.py +1126 -0
- snappy/ptolemy/testing_files/3_1__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/3_1__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/4_1__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/4_1__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/4_1__sl3_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/4_1__sl4_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/4_1__sl4_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/5_2__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/5_2__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c2.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c3.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c4.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c5.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c6.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c7.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/data/pgl2/OrientableCuspedCensus/03_tetrahedra/m019__sl2_c0.magma_out +95 -0
- snappy/ptolemy/testing_files/data/pgl2/OrientableCuspedCensus/03_tetrahedra/m019__sl2_c1.magma_out +95 -0
- snappy/ptolemy/testing_files/m015__sl3_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/m135__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/m135__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/m135__sl2_c2.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/m135__sl2_c3.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/m135__sl2_c4.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/m135__sl2_c5.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/m135__sl2_c6.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/m135__sl2_c7.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/s000__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/s000__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/t00000__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/t00000__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/v0000__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/v0000__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/v0000__sl2_c2.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files/v0000__sl2_c3.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files_generalized/m003__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files_generalized/m003__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files_generalized/m003__sl3_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files_generalized/m003__sl3_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files_generalized/m004__sl2_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files_generalized/m004__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files_generalized/m015__sl2_c1.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files_generalized/m015__sl3_c0.magma_out.bz2 +0 -0
- snappy/ptolemy/testing_files_rur/m052__sl3_c0.rur.bz2 +0 -0
- snappy/ptolemy/utilities.py +236 -0
- snappy/raytracing/__init__.py +64 -0
- snappy/raytracing/additional_horospheres.py +64 -0
- snappy/raytracing/additional_len_spec_choices.py +63 -0
- snappy/raytracing/cohomology_fractal.py +197 -0
- snappy/raytracing/eyeball.py +124 -0
- snappy/raytracing/finite_raytracing_data.py +237 -0
- snappy/raytracing/finite_viewer.py +590 -0
- snappy/raytracing/geodesic_tube_info.py +174 -0
- snappy/raytracing/geodesics.py +246 -0
- snappy/raytracing/geodesics_window.py +258 -0
- snappy/raytracing/gui_utilities.py +293 -0
- snappy/raytracing/hyperboloid_navigation.py +556 -0
- snappy/raytracing/hyperboloid_utilities.py +234 -0
- snappy/raytracing/ideal_raytracing_data.py +592 -0
- snappy/raytracing/inside_viewer.py +974 -0
- snappy/raytracing/pack.py +22 -0
- snappy/raytracing/raytracing_data.py +126 -0
- snappy/raytracing/raytracing_view.py +454 -0
- snappy/raytracing/shaders/Eye.png +0 -0
- snappy/raytracing/shaders/NonGeometric.png +0 -0
- snappy/raytracing/shaders/__init__.py +101 -0
- snappy/raytracing/shaders/fragment.glsl +1744 -0
- snappy/raytracing/test.py +29 -0
- snappy/raytracing/tooltip.py +146 -0
- snappy/raytracing/upper_halfspace_utilities.py +98 -0
- snappy/raytracing/view_scale_controller.py +98 -0
- snappy/raytracing/zoom_slider/__init__.py +263 -0
- snappy/raytracing/zoom_slider/inward.png +0 -0
- snappy/raytracing/zoom_slider/inward18.png +0 -0
- snappy/raytracing/zoom_slider/outward.png +0 -0
- snappy/raytracing/zoom_slider/outward18.png +0 -0
- snappy/raytracing/zoom_slider/test.py +20 -0
- snappy/sage_helper.py +119 -0
- snappy/settings.py +407 -0
- snappy/shell.py +53 -0
- snappy/snap/__init__.py +117 -0
- snappy/snap/character_varieties.py +375 -0
- snappy/snap/find_field.py +372 -0
- snappy/snap/fox_milnor.py +271 -0
- snappy/snap/fundamental_polyhedron.py +569 -0
- snappy/snap/generators.py +39 -0
- snappy/snap/interval_reps.py +81 -0
- snappy/snap/kernel_structures.py +128 -0
- snappy/snap/mcomplex_base.py +18 -0
- snappy/snap/nsagetools.py +716 -0
- snappy/snap/peripheral/__init__.py +1 -0
- snappy/snap/peripheral/dual_cellulation.py +219 -0
- snappy/snap/peripheral/link.py +127 -0
- snappy/snap/peripheral/peripheral.py +159 -0
- snappy/snap/peripheral/surface.py +522 -0
- snappy/snap/peripheral/test.py +35 -0
- snappy/snap/polished_reps.py +335 -0
- snappy/snap/shapes.py +152 -0
- snappy/snap/slice_obs_HKL/__init__.py +194 -0
- snappy/snap/slice_obs_HKL/basics.py +236 -0
- snappy/snap/slice_obs_HKL/direct.py +217 -0
- snappy/snap/slice_obs_HKL/poly_norm.py +212 -0
- snappy/snap/slice_obs_HKL/rep_theory.py +424 -0
- snappy/snap/t3mlite/__init__.py +2 -0
- snappy/snap/t3mlite/arrow.py +243 -0
- snappy/snap/t3mlite/corner.py +22 -0
- snappy/snap/t3mlite/edge.py +172 -0
- snappy/snap/t3mlite/face.py +37 -0
- snappy/snap/t3mlite/files.py +211 -0
- snappy/snap/t3mlite/homology.py +53 -0
- snappy/snap/t3mlite/linalg.py +419 -0
- snappy/snap/t3mlite/mcomplex.py +1499 -0
- snappy/snap/t3mlite/perm4.py +320 -0
- snappy/snap/t3mlite/setup.py +12 -0
- snappy/snap/t3mlite/simplex.py +199 -0
- snappy/snap/t3mlite/spun.py +297 -0
- snappy/snap/t3mlite/surface.py +519 -0
- snappy/snap/t3mlite/test.py +20 -0
- snappy/snap/t3mlite/test_vs_regina.py +86 -0
- snappy/snap/t3mlite/tetrahedron.py +109 -0
- snappy/snap/t3mlite/vertex.py +42 -0
- snappy/snap/test.py +139 -0
- snappy/snap/utilities.py +288 -0
- snappy/test.py +213 -0
- snappy/test_cases.py +263 -0
- snappy/testing.py +131 -0
- snappy/tiling/__init__.py +2 -0
- snappy/tiling/dict_based_set.py +79 -0
- snappy/tiling/floor.py +49 -0
- snappy/tiling/hyperboloid_dict.py +54 -0
- snappy/tiling/iter_utils.py +78 -0
- snappy/tiling/lifted_tetrahedron.py +22 -0
- snappy/tiling/lifted_tetrahedron_set.py +54 -0
- snappy/tiling/quotient_dict.py +70 -0
- snappy/tiling/real_hash_dict.py +164 -0
- snappy/tiling/test.py +23 -0
- snappy/tiling/tile.py +224 -0
- snappy/tiling/triangle.py +33 -0
- snappy/tkterminal.py +920 -0
- snappy/twister/__init__.py +20 -0
- snappy/twister/main.py +646 -0
- snappy/twister/surfaces/S_0_1 +3 -0
- snappy/twister/surfaces/S_0_2 +3 -0
- snappy/twister/surfaces/S_0_4 +7 -0
- snappy/twister/surfaces/S_0_4_Lantern +8 -0
- snappy/twister/surfaces/S_1 +3 -0
- snappy/twister/surfaces/S_1_1 +4 -0
- snappy/twister/surfaces/S_1_2 +5 -0
- snappy/twister/surfaces/S_1_2_5 +6 -0
- snappy/twister/surfaces/S_2 +6 -0
- snappy/twister/surfaces/S_2_1 +8 -0
- snappy/twister/surfaces/S_2_heeg +10 -0
- snappy/twister/surfaces/S_3 +8 -0
- snappy/twister/surfaces/S_3_1 +10 -0
- snappy/twister/surfaces/S_4_1 +12 -0
- snappy/twister/surfaces/S_5_1 +14 -0
- snappy/twister/surfaces/heeg_fig8 +9 -0
- snappy/twister/twister_core.cpython-310-aarch64-linux-gnu.so +0 -0
- snappy/upper_halfspace/__init__.py +146 -0
- snappy/upper_halfspace/ideal_point.py +29 -0
- snappy/verify/__init__.py +13 -0
- snappy/verify/canonical.py +542 -0
- snappy/verify/complex_volume/__init__.py +18 -0
- snappy/verify/complex_volume/adjust_torsion.py +86 -0
- snappy/verify/complex_volume/closed.py +168 -0
- snappy/verify/complex_volume/compute_ptolemys.py +90 -0
- snappy/verify/complex_volume/cusped.py +56 -0
- snappy/verify/complex_volume/extended_bloch.py +201 -0
- snappy/verify/cusp_translations.py +85 -0
- snappy/verify/edge_equations.py +80 -0
- snappy/verify/exceptions.py +254 -0
- snappy/verify/hyperbolicity.py +224 -0
- snappy/verify/interval_newton_shapes_engine.py +523 -0
- snappy/verify/interval_tree.py +400 -0
- snappy/verify/krawczyk_shapes_engine.py +518 -0
- snappy/verify/real_algebra.py +286 -0
- snappy/verify/shapes.py +25 -0
- snappy/verify/square_extensions.py +1005 -0
- snappy/verify/test.py +72 -0
- snappy/verify/volume.py +128 -0
- snappy/version.py +2 -0
- snappy-3.3.dist-info/METADATA +58 -0
- snappy-3.3.dist-info/RECORD +541 -0
- snappy-3.3.dist-info/WHEEL +6 -0
- snappy-3.3.dist-info/entry_points.txt +2 -0
- snappy-3.3.dist-info/top_level.txt +28 -0
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
.. SnapPy news
|
|
2
|
+
|
|
3
|
+
====
|
|
4
|
+
News
|
|
5
|
+
====
|
|
6
|
+
|
|
7
|
+
* Version 3.3 (January 2026):
|
|
8
|
+
|
|
9
|
+
- :class:`Link <spherogram.Link>` now supports band moves and can
|
|
10
|
+
search for ribbon disks and ribbon concordances. See
|
|
11
|
+
:meth:`ribbon_concordant_links
|
|
12
|
+
<spherogram.Link.ribbon_concordant_links>` and :meth:`add_band
|
|
13
|
+
<spherogram.Link.add_band>`. From `[DG]
|
|
14
|
+
<https://arXiv.org/abs/2512.21825>`_.
|
|
15
|
+
|
|
16
|
+
- New census :class:`RibbonLinks <snappy.RibbonLinks>`. From `[DG]
|
|
17
|
+
<https://arXiv.org/abs/2512.21825>`_.
|
|
18
|
+
|
|
19
|
+
- Additional slice obstructions added to
|
|
20
|
+
:meth:`slice_obstruction_HKL
|
|
21
|
+
<snappy.Triangulation.slice_obstruction_HKL>`.
|
|
22
|
+
From `[DG] <https://arXiv.org/abs/2512.21825>`_.
|
|
23
|
+
|
|
24
|
+
- The Fox-Milnor slice obstruction is now available as
|
|
25
|
+
:meth:`fox_milnor_test <snappy.Triangulation.fox_milnor_test>`.
|
|
26
|
+
From `[DG] <https://arXiv.org/abs/2512.21825>`_.
|
|
27
|
+
|
|
28
|
+
- The census :class:`OrientableCuspedCensus
|
|
29
|
+
<snappy.OrientableCuspedCensus>` has been extended to 10 ideal
|
|
30
|
+
tetrahedra by `[Li] <https://arXiv.org/abs/2512.02142>`_,
|
|
31
|
+
adding 150,000 new manifolds.
|
|
32
|
+
|
|
33
|
+
- Margulis number can now be computed with
|
|
34
|
+
:meth:`margulis <snappy.Manifold.margulis>`.
|
|
35
|
+
|
|
36
|
+
- The upper bounds on the bridge number of a link from `[BKVV2020]
|
|
37
|
+
<https://dx.doi.org/10.4310/CAG.2020.v28.n2.a2>`_ and `[BKP2025]
|
|
38
|
+
<https://arxiv.org/abs/2504.10517>`_ are available as
|
|
39
|
+
:meth:`bridge_upper_bound <spherogram.Link.bridge_upper_bound>`.
|
|
40
|
+
|
|
41
|
+
- :meth:`triangulation_isosig <snappy.Manifold.triangulation_isosig>` now
|
|
42
|
+
preserves the orientation of the core curve rather than the Dehn-filling
|
|
43
|
+
curve - thus, preserving the (unoriented) spun-triangulation structure.
|
|
44
|
+
This only changes the result when ``ignore_curves=True`` (and
|
|
45
|
+
``ignore_orientation`` and ``ignore_filling_orientations`` have their
|
|
46
|
+
default values).
|
|
47
|
+
|
|
48
|
+
- Fixing a bug in
|
|
49
|
+
:meth:`length_spectrum_alt <snappy.Manifold.length_spectrum_alt>`
|
|
50
|
+
and
|
|
51
|
+
:meth:`length_spectrum_alt_gen <snappy.Manifold.length_spectrum_alt_gen>`.
|
|
52
|
+
The estimate for the upper bound of the global spine radius was not
|
|
53
|
+
correct in all cases. Note that we expect this bug to be very hard to hit
|
|
54
|
+
and do not have a single example where the result of these methods was
|
|
55
|
+
wrong.
|
|
56
|
+
|
|
57
|
+
- :meth:`length_spectrum_alt <snappy.Manifold.length_spectrum_alt>` can be
|
|
58
|
+
given ``count`` and ``max_len`` at the same time. In that case, it stops
|
|
59
|
+
when enough geodesics have been listed to ensure that they include the
|
|
60
|
+
``count`` shortest geodesics or that they include all geodesics shorter
|
|
61
|
+
than ``max_len``.
|
|
62
|
+
|
|
63
|
+
- Acceleration to
|
|
64
|
+
:meth:`length_spectrum_alt <snappy.Manifold.length_spectrum_alt>` when
|
|
65
|
+
the next geodesic has large gap to the last geodesic in the result.
|
|
66
|
+
It uses the new ``include_intermediates=True`` flag of
|
|
67
|
+
:meth:`length_spectrum_alt_gen <snappy.Manifold.length_spectrum_alt_gen>`.
|
|
68
|
+
|
|
69
|
+
- Computing maximal cusp areas in an unbiased way uses a simpler algorithm
|
|
70
|
+
which also returns tighter intervals for verified computations.
|
|
71
|
+
This affects :meth:`cusp_areas <snappy.Manifold.cusp_areas>` and related
|
|
72
|
+
methods.
|
|
73
|
+
|
|
74
|
+
- Support for Python 3.14 and SageMath 10.8.
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
* Version 3.2 (January 2025):
|
|
79
|
+
|
|
80
|
+
- An alternative implementation of the length spectrum. It supports verified
|
|
81
|
+
computations and is significantly faster in some cases. See
|
|
82
|
+
:meth:`length_spectrum_alt <snappy.Manifold.length_spectrum_alt>`
|
|
83
|
+
and
|
|
84
|
+
:meth:`length_spectrum_alt_gen <snappy.Manifold.length_spectrum_alt_gen>`.
|
|
85
|
+
|
|
86
|
+
- :meth:`isometry_signature <snappy.Manifold.isometry_signature>` now also
|
|
87
|
+
works for closed manifolds.
|
|
88
|
+
|
|
89
|
+
- A paper plane or eye ball in the
|
|
90
|
+
:meth:`inside_view <snappy.Manifold.inside_view>` showing the position
|
|
91
|
+
and bearing of the user in the hyperbolic manifold. By default, we now show
|
|
92
|
+
the paper plane instead of the edges of the triangulation so that the view
|
|
93
|
+
is intrinsic to the manifold. The geodesics window now also features a
|
|
94
|
+
button to put the camera onto a geodesic. Here are some examples:
|
|
95
|
+
|
|
96
|
+
.. list-table::
|
|
97
|
+
:width: 100%
|
|
98
|
+
:class: borderless
|
|
99
|
+
|
|
100
|
+
* - .. image:: images/o9_00000_systole_paper_plane.jpg
|
|
101
|
+
:width: 90%
|
|
102
|
+
:align: center
|
|
103
|
+
:alt: Paper plane near shortest geodesic of o9_00000
|
|
104
|
+
- .. image:: images/o9_00000_systole_paper_plane_closer.jpg
|
|
105
|
+
:width: 90%
|
|
106
|
+
:align: center
|
|
107
|
+
:alt: Paper plane very near shortest geodesic of o9_00000
|
|
108
|
+
- .. image:: images/m004_paper_plane_on_systole.jpg
|
|
109
|
+
:width: 90%
|
|
110
|
+
:align: center
|
|
111
|
+
:alt: Paper plane on shortest geodesic of m004
|
|
112
|
+
- .. image:: images/m125_paper_plane.jpg
|
|
113
|
+
:width: 90%
|
|
114
|
+
:align: center
|
|
115
|
+
:alt: Paper plane coming out of a cusp of m125
|
|
116
|
+
|
|
117
|
+
- A faster and more robust algorithm to the compute maximal cusp area matrix.
|
|
118
|
+
The new algorithm is now the default for
|
|
119
|
+
:meth:`~snappy.Manifold.cusp_area_matrix`,
|
|
120
|
+
:meth:`~snappy.Manifold.cusp_areas`,
|
|
121
|
+
:meth:`~snappy.Manifold.short_slopes` and
|
|
122
|
+
:meth:`~snappy.Manifold.cusp_translations`.
|
|
123
|
+
|
|
124
|
+
- New options ``ignore_curves`` and ``ignore_filling_orientations``
|
|
125
|
+
for :meth:`~snappy.Triangulation.triangulation_isosig`. Also
|
|
126
|
+
fixing a subtle bug where the filling coefficients returned by
|
|
127
|
+
:meth:`triangulation_isosig <snappy.Triangulation.triangulation_isosig>` were
|
|
128
|
+
not canonical when ``ignore_curve_orientations = True``.
|
|
129
|
+
|
|
130
|
+
- :meth:`~snappy.Manifold.canonical_retriangulation`
|
|
131
|
+
and
|
|
132
|
+
:meth:`~snappy.Manifold.isometry_signature` fail with
|
|
133
|
+
exceptions rather than silently returning ``None``. In particular, it now
|
|
134
|
+
safe to compare isometry signatures (without further checks) to determine
|
|
135
|
+
whether M and N are isometric hyperbolic manifolds::
|
|
136
|
+
|
|
137
|
+
>>> M.isometry_signature(verified=True) == N.isometry_signature(verified=True)
|
|
138
|
+
|
|
139
|
+
- Bug fix to :meth:`slice_obstruction_HKL
|
|
140
|
+
<snappy.Manifold.slice_obstruction_HKL>`: earlier versions
|
|
141
|
+
incorrectly allowed looking at mod 2 homology of the branched
|
|
142
|
+
cover, where the theory does not directly apply.
|
|
143
|
+
|
|
144
|
+
- New self-contained SnapPy application for Linux.
|
|
145
|
+
|
|
146
|
+
- Support for Python 3.13 and SageMath 10.5.
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
* Versions 3.1 (May 2023) and 3.1.1 (June 2023):
|
|
150
|
+
|
|
151
|
+
- A method :meth:`exterior_to_link <snappy.Manifold.exterior_to_link>`
|
|
152
|
+
for going from a link exterior to a link diagram taken from
|
|
153
|
+
`Dunfield-Obeidin-Rudd <https://arxiv.org/abs/2112.03251>`_.
|
|
154
|
+
|
|
155
|
+
- Covers now computed by the stand-alone `low_index
|
|
156
|
+
<https://pypi.org/project/low-index/>`_ module, which uses
|
|
157
|
+
multiple processor cores and is typically much faster than the old
|
|
158
|
+
code. In some cases, it is dramatically faster than even GAP or
|
|
159
|
+
Magma.
|
|
160
|
+
|
|
161
|
+
- Added geodesics to the :meth:`inside_view
|
|
162
|
+
<snappy.Manifold.inside_view>`.
|
|
163
|
+
|
|
164
|
+
- Added drilling any simple geodesic with :meth:`drill_word
|
|
165
|
+
<snappy.Manifold.drill_word>` and :meth:`drill_words
|
|
166
|
+
<snappy.Manifold.drill_words>`, not just those that are
|
|
167
|
+
:meth:`combinatorially simple <snappy.Manifold.dual_curves>`.
|
|
168
|
+
|
|
169
|
+
- Added `ignore_orientation` flag to :meth:`triangulation_isosig
|
|
170
|
+
<snappy.Triangulation.triangulation_isosig>`.
|
|
171
|
+
|
|
172
|
+
- Added `include_words` flag to :meth:`length_spectrum
|
|
173
|
+
<snappy.Manifold.length_spectrum>` for getting the word
|
|
174
|
+
corresponding to a geodesic which can be given to
|
|
175
|
+
:meth:`drill_word <snappy.Manifold.drill_word>`.
|
|
176
|
+
|
|
177
|
+
- Support for Python 3.11 and SageMath 10.0.
|
|
178
|
+
|
|
179
|
+
- Modernized styling of the documentation.
|
|
180
|
+
|
|
181
|
+
* Version 3.0.3 (December 2021):
|
|
182
|
+
|
|
183
|
+
- Runs natively on Macs with Apple Silicon processors (M1, M2, and variants).
|
|
184
|
+
|
|
185
|
+
* Version 3.0.2 (November 2021):
|
|
186
|
+
|
|
187
|
+
- Support for SageMath 9.4 and 9.5, Python 3.10, and macOS Monterey.
|
|
188
|
+
|
|
189
|
+
* Version 3.0 (April 2021): New features include:
|
|
190
|
+
|
|
191
|
+
- Incorporates Zoltán Szabó's `program
|
|
192
|
+
<https://web.math.princeton.edu/~szabo/HFKcalc.html>`_ for
|
|
193
|
+
computing Knot Floer homology, see :meth:`knot_floer_homology
|
|
194
|
+
<spherogram.Link.knot_floer_homology>`. This can compute the
|
|
195
|
+
Seifert genus of a 25 crossing knot in mere seconds!
|
|
196
|
+
|
|
197
|
+
- Topological slice obstructions of Herald-Kirk-Livingston, see
|
|
198
|
+
:meth:`slice_obstruction_HKL <snappy.Manifold.slice_obstruction_HKL>`.
|
|
199
|
+
|
|
200
|
+
- Faster "local" algorithm for :meth:`jones_polynomial
|
|
201
|
+
<spherogram.Link.jones_polynomial>`.
|
|
202
|
+
|
|
203
|
+
- `Cohomology fractals <https://arxiv.org/abs/2010.05840>`_ added to
|
|
204
|
+
:meth:`inside_view <snappy.Manifold.inside_view>`.
|
|
205
|
+
|
|
206
|
+
- Convention changes: Sign of knot signature (now positive knots have
|
|
207
|
+
negative signatures), choice of braid generators (now positive
|
|
208
|
+
generators give positive crossings).
|
|
209
|
+
|
|
210
|
+
- Updates to methods :meth:`cusp_translations
|
|
211
|
+
<snappy.Manifold.cusp_translations>`, :meth:`cusp_areas
|
|
212
|
+
<snappy.Manifold.cusp_areas>`, :meth:`short_slopes
|
|
213
|
+
<snappy.Manifold.short_slopes>`. Also :meth:`Link <spherogram.Link>`
|
|
214
|
+
now accepts DT codes.
|
|
215
|
+
|
|
216
|
+
- Support for SageMath 9.3, Python 3.9, and macOS Big Sur.
|
|
217
|
+
|
|
218
|
+
- macOS app now code-signed and notarized.
|
|
219
|
+
|
|
220
|
+
- SnapPy now requires Python 3.6 or newer.
|
|
221
|
+
|
|
222
|
+
* Version 2.8 (June 2020): New features include:
|
|
223
|
+
|
|
224
|
+
- Raytraced interior views of a hyperbolic 3-manifold via the
|
|
225
|
+
:meth:`inside_view <snappy.Manifold.inside_view>` method, see also
|
|
226
|
+
`images <https://im.icerm.brown.edu/portfolio/snappy-views/>`_ and
|
|
227
|
+
`demo video <https://youtu.be/CAERhmUCkRs>`_.
|
|
228
|
+
|
|
229
|
+
- :doc:`verify`: Several new features:
|
|
230
|
+
|
|
231
|
+
* Complex volume (and thus the Chern-Simons invariant) for both
|
|
232
|
+
cusped and closed manifolds, see
|
|
233
|
+
:meth:`complex_volume <snappy.Manifold.complex_volume>`.
|
|
234
|
+
|
|
235
|
+
* Disjoint cusp neighborhoods by the method :meth:`cusp_areas
|
|
236
|
+
<snappy.Manifold.cusp_areas>` which uses
|
|
237
|
+
:meth:`cusp_area_matrix <snappy.Manifold.cusp_area_matrix>`.
|
|
238
|
+
|
|
239
|
+
* Cusp shapes (see :meth:`cusp_info <snappy.Manifold.cusp_info>`).
|
|
240
|
+
|
|
241
|
+
* Finding all :meth:`short_slopes <snappy.Manifold.short_slopes>`
|
|
242
|
+
in disjoint embedded cusp neighborhoods.
|
|
243
|
+
|
|
244
|
+
- The census :class:`HTLinkExteriors <snappy.HTLinkExteriors>` has
|
|
245
|
+
been extended to 15 crossing knots (contributed by Malik
|
|
246
|
+
Obeidin).
|
|
247
|
+
|
|
248
|
+
- The census :class:`CensusKnots <snappy.CensusKnots>` has been
|
|
249
|
+
extended to triangulations with 9 ideal tetrahedra.
|
|
250
|
+
|
|
251
|
+
- Support for SageMath 9.0 and macOS Catalina.
|
|
252
|
+
|
|
253
|
+
- Development moved to `GitHub <https://github.com/3-manifolds>`_.
|
|
254
|
+
|
|
255
|
+
* Version 2.7 (July 2019): New features include:
|
|
256
|
+
|
|
257
|
+
- Python 3 is now recommended over Python 2 on all platforms; the
|
|
258
|
+
default Mac and Windows apps use Python 3 rather than
|
|
259
|
+
Python 2. The only difference most users will notice is that one
|
|
260
|
+
must type ``print(blah)`` instead of ``print blah``.
|
|
261
|
+
|
|
262
|
+
- `Verified computations <verify.html>`_: performance improvements
|
|
263
|
+
by switching to the Krawczyk test.
|
|
264
|
+
|
|
265
|
+
- Support for SageMath 8.8.
|
|
266
|
+
|
|
267
|
+
- Installation instructions extensively updated.
|
|
268
|
+
|
|
269
|
+
- GUI improvements, especially on macOS. These include improved
|
|
270
|
+
support for dark mode and tabs on macOS Mojave and preliminary
|
|
271
|
+
support for macOS Catalina.
|
|
272
|
+
|
|
273
|
+
* Version 2.6.1 (August 2018): New features include:
|
|
274
|
+
|
|
275
|
+
- Support for SageMath 8.3, Python 3.7, and macOS Mojave.
|
|
276
|
+
|
|
277
|
+
- Computing `ideals defining SL(2, C) character varieties.
|
|
278
|
+
<additional_classes.html#snappy.HolonomyGroup.character_variety_vars_and_polys>`_
|
|
279
|
+
Contributed by Jean-Philippe Burelle, based on `this paper
|
|
280
|
+
<https://arxiv.org/abs/1703.08241>`_.
|
|
281
|
+
|
|
282
|
+
- Many bug fixes.
|
|
283
|
+
|
|
284
|
+
* Version 2.6 (Nov 2017): New features include:
|
|
285
|
+
|
|
286
|
+
- Support for macOS High Sierra, SageMath 8.1, and Windows systems
|
|
287
|
+
using non-Latin alphabets.
|
|
288
|
+
|
|
289
|
+
- Many bug fixes, including improved Python 3 support.
|
|
290
|
+
|
|
291
|
+
* Version 2.5 (Feb 2017): New features include:
|
|
292
|
+
|
|
293
|
+
- Rigorous computation of `hyperbolic volume
|
|
294
|
+
<manifold.html#snappy.Manifold.volume>`_.
|
|
295
|
+
|
|
296
|
+
- STL export of Dirichlet domains for 3D printing, contributed by
|
|
297
|
+
Jose Sanchez.
|
|
298
|
+
|
|
299
|
+
- Support for Python 3, SageMath 7.5, 7.6, and 8.0, and many more
|
|
300
|
+
versions of Python on Windows.
|
|
301
|
+
|
|
302
|
+
- Much improved infrastructure for testing and distributing SnapPy.
|
|
303
|
+
|
|
304
|
+
* Version 2.4 (May 2016): New features include:
|
|
305
|
+
|
|
306
|
+
- Added `census of Platonic manifolds <platonic_census.html>`_.
|
|
307
|
+
|
|
308
|
+
- Rigorous computation of `cusp translations <manifold.html#snappy.Manifold.cusp_translations>`_.
|
|
309
|
+
|
|
310
|
+
- Added decorations to `triangulation isomorphism signatures
|
|
311
|
+
<manifold.html#snappy.Manifold.triangulation_isosig>`_ for
|
|
312
|
+
encoding peripheral curves.
|
|
313
|
+
|
|
314
|
+
- Faster verification of non-tetrahedral canonical cell decompositions.
|
|
315
|
+
|
|
316
|
+
- Improvements to the `link and planar diagram component
|
|
317
|
+
<spherogram.html>`_, mostly contributed by Malik Obeidin, include:
|
|
318
|
+
|
|
319
|
+
* Bar-Natan's super-fast `tangle-based algorithm
|
|
320
|
+
<http://www.math.toronto.edu/drorbn/Talks/Aarhus-1507/>`_ for
|
|
321
|
+
computing the Alexander polynomial.
|
|
322
|
+
|
|
323
|
+
* Can now compute the `Seifert matrix
|
|
324
|
+
<spherogram.html#spherogram.Link.seifert_matrix>`_ and express a
|
|
325
|
+
link as a `braid closure <spherogram.html#spherogram.Link.braid_word>`_.
|
|
326
|
+
|
|
327
|
+
* Conversion to/from `SageMath links and braids
|
|
328
|
+
<spherogram.html#spherogram.Link.sage_link>`_.
|
|
329
|
+
|
|
330
|
+
* Many under-the-hood improvements.
|
|
331
|
+
|
|
332
|
+
- New Windows installer.
|
|
333
|
+
|
|
334
|
+
* Version 2.3 (March 2015): New features include:
|
|
335
|
+
|
|
336
|
+
- Major improvements to the `link and planar diagram component
|
|
337
|
+
<spherogram.html>`_, including link simplification, random links,
|
|
338
|
+
and better documentation.
|
|
339
|
+
|
|
340
|
+
- Basic support for `spun normal surfaces
|
|
341
|
+
<manifold.html#snappy.Manifold.normal_boundary_slopes>`_.
|
|
342
|
+
|
|
343
|
+
- New extra features when used inside of Sage:
|
|
344
|
+
|
|
345
|
+
* HIKMOT-style `rigorous verification of hyperbolic structures
|
|
346
|
+
<verify.html>`_,
|
|
347
|
+
contributed by Matthias Goerner.
|
|
348
|
+
|
|
349
|
+
* Many `basic knot/link invariants
|
|
350
|
+
<spherogram.html#the-link-class>`_, contributed by Robert
|
|
351
|
+
Lipschitz and Jennet Dickinson.
|
|
352
|
+
|
|
353
|
+
* Sage-specific functions are now more easily accessible as
|
|
354
|
+
methods of Manifold and better documented.
|
|
355
|
+
|
|
356
|
+
* Improved number field recognition, thanks to Matthias.
|
|
357
|
+
|
|
358
|
+
- Better compatibility with OS X Yosemite and Windows 8.1.
|
|
359
|
+
|
|
360
|
+
- Development changes:
|
|
361
|
+
|
|
362
|
+
* Major source code reorganization/cleanup.
|
|
363
|
+
|
|
364
|
+
* Source code repository moved to `Bitbucket
|
|
365
|
+
<https://bitbucket.org/t3m>`_.
|
|
366
|
+
|
|
367
|
+
* Python modules now hosted on `PyPI
|
|
368
|
+
<https://pypi.python.org/pypi>`_, simplifying `installation <installing.html>`_.
|
|
369
|
+
|
|
370
|
+
* Version 2.2 (June 2014): Includes Ben Burton's `census of
|
|
371
|
+
orientable cusped manifolds with 9 tetrahedra. <http://arxiv.org/abs/1405.2695>`_
|
|
372
|
+
|
|
373
|
+
* Version 2.1 (February 2014): New `high-precision manifolds
|
|
374
|
+
(ManifoldHP) <manifoldhp.html>`_ which compute hyperbolic structures
|
|
375
|
+
(and everything related) in `quad-double (212 bit) <http://web.mit.edu/tabbott/Public/quaddouble-debian/qd-2.3.4-old/docs/qd.pdf>`_
|
|
376
|
+
precision.
|
|
377
|
+
|
|
378
|
+
* Version 2.0 (September 2013): Many new features, including:
|
|
379
|
+
|
|
380
|
+
- A `manifold browser <manifold.html#snappy.Manifold.browse>`_
|
|
381
|
+
window for easily examining a particular manifold.
|
|
382
|
+
|
|
383
|
+
- Many improvements to the `link editor <plink.html#using-snappy-s-link-editor>`_, including
|
|
384
|
+
|
|
385
|
+
* A smoothed view mode with image export to EPS/PDF/SVG/TikZ.
|
|
386
|
+
|
|
387
|
+
* Producing a fully editable link from combinatorial data like a DT
|
|
388
|
+
code.
|
|
389
|
+
|
|
390
|
+
- `Splitting manifolds <manifold.html#snappy.Manifold.split>`_ along surfaces of non-negative euler
|
|
391
|
+
characteristic.
|
|
392
|
+
|
|
393
|
+
- Generalizing the ptolemy obstruction class to allow computation of
|
|
394
|
+
PGL(3,C)-representations and improving usability of the `ptolemy module
|
|
395
|
+
<http://www.unhyperbolic.org/ptolemy.html>`_.
|
|
396
|
+
|
|
397
|
+
- `CensusKnots <censuses.html#snappy.CensusKnots>`_ now includes
|
|
398
|
+
knot exteriors with 8 tetrahedra.
|
|
399
|
+
|
|
400
|
+
* Version 1.8 (May 2013) improves handling of DT codes and adds the
|
|
401
|
+
`HTLinkExteriors <censuses.html#snappy.HTLinkExteriors>`_ census,
|
|
402
|
+
which provides identification for knots and links up to 14 crossings.
|
|
403
|
+
|
|
404
|
+
* Version 1.7 (November 2012) incorporates the `ptolemy module
|
|
405
|
+
<http://www.unhyperbolic.org/ptolemy.html>`_ for studying
|
|
406
|
+
representations of 3-manifold groups into pSL(*N*, **C**).
|
|
407
|
+
|
|
408
|
+
* Version 1.6 (August 2012) includes a `new way to make links
|
|
409
|
+
<spherogram.html>`_ and some support for `arbitrary precision calculation <snap.html>`_.
|
|
410
|
+
|
|
411
|
+
* Version 1.5 (February 2012) includes `much improved manifold
|
|
412
|
+
censuses <censuses.html>`_.
|
|
413
|
+
|
|
414
|
+
* Version 1.4 (December 2011) uses the current release of IPython, which has been completely rewritten.
|
|
415
|
+
|
|
416
|
+
* Version 1.3.10 (July 2011) incorporates `Twister
|
|
417
|
+
<https://github.com/MarkCBell/twister/>`_.
|
|
418
|
+
|
|
419
|
+
* Version 1.3 (February 2011) has a completely redesigned cusp horoball viewer and many bug fixes!
|
|
420
|
+
|
|
421
|
+
* Version 1.2 (December 2010).
|
|
422
|
+
|
|
423
|
+
* Version 1.1 (February 2010).
|
|
424
|
+
|
|
425
|
+
* Version 1.0 (August 2009) Initial version.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Other components
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
SnapPy incorporates:
|
|
5
|
+
|
|
6
|
+
Ptolemy module
|
|
7
|
+
--------------
|
|
8
|
+
|
|
9
|
+
The `ptolemy module <http://www.unhyperbolic.org/ptolemy.html>`_ for
|
|
10
|
+
studying representations of 3-manifold groups into SL(*N*, **C**) and
|
|
11
|
+
PSL(*N*, **C**). By `Matthias Goerner
|
|
12
|
+
<http://www.unhyperbolic.org/>`_.
|
|
13
|
+
|
|
14
|
+
.. toctree::
|
|
15
|
+
:maxdepth: 3
|
|
16
|
+
|
|
17
|
+
ptolemy
|
|
18
|
+
|
|
19
|
+
Twister
|
|
20
|
+
-------
|
|
21
|
+
|
|
22
|
+
`Twister <https://github.com/MarkCBell/twister>`_ for building
|
|
23
|
+
surface bundles and Heegaard splittings from mapping class group
|
|
24
|
+
data. By Marc Bell, Tracy Hall, and Saul Schleimer.
|
|
25
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Censuses of Platonic manifolds
|
|
2
|
+
==============================
|
|
3
|
+
|
|
4
|
+
The following manifolds were tabulated in `A census of tetrahedral manifolds <http://arxiv.org/abs/1502.00383>`_ and `A census of Platonic manifolds and augmented knotted trivalent graphs <http://arxiv.org/abs/1602.02208v2>`_. An even larger census of Platonic manifolds can be downloaded `here <http://unhyperbolic.org/platonicCensus/large/platonicCensus_large_snappy_only.tar.bz2>`_.
|
|
5
|
+
|
|
6
|
+
.. currentmodule:: snappy
|
|
7
|
+
.. autodata:: TetrahedralOrientableCuspedCensus
|
|
8
|
+
.. autodata:: TetrahedralNonorientableCuspedCensus
|
|
9
|
+
.. autodata:: OctahedralOrientableCuspedCensus
|
|
10
|
+
.. autodata:: OctahedralNonorientableCuspedCensus
|
|
11
|
+
.. autodata:: CubicalOrientableCuspedCensus
|
|
12
|
+
.. autodata:: CubicalNonorientableCuspedCensus
|
|
13
|
+
.. autodata:: DodecahedralOrientableCuspedCensus
|
|
14
|
+
.. autodata:: DodecahedralNonorientableCuspedCensus
|
|
15
|
+
.. autodata:: IcosahedralOrientableClosedCensus
|
|
16
|
+
.. autodata:: IcosahedralNonorientableClosedCensus
|
|
17
|
+
.. autodata:: CubicalOrientableClosedCensus
|
|
18
|
+
.. autodata:: CubicalNonorientableClosedCensus
|
|
19
|
+
.. autodata:: DodecahedralOrientableClosedCensus
|
|
20
|
+
.. autodata:: DodecahedralNonorientableClosedCensus
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
.. Documentation of the plink part of SnapPy
|
|
2
|
+
|
|
3
|
+
Using SnapPy's link editor
|
|
4
|
+
=================================
|
|
5
|
+
|
|
6
|
+
PLink draws piecewise linear link projections. Components may be
|
|
7
|
+
points, PL arcs, or PL circles. Line segments are oriented consistently in
|
|
8
|
+
each component. Different components are different colors.
|
|
9
|
+
|
|
10
|
+
.. image:: plink-action.png
|
|
11
|
+
:align: right
|
|
12
|
+
|
|
13
|
+
To invoke the link editor, do::
|
|
14
|
+
|
|
15
|
+
In[5]: M = Manifold()
|
|
16
|
+
|
|
17
|
+
Once you've drawn the link, select the menu item "PLink->Tools->Send to
|
|
18
|
+
SnapPy", and then *M* will be the complement of the link. If you edit
|
|
19
|
+
the link, you can again do "Send to SnapPy" to update *M*.
|
|
20
|
+
|
|
21
|
+
Drawing Basics
|
|
22
|
+
------------------------------
|
|
23
|
+
|
|
24
|
+
* When using the mouse to draw a link with PLink, you should always
|
|
25
|
+
*click-and-release*. Do not hold the mouse button down while drawing.
|
|
26
|
+
PLink requires only the left mouse button.
|
|
27
|
+
|
|
28
|
+
* The default state of the editor is indicated by the arrow cursor.
|
|
29
|
+
In this state, click-and-release the left mouse button on the
|
|
30
|
+
background to place a starting vertex and begin drawing. The vertex
|
|
31
|
+
will be connected to the pencil cursor by a thin red line.
|
|
32
|
+
Click-and-release to place a second vertex. The two vertices will
|
|
33
|
+
then be joined by an edge. Continue to draw other vertices and edges
|
|
34
|
+
to your heart's content.
|
|
35
|
+
|
|
36
|
+
* To stop drawing, either click twice on the same vertex to create an
|
|
37
|
+
arc, or click on an endpoint vertex. The latter operation will
|
|
38
|
+
either create a circle component or join together two arc
|
|
39
|
+
components.
|
|
40
|
+
|
|
41
|
+
* When the cursor hovers over a vertex it changes to the pointing
|
|
42
|
+
finger. From this state you can drag a vertex to a new location
|
|
43
|
+
with a click-and-release on the vertex. The vertex will become
|
|
44
|
+
enclosed in a circular cursor. Move it to where you want it to go
|
|
45
|
+
and click the left (or middle) button to place it. If you drag one
|
|
46
|
+
endpoint on top of another, they will meld.
|
|
47
|
+
|
|
48
|
+
* When the cursor hovers over an edge, not too close to a vertex or
|
|
49
|
+
crossing, it changes to the push-me-pull-you cursor. Clicking in
|
|
50
|
+
this state will change the orientation of the component containing
|
|
51
|
+
the edge.
|
|
52
|
+
|
|
53
|
+
* When the cursor hovers over a crossing it changes to the yin-yang
|
|
54
|
+
recycling cursor. Clicking while in this state changes the the
|
|
55
|
+
handedness of the crossing.
|
|
56
|
+
|
|
57
|
+
* Double-clicking on an endpoint vertex will restart drawing from
|
|
58
|
+
that vertex. Double-clicking on a non-endpoint vertex will break
|
|
59
|
+
the link at that point and begin drawing with the old incoming edge.
|
|
60
|
+
|
|
61
|
+
* While in drawing state, hitting the Delete key removes the last
|
|
62
|
+
vertex before the cursor. If no vertices remain, the drawing state
|
|
63
|
+
ends and the active component is removed. This can be used to
|
|
64
|
+
remove a segment from the diagram. Double-click a vertex; hit
|
|
65
|
+
Delete to remove the incoming segment at that vertex; then click the
|
|
66
|
+
vertex again to reconnect.
|
|
67
|
+
|
|
68
|
+
* You will not be allowed to create edges that pass too close to a
|
|
69
|
+
vertex or a crossing, or to place vertices too close to edges or to
|
|
70
|
+
crossings or to other vertices. If you attempt to do any of these
|
|
71
|
+
things, PLink will flash the drawing canvas.
|
|
72
|
+
|
|
73
|
+
Miscellaneous Features
|
|
74
|
+
---------------------------------
|
|
75
|
+
|
|
76
|
+
The window can be resized to allow for different sizes of link
|
|
77
|
+
projections, and the arrow keys can be used to slide the projection
|
|
78
|
+
around in order to make more room on one side or another.
|
|
79
|
+
|
|
80
|
+
The "Tools" menu can be used to make the projection alternating
|
|
81
|
+
(provided that all components are circles), or to clear the screen,
|
|
82
|
+
or to reflect the projection in the xy-plane, changing all crossings.
|
|
83
|
+
Also, the "Tools" menu includes the "send to SnapPy" command.
|
|
84
|
+
|
|
85
|
+
The "File" menu can be used to save the projection as a SnapPea
|
|
86
|
+
link projection file. (This can be done from the drawing state as
|
|
87
|
+
well, in which case the "hot vertex" is remembered in the file!). The
|
|
88
|
+
"File->Open File" command will read a SnapPea link projection file,
|
|
89
|
+
and restart drawing if the projection was saved while drawing.
|
|
90
|
+
|
|
91
|
+
The "Info" menu selects information about the link projection to be
|
|
92
|
+
displayed in the info line at the bottom. Various encoding schemes
|
|
93
|
+
for link projections are supported, as well as the blackboard framing
|
|
94
|
+
curves, expressed in meridian-longitude coordinates. Cutting and
|
|
95
|
+
pasting from the info line is supported. The numerical and
|
|
96
|
+
alphabetical Dowker-Thistlethwaite codes are displayed in an extended
|
|
97
|
+
form which includes a full description of the planar embedding. The
|
|
98
|
+
string printed in the info line is also accepted as input to SnapPy's
|
|
99
|
+
Manifold constructor. That is, you can paste the complete DT code,
|
|
100
|
+
for example ``DT: [(-4,6,2)], [0,0,1]``, between the apostrophes in
|
|
101
|
+
Manifold(''). The "DT labels" option displays the indexing used in
|
|
102
|
+
computing the Dowker-Thistlethwaite codes.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
The ptolemy module
|
|
2
|
+
==================
|
|
3
|
+
|
|
4
|
+
.. automodule:: snappy.ptolemy
|
|
5
|
+
|
|
6
|
+
What is the ptolemy module?
|
|
7
|
+
---------------------------
|
|
8
|
+
|
|
9
|
+
This module provides tools to find boundary-unipotent representations of an
|
|
10
|
+
oriented
|
|
11
|
+
3-manifold into PSL(*N*, **C**). It was used, for example, to generate the tables
|
|
12
|
+
of representations at
|
|
13
|
+
`ptolemy.unhyperbolic.org <http://ptolemy.unhyperbolic.org/html/summary.html>`_.
|
|
14
|
+
|
|
15
|
+
The ptolemy module can use `magma <http://magma.maths.usyd.edu.au/magma/>`_ for
|
|
16
|
+
the computations necessary to find the representations or it can automatically
|
|
17
|
+
retrieve the necessary computations from a database we provide that contains the
|
|
18
|
+
computations for all manifolds and *N* at
|
|
19
|
+
`ptolemy.unhyperbolic.org <http://ptolemy.unhyperbolic.org/html/summary.html>`_.
|
|
20
|
+
In particular, the database includes the computations for all orientable census
|
|
21
|
+
manifolds for PSL(2, **C**) and the examples below work without magma for these
|
|
22
|
+
manifolds.
|
|
23
|
+
This makes it useful for people who do not have magma (see :ref:`here <ptolemy-example-retrieve-exact-solutions>`).
|
|
24
|
+
|
|
25
|
+
The ptolemy module is still under development. Please report bugs or email suggestions to: enischte at gmail dot com.
|
|
26
|
+
|
|
27
|
+
Examples of what the Ptolemy module can do:
|
|
28
|
+
|
|
29
|
+
* Give the :ref:`equations for the reduced Ptolemy varieties<ptolemy-example-basic>` to find all :ref:`generically decorated <ptolemy-generically-decorated>` and :ref:`boundary-unipotent <ptolemy-boundary-unipotent>` representations into SL(*N*, **C**).
|
|
30
|
+
* Same for representations into PSL(*N*, **C**) using :ref:`Obstruction classes <ptolemy-example-obstruction-class>`.
|
|
31
|
+
* Retrieve the :ref:`exact <ptolemy-example-retrieve-exact-solutions>` and :ref:`numerical <ptolemy-example-retrieve-numerical-solutions>` solutions for these varieties.
|
|
32
|
+
* Compute the matrices for these representations :ref:`exactly <ptolemy-example-matrices>` or :ref:`numerically <ptolemy-example-numerical-matrix>` given a generator of or word in the fundamental group.
|
|
33
|
+
* Compute the :ref:`traces <ptolemy-example-traces>` for these matrices.
|
|
34
|
+
* Compute the :ref:`trace field <ptolemy-examples-trace-field>` of the representation.
|
|
35
|
+
* Compute the :ref:`boundary holonomy <ptolemy-example-boundary-holonomy>`.
|
|
36
|
+
* Compute the corresponding :ref:`shape parameters/cross ratios <ptolemy-example-cross-ratios>` for a representation.
|
|
37
|
+
* Compute the :ref:`volume <ptolemy-example-volume>` and :ref:`complex volume <ptolemy-example-complex-volume>` (volume + i Chern-Simons) for a representation.
|
|
38
|
+
* Compute solutions to the Ptolemy varieties :ref:`using magma or sage <ptolemy-example-using-magma-sage>`.
|
|
39
|
+
* Find :ref:`positively dimensional components <ptolemy-non-zero-dim-comp>` of the Ptolemy variety.
|
|
40
|
+
* Find :ref:`positively dimensional families <ptolemy-example-non-zero-dim-rep>` of boundary-unipotent representations.
|
|
41
|
+
|
|
42
|
+
The ptolemy module tries to have powerful and flexible functionality but at the same time be easy to use. For example, we can get the volumes of boundary-unipotent PSL(2, **C**)-representations of ``m011`` in just one line::
|
|
43
|
+
|
|
44
|
+
>>> Manifold("m011").ptolemy_variety(2,'all').retrieve_solutions().volume_numerical()
|
|
45
|
+
[[[-4.30211422042248 E-16, -0.942707362776931, 0.942707362776931]],
|
|
46
|
+
[[4.64255370258293 E-15, 3.94215909915729 E-15, -2.78183391239608, 2.78183391239608]]]
|
|
47
|
+
|
|
48
|
+
Here, we see that ``m011`` has a representation that is not Galois-conjugate to the geometric representation and that has the volume 0.9427... of the Weeks manifold.
|
|
49
|
+
|
|
50
|
+
**Remark:** Please check your Internet connection if the above example does not work.
|
|
51
|
+
|
|
52
|
+
Documentation
|
|
53
|
+
-------------
|
|
54
|
+
|
|
55
|
+
.. toctree::
|
|
56
|
+
:maxdepth: 2
|
|
57
|
+
|
|
58
|
+
ptolemy_prelim
|
|
59
|
+
ptolemy_examples1
|
|
60
|
+
ptolemy_examples2
|
|
61
|
+
ptolemy_examples3
|
|
62
|
+
ptolemy_examples4
|
|
63
|
+
ptolemy_classes
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
Classes
|
|
2
|
+
==============================
|
|
3
|
+
|
|
4
|
+
PtolemyVariety
|
|
5
|
+
--------------
|
|
6
|
+
|
|
7
|
+
.. autoclass:: snappy.ptolemy.ptolemyVariety.PtolemyVariety
|
|
8
|
+
:members:
|
|
9
|
+
|
|
10
|
+
PtolemyCoordinates
|
|
11
|
+
------------------
|
|
12
|
+
|
|
13
|
+
.. autoclass:: snappy.ptolemy.coordinates.PtolemyCoordinates
|
|
14
|
+
:members:
|
|
15
|
+
|
|
16
|
+
CrossRatios
|
|
17
|
+
-----------
|
|
18
|
+
|
|
19
|
+
.. autoclass:: snappy.ptolemy.coordinates.CrossRatios
|
|
20
|
+
:members:
|
|
21
|
+
|
|
22
|
+
Flattenings
|
|
23
|
+
-----------
|
|
24
|
+
|
|
25
|
+
.. autoclass:: snappy.ptolemy.coordinates.Flattenings
|
|
26
|
+
:members:
|
|
27
|
+
|
|
28
|
+
NonZeroDimensionalComponent
|
|
29
|
+
---------------------------
|
|
30
|
+
|
|
31
|
+
.. autoclass:: snappy.ptolemy.component.NonZeroDimensionalComponent
|
|
32
|
+
:members:
|
|
33
|
+
|
|
34
|
+
Other functions
|
|
35
|
+
---------------
|
|
36
|
+
|
|
37
|
+
.. autofunction:: snappy.ptolemy.solutions_from_magma
|
|
38
|
+
|
|
39
|
+
.. autofunction:: snappy.ptolemy.solutions_from_magma_file
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
.. [FKR2013] Falbel, Koseleff, Rouillier: Representations of Fundamental Groups of 3-Manifolds into PGL(3,C): Exact Computations in Low Complexity, http://arxiv.org/abs/1307.6697
|