snappy 3.1.1__cp312-cp312-win_amd64.whl → 3.2__cp312-cp312-win_amd64.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (471) hide show
  1. snappy/CyOpenGL.cp312-win_amd64.pyd +0 -0
  2. snappy/SnapPy.cp312-win_amd64.pyd +0 -0
  3. snappy/SnapPyHP.cp312-win_amd64.pyd +0 -0
  4. snappy/__init__.py +271 -401
  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 -924
  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 -12
  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 -74
  85. snappy/doc/_static/searchtools.js +108 -62
  86. snappy/doc/_static/snappy_furo.css +33 -33
  87. snappy/doc/_static/snappy_sphinx_rtd_theme.css +42 -42
  88. snappy/doc/additional_classes.html +1499 -1330
  89. snappy/doc/bugs.html +131 -134
  90. snappy/doc/censuses.html +426 -445
  91. snappy/doc/credits.html +180 -183
  92. snappy/doc/development.html +383 -363
  93. snappy/doc/genindex.html +1330 -1409
  94. snappy/doc/index.html +261 -206
  95. snappy/doc/installing.html +345 -363
  96. snappy/doc/manifold.html +3451 -2839
  97. snappy/doc/manifoldhp.html +179 -182
  98. snappy/doc/news.html +387 -329
  99. snappy/doc/objects.inv +0 -0
  100. snappy/doc/other.html +160 -162
  101. snappy/doc/platonic_census.html +374 -377
  102. snappy/doc/plink.html +209 -212
  103. snappy/doc/ptolemy.html +253 -255
  104. snappy/doc/ptolemy_classes.html +1143 -1146
  105. snappy/doc/ptolemy_examples1.html +408 -410
  106. snappy/doc/ptolemy_examples2.html +470 -473
  107. snappy/doc/ptolemy_examples3.html +413 -416
  108. snappy/doc/ptolemy_examples4.html +194 -197
  109. snappy/doc/ptolemy_prelim.html +247 -250
  110. snappy/doc/py-modindex.html +164 -167
  111. snappy/doc/screenshots.html +140 -142
  112. snappy/doc/search.html +134 -137
  113. snappy/doc/searchindex.js +1 -1
  114. snappy/doc/snap.html +201 -204
  115. snappy/doc/snappy.html +180 -182
  116. snappy/doc/spherogram.html +1210 -1213
  117. snappy/doc/todo.html +165 -168
  118. snappy/doc/triangulation.html +1583 -1474
  119. snappy/doc/tutorial.html +158 -161
  120. snappy/doc/verify.html +329 -275
  121. snappy/doc/verify_internals.html +1234 -1691
  122. snappy/drilling/__init__.py +153 -235
  123. snappy/drilling/barycentric.py +103 -0
  124. snappy/drilling/constants.py +0 -2
  125. snappy/drilling/crush.py +56 -130
  126. snappy/drilling/cusps.py +12 -6
  127. snappy/drilling/debug.py +2 -1
  128. snappy/drilling/exceptions.py +7 -40
  129. snappy/drilling/moves.py +302 -243
  130. snappy/drilling/perturb.py +63 -37
  131. snappy/drilling/shorten.py +36 -0
  132. snappy/drilling/subdivide.py +0 -5
  133. snappy/drilling/test.py +23 -0
  134. snappy/drilling/test_cases.py +126 -0
  135. snappy/drilling/tracing.py +9 -37
  136. snappy/exceptions.py +18 -5
  137. snappy/exterior_to_link/barycentric_geometry.py +2 -4
  138. snappy/exterior_to_link/main.py +8 -7
  139. snappy/exterior_to_link/mcomplex_with_link.py +2 -2
  140. snappy/exterior_to_link/rational_linear_algebra.py +1 -1
  141. snappy/exterior_to_link/rational_linear_algebra_wrapped.py +1 -1
  142. snappy/exterior_to_link/test.py +21 -33
  143. snappy/geometric_structure/__init__.py +212 -0
  144. snappy/geometric_structure/cusp_neighborhood/__init__.py +3 -0
  145. snappy/geometric_structure/cusp_neighborhood/complex_cusp_cross_section.py +697 -0
  146. snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +484 -0
  147. snappy/geometric_structure/cusp_neighborhood/exceptions.py +42 -0
  148. snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +298 -0
  149. snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +159 -0
  150. snappy/geometric_structure/cusp_neighborhood/vertices.py +32 -0
  151. snappy/geometric_structure/geodesic/__init__.py +0 -0
  152. snappy/geometric_structure/geodesic/add_core_curves.py +152 -0
  153. snappy/geometric_structure/geodesic/avoid_core_curves.py +369 -0
  154. snappy/geometric_structure/geodesic/canonical_keys.py +52 -0
  155. snappy/geometric_structure/geodesic/check_away_from_core_curve.py +60 -0
  156. snappy/geometric_structure/geodesic/constants.py +6 -0
  157. snappy/geometric_structure/geodesic/exceptions.py +22 -0
  158. snappy/{drilling → geometric_structure/geodesic}/fixed_points.py +34 -9
  159. snappy/{drilling/geodesic_info.py → geometric_structure/geodesic/geodesic_start_point_info.py} +139 -180
  160. snappy/geometric_structure/geodesic/graph_trace_helper.py +67 -0
  161. snappy/geometric_structure/geodesic/line.py +30 -0
  162. snappy/geometric_structure/geodesic/multiplicity.py +127 -0
  163. snappy/geometric_structure/geodesic/tiles_for_geodesic.py +101 -0
  164. snappy/geometric_structure/test.py +22 -0
  165. snappy/gui.py +23 -13
  166. snappy/horoviewer.py +7 -7
  167. snappy/hyperboloid/__init__.py +96 -31
  168. snappy/hyperboloid/distances.py +245 -0
  169. snappy/hyperboloid/horoball.py +19 -0
  170. snappy/hyperboloid/line.py +35 -0
  171. snappy/hyperboloid/point.py +9 -0
  172. snappy/hyperboloid/triangle.py +29 -0
  173. snappy/isometry_signature.py +382 -0
  174. snappy/len_spec/__init__.py +596 -0
  175. snappy/len_spec/geodesic_info.py +110 -0
  176. snappy/len_spec/geodesic_key_info_dict.py +117 -0
  177. snappy/len_spec/geodesic_piece.py +143 -0
  178. snappy/len_spec/geometric_structure.py +182 -0
  179. snappy/len_spec/geometry.py +80 -0
  180. snappy/len_spec/length_spectrum_geodesic_info.py +170 -0
  181. snappy/len_spec/spine.py +206 -0
  182. snappy/len_spec/test.py +24 -0
  183. snappy/len_spec/test_cases.py +69 -0
  184. snappy/len_spec/tile.py +275 -0
  185. snappy/len_spec/word.py +86 -0
  186. snappy/math_basics.py +39 -13
  187. snappy/matrix.py +52 -9
  188. snappy/number.py +12 -6
  189. snappy/numeric_output_checker.py +2 -3
  190. snappy/pari.py +6 -3
  191. snappy/polyviewer.py +8 -8
  192. snappy/ptolemy/__init__.py +1 -1
  193. snappy/ptolemy/component.py +2 -2
  194. snappy/ptolemy/coordinates.py +25 -25
  195. snappy/ptolemy/findLoops.py +9 -9
  196. snappy/ptolemy/manifoldMethods.py +27 -29
  197. snappy/ptolemy/polynomial.py +50 -57
  198. snappy/ptolemy/processFileBase.py +60 -0
  199. snappy/ptolemy/ptolemyVariety.py +109 -41
  200. snappy/ptolemy/reginaWrapper.py +4 -4
  201. snappy/ptolemy/rur.py +1 -1
  202. snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +9 -9
  203. snappy/ptolemy/test.py +99 -54
  204. snappy/ptolemy/utilities.py +1 -1
  205. snappy/raytracing/__init__.py +64 -0
  206. snappy/raytracing/additional_horospheres.py +64 -0
  207. snappy/raytracing/additional_len_spec_choices.py +63 -0
  208. snappy/raytracing/cohomology_fractal.py +0 -3
  209. snappy/raytracing/eyeball.py +123 -0
  210. snappy/raytracing/finite_raytracing_data.py +17 -17
  211. snappy/raytracing/finite_viewer.py +15 -15
  212. snappy/raytracing/geodesic_tube_info.py +93 -63
  213. snappy/raytracing/geodesics.py +94 -64
  214. snappy/raytracing/geodesics_window.py +56 -34
  215. snappy/raytracing/gui_utilities.py +21 -6
  216. snappy/raytracing/hyperboloid_navigation.py +29 -4
  217. snappy/raytracing/hyperboloid_utilities.py +73 -73
  218. snappy/raytracing/ideal_raytracing_data.py +121 -91
  219. snappy/raytracing/inside_viewer.py +199 -66
  220. snappy/raytracing/pack.py +22 -0
  221. snappy/raytracing/raytracing_data.py +37 -25
  222. snappy/raytracing/raytracing_view.py +70 -65
  223. snappy/raytracing/shaders/Eye.png +0 -0
  224. snappy/raytracing/shaders/NonGeometric.png +0 -0
  225. snappy/raytracing/shaders/__init__.py +39 -3
  226. snappy/raytracing/shaders/fragment.glsl +451 -133
  227. snappy/raytracing/test.py +29 -0
  228. snappy/raytracing/tooltip.py +146 -0
  229. snappy/raytracing/upper_halfspace_utilities.py +42 -9
  230. snappy/sage_helper.py +67 -134
  231. snappy/settings.py +90 -77
  232. snappy/shell.py +2 -0
  233. snappy/snap/character_varieties.py +2 -2
  234. snappy/snap/find_field.py +4 -3
  235. snappy/snap/fundamental_polyhedron.py +2 -2
  236. snappy/snap/kernel_structures.py +5 -1
  237. snappy/snap/nsagetools.py +9 -8
  238. snappy/snap/peripheral/dual_cellulation.py +4 -3
  239. snappy/snap/peripheral/peripheral.py +2 -2
  240. snappy/snap/peripheral/surface.py +5 -5
  241. snappy/snap/peripheral/test.py +1 -1
  242. snappy/snap/polished_reps.py +8 -8
  243. snappy/snap/slice_obs_HKL.py +16 -14
  244. snappy/snap/t3mlite/arrow.py +3 -3
  245. snappy/snap/t3mlite/edge.py +3 -3
  246. snappy/snap/t3mlite/homology.py +2 -2
  247. snappy/snap/t3mlite/mcomplex.py +3 -3
  248. snappy/snap/t3mlite/simplex.py +12 -0
  249. snappy/snap/t3mlite/spun.py +18 -17
  250. snappy/snap/t3mlite/test_vs_regina.py +4 -4
  251. snappy/snap/test.py +37 -53
  252. snappy/snap/utilities.py +4 -5
  253. snappy/test.py +121 -138
  254. snappy/test_cases.py +263 -0
  255. snappy/testing.py +131 -0
  256. snappy/tiling/__init__.py +2 -0
  257. snappy/tiling/canonical_key_dict.py +59 -0
  258. snappy/tiling/dict_based_set.py +79 -0
  259. snappy/tiling/floor.py +49 -0
  260. snappy/tiling/hyperboloid_dict.py +54 -0
  261. snappy/tiling/iter_utils.py +78 -0
  262. snappy/tiling/lifted_tetrahedron.py +22 -0
  263. snappy/tiling/lifted_tetrahedron_set.py +54 -0
  264. snappy/tiling/real_hash_dict.py +164 -0
  265. snappy/tiling/test.py +23 -0
  266. snappy/tiling/tile.py +215 -0
  267. snappy/tiling/triangle.py +33 -0
  268. snappy/tkterminal.py +113 -84
  269. snappy/twister/main.py +1 -7
  270. snappy/twister/twister_core.cp312-win_amd64.pyd +0 -0
  271. snappy/upper_halfspace/__init__.py +78 -17
  272. snappy/verify/__init__.py +3 -7
  273. snappy/verify/{verifyCanonical.py → canonical.py} +78 -70
  274. snappy/verify/complex_volume/adjust_torsion.py +1 -2
  275. snappy/verify/complex_volume/closed.py +13 -13
  276. snappy/verify/complex_volume/cusped.py +6 -6
  277. snappy/verify/complex_volume/extended_bloch.py +5 -8
  278. snappy/verify/{cuspTranslations.py → cusp_translations.py} +1 -1
  279. snappy/verify/edge_equations.py +80 -0
  280. snappy/verify/exceptions.py +0 -55
  281. snappy/verify/{verifyHyperbolicity.py → hyperbolicity.py} +3 -3
  282. snappy/verify/interval_newton_shapes_engine.py +7 -5
  283. snappy/verify/interval_tree.py +5 -5
  284. snappy/verify/krawczyk_shapes_engine.py +17 -18
  285. snappy/verify/maximal_cusp_area_matrix/__init__.py +7 -74
  286. snappy/verify/maximal_cusp_area_matrix/cusp_tiling_engine.py +3 -4
  287. snappy/verify/maximal_cusp_area_matrix/cusp_translate_engine.py +1 -1
  288. snappy/verify/{realAlgebra.py → real_algebra.py} +1 -1
  289. snappy/verify/shapes.py +5 -3
  290. snappy/verify/short_slopes.py +39 -41
  291. snappy/verify/{squareExtensions.py → square_extensions.py} +14 -11
  292. snappy/verify/test.py +57 -60
  293. snappy/verify/upper_halfspace/extended_matrix.py +1 -1
  294. snappy/verify/upper_halfspace/finite_point.py +3 -4
  295. snappy/verify/upper_halfspace/ideal_point.py +9 -9
  296. snappy/verify/volume.py +2 -2
  297. snappy/version.py +2 -2
  298. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/METADATA +25 -11
  299. snappy-3.2.dist-info/RECORD +503 -0
  300. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/WHEEL +1 -1
  301. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/top_level.txt +6 -1
  302. snappy/__pycache__/__init__.cpython-312.pyc +0 -0
  303. snappy/__pycache__/browser.cpython-312.pyc +0 -0
  304. snappy/__pycache__/cache.cpython-312.pyc +0 -0
  305. snappy/__pycache__/database.cpython-312.pyc +0 -0
  306. snappy/__pycache__/db_utilities.cpython-312.pyc +0 -0
  307. snappy/__pycache__/decorated_isosig.cpython-312.pyc +0 -0
  308. snappy/__pycache__/exceptions.cpython-312.pyc +0 -0
  309. snappy/__pycache__/export_stl.cpython-312.pyc +0 -0
  310. snappy/__pycache__/filedialog.cpython-312.pyc +0 -0
  311. snappy/__pycache__/gui.cpython-312.pyc +0 -0
  312. snappy/__pycache__/horoviewer.cpython-312.pyc +0 -0
  313. snappy/__pycache__/math_basics.cpython-312.pyc +0 -0
  314. snappy/__pycache__/matrix.cpython-312.pyc +0 -0
  315. snappy/__pycache__/number.cpython-312.pyc +0 -0
  316. snappy/__pycache__/numeric_output_checker.cpython-312.pyc +0 -0
  317. snappy/__pycache__/pari.cpython-312.pyc +0 -0
  318. snappy/__pycache__/polyviewer.cpython-312.pyc +0 -0
  319. snappy/__pycache__/sage_helper.cpython-312.pyc +0 -0
  320. snappy/__pycache__/version.cpython-312.pyc +0 -0
  321. snappy/doc/_sources/verify_canon.rst.txt +0 -90
  322. snappy/doc/_static/js/html5shiv-printshiv.min.js +0 -4
  323. snappy/doc/_static/js/html5shiv.min.js +0 -4
  324. snappy/doc/verify_canon.html +0 -304
  325. snappy/drilling/__pycache__/__init__.cpython-312.pyc +0 -0
  326. snappy/drilling/__pycache__/constants.cpython-312.pyc +0 -0
  327. snappy/drilling/__pycache__/crush.cpython-312.pyc +0 -0
  328. snappy/drilling/__pycache__/cusps.cpython-312.pyc +0 -0
  329. snappy/drilling/__pycache__/debug.cpython-312.pyc +0 -0
  330. snappy/drilling/__pycache__/epsilons.cpython-312.pyc +0 -0
  331. snappy/drilling/__pycache__/exceptions.cpython-312.pyc +0 -0
  332. snappy/drilling/__pycache__/fixed_points.cpython-312.pyc +0 -0
  333. snappy/drilling/__pycache__/geodesic_info.cpython-312.pyc +0 -0
  334. snappy/drilling/__pycache__/geodesic_tube.cpython-312.pyc +0 -0
  335. snappy/drilling/__pycache__/geometric_structure.cpython-312.pyc +0 -0
  336. snappy/drilling/__pycache__/line.cpython-312.pyc +0 -0
  337. snappy/drilling/__pycache__/moves.cpython-312.pyc +0 -0
  338. snappy/drilling/__pycache__/peripheral_curves.cpython-312.pyc +0 -0
  339. snappy/drilling/__pycache__/perturb.cpython-312.pyc +0 -0
  340. snappy/drilling/__pycache__/quotient_space.cpython-312.pyc +0 -0
  341. snappy/drilling/__pycache__/spatial_dict.cpython-312.pyc +0 -0
  342. snappy/drilling/__pycache__/subdivide.cpython-312.pyc +0 -0
  343. snappy/drilling/__pycache__/tracing.cpython-312.pyc +0 -0
  344. snappy/drilling/geodesic_tube.py +0 -441
  345. snappy/drilling/geometric_structure.py +0 -366
  346. snappy/drilling/line.py +0 -122
  347. snappy/drilling/quotient_space.py +0 -94
  348. snappy/drilling/spatial_dict.py +0 -128
  349. snappy/exterior_to_link/__pycache__/__init__.cpython-312.pyc +0 -0
  350. snappy/exterior_to_link/__pycache__/barycentric_geometry.cpython-312.pyc +0 -0
  351. snappy/exterior_to_link/__pycache__/exceptions.cpython-312.pyc +0 -0
  352. snappy/exterior_to_link/__pycache__/hyp_utils.cpython-312.pyc +0 -0
  353. snappy/exterior_to_link/__pycache__/link_projection.cpython-312.pyc +0 -0
  354. snappy/exterior_to_link/__pycache__/main.cpython-312.pyc +0 -0
  355. snappy/exterior_to_link/__pycache__/mcomplex_with_expansion.cpython-312.pyc +0 -0
  356. snappy/exterior_to_link/__pycache__/mcomplex_with_link.cpython-312.pyc +0 -0
  357. snappy/exterior_to_link/__pycache__/mcomplex_with_memory.cpython-312.pyc +0 -0
  358. snappy/exterior_to_link/__pycache__/pl_utils.cpython-312.pyc +0 -0
  359. snappy/exterior_to_link/__pycache__/put_in_S3.cpython-312.pyc +0 -0
  360. snappy/exterior_to_link/__pycache__/rational_linear_algebra.cpython-312.pyc +0 -0
  361. snappy/exterior_to_link/__pycache__/simplify_to_base_tri.cpython-312.pyc +0 -0
  362. snappy/exterior_to_link/__pycache__/stored_moves.cpython-312.pyc +0 -0
  363. snappy/hyperboloid/__pycache__/__init__.cpython-312.pyc +0 -0
  364. snappy/manifolds/__pycache__/__init__.cpython-312.pyc +0 -0
  365. snappy/ptolemy/__pycache__/__init__.cpython-312.pyc +0 -0
  366. snappy/ptolemy/__pycache__/component.cpython-312.pyc +0 -0
  367. snappy/ptolemy/__pycache__/coordinates.cpython-312.pyc +0 -0
  368. snappy/ptolemy/__pycache__/fieldExtensions.cpython-312.pyc +0 -0
  369. snappy/ptolemy/__pycache__/findLoops.cpython-312.pyc +0 -0
  370. snappy/ptolemy/__pycache__/homology.cpython-312.pyc +0 -0
  371. snappy/ptolemy/__pycache__/manifoldMethods.cpython-312.pyc +0 -0
  372. snappy/ptolemy/__pycache__/matrix.cpython-312.pyc +0 -0
  373. snappy/ptolemy/__pycache__/numericalSolutionsToGroebnerBasis.cpython-312.pyc +0 -0
  374. snappy/ptolemy/__pycache__/polynomial.cpython-312.pyc +0 -0
  375. snappy/ptolemy/__pycache__/processComponents.cpython-312.pyc +0 -0
  376. snappy/ptolemy/__pycache__/processFileBase.cpython-312.pyc +0 -0
  377. snappy/ptolemy/__pycache__/processFileDispatch.cpython-312.pyc +0 -0
  378. snappy/ptolemy/__pycache__/processMagmaFile.cpython-312.pyc +0 -0
  379. snappy/ptolemy/__pycache__/processRurFile.cpython-312.pyc +0 -0
  380. snappy/ptolemy/__pycache__/ptolemyGeneralizedObstructionClass.cpython-312.pyc +0 -0
  381. snappy/ptolemy/__pycache__/ptolemyObstructionClass.cpython-312.pyc +0 -0
  382. snappy/ptolemy/__pycache__/ptolemyVariety.cpython-312.pyc +0 -0
  383. snappy/ptolemy/__pycache__/ptolemyVarietyPrimeIdealGroebnerBasis.cpython-312.pyc +0 -0
  384. snappy/ptolemy/__pycache__/rur.cpython-312.pyc +0 -0
  385. snappy/ptolemy/__pycache__/solutionsToPrimeIdealGroebnerBasis.cpython-312.pyc +0 -0
  386. snappy/ptolemy/__pycache__/utilities.cpython-312.pyc +0 -0
  387. snappy/snap/__pycache__/__init__.cpython-312.pyc +0 -0
  388. snappy/snap/__pycache__/character_varieties.cpython-312.pyc +0 -0
  389. snappy/snap/__pycache__/fundamental_polyhedron.cpython-312.pyc +0 -0
  390. snappy/snap/__pycache__/interval_reps.cpython-312.pyc +0 -0
  391. snappy/snap/__pycache__/kernel_structures.cpython-312.pyc +0 -0
  392. snappy/snap/__pycache__/mcomplex_base.cpython-312.pyc +0 -0
  393. snappy/snap/__pycache__/nsagetools.cpython-312.pyc +0 -0
  394. snappy/snap/__pycache__/polished_reps.cpython-312.pyc +0 -0
  395. snappy/snap/__pycache__/shapes.cpython-312.pyc +0 -0
  396. snappy/snap/__pycache__/slice_obs_HKL.cpython-312.pyc +0 -0
  397. snappy/snap/__pycache__/utilities.cpython-312.pyc +0 -0
  398. snappy/snap/peripheral/__pycache__/__init__.cpython-312.pyc +0 -0
  399. snappy/snap/peripheral/__pycache__/dual_cellulation.cpython-312.pyc +0 -0
  400. snappy/snap/peripheral/__pycache__/link.cpython-312.pyc +0 -0
  401. snappy/snap/peripheral/__pycache__/peripheral.cpython-312.pyc +0 -0
  402. snappy/snap/peripheral/__pycache__/surface.cpython-312.pyc +0 -0
  403. snappy/snap/t3mlite/__pycache__/__init__.cpython-312.pyc +0 -0
  404. snappy/snap/t3mlite/__pycache__/arrow.cpython-312.pyc +0 -0
  405. snappy/snap/t3mlite/__pycache__/corner.cpython-312.pyc +0 -0
  406. snappy/snap/t3mlite/__pycache__/edge.cpython-312.pyc +0 -0
  407. snappy/snap/t3mlite/__pycache__/face.cpython-312.pyc +0 -0
  408. snappy/snap/t3mlite/__pycache__/files.cpython-312.pyc +0 -0
  409. snappy/snap/t3mlite/__pycache__/homology.cpython-312.pyc +0 -0
  410. snappy/snap/t3mlite/__pycache__/linalg.cpython-312.pyc +0 -0
  411. snappy/snap/t3mlite/__pycache__/mcomplex.cpython-312.pyc +0 -0
  412. snappy/snap/t3mlite/__pycache__/perm4.cpython-312.pyc +0 -0
  413. snappy/snap/t3mlite/__pycache__/simplex.cpython-312.pyc +0 -0
  414. snappy/snap/t3mlite/__pycache__/spun.cpython-312.pyc +0 -0
  415. snappy/snap/t3mlite/__pycache__/surface.cpython-312.pyc +0 -0
  416. snappy/snap/t3mlite/__pycache__/tetrahedron.cpython-312.pyc +0 -0
  417. snappy/snap/t3mlite/__pycache__/vertex.cpython-312.pyc +0 -0
  418. snappy/togl/__init__.py +0 -3
  419. snappy/togl/darwin-tk8.6/Togl2.1/LICENSE +0 -28
  420. snappy/togl/darwin-tk8.6/Togl2.1/libTogl2.1.dylib +0 -0
  421. snappy/togl/darwin-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  422. snappy/togl/darwin-tk8.7/Togl2.1/LICENSE +0 -28
  423. snappy/togl/darwin-tk8.7/Togl2.1/libTogl2.1.dylib +0 -0
  424. snappy/togl/darwin-tk8.7/Togl2.1/pkgIndex.tcl +0 -5
  425. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  426. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/libTogl2.1.so +0 -0
  427. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  428. snappy/togl/win32VC-tk8.6/Togl2.1/LICENSE +0 -28
  429. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.dll +0 -0
  430. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.lib +0 -0
  431. snappy/togl/win32VC-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  432. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  433. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.dll +0 -0
  434. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.lib +0 -0
  435. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  436. snappy/twister/__pycache__/__init__.cpython-312.pyc +0 -0
  437. snappy/twister/__pycache__/main.cpython-312.pyc +0 -0
  438. snappy/upper_halfspace/__pycache__/__init__.cpython-312.pyc +0 -0
  439. snappy/upper_halfspace/__pycache__/ideal_point.cpython-312.pyc +0 -0
  440. snappy/verify/__pycache__/__init__.cpython-312.pyc +0 -0
  441. snappy/verify/__pycache__/cuspCrossSection.cpython-312.pyc +0 -0
  442. snappy/verify/__pycache__/cuspTranslations.cpython-312.pyc +0 -0
  443. snappy/verify/__pycache__/cusp_areas.cpython-312.pyc +0 -0
  444. snappy/verify/__pycache__/cusp_shapes.cpython-312.pyc +0 -0
  445. snappy/verify/__pycache__/exceptions.cpython-312.pyc +0 -0
  446. snappy/verify/__pycache__/interval_newton_shapes_engine.cpython-312.pyc +0 -0
  447. snappy/verify/__pycache__/interval_tree.cpython-312.pyc +0 -0
  448. snappy/verify/__pycache__/krawczyk_shapes_engine.cpython-312.pyc +0 -0
  449. snappy/verify/__pycache__/realAlgebra.cpython-312.pyc +0 -0
  450. snappy/verify/__pycache__/shapes.cpython-312.pyc +0 -0
  451. snappy/verify/__pycache__/short_slopes.cpython-312.pyc +0 -0
  452. snappy/verify/__pycache__/squareExtensions.cpython-312.pyc +0 -0
  453. snappy/verify/__pycache__/verifyCanonical.cpython-312.pyc +0 -0
  454. snappy/verify/__pycache__/verifyHyperbolicity.cpython-312.pyc +0 -0
  455. snappy/verify/__pycache__/volume.cpython-312.pyc +0 -0
  456. snappy/verify/complex_volume/__pycache__/__init__.cpython-312.pyc +0 -0
  457. snappy/verify/complex_volume/__pycache__/adjust_torsion.cpython-312.pyc +0 -0
  458. snappy/verify/complex_volume/__pycache__/closed.cpython-312.pyc +0 -0
  459. snappy/verify/complex_volume/__pycache__/compute_ptolemys.cpython-312.pyc +0 -0
  460. snappy/verify/complex_volume/__pycache__/cusped.cpython-312.pyc +0 -0
  461. snappy/verify/complex_volume/__pycache__/extended_bloch.cpython-312.pyc +0 -0
  462. snappy/verify/cuspCrossSection.py +0 -1422
  463. snappy/verify/maximal_cusp_area_matrix/__pycache__/__init__.cpython-312.pyc +0 -0
  464. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_tiling_engine.cpython-312.pyc +0 -0
  465. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_translate_engine.cpython-312.pyc +0 -0
  466. snappy/verify/upper_halfspace/__pycache__/__init__.cpython-312.pyc +0 -0
  467. snappy/verify/upper_halfspace/__pycache__/extended_matrix.cpython-312.pyc +0 -0
  468. snappy/verify/upper_halfspace/__pycache__/finite_point.cpython-312.pyc +0 -0
  469. snappy/verify/upper_halfspace/__pycache__/ideal_point.cpython-312.pyc +0 -0
  470. snappy-3.1.1.dist-info/RECORD +0 -572
  471. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/entry_points.txt +0 -0
@@ -1,198 +1,195 @@
1
- <!DOCTYPE html>
2
- <html class="writer-html5" lang="en" >
3
- <head>
4
- <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
5
-
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>Step-by-step examples: Part 4 &mdash; SnapPy 3.1.1 documentation</title>
8
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
9
- <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
10
- <link rel="stylesheet" href="_static/snappy_sphinx_rtd_theme.css" type="text/css" />
11
- <link rel="shortcut icon" href="_static/SnapPy.ico"/>
12
- <!--[if lt IE 9]>
13
- <script src="_static/js/html5shiv.min.js"></script>
14
- <![endif]-->
15
-
16
- <script src="_static/jquery.js?v=5d32c60e"></script>
17
- <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
18
- <script src="_static/documentation_options.js?v=796a81b5"></script>
19
- <script src="_static/doctools.js?v=888ff710"></script>
20
- <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
21
- <script src="_static/js/theme.js"></script>
22
- <link rel="index" title="Index" href="genindex.html" />
23
- <link rel="search" title="Search" href="search.html" />
24
- <link rel="next" title="Classes" href="ptolemy_classes.html" />
25
- <link rel="prev" title="Step-by-step examples: Part 3" href="ptolemy_examples3.html" />
26
- </head>
27
-
28
- <body class="wy-body-for-nav">
29
- <div class="wy-grid-for-nav">
30
- <nav data-toggle="wy-nav-shift" class="wy-nav-side">
31
- <div class="wy-side-scroll">
32
- <div class="wy-side-nav-search" >
33
-
34
-
35
-
36
- <a href="index.html" class="icon icon-home">
37
- SnapPy
38
- <img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
39
- </a>
40
- <div class="version">
41
- 3.1.1
42
- </div>
43
- <div role="search">
44
- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
45
- <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
46
- <input type="hidden" name="check_keywords" value="yes" />
47
- <input type="hidden" name="area" value="default" />
48
- </form>
49
- </div>
50
- </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
51
- <ul class="current">
52
- <li class="toctree-l1"><a class="reference internal" href="installing.html">Installing SnapPy</a></li>
53
- <li class="toctree-l1"><a class="reference internal" href="screenshots.html">Screenshots: SnapPy in action</a></li>
54
- <li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial</a></li>
55
- <li class="toctree-l1"><a class="reference internal" href="snappy.html">The snappy module and its classes</a></li>
56
- <li class="toctree-l1"><a class="reference internal" href="plink.html">Using SnapPy’s link editor</a></li>
57
- <li class="toctree-l1"><a class="reference internal" href="spherogram.html">Links: planar diagrams and invariants</a></li>
58
- <li class="toctree-l1"><a class="reference internal" href="snap.html">Number theory of hyperbolic 3-manifolds</a></li>
59
- <li class="toctree-l1"><a class="reference internal" href="verify.html">Verified computations</a></li>
60
- <li class="toctree-l1 current"><a class="reference internal" href="other.html">Other components</a><ul class="current">
61
- <li class="toctree-l2 current"><a class="reference internal" href="other.html#ptolemy-module">Ptolemy module</a><ul class="current">
62
- <li class="toctree-l3 current"><a class="reference internal" href="ptolemy.html">The ptolemy module</a><ul class="current">
63
- <li class="toctree-l4"><a class="reference internal" href="ptolemy.html#what-is-the-ptolemy-module">What is the ptolemy module?</a></li>
64
- <li class="toctree-l4 current"><a class="reference internal" href="ptolemy.html#documentation">Documentation</a><ul class="current">
65
- <li class="toctree-l5"><a class="reference internal" href="ptolemy_prelim.html">Mathematical preliminaries</a></li>
66
- <li class="toctree-l5"><a class="reference internal" href="ptolemy_examples1.html">Step-by-step examples: Part 1</a></li>
67
- <li class="toctree-l5"><a class="reference internal" href="ptolemy_examples2.html">Step-by-step examples: Part 2</a></li>
68
- <li class="toctree-l5"><a class="reference internal" href="ptolemy_examples3.html">Step-by-step examples: Part 3</a></li>
69
- <li class="toctree-l5 current"><a class="current reference internal" href="#">Step-by-step examples: Part 4</a></li>
70
- <li class="toctree-l5"><a class="reference internal" href="ptolemy_classes.html">Classes</a></li>
71
- </ul>
72
- </li>
73
- </ul>
74
- </li>
75
- </ul>
76
- </li>
77
- <li class="toctree-l2"><a class="reference internal" href="other.html#twister">Twister</a></li>
78
- </ul>
79
- </li>
80
- <li class="toctree-l1"><a class="reference internal" href="news.html">News</a></li>
81
- <li class="toctree-l1"><a class="reference internal" href="credits.html">Credits</a></li>
82
- <li class="toctree-l1"><a class="reference internal" href="bugs.html">Reporting bugs and other problems</a></li>
83
- <li class="toctree-l1"><a class="reference internal" href="todo.html">To Do List</a></li>
84
- <li class="toctree-l1"><a class="reference internal" href="development.html">Development Basics</a></li>
85
- </ul>
86
-
87
- </div>
88
- </div>
89
- </nav>
90
-
91
- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
92
- <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
93
- <a href="index.html">SnapPy</a>
94
- </nav>
95
-
96
- <div class="wy-nav-content">
97
- <div class="rst-content">
98
- <div role="navigation" aria-label="Page navigation">
99
- <ul class="wy-breadcrumbs">
100
- <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
101
- <li class="breadcrumb-item"><a href="other.html">Other components</a></li>
102
- <li class="breadcrumb-item"><a href="ptolemy.html">The ptolemy module</a></li>
103
- <li class="breadcrumb-item active">Step-by-step examples: Part 4</li>
104
- <li class="wy-breadcrumbs-aside">
105
- </li>
106
- </ul>
107
- <hr/>
108
- </div>
109
- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
110
- <div itemprop="articleBody">
111
-
112
- <section id="step-by-step-examples-part-4">
113
- <h1>Step-by-step examples: Part 4<a class="headerlink" href="#step-by-step-examples-part-4" title="Link to this heading"></a></h1>
114
- <p><strong>Advanced topics. Still under construction.</strong></p>
115
- <section id="the-structure-of-an-exact-solution">
116
- <span id="ptolemy-example-structure-of-solution"></span><h2>The structure of an exact solution<a class="headerlink" href="#the-structure-of-an-exact-solution" title="Link to this heading"></a></h2>
117
- <p>A solution to the Ptolemy variety (here <code class="docutils literal notranslate"><span class="pre">sol</span></code>) is an object of type <code class="docutils literal notranslate"><span class="pre">PtolemyCoordinates</span></code> which is a subclass of a python dictionary. It assigns a value to each Ptolemy coordinate c<sub>…</sub> (the s<sub>…</sub> are related to the obstruction class which is trivial here). We can get the value assigned to a particular Ptolemy coordinate as follows:</p>
118
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s2">&quot;m003&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">ptolemy_variety</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">retrieve_solutions</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
119
- <span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0101_1&#39;</span><span class="p">]</span>
120
- <span class="go">Mod(-x, x^2 - x - 1)</span>
121
- </pre></div>
122
- </div>
123
- <p>This is a pari object of type <cite>POLMOD</cite>. It means that the solution is in the number field with defining polynomial <em>x</em><sup>2</sup>- <em>x</em> - 1 and that it is equal to - <em>x</em> where <em>x</em> is a root in the defining polynomial.</p>
124
- <p>We can get to the parts of a pari <cite>POLMOD</cite> object by:</p>
125
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0101_1&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">lift</span><span class="p">()</span>
126
- <span class="go">-x</span>
127
- <span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0101_1&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">mod</span><span class="p">()</span>
128
- <span class="go">x^2 - x - 1</span>
129
- </pre></div>
130
- </div>
131
- <p>These objects also support the field operations, here we are computing a cross ratio:</p>
132
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0101_0&#39;</span><span class="p">]</span> <span class="o">*</span> <span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_1010_0&#39;</span><span class="p">])</span> <span class="o">/</span> <span class="p">(</span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_1001_0&#39;</span><span class="p">]</span> <span class="o">*</span> <span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0110_0&#39;</span><span class="p">])</span>
133
- <span class="go">Mod(x, x^2 - x - 1)</span>
134
- </pre></div>
135
- </div>
136
- <p><strong>Remark:</strong> We would prefer to represent these using types that are better suited when using sage such as NumberField and NumberFieldElement. In the future, we might jettison support of the ptolemy module outside of sage and use sage’s native types.</p>
137
- </section>
138
- <section id="rational-univariate-representation">
139
- <h2>Rational Univariate Representation<a class="headerlink" href="#rational-univariate-representation" title="Link to this heading"></a></h2>
140
- <p>We have some limited support for the <cite>Rational Univariate Representation</cite>, for example:</p>
141
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">sols</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s2">&quot;m069&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">ptolemy_variety</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">.</span><span class="n">retrieve_solutions</span><span class="p">()</span>
142
- <span class="gp">&gt;&gt;&gt; </span><span class="n">sols</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
143
- <span class="go">PtolemyCoordinates(</span>
144
- <span class="go"> { &#39;c_0201_0&#39;: ( Mod(-426088934700737884313191344*x^24 + 4110489425474123899213651272*x^23 ...</span>
145
- <span class="go"> - 67064980598091504185767190,</span>
146
- <span class="go"> x^25 ... - 196124*x^4 + 14010*x^3 - 1560*x^2 + 72*x - 1)</span>
147
- <span class="go"> ) / ( Mod(875895332415105303646551573*x^24 - 8450034810535061601312104296*x^23 ...</span>
148
- <span class="go"> + 137871639973525691285247446,</span>
149
- <span class="go"> x^25 ... - 196124*x^4 + 14010*x^3 - 1560*x^2 + 72*x - 1) ),</span>
150
- <span class="go"> ...</span>
151
- <span class="go"> },</span>
152
- <span class="go"> is_numerical = False, ...)</span>
153
- </pre></div>
154
- </div>
155
- <p>This means that <code class="docutils literal notranslate"><span class="pre">c_0201_0</span></code> is assigned the fraction of those two <code class="docutils literal notranslate"><span class="pre">POLDMOD</span></code> objects.</p>
156
- <p><strong>Remark:</strong> This is still under development.</p>
157
- </section>
158
- <section id="todo">
159
- <h2>TODO<a class="headerlink" href="#todo" title="Link to this heading"></a></h2>
160
- <ul class="simple">
161
- <li><p>Give an overview of the classes and the methods.</p></li>
162
- <li><p>Explain how the magma file are generated. Say that magma computes the RadicalDecomposition. Ptolemy module can process the lexicographic Groebner basis of a prime ideal.</p></li>
163
- </ul>
164
- </section>
165
- </section>
166
-
167
-
168
- </div>
169
- </div>
170
- <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
171
- <a href="ptolemy_examples3.html" class="btn btn-neutral float-left" title="Step-by-step examples: Part 3" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
172
- <a href="ptolemy_classes.html" class="btn btn-neutral float-right" title="Classes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
173
- </div>
174
-
175
- <hr/>
176
-
177
- <div role="contentinfo">
178
- <p>&#169; Copyright 2009-2023, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
179
- </div>
180
-
181
- Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
182
- <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
183
- provided by <a href="https://readthedocs.org">Read the Docs</a>.
184
-
185
-
186
- </footer>
187
- </div>
188
- </div>
189
- </section>
190
- </div>
191
- <script>
192
- jQuery(function () {
193
- SphinxRtdTheme.Navigation.enable(true);
194
- });
195
- </script>
196
-
197
- </body>
1
+
2
+
3
+ <!DOCTYPE html>
4
+ <html class="writer-html5" lang="en" data-content_root="./">
5
+ <head>
6
+ <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
7
+
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
+ <title>Step-by-step examples: Part 4 &mdash; SnapPy 3.2 documentation</title>
10
+ <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
11
+ <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
12
+ <link rel="stylesheet" type="text/css" href="_static/snappy_sphinx_rtd_theme.css?v=1b8ec2a8" />
13
+
14
+
15
+ <link rel="shortcut icon" href="_static/SnapPy.ico"/>
16
+ <script src="_static/jquery.js?v=5d32c60e"></script>
17
+ <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
18
+ <script src="_static/documentation_options.js?v=828ea960"></script>
19
+ <script src="_static/doctools.js?v=9a2dae69"></script>
20
+ <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
21
+ <script src="_static/js/theme.js"></script>
22
+ <link rel="index" title="Index" href="genindex.html" />
23
+ <link rel="search" title="Search" href="search.html" />
24
+ <link rel="next" title="Classes" href="ptolemy_classes.html" />
25
+ <link rel="prev" title="Step-by-step examples: Part 3" href="ptolemy_examples3.html" />
26
+ </head>
27
+
28
+ <body class="wy-body-for-nav">
29
+ <div class="wy-grid-for-nav">
30
+ <nav data-toggle="wy-nav-shift" class="wy-nav-side">
31
+ <div class="wy-side-scroll">
32
+ <div class="wy-side-nav-search" >
33
+
34
+
35
+
36
+ <a href="index.html" class="icon icon-home">
37
+ SnapPy
38
+ <img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
39
+ </a>
40
+ <div role="search">
41
+ <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
42
+ <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
43
+ <input type="hidden" name="check_keywords" value="yes" />
44
+ <input type="hidden" name="area" value="default" />
45
+ </form>
46
+ </div>
47
+ </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
48
+ <ul class="current">
49
+ <li class="toctree-l1"><a class="reference internal" href="installing.html">Installing SnapPy</a></li>
50
+ <li class="toctree-l1"><a class="reference internal" href="screenshots.html">Screenshots: SnapPy in action</a></li>
51
+ <li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial</a></li>
52
+ <li class="toctree-l1"><a class="reference internal" href="snappy.html">The snappy module and its classes</a></li>
53
+ <li class="toctree-l1"><a class="reference internal" href="plink.html">Using SnapPy’s link editor</a></li>
54
+ <li class="toctree-l1"><a class="reference internal" href="spherogram.html">Links: planar diagrams and invariants</a></li>
55
+ <li class="toctree-l1"><a class="reference internal" href="snap.html">Number theory of hyperbolic 3-manifolds</a></li>
56
+ <li class="toctree-l1"><a class="reference internal" href="verify.html">Verified computations</a></li>
57
+ <li class="toctree-l1 current"><a class="reference internal" href="other.html">Other components</a><ul class="current">
58
+ <li class="toctree-l2 current"><a class="reference internal" href="other.html#ptolemy-module">Ptolemy module</a><ul class="current">
59
+ <li class="toctree-l3 current"><a class="reference internal" href="ptolemy.html">The ptolemy module</a><ul class="current">
60
+ <li class="toctree-l4"><a class="reference internal" href="ptolemy.html#what-is-the-ptolemy-module">What is the ptolemy module?</a></li>
61
+ <li class="toctree-l4 current"><a class="reference internal" href="ptolemy.html#documentation">Documentation</a><ul class="current">
62
+ <li class="toctree-l5"><a class="reference internal" href="ptolemy_prelim.html">Mathematical preliminaries</a></li>
63
+ <li class="toctree-l5"><a class="reference internal" href="ptolemy_examples1.html">Step-by-step examples: Part 1</a></li>
64
+ <li class="toctree-l5"><a class="reference internal" href="ptolemy_examples2.html">Step-by-step examples: Part 2</a></li>
65
+ <li class="toctree-l5"><a class="reference internal" href="ptolemy_examples3.html">Step-by-step examples: Part 3</a></li>
66
+ <li class="toctree-l5 current"><a class="current reference internal" href="#">Step-by-step examples: Part 4</a></li>
67
+ <li class="toctree-l5"><a class="reference internal" href="ptolemy_classes.html">Classes</a></li>
68
+ </ul>
69
+ </li>
70
+ </ul>
71
+ </li>
72
+ </ul>
73
+ </li>
74
+ <li class="toctree-l2"><a class="reference internal" href="other.html#twister">Twister</a></li>
75
+ </ul>
76
+ </li>
77
+ <li class="toctree-l1"><a class="reference internal" href="news.html">News</a></li>
78
+ <li class="toctree-l1"><a class="reference internal" href="credits.html">Credits</a></li>
79
+ <li class="toctree-l1"><a class="reference internal" href="bugs.html">Reporting bugs and other problems</a></li>
80
+ <li class="toctree-l1"><a class="reference internal" href="todo.html">To Do List</a></li>
81
+ <li class="toctree-l1"><a class="reference internal" href="development.html">Development Basics</a></li>
82
+ </ul>
83
+
84
+ </div>
85
+ </div>
86
+ </nav>
87
+
88
+ <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
89
+ <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
90
+ <a href="index.html">SnapPy</a>
91
+ </nav>
92
+
93
+ <div class="wy-nav-content">
94
+ <div class="rst-content">
95
+ <div role="navigation" aria-label="Page navigation">
96
+ <ul class="wy-breadcrumbs">
97
+ <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
98
+ <li class="breadcrumb-item"><a href="other.html">Other components</a></li>
99
+ <li class="breadcrumb-item"><a href="ptolemy.html">The ptolemy module</a></li>
100
+ <li class="breadcrumb-item active">Step-by-step examples: Part 4</li>
101
+ <li class="wy-breadcrumbs-aside">
102
+ </li>
103
+ </ul>
104
+ <hr/>
105
+ </div>
106
+ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
107
+ <div itemprop="articleBody">
108
+
109
+ <section id="step-by-step-examples-part-4">
110
+ <h1>Step-by-step examples: Part 4<a class="headerlink" href="#step-by-step-examples-part-4" title="Link to this heading"></a></h1>
111
+ <p><strong>Advanced topics. Still under construction.</strong></p>
112
+ <section id="the-structure-of-an-exact-solution">
113
+ <span id="ptolemy-example-structure-of-solution"></span><h2>The structure of an exact solution<a class="headerlink" href="#the-structure-of-an-exact-solution" title="Link to this heading"></a></h2>
114
+ <p>A solution to the Ptolemy variety (here <code class="docutils literal notranslate"><span class="pre">sol</span></code>) is an object of type <code class="docutils literal notranslate"><span class="pre">PtolemyCoordinates</span></code> which is a subclass of a python dictionary. It assigns a value to each Ptolemy coordinate c<sub>…</sub> (the s<sub>…</sub> are related to the obstruction class which is trivial here). We can get the value assigned to a particular Ptolemy coordinate as follows:</p>
115
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s2">&quot;m003&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">ptolemy_variety</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">retrieve_solutions</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
116
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0101_1&#39;</span><span class="p">]</span>
117
+ <span class="go">Mod(-x, x^2 - x - 1)</span>
118
+ </pre></div>
119
+ </div>
120
+ <p>This is a pari object of type <cite>POLMOD</cite>. It means that the solution is in the number field with defining polynomial <em>x</em><sup>2</sup>- <em>x</em> - 1 and that it is equal to - <em>x</em> where <em>x</em> is a root in the defining polynomial.</p>
121
+ <p>We can get to the parts of a pari <cite>POLMOD</cite> object by:</p>
122
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0101_1&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">lift</span><span class="p">()</span>
123
+ <span class="go">-x</span>
124
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0101_1&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">mod</span><span class="p">()</span>
125
+ <span class="go">x^2 - x - 1</span>
126
+ </pre></div>
127
+ </div>
128
+ <p>These objects also support the field operations, here we are computing a cross ratio:</p>
129
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0101_0&#39;</span><span class="p">]</span> <span class="o">*</span> <span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_1010_0&#39;</span><span class="p">])</span> <span class="o">/</span> <span class="p">(</span><span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_1001_0&#39;</span><span class="p">]</span> <span class="o">*</span> <span class="n">sol</span><span class="p">[</span><span class="s1">&#39;c_0110_0&#39;</span><span class="p">])</span>
130
+ <span class="go">Mod(x, x^2 - x - 1)</span>
131
+ </pre></div>
132
+ </div>
133
+ <p><strong>Remark:</strong> We would prefer to represent these using types that are better suited when using sage such as NumberField and NumberFieldElement. In the future, we might jettison support of the ptolemy module outside of sage and use sage’s native types.</p>
134
+ </section>
135
+ <section id="rational-univariate-representation">
136
+ <h2>Rational Univariate Representation<a class="headerlink" href="#rational-univariate-representation" title="Link to this heading"></a></h2>
137
+ <p>We have some limited support for the <cite>Rational Univariate Representation</cite>, for example:</p>
138
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">sols</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s2">&quot;m069&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">ptolemy_variety</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">.</span><span class="n">retrieve_solutions</span><span class="p">()</span>
139
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">sols</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
140
+ <span class="go">PtolemyCoordinates(</span>
141
+ <span class="go"> { &#39;c_0201_0&#39;: ( Mod(-426088934700737884313191344*x^24 + 4110489425474123899213651272*x^23 ...</span>
142
+ <span class="go"> - 67064980598091504185767190,</span>
143
+ <span class="go"> x^25 ... - 196124*x^4 + 14010*x^3 - 1560*x^2 + 72*x - 1)</span>
144
+ <span class="go"> ) / ( Mod(875895332415105303646551573*x^24 - 8450034810535061601312104296*x^23 ...</span>
145
+ <span class="go"> + 137871639973525691285247446,</span>
146
+ <span class="go"> x^25 ... - 196124*x^4 + 14010*x^3 - 1560*x^2 + 72*x - 1) ),</span>
147
+ <span class="go"> ...</span>
148
+ <span class="go"> },</span>
149
+ <span class="go"> is_numerical = False, ...)</span>
150
+ </pre></div>
151
+ </div>
152
+ <p>This means that <code class="docutils literal notranslate"><span class="pre">c_0201_0</span></code> is assigned the fraction of those two <code class="docutils literal notranslate"><span class="pre">POLDMOD</span></code> objects.</p>
153
+ <p><strong>Remark:</strong> This is still under development.</p>
154
+ </section>
155
+ <section id="todo">
156
+ <h2>TODO<a class="headerlink" href="#todo" title="Link to this heading"></a></h2>
157
+ <ul class="simple">
158
+ <li><p>Give an overview of the classes and the methods.</p></li>
159
+ <li><p>Explain how the magma file are generated. Say that magma computes the RadicalDecomposition. Ptolemy module can process the lexicographic Groebner basis of a prime ideal.</p></li>
160
+ </ul>
161
+ </section>
162
+ </section>
163
+
164
+
165
+ </div>
166
+ </div>
167
+ <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
168
+ <a href="ptolemy_examples3.html" class="btn btn-neutral float-left" title="Step-by-step examples: Part 3" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
169
+ <a href="ptolemy_classes.html" class="btn btn-neutral float-right" title="Classes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
170
+ </div>
171
+
172
+ <hr/>
173
+
174
+ <div role="contentinfo">
175
+ <p>&#169; Copyright 2009-2025, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
176
+ </div>
177
+
178
+ Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
179
+ <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
180
+ provided by <a href="https://readthedocs.org">Read the Docs</a>.
181
+
182
+
183
+ </footer>
184
+ </div>
185
+ </div>
186
+ </section>
187
+ </div>
188
+ <script>
189
+ jQuery(function () {
190
+ SphinxRtdTheme.Navigation.enable(true);
191
+ });
192
+ </script>
193
+
194
+ </body>
198
195
  </html>