snappy 3.1.1__cp38-cp38-win_amd64.whl → 3.2__cp38-cp38-win_amd64.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 (476) hide show
  1. snappy/CyOpenGL.cp38-win_amd64.pyd +0 -0
  2. snappy/SnapPy.cp38-win_amd64.pyd +0 -0
  3. snappy/SnapPyHP.cp38-win_amd64.pyd +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/additional_classes.rst.txt +40 -40
  25. snappy/doc/_sources/bugs.rst.txt +14 -14
  26. snappy/doc/_sources/censuses.rst.txt +51 -51
  27. snappy/doc/_sources/credits.rst.txt +75 -75
  28. snappy/doc/_sources/development.rst.txt +259 -239
  29. snappy/doc/_sources/index.rst.txt +182 -115
  30. snappy/doc/_sources/installing.rst.txt +247 -264
  31. snappy/doc/_sources/manifold.rst.txt +6 -6
  32. snappy/doc/_sources/manifoldhp.rst.txt +46 -46
  33. snappy/doc/_sources/news.rst.txt +355 -283
  34. snappy/doc/_sources/other.rst.txt +25 -25
  35. snappy/doc/_sources/platonic_census.rst.txt +20 -20
  36. snappy/doc/_sources/plink.rst.txt +102 -102
  37. snappy/doc/_sources/ptolemy.rst.txt +66 -66
  38. snappy/doc/_sources/ptolemy_classes.rst.txt +42 -42
  39. snappy/doc/_sources/ptolemy_examples1.rst.txt +298 -297
  40. snappy/doc/_sources/ptolemy_examples2.rst.txt +363 -363
  41. snappy/doc/_sources/ptolemy_examples3.rst.txt +301 -301
  42. snappy/doc/_sources/ptolemy_examples4.rst.txt +61 -61
  43. snappy/doc/_sources/ptolemy_prelim.rst.txt +105 -105
  44. snappy/doc/_sources/screenshots.rst.txt +21 -21
  45. snappy/doc/_sources/snap.rst.txt +87 -87
  46. snappy/doc/_sources/snappy.rst.txt +28 -28
  47. snappy/doc/_sources/spherogram.rst.txt +103 -103
  48. snappy/doc/_sources/todo.rst.txt +47 -47
  49. snappy/doc/_sources/triangulation.rst.txt +11 -11
  50. snappy/doc/_sources/tutorial.rst.txt +49 -49
  51. snappy/doc/_sources/verify.rst.txt +210 -150
  52. snappy/doc/_sources/verify_internals.rst.txt +79 -90
  53. snappy/doc/_static/basic.css +924 -902
  54. snappy/doc/_static/css/badge_only.css +1 -1
  55. snappy/doc/_static/css/theme.css +1 -1
  56. snappy/doc/_static/doctools.js +1 -1
  57. snappy/doc/_static/documentation_options.js +12 -13
  58. snappy/doc/_static/fonts/Lato/lato-bold.eot +0 -0
  59. snappy/doc/_static/fonts/Lato/lato-bold.ttf +0 -0
  60. snappy/doc/_static/fonts/Lato/lato-bold.woff +0 -0
  61. snappy/doc/_static/fonts/Lato/lato-bold.woff2 +0 -0
  62. snappy/doc/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  63. snappy/doc/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  64. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  65. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  66. snappy/doc/_static/fonts/Lato/lato-italic.eot +0 -0
  67. snappy/doc/_static/fonts/Lato/lato-italic.ttf +0 -0
  68. snappy/doc/_static/fonts/Lato/lato-italic.woff +0 -0
  69. snappy/doc/_static/fonts/Lato/lato-italic.woff2 +0 -0
  70. snappy/doc/_static/fonts/Lato/lato-regular.eot +0 -0
  71. snappy/doc/_static/fonts/Lato/lato-regular.ttf +0 -0
  72. snappy/doc/_static/fonts/Lato/lato-regular.woff +0 -0
  73. snappy/doc/_static/fonts/Lato/lato-regular.woff2 +0 -0
  74. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  75. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  76. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  77. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  78. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  79. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  80. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  81. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  82. snappy/doc/_static/js/versions.js +228 -0
  83. snappy/doc/_static/language_data.js +199 -199
  84. snappy/doc/_static/pygments.css +74 -73
  85. snappy/doc/_static/searchtools.js +125 -71
  86. snappy/doc/_static/snappy_furo.css +33 -33
  87. snappy/doc/_static/snappy_sphinx_rtd_theme.css +42 -42
  88. snappy/doc/_static/sphinx_highlight.js +13 -3
  89. snappy/doc/additional_classes.html +1499 -1330
  90. snappy/doc/bugs.html +131 -134
  91. snappy/doc/censuses.html +426 -445
  92. snappy/doc/credits.html +180 -183
  93. snappy/doc/development.html +383 -363
  94. snappy/doc/genindex.html +1330 -1409
  95. snappy/doc/index.html +261 -206
  96. snappy/doc/installing.html +345 -363
  97. snappy/doc/manifold.html +3451 -2839
  98. snappy/doc/manifoldhp.html +179 -182
  99. snappy/doc/news.html +387 -329
  100. snappy/doc/objects.inv +0 -0
  101. snappy/doc/other.html +160 -162
  102. snappy/doc/platonic_census.html +374 -377
  103. snappy/doc/plink.html +209 -212
  104. snappy/doc/ptolemy.html +253 -255
  105. snappy/doc/ptolemy_classes.html +1143 -1146
  106. snappy/doc/ptolemy_examples1.html +408 -410
  107. snappy/doc/ptolemy_examples2.html +470 -473
  108. snappy/doc/ptolemy_examples3.html +413 -416
  109. snappy/doc/ptolemy_examples4.html +194 -197
  110. snappy/doc/ptolemy_prelim.html +247 -250
  111. snappy/doc/py-modindex.html +164 -167
  112. snappy/doc/screenshots.html +140 -142
  113. snappy/doc/search.html +134 -137
  114. snappy/doc/searchindex.js +1 -1
  115. snappy/doc/snap.html +201 -204
  116. snappy/doc/snappy.html +180 -182
  117. snappy/doc/spherogram.html +1210 -1213
  118. snappy/doc/todo.html +165 -168
  119. snappy/doc/triangulation.html +1583 -1474
  120. snappy/doc/tutorial.html +158 -161
  121. snappy/doc/verify.html +329 -275
  122. snappy/doc/verify_internals.html +1234 -1691
  123. snappy/drilling/__init__.py +153 -235
  124. snappy/drilling/barycentric.py +103 -0
  125. snappy/drilling/constants.py +0 -2
  126. snappy/drilling/crush.py +56 -130
  127. snappy/drilling/cusps.py +12 -6
  128. snappy/drilling/debug.py +2 -1
  129. snappy/drilling/exceptions.py +7 -40
  130. snappy/drilling/moves.py +302 -243
  131. snappy/drilling/perturb.py +63 -37
  132. snappy/drilling/shorten.py +36 -0
  133. snappy/drilling/subdivide.py +0 -5
  134. snappy/drilling/test.py +23 -0
  135. snappy/drilling/test_cases.py +126 -0
  136. snappy/drilling/tracing.py +9 -37
  137. snappy/exceptions.py +18 -5
  138. snappy/exterior_to_link/barycentric_geometry.py +2 -4
  139. snappy/exterior_to_link/main.py +8 -7
  140. snappy/exterior_to_link/mcomplex_with_link.py +2 -2
  141. snappy/exterior_to_link/rational_linear_algebra.py +1 -1
  142. snappy/exterior_to_link/rational_linear_algebra_wrapped.py +1 -1
  143. snappy/exterior_to_link/test.py +21 -33
  144. snappy/geometric_structure/__init__.py +212 -0
  145. snappy/geometric_structure/cusp_neighborhood/__init__.py +3 -0
  146. snappy/geometric_structure/cusp_neighborhood/complex_cusp_cross_section.py +697 -0
  147. snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +484 -0
  148. snappy/geometric_structure/cusp_neighborhood/exceptions.py +42 -0
  149. snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +298 -0
  150. snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +159 -0
  151. snappy/geometric_structure/cusp_neighborhood/vertices.py +32 -0
  152. snappy/geometric_structure/geodesic/__init__.py +0 -0
  153. snappy/geometric_structure/geodesic/add_core_curves.py +152 -0
  154. snappy/geometric_structure/geodesic/avoid_core_curves.py +369 -0
  155. snappy/geometric_structure/geodesic/canonical_keys.py +52 -0
  156. snappy/geometric_structure/geodesic/check_away_from_core_curve.py +60 -0
  157. snappy/geometric_structure/geodesic/constants.py +6 -0
  158. snappy/geometric_structure/geodesic/exceptions.py +22 -0
  159. snappy/{drilling → geometric_structure/geodesic}/fixed_points.py +34 -9
  160. snappy/{drilling/geodesic_info.py → geometric_structure/geodesic/geodesic_start_point_info.py} +139 -180
  161. snappy/geometric_structure/geodesic/graph_trace_helper.py +67 -0
  162. snappy/geometric_structure/geodesic/line.py +30 -0
  163. snappy/geometric_structure/geodesic/multiplicity.py +127 -0
  164. snappy/geometric_structure/geodesic/tiles_for_geodesic.py +101 -0
  165. snappy/geometric_structure/test.py +22 -0
  166. snappy/gui.py +23 -13
  167. snappy/horoviewer.py +7 -7
  168. snappy/hyperboloid/__init__.py +96 -31
  169. snappy/hyperboloid/distances.py +245 -0
  170. snappy/hyperboloid/horoball.py +19 -0
  171. snappy/hyperboloid/line.py +35 -0
  172. snappy/hyperboloid/point.py +9 -0
  173. snappy/hyperboloid/triangle.py +29 -0
  174. snappy/isometry_signature.py +382 -0
  175. snappy/len_spec/__init__.py +596 -0
  176. snappy/len_spec/geodesic_info.py +110 -0
  177. snappy/len_spec/geodesic_key_info_dict.py +117 -0
  178. snappy/len_spec/geodesic_piece.py +143 -0
  179. snappy/len_spec/geometric_structure.py +182 -0
  180. snappy/len_spec/geometry.py +80 -0
  181. snappy/len_spec/length_spectrum_geodesic_info.py +170 -0
  182. snappy/len_spec/spine.py +206 -0
  183. snappy/len_spec/test.py +24 -0
  184. snappy/len_spec/test_cases.py +69 -0
  185. snappy/len_spec/tile.py +275 -0
  186. snappy/len_spec/word.py +86 -0
  187. snappy/math_basics.py +39 -13
  188. snappy/matrix.py +52 -9
  189. snappy/number.py +12 -6
  190. snappy/numeric_output_checker.py +2 -3
  191. snappy/pari.py +8 -4
  192. snappy/phone_home.py +2 -1
  193. snappy/polyviewer.py +8 -8
  194. snappy/ptolemy/__init__.py +1 -1
  195. snappy/ptolemy/component.py +2 -2
  196. snappy/ptolemy/coordinates.py +25 -25
  197. snappy/ptolemy/findLoops.py +9 -9
  198. snappy/ptolemy/manifoldMethods.py +27 -29
  199. snappy/ptolemy/polynomial.py +50 -57
  200. snappy/ptolemy/processFileBase.py +60 -0
  201. snappy/ptolemy/ptolemyVariety.py +109 -41
  202. snappy/ptolemy/reginaWrapper.py +4 -4
  203. snappy/ptolemy/rur.py +1 -1
  204. snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +9 -9
  205. snappy/ptolemy/test.py +99 -54
  206. snappy/ptolemy/utilities.py +1 -1
  207. snappy/raytracing/__init__.py +64 -0
  208. snappy/raytracing/additional_horospheres.py +64 -0
  209. snappy/raytracing/additional_len_spec_choices.py +63 -0
  210. snappy/raytracing/cohomology_fractal.py +0 -3
  211. snappy/raytracing/eyeball.py +123 -0
  212. snappy/raytracing/finite_raytracing_data.py +17 -17
  213. snappy/raytracing/finite_viewer.py +15 -15
  214. snappy/raytracing/geodesic_tube_info.py +93 -63
  215. snappy/raytracing/geodesics.py +94 -64
  216. snappy/raytracing/geodesics_window.py +56 -34
  217. snappy/raytracing/gui_utilities.py +21 -6
  218. snappy/raytracing/hyperboloid_navigation.py +29 -4
  219. snappy/raytracing/hyperboloid_utilities.py +73 -73
  220. snappy/raytracing/ideal_raytracing_data.py +121 -91
  221. snappy/raytracing/inside_viewer.py +199 -66
  222. snappy/raytracing/pack.py +22 -0
  223. snappy/raytracing/raytracing_data.py +37 -25
  224. snappy/raytracing/raytracing_view.py +70 -65
  225. snappy/raytracing/shaders/Eye.png +0 -0
  226. snappy/raytracing/shaders/NonGeometric.png +0 -0
  227. snappy/raytracing/shaders/__init__.py +39 -3
  228. snappy/raytracing/shaders/fragment.glsl +451 -133
  229. snappy/raytracing/test.py +29 -0
  230. snappy/raytracing/tooltip.py +146 -0
  231. snappy/raytracing/upper_halfspace_utilities.py +42 -9
  232. snappy/sage_helper.py +67 -134
  233. snappy/settings.py +90 -77
  234. snappy/shell.py +2 -0
  235. snappy/snap/character_varieties.py +2 -2
  236. snappy/snap/find_field.py +4 -3
  237. snappy/snap/fundamental_polyhedron.py +2 -2
  238. snappy/snap/kernel_structures.py +5 -1
  239. snappy/snap/nsagetools.py +9 -8
  240. snappy/snap/peripheral/dual_cellulation.py +4 -3
  241. snappy/snap/peripheral/peripheral.py +2 -2
  242. snappy/snap/peripheral/surface.py +5 -5
  243. snappy/snap/peripheral/test.py +1 -1
  244. snappy/snap/polished_reps.py +8 -8
  245. snappy/snap/slice_obs_HKL.py +16 -14
  246. snappy/snap/t3mlite/arrow.py +3 -3
  247. snappy/snap/t3mlite/edge.py +3 -3
  248. snappy/snap/t3mlite/homology.py +2 -2
  249. snappy/snap/t3mlite/mcomplex.py +3 -3
  250. snappy/snap/t3mlite/simplex.py +12 -0
  251. snappy/snap/t3mlite/spun.py +18 -17
  252. snappy/snap/t3mlite/test_vs_regina.py +4 -4
  253. snappy/snap/test.py +37 -53
  254. snappy/snap/utilities.py +4 -5
  255. snappy/test.py +121 -138
  256. snappy/test_cases.py +263 -0
  257. snappy/testing.py +131 -0
  258. snappy/tiling/__init__.py +2 -0
  259. snappy/tiling/canonical_key_dict.py +59 -0
  260. snappy/tiling/dict_based_set.py +79 -0
  261. snappy/tiling/floor.py +49 -0
  262. snappy/tiling/hyperboloid_dict.py +54 -0
  263. snappy/tiling/iter_utils.py +78 -0
  264. snappy/tiling/lifted_tetrahedron.py +22 -0
  265. snappy/tiling/lifted_tetrahedron_set.py +54 -0
  266. snappy/tiling/real_hash_dict.py +164 -0
  267. snappy/tiling/test.py +23 -0
  268. snappy/tiling/tile.py +215 -0
  269. snappy/tiling/triangle.py +33 -0
  270. snappy/tkterminal.py +113 -84
  271. snappy/twister/main.py +1 -7
  272. snappy/twister/twister_core.cp38-win_amd64.pyd +0 -0
  273. snappy/upper_halfspace/__init__.py +78 -17
  274. snappy/verify/__init__.py +3 -7
  275. snappy/verify/{verifyCanonical.py → canonical.py} +78 -70
  276. snappy/verify/complex_volume/adjust_torsion.py +1 -2
  277. snappy/verify/complex_volume/closed.py +13 -13
  278. snappy/verify/complex_volume/cusped.py +6 -6
  279. snappy/verify/complex_volume/extended_bloch.py +5 -8
  280. snappy/verify/{cuspTranslations.py → cusp_translations.py} +1 -1
  281. snappy/verify/edge_equations.py +80 -0
  282. snappy/verify/exceptions.py +0 -55
  283. snappy/verify/{verifyHyperbolicity.py → hyperbolicity.py} +3 -3
  284. snappy/verify/interval_newton_shapes_engine.py +7 -5
  285. snappy/verify/interval_tree.py +5 -5
  286. snappy/verify/krawczyk_shapes_engine.py +17 -18
  287. snappy/verify/maximal_cusp_area_matrix/__init__.py +7 -74
  288. snappy/verify/maximal_cusp_area_matrix/cusp_tiling_engine.py +3 -4
  289. snappy/verify/maximal_cusp_area_matrix/cusp_translate_engine.py +1 -1
  290. snappy/verify/{realAlgebra.py → real_algebra.py} +1 -1
  291. snappy/verify/shapes.py +5 -3
  292. snappy/verify/short_slopes.py +39 -41
  293. snappy/verify/{squareExtensions.py → square_extensions.py} +14 -11
  294. snappy/verify/test.py +57 -60
  295. snappy/verify/upper_halfspace/extended_matrix.py +1 -1
  296. snappy/verify/upper_halfspace/finite_point.py +3 -4
  297. snappy/verify/upper_halfspace/ideal_point.py +9 -9
  298. snappy/verify/volume.py +2 -2
  299. snappy/version.py +2 -2
  300. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/METADATA +14 -10
  301. snappy-3.2.dist-info/RECORD +503 -0
  302. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/WHEEL +1 -1
  303. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/top_level.txt +6 -1
  304. snappy/__pycache__/__init__.cpython-38.pyc +0 -0
  305. snappy/__pycache__/browser.cpython-38.pyc +0 -0
  306. snappy/__pycache__/cache.cpython-38.pyc +0 -0
  307. snappy/__pycache__/database.cpython-38.pyc +0 -0
  308. snappy/__pycache__/db_utilities.cpython-38.pyc +0 -0
  309. snappy/__pycache__/decorated_isosig.cpython-38.pyc +0 -0
  310. snappy/__pycache__/exceptions.cpython-38.pyc +0 -0
  311. snappy/__pycache__/export_stl.cpython-38.pyc +0 -0
  312. snappy/__pycache__/filedialog.cpython-38.pyc +0 -0
  313. snappy/__pycache__/gui.cpython-38.pyc +0 -0
  314. snappy/__pycache__/horoviewer.cpython-38.pyc +0 -0
  315. snappy/__pycache__/math_basics.cpython-38.pyc +0 -0
  316. snappy/__pycache__/matrix.cpython-38.pyc +0 -0
  317. snappy/__pycache__/number.cpython-38.pyc +0 -0
  318. snappy/__pycache__/numeric_output_checker.cpython-38.pyc +0 -0
  319. snappy/__pycache__/pari.cpython-38.pyc +0 -0
  320. snappy/__pycache__/polyviewer.cpython-38.pyc +0 -0
  321. snappy/__pycache__/sage_helper.cpython-38.pyc +0 -0
  322. snappy/__pycache__/version.cpython-38.pyc +0 -0
  323. snappy/doc/_sources/verify_canon.rst.txt +0 -90
  324. snappy/doc/_static/jquery-3.6.0.js +0 -10881
  325. snappy/doc/_static/js/html5shiv-printshiv.min.js +0 -4
  326. snappy/doc/_static/js/html5shiv.min.js +0 -4
  327. snappy/doc/_static/underscore-1.13.1.js +0 -2042
  328. snappy/doc/_static/underscore.js +0 -6
  329. snappy/doc/verify_canon.html +0 -304
  330. snappy/drilling/__pycache__/__init__.cpython-38.pyc +0 -0
  331. snappy/drilling/__pycache__/constants.cpython-38.pyc +0 -0
  332. snappy/drilling/__pycache__/crush.cpython-38.pyc +0 -0
  333. snappy/drilling/__pycache__/cusps.cpython-38.pyc +0 -0
  334. snappy/drilling/__pycache__/debug.cpython-38.pyc +0 -0
  335. snappy/drilling/__pycache__/epsilons.cpython-38.pyc +0 -0
  336. snappy/drilling/__pycache__/exceptions.cpython-38.pyc +0 -0
  337. snappy/drilling/__pycache__/fixed_points.cpython-38.pyc +0 -0
  338. snappy/drilling/__pycache__/geodesic_info.cpython-38.pyc +0 -0
  339. snappy/drilling/__pycache__/geodesic_tube.cpython-38.pyc +0 -0
  340. snappy/drilling/__pycache__/geometric_structure.cpython-38.pyc +0 -0
  341. snappy/drilling/__pycache__/line.cpython-38.pyc +0 -0
  342. snappy/drilling/__pycache__/moves.cpython-38.pyc +0 -0
  343. snappy/drilling/__pycache__/peripheral_curves.cpython-38.pyc +0 -0
  344. snappy/drilling/__pycache__/perturb.cpython-38.pyc +0 -0
  345. snappy/drilling/__pycache__/quotient_space.cpython-38.pyc +0 -0
  346. snappy/drilling/__pycache__/spatial_dict.cpython-38.pyc +0 -0
  347. snappy/drilling/__pycache__/subdivide.cpython-38.pyc +0 -0
  348. snappy/drilling/__pycache__/tracing.cpython-38.pyc +0 -0
  349. snappy/drilling/geodesic_tube.py +0 -441
  350. snappy/drilling/geometric_structure.py +0 -366
  351. snappy/drilling/line.py +0 -122
  352. snappy/drilling/quotient_space.py +0 -94
  353. snappy/drilling/spatial_dict.py +0 -128
  354. snappy/exterior_to_link/__pycache__/__init__.cpython-38.pyc +0 -0
  355. snappy/exterior_to_link/__pycache__/barycentric_geometry.cpython-38.pyc +0 -0
  356. snappy/exterior_to_link/__pycache__/exceptions.cpython-38.pyc +0 -0
  357. snappy/exterior_to_link/__pycache__/hyp_utils.cpython-38.pyc +0 -0
  358. snappy/exterior_to_link/__pycache__/link_projection.cpython-38.pyc +0 -0
  359. snappy/exterior_to_link/__pycache__/main.cpython-38.pyc +0 -0
  360. snappy/exterior_to_link/__pycache__/mcomplex_with_expansion.cpython-38.pyc +0 -0
  361. snappy/exterior_to_link/__pycache__/mcomplex_with_link.cpython-38.pyc +0 -0
  362. snappy/exterior_to_link/__pycache__/mcomplex_with_memory.cpython-38.pyc +0 -0
  363. snappy/exterior_to_link/__pycache__/pl_utils.cpython-38.pyc +0 -0
  364. snappy/exterior_to_link/__pycache__/put_in_S3.cpython-38.pyc +0 -0
  365. snappy/exterior_to_link/__pycache__/rational_linear_algebra.cpython-38.pyc +0 -0
  366. snappy/exterior_to_link/__pycache__/simplify_to_base_tri.cpython-38.pyc +0 -0
  367. snappy/exterior_to_link/__pycache__/stored_moves.cpython-38.pyc +0 -0
  368. snappy/hyperboloid/__pycache__/__init__.cpython-38.pyc +0 -0
  369. snappy/manifolds/__pycache__/__init__.cpython-38.pyc +0 -0
  370. snappy/ptolemy/__pycache__/__init__.cpython-38.pyc +0 -0
  371. snappy/ptolemy/__pycache__/component.cpython-38.pyc +0 -0
  372. snappy/ptolemy/__pycache__/coordinates.cpython-38.pyc +0 -0
  373. snappy/ptolemy/__pycache__/fieldExtensions.cpython-38.pyc +0 -0
  374. snappy/ptolemy/__pycache__/findLoops.cpython-38.pyc +0 -0
  375. snappy/ptolemy/__pycache__/homology.cpython-38.pyc +0 -0
  376. snappy/ptolemy/__pycache__/manifoldMethods.cpython-38.pyc +0 -0
  377. snappy/ptolemy/__pycache__/matrix.cpython-38.pyc +0 -0
  378. snappy/ptolemy/__pycache__/numericalSolutionsToGroebnerBasis.cpython-38.pyc +0 -0
  379. snappy/ptolemy/__pycache__/polynomial.cpython-38.pyc +0 -0
  380. snappy/ptolemy/__pycache__/processComponents.cpython-38.pyc +0 -0
  381. snappy/ptolemy/__pycache__/processFileBase.cpython-38.pyc +0 -0
  382. snappy/ptolemy/__pycache__/processFileDispatch.cpython-38.pyc +0 -0
  383. snappy/ptolemy/__pycache__/processMagmaFile.cpython-38.pyc +0 -0
  384. snappy/ptolemy/__pycache__/processRurFile.cpython-38.pyc +0 -0
  385. snappy/ptolemy/__pycache__/ptolemyGeneralizedObstructionClass.cpython-38.pyc +0 -0
  386. snappy/ptolemy/__pycache__/ptolemyObstructionClass.cpython-38.pyc +0 -0
  387. snappy/ptolemy/__pycache__/ptolemyVariety.cpython-38.pyc +0 -0
  388. snappy/ptolemy/__pycache__/ptolemyVarietyPrimeIdealGroebnerBasis.cpython-38.pyc +0 -0
  389. snappy/ptolemy/__pycache__/rur.cpython-38.pyc +0 -0
  390. snappy/ptolemy/__pycache__/solutionsToPrimeIdealGroebnerBasis.cpython-38.pyc +0 -0
  391. snappy/ptolemy/__pycache__/utilities.cpython-38.pyc +0 -0
  392. snappy/snap/__pycache__/__init__.cpython-38.pyc +0 -0
  393. snappy/snap/__pycache__/character_varieties.cpython-38.pyc +0 -0
  394. snappy/snap/__pycache__/fundamental_polyhedron.cpython-38.pyc +0 -0
  395. snappy/snap/__pycache__/interval_reps.cpython-38.pyc +0 -0
  396. snappy/snap/__pycache__/kernel_structures.cpython-38.pyc +0 -0
  397. snappy/snap/__pycache__/mcomplex_base.cpython-38.pyc +0 -0
  398. snappy/snap/__pycache__/nsagetools.cpython-38.pyc +0 -0
  399. snappy/snap/__pycache__/polished_reps.cpython-38.pyc +0 -0
  400. snappy/snap/__pycache__/shapes.cpython-38.pyc +0 -0
  401. snappy/snap/__pycache__/slice_obs_HKL.cpython-38.pyc +0 -0
  402. snappy/snap/__pycache__/utilities.cpython-38.pyc +0 -0
  403. snappy/snap/peripheral/__pycache__/__init__.cpython-38.pyc +0 -0
  404. snappy/snap/peripheral/__pycache__/dual_cellulation.cpython-38.pyc +0 -0
  405. snappy/snap/peripheral/__pycache__/link.cpython-38.pyc +0 -0
  406. snappy/snap/peripheral/__pycache__/peripheral.cpython-38.pyc +0 -0
  407. snappy/snap/peripheral/__pycache__/surface.cpython-38.pyc +0 -0
  408. snappy/snap/t3mlite/__pycache__/__init__.cpython-38.pyc +0 -0
  409. snappy/snap/t3mlite/__pycache__/arrow.cpython-38.pyc +0 -0
  410. snappy/snap/t3mlite/__pycache__/corner.cpython-38.pyc +0 -0
  411. snappy/snap/t3mlite/__pycache__/edge.cpython-38.pyc +0 -0
  412. snappy/snap/t3mlite/__pycache__/face.cpython-38.pyc +0 -0
  413. snappy/snap/t3mlite/__pycache__/files.cpython-38.pyc +0 -0
  414. snappy/snap/t3mlite/__pycache__/homology.cpython-38.pyc +0 -0
  415. snappy/snap/t3mlite/__pycache__/linalg.cpython-38.pyc +0 -0
  416. snappy/snap/t3mlite/__pycache__/mcomplex.cpython-38.pyc +0 -0
  417. snappy/snap/t3mlite/__pycache__/perm4.cpython-38.pyc +0 -0
  418. snappy/snap/t3mlite/__pycache__/simplex.cpython-38.pyc +0 -0
  419. snappy/snap/t3mlite/__pycache__/spun.cpython-38.pyc +0 -0
  420. snappy/snap/t3mlite/__pycache__/surface.cpython-38.pyc +0 -0
  421. snappy/snap/t3mlite/__pycache__/tetrahedron.cpython-38.pyc +0 -0
  422. snappy/snap/t3mlite/__pycache__/vertex.cpython-38.pyc +0 -0
  423. snappy/togl/__init__.py +0 -3
  424. snappy/togl/darwin-tk8.6/Togl2.1/LICENSE +0 -28
  425. snappy/togl/darwin-tk8.6/Togl2.1/libTogl2.1.dylib +0 -0
  426. snappy/togl/darwin-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  427. snappy/togl/darwin-tk8.7/Togl2.1/LICENSE +0 -28
  428. snappy/togl/darwin-tk8.7/Togl2.1/libTogl2.1.dylib +0 -0
  429. snappy/togl/darwin-tk8.7/Togl2.1/pkgIndex.tcl +0 -5
  430. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  431. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/libTogl2.1.so +0 -0
  432. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  433. snappy/togl/win32VC-tk8.6/Togl2.1/LICENSE +0 -28
  434. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.dll +0 -0
  435. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.lib +0 -0
  436. snappy/togl/win32VC-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  437. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  438. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.dll +0 -0
  439. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.lib +0 -0
  440. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  441. snappy/twister/__pycache__/__init__.cpython-38.pyc +0 -0
  442. snappy/twister/__pycache__/main.cpython-38.pyc +0 -0
  443. snappy/upper_halfspace/__pycache__/__init__.cpython-38.pyc +0 -0
  444. snappy/upper_halfspace/__pycache__/ideal_point.cpython-38.pyc +0 -0
  445. snappy/verify/__pycache__/__init__.cpython-38.pyc +0 -0
  446. snappy/verify/__pycache__/cuspCrossSection.cpython-38.pyc +0 -0
  447. snappy/verify/__pycache__/cuspTranslations.cpython-38.pyc +0 -0
  448. snappy/verify/__pycache__/cusp_areas.cpython-38.pyc +0 -0
  449. snappy/verify/__pycache__/cusp_shapes.cpython-38.pyc +0 -0
  450. snappy/verify/__pycache__/exceptions.cpython-38.pyc +0 -0
  451. snappy/verify/__pycache__/interval_newton_shapes_engine.cpython-38.pyc +0 -0
  452. snappy/verify/__pycache__/interval_tree.cpython-38.pyc +0 -0
  453. snappy/verify/__pycache__/krawczyk_shapes_engine.cpython-38.pyc +0 -0
  454. snappy/verify/__pycache__/realAlgebra.cpython-38.pyc +0 -0
  455. snappy/verify/__pycache__/shapes.cpython-38.pyc +0 -0
  456. snappy/verify/__pycache__/short_slopes.cpython-38.pyc +0 -0
  457. snappy/verify/__pycache__/squareExtensions.cpython-38.pyc +0 -0
  458. snappy/verify/__pycache__/verifyCanonical.cpython-38.pyc +0 -0
  459. snappy/verify/__pycache__/verifyHyperbolicity.cpython-38.pyc +0 -0
  460. snappy/verify/__pycache__/volume.cpython-38.pyc +0 -0
  461. snappy/verify/complex_volume/__pycache__/__init__.cpython-38.pyc +0 -0
  462. snappy/verify/complex_volume/__pycache__/adjust_torsion.cpython-38.pyc +0 -0
  463. snappy/verify/complex_volume/__pycache__/closed.cpython-38.pyc +0 -0
  464. snappy/verify/complex_volume/__pycache__/compute_ptolemys.cpython-38.pyc +0 -0
  465. snappy/verify/complex_volume/__pycache__/cusped.cpython-38.pyc +0 -0
  466. snappy/verify/complex_volume/__pycache__/extended_bloch.cpython-38.pyc +0 -0
  467. snappy/verify/cuspCrossSection.py +0 -1422
  468. snappy/verify/maximal_cusp_area_matrix/__pycache__/__init__.cpython-38.pyc +0 -0
  469. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_tiling_engine.cpython-38.pyc +0 -0
  470. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_translate_engine.cpython-38.pyc +0 -0
  471. snappy/verify/upper_halfspace/__pycache__/__init__.cpython-38.pyc +0 -0
  472. snappy/verify/upper_halfspace/__pycache__/extended_matrix.cpython-38.pyc +0 -0
  473. snappy/verify/upper_halfspace/__pycache__/finite_point.cpython-38.pyc +0 -0
  474. snappy/verify/upper_halfspace/__pycache__/ideal_point.cpython-38.pyc +0 -0
  475. snappy-3.1.1.dist-info/RECORD +0 -575
  476. {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
1
  Metadata-Version: 2.1
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,21 @@ 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 (>=5.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
30
34
 
31
35
  SnapPy
32
36
  ======