snappy 3.1.1__cp311-cp311-macosx_11_0_arm64.whl → 3.2__cp311-cp311-macosx_11_0_arm64.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-311-darwin.so +0 -0
- snappy/SnapPy.cpython-311-darwin.so +0 -0
- snappy/SnapPyHP.cpython-311-darwin.so +0 -0
- snappy/__init__.py +299 -402
- snappy/app.py +70 -20
- snappy/browser.py +18 -17
- snappy/canonical.py +249 -0
- snappy/{verify/cusp_shapes.py → cusps/__init__.py} +8 -18
- snappy/cusps/cusp_area_matrix.py +101 -0
- snappy/{verify/cusp_areas.py → cusps/cusp_areas_from_matrix.py} +23 -39
- snappy/cusps/maximal_cusp_area_matrix.py +136 -0
- snappy/cusps/test.py +21 -0
- snappy/cusps/trig_cusp_area_matrix.py +63 -0
- snappy/database.py +10 -9
- snappy/decorated_isosig.py +337 -114
- snappy/dev/extended_ptolemy/complexVolumesClosed.py +40 -7
- snappy/dev/extended_ptolemy/extended.py +3 -3
- snappy/dev/extended_ptolemy/phc_wrapper.py +10 -10
- snappy/dev/vericlosed/oneVertexTruncatedComplex.py +1 -1
- snappy/doc/_images/m004_paper_plane_on_systole.jpg +0 -0
- snappy/doc/_images/m125_paper_plane.jpg +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/_sources/development.rst.txt +66 -46
- snappy/doc/_sources/index.rst.txt +72 -5
- snappy/doc/_sources/installing.rst.txt +145 -162
- snappy/doc/_sources/news.rst.txt +73 -1
- snappy/doc/_sources/ptolemy_examples1.rst.txt +8 -7
- snappy/doc/_sources/ptolemy_examples3.rst.txt +2 -2
- snappy/doc/_sources/triangulation.rst.txt +2 -2
- snappy/doc/_sources/verify.rst.txt +89 -29
- snappy/doc/_sources/verify_internals.rst.txt +5 -16
- snappy/doc/_static/basic.css +23 -1
- snappy/doc/_static/css/badge_only.css +1 -1
- snappy/doc/_static/css/theme.css +1 -1
- snappy/doc/_static/doctools.js +1 -1
- snappy/doc/_static/documentation_options.js +2 -3
- 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/js/versions.js +228 -0
- snappy/doc/_static/language_data.js +2 -2
- snappy/doc/_static/pygments.css +1 -0
- snappy/doc/_static/searchtools.js +125 -71
- snappy/doc/_static/sphinx_highlight.js +13 -3
- snappy/doc/additional_classes.html +291 -122
- snappy/doc/bugs.html +17 -20
- snappy/doc/censuses.html +34 -53
- snappy/doc/credits.html +18 -21
- snappy/doc/development.html +88 -68
- snappy/doc/genindex.html +66 -145
- snappy/doc/index.html +86 -31
- snappy/doc/installing.html +164 -182
- snappy/doc/manifold.html +1168 -556
- snappy/doc/manifoldhp.html +18 -21
- snappy/doc/news.html +91 -33
- snappy/doc/objects.inv +0 -0
- snappy/doc/other.html +20 -22
- snappy/doc/platonic_census.html +31 -34
- snappy/doc/plink.html +19 -22
- snappy/doc/ptolemy.html +20 -22
- snappy/doc/ptolemy_classes.html +102 -105
- snappy/doc/ptolemy_examples1.html +34 -36
- snappy/doc/ptolemy_examples2.html +28 -31
- snappy/doc/ptolemy_examples3.html +26 -29
- snappy/doc/ptolemy_examples4.html +20 -23
- snappy/doc/ptolemy_prelim.html +25 -28
- snappy/doc/py-modindex.html +16 -19
- snappy/doc/screenshots.html +22 -24
- snappy/doc/search.html +15 -18
- snappy/doc/searchindex.js +1 -1
- snappy/doc/snap.html +18 -21
- snappy/doc/snappy.html +18 -20
- snappy/doc/spherogram.html +84 -87
- snappy/doc/todo.html +17 -20
- snappy/doc/triangulation.html +324 -215
- snappy/doc/tutorial.html +17 -20
- snappy/doc/verify.html +100 -46
- snappy/doc/verify_internals.html +106 -563
- snappy/drilling/__init__.py +153 -235
- snappy/drilling/barycentric.py +103 -0
- snappy/drilling/constants.py +0 -2
- snappy/drilling/crush.py +56 -130
- snappy/drilling/cusps.py +12 -6
- snappy/drilling/debug.py +2 -1
- snappy/drilling/exceptions.py +7 -40
- snappy/drilling/moves.py +302 -243
- snappy/drilling/perturb.py +63 -37
- snappy/drilling/shorten.py +36 -0
- snappy/drilling/subdivide.py +0 -5
- snappy/drilling/test.py +23 -0
- snappy/drilling/test_cases.py +126 -0
- snappy/drilling/tracing.py +9 -37
- snappy/exceptions.py +18 -5
- snappy/exterior_to_link/barycentric_geometry.py +2 -4
- snappy/exterior_to_link/main.py +8 -7
- snappy/exterior_to_link/mcomplex_with_link.py +2 -2
- snappy/exterior_to_link/rational_linear_algebra.py +1 -1
- snappy/exterior_to_link/rational_linear_algebra_wrapped.py +1 -1
- snappy/exterior_to_link/test.py +21 -33
- 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 +697 -0
- snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +484 -0
- snappy/geometric_structure/cusp_neighborhood/exceptions.py +42 -0
- snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +298 -0
- snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +159 -0
- snappy/geometric_structure/cusp_neighborhood/vertices.py +32 -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_keys.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/{drilling → geometric_structure/geodesic}/fixed_points.py +34 -9
- snappy/{drilling/geodesic_info.py → geometric_structure/geodesic/geodesic_start_point_info.py} +139 -180
- 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 +101 -0
- snappy/geometric_structure/test.py +22 -0
- snappy/gui.py +23 -13
- snappy/horoviewer.py +7 -7
- snappy/hyperboloid/__init__.py +96 -31
- snappy/hyperboloid/distances.py +245 -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/isometry_signature.py +382 -0
- snappy/len_spec/__init__.py +596 -0
- snappy/len_spec/geodesic_info.py +110 -0
- snappy/len_spec/geodesic_key_info_dict.py +117 -0
- snappy/len_spec/geodesic_piece.py +143 -0
- snappy/len_spec/geometric_structure.py +182 -0
- snappy/len_spec/geometry.py +80 -0
- snappy/len_spec/length_spectrum_geodesic_info.py +170 -0
- snappy/len_spec/spine.py +206 -0
- snappy/len_spec/test.py +24 -0
- snappy/len_spec/test_cases.py +69 -0
- snappy/len_spec/tile.py +275 -0
- snappy/len_spec/word.py +86 -0
- snappy/math_basics.py +39 -13
- snappy/matrix.py +52 -9
- snappy/number.py +12 -6
- snappy/numeric_output_checker.py +2 -3
- snappy/pari.py +8 -4
- snappy/phone_home.py +2 -1
- snappy/polyviewer.py +8 -8
- snappy/ptolemy/__init__.py +1 -1
- snappy/ptolemy/component.py +2 -2
- snappy/ptolemy/coordinates.py +25 -25
- snappy/ptolemy/findLoops.py +9 -9
- snappy/ptolemy/manifoldMethods.py +27 -29
- snappy/ptolemy/polynomial.py +50 -57
- snappy/ptolemy/processFileBase.py +60 -0
- snappy/ptolemy/ptolemyVariety.py +109 -41
- snappy/ptolemy/reginaWrapper.py +4 -4
- snappy/ptolemy/rur.py +1 -1
- snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +9 -9
- snappy/ptolemy/test.py +99 -54
- snappy/ptolemy/utilities.py +1 -1
- 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 +0 -3
- snappy/raytracing/eyeball.py +123 -0
- snappy/raytracing/finite_raytracing_data.py +17 -17
- snappy/raytracing/finite_viewer.py +15 -15
- snappy/raytracing/geodesic_tube_info.py +93 -63
- snappy/raytracing/geodesics.py +94 -64
- snappy/raytracing/geodesics_window.py +56 -34
- snappy/raytracing/gui_utilities.py +21 -6
- snappy/raytracing/hyperboloid_navigation.py +29 -4
- snappy/raytracing/hyperboloid_utilities.py +73 -73
- snappy/raytracing/ideal_raytracing_data.py +121 -91
- snappy/raytracing/inside_viewer.py +199 -66
- snappy/raytracing/pack.py +22 -0
- snappy/raytracing/raytracing_data.py +37 -25
- snappy/raytracing/raytracing_view.py +70 -65
- snappy/raytracing/shaders/Eye.png +0 -0
- snappy/raytracing/shaders/NonGeometric.png +0 -0
- snappy/raytracing/shaders/__init__.py +39 -3
- snappy/raytracing/shaders/fragment.glsl +451 -133
- snappy/raytracing/test.py +29 -0
- snappy/raytracing/tooltip.py +146 -0
- snappy/raytracing/upper_halfspace_utilities.py +42 -9
- snappy/sage_helper.py +67 -134
- snappy/settings.py +90 -77
- snappy/shell.py +2 -0
- snappy/snap/character_varieties.py +2 -2
- snappy/snap/find_field.py +4 -3
- snappy/snap/fundamental_polyhedron.py +2 -2
- snappy/snap/kernel_structures.py +5 -1
- snappy/snap/nsagetools.py +9 -8
- snappy/snap/peripheral/dual_cellulation.py +4 -3
- snappy/snap/peripheral/peripheral.py +2 -2
- snappy/snap/peripheral/surface.py +5 -5
- snappy/snap/peripheral/test.py +1 -1
- snappy/snap/polished_reps.py +8 -8
- snappy/snap/slice_obs_HKL.py +16 -14
- snappy/snap/t3mlite/arrow.py +3 -3
- snappy/snap/t3mlite/edge.py +3 -3
- snappy/snap/t3mlite/homology.py +2 -2
- snappy/snap/t3mlite/mcomplex.py +3 -3
- snappy/snap/t3mlite/simplex.py +12 -0
- snappy/snap/t3mlite/spun.py +18 -17
- snappy/snap/t3mlite/test_vs_regina.py +4 -4
- snappy/snap/test.py +37 -53
- snappy/snap/utilities.py +4 -5
- snappy/test.py +121 -138
- snappy/test_cases.py +263 -0
- snappy/testing.py +131 -0
- snappy/tiling/__init__.py +2 -0
- snappy/tiling/canonical_key_dict.py +59 -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/real_hash_dict.py +164 -0
- snappy/tiling/test.py +23 -0
- snappy/tiling/tile.py +215 -0
- snappy/tiling/triangle.py +33 -0
- snappy/tkterminal.py +113 -84
- snappy/twister/main.py +1 -7
- snappy/twister/twister_core.cpython-311-darwin.so +0 -0
- snappy/upper_halfspace/__init__.py +78 -17
- snappy/verify/__init__.py +3 -7
- snappy/verify/{verifyCanonical.py → canonical.py} +78 -70
- snappy/verify/complex_volume/adjust_torsion.py +1 -2
- snappy/verify/complex_volume/closed.py +13 -13
- snappy/verify/complex_volume/cusped.py +6 -6
- snappy/verify/complex_volume/extended_bloch.py +5 -8
- snappy/verify/{cuspTranslations.py → cusp_translations.py} +1 -1
- snappy/verify/edge_equations.py +80 -0
- snappy/verify/exceptions.py +0 -55
- snappy/verify/{verifyHyperbolicity.py → hyperbolicity.py} +3 -3
- snappy/verify/interval_newton_shapes_engine.py +7 -5
- snappy/verify/interval_tree.py +5 -5
- snappy/verify/krawczyk_shapes_engine.py +17 -18
- snappy/verify/maximal_cusp_area_matrix/__init__.py +7 -74
- snappy/verify/maximal_cusp_area_matrix/cusp_tiling_engine.py +3 -4
- snappy/verify/maximal_cusp_area_matrix/cusp_translate_engine.py +1 -1
- snappy/verify/{realAlgebra.py → real_algebra.py} +1 -1
- snappy/verify/shapes.py +5 -3
- snappy/verify/short_slopes.py +39 -41
- snappy/verify/{squareExtensions.py → square_extensions.py} +14 -11
- snappy/verify/test.py +57 -60
- snappy/verify/upper_halfspace/extended_matrix.py +1 -1
- snappy/verify/upper_halfspace/finite_point.py +3 -4
- snappy/verify/upper_halfspace/ideal_point.py +9 -9
- snappy/verify/volume.py +2 -2
- snappy/version.py +2 -2
- {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/METADATA +26 -11
- snappy-3.2.dist-info/RECORD +503 -0
- {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/WHEEL +1 -1
- {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/top_level.txt +6 -1
- snappy/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/__pycache__/browser.cpython-311.pyc +0 -0
- snappy/__pycache__/cache.cpython-311.pyc +0 -0
- snappy/__pycache__/database.cpython-311.pyc +0 -0
- snappy/__pycache__/db_utilities.cpython-311.pyc +0 -0
- snappy/__pycache__/decorated_isosig.cpython-311.pyc +0 -0
- snappy/__pycache__/exceptions.cpython-311.pyc +0 -0
- snappy/__pycache__/export_stl.cpython-311.pyc +0 -0
- snappy/__pycache__/filedialog.cpython-311.pyc +0 -0
- snappy/__pycache__/gui.cpython-311.pyc +0 -0
- snappy/__pycache__/horoviewer.cpython-311.pyc +0 -0
- snappy/__pycache__/infowindow.cpython-311.pyc +0 -0
- snappy/__pycache__/math_basics.cpython-311.pyc +0 -0
- snappy/__pycache__/matrix.cpython-311.pyc +0 -0
- snappy/__pycache__/number.cpython-311.pyc +0 -0
- snappy/__pycache__/numeric_output_checker.cpython-311.pyc +0 -0
- snappy/__pycache__/pari.cpython-311.pyc +0 -0
- snappy/__pycache__/polyviewer.cpython-311.pyc +0 -0
- snappy/__pycache__/sage_helper.cpython-311.pyc +0 -0
- snappy/__pycache__/version.cpython-311.pyc +0 -0
- snappy/doc/_sources/verify_canon.rst.txt +0 -90
- snappy/doc/_static/js/html5shiv-printshiv.min.js +0 -4
- snappy/doc/_static/js/html5shiv.min.js +0 -4
- snappy/doc/verify_canon.html +0 -304
- snappy/drilling/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/constants.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/crush.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/cusps.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/debug.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/epsilons.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/exceptions.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/fixed_points.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/geodesic_info.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/geodesic_tube.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/geometric_structure.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/line.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/moves.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/peripheral_curves.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/perturb.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/quotient_space.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/spatial_dict.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/subdivide.cpython-311.pyc +0 -0
- snappy/drilling/__pycache__/tracing.cpython-311.pyc +0 -0
- snappy/drilling/geodesic_tube.py +0 -441
- snappy/drilling/geometric_structure.py +0 -366
- snappy/drilling/line.py +0 -122
- snappy/drilling/quotient_space.py +0 -94
- snappy/drilling/spatial_dict.py +0 -128
- snappy/exterior_to_link/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/barycentric_geometry.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/exceptions.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/hyp_utils.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/link_projection.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/main.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/mcomplex_with_expansion.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/mcomplex_with_link.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/mcomplex_with_memory.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/pl_utils.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/put_in_S3.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/rational_linear_algebra.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/simplify_to_base_tri.cpython-311.pyc +0 -0
- snappy/exterior_to_link/__pycache__/stored_moves.cpython-311.pyc +0 -0
- snappy/hyperboloid/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/manifolds/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/component.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/coordinates.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/fieldExtensions.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/findLoops.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/homology.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/manifoldMethods.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/matrix.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/numericalSolutionsToGroebnerBasis.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/polynomial.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processComponents.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processFileBase.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processFileDispatch.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processMagmaFile.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/processRurFile.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyGeneralizedObstructionClass.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyObstructionClass.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyVariety.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/ptolemyVarietyPrimeIdealGroebnerBasis.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/rur.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/solutionsToPrimeIdealGroebnerBasis.cpython-311.pyc +0 -0
- snappy/ptolemy/__pycache__/utilities.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/finite_raytracing_data.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/gui_utilities.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/hyperboloid_navigation.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/hyperboloid_utilities.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/ideal_raytracing_data.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/inside_viewer.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/raytracing_data.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/raytracing_view.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/upper_halfspace_utilities.cpython-311.pyc +0 -0
- snappy/raytracing/__pycache__/view_scale_controller.cpython-311.pyc +0 -0
- snappy/raytracing/zoom_slider/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/character_varieties.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/fundamental_polyhedron.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/interval_reps.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/kernel_structures.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/mcomplex_base.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/nsagetools.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/polished_reps.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/shapes.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/slice_obs_HKL.cpython-311.pyc +0 -0
- snappy/snap/__pycache__/utilities.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/dual_cellulation.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/link.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/peripheral.cpython-311.pyc +0 -0
- snappy/snap/peripheral/__pycache__/surface.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/arrow.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/corner.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/edge.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/face.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/files.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/homology.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/linalg.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/mcomplex.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/perm4.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/simplex.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/spun.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/surface.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/tetrahedron.cpython-311.pyc +0 -0
- snappy/snap/t3mlite/__pycache__/vertex.cpython-311.pyc +0 -0
- snappy/togl/__init__.py +0 -3
- snappy/togl/darwin-tk8.6/Togl2.1/LICENSE +0 -28
- snappy/togl/darwin-tk8.6/Togl2.1/libTogl2.1.dylib +0 -0
- snappy/togl/darwin-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
- snappy/togl/darwin-tk8.7/Togl2.1/LICENSE +0 -28
- snappy/togl/darwin-tk8.7/Togl2.1/libTogl2.1.dylib +0 -0
- snappy/togl/darwin-tk8.7/Togl2.1/pkgIndex.tcl +0 -5
- snappy/togl/linux2-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
- snappy/togl/linux2-x86_64-tk8.6/Togl2.1/libTogl2.1.so +0 -0
- snappy/togl/linux2-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
- snappy/togl/win32VC-tk8.6/Togl2.1/LICENSE +0 -28
- snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.dll +0 -0
- snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.lib +0 -0
- snappy/togl/win32VC-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
- snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
- snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.dll +0 -0
- snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.lib +0 -0
- snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
- snappy/twister/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/twister/__pycache__/main.cpython-311.pyc +0 -0
- snappy/upper_halfspace/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/upper_halfspace/__pycache__/ideal_point.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/cuspCrossSection.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/cuspTranslations.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/cusp_areas.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/cusp_shapes.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/exceptions.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/interval_newton_shapes_engine.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/interval_tree.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/krawczyk_shapes_engine.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/realAlgebra.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/shapes.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/short_slopes.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/squareExtensions.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/verifyCanonical.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/verifyHyperbolicity.cpython-311.pyc +0 -0
- snappy/verify/__pycache__/volume.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/adjust_torsion.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/closed.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/compute_ptolemys.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/cusped.cpython-311.pyc +0 -0
- snappy/verify/complex_volume/__pycache__/extended_bloch.cpython-311.pyc +0 -0
- snappy/verify/cuspCrossSection.py +0 -1422
- snappy/verify/maximal_cusp_area_matrix/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_tiling_engine.cpython-311.pyc +0 -0
- snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_translate_engine.cpython-311.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/__init__.cpython-311.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/extended_matrix.cpython-311.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/finite_point.cpython-311.pyc +0 -0
- snappy/verify/upper_halfspace/__pycache__/ideal_point.cpython-311.pyc +0 -0
- snappy-3.1.1.dist-info/RECORD +0 -585
- {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/entry_points.txt +0 -0
snappy/doc/triangulation.html
CHANGED
@@ -1,23 +1,24 @@
|
|
1
|
+
|
2
|
+
|
1
3
|
<!DOCTYPE html>
|
2
|
-
<html class="writer-html5" lang="en" >
|
4
|
+
<html class="writer-html5" lang="en" data-content_root="./">
|
3
5
|
<head>
|
4
|
-
<meta charset="utf-8" /><meta name="
|
6
|
+
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
5
7
|
|
6
8
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7
|
-
<title>Triangulation — SnapPy 3.
|
8
|
-
<link rel="stylesheet"
|
9
|
-
<link rel="stylesheet" href="_static/css/theme.css
|
10
|
-
<link rel="stylesheet"
|
11
|
-
|
12
|
-
<!--[if lt IE 9]>
|
13
|
-
<script src="_static/js/html5shiv.min.js"></script>
|
14
|
-
<![endif]-->
|
9
|
+
<title>Triangulation — SnapPy 3.2 documentation</title>
|
10
|
+
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
11
|
+
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
|
12
|
+
<link rel="stylesheet" type="text/css" href="_static/snappy_sphinx_rtd_theme.css?v=1b8ec2a8" />
|
13
|
+
|
15
14
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
15
|
+
<link rel="shortcut icon" href="_static/SnapPy.ico"/>
|
16
|
+
<script src="_static/jquery.js?v=5d32c60e"></script>
|
17
|
+
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
18
|
+
<script src="_static/documentation_options.js?v=828ea960"></script>
|
19
|
+
<script src="_static/doctools.js?v=9a2dae69"></script>
|
20
|
+
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
21
|
+
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
21
22
|
<script src="_static/js/theme.js"></script>
|
22
23
|
<link rel="index" title="Index" href="genindex.html" />
|
23
24
|
<link rel="search" title="Search" href="search.html" />
|
@@ -37,9 +38,6 @@
|
|
37
38
|
SnapPy
|
38
39
|
<img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
|
39
40
|
</a>
|
40
|
-
<div class="version">
|
41
|
-
3.1.1
|
42
|
-
</div>
|
43
41
|
<div role="search">
|
44
42
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
45
43
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
@@ -83,7 +81,6 @@
|
|
83
81
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.num_cusps"><code class="docutils literal notranslate"><span class="pre">Triangulation.num_cusps()</span></code></a></li>
|
84
82
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.num_tetrahedra"><code class="docutils literal notranslate"><span class="pre">Triangulation.num_tetrahedra()</span></code></a></li>
|
85
83
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.orientation_cover"><code class="docutils literal notranslate"><span class="pre">Triangulation.orientation_cover()</span></code></a></li>
|
86
|
-
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.pickle"><code class="docutils literal notranslate"><span class="pre">Triangulation.pickle()</span></code></a></li>
|
87
84
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.plink"><code class="docutils literal notranslate"><span class="pre">Triangulation.plink()</span></code></a></li>
|
88
85
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.ptolemy_generalized_obstruction_classes"><code class="docutils literal notranslate"><span class="pre">Triangulation.ptolemy_generalized_obstruction_classes()</span></code></a></li>
|
89
86
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.ptolemy_obstruction_classes"><code class="docutils literal notranslate"><span class="pre">Triangulation.ptolemy_obstruction_classes()</span></code></a></li>
|
@@ -95,6 +92,7 @@
|
|
95
92
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.set_peripheral_curves"><code class="docutils literal notranslate"><span class="pre">Triangulation.set_peripheral_curves()</span></code></a></li>
|
96
93
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.simplify"><code class="docutils literal notranslate"><span class="pre">Triangulation.simplify()</span></code></a></li>
|
97
94
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.slice_obstruction_HKL"><code class="docutils literal notranslate"><span class="pre">Triangulation.slice_obstruction_HKL()</span></code></a></li>
|
95
|
+
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.symplectic_basis"><code class="docutils literal notranslate"><span class="pre">Triangulation.symplectic_basis()</span></code></a></li>
|
98
96
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.triangulation_isosig"><code class="docutils literal notranslate"><span class="pre">Triangulation.triangulation_isosig()</span></code></a></li>
|
99
97
|
<li class="toctree-l4"><a class="reference internal" href="#snappy.Triangulation.with_hyperbolic_structure"><code class="docutils literal notranslate"><span class="pre">Triangulation.with_hyperbolic_structure()</span></code></a></li>
|
100
98
|
</ul>
|
@@ -142,12 +140,12 @@
|
|
142
140
|
<div itemprop="articleBody">
|
143
141
|
|
144
142
|
<section id="triangulation">
|
145
|
-
<h1>Triangulation<a class="headerlink" href="#triangulation" title="
|
146
|
-
<p>The main snappy class, namely Manifold, is derived from more
|
143
|
+
<h1>Triangulation<a class="headerlink" href="#triangulation" title="Link to this heading"></a></h1>
|
144
|
+
<p>The main snappy class, namely Manifold, is derived from the more
|
147
145
|
basic class below.</p>
|
148
146
|
<dl class="py class">
|
149
147
|
<dt class="sig sig-object py" id="snappy.Triangulation">
|
150
|
-
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">Triangulation</span></span><a class="headerlink" href="#snappy.Triangulation" title="
|
148
|
+
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">Triangulation</span></span><a class="headerlink" href="#snappy.Triangulation" title="Link to this definition"></a></dt>
|
151
149
|
<dd><p>A Triangulation object represents a compact 3-manifold with torus
|
152
150
|
boundary components, given as an ideal triangulation of the
|
153
151
|
manifold’s interior. A Dehn-filling can be specified for each
|
@@ -178,16 +176,16 @@ specify a link complement.</p></li>
|
|
178
176
|
information on Dehn fillings added.</p>
|
179
177
|
<ul>
|
180
178
|
<li><p>SnapPea cusped census manifolds: e.g. ‘m123’, ‘s123’, ‘v123’.</p></li>
|
181
|
-
<li><
|
182
|
-
<
|
179
|
+
<li><p>Link complements:</p>
|
180
|
+
<blockquote>
|
181
|
+
<div><ul class="simple">
|
183
182
|
<li><p>Rolfsen’s table: e.g. ‘4_1’, ‘04_1’, ‘5^2_6’, ‘6_4^7’, ‘L20935’, ‘l104001’.</p></li>
|
184
183
|
<li><p>Knots and links up to 14 crossings from tabulations by Hoste
|
185
184
|
and Thistlethwaite: e.g. ‘K12a456’ or ‘L13n579’.</p></li>
|
186
185
|
<li><p>Hoste-Thistlethwaite Knotscape table: e.g. ‘11a17’ or ‘12n345’</p></li>
|
187
186
|
<li><p>Dowker-Thistlethwaite code: e.g. ‘DT:[(6,8,2,4)]’, ‘DT:dadbcda’</p></li>
|
188
187
|
</ul>
|
189
|
-
</
|
190
|
-
</dl>
|
188
|
+
</div></blockquote>
|
191
189
|
</li>
|
192
190
|
<li><p>Once-punctured torus bundles: e.g. ‘b++LLR’, ‘b+-llR’, ‘bo-RRL’, ‘bn+LRLR’</p></li>
|
193
191
|
<li><p>Fibered manifold associated to a braid: ‘Braid:[1,2,-3,4]’</p>
|
@@ -210,7 +208,7 @@ projection file.</p></li>
|
|
210
208
|
</ul>
|
211
209
|
<dl class="py method">
|
212
210
|
<dt class="sig sig-object py" id="snappy.Triangulation.DT_code">
|
213
|
-
<span class="sig-name descname"><span class="pre">DT_code</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">alpha</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flips</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.DT_code" title="
|
211
|
+
<span class="sig-name descname"><span class="pre">DT_code</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">alpha</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flips</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.DT_code" title="Link to this definition"></a></dt>
|
214
212
|
<dd><p>Return the Dowker-Thistlethwaite code of this link complement,
|
215
213
|
if it is a link complement. The DT code is intended to be an
|
216
214
|
immutable attribute, for use with knot and link exteriors
|
@@ -231,7 +229,7 @@ only, which is set only when the manifold was created.</p>
|
|
231
229
|
|
232
230
|
<dl class="py method">
|
233
231
|
<dt class="sig sig-object py" id="snappy.Triangulation.alexander_polynomial">
|
234
|
-
<span class="sig-name descname"><span class="pre">alexander_polynomial</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.alexander_polynomial" title="
|
232
|
+
<span class="sig-name descname"><span class="pre">alexander_polynomial</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.alexander_polynomial" title="Link to this definition"></a></dt>
|
235
233
|
<dd><p>Computes the multivariable Alexander polynomial of the manifold:</p>
|
236
234
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span><span class="p">:</span> <span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">'K12n123'</span><span class="p">)</span>
|
237
235
|
<span class="n">sage</span><span class="p">:</span> <span class="n">M</span><span class="o">.</span><span class="n">alexander_polynomial</span><span class="p">()</span>
|
@@ -242,13 +240,14 @@ only, which is set only when the manifold was created.</p>
|
|
242
240
|
<span class="n">a</span><span class="o">^</span><span class="mi">2</span><span class="o">*</span><span class="n">b</span> <span class="o">+</span> <span class="n">a</span><span class="o">*</span><span class="n">b</span><span class="o">^</span><span class="mi">2</span> <span class="o">+</span> <span class="n">a</span><span class="o">*</span><span class="n">b</span> <span class="o">+</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span>
|
243
241
|
</pre></div>
|
244
242
|
</div>
|
245
|
-
<p>Any provided keyword arguments are passed to
|
243
|
+
<p>Any provided keyword arguments are passed to
|
244
|
+
<a class="reference internal" href="#snappy.Triangulation.fundamental_group" title="snappy.Triangulation.fundamental_group"><code class="xref py py-meth docutils literal notranslate"><span class="pre">fundamental_group</span></code></a> and
|
246
245
|
so affect the group presentation used in the computation.</p>
|
247
246
|
</dd></dl>
|
248
247
|
|
249
248
|
<dl class="py method">
|
250
249
|
<dt class="sig sig-object py" id="snappy.Triangulation.copy">
|
251
|
-
<span class="sig-name descname"><span class="pre">copy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.copy" title="
|
250
|
+
<span class="sig-name descname"><span class="pre">copy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.copy" title="Link to this definition"></a></dt>
|
252
251
|
<dd><p>Returns a copy of the triangulation.</p>
|
253
252
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m125'</span><span class="p">)</span>
|
254
253
|
<span class="gp">>>> </span><span class="n">N</span> <span class="o">=</span> <span class="n">M</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
|
@@ -258,14 +257,13 @@ so affect the group presentation used in the computation.</p>
|
|
258
257
|
|
259
258
|
<dl class="py method">
|
260
259
|
<dt class="sig sig-object py" id="snappy.Triangulation.cover">
|
261
|
-
<span class="sig-name descname"><span class="pre">cover</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">permutation_rep</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.cover" title="
|
262
|
-
<dd><p>Returns a Triangulation representing the finite cover
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
cover.</p>
|
260
|
+
<span class="sig-name descname"><span class="pre">cover</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">permutation_rep</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#snappy.Triangulation" title="snappy.Triangulation"><span class="pre">snappy.Triangulation</span></a></span></span><a class="headerlink" href="#snappy.Triangulation.cover" title="Link to this definition"></a></dt>
|
261
|
+
<dd><p>Returns a <a class="reference internal" href="#snappy.Triangulation" title="snappy.Triangulation"><code class="xref py py-class docutils literal notranslate"><span class="pre">Triangulation</span></code></a> representing the finite cover specified
|
262
|
+
by a transitive permutation representation. The representation is
|
263
|
+
specified by a list of permutations, one for each generator of the
|
264
|
+
simplified presentation of the fundamental group. Each permutation is
|
265
|
+
specified as a list <code class="docutils literal notranslate"><span class="pre">P</span></code> such that <code class="docutils literal notranslate"><span class="pre">set(P)</span> <span class="pre">==</span> <span class="pre">set(range(d))</span></code> where
|
266
|
+
<code class="docutils literal notranslate"><span class="pre">d</span></code> is the degree of the cover.</p>
|
269
267
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m004'</span><span class="p">)</span>
|
270
268
|
<span class="gp">>>> </span><span class="n">N0</span> <span class="o">=</span> <span class="n">M</span><span class="o">.</span><span class="n">cover</span><span class="p">([[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">3</span><span class="p">]])</span>
|
271
269
|
<span class="gp">>>> </span><span class="n">N0</span><span class="o">.</span><span class="n">homology</span><span class="p">()</span>
|
@@ -279,15 +277,15 @@ cover.</p>
|
|
279
277
|
</pre></div>
|
280
278
|
</div>
|
281
279
|
<p>Within Sage the permutations can also be of type
|
282
|
-
PermutationGroupElement
|
283
|
-
range(1
|
284
|
-
of the fundamental group. For examples, see the docstring for
|
285
|
-
Manifold.cover</p>
|
280
|
+
<code class="docutils literal notranslate"><span class="pre">PermutationGroupElement</span></code>, in which case they act on the set
|
281
|
+
<code class="docutils literal notranslate"><span class="pre">range(1,</span> <span class="pre">d</span> <span class="pre">+</span> <span class="pre">1)</span></code>. Or, you can specify a GAP or Magma subgroup
|
282
|
+
of the fundamental group. For more examples, see the docstring for
|
283
|
+
<a class="reference internal" href="manifold.html#snappy.Manifold.cover" title="snappy.Manifold.cover"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Manifold.cover()</span></code></a>.</p>
|
286
284
|
</dd></dl>
|
287
285
|
|
288
286
|
<dl class="py method">
|
289
287
|
<dt class="sig sig-object py" id="snappy.Triangulation.cover_info">
|
290
|
-
<span class="sig-name descname"><span class="pre">cover_info</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.cover_info" title="
|
288
|
+
<span class="sig-name descname"><span class="pre">cover_info</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.cover_info" title="Link to this definition"></a></dt>
|
291
289
|
<dd><p>If this is a manifold or triangulation which was constructed as
|
292
290
|
a covering space, return a dictionary describing the cover. Otherwise
|
293
291
|
return 0. The dictionary keys are ‘base’, ‘type’ and ‘degree’.</p>
|
@@ -295,9 +293,8 @@ return 0. The dictionary keys are ‘base’, ‘type’ and ‘degree’.</p>
|
|
295
293
|
|
296
294
|
<dl class="py method">
|
297
295
|
<dt class="sig sig-object py" id="snappy.Triangulation.covers">
|
298
|
-
<span class="sig-name descname"><span class="pre">covers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">degree</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cover_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.covers" title="
|
299
|
-
<dd><p>
|
300
|
-
<p>Returns a list of Triangulations corresponding to all of the
|
296
|
+
<span class="sig-name descname"><span class="pre">covers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">degree</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cover_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'all'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#snappy.Triangulation" title="snappy.Triangulation"><span class="pre">snappy.Triangulation</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#snappy.Triangulation.covers" title="Link to this definition"></a></dt>
|
297
|
+
<dd><p>Returns a list of Triangulations corresponding to all of the
|
301
298
|
finite covers of the given degree. The default method is
|
302
299
|
‘low_index’ for general covers and ‘snappea’ for cyclic
|
303
300
|
covers. The former uses Sim’s algorithm while the latter
|
@@ -333,7 +330,7 @@ used it to do the heavy lifting by specifying method=’magma’.</p>
|
|
333
330
|
|
334
331
|
<dl class="py method">
|
335
332
|
<dt class="sig sig-object py" id="snappy.Triangulation.cusp_info">
|
336
|
-
<span class="sig-name descname"><span class="pre">cusp_info</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data_spec</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.cusp_info" title="
|
333
|
+
<span class="sig-name descname"><span class="pre">cusp_info</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data_spec</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.cusp_info" title="Link to this definition"></a></dt>
|
337
334
|
<dd><p>Returns an info object containing information about the given
|
338
335
|
cusp. Usage:</p>
|
339
336
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'v3227(0,0)(1,2)(3,2)'</span><span class="p">)</span>
|
@@ -359,7 +356,7 @@ cusp. Usage:</p>
|
|
359
356
|
|
360
357
|
<dl class="py method">
|
361
358
|
<dt class="sig sig-object py" id="snappy.Triangulation.dehn_fill">
|
362
|
-
<span class="sig-name descname"><span class="pre">dehn_fill</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filling_data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.dehn_fill" title="
|
359
|
+
<span class="sig-name descname"><span class="pre">dehn_fill</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filling_data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#snappy.Triangulation.dehn_fill" title="Link to this definition"></a></dt>
|
363
360
|
<dd><p>Set the Dehn filling coefficients of the cusps. This can be
|
364
361
|
specified in the following ways, where the cusps are numbered
|
365
362
|
by 0,1,…,(num_cusps - 1).</p>
|
@@ -395,12 +392,12 @@ by 0,1,…,(num_cusps - 1).</p>
|
|
395
392
|
</div>
|
396
393
|
</li>
|
397
394
|
</ul>
|
398
|
-
<p>Does not return a new Triangulation
|
395
|
+
<p>Does not return a new <a class="reference internal" href="#snappy.Triangulation" title="snappy.Triangulation"><code class="xref py py-class docutils literal notranslate"><span class="pre">Triangulation</span></code></a>.</p>
|
399
396
|
</dd></dl>
|
400
397
|
|
401
398
|
<dl class="py method">
|
402
399
|
<dt class="sig sig-object py" id="snappy.Triangulation.edge_valences">
|
403
|
-
<span class="sig-name descname"><span class="pre">edge_valences</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.edge_valences" title="
|
400
|
+
<span class="sig-name descname"><span class="pre">edge_valences</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.edge_valences" title="Link to this definition"></a></dt>
|
404
401
|
<dd><p>Returns a dictionary whose keys are the valences of the edges
|
405
402
|
in the triangulation, and the value associated to a key is the
|
406
403
|
number of edges of that valence.</p>
|
@@ -413,7 +410,7 @@ number of edges of that valence.</p>
|
|
413
410
|
|
414
411
|
<dl class="py method">
|
415
412
|
<dt class="sig sig-object py" id="snappy.Triangulation.exterior_to_link">
|
416
|
-
<span class="sig-name descname"><span class="pre">exterior_to_link</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">check_input</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">check_answer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">careful_perturbation</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">simplify_link</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pachner_search_tries</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.exterior_to_link" title="
|
413
|
+
<span class="sig-name descname"><span class="pre">exterior_to_link</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">check_input</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">check_answer</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">careful_perturbation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">simplify_link</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pachner_search_tries</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="spherogram.html#spherogram.Link" title="spherogram.Link"><span class="pre">Link</span></a></span></span><a class="headerlink" href="#snappy.Triangulation.exterior_to_link" title="Link to this definition"></a></dt>
|
417
414
|
<dd><p>For a triangulation of the exterior of a link in the 3-sphere,
|
418
415
|
return a planar diagram for the link. The peripheral curves whose
|
419
416
|
Dehn filling is the 3-sphere are <strong>part of the input</strong>, specified
|
@@ -477,7 +474,7 @@ each component of the link may not be preserved.</p>
|
|
477
474
|
|
478
475
|
<dl class="py method">
|
479
476
|
<dt class="sig sig-object py" id="snappy.Triangulation.filled_triangulation">
|
480
|
-
<span class="sig-name descname"><span class="pre">filled_triangulation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cusps_to_fill</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.filled_triangulation" title="
|
477
|
+
<span class="sig-name descname"><span class="pre">filled_triangulation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cusps_to_fill</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#snappy.Triangulation" title="snappy.Triangulation"><span class="pre">snappy.Triangulation</span></a></span></span><a class="headerlink" href="#snappy.Triangulation.filled_triangulation" title="Link to this definition"></a></dt>
|
481
478
|
<dd><p>Return a new manifold where the specified cusps have been
|
482
479
|
permanently filled in. Examples:</p>
|
483
480
|
<p>Filling all the cusps:</p>
|
@@ -497,8 +494,8 @@ permanently filled in. Examples:</p>
|
|
497
494
|
|
498
495
|
<dl class="py method">
|
499
496
|
<dt class="sig sig-object py" id="snappy.Triangulation.fundamental_group">
|
500
|
-
<span class="sig-name descname"><span class="pre">fundamental_group</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">simplify_presentation</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fillings_may_affect_generators</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">minimize_number_of_generators</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">try_hard_to_shorten_relators</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.fundamental_group" title="
|
501
|
-
<dd><p>Returns a FundamentalGroup object representing the fundamental
|
497
|
+
<span class="sig-name descname"><span class="pre">fundamental_group</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">simplify_presentation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fillings_may_affect_generators</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">minimize_number_of_generators</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">try_hard_to_shorten_relators</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">FundamentalGroup</span></span></span><a class="headerlink" href="#snappy.Triangulation.fundamental_group" title="Link to this definition"></a></dt>
|
498
|
+
<dd><p>Returns a <code class="xref py py-class docutils literal notranslate"><span class="pre">FundamentalGroup</span></code> object representing the fundamental
|
502
499
|
group of the manifold. If integer Dehn surgery parameters
|
503
500
|
have been set, then the corresponding peripheral elements are
|
504
501
|
killed.</p>
|
@@ -532,7 +529,7 @@ killed.</p>
|
|
532
529
|
|
533
530
|
<dl class="py method">
|
534
531
|
<dt class="sig sig-object py" id="snappy.Triangulation.gluing_equations">
|
535
|
-
<span class="sig-name descname"><span class="pre">gluing_equations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">form</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'log'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.gluing_equations" title="
|
532
|
+
<span class="sig-name descname"><span class="pre">gluing_equations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">form</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'log'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.gluing_equations" title="Link to this definition"></a></dt>
|
536
533
|
<dd><p>In the default mode, this function returns a matrix with rows
|
537
534
|
of the form</p>
|
538
535
|
<blockquote>
|
@@ -573,9 +570,8 @@ function returns a list of tuples of the form:</p>
|
|
573
570
|
|
574
571
|
<dl class="py method">
|
575
572
|
<dt class="sig sig-object py" id="snappy.Triangulation.gluing_equations_pgl">
|
576
|
-
<span class="sig-name descname"><span class="pre">gluing_equations_pgl</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">N</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">equation_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.gluing_equations_pgl" title="
|
577
|
-
<dd><p>
|
578
|
-
<p>Returns a NeumannZagierTypeEquations object that contains a matrix
|
573
|
+
<span class="sig-name descname"><span class="pre">gluing_equations_pgl</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">N</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">equation_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.gluing_equations_pgl" title="Link to this definition"></a></dt>
|
574
|
+
<dd><p>Returns a NeumannZagierTypeEquations object that contains a matrix
|
579
575
|
encoding the gluing equations for boundary-parabolic PGL(N,C)
|
580
576
|
representations together with explanations of the meaning
|
581
577
|
of the rows and the columns of the matrix.</p>
|
@@ -584,7 +580,7 @@ as described in
|
|
584
580
|
Stavros Garoufalidis, Matthias Goerner, Christian K. Zickert:
|
585
581
|
“Gluing Equations for PGL(n,C)-Representations of 3-Manifolds”
|
586
582
|
(<a class="reference external" href="http://arxiv.org/abs/1207.6711">http://arxiv.org/abs/1207.6711</a>).</p>
|
587
|
-
<p>The result of the
|
583
|
+
<p>The result of the <a class="reference internal" href="#snappy.Triangulation.gluing_equations" title="snappy.Triangulation.gluing_equations"><code class="xref py py-meth docutils literal notranslate"><span class="pre">gluing_equations()</span></code></a> can be obtained from
|
588
584
|
the general method by:</p>
|
589
585
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m004'</span><span class="p">)</span>
|
590
586
|
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">gluing_equations_pgl</span><span class="p">()</span><span class="o">.</span><span class="n">matrix</span>
|
@@ -609,17 +605,17 @@ the columns and rows:</p>
|
|
609
605
|
</div>
|
610
606
|
<p>The first row of the matrix means that the edge equation for
|
611
607
|
edge 0 is</p>
|
612
|
-
<
|
613
|
-
|
614
|
-
</div></blockquote>
|
608
|
+
<div class="math notranslate nohighlight">
|
609
|
+
\[{z_{0000,0}}^2 * z'_{0000,0} * z_{0000,1} * {z''_{0000,1}}^2 = 1.\]</div>
|
615
610
|
<p>Similarly, the next row encodes the edge equation for the other edge
|
616
611
|
and the next two rows encode peripheral equations.</p>
|
617
|
-
<p>Following the SnapPy convention, a z denotes the cross ratio
|
618
|
-
edge (0,1), a zp the cross ratio
|
619
|
-
|
612
|
+
<p>Following the SnapPy convention, a <code class="docutils literal notranslate"><span class="pre">z</span></code> denotes the cross ratio
|
613
|
+
<span class="math notranslate nohighlight">\(z\)</span> at the edge (0,1), a <code class="docutils literal notranslate"><span class="pre">zp</span></code> the cross ratio <span class="math notranslate nohighlight">\(z'\)</span> at
|
614
|
+
the edge (0,2) and a <code class="docutils literal notranslate"><span class="pre">zpp</span></code> the cross
|
615
|
+
ratio <span class="math notranslate nohighlight">\(z''\)</span> at the edge (1,2). The entire symbol <code class="docutils literal notranslate"><span class="pre">z_xxxx_y</span></code> then
|
620
616
|
denotes the cross ratio belonging to the subsimplex at integral
|
621
|
-
point xxxx (always 0000 for N = 2) of the simplex
|
622
|
-
SnapPy convention is different from the paper
|
617
|
+
point <code class="docutils literal notranslate"><span class="pre">xxxx</span></code> (always <code class="docutils literal notranslate"><span class="pre">0000</span></code> for <code class="docutils literal notranslate"><span class="pre">N</span> <span class="pre">=</span> <span class="pre">2</span></code>) of the simplex <code class="docutils literal notranslate"><span class="pre">y</span></code>.</p>
|
618
|
+
<p>Note: the SnapPy convention is different from the paper
|
623
619
|
mentioned above, e.g., compare
|
624
620
|
kernel_code/edge_classes.c with Figure 3. We follow the SnapPy
|
625
621
|
convention here so that all computations done in SnapPy are
|
@@ -632,20 +628,20 @@ consistent.</p>
|
|
632
628
|
</pre></div>
|
633
629
|
</div>
|
634
630
|
<p>A subset of all gluing equations can be obtained by setting the
|
635
|
-
equation_type
|
631
|
+
<code class="docutils literal notranslate"><span class="pre">equation_type</span></code>:</p>
|
636
632
|
<ul class="simple">
|
637
|
-
<li><p>all gluing equations:
|
638
|
-
<li><p>non-peripheral equations:
|
633
|
+
<li><p>all gluing equations: <code class="docutils literal notranslate"><span class="pre">all</span></code></p></li>
|
634
|
+
<li><p>non-peripheral equations: <code class="docutils literal notranslate"><span class="pre">non_peripheral</span></code></p>
|
639
635
|
<ul>
|
640
|
-
<li><p>edge gluing equations:
|
641
|
-
<li><p>face gluing equations:
|
642
|
-
<li><p>internal gluing equations:
|
636
|
+
<li><p>edge gluing equations: <code class="docutils literal notranslate"><span class="pre">edge</span></code></p></li>
|
637
|
+
<li><p>face gluing equations: <code class="docutils literal notranslate"><span class="pre">face</span></code></p></li>
|
638
|
+
<li><p>internal gluing equations: <code class="docutils literal notranslate"><span class="pre">internal</span></code></p></li>
|
643
639
|
</ul>
|
644
640
|
</li>
|
645
|
-
<li><p>cusp gluing equations:
|
641
|
+
<li><p>cusp gluing equations: <code class="docutils literal notranslate"><span class="pre">peripheral</span></code></p>
|
646
642
|
<ul>
|
647
|
-
<li><p>cusp gluing equations for meridians:
|
648
|
-
<li><p>cusp gluing equations for longitudes:
|
643
|
+
<li><p>cusp gluing equations for meridians: <code class="docutils literal notranslate"><span class="pre">meridian</span></code></p></li>
|
644
|
+
<li><p>cusp gluing equations for longitudes: <code class="docutils literal notranslate"><span class="pre">longitude</span></code></p></li>
|
649
645
|
</ul>
|
650
646
|
</li>
|
651
647
|
</ul>
|
@@ -653,8 +649,8 @@ equation_type:</p>
|
|
653
649
|
|
654
650
|
<dl class="py method">
|
655
651
|
<dt class="sig sig-object py" id="snappy.Triangulation.has_finite_vertices">
|
656
|
-
<span class="sig-name descname"><span class="pre">has_finite_vertices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.has_finite_vertices" title="
|
657
|
-
<dd><p>Returns True if and only if the triangulation has finite (non-ideal)
|
652
|
+
<span class="sig-name descname"><span class="pre">has_finite_vertices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#snappy.Triangulation.has_finite_vertices" title="Link to this definition"></a></dt>
|
653
|
+
<dd><p>Returns <code class="docutils literal notranslate"><span class="pre">True</span></code> if and only if the triangulation has finite (non-ideal)
|
658
654
|
vertices.</p>
|
659
655
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">T</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s2">"m004"</span><span class="p">)</span>
|
660
656
|
<span class="gp">>>> </span><span class="n">T</span><span class="o">.</span><span class="n">has_finite_vertices</span><span class="p">()</span>
|
@@ -676,7 +672,7 @@ finite vertices:</p>
|
|
676
672
|
|
677
673
|
<dl class="py method">
|
678
674
|
<dt class="sig sig-object py" id="snappy.Triangulation.homological_longitude">
|
679
|
-
<span class="sig-name descname"><span class="pre">homological_longitude</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cusp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.homological_longitude" title="
|
675
|
+
<span class="sig-name descname"><span class="pre">homological_longitude</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cusp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.homological_longitude" title="Link to this definition"></a></dt>
|
680
676
|
<dd><p>Returns the peripheral curve in the given cusp, if any, which is
|
681
677
|
homologically trivial (with rational coefficients) in the manifold:</p>
|
682
678
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span><span class="p">:</span> <span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">'m015'</span><span class="p">)</span>
|
@@ -711,8 +707,8 @@ the manifold, an exception is raised:</p>
|
|
711
707
|
|
712
708
|
<dl class="py method">
|
713
709
|
<dt class="sig sig-object py" id="snappy.Triangulation.homology">
|
714
|
-
<span class="sig-name descname"><span class="pre">homology</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.homology" title="
|
715
|
-
<dd><p>Returns an AbelianGroup representing the first integral
|
710
|
+
<span class="sig-name descname"><span class="pre">homology</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="additional_classes.html#snappy.AbelianGroup" title="SnapPy.AbelianGroup"><span class="pre">AbelianGroup</span></a></span></span><a class="headerlink" href="#snappy.Triangulation.homology" title="Link to this definition"></a></dt>
|
711
|
+
<dd><p>Returns an <a class="reference internal" href="additional_classes.html#snappy.AbelianGroup" title="snappy.AbelianGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbelianGroup</span></code></a> representing the first integral
|
716
712
|
homology group of the underlying (Dehn filled) manifold.</p>
|
717
713
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m003'</span><span class="p">)</span>
|
718
714
|
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">homology</span><span class="p">()</span>
|
@@ -723,7 +719,7 @@ homology group of the underlying (Dehn filled) manifold.</p>
|
|
723
719
|
|
724
720
|
<dl class="py method">
|
725
721
|
<dt class="sig sig-object py" id="snappy.Triangulation.is_orientable">
|
726
|
-
<span class="sig-name descname"><span class="pre">is_orientable</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.is_orientable" title="
|
722
|
+
<span class="sig-name descname"><span class="pre">is_orientable</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#snappy.Triangulation.is_orientable" title="Link to this definition"></a></dt>
|
727
723
|
<dd><p>Return whether the underlying 3-manifold is orientable.</p>
|
728
724
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'x124'</span><span class="p">)</span>
|
729
725
|
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">is_orientable</span><span class="p">()</span>
|
@@ -734,7 +730,7 @@ homology group of the underlying (Dehn filled) manifold.</p>
|
|
734
730
|
|
735
731
|
<dl class="py method">
|
736
732
|
<dt class="sig sig-object py" id="snappy.Triangulation.isomorphisms_to">
|
737
|
-
<span class="sig-name descname"><span class="pre">isomorphisms_to</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Triangulation</span>
|
733
|
+
<span class="sig-name descname"><span class="pre">isomorphisms_to</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#snappy.Triangulation" title="snappy.Triangulation"><span class="pre">Triangulation</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">TriangulationHP</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Isometry</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#snappy.Triangulation.isomorphisms_to" title="Link to this definition"></a></dt>
|
738
734
|
<dd><p>Returns a complete list of combinatorial isomorphisms between
|
739
735
|
the two triangulations:</p>
|
740
736
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">'5^2_1'</span><span class="p">)</span>
|
@@ -757,17 +753,17 @@ meridian of cusp 1.</p>
|
|
757
753
|
|
758
754
|
<dl class="py method">
|
759
755
|
<dt class="sig sig-object py" id="snappy.Triangulation.link">
|
760
|
-
<span class="sig-name descname"><span class="pre">link</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.link" title="
|
756
|
+
<span class="sig-name descname"><span class="pre">link</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.link" title="Link to this definition"></a></dt>
|
761
757
|
<dd><p>If the manifold is stored as a link complement in your
|
762
758
|
current session then it returns the number of components
|
763
759
|
and crossing of the link. To view and interact with the
|
764
760
|
link see <a class="reference internal" href="spherogram.html#spherogram.Link.view" title="spherogram.Link.view"><code class="xref py py-meth docutils literal notranslate"><span class="pre">spherogram.Link.view()</span></code></a>
|
765
|
-
and <a class="reference internal" href="
|
761
|
+
and <a class="reference internal" href="#snappy.Triangulation.plink" title="snappy.Triangulation.plink"><code class="xref py py-meth docutils literal notranslate"><span class="pre">plink</span></code></a>.</p>
|
766
762
|
</dd></dl>
|
767
763
|
|
768
764
|
<dl class="py method">
|
769
765
|
<dt class="sig sig-object py" id="snappy.Triangulation.name">
|
770
|
-
<span class="sig-name descname"><span class="pre">name</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.name" title="
|
766
|
+
<span class="sig-name descname"><span class="pre">name</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#snappy.Triangulation.name" title="Link to this definition"></a></dt>
|
771
767
|
<dd><p>Return the name of the triangulation.</p>
|
772
768
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'4_1'</span><span class="p">)</span>
|
773
769
|
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">name</span><span class="p">()</span>
|
@@ -778,7 +774,7 @@ and <a class="reference internal" href="manifold.html#snappy.Manifold.plink" tit
|
|
778
774
|
|
779
775
|
<dl class="py method">
|
780
776
|
<dt class="sig sig-object py" id="snappy.Triangulation.normal_boundary_slopes">
|
781
|
-
<span class="sig-name descname"><span class="pre">normal_boundary_slopes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">subset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">algorithm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'FXrays'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.normal_boundary_slopes" title="
|
777
|
+
<span class="sig-name descname"><span class="pre">normal_boundary_slopes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">subset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">algorithm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'FXrays'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.normal_boundary_slopes" title="Link to this definition"></a></dt>
|
782
778
|
<dd><p>For a one-cusped manifold, returns all the nonempty boundary slopes of
|
783
779
|
spun normal surfaces. Provided the triangulation supports a
|
784
780
|
genuine hyperbolic structure, then by <a class="reference external" href="http://arxiv.org/abs/math/0503027">Thurston and Walsh</a> any strict boundary slope
|
@@ -791,8 +787,9 @@ semifiber) must be listed here.</p>
|
|
791
787
|
</div>
|
792
788
|
<p>If the <code class="docutils literal notranslate"><span class="pre">subset</span></code> flag is set to <code class="docutils literal notranslate"><span class="pre">'kabaya'</span></code>, then it only
|
793
789
|
returns boundary slopes associated to vertex surfaces with a quad
|
794
|
-
in every tetrahedron; by Theorem 1.1. of
|
795
|
-
|
790
|
+
in every tetrahedron; by Theorem 1.1. of
|
791
|
+
<a class="reference external" href="http://arxiv.org/abs/1102.4588">Dunfield and Garoufalidis ‘12</a>
|
792
|
+
these are all strict boundary slopes.</p>
|
796
793
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">N</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">'m113'</span><span class="p">)</span>
|
797
794
|
<span class="gp">>>> </span><span class="n">N</span><span class="o">.</span><span class="n">normal_boundary_slopes</span><span class="p">()</span>
|
798
795
|
<span class="go">[(1, 1), (1, 2), (2, -1), (2, 3), (8, 11)]</span>
|
@@ -811,7 +808,7 @@ giving isolated rays in the space of embedded normal surfaces.</p>
|
|
811
808
|
|
812
809
|
<dl class="py method">
|
813
810
|
<dt class="sig sig-object py" id="snappy.Triangulation.normal_surfaces">
|
814
|
-
<span class="sig-name descname"><span class="pre">normal_surfaces</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">algorithm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'FXrays'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.normal_surfaces" title="
|
811
|
+
<span class="sig-name descname"><span class="pre">normal_surfaces</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">algorithm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'FXrays'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.normal_surfaces" title="Link to this definition"></a></dt>
|
815
812
|
<dd><p>All the vertex spun-normal surfaces in the current triangulation.</p>
|
816
813
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">'m004'</span><span class="p">)</span>
|
817
814
|
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">normal_surfaces</span><span class="p">()</span>
|
@@ -825,7 +822,7 @@ giving isolated rays in the space of embedded normal surfaces.</p>
|
|
825
822
|
|
826
823
|
<dl class="py method">
|
827
824
|
<dt class="sig sig-object py" id="snappy.Triangulation.num_cusps">
|
828
|
-
<span class="sig-name descname"><span class="pre">num_cusps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cusp_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.num_cusps" title="
|
825
|
+
<span class="sig-name descname"><span class="pre">num_cusps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cusp_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#snappy.Triangulation.num_cusps" title="Link to this definition"></a></dt>
|
829
826
|
<dd><p>Return the total number of cusps. By giving the optional argument
|
830
827
|
‘orientable’ or ‘nonorientable’ it will only count cusps of that type.</p>
|
831
828
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m125'</span><span class="p">)</span>
|
@@ -837,7 +834,7 @@ giving isolated rays in the space of embedded normal surfaces.</p>
|
|
837
834
|
|
838
835
|
<dl class="py method">
|
839
836
|
<dt class="sig sig-object py" id="snappy.Triangulation.num_tetrahedra">
|
840
|
-
<span class="sig-name descname"><span class="pre">num_tetrahedra</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.num_tetrahedra" title="
|
837
|
+
<span class="sig-name descname"><span class="pre">num_tetrahedra</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#snappy.Triangulation.num_tetrahedra" title="Link to this definition"></a></dt>
|
841
838
|
<dd><p>Return the number of tetrahedra in the triangulation.</p>
|
842
839
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m004'</span><span class="p">)</span>
|
843
840
|
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">num_tetrahedra</span><span class="p">()</span>
|
@@ -848,7 +845,7 @@ giving isolated rays in the space of embedded normal surfaces.</p>
|
|
848
845
|
|
849
846
|
<dl class="py method">
|
850
847
|
<dt class="sig sig-object py" id="snappy.Triangulation.orientation_cover">
|
851
|
-
<span class="sig-name descname"><span class="pre">orientation_cover</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.orientation_cover" title="
|
848
|
+
<span class="sig-name descname"><span class="pre">orientation_cover</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.orientation_cover" title="Link to this definition"></a></dt>
|
852
849
|
<dd><p>For a non-orientable Triangulation, returns the 2-fold cover which
|
853
850
|
is orientable.</p>
|
854
851
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">X</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'x123'</span><span class="p">)</span>
|
@@ -863,14 +860,9 @@ is orientable.</p>
|
|
863
860
|
</div>
|
864
861
|
</dd></dl>
|
865
862
|
|
866
|
-
<dl class="py method">
|
867
|
-
<dt class="sig sig-object py" id="snappy.Triangulation.pickle">
|
868
|
-
<span class="sig-name descname"><span class="pre">pickle</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.pickle" title="Permalink to this definition"></a></dt>
|
869
|
-
<dd></dd></dl>
|
870
|
-
|
871
863
|
<dl class="py method">
|
872
864
|
<dt class="sig sig-object py" id="snappy.Triangulation.plink">
|
873
|
-
<span class="sig-name descname"><span class="pre">plink</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.plink" title="
|
865
|
+
<span class="sig-name descname"><span class="pre">plink</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.plink" title="Link to this definition"></a></dt>
|
874
866
|
<dd><p>Brings up a link editor window if the manifold is stored
|
875
867
|
as a link complement in your current session.</p>
|
876
868
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">'4_1'</span><span class="p">)</span> <span class="c1"># stored as a triangulation with a link</span>
|
@@ -887,9 +879,8 @@ as a link complement in your current session.</p>
|
|
887
879
|
|
888
880
|
<dl class="py method">
|
889
881
|
<dt class="sig sig-object py" id="snappy.Triangulation.ptolemy_generalized_obstruction_classes">
|
890
|
-
<span class="sig-name descname"><span class="pre">ptolemy_generalized_obstruction_classes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">N</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.ptolemy_generalized_obstruction_classes" title="
|
891
|
-
<dd><p>
|
892
|
-
<p>Returns the obstruction classes needed to compute
|
882
|
+
<span class="sig-name descname"><span class="pre">ptolemy_generalized_obstruction_classes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">N</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.ptolemy_generalized_obstruction_classes" title="Link to this definition"></a></dt>
|
883
|
+
<dd><p>Returns the obstruction classes needed to compute
|
893
884
|
PGL(N,C)-representations for any N, i.e., it returns a list with
|
894
885
|
a representative cocycle for each element in
|
895
886
|
H^2(M, boundary M; Z/N) / (Z/N)^* where (Z/N)^* are the units in Z/N.
|
@@ -947,7 +938,7 @@ four face classes.</p>
|
|
947
938
|
|
948
939
|
<dl class="py method">
|
949
940
|
<dt class="sig sig-object py" id="snappy.Triangulation.ptolemy_obstruction_classes">
|
950
|
-
<span class="sig-name descname"><span class="pre">ptolemy_obstruction_classes</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.ptolemy_obstruction_classes" title="
|
941
|
+
<span class="sig-name descname"><span class="pre">ptolemy_obstruction_classes</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.ptolemy_obstruction_classes" title="Link to this definition"></a></dt>
|
951
942
|
<dd><p>Returns the obstruction classes needed to compute
|
952
943
|
pSL(N,C) = SL(N,C)/{+1,-1} representations for even N, i.e., it
|
953
944
|
returns a list with a representative cocycle for each class in
|
@@ -1003,9 +994,8 @@ hence the cocycle takes the same value on those two faces (s_3_0 = s_1_1).</p>
|
|
1003
994
|
|
1004
995
|
<dl class="py method">
|
1005
996
|
<dt class="sig sig-object py" id="snappy.Triangulation.ptolemy_variety">
|
1006
|
-
<span class="sig-name descname"><span class="pre">ptolemy_variety</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">N</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">obstruction_class</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">simplify</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eliminate_fixed_ptolemys</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.ptolemy_variety" title="
|
1007
|
-
<dd><p>
|
1008
|
-
<p>Returns a Ptolemy variety as described in</p>
|
997
|
+
<span class="sig-name descname"><span class="pre">ptolemy_variety</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">N</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">obstruction_class</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">simplify</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eliminate_fixed_ptolemys</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.ptolemy_variety" title="Link to this definition"></a></dt>
|
998
|
+
<dd><p>Returns a Ptolemy variety as described in</p>
|
1009
999
|
<ul class="simple">
|
1010
1000
|
<li><p>Stavros Garoufalidis, Dyland Thurston, Christian K. Zickert:
|
1011
1001
|
“The Complex Volume of SL(n,C)-Representations of 3-Manifolds”
|
@@ -1172,7 +1162,7 @@ on how to compute cross ratios, volumes and other invariants):</p>
|
|
1172
1162
|
|
1173
1163
|
<dl class="py method">
|
1174
1164
|
<dt class="sig sig-object py" id="snappy.Triangulation.randomize">
|
1175
|
-
<span class="sig-name descname"><span class="pre">randomize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">blowup_multiple</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">passes_at_fours</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">6</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.randomize" title="
|
1165
|
+
<span class="sig-name descname"><span class="pre">randomize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">blowup_multiple</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">passes_at_fours</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">6</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.randomize" title="Link to this definition"></a></dt>
|
1176
1166
|
<dd><p>Perform random Pachner moves on the underlying triangulation,
|
1177
1167
|
including some initial 3 -> 2 moves that increase the number of
|
1178
1168
|
tetrahedra by blowup_multiple.</p>
|
@@ -1184,7 +1174,7 @@ tetrahedra by blowup_multiple.</p>
|
|
1184
1174
|
|
1185
1175
|
<dl class="py method">
|
1186
1176
|
<dt class="sig sig-object py" id="snappy.Triangulation.reverse_orientation">
|
1187
|
-
<span class="sig-name descname"><span class="pre">reverse_orientation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.reverse_orientation" title="
|
1177
|
+
<span class="sig-name descname"><span class="pre">reverse_orientation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#snappy.Triangulation.reverse_orientation" title="Link to this definition"></a></dt>
|
1188
1178
|
<dd><p>Reverses the orientation of the Triangulation, presuming that
|
1189
1179
|
it is orientable.</p>
|
1190
1180
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">'m015'</span><span class="p">)</span>
|
@@ -1198,7 +1188,7 @@ it is orientable.</p>
|
|
1198
1188
|
|
1199
1189
|
<dl class="py method">
|
1200
1190
|
<dt class="sig sig-object py" id="snappy.Triangulation.save">
|
1201
|
-
<span class="sig-name descname"><span class="pre">save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.save" title="
|
1191
|
+
<span class="sig-name descname"><span class="pre">save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.save" title="Link to this definition"></a></dt>
|
1202
1192
|
<dd><p>Save the triangulation as a SnapPea triangulation file.</p>
|
1203
1193
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m004'</span><span class="p">)</span>
|
1204
1194
|
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s1">'fig-eight.tri'</span><span class="p">)</span>
|
@@ -1216,7 +1206,7 @@ with Dehn coefficients (2,3).</p>
|
|
1216
1206
|
|
1217
1207
|
<dl class="py method">
|
1218
1208
|
<dt class="sig sig-object py" id="snappy.Triangulation.set_name">
|
1219
|
-
<span class="sig-name descname"><span class="pre">set_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">new_name</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.set_name" title="
|
1209
|
+
<span class="sig-name descname"><span class="pre">set_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">new_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#snappy.Triangulation.set_name" title="Link to this definition"></a></dt>
|
1220
1210
|
<dd><p>Give the triangulation a new name.</p>
|
1221
1211
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'4_1'</span><span class="p">)</span>
|
1222
1212
|
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">set_name</span><span class="p">(</span><span class="s1">'figure-eight-comp'</span><span class="p">)</span>
|
@@ -1228,7 +1218,7 @@ with Dehn coefficients (2,3).</p>
|
|
1228
1218
|
|
1229
1219
|
<dl class="py method">
|
1230
1220
|
<dt class="sig sig-object py" id="snappy.Triangulation.set_peripheral_curves">
|
1231
|
-
<span class="sig-name descname"><span class="pre">set_peripheral_curves</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">peripheral_data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_matrices</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.set_peripheral_curves" title="
|
1221
|
+
<span class="sig-name descname"><span class="pre">set_peripheral_curves</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">peripheral_data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_matrices</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.set_peripheral_curves" title="Link to this definition"></a></dt>
|
1232
1222
|
<dd><p>Each cusp has a preferred marking. In the case of a torus
|
1233
1223
|
cusp, this is pair of essential simple curves meeting in one
|
1234
1224
|
point; equivalently, a basis of the first homology of the
|
@@ -1243,7 +1233,7 @@ as peripheral_data.</p>
|
|
1243
1233
|
|
1244
1234
|
<dl class="py method">
|
1245
1235
|
<dt class="sig sig-object py" id="snappy.Triangulation.simplify">
|
1246
|
-
<span class="sig-name descname"><span class="pre">simplify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">passes_at_fours</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">6</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.simplify" title="
|
1236
|
+
<span class="sig-name descname"><span class="pre">simplify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">passes_at_fours</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">6</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.simplify" title="Link to this definition"></a></dt>
|
1247
1237
|
<dd><p>Try to simplify the triangulation by doing Pachner moves.</p>
|
1248
1238
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'12n123'</span><span class="p">)</span>
|
1249
1239
|
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">simplify</span><span class="p">()</span>
|
@@ -1268,7 +1258,7 @@ before giving up.</p>
|
|
1268
1258
|
|
1269
1259
|
<dl class="py method">
|
1270
1260
|
<dt class="sig sig-object py" id="snappy.Triangulation.slice_obstruction_HKL">
|
1271
|
-
<span class="sig-name descname"><span class="pre">slice_obstruction_HKL</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">primes_spec</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">check_in_S3</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.slice_obstruction_HKL" title="
|
1261
|
+
<span class="sig-name descname"><span class="pre">slice_obstruction_HKL</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">primes_spec</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">check_in_S3</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.slice_obstruction_HKL" title="Link to this definition"></a></dt>
|
1272
1262
|
<dd><p>For the exterior of a knot in S^3, searches for a topological
|
1273
1263
|
slicing obstruction from:</p>
|
1274
1264
|
<p>Herald, Kirk, Livingston, Math Zeit., 2010
|
@@ -1284,7 +1274,6 @@ slice), and otherwise returns None:</p>
|
|
1284
1274
|
<span class="n">sage</span><span class="p">:</span> <span class="n">spec</span> <span class="o">=</span> <span class="p">[(</span><span class="mi">10</span><span class="p">,</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">20</span><span class="p">]),</span> <span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">10</span><span class="p">])]</span>
|
1285
1275
|
<span class="n">sage</span><span class="p">:</span> <span class="n">M</span><span class="o">.</span><span class="n">slice_obstruction_HKL</span><span class="p">(</span><span class="n">spec</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1286
1276
|
<span class="n">Looking</span> <span class="n">at</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">...</span>
|
1287
|
-
<span class="n">Looking</span> <span class="n">at</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> <span class="o">...</span>
|
1288
1277
|
<span class="n">Looking</span> <span class="n">at</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">7</span><span class="p">)</span> <span class="o">...</span>
|
1289
1278
|
<span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">7</span><span class="p">)</span>
|
1290
1279
|
</pre></div>
|
@@ -1293,7 +1282,6 @@ slice), and otherwise returns None:</p>
|
|
1293
1282
|
the q by just q_max:</p>
|
1294
1283
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span><span class="p">:</span> <span class="n">spec</span> <span class="o">=</span> <span class="p">[([</span><span class="mi">3</span><span class="p">,</span> <span class="mi">10</span><span class="p">],</span> <span class="mi">10</span><span class="p">)]</span>
|
1295
1284
|
<span class="n">sage</span><span class="p">:</span> <span class="n">M</span><span class="o">.</span><span class="n">slice_obstruction_HKL</span><span class="p">(</span><span class="n">spec</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1296
|
-
<span class="n">Looking</span> <span class="n">at</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> <span class="o">...</span>
|
1297
1285
|
<span class="n">Looking</span> <span class="n">at</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">7</span><span class="p">)</span> <span class="o">...</span>
|
1298
1286
|
<span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">7</span><span class="p">)</span>
|
1299
1287
|
</pre></div>
|
@@ -1312,123 +1300,244 @@ broadly, but other cases requires computing many more twisted
|
|
1312
1300
|
Alexander polynomials.</p>
|
1313
1301
|
</dd></dl>
|
1314
1302
|
|
1303
|
+
<dl class="py method">
|
1304
|
+
<dt class="sig sig-object py" id="snappy.Triangulation.symplectic_basis">
|
1305
|
+
<span class="sig-name descname"><span class="pre">symplectic_basis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verify</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.symplectic_basis" title="Link to this definition"></a></dt>
|
1306
|
+
<dd><p>Extend the Neumann-Zagier matrix to one which is symplectic
|
1307
|
+
(up to factors of 2) using oscillating curves, see
|
1308
|
+
<a class="reference external" href="https://arxiv.org/abs/2208.06969">Mathews and Purcell ‘22</a>.
|
1309
|
+
Only accepts triangulations with 1 cusp.</p>
|
1310
|
+
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s2">"4_1"</span><span class="p">)</span>
|
1311
|
+
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">symplectic_basis</span><span class="p">()</span>
|
1312
|
+
<span class="go">[-1 0 -1 -1]</span>
|
1313
|
+
<span class="go">[ 2 0 -2 0]</span>
|
1314
|
+
<span class="go">[-2 -1 -2 -1]</span>
|
1315
|
+
<span class="go">[ 0 -1 -2 -1]</span>
|
1316
|
+
</pre></div>
|
1317
|
+
</div>
|
1318
|
+
<dl class="field-list simple">
|
1319
|
+
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
1320
|
+
<dd class="field-odd"><p><strong>verify</strong> – Explicitly test if the resulting matrix is symplectic.</p>
|
1321
|
+
</dd>
|
1322
|
+
</dl>
|
1323
|
+
</dd></dl>
|
1324
|
+
|
1315
1325
|
<dl class="py method">
|
1316
1326
|
<dt class="sig sig-object py" id="snappy.Triangulation.triangulation_isosig">
|
1317
|
-
<span class="sig-name descname"><span class="pre">triangulation_isosig</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">decorated</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignore_cusp_ordering</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignore_curve_orientations</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignore_orientation</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.triangulation_isosig" title="
|
1318
|
-
<dd><p>Returns
|
1319
|
-
|
1320
|
-
<div class="
|
1327
|
+
<span class="sig-name descname"><span class="pre">triangulation_isosig</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">decorated</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignore_cusp_ordering</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignore_curves</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignore_curve_orientations</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignore_filling_orientations</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignore_orientation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#snappy.Triangulation.triangulation_isosig" title="Link to this definition"></a></dt>
|
1328
|
+
<dd><p>Returns the “(decorated) isomorphism signature”, a compact text
|
1329
|
+
representation of the triangulation:</p>
|
1330
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">T</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m004'</span><span class="p">)</span>
|
1321
1331
|
<span class="gp">>>> </span><span class="n">T</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">()</span>
|
1322
1332
|
<span class="go">'cPcbbbiht_BaCB'</span>
|
1323
1333
|
</pre></div>
|
1324
1334
|
</div>
|
1325
|
-
<p>
|
1326
|
-
<div class="
|
1327
|
-
<span class="gp">>>> </span><span class="n">
|
1328
|
-
<span class="go">'hLMzMkbcdefggghhhqxqhx_BaaB'</span>
|
1329
|
-
<span class="gp">>>> </span><span class="n">B</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'hLMzMkbcdefggghhhqxqhx_BaaB'</span><span class="p">)</span>
|
1330
|
-
<span class="gp">>>> </span><span class="n">A</span> <span class="o">==</span> <span class="n">B</span>
|
1335
|
+
<p>This string can be used later to recreate an isomorphic triangulation:</p>
|
1336
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">U</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'cPcbbbiht_BaCB'</span><span class="p">)</span>
|
1337
|
+
<span class="gp">>>> </span><span class="n">T</span> <span class="o">==</span> <span class="n">U</span>
|
1331
1338
|
<span class="go">True</span>
|
1332
1339
|
</pre></div>
|
1333
1340
|
</div>
|
1334
|
-
<p>
|
1335
|
-
|
1336
|
-
|
1337
|
-
<
|
1338
|
-
<
|
1339
|
-
|
1340
|
-
<span class="
|
1341
|
-
<span class="gp">>>> </span><span class="n">
|
1342
|
-
<span class="
|
1343
|
-
|
1344
|
-
|
1345
|
-
<
|
1346
|
-
<
|
1347
|
-
|
1348
|
-
<
|
1349
|
-
|
1350
|
-
<
|
1351
|
-
<
|
1352
|
-
<
|
1353
|
-
|
1354
|
-
|
1355
|
-
<span class="
|
1356
|
-
<span class="
|
1357
|
-
|
1358
|
-
</
|
1359
|
-
<
|
1360
|
-
|
1361
|
-
|
1362
|
-
|
1363
|
-
<span class="
|
1364
|
-
|
1365
|
-
|
1366
|
-
<span class="gp">>>> </span><span class="n">
|
1367
|
-
<span class="
|
1368
|
-
|
1369
|
-
</
|
1370
|
-
<
|
1371
|
-
|
1372
|
-
|
1373
|
-
|
1374
|
-
<
|
1375
|
-
<
|
1376
|
-
|
1377
|
-
|
1378
|
-
<
|
1379
|
-
<
|
1341
|
+
<p>The isomorphism signature is also used to compute the
|
1342
|
+
<a class="reference internal" href="manifold.html#snappy.Manifold.isometry_signature" title="snappy.Manifold.isometry_signature"><code class="xref py py-meth docutils literal notranslate"><span class="pre">isometry_signature</span></code></a>.
|
1343
|
+
It comes in two flavors controlled by the <code class="xref py py-attr docutils literal notranslate"><span class="pre">decorated</span></code> flag.</p>
|
1344
|
+
<p><strong>Undecorated isomorphism signature</strong></p>
|
1345
|
+
<p>The undecorated isomorphism signature is a complete invariant of the
|
1346
|
+
(oriented) triangulation up to combinatorial isomorphism:</p>
|
1347
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">T</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m015'</span><span class="p">)</span>
|
1348
|
+
<span class="gp">>>> </span><span class="n">T</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">decorated</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
1349
|
+
<span class="go">'dLQbcccdero'</span>
|
1350
|
+
</pre></div>
|
1351
|
+
</div>
|
1352
|
+
<p>It was introduced in
|
1353
|
+
<a class="reference external" href="http://arxiv.org/abs/1110.6080">Burton ‘11</a>. It canonizes and
|
1354
|
+
generalizes the ealier dehydration string by
|
1355
|
+
<a class="reference external" href="https://doi.org/10.1090/S0025-5718-99-01036-4">Callahan, Hildebrand and Weeks ‘99</a>.
|
1356
|
+
The undecorated isomorphism signature can also be given to
|
1357
|
+
<a class="reference external" href="https://regina-normal.github.io/">Regina</a>’s
|
1358
|
+
<code class="docutils literal notranslate"><span class="pre">Triangulation3.fromIsoSig</span></code>.</p>
|
1359
|
+
<p>By default, the orientation (if orientable) is ignored. More
|
1360
|
+
precisely, it computes the string for both orientations (if orientable)
|
1361
|
+
and uses the lexicographically smaller string:</p>
|
1362
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">T</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m015'</span><span class="p">)</span>
|
1363
|
+
<span class="gp">>>> </span><span class="n">T</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">decorated</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
1364
|
+
<span class="go">'dLQbcccdero'</span>
|
1365
|
+
<span class="gp">>>> </span><span class="n">T</span><span class="o">.</span><span class="n">reverse_orientation</span><span class="p">()</span>
|
1366
|
+
<span class="gp">>>> </span><span class="n">T</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">decorated</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
1367
|
+
<span class="go">'dLQbcccdero'</span>
|
1368
|
+
</pre></div>
|
1369
|
+
</div>
|
1370
|
+
<p>When specifying <code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_orientation</span> <span class="pre">=</span> <span class="pre">False</span></code>, the result
|
1371
|
+
encodes the orientation (if orientable). Now the result is
|
1372
|
+
different if we change the orientation of a chiral triangulation:</p>
|
1373
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">T</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m015'</span><span class="p">)</span>
|
1374
|
+
<span class="gp">>>> </span><span class="n">T</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">decorated</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">ignore_orientation</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
1375
|
+
<span class="go">'dLQbcccdero'</span>
|
1376
|
+
<span class="gp">>>> </span><span class="n">T</span><span class="o">.</span><span class="n">reverse_orientation</span><span class="p">()</span>
|
1377
|
+
<span class="gp">>>> </span><span class="n">T</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">decorated</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">ignore_orientation</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
1378
|
+
<span class="go">'dLQbccceekg'</span>
|
1379
|
+
</pre></div>
|
1380
|
+
</div>
|
1381
|
+
<p><strong>Decorated isomorphism signature (default)</strong></p>
|
1382
|
+
<p>SnapPy can decorate the isomorphism signature to include the following
|
1383
|
+
peripheral information in a canonical way (that is invariant under
|
1384
|
+
the action by combinatorial isomorphisms of the triangulation):</p>
|
1385
|
+
<ol class="arabic simple">
|
1386
|
+
<li><p>Indexing of the cusps (that is, ideal vertices).</p>
|
1387
|
+
<ul class="simple">
|
1388
|
+
<li><p>Included by default.
|
1389
|
+
Can be suppressed with <code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_cusp_ordering</span> <span class="pre">=</span> <span class="pre">True</span></code>.</p></li>
|
1390
|
+
</ul>
|
1391
|
+
</li>
|
1392
|
+
<li><p>Peripheral curves (aka meridian and longitude, up to homotopy).</p>
|
1393
|
+
<ul class="simple">
|
1394
|
+
<li><p>Included by default.
|
1395
|
+
Can be suppressed with <code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_curves</span> <span class="pre">=</span> <span class="pre">True</span></code>.</p></li>
|
1396
|
+
<li><p>By default, the decoration encodes the oriented peripheral curves.
|
1397
|
+
By specifying <code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_curve_orientations</span> <span class="pre">=</span> <span class="pre">True</span></code>, it encodes
|
1398
|
+
the unoriented peripheral curves instead.</p></li>
|
1399
|
+
</ul>
|
1400
|
+
</li>
|
1401
|
+
<li><p>Dehn-fillings (if present).</p>
|
1402
|
+
<ul class="simple">
|
1403
|
+
<li><p>By default, the decoration encodes the oriented Dehn-fillings.
|
1404
|
+
That is, we also encodes the orientation of the peripheral curve
|
1405
|
+
that is used for the Dehn-filling (this explanation only
|
1406
|
+
works if the coefficients are integral).
|
1407
|
+
By specifying <code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_filling_orientations</span> <span class="pre">=</span> <span class="pre">True</span></code>, the
|
1408
|
+
decoration encodes the unoriented Dehn-fillings.
|
1409
|
+
That is, it normalizes the Dehn-filling coefficients by picking
|
1410
|
+
a canonical pair among <span class="math notranslate nohighlight">\((m,l)\)</span> and <span class="math notranslate nohighlight">\((-m,-l)\)</span>.</p></li>
|
1411
|
+
</ul>
|
1412
|
+
</li>
|
1413
|
+
</ol>
|
1414
|
+
<p>Details of the encoding are explained in the
|
1415
|
+
<a class="reference external" href="https://github.com/3-manifolds/SnapPy/blob/master/python/decorated_isosig.py">SnapPy source code</a>.</p>
|
1416
|
+
<p><strong>Example</strong></p>
|
1417
|
+
<p>Let us consider the links <span class="math notranslate nohighlight">\(9^2_{34}\)</span> and <code class="docutils literal notranslate"><span class="pre">L9a21</span></code>. Note that we use
|
1418
|
+
<a class="reference internal" href="manifold.html#snappy.Manifold.canonical_retriangulation" title="snappy.Manifold.canonical_retriangulation"><code class="xref py py-meth docutils literal notranslate"><span class="pre">canonical_retriangulation</span></code></a>
|
1419
|
+
to make the following examples say something intrinsic about the
|
1420
|
+
hyperbolic manifold:</p>
|
1421
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">snappy</span> <span class="kn">import</span> <span class="n">Manifold</span>
|
1422
|
+
<span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">'9^2_34'</span><span class="p">)</span><span class="o">.</span><span class="n">canonical_retriangulation</span><span class="p">()</span>
|
1423
|
+
<span class="gp">>>> </span><span class="n">N</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">'L9a21'</span><span class="p">)</span><span class="o">.</span><span class="n">canonical_retriangulation</span><span class="p">()</span>
|
1424
|
+
</pre></div>
|
1425
|
+
</div>
|
1426
|
+
<p>The decorated isosig recovers the entire peripheral information faithfully
|
1427
|
+
(including orientation, see below):</p>
|
1428
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">()</span>
|
1429
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo_baBabbbBbC'</span>
|
1430
|
+
<span class="gp">>>> </span><span class="n">K</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo_baBabbbBbC'</span><span class="p">)</span>
|
1431
|
+
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">isomorphisms_to</span><span class="p">(</span><span class="n">K</span><span class="p">)</span>
|
1380
1432
|
<span class="go">[0 -> 0 1 -> 1</span>
|
1381
|
-
<span class="go">[
|
1382
|
-
<span class="go">[
|
1383
|
-
<span class="go">Extends to link, 0 -> 0 1 -> 1</span>
|
1384
|
-
<span class="go">[1 0] [1 0]</span>
|
1385
|
-
<span class="go">[0 -1] [0 -1]</span>
|
1433
|
+
<span class="go">[1 0] [1 0]</span>
|
1434
|
+
<span class="go">[0 1] [0 1]</span>
|
1386
1435
|
<span class="go">Extends to link]</span>
|
1387
1436
|
</pre></div>
|
1388
1437
|
</div>
|
1389
|
-
<p>
|
1390
|
-
|
1391
|
-
<
|
1392
|
-
|
1393
|
-
|
1394
|
-
|
1395
|
-
|
1396
|
-
<
|
1397
|
-
<span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">
|
1398
|
-
<span class="
|
1399
|
-
<span class="
|
1400
|
-
|
1401
|
-
</div>
|
1402
|
-
|
1403
|
-
<
|
1404
|
-
|
1405
|
-
|
1406
|
-
<
|
1407
|
-
<span class="
|
1408
|
-
|
1409
|
-
|
1410
|
-
<
|
1411
|
-
|
1412
|
-
|
1413
|
-
|
1414
|
-
<
|
1415
|
-
|
1416
|
-
|
1417
|
-
|
1418
|
-
|
1419
|
-
|
1420
|
-
|
1421
|
-
|
1422
|
-
|
1423
|
-
|
1424
|
-
|
1438
|
+
<p>The two links have isometric complements:</p>
|
1439
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">decorated</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
1440
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo'</span>
|
1441
|
+
<span class="gp">>>> </span><span class="n">N</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">decorated</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
1442
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo'</span>
|
1443
|
+
</pre></div>
|
1444
|
+
</div>
|
1445
|
+
<p>However, the complements have different handedness:</p>
|
1446
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">decorated</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span><span class="n">ignore_orientation</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
1447
|
+
<span class="go">'oLLzLPwzQQccdeghjiiklmnmnnuvuvvavovvffffo'</span>
|
1448
|
+
<span class="gp">>>> </span><span class="n">N</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">decorated</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span><span class="n">ignore_orientation</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
1449
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo'</span>
|
1450
|
+
</pre></div>
|
1451
|
+
</div>
|
1452
|
+
<p>Also, the cusps/components of the link are indexed differently:</p>
|
1453
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">ignore_curves</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1454
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo_ba'</span>
|
1455
|
+
<span class="gp">>>> </span><span class="n">N</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">ignore_curves</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1456
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo_ab'</span>
|
1457
|
+
</pre></div>
|
1458
|
+
</div>
|
1459
|
+
<p>Ignoring the indexing, we also see that the oriented merdians and
|
1460
|
+
longitudes do not match:</p>
|
1461
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">ignore_cusp_ordering</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1462
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo_bBbCBabb'</span>
|
1463
|
+
<span class="gp">>>> </span><span class="n">N</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">ignore_cusp_ordering</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1464
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo_BbbCbabb'</span>
|
1465
|
+
</pre></div>
|
1466
|
+
</div>
|
1467
|
+
<p>However, they are the same links (ignoring indexing and orientation):</p>
|
1468
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">ignore_cusp_ordering</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">ignore_curve_orientations</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1469
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo_bBBcbabb'</span>
|
1470
|
+
<span class="gp">>>> </span><span class="n">N</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span><span class="n">ignore_cusp_ordering</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">ignore_curve_orientations</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1471
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo_bBBcbabb'</span>
|
1472
|
+
</pre></div>
|
1473
|
+
</div>
|
1474
|
+
<p>Let us create two surgery presentations from the links (note that we
|
1475
|
+
fill after
|
1476
|
+
<a class="reference internal" href="manifold.html#snappy.Manifold.canonical_retriangulation" title="snappy.Manifold.canonical_retriangulation"><code class="xref py py-meth docutils literal notranslate"><span class="pre">canonical_retriangulation</span></code></a>
|
1477
|
+
since it rejects Dehn-fillings):</p>
|
1478
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">dehn_fill</span><span class="p">((</span><span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
|
1479
|
+
<span class="gp">>>> </span><span class="n">N</span><span class="o">.</span><span class="n">dehn_fill</span><span class="p">((</span><span class="mi">4</span><span class="p">,</span><span class="o">-</span><span class="mi">5</span><span class="p">),</span><span class="mi">1</span><span class="p">)</span>
|
1480
|
+
</pre></div>
|
1481
|
+
</div>
|
1482
|
+
<p>They are equivalent surgery presentations (of the same manifold):</p>
|
1483
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span>
|
1484
|
+
<span class="gp">... </span> <span class="n">ignore_cusp_ordering</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
|
1485
|
+
<span class="gp">... </span> <span class="n">ignore_curves</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
|
1486
|
+
<span class="gp">... </span> <span class="n">ignore_filling_orientations</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1487
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo(0,0)(1,5)'</span>
|
1488
|
+
<span class="gp">>>> </span><span class="n">N</span><span class="o">.</span><span class="n">triangulation_isosig</span><span class="p">(</span>
|
1489
|
+
<span class="gp">... </span> <span class="n">ignore_cusp_ordering</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
|
1490
|
+
<span class="gp">... </span> <span class="n">ignore_curves</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
|
1491
|
+
<span class="gp">... </span> <span class="n">ignore_filling_orientations</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1492
|
+
<span class="go">'oLLvzQLLQQccdhifihnlmkmlnnpvuvbvouggbggoo(0,0)(1,5)'</span>
|
1493
|
+
</pre></div>
|
1494
|
+
</div>
|
1495
|
+
<p><strong>Orientation</strong></p>
|
1496
|
+
<p>Note that <code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_orientation=True</span></code> only applies to the undecorated
|
1497
|
+
part of the isomorphism signature. The decoration can still capture the
|
1498
|
+
the orientation.
|
1499
|
+
More, precisely, the result of <a class="reference internal" href="#snappy.Triangulation.triangulation_isosig" title="snappy.Triangulation.triangulation_isosig"><code class="xref py py-meth docutils literal notranslate"><span class="pre">triangulation_isosig()</span></code></a> depends on
|
1500
|
+
the orientation (if the triangulation is orientable and chiral) if any
|
1501
|
+
of the following is true:</p>
|
1502
|
+
<ol class="arabic simple">
|
1503
|
+
<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_orientation</span> <span class="pre">=</span> <span class="pre">False</span></code>.</p></li>
|
1504
|
+
<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">decorated</span> <span class="pre">=</span> <span class="pre">True</span></code> and
|
1505
|
+
<code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_curves</span> <span class="pre">=</span> <span class="pre">False</span></code> and
|
1506
|
+
<code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_filling_orientations</span> <span class="pre">=</span> <span class="pre">False</span></code>.</p></li>
|
1507
|
+
</ol>
|
1508
|
+
<p>In these cases, re-constructing a triangulation from the isomorphism
|
1509
|
+
signature yields a triangulation with the same handedness.</p>
|
1510
|
+
<dl class="field-list simple">
|
1511
|
+
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
1512
|
+
<dd class="field-odd"><ul class="simple">
|
1513
|
+
<li><p><strong>decorated</strong> – Include peripheral information such as indexing of the cusps,
|
1514
|
+
(oriented or unoriented) peripheral curves and
|
1515
|
+
(oriented or unoriented) Dehn-fillings.</p></li>
|
1516
|
+
<li><p><strong>ignore_cusp_ordering</strong> – Do not encode the indexing of the cusps.
|
1517
|
+
Only relevant if <code class="xref py py-attr docutils literal notranslate"><span class="pre">decorated</span> <span class="pre">=</span> <span class="pre">True</span></code>.</p></li>
|
1518
|
+
<li><p><strong>ignore_curves</strong> – Do not encode the peripheral curves.
|
1519
|
+
Only relevant if <code class="xref py py-attr docutils literal notranslate"><span class="pre">decorated</span> <span class="pre">=</span> <span class="pre">True</span></code>.
|
1520
|
+
This is new in SnapPy version 3.2.
|
1521
|
+
If <code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_curves</span> <span class="pre">=</span> <span class="pre">True</span></code>, the result of this method cannot
|
1522
|
+
be given to prior versions.</p></li>
|
1523
|
+
<li><p><strong>ignore_curve_orientations</strong> – Do not encode the orientations of the peripheral curves.
|
1524
|
+
Only relevant if <code class="xref py py-attr docutils literal notranslate"><span class="pre">decorated</span> <span class="pre">=</span> <span class="pre">True</span></code> and
|
1525
|
+
<code class="xref py py-attr docutils literal notranslate"><span class="pre">ignore_curves</span> <span class="pre">=</span> <span class="pre">False</span></code>.</p></li>
|
1526
|
+
<li><p><strong>ignore_filling_orientations</strong> – Do not encode the orientations of the Dehn-fillings.
|
1527
|
+
Only relevant if <code class="xref py py-attr docutils literal notranslate"><span class="pre">decorated</span> <span class="pre">=</span> <span class="pre">True</span></code>.</p></li>
|
1528
|
+
<li><p><strong>ignore_orientation</strong> – Do not encode the orientation of the triangulation in the
|
1529
|
+
undecorated part of the triangulation isosig.
|
1530
|
+
See above section about orientation.</p></li>
|
1531
|
+
</ul>
|
1532
|
+
</dd>
|
1533
|
+
</dl>
|
1425
1534
|
</dd></dl>
|
1426
1535
|
|
1427
1536
|
<dl class="py method">
|
1428
1537
|
<dt class="sig sig-object py" id="snappy.Triangulation.with_hyperbolic_structure">
|
1429
|
-
<span class="sig-name descname"><span class="pre">with_hyperbolic_structure</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.with_hyperbolic_structure" title="
|
1538
|
+
<span class="sig-name descname"><span class="pre">with_hyperbolic_structure</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.Triangulation.with_hyperbolic_structure" title="Link to this definition"></a></dt>
|
1430
1539
|
<dd><p>Add a (possibly degenerate) hyperbolic structure, turning the
|
1431
|
-
Triangulation into a Manifold
|
1540
|
+
<a class="reference internal" href="#snappy.Triangulation" title="snappy.Triangulation"><code class="xref py py-class docutils literal notranslate"><span class="pre">Triangulation</span></code></a> into a <a class="reference internal" href="manifold.html#snappy.Manifold" title="snappy.Manifold"><code class="xref py py-class docutils literal notranslate"><span class="pre">Manifold</span></code></a>.</p>
|
1432
1541
|
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">M</span> <span class="o">=</span> <span class="n">Triangulation</span><span class="p">(</span><span class="s1">'m004'</span><span class="p">)</span>
|
1433
1542
|
<span class="gp">>>> </span><span class="n">N</span> <span class="o">=</span> <span class="n">M</span><span class="o">.</span><span class="n">with_hyperbolic_structure</span><span class="p">()</span>
|
1434
1543
|
<span class="gp">>>> </span><span class="n">N</span><span class="o">.</span><span class="n">volume</span><span class="p">()</span>
|
@@ -1452,7 +1561,7 @@ Triangulation into a Manifold.</p>
|
|
1452
1561
|
<hr/>
|
1453
1562
|
|
1454
1563
|
<div role="contentinfo">
|
1455
|
-
<p>© Copyright 2009-
|
1564
|
+
<p>© Copyright 2009-2025, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
|
1456
1565
|
</div>
|
1457
1566
|
|
1458
1567
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|