snappy 3.3__cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.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 (541) hide show
  1. snappy/CyOpenGL.cpython-310-aarch64-linux-gnu.so +0 -0
  2. snappy/SnapPy.cpython-310-aarch64-linux-gnu.so +0 -0
  3. snappy/SnapPy.ico +0 -0
  4. snappy/SnapPy.png +0 -0
  5. snappy/SnapPyHP.cpython-310-aarch64-linux-gnu.so +0 -0
  6. snappy/__init__.py +534 -0
  7. snappy/app.py +604 -0
  8. snappy/app_menus.py +372 -0
  9. snappy/browser.py +998 -0
  10. snappy/cache.py +25 -0
  11. snappy/canonical.py +249 -0
  12. snappy/cusps/__init__.py +280 -0
  13. snappy/cusps/cusp_area_matrix.py +98 -0
  14. snappy/cusps/cusp_areas_from_matrix.py +96 -0
  15. snappy/cusps/maximal_cusp_area_matrix.py +136 -0
  16. snappy/cusps/short_slopes_for_cusp.py +217 -0
  17. snappy/cusps/test.py +22 -0
  18. snappy/cusps/trig_cusp_area_matrix.py +63 -0
  19. snappy/database.py +454 -0
  20. snappy/db_utilities.py +79 -0
  21. snappy/decorated_isosig.py +717 -0
  22. snappy/dev/__init__.py +0 -0
  23. snappy/dev/extended_ptolemy/__init__.py +8 -0
  24. snappy/dev/extended_ptolemy/closed.py +106 -0
  25. snappy/dev/extended_ptolemy/complexVolumesClosed.py +149 -0
  26. snappy/dev/extended_ptolemy/direct.py +42 -0
  27. snappy/dev/extended_ptolemy/extended.py +406 -0
  28. snappy/dev/extended_ptolemy/giac_helper.py +43 -0
  29. snappy/dev/extended_ptolemy/giac_rur.py +129 -0
  30. snappy/dev/extended_ptolemy/gluing.py +46 -0
  31. snappy/dev/extended_ptolemy/phc_wrapper.py +220 -0
  32. snappy/dev/extended_ptolemy/printMatrices.py +70 -0
  33. snappy/dev/vericlosed/__init__.py +1 -0
  34. snappy/dev/vericlosed/computeApproxHyperbolicStructureNew.py +159 -0
  35. snappy/dev/vericlosed/computeApproxHyperbolicStructureOrb.py +90 -0
  36. snappy/dev/vericlosed/computeVerifiedHyperbolicStructure.py +111 -0
  37. snappy/dev/vericlosed/gimbalLoopFinder.py +130 -0
  38. snappy/dev/vericlosed/hyperbolicStructure.py +313 -0
  39. snappy/dev/vericlosed/krawczykCertifiedEdgeLengthsEngine.py +165 -0
  40. snappy/dev/vericlosed/oneVertexTruncatedComplex.py +122 -0
  41. snappy/dev/vericlosed/orb/__init__.py +1 -0
  42. snappy/dev/vericlosed/orb/orb_solution_for_snappea_finite_triangulation_mac +0 -0
  43. snappy/dev/vericlosed/parseVertexGramMatrixFile.py +47 -0
  44. snappy/dev/vericlosed/polishApproxHyperbolicStructure.py +61 -0
  45. snappy/dev/vericlosed/test.py +54 -0
  46. snappy/dev/vericlosed/truncatedComplex.py +176 -0
  47. snappy/dev/vericlosed/verificationError.py +58 -0
  48. snappy/dev/vericlosed/verifyHyperbolicStructureEngine.py +177 -0
  49. snappy/doc/_images/SnapPy-196.png +0 -0
  50. snappy/doc/_images/m004_paper_plane_on_systole.jpg +0 -0
  51. snappy/doc/_images/m125_paper_plane.jpg +0 -0
  52. snappy/doc/_images/mac.png +0 -0
  53. snappy/doc/_images/o9_00000_systole_paper_plane.jpg +0 -0
  54. snappy/doc/_images/o9_00000_systole_paper_plane_closer.jpg +0 -0
  55. snappy/doc/_images/plink-action.png +0 -0
  56. snappy/doc/_images/ubuntu.png +0 -0
  57. snappy/doc/_images/win7.png +0 -0
  58. snappy/doc/_sources/additional_classes.rst.txt +40 -0
  59. snappy/doc/_sources/bugs.rst.txt +14 -0
  60. snappy/doc/_sources/censuses.rst.txt +52 -0
  61. snappy/doc/_sources/credits.rst.txt +81 -0
  62. snappy/doc/_sources/development.rst.txt +261 -0
  63. snappy/doc/_sources/index.rst.txt +215 -0
  64. snappy/doc/_sources/installing.rst.txt +249 -0
  65. snappy/doc/_sources/manifold.rst.txt +6 -0
  66. snappy/doc/_sources/manifoldhp.rst.txt +46 -0
  67. snappy/doc/_sources/news.rst.txt +425 -0
  68. snappy/doc/_sources/other.rst.txt +25 -0
  69. snappy/doc/_sources/platonic_census.rst.txt +20 -0
  70. snappy/doc/_sources/plink.rst.txt +102 -0
  71. snappy/doc/_sources/ptolemy.rst.txt +66 -0
  72. snappy/doc/_sources/ptolemy_classes.rst.txt +42 -0
  73. snappy/doc/_sources/ptolemy_examples1.rst.txt +298 -0
  74. snappy/doc/_sources/ptolemy_examples2.rst.txt +363 -0
  75. snappy/doc/_sources/ptolemy_examples3.rst.txt +301 -0
  76. snappy/doc/_sources/ptolemy_examples4.rst.txt +61 -0
  77. snappy/doc/_sources/ptolemy_prelim.rst.txt +105 -0
  78. snappy/doc/_sources/screenshots.rst.txt +21 -0
  79. snappy/doc/_sources/snap.rst.txt +87 -0
  80. snappy/doc/_sources/snappy.rst.txt +28 -0
  81. snappy/doc/_sources/spherogram.rst.txt +103 -0
  82. snappy/doc/_sources/todo.rst.txt +47 -0
  83. snappy/doc/_sources/triangulation.rst.txt +11 -0
  84. snappy/doc/_sources/tutorial.rst.txt +49 -0
  85. snappy/doc/_sources/verify.rst.txt +210 -0
  86. snappy/doc/_sources/verify_internals.rst.txt +79 -0
  87. snappy/doc/_static/SnapPy-horizontal-128.png +0 -0
  88. snappy/doc/_static/SnapPy.ico +0 -0
  89. snappy/doc/_static/_sphinx_javascript_frameworks_compat.js +123 -0
  90. snappy/doc/_static/basic.css +906 -0
  91. snappy/doc/_static/css/badge_only.css +1 -0
  92. snappy/doc/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  93. snappy/doc/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  94. snappy/doc/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  95. snappy/doc/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  96. snappy/doc/_static/css/fonts/fontawesome-webfont.eot +0 -0
  97. snappy/doc/_static/css/fonts/fontawesome-webfont.svg +2671 -0
  98. snappy/doc/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  99. snappy/doc/_static/css/fonts/fontawesome-webfont.woff +0 -0
  100. snappy/doc/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  101. snappy/doc/_static/css/fonts/lato-bold-italic.woff +0 -0
  102. snappy/doc/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  103. snappy/doc/_static/css/fonts/lato-bold.woff +0 -0
  104. snappy/doc/_static/css/fonts/lato-bold.woff2 +0 -0
  105. snappy/doc/_static/css/fonts/lato-normal-italic.woff +0 -0
  106. snappy/doc/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  107. snappy/doc/_static/css/fonts/lato-normal.woff +0 -0
  108. snappy/doc/_static/css/fonts/lato-normal.woff2 +0 -0
  109. snappy/doc/_static/css/theme.css +4 -0
  110. snappy/doc/_static/doctools.js +149 -0
  111. snappy/doc/_static/documentation_options.js +13 -0
  112. snappy/doc/_static/file.png +0 -0
  113. snappy/doc/_static/fonts/Lato/lato-bold.eot +0 -0
  114. snappy/doc/_static/fonts/Lato/lato-bold.ttf +0 -0
  115. snappy/doc/_static/fonts/Lato/lato-bold.woff +0 -0
  116. snappy/doc/_static/fonts/Lato/lato-bold.woff2 +0 -0
  117. snappy/doc/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  118. snappy/doc/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  119. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  120. snappy/doc/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  121. snappy/doc/_static/fonts/Lato/lato-italic.eot +0 -0
  122. snappy/doc/_static/fonts/Lato/lato-italic.ttf +0 -0
  123. snappy/doc/_static/fonts/Lato/lato-italic.woff +0 -0
  124. snappy/doc/_static/fonts/Lato/lato-italic.woff2 +0 -0
  125. snappy/doc/_static/fonts/Lato/lato-regular.eot +0 -0
  126. snappy/doc/_static/fonts/Lato/lato-regular.ttf +0 -0
  127. snappy/doc/_static/fonts/Lato/lato-regular.woff +0 -0
  128. snappy/doc/_static/fonts/Lato/lato-regular.woff2 +0 -0
  129. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  130. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  131. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  132. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  133. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  134. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  135. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  136. snappy/doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  137. snappy/doc/_static/jquery.js +2 -0
  138. snappy/doc/_static/js/badge_only.js +1 -0
  139. snappy/doc/_static/js/theme.js +1 -0
  140. snappy/doc/_static/js/versions.js +228 -0
  141. snappy/doc/_static/language_data.js +192 -0
  142. snappy/doc/_static/minus.png +0 -0
  143. snappy/doc/_static/plus.png +0 -0
  144. snappy/doc/_static/pygments.css +75 -0
  145. snappy/doc/_static/searchtools.js +635 -0
  146. snappy/doc/_static/snappy_furo.css +33 -0
  147. snappy/doc/_static/snappy_sphinx_rtd_theme.css +42 -0
  148. snappy/doc/_static/sphinx_highlight.js +154 -0
  149. snappy/doc/additional_classes.html +1500 -0
  150. snappy/doc/bugs.html +132 -0
  151. snappy/doc/censuses.html +453 -0
  152. snappy/doc/credits.html +184 -0
  153. snappy/doc/development.html +385 -0
  154. snappy/doc/doc-latest/additional_classes.html +1500 -0
  155. snappy/doc/doc-latest/bugs.html +132 -0
  156. snappy/doc/doc-latest/censuses.html +453 -0
  157. snappy/doc/doc-latest/credits.html +184 -0
  158. snappy/doc/doc-latest/development.html +385 -0
  159. snappy/doc/doc-latest/genindex.html +1349 -0
  160. snappy/doc/doc-latest/index.html +287 -0
  161. snappy/doc/doc-latest/installing.html +346 -0
  162. snappy/doc/doc-latest/manifold.html +3632 -0
  163. snappy/doc/doc-latest/manifoldhp.html +180 -0
  164. snappy/doc/doc-latest/news.html +438 -0
  165. snappy/doc/doc-latest/objects.inv +0 -0
  166. snappy/doc/doc-latest/other.html +160 -0
  167. snappy/doc/doc-latest/platonic_census.html +376 -0
  168. snappy/doc/doc-latest/plink.html +210 -0
  169. snappy/doc/doc-latest/ptolemy.html +253 -0
  170. snappy/doc/doc-latest/ptolemy_classes.html +1144 -0
  171. snappy/doc/doc-latest/ptolemy_examples1.html +409 -0
  172. snappy/doc/doc-latest/ptolemy_examples2.html +471 -0
  173. snappy/doc/doc-latest/ptolemy_examples3.html +414 -0
  174. snappy/doc/doc-latest/ptolemy_examples4.html +195 -0
  175. snappy/doc/doc-latest/ptolemy_prelim.html +248 -0
  176. snappy/doc/doc-latest/py-modindex.html +165 -0
  177. snappy/doc/doc-latest/screenshots.html +141 -0
  178. snappy/doc/doc-latest/search.html +135 -0
  179. snappy/doc/doc-latest/searchindex.js +1 -0
  180. snappy/doc/doc-latest/snap.html +202 -0
  181. snappy/doc/doc-latest/snappy.html +181 -0
  182. snappy/doc/doc-latest/spherogram.html +1346 -0
  183. snappy/doc/doc-latest/todo.html +166 -0
  184. snappy/doc/doc-latest/triangulation.html +1676 -0
  185. snappy/doc/doc-latest/tutorial.html +159 -0
  186. snappy/doc/doc-latest/verify.html +330 -0
  187. snappy/doc/doc-latest/verify_internals.html +1235 -0
  188. snappy/doc/genindex.html +1349 -0
  189. snappy/doc/index.html +287 -0
  190. snappy/doc/installing.html +346 -0
  191. snappy/doc/manifold.html +3632 -0
  192. snappy/doc/manifoldhp.html +180 -0
  193. snappy/doc/news.html +438 -0
  194. snappy/doc/objects.inv +0 -0
  195. snappy/doc/other.html +160 -0
  196. snappy/doc/platonic_census.html +376 -0
  197. snappy/doc/plink.html +210 -0
  198. snappy/doc/ptolemy.html +253 -0
  199. snappy/doc/ptolemy_classes.html +1144 -0
  200. snappy/doc/ptolemy_examples1.html +409 -0
  201. snappy/doc/ptolemy_examples2.html +471 -0
  202. snappy/doc/ptolemy_examples3.html +414 -0
  203. snappy/doc/ptolemy_examples4.html +195 -0
  204. snappy/doc/ptolemy_prelim.html +248 -0
  205. snappy/doc/py-modindex.html +165 -0
  206. snappy/doc/screenshots.html +141 -0
  207. snappy/doc/search.html +135 -0
  208. snappy/doc/searchindex.js +1 -0
  209. snappy/doc/snap.html +202 -0
  210. snappy/doc/snappy.html +181 -0
  211. snappy/doc/spherogram.html +1346 -0
  212. snappy/doc/todo.html +166 -0
  213. snappy/doc/triangulation.html +1676 -0
  214. snappy/doc/tutorial.html +159 -0
  215. snappy/doc/verify.html +330 -0
  216. snappy/doc/verify_internals.html +1235 -0
  217. snappy/drilling/__init__.py +456 -0
  218. snappy/drilling/barycentric.py +103 -0
  219. snappy/drilling/constants.py +5 -0
  220. snappy/drilling/crush.py +270 -0
  221. snappy/drilling/cusps.py +125 -0
  222. snappy/drilling/debug.py +242 -0
  223. snappy/drilling/epsilons.py +6 -0
  224. snappy/drilling/exceptions.py +55 -0
  225. snappy/drilling/moves.py +620 -0
  226. snappy/drilling/peripheral_curves.py +210 -0
  227. snappy/drilling/perturb.py +188 -0
  228. snappy/drilling/shorten.py +36 -0
  229. snappy/drilling/subdivide.py +274 -0
  230. snappy/drilling/test.py +23 -0
  231. snappy/drilling/test_cases.py +132 -0
  232. snappy/drilling/tracing.py +351 -0
  233. snappy/exceptions.py +26 -0
  234. snappy/export_stl.py +120 -0
  235. snappy/exterior_to_link/__init__.py +2 -0
  236. snappy/exterior_to_link/barycentric_geometry.py +463 -0
  237. snappy/exterior_to_link/exceptions.py +6 -0
  238. snappy/exterior_to_link/geodesic_map.json +14408 -0
  239. snappy/exterior_to_link/hyp_utils.py +112 -0
  240. snappy/exterior_to_link/link_projection.py +323 -0
  241. snappy/exterior_to_link/main.py +198 -0
  242. snappy/exterior_to_link/mcomplex_with_expansion.py +261 -0
  243. snappy/exterior_to_link/mcomplex_with_link.py +687 -0
  244. snappy/exterior_to_link/mcomplex_with_memory.py +162 -0
  245. snappy/exterior_to_link/pl_utils.py +491 -0
  246. snappy/exterior_to_link/put_in_S3.py +156 -0
  247. snappy/exterior_to_link/rational_linear_algebra.py +130 -0
  248. snappy/exterior_to_link/rational_linear_algebra_wrapped.py +135 -0
  249. snappy/exterior_to_link/simplify_to_base_tri.py +114 -0
  250. snappy/exterior_to_link/stored_moves.py +475 -0
  251. snappy/exterior_to_link/test.py +31 -0
  252. snappy/filedialog.py +28 -0
  253. snappy/geometric_structure/__init__.py +212 -0
  254. snappy/geometric_structure/cusp_neighborhood/__init__.py +3 -0
  255. snappy/geometric_structure/cusp_neighborhood/complex_cusp_cross_section.py +691 -0
  256. snappy/geometric_structure/cusp_neighborhood/cusp_cross_section_base.py +480 -0
  257. snappy/geometric_structure/cusp_neighborhood/exceptions.py +41 -0
  258. snappy/geometric_structure/cusp_neighborhood/real_cusp_cross_section.py +294 -0
  259. snappy/geometric_structure/cusp_neighborhood/tiles_for_cusp_neighborhood.py +156 -0
  260. snappy/geometric_structure/cusp_neighborhood/vertices.py +35 -0
  261. snappy/geometric_structure/geodesic/__init__.py +0 -0
  262. snappy/geometric_structure/geodesic/add_core_curves.py +152 -0
  263. snappy/geometric_structure/geodesic/avoid_core_curves.py +369 -0
  264. snappy/geometric_structure/geodesic/canonical_representatives.py +52 -0
  265. snappy/geometric_structure/geodesic/check_away_from_core_curve.py +60 -0
  266. snappy/geometric_structure/geodesic/constants.py +6 -0
  267. snappy/geometric_structure/geodesic/exceptions.py +22 -0
  268. snappy/geometric_structure/geodesic/fixed_points.py +106 -0
  269. snappy/geometric_structure/geodesic/geodesic_start_point_info.py +435 -0
  270. snappy/geometric_structure/geodesic/graph_trace_helper.py +67 -0
  271. snappy/geometric_structure/geodesic/line.py +30 -0
  272. snappy/geometric_structure/geodesic/multiplicity.py +127 -0
  273. snappy/geometric_structure/geodesic/tiles_for_geodesic.py +128 -0
  274. snappy/geometric_structure/test.py +22 -0
  275. snappy/gui.py +121 -0
  276. snappy/horoviewer.py +443 -0
  277. snappy/hyperboloid/__init__.py +212 -0
  278. snappy/hyperboloid/distances.py +259 -0
  279. snappy/hyperboloid/horoball.py +19 -0
  280. snappy/hyperboloid/line.py +35 -0
  281. snappy/hyperboloid/point.py +9 -0
  282. snappy/hyperboloid/triangle.py +29 -0
  283. snappy/info_icon.gif +0 -0
  284. snappy/infowindow.py +65 -0
  285. snappy/isometry_signature.py +389 -0
  286. snappy/len_spec/__init__.py +609 -0
  287. snappy/len_spec/geodesic_info.py +129 -0
  288. snappy/len_spec/geodesic_key_info_dict.py +116 -0
  289. snappy/len_spec/geodesic_piece.py +146 -0
  290. snappy/len_spec/geometric_structure.py +182 -0
  291. snappy/len_spec/geometry.py +136 -0
  292. snappy/len_spec/length_spectrum_geodesic_info.py +185 -0
  293. snappy/len_spec/spine.py +128 -0
  294. snappy/len_spec/test.py +24 -0
  295. snappy/len_spec/test_cases.py +69 -0
  296. snappy/len_spec/tile.py +276 -0
  297. snappy/len_spec/word.py +86 -0
  298. snappy/manifolds/HTWKnots/alternating.gz +0 -0
  299. snappy/manifolds/HTWKnots/nonalternating.gz +0 -0
  300. snappy/manifolds/__init__.py +3 -0
  301. snappy/margulis/__init__.py +332 -0
  302. snappy/margulis/cusp_neighborhood_neighborhood.py +66 -0
  303. snappy/margulis/geodesic_neighborhood.py +152 -0
  304. snappy/margulis/margulis_info.py +21 -0
  305. snappy/margulis/mu_from_neighborhood_pair.py +175 -0
  306. snappy/margulis/neighborhood.py +29 -0
  307. snappy/margulis/test.py +22 -0
  308. snappy/math_basics.py +187 -0
  309. snappy/matrix.py +525 -0
  310. snappy/number.py +657 -0
  311. snappy/numeric_output_checker.py +345 -0
  312. snappy/pari.py +41 -0
  313. snappy/phone_home.py +57 -0
  314. snappy/polyviewer.py +259 -0
  315. snappy/ptolemy/__init__.py +17 -0
  316. snappy/ptolemy/component.py +103 -0
  317. snappy/ptolemy/coordinates.py +2290 -0
  318. snappy/ptolemy/fieldExtensions.py +153 -0
  319. snappy/ptolemy/findLoops.py +473 -0
  320. snappy/ptolemy/geometricRep.py +59 -0
  321. snappy/ptolemy/homology.py +165 -0
  322. snappy/ptolemy/magma/default.magma_template +229 -0
  323. snappy/ptolemy/magma/radicalsOfPrimaryDecomposition.magma_template +79 -0
  324. snappy/ptolemy/manifoldMethods.py +395 -0
  325. snappy/ptolemy/matrix.py +350 -0
  326. snappy/ptolemy/numericalSolutionsToGroebnerBasis.py +113 -0
  327. snappy/ptolemy/polynomial.py +856 -0
  328. snappy/ptolemy/processComponents.py +173 -0
  329. snappy/ptolemy/processFileBase.py +247 -0
  330. snappy/ptolemy/processFileDispatch.py +46 -0
  331. snappy/ptolemy/processMagmaFile.py +392 -0
  332. snappy/ptolemy/processRurFile.py +150 -0
  333. snappy/ptolemy/ptolemyGeneralizedObstructionClass.py +102 -0
  334. snappy/ptolemy/ptolemyObstructionClass.py +64 -0
  335. snappy/ptolemy/ptolemyVariety.py +995 -0
  336. snappy/ptolemy/ptolemyVarietyPrimeIdealGroebnerBasis.py +140 -0
  337. snappy/ptolemy/reginaWrapper.py +698 -0
  338. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c0.magma_out.bz2 +0 -0
  339. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c1.magma_out.bz2 +0 -0
  340. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c2.magma_out.bz2 +0 -0
  341. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c3.magma_out.bz2 +0 -0
  342. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c4.magma_out.bz2 +0 -0
  343. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c5.magma_out.bz2 +0 -0
  344. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c6.magma_out.bz2 +0 -0
  345. snappy/ptolemy/regina_testing_files/DT_mcbbiceaibjklmdfgh__sl2_c7.magma_out.bz2 +0 -0
  346. snappy/ptolemy/regina_testing_files_generalized/m003__sl3_c0.magma_out.bz2 +0 -0
  347. snappy/ptolemy/regina_testing_files_generalized/m003__sl3_c1.magma_out.bz2 +0 -0
  348. snappy/ptolemy/regina_testing_files_generalized/m015__sl2_c0.magma_out.bz2 +0 -0
  349. snappy/ptolemy/regina_testing_files_generalized/m015__sl2_c1.magma_out.bz2 +0 -0
  350. snappy/ptolemy/regina_testing_files_generalized/m015__sl3_c0.magma_out.bz2 +0 -0
  351. snappy/ptolemy/regina_testing_files_generalized/m015__sl3_c1.magma_out.bz2 +0 -0
  352. snappy/ptolemy/rur.py +545 -0
  353. snappy/ptolemy/solutionsToPrimeIdealGroebnerBasis.py +277 -0
  354. snappy/ptolemy/test.py +1126 -0
  355. snappy/ptolemy/testing_files/3_1__sl2_c0.magma_out.bz2 +0 -0
  356. snappy/ptolemy/testing_files/3_1__sl2_c1.magma_out.bz2 +0 -0
  357. snappy/ptolemy/testing_files/4_1__sl2_c0.magma_out.bz2 +0 -0
  358. snappy/ptolemy/testing_files/4_1__sl2_c1.magma_out.bz2 +0 -0
  359. snappy/ptolemy/testing_files/4_1__sl3_c0.magma_out.bz2 +0 -0
  360. snappy/ptolemy/testing_files/4_1__sl4_c0.magma_out.bz2 +0 -0
  361. snappy/ptolemy/testing_files/4_1__sl4_c1.magma_out.bz2 +0 -0
  362. snappy/ptolemy/testing_files/5_2__sl2_c0.magma_out.bz2 +0 -0
  363. snappy/ptolemy/testing_files/5_2__sl2_c1.magma_out.bz2 +0 -0
  364. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c0.magma_out.bz2 +0 -0
  365. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c1.magma_out.bz2 +0 -0
  366. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c2.magma_out.bz2 +0 -0
  367. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c3.magma_out.bz2 +0 -0
  368. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c4.magma_out.bz2 +0 -0
  369. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c5.magma_out.bz2 +0 -0
  370. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c6.magma_out.bz2 +0 -0
  371. snappy/ptolemy/testing_files/DT_mcbbiceaibjklmdfgh__sl2_c7.magma_out.bz2 +0 -0
  372. snappy/ptolemy/testing_files/data/pgl2/OrientableCuspedCensus/03_tetrahedra/m019__sl2_c0.magma_out +95 -0
  373. snappy/ptolemy/testing_files/data/pgl2/OrientableCuspedCensus/03_tetrahedra/m019__sl2_c1.magma_out +95 -0
  374. snappy/ptolemy/testing_files/m015__sl3_c0.magma_out.bz2 +0 -0
  375. snappy/ptolemy/testing_files/m135__sl2_c0.magma_out.bz2 +0 -0
  376. snappy/ptolemy/testing_files/m135__sl2_c1.magma_out.bz2 +0 -0
  377. snappy/ptolemy/testing_files/m135__sl2_c2.magma_out.bz2 +0 -0
  378. snappy/ptolemy/testing_files/m135__sl2_c3.magma_out.bz2 +0 -0
  379. snappy/ptolemy/testing_files/m135__sl2_c4.magma_out.bz2 +0 -0
  380. snappy/ptolemy/testing_files/m135__sl2_c5.magma_out.bz2 +0 -0
  381. snappy/ptolemy/testing_files/m135__sl2_c6.magma_out.bz2 +0 -0
  382. snappy/ptolemy/testing_files/m135__sl2_c7.magma_out.bz2 +0 -0
  383. snappy/ptolemy/testing_files/s000__sl2_c0.magma_out.bz2 +0 -0
  384. snappy/ptolemy/testing_files/s000__sl2_c1.magma_out.bz2 +0 -0
  385. snappy/ptolemy/testing_files/t00000__sl2_c0.magma_out.bz2 +0 -0
  386. snappy/ptolemy/testing_files/t00000__sl2_c1.magma_out.bz2 +0 -0
  387. snappy/ptolemy/testing_files/v0000__sl2_c0.magma_out.bz2 +0 -0
  388. snappy/ptolemy/testing_files/v0000__sl2_c1.magma_out.bz2 +0 -0
  389. snappy/ptolemy/testing_files/v0000__sl2_c2.magma_out.bz2 +0 -0
  390. snappy/ptolemy/testing_files/v0000__sl2_c3.magma_out.bz2 +0 -0
  391. snappy/ptolemy/testing_files_generalized/m003__sl2_c0.magma_out.bz2 +0 -0
  392. snappy/ptolemy/testing_files_generalized/m003__sl2_c1.magma_out.bz2 +0 -0
  393. snappy/ptolemy/testing_files_generalized/m003__sl3_c0.magma_out.bz2 +0 -0
  394. snappy/ptolemy/testing_files_generalized/m003__sl3_c1.magma_out.bz2 +0 -0
  395. snappy/ptolemy/testing_files_generalized/m004__sl2_c0.magma_out.bz2 +0 -0
  396. snappy/ptolemy/testing_files_generalized/m004__sl2_c1.magma_out.bz2 +0 -0
  397. snappy/ptolemy/testing_files_generalized/m015__sl2_c1.magma_out.bz2 +0 -0
  398. snappy/ptolemy/testing_files_generalized/m015__sl3_c0.magma_out.bz2 +0 -0
  399. snappy/ptolemy/testing_files_rur/m052__sl3_c0.rur.bz2 +0 -0
  400. snappy/ptolemy/utilities.py +236 -0
  401. snappy/raytracing/__init__.py +64 -0
  402. snappy/raytracing/additional_horospheres.py +64 -0
  403. snappy/raytracing/additional_len_spec_choices.py +63 -0
  404. snappy/raytracing/cohomology_fractal.py +197 -0
  405. snappy/raytracing/eyeball.py +124 -0
  406. snappy/raytracing/finite_raytracing_data.py +237 -0
  407. snappy/raytracing/finite_viewer.py +590 -0
  408. snappy/raytracing/geodesic_tube_info.py +174 -0
  409. snappy/raytracing/geodesics.py +246 -0
  410. snappy/raytracing/geodesics_window.py +258 -0
  411. snappy/raytracing/gui_utilities.py +293 -0
  412. snappy/raytracing/hyperboloid_navigation.py +556 -0
  413. snappy/raytracing/hyperboloid_utilities.py +234 -0
  414. snappy/raytracing/ideal_raytracing_data.py +592 -0
  415. snappy/raytracing/inside_viewer.py +974 -0
  416. snappy/raytracing/pack.py +22 -0
  417. snappy/raytracing/raytracing_data.py +126 -0
  418. snappy/raytracing/raytracing_view.py +454 -0
  419. snappy/raytracing/shaders/Eye.png +0 -0
  420. snappy/raytracing/shaders/NonGeometric.png +0 -0
  421. snappy/raytracing/shaders/__init__.py +101 -0
  422. snappy/raytracing/shaders/fragment.glsl +1744 -0
  423. snappy/raytracing/test.py +29 -0
  424. snappy/raytracing/tooltip.py +146 -0
  425. snappy/raytracing/upper_halfspace_utilities.py +98 -0
  426. snappy/raytracing/view_scale_controller.py +98 -0
  427. snappy/raytracing/zoom_slider/__init__.py +263 -0
  428. snappy/raytracing/zoom_slider/inward.png +0 -0
  429. snappy/raytracing/zoom_slider/inward18.png +0 -0
  430. snappy/raytracing/zoom_slider/outward.png +0 -0
  431. snappy/raytracing/zoom_slider/outward18.png +0 -0
  432. snappy/raytracing/zoom_slider/test.py +20 -0
  433. snappy/sage_helper.py +119 -0
  434. snappy/settings.py +407 -0
  435. snappy/shell.py +53 -0
  436. snappy/snap/__init__.py +117 -0
  437. snappy/snap/character_varieties.py +375 -0
  438. snappy/snap/find_field.py +372 -0
  439. snappy/snap/fox_milnor.py +271 -0
  440. snappy/snap/fundamental_polyhedron.py +569 -0
  441. snappy/snap/generators.py +39 -0
  442. snappy/snap/interval_reps.py +81 -0
  443. snappy/snap/kernel_structures.py +128 -0
  444. snappy/snap/mcomplex_base.py +18 -0
  445. snappy/snap/nsagetools.py +716 -0
  446. snappy/snap/peripheral/__init__.py +1 -0
  447. snappy/snap/peripheral/dual_cellulation.py +219 -0
  448. snappy/snap/peripheral/link.py +127 -0
  449. snappy/snap/peripheral/peripheral.py +159 -0
  450. snappy/snap/peripheral/surface.py +522 -0
  451. snappy/snap/peripheral/test.py +35 -0
  452. snappy/snap/polished_reps.py +335 -0
  453. snappy/snap/shapes.py +152 -0
  454. snappy/snap/slice_obs_HKL/__init__.py +194 -0
  455. snappy/snap/slice_obs_HKL/basics.py +236 -0
  456. snappy/snap/slice_obs_HKL/direct.py +217 -0
  457. snappy/snap/slice_obs_HKL/poly_norm.py +212 -0
  458. snappy/snap/slice_obs_HKL/rep_theory.py +424 -0
  459. snappy/snap/t3mlite/__init__.py +2 -0
  460. snappy/snap/t3mlite/arrow.py +243 -0
  461. snappy/snap/t3mlite/corner.py +22 -0
  462. snappy/snap/t3mlite/edge.py +172 -0
  463. snappy/snap/t3mlite/face.py +37 -0
  464. snappy/snap/t3mlite/files.py +211 -0
  465. snappy/snap/t3mlite/homology.py +53 -0
  466. snappy/snap/t3mlite/linalg.py +419 -0
  467. snappy/snap/t3mlite/mcomplex.py +1499 -0
  468. snappy/snap/t3mlite/perm4.py +320 -0
  469. snappy/snap/t3mlite/setup.py +12 -0
  470. snappy/snap/t3mlite/simplex.py +199 -0
  471. snappy/snap/t3mlite/spun.py +297 -0
  472. snappy/snap/t3mlite/surface.py +519 -0
  473. snappy/snap/t3mlite/test.py +20 -0
  474. snappy/snap/t3mlite/test_vs_regina.py +86 -0
  475. snappy/snap/t3mlite/tetrahedron.py +109 -0
  476. snappy/snap/t3mlite/vertex.py +42 -0
  477. snappy/snap/test.py +139 -0
  478. snappy/snap/utilities.py +288 -0
  479. snappy/test.py +213 -0
  480. snappy/test_cases.py +263 -0
  481. snappy/testing.py +131 -0
  482. snappy/tiling/__init__.py +2 -0
  483. snappy/tiling/dict_based_set.py +79 -0
  484. snappy/tiling/floor.py +49 -0
  485. snappy/tiling/hyperboloid_dict.py +54 -0
  486. snappy/tiling/iter_utils.py +78 -0
  487. snappy/tiling/lifted_tetrahedron.py +22 -0
  488. snappy/tiling/lifted_tetrahedron_set.py +54 -0
  489. snappy/tiling/quotient_dict.py +70 -0
  490. snappy/tiling/real_hash_dict.py +164 -0
  491. snappy/tiling/test.py +23 -0
  492. snappy/tiling/tile.py +224 -0
  493. snappy/tiling/triangle.py +33 -0
  494. snappy/tkterminal.py +920 -0
  495. snappy/twister/__init__.py +20 -0
  496. snappy/twister/main.py +646 -0
  497. snappy/twister/surfaces/S_0_1 +3 -0
  498. snappy/twister/surfaces/S_0_2 +3 -0
  499. snappy/twister/surfaces/S_0_4 +7 -0
  500. snappy/twister/surfaces/S_0_4_Lantern +8 -0
  501. snappy/twister/surfaces/S_1 +3 -0
  502. snappy/twister/surfaces/S_1_1 +4 -0
  503. snappy/twister/surfaces/S_1_2 +5 -0
  504. snappy/twister/surfaces/S_1_2_5 +6 -0
  505. snappy/twister/surfaces/S_2 +6 -0
  506. snappy/twister/surfaces/S_2_1 +8 -0
  507. snappy/twister/surfaces/S_2_heeg +10 -0
  508. snappy/twister/surfaces/S_3 +8 -0
  509. snappy/twister/surfaces/S_3_1 +10 -0
  510. snappy/twister/surfaces/S_4_1 +12 -0
  511. snappy/twister/surfaces/S_5_1 +14 -0
  512. snappy/twister/surfaces/heeg_fig8 +9 -0
  513. snappy/twister/twister_core.cpython-310-aarch64-linux-gnu.so +0 -0
  514. snappy/upper_halfspace/__init__.py +146 -0
  515. snappy/upper_halfspace/ideal_point.py +29 -0
  516. snappy/verify/__init__.py +13 -0
  517. snappy/verify/canonical.py +542 -0
  518. snappy/verify/complex_volume/__init__.py +18 -0
  519. snappy/verify/complex_volume/adjust_torsion.py +86 -0
  520. snappy/verify/complex_volume/closed.py +168 -0
  521. snappy/verify/complex_volume/compute_ptolemys.py +90 -0
  522. snappy/verify/complex_volume/cusped.py +56 -0
  523. snappy/verify/complex_volume/extended_bloch.py +201 -0
  524. snappy/verify/cusp_translations.py +85 -0
  525. snappy/verify/edge_equations.py +80 -0
  526. snappy/verify/exceptions.py +254 -0
  527. snappy/verify/hyperbolicity.py +224 -0
  528. snappy/verify/interval_newton_shapes_engine.py +523 -0
  529. snappy/verify/interval_tree.py +400 -0
  530. snappy/verify/krawczyk_shapes_engine.py +518 -0
  531. snappy/verify/real_algebra.py +286 -0
  532. snappy/verify/shapes.py +25 -0
  533. snappy/verify/square_extensions.py +1005 -0
  534. snappy/verify/test.py +72 -0
  535. snappy/verify/volume.py +128 -0
  536. snappy/version.py +2 -0
  537. snappy-3.3.dist-info/METADATA +58 -0
  538. snappy-3.3.dist-info/RECORD +541 -0
  539. snappy-3.3.dist-info/WHEEL +6 -0
  540. snappy-3.3.dist-info/entry_points.txt +2 -0
  541. snappy-3.3.dist-info/top_level.txt +28 -0
@@ -0,0 +1,453 @@
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.3 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=26f62d79"></script>
19
+ <script src="_static/doctools.js?v=9bcbadda"></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.RibbonLinks"><code class="docutils literal notranslate"><span class="pre">RibbonLinks</span></code></a></li>
64
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.NonorientableCuspedCensus"><code class="docutils literal notranslate"><span class="pre">NonorientableCuspedCensus</span></code></a></li>
65
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.NonorientableClosedCensus"><code class="docutils literal notranslate"><span class="pre">NonorientableClosedCensus</span></code></a></li>
66
+ <li class="toctree-l3"><a class="reference internal" href="platonic_census.html">Censuses of Platonic manifolds</a></li>
67
+ <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>
68
+ <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>
69
+ <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>
70
+ <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>
71
+ <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>
72
+ </ul>
73
+ </li>
74
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.AlternatingKnotExteriors"><code class="docutils literal notranslate"><span class="pre">AlternatingKnotExteriors</span></code></a></li>
75
+ <li class="toctree-l3"><a class="reference internal" href="#snappy.NonalternatingKnotExteriors"><code class="docutils literal notranslate"><span class="pre">NonalternatingKnotExteriors</span></code></a></li>
76
+ </ul>
77
+ </li>
78
+ </ul>
79
+ </li>
80
+ <li class="toctree-l1"><a class="reference internal" href="plink.html">Using SnapPy’s link editor</a></li>
81
+ <li class="toctree-l1"><a class="reference internal" href="spherogram.html">Links: planar diagrams and invariants</a></li>
82
+ <li class="toctree-l1"><a class="reference internal" href="snap.html">Number theory of hyperbolic 3-manifolds</a></li>
83
+ <li class="toctree-l1"><a class="reference internal" href="verify.html">Verified computations</a></li>
84
+ <li class="toctree-l1"><a class="reference internal" href="other.html">Other components</a></li>
85
+ <li class="toctree-l1"><a class="reference internal" href="news.html">News</a></li>
86
+ <li class="toctree-l1"><a class="reference internal" href="credits.html">Credits</a></li>
87
+ <li class="toctree-l1"><a class="reference internal" href="bugs.html">Reporting bugs and other problems</a></li>
88
+ <li class="toctree-l1"><a class="reference internal" href="todo.html">To Do List</a></li>
89
+ <li class="toctree-l1"><a class="reference internal" href="development.html">Development Basics</a></li>
90
+ </ul>
91
+
92
+ </div>
93
+ </div>
94
+ </nav>
95
+
96
+ <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
97
+ <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
98
+ <a href="index.html">SnapPy</a>
99
+ </nav>
100
+
101
+ <div class="wy-nav-content">
102
+ <div class="rst-content">
103
+ <div role="navigation" aria-label="Page navigation">
104
+ <ul class="wy-breadcrumbs">
105
+ <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
106
+ <li class="breadcrumb-item"><a href="snappy.html">The snappy module and its classes</a></li>
107
+ <li class="breadcrumb-item active">Census manifolds</li>
108
+ <li class="wy-breadcrumbs-aside">
109
+ </li>
110
+ </ul>
111
+ <hr/>
112
+ </div>
113
+ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
114
+ <div itemprop="articleBody">
115
+
116
+ <section id="census-manifolds">
117
+ <h1>Census manifolds<a class="headerlink" href="#census-manifolds" title="Link to this heading"></a></h1>
118
+ <p>Snappy comes with a large library of manifolds, which can be accessed
119
+ individually through the Manifold and Triangulation constructors but
120
+ can also be iterated through using the objects described on this
121
+ page.</p>
122
+ <p>SnapPy’s iterators support several flexible methods for accessing
123
+ manifolds. They can be sliced (i.e. restricted to subranges) either
124
+ by index or by volume. Calling the iterator with keyword arguments
125
+ such as num_tets=1, betti=2 or num_cusps=3 returns an iterator which
126
+ is filtered by the specified conditions. In addition these iterators
127
+ can determine whether they contain a given manifold. They support
128
+ python’s “A in B” syntax, and also provide an identify method which
129
+ will return a copy of the census manifold which is isometric to the
130
+ manifold passed as an argument.</p>
131
+ <dl class="py data">
132
+ <dt class="sig sig-object py" id="snappy.OrientableCuspedCensus">
133
+ <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>
134
+ <dd><p>Iterator for all orientable cusped hyperbolic manifolds that
135
+ can be triangulated with at most 10 ideal tetrahedra. See
136
+ <a class="reference external" href="https://arXiv.org/abs/2512.02142">[Li]</a> for background on
137
+ these manifolds.</p>
138
+ <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>
139
+ <span class="gp">...</span>
140
+ <span class="go">m007(0,0) 2.56897060</span>
141
+ <span class="go">m009(0,0) 2.66674478</span>
142
+ <span class="go">m010(0,0) 2.66674478</span>
143
+ <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>
144
+ <span class="gp">...</span>
145
+ <span class="go">o10_150721(0,0)(0,0)(0,0) 10.1494160640965</span>
146
+ <span class="go">o10_150722(0,0)(0,0)(0,0) 10.1494160640965</span>
147
+ <span class="go">o10_150723(0,0)(0,0) 10.1494160640965</span>
148
+ <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>
149
+ <span class="gp">...</span>
150
+ <span class="go">m217(0,0) 4.10795310</span>
151
+ <span class="go">m218(0,0) 4.10942659</span>
152
+ <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>
153
+ <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>
154
+ <span class="gp">...</span>
155
+ <span class="go">m125(0,0)(0,0) 3.66386238 2</span>
156
+ <span class="go">m129(0,0)(0,0) 3.66386238 2</span>
157
+ <span class="go">m202(0,0)(0,0) 4.05976643 2</span>
158
+ <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>
159
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="ow">in</span> <span class="n">LinkExteriors</span>
160
+ <span class="go">True</span>
161
+ <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>
162
+ <span class="go">5^2_1(0,0)(0,0)</span>
163
+ </pre></div>
164
+ </div>
165
+ </dd></dl>
166
+
167
+ <dl class="py data">
168
+ <dt class="sig sig-object py" id="snappy.OrientableClosedCensus">
169
+ <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>
170
+ <dd><p>Iterator for 11,031 closed hyperbolic manifolds from the census by
171
+ Hodgson and Weeks.</p>
172
+ <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>
173
+ <span class="go">11031</span>
174
+ <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>
175
+ <span class="go">1</span>
176
+ <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>
177
+ <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>
178
+ <span class="gp">...</span>
179
+ <span class="go">v1539(5,1) Z + Z</span>
180
+ </pre></div>
181
+ </div>
182
+ </dd></dl>
183
+
184
+ <dl class="py data">
185
+ <dt class="sig sig-object py" id="snappy.CensusKnots">
186
+ <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>
187
+ <dd><p>Iterator for all of the knot exteriors in the SnapPea Census,
188
+ as tabulated by Callahan, Dean, Weeks, Champanerkar, Kofman,
189
+ Patterson, Dunfield, and Li. These are the knot exteriors
190
+ which can be triangulated by at most 10 ideal tetrahedra. See
191
+ <a class="reference external" href="https://arXiv.org/abs/2512.02142">[Li]</a> for more.</p>
192
+ <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>
193
+ <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>
194
+ <span class="gp">...</span>
195
+ <span class="go">K4_3(0,0) 3.47424776 False</span>
196
+ <span class="go">K5_1(0,0) 3.41791484 False</span>
197
+ <span class="go">K5_2(0,0) 3.42720525 8_1(0,0)</span>
198
+ <span class="go">K5_3(0,0) 3.48666015 9_2(0,0)</span>
199
+ </pre></div>
200
+ </div>
201
+ <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>
202
+ <span class="go">3116</span>
203
+ <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>
204
+ <span class="go">10</span>
205
+ </pre></div>
206
+ </div>
207
+ </dd></dl>
208
+
209
+ <dl class="py data">
210
+ <dt class="sig sig-object py" id="snappy.LinkExteriors">
211
+ <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>
212
+ <dd><p>Iterator for all knots with at most 11 crossings and links with
213
+ at most 10 crossings, using the Rolfsen notation. The triangulations
214
+ were computed by Joe Christy.</p>
215
+ <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>
216
+ <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>
217
+ <span class="gp">...</span>
218
+ <span class="go">10^3_72(0,0)(0,0)(0,0) 14.35768903</span>
219
+ <span class="go">10^3_73(0,0)(0,0)(0,0) 15.86374431</span>
220
+ <span class="go">10^3_74(0,0)(0,0)(0,0) 15.55091438</span>
221
+ <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>
222
+ <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>
223
+ <span class="go">s862(0,0)</span>
224
+ </pre></div>
225
+ </div>
226
+ <p>By default, the ‘identify’ returns the first isometric manifold it finds;
227
+ if the optional ‘extends_to_link’ flag is set, it insists that meridians
228
+ are taken to meridians.</p>
229
+ <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>
230
+ <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>
231
+ <span class="go">5^2_1(0,0)(0,0)</span>
232
+ <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>
233
+ <span class="go">7^2_8(0,0)(0,0)</span>
234
+ </pre></div>
235
+ </div>
236
+ </dd></dl>
237
+
238
+ <dl class="py data">
239
+ <dt class="sig sig-object py" id="snappy.HTLinkExteriors">
240
+ <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>
241
+ <dd><p>Iterator for all knots up to 14 or 15 crossings (see below for
242
+ which) and links up to 14 crossings as tabulated by Jim Hoste
243
+ and Morwen Thistlethwaite. In addition to the filter
244
+ arguments supported by all ManifoldTables, this iterator
245
+ provides alternating=&lt;True/False&gt;;
246
+ knots_vs_links=&lt;’knots’/’links’&gt;; and crossings=N. These allow
247
+ iterations only through alternating or non-alternating links
248
+ with 1 or more than 1 component and a specified crossing
249
+ number.</p>
250
+ <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>
251
+ <span class="go">K8n1(0,0)</span>
252
+ <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>
253
+ <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>
254
+ <span class="go">8</span>
255
+ <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>
256
+ <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>
257
+ <span class="gp">...</span>
258
+ <span class="go">L11n138 2 8.66421454</span>
259
+ <span class="go">L12n1097 2 8.51918360</span>
260
+ <span class="go">L14n13364 2 8.69338342</span>
261
+ <span class="go">L14n13513 2 8.58439465</span>
262
+ <span class="go">L14n15042 2 8.66421454</span>
263
+ <span class="go">L14n24425 2 8.60676092</span>
264
+ <span class="go">L14n24777 2 8.53123093</span>
265
+ <span class="go">L14n26042 2 8.64333782</span>
266
+ <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>
267
+ <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>
268
+ <span class="gp">...</span>
269
+ <span class="go">L11n138 [(8, -10, -12), (6, -16, -18, -22, -20, -2, -4, -14)]</span>
270
+ <span class="go">L12n1097 [(10, 12, -14, -18), (22, 2, -20, 24, -6, -8, 4, 16)]</span>
271
+ <span class="go">L14n13364 [(8, -10, 12), (6, -18, 20, -22, -26, -24, 2, -4, -28, -16, -14)]</span>
272
+ <span class="go">L14n13513 [(8, -10, 12), (6, -20, 18, -26, -24, -4, 2, -28, -16, -14, -22)]</span>
273
+ <span class="go">L14n15042 [(8, -10, 14), (12, -16, 18, -22, 24, 2, 26, 28, 6, -4, 20)]</span>
274
+ <span class="go">L14n24425 [(10, -12, 14, -16), (-18, 26, -24, 22, -20, -28, -6, 4, -2, 8)]</span>
275
+ <span class="go">L14n24777 [(10, 12, -14, -18), (2, 28, -22, 24, -6, 26, -8, 4, 16, 20)]</span>
276
+ <span class="go">L14n26042 [(10, 12, 14, -20), (8, 2, 28, -22, -24, -26, -6, -16, -18, 4)]</span>
277
+ </pre></div>
278
+ </div>
279
+ <p>SnapPy comes with one of two versions of HTLinkExteriors. The
280
+ smaller original one provides knots and links up to 14
281
+ crossings; the larger adds to that the knots (but not links)
282
+ with 15 crossings. You can determine which you have by whether</p>
283
+ <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>
284
+ </pre></div>
285
+ </div>
286
+ <p>gives 0 or 253293. To upgrade to the larger database, install
287
+ the Python module ‘snappy_15_knots’ as discussed on the
288
+ ‘installing SnapPy’ webpage.</p>
289
+ </dd></dl>
290
+
291
+ <dl class="py data">
292
+ <dt class="sig sig-object py" id="snappy.RibbonLinks">
293
+ <span class="sig-prename descclassname"><span class="pre">snappy.</span></span><span class="sig-name descname"><span class="pre">RibbonLinks</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">RibbonLinks</span> <span class="pre">without</span> <span class="pre">filters</span></em><a class="headerlink" href="#snappy.RibbonLinks" title="Link to this definition"></a></dt>
294
+ <dd><p>The database of ribbon links from Section 2.5 of <a class="reference external" href="https://arXiv.org/abs/2512.21825">[Dunfield
295
+ and Gong]</a>. Each link
296
+ includes a certificate describing the ribbon disks:</p>
297
+ <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">RibbonLinks</span><span class="p">(</span><span class="n">cusps</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
298
+ <span class="go">12143</span>
299
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">M</span> <span class="o">=</span> <span class="n">RibbonLinks</span><span class="p">[</span><span class="mi">1000</span><span class="p">]</span>
300
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">M</span><span class="o">.</span><span class="n">name</span><span class="p">(),</span> <span class="n">M</span><span class="o">.</span><span class="n">num_cusps</span><span class="p">(),</span> <span class="n">M</span><span class="o">.</span><span class="n">volume</span><span class="p">()</span>
301
+ <span class="go">(&#39;ribbon_2_16_3079d007&#39;, 2, 22.9002274714046)</span>
302
+ </pre></div>
303
+ </div>
304
+ <p>The bands used show each link is ribbon are included. For this link,
305
+ we used 3 bands:</p>
306
+ <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">N</span> <span class="o">=</span> <span class="n">RibbonLinks</span><span class="p">[</span><span class="s1">&#39;ribbon_2_23_f9c7aff2&#39;</span><span class="p">]</span>
307
+ <span class="gp">&gt;&gt;&gt; </span><span class="n">N</span><span class="o">.</span><span class="n">ribbon_cert</span><span class="p">[</span><span class="mi">1</span><span class="p">::</span><span class="mi">2</span><span class="p">]</span>
308
+ <span class="go">[&#39;0d1c54_1_0&#39;, &#39;5e5709_1_0&#39;, &#39;144f625e5d29_5_2&#39;]</span>
309
+ </pre></div>
310
+ </div>
311
+ </dd></dl>
312
+
313
+ <dl class="py data">
314
+ <dt class="sig sig-object py" id="snappy.NonorientableCuspedCensus">
315
+ <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>
316
+ <dd><p>Iterator for all nonorientable cusped hyperbolic manifolds that
317
+ can be triangulated with at most 5 ideal tetrahedra.</p>
318
+ <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>
319
+ <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>
320
+ <span class="gp">...</span>
321
+ <span class="go">m124(0,0)(0,0)(0,0) Z/2 + Z + Z</span>
322
+ <span class="go">m128(0,0)(0,0) Z + Z</span>
323
+ <span class="go">m131(0,0) Z + Z</span>
324
+ </pre></div>
325
+ </div>
326
+ </dd></dl>
327
+
328
+ <dl class="py data">
329
+ <dt class="sig sig-object py" id="snappy.NonorientableClosedCensus">
330
+ <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>
331
+ <dd><p>Iterator for 17 nonorientable closed hyperbolic manifolds from the
332
+ census by Hodgson and Weeks.</p>
333
+ <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>
334
+ <span class="gp">...</span>
335
+ <span class="go">m018(1,0) 2.02988321</span>
336
+ <span class="go">m177(1,0) 2.56897060</span>
337
+ <span class="go">m153(1,0) 2.66674478</span>
338
+ </pre></div>
339
+ </div>
340
+ </dd></dl>
341
+
342
+ <p>There are also:</p>
343
+ <div class="toctree-wrapper compound">
344
+ <ul>
345
+ <li class="toctree-l1"><a class="reference internal" href="platonic_census.html">Censuses of Platonic manifolds</a></li>
346
+ </ul>
347
+ </div>
348
+ <p>As instances of subclasses of ManifoldTable, the objects above
349
+ support the following methods.</p>
350
+ <dl class="py class">
351
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable">
352
+ <em class="property"><span class="k"><span class="pre">class</span></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>
353
+ <dd><p>Iterator for cusped manifolds in an sqlite3 table of manifolds.</p>
354
+ <p>Initialize with the table name. The table schema is required to
355
+ include a text field called ‘name’ and a text field called
356
+ ‘triangulation’. The text holds the result of
357
+ M.triangulation_isosig(), M.triangulation_isosig(decorated = True), or
358
+ M._to_string().</p>
359
+ <p>Both mapping from the manifold name, and lookup by index are
360
+ supported. Slicing can be done either by numerical index or by
361
+ volume.</p>
362
+ <p>The __contains__ method is supported, so M in T returns True if M
363
+ is isometric to a manifold in the table T. The method
364
+ T.identify(M) will return the matching manifold from the table.</p>
365
+ <dl class="py method">
366
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable.find">
367
+ <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>
368
+ <dd><p>Return a list of up to limit manifolds stored in this table,
369
+ satisfying the where clause, and ordered by the order_by
370
+ clause. If limit is None, all matching manifolds are
371
+ returned. If the offset parameter is set, the first offset
372
+ matches are skipped.</p>
373
+ </dd></dl>
374
+
375
+ <dl class="py method">
376
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable.identify">
377
+ <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>
378
+ <dd><p>Look for a manifold in this table which is isometric to the
379
+ argument.</p>
380
+ <p>Return the matching manifold, if there is one which SnapPea
381
+ declares to be isometric.</p>
382
+ <p>Return False if no manifold in the table has the same hash.</p>
383
+ <p>Return None in all other cases (for now).</p>
384
+ <p>If the flag “extends_to_link” is True, requires that the isometry
385
+ sends meridians to meridians. If the input manifold is closed
386
+ this will result in no matches being returned.</p>
387
+ </dd></dl>
388
+
389
+ <dl class="py method">
390
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable.keys">
391
+ <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>
392
+ <dd><p>Return the list of column names for this manifold table.</p>
393
+ </dd></dl>
394
+
395
+ <dl class="py method">
396
+ <dt class="sig sig-object py" id="snappy.database.ManifoldTable.siblings">
397
+ <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>
398
+ <dd><p>Return all manifolds in the census which have the same hash value.</p>
399
+ </dd></dl>
400
+
401
+ </dd></dl>
402
+
403
+ <p>Because of the large size of their datasets, the classes below
404
+ can only iterate through slices by index, and do not provide
405
+ the identification methods.</p>
406
+ <dl class="py class">
407
+ <dt class="sig sig-object py" id="snappy.AlternatingKnotExteriors">
408
+ <em class="property"><span class="k"><span class="pre">class</span></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>
409
+ <dd><p>Iterator/Sequence for Alternating knot exteriors from the
410
+ Hoste-Thistlethwaite tables. Goes through 16 crossings.</p>
411
+ </dd></dl>
412
+
413
+ <dl class="py class">
414
+ <dt class="sig sig-object py" id="snappy.NonalternatingKnotExteriors">
415
+ <em class="property"><span class="k"><span class="pre">class</span></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>
416
+ <dd><p>Iterator/Sequence for nonAlternating knot exteriors from the
417
+ Hoste-Thistlethwaite tables. Goes through 16 crossings.</p>
418
+ </dd></dl>
419
+
420
+ </section>
421
+
422
+
423
+ </div>
424
+ </div>
425
+ <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
426
+ <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>
427
+ <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>
428
+ </div>
429
+
430
+ <hr/>
431
+
432
+ <div role="contentinfo">
433
+ <p>&#169; Copyright 2009-2026, by Marc Culler, Nathan Dunfield, Matthias Goerner, Jeffrey Weeks and others.</p>
434
+ </div>
435
+
436
+ Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
437
+ <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
438
+ provided by <a href="https://readthedocs.org">Read the Docs</a>.
439
+
440
+
441
+ </footer>
442
+ </div>
443
+ </div>
444
+ </section>
445
+ </div>
446
+ <script>
447
+ jQuery(function () {
448
+ SphinxRtdTheme.Navigation.enable(true);
449
+ });
450
+ </script>
451
+
452
+ </body>
453
+ </html>