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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (464) hide show
  1. snappy/CyOpenGL.cpython-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
snappy/polyviewer.py CHANGED
@@ -23,7 +23,7 @@ class PolyhedronViewer(ttk.Frame):
23
23
  self.main_window = kwargs.get('main_window', None)
24
24
  self.topframe = topframe = ttk.Frame(self)
25
25
  self.bottomframe = bottomframe = ttk.Frame(self)
26
- self.model_var = Tk_.StringVar(self, value='Klein')
26
+ self.model_var = Tk_.StringVar(self, value='Poincare')
27
27
  self.sphere_var = Tk_.IntVar(self, value=1)
28
28
  self.klein = ttk.Radiobutton(topframe, text='Klein',
29
29
  variable=self.model_var,
@@ -72,7 +72,7 @@ The slider controls zooming. You will see inside the polyhedron if you zoom far
72
72
  cyglSetStandardLighting()
73
73
  self.polyhedron = HyperbolicPolyhedron(facedicts, self.model_var,
74
74
  self.sphere_var, togl_widget=self.widget)
75
- widget.redraw_impl = self.polyhedron.draw
75
+ widget.draw_projection_impl = self.polyhedron.draw
76
76
  widget.autospin_allowed = 1
77
77
  widget.set_background(.2, .2, .2)
78
78
  widget.grid(row=0, column=0, sticky=Tk_.NSEW)
@@ -150,21 +150,21 @@ The slider controls zooming. You will see inside the polyhedron if you zoom far
150
150
  pass
151
151
 
152
152
  def redraw(self):
153
- self.widget.redraw_if_initialized()
153
+ self.widget.redraw()
154
154
 
155
155
  def reset(self):
156
156
  self.widget.autospin = 0
157
157
  self.widget.set_eyepoint(5.0)
158
158
  self.zoom.set(50)
159
- self.widget.redraw_if_initialized()
159
+ self.widget.redraw()
160
160
 
161
161
  def set_zoom(self, x):
162
162
  t = (100.0-float(x))/100.0
163
163
  self.widget.distance = t*1.0 + (1-t)*8.0
164
- self.widget.redraw_if_initialized()
164
+ self.widget.redraw()
165
165
 
166
166
  def new_model(self):
167
- self.widget.redraw_if_initialized()
167
+ self.widget.redraw()
168
168
 
169
169
  def new_polyhedron(self, new_facedicts):
170
170
  self.empty = (len(new_facedicts) == 0)
@@ -175,8 +175,8 @@ The slider controls zooming. You will see inside the polyhedron if you zoom far
175
175
  pass
176
176
  self.polyhedron = HyperbolicPolyhedron(new_facedicts, self.model_var,
177
177
  self.sphere_var, togl_widget=self.widget)
178
- self.widget.redraw_impl = self.polyhedron.draw
179
- self.widget.redraw_if_initialized()
178
+ self.widget.draw_projection_impl = self.polyhedron.draw
179
+ self.widget.redraw()
180
180
 
181
181
  def delete_resource(self):
182
182
  try:
@@ -14,4 +14,4 @@ _env = _os.environ.get('PTOLEMY_DATA_URL')
14
14
  if _env:
15
15
  DATA_URL = _env
16
16
  else:
17
- DATA_URL = "http://ptolemy.unhyperbolic.org/"
17
+ DATA_URL = "https://ptolemy.unhyperbolic.org/"
@@ -14,7 +14,7 @@ class ZeroDimensionalComponent(Component):
14
14
 
15
15
  def __init__(self, l, p=None):
16
16
  self.dimension = 0
17
- super(ZeroDimensionalComponent, self).__init__(l)
17
+ super().__init__(l)
18
18
 
19
19
 
20
20
  class NonZeroDimensionalComponent(Component):
@@ -36,7 +36,7 @@ class NonZeroDimensionalComponent(Component):
36
36
  self.dimension = dimension
37
37
  self.free_variables = free_variables
38
38
  self.genus = genus
39
- super(NonZeroDimensionalComponent, self).__init__(witnesses)
39
+ super().__init__(witnesses)
40
40
 
41
41
  def _base_str_(self):
42
42
  if self.free_variables is None:
@@ -212,7 +212,7 @@ class PtolemyCoordinates(dict):
212
212
  self._matrix_cache = []
213
213
  self._inverse_matrix_cache = []
214
214
 
215
- super(PtolemyCoordinates, self).__init__(processed_dict)
215
+ super().__init__(processed_dict)
216
216
 
217
217
  def __repr__(self):
218
218
  dict_repr = dict.__repr__(self)
@@ -377,7 +377,7 @@ class PtolemyCoordinates(dict):
377
377
  Note that this is different from the convention used in
378
378
  Garoufalidis, Goerner, Zickert:
379
379
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
380
- http://arxiv.org/abs/1207.6711
380
+ https://arxiv.org/abs/1207.6711
381
381
 
382
382
  Take an exact solution:
383
383
 
@@ -563,7 +563,7 @@ class PtolemyCoordinates(dict):
563
563
  See Definition 10.1:
564
564
  Garoufalidis, Goerner, Zickert:
565
565
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
566
- http://arxiv.org/abs/1207.6711
566
+ https://arxiv.org/abs/1207.6711
567
567
  """
568
568
 
569
569
  # Integral points that are indices of Ptolemy coordinates
@@ -586,14 +586,14 @@ class PtolemyCoordinates(dict):
586
586
  # See Definition 9.23 of
587
587
  # Garoufalidis, Thurston, Zickert
588
588
  # The Complex Volume of SL(n,C)-Representations of 3-Manifolds
589
- # http://arxiv.org/abs/1111.2828
590
- face = list(set(range(4)) - set([v0, v1, v2]))[0]
589
+ # httpss://arxiv.org/abs/1111.2828
590
+ face = next(iter(set(range(4)) - {v0, v1, v2}))
591
591
  obstruction = self._get_obstruction_variable(face, tet)
592
592
 
593
593
  # The epsilon permutation sign from Definition 10.1 of
594
594
  # Garoufalidis, Goerner, Zickert:
595
595
  # Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
596
- # http://arxiv.org/abs/1207.6711
596
+ # https://arxiv.org/abs/1207.6711
597
597
  s = PtolemyCoordinates._three_perm_sign(v0, v1, v2)
598
598
 
599
599
  # The equation from the same Definition
@@ -610,7 +610,7 @@ class PtolemyCoordinates(dict):
610
610
  See Definition 10.2:
611
611
  Garoufalidis, Goerner, Zickert:
612
612
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
613
- http://arxiv.org/abs/1207.6711
613
+ https://arxiv.org/abs/1207.6711
614
614
 
615
615
  Note that this definition turned out to have the wrong sign. Multiply
616
616
  the result by -1 if v1 < v0 and N is even.
@@ -650,7 +650,7 @@ class PtolemyCoordinates(dict):
650
650
  double-truncated simplex) in Figure 18 of
651
651
  Garoufalidis, Goerner, Zickert:
652
652
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
653
- http://arxiv.org/abs/1207.6711
653
+ https://arxiv.org/abs/1207.6711
654
654
 
655
655
  It is computed using equation 10.4. Note that the ratio coordinate
656
656
  is different from the definition in the paper (see ratio_coordinate).
@@ -694,7 +694,7 @@ class PtolemyCoordinates(dict):
694
694
  This matrix was labeled beta^{v0v1v2} in Figure 18 of
695
695
  Garoufalidis, Goerner, Zickert:
696
696
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
697
- http://arxiv.org/abs/1207.6711
697
+ https://arxiv.org/abs/1207.6711
698
698
 
699
699
  It is computed using equation 10.4.
700
700
 
@@ -742,7 +742,7 @@ class PtolemyCoordinates(dict):
742
742
  See equation 10.4 in
743
743
  Garoufalidis, Goerner, Zickert:
744
744
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
745
- http://arxiv.org/abs/1207.6711
745
+ https://arxiv.org/abs/1207.6711
746
746
  """
747
747
 
748
748
  # Key for the cache
@@ -983,7 +983,7 @@ class Flattenings(dict):
983
983
  For N = 2, the three triples belonging to a simplex form a combinatorial
984
984
  flattening (w0, w1, w2) as defined in Definition 3.1 in
985
985
  Walter D. Neumann, Extended Bloch group and the Cheeger-Chern-Simons class
986
- http://arxiv.org/abs/math.GT/0307092
986
+ https://arxiv.org/abs/math.GT/0307092
987
987
 
988
988
  For N > 2, the three triples form a generalized combinatorial flattening
989
989
  (w0, w1, w2) that gives an element in the generalized Extended Bloch group
@@ -1009,7 +1009,7 @@ class Flattenings(dict):
1009
1009
  """
1010
1010
 
1011
1011
  def __init__(self, d, manifold_thunk=lambda : None, evenN=2):
1012
- super(Flattenings, self).__init__(d)
1012
+ super().__init__(d)
1013
1013
  self._is_numerical = True
1014
1014
  self._manifold_thunk = manifold_thunk
1015
1015
  self.dimension = 0
@@ -1133,9 +1133,9 @@ class Flattenings(dict):
1133
1133
  Mcopy = M.copy()
1134
1134
 
1135
1135
  return Flattenings(
1136
- dict([ (k, (log + PiI * p, z, p))
1136
+ {k: (log + PiI * p, z, p)
1137
1137
  for k, log, z, p in zip(keys, log_all_cross_ratios,
1138
- all_cross_ratios, flattenings)]),
1138
+ all_cross_ratios, flattenings)},
1139
1139
  manifold_thunk=lambda : Mcopy)
1140
1140
 
1141
1141
  def get_order(self):
@@ -1153,7 +1153,7 @@ class Flattenings(dict):
1153
1153
  in the generalized Extended Bloch group similar to the way the
1154
1154
  triple [z;p,q] is used in Lemma 3.2 in
1155
1155
  Walter D. Neumann, Extended Bloch group and the Cheeger-Chern-Simons class
1156
- http://arxiv.org/abs/math.GT/0307092
1156
+ https://arxiv.org/abs/math.GT/0307092
1157
1157
  """
1158
1158
  if not key_z[:2] == 'z_':
1159
1159
  raise Exception("Need to be called with cross ratio variable z_....")
@@ -1294,11 +1294,11 @@ class CrossRatios(dict):
1294
1294
  Note that this is different from the convention used in
1295
1295
  Garoufalidis, Goerner, Zickert:
1296
1296
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
1297
- http://arxiv.org/abs/1207.6711
1297
+ https://arxiv.org/abs/1207.6711
1298
1298
  """
1299
1299
 
1300
1300
  def __init__(self, d, is_numerical=True, manifold_thunk=None):
1301
- super(CrossRatios, self).__init__(d)
1301
+ super().__init__(d)
1302
1302
  self._is_numerical = is_numerical
1303
1303
  self._manifold_thunk = manifold_thunk
1304
1304
 
@@ -1475,7 +1475,7 @@ class CrossRatios(dict):
1475
1475
 
1476
1476
  Garoufalidis, Goerner, Zickert:
1477
1477
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
1478
- http://arxiv.org/abs/1207.6711
1478
+ https://arxiv.org/abs/1207.6711
1479
1479
  """
1480
1480
 
1481
1481
  postfix = '_%d%d%d%d' % tuple(pt) + '_%d' % tet
@@ -1499,7 +1499,7 @@ class CrossRatios(dict):
1499
1499
  See Definition 10.9:
1500
1500
  Garoufalidis, Goerner, Zickert:
1501
1501
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
1502
- http://arxiv.org/abs/1207.6711
1502
+ https://arxiv.org/abs/1207.6711
1503
1503
  """
1504
1504
 
1505
1505
  result = 1
@@ -1530,7 +1530,7 @@ class CrossRatios(dict):
1530
1530
  This matrix was labeled alpha^{v0v1v2} in Figure 18 of
1531
1531
  Garoufalidis, Goerner, Zickert:
1532
1532
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
1533
- http://arxiv.org/abs/1207.6711
1533
+ https://arxiv.org/abs/1207.6711
1534
1534
 
1535
1535
  It is computed using equation 10.22.
1536
1536
 
@@ -1564,7 +1564,7 @@ class CrossRatios(dict):
1564
1564
  This matrix was labeled beta^{v0v1v2} in Figure 18 of
1565
1565
  Garoufalidis, Goerner, Zickert:
1566
1566
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
1567
- http://arxiv.org/abs/1207.6711
1567
+ https://arxiv.org/abs/1207.6711
1568
1568
 
1569
1569
  It is computed using equation 10.22.
1570
1570
 
@@ -1632,7 +1632,7 @@ class CrossRatios(dict):
1632
1632
  This matrix was labeled gamma^{v0v1v2} in Figure 18 of
1633
1633
  Garoufalidis, Goerner, Zickert:
1634
1634
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
1635
- http://arxiv.org/abs/1207.6711
1635
+ https://arxiv.org/abs/1207.6711
1636
1636
 
1637
1637
  It is computed using equation 10.22.
1638
1638
 
@@ -1769,7 +1769,7 @@ class CrossRatios(dict):
1769
1769
  SL(N,C) / {+1,-1} if N is even and is described in the Introduction of
1770
1770
  Garoufalidis, Thurston, Zickert
1771
1771
  The Complex Volume of SL(n,C)-Representations of 3-Manifolds
1772
- http://arxiv.org/abs/1111.2828
1772
+ https://arxiv.org/abs/1111.2828
1773
1773
 
1774
1774
  There is a canonical group homomorphism SL(2,C)->SL(N,C) coming from
1775
1775
  the the natural SL(2,C)-action on the vector space Sym^{N-1}(C^2).
@@ -2261,7 +2261,7 @@ def _X(N, k, v):
2261
2261
  See (10.2) of
2262
2262
  Garoufalidis, Goerner, Zickert:
2263
2263
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
2264
- http://arxiv.org/abs/1207.6711
2264
+ https://arxiv.org/abs/1207.6711
2265
2265
  """
2266
2266
 
2267
2267
  m = [[_kronecker_delta(i,j) for i in range(N)] for j in range(N)]
@@ -2277,7 +2277,7 @@ def _H(N, k, x):
2277
2277
  See (10.1) of
2278
2278
  Garoufalidis, Goerner, Zickert:
2279
2279
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
2280
- http://arxiv.org/abs/1207.6711
2280
+ https://arxiv.org/abs/1207.6711
2281
2281
  """
2282
2282
 
2283
2283
  def _entry(i, j):
@@ -8,7 +8,7 @@ from . import matrix
8
8
  # simplices. See Figure 18 for simplices.
9
9
  # Garoufalidis, Goerner, Zickert:
10
10
  # Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
11
- # http://arxiv.org/abs/1207.6711
11
+ # https://arxiv.org/abs/1207.6711
12
12
 
13
13
  # We use SnapPy's _choose_generators_info to construct the same fundamental
14
14
  # domain and side pairing that SnapPy uses for the unsimplified fundamental
@@ -36,7 +36,7 @@ class Vertex(tuple):
36
36
  """
37
37
 
38
38
  def __new__(cls, tet, v0, v1, v2):
39
- return super(Vertex, cls).__new__(cls, (tet, v0, v1, v2))
39
+ return super().__new__(cls, (tet, v0, v1, v2))
40
40
 
41
41
  def edges_starting_at_vertex(self):
42
42
  """
@@ -189,10 +189,10 @@ def _compute_point_identification_dict(choose_generators_info):
189
189
  the set of equivalent triples.
190
190
  """
191
191
 
192
- # Initialize: each vertex is mapped to set of only it self
193
- d = dict( [ (Vertex(tet, v0, v1, v2), set([Vertex(tet, v0, v1, v2)]))
194
- for tet in range(len(choose_generators_info))
195
- for v0, v1, v2, v3 in _perm4_iterator() ] )
192
+ # Initialize: each vertex is mapped to set of only itself
193
+ d = {Vertex(tet, v0, v1, v2): {Vertex(tet, v0, v1, v2)}
194
+ for tet in range(len(choose_generators_info))
195
+ for v0, v1, v2, v3 in _perm4_iterator()}
196
196
 
197
197
  # Go through all points on faces not corresponding to
198
198
  # generators
@@ -241,9 +241,9 @@ def _compute_point_to_shortest_path(point_identification_dict, origin,
241
241
  # this property. It maps all triples equivalent to pt to path.
242
242
 
243
243
  def identified_points_to_path(pt, path):
244
- return dict(
245
- [ (identified_pt, path)
246
- for identified_pt in point_identification_dict[pt] ] )
244
+ return {
245
+ identified_pt: path
246
+ for identified_pt in point_identification_dict[pt] }
247
247
 
248
248
  # Trivial paths for points identified with origin
249
249
  previously_added = identified_points_to_path(origin, Path())
@@ -21,12 +21,12 @@ def get_ptolemy_obstruction_classes(manifold):
21
21
  See Definition 1.7 of
22
22
  Garoufalidis, Thurston, Zickert
23
23
  The Complex Volume of SL(n,C)-Representations of 3-Manifolds
24
- http://arxiv.org/abs/1111.2828
24
+ https://arxiv.org/abs/1111.2828
25
25
 
26
26
  s_f_t takes values +/-1 and is the value of evaluating the cocycle on
27
27
  face f of tetrahedron t.
28
28
 
29
- === Examples ===
29
+ **Examples**
30
30
 
31
31
  Get the obstruction classes for 4_1:
32
32
 
@@ -172,44 +172,42 @@ class PtolemyVarietyList(list):
172
172
  for p in self ])
173
173
 
174
174
 
175
- def get_ptolemy_variety(manifold, N, obstruction_class=None,
176
- simplify=True, eliminate_fixed_ptolemys=False):
175
+ def get_ptolemy_variety(manifold, N, obstruction_class = None,
176
+ simplify : bool =True,
177
+ eliminate_fixed_ptolemys : bool =False):
177
178
  """
178
179
  Generates Ptolemy variety as described in
179
180
  (1) Garoufalidis, Thurston, Zickert
180
181
  The Complex Volume of SL(n,C)-Representations of 3-Manifolds
181
- http://arxiv.org/abs/1111.2828
182
+ https://arxiv.org/abs/1111.2828
182
183
 
183
184
  (2) Garoufalidis, Goerner, Zickert:
184
185
  Gluing Equations for PGL(n,C)-Representations of 3-Manifolds
185
- http://arxiv.org/abs/1207.6711
186
+ https://arxiv.org/abs/1207.6711
186
187
 
187
188
  The variety can be exported to magma or sage and solved there. The
188
189
  solutions can be processed to compute invariants. See below.
189
190
 
190
- === Arguments ===
191
+ :param N: which SL(N,C) we want the variety.
191
192
 
192
- N --- which SL(N,C) we want the variety.
193
+ :param obstruction_class: class from Definition 1.7 of (1).
194
+ ``None`` for trivial class,
195
+ a value returned from :meth:`get_ptolemy_obstruction_classes`,
196
+ an integer indexing the obstruction classes returned from
197
+ :meth:`get_ptolemy_obstruction_classes`,
198
+ or 'all' to return a list of Ptolemy varieties, one for each
199
+ obstruction class.
193
200
 
194
- obstruction_class --- class from Definition 1.7 of (1).
195
- None for trivial class or a value returned from get_ptolemy_obstruction_classes.
196
- Short cuts: obstruction_class = 'all' returns a list of Ptolemy varieties
197
- for each obstruction. For easier iteration, can set obstruction_class to
198
- an integer.
201
+ :param simplify: indicate whether to simplify the equations which
202
+ significantly reduces the number of variables. Simplifying means that several identified Ptolemy coordinates :math:`x = y = z = ...`
203
+ are eliminated instead of adding relations :math:`x - y = 0, y - z = 0, ...`
199
204
 
200
- simplify --- boolean to indicate whether to simplify the equations which
201
- significantly reduces the number of variables.
202
- Simplifying means that several identified Ptolemy coordinates x = y = z = ...
203
- are eliminated instead of adding relations x - y = 0, y - z = 0, ...
204
- Defaults to True.
205
+ :param eliminate_fixed_ptolemys: boolean to indicate whether to eliminate
206
+ the Ptolemy coordinates that are set to 1 for fixing the decoration.
207
+ Even though this simplifies the resulting representation, setting it to
208
+ ``True`` can cause magma to run longer when finding a Groebner basis.
205
209
 
206
- eliminate_fixed_ptolemys --- boolean to indicate whether to eliminate
207
- the Ptolemy coordinates that are set to 1 for fixing the decoration.
208
- Even though this simplifies the resulting representation, setting it to
209
- True can cause magma to run longer when finding a Groebner basis.
210
- Defaults to False.
211
-
212
- === Examples for 4_1 ===
210
+ **Examples for 4_1**
213
211
 
214
212
  >>> from snappy import Manifold
215
213
  >>> M = Manifold("4_1")
@@ -248,7 +246,7 @@ def get_ptolemy_variety(manifold, N, obstruction_class=None,
248
246
 
249
247
 
250
248
 
251
- === If you have a magma installation ===
249
+ **If you have a magma installation**
252
250
 
253
251
  Call p.compute_solutions() to automatically call magma on the above output
254
252
  and produce exact solutions!!!
@@ -258,7 +256,7 @@ def get_ptolemy_variety(manifold, N, obstruction_class=None,
258
256
  ... except:
259
257
  ... sols = None # magma failed, use precomputed output instead
260
258
 
261
- === If you do not have a magma installation ===
259
+ **If you do not have a magma installation**
262
260
 
263
261
  Load a precomputed example from magma which is provided with the package:
264
262
 
@@ -282,7 +280,7 @@ def get_ptolemy_variety(manifold, N, obstruction_class=None,
282
280
  >>> if sols is None: # calling magma failed, so use precomputed example
283
281
  ... sols = solutions_from_magma(_magma_output_for_4_1__sl3)
284
282
 
285
- === Continue here whether you have or do not have magma ===
283
+ **Continue here whether you have or do not have magma**
286
284
 
287
285
  Pick the first solution of the three different solutions (up to Galois
288
286
  conjugates):
@@ -306,7 +304,7 @@ def get_ptolemy_variety(manifold, N, obstruction_class=None,
306
304
  >>> len(simplified.equations), len(full.equations)
307
305
  (24, 72)
308
306
 
309
- === ONLY DOCTESTS, NOT PART OF DOCUMENTATION ===
307
+ **ONLY DOCTESTS, NOT PART OF DOCUMENTATION**
310
308
 
311
309
  >>> varieties = get_ptolemy_variety(M, N = 2, obstruction_class = "all", eliminate_fixed_ptolemys = True)
312
310