snappy 3.1.1__cp38-cp38-win_amd64.whl → 3.2__cp38-cp38-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. snappy/CyOpenGL.cp38-win_amd64.pyd +0 -0
  2. snappy/SnapPy.cp38-win_amd64.pyd +0 -0
  3. snappy/SnapPyHP.cp38-win_amd64.pyd +0 -0
  4. snappy/__init__.py +299 -402
  5. snappy/app.py +70 -20
  6. snappy/browser.py +18 -17
  7. snappy/canonical.py +249 -0
  8. snappy/{verify/cusp_shapes.py → cusps/__init__.py} +8 -18
  9. snappy/cusps/cusp_area_matrix.py +101 -0
  10. snappy/{verify/cusp_areas.py → cusps/cusp_areas_from_matrix.py} +23 -39
  11. snappy/cusps/maximal_cusp_area_matrix.py +136 -0
  12. snappy/cusps/test.py +21 -0
  13. snappy/cusps/trig_cusp_area_matrix.py +63 -0
  14. snappy/database.py +10 -9
  15. snappy/decorated_isosig.py +337 -114
  16. snappy/dev/extended_ptolemy/complexVolumesClosed.py +40 -7
  17. snappy/dev/extended_ptolemy/extended.py +3 -3
  18. snappy/dev/extended_ptolemy/phc_wrapper.py +10 -10
  19. snappy/dev/vericlosed/oneVertexTruncatedComplex.py +1 -1
  20. snappy/doc/_images/m004_paper_plane_on_systole.jpg +0 -0
  21. snappy/doc/_images/m125_paper_plane.jpg +0 -0
  22. snappy/doc/_images/o9_00000_systole_paper_plane.jpg +0 -0
  23. snappy/doc/_images/o9_00000_systole_paper_plane_closer.jpg +0 -0
  24. snappy/doc/_sources/additional_classes.rst.txt +40 -40
  25. snappy/doc/_sources/bugs.rst.txt +14 -14
  26. snappy/doc/_sources/censuses.rst.txt +51 -51
  27. snappy/doc/_sources/credits.rst.txt +75 -75
  28. snappy/doc/_sources/development.rst.txt +259 -239
  29. snappy/doc/_sources/index.rst.txt +182 -115
  30. snappy/doc/_sources/installing.rst.txt +247 -264
  31. snappy/doc/_sources/manifold.rst.txt +6 -6
  32. snappy/doc/_sources/manifoldhp.rst.txt +46 -46
  33. snappy/doc/_sources/news.rst.txt +355 -283
  34. snappy/doc/_sources/other.rst.txt +25 -25
  35. snappy/doc/_sources/platonic_census.rst.txt +20 -20
  36. snappy/doc/_sources/plink.rst.txt +102 -102
  37. snappy/doc/_sources/ptolemy.rst.txt +66 -66
  38. snappy/doc/_sources/ptolemy_classes.rst.txt +42 -42
  39. snappy/doc/_sources/ptolemy_examples1.rst.txt +298 -297
  40. snappy/doc/_sources/ptolemy_examples2.rst.txt +363 -363
  41. snappy/doc/_sources/ptolemy_examples3.rst.txt +301 -301
  42. snappy/doc/_sources/ptolemy_examples4.rst.txt +61 -61
  43. snappy/doc/_sources/ptolemy_prelim.rst.txt +105 -105
  44. snappy/doc/_sources/screenshots.rst.txt +21 -21
  45. snappy/doc/_sources/snap.rst.txt +87 -87
  46. snappy/doc/_sources/snappy.rst.txt +28 -28
  47. snappy/doc/_sources/spherogram.rst.txt +103 -103
  48. snappy/doc/_sources/todo.rst.txt +47 -47
  49. snappy/doc/_sources/triangulation.rst.txt +11 -11
  50. snappy/doc/_sources/tutorial.rst.txt +49 -49
  51. snappy/doc/_sources/verify.rst.txt +210 -150
  52. snappy/doc/_sources/verify_internals.rst.txt +79 -90
  53. snappy/doc/_static/basic.css +924 -902
  54. snappy/doc/_static/css/badge_only.css +1 -1
  55. snappy/doc/_static/css/theme.css +1 -1
  56. snappy/doc/_static/doctools.js +1 -1
  57. snappy/doc/_static/documentation_options.js +12 -13
  58. snappy/doc/_static/fonts/Lato/lato-bold.eot +0 -0
  59. snappy/doc/_static/fonts/Lato/lato-bold.ttf +0 -0
  60. snappy/doc/_static/fonts/Lato/lato-bold.woff +0 -0
  61. snappy/doc/_static/fonts/Lato/lato-bold.woff2 +0 -0
  62. snappy/doc/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  63. snappy/doc/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  64. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  65. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  66. snappy/doc/_static/fonts/Lato/lato-italic.eot +0 -0
  67. snappy/doc/_static/fonts/Lato/lato-italic.ttf +0 -0
  68. snappy/doc/_static/fonts/Lato/lato-italic.woff +0 -0
  69. snappy/doc/_static/fonts/Lato/lato-italic.woff2 +0 -0
  70. snappy/doc/_static/fonts/Lato/lato-regular.eot +0 -0
  71. snappy/doc/_static/fonts/Lato/lato-regular.ttf +0 -0
  72. snappy/doc/_static/fonts/Lato/lato-regular.woff +0 -0
  73. snappy/doc/_static/fonts/Lato/lato-regular.woff2 +0 -0
  74. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  75. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  76. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  77. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  78. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  79. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  80. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  81. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  82. snappy/doc/_static/js/versions.js +228 -0
  83. snappy/doc/_static/language_data.js +199 -199
  84. snappy/doc/_static/pygments.css +74 -73
  85. snappy/doc/_static/searchtools.js +125 -71
  86. snappy/doc/_static/snappy_furo.css +33 -33
  87. snappy/doc/_static/snappy_sphinx_rtd_theme.css +42 -42
  88. snappy/doc/_static/sphinx_highlight.js +13 -3
  89. snappy/doc/additional_classes.html +1499 -1330
  90. snappy/doc/bugs.html +131 -134
  91. snappy/doc/censuses.html +426 -445
  92. snappy/doc/credits.html +180 -183
  93. snappy/doc/development.html +383 -363
  94. snappy/doc/genindex.html +1330 -1409
  95. snappy/doc/index.html +261 -206
  96. snappy/doc/installing.html +345 -363
  97. snappy/doc/manifold.html +3451 -2839
  98. snappy/doc/manifoldhp.html +179 -182
  99. snappy/doc/news.html +387 -329
  100. snappy/doc/objects.inv +0 -0
  101. snappy/doc/other.html +160 -162
  102. snappy/doc/platonic_census.html +374 -377
  103. snappy/doc/plink.html +209 -212
  104. snappy/doc/ptolemy.html +253 -255
  105. snappy/doc/ptolemy_classes.html +1143 -1146
  106. snappy/doc/ptolemy_examples1.html +408 -410
  107. snappy/doc/ptolemy_examples2.html +470 -473
  108. snappy/doc/ptolemy_examples3.html +413 -416
  109. snappy/doc/ptolemy_examples4.html +194 -197
  110. snappy/doc/ptolemy_prelim.html +247 -250
  111. snappy/doc/py-modindex.html +164 -167
  112. snappy/doc/screenshots.html +140 -142
  113. snappy/doc/search.html +134 -137
  114. snappy/doc/searchindex.js +1 -1
  115. snappy/doc/snap.html +201 -204
  116. snappy/doc/snappy.html +180 -182
  117. snappy/doc/spherogram.html +1210 -1213
  118. snappy/doc/todo.html +165 -168
  119. snappy/doc/triangulation.html +1583 -1474
  120. snappy/doc/tutorial.html +158 -161
  121. snappy/doc/verify.html +329 -275
  122. snappy/doc/verify_internals.html +1234 -1691
  123. snappy/drilling/__init__.py +153 -235
  124. snappy/drilling/barycentric.py +103 -0
  125. snappy/drilling/constants.py +0 -2
  126. snappy/drilling/crush.py +56 -130
  127. snappy/drilling/cusps.py +12 -6
  128. snappy/drilling/debug.py +2 -1
  129. snappy/drilling/exceptions.py +7 -40
  130. snappy/drilling/moves.py +302 -243
  131. snappy/drilling/perturb.py +63 -37
  132. snappy/drilling/shorten.py +36 -0
  133. snappy/drilling/subdivide.py +0 -5
  134. snappy/drilling/test.py +23 -0
  135. snappy/drilling/test_cases.py +126 -0
  136. snappy/drilling/tracing.py +9 -37
  137. snappy/exceptions.py +18 -5
  138. snappy/exterior_to_link/barycentric_geometry.py +2 -4
  139. snappy/exterior_to_link/main.py +8 -7
  140. snappy/exterior_to_link/mcomplex_with_link.py +2 -2
  141. snappy/exterior_to_link/rational_linear_algebra.py +1 -1
  142. snappy/exterior_to_link/rational_linear_algebra_wrapped.py +1 -1
  143. snappy/exterior_to_link/test.py +21 -33
  144. snappy/geometric_structure/__init__.py +212 -0
  145. snappy/geometric_structure/cusp_neighborhood/__init__.py +3 -0
  146. snappy/geometric_structure/cusp_neighborhood/complex_cusp_cross_section.py +697 -0
  147. snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +484 -0
  148. snappy/geometric_structure/cusp_neighborhood/exceptions.py +42 -0
  149. snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +298 -0
  150. snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +159 -0
  151. snappy/geometric_structure/cusp_neighborhood/vertices.py +32 -0
  152. snappy/geometric_structure/geodesic/__init__.py +0 -0
  153. snappy/geometric_structure/geodesic/add_core_curves.py +152 -0
  154. snappy/geometric_structure/geodesic/avoid_core_curves.py +369 -0
  155. snappy/geometric_structure/geodesic/canonical_keys.py +52 -0
  156. snappy/geometric_structure/geodesic/check_away_from_core_curve.py +60 -0
  157. snappy/geometric_structure/geodesic/constants.py +6 -0
  158. snappy/geometric_structure/geodesic/exceptions.py +22 -0
  159. snappy/{drilling → geometric_structure/geodesic}/fixed_points.py +34 -9
  160. snappy/{drilling/geodesic_info.py → geometric_structure/geodesic/geodesic_start_point_info.py} +139 -180
  161. snappy/geometric_structure/geodesic/graph_trace_helper.py +67 -0
  162. snappy/geometric_structure/geodesic/line.py +30 -0
  163. snappy/geometric_structure/geodesic/multiplicity.py +127 -0
  164. snappy/geometric_structure/geodesic/tiles_for_geodesic.py +101 -0
  165. snappy/geometric_structure/test.py +22 -0
  166. snappy/gui.py +23 -13
  167. snappy/horoviewer.py +7 -7
  168. snappy/hyperboloid/__init__.py +96 -31
  169. snappy/hyperboloid/distances.py +245 -0
  170. snappy/hyperboloid/horoball.py +19 -0
  171. snappy/hyperboloid/line.py +35 -0
  172. snappy/hyperboloid/point.py +9 -0
  173. snappy/hyperboloid/triangle.py +29 -0
  174. snappy/isometry_signature.py +382 -0
  175. snappy/len_spec/__init__.py +596 -0
  176. snappy/len_spec/geodesic_info.py +110 -0
  177. snappy/len_spec/geodesic_key_info_dict.py +117 -0
  178. snappy/len_spec/geodesic_piece.py +143 -0
  179. snappy/len_spec/geometric_structure.py +182 -0
  180. snappy/len_spec/geometry.py +80 -0
  181. snappy/len_spec/length_spectrum_geodesic_info.py +170 -0
  182. snappy/len_spec/spine.py +206 -0
  183. snappy/len_spec/test.py +24 -0
  184. snappy/len_spec/test_cases.py +69 -0
  185. snappy/len_spec/tile.py +275 -0
  186. snappy/len_spec/word.py +86 -0
  187. snappy/math_basics.py +39 -13
  188. snappy/matrix.py +52 -9
  189. snappy/number.py +12 -6
  190. snappy/numeric_output_checker.py +2 -3
  191. snappy/pari.py +8 -4
  192. snappy/phone_home.py +2 -1
  193. snappy/polyviewer.py +8 -8
  194. snappy/ptolemy/__init__.py +1 -1
  195. snappy/ptolemy/component.py +2 -2
  196. snappy/ptolemy/coordinates.py +25 -25
  197. snappy/ptolemy/findLoops.py +9 -9
  198. snappy/ptolemy/manifoldMethods.py +27 -29
  199. snappy/ptolemy/polynomial.py +50 -57
  200. snappy/ptolemy/processFileBase.py +60 -0
  201. snappy/ptolemy/ptolemyVariety.py +109 -41
  202. snappy/ptolemy/reginaWrapper.py +4 -4
  203. snappy/ptolemy/rur.py +1 -1
  204. snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +9 -9
  205. snappy/ptolemy/test.py +99 -54
  206. snappy/ptolemy/utilities.py +1 -1
  207. snappy/raytracing/__init__.py +64 -0
  208. snappy/raytracing/additional_horospheres.py +64 -0
  209. snappy/raytracing/additional_len_spec_choices.py +63 -0
  210. snappy/raytracing/cohomology_fractal.py +0 -3
  211. snappy/raytracing/eyeball.py +123 -0
  212. snappy/raytracing/finite_raytracing_data.py +17 -17
  213. snappy/raytracing/finite_viewer.py +15 -15
  214. snappy/raytracing/geodesic_tube_info.py +93 -63
  215. snappy/raytracing/geodesics.py +94 -64
  216. snappy/raytracing/geodesics_window.py +56 -34
  217. snappy/raytracing/gui_utilities.py +21 -6
  218. snappy/raytracing/hyperboloid_navigation.py +29 -4
  219. snappy/raytracing/hyperboloid_utilities.py +73 -73
  220. snappy/raytracing/ideal_raytracing_data.py +121 -91
  221. snappy/raytracing/inside_viewer.py +199 -66
  222. snappy/raytracing/pack.py +22 -0
  223. snappy/raytracing/raytracing_data.py +37 -25
  224. snappy/raytracing/raytracing_view.py +70 -65
  225. snappy/raytracing/shaders/Eye.png +0 -0
  226. snappy/raytracing/shaders/NonGeometric.png +0 -0
  227. snappy/raytracing/shaders/__init__.py +39 -3
  228. snappy/raytracing/shaders/fragment.glsl +451 -133
  229. snappy/raytracing/test.py +29 -0
  230. snappy/raytracing/tooltip.py +146 -0
  231. snappy/raytracing/upper_halfspace_utilities.py +42 -9
  232. snappy/sage_helper.py +67 -134
  233. snappy/settings.py +90 -77
  234. snappy/shell.py +2 -0
  235. snappy/snap/character_varieties.py +2 -2
  236. snappy/snap/find_field.py +4 -3
  237. snappy/snap/fundamental_polyhedron.py +2 -2
  238. snappy/snap/kernel_structures.py +5 -1
  239. snappy/snap/nsagetools.py +9 -8
  240. snappy/snap/peripheral/dual_cellulation.py +4 -3
  241. snappy/snap/peripheral/peripheral.py +2 -2
  242. snappy/snap/peripheral/surface.py +5 -5
  243. snappy/snap/peripheral/test.py +1 -1
  244. snappy/snap/polished_reps.py +8 -8
  245. snappy/snap/slice_obs_HKL.py +16 -14
  246. snappy/snap/t3mlite/arrow.py +3 -3
  247. snappy/snap/t3mlite/edge.py +3 -3
  248. snappy/snap/t3mlite/homology.py +2 -2
  249. snappy/snap/t3mlite/mcomplex.py +3 -3
  250. snappy/snap/t3mlite/simplex.py +12 -0
  251. snappy/snap/t3mlite/spun.py +18 -17
  252. snappy/snap/t3mlite/test_vs_regina.py +4 -4
  253. snappy/snap/test.py +37 -53
  254. snappy/snap/utilities.py +4 -5
  255. snappy/test.py +121 -138
  256. snappy/test_cases.py +263 -0
  257. snappy/testing.py +131 -0
  258. snappy/tiling/__init__.py +2 -0
  259. snappy/tiling/canonical_key_dict.py +59 -0
  260. snappy/tiling/dict_based_set.py +79 -0
  261. snappy/tiling/floor.py +49 -0
  262. snappy/tiling/hyperboloid_dict.py +54 -0
  263. snappy/tiling/iter_utils.py +78 -0
  264. snappy/tiling/lifted_tetrahedron.py +22 -0
  265. snappy/tiling/lifted_tetrahedron_set.py +54 -0
  266. snappy/tiling/real_hash_dict.py +164 -0
  267. snappy/tiling/test.py +23 -0
  268. snappy/tiling/tile.py +215 -0
  269. snappy/tiling/triangle.py +33 -0
  270. snappy/tkterminal.py +113 -84
  271. snappy/twister/main.py +1 -7
  272. snappy/twister/twister_core.cp38-win_amd64.pyd +0 -0
  273. snappy/upper_halfspace/__init__.py +78 -17
  274. snappy/verify/__init__.py +3 -7
  275. snappy/verify/{verifyCanonical.py → canonical.py} +78 -70
  276. snappy/verify/complex_volume/adjust_torsion.py +1 -2
  277. snappy/verify/complex_volume/closed.py +13 -13
  278. snappy/verify/complex_volume/cusped.py +6 -6
  279. snappy/verify/complex_volume/extended_bloch.py +5 -8
  280. snappy/verify/{cuspTranslations.py → cusp_translations.py} +1 -1
  281. snappy/verify/edge_equations.py +80 -0
  282. snappy/verify/exceptions.py +0 -55
  283. snappy/verify/{verifyHyperbolicity.py → hyperbolicity.py} +3 -3
  284. snappy/verify/interval_newton_shapes_engine.py +7 -5
  285. snappy/verify/interval_tree.py +5 -5
  286. snappy/verify/krawczyk_shapes_engine.py +17 -18
  287. snappy/verify/maximal_cusp_area_matrix/__init__.py +7 -74
  288. snappy/verify/maximal_cusp_area_matrix/cusp_tiling_engine.py +3 -4
  289. snappy/verify/maximal_cusp_area_matrix/cusp_translate_engine.py +1 -1
  290. snappy/verify/{realAlgebra.py → real_algebra.py} +1 -1
  291. snappy/verify/shapes.py +5 -3
  292. snappy/verify/short_slopes.py +39 -41
  293. snappy/verify/{squareExtensions.py → square_extensions.py} +14 -11
  294. snappy/verify/test.py +57 -60
  295. snappy/verify/upper_halfspace/extended_matrix.py +1 -1
  296. snappy/verify/upper_halfspace/finite_point.py +3 -4
  297. snappy/verify/upper_halfspace/ideal_point.py +9 -9
  298. snappy/verify/volume.py +2 -2
  299. snappy/version.py +2 -2
  300. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/METADATA +14 -10
  301. snappy-3.2.dist-info/RECORD +503 -0
  302. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/WHEEL +1 -1
  303. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/top_level.txt +6 -1
  304. snappy/__pycache__/__init__.cpython-38.pyc +0 -0
  305. snappy/__pycache__/browser.cpython-38.pyc +0 -0
  306. snappy/__pycache__/cache.cpython-38.pyc +0 -0
  307. snappy/__pycache__/database.cpython-38.pyc +0 -0
  308. snappy/__pycache__/db_utilities.cpython-38.pyc +0 -0
  309. snappy/__pycache__/decorated_isosig.cpython-38.pyc +0 -0
  310. snappy/__pycache__/exceptions.cpython-38.pyc +0 -0
  311. snappy/__pycache__/export_stl.cpython-38.pyc +0 -0
  312. snappy/__pycache__/filedialog.cpython-38.pyc +0 -0
  313. snappy/__pycache__/gui.cpython-38.pyc +0 -0
  314. snappy/__pycache__/horoviewer.cpython-38.pyc +0 -0
  315. snappy/__pycache__/math_basics.cpython-38.pyc +0 -0
  316. snappy/__pycache__/matrix.cpython-38.pyc +0 -0
  317. snappy/__pycache__/number.cpython-38.pyc +0 -0
  318. snappy/__pycache__/numeric_output_checker.cpython-38.pyc +0 -0
  319. snappy/__pycache__/pari.cpython-38.pyc +0 -0
  320. snappy/__pycache__/polyviewer.cpython-38.pyc +0 -0
  321. snappy/__pycache__/sage_helper.cpython-38.pyc +0 -0
  322. snappy/__pycache__/version.cpython-38.pyc +0 -0
  323. snappy/doc/_sources/verify_canon.rst.txt +0 -90
  324. snappy/doc/_static/jquery-3.6.0.js +0 -10881
  325. snappy/doc/_static/js/html5shiv-printshiv.min.js +0 -4
  326. snappy/doc/_static/js/html5shiv.min.js +0 -4
  327. snappy/doc/_static/underscore-1.13.1.js +0 -2042
  328. snappy/doc/_static/underscore.js +0 -6
  329. snappy/doc/verify_canon.html +0 -304
  330. snappy/drilling/__pycache__/__init__.cpython-38.pyc +0 -0
  331. snappy/drilling/__pycache__/constants.cpython-38.pyc +0 -0
  332. snappy/drilling/__pycache__/crush.cpython-38.pyc +0 -0
  333. snappy/drilling/__pycache__/cusps.cpython-38.pyc +0 -0
  334. snappy/drilling/__pycache__/debug.cpython-38.pyc +0 -0
  335. snappy/drilling/__pycache__/epsilons.cpython-38.pyc +0 -0
  336. snappy/drilling/__pycache__/exceptions.cpython-38.pyc +0 -0
  337. snappy/drilling/__pycache__/fixed_points.cpython-38.pyc +0 -0
  338. snappy/drilling/__pycache__/geodesic_info.cpython-38.pyc +0 -0
  339. snappy/drilling/__pycache__/geodesic_tube.cpython-38.pyc +0 -0
  340. snappy/drilling/__pycache__/geometric_structure.cpython-38.pyc +0 -0
  341. snappy/drilling/__pycache__/line.cpython-38.pyc +0 -0
  342. snappy/drilling/__pycache__/moves.cpython-38.pyc +0 -0
  343. snappy/drilling/__pycache__/peripheral_curves.cpython-38.pyc +0 -0
  344. snappy/drilling/__pycache__/perturb.cpython-38.pyc +0 -0
  345. snappy/drilling/__pycache__/quotient_space.cpython-38.pyc +0 -0
  346. snappy/drilling/__pycache__/spatial_dict.cpython-38.pyc +0 -0
  347. snappy/drilling/__pycache__/subdivide.cpython-38.pyc +0 -0
  348. snappy/drilling/__pycache__/tracing.cpython-38.pyc +0 -0
  349. snappy/drilling/geodesic_tube.py +0 -441
  350. snappy/drilling/geometric_structure.py +0 -366
  351. snappy/drilling/line.py +0 -122
  352. snappy/drilling/quotient_space.py +0 -94
  353. snappy/drilling/spatial_dict.py +0 -128
  354. snappy/exterior_to_link/__pycache__/__init__.cpython-38.pyc +0 -0
  355. snappy/exterior_to_link/__pycache__/barycentric_geometry.cpython-38.pyc +0 -0
  356. snappy/exterior_to_link/__pycache__/exceptions.cpython-38.pyc +0 -0
  357. snappy/exterior_to_link/__pycache__/hyp_utils.cpython-38.pyc +0 -0
  358. snappy/exterior_to_link/__pycache__/link_projection.cpython-38.pyc +0 -0
  359. snappy/exterior_to_link/__pycache__/main.cpython-38.pyc +0 -0
  360. snappy/exterior_to_link/__pycache__/mcomplex_with_expansion.cpython-38.pyc +0 -0
  361. snappy/exterior_to_link/__pycache__/mcomplex_with_link.cpython-38.pyc +0 -0
  362. snappy/exterior_to_link/__pycache__/mcomplex_with_memory.cpython-38.pyc +0 -0
  363. snappy/exterior_to_link/__pycache__/pl_utils.cpython-38.pyc +0 -0
  364. snappy/exterior_to_link/__pycache__/put_in_S3.cpython-38.pyc +0 -0
  365. snappy/exterior_to_link/__pycache__/rational_linear_algebra.cpython-38.pyc +0 -0
  366. snappy/exterior_to_link/__pycache__/simplify_to_base_tri.cpython-38.pyc +0 -0
  367. snappy/exterior_to_link/__pycache__/stored_moves.cpython-38.pyc +0 -0
  368. snappy/hyperboloid/__pycache__/__init__.cpython-38.pyc +0 -0
  369. snappy/manifolds/__pycache__/__init__.cpython-38.pyc +0 -0
  370. snappy/ptolemy/__pycache__/__init__.cpython-38.pyc +0 -0
  371. snappy/ptolemy/__pycache__/component.cpython-38.pyc +0 -0
  372. snappy/ptolemy/__pycache__/coordinates.cpython-38.pyc +0 -0
  373. snappy/ptolemy/__pycache__/fieldExtensions.cpython-38.pyc +0 -0
  374. snappy/ptolemy/__pycache__/findLoops.cpython-38.pyc +0 -0
  375. snappy/ptolemy/__pycache__/homology.cpython-38.pyc +0 -0
  376. snappy/ptolemy/__pycache__/manifoldMethods.cpython-38.pyc +0 -0
  377. snappy/ptolemy/__pycache__/matrix.cpython-38.pyc +0 -0
  378. snappy/ptolemy/__pycache__/numericalSolutionsToGroebnerBasis.cpython-38.pyc +0 -0
  379. snappy/ptolemy/__pycache__/polynomial.cpython-38.pyc +0 -0
  380. snappy/ptolemy/__pycache__/processComponents.cpython-38.pyc +0 -0
  381. snappy/ptolemy/__pycache__/processFileBase.cpython-38.pyc +0 -0
  382. snappy/ptolemy/__pycache__/processFileDispatch.cpython-38.pyc +0 -0
  383. snappy/ptolemy/__pycache__/processMagmaFile.cpython-38.pyc +0 -0
  384. snappy/ptolemy/__pycache__/processRurFile.cpython-38.pyc +0 -0
  385. snappy/ptolemy/__pycache__/ptolemyGeneralizedObstructionClass.cpython-38.pyc +0 -0
  386. snappy/ptolemy/__pycache__/ptolemyObstructionClass.cpython-38.pyc +0 -0
  387. snappy/ptolemy/__pycache__/ptolemyVariety.cpython-38.pyc +0 -0
  388. snappy/ptolemy/__pycache__/ptolemyVarietyPrimeIdealGroebnerBasis.cpython-38.pyc +0 -0
  389. snappy/ptolemy/__pycache__/rur.cpython-38.pyc +0 -0
  390. snappy/ptolemy/__pycache__/solutionsToPrimeIdealGroebnerBasis.cpython-38.pyc +0 -0
  391. snappy/ptolemy/__pycache__/utilities.cpython-38.pyc +0 -0
  392. snappy/snap/__pycache__/__init__.cpython-38.pyc +0 -0
  393. snappy/snap/__pycache__/character_varieties.cpython-38.pyc +0 -0
  394. snappy/snap/__pycache__/fundamental_polyhedron.cpython-38.pyc +0 -0
  395. snappy/snap/__pycache__/interval_reps.cpython-38.pyc +0 -0
  396. snappy/snap/__pycache__/kernel_structures.cpython-38.pyc +0 -0
  397. snappy/snap/__pycache__/mcomplex_base.cpython-38.pyc +0 -0
  398. snappy/snap/__pycache__/nsagetools.cpython-38.pyc +0 -0
  399. snappy/snap/__pycache__/polished_reps.cpython-38.pyc +0 -0
  400. snappy/snap/__pycache__/shapes.cpython-38.pyc +0 -0
  401. snappy/snap/__pycache__/slice_obs_HKL.cpython-38.pyc +0 -0
  402. snappy/snap/__pycache__/utilities.cpython-38.pyc +0 -0
  403. snappy/snap/peripheral/__pycache__/__init__.cpython-38.pyc +0 -0
  404. snappy/snap/peripheral/__pycache__/dual_cellulation.cpython-38.pyc +0 -0
  405. snappy/snap/peripheral/__pycache__/link.cpython-38.pyc +0 -0
  406. snappy/snap/peripheral/__pycache__/peripheral.cpython-38.pyc +0 -0
  407. snappy/snap/peripheral/__pycache__/surface.cpython-38.pyc +0 -0
  408. snappy/snap/t3mlite/__pycache__/__init__.cpython-38.pyc +0 -0
  409. snappy/snap/t3mlite/__pycache__/arrow.cpython-38.pyc +0 -0
  410. snappy/snap/t3mlite/__pycache__/corner.cpython-38.pyc +0 -0
  411. snappy/snap/t3mlite/__pycache__/edge.cpython-38.pyc +0 -0
  412. snappy/snap/t3mlite/__pycache__/face.cpython-38.pyc +0 -0
  413. snappy/snap/t3mlite/__pycache__/files.cpython-38.pyc +0 -0
  414. snappy/snap/t3mlite/__pycache__/homology.cpython-38.pyc +0 -0
  415. snappy/snap/t3mlite/__pycache__/linalg.cpython-38.pyc +0 -0
  416. snappy/snap/t3mlite/__pycache__/mcomplex.cpython-38.pyc +0 -0
  417. snappy/snap/t3mlite/__pycache__/perm4.cpython-38.pyc +0 -0
  418. snappy/snap/t3mlite/__pycache__/simplex.cpython-38.pyc +0 -0
  419. snappy/snap/t3mlite/__pycache__/spun.cpython-38.pyc +0 -0
  420. snappy/snap/t3mlite/__pycache__/surface.cpython-38.pyc +0 -0
  421. snappy/snap/t3mlite/__pycache__/tetrahedron.cpython-38.pyc +0 -0
  422. snappy/snap/t3mlite/__pycache__/vertex.cpython-38.pyc +0 -0
  423. snappy/togl/__init__.py +0 -3
  424. snappy/togl/darwin-tk8.6/Togl2.1/LICENSE +0 -28
  425. snappy/togl/darwin-tk8.6/Togl2.1/libTogl2.1.dylib +0 -0
  426. snappy/togl/darwin-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  427. snappy/togl/darwin-tk8.7/Togl2.1/LICENSE +0 -28
  428. snappy/togl/darwin-tk8.7/Togl2.1/libTogl2.1.dylib +0 -0
  429. snappy/togl/darwin-tk8.7/Togl2.1/pkgIndex.tcl +0 -5
  430. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  431. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/libTogl2.1.so +0 -0
  432. snappy/togl/linux2-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -5
  433. snappy/togl/win32VC-tk8.6/Togl2.1/LICENSE +0 -28
  434. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.dll +0 -0
  435. snappy/togl/win32VC-tk8.6/Togl2.1/Togl21.lib +0 -0
  436. snappy/togl/win32VC-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  437. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/LICENSE +0 -28
  438. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.dll +0 -0
  439. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/Togl21.lib +0 -0
  440. snappy/togl/win32VC-x86_64-tk8.6/Togl2.1/pkgIndex.tcl +0 -6
  441. snappy/twister/__pycache__/__init__.cpython-38.pyc +0 -0
  442. snappy/twister/__pycache__/main.cpython-38.pyc +0 -0
  443. snappy/upper_halfspace/__pycache__/__init__.cpython-38.pyc +0 -0
  444. snappy/upper_halfspace/__pycache__/ideal_point.cpython-38.pyc +0 -0
  445. snappy/verify/__pycache__/__init__.cpython-38.pyc +0 -0
  446. snappy/verify/__pycache__/cuspCrossSection.cpython-38.pyc +0 -0
  447. snappy/verify/__pycache__/cuspTranslations.cpython-38.pyc +0 -0
  448. snappy/verify/__pycache__/cusp_areas.cpython-38.pyc +0 -0
  449. snappy/verify/__pycache__/cusp_shapes.cpython-38.pyc +0 -0
  450. snappy/verify/__pycache__/exceptions.cpython-38.pyc +0 -0
  451. snappy/verify/__pycache__/interval_newton_shapes_engine.cpython-38.pyc +0 -0
  452. snappy/verify/__pycache__/interval_tree.cpython-38.pyc +0 -0
  453. snappy/verify/__pycache__/krawczyk_shapes_engine.cpython-38.pyc +0 -0
  454. snappy/verify/__pycache__/realAlgebra.cpython-38.pyc +0 -0
  455. snappy/verify/__pycache__/shapes.cpython-38.pyc +0 -0
  456. snappy/verify/__pycache__/short_slopes.cpython-38.pyc +0 -0
  457. snappy/verify/__pycache__/squareExtensions.cpython-38.pyc +0 -0
  458. snappy/verify/__pycache__/verifyCanonical.cpython-38.pyc +0 -0
  459. snappy/verify/__pycache__/verifyHyperbolicity.cpython-38.pyc +0 -0
  460. snappy/verify/__pycache__/volume.cpython-38.pyc +0 -0
  461. snappy/verify/complex_volume/__pycache__/__init__.cpython-38.pyc +0 -0
  462. snappy/verify/complex_volume/__pycache__/adjust_torsion.cpython-38.pyc +0 -0
  463. snappy/verify/complex_volume/__pycache__/closed.cpython-38.pyc +0 -0
  464. snappy/verify/complex_volume/__pycache__/compute_ptolemys.cpython-38.pyc +0 -0
  465. snappy/verify/complex_volume/__pycache__/cusped.cpython-38.pyc +0 -0
  466. snappy/verify/complex_volume/__pycache__/extended_bloch.cpython-38.pyc +0 -0
  467. snappy/verify/cuspCrossSection.py +0 -1422
  468. snappy/verify/maximal_cusp_area_matrix/__pycache__/__init__.cpython-38.pyc +0 -0
  469. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_tiling_engine.cpython-38.pyc +0 -0
  470. snappy/verify/maximal_cusp_area_matrix/__pycache__/cusp_translate_engine.cpython-38.pyc +0 -0
  471. snappy/verify/upper_halfspace/__pycache__/__init__.cpython-38.pyc +0 -0
  472. snappy/verify/upper_halfspace/__pycache__/extended_matrix.cpython-38.pyc +0 -0
  473. snappy/verify/upper_halfspace/__pycache__/finite_point.cpython-38.pyc +0 -0
  474. snappy/verify/upper_halfspace/__pycache__/ideal_point.cpython-38.pyc +0 -0
  475. snappy-3.1.1.dist-info/RECORD +0 -575
  476. {snappy-3.1.1.dist-info → snappy-3.2.dist-info}/entry_points.txt +0 -0
snappy/doc/censuses.html CHANGED
@@ -1,446 +1,427 @@
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>Census manifolds &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"></script>
17
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
18
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
19
- <script src="_static/doctools.js"></script>
20
- <script src="_static/sphinx_highlight.js"></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="Censuses of Platonic manifolds" href="platonic_census.html" />
25
- <link rel="prev" title="Additional Classes" href="additional_classes.html" />
26
- </head>
27
-
28
- <body class="wy-body-for-nav">
29
- <div class="wy-grid-for-nav">
30
- <nav data-toggle="wy-nav-shift" class="wy-nav-side">
31
- <div class="wy-side-scroll">
32
- <div class="wy-side-nav-search" >
33
-
34
-
35
-
36
- <a href="index.html" class="icon icon-home">
37
- SnapPy
38
- <img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
39
- </a>
40
- <div 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 current"><a class="reference internal" href="snappy.html">The snappy module and its classes</a><ul class="current">
56
- <li class="toctree-l2"><a class="reference internal" href="manifold.html">Manifold: the main class</a></li>
57
- <li class="toctree-l2"><a class="reference internal" href="manifoldhp.html">ManifoldHP: High-precision variant</a></li>
58
- <li class="toctree-l2"><a class="reference internal" href="triangulation.html">Triangulation</a></li>
59
- <li class="toctree-l2"><a class="reference internal" href="additional_classes.html">Additional Classes</a></li>
60
- <li class="toctree-l2 current"><a class="current reference internal" href="#">Census manifolds</a><ul>
61
- <li class="toctree-l3"><a class="reference internal" href="#snappy.OrientableCuspedCensus"><code class="docutils literal notranslate"><span class="pre">OrientableCuspedCensus</span></code></a></li>
62
- <li class="toctree-l3"><a class="reference internal" href="#snappy.OrientableClosedCensus"><code class="docutils literal notranslate"><span class="pre">OrientableClosedCensus</span></code></a></li>
63
- <li class="toctree-l3"><a class="reference internal" href="#snappy.CensusKnots"><code class="docutils literal notranslate"><span class="pre">CensusKnots</span></code></a></li>
64
- <li class="toctree-l3"><a class="reference internal" href="#snappy.LinkExteriors"><code class="docutils literal notranslate"><span class="pre">LinkExteriors</span></code></a></li>
65
- <li class="toctree-l3"><a class="reference internal" href="#snappy.HTLinkExteriors"><code class="docutils literal notranslate"><span class="pre">HTLinkExteriors</span></code></a></li>
66
- <li class="toctree-l3"><a class="reference internal" href="#snappy.NonorientableCuspedCensus"><code class="docutils literal notranslate"><span class="pre">NonorientableCuspedCensus</span></code></a></li>
67
- <li class="toctree-l3"><a class="reference internal" href="#snappy.NonorientableClosedCensus"><code class="docutils literal notranslate"><span class="pre">NonorientableClosedCensus</span></code></a></li>
68
- <li class="toctree-l3"><a class="reference internal" href="platonic_census.html">Censuses of Platonic manifolds</a></li>
69
- <li class="toctree-l3"><a class="reference internal" href="#snappy.database.ManifoldTable"><code class="docutils literal notranslate"><span class="pre">ManifoldTable</span></code></a><ul>
70
- <li class="toctree-l4"><a class="reference internal" href="#snappy.database.ManifoldTable.find"><code class="docutils literal notranslate"><span class="pre">ManifoldTable.find()</span></code></a></li>
71
- <li class="toctree-l4"><a class="reference internal" href="#snappy.database.ManifoldTable.identify"><code class="docutils literal notranslate"><span class="pre">ManifoldTable.identify()</span></code></a></li>
72
- <li class="toctree-l4"><a class="reference internal" href="#snappy.database.ManifoldTable.keys"><code class="docutils literal notranslate"><span class="pre">ManifoldTable.keys()</span></code></a></li>
73
- <li class="toctree-l4"><a class="reference internal" href="#snappy.database.ManifoldTable.siblings"><code class="docutils literal notranslate"><span class="pre">ManifoldTable.siblings()</span></code></a></li>
74
- </ul>
75
- </li>
76
- <li class="toctree-l3"><a class="reference internal" href="#snappy.AlternatingKnotExteriors"><code class="docutils literal notranslate"><span class="pre">AlternatingKnotExteriors</span></code></a><ul>
77
- <li class="toctree-l4"><a class="reference internal" href="#snappy.AlternatingKnotExteriors.next"><code class="docutils literal notranslate"><span class="pre">AlternatingKnotExteriors.next()</span></code></a></li>
78
- </ul>
79
- </li>
80
- <li class="toctree-l3"><a class="reference internal" href="#snappy.NonalternatingKnotExteriors"><code class="docutils literal notranslate"><span class="pre">NonalternatingKnotExteriors</span></code></a><ul>
81
- <li class="toctree-l4"><a class="reference internal" href="#snappy.NonalternatingKnotExteriors.next"><code class="docutils literal notranslate"><span class="pre">NonalternatingKnotExteriors.next()</span></code></a></li>
82
- </ul>
83
- </li>
84
- </ul>
85
- </li>
86
- </ul>
87
- </li>
88
- <li class="toctree-l1"><a class="reference internal" href="plink.html">Using SnapPy’s link editor</a></li>
89
- <li class="toctree-l1"><a class="reference internal" href="spherogram.html">Links: planar diagrams and invariants</a></li>
90
- <li class="toctree-l1"><a class="reference internal" href="snap.html">Number theory of hyperbolic 3-manifolds</a></li>
91
- <li class="toctree-l1"><a class="reference internal" href="verify.html">Verified computations</a></li>
92
- <li class="toctree-l1"><a class="reference internal" href="other.html">Other components</a></li>
93
- <li class="toctree-l1"><a class="reference internal" href="news.html">News</a></li>
94
- <li class="toctree-l1"><a class="reference internal" href="credits.html">Credits</a></li>
95
- <li class="toctree-l1"><a class="reference internal" href="bugs.html">Reporting bugs and other problems</a></li>
96
- <li class="toctree-l1"><a class="reference internal" href="todo.html">To Do List</a></li>
97
- <li class="toctree-l1"><a class="reference internal" href="development.html">Development Basics</a></li>
98
- </ul>
99
-
100
- </div>
101
- </div>
102
- </nav>
103
-
104
- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
105
- <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
106
- <a href="index.html">SnapPy</a>
107
- </nav>
108
-
109
- <div class="wy-nav-content">
110
- <div class="rst-content">
111
- <div role="navigation" aria-label="Page navigation">
112
- <ul class="wy-breadcrumbs">
113
- <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
114
- <li class="breadcrumb-item"><a href="snappy.html">The snappy module and its classes</a></li>
115
- <li class="breadcrumb-item active">Census manifolds</li>
116
- <li class="wy-breadcrumbs-aside">
117
- </li>
118
- </ul>
119
- <hr/>
120
- </div>
121
- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
122
- <div itemprop="articleBody">
123
-
124
- <section id="census-manifolds">
125
- <h1>Census manifolds<a class="headerlink" href="#census-manifolds" title="Permalink to this heading"></a></h1>
126
- <p>Snappy comes with a large library of manifolds, which can be accessed
127
- individually through the Manifold and Triangulation constructors but
128
- can also be iterated through using the objects described on this
129
- page.</p>
130
- <p>SnapPy’s iterators support several flexible methods for accessing
131
- manifolds. They can be sliced (i.e. restricted to subranges) either
132
- by index or by volume. Calling the iterator with keyword arguments
133
- such as num_tets=1, betti=2 or num_cusps=3 returns an iterator which
134
- is filtered by the specified conditions. In addition these iterators
135
- can determine whether they contain a given manifold. They support
136
- python’s “A in B” syntax, and also provide an identify method which
137
- will return a copy of the census manifold which is isometric to the
138
- manifold passed as an argument.</p>
139
- <dl class="py data">
140
- <dt class="sig sig-object py" id="snappy.OrientableCuspedCensus">
141
- <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">OrientableCuspedCensus</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">OrientableCuspedCensus</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.OrientableCuspedCensus" title="Permalink to this definition"></a></dt>
142
- <dd><p>Iterator for all orientable cusped hyperbolic manifolds that
143
- can be triangulated with at most 9 ideal tetrahedra.</p>
144
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableCuspedCensus</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">6</span><span class="p">]:</span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
145
- <span class="gp">... </span>
146
- <span class="go">m007(0,0) 2.56897060</span>
147
- <span class="go">m009(0,0) 2.66674478</span>
148
- <span class="go">m010(0,0) 2.66674478</span>
149
- <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableCuspedCensus</span><span class="p">[</span><span class="o">-</span><span class="mi">9</span><span class="p">:</span><span class="o">-</span><span class="mi">6</span><span class="p">]:</span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
150
- <span class="gp">...</span>
151
- <span class="go">o9_44241(0,0) 8.96323909</span>
152
- <span class="go">o9_44242(0,0) 8.96736842</span>
153
- <span class="go">o9_44243(0,0) 8.96736842</span>
154
- <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableCuspedCensus</span><span class="p">[</span><span class="mf">4.10</span><span class="p">:</span><span class="mf">4.11</span><span class="p">]:</span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
155
- <span class="gp">... </span>
156
- <span class="go">m217(0,0) 4.10795310</span>
157
- <span class="go">m218(0,0) 4.10942659</span>
158
- <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableCuspedCensus</span><span class="p">(</span><span class="n">num_cusps</span><span class="o">=</span><span class="mi">2</span><span class="p">)[:</span><span class="mi">3</span><span class="p">]:</span>
159
- <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">(),</span> <span class="n">M</span><span class="o">.</span><span class="n">num_cusps</span><span class="p">())</span>
160
- <span class="gp">... </span>
161
- <span class="go">m125(0,0)(0,0) 3.66386238 2</span>
162
- <span class="go">m129(0,0)(0,0) 3.66386238 2</span>
163
- <span class="go">m202(0,0)(0,0) 4.05976643 2</span>
164
- <span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m129&#39;</span><span class="p">)</span>
165
- <span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="ow">in</span> <span class="n">LinkExteriors</span>
166
- <span class="go">True</span>
167
- <span class="gp">&gt;&gt;&gt; </span><span class="n">LinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">)</span>
168
- <span class="go">5^2_1(0,0)(0,0)</span>
169
- </pre></div>
170
- </div>
171
- </dd></dl>
172
-
173
- <dl class="py data">
174
- <dt class="sig sig-object py" id="snappy.OrientableClosedCensus">
175
- <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">OrientableClosedCensus</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">OrientableClosedCensus</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.OrientableClosedCensus" title="Permalink to this definition"></a></dt>
176
- <dd><p>Iterator for 11,031 closed hyperbolic manifolds from the census by
177
- Hodgson and Weeks.</p>
178
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">OrientableClosedCensus</span><span class="p">)</span>
179
- <span class="go">11031</span>
180
- <span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">OrientableClosedCensus</span><span class="p">(</span><span class="n">betti</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
181
- <span class="go">1</span>
182
- <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableClosedCensus</span><span class="p">(</span><span class="n">betti</span><span class="o">=</span><span class="mi">2</span><span class="p">):</span>
183
- <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">homology</span><span class="p">())</span>
184
- <span class="gp">... </span>
185
- <span class="go">v1539(5,1) Z + Z</span>
186
- </pre></div>
187
- </div>
188
- </dd></dl>
189
-
190
- <dl class="py data">
191
- <dt class="sig sig-object py" id="snappy.CensusKnots">
192
- <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">CensusKnots</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">CensusKnots</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.CensusKnots" title="Permalink to this definition"></a></dt>
193
- <dd><p>Iterator for all of the knot exteriors in the SnapPea Census,
194
- as tabulated by Callahan, Dean, Weeks, Champanerkar, Kofman,
195
- Patterson, and Dunfield. These are the knot exteriors which
196
- can be triangulated by at most 9 ideal tetrahedra.</p>
197
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">CensusKnots</span><span class="p">[</span><span class="mf">3.4</span><span class="p">:</span><span class="mf">3.5</span><span class="p">]:</span>
198
- <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">(),</span> <span class="n">LinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">))</span>
199
- <span class="gp">... </span>
200
- <span class="go">K4_3(0,0) 3.47424776 False</span>
201
- <span class="go">K5_1(0,0) 3.41791484 False</span>
202
- <span class="go">K5_2(0,0) 3.42720525 8_1(0,0)</span>
203
- <span class="go">K5_3(0,0) 3.48666015 9_2(0,0)</span>
204
- </pre></div>
205
- </div>
206
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">CensusKnots</span><span class="p">)</span>
207
- <span class="go">1267</span>
208
- <span class="gp">&gt;&gt;&gt; </span><span class="n">CensusKnots</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">num_tetrahedra</span><span class="p">()</span>
209
- <span class="go">9</span>
210
- </pre></div>
211
- </div>
212
- </dd></dl>
213
-
214
- <dl class="py data">
215
- <dt class="sig sig-object py" id="snappy.LinkExteriors">
216
- <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">LinkExteriors</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">LinkExteriors</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.LinkExteriors" title="Permalink to this definition"></a></dt>
217
- <dd><p>Iterator for all knots with at most 11 crossings and links with
218
- at most 10 crossings, using the Rolfsen notation. The triangulations
219
- were computed by Joe Christy.</p>
220
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">K</span> <span class="ow">in</span> <span class="n">LinkExteriors</span><span class="p">(</span><span class="n">num_cusps</span><span class="o">=</span><span class="mi">3</span><span class="p">)[</span><span class="o">-</span><span class="mi">3</span><span class="p">:]:</span>
221
- <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">K</span><span class="p">,</span> <span class="n">K</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
222
- <span class="gp">... </span>
223
- <span class="go">10^3_72(0,0)(0,0)(0,0) 14.35768903</span>
224
- <span class="go">10^3_73(0,0)(0,0)(0,0) 15.86374431</span>
225
- <span class="go">10^3_74(0,0)(0,0)(0,0) 15.55091438</span>
226
- <span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;8_4&#39;</span><span class="p">)</span>
227
- <span class="gp">&gt;&gt;&gt; </span><span class="n">OrientableCuspedCensus</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">)</span>
228
- <span class="go">s862(0,0)</span>
229
- </pre></div>
230
- </div>
231
- <p>By default, the ‘identify’ returns the first isometric manifold it finds;
232
- if the optional ‘extends_to_link’ flag is set, it insists that meridians
233
- are taken to meridians.</p>
234
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;7^2_8&#39;</span><span class="p">)</span>
235
- <span class="gp">&gt;&gt;&gt; </span><span class="n">LinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">)</span>
236
- <span class="go">5^2_1(0,0)(0,0)</span>
237
- <span class="gp">&gt;&gt;&gt; </span><span class="n">LinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">extends_to_link</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
238
- <span class="go">7^2_8(0,0)(0,0)</span>
239
- </pre></div>
240
- </div>
241
- </dd></dl>
242
-
243
- <dl class="py data">
244
- <dt class="sig sig-object py" id="snappy.HTLinkExteriors">
245
- <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">HTLinkExteriors</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">HTLinkExteriors</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.HTLinkExteriors" title="Permalink to this definition"></a></dt>
246
- <dd><p>Iterator for all knots up to 14 or 15 crossings (see below for
247
- which) and links up to 14 crossings as tabulated by Jim Hoste
248
- and Morwen Thistlethwaite. In addition to the filter
249
- arguments supported by all ManifoldTables, this iterator
250
- provides alternating=&lt;True/False&gt;;
251
- knots_vs_links=&lt;’knots’/’links’&gt;; and crossings=N. These allow
252
- iterations only through alternating or non-alternating links
253
- with 1 or more than 1 component and a specified crossing
254
- number.</p>
255
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">HTLinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">LinkExteriors</span><span class="p">[</span><span class="s1">&#39;8_20&#39;</span><span class="p">])</span>
256
- <span class="go">K8n1(0,0)</span>
257
- <span class="gp">&gt;&gt;&gt; </span><span class="n">Mylist</span> <span class="o">=</span> <span class="n">HTLinkExteriors</span><span class="p">(</span><span class="n">alternating</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span><span class="n">knots_vs_links</span><span class="o">=</span><span class="s1">&#39;links&#39;</span><span class="p">)[</span><span class="mf">8.5</span><span class="p">:</span><span class="mf">8.7</span><span class="p">]</span>
258
- <span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">Mylist</span><span class="p">)</span>
259
- <span class="go">8</span>
260
- <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">L</span> <span class="ow">in</span> <span class="n">Mylist</span><span class="p">:</span>
261
- <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span> <span class="n">L</span><span class="o">.</span><span class="n">name</span><span class="p">(),</span> <span class="n">L</span><span class="o">.</span><span class="n">num_cusps</span><span class="p">(),</span> <span class="n">L</span><span class="o">.</span><span class="n">volume</span><span class="p">()</span> <span class="p">)</span>
262
- <span class="gp">... </span>
263
- <span class="go">L11n138 2 8.66421454</span>
264
- <span class="go">L12n1097 2 8.51918360</span>
265
- <span class="go">L14n13364 2 8.69338342</span>
266
- <span class="go">L14n13513 2 8.58439465</span>
267
- <span class="go">L14n15042 2 8.66421454</span>
268
- <span class="go">L14n24425 2 8.60676092</span>
269
- <span class="go">L14n24777 2 8.53123093</span>
270
- <span class="go">L14n26042 2 8.64333782</span>
271
- <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">L</span> <span class="ow">in</span> <span class="n">Mylist</span><span class="p">:</span>
272
- <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span> <span class="n">L</span><span class="o">.</span><span class="n">name</span><span class="p">(),</span> <span class="n">L</span><span class="o">.</span><span class="n">DT_code</span><span class="p">()</span> <span class="p">)</span>
273
- <span class="gp">... </span>
274
- <span class="go">L11n138 [(8, -10, -12), (6, -16, -18, -22, -20, -2, -4, -14)]</span>
275
- <span class="go">L12n1097 [(10, 12, -14, -18), (22, 2, -20, 24, -6, -8, 4, 16)]</span>
276
- <span class="go">L14n13364 [(8, -10, 12), (6, -18, 20, -22, -26, -24, 2, -4, -28, -16, -14)]</span>
277
- <span class="go">L14n13513 [(8, -10, 12), (6, -20, 18, -26, -24, -4, 2, -28, -16, -14, -22)]</span>
278
- <span class="go">L14n15042 [(8, -10, 14), (12, -16, 18, -22, 24, 2, 26, 28, 6, -4, 20)]</span>
279
- <span class="go">L14n24425 [(10, -12, 14, -16), (-18, 26, -24, 22, -20, -28, -6, 4, -2, 8)]</span>
280
- <span class="go">L14n24777 [(10, 12, -14, -18), (2, 28, -22, 24, -6, 26, -8, 4, 16, 20)]</span>
281
- <span class="go">L14n26042 [(10, 12, 14, -20), (8, 2, 28, -22, -24, -26, -6, -16, -18, 4)]</span>
282
- </pre></div>
283
- </div>
284
- <p>SnapPy comes with one of two versions of HTLinkExteriors. The
285
- smaller original one provides knots and links up to 14
286
- crossings; the larger adds to that the knots (but not links)
287
- with 15 crossings. You can determine which you have by whether</p>
288
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">HTLinkExteriors</span><span class="p">(</span><span class="n">crossings</span><span class="o">=</span><span class="mi">15</span><span class="p">))</span>
289
- </pre></div>
290
- </div>
291
- <p>gives 0 or 253293. To upgrade to the larger database, install
292
- the Python module ‘snappy_15_knots’ as discussed on the
293
- ‘installing SnapPy’ webpage.</p>
294
- </dd></dl>
295
-
296
- <dl class="py data">
297
- <dt class="sig sig-object py" id="snappy.NonorientableCuspedCensus">
298
- <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">NonorientableCuspedCensus</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">NonorientableCuspedCensus</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.NonorientableCuspedCensus" title="Permalink to this definition"></a></dt>
299
- <dd><p>Iterator for all orientable cusped hyperbolic manifolds that
300
- can be triangulated with at most 5 ideal tetrahedra.</p>
301
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">NonorientableCuspedCensus</span><span class="p">(</span><span class="n">betti</span><span class="o">=</span><span class="mi">2</span><span class="p">)[:</span><span class="mi">3</span><span class="p">]:</span>
302
- <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">homology</span><span class="p">())</span>
303
- <span class="gp">... </span>
304
- <span class="go">m124(0,0)(0,0)(0,0) Z/2 + Z + Z</span>
305
- <span class="go">m128(0,0)(0,0) Z + Z</span>
306
- <span class="go">m131(0,0) Z + Z</span>
307
- </pre></div>
308
- </div>
309
- </dd></dl>
310
-
311
- <dl class="py data">
312
- <dt class="sig sig-object py" id="snappy.NonorientableClosedCensus">
313
- <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">NonorientableClosedCensus</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">NonorientableClosedCensus</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.NonorientableClosedCensus" title="Permalink to this definition"></a></dt>
314
- <dd><p>Iterator for 17 nonorientable closed hyperbolic manifolds from the
315
- census by Hodgson and Weeks.</p>
316
- <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">NonorientableClosedCensus</span><span class="p">[:</span><span class="mi">3</span><span class="p">]:</span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
317
- <span class="gp">... </span>
318
- <span class="go">m018(1,0) 2.02988321</span>
319
- <span class="go">m177(1,0) 2.56897060</span>
320
- <span class="go">m153(1,0) 2.66674478</span>
321
- </pre></div>
322
- </div>
323
- </dd></dl>
324
-
325
- <p>There are also:</p>
326
- <div class="toctree-wrapper compound">
327
- <ul>
328
- <li class="toctree-l1"><a class="reference internal" href="platonic_census.html">Censuses of Platonic manifolds</a></li>
329
- </ul>
330
- </div>
331
- <p>As instances of subclasses of ManifoldTable, the objects above
332
- support the following methods.</p>
333
- <dl class="py class">
334
- <dt class="sig sig-object py" id="snappy.database.ManifoldTable">
335
- <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">snappy.database.</span></span><span class="sig-name descname"><span class="pre">ManifoldTable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">table=''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">db_path=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mfld_hash=&lt;function</span> <span class="pre">mfld_hash&gt;</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">**filter_args</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable" title="Permalink to this definition"></a></dt>
336
- <dd><p>Iterator for cusped manifolds in an sqlite3 table of manifolds.</p>
337
- <p>Initialize with the table name. The table schema is required to
338
- include a text field called ‘name’ and a text field called
339
- ‘triangulation’. The text holds the result of
340
- M.triangulation_isosig(), M.triangulation_isosig(decorated = True), or
341
- M._to_string().</p>
342
- <p>Both mapping from the manifold name, and lookup by index are
343
- supported. Slicing can be done either by numerical index or by
344
- volume.</p>
345
- <p>The __contains__ method is supported, so M in T returns True if M
346
- is isometric to a manifold in the table T. The method
347
- T.identify(M) will return the matching manifold from the table.</p>
348
- <dl class="py method">
349
- <dt class="sig sig-object py" id="snappy.database.ManifoldTable.find">
350
- <span class="sig-name descname"><span class="pre">find</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">where</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">order_by</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'id'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">limit</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable.find" title="Permalink to this definition"></a></dt>
351
- <dd><p>Return a list of up to limit manifolds stored in this table,
352
- satisfying the where clause, and ordered by the order_by
353
- clause. If limit is None, all matching manifolds are
354
- returned. If the offset parameter is set, the first offset
355
- matches are skipped.</p>
356
- </dd></dl>
357
-
358
- <dl class="py method">
359
- <dt class="sig sig-object py" id="snappy.database.ManifoldTable.identify">
360
- <span class="sig-name descname"><span class="pre">identify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mfld</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extends_to_link</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable.identify" title="Permalink to this definition"></a></dt>
361
- <dd><p>Look for a manifold in this table which is isometric to the
362
- argument.</p>
363
- <p>Return the matching manifold, if there is one which SnapPea
364
- declares to be isometric.</p>
365
- <p>Return False if no manifold in the table has the same hash.</p>
366
- <p>Return None in all other cases (for now).</p>
367
- <p>If the flag “extends_to_link” is True, requires that the isometry
368
- sends meridians to meridians. If the input manifold is closed
369
- this will result in no matches being returned.</p>
370
- </dd></dl>
371
-
372
- <dl class="py method">
373
- <dt class="sig sig-object py" id="snappy.database.ManifoldTable.keys">
374
- <span class="sig-name descname"><span class="pre">keys</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable.keys" title="Permalink to this definition"></a></dt>
375
- <dd><p>Return the list of column names for this manifold table.</p>
376
- </dd></dl>
377
-
378
- <dl class="py method">
379
- <dt class="sig sig-object py" id="snappy.database.ManifoldTable.siblings">
380
- <span class="sig-name descname"><span class="pre">siblings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mfld</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable.siblings" title="Permalink to this definition"></a></dt>
381
- <dd><p>Return all manifolds in the census which have the same hash value.</p>
382
- </dd></dl>
383
-
384
- </dd></dl>
385
-
386
- <p>Because of the large size of their datasets, the classes below
387
- can only iterate through slices by index, and do not provide
388
- the identification methods.</p>
389
- <dl class="py class">
390
- <dt class="sig sig-object py" id="snappy.AlternatingKnotExteriors">
391
- <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">AlternatingKnotExteriors</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indices</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">(0,</span> <span class="pre">491327,</span> <span class="pre">1)</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AlternatingKnotExteriors" title="Permalink to this definition"></a></dt>
392
- <dd><p>Iterator/Sequence for Alternating knot exteriors from the
393
- Hoste-Thistlethwaite tables. Goes through 16 crossings.</p>
394
- <dl class="py method">
395
- <dt class="sig sig-object py" id="snappy.AlternatingKnotExteriors.next">
396
- <span class="sig-name descname"><span class="pre">next</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AlternatingKnotExteriors.next" title="Permalink to this definition"></a></dt>
397
- <dd></dd></dl>
398
-
399
- </dd></dl>
400
-
401
- <dl class="py class">
402
- <dt class="sig sig-object py" id="snappy.NonalternatingKnotExteriors">
403
- <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">NonalternatingKnotExteriors</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indices</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">(0,</span> <span class="pre">1210608,</span> <span class="pre">1)</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.NonalternatingKnotExteriors" title="Permalink to this definition"></a></dt>
404
- <dd><p>Iterator/Sequence for nonAlternating knot exteriors from the
405
- Hoste-Thistlethwaite tables. Goes through 16 crossings.</p>
406
- <dl class="py method">
407
- <dt class="sig sig-object py" id="snappy.NonalternatingKnotExteriors.next">
408
- <span class="sig-name descname"><span class="pre">next</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.NonalternatingKnotExteriors.next" title="Permalink to this definition"></a></dt>
409
- <dd></dd></dl>
410
-
411
- </dd></dl>
412
-
413
- </section>
414
-
415
-
416
- </div>
417
- </div>
418
- <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
419
- <a href="additional_classes.html" class="btn btn-neutral float-left" title="Additional Classes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
420
- <a href="platonic_census.html" class="btn btn-neutral float-right" title="Censuses of Platonic manifolds" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
421
- </div>
422
-
423
- <hr/>
424
-
425
- <div role="contentinfo">
426
- <p>&#169; Copyright 2009-2023, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
427
- </div>
428
-
429
- Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
430
- <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
431
- provided by <a href="https://readthedocs.org">Read the Docs</a>.
432
-
433
-
434
- </footer>
435
- </div>
436
- </div>
437
- </section>
438
- </div>
439
- <script>
440
- jQuery(function () {
441
- SphinxRtdTheme.Navigation.enable(true);
442
- });
443
- </script>
444
-
445
- </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>Census manifolds &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="Censuses of Platonic manifolds" href="platonic_census.html" />
25
+ <link rel="prev" title="Additional Classes" href="additional_classes.html" />
26
+ </head>
27
+
28
+ <body class="wy-body-for-nav">
29
+ <div class="wy-grid-for-nav">
30
+ <nav data-toggle="wy-nav-shift" class="wy-nav-side">
31
+ <div class="wy-side-scroll">
32
+ <div class="wy-side-nav-search" >
33
+
34
+
35
+
36
+ <a href="index.html" class="icon icon-home">
37
+ SnapPy
38
+ <img src="_static/SnapPy-horizontal-128.png" class="logo" alt="Logo"/>
39
+ </a>
40
+ <div role="search">
41
+ <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
42
+ <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
43
+ <input type="hidden" name="check_keywords" value="yes" />
44
+ <input type="hidden" name="area" value="default" />
45
+ </form>
46
+ </div>
47
+ </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
48
+ <ul class="current">
49
+ <li class="toctree-l1"><a class="reference internal" href="installing.html">Installing SnapPy</a></li>
50
+ <li class="toctree-l1"><a class="reference internal" href="screenshots.html">Screenshots: SnapPy in action</a></li>
51
+ <li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial</a></li>
52
+ <li class="toctree-l1 current"><a class="reference internal" href="snappy.html">The snappy module and its classes</a><ul class="current">
53
+ <li class="toctree-l2"><a class="reference internal" href="manifold.html">Manifold: the main class</a></li>
54
+ <li class="toctree-l2"><a class="reference internal" href="manifoldhp.html">ManifoldHP: High-precision variant</a></li>
55
+ <li class="toctree-l2"><a class="reference internal" href="triangulation.html">Triangulation</a></li>
56
+ <li class="toctree-l2"><a class="reference internal" href="additional_classes.html">Additional Classes</a></li>
57
+ <li class="toctree-l2 current"><a class="current reference internal" href="#">Census manifolds</a><ul>
58
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.OrientableCuspedCensus"><code class="docutils literal notranslate"><span class="pre">OrientableCuspedCensus</span></code></a></li>
59
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.OrientableClosedCensus"><code class="docutils literal notranslate"><span class="pre">OrientableClosedCensus</span></code></a></li>
60
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.CensusKnots"><code class="docutils literal notranslate"><span class="pre">CensusKnots</span></code></a></li>
61
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.LinkExteriors"><code class="docutils literal notranslate"><span class="pre">LinkExteriors</span></code></a></li>
62
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.HTLinkExteriors"><code class="docutils literal notranslate"><span class="pre">HTLinkExteriors</span></code></a></li>
63
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.NonorientableCuspedCensus"><code class="docutils literal notranslate"><span class="pre">NonorientableCuspedCensus</span></code></a></li>
64
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.NonorientableClosedCensus"><code class="docutils literal notranslate"><span class="pre">NonorientableClosedCensus</span></code></a></li>
65
+ <li class="toctree-l3"><a class="reference internal" href="platonic_census.html">Censuses of Platonic manifolds</a></li>
66
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.database.ManifoldTable"><code class="docutils literal notranslate"><span class="pre">ManifoldTable</span></code></a><ul>
67
+ <li class="toctree-l4"><a class="reference internal" href="#snappy.database.ManifoldTable.find"><code class="docutils literal notranslate"><span class="pre">ManifoldTable.find()</span></code></a></li>
68
+ <li class="toctree-l4"><a class="reference internal" href="#snappy.database.ManifoldTable.identify"><code class="docutils literal notranslate"><span class="pre">ManifoldTable.identify()</span></code></a></li>
69
+ <li class="toctree-l4"><a class="reference internal" href="#snappy.database.ManifoldTable.keys"><code class="docutils literal notranslate"><span class="pre">ManifoldTable.keys()</span></code></a></li>
70
+ <li class="toctree-l4"><a class="reference internal" href="#snappy.database.ManifoldTable.siblings"><code class="docutils literal notranslate"><span class="pre">ManifoldTable.siblings()</span></code></a></li>
71
+ </ul>
72
+ </li>
73
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.AlternatingKnotExteriors"><code class="docutils literal notranslate"><span class="pre">AlternatingKnotExteriors</span></code></a></li>
74
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.NonalternatingKnotExteriors"><code class="docutils literal notranslate"><span class="pre">NonalternatingKnotExteriors</span></code></a></li>
75
+ </ul>
76
+ </li>
77
+ </ul>
78
+ </li>
79
+ <li class="toctree-l1"><a class="reference internal" href="plink.html">Using SnapPy’s link editor</a></li>
80
+ <li class="toctree-l1"><a class="reference internal" href="spherogram.html">Links: planar diagrams and invariants</a></li>
81
+ <li class="toctree-l1"><a class="reference internal" href="snap.html">Number theory of hyperbolic 3-manifolds</a></li>
82
+ <li class="toctree-l1"><a class="reference internal" href="verify.html">Verified computations</a></li>
83
+ <li class="toctree-l1"><a class="reference internal" href="other.html">Other components</a></li>
84
+ <li class="toctree-l1"><a class="reference internal" href="news.html">News</a></li>
85
+ <li class="toctree-l1"><a class="reference internal" href="credits.html">Credits</a></li>
86
+ <li class="toctree-l1"><a class="reference internal" href="bugs.html">Reporting bugs and other problems</a></li>
87
+ <li class="toctree-l1"><a class="reference internal" href="todo.html">To Do List</a></li>
88
+ <li class="toctree-l1"><a class="reference internal" href="development.html">Development Basics</a></li>
89
+ </ul>
90
+
91
+ </div>
92
+ </div>
93
+ </nav>
94
+
95
+ <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
96
+ <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
97
+ <a href="index.html">SnapPy</a>
98
+ </nav>
99
+
100
+ <div class="wy-nav-content">
101
+ <div class="rst-content">
102
+ <div role="navigation" aria-label="Page navigation">
103
+ <ul class="wy-breadcrumbs">
104
+ <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
105
+ <li class="breadcrumb-item"><a href="snappy.html">The snappy module and its classes</a></li>
106
+ <li class="breadcrumb-item active">Census manifolds</li>
107
+ <li class="wy-breadcrumbs-aside">
108
+ </li>
109
+ </ul>
110
+ <hr/>
111
+ </div>
112
+ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
113
+ <div itemprop="articleBody">
114
+
115
+ <section id="census-manifolds">
116
+ <h1>Census manifolds<a class="headerlink" href="#census-manifolds" title="Link to this heading"></a></h1>
117
+ <p>Snappy comes with a large library of manifolds, which can be accessed
118
+ individually through the Manifold and Triangulation constructors but
119
+ can also be iterated through using the objects described on this
120
+ page.</p>
121
+ <p>SnapPy’s iterators support several flexible methods for accessing
122
+ manifolds. They can be sliced (i.e. restricted to subranges) either
123
+ by index or by volume. Calling the iterator with keyword arguments
124
+ such as num_tets=1, betti=2 or num_cusps=3 returns an iterator which
125
+ is filtered by the specified conditions. In addition these iterators
126
+ can determine whether they contain a given manifold. They support
127
+ python’s “A in B” syntax, and also provide an identify method which
128
+ will return a copy of the census manifold which is isometric to the
129
+ manifold passed as an argument.</p>
130
+ <dl class="py data">
131
+ <dt class="sig sig-object py" id="snappy.OrientableCuspedCensus">
132
+ <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">OrientableCuspedCensus</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">OrientableCuspedCensus</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.OrientableCuspedCensus" title="Link to this definition"></a></dt>
133
+ <dd><p>Iterator for all orientable cusped hyperbolic manifolds that
134
+ can be triangulated with at most 9 ideal tetrahedra.</p>
135
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableCuspedCensus</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">6</span><span class="p">]:</span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
136
+ <span class="gp">... </span>
137
+ <span class="go">m007(0,0) 2.56897060</span>
138
+ <span class="go">m009(0,0) 2.66674478</span>
139
+ <span class="go">m010(0,0) 2.66674478</span>
140
+ <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableCuspedCensus</span><span class="p">[</span><span class="o">-</span><span class="mi">9</span><span class="p">:</span><span class="o">-</span><span class="mi">6</span><span class="p">]:</span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
141
+ <span class="gp">...</span>
142
+ <span class="go">o9_44241(0,0) 8.96323909</span>
143
+ <span class="go">o9_44242(0,0) 8.96736842</span>
144
+ <span class="go">o9_44243(0,0) 8.96736842</span>
145
+ <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableCuspedCensus</span><span class="p">[</span><span class="mf">4.10</span><span class="p">:</span><span class="mf">4.11</span><span class="p">]:</span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
146
+ <span class="gp">... </span>
147
+ <span class="go">m217(0,0) 4.10795310</span>
148
+ <span class="go">m218(0,0) 4.10942659</span>
149
+ <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableCuspedCensus</span><span class="p">(</span><span class="n">num_cusps</span><span class="o">=</span><span class="mi">2</span><span class="p">)[:</span><span class="mi">3</span><span class="p">]:</span>
150
+ <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">(),</span> <span class="n">M</span><span class="o">.</span><span class="n">num_cusps</span><span class="p">())</span>
151
+ <span class="gp">... </span>
152
+ <span class="go">m125(0,0)(0,0) 3.66386238 2</span>
153
+ <span class="go">m129(0,0)(0,0) 3.66386238 2</span>
154
+ <span class="go">m202(0,0)(0,0) 4.05976643 2</span>
155
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;m129&#39;</span><span class="p">)</span>
156
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="ow">in</span> <span class="n">LinkExteriors</span>
157
+ <span class="go">True</span>
158
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">LinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">)</span>
159
+ <span class="go">5^2_1(0,0)(0,0)</span>
160
+ </pre></div>
161
+ </div>
162
+ </dd></dl>
163
+
164
+ <dl class="py data">
165
+ <dt class="sig sig-object py" id="snappy.OrientableClosedCensus">
166
+ <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">OrientableClosedCensus</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">OrientableClosedCensus</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.OrientableClosedCensus" title="Link to this definition"></a></dt>
167
+ <dd><p>Iterator for 11,031 closed hyperbolic manifolds from the census by
168
+ Hodgson and Weeks.</p>
169
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">OrientableClosedCensus</span><span class="p">)</span>
170
+ <span class="go">11031</span>
171
+ <span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">OrientableClosedCensus</span><span class="p">(</span><span class="n">betti</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
172
+ <span class="go">1</span>
173
+ <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">OrientableClosedCensus</span><span class="p">(</span><span class="n">betti</span><span class="o">=</span><span class="mi">2</span><span class="p">):</span>
174
+ <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">homology</span><span class="p">())</span>
175
+ <span class="gp">... </span>
176
+ <span class="go">v1539(5,1) Z + Z</span>
177
+ </pre></div>
178
+ </div>
179
+ </dd></dl>
180
+
181
+ <dl class="py data">
182
+ <dt class="sig sig-object py" id="snappy.CensusKnots">
183
+ <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">CensusKnots</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">CensusKnots</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.CensusKnots" title="Link to this definition"></a></dt>
184
+ <dd><p>Iterator for all of the knot exteriors in the SnapPea Census,
185
+ as tabulated by Callahan, Dean, Weeks, Champanerkar, Kofman,
186
+ Patterson, and Dunfield. These are the knot exteriors which
187
+ can be triangulated by at most 9 ideal tetrahedra.</p>
188
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">CensusKnots</span><span class="p">[</span><span class="mf">3.4</span><span class="p">:</span><span class="mf">3.5</span><span class="p">]:</span>
189
+ <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">(),</span> <span class="n">LinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">))</span>
190
+ <span class="gp">... </span>
191
+ <span class="go">K4_3(0,0) 3.47424776 False</span>
192
+ <span class="go">K5_1(0,0) 3.41791484 False</span>
193
+ <span class="go">K5_2(0,0) 3.42720525 8_1(0,0)</span>
194
+ <span class="go">K5_3(0,0) 3.48666015 9_2(0,0)</span>
195
+ </pre></div>
196
+ </div>
197
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">CensusKnots</span><span class="p">)</span>
198
+ <span class="go">1267</span>
199
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">CensusKnots</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">num_tetrahedra</span><span class="p">()</span>
200
+ <span class="go">9</span>
201
+ </pre></div>
202
+ </div>
203
+ </dd></dl>
204
+
205
+ <dl class="py data">
206
+ <dt class="sig sig-object py" id="snappy.LinkExteriors">
207
+ <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">LinkExteriors</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">LinkExteriors</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.LinkExteriors" title="Link to this definition"></a></dt>
208
+ <dd><p>Iterator for all knots with at most 11 crossings and links with
209
+ at most 10 crossings, using the Rolfsen notation. The triangulations
210
+ were computed by Joe Christy.</p>
211
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">K</span> <span class="ow">in</span> <span class="n">LinkExteriors</span><span class="p">(</span><span class="n">num_cusps</span><span class="o">=</span><span class="mi">3</span><span class="p">)[</span><span class="o">-</span><span class="mi">3</span><span class="p">:]:</span>
212
+ <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">K</span><span class="p">,</span> <span class="n">K</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
213
+ <span class="gp">... </span>
214
+ <span class="go">10^3_72(0,0)(0,0)(0,0) 14.35768903</span>
215
+ <span class="go">10^3_73(0,0)(0,0)(0,0) 15.86374431</span>
216
+ <span class="go">10^3_74(0,0)(0,0)(0,0) 15.55091438</span>
217
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;8_4&#39;</span><span class="p">)</span>
218
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">OrientableCuspedCensus</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">)</span>
219
+ <span class="go">s862(0,0)</span>
220
+ </pre></div>
221
+ </div>
222
+ <p>By default, the ‘identify’ returns the first isometric manifold it finds;
223
+ if the optional ‘extends_to_link’ flag is set, it insists that meridians
224
+ are taken to meridians.</p>
225
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">Manifold</span><span class="p">(</span><span class="s1">&#39;7^2_8&#39;</span><span class="p">)</span>
226
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">LinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">)</span>
227
+ <span class="go">5^2_1(0,0)(0,0)</span>
228
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">LinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">extends_to_link</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
229
+ <span class="go">7^2_8(0,0)(0,0)</span>
230
+ </pre></div>
231
+ </div>
232
+ </dd></dl>
233
+
234
+ <dl class="py data">
235
+ <dt class="sig sig-object py" id="snappy.HTLinkExteriors">
236
+ <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">HTLinkExteriors</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">HTLinkExteriors</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.HTLinkExteriors" title="Link to this definition"></a></dt>
237
+ <dd><p>Iterator for all knots up to 14 or 15 crossings (see below for
238
+ which) and links up to 14 crossings as tabulated by Jim Hoste
239
+ and Morwen Thistlethwaite. In addition to the filter
240
+ arguments supported by all ManifoldTables, this iterator
241
+ provides alternating=&lt;True/False&gt;;
242
+ knots_vs_links=&lt;’knots’/’links’&gt;; and crossings=N. These allow
243
+ iterations only through alternating or non-alternating links
244
+ with 1 or more than 1 component and a specified crossing
245
+ number.</p>
246
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">HTLinkExteriors</span><span class="o">.</span><span class="n">identify</span><span class="p">(</span><span class="n">LinkExteriors</span><span class="p">[</span><span class="s1">&#39;8_20&#39;</span><span class="p">])</span>
247
+ <span class="go">K8n1(0,0)</span>
248
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">Mylist</span> <span class="o">=</span> <span class="n">HTLinkExteriors</span><span class="p">(</span><span class="n">alternating</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span><span class="n">knots_vs_links</span><span class="o">=</span><span class="s1">&#39;links&#39;</span><span class="p">)[</span><span class="mf">8.5</span><span class="p">:</span><span class="mf">8.7</span><span class="p">]</span>
249
+ <span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">Mylist</span><span class="p">)</span>
250
+ <span class="go">8</span>
251
+ <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">L</span> <span class="ow">in</span> <span class="n">Mylist</span><span class="p">:</span>
252
+ <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span> <span class="n">L</span><span class="o">.</span><span class="n">name</span><span class="p">(),</span> <span class="n">L</span><span class="o">.</span><span class="n">num_cusps</span><span class="p">(),</span> <span class="n">L</span><span class="o">.</span><span class="n">volume</span><span class="p">()</span> <span class="p">)</span>
253
+ <span class="gp">... </span>
254
+ <span class="go">L11n138 2 8.66421454</span>
255
+ <span class="go">L12n1097 2 8.51918360</span>
256
+ <span class="go">L14n13364 2 8.69338342</span>
257
+ <span class="go">L14n13513 2 8.58439465</span>
258
+ <span class="go">L14n15042 2 8.66421454</span>
259
+ <span class="go">L14n24425 2 8.60676092</span>
260
+ <span class="go">L14n24777 2 8.53123093</span>
261
+ <span class="go">L14n26042 2 8.64333782</span>
262
+ <span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">L</span> <span class="ow">in</span> <span class="n">Mylist</span><span class="p">:</span>
263
+ <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span> <span class="n">L</span><span class="o">.</span><span class="n">name</span><span class="p">(),</span> <span class="n">L</span><span class="o">.</span><span class="n">DT_code</span><span class="p">()</span> <span class="p">)</span>
264
+ <span class="gp">... </span>
265
+ <span class="go">L11n138 [(8, -10, -12), (6, -16, -18, -22, -20, -2, -4, -14)]</span>
266
+ <span class="go">L12n1097 [(10, 12, -14, -18), (22, 2, -20, 24, -6, -8, 4, 16)]</span>
267
+ <span class="go">L14n13364 [(8, -10, 12), (6, -18, 20, -22, -26, -24, 2, -4, -28, -16, -14)]</span>
268
+ <span class="go">L14n13513 [(8, -10, 12), (6, -20, 18, -26, -24, -4, 2, -28, -16, -14, -22)]</span>
269
+ <span class="go">L14n15042 [(8, -10, 14), (12, -16, 18, -22, 24, 2, 26, 28, 6, -4, 20)]</span>
270
+ <span class="go">L14n24425 [(10, -12, 14, -16), (-18, 26, -24, 22, -20, -28, -6, 4, -2, 8)]</span>
271
+ <span class="go">L14n24777 [(10, 12, -14, -18), (2, 28, -22, 24, -6, 26, -8, 4, 16, 20)]</span>
272
+ <span class="go">L14n26042 [(10, 12, 14, -20), (8, 2, 28, -22, -24, -26, -6, -16, -18, 4)]</span>
273
+ </pre></div>
274
+ </div>
275
+ <p>SnapPy comes with one of two versions of HTLinkExteriors. The
276
+ smaller original one provides knots and links up to 14
277
+ crossings; the larger adds to that the knots (but not links)
278
+ with 15 crossings. You can determine which you have by whether</p>
279
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="nb">len</span><span class="p">(</span><span class="n">HTLinkExteriors</span><span class="p">(</span><span class="n">crossings</span><span class="o">=</span><span class="mi">15</span><span class="p">))</span>
280
+ </pre></div>
281
+ </div>
282
+ <p>gives 0 or 253293. To upgrade to the larger database, install
283
+ the Python module ‘snappy_15_knots’ as discussed on the
284
+ ‘installing SnapPy’ webpage.</p>
285
+ </dd></dl>
286
+
287
+ <dl class="py data">
288
+ <dt class="sig sig-object py" id="snappy.NonorientableCuspedCensus">
289
+ <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">NonorientableCuspedCensus</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">NonorientableCuspedCensus</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.NonorientableCuspedCensus" title="Link to this definition"></a></dt>
290
+ <dd><p>Iterator for all nonorientable cusped hyperbolic manifolds that
291
+ can be triangulated with at most 5 ideal tetrahedra.</p>
292
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">NonorientableCuspedCensus</span><span class="p">(</span><span class="n">betti</span><span class="o">=</span><span class="mi">2</span><span class="p">)[:</span><span class="mi">3</span><span class="p">]:</span>
293
+ <span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">homology</span><span class="p">())</span>
294
+ <span class="gp">... </span>
295
+ <span class="go">m124(0,0)(0,0)(0,0) Z/2 + Z + Z</span>
296
+ <span class="go">m128(0,0)(0,0) Z + Z</span>
297
+ <span class="go">m131(0,0) Z + Z</span>
298
+ </pre></div>
299
+ </div>
300
+ </dd></dl>
301
+
302
+ <dl class="py data">
303
+ <dt class="sig sig-object py" id="snappy.NonorientableClosedCensus">
304
+ <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">NonorientableClosedCensus</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">NonorientableClosedCensus</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.NonorientableClosedCensus" title="Link to this definition"></a></dt>
305
+ <dd><p>Iterator for 17 nonorientable closed hyperbolic manifolds from the
306
+ census by Hodgson and Weeks.</p>
307
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">M</span> <span class="ow">in</span> <span class="n">NonorientableClosedCensus</span><span class="p">[:</span><span class="mi">3</span><span class="p">]:</span> <span class="nb">print</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">())</span>
308
+ <span class="gp">... </span>
309
+ <span class="go">m018(1,0) 2.02988321</span>
310
+ <span class="go">m177(1,0) 2.56897060</span>
311
+ <span class="go">m153(1,0) 2.66674478</span>
312
+ </pre></div>
313
+ </div>
314
+ </dd></dl>
315
+
316
+ <p>There are also:</p>
317
+ <div class="toctree-wrapper compound">
318
+ <ul>
319
+ <li class="toctree-l1"><a class="reference internal" href="platonic_census.html">Censuses of Platonic manifolds</a></li>
320
+ </ul>
321
+ </div>
322
+ <p>As instances of subclasses of ManifoldTable, the objects above
323
+ support the following methods.</p>
324
+ <dl class="py class">
325
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable">
326
+ <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">snappy.database.</span></span><span class="sig-name descname"><span class="pre">ManifoldTable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">table=''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">db_path=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mfld_hash=&lt;function</span> <span class="pre">mfld_hash&gt;</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">**filter_args</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable" title="Link to this definition"></a></dt>
327
+ <dd><p>Iterator for cusped manifolds in an sqlite3 table of manifolds.</p>
328
+ <p>Initialize with the table name. The table schema is required to
329
+ include a text field called ‘name’ and a text field called
330
+ ‘triangulation’. The text holds the result of
331
+ M.triangulation_isosig(), M.triangulation_isosig(decorated = True), or
332
+ M._to_string().</p>
333
+ <p>Both mapping from the manifold name, and lookup by index are
334
+ supported. Slicing can be done either by numerical index or by
335
+ volume.</p>
336
+ <p>The __contains__ method is supported, so M in T returns True if M
337
+ is isometric to a manifold in the table T. The method
338
+ T.identify(M) will return the matching manifold from the table.</p>
339
+ <dl class="py method">
340
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable.find">
341
+ <span class="sig-name descname"><span class="pre">find</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">where</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">order_by</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'id'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">limit</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable.find" title="Link to this definition"></a></dt>
342
+ <dd><p>Return a list of up to limit manifolds stored in this table,
343
+ satisfying the where clause, and ordered by the order_by
344
+ clause. If limit is None, all matching manifolds are
345
+ returned. If the offset parameter is set, the first offset
346
+ matches are skipped.</p>
347
+ </dd></dl>
348
+
349
+ <dl class="py method">
350
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable.identify">
351
+ <span class="sig-name descname"><span class="pre">identify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mfld</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extends_to_link</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable.identify" title="Link to this definition"></a></dt>
352
+ <dd><p>Look for a manifold in this table which is isometric to the
353
+ argument.</p>
354
+ <p>Return the matching manifold, if there is one which SnapPea
355
+ declares to be isometric.</p>
356
+ <p>Return False if no manifold in the table has the same hash.</p>
357
+ <p>Return None in all other cases (for now).</p>
358
+ <p>If the flag “extends_to_link” is True, requires that the isometry
359
+ sends meridians to meridians. If the input manifold is closed
360
+ this will result in no matches being returned.</p>
361
+ </dd></dl>
362
+
363
+ <dl class="py method">
364
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable.keys">
365
+ <span class="sig-name descname"><span class="pre">keys</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable.keys" title="Link to this definition"></a></dt>
366
+ <dd><p>Return the list of column names for this manifold table.</p>
367
+ </dd></dl>
368
+
369
+ <dl class="py method">
370
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable.siblings">
371
+ <span class="sig-name descname"><span class="pre">siblings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mfld</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.database.ManifoldTable.siblings" title="Link to this definition"></a></dt>
372
+ <dd><p>Return all manifolds in the census which have the same hash value.</p>
373
+ </dd></dl>
374
+
375
+ </dd></dl>
376
+
377
+ <p>Because of the large size of their datasets, the classes below
378
+ can only iterate through slices by index, and do not provide
379
+ the identification methods.</p>
380
+ <dl class="py class">
381
+ <dt class="sig sig-object py" id="snappy.AlternatingKnotExteriors">
382
+ <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">AlternatingKnotExteriors</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indices</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">(0,</span> <span class="pre">491327,</span> <span class="pre">1)</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.AlternatingKnotExteriors" title="Link to this definition"></a></dt>
383
+ <dd><p>Iterator/Sequence for Alternating knot exteriors from the
384
+ Hoste-Thistlethwaite tables. Goes through 16 crossings.</p>
385
+ </dd></dl>
386
+
387
+ <dl class="py class">
388
+ <dt class="sig sig-object py" id="snappy.NonalternatingKnotExteriors">
389
+ <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">NonalternatingKnotExteriors</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indices</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">(0,</span> <span class="pre">1210608,</span> <span class="pre">1)</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#snappy.NonalternatingKnotExteriors" title="Link to this definition"></a></dt>
390
+ <dd><p>Iterator/Sequence for nonAlternating knot exteriors from the
391
+ Hoste-Thistlethwaite tables. Goes through 16 crossings.</p>
392
+ </dd></dl>
393
+
394
+ </section>
395
+
396
+
397
+ </div>
398
+ </div>
399
+ <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
400
+ <a href="additional_classes.html" class="btn btn-neutral float-left" title="Additional Classes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
401
+ <a href="platonic_census.html" class="btn btn-neutral float-right" title="Censuses of Platonic manifolds" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
402
+ </div>
403
+
404
+ <hr/>
405
+
406
+ <div role="contentinfo">
407
+ <p>&#169; Copyright 2009-2025, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
408
+ </div>
409
+
410
+ Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
411
+ <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
412
+ provided by <a href="https://readthedocs.org">Read the Docs</a>.
413
+
414
+
415
+ </footer>
416
+ </div>
417
+ </div>
418
+ </section>
419
+ </div>
420
+ <script>
421
+ jQuery(function () {
422
+ SphinxRtdTheme.Navigation.enable(true);
423
+ });
424
+ </script>
425
+
426
+ </body>
446
427
  </html>