snappy 3.1.1__cp311-cp311-macosx_11_0_arm64.whl → 3.2__cp311-cp311-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. snappy/CyOpenGL.cpython-311-darwin.so +0 -0
  2. snappy/SnapPy.cpython-311-darwin.so +0 -0
  3. snappy/SnapPyHP.cpython-311-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-311-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-311.pyc +0 -0
  283. snappy/__pycache__/browser.cpython-311.pyc +0 -0
  284. snappy/__pycache__/cache.cpython-311.pyc +0 -0
  285. snappy/__pycache__/database.cpython-311.pyc +0 -0
  286. snappy/__pycache__/db_utilities.cpython-311.pyc +0 -0
  287. snappy/__pycache__/decorated_isosig.cpython-311.pyc +0 -0
  288. snappy/__pycache__/exceptions.cpython-311.pyc +0 -0
  289. snappy/__pycache__/export_stl.cpython-311.pyc +0 -0
  290. snappy/__pycache__/filedialog.cpython-311.pyc +0 -0
  291. snappy/__pycache__/gui.cpython-311.pyc +0 -0
  292. snappy/__pycache__/horoviewer.cpython-311.pyc +0 -0
  293. snappy/__pycache__/infowindow.cpython-311.pyc +0 -0
  294. snappy/__pycache__/math_basics.cpython-311.pyc +0 -0
  295. snappy/__pycache__/matrix.cpython-311.pyc +0 -0
  296. snappy/__pycache__/number.cpython-311.pyc +0 -0
  297. snappy/__pycache__/numeric_output_checker.cpython-311.pyc +0 -0
  298. snappy/__pycache__/pari.cpython-311.pyc +0 -0
  299. snappy/__pycache__/polyviewer.cpython-311.pyc +0 -0
  300. snappy/__pycache__/sage_helper.cpython-311.pyc +0 -0
  301. snappy/__pycache__/version.cpython-311.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-311.pyc +0 -0
  307. snappy/drilling/__pycache__/constants.cpython-311.pyc +0 -0
  308. snappy/drilling/__pycache__/crush.cpython-311.pyc +0 -0
  309. snappy/drilling/__pycache__/cusps.cpython-311.pyc +0 -0
  310. snappy/drilling/__pycache__/debug.cpython-311.pyc +0 -0
  311. snappy/drilling/__pycache__/epsilons.cpython-311.pyc +0 -0
  312. snappy/drilling/__pycache__/exceptions.cpython-311.pyc +0 -0
  313. snappy/drilling/__pycache__/fixed_points.cpython-311.pyc +0 -0
  314. snappy/drilling/__pycache__/geodesic_info.cpython-311.pyc +0 -0
  315. snappy/drilling/__pycache__/geodesic_tube.cpython-311.pyc +0 -0
  316. snappy/drilling/__pycache__/geometric_structure.cpython-311.pyc +0 -0
  317. snappy/drilling/__pycache__/line.cpython-311.pyc +0 -0
  318. snappy/drilling/__pycache__/moves.cpython-311.pyc +0 -0
  319. snappy/drilling/__pycache__/peripheral_curves.cpython-311.pyc +0 -0
  320. snappy/drilling/__pycache__/perturb.cpython-311.pyc +0 -0
  321. snappy/drilling/__pycache__/quotient_space.cpython-311.pyc +0 -0
  322. snappy/drilling/__pycache__/spatial_dict.cpython-311.pyc +0 -0
  323. snappy/drilling/__pycache__/subdivide.cpython-311.pyc +0 -0
  324. snappy/drilling/__pycache__/tracing.cpython-311.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-311.pyc +0 -0
  331. snappy/exterior_to_link/__pycache__/barycentric_geometry.cpython-311.pyc +0 -0
  332. snappy/exterior_to_link/__pycache__/exceptions.cpython-311.pyc +0 -0
  333. snappy/exterior_to_link/__pycache__/hyp_utils.cpython-311.pyc +0 -0
  334. snappy/exterior_to_link/__pycache__/link_projection.cpython-311.pyc +0 -0
  335. snappy/exterior_to_link/__pycache__/main.cpython-311.pyc +0 -0
  336. snappy/exterior_to_link/__pycache__/mcomplex_with_expansion.cpython-311.pyc +0 -0
  337. snappy/exterior_to_link/__pycache__/mcomplex_with_link.cpython-311.pyc +0 -0
  338. snappy/exterior_to_link/__pycache__/mcomplex_with_memory.cpython-311.pyc +0 -0
  339. snappy/exterior_to_link/__pycache__/pl_utils.cpython-311.pyc +0 -0
  340. snappy/exterior_to_link/__pycache__/put_in_S3.cpython-311.pyc +0 -0
  341. snappy/exterior_to_link/__pycache__/rational_linear_algebra.cpython-311.pyc +0 -0
  342. snappy/exterior_to_link/__pycache__/simplify_to_base_tri.cpython-311.pyc +0 -0
  343. snappy/exterior_to_link/__pycache__/stored_moves.cpython-311.pyc +0 -0
  344. snappy/hyperboloid/__pycache__/__init__.cpython-311.pyc +0 -0
  345. snappy/manifolds/__pycache__/__init__.cpython-311.pyc +0 -0
  346. snappy/ptolemy/__pycache__/__init__.cpython-311.pyc +0 -0
  347. snappy/ptolemy/__pycache__/component.cpython-311.pyc +0 -0
  348. snappy/ptolemy/__pycache__/coordinates.cpython-311.pyc +0 -0
  349. snappy/ptolemy/__pycache__/fieldExtensions.cpython-311.pyc +0 -0
  350. snappy/ptolemy/__pycache__/findLoops.cpython-311.pyc +0 -0
  351. snappy/ptolemy/__pycache__/homology.cpython-311.pyc +0 -0
  352. snappy/ptolemy/__pycache__/manifoldMethods.cpython-311.pyc +0 -0
  353. snappy/ptolemy/__pycache__/matrix.cpython-311.pyc +0 -0
  354. snappy/ptolemy/__pycache__/numericalSolutionsToGroebnerBasis.cpython-311.pyc +0 -0
  355. snappy/ptolemy/__pycache__/polynomial.cpython-311.pyc +0 -0
  356. snappy/ptolemy/__pycache__/processComponents.cpython-311.pyc +0 -0
  357. snappy/ptolemy/__pycache__/processFileBase.cpython-311.pyc +0 -0
  358. snappy/ptolemy/__pycache__/processFileDispatch.cpython-311.pyc +0 -0
  359. snappy/ptolemy/__pycache__/processMagmaFile.cpython-311.pyc +0 -0
  360. snappy/ptolemy/__pycache__/processRurFile.cpython-311.pyc +0 -0
  361. snappy/ptolemy/__pycache__/ptolemyGeneralizedObstructionClass.cpython-311.pyc +0 -0
  362. snappy/ptolemy/__pycache__/ptolemyObstructionClass.cpython-311.pyc +0 -0
  363. snappy/ptolemy/__pycache__/ptolemyVariety.cpython-311.pyc +0 -0
  364. snappy/ptolemy/__pycache__/ptolemyVarietyPrimeIdealGroebnerBasis.cpython-311.pyc +0 -0
  365. snappy/ptolemy/__pycache__/rur.cpython-311.pyc +0 -0
  366. snappy/ptolemy/__pycache__/solutionsToPrimeIdealGroebnerBasis.cpython-311.pyc +0 -0
  367. snappy/ptolemy/__pycache__/utilities.cpython-311.pyc +0 -0
  368. snappy/raytracing/__pycache__/__init__.cpython-311.pyc +0 -0
  369. snappy/raytracing/__pycache__/finite_raytracing_data.cpython-311.pyc +0 -0
  370. snappy/raytracing/__pycache__/gui_utilities.cpython-311.pyc +0 -0
  371. snappy/raytracing/__pycache__/hyperboloid_navigation.cpython-311.pyc +0 -0
  372. snappy/raytracing/__pycache__/hyperboloid_utilities.cpython-311.pyc +0 -0
  373. snappy/raytracing/__pycache__/ideal_raytracing_data.cpython-311.pyc +0 -0
  374. snappy/raytracing/__pycache__/inside_viewer.cpython-311.pyc +0 -0
  375. snappy/raytracing/__pycache__/raytracing_data.cpython-311.pyc +0 -0
  376. snappy/raytracing/__pycache__/raytracing_view.cpython-311.pyc +0 -0
  377. snappy/raytracing/__pycache__/upper_halfspace_utilities.cpython-311.pyc +0 -0
  378. snappy/raytracing/__pycache__/view_scale_controller.cpython-311.pyc +0 -0
  379. snappy/raytracing/zoom_slider/__pycache__/__init__.cpython-311.pyc +0 -0
  380. snappy/snap/__pycache__/__init__.cpython-311.pyc +0 -0
  381. snappy/snap/__pycache__/character_varieties.cpython-311.pyc +0 -0
  382. snappy/snap/__pycache__/fundamental_polyhedron.cpython-311.pyc +0 -0
  383. snappy/snap/__pycache__/interval_reps.cpython-311.pyc +0 -0
  384. snappy/snap/__pycache__/kernel_structures.cpython-311.pyc +0 -0
  385. snappy/snap/__pycache__/mcomplex_base.cpython-311.pyc +0 -0
  386. snappy/snap/__pycache__/nsagetools.cpython-311.pyc +0 -0
  387. snappy/snap/__pycache__/polished_reps.cpython-311.pyc +0 -0
  388. snappy/snap/__pycache__/shapes.cpython-311.pyc +0 -0
  389. snappy/snap/__pycache__/slice_obs_HKL.cpython-311.pyc +0 -0
  390. snappy/snap/__pycache__/utilities.cpython-311.pyc +0 -0
  391. snappy/snap/peripheral/__pycache__/__init__.cpython-311.pyc +0 -0
  392. snappy/snap/peripheral/__pycache__/dual_cellulation.cpython-311.pyc +0 -0
  393. snappy/snap/peripheral/__pycache__/link.cpython-311.pyc +0 -0
  394. snappy/snap/peripheral/__pycache__/peripheral.cpython-311.pyc +0 -0
  395. snappy/snap/peripheral/__pycache__/surface.cpython-311.pyc +0 -0
  396. snappy/snap/t3mlite/__pycache__/__init__.cpython-311.pyc +0 -0
  397. snappy/snap/t3mlite/__pycache__/arrow.cpython-311.pyc +0 -0
  398. snappy/snap/t3mlite/__pycache__/corner.cpython-311.pyc +0 -0
  399. snappy/snap/t3mlite/__pycache__/edge.cpython-311.pyc +0 -0
  400. snappy/snap/t3mlite/__pycache__/face.cpython-311.pyc +0 -0
  401. snappy/snap/t3mlite/__pycache__/files.cpython-311.pyc +0 -0
  402. snappy/snap/t3mlite/__pycache__/homology.cpython-311.pyc +0 -0
  403. snappy/snap/t3mlite/__pycache__/linalg.cpython-311.pyc +0 -0
  404. snappy/snap/t3mlite/__pycache__/mcomplex.cpython-311.pyc +0 -0
  405. snappy/snap/t3mlite/__pycache__/perm4.cpython-311.pyc +0 -0
  406. snappy/snap/t3mlite/__pycache__/simplex.cpython-311.pyc +0 -0
  407. snappy/snap/t3mlite/__pycache__/spun.cpython-311.pyc +0 -0
  408. snappy/snap/t3mlite/__pycache__/surface.cpython-311.pyc +0 -0
  409. snappy/snap/t3mlite/__pycache__/tetrahedron.cpython-311.pyc +0 -0
  410. snappy/snap/t3mlite/__pycache__/vertex.cpython-311.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-311.pyc +0 -0
  430. snappy/twister/__pycache__/main.cpython-311.pyc +0 -0
  431. snappy/upper_halfspace/__pycache__/__init__.cpython-311.pyc +0 -0
  432. snappy/upper_halfspace/__pycache__/ideal_point.cpython-311.pyc +0 -0
  433. snappy/verify/__pycache__/__init__.cpython-311.pyc +0 -0
  434. snappy/verify/__pycache__/cuspCrossSection.cpython-311.pyc +0 -0
  435. snappy/verify/__pycache__/cuspTranslations.cpython-311.pyc +0 -0
  436. snappy/verify/__pycache__/cusp_areas.cpython-311.pyc +0 -0
  437. snappy/verify/__pycache__/cusp_shapes.cpython-311.pyc +0 -0
  438. snappy/verify/__pycache__/exceptions.cpython-311.pyc +0 -0
  439. snappy/verify/__pycache__/interval_newton_shapes_engine.cpython-311.pyc +0 -0
  440. snappy/verify/__pycache__/interval_tree.cpython-311.pyc +0 -0
  441. snappy/verify/__pycache__/krawczyk_shapes_engine.cpython-311.pyc +0 -0
  442. snappy/verify/__pycache__/realAlgebra.cpython-311.pyc +0 -0
  443. snappy/verify/__pycache__/shapes.cpython-311.pyc +0 -0
  444. snappy/verify/__pycache__/short_slopes.cpython-311.pyc +0 -0
  445. snappy/verify/__pycache__/squareExtensions.cpython-311.pyc +0 -0
  446. snappy/verify/__pycache__/verifyCanonical.cpython-311.pyc +0 -0
  447. snappy/verify/__pycache__/verifyHyperbolicity.cpython-311.pyc +0 -0
  448. snappy/verify/__pycache__/volume.cpython-311.pyc +0 -0
  449. snappy/verify/complex_volume/__pycache__/__init__.cpython-311.pyc +0 -0
  450. snappy/verify/complex_volume/__pycache__/adjust_torsion.cpython-311.pyc +0 -0
  451. snappy/verify/complex_volume/__pycache__/closed.cpython-311.pyc +0 -0
  452. snappy/verify/complex_volume/__pycache__/compute_ptolemys.cpython-311.pyc +0 -0
  453. snappy/verify/complex_volume/__pycache__/cusped.cpython-311.pyc +0 -0
  454. snappy/verify/complex_volume/__pycache__/extended_bloch.cpython-311.pyc +0 -0
  455. snappy/verify/cuspCrossSection.py +0 -1422
  456. snappy/verify/maximal_cusp_area_matrix/__pycache__/__init__.cpython-311.pyc +0 -0
  457. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_tiling_engine.cpython-311.pyc +0 -0
  458. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_translate_engine.cpython-311.pyc +0 -0
  459. snappy/verify/upper_halfspace/__pycache__/__init__.cpython-311.pyc +0 -0
  460. snappy/verify/upper_halfspace/__pycache__/extended_matrix.cpython-311.pyc +0 -0
  461. snappy/verify/upper_halfspace/__pycache__/finite_point.cpython-311.pyc +0 -0
  462. snappy/verify/upper_halfspace/__pycache__/ideal_point.cpython-311.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,5 +1,5 @@
1
1
  """
2
- The squareExtensions module provides
2
+ The square_extensions module provides
3
3
  two special classes to give exact representations of the values
4
4
  involved when computing a cusp cross section.
5
5
 
@@ -39,7 +39,7 @@ if _within_sage:
39
39
 
40
40
  from ..snap import find_field
41
41
 
42
- from .realAlgebra import field_containing_real_and_imaginary_part_of_number_field
42
+ from .real_algebra import field_containing_real_and_imaginary_part_of_number_field
43
43
 
44
44
 
45
45
  def eval_number_field_elt(elt, root):
@@ -75,7 +75,7 @@ def eval_number_field_elt(elt, root):
75
75
  # _field_containing_real_and_imaginary_part_of_algebraic_number_LLL.
76
76
  # This was still very slow and failed on t11669 and 9 manifolds with 9 tetrahedra.
77
77
  #
78
- # The fastest implementation so far is in realAlgebra. The implementation there
78
+ # The fastest implementation so far is in real_algebra. The implementation there
79
79
  # turns the one complex equation p(z) = 0 defining the number field into two
80
80
  # real equations for the real and imaginary part of the complex equation and
81
81
  # then uses the resultant to find exact solutions.
@@ -272,6 +272,9 @@ class SqrtLinCombination():
272
272
  # Set embed cache, see _get_interval_embedding_from_cache for details
273
273
  self._embed_cache = embed_cache
274
274
 
275
+ def parent(self):
276
+ return SqrtLinCombination
277
+
275
278
  def __add__(self, other):
276
279
  # Try to convert other term to SqrtLinCombination if necessary
277
280
  if not isinstance(other, SqrtLinCombination):
@@ -291,7 +294,7 @@ class SqrtLinCombination():
291
294
  def __neg__(self):
292
295
  # Negate
293
296
  return SqrtLinCombination(
294
- d=dict( (k, -v) for k, v in self._dict.items() ),
297
+ d={ k: -v for k, v in self._dict.items() },
295
298
  embed_cache=self._embed_cache)
296
299
 
297
300
  def __sub__(self, other):
@@ -701,8 +704,8 @@ class _FactorizedSqrtLinCombination():
701
704
  else:
702
705
  return frozenset([k])
703
706
 
704
- return _FactorizedSqrtLinCombination(dict(
705
- (to_set(k), v) for k, v in l._dict.items()),
707
+ return _FactorizedSqrtLinCombination({
708
+ to_set(k): v for k, v in l._dict.items()},
706
709
  embed_cache=l._embed_cache)
707
710
 
708
711
  def __add__(self, other):
@@ -718,7 +721,7 @@ class _FactorizedSqrtLinCombination():
718
721
 
719
722
  def __neg__(self):
720
723
  return _FactorizedSqrtLinCombination(
721
- dict((k, -v) for k, v in self._dict.items()),
724
+ {k: -v for k, v in self._dict.items()},
722
725
  embed_cache=self._embed_cache)
723
726
 
724
727
  def __sub__(self, other):
@@ -767,17 +770,17 @@ class _FactorizedSqrtLinCombination():
767
770
  operator.and_, self._dict.keys())
768
771
 
769
772
  # Factor them out
770
- d = dict((k - common_terms, v) for k, v in self._dict.items())
773
+ d = {k - common_terms: v for k, v in self._dict.items()}
771
774
 
772
775
  # Pick one r_{i,j}
773
776
  term = _firstfirst(d.keys())
774
777
 
775
778
  # Split the summands into "left" and "right"
776
779
  left = _FactorizedSqrtLinCombination(
777
- dict( (k, v) for k, v in d.items() if term in k ),
780
+ { k: v for k, v in d.items() if term in k },
778
781
  embed_cache=self._embed_cache)
779
782
  right = _FactorizedSqrtLinCombination(
780
- dict( (k, v) for k, v in d.items() if term not in k),
783
+ { k: v for k, v in d.items() if term not in k},
781
784
  embed_cache=self._embed_cache)
782
785
 
783
786
  # Check left^2 - right^2 == 0
@@ -864,7 +867,7 @@ def _filter_zero(d):
864
867
  """
865
868
  Given a dict, filter out all items where the value is 0.
866
869
  """
867
- return dict((k, v) for k, v in d.items() if v != 0)
870
+ return {k: v for k, v in d.items() if v != 0}
868
871
 
869
872
 
870
873
  def _convert_to_allowed_type(number):
snappy/verify/test.py CHANGED
@@ -1,35 +1,19 @@
1
- from snappy import verify, Manifold
2
- from snappy.verify import upper_halfspace, cusp_shapes, cusp_areas, volume
3
- from snappy.sage_helper import _within_sage, doctest_modules
4
- import sys
5
- import getopt
6
-
7
-
8
- def check_certified_intervals():
9
- for n in ['m009', 'm015', 't02333', 't02333(1,2)',
10
- 'm129(2,3)', 'm129(2,3)(3,4)']:
11
- M = Manifold(n)
12
- high_prec = M.tetrahedra_shapes('rect', bits_prec=1000)
13
-
14
- intervals = M.tetrahedra_shapes('rect', bits_prec=100,
15
- intervals=True)
16
-
17
- for z, interval in zip(high_prec, intervals):
18
- if not abs(interval.center() - z) < 1e-10:
19
- raise Exception
20
-
21
- if z not in interval:
22
- raise Exception
1
+ from snappy import testing
2
+ import snappy
23
3
 
4
+ from snappy import verify
24
5
 
25
6
  def generate_test_with_shapes_engine(module, engine):
26
- def result(verbose):
27
- globs = {'Manifold':Manifold}
7
+ def result(verbose, print_info=True):
8
+ globs = {'Manifold' : snappy.Manifold}
28
9
 
29
10
  original = verify.CertifiedShapesEngine
30
11
  verify.CertifiedShapesEngine = engine
31
12
 
32
- r = doctest_modules([module], extraglobs=globs, verbose=verbose)
13
+ r = testing.doctest_modules([ module ],
14
+ verbose=verbose,
15
+ print_info=print_info,
16
+ extraglobs=globs)
33
17
 
34
18
  verify.CertifiedShapesEngine = original
35
19
 
@@ -39,43 +23,56 @@ def generate_test_with_shapes_engine(module, engine):
39
23
 
40
24
  return result
41
25
 
26
+ modules = [
27
+ generate_test_with_shapes_engine(
28
+ verify.krawczyk_shapes_engine,
29
+ verify.KrawczykShapesEngine),
30
+ generate_test_with_shapes_engine(
31
+ verify.interval_newton_shapes_engine,
32
+ verify.IntervalNewtonShapesEngine),
33
+ generate_test_with_shapes_engine(
34
+ verify.hyperbolicity,
35
+ verify.KrawczykShapesEngine),
36
+ generate_test_with_shapes_engine(
37
+ verify.hyperbolicity,
38
+ verify.IntervalNewtonShapesEngine),
39
+ verify.canonical,
40
+ verify.interval_tree,
41
+ verify.volume,
42
+ verify.upper_halfspace.ideal_point,
43
+ verify.upper_halfspace.finite_point,
44
+ verify.upper_halfspace.extended_matrix,
45
+ verify.maximal_cusp_area_matrix,
46
+ verify.maximal_cusp_area_matrix.cusp_tiling_engine,
47
+ verify.maximal_cusp_area_matrix.cusp_translate_engine,
48
+ verify.square_extensions,
49
+ verify.real_algebra
50
+ ]
42
51
 
43
52
  def run_doctests(verbose=False, print_info=True):
44
- globs = {'Manifold':Manifold}
45
-
46
- return doctest_modules(
47
- [
48
- generate_test_with_shapes_engine(
49
- verify.krawczyk_shapes_engine,
50
- verify.KrawczykShapesEngine),
51
- generate_test_with_shapes_engine(
52
- verify.interval_newton_shapes_engine,
53
- verify.IntervalNewtonShapesEngine),
54
- verify.cuspCrossSection,
55
- generate_test_with_shapes_engine(
56
- verify.verifyHyperbolicity,
57
- verify.KrawczykShapesEngine),
58
- generate_test_with_shapes_engine(
59
- verify.verifyHyperbolicity,
60
- verify.IntervalNewtonShapesEngine),
61
- verify.verifyCanonical,
62
- verify.interval_tree,
63
- volume,
64
- cusp_areas,
65
- cusp_shapes,
66
- upper_halfspace.ideal_point,
67
- upper_halfspace.finite_point,
68
- upper_halfspace.extended_matrix,
69
- verify.maximal_cusp_area_matrix,
70
- verify.maximal_cusp_area_matrix.cusp_tiling_engine,
71
- verify.maximal_cusp_area_matrix.cusp_translate_engine,
72
- verify.squareExtensions,
73
- verify.realAlgebra ],
74
- extraglobs=globs,
75
- verbose=verbose, print_info=print_info)
53
+ globs = {'Manifold' : snappy.Manifold}
54
+ return testing.doctest_modules(modules,
55
+ verbose=verbose,
56
+ print_info=print_info,
57
+ extraglobs=globs)
76
58
 
59
+ run_doctests.__name__ = verify.__name__
60
+
61
+ def check_certified_intervals():
62
+ for n in ['m009', 'm015', 't02333', 't02333(1,2)',
63
+ 'm129(2,3)', 'm129(2,3)(3,4)']:
64
+ M = Manifold(n)
65
+ high_prec = M.tetrahedra_shapes('rect', bits_prec=1000)
66
+
67
+ intervals = M.tetrahedra_shapes('rect', bits_prec=100,
68
+ intervals=True)
69
+
70
+ for z, interval in zip(high_prec, intervals):
71
+ if not abs(interval.center() - z) < 1e-10:
72
+ raise Exception
73
+
74
+ if z not in interval:
75
+ raise Exception
77
76
 
78
77
  if __name__ == '__main__':
79
- optlist, args = getopt.getopt(sys.argv[1:], 'v', ['verbose'])
80
- verbose = len(optlist) > 0
81
- run_doctests(verbose)
78
+ testing.run_doctests_as_main(run_doctests)
@@ -1,7 +1,7 @@
1
1
  from ...sage_helper import _within_sage
2
2
 
3
3
  if _within_sage:
4
- from sage.all import sqrt
4
+ from ...sage_helper import sqrt
5
5
 
6
6
  __all__ = ['ExtendedMatrix']
7
7
 
@@ -1,9 +1,8 @@
1
1
  from ...sage_helper import _within_sage
2
2
 
3
3
  if _within_sage:
4
- import sage.all
5
- from sage.all import matrix, sqrt
6
- from sage.rings.real_mpfi import is_RealIntervalFieldElement
4
+ import sage
5
+ from ...sage_helper import matrix, sqrt, is_RealIntervalFieldElement, Infinity
7
6
 
8
7
  from .extended_matrix import ExtendedMatrix
9
8
 
@@ -169,7 +168,7 @@ class FinitePoint():
169
168
  RIF = r.parent()
170
169
  if _within_sage:
171
170
  if is_RealIntervalFieldElement(r):
172
- return r.intersection(RIF(1,sage.all.Infinity))
171
+ return r.intersection(RIF(1, Infinity))
173
172
  if r < 1.0:
174
173
  return RIF(1.0)
175
174
  return r
@@ -17,8 +17,8 @@ and is different from the ``Infinity`` that comes from ``sage.all``.
17
17
  from ...sage_helper import _within_sage
18
18
 
19
19
  if _within_sage:
20
- import sage.all
21
- from sage.all import matrix
20
+ from ...sage_helper import I, matrix
21
+ from ...sage_helper import Infinity as sage_Infinity
22
22
 
23
23
  from .finite_point import *
24
24
  from .extended_matrix import *
@@ -169,7 +169,7 @@ def compute_inradius_and_incenter(idealPoints):
169
169
  sage: z1 = CIF(0)
170
170
  sage: z2 = CIF(1)
171
171
  sage: z3 = CIF(1.2, 1.0)
172
- sage: compute_inradius_and_incenter([z0, z1, z2, z3])
172
+ sage: compute_inradius_and_incenter([z0, z1, z2, z3]) # doctest: +NUMERIC12
173
173
  (0.29186158033099?, FinitePoint(0.771123016231387? + 0.2791850380434060?*I, 0.94311979279000?))
174
174
  """
175
175
 
@@ -211,7 +211,7 @@ def Euclidean_height_of_hyperbolic_triangle(idealPoints):
211
211
  for idealPoint in idealPoints:
212
212
  if idealPoint != Infinity:
213
213
  RIF = idealPoint.real().parent()
214
- return RIF(sage.all.Infinity)
214
+ return RIF(sage_Infinity)
215
215
 
216
216
  raise Exception("What?")
217
217
 
@@ -266,7 +266,7 @@ def _transform_points_to_make_first_one_infinity_and_inv_sl_matrix(idealPoints):
266
266
  z = idealPoints[0]
267
267
  CIF = z.parent()
268
268
  gl_matrix = matrix(CIF, [[ 0, 1], [ 1, -z]])
269
- sl_matrix = CIF(sage.all.I) * gl_matrix
269
+ sl_matrix = CIF(I) * gl_matrix
270
270
  inv_sl_matrix = _adjoint2(sl_matrix)
271
271
 
272
272
  # Apply it
@@ -352,6 +352,8 @@ def _compute_inradius_and_incenter_with_one_point_at_infinity(nonInfPoints):
352
352
  # We use the geometric mean of the Euclidean heights of the lowest and
353
353
  # highest point of the inscribed sphere
354
354
  # sqrt( (h + r) * (h - r))
355
+ #
356
+ # height is also equal to (2 * length_product / length_total).sqrt()
355
357
  height = ( eHeightSqr - inRadiusSqr ).sqrt()
356
358
 
357
359
  # Taking the logarithm of the ratio of these two highest gives the
@@ -396,8 +398,7 @@ class _IdealPointTester():
396
398
  """
397
399
 
398
400
  def matrices(self):
399
- from sage.all import RIF, CIF, matrix
400
-
401
+ from ...sage_helper import RIF, CIF
401
402
  return [
402
403
  matrix.identity(CIF, 2),
403
404
  matrix(
@@ -408,8 +409,7 @@ class _IdealPointTester():
408
409
  [CIF(RIF(-0.3), RIF(1.1)), CIF(1)]]) ]
409
410
 
410
411
  def run_tests(self):
411
- from sage.all import RIF, CIF
412
-
412
+ from ...sage_helper import RIF, CIF
413
413
  bias = RIF(1.5)
414
414
 
415
415
  triangle = [ CIF(0), Infinity, CIF(1) ]
snappy/verify/volume.py CHANGED
@@ -15,7 +15,7 @@ if _within_sage:
15
15
 
16
16
  __all__ = ['compute_volume']
17
17
 
18
- from . import verifyHyperbolicity
18
+ from . import hyperbolicity
19
19
 
20
20
  # Sage's handling of pari has a bug when it comes to precision and the dilog.
21
21
  # It computes the dilogarithm only to low precision even though higher precision
@@ -117,7 +117,7 @@ def compute_volume(manifold, verified, bits_prec=None):
117
117
 
118
118
  if verified:
119
119
  # If requested, check it is a valid hyperbolic structure
120
- verifyHyperbolicity.check_logarithmic_gluing_equations_and_positively_oriented_tets(
120
+ hyperbolicity.check_logarithmic_gluing_equations_and_positively_oriented_tets(
121
121
  manifold, shape_intervals)
122
122
 
123
123
  # Sum up the volumes of all the tetrahedra
snappy/version.py CHANGED
@@ -1,2 +1,2 @@
1
- version = '3.1.1'
2
- release_date = 'June 2023'
1
+ version = '3.2'
2
+ release_date = 'January 2025'
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: snappy
3
- Version: 3.1.1
3
+ Version: 3.2
4
4
  Summary: Studying the topology and geometry of 3-manifolds, with a focus on hyperbolic structures.
5
5
  Home-page: http://snappy.computop.org
6
6
  Author: Marc Culler and Nathan M. Dunfield
@@ -16,17 +16,32 @@ Classifier: Programming Language :: C++
16
16
  Classifier: Programming Language :: Python
17
17
  Classifier: Programming Language :: Cython
18
18
  Classifier: Topic :: Scientific/Engineering :: Mathematics
19
- Requires-Python: >=3
19
+ Requires-Python: >=3.8
20
20
  Description-Content-Type: text/x-rst
21
- Requires-Dist: plink (>=2.4.2)
22
- Requires-Dist: spherogram (>=2.2)
23
- Requires-Dist: FXrays (>=1.3)
24
- Requires-Dist: pypng
21
+ Requires-Dist: FXrays>=1.3
22
+ Requires-Dist: plink>=2.4.3
23
+ Requires-Dist: spherogram>=2.3
24
+ Requires-Dist: snappy_manifolds>=1.2.1
25
+ Requires-Dist: low_index>=1.2.1
26
+ Requires-Dist: tkinter-gl>=1.0
25
27
  Requires-Dist: decorator
26
- Requires-Dist: snappy-manifolds (>=1.1.2)
27
- Requires-Dist: low-index (>=1.2)
28
- Requires-Dist: cypari (>=2.3)
29
- Requires-Dist: ipython (>=1.0)
28
+ Requires-Dist: packaging
29
+ Requires-Dist: pypng
30
+ Requires-Dist: PyX
31
+ Requires-Dist: pickleshare
32
+ Requires-Dist: cypari>=2.3
33
+ Requires-Dist: ipython>=5.0
34
+ Dynamic: author
35
+ Dynamic: author-email
36
+ Dynamic: classifier
37
+ Dynamic: description
38
+ Dynamic: description-content-type
39
+ Dynamic: home-page
40
+ Dynamic: keywords
41
+ Dynamic: license
42
+ Dynamic: requires-dist
43
+ Dynamic: requires-python
44
+ Dynamic: summary
30
45
 
31
46
  SnapPy
32
47
  ======