snappy 3.3__cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. snappy/CyOpenGL.cpython-310-aarch64-linux-gnu.so +0 -0
  2. snappy/SnapPy.cpython-310-aarch64-linux-gnu.so +0 -0
  3. snappy/SnapPy.ico +0 -0
  4. snappy/SnapPy.png +0 -0
  5. snappy/SnapPyHP.cpython-310-aarch64-linux-gnu.so +0 -0
  6. snappy/__init__.py +534 -0
  7. snappy/app.py +604 -0
  8. snappy/app_menus.py +372 -0
  9. snappy/browser.py +998 -0
  10. snappy/cache.py +25 -0
  11. snappy/canonical.py +249 -0
  12. snappy/cusps/__init__.py +280 -0
  13. snappy/cusps/cusp_area_matrix.py +98 -0
  14. snappy/cusps/cusp_areas_from_matrix.py +96 -0
  15. snappy/cusps/maximal_cusp_area_matrix.py +136 -0
  16. snappy/cusps/short_slopes_for_cusp.py +217 -0
  17. snappy/cusps/test.py +22 -0
  18. snappy/cusps/trig_cusp_area_matrix.py +63 -0
  19. snappy/database.py +454 -0
  20. snappy/db_utilities.py +79 -0
  21. snappy/decorated_isosig.py +717 -0
  22. snappy/dev/__init__.py +0 -0
  23. snappy/dev/extended_ptolemy/__init__.py +8 -0
  24. snappy/dev/extended_ptolemy/closed.py +106 -0
  25. snappy/dev/extended_ptolemy/complexVolumesClosed.py +149 -0
  26. snappy/dev/extended_ptolemy/direct.py +42 -0
  27. snappy/dev/extended_ptolemy/extended.py +406 -0
  28. snappy/dev/extended_ptolemy/giac_helper.py +43 -0
  29. snappy/dev/extended_ptolemy/giac_rur.py +129 -0
  30. snappy/dev/extended_ptolemy/gluing.py +46 -0
  31. snappy/dev/extended_ptolemy/phc_wrapper.py +220 -0
  32. snappy/dev/extended_ptolemy/printMatrices.py +70 -0
  33. snappy/dev/vericlosed/__init__.py +1 -0
  34. snappy/dev/vericlosed/computeApproxHyperbolicStructureNew.py +159 -0
  35. snappy/dev/vericlosed/computeApproxHyperbolicStructureOrb.py +90 -0
  36. snappy/dev/vericlosed/computeVerifiedHyperbolicStructure.py +111 -0
  37. snappy/dev/vericlosed/gimbalLoopFinder.py +130 -0
  38. snappy/dev/vericlosed/hyperbolicStructure.py +313 -0
  39. snappy/dev/vericlosed/krawczykCertifiedEdgeLengthsEngine.py +165 -0
  40. snappy/dev/vericlosed/oneVertexTruncatedComplex.py +122 -0
  41. snappy/dev/vericlosed/orb/__init__.py +1 -0
  42. snappy/dev/vericlosed/orb/orb_solution_for_snappea_finite_triangulation_mac +0 -0
  43. snappy/dev/vericlosed/parseVertexGramMatrixFile.py +47 -0
  44. snappy/dev/vericlosed/polishApproxHyperbolicStructure.py +61 -0
  45. snappy/dev/vericlosed/test.py +54 -0
  46. snappy/dev/vericlosed/truncatedComplex.py +176 -0
  47. snappy/dev/vericlosed/verificationError.py +58 -0
  48. snappy/dev/vericlosed/verifyHyperbolicStructureEngine.py +177 -0
  49. snappy/doc/_images/SnapPy-196.png +0 -0
  50. snappy/doc/_images/m004_paper_plane_on_systole.jpg +0 -0
  51. snappy/doc/_images/m125_paper_plane.jpg +0 -0
  52. snappy/doc/_images/mac.png +0 -0
  53. snappy/doc/_images/o9_00000_systole_paper_plane.jpg +0 -0
  54. snappy/doc/_images/o9_00000_systole_paper_plane_closer.jpg +0 -0
  55. snappy/doc/_images/plink-action.png +0 -0
  56. snappy/doc/_images/ubuntu.png +0 -0
  57. snappy/doc/_images/win7.png +0 -0
  58. snappy/doc/_sources/additional_classes.rst.txt +40 -0
  59. snappy/doc/_sources/bugs.rst.txt +14 -0
  60. snappy/doc/_sources/censuses.rst.txt +52 -0
  61. snappy/doc/_sources/credits.rst.txt +81 -0
  62. snappy/doc/_sources/development.rst.txt +261 -0
  63. snappy/doc/_sources/index.rst.txt +215 -0
  64. snappy/doc/_sources/installing.rst.txt +249 -0
  65. snappy/doc/_sources/manifold.rst.txt +6 -0
  66. snappy/doc/_sources/manifoldhp.rst.txt +46 -0
  67. snappy/doc/_sources/news.rst.txt +425 -0
  68. snappy/doc/_sources/other.rst.txt +25 -0
  69. snappy/doc/_sources/platonic_census.rst.txt +20 -0
  70. snappy/doc/_sources/plink.rst.txt +102 -0
  71. snappy/doc/_sources/ptolemy.rst.txt +66 -0
  72. snappy/doc/_sources/ptolemy_classes.rst.txt +42 -0
  73. snappy/doc/_sources/ptolemy_examples1.rst.txt +298 -0
  74. snappy/doc/_sources/ptolemy_examples2.rst.txt +363 -0
  75. snappy/doc/_sources/ptolemy_examples3.rst.txt +301 -0
  76. snappy/doc/_sources/ptolemy_examples4.rst.txt +61 -0
  77. snappy/doc/_sources/ptolemy_prelim.rst.txt +105 -0
  78. snappy/doc/_sources/screenshots.rst.txt +21 -0
  79. snappy/doc/_sources/snap.rst.txt +87 -0
  80. snappy/doc/_sources/snappy.rst.txt +28 -0
  81. snappy/doc/_sources/spherogram.rst.txt +103 -0
  82. snappy/doc/_sources/todo.rst.txt +47 -0
  83. snappy/doc/_sources/triangulation.rst.txt +11 -0
  84. snappy/doc/_sources/tutorial.rst.txt +49 -0
  85. snappy/doc/_sources/verify.rst.txt +210 -0
  86. snappy/doc/_sources/verify_internals.rst.txt +79 -0
  87. snappy/doc/_static/SnapPy-horizontal-128.png +0 -0
  88. snappy/doc/_static/SnapPy.ico +0 -0
  89. snappy/doc/_static/_sphinx_javascript_frameworks_compat.js +123 -0
  90. snappy/doc/_static/basic.css +906 -0
  91. snappy/doc/_static/css/badge_only.css +1 -0
  92. snappy/doc/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  93. snappy/doc/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  94. snappy/doc/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  95. snappy/doc/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  96. snappy/doc/_static/css/fonts/fontawesome-webfont.eot +0 -0
  97. snappy/doc/_static/css/fonts/fontawesome-webfont.svg +2671 -0
  98. snappy/doc/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  99. snappy/doc/_static/css/fonts/fontawesome-webfont.woff +0 -0
  100. snappy/doc/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  101. snappy/doc/_static/css/fonts/lato-bold-italic.woff +0 -0
  102. snappy/doc/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  103. snappy/doc/_static/css/fonts/lato-bold.woff +0 -0
  104. snappy/doc/_static/css/fonts/lato-bold.woff2 +0 -0
  105. snappy/doc/_static/css/fonts/lato-normal-italic.woff +0 -0
  106. snappy/doc/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  107. snappy/doc/_static/css/fonts/lato-normal.woff +0 -0
  108. snappy/doc/_static/css/fonts/lato-normal.woff2 +0 -0
  109. snappy/doc/_static/css/theme.css +4 -0
  110. snappy/doc/_static/doctools.js +149 -0
  111. snappy/doc/_static/documentation_options.js +13 -0
  112. snappy/doc/_static/file.png +0 -0
  113. snappy/doc/_static/fonts/Lato/lato-bold.eot +0 -0
  114. snappy/doc/_static/fonts/Lato/lato-bold.ttf +0 -0
  115. snappy/doc/_static/fonts/Lato/lato-bold.woff +0 -0
  116. snappy/doc/_static/fonts/Lato/lato-bold.woff2 +0 -0
  117. snappy/doc/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  118. snappy/doc/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  119. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  120. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  121. snappy/doc/_static/fonts/Lato/lato-italic.eot +0 -0
  122. snappy/doc/_static/fonts/Lato/lato-italic.ttf +0 -0
  123. snappy/doc/_static/fonts/Lato/lato-italic.woff +0 -0
  124. snappy/doc/_static/fonts/Lato/lato-italic.woff2 +0 -0
  125. snappy/doc/_static/fonts/Lato/lato-regular.eot +0 -0
  126. snappy/doc/_static/fonts/Lato/lato-regular.ttf +0 -0
  127. snappy/doc/_static/fonts/Lato/lato-regular.woff +0 -0
  128. snappy/doc/_static/fonts/Lato/lato-regular.woff2 +0 -0
  129. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  130. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  131. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  132. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  133. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  134. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  135. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  136. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  137. snappy/doc/_static/jquery.js +2 -0
  138. snappy/doc/_static/js/badge_only.js +1 -0
  139. snappy/doc/_static/js/theme.js +1 -0
  140. snappy/doc/_static/js/versions.js +228 -0
  141. snappy/doc/_static/language_data.js +192 -0
  142. snappy/doc/_static/minus.png +0 -0
  143. snappy/doc/_static/plus.png +0 -0
  144. snappy/doc/_static/pygments.css +75 -0
  145. snappy/doc/_static/searchtools.js +635 -0
  146. snappy/doc/_static/snappy_furo.css +33 -0
  147. snappy/doc/_static/snappy_sphinx_rtd_theme.css +42 -0
  148. snappy/doc/_static/sphinx_highlight.js +154 -0
  149. snappy/doc/additional_classes.html +1500 -0
  150. snappy/doc/bugs.html +132 -0
  151. snappy/doc/censuses.html +453 -0
  152. snappy/doc/credits.html +184 -0
  153. snappy/doc/development.html +385 -0
  154. snappy/doc/doc-latest/additional_classes.html +1500 -0
  155. snappy/doc/doc-latest/bugs.html +132 -0
  156. snappy/doc/doc-latest/censuses.html +453 -0
  157. snappy/doc/doc-latest/credits.html +184 -0
  158. snappy/doc/doc-latest/development.html +385 -0
  159. snappy/doc/doc-latest/genindex.html +1349 -0
  160. snappy/doc/doc-latest/index.html +287 -0
  161. snappy/doc/doc-latest/installing.html +346 -0
  162. snappy/doc/doc-latest/manifold.html +3632 -0
  163. snappy/doc/doc-latest/manifoldhp.html +180 -0
  164. snappy/doc/doc-latest/news.html +438 -0
  165. snappy/doc/doc-latest/objects.inv +0 -0
  166. snappy/doc/doc-latest/other.html +160 -0
  167. snappy/doc/doc-latest/platonic_census.html +376 -0
  168. snappy/doc/doc-latest/plink.html +210 -0
  169. snappy/doc/doc-latest/ptolemy.html +253 -0
  170. snappy/doc/doc-latest/ptolemy_classes.html +1144 -0
  171. snappy/doc/doc-latest/ptolemy_examples1.html +409 -0
  172. snappy/doc/doc-latest/ptolemy_examples2.html +471 -0
  173. snappy/doc/doc-latest/ptolemy_examples3.html +414 -0
  174. snappy/doc/doc-latest/ptolemy_examples4.html +195 -0
  175. snappy/doc/doc-latest/ptolemy_prelim.html +248 -0
  176. snappy/doc/doc-latest/py-modindex.html +165 -0
  177. snappy/doc/doc-latest/screenshots.html +141 -0
  178. snappy/doc/doc-latest/search.html +135 -0
  179. snappy/doc/doc-latest/searchindex.js +1 -0
  180. snappy/doc/doc-latest/snap.html +202 -0
  181. snappy/doc/doc-latest/snappy.html +181 -0
  182. snappy/doc/doc-latest/spherogram.html +1346 -0
  183. snappy/doc/doc-latest/todo.html +166 -0
  184. snappy/doc/doc-latest/triangulation.html +1676 -0
  185. snappy/doc/doc-latest/tutorial.html +159 -0
  186. snappy/doc/doc-latest/verify.html +330 -0
  187. snappy/doc/doc-latest/verify_internals.html +1235 -0
  188. snappy/doc/genindex.html +1349 -0
  189. snappy/doc/index.html +287 -0
  190. snappy/doc/installing.html +346 -0
  191. snappy/doc/manifold.html +3632 -0
  192. snappy/doc/manifoldhp.html +180 -0
  193. snappy/doc/news.html +438 -0
  194. snappy/doc/objects.inv +0 -0
  195. snappy/doc/other.html +160 -0
  196. snappy/doc/platonic_census.html +376 -0
  197. snappy/doc/plink.html +210 -0
  198. snappy/doc/ptolemy.html +253 -0
  199. snappy/doc/ptolemy_classes.html +1144 -0
  200. snappy/doc/ptolemy_examples1.html +409 -0
  201. snappy/doc/ptolemy_examples2.html +471 -0
  202. snappy/doc/ptolemy_examples3.html +414 -0
  203. snappy/doc/ptolemy_examples4.html +195 -0
  204. snappy/doc/ptolemy_prelim.html +248 -0
  205. snappy/doc/py-modindex.html +165 -0
  206. snappy/doc/screenshots.html +141 -0
  207. snappy/doc/search.html +135 -0
  208. snappy/doc/searchindex.js +1 -0
  209. snappy/doc/snap.html +202 -0
  210. snappy/doc/snappy.html +181 -0
  211. snappy/doc/spherogram.html +1346 -0
  212. snappy/doc/todo.html +166 -0
  213. snappy/doc/triangulation.html +1676 -0
  214. snappy/doc/tutorial.html +159 -0
  215. snappy/doc/verify.html +330 -0
  216. snappy/doc/verify_internals.html +1235 -0
  217. snappy/drilling/__init__.py +456 -0
  218. snappy/drilling/barycentric.py +103 -0
  219. snappy/drilling/constants.py +5 -0
  220. snappy/drilling/crush.py +270 -0
  221. snappy/drilling/cusps.py +125 -0
  222. snappy/drilling/debug.py +242 -0
  223. snappy/drilling/epsilons.py +6 -0
  224. snappy/drilling/exceptions.py +55 -0
  225. snappy/drilling/moves.py +620 -0
  226. snappy/drilling/peripheral_curves.py +210 -0
  227. snappy/drilling/perturb.py +188 -0
  228. snappy/drilling/shorten.py +36 -0
  229. snappy/drilling/subdivide.py +274 -0
  230. snappy/drilling/test.py +23 -0
  231. snappy/drilling/test_cases.py +132 -0
  232. snappy/drilling/tracing.py +351 -0
  233. snappy/exceptions.py +26 -0
  234. snappy/export_stl.py +120 -0
  235. snappy/exterior_to_link/__init__.py +2 -0
  236. snappy/exterior_to_link/barycentric_geometry.py +463 -0
  237. snappy/exterior_to_link/exceptions.py +6 -0
  238. snappy/exterior_to_link/geodesic_map.json +14408 -0
  239. snappy/exterior_to_link/hyp_utils.py +112 -0
  240. snappy/exterior_to_link/link_projection.py +323 -0
  241. snappy/exterior_to_link/main.py +198 -0
  242. snappy/exterior_to_link/mcomplex_with_expansion.py +261 -0
  243. snappy/exterior_to_link/mcomplex_with_link.py +687 -0
  244. snappy/exterior_to_link/mcomplex_with_memory.py +162 -0
  245. snappy/exterior_to_link/pl_utils.py +491 -0
  246. snappy/exterior_to_link/put_in_S3.py +156 -0
  247. snappy/exterior_to_link/rational_linear_algebra.py +130 -0
  248. snappy/exterior_to_link/rational_linear_algebra_wrapped.py +135 -0
  249. snappy/exterior_to_link/simplify_to_base_tri.py +114 -0
  250. snappy/exterior_to_link/stored_moves.py +475 -0
  251. snappy/exterior_to_link/test.py +31 -0
  252. snappy/filedialog.py +28 -0
  253. snappy/geometric_structure/__init__.py +212 -0
  254. snappy/geometric_structure/cusp_neighborhood/__init__.py +3 -0
  255. snappy/geometric_structure/cusp_neighborhood/complex_cusp_cross_section.py +691 -0
  256. snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +480 -0
  257. snappy/geometric_structure/cusp_neighborhood/exceptions.py +41 -0
  258. snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +294 -0
  259. snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +156 -0
  260. snappy/geometric_structure/cusp_neighborhood/vertices.py +35 -0
  261. snappy/geometric_structure/geodesic/__init__.py +0 -0
  262. snappy/geometric_structure/geodesic/add_core_curves.py +152 -0
  263. snappy/geometric_structure/geodesic/avoid_core_curves.py +369 -0
  264. snappy/geometric_structure/geodesic/canonical_representatives.py +52 -0
  265. snappy/geometric_structure/geodesic/check_away_from_core_curve.py +60 -0
  266. snappy/geometric_structure/geodesic/constants.py +6 -0
  267. snappy/geometric_structure/geodesic/exceptions.py +22 -0
  268. snappy/geometric_structure/geodesic/fixed_points.py +106 -0
  269. snappy/geometric_structure/geodesic/geodesic_start_point_info.py +435 -0
  270. snappy/geometric_structure/geodesic/graph_trace_helper.py +67 -0
  271. snappy/geometric_structure/geodesic/line.py +30 -0
  272. snappy/geometric_structure/geodesic/multiplicity.py +127 -0
  273. snappy/geometric_structure/geodesic/tiles_for_geodesic.py +128 -0
  274. snappy/geometric_structure/test.py +22 -0
  275. snappy/gui.py +121 -0
  276. snappy/horoviewer.py +443 -0
  277. snappy/hyperboloid/__init__.py +212 -0
  278. snappy/hyperboloid/distances.py +259 -0
  279. snappy/hyperboloid/horoball.py +19 -0
  280. snappy/hyperboloid/line.py +35 -0
  281. snappy/hyperboloid/point.py +9 -0
  282. snappy/hyperboloid/triangle.py +29 -0
  283. snappy/info_icon.gif +0 -0
  284. snappy/infowindow.py +65 -0
  285. snappy/isometry_signature.py +389 -0
  286. snappy/len_spec/__init__.py +609 -0
  287. snappy/len_spec/geodesic_info.py +129 -0
  288. snappy/len_spec/geodesic_key_info_dict.py +116 -0
  289. snappy/len_spec/geodesic_piece.py +146 -0
  290. snappy/len_spec/geometric_structure.py +182 -0
  291. snappy/len_spec/geometry.py +136 -0
  292. snappy/len_spec/length_spectrum_geodesic_info.py +185 -0
  293. snappy/len_spec/spine.py +128 -0
  294. snappy/len_spec/test.py +24 -0
  295. snappy/len_spec/test_cases.py +69 -0
  296. snappy/len_spec/tile.py +276 -0
  297. snappy/len_spec/word.py +86 -0
  298. snappy/manifolds/HTWKnots/alternating.gz +0 -0
  299. snappy/manifolds/HTWKnots/nonalternating.gz +0 -0
  300. snappy/manifolds/__init__.py +3 -0
  301. snappy/margulis/__init__.py +332 -0
  302. snappy/margulis/cusp_neighborhood_neighborhood.py +66 -0
  303. snappy/margulis/geodesic_neighborhood.py +152 -0
  304. snappy/margulis/margulis_info.py +21 -0
  305. snappy/margulis/mu_from_neighborhood_pair.py +175 -0
  306. snappy/margulis/neighborhood.py +29 -0
  307. snappy/margulis/test.py +22 -0
  308. snappy/math_basics.py +187 -0
  309. snappy/matrix.py +525 -0
  310. snappy/number.py +657 -0
  311. snappy/numeric_output_checker.py +345 -0
  312. snappy/pari.py +41 -0
  313. snappy/phone_home.py +57 -0
  314. snappy/polyviewer.py +259 -0
  315. snappy/ptolemy/__init__.py +17 -0
  316. snappy/ptolemy/component.py +103 -0
  317. snappy/ptolemy/coordinates.py +2290 -0
  318. snappy/ptolemy/fieldExtensions.py +153 -0
  319. snappy/ptolemy/findLoops.py +473 -0
  320. snappy/ptolemy/geometricRep.py +59 -0
  321. snappy/ptolemy/homology.py +165 -0
  322. snappy/ptolemy/magma/default.magma_template +229 -0
  323. snappy/ptolemy/magma/radicalsOfPrimaryDecomposition.magma_template +79 -0
  324. snappy/ptolemy/manifoldMethods.py +395 -0
  325. snappy/ptolemy/matrix.py +350 -0
  326. snappy/ptolemy/numericalSolutionsToGroebnerBasis.py +113 -0
  327. snappy/ptolemy/polynomial.py +856 -0
  328. snappy/ptolemy/processComponents.py +173 -0
  329. snappy/ptolemy/processFileBase.py +247 -0
  330. snappy/ptolemy/processFileDispatch.py +46 -0
  331. snappy/ptolemy/processMagmaFile.py +392 -0
  332. snappy/ptolemy/processRurFile.py +150 -0
  333. snappy/ptolemy/ptolemyGeneralizedObstructionClass.py +102 -0
  334. snappy/ptolemy/ptolemyObstructionClass.py +64 -0
  335. snappy/ptolemy/ptolemyVariety.py +995 -0
  336. snappy/ptolemy/ptolemyVarietyPrimeIdealGroebnerBasis.py +140 -0
  337. snappy/ptolemy/reginaWrapper.py +698 -0
  338. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c0.magma_out.bz2 +0 -0
  339. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c1.magma_out.bz2 +0 -0
  340. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c2.magma_out.bz2 +0 -0
  341. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c3.magma_out.bz2 +0 -0
  342. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c4.magma_out.bz2 +0 -0
  343. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c5.magma_out.bz2 +0 -0
  344. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c6.magma_out.bz2 +0 -0
  345. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c7.magma_out.bz2 +0 -0
  346. snappy/ptolemy/regina_testing_files_generalized/m003__sl3_c0.magma_out.bz2 +0 -0
  347. snappy/ptolemy/regina_testing_files_generalized/m003__sl3_c1.magma_out.bz2 +0 -0
  348. snappy/ptolemy/regina_testing_files_generalized/m015__sl2_c0.magma_out.bz2 +0 -0
  349. snappy/ptolemy/regina_testing_files_generalized/m015__sl2_c1.magma_out.bz2 +0 -0
  350. snappy/ptolemy/regina_testing_files_generalized/m015__sl3_c0.magma_out.bz2 +0 -0
  351. snappy/ptolemy/regina_testing_files_generalized/m015__sl3_c1.magma_out.bz2 +0 -0
  352. snappy/ptolemy/rur.py +545 -0
  353. snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +277 -0
  354. snappy/ptolemy/test.py +1126 -0
  355. snappy/ptolemy/testing_files/3_1__sl2_c0.magma_out.bz2 +0 -0
  356. snappy/ptolemy/testing_files/3_1__sl2_c1.magma_out.bz2 +0 -0
  357. snappy/ptolemy/testing_files/4_1__sl2_c0.magma_out.bz2 +0 -0
  358. snappy/ptolemy/testing_files/4_1__sl2_c1.magma_out.bz2 +0 -0
  359. snappy/ptolemy/testing_files/4_1__sl3_c0.magma_out.bz2 +0 -0
  360. snappy/ptolemy/testing_files/4_1__sl4_c0.magma_out.bz2 +0 -0
  361. snappy/ptolemy/testing_files/4_1__sl4_c1.magma_out.bz2 +0 -0
  362. snappy/ptolemy/testing_files/5_2__sl2_c0.magma_out.bz2 +0 -0
  363. snappy/ptolemy/testing_files/5_2__sl2_c1.magma_out.bz2 +0 -0
  364. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c0.magma_out.bz2 +0 -0
  365. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c1.magma_out.bz2 +0 -0
  366. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c2.magma_out.bz2 +0 -0
  367. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c3.magma_out.bz2 +0 -0
  368. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c4.magma_out.bz2 +0 -0
  369. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c5.magma_out.bz2 +0 -0
  370. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c6.magma_out.bz2 +0 -0
  371. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c7.magma_out.bz2 +0 -0
  372. snappy/ptolemy/testing_files/data/pgl2/OrientableCuspedCensus/03_tetrahedra/m019__sl2_c0.magma_out +95 -0
  373. snappy/ptolemy/testing_files/data/pgl2/OrientableCuspedCensus/03_tetrahedra/m019__sl2_c1.magma_out +95 -0
  374. snappy/ptolemy/testing_files/m015__sl3_c0.magma_out.bz2 +0 -0
  375. snappy/ptolemy/testing_files/m135__sl2_c0.magma_out.bz2 +0 -0
  376. snappy/ptolemy/testing_files/m135__sl2_c1.magma_out.bz2 +0 -0
  377. snappy/ptolemy/testing_files/m135__sl2_c2.magma_out.bz2 +0 -0
  378. snappy/ptolemy/testing_files/m135__sl2_c3.magma_out.bz2 +0 -0
  379. snappy/ptolemy/testing_files/m135__sl2_c4.magma_out.bz2 +0 -0
  380. snappy/ptolemy/testing_files/m135__sl2_c5.magma_out.bz2 +0 -0
  381. snappy/ptolemy/testing_files/m135__sl2_c6.magma_out.bz2 +0 -0
  382. snappy/ptolemy/testing_files/m135__sl2_c7.magma_out.bz2 +0 -0
  383. snappy/ptolemy/testing_files/s000__sl2_c0.magma_out.bz2 +0 -0
  384. snappy/ptolemy/testing_files/s000__sl2_c1.magma_out.bz2 +0 -0
  385. snappy/ptolemy/testing_files/t00000__sl2_c0.magma_out.bz2 +0 -0
  386. snappy/ptolemy/testing_files/t00000__sl2_c1.magma_out.bz2 +0 -0
  387. snappy/ptolemy/testing_files/v0000__sl2_c0.magma_out.bz2 +0 -0
  388. snappy/ptolemy/testing_files/v0000__sl2_c1.magma_out.bz2 +0 -0
  389. snappy/ptolemy/testing_files/v0000__sl2_c2.magma_out.bz2 +0 -0
  390. snappy/ptolemy/testing_files/v0000__sl2_c3.magma_out.bz2 +0 -0
  391. snappy/ptolemy/testing_files_generalized/m003__sl2_c0.magma_out.bz2 +0 -0
  392. snappy/ptolemy/testing_files_generalized/m003__sl2_c1.magma_out.bz2 +0 -0
  393. snappy/ptolemy/testing_files_generalized/m003__sl3_c0.magma_out.bz2 +0 -0
  394. snappy/ptolemy/testing_files_generalized/m003__sl3_c1.magma_out.bz2 +0 -0
  395. snappy/ptolemy/testing_files_generalized/m004__sl2_c0.magma_out.bz2 +0 -0
  396. snappy/ptolemy/testing_files_generalized/m004__sl2_c1.magma_out.bz2 +0 -0
  397. snappy/ptolemy/testing_files_generalized/m015__sl2_c1.magma_out.bz2 +0 -0
  398. snappy/ptolemy/testing_files_generalized/m015__sl3_c0.magma_out.bz2 +0 -0
  399. snappy/ptolemy/testing_files_rur/m052__sl3_c0.rur.bz2 +0 -0
  400. snappy/ptolemy/utilities.py +236 -0
  401. snappy/raytracing/__init__.py +64 -0
  402. snappy/raytracing/additional_horospheres.py +64 -0
  403. snappy/raytracing/additional_len_spec_choices.py +63 -0
  404. snappy/raytracing/cohomology_fractal.py +197 -0
  405. snappy/raytracing/eyeball.py +124 -0
  406. snappy/raytracing/finite_raytracing_data.py +237 -0
  407. snappy/raytracing/finite_viewer.py +590 -0
  408. snappy/raytracing/geodesic_tube_info.py +174 -0
  409. snappy/raytracing/geodesics.py +246 -0
  410. snappy/raytracing/geodesics_window.py +258 -0
  411. snappy/raytracing/gui_utilities.py +293 -0
  412. snappy/raytracing/hyperboloid_navigation.py +556 -0
  413. snappy/raytracing/hyperboloid_utilities.py +234 -0
  414. snappy/raytracing/ideal_raytracing_data.py +592 -0
  415. snappy/raytracing/inside_viewer.py +974 -0
  416. snappy/raytracing/pack.py +22 -0
  417. snappy/raytracing/raytracing_data.py +126 -0
  418. snappy/raytracing/raytracing_view.py +454 -0
  419. snappy/raytracing/shaders/Eye.png +0 -0
  420. snappy/raytracing/shaders/NonGeometric.png +0 -0
  421. snappy/raytracing/shaders/__init__.py +101 -0
  422. snappy/raytracing/shaders/fragment.glsl +1744 -0
  423. snappy/raytracing/test.py +29 -0
  424. snappy/raytracing/tooltip.py +146 -0
  425. snappy/raytracing/upper_halfspace_utilities.py +98 -0
  426. snappy/raytracing/view_scale_controller.py +98 -0
  427. snappy/raytracing/zoom_slider/__init__.py +263 -0
  428. snappy/raytracing/zoom_slider/inward.png +0 -0
  429. snappy/raytracing/zoom_slider/inward18.png +0 -0
  430. snappy/raytracing/zoom_slider/outward.png +0 -0
  431. snappy/raytracing/zoom_slider/outward18.png +0 -0
  432. snappy/raytracing/zoom_slider/test.py +20 -0
  433. snappy/sage_helper.py +119 -0
  434. snappy/settings.py +407 -0
  435. snappy/shell.py +53 -0
  436. snappy/snap/__init__.py +117 -0
  437. snappy/snap/character_varieties.py +375 -0
  438. snappy/snap/find_field.py +372 -0
  439. snappy/snap/fox_milnor.py +271 -0
  440. snappy/snap/fundamental_polyhedron.py +569 -0
  441. snappy/snap/generators.py +39 -0
  442. snappy/snap/interval_reps.py +81 -0
  443. snappy/snap/kernel_structures.py +128 -0
  444. snappy/snap/mcomplex_base.py +18 -0
  445. snappy/snap/nsagetools.py +716 -0
  446. snappy/snap/peripheral/__init__.py +1 -0
  447. snappy/snap/peripheral/dual_cellulation.py +219 -0
  448. snappy/snap/peripheral/link.py +127 -0
  449. snappy/snap/peripheral/peripheral.py +159 -0
  450. snappy/snap/peripheral/surface.py +522 -0
  451. snappy/snap/peripheral/test.py +35 -0
  452. snappy/snap/polished_reps.py +335 -0
  453. snappy/snap/shapes.py +152 -0
  454. snappy/snap/slice_obs_HKL/__init__.py +194 -0
  455. snappy/snap/slice_obs_HKL/basics.py +236 -0
  456. snappy/snap/slice_obs_HKL/direct.py +217 -0
  457. snappy/snap/slice_obs_HKL/poly_norm.py +212 -0
  458. snappy/snap/slice_obs_HKL/rep_theory.py +424 -0
  459. snappy/snap/t3mlite/__init__.py +2 -0
  460. snappy/snap/t3mlite/arrow.py +243 -0
  461. snappy/snap/t3mlite/corner.py +22 -0
  462. snappy/snap/t3mlite/edge.py +172 -0
  463. snappy/snap/t3mlite/face.py +37 -0
  464. snappy/snap/t3mlite/files.py +211 -0
  465. snappy/snap/t3mlite/homology.py +53 -0
  466. snappy/snap/t3mlite/linalg.py +419 -0
  467. snappy/snap/t3mlite/mcomplex.py +1499 -0
  468. snappy/snap/t3mlite/perm4.py +320 -0
  469. snappy/snap/t3mlite/setup.py +12 -0
  470. snappy/snap/t3mlite/simplex.py +199 -0
  471. snappy/snap/t3mlite/spun.py +297 -0
  472. snappy/snap/t3mlite/surface.py +519 -0
  473. snappy/snap/t3mlite/test.py +20 -0
  474. snappy/snap/t3mlite/test_vs_regina.py +86 -0
  475. snappy/snap/t3mlite/tetrahedron.py +109 -0
  476. snappy/snap/t3mlite/vertex.py +42 -0
  477. snappy/snap/test.py +139 -0
  478. snappy/snap/utilities.py +288 -0
  479. snappy/test.py +213 -0
  480. snappy/test_cases.py +263 -0
  481. snappy/testing.py +131 -0
  482. snappy/tiling/__init__.py +2 -0
  483. snappy/tiling/dict_based_set.py +79 -0
  484. snappy/tiling/floor.py +49 -0
  485. snappy/tiling/hyperboloid_dict.py +54 -0
  486. snappy/tiling/iter_utils.py +78 -0
  487. snappy/tiling/lifted_tetrahedron.py +22 -0
  488. snappy/tiling/lifted_tetrahedron_set.py +54 -0
  489. snappy/tiling/quotient_dict.py +70 -0
  490. snappy/tiling/real_hash_dict.py +164 -0
  491. snappy/tiling/test.py +23 -0
  492. snappy/tiling/tile.py +224 -0
  493. snappy/tiling/triangle.py +33 -0
  494. snappy/tkterminal.py +920 -0
  495. snappy/twister/__init__.py +20 -0
  496. snappy/twister/main.py +646 -0
  497. snappy/twister/surfaces/S_0_1 +3 -0
  498. snappy/twister/surfaces/S_0_2 +3 -0
  499. snappy/twister/surfaces/S_0_4 +7 -0
  500. snappy/twister/surfaces/S_0_4_Lantern +8 -0
  501. snappy/twister/surfaces/S_1 +3 -0
  502. snappy/twister/surfaces/S_1_1 +4 -0
  503. snappy/twister/surfaces/S_1_2 +5 -0
  504. snappy/twister/surfaces/S_1_2_5 +6 -0
  505. snappy/twister/surfaces/S_2 +6 -0
  506. snappy/twister/surfaces/S_2_1 +8 -0
  507. snappy/twister/surfaces/S_2_heeg +10 -0
  508. snappy/twister/surfaces/S_3 +8 -0
  509. snappy/twister/surfaces/S_3_1 +10 -0
  510. snappy/twister/surfaces/S_4_1 +12 -0
  511. snappy/twister/surfaces/S_5_1 +14 -0
  512. snappy/twister/surfaces/heeg_fig8 +9 -0
  513. snappy/twister/twister_core.cpython-310-aarch64-linux-gnu.so +0 -0
  514. snappy/upper_halfspace/__init__.py +146 -0
  515. snappy/upper_halfspace/ideal_point.py +29 -0
  516. snappy/verify/__init__.py +13 -0
  517. snappy/verify/canonical.py +542 -0
  518. snappy/verify/complex_volume/__init__.py +18 -0
  519. snappy/verify/complex_volume/adjust_torsion.py +86 -0
  520. snappy/verify/complex_volume/closed.py +168 -0
  521. snappy/verify/complex_volume/compute_ptolemys.py +90 -0
  522. snappy/verify/complex_volume/cusped.py +56 -0
  523. snappy/verify/complex_volume/extended_bloch.py +201 -0
  524. snappy/verify/cusp_translations.py +85 -0
  525. snappy/verify/edge_equations.py +80 -0
  526. snappy/verify/exceptions.py +254 -0
  527. snappy/verify/hyperbolicity.py +224 -0
  528. snappy/verify/interval_newton_shapes_engine.py +523 -0
  529. snappy/verify/interval_tree.py +400 -0
  530. snappy/verify/krawczyk_shapes_engine.py +518 -0
  531. snappy/verify/real_algebra.py +286 -0
  532. snappy/verify/shapes.py +25 -0
  533. snappy/verify/square_extensions.py +1005 -0
  534. snappy/verify/test.py +72 -0
  535. snappy/verify/volume.py +128 -0
  536. snappy/version.py +2 -0
  537. snappy-3.3.dist-info/METADATA +58 -0
  538. snappy-3.3.dist-info/RECORD +541 -0
  539. snappy-3.3.dist-info/WHEEL +6 -0
  540. snappy-3.3.dist-info/entry_points.txt +2 -0
  541. snappy-3.3.dist-info/top_level.txt +28 -0
snappy/doc/news.html ADDED
@@ -0,0 +1,438 @@
1
+
2
+
3
+ <!DOCTYPE html>
4
+ <html class="writer-html5" lang="en" data-content_root="./">
5
+ <head>
6
+ <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
7
+
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
+ <title>News &mdash; SnapPy 3.3 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
+
14
+
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=26f62d79"></script>
19
+ <script src="_static/doctools.js?v=9bcbadda"></script>
20
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
21
+ <script src="_static/js/theme.js"></script>
22
+ <link rel="index" title="Index" href="genindex.html" />
23
+ <link rel="search" title="Search" href="search.html" />
24
+ <link rel="next" title="Credits" href="credits.html" />
25
+ <link rel="prev" title="Classes" href="ptolemy_classes.html" />
26
+ </head>
27
+
28
+ <body class="wy-body-for-nav">
29
+ <div class="wy-grid-for-nav">
30
+ <nav data-toggle="wy-nav-shift" class="wy-nav-side">
31
+ <div class="wy-side-scroll">
32
+ <div class="wy-side-nav-search" >
33
+
34
+
35
+
36
+ <a href="index.html" class="icon icon-home">
37
+ SnapPy
38
+ <img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
39
+ </a>
40
+ <div role="search">
41
+ <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
42
+ <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
43
+ <input type="hidden" name="check_keywords" value="yes" />
44
+ <input type="hidden" name="area" value="default" />
45
+ </form>
46
+ </div>
47
+ </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
48
+ <ul class="current">
49
+ <li class="toctree-l1"><a class="reference internal" href="installing.html">Installing SnapPy</a></li>
50
+ <li class="toctree-l1"><a class="reference internal" href="screenshots.html">Screenshots: SnapPy in action</a></li>
51
+ <li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial</a></li>
52
+ <li class="toctree-l1"><a class="reference internal" href="snappy.html">The snappy module and its classes</a></li>
53
+ <li class="toctree-l1"><a class="reference internal" href="plink.html">Using SnapPy’s link editor</a></li>
54
+ <li class="toctree-l1"><a class="reference internal" href="spherogram.html">Links: planar diagrams and invariants</a></li>
55
+ <li class="toctree-l1"><a class="reference internal" href="snap.html">Number theory of hyperbolic 3-manifolds</a></li>
56
+ <li class="toctree-l1"><a class="reference internal" href="verify.html">Verified computations</a></li>
57
+ <li class="toctree-l1"><a class="reference internal" href="other.html">Other components</a></li>
58
+ <li class="toctree-l1 current"><a class="current reference internal" href="#">News</a></li>
59
+ <li class="toctree-l1"><a class="reference internal" href="credits.html">Credits</a></li>
60
+ <li class="toctree-l1"><a class="reference internal" href="bugs.html">Reporting bugs and other problems</a></li>
61
+ <li class="toctree-l1"><a class="reference internal" href="todo.html">To Do List</a></li>
62
+ <li class="toctree-l1"><a class="reference internal" href="development.html">Development Basics</a></li>
63
+ </ul>
64
+
65
+ </div>
66
+ </div>
67
+ </nav>
68
+
69
+ <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
70
+ <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
71
+ <a href="index.html">SnapPy</a>
72
+ </nav>
73
+
74
+ <div class="wy-nav-content">
75
+ <div class="rst-content">
76
+ <div role="navigation" aria-label="Page navigation">
77
+ <ul class="wy-breadcrumbs">
78
+ <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
79
+ <li class="breadcrumb-item active">News</li>
80
+ <li class="wy-breadcrumbs-aside">
81
+ </li>
82
+ </ul>
83
+ <hr/>
84
+ </div>
85
+ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
86
+ <div itemprop="articleBody">
87
+
88
+ <section id="news">
89
+ <h1>News<a class="headerlink" href="#news" title="Link to this heading"></a></h1>
90
+ <ul>
91
+ <li><p>Version 3.3 (January 2026):</p>
92
+ <ul class="simple">
93
+ <li><p><a class="reference internal" href="spherogram.html#spherogram.Link" title="spherogram.Link"><code class="xref py py-class docutils literal notranslate"><span class="pre">Link</span></code></a> now supports band moves and can
94
+ search for ribbon disks and ribbon concordances. See
95
+ <a class="reference internal" href="spherogram.html#spherogram.Link.ribbon_concordant_links" title="spherogram.Link.ribbon_concordant_links"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ribbon_concordant_links</span></code></a> and <a class="reference internal" href="spherogram.html#spherogram.Link.add_band" title="spherogram.Link.add_band"><code class="xref py py-meth docutils literal notranslate"><span class="pre">add_band</span></code></a>. From <a class="reference external" href="https://arXiv.org/abs/2512.21825">[DG]</a>.</p></li>
96
+ <li><p>New census <a class="reference internal" href="censuses.html#snappy.RibbonLinks" title="snappy.RibbonLinks"><code class="xref py py-class docutils literal notranslate"><span class="pre">RibbonLinks</span></code></a>. From <a class="reference external" href="https://arXiv.org/abs/2512.21825">[DG]</a>.</p></li>
97
+ <li><p>Additional slice obstructions added to
98
+ <a class="reference internal" href="triangulation.html#snappy.Triangulation.slice_obstruction_HKL" title="snappy.Triangulation.slice_obstruction_HKL"><code class="xref py py-meth docutils literal notranslate"><span class="pre">slice_obstruction_HKL</span></code></a>.
99
+ From <a class="reference external" href="https://arXiv.org/abs/2512.21825">[DG]</a>.</p></li>
100
+ <li><p>The Fox-Milnor slice obstruction is now available as
101
+ <a class="reference internal" href="triangulation.html#snappy.Triangulation.fox_milnor_test" title="snappy.Triangulation.fox_milnor_test"><code class="xref py py-meth docutils literal notranslate"><span class="pre">fox_milnor_test</span></code></a>.
102
+ From <a class="reference external" href="https://arXiv.org/abs/2512.21825">[DG]</a>.</p></li>
103
+ <li><p>The census <a class="reference internal" href="censuses.html#snappy.OrientableCuspedCensus" title="snappy.OrientableCuspedCensus"><code class="xref py py-class docutils literal notranslate"><span class="pre">OrientableCuspedCensus</span></code></a> has been extended to 10 ideal
104
+ tetrahedra by <a class="reference external" href="https://arXiv.org/abs/2512.02142">[Li]</a>,
105
+ adding 150,000 new manifolds.</p></li>
106
+ <li><p>Margulis number can now be computed with
107
+ <a class="reference internal" href="manifold.html#snappy.Manifold.margulis" title="snappy.Manifold.margulis"><code class="xref py py-meth docutils literal notranslate"><span class="pre">margulis</span></code></a>.</p></li>
108
+ <li><p>The upper bounds on the bridge number of a link from <a class="reference external" href="https://dx.doi.org/10.4310/CAG.2020.v28.n2.a2">[BKVV2020]</a> and <a class="reference external" href="https://arxiv.org/abs/2504.10517">[BKP2025]</a> are available as
109
+ <a class="reference internal" href="spherogram.html#spherogram.Link.bridge_upper_bound" title="spherogram.Link.bridge_upper_bound"><code class="xref py py-meth docutils literal notranslate"><span class="pre">bridge_upper_bound</span></code></a>.</p></li>
110
+ <li><p><a class="reference internal" href="manifold.html#snappy.Manifold.triangulation_isosig" title="snappy.Manifold.triangulation_isosig"><code class="xref py py-meth docutils literal notranslate"><span class="pre">triangulation_isosig</span></code></a> now
111
+ preserves the orientation of the core curve rather than the Dehn-filling
112
+ curve - thus, preserving the (unoriented) spun-triangulation structure.
113
+ This only changes the result when <code class="docutils literal notranslate"><span class="pre">ignore_curves=True</span></code> (and
114
+ <code class="docutils literal notranslate"><span class="pre">ignore_orientation</span></code> and <code class="docutils literal notranslate"><span class="pre">ignore_filling_orientations</span></code> have their
115
+ default values).</p></li>
116
+ <li><p>Fixing a bug in
117
+ <a class="reference internal" href="manifold.html#snappy.Manifold.length_spectrum_alt" title="snappy.Manifold.length_spectrum_alt"><code class="xref py py-meth docutils literal notranslate"><span class="pre">length_spectrum_alt</span></code></a>
118
+ and
119
+ <a class="reference internal" href="manifold.html#snappy.Manifold.length_spectrum_alt_gen" title="snappy.Manifold.length_spectrum_alt_gen"><code class="xref py py-meth docutils literal notranslate"><span class="pre">length_spectrum_alt_gen</span></code></a>.
120
+ The estimate for the upper bound of the global spine radius was not
121
+ correct in all cases. Note that we expect this bug to be very hard to hit
122
+ and do not have a single example where the result of these methods was
123
+ wrong.</p></li>
124
+ <li><p><a class="reference internal" href="manifold.html#snappy.Manifold.length_spectrum_alt" title="snappy.Manifold.length_spectrum_alt"><code class="xref py py-meth docutils literal notranslate"><span class="pre">length_spectrum_alt</span></code></a> can be
125
+ given <code class="docutils literal notranslate"><span class="pre">count</span></code> and <code class="docutils literal notranslate"><span class="pre">max_len</span></code> at the same time. In that case, it stops
126
+ when enough geodesics have been listed to ensure that they include the
127
+ <code class="docutils literal notranslate"><span class="pre">count</span></code> shortest geodesics or that they include all geodesics shorter
128
+ than <code class="docutils literal notranslate"><span class="pre">max_len</span></code>.</p></li>
129
+ <li><p>Acceleration to
130
+ <a class="reference internal" href="manifold.html#snappy.Manifold.length_spectrum_alt" title="snappy.Manifold.length_spectrum_alt"><code class="xref py py-meth docutils literal notranslate"><span class="pre">length_spectrum_alt</span></code></a> when
131
+ the next geodesic has large gap to the last geodesic in the result.
132
+ It uses the new <code class="docutils literal notranslate"><span class="pre">include_intermediates=True</span></code> flag of
133
+ <a class="reference internal" href="manifold.html#snappy.Manifold.length_spectrum_alt_gen" title="snappy.Manifold.length_spectrum_alt_gen"><code class="xref py py-meth docutils literal notranslate"><span class="pre">length_spectrum_alt_gen</span></code></a>.</p></li>
134
+ <li><p>Computing maximal cusp areas in an unbiased way uses a simpler algorithm
135
+ which also returns tighter intervals for verified computations.
136
+ This affects <a class="reference internal" href="manifold.html#snappy.Manifold.cusp_areas" title="snappy.Manifold.cusp_areas"><code class="xref py py-meth docutils literal notranslate"><span class="pre">cusp_areas</span></code></a> and related
137
+ methods.</p></li>
138
+ <li><p>Support for Python 3.14 and SageMath 10.8.</p></li>
139
+ </ul>
140
+ </li>
141
+ <li><p>Version 3.2 (January 2025):</p>
142
+ <ul>
143
+ <li><p>An alternative implementation of the length spectrum. It supports verified
144
+ computations and is significantly faster in some cases. See
145
+ <a class="reference internal" href="manifold.html#snappy.Manifold.length_spectrum_alt" title="snappy.Manifold.length_spectrum_alt"><code class="xref py py-meth docutils literal notranslate"><span class="pre">length_spectrum_alt</span></code></a>
146
+ and
147
+ <a class="reference internal" href="manifold.html#snappy.Manifold.length_spectrum_alt_gen" title="snappy.Manifold.length_spectrum_alt_gen"><code class="xref py py-meth docutils literal notranslate"><span class="pre">length_spectrum_alt_gen</span></code></a>.</p></li>
148
+ <li><p><a class="reference internal" href="manifold.html#snappy.Manifold.isometry_signature" title="snappy.Manifold.isometry_signature"><code class="xref py py-meth docutils literal notranslate"><span class="pre">isometry_signature</span></code></a> now also
149
+ works for closed manifolds.</p></li>
150
+ <li><p>A paper plane or eye ball in the
151
+ <a class="reference internal" href="manifold.html#snappy.Manifold.inside_view" title="snappy.Manifold.inside_view"><code class="xref py py-meth docutils literal notranslate"><span class="pre">inside_view</span></code></a> showing the position
152
+ and bearing of the user in the hyperbolic manifold. By default, we now show
153
+ the paper plane instead of the edges of the triangulation so that the view
154
+ is intrinsic to the manifold. The geodesics window now also features a
155
+ button to put the camera onto a geodesic. Here are some examples:</p>
156
+ <table class="borderless docutils align-default" style="width: 100%">
157
+ <tbody>
158
+ <tr class="row-odd"><td><a class="reference internal image-reference" href="_images/o9_00000_systole_paper_plane.jpg"><img alt="Paper plane near shortest geodesic of o9_00000" class="align-center" src="_images/o9_00000_systole_paper_plane.jpg" style="width: 90%;" />
159
+ </a>
160
+ </td>
161
+ <td><a class="reference internal image-reference" href="_images/o9_00000_systole_paper_plane_closer.jpg"><img alt="Paper plane very near shortest geodesic of o9_00000" class="align-center" src="_images/o9_00000_systole_paper_plane_closer.jpg" style="width: 90%;" />
162
+ </a>
163
+ </td>
164
+ <td><a class="reference internal image-reference" href="_images/m004_paper_plane_on_systole.jpg"><img alt="Paper plane on shortest geodesic of m004" class="align-center" src="_images/m004_paper_plane_on_systole.jpg" style="width: 90%;" />
165
+ </a>
166
+ </td>
167
+ <td><a class="reference internal image-reference" href="_images/m125_paper_plane.jpg"><img alt="Paper plane coming out of a cusp of m125" class="align-center" src="_images/m125_paper_plane.jpg" style="width: 90%;" />
168
+ </a>
169
+ </td>
170
+ </tr>
171
+ </tbody>
172
+ </table>
173
+ </li>
174
+ <li><p>A faster and more robust algorithm to the compute maximal cusp area matrix.
175
+ The new algorithm is now the default for
176
+ <a class="reference internal" href="manifold.html#snappy.Manifold.cusp_area_matrix" title="snappy.Manifold.cusp_area_matrix"><code class="xref py py-meth docutils literal notranslate"><span class="pre">cusp_area_matrix()</span></code></a>,
177
+ <a class="reference internal" href="manifold.html#snappy.Manifold.cusp_areas" title="snappy.Manifold.cusp_areas"><code class="xref py py-meth docutils literal notranslate"><span class="pre">cusp_areas()</span></code></a>,
178
+ <a class="reference internal" href="manifold.html#snappy.Manifold.short_slopes" title="snappy.Manifold.short_slopes"><code class="xref py py-meth docutils literal notranslate"><span class="pre">short_slopes()</span></code></a> and
179
+ <a class="reference internal" href="manifold.html#snappy.Manifold.cusp_translations" title="snappy.Manifold.cusp_translations"><code class="xref py py-meth docutils literal notranslate"><span class="pre">cusp_translations()</span></code></a>.</p></li>
180
+ <li><p>New options <code class="docutils literal notranslate"><span class="pre">ignore_curves</span></code> and <code class="docutils literal notranslate"><span class="pre">ignore_filling_orientations</span></code>
181
+ for <a class="reference internal" href="triangulation.html#snappy.Triangulation.triangulation_isosig" title="snappy.Triangulation.triangulation_isosig"><code class="xref py py-meth docutils literal notranslate"><span class="pre">triangulation_isosig()</span></code></a>. Also
182
+ fixing a subtle bug where the filling coefficients returned by
183
+ <a class="reference internal" href="triangulation.html#snappy.Triangulation.triangulation_isosig" title="snappy.Triangulation.triangulation_isosig"><code class="xref py py-meth docutils literal notranslate"><span class="pre">triangulation_isosig</span></code></a> were
184
+ not canonical when <code class="docutils literal notranslate"><span class="pre">ignore_curve_orientations</span> <span class="pre">=</span> <span class="pre">True</span></code>.</p></li>
185
+ <li><p><a class="reference internal" href="manifold.html#snappy.Manifold.canonical_retriangulation" title="snappy.Manifold.canonical_retriangulation"><code class="xref py py-meth docutils literal notranslate"><span class="pre">canonical_retriangulation()</span></code></a>
186
+ and
187
+ <a class="reference internal" href="manifold.html#snappy.Manifold.isometry_signature" title="snappy.Manifold.isometry_signature"><code class="xref py py-meth docutils literal notranslate"><span class="pre">isometry_signature()</span></code></a> fail with
188
+ exceptions rather than silently returning <code class="docutils literal notranslate"><span class="pre">None</span></code>. In particular, it now
189
+ safe to compare isometry signatures (without further checks) to determine
190
+ whether M and N are isometric hyperbolic manifolds:</p>
191
+ <div class="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">isometry_signature</span><span class="p">(</span><span class="n">verified</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="o">==</span> <span class="n">N</span><span class="o">.</span><span class="n">isometry_signature</span><span class="p">(</span><span class="n">verified</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
192
+ </pre></div>
193
+ </div>
194
+ </li>
195
+ <li><p>Bug fix to <a class="reference internal" href="manifold.html#snappy.Manifold.slice_obstruction_HKL" title="snappy.Manifold.slice_obstruction_HKL"><code class="xref py py-meth docutils literal notranslate"><span class="pre">slice_obstruction_HKL</span></code></a>: earlier versions
196
+ incorrectly allowed looking at mod 2 homology of the branched
197
+ cover, where the theory does not directly apply.</p></li>
198
+ <li><p>New self-contained SnapPy application for Linux.</p></li>
199
+ <li><p>Support for Python 3.13 and SageMath 10.5.</p></li>
200
+ </ul>
201
+ </li>
202
+ <li><p>Versions 3.1 (May 2023) and 3.1.1 (June 2023):</p>
203
+ <ul class="simple">
204
+ <li><p>A method <a class="reference internal" href="manifold.html#snappy.Manifold.exterior_to_link" title="snappy.Manifold.exterior_to_link"><code class="xref py py-meth docutils literal notranslate"><span class="pre">exterior_to_link</span></code></a>
205
+ for going from a link exterior to a link diagram taken from
206
+ <a class="reference external" href="https://arxiv.org/abs/2112.03251">Dunfield-Obeidin-Rudd</a>.</p></li>
207
+ <li><p>Covers now computed by the stand-alone <a class="reference external" href="https://pypi.org/project/low-index/">low_index</a> module, which uses
208
+ multiple processor cores and is typically much faster than the old
209
+ code. In some cases, it is dramatically faster than even GAP or
210
+ Magma.</p></li>
211
+ <li><p>Added geodesics to the <a class="reference internal" href="manifold.html#snappy.Manifold.inside_view" title="snappy.Manifold.inside_view"><code class="xref py py-meth docutils literal notranslate"><span class="pre">inside_view</span></code></a>.</p></li>
212
+ <li><p>Added drilling any simple geodesic with <a class="reference internal" href="manifold.html#snappy.Manifold.drill_word" title="snappy.Manifold.drill_word"><code class="xref py py-meth docutils literal notranslate"><span class="pre">drill_word</span></code></a> and <a class="reference internal" href="manifold.html#snappy.Manifold.drill_words" title="snappy.Manifold.drill_words"><code class="xref py py-meth docutils literal notranslate"><span class="pre">drill_words</span></code></a>, not just those that are
213
+ <a class="reference internal" href="manifold.html#snappy.Manifold.dual_curves" title="snappy.Manifold.dual_curves"><code class="xref py py-meth docutils literal notranslate"><span class="pre">combinatorially</span> <span class="pre">simple</span></code></a>.</p></li>
214
+ <li><p>Added <cite>ignore_orientation</cite> flag to <a class="reference internal" href="triangulation.html#snappy.Triangulation.triangulation_isosig" title="snappy.Triangulation.triangulation_isosig"><code class="xref py py-meth docutils literal notranslate"><span class="pre">triangulation_isosig</span></code></a>.</p></li>
215
+ <li><p>Added <cite>include_words</cite> flag to <a class="reference internal" href="manifold.html#snappy.Manifold.length_spectrum" title="snappy.Manifold.length_spectrum"><code class="xref py py-meth docutils literal notranslate"><span class="pre">length_spectrum</span></code></a> for getting the word
216
+ corresponding to a geodesic which can be given to
217
+ <a class="reference internal" href="manifold.html#snappy.Manifold.drill_word" title="snappy.Manifold.drill_word"><code class="xref py py-meth docutils literal notranslate"><span class="pre">drill_word</span></code></a>.</p></li>
218
+ <li><p>Support for Python 3.11 and SageMath 10.0.</p></li>
219
+ <li><p>Modernized styling of the documentation.</p></li>
220
+ </ul>
221
+ </li>
222
+ <li><p>Version 3.0.3 (December 2021):</p>
223
+ <ul class="simple">
224
+ <li><p>Runs natively on Macs with Apple Silicon processors (M1, M2, and variants).</p></li>
225
+ </ul>
226
+ </li>
227
+ <li><p>Version 3.0.2 (November 2021):</p>
228
+ <ul class="simple">
229
+ <li><p>Support for SageMath 9.4 and 9.5, Python 3.10, and macOS Monterey.</p></li>
230
+ </ul>
231
+ </li>
232
+ <li><p>Version 3.0 (April 2021): New features include:</p>
233
+ <ul class="simple">
234
+ <li><p>Incorporates Zoltán Szabó’s <a class="reference external" href="https://web.math.princeton.edu/~szabo/HFKcalc.html">program</a> for
235
+ computing Knot Floer homology, see <a class="reference internal" href="spherogram.html#spherogram.Link.knot_floer_homology" title="spherogram.Link.knot_floer_homology"><code class="xref py py-meth docutils literal notranslate"><span class="pre">knot_floer_homology</span></code></a>. This can compute the
236
+ Seifert genus of a 25 crossing knot in mere seconds!</p></li>
237
+ <li><p>Topological slice obstructions of Herald-Kirk-Livingston, see
238
+ <a class="reference internal" href="manifold.html#snappy.Manifold.slice_obstruction_HKL" title="snappy.Manifold.slice_obstruction_HKL"><code class="xref py py-meth docutils literal notranslate"><span class="pre">slice_obstruction_HKL</span></code></a>.</p></li>
239
+ <li><p>Faster “local” algorithm for <a class="reference internal" href="spherogram.html#spherogram.Link.jones_polynomial" title="spherogram.Link.jones_polynomial"><code class="xref py py-meth docutils literal notranslate"><span class="pre">jones_polynomial</span></code></a>.</p></li>
240
+ <li><p><a class="reference external" href="https://arxiv.org/abs/2010.05840">Cohomology fractals</a> added to
241
+ <a class="reference internal" href="manifold.html#snappy.Manifold.inside_view" title="snappy.Manifold.inside_view"><code class="xref py py-meth docutils literal notranslate"><span class="pre">inside_view</span></code></a>.</p></li>
242
+ <li><p>Convention changes: Sign of knot signature (now positive knots have
243
+ negative signatures), choice of braid generators (now positive
244
+ generators give positive crossings).</p></li>
245
+ <li><p>Updates to methods <a class="reference internal" href="manifold.html#snappy.Manifold.cusp_translations" title="snappy.Manifold.cusp_translations"><code class="xref py py-meth docutils literal notranslate"><span class="pre">cusp_translations</span></code></a>, <a class="reference internal" href="manifold.html#snappy.Manifold.cusp_areas" title="snappy.Manifold.cusp_areas"><code class="xref py py-meth docutils literal notranslate"><span class="pre">cusp_areas</span></code></a>, <a class="reference internal" href="manifold.html#snappy.Manifold.short_slopes" title="snappy.Manifold.short_slopes"><code class="xref py py-meth docutils literal notranslate"><span class="pre">short_slopes</span></code></a>. Also <a class="reference internal" href="spherogram.html#spherogram.Link" title="spherogram.Link"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Link</span></code></a>
246
+ now accepts DT codes.</p></li>
247
+ <li><p>Support for SageMath 9.3, Python 3.9, and macOS Big Sur.</p></li>
248
+ <li><p>macOS app now code-signed and notarized.</p></li>
249
+ <li><p>SnapPy now requires Python 3.6 or newer.</p></li>
250
+ </ul>
251
+ </li>
252
+ <li><p>Version 2.8 (June 2020): New features include:</p>
253
+ <ul class="simple">
254
+ <li><p>Raytraced interior views of a hyperbolic 3-manifold via the
255
+ <a class="reference internal" href="manifold.html#snappy.Manifold.inside_view" title="snappy.Manifold.inside_view"><code class="xref py py-meth docutils literal notranslate"><span class="pre">inside_view</span></code></a> method, see also
256
+ <a class="reference external" href="https://im.icerm.brown.edu/portfolio/snappy-views/">images</a> and
257
+ <a class="reference external" href="https://youtu.be/CAERhmUCkRs">demo video</a>.</p></li>
258
+ <li><p><a class="reference internal" href="verify.html"><span class="doc">Verified computations</span></a>: Several new features:</p>
259
+ <ul>
260
+ <li><p>Complex volume (and thus the Chern-Simons invariant) for both
261
+ cusped and closed manifolds, see
262
+ <a class="reference internal" href="manifold.html#snappy.Manifold.complex_volume" title="snappy.Manifold.complex_volume"><code class="xref py py-meth docutils literal notranslate"><span class="pre">complex_volume</span></code></a>.</p></li>
263
+ <li><p>Disjoint cusp neighborhoods by the method <a class="reference internal" href="manifold.html#snappy.Manifold.cusp_areas" title="snappy.Manifold.cusp_areas"><code class="xref py py-meth docutils literal notranslate"><span class="pre">cusp_areas</span></code></a> which uses
264
+ <a class="reference internal" href="manifold.html#snappy.Manifold.cusp_area_matrix" title="snappy.Manifold.cusp_area_matrix"><code class="xref py py-meth docutils literal notranslate"><span class="pre">cusp_area_matrix</span></code></a>.</p></li>
265
+ <li><p>Cusp shapes (see <a class="reference internal" href="manifold.html#snappy.Manifold.cusp_info" title="snappy.Manifold.cusp_info"><code class="xref py py-meth docutils literal notranslate"><span class="pre">cusp_info</span></code></a>).</p></li>
266
+ <li><p>Finding all <a class="reference internal" href="manifold.html#snappy.Manifold.short_slopes" title="snappy.Manifold.short_slopes"><code class="xref py py-meth docutils literal notranslate"><span class="pre">short_slopes</span></code></a>
267
+ in disjoint embedded cusp neighborhoods.</p></li>
268
+ </ul>
269
+ </li>
270
+ <li><p>The census <a class="reference internal" href="censuses.html#snappy.HTLinkExteriors" title="snappy.HTLinkExteriors"><code class="xref py py-class docutils literal notranslate"><span class="pre">HTLinkExteriors</span></code></a> has
271
+ been extended to 15 crossing knots (contributed by Malik
272
+ Obeidin).</p></li>
273
+ <li><p>The census <a class="reference internal" href="censuses.html#snappy.CensusKnots" title="snappy.CensusKnots"><code class="xref py py-class docutils literal notranslate"><span class="pre">CensusKnots</span></code></a> has been
274
+ extended to triangulations with 9 ideal tetrahedra.</p></li>
275
+ <li><p>Support for SageMath 9.0 and macOS Catalina.</p></li>
276
+ <li><p>Development moved to <a class="reference external" href="https://github.com/3-manifolds">GitHub</a>.</p></li>
277
+ </ul>
278
+ </li>
279
+ <li><p>Version 2.7 (July 2019): New features include:</p>
280
+ <ul class="simple">
281
+ <li><p>Python 3 is now recommended over Python 2 on all platforms; the
282
+ default Mac and Windows apps use Python 3 rather than
283
+ Python 2. The only difference most users will notice is that one
284
+ must type <code class="docutils literal notranslate"><span class="pre">print(blah)</span></code> instead of <code class="docutils literal notranslate"><span class="pre">print</span> <span class="pre">blah</span></code>.</p></li>
285
+ <li><p><a class="reference external" href="verify.html">Verified computations</a>: performance improvements
286
+ by switching to the Krawczyk test.</p></li>
287
+ <li><p>Support for SageMath 8.8.</p></li>
288
+ <li><p>Installation instructions extensively updated.</p></li>
289
+ <li><p>GUI improvements, especially on macOS. These include improved
290
+ support for dark mode and tabs on macOS Mojave and preliminary
291
+ support for macOS Catalina.</p></li>
292
+ </ul>
293
+ </li>
294
+ <li><p>Version 2.6.1 (August 2018): New features include:</p>
295
+ <ul class="simple">
296
+ <li><p>Support for SageMath 8.3, Python 3.7, and macOS Mojave.</p></li>
297
+ <li><p>Computing <a class="reference external" href="additional_classes.html#snappy.HolonomyGroup.character_variety_vars_and_polys">ideals defining SL(2, C) character varieties.</a>
298
+ Contributed by Jean-Philippe Burelle, based on <a class="reference external" href="https://arxiv.org/abs/1703.08241">this paper</a>.</p></li>
299
+ <li><p>Many bug fixes.</p></li>
300
+ </ul>
301
+ </li>
302
+ <li><p>Version 2.6 (Nov 2017): New features include:</p>
303
+ <ul class="simple">
304
+ <li><p>Support for macOS High Sierra, SageMath 8.1, and Windows systems
305
+ using non-Latin alphabets.</p></li>
306
+ <li><p>Many bug fixes, including improved Python 3 support.</p></li>
307
+ </ul>
308
+ </li>
309
+ <li><p>Version 2.5 (Feb 2017): New features include:</p>
310
+ <ul class="simple">
311
+ <li><p>Rigorous computation of <a class="reference external" href="manifold.html#snappy.Manifold.volume">hyperbolic volume</a>.</p></li>
312
+ <li><p>STL export of Dirichlet domains for 3D printing, contributed by
313
+ Jose Sanchez.</p></li>
314
+ <li><p>Support for Python 3, SageMath 7.5, 7.6, and 8.0, and many more
315
+ versions of Python on Windows.</p></li>
316
+ <li><p>Much improved infrastructure for testing and distributing SnapPy.</p></li>
317
+ </ul>
318
+ </li>
319
+ <li><p>Version 2.4 (May 2016): New features include:</p>
320
+ <ul class="simple">
321
+ <li><p>Added <a class="reference external" href="platonic_census.html">census of Platonic manifolds</a>.</p></li>
322
+ <li><p>Rigorous computation of <a class="reference external" href="manifold.html#snappy.Manifold.cusp_translations">cusp translations</a>.</p></li>
323
+ <li><p>Added decorations to <a class="reference external" href="manifold.html#snappy.Manifold.triangulation_isosig">triangulation isomorphism signatures</a> for
324
+ encoding peripheral curves.</p></li>
325
+ <li><p>Faster verification of non-tetrahedral canonical cell decompositions.</p></li>
326
+ <li><p>Improvements to the <a class="reference external" href="spherogram.html">link and planar diagram component</a>, mostly contributed by Malik Obeidin, include:</p>
327
+ <ul>
328
+ <li><p>Bar-Natan’s super-fast <a class="reference external" href="http://www.math.toronto.edu/drorbn/Talks/Aarhus-1507/">tangle-based algorithm</a> for
329
+ computing the Alexander polynomial.</p></li>
330
+ <li><p>Can now compute the <a class="reference external" href="spherogram.html#spherogram.Link.seifert_matrix">Seifert matrix</a> and express a
331
+ link as a <a class="reference external" href="spherogram.html#spherogram.Link.braid_word">braid closure</a>.</p></li>
332
+ <li><p>Conversion to/from <a class="reference external" href="spherogram.html#spherogram.Link.sage_link">SageMath links and braids</a>.</p></li>
333
+ <li><p>Many under-the-hood improvements.</p></li>
334
+ </ul>
335
+ </li>
336
+ <li><p>New Windows installer.</p></li>
337
+ </ul>
338
+ </li>
339
+ <li><p>Version 2.3 (March 2015): New features include:</p>
340
+ <ul class="simple">
341
+ <li><p>Major improvements to the <a class="reference external" href="spherogram.html">link and planar diagram component</a>, including link simplification, random links,
342
+ and better documentation.</p></li>
343
+ <li><p>Basic support for <a class="reference external" href="manifold.html#snappy.Manifold.normal_boundary_slopes">spun normal surfaces</a>.</p></li>
344
+ <li><p>New extra features when used inside of Sage:</p>
345
+ <ul>
346
+ <li><p>HIKMOT-style <a class="reference external" href="verify.html">rigorous verification of hyperbolic structures</a>,
347
+ contributed by Matthias Goerner.</p></li>
348
+ <li><p>Many <a class="reference external" href="spherogram.html#the-link-class">basic knot/link invariants</a>, contributed by Robert
349
+ Lipschitz and Jennet Dickinson.</p></li>
350
+ <li><p>Sage-specific functions are now more easily accessible as
351
+ methods of Manifold and better documented.</p></li>
352
+ <li><p>Improved number field recognition, thanks to Matthias.</p></li>
353
+ </ul>
354
+ </li>
355
+ <li><p>Better compatibility with OS X Yosemite and Windows 8.1.</p></li>
356
+ <li><p>Development changes:</p>
357
+ <ul>
358
+ <li><p>Major source code reorganization/cleanup.</p></li>
359
+ <li><p>Source code repository moved to <a class="reference external" href="https://bitbucket.org/t3m">Bitbucket</a>.</p></li>
360
+ <li><p>Python modules now hosted on <a class="reference external" href="https://pypi.python.org/pypi">PyPI</a>, simplifying <a class="reference external" href="installing.html">installation</a>.</p></li>
361
+ </ul>
362
+ </li>
363
+ </ul>
364
+ </li>
365
+ <li><p>Version 2.2 (June 2014): Includes Ben Burton’s <a class="reference external" href="http://arxiv.org/abs/1405.2695">census of
366
+ orientable cusped manifolds with 9 tetrahedra.</a></p></li>
367
+ <li><p>Version 2.1 (February 2014): New <a class="reference external" href="manifoldhp.html">high-precision manifolds
368
+ (ManifoldHP)</a> which compute hyperbolic structures
369
+ (and everything related) in <a class="reference external" href="http://web.mit.edu/tabbott/Public/quaddouble-debian/qd-2.3.4-old/docs/qd.pdf">quad-double (212 bit)</a>
370
+ precision.</p></li>
371
+ <li><p>Version 2.0 (September 2013): Many new features, including:</p>
372
+ <ul class="simple">
373
+ <li><p>A <a class="reference external" href="manifold.html#snappy.Manifold.browse">manifold browser</a>
374
+ window for easily examining a particular manifold.</p></li>
375
+ <li><p>Many improvements to the <a class="reference external" href="plink.html#using-snappy-s-link-editor">link editor</a>, including</p>
376
+ <ul>
377
+ <li><p>A smoothed view mode with image export to EPS/PDF/SVG/TikZ.</p></li>
378
+ <li><p>Producing a fully editable link from combinatorial data like a DT
379
+ code.</p></li>
380
+ </ul>
381
+ </li>
382
+ <li><p><a class="reference external" href="manifold.html#snappy.Manifold.split">Splitting manifolds</a> along surfaces of non-negative euler
383
+ characteristic.</p></li>
384
+ <li><p>Generalizing the ptolemy obstruction class to allow computation of
385
+ PGL(3,C)-representations and improving usability of the <a class="reference external" href="http://www.unhyperbolic.org/ptolemy.html">ptolemy module</a>.</p></li>
386
+ <li><p><a class="reference external" href="censuses.html#snappy.CensusKnots">CensusKnots</a> now includes
387
+ knot exteriors with 8 tetrahedra.</p></li>
388
+ </ul>
389
+ </li>
390
+ <li><p>Version 1.8 (May 2013) improves handling of DT codes and adds the
391
+ <a class="reference external" href="censuses.html#snappy.HTLinkExteriors">HTLinkExteriors</a> census,
392
+ which provides identification for knots and links up to 14 crossings.</p></li>
393
+ <li><p>Version 1.7 (November 2012) incorporates the <a class="reference external" href="http://www.unhyperbolic.org/ptolemy.html">ptolemy module</a> for studying
394
+ representations of 3-manifold groups into pSL(<em>N</em>, <strong>C</strong>).</p></li>
395
+ <li><p>Version 1.6 (August 2012) includes a <a class="reference external" href="spherogram.html">new way to make links</a> and some support for <a class="reference external" href="snap.html">arbitrary precision calculation</a>.</p></li>
396
+ <li><p>Version 1.5 (February 2012) includes <a class="reference external" href="censuses.html">much improved manifold
397
+ censuses</a>.</p></li>
398
+ <li><p>Version 1.4 (December 2011) uses the current release of IPython, which has been completely rewritten.</p></li>
399
+ <li><p>Version 1.3.10 (July 2011) incorporates <a class="reference external" href="https://github.com/MarkCBell/twister/">Twister</a>.</p></li>
400
+ <li><p>Version 1.3 (February 2011) has a completely redesigned cusp horoball viewer and many bug fixes!</p></li>
401
+ <li><p>Version 1.2 (December 2010).</p></li>
402
+ <li><p>Version 1.1 (February 2010).</p></li>
403
+ <li><p>Version 1.0 (August 2009) Initial version.</p></li>
404
+ </ul>
405
+ </section>
406
+
407
+
408
+ </div>
409
+ </div>
410
+ <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
411
+ <a href="ptolemy_classes.html" class="btn btn-neutral float-left" title="Classes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
412
+ <a href="credits.html" class="btn btn-neutral float-right" title="Credits" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
413
+ </div>
414
+
415
+ <hr/>
416
+
417
+ <div role="contentinfo">
418
+ <p>&#169; Copyright 2009-2026, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
419
+ </div>
420
+
421
+ Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
422
+ <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
423
+ provided by <a href="https://readthedocs.org">Read the Docs</a>.
424
+
425
+
426
+ </footer>
427
+ </div>
428
+ </div>
429
+ </section>
430
+ </div>
431
+ <script>
432
+ jQuery(function () {
433
+ SphinxRtdTheme.Navigation.enable(true);
434
+ });
435
+ </script>
436
+
437
+ </body>
438
+ </html>
snappy/doc/objects.inv ADDED
Binary file