snappy 3.1.1__cp39-cp39-macosx_11_0_arm64.whl → 3.2__cp39-cp39-macosx_11_0_arm64.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (464) hide show
  1. snappy/CyOpenGL.cpython-39-darwin.so +0 -0
  2. snappy/SnapPy.cpython-39-darwin.so +0 -0
  3. snappy/SnapPyHP.cpython-39-darwin.so +0 -0
  4. snappy/__init__.py +299 -402
  5. snappy/app.py +70 -20
  6. snappy/browser.py +18 -17
  7. snappy/canonical.py +249 -0
  8. snappy/{verify/cusp_shapes.py → cusps/__init__.py} +8 -18
  9. snappy/cusps/cusp_area_matrix.py +101 -0
  10. snappy/{verify/cusp_areas.py → cusps/cusp_areas_from_matrix.py} +23 -39
  11. snappy/cusps/maximal_cusp_area_matrix.py +136 -0
  12. snappy/cusps/test.py +21 -0
  13. snappy/cusps/trig_cusp_area_matrix.py +63 -0
  14. snappy/database.py +10 -9
  15. snappy/decorated_isosig.py +337 -114
  16. snappy/dev/extended_ptolemy/complexVolumesClosed.py +40 -7
  17. snappy/dev/extended_ptolemy/extended.py +3 -3
  18. snappy/dev/extended_ptolemy/phc_wrapper.py +10 -10
  19. snappy/dev/vericlosed/oneVertexTruncatedComplex.py +1 -1
  20. snappy/doc/_images/m004_paper_plane_on_systole.jpg +0 -0
  21. snappy/doc/_images/m125_paper_plane.jpg +0 -0
  22. snappy/doc/_images/o9_00000_systole_paper_plane.jpg +0 -0
  23. snappy/doc/_images/o9_00000_systole_paper_plane_closer.jpg +0 -0
  24. snappy/doc/_sources/development.rst.txt +66 -46
  25. snappy/doc/_sources/index.rst.txt +72 -5
  26. snappy/doc/_sources/installing.rst.txt +145 -162
  27. snappy/doc/_sources/news.rst.txt +73 -1
  28. snappy/doc/_sources/ptolemy_examples1.rst.txt +8 -7
  29. snappy/doc/_sources/ptolemy_examples3.rst.txt +2 -2
  30. snappy/doc/_sources/triangulation.rst.txt +2 -2
  31. snappy/doc/_sources/verify.rst.txt +89 -29
  32. snappy/doc/_sources/verify_internals.rst.txt +5 -16
  33. snappy/doc/_static/basic.css +23 -1
  34. snappy/doc/_static/css/badge_only.css +1 -1
  35. snappy/doc/_static/css/theme.css +1 -1
  36. snappy/doc/_static/doctools.js +1 -1
  37. snappy/doc/_static/documentation_options.js +2 -3
  38. snappy/doc/_static/fonts/Lato/lato-bold.eot +0 -0
  39. snappy/doc/_static/fonts/Lato/lato-bold.ttf +0 -0
  40. snappy/doc/_static/fonts/Lato/lato-bold.woff +0 -0
  41. snappy/doc/_static/fonts/Lato/lato-bold.woff2 +0 -0
  42. snappy/doc/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  43. snappy/doc/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  44. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  45. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  46. snappy/doc/_static/fonts/Lato/lato-italic.eot +0 -0
  47. snappy/doc/_static/fonts/Lato/lato-italic.ttf +0 -0
  48. snappy/doc/_static/fonts/Lato/lato-italic.woff +0 -0
  49. snappy/doc/_static/fonts/Lato/lato-italic.woff2 +0 -0
  50. snappy/doc/_static/fonts/Lato/lato-regular.eot +0 -0
  51. snappy/doc/_static/fonts/Lato/lato-regular.ttf +0 -0
  52. snappy/doc/_static/fonts/Lato/lato-regular.woff +0 -0
  53. snappy/doc/_static/fonts/Lato/lato-regular.woff2 +0 -0
  54. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  55. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  56. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  57. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  58. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  59. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  60. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  61. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  62. snappy/doc/_static/js/versions.js +228 -0
  63. snappy/doc/_static/language_data.js +2 -2
  64. snappy/doc/_static/pygments.css +1 -0
  65. snappy/doc/_static/searchtools.js +125 -71
  66. snappy/doc/_static/sphinx_highlight.js +13 -3
  67. snappy/doc/additional_classes.html +291 -122
  68. snappy/doc/bugs.html +17 -20
  69. snappy/doc/censuses.html +34 -53
  70. snappy/doc/credits.html +18 -21
  71. snappy/doc/development.html +88 -68
  72. snappy/doc/genindex.html +66 -145
  73. snappy/doc/index.html +86 -31
  74. snappy/doc/installing.html +164 -182
  75. snappy/doc/manifold.html +1168 -556
  76. snappy/doc/manifoldhp.html +18 -21
  77. snappy/doc/news.html +91 -33
  78. snappy/doc/objects.inv +0 -0
  79. snappy/doc/other.html +20 -22
  80. snappy/doc/platonic_census.html +31 -34
  81. snappy/doc/plink.html +19 -22
  82. snappy/doc/ptolemy.html +20 -22
  83. snappy/doc/ptolemy_classes.html +102 -105
  84. snappy/doc/ptolemy_examples1.html +34 -36
  85. snappy/doc/ptolemy_examples2.html +28 -31
  86. snappy/doc/ptolemy_examples3.html +26 -29
  87. snappy/doc/ptolemy_examples4.html +20 -23
  88. snappy/doc/ptolemy_prelim.html +25 -28
  89. snappy/doc/py-modindex.html +16 -19
  90. snappy/doc/screenshots.html +22 -24
  91. snappy/doc/search.html +15 -18
  92. snappy/doc/searchindex.js +1 -1
  93. snappy/doc/snap.html +18 -21
  94. snappy/doc/snappy.html +18 -20
  95. snappy/doc/spherogram.html +84 -87
  96. snappy/doc/todo.html +17 -20
  97. snappy/doc/triangulation.html +324 -215
  98. snappy/doc/tutorial.html +17 -20
  99. snappy/doc/verify.html +100 -46
  100. snappy/doc/verify_internals.html +106 -563
  101. snappy/drilling/__init__.py +153 -235
  102. snappy/drilling/barycentric.py +103 -0
  103. snappy/drilling/constants.py +0 -2
  104. snappy/drilling/crush.py +56 -130
  105. snappy/drilling/cusps.py +12 -6
  106. snappy/drilling/debug.py +2 -1
  107. snappy/drilling/exceptions.py +7 -40
  108. snappy/drilling/moves.py +302 -243
  109. snappy/drilling/perturb.py +63 -37
  110. snappy/drilling/shorten.py +36 -0
  111. snappy/drilling/subdivide.py +0 -5
  112. snappy/drilling/test.py +23 -0
  113. snappy/drilling/test_cases.py +126 -0
  114. snappy/drilling/tracing.py +9 -37
  115. snappy/exceptions.py +18 -5
  116. snappy/exterior_to_link/barycentric_geometry.py +2 -4
  117. snappy/exterior_to_link/main.py +8 -7
  118. snappy/exterior_to_link/mcomplex_with_link.py +2 -2
  119. snappy/exterior_to_link/rational_linear_algebra.py +1 -1
  120. snappy/exterior_to_link/rational_linear_algebra_wrapped.py +1 -1
  121. snappy/exterior_to_link/test.py +21 -33
  122. snappy/geometric_structure/__init__.py +212 -0
  123. snappy/geometric_structure/cusp_neighborhood/__init__.py +3 -0
  124. snappy/geometric_structure/cusp_neighborhood/complex_cusp_cross_section.py +697 -0
  125. snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +484 -0
  126. snappy/geometric_structure/cusp_neighborhood/exceptions.py +42 -0
  127. snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +298 -0
  128. snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +159 -0
  129. snappy/geometric_structure/cusp_neighborhood/vertices.py +32 -0
  130. snappy/geometric_structure/geodesic/__init__.py +0 -0
  131. snappy/geometric_structure/geodesic/add_core_curves.py +152 -0
  132. snappy/geometric_structure/geodesic/avoid_core_curves.py +369 -0
  133. snappy/geometric_structure/geodesic/canonical_keys.py +52 -0
  134. snappy/geometric_structure/geodesic/check_away_from_core_curve.py +60 -0
  135. snappy/geometric_structure/geodesic/constants.py +6 -0
  136. snappy/geometric_structure/geodesic/exceptions.py +22 -0
  137. snappy/{drilling → geometric_structure/geodesic}/fixed_points.py +34 -9
  138. snappy/{drilling/geodesic_info.py → geometric_structure/geodesic/geodesic_start_point_info.py} +139 -180
  139. snappy/geometric_structure/geodesic/graph_trace_helper.py +67 -0
  140. snappy/geometric_structure/geodesic/line.py +30 -0
  141. snappy/geometric_structure/geodesic/multiplicity.py +127 -0
  142. snappy/geometric_structure/geodesic/tiles_for_geodesic.py +101 -0
  143. snappy/geometric_structure/test.py +22 -0
  144. snappy/gui.py +23 -13
  145. snappy/horoviewer.py +7 -7
  146. snappy/hyperboloid/__init__.py +96 -31
  147. snappy/hyperboloid/distances.py +245 -0
  148. snappy/hyperboloid/horoball.py +19 -0
  149. snappy/hyperboloid/line.py +35 -0
  150. snappy/hyperboloid/point.py +9 -0
  151. snappy/hyperboloid/triangle.py +29 -0
  152. snappy/isometry_signature.py +382 -0
  153. snappy/len_spec/__init__.py +596 -0
  154. snappy/len_spec/geodesic_info.py +110 -0
  155. snappy/len_spec/geodesic_key_info_dict.py +117 -0
  156. snappy/len_spec/geodesic_piece.py +143 -0
  157. snappy/len_spec/geometric_structure.py +182 -0
  158. snappy/len_spec/geometry.py +80 -0
  159. snappy/len_spec/length_spectrum_geodesic_info.py +170 -0
  160. snappy/len_spec/spine.py +206 -0
  161. snappy/len_spec/test.py +24 -0
  162. snappy/len_spec/test_cases.py +69 -0
  163. snappy/len_spec/tile.py +275 -0
  164. snappy/len_spec/word.py +86 -0
  165. snappy/math_basics.py +39 -13
  166. snappy/matrix.py +52 -9
  167. snappy/number.py +12 -6
  168. snappy/numeric_output_checker.py +2 -3
  169. snappy/pari.py +8 -4
  170. snappy/phone_home.py +2 -1
  171. snappy/polyviewer.py +8 -8
  172. snappy/ptolemy/__init__.py +1 -1
  173. snappy/ptolemy/component.py +2 -2
  174. snappy/ptolemy/coordinates.py +25 -25
  175. snappy/ptolemy/findLoops.py +9 -9
  176. snappy/ptolemy/manifoldMethods.py +27 -29
  177. snappy/ptolemy/polynomial.py +50 -57
  178. snappy/ptolemy/processFileBase.py +60 -0
  179. snappy/ptolemy/ptolemyVariety.py +109 -41
  180. snappy/ptolemy/reginaWrapper.py +4 -4
  181. snappy/ptolemy/rur.py +1 -1
  182. snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +9 -9
  183. snappy/ptolemy/test.py +99 -54
  184. snappy/ptolemy/utilities.py +1 -1
  185. snappy/raytracing/__init__.py +64 -0
  186. snappy/raytracing/additional_horospheres.py +64 -0
  187. snappy/raytracing/additional_len_spec_choices.py +63 -0
  188. snappy/raytracing/cohomology_fractal.py +0 -3
  189. snappy/raytracing/eyeball.py +123 -0
  190. snappy/raytracing/finite_raytracing_data.py +17 -17
  191. snappy/raytracing/finite_viewer.py +15 -15
  192. snappy/raytracing/geodesic_tube_info.py +93 -63
  193. snappy/raytracing/geodesics.py +94 -64
  194. snappy/raytracing/geodesics_window.py +56 -34
  195. snappy/raytracing/gui_utilities.py +21 -6
  196. snappy/raytracing/hyperboloid_navigation.py +29 -4
  197. snappy/raytracing/hyperboloid_utilities.py +73 -73
  198. snappy/raytracing/ideal_raytracing_data.py +121 -91
  199. snappy/raytracing/inside_viewer.py +199 -66
  200. snappy/raytracing/pack.py +22 -0
  201. snappy/raytracing/raytracing_data.py +37 -25
  202. snappy/raytracing/raytracing_view.py +70 -65
  203. snappy/raytracing/shaders/Eye.png +0 -0
  204. snappy/raytracing/shaders/NonGeometric.png +0 -0
  205. snappy/raytracing/shaders/__init__.py +39 -3
  206. snappy/raytracing/shaders/fragment.glsl +451 -133
  207. snappy/raytracing/test.py +29 -0
  208. snappy/raytracing/tooltip.py +146 -0
  209. snappy/raytracing/upper_halfspace_utilities.py +42 -9
  210. snappy/sage_helper.py +67 -134
  211. snappy/settings.py +90 -77
  212. snappy/shell.py +2 -0
  213. snappy/snap/character_varieties.py +2 -2
  214. snappy/snap/find_field.py +4 -3
  215. snappy/snap/fundamental_polyhedron.py +2 -2
  216. snappy/snap/kernel_structures.py +5 -1
  217. snappy/snap/nsagetools.py +9 -8
  218. snappy/snap/peripheral/dual_cellulation.py +4 -3
  219. snappy/snap/peripheral/peripheral.py +2 -2
  220. snappy/snap/peripheral/surface.py +5 -5
  221. snappy/snap/peripheral/test.py +1 -1
  222. snappy/snap/polished_reps.py +8 -8
  223. snappy/snap/slice_obs_HKL.py +16 -14
  224. snappy/snap/t3mlite/arrow.py +3 -3
  225. snappy/snap/t3mlite/edge.py +3 -3
  226. snappy/snap/t3mlite/homology.py +2 -2
  227. snappy/snap/t3mlite/mcomplex.py +3 -3
  228. snappy/snap/t3mlite/simplex.py +12 -0
  229. snappy/snap/t3mlite/spun.py +18 -17
  230. snappy/snap/t3mlite/test_vs_regina.py +4 -4
  231. snappy/snap/test.py +37 -53
  232. snappy/snap/utilities.py +4 -5
  233. snappy/test.py +121 -138
  234. snappy/test_cases.py +263 -0
  235. snappy/testing.py +131 -0
  236. snappy/tiling/__init__.py +2 -0
  237. snappy/tiling/canonical_key_dict.py +59 -0
  238. snappy/tiling/dict_based_set.py +79 -0
  239. snappy/tiling/floor.py +49 -0
  240. snappy/tiling/hyperboloid_dict.py +54 -0
  241. snappy/tiling/iter_utils.py +78 -0
  242. snappy/tiling/lifted_tetrahedron.py +22 -0
  243. snappy/tiling/lifted_tetrahedron_set.py +54 -0
  244. snappy/tiling/real_hash_dict.py +164 -0
  245. snappy/tiling/test.py +23 -0
  246. snappy/tiling/tile.py +215 -0
  247. snappy/tiling/triangle.py +33 -0
  248. snappy/tkterminal.py +113 -84
  249. snappy/twister/main.py +1 -7
  250. snappy/twister/twister_core.cpython-39-darwin.so +0 -0
  251. snappy/upper_halfspace/__init__.py +78 -17
  252. snappy/verify/__init__.py +3 -7
  253. snappy/verify/{verifyCanonical.py → canonical.py} +78 -70
  254. snappy/verify/complex_volume/adjust_torsion.py +1 -2
  255. snappy/verify/complex_volume/closed.py +13 -13
  256. snappy/verify/complex_volume/cusped.py +6 -6
  257. snappy/verify/complex_volume/extended_bloch.py +5 -8
  258. snappy/verify/{cuspTranslations.py → cusp_translations.py} +1 -1
  259. snappy/verify/edge_equations.py +80 -0
  260. snappy/verify/exceptions.py +0 -55
  261. snappy/verify/{verifyHyperbolicity.py → hyperbolicity.py} +3 -3
  262. snappy/verify/interval_newton_shapes_engine.py +7 -5
  263. snappy/verify/interval_tree.py +5 -5
  264. snappy/verify/krawczyk_shapes_engine.py +17 -18
  265. snappy/verify/maximal_cusp_area_matrix/__init__.py +7 -74
  266. snappy/verify/maximal_cusp_area_matrix/cusp_tiling_engine.py +3 -4
  267. snappy/verify/maximal_cusp_area_matrix/cusp_translate_engine.py +1 -1
  268. snappy/verify/{realAlgebra.py → real_algebra.py} +1 -1
  269. snappy/verify/shapes.py +5 -3
  270. snappy/verify/short_slopes.py +39 -41
  271. snappy/verify/{squareExtensions.py → square_extensions.py} +14 -11
  272. snappy/verify/test.py +57 -60
  273. snappy/verify/upper_halfspace/extended_matrix.py +1 -1
  274. snappy/verify/upper_halfspace/finite_point.py +3 -4
  275. snappy/verify/upper_halfspace/ideal_point.py +9 -9
  276. snappy/verify/volume.py +2 -2
  277. snappy/version.py +2 -2
  278. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/METADATA +26 -11
  279. snappy-3.2.dist-info/RECORD +503 -0
  280. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/WHEEL +1 -1
  281. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/top_level.txt +6 -1
  282. snappy/__pycache__/__init__.cpython-39.pyc +0 -0
  283. snappy/__pycache__/browser.cpython-39.pyc +0 -0
  284. snappy/__pycache__/cache.cpython-39.pyc +0 -0
  285. snappy/__pycache__/database.cpython-39.pyc +0 -0
  286. snappy/__pycache__/db_utilities.cpython-39.pyc +0 -0
  287. snappy/__pycache__/decorated_isosig.cpython-39.pyc +0 -0
  288. snappy/__pycache__/exceptions.cpython-39.pyc +0 -0
  289. snappy/__pycache__/export_stl.cpython-39.pyc +0 -0
  290. snappy/__pycache__/filedialog.cpython-39.pyc +0 -0
  291. snappy/__pycache__/gui.cpython-39.pyc +0 -0
  292. snappy/__pycache__/horoviewer.cpython-39.pyc +0 -0
  293. snappy/__pycache__/infowindow.cpython-39.pyc +0 -0
  294. snappy/__pycache__/math_basics.cpython-39.pyc +0 -0
  295. snappy/__pycache__/matrix.cpython-39.pyc +0 -0
  296. snappy/__pycache__/number.cpython-39.pyc +0 -0
  297. snappy/__pycache__/numeric_output_checker.cpython-39.pyc +0 -0
  298. snappy/__pycache__/pari.cpython-39.pyc +0 -0
  299. snappy/__pycache__/polyviewer.cpython-39.pyc +0 -0
  300. snappy/__pycache__/sage_helper.cpython-39.pyc +0 -0
  301. snappy/__pycache__/version.cpython-39.pyc +0 -0
  302. snappy/doc/_sources/verify_canon.rst.txt +0 -90
  303. snappy/doc/_static/js/html5shiv-printshiv.min.js +0 -4
  304. snappy/doc/_static/js/html5shiv.min.js +0 -4
  305. snappy/doc/verify_canon.html +0 -304
  306. snappy/drilling/__pycache__/__init__.cpython-39.pyc +0 -0
  307. snappy/drilling/__pycache__/constants.cpython-39.pyc +0 -0
  308. snappy/drilling/__pycache__/crush.cpython-39.pyc +0 -0
  309. snappy/drilling/__pycache__/cusps.cpython-39.pyc +0 -0
  310. snappy/drilling/__pycache__/debug.cpython-39.pyc +0 -0
  311. snappy/drilling/__pycache__/epsilons.cpython-39.pyc +0 -0
  312. snappy/drilling/__pycache__/exceptions.cpython-39.pyc +0 -0
  313. snappy/drilling/__pycache__/fixed_points.cpython-39.pyc +0 -0
  314. snappy/drilling/__pycache__/geodesic_info.cpython-39.pyc +0 -0
  315. snappy/drilling/__pycache__/geodesic_tube.cpython-39.pyc +0 -0
  316. snappy/drilling/__pycache__/geometric_structure.cpython-39.pyc +0 -0
  317. snappy/drilling/__pycache__/line.cpython-39.pyc +0 -0
  318. snappy/drilling/__pycache__/moves.cpython-39.pyc +0 -0
  319. snappy/drilling/__pycache__/peripheral_curves.cpython-39.pyc +0 -0
  320. snappy/drilling/__pycache__/perturb.cpython-39.pyc +0 -0
  321. snappy/drilling/__pycache__/quotient_space.cpython-39.pyc +0 -0
  322. snappy/drilling/__pycache__/spatial_dict.cpython-39.pyc +0 -0
  323. snappy/drilling/__pycache__/subdivide.cpython-39.pyc +0 -0
  324. snappy/drilling/__pycache__/tracing.cpython-39.pyc +0 -0
  325. snappy/drilling/geodesic_tube.py +0 -441
  326. snappy/drilling/geometric_structure.py +0 -366
  327. snappy/drilling/line.py +0 -122
  328. snappy/drilling/quotient_space.py +0 -94
  329. snappy/drilling/spatial_dict.py +0 -128
  330. snappy/exterior_to_link/__pycache__/__init__.cpython-39.pyc +0 -0
  331. snappy/exterior_to_link/__pycache__/barycentric_geometry.cpython-39.pyc +0 -0
  332. snappy/exterior_to_link/__pycache__/exceptions.cpython-39.pyc +0 -0
  333. snappy/exterior_to_link/__pycache__/hyp_utils.cpython-39.pyc +0 -0
  334. snappy/exterior_to_link/__pycache__/link_projection.cpython-39.pyc +0 -0
  335. snappy/exterior_to_link/__pycache__/main.cpython-39.pyc +0 -0
  336. snappy/exterior_to_link/__pycache__/mcomplex_with_expansion.cpython-39.pyc +0 -0
  337. snappy/exterior_to_link/__pycache__/mcomplex_with_link.cpython-39.pyc +0 -0
  338. snappy/exterior_to_link/__pycache__/mcomplex_with_memory.cpython-39.pyc +0 -0
  339. snappy/exterior_to_link/__pycache__/pl_utils.cpython-39.pyc +0 -0
  340. snappy/exterior_to_link/__pycache__/put_in_S3.cpython-39.pyc +0 -0
  341. snappy/exterior_to_link/__pycache__/rational_linear_algebra.cpython-39.pyc +0 -0
  342. snappy/exterior_to_link/__pycache__/simplify_to_base_tri.cpython-39.pyc +0 -0
  343. snappy/exterior_to_link/__pycache__/stored_moves.cpython-39.pyc +0 -0
  344. snappy/hyperboloid/__pycache__/__init__.cpython-39.pyc +0 -0
  345. snappy/manifolds/__pycache__/__init__.cpython-39.pyc +0 -0
  346. snappy/ptolemy/__pycache__/__init__.cpython-39.pyc +0 -0
  347. snappy/ptolemy/__pycache__/component.cpython-39.pyc +0 -0
  348. snappy/ptolemy/__pycache__/coordinates.cpython-39.pyc +0 -0
  349. snappy/ptolemy/__pycache__/fieldExtensions.cpython-39.pyc +0 -0
  350. snappy/ptolemy/__pycache__/findLoops.cpython-39.pyc +0 -0
  351. snappy/ptolemy/__pycache__/homology.cpython-39.pyc +0 -0
  352. snappy/ptolemy/__pycache__/manifoldMethods.cpython-39.pyc +0 -0
  353. snappy/ptolemy/__pycache__/matrix.cpython-39.pyc +0 -0
  354. snappy/ptolemy/__pycache__/numericalSolutionsToGroebnerBasis.cpython-39.pyc +0 -0
  355. snappy/ptolemy/__pycache__/polynomial.cpython-39.pyc +0 -0
  356. snappy/ptolemy/__pycache__/processComponents.cpython-39.pyc +0 -0
  357. snappy/ptolemy/__pycache__/processFileBase.cpython-39.pyc +0 -0
  358. snappy/ptolemy/__pycache__/processFileDispatch.cpython-39.pyc +0 -0
  359. snappy/ptolemy/__pycache__/processMagmaFile.cpython-39.pyc +0 -0
  360. snappy/ptolemy/__pycache__/processRurFile.cpython-39.pyc +0 -0
  361. snappy/ptolemy/__pycache__/ptolemyGeneralizedObstructionClass.cpython-39.pyc +0 -0
  362. snappy/ptolemy/__pycache__/ptolemyObstructionClass.cpython-39.pyc +0 -0
  363. snappy/ptolemy/__pycache__/ptolemyVariety.cpython-39.pyc +0 -0
  364. snappy/ptolemy/__pycache__/ptolemyVarietyPrimeIdealGroebnerBasis.cpython-39.pyc +0 -0
  365. snappy/ptolemy/__pycache__/rur.cpython-39.pyc +0 -0
  366. snappy/ptolemy/__pycache__/solutionsToPrimeIdealGroebnerBasis.cpython-39.pyc +0 -0
  367. snappy/ptolemy/__pycache__/utilities.cpython-39.pyc +0 -0
  368. snappy/raytracing/__pycache__/__init__.cpython-39.pyc +0 -0
  369. snappy/raytracing/__pycache__/finite_raytracing_data.cpython-39.pyc +0 -0
  370. snappy/raytracing/__pycache__/gui_utilities.cpython-39.pyc +0 -0
  371. snappy/raytracing/__pycache__/hyperboloid_navigation.cpython-39.pyc +0 -0
  372. snappy/raytracing/__pycache__/hyperboloid_utilities.cpython-39.pyc +0 -0
  373. snappy/raytracing/__pycache__/ideal_raytracing_data.cpython-39.pyc +0 -0
  374. snappy/raytracing/__pycache__/inside_viewer.cpython-39.pyc +0 -0
  375. snappy/raytracing/__pycache__/raytracing_data.cpython-39.pyc +0 -0
  376. snappy/raytracing/__pycache__/raytracing_view.cpython-39.pyc +0 -0
  377. snappy/raytracing/__pycache__/upper_halfspace_utilities.cpython-39.pyc +0 -0
  378. snappy/raytracing/__pycache__/view_scale_controller.cpython-39.pyc +0 -0
  379. snappy/raytracing/zoom_slider/__pycache__/__init__.cpython-39.pyc +0 -0
  380. snappy/snap/__pycache__/__init__.cpython-39.pyc +0 -0
  381. snappy/snap/__pycache__/character_varieties.cpython-39.pyc +0 -0
  382. snappy/snap/__pycache__/fundamental_polyhedron.cpython-39.pyc +0 -0
  383. snappy/snap/__pycache__/interval_reps.cpython-39.pyc +0 -0
  384. snappy/snap/__pycache__/kernel_structures.cpython-39.pyc +0 -0
  385. snappy/snap/__pycache__/mcomplex_base.cpython-39.pyc +0 -0
  386. snappy/snap/__pycache__/nsagetools.cpython-39.pyc +0 -0
  387. snappy/snap/__pycache__/polished_reps.cpython-39.pyc +0 -0
  388. snappy/snap/__pycache__/shapes.cpython-39.pyc +0 -0
  389. snappy/snap/__pycache__/slice_obs_HKL.cpython-39.pyc +0 -0
  390. snappy/snap/__pycache__/utilities.cpython-39.pyc +0 -0
  391. snappy/snap/peripheral/__pycache__/__init__.cpython-39.pyc +0 -0
  392. snappy/snap/peripheral/__pycache__/dual_cellulation.cpython-39.pyc +0 -0
  393. snappy/snap/peripheral/__pycache__/link.cpython-39.pyc +0 -0
  394. snappy/snap/peripheral/__pycache__/peripheral.cpython-39.pyc +0 -0
  395. snappy/snap/peripheral/__pycache__/surface.cpython-39.pyc +0 -0
  396. snappy/snap/t3mlite/__pycache__/__init__.cpython-39.pyc +0 -0
  397. snappy/snap/t3mlite/__pycache__/arrow.cpython-39.pyc +0 -0
  398. snappy/snap/t3mlite/__pycache__/corner.cpython-39.pyc +0 -0
  399. snappy/snap/t3mlite/__pycache__/edge.cpython-39.pyc +0 -0
  400. snappy/snap/t3mlite/__pycache__/face.cpython-39.pyc +0 -0
  401. snappy/snap/t3mlite/__pycache__/files.cpython-39.pyc +0 -0
  402. snappy/snap/t3mlite/__pycache__/homology.cpython-39.pyc +0 -0
  403. snappy/snap/t3mlite/__pycache__/linalg.cpython-39.pyc +0 -0
  404. snappy/snap/t3mlite/__pycache__/mcomplex.cpython-39.pyc +0 -0
  405. snappy/snap/t3mlite/__pycache__/perm4.cpython-39.pyc +0 -0
  406. snappy/snap/t3mlite/__pycache__/simplex.cpython-39.pyc +0 -0
  407. snappy/snap/t3mlite/__pycache__/spun.cpython-39.pyc +0 -0
  408. snappy/snap/t3mlite/__pycache__/surface.cpython-39.pyc +0 -0
  409. snappy/snap/t3mlite/__pycache__/tetrahedron.cpython-39.pyc +0 -0
  410. snappy/snap/t3mlite/__pycache__/vertex.cpython-39.pyc +0 -0
  411. snappy/togl/__init__.py +0 -3
  412. snappy/togl/darwin-tk8.6/Togl2.1/LICENSE +0 -28
  413. snappy/togl/darwin-tk8.6/Togl2.1/libTogl2.1.dylib +0 -0
  414. snappy/togl/darwin-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  415. snappy/togl/darwin-tk8.7/Togl2.1/LICENSE +0 -28
  416. snappy/togl/darwin-tk8.7/Togl2.1/libTogl2.1.dylib +0 -0
  417. snappy/togl/darwin-tk8.7/Togl2.1/pkgIndex.tcl +0 -5
  418. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  419. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/libTogl2.1.so +0 -0
  420. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  421. snappy/togl/win32VC-tk8.6/Togl2.1/LICENSE +0 -28
  422. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.dll +0 -0
  423. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.lib +0 -0
  424. snappy/togl/win32VC-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  425. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  426. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.dll +0 -0
  427. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.lib +0 -0
  428. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  429. snappy/twister/__pycache__/__init__.cpython-39.pyc +0 -0
  430. snappy/twister/__pycache__/main.cpython-39.pyc +0 -0
  431. snappy/upper_halfspace/__pycache__/__init__.cpython-39.pyc +0 -0
  432. snappy/upper_halfspace/__pycache__/ideal_point.cpython-39.pyc +0 -0
  433. snappy/verify/__pycache__/__init__.cpython-39.pyc +0 -0
  434. snappy/verify/__pycache__/cuspCrossSection.cpython-39.pyc +0 -0
  435. snappy/verify/__pycache__/cuspTranslations.cpython-39.pyc +0 -0
  436. snappy/verify/__pycache__/cusp_areas.cpython-39.pyc +0 -0
  437. snappy/verify/__pycache__/cusp_shapes.cpython-39.pyc +0 -0
  438. snappy/verify/__pycache__/exceptions.cpython-39.pyc +0 -0
  439. snappy/verify/__pycache__/interval_newton_shapes_engine.cpython-39.pyc +0 -0
  440. snappy/verify/__pycache__/interval_tree.cpython-39.pyc +0 -0
  441. snappy/verify/__pycache__/krawczyk_shapes_engine.cpython-39.pyc +0 -0
  442. snappy/verify/__pycache__/realAlgebra.cpython-39.pyc +0 -0
  443. snappy/verify/__pycache__/shapes.cpython-39.pyc +0 -0
  444. snappy/verify/__pycache__/short_slopes.cpython-39.pyc +0 -0
  445. snappy/verify/__pycache__/squareExtensions.cpython-39.pyc +0 -0
  446. snappy/verify/__pycache__/verifyCanonical.cpython-39.pyc +0 -0
  447. snappy/verify/__pycache__/verifyHyperbolicity.cpython-39.pyc +0 -0
  448. snappy/verify/__pycache__/volume.cpython-39.pyc +0 -0
  449. snappy/verify/complex_volume/__pycache__/__init__.cpython-39.pyc +0 -0
  450. snappy/verify/complex_volume/__pycache__/adjust_torsion.cpython-39.pyc +0 -0
  451. snappy/verify/complex_volume/__pycache__/closed.cpython-39.pyc +0 -0
  452. snappy/verify/complex_volume/__pycache__/compute_ptolemys.cpython-39.pyc +0 -0
  453. snappy/verify/complex_volume/__pycache__/cusped.cpython-39.pyc +0 -0
  454. snappy/verify/complex_volume/__pycache__/extended_bloch.cpython-39.pyc +0 -0
  455. snappy/verify/cuspCrossSection.py +0 -1422
  456. snappy/verify/maximal_cusp_area_matrix/__pycache__/__init__.cpython-39.pyc +0 -0
  457. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_tiling_engine.cpython-39.pyc +0 -0
  458. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_translate_engine.cpython-39.pyc +0 -0
  459. snappy/verify/upper_halfspace/__pycache__/__init__.cpython-39.pyc +0 -0
  460. snappy/verify/upper_halfspace/__pycache__/extended_matrix.cpython-39.pyc +0 -0
  461. snappy/verify/upper_halfspace/__pycache__/finite_point.cpython-39.pyc +0 -0
  462. snappy/verify/upper_halfspace/__pycache__/ideal_point.cpython-39.pyc +0 -0
  463. snappy-3.1.1.dist-info/RECORD +0 -585
  464. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/entry_points.txt +0 -0
@@ -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="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
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>Additional Classes &mdash; SnapPy 3.1.1 documentation</title>
8
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
9
- <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
10
- <link rel="stylesheet" href="_static/snappy_sphinx_rtd_theme.css" type="text/css" />
11
- <link rel="shortcut icon" href="_static/SnapPy.ico"/>
12
- <!--[if lt IE 9]>
13
- <script src="_static/js/html5shiv.min.js"></script>
14
- <![endif]-->
9
+ <title>Additional Classes &mdash; 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
- <script src="_static/jquery.js"></script>
17
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
18
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
19
- <script src="_static/doctools.js"></script>
20
- <script src="_static/sphinx_highlight.js"></script>
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" />
@@ -71,11 +69,15 @@
71
69
  <li class="toctree-l4"><a class="reference internal" href="#snappy.HolonomyGroup"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup</span></code></a><ul>
72
70
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.O31"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.O31()</span></code></a></li>
73
71
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.SL2C"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.SL2C()</span></code></a></li>
72
+ <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.category"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.category()</span></code></a></li>
74
73
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.character_variety_vars_and_polys"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.character_variety_vars_and_polys()</span></code></a></li>
75
74
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.complex_length"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.complex_length()</span></code></a></li>
75
+ <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.dump"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.dump()</span></code></a></li>
76
+ <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.dumps"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.dumps()</span></code></a></li>
76
77
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.gap_string"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.gap_string()</span></code></a></li>
77
78
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.generators"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.generators()</span></code></a></li>
78
79
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.generators_in_originals"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.generators_in_originals()</span></code></a></li>
80
+ <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.get_custom_name"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.get_custom_name()</span></code></a></li>
79
81
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.longitude"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.longitude()</span></code></a></li>
80
82
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.magma_string"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.magma_string()</span></code></a></li>
81
83
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.meridian"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.meridian()</span></code></a></li>
@@ -83,9 +85,13 @@
83
85
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.num_original_generators"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.num_original_generators()</span></code></a></li>
84
86
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.num_relators"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.num_relators()</span></code></a></li>
85
87
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.original_generators"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.original_generators()</span></code></a></li>
88
+ <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.parent"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.parent()</span></code></a></li>
86
89
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.peripheral_curves"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.peripheral_curves()</span></code></a></li>
87
90
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.relators"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.relators()</span></code></a></li>
91
+ <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.rename"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.rename()</span></code></a></li>
92
+ <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.reset_name"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.reset_name()</span></code></a></li>
88
93
  <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.sage"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.sage()</span></code></a></li>
94
+ <li class="toctree-l5"><a class="reference internal" href="#snappy.HolonomyGroup.save"><code class="docutils literal notranslate"><span class="pre">HolonomyGroup.save()</span></code></a></li>
89
95
  </ul>
90
96
  </li>
91
97
  </ul>
@@ -133,7 +139,6 @@
133
139
  <li class="toctree-l5"><a class="reference internal" href="#snappy.DirichletDomain.spine_radius"><code class="docutils literal notranslate"><span class="pre">DirichletDomain.spine_radius()</span></code></a></li>
134
140
  <li class="toctree-l5"><a class="reference internal" href="#snappy.DirichletDomain.triangulation"><code class="docutils literal notranslate"><span class="pre">DirichletDomain.triangulation()</span></code></a></li>
135
141
  <li class="toctree-l5"><a class="reference internal" href="#snappy.DirichletDomain.vertex_list"><code class="docutils literal notranslate"><span class="pre">DirichletDomain.vertex_list()</span></code></a></li>
136
- <li class="toctree-l5"><a class="reference internal" href="#snappy.DirichletDomain.view"><code class="docutils literal notranslate"><span class="pre">DirichletDomain.view()</span></code></a></li>
137
142
  <li class="toctree-l5"><a class="reference internal" href="#snappy.DirichletDomain.volume"><code class="docutils literal notranslate"><span class="pre">DirichletDomain.volume()</span></code></a></li>
138
143
  </ul>
139
144
  </li>
@@ -207,7 +212,7 @@
207
212
  <div itemprop="articleBody">
208
213
 
209
214
  <section id="module-snappy">
210
- <span id="additional-classes"></span><h1>Additional Classes<a class="headerlink" href="#module-snappy" title="Permalink to this heading"></a></h1>
215
+ <span id="additional-classes"></span><h1>Additional Classes<a class="headerlink" href="#module-snappy" title="Link to this heading"></a></h1>
211
216
  <p>SnapPy is a Cython wrapping of Jeff Weeks’ SnapPea kernel.</p>
212
217
  <dl class="simple">
213
218
  <dt>The module defines the following classes:</dt><dd><p>Triangulation, Manifold, ManifoldHP, AbelianGroup, FundamentalGroup,
@@ -229,10 +234,10 @@ InfinityTangle, IdentityBraid, random_link, DTcodec.</p>
229
234
  </dd>
230
235
  </dl>
231
236
  <section id="abeliangroup">
232
- <h2>AbelianGroup<a class="headerlink" href="#abeliangroup" title="Permalink to this heading"></a></h2>
237
+ <h2>AbelianGroup<a class="headerlink" href="#abeliangroup" title="Link to this heading"></a></h2>
233
238
  <dl class="py class">
234
239
  <dt class="sig sig-object py" id="snappy.AbelianGroup">
235
- <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">AbelianGroup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">presentation</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">elementary_divisors</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AbelianGroup" title="Permalink to this definition"></a></dt>
240
+ <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">AbelianGroup</span></span><a class="headerlink" href="#snappy.AbelianGroup" title="Link to this definition"></a></dt>
236
241
  <dd><p>An AbelianGroup object represents a finitely generated abelian group,
237
242
  usually the first homology group of a snappy Manifold.</p>
238
243
  <p>Instantiate an abelian group by its elementary divisors:</p>
@@ -265,26 +270,26 @@ Snappy stores an abelian group as a list of elementary divisors:</p>
265
270
  </div>
266
271
  <dl class="py method">
267
272
  <dt class="sig sig-object py" id="snappy.AbelianGroup.betti_number">
268
- <span class="sig-name descname"><span class="pre">betti_number</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AbelianGroup.betti_number" title="Permalink to this definition"></a></dt>
273
+ <span class="sig-name descname"><span class="pre">betti_number</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AbelianGroup.betti_number" title="Link to this definition"></a></dt>
269
274
  <dd><p>The rank of the maximal free abelian subgroup.</p>
270
275
  </dd></dl>
271
276
 
272
277
  <dl class="py method">
273
278
  <dt class="sig sig-object py" id="snappy.AbelianGroup.elementary_divisors">
274
- <span class="sig-name descname"><span class="pre">elementary_divisors</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AbelianGroup.elementary_divisors" title="Permalink to this definition"></a></dt>
279
+ <span class="sig-name descname"><span class="pre">elementary_divisors</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AbelianGroup.elementary_divisors" title="Link to this definition"></a></dt>
275
280
  <dd><p>The elementary divisors of this finitely generated abelian group.</p>
276
281
  </dd></dl>
277
282
 
278
283
  <dl class="py method">
279
284
  <dt class="sig sig-object py" id="snappy.AbelianGroup.order">
280
- <span class="sig-name descname"><span class="pre">order</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AbelianGroup.order" title="Permalink to this definition"></a></dt>
285
+ <span class="sig-name descname"><span class="pre">order</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AbelianGroup.order" title="Link to this definition"></a></dt>
281
286
  <dd><p>The order of the group. Returns the string ‘infinite’ if the
282
287
  group is infinite.</p>
283
288
  </dd></dl>
284
289
 
285
290
  <dl class="py method">
286
291
  <dt class="sig sig-object py" id="snappy.AbelianGroup.rank">
287
- <span class="sig-name descname"><span class="pre">rank</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AbelianGroup.rank" title="Permalink to this definition"></a></dt>
292
+ <span class="sig-name descname"><span class="pre">rank</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AbelianGroup.rank" title="Link to this definition"></a></dt>
288
293
  <dd><p>The rank of the group.</p>
289
294
  </dd></dl>
290
295
 
@@ -292,10 +297,10 @@ group is infinite.</p>
292
297
 
293
298
  </section>
294
299
  <section id="fundamentalgroup">
295
- <h2>FundamentalGroup<a class="headerlink" href="#fundamentalgroup" title="Permalink to this heading"></a></h2>
300
+ <h2>FundamentalGroup<a class="headerlink" href="#fundamentalgroup" title="Link to this heading"></a></h2>
296
301
  <dl class="py class">
297
302
  <dt class="sig sig-object py" id="snappy.HolonomyGroup">
298
- <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">HolonomyGroup</span></span><a class="headerlink" href="#snappy.HolonomyGroup" title="Permalink to this definition"></a></dt>
303
+ <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">HolonomyGroup</span></span><a class="headerlink" href="#snappy.HolonomyGroup" title="Link to this definition"></a></dt>
299
304
  <dd><p>A FundamentalGroup represents a presentation of the fundamental
300
305
  group of a SnapPea Triangulation. Group elements are described as
301
306
  words in the generators a,b,…, where the inverse of a is denoted
@@ -347,24 +352,32 @@ with the FundamentalGroup class.</p>
347
352
  </div>
348
353
  <dl class="py method">
349
354
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.O31">
350
- <span class="sig-name descname"><span class="pre">O31</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">word</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.O31" title="Permalink to this definition"></a></dt>
355
+ <span class="sig-name descname"><span class="pre">O31</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">word</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><a class="headerlink" href="#snappy.HolonomyGroup.O31" title="Link to this definition"></a></dt>
351
356
  <dd><p>Return the image of the element represented by the input word
352
- under the holonomy representation, where Isom(H^3) is
353
- identified with SO(3,1).</p>
357
+ under the holonomy representation, where
358
+ <span class="math notranslate nohighlight">\(\text{Isom}(\mathbb{H}^3)\)</span> is
359
+ identified with <span class="math notranslate nohighlight">\(\text{SO}(3,1)\)</span>.</p>
354
360
  </dd></dl>
355
361
 
356
362
  <dl class="py method">
357
363
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.SL2C">
358
- <span class="sig-name descname"><span class="pre">SL2C</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">word</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.SL2C" title="Permalink to this definition"></a></dt>
364
+ <span class="sig-name descname"><span class="pre">SL2C</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">word</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><a class="headerlink" href="#snappy.HolonomyGroup.SL2C" title="Link to this definition"></a></dt>
359
365
  <dd><p>Return the image of the element represented by the input word
360
- under some SL(2,C) representation that lifts the holonomy
361
- representation. Note: the choice of lift is not guaranteed to
366
+ under some <span class="math notranslate nohighlight">\(\text{SL}(2,\mathbb{C})\)</span>-representation that
367
+ lifts the holonomy representation.
368
+ Note: the choice of lift is not guaranteed to
362
369
  vary continuously when filling coefficients are changed.</p>
363
370
  </dd></dl>
364
371
 
372
+ <dl class="py method">
373
+ <dt class="sig sig-object py" id="snappy.HolonomyGroup.category">
374
+ <span class="sig-name descname"><span class="pre">category</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.category" title="Link to this definition"></a></dt>
375
+ <dd><p>File: sage/structure/sage_object.pyx (starting at line 514)</p>
376
+ </dd></dl>
377
+
365
378
  <dl class="py method">
366
379
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.character_variety_vars_and_polys">
367
- <span class="sig-name descname"><span class="pre">character_variety_vars_and_polys</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">as_ideal</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.HolonomyGroup.character_variety_vars_and_polys" title="Permalink to this definition"></a></dt>
380
+ <span class="sig-name descname"><span class="pre">character_variety_vars_and_polys</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">as_ideal</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.HolonomyGroup.character_variety_vars_and_polys" title="Link to this definition"></a></dt>
368
381
  <dd><p>Returns a list of variables and a list polynomials where the
369
382
  polynomials generate the ideal defining the SL(2, C) character
370
383
  variety of this group. Each variable is of the form “Tw” where
@@ -395,14 +408,49 @@ ideal:</p>
395
408
 
396
409
  <dl class="py method">
397
410
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.complex_length">
398
- <span class="sig-name descname"><span class="pre">complex_length</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">word</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.complex_length" title="Permalink to this definition"></a></dt>
411
+ <span class="sig-name descname"><span class="pre">complex_length</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">word</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><a class="headerlink" href="#snappy.HolonomyGroup.complex_length" title="Link to this definition"></a></dt>
399
412
  <dd><p>Return the complex length of the isometry represented by the
400
413
  input word.</p>
401
414
  </dd></dl>
402
415
 
416
+ <dl class="py method">
417
+ <dt class="sig sig-object py" id="snappy.HolonomyGroup.dump">
418
+ <span class="sig-name descname"><span class="pre">dump</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">compress</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.HolonomyGroup.dump" title="Link to this definition"></a></dt>
419
+ <dd><p>File: sage/structure/sage_object.pyx (starting at line 475)</p>
420
+ <p>Same as self.save(filename, compress)</p>
421
+ </dd></dl>
422
+
423
+ <dl class="py method">
424
+ <dt class="sig sig-object py" id="snappy.HolonomyGroup.dumps">
425
+ <span class="sig-name descname"><span class="pre">dumps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">compress</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.HolonomyGroup.dumps" title="Link to this definition"></a></dt>
426
+ <dd><p>File: sage/structure/sage_object.pyx (starting at line 481)</p>
427
+ <p>Dump <code class="docutils literal notranslate"><span class="pre">self</span></code> to a string <code class="docutils literal notranslate"><span class="pre">s</span></code>, which can later be reconstituted
428
+ as <code class="docutils literal notranslate"><span class="pre">self</span></code> using <code class="docutils literal notranslate"><span class="pre">loads(s)</span></code>.</p>
429
+ <p>There is an optional boolean argument <code class="docutils literal notranslate"><span class="pre">compress</span></code> which defaults to <code class="docutils literal notranslate"><span class="pre">True</span></code>.</p>
430
+ <p>EXAMPLES:</p>
431
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span><span class="p">:</span> <span class="kn">from</span> <span class="nn">sage.misc.persist</span> <span class="kn">import</span> <span class="n">comp</span>
432
+ <span class="n">sage</span><span class="p">:</span> <span class="n">O</span> <span class="o">=</span> <span class="n">SageObject</span><span class="p">()</span>
433
+ <span class="n">sage</span><span class="p">:</span> <span class="n">p_comp</span> <span class="o">=</span> <span class="n">O</span><span class="o">.</span><span class="n">dumps</span><span class="p">()</span>
434
+ <span class="n">sage</span><span class="p">:</span> <span class="n">p_uncomp</span> <span class="o">=</span> <span class="n">O</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">compress</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
435
+ <span class="n">sage</span><span class="p">:</span> <span class="n">comp</span><span class="o">.</span><span class="n">decompress</span><span class="p">(</span><span class="n">p_comp</span><span class="p">)</span> <span class="o">==</span> <span class="n">p_uncomp</span>
436
+ <span class="kc">True</span>
437
+ <span class="n">sage</span><span class="p">:</span> <span class="kn">import</span> <span class="nn">pickletools</span>
438
+ <span class="n">sage</span><span class="p">:</span> <span class="n">pickletools</span><span class="o">.</span><span class="n">dis</span><span class="p">(</span><span class="n">p_uncomp</span><span class="p">)</span>
439
+ <span class="mi">0</span><span class="p">:</span> \<span class="n">x80</span> <span class="n">PROTO</span> <span class="mi">2</span>
440
+ <span class="mi">2</span><span class="p">:</span> <span class="n">c</span> <span class="n">GLOBAL</span> <span class="s1">&#39;sage.structure.sage_object SageObject&#39;</span>
441
+ <span class="mi">41</span><span class="p">:</span> <span class="n">q</span> <span class="n">BINPUT</span> <span class="o">...</span>
442
+ <span class="mi">43</span><span class="p">:</span> <span class="p">)</span> <span class="n">EMPTY_TUPLE</span>
443
+ <span class="mi">44</span><span class="p">:</span> \<span class="n">x81</span> <span class="n">NEWOBJ</span>
444
+ <span class="mi">45</span><span class="p">:</span> <span class="n">q</span> <span class="n">BINPUT</span> <span class="o">...</span>
445
+ <span class="mi">47</span><span class="p">:</span> <span class="o">.</span> <span class="n">STOP</span>
446
+ <span class="n">highest</span> <span class="n">protocol</span> <span class="n">among</span> <span class="n">opcodes</span> <span class="o">=</span> <span class="mi">2</span>
447
+ </pre></div>
448
+ </div>
449
+ </dd></dl>
450
+
403
451
  <dl class="py method">
404
452
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.gap_string">
405
- <span class="sig-name descname"><span class="pre">gap_string</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.gap_string" title="Permalink to this definition"></a></dt>
453
+ <span class="sig-name descname"><span class="pre">gap_string</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.gap_string" title="Link to this definition"></a></dt>
406
454
  <dd><p>Returns a string which will define this group within GAP:</p>
407
455
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;b++LLR&#39;</span><span class="p">)</span>
408
456
  <span class="gp">&gt;&gt;&gt; </span><span class="n">G</span> <span class="o">=</span> <span class="n">M</span><span class="o">.</span><span class="n">fundamental_group</span><span class="p">()</span>
@@ -421,7 +469,7 @@ input word.</p>
421
469
 
422
470
  <dl class="py method">
423
471
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.generators">
424
- <span class="sig-name descname"><span class="pre">generators</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.generators" title="Permalink to this definition"></a></dt>
472
+ <span class="sig-name descname"><span class="pre">generators</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.generators" title="Link to this definition"></a></dt>
425
473
  <dd><p>Return the letters representing the generators in the presentation.</p>
426
474
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;9_42&#39;</span><span class="p">)</span>
427
475
  <span class="gp">&gt;&gt;&gt; </span><span class="n">G</span> <span class="o">=</span> <span class="n">M</span><span class="o">.</span><span class="n">fundamental_group</span><span class="p">()</span> <span class="c1">#Presentation simplified by default</span>
@@ -464,7 +512,7 @@ and simplified presentations above correspond:</p>
464
512
 
465
513
  <dl class="py method">
466
514
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.generators_in_originals">
467
- <span class="sig-name descname"><span class="pre">generators_in_originals</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verbose_form</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">raw_form</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">as_int_list</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.HolonomyGroup.generators_in_originals" title="Permalink to this definition"></a></dt>
515
+ <span class="sig-name descname"><span class="pre">generators_in_originals</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verbose_form</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">raw_form</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">as_int_list</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.HolonomyGroup.generators_in_originals" title="Link to this definition"></a></dt>
468
516
  <dd><p>Return the current generators in terms of the original
469
517
  geometric generators. Note that by default fundamental_group()
470
518
  returns a simplified presentation of the group.</p>
@@ -482,9 +530,29 @@ function in fundamental_group.pyx for details.</p>
482
530
  </div>
483
531
  </dd></dl>
484
532
 
533
+ <dl class="py method">
534
+ <dt class="sig sig-object py" id="snappy.HolonomyGroup.get_custom_name">
535
+ <span class="sig-name descname"><span class="pre">get_custom_name</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.get_custom_name" title="Link to this definition"></a></dt>
536
+ <dd><p>File: sage/structure/sage_object.pyx (starting at line 150)</p>
537
+ <p>Return the custom name of this object, or <code class="docutils literal notranslate"><span class="pre">None</span></code> if it is not
538
+ renamed.</p>
539
+ <p>EXAMPLES:</p>
540
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span><span class="p">:</span> <span class="n">P</span><span class="o">.&lt;</span><span class="n">x</span><span class="o">&gt;</span> <span class="o">=</span> <span class="n">QQ</span><span class="p">[]</span>
541
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span><span class="o">.</span><span class="n">get_custom_name</span><span class="p">()</span> <span class="ow">is</span> <span class="kc">None</span>
542
+ <span class="kc">True</span>
543
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">&#39;A polynomial ring&#39;</span><span class="p">)</span>
544
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span><span class="o">.</span><span class="n">get_custom_name</span><span class="p">()</span>
545
+ <span class="s1">&#39;A polynomial ring&#39;</span>
546
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span><span class="o">.</span><span class="n">reset_name</span><span class="p">()</span>
547
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span><span class="o">.</span><span class="n">get_custom_name</span><span class="p">()</span> <span class="ow">is</span> <span class="kc">None</span>
548
+ <span class="kc">True</span>
549
+ </pre></div>
550
+ </div>
551
+ </dd></dl>
552
+
485
553
  <dl class="py method">
486
554
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.longitude">
487
- <span class="sig-name descname"><span class="pre">longitude</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">int</span> <span class="pre">which_cusp=0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_int_list=False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.longitude" title="Permalink to this definition"></a></dt>
555
+ <span class="sig-name descname"><span class="pre">longitude</span></span><span class="sig-paren">(</span><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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_int_list</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.HolonomyGroup.longitude" title="Link to this definition"></a></dt>
488
556
  <dd><p>Returns a word representing a conjugate of the current
489
557
  longitude for the given cusp. Guaranteed to commute with the
490
558
  meridian for the same cusp. Note: for Klein bottle cusps,
@@ -500,13 +568,13 @@ the longitude must be defined carefully.</p>
500
568
 
501
569
  <dl class="py method">
502
570
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.magma_string">
503
- <span class="sig-name descname"><span class="pre">magma_string</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.magma_string" title="Permalink to this definition"></a></dt>
571
+ <span class="sig-name descname"><span class="pre">magma_string</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.magma_string" title="Link to this definition"></a></dt>
504
572
  <dd><p>Returns a string which will define this group within MAGMA.</p>
505
573
  </dd></dl>
506
574
 
507
575
  <dl class="py method">
508
576
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.meridian">
509
- <span class="sig-name descname"><span class="pre">meridian</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">int</span> <span class="pre">which_cusp=0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_int_list=False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.meridian" title="Permalink to this definition"></a></dt>
577
+ <span class="sig-name descname"><span class="pre">meridian</span></span><span class="sig-paren">(</span><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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_int_list</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.HolonomyGroup.meridian" title="Link to this definition"></a></dt>
510
578
  <dd><p>Returns a word representing a conjugate of the current
511
579
  meridian for the given cusp. Guaranteed to commute with the
512
580
  longitude for the same cusp.</p>
@@ -521,25 +589,25 @@ longitude for the same cusp.</p>
521
589
 
522
590
  <dl class="py method">
523
591
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.num_generators">
524
- <span class="sig-name descname"><span class="pre">num_generators</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.num_generators" title="Permalink to this definition"></a></dt>
592
+ <span class="sig-name descname"><span class="pre">num_generators</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.num_generators" title="Link to this definition"></a></dt>
525
593
  <dd><p>Return the number of generators for the presentation.</p>
526
594
  </dd></dl>
527
595
 
528
596
  <dl class="py method">
529
597
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.num_original_generators">
530
- <span class="sig-name descname"><span class="pre">num_original_generators</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.num_original_generators" title="Permalink to this definition"></a></dt>
598
+ <span class="sig-name descname"><span class="pre">num_original_generators</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.num_original_generators" title="Link to this definition"></a></dt>
531
599
  <dd><p>Return the number of geometric generators (before simplification).</p>
532
600
  </dd></dl>
533
601
 
534
602
  <dl class="py method">
535
603
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.num_relators">
536
- <span class="sig-name descname"><span class="pre">num_relators</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.num_relators" title="Permalink to this definition"></a></dt>
604
+ <span class="sig-name descname"><span class="pre">num_relators</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.num_relators" title="Link to this definition"></a></dt>
537
605
  <dd><p>Return the number of generators for the presentation.</p>
538
606
  </dd></dl>
539
607
 
540
608
  <dl class="py method">
541
609
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.original_generators">
542
- <span class="sig-name descname"><span class="pre">original_generators</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verbose_form</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">as_int_list</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.HolonomyGroup.original_generators" title="Permalink to this definition"></a></dt>
610
+ <span class="sig-name descname"><span class="pre">original_generators</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verbose_form</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">as_int_list</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.HolonomyGroup.original_generators" title="Link to this definition"></a></dt>
543
611
  <dd><p>Return the original geometric generators (before
544
612
  simplification) in terms of the current generators.</p>
545
613
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;v0000&#39;</span><span class="p">)</span>
@@ -550,9 +618,24 @@ simplification) in terms of the current generators.</p>
550
618
  </div>
551
619
  </dd></dl>
552
620
 
621
+ <dl class="py method">
622
+ <dt class="sig sig-object py" id="snappy.HolonomyGroup.parent">
623
+ <span class="sig-name descname"><span class="pre">parent</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.parent" title="Link to this definition"></a></dt>
624
+ <dd><p>File: sage/structure/sage_object.pyx (starting at line 549)</p>
625
+ <p>Return the type of <code class="docutils literal notranslate"><span class="pre">self</span></code> to support the coercion framework.</p>
626
+ <p>EXAMPLES:</p>
627
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>sage: t = log(sqrt(2) - 1) + log(sqrt(2) + 1); t # needs sage.symbolic
628
+ log(sqrt(2) + 1) + log(sqrt(2) - 1)
629
+ sage: u = t.maxima_methods() # needs sage.symbolic
630
+ sage: u.parent() # needs sage.symbolic
631
+ &lt;class &#39;sage.symbolic.maxima_wrapper.MaximaWrapper&#39;&gt;
632
+ </pre></div>
633
+ </div>
634
+ </dd></dl>
635
+
553
636
  <dl class="py method">
554
637
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.peripheral_curves">
555
- <span class="sig-name descname"><span class="pre">peripheral_curves</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">as_int_list</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.HolonomyGroup.peripheral_curves" title="Permalink to this definition"></a></dt>
638
+ <span class="sig-name descname"><span class="pre">peripheral_curves</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">as_int_list</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.HolonomyGroup.peripheral_curves" title="Link to this definition"></a></dt>
556
639
  <dd><p>Returns a list of meridian-longitude pairs for all cusps.</p>
557
640
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">G</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m125&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">fundamental_group</span><span class="p">()</span>
558
641
  <span class="gp">&gt;&gt;&gt; </span><span class="n">G</span><span class="o">.</span><span class="n">peripheral_curves</span><span class="p">()</span>
@@ -563,26 +646,116 @@ simplification) in terms of the current generators.</p>
563
646
 
564
647
  <dl class="py method">
565
648
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.relators">
566
- <span class="sig-name descname"><span class="pre">relators</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verbose_form</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">as_int_list</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.HolonomyGroup.relators" title="Permalink to this definition"></a></dt>
649
+ <span class="sig-name descname"><span class="pre">relators</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verbose_form</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">as_int_list</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.HolonomyGroup.relators" title="Link to this definition"></a></dt>
567
650
  <dd><p>Return a list of words representing the relators in the presentation.</p>
568
651
  <p>If the optional argument verbose_form is True, then the
569
652
  relator is returned in the form “a*b*a^-1*b^-1” instead of “abAB”.</p>
570
653
  </dd></dl>
571
654
 
655
+ <dl class="py method">
656
+ <dt class="sig sig-object py" id="snappy.HolonomyGroup.rename">
657
+ <span class="sig-name descname"><span class="pre">rename</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</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.HolonomyGroup.rename" title="Link to this definition"></a></dt>
658
+ <dd><p>File: sage/structure/sage_object.pyx (starting at line 68)</p>
659
+ <p>Change <code class="docutils literal notranslate"><span class="pre">self</span></code> so it prints as x, where x is a string.</p>
660
+ <p>If x is <code class="docutils literal notranslate"><span class="pre">None</span></code>, the existing custom name is removed.</p>
661
+ <div class="admonition note">
662
+ <p class="admonition-title">Note</p>
663
+ <p>This is <em>only</em> supported for Python classes that derive
664
+ from SageObject.</p>
665
+ </div>
666
+ <p>EXAMPLES:</p>
667
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span><span class="p">:</span> <span class="n">x</span> <span class="o">=</span> <span class="n">PolynomialRing</span><span class="p">(</span><span class="n">QQ</span><span class="p">,</span> <span class="s1">&#39;x&#39;</span><span class="p">,</span> <span class="n">sparse</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">gen</span><span class="p">()</span>
668
+ <span class="n">sage</span><span class="p">:</span> <span class="n">g</span> <span class="o">=</span> <span class="n">x</span><span class="o">^</span><span class="mi">3</span> <span class="o">+</span> <span class="n">x</span> <span class="o">-</span> <span class="mi">5</span>
669
+ <span class="n">sage</span><span class="p">:</span> <span class="n">g</span>
670
+ <span class="n">x</span><span class="o">^</span><span class="mi">3</span> <span class="o">+</span> <span class="n">x</span> <span class="o">-</span> <span class="mi">5</span>
671
+ <span class="n">sage</span><span class="p">:</span> <span class="n">g</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">&#39;a polynomial&#39;</span><span class="p">)</span>
672
+ <span class="n">sage</span><span class="p">:</span> <span class="n">g</span>
673
+ <span class="n">a</span> <span class="n">polynomial</span>
674
+ <span class="n">sage</span><span class="p">:</span> <span class="n">g</span> <span class="o">+</span> <span class="n">x</span>
675
+ <span class="n">x</span><span class="o">^</span><span class="mi">3</span> <span class="o">+</span> <span class="mi">2</span><span class="o">*</span><span class="n">x</span> <span class="o">-</span> <span class="mi">5</span>
676
+ <span class="n">sage</span><span class="p">:</span> <span class="n">h</span> <span class="o">=</span> <span class="n">g</span><span class="o">^</span><span class="mi">100</span>
677
+ <span class="n">sage</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="n">h</span><span class="p">)[:</span><span class="mi">20</span><span class="p">]</span>
678
+ <span class="s1">&#39;x^300 + 100*x^298 - &#39;</span>
679
+ <span class="n">sage</span><span class="p">:</span> <span class="n">h</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">&#39;x^300 + ...&#39;</span><span class="p">)</span>
680
+ <span class="n">sage</span><span class="p">:</span> <span class="n">h</span>
681
+ <span class="n">x</span><span class="o">^</span><span class="mi">300</span> <span class="o">+</span> <span class="o">...</span>
682
+ <span class="n">sage</span><span class="p">:</span> <span class="n">g</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span>
683
+ <span class="n">sage</span><span class="p">:</span> <span class="n">g</span>
684
+ <span class="n">x</span><span class="o">^</span><span class="mi">3</span> <span class="o">+</span> <span class="n">x</span> <span class="o">-</span> <span class="mi">5</span>
685
+ </pre></div>
686
+ </div>
687
+ <p>Real numbers are not Python classes, so rename is not supported:</p>
688
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span><span class="p">:</span> <span class="n">a</span> <span class="o">=</span> <span class="mf">3.14</span>
689
+ <span class="n">sage</span><span class="p">:</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="c1"># needs sage.rings.real_mpfr</span>
690
+ <span class="o">&lt;...</span> <span class="s1">&#39;sage.rings.real_mpfr.RealLiteral&#39;</span><span class="o">&gt;</span>
691
+ <span class="n">sage</span><span class="p">:</span> <span class="n">a</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">&#39;pi&#39;</span><span class="p">)</span> <span class="c1"># needs sage.rings.real_mpfr</span>
692
+ <span class="n">Traceback</span> <span class="p">(</span><span class="n">most</span> <span class="n">recent</span> <span class="n">call</span> <span class="n">last</span><span class="p">):</span>
693
+ <span class="o">...</span>
694
+ <span class="ne">NotImplementedError</span><span class="p">:</span> <span class="nb">object</span> <span class="n">does</span> <span class="ow">not</span> <span class="n">support</span> <span class="n">renaming</span><span class="p">:</span> <span class="mf">3.14000000000000</span>
695
+ </pre></div>
696
+ </div>
697
+ <div class="admonition note">
698
+ <p class="admonition-title">Note</p>
699
+ <p>The reason C-extension types are not supported by default
700
+ is if they were then every single one would have to carry
701
+ around an extra attribute, which would be slower and waste
702
+ a lot of memory.</p>
703
+ <p>To support them for a specific class, add a
704
+ <code class="docutils literal notranslate"><span class="pre">cdef</span> <span class="pre">public</span> <span class="pre">_SageObject__custom_name</span></code> attribute.</p>
705
+ </div>
706
+ </dd></dl>
707
+
708
+ <dl class="py method">
709
+ <dt class="sig sig-object py" id="snappy.HolonomyGroup.reset_name">
710
+ <span class="sig-name descname"><span class="pre">reset_name</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.reset_name" title="Link to this definition"></a></dt>
711
+ <dd><p>File: sage/structure/sage_object.pyx (starting at line 131)</p>
712
+ <p>Remove the custom name of an object.</p>
713
+ <p>EXAMPLES:</p>
714
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span><span class="p">:</span> <span class="n">P</span><span class="o">.&lt;</span><span class="n">x</span><span class="o">&gt;</span> <span class="o">=</span> <span class="n">QQ</span><span class="p">[]</span>
715
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span>
716
+ <span class="n">Univariate</span> <span class="n">Polynomial</span> <span class="n">Ring</span> <span class="ow">in</span> <span class="n">x</span> <span class="n">over</span> <span class="n">Rational</span> <span class="n">Field</span>
717
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s1">&#39;A polynomial ring&#39;</span><span class="p">)</span>
718
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span>
719
+ <span class="n">A</span> <span class="n">polynomial</span> <span class="n">ring</span>
720
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span><span class="o">.</span><span class="n">reset_name</span><span class="p">()</span>
721
+ <span class="n">sage</span><span class="p">:</span> <span class="n">P</span>
722
+ <span class="n">Univariate</span> <span class="n">Polynomial</span> <span class="n">Ring</span> <span class="ow">in</span> <span class="n">x</span> <span class="n">over</span> <span class="n">Rational</span> <span class="n">Field</span>
723
+ </pre></div>
724
+ </div>
725
+ </dd></dl>
726
+
572
727
  <dl class="py method">
573
728
  <dt class="sig sig-object py" id="snappy.HolonomyGroup.sage">
574
- <span class="sig-name descname"><span class="pre">sage</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.sage" title="Permalink to this definition"></a></dt>
729
+ <span class="sig-name descname"><span class="pre">sage</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.HolonomyGroup.sage" title="Link to this definition"></a></dt>
575
730
  <dd><p>Returns the corresponding Sage FinitelyPresentedGroup</p>
576
731
  </dd></dl>
577
732
 
733
+ <dl class="py method">
734
+ <dt class="sig sig-object py" id="snappy.HolonomyGroup.save">
735
+ <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">filename</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">compress</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.HolonomyGroup.save" title="Link to this definition"></a></dt>
736
+ <dd><p>File: sage/structure/sage_object.pyx (starting at line 446)</p>
737
+ <p>Save <code class="docutils literal notranslate"><span class="pre">self</span></code> to the given filename.</p>
738
+ <p>EXAMPLES:</p>
739
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sage</span><span class="p">:</span> <span class="c1"># needs sage.symbolic</span>
740
+ <span class="n">sage</span><span class="p">:</span> <span class="n">x</span> <span class="o">=</span> <span class="n">SR</span><span class="o">.</span><span class="n">var</span><span class="p">(</span><span class="s2">&quot;x&quot;</span><span class="p">)</span>
741
+ <span class="n">sage</span><span class="p">:</span> <span class="n">f</span> <span class="o">=</span> <span class="n">x</span><span class="o">^</span><span class="mi">3</span> <span class="o">+</span> <span class="mi">5</span>
742
+ <span class="n">sage</span><span class="p">:</span> <span class="kn">from</span> <span class="nn">tempfile</span> <span class="kn">import</span> <span class="n">NamedTemporaryFile</span>
743
+ <span class="n">sage</span><span class="p">:</span> <span class="k">with</span> <span class="n">NamedTemporaryFile</span><span class="p">(</span><span class="n">suffix</span><span class="o">=</span><span class="s1">&#39;.sobj&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">t</span><span class="p">:</span>
744
+ <span class="o">....</span><span class="p">:</span> <span class="n">f</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
745
+ <span class="o">....</span><span class="p">:</span> <span class="n">load</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
746
+ <span class="n">x</span><span class="o">^</span><span class="mi">3</span> <span class="o">+</span> <span class="mi">5</span>
747
+ </pre></div>
748
+ </div>
749
+ </dd></dl>
750
+
578
751
  </dd></dl>
579
752
 
580
753
  </section>
581
754
  <section id="symmetrygroup">
582
- <h2>SymmetryGroup<a class="headerlink" href="#symmetrygroup" title="Permalink to this heading"></a></h2>
755
+ <h2>SymmetryGroup<a class="headerlink" href="#symmetrygroup" title="Link to this heading"></a></h2>
583
756
  <dl class="py class">
584
757
  <dt class="sig sig-object py" id="snappy.SymmetryGroup">
585
- <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">SymmetryGroup</span></span><a class="headerlink" href="#snappy.SymmetryGroup" title="Permalink to this definition"></a></dt>
758
+ <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">SymmetryGroup</span></span><a class="headerlink" href="#snappy.SymmetryGroup" title="Link to this definition"></a></dt>
586
759
  <dd><p>A SymmetryGroup is a group of self-isometries of hyperbolic
587
760
  3-manifold. Instantiate as follows:</p>
588
761
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span>
@@ -592,7 +765,7 @@ relator is returned in the form “a*b*a^-1*b^-1” instead of “abAB”.</p>
592
765
  </div>
593
766
  <dl class="py method">
594
767
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.abelian_description">
595
- <span class="sig-name descname"><span class="pre">abelian_description</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.abelian_description" title="Permalink to this definition"></a></dt>
768
+ <span class="sig-name descname"><span class="pre">abelian_description</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.abelian_description" title="Link to this definition"></a></dt>
596
769
  <dd><p>If the symmetry group is abelian, return it as an AbelianGroup</p>
597
770
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;v3379&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
598
771
  <span class="gp">&gt;&gt;&gt; </span><span class="n">S</span><span class="o">.</span><span class="n">abelian_description</span><span class="p">()</span>
@@ -603,7 +776,7 @@ relator is returned in the form “a*b*a^-1*b^-1” instead of “abAB”.</p>
603
776
 
604
777
  <dl class="py method">
605
778
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.abelianization">
606
- <span class="sig-name descname"><span class="pre">abelianization</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.abelianization" title="Permalink to this definition"></a></dt>
779
+ <span class="sig-name descname"><span class="pre">abelianization</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.abelianization" title="Link to this definition"></a></dt>
607
780
  <dd><p>Return the abelianization of the symmetry group</p>
608
781
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
609
782
  <span class="gp">&gt;&gt;&gt; </span><span class="n">S</span><span class="o">.</span><span class="n">abelianization</span><span class="p">()</span>
@@ -614,7 +787,7 @@ relator is returned in the form “a*b*a^-1*b^-1” instead of “abAB”.</p>
614
787
 
615
788
  <dl class="py method">
616
789
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.center">
617
- <span class="sig-name descname"><span class="pre">center</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.center" title="Permalink to this definition"></a></dt>
790
+ <span class="sig-name descname"><span class="pre">center</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.center" title="Link to this definition"></a></dt>
618
791
  <dd><p>Return the center of the symmetry group</p>
619
792
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
620
793
  <span class="gp">&gt;&gt;&gt; </span><span class="n">S</span><span class="o">.</span><span class="n">center</span><span class="p">()</span>
@@ -625,7 +798,7 @@ relator is returned in the form “a*b*a^-1*b^-1” instead of “abAB”.</p>
625
798
 
626
799
  <dl class="py method">
627
800
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.commutator_subgroup">
628
- <span class="sig-name descname"><span class="pre">commutator_subgroup</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.commutator_subgroup" title="Permalink to this definition"></a></dt>
801
+ <span class="sig-name descname"><span class="pre">commutator_subgroup</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.commutator_subgroup" title="Link to this definition"></a></dt>
629
802
  <dd><p>Return the commutator subgroup of the SymmetryGroup</p>
630
803
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
631
804
  <span class="gp">&gt;&gt;&gt; </span><span class="n">S</span>
@@ -638,7 +811,7 @@ relator is returned in the form “a*b*a^-1*b^-1” instead of “abAB”.</p>
638
811
 
639
812
  <dl class="py method">
640
813
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.direct_product_description">
641
- <span class="sig-name descname"><span class="pre">direct_product_description</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.direct_product_description" title="Permalink to this definition"></a></dt>
814
+ <span class="sig-name descname"><span class="pre">direct_product_description</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.direct_product_description" title="Link to this definition"></a></dt>
642
815
  <dd><p>If the SymmetryGroup is a nontrivial direct product with at
643
816
  least one nonabelian factor, return a pair of SymmetryGroups
644
817
  consisting of the (two) factors.</p>
@@ -651,13 +824,13 @@ consisting of the (two) factors.</p>
651
824
 
652
825
  <dl class="py method">
653
826
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.is_S5">
654
- <span class="sig-name descname"><span class="pre">is_S5</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_S5" title="Permalink to this definition"></a></dt>
827
+ <span class="sig-name descname"><span class="pre">is_S5</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_S5" title="Link to this definition"></a></dt>
655
828
  <dd><p>Returns whether the group is the symmetric group on five things.</p>
656
829
  </dd></dl>
657
830
 
658
831
  <dl class="py method">
659
832
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.is_abelian">
660
- <span class="sig-name descname"><span class="pre">is_abelian</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_abelian" title="Permalink to this definition"></a></dt>
833
+ <span class="sig-name descname"><span class="pre">is_abelian</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_abelian" title="Link to this definition"></a></dt>
661
834
  <dd><p>Return whether the symmetry group is abelian.</p>
662
835
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
663
836
  <span class="gp">&gt;&gt;&gt; </span><span class="n">S</span><span class="o">.</span><span class="n">is_abelian</span><span class="p">()</span>
@@ -668,7 +841,7 @@ consisting of the (two) factors.</p>
668
841
 
669
842
  <dl class="py method">
670
843
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.is_amphicheiral">
671
- <span class="sig-name descname"><span class="pre">is_amphicheiral</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_amphicheiral" title="Permalink to this definition"></a></dt>
844
+ <span class="sig-name descname"><span class="pre">is_amphicheiral</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_amphicheiral" title="Link to this definition"></a></dt>
672
845
  <dd><p>Return whether the manifold has an orientation reversing symmetry.</p>
673
846
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
674
847
  <span class="gp">&gt;&gt;&gt; </span><span class="n">S</span><span class="o">.</span><span class="n">is_amphicheiral</span><span class="p">()</span>
@@ -679,7 +852,7 @@ consisting of the (two) factors.</p>
679
852
 
680
853
  <dl class="py method">
681
854
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.is_dihedral">
682
- <span class="sig-name descname"><span class="pre">is_dihedral</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_dihedral" title="Permalink to this definition"></a></dt>
855
+ <span class="sig-name descname"><span class="pre">is_dihedral</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_dihedral" title="Link to this definition"></a></dt>
683
856
  <dd><p>Return whether the symmetry group is dihedral.</p>
684
857
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
685
858
  <span class="gp">&gt;&gt;&gt; </span><span class="n">S</span><span class="o">.</span><span class="n">is_dihedral</span><span class="p">()</span>
@@ -690,7 +863,7 @@ consisting of the (two) factors.</p>
690
863
 
691
864
  <dl class="py method">
692
865
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.is_direct_product">
693
- <span class="sig-name descname"><span class="pre">is_direct_product</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_direct_product" title="Permalink to this definition"></a></dt>
866
+ <span class="sig-name descname"><span class="pre">is_direct_product</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_direct_product" title="Link to this definition"></a></dt>
694
867
  <dd><p>Return whether the SymmetryGroup is a nontrivial direct
695
868
  product with at least one nonabelian factor.</p>
696
869
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;s960&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
@@ -704,7 +877,7 @@ product with at least one nonabelian factor.</p>
704
877
 
705
878
  <dl class="py method">
706
879
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.is_full_group">
707
- <span class="sig-name descname"><span class="pre">is_full_group</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_full_group" title="Permalink to this definition"></a></dt>
880
+ <span class="sig-name descname"><span class="pre">is_full_group</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_full_group" title="Link to this definition"></a></dt>
708
881
  <dd><p>Return whether the full symmetry group has been found.</p>
709
882
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
710
883
  <span class="gp">&gt;&gt;&gt; </span><span class="n">S</span><span class="o">.</span><span class="n">is_full_group</span><span class="p">()</span>
@@ -715,7 +888,7 @@ product with at least one nonabelian factor.</p>
715
888
 
716
889
  <dl class="py method">
717
890
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.is_invertible_knot">
718
- <span class="sig-name descname"><span class="pre">is_invertible_knot</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_invertible_knot" title="Permalink to this definition"></a></dt>
891
+ <span class="sig-name descname"><span class="pre">is_invertible_knot</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_invertible_knot" title="Link to this definition"></a></dt>
719
892
  <dd><p>Return whether a one-cusped has a symmetry that acts on the
720
893
  cusp via the matrix -I.</p>
721
894
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m015&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
@@ -727,14 +900,14 @@ cusp via the matrix -I.</p>
727
900
 
728
901
  <dl class="py method">
729
902
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.is_polyhedral">
730
- <span class="sig-name descname"><span class="pre">is_polyhedral</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_polyhedral" title="Permalink to this definition"></a></dt>
903
+ <span class="sig-name descname"><span class="pre">is_polyhedral</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.is_polyhedral" title="Link to this definition"></a></dt>
731
904
  <dd><p>Returns whether the symmetry group is a (possibly binary)
732
905
  polyhedral group.</p>
733
906
  </dd></dl>
734
907
 
735
908
  <dl class="py method">
736
909
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.isometries">
737
- <span class="sig-name descname"><span class="pre">isometries</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.isometries" title="Permalink to this definition"></a></dt>
910
+ <span class="sig-name descname"><span class="pre">isometries</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.isometries" title="Link to this definition"></a></dt>
738
911
  <dd><p>Return a detailed list of all the isometries in the symmetry group.</p>
739
912
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;s959&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
740
913
  <span class="gp">&gt;&gt;&gt; </span><span class="n">isoms</span> <span class="o">=</span> <span class="n">S</span><span class="o">.</span><span class="n">isometries</span><span class="p">()</span>
@@ -749,7 +922,7 @@ polyhedral group.</p>
749
922
 
750
923
  <dl class="py method">
751
924
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.multiply_elements">
752
- <span class="sig-name descname"><span class="pre">multiply_elements</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">i</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">j</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.multiply_elements" title="Permalink to this definition"></a></dt>
925
+ <span class="sig-name descname"><span class="pre">multiply_elements</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">i</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">j</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.multiply_elements" title="Link to this definition"></a></dt>
753
926
  <dd><p>Returns the product of group elements i and j. The convention
754
927
  is that products of symmetries read right to left. That is,
755
928
  the composition (symmetry[i] o symmetry[j]) acts by first
@@ -763,7 +936,7 @@ doing symmetry[j], then symmetry[i].</p>
763
936
 
764
937
  <dl class="py method">
765
938
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.order">
766
- <span class="sig-name descname"><span class="pre">order</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.order" title="Permalink to this definition"></a></dt>
939
+ <span class="sig-name descname"><span class="pre">order</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.order" title="Link to this definition"></a></dt>
767
940
  <dd><p>Return the order of the symmetry group</p>
768
941
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">S</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;s000&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">symmetry_group</span><span class="p">()</span>
769
942
  <span class="gp">&gt;&gt;&gt; </span><span class="n">S</span><span class="o">.</span><span class="n">order</span><span class="p">()</span>
@@ -774,7 +947,7 @@ doing symmetry[j], then symmetry[i].</p>
774
947
 
775
948
  <dl class="py method">
776
949
  <dt class="sig sig-object py" id="snappy.SymmetryGroup.polyhedral_description">
777
- <span class="sig-name descname"><span class="pre">polyhedral_description</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.polyhedral_description" title="Permalink to this definition"></a></dt>
950
+ <span class="sig-name descname"><span class="pre">polyhedral_description</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.SymmetryGroup.polyhedral_description" title="Link to this definition"></a></dt>
778
951
  <dd><p>If the symmetry group is a (possibly binary)
779
952
  polyhedral group, return a description of it.</p>
780
953
  </dd></dl>
@@ -783,15 +956,16 @@ polyhedral group, return a description of it.</p>
783
956
 
784
957
  </section>
785
958
  <section id="dirichletdomain">
786
- <h2>DirichletDomain<a class="headerlink" href="#dirichletdomain" title="Permalink to this heading"></a></h2>
959
+ <h2>DirichletDomain<a class="headerlink" href="#dirichletdomain" title="Link to this heading"></a></h2>
787
960
  <dl class="py class">
788
961
  <dt class="sig sig-object py" id="snappy.DirichletDomain">
789
- <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">DirichletDomain</span></span><a class="headerlink" href="#snappy.DirichletDomain" title="Permalink to this definition"></a></dt>
962
+ <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">DirichletDomain</span></span><a class="headerlink" href="#snappy.DirichletDomain" title="Link to this definition"></a></dt>
790
963
  <dd><p>A DirichletDomain object represents a Dirichlet Domain of
791
964
  a hyperbolic manifold, typically centered at a point which
792
965
  is a local maximum of injectivity radius. It will have ideal
793
966
  vertices if the manifold is not closed.</p>
794
- <p>Instantiate as M.dirichlet_domain() where M is a Manifold to
967
+ <p>Instantiate as M.dirichlet_domain()
968
+ where M is a Manifold to
795
969
  obtain a Dirichlet Domain centered at a point which maximizes
796
970
  injectivity radius.</p>
797
971
  <p>Other options can be provided to customize the computation, with
@@ -803,9 +977,9 @@ the default values shown here</p>
803
977
  </div>
804
978
  <p>You can also create a Dirichlet Domain from a file listing matrix
805
979
  generators for the group, in SnapPea’s “% Generator” format, via</p>
806
- <blockquote>
807
- <div><p>D = DirichletDomain(generator_file=’test.gens’)</p>
808
- </div></blockquote>
980
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">D</span> <span class="o">=</span> <span class="n">DirichletDomain</span><span class="p">(</span><span class="n">generator_file</span><span class="o">=</span><span class="s1">&#39;test.gens&#39;</span><span class="p">)</span>
981
+ </pre></div>
982
+ </div>
809
983
  <p>Or from matrices:</p>
810
984
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">G</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">fundamental_group</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
811
985
  <span class="gp">&gt;&gt;&gt; </span><span class="n">matrices</span> <span class="o">=</span> <span class="p">[</span> <span class="n">G</span><span class="o">.</span><span class="n">O31</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">),</span> <span class="n">G</span><span class="o">.</span><span class="n">O31</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">),</span> <span class="n">G</span><span class="o">.</span><span class="n">O31</span><span class="p">(</span><span class="s1">&#39;c&#39;</span><span class="p">)</span> <span class="p">]</span> <span class="c1"># Note: some of the matrices contain (near) 0 entries and thus this tests that Object2Real converts small numbers fromatted by pari as &quot;1.0 E-10&quot; (note the pace before &quot;E&quot;) correctly when not in SageMath.</span>
@@ -816,10 +990,10 @@ generators for the group, in SnapPea’s “% Generator” format, via</p>
816
990
  </div>
817
991
  <p>The group elements for the face-pairings of the Dirichlet domain
818
992
  can be given as words in the original generators by setting
819
- include_words = True.</p>
993
+ <code class="docutils literal notranslate"><span class="pre">include_words</span> <span class="pre">=</span> <span class="pre">True</span></code>.</p>
820
994
  <dl class="py method">
821
995
  <dt class="sig sig-object py" id="snappy.DirichletDomain.edge_list">
822
- <span class="sig-name descname"><span class="pre">edge_list</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.edge_list" title="Permalink to this definition"></a></dt>
996
+ <span class="sig-name descname"><span class="pre">edge_list</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.edge_list" title="Link to this definition"></a></dt>
823
997
  <dd><p>Return a list of edges, each represented as a dictionar with keys
824
998
  ‘tail_vertex_index’, ‘tip_vertex_index’, ‘edge_class’.</p>
825
999
  <p>The index (into vertex_data_list()) to the two vertices at the
@@ -830,7 +1004,7 @@ belongs to is stored in ‘edge_class’.</p>
830
1004
 
831
1005
  <dl class="py method">
832
1006
  <dt class="sig sig-object py" id="snappy.DirichletDomain.export_stl">
833
- <span class="sig-name descname"><span class="pre">export_stl</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'klein'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutout</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">num_subdivisions</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shrink_factor</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff_radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</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.DirichletDomain.export_stl" title="Permalink to this definition"></a></dt>
1007
+ <span class="sig-name descname"><span class="pre">export_stl</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'klein'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutout</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">num_subdivisions</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shrink_factor</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff_radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</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.DirichletDomain.export_stl" title="Link to this definition"></a></dt>
834
1008
  <dd><p>Export the Dirichlet domain as an stl file suitable for 3d printing.</p>
835
1009
  <p>Arguments can be given to modify the model produced:</p>
836
1010
  <ul class="simple">
@@ -855,7 +1029,7 @@ every so often if it is not None.</p>
855
1029
 
856
1030
  <dl class="py method">
857
1031
  <dt class="sig sig-object py" id="snappy.DirichletDomain.face_list">
858
- <span class="sig-name descname"><span class="pre">face_list</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.face_list" title="Permalink to this definition"></a></dt>
1032
+ <span class="sig-name descname"><span class="pre">face_list</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.face_list" title="Link to this definition"></a></dt>
859
1033
  <dd><p>Return a list of faces, each represented as a dictionary with
860
1034
  keys ‘vertices’, ‘distance’, ‘closest’, ‘hue’, ‘vertex_indices’,
861
1035
  ‘edge_indices’, ‘vertex_image_indices’, ‘edge_image_indices’,
@@ -882,13 +1056,13 @@ the respective position.</p>
882
1056
 
883
1057
  <dl class="py method">
884
1058
  <dt class="sig sig-object py" id="snappy.DirichletDomain.in_radius">
885
- <span class="sig-name descname"><span class="pre">in_radius</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.in_radius" title="Permalink to this definition"></a></dt>
1059
+ <span class="sig-name descname"><span class="pre">in_radius</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.in_radius" title="Link to this definition"></a></dt>
886
1060
  <dd><p>Return the radius of the largest inscribed sphere.</p>
887
1061
  </dd></dl>
888
1062
 
889
1063
  <dl class="py method">
890
1064
  <dt class="sig sig-object py" id="snappy.DirichletDomain.length_spectrum_dicts">
891
- <span class="sig-name descname"><span class="pre">length_spectrum_dicts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cutoff_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">full_rigor</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">multiplicities</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">user_radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">grouped</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.DirichletDomain.length_spectrum_dicts" title="Permalink to this definition"></a></dt>
1065
+ <span class="sig-name descname"><span class="pre">length_spectrum_dicts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cutoff_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">full_rigor</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">multiplicities</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">user_radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">grouped</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.DirichletDomain.length_spectrum_dicts" title="Link to this definition"></a></dt>
892
1066
  <dd><p>Return a list of info objects describing the short
893
1067
  geodesics up to the specified cutoff length. The keys are
894
1068
  ‘length’, ‘parity’, ‘topology’, and ‘multiplicity’. The
@@ -921,7 +1095,7 @@ collated but the multiplicity of each item is set to 0.</p>
921
1095
 
922
1096
  <dl class="py method">
923
1097
  <dt class="sig sig-object py" id="snappy.DirichletDomain.manifold">
924
- <span class="sig-name descname"><span class="pre">manifold</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.manifold" title="Permalink to this definition"></a></dt>
1098
+ <span class="sig-name descname"><span class="pre">manifold</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.manifold" title="Link to this definition"></a></dt>
925
1099
  <dd><p>Returns a Manifold computed directly from the Dirichlet
926
1100
  domain, regarded as polyhedron with faces identified in pairs.
927
1101
  Only works if this gives a manifold not an orbifold.</p>
@@ -936,43 +1110,43 @@ Only works if this gives a manifold not an orbifold.</p>
936
1110
 
937
1111
  <dl class="py method">
938
1112
  <dt class="sig sig-object py" id="snappy.DirichletDomain.num_edges">
939
- <span class="sig-name descname"><span class="pre">num_edges</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_edges" title="Permalink to this definition"></a></dt>
1113
+ <span class="sig-name descname"><span class="pre">num_edges</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_edges" title="Link to this definition"></a></dt>
940
1114
  <dd><p>Return the number of edges.</p>
941
1115
  </dd></dl>
942
1116
 
943
1117
  <dl class="py method">
944
1118
  <dt class="sig sig-object py" id="snappy.DirichletDomain.num_faces">
945
- <span class="sig-name descname"><span class="pre">num_faces</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_faces" title="Permalink to this definition"></a></dt>
1119
+ <span class="sig-name descname"><span class="pre">num_faces</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_faces" title="Link to this definition"></a></dt>
946
1120
  <dd><p>Return the number of faces.</p>
947
1121
  </dd></dl>
948
1122
 
949
1123
  <dl class="py method">
950
1124
  <dt class="sig sig-object py" id="snappy.DirichletDomain.num_finite_vertices">
951
- <span class="sig-name descname"><span class="pre">num_finite_vertices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_finite_vertices" title="Permalink to this definition"></a></dt>
1125
+ <span class="sig-name descname"><span class="pre">num_finite_vertices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_finite_vertices" title="Link to this definition"></a></dt>
952
1126
  <dd><p>Return the number of finite (non-ideal) vertices.</p>
953
1127
  </dd></dl>
954
1128
 
955
1129
  <dl class="py method">
956
1130
  <dt class="sig sig-object py" id="snappy.DirichletDomain.num_ideal_vertices">
957
- <span class="sig-name descname"><span class="pre">num_ideal_vertices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_ideal_vertices" title="Permalink to this definition"></a></dt>
1131
+ <span class="sig-name descname"><span class="pre">num_ideal_vertices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_ideal_vertices" title="Link to this definition"></a></dt>
958
1132
  <dd><p>Return the number of ideal vertices.</p>
959
1133
  </dd></dl>
960
1134
 
961
1135
  <dl class="py method">
962
1136
  <dt class="sig sig-object py" id="snappy.DirichletDomain.num_vertices">
963
- <span class="sig-name descname"><span class="pre">num_vertices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_vertices" title="Permalink to this definition"></a></dt>
1137
+ <span class="sig-name descname"><span class="pre">num_vertices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.num_vertices" title="Link to this definition"></a></dt>
964
1138
  <dd><p>Return the number of vertices.</p>
965
1139
  </dd></dl>
966
1140
 
967
1141
  <dl class="py method">
968
1142
  <dt class="sig sig-object py" id="snappy.DirichletDomain.out_radius">
969
- <span class="sig-name descname"><span class="pre">out_radius</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.out_radius" title="Permalink to this definition"></a></dt>
1143
+ <span class="sig-name descname"><span class="pre">out_radius</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.out_radius" title="Link to this definition"></a></dt>
970
1144
  <dd><p>Return the radius of the smallest circubscribed sphere.</p>
971
1145
  </dd></dl>
972
1146
 
973
1147
  <dl class="py method">
974
1148
  <dt class="sig sig-object py" id="snappy.DirichletDomain.pairing_matrices">
975
- <span class="sig-name descname"><span class="pre">pairing_matrices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.pairing_matrices" title="Permalink to this definition"></a></dt>
1149
+ <span class="sig-name descname"><span class="pre">pairing_matrices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.pairing_matrices" title="Link to this definition"></a></dt>
976
1150
  <dd><p>Returns a list of the O31Matrices which pair the faces of
977
1151
  this DirichletDomain.</p>
978
1152
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;s345&#39;</span><span class="p">)</span>
@@ -988,7 +1162,7 @@ this DirichletDomain.</p>
988
1162
 
989
1163
  <dl class="py method">
990
1164
  <dt class="sig sig-object py" id="snappy.DirichletDomain.pairing_words">
991
- <span class="sig-name descname"><span class="pre">pairing_words</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.pairing_words" title="Permalink to this definition"></a></dt>
1165
+ <span class="sig-name descname"><span class="pre">pairing_words</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.pairing_words" title="Link to this definition"></a></dt>
992
1166
  <dd><p>Group elements which pair the faces of this DirichletDomain
993
1167
  as words in the original generators:</p>
994
1168
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m004&#39;</span><span class="p">)</span>
@@ -1003,7 +1177,7 @@ include_words = True.</p>
1003
1177
 
1004
1178
  <dl class="py method">
1005
1179
  <dt class="sig sig-object py" id="snappy.DirichletDomain.save">
1006
- <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">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.save" title="Permalink to this definition"></a></dt>
1180
+ <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">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.save" title="Link to this definition"></a></dt>
1007
1181
  <dd><p>Save the Dirichlet domain as a text file in “% Generators” format.</p>
1008
1182
  <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">snappy.number</span> <span class="kn">import</span> <span class="n">Number</span>
1009
1183
  <span class="gp">&gt;&gt;&gt; </span><span class="n">acc</span><span class="p">,</span> <span class="n">Number</span><span class="o">.</span><span class="n">_accuracy_for_testing</span> <span class="o">=</span> <span class="n">Number</span><span class="o">.</span><span class="n">_accuracy_for_testing</span><span class="p">,</span> <span class="kc">None</span>
@@ -1026,14 +1200,14 @@ include_words = True.</p>
1026
1200
 
1027
1201
  <dl class="py method">
1028
1202
  <dt class="sig sig-object py" id="snappy.DirichletDomain.spine_radius">
1029
- <span class="sig-name descname"><span class="pre">spine_radius</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.spine_radius" title="Permalink to this definition"></a></dt>
1203
+ <span class="sig-name descname"><span class="pre">spine_radius</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.spine_radius" title="Link to this definition"></a></dt>
1030
1204
  <dd><p>Return the infimum of the radii (measured from the origin) of all
1031
1205
  spines dual to the Dirichlet domain.</p>
1032
1206
  </dd></dl>
1033
1207
 
1034
1208
  <dl class="py method">
1035
1209
  <dt class="sig sig-object py" id="snappy.DirichletDomain.triangulation">
1036
- <span class="sig-name descname"><span class="pre">triangulation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.triangulation" title="Permalink to this definition"></a></dt>
1210
+ <span class="sig-name descname"><span class="pre">triangulation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.triangulation" title="Link to this definition"></a></dt>
1037
1211
  <dd><p>Returns a Triangulation computed directly from the Dirichlet
1038
1212
  domain, regarded as polyhedron with faces identified in pairs.
1039
1213
  Only works if this gives a manifold not an orbifold.</p>
@@ -1048,7 +1222,7 @@ Only works if this gives a manifold not an orbifold.</p>
1048
1222
 
1049
1223
  <dl class="py method">
1050
1224
  <dt class="sig sig-object py" id="snappy.DirichletDomain.vertex_list">
1051
- <span class="sig-name descname"><span class="pre">vertex_list</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">details</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.DirichletDomain.vertex_list" title="Permalink to this definition"></a></dt>
1225
+ <span class="sig-name descname"><span class="pre">vertex_list</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">details</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.DirichletDomain.vertex_list" title="Link to this definition"></a></dt>
1052
1226
  <dd><p>Return a list of the coordinates of the vertices. These are
1053
1227
  the three space coordinates of a point in the time=1 slice of
1054
1228
  Minkowski space. That is to say, these are the coordinates of
@@ -1061,14 +1235,9 @@ to is the value for ‘vertex_class’. The value for ‘ideal’
1061
1235
  is True if the vertex is an ideal point.</p>
1062
1236
  </dd></dl>
1063
1237
 
1064
- <dl class="py method">
1065
- <dt class="sig sig-object py" id="snappy.DirichletDomain.view">
1066
- <span class="sig-name descname"><span class="pre">view</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.view" title="Permalink to this definition"></a></dt>
1067
- <dd></dd></dl>
1068
-
1069
1238
  <dl class="py method">
1070
1239
  <dt class="sig sig-object py" id="snappy.DirichletDomain.volume">
1071
- <span class="sig-name descname"><span class="pre">volume</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.volume" title="Permalink to this definition"></a></dt>
1240
+ <span class="sig-name descname"><span class="pre">volume</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.DirichletDomain.volume" title="Link to this definition"></a></dt>
1072
1241
  <dd><p>Returns the approximate volume of the DirichletDomain.
1073
1242
  Because matrices in O(3,1) tend to accumulate roundoff error,
1074
1243
  it’s hard to get a good bound on the accuracy of the computed
@@ -1081,16 +1250,16 @@ manifolds defined by a set of generators.</p>
1081
1250
 
1082
1251
  </section>
1083
1252
  <section id="cuspneighborhood">
1084
- <h2>CuspNeighborhood<a class="headerlink" href="#cuspneighborhood" title="Permalink to this heading"></a></h2>
1253
+ <h2>CuspNeighborhood<a class="headerlink" href="#cuspneighborhood" title="Link to this heading"></a></h2>
1085
1254
  <dl class="py class">
1086
1255
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood">
1087
- <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">CuspNeighborhood</span></span><a class="headerlink" href="#snappy.CuspNeighborhood" title="Permalink to this definition"></a></dt>
1256
+ <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">CuspNeighborhood</span></span><a class="headerlink" href="#snappy.CuspNeighborhood" title="Link to this definition"></a></dt>
1088
1257
  <dd><p>A CuspNeighborhood object represents an equivariant collection of
1089
1258
  disjoint horoballs that project to cusp neighborhoods.</p>
1090
1259
  <p>Instantiate as M.cusp_neighborhood()</p>
1091
1260
  <dl class="py method">
1092
1261
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.Ford_domain">
1093
- <span class="sig-name descname"><span class="pre">Ford_domain</span></span><span class="sig-paren">(</span><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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high_precision</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.CuspNeighborhood.Ford_domain" title="Permalink to this definition"></a></dt>
1262
+ <span class="sig-name descname"><span class="pre">Ford_domain</span></span><span class="sig-paren">(</span><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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high_precision</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.CuspNeighborhood.Ford_domain" title="Link to this definition"></a></dt>
1094
1263
  <dd><p>Return a list of pairs of complex numbers describing the
1095
1264
  endpoints of the segments obtained by projecting the edges of
1096
1265
  the Ford domain to the xy-plane in the upper half space model.</p>
@@ -1101,7 +1270,7 @@ SnapPy Numbers.</p>
1101
1270
 
1102
1271
  <dl class="py method">
1103
1272
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.all_translations">
1104
- <span class="sig-name descname"><span class="pre">all_translations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verified</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">bits_prec</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.CuspNeighborhood.all_translations" title="Permalink to this definition"></a></dt>
1273
+ <span class="sig-name descname"><span class="pre">all_translations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">verified</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">bits_prec</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.CuspNeighborhood.all_translations" title="Link to this definition"></a></dt>
1105
1274
  <dd><p>Returns the (complex) Euclidean translations of the meridian
1106
1275
  and longitude for each cusp measured with respect to the cusp neighborhood.</p>
1107
1276
  <p>The result is a list of pairs, the second entry corresponding to a
@@ -1156,13 +1325,13 @@ that they are disjoint.</p>
1156
1325
 
1157
1326
  <dl class="py method">
1158
1327
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.check_index">
1159
- <span class="sig-name descname"><span class="pre">check_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.check_index" title="Permalink to this definition"></a></dt>
1328
+ <span class="sig-name descname"><span class="pre">check_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.check_index" title="Link to this definition"></a></dt>
1160
1329
  <dd><p>Raises an IndexError if the cusp index is invalid.</p>
1161
1330
  </dd></dl>
1162
1331
 
1163
1332
  <dl class="py method">
1164
1333
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.get_displacement">
1165
- <span class="sig-name descname"><span class="pre">get_displacement</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.get_displacement" title="Permalink to this definition"></a></dt>
1334
+ <span class="sig-name descname"><span class="pre">get_displacement</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.get_displacement" title="Link to this definition"></a></dt>
1166
1335
  <dd><p>Return the displacement of the horospherical boundary of the
1167
1336
  specified cusp. The displacement is the hyperbolic distance
1168
1337
  that the horospherical boundary has been displaced from its
@@ -1174,14 +1343,14 @@ displacement 0.)</p>
1174
1343
 
1175
1344
  <dl class="py method">
1176
1345
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.get_tie">
1177
- <span class="sig-name descname"><span class="pre">get_tie</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.get_tie" title="Permalink to this definition"></a></dt>
1346
+ <span class="sig-name descname"><span class="pre">get_tie</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.get_tie" title="Link to this definition"></a></dt>
1178
1347
  <dd><p>Return True if the specified cusp is a member of the tied group.
1179
1348
  The displacements of the tied cusps are all the same.</p>
1180
1349
  </dd></dl>
1181
1350
 
1182
1351
  <dl class="py method">
1183
1352
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.horoballs">
1184
- <span class="sig-name descname"><span class="pre">horoballs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">full_list</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">high_precision</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.CuspNeighborhood.horoballs" title="Permalink to this definition"></a></dt>
1353
+ <span class="sig-name descname"><span class="pre">horoballs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">full_list</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">high_precision</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.CuspNeighborhood.horoballs" title="Link to this definition"></a></dt>
1185
1354
  <dd><p>Return a list of dictionaries describing the horoballs with
1186
1355
  height at least cutoff. The keys are ‘center’, ‘radius’, ‘index’.</p>
1187
1356
  <p>If the high_precision flag is set to the default value False, these
@@ -1190,31 +1359,31 @@ are Python complexes and floats. Otherwise they are SnapPy Numbers.</p>
1190
1359
 
1191
1360
  <dl class="py method">
1192
1361
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.manifold">
1193
- <span class="sig-name descname"><span class="pre">manifold</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.manifold" title="Permalink to this definition"></a></dt>
1362
+ <span class="sig-name descname"><span class="pre">manifold</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.manifold" title="Link to this definition"></a></dt>
1194
1363
  <dd><p>Return a Manifold built from the current canonical triangulation.</p>
1195
1364
  </dd></dl>
1196
1365
 
1197
1366
  <dl class="py method">
1198
1367
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.max_reach">
1199
- <span class="sig-name descname"><span class="pre">max_reach</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.max_reach" title="Permalink to this definition"></a></dt>
1368
+ <span class="sig-name descname"><span class="pre">max_reach</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.max_reach" title="Link to this definition"></a></dt>
1200
1369
  <dd><p>Return the maximum reach over all cusps.</p>
1201
1370
  </dd></dl>
1202
1371
 
1203
1372
  <dl class="py method">
1204
1373
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.num_cusps">
1205
- <span class="sig-name descname"><span class="pre">num_cusps</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.num_cusps" title="Permalink to this definition"></a></dt>
1374
+ <span class="sig-name descname"><span class="pre">num_cusps</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.num_cusps" title="Link to this definition"></a></dt>
1206
1375
  <dd><p>Return the number of cusps.</p>
1207
1376
  </dd></dl>
1208
1377
 
1209
1378
  <dl class="py method">
1210
1379
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.original_index">
1211
- <span class="sig-name descname"><span class="pre">original_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.original_index" title="Permalink to this definition"></a></dt>
1380
+ <span class="sig-name descname"><span class="pre">original_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.original_index" title="Link to this definition"></a></dt>
1212
1381
  <dd><p>Returns the index by which the Manifold identifies this cusp.</p>
1213
1382
  </dd></dl>
1214
1383
 
1215
1384
  <dl class="py method">
1216
1385
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.reach">
1217
- <span class="sig-name descname"><span class="pre">reach</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.reach" title="Permalink to this definition"></a></dt>
1386
+ <span class="sig-name descname"><span class="pre">reach</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.reach" title="Link to this definition"></a></dt>
1218
1387
  <dd><p>Return the displacement at which the specified cusp
1219
1388
  neighborhood bumps into itself. (This is twice the
1220
1389
  distance between nearest horoball lifts.)</p>
@@ -1222,19 +1391,19 @@ distance between nearest horoball lifts.)</p>
1222
1391
 
1223
1392
  <dl class="py method">
1224
1393
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.set_displacement">
1225
- <span class="sig-name descname"><span class="pre">set_displacement</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">new_displacement</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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.set_displacement" title="Permalink to this definition"></a></dt>
1394
+ <span class="sig-name descname"><span class="pre">set_displacement</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">new_displacement</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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.set_displacement" title="Link to this definition"></a></dt>
1226
1395
  <dd><p>Set the displacement of the specified cusp.</p>
1227
1396
  </dd></dl>
1228
1397
 
1229
1398
  <dl class="py method">
1230
1399
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.set_tie">
1231
- <span class="sig-name descname"><span class="pre">set_tie</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_tie</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.set_tie" title="Permalink to this definition"></a></dt>
1400
+ <span class="sig-name descname"><span class="pre">set_tie</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_tie</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.set_tie" title="Link to this definition"></a></dt>
1232
1401
  <dd><p>Mark the specified cusp as a member of the tied group.</p>
1233
1402
  </dd></dl>
1234
1403
 
1235
1404
  <dl class="py method">
1236
1405
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.stopper">
1237
- <span class="sig-name descname"><span class="pre">stopper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.stopper" title="Permalink to this definition"></a></dt>
1406
+ <span class="sig-name descname"><span class="pre">stopper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">which_cusp</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.stopper" title="Link to this definition"></a></dt>
1238
1407
  <dd><p>Return the index of the cusp which will be the first one that
1239
1408
  the specified cusp neighborhood bumps into.
1240
1409
  (Assumes the other displacements are fixed.)</p>
@@ -1242,7 +1411,7 @@ the specified cusp neighborhood bumps into.
1242
1411
 
1243
1412
  <dl class="py method">
1244
1413
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.stopping_displacement">
1245
- <span class="sig-name descname"><span class="pre">stopping_displacement</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.stopping_displacement" title="Permalink to this definition"></a></dt>
1414
+ <span class="sig-name descname"><span class="pre">stopping_displacement</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.stopping_displacement" title="Link to this definition"></a></dt>
1246
1415
  <dd><p>Return the displacement at which the specified cusp
1247
1416
  neighborhood bumps into itself or another cusp neighborhood.
1248
1417
  (Assumes the other displacements are fixed.)</p>
@@ -1250,13 +1419,13 @@ neighborhood bumps into itself or another cusp neighborhood.
1250
1419
 
1251
1420
  <dl class="py method">
1252
1421
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.topology">
1253
- <span class="sig-name descname"><span class="pre">topology</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.topology" title="Permalink to this definition"></a></dt>
1422
+ <span class="sig-name descname"><span class="pre">topology</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.topology" title="Link to this definition"></a></dt>
1254
1423
  <dd><p>Return the topological type of the specified cusp.</p>
1255
1424
  </dd></dl>
1256
1425
 
1257
1426
  <dl class="py method">
1258
1427
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.translations">
1259
- <span class="sig-name descname"><span class="pre">translations</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.translations" title="Permalink to this definition"></a></dt>
1428
+ <span class="sig-name descname"><span class="pre">translations</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.translations" title="Link to this definition"></a></dt>
1260
1429
  <dd><p>Return the (complex) Euclidean translations of the meridian
1261
1430
  and longitude of the specified cusp.</p>
1262
1431
  <p>Also see <a class="reference internal" href="#snappy.CuspNeighborhood.all_translations" title="snappy.CuspNeighborhood.all_translations"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CuspNeighborhood.all_translations()</span></code></a> which supports
@@ -1265,7 +1434,7 @@ arbitrary precision and verified results.</p>
1265
1434
 
1266
1435
  <dl class="py method">
1267
1436
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.triangulation">
1268
- <span class="sig-name descname"><span class="pre">triangulation</span></span><span class="sig-paren">(</span><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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high_precision</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.CuspNeighborhood.triangulation" title="Permalink to this definition"></a></dt>
1437
+ <span class="sig-name descname"><span class="pre">triangulation</span></span><span class="sig-paren">(</span><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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high_precision</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.CuspNeighborhood.triangulation" title="Link to this definition"></a></dt>
1269
1438
  <dd><p>Return a list of dictionaries describing the endpoints of the
1270
1439
  segments obtained by projecting the edges of the triangulation
1271
1440
  dual to the Ford domain into the xy-plane in the upper half
@@ -1274,7 +1443,7 @@ space model. The keys are ‘endpoints’ and ‘indices’.</p>
1274
1443
 
1275
1444
  <dl class="py method">
1276
1445
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.view">
1277
- <span class="sig-name descname"><span class="pre">view</span></span><span class="sig-paren">(</span><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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</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.CuspNeighborhood.view" title="Permalink to this definition"></a></dt>
1446
+ <span class="sig-name descname"><span class="pre">view</span></span><span class="sig-paren">(</span><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">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</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.CuspNeighborhood.view" title="Link to this definition"></a></dt>
1278
1447
  <dd><p>Create a 3D picture of the horoball packing. One can specify
1279
1448
  which cusp to put at infinity and how large of horoballs to
1280
1449
  look at, e.g.</p>
@@ -1287,7 +1456,7 @@ look at, e.g.</p>
1287
1456
 
1288
1457
  <dl class="py method">
1289
1458
  <dt class="sig sig-object py" id="snappy.CuspNeighborhood.volume">
1290
- <span class="sig-name descname"><span class="pre">volume</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.volume" title="Permalink to this definition"></a></dt>
1459
+ <span class="sig-name descname"><span class="pre">volume</span></span><span class="sig-paren">(</span><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">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.CuspNeighborhood.volume" title="Link to this definition"></a></dt>
1291
1460
  <dd><p>Return the volume of the horoball neighborhood of the specified
1292
1461
  cusp.</p>
1293
1462
  </dd></dl>
@@ -1308,7 +1477,7 @@ cusp.</p>
1308
1477
  <hr/>
1309
1478
 
1310
1479
  <div role="contentinfo">
1311
- <p>&#169; Copyright 2009-2023, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
1480
+ <p>&#169; Copyright 2009-2025, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
1312
1481
  </div>
1313
1482
 
1314
1483
  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a