passagemath-categories 10.6.32__cp314-cp314t-musllinux_1_2_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 (719) hide show
  1. passagemath_categories-10.6.32.dist-info/METADATA +156 -0
  2. passagemath_categories-10.6.32.dist-info/RECORD +719 -0
  3. passagemath_categories-10.6.32.dist-info/WHEEL +5 -0
  4. passagemath_categories-10.6.32.dist-info/top_level.txt +2 -0
  5. passagemath_categories.libs/libgcc_s-2d945d6c.so.1 +0 -0
  6. passagemath_categories.libs/libgmp-28992bcb.so.10.5.0 +0 -0
  7. passagemath_categories.libs/libstdc++-85f2cd6d.so.6.0.33 +0 -0
  8. sage/all__sagemath_categories.py +28 -0
  9. sage/arith/all.py +38 -0
  10. sage/arith/constants.pxd +27 -0
  11. sage/arith/functions.cpython-314t-aarch64-linux-musl.so +0 -0
  12. sage/arith/functions.pxd +4 -0
  13. sage/arith/functions.pyx +221 -0
  14. sage/arith/misc.py +6552 -0
  15. sage/arith/multi_modular.cpython-314t-aarch64-linux-musl.so +0 -0
  16. sage/arith/multi_modular.pxd +39 -0
  17. sage/arith/multi_modular.pyx +994 -0
  18. sage/arith/rational_reconstruction.cpython-314t-aarch64-linux-musl.so +0 -0
  19. sage/arith/rational_reconstruction.pxd +4 -0
  20. sage/arith/rational_reconstruction.pyx +115 -0
  21. sage/arith/srange.cpython-314t-aarch64-linux-musl.so +0 -0
  22. sage/arith/srange.pyx +571 -0
  23. sage/calculus/all__sagemath_categories.py +2 -0
  24. sage/calculus/functional.py +481 -0
  25. sage/calculus/functions.py +151 -0
  26. sage/categories/additive_groups.py +73 -0
  27. sage/categories/additive_magmas.py +1044 -0
  28. sage/categories/additive_monoids.py +114 -0
  29. sage/categories/additive_semigroups.py +184 -0
  30. sage/categories/affine_weyl_groups.py +238 -0
  31. sage/categories/algebra_ideals.py +95 -0
  32. sage/categories/algebra_modules.py +96 -0
  33. sage/categories/algebras.py +349 -0
  34. sage/categories/algebras_with_basis.py +377 -0
  35. sage/categories/all.py +160 -0
  36. sage/categories/aperiodic_semigroups.py +29 -0
  37. sage/categories/associative_algebras.py +47 -0
  38. sage/categories/bialgebras.py +101 -0
  39. sage/categories/bialgebras_with_basis.py +414 -0
  40. sage/categories/bimodules.py +206 -0
  41. sage/categories/chain_complexes.py +268 -0
  42. sage/categories/classical_crystals.py +480 -0
  43. sage/categories/coalgebras.py +405 -0
  44. sage/categories/coalgebras_with_basis.py +232 -0
  45. sage/categories/coercion_methods.cpython-314t-aarch64-linux-musl.so +0 -0
  46. sage/categories/coercion_methods.pyx +52 -0
  47. sage/categories/commutative_additive_groups.py +104 -0
  48. sage/categories/commutative_additive_monoids.py +45 -0
  49. sage/categories/commutative_additive_semigroups.py +48 -0
  50. sage/categories/commutative_algebra_ideals.py +87 -0
  51. sage/categories/commutative_algebras.py +94 -0
  52. sage/categories/commutative_ring_ideals.py +58 -0
  53. sage/categories/commutative_rings.py +736 -0
  54. sage/categories/complete_discrete_valuation.py +293 -0
  55. sage/categories/complex_reflection_groups.py +145 -0
  56. sage/categories/complex_reflection_or_generalized_coxeter_groups.py +1249 -0
  57. sage/categories/coxeter_group_algebras.py +186 -0
  58. sage/categories/coxeter_groups.py +3402 -0
  59. sage/categories/crystals.py +2628 -0
  60. sage/categories/cw_complexes.py +216 -0
  61. sage/categories/dedekind_domains.py +137 -0
  62. sage/categories/discrete_valuation.py +325 -0
  63. sage/categories/distributive_magmas_and_additive_magmas.py +100 -0
  64. sage/categories/division_rings.py +114 -0
  65. sage/categories/domains.py +95 -0
  66. sage/categories/drinfeld_modules.py +789 -0
  67. sage/categories/dual.py +42 -0
  68. sage/categories/enumerated_sets.py +1146 -0
  69. sage/categories/euclidean_domains.py +271 -0
  70. sage/categories/examples/algebras_with_basis.py +102 -0
  71. sage/categories/examples/all.py +1 -0
  72. sage/categories/examples/commutative_additive_monoids.py +130 -0
  73. sage/categories/examples/commutative_additive_semigroups.py +199 -0
  74. sage/categories/examples/coxeter_groups.py +8 -0
  75. sage/categories/examples/crystals.py +236 -0
  76. sage/categories/examples/cw_complexes.py +163 -0
  77. sage/categories/examples/facade_sets.py +187 -0
  78. sage/categories/examples/filtered_algebras_with_basis.py +204 -0
  79. sage/categories/examples/filtered_modules_with_basis.py +154 -0
  80. sage/categories/examples/finite_coxeter_groups.py +252 -0
  81. sage/categories/examples/finite_dimensional_algebras_with_basis.py +148 -0
  82. sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py +495 -0
  83. sage/categories/examples/finite_enumerated_sets.py +208 -0
  84. sage/categories/examples/finite_monoids.py +150 -0
  85. sage/categories/examples/finite_semigroups.py +190 -0
  86. sage/categories/examples/finite_weyl_groups.py +191 -0
  87. sage/categories/examples/graded_connected_hopf_algebras_with_basis.py +152 -0
  88. sage/categories/examples/graded_modules_with_basis.py +168 -0
  89. sage/categories/examples/graphs.py +122 -0
  90. sage/categories/examples/hopf_algebras_with_basis.py +145 -0
  91. sage/categories/examples/infinite_enumerated_sets.py +190 -0
  92. sage/categories/examples/lie_algebras.py +352 -0
  93. sage/categories/examples/lie_algebras_with_basis.py +196 -0
  94. sage/categories/examples/magmas.py +162 -0
  95. sage/categories/examples/manifolds.py +94 -0
  96. sage/categories/examples/monoids.py +144 -0
  97. sage/categories/examples/posets.py +178 -0
  98. sage/categories/examples/semigroups.py +580 -0
  99. sage/categories/examples/semigroups_cython.cpython-314t-aarch64-linux-musl.so +0 -0
  100. sage/categories/examples/semigroups_cython.pyx +221 -0
  101. sage/categories/examples/semirings.py +249 -0
  102. sage/categories/examples/sets_cat.py +706 -0
  103. sage/categories/examples/sets_with_grading.py +101 -0
  104. sage/categories/examples/with_realizations.py +542 -0
  105. sage/categories/fields.py +991 -0
  106. sage/categories/filtered_algebras.py +63 -0
  107. sage/categories/filtered_algebras_with_basis.py +548 -0
  108. sage/categories/filtered_hopf_algebras_with_basis.py +138 -0
  109. sage/categories/filtered_modules.py +210 -0
  110. sage/categories/filtered_modules_with_basis.py +1209 -0
  111. sage/categories/finite_complex_reflection_groups.py +1506 -0
  112. sage/categories/finite_coxeter_groups.py +1138 -0
  113. sage/categories/finite_crystals.py +103 -0
  114. sage/categories/finite_dimensional_algebras_with_basis.py +1860 -0
  115. sage/categories/finite_dimensional_bialgebras_with_basis.py +33 -0
  116. sage/categories/finite_dimensional_coalgebras_with_basis.py +33 -0
  117. sage/categories/finite_dimensional_graded_lie_algebras_with_basis.py +231 -0
  118. sage/categories/finite_dimensional_hopf_algebras_with_basis.py +38 -0
  119. sage/categories/finite_dimensional_lie_algebras_with_basis.py +2774 -0
  120. sage/categories/finite_dimensional_modules_with_basis.py +1407 -0
  121. sage/categories/finite_dimensional_nilpotent_lie_algebras_with_basis.py +167 -0
  122. sage/categories/finite_dimensional_semisimple_algebras_with_basis.py +270 -0
  123. sage/categories/finite_enumerated_sets.py +769 -0
  124. sage/categories/finite_fields.py +252 -0
  125. sage/categories/finite_groups.py +256 -0
  126. sage/categories/finite_lattice_posets.py +242 -0
  127. sage/categories/finite_monoids.py +316 -0
  128. sage/categories/finite_permutation_groups.py +339 -0
  129. sage/categories/finite_posets.py +1994 -0
  130. sage/categories/finite_semigroups.py +136 -0
  131. sage/categories/finite_sets.py +93 -0
  132. sage/categories/finite_weyl_groups.py +39 -0
  133. sage/categories/finitely_generated_lambda_bracket_algebras.py +112 -0
  134. sage/categories/finitely_generated_lie_conformal_algebras.py +114 -0
  135. sage/categories/finitely_generated_magmas.py +57 -0
  136. sage/categories/finitely_generated_semigroups.py +214 -0
  137. sage/categories/function_fields.py +76 -0
  138. sage/categories/g_sets.py +77 -0
  139. sage/categories/gcd_domains.py +65 -0
  140. sage/categories/generalized_coxeter_groups.py +94 -0
  141. sage/categories/graded_algebras.py +85 -0
  142. sage/categories/graded_algebras_with_basis.py +258 -0
  143. sage/categories/graded_bialgebras.py +32 -0
  144. sage/categories/graded_bialgebras_with_basis.py +32 -0
  145. sage/categories/graded_coalgebras.py +65 -0
  146. sage/categories/graded_coalgebras_with_basis.py +51 -0
  147. sage/categories/graded_hopf_algebras.py +41 -0
  148. sage/categories/graded_hopf_algebras_with_basis.py +169 -0
  149. sage/categories/graded_lie_algebras.py +91 -0
  150. sage/categories/graded_lie_algebras_with_basis.py +44 -0
  151. sage/categories/graded_lie_conformal_algebras.py +74 -0
  152. sage/categories/graded_modules.py +133 -0
  153. sage/categories/graded_modules_with_basis.py +329 -0
  154. sage/categories/graphs.py +138 -0
  155. sage/categories/group_algebras.py +430 -0
  156. sage/categories/groupoid.py +94 -0
  157. sage/categories/groups.py +667 -0
  158. sage/categories/h_trivial_semigroups.py +64 -0
  159. sage/categories/hecke_modules.py +185 -0
  160. sage/categories/highest_weight_crystals.py +980 -0
  161. sage/categories/hopf_algebras.py +219 -0
  162. sage/categories/hopf_algebras_with_basis.py +309 -0
  163. sage/categories/infinite_enumerated_sets.py +115 -0
  164. sage/categories/integral_domains.py +203 -0
  165. sage/categories/j_trivial_semigroups.py +29 -0
  166. sage/categories/kac_moody_algebras.py +82 -0
  167. sage/categories/kahler_algebras.py +203 -0
  168. sage/categories/l_trivial_semigroups.py +63 -0
  169. sage/categories/lambda_bracket_algebras.py +280 -0
  170. sage/categories/lambda_bracket_algebras_with_basis.py +107 -0
  171. sage/categories/lattice_posets.py +89 -0
  172. sage/categories/left_modules.py +49 -0
  173. sage/categories/lie_algebras.py +1070 -0
  174. sage/categories/lie_algebras_with_basis.py +261 -0
  175. sage/categories/lie_conformal_algebras.py +350 -0
  176. sage/categories/lie_conformal_algebras_with_basis.py +147 -0
  177. sage/categories/lie_groups.py +73 -0
  178. sage/categories/loop_crystals.py +1290 -0
  179. sage/categories/magmas.py +1189 -0
  180. sage/categories/magmas_and_additive_magmas.py +149 -0
  181. sage/categories/magmatic_algebras.py +365 -0
  182. sage/categories/manifolds.py +352 -0
  183. sage/categories/matrix_algebras.py +40 -0
  184. sage/categories/metric_spaces.py +387 -0
  185. sage/categories/modular_abelian_varieties.py +78 -0
  186. sage/categories/modules.py +989 -0
  187. sage/categories/modules_with_basis.py +2794 -0
  188. sage/categories/monoid_algebras.py +38 -0
  189. sage/categories/monoids.py +739 -0
  190. sage/categories/noetherian_rings.py +87 -0
  191. sage/categories/number_fields.py +242 -0
  192. sage/categories/ore_modules.py +189 -0
  193. sage/categories/partially_ordered_monoids.py +49 -0
  194. sage/categories/permutation_groups.py +63 -0
  195. sage/categories/pointed_sets.py +42 -0
  196. sage/categories/polyhedra.py +74 -0
  197. sage/categories/poor_man_map.py +270 -0
  198. sage/categories/posets.py +722 -0
  199. sage/categories/principal_ideal_domains.py +270 -0
  200. sage/categories/quantum_group_representations.py +543 -0
  201. sage/categories/quotient_fields.py +728 -0
  202. sage/categories/r_trivial_semigroups.py +45 -0
  203. sage/categories/regular_crystals.py +898 -0
  204. sage/categories/regular_supercrystals.py +170 -0
  205. sage/categories/right_modules.py +49 -0
  206. sage/categories/ring_ideals.py +74 -0
  207. sage/categories/rings.py +1904 -0
  208. sage/categories/rngs.py +175 -0
  209. sage/categories/schemes.py +393 -0
  210. sage/categories/semigroups.py +1060 -0
  211. sage/categories/semirings.py +71 -0
  212. sage/categories/semisimple_algebras.py +114 -0
  213. sage/categories/sets_with_grading.py +235 -0
  214. sage/categories/shephard_groups.py +43 -0
  215. sage/categories/signed_tensor.py +120 -0
  216. sage/categories/simplicial_complexes.py +134 -0
  217. sage/categories/simplicial_sets.py +1206 -0
  218. sage/categories/super_algebras.py +149 -0
  219. sage/categories/super_algebras_with_basis.py +144 -0
  220. sage/categories/super_hopf_algebras_with_basis.py +126 -0
  221. sage/categories/super_lie_conformal_algebras.py +193 -0
  222. sage/categories/super_modules.py +229 -0
  223. sage/categories/super_modules_with_basis.py +193 -0
  224. sage/categories/supercommutative_algebras.py +99 -0
  225. sage/categories/supercrystals.py +406 -0
  226. sage/categories/tensor.py +110 -0
  227. sage/categories/topological_spaces.py +170 -0
  228. sage/categories/triangular_kac_moody_algebras.py +439 -0
  229. sage/categories/tutorial.py +58 -0
  230. sage/categories/unique_factorization_domains.py +318 -0
  231. sage/categories/unital_algebras.py +426 -0
  232. sage/categories/vector_bundles.py +159 -0
  233. sage/categories/vector_spaces.py +357 -0
  234. sage/categories/weyl_groups.py +853 -0
  235. sage/combinat/all__sagemath_categories.py +34 -0
  236. sage/combinat/backtrack.py +180 -0
  237. sage/combinat/combinat.py +2269 -0
  238. sage/combinat/combinat_cython.cpython-314t-aarch64-linux-musl.so +0 -0
  239. sage/combinat/combinat_cython.pxd +6 -0
  240. sage/combinat/combinat_cython.pyx +390 -0
  241. sage/combinat/combination.py +796 -0
  242. sage/combinat/combinatorial_map.py +416 -0
  243. sage/combinat/composition.py +2192 -0
  244. sage/combinat/dlx.py +510 -0
  245. sage/combinat/integer_lists/__init__.py +7 -0
  246. sage/combinat/integer_lists/base.cpython-314t-aarch64-linux-musl.so +0 -0
  247. sage/combinat/integer_lists/base.pxd +16 -0
  248. sage/combinat/integer_lists/base.pyx +713 -0
  249. sage/combinat/integer_lists/invlex.cpython-314t-aarch64-linux-musl.so +0 -0
  250. sage/combinat/integer_lists/invlex.pxd +4 -0
  251. sage/combinat/integer_lists/invlex.pyx +1650 -0
  252. sage/combinat/integer_lists/lists.py +328 -0
  253. sage/combinat/integer_lists/nn.py +48 -0
  254. sage/combinat/integer_vector.py +1818 -0
  255. sage/combinat/integer_vector_weighted.py +413 -0
  256. sage/combinat/matrices/all__sagemath_categories.py +5 -0
  257. sage/combinat/matrices/dancing_links.cpython-314t-aarch64-linux-musl.so +0 -0
  258. sage/combinat/matrices/dancing_links.pyx +1159 -0
  259. sage/combinat/matrices/dancing_links_c.h +380 -0
  260. sage/combinat/matrices/dlxcpp.py +136 -0
  261. sage/combinat/partition.py +10070 -0
  262. sage/combinat/partitions.cpython-314t-aarch64-linux-musl.so +0 -0
  263. sage/combinat/partitions.pyx +743 -0
  264. sage/combinat/permutation.py +10168 -0
  265. sage/combinat/permutation_cython.cpython-314t-aarch64-linux-musl.so +0 -0
  266. sage/combinat/permutation_cython.pxd +11 -0
  267. sage/combinat/permutation_cython.pyx +407 -0
  268. sage/combinat/q_analogues.py +1090 -0
  269. sage/combinat/ranker.py +268 -0
  270. sage/combinat/subset.py +1561 -0
  271. sage/combinat/subsets_hereditary.py +202 -0
  272. sage/combinat/subsets_pairwise.py +184 -0
  273. sage/combinat/tools.py +63 -0
  274. sage/combinat/tuple.py +348 -0
  275. sage/data_structures/all.py +2 -0
  276. sage/data_structures/all__sagemath_categories.py +2 -0
  277. sage/data_structures/binary_matrix.pxd +138 -0
  278. sage/data_structures/binary_search.cpython-314t-aarch64-linux-musl.so +0 -0
  279. sage/data_structures/binary_search.pxd +3 -0
  280. sage/data_structures/binary_search.pyx +66 -0
  281. sage/data_structures/bitset.cpython-314t-aarch64-linux-musl.so +0 -0
  282. sage/data_structures/bitset.pxd +40 -0
  283. sage/data_structures/bitset.pyx +2385 -0
  284. sage/data_structures/bitset_base.cpython-314t-aarch64-linux-musl.so +0 -0
  285. sage/data_structures/bitset_base.pxd +926 -0
  286. sage/data_structures/bitset_base.pyx +117 -0
  287. sage/data_structures/bitset_intrinsics.h +487 -0
  288. sage/data_structures/blas_dict.cpython-314t-aarch64-linux-musl.so +0 -0
  289. sage/data_structures/blas_dict.pxd +12 -0
  290. sage/data_structures/blas_dict.pyx +469 -0
  291. sage/data_structures/list_of_pairs.cpython-314t-aarch64-linux-musl.so +0 -0
  292. sage/data_structures/list_of_pairs.pxd +16 -0
  293. sage/data_structures/list_of_pairs.pyx +122 -0
  294. sage/data_structures/mutable_poset.py +3312 -0
  295. sage/data_structures/pairing_heap.cpython-314t-aarch64-linux-musl.so +0 -0
  296. sage/data_structures/pairing_heap.h +346 -0
  297. sage/data_structures/pairing_heap.pxd +88 -0
  298. sage/data_structures/pairing_heap.pyx +1464 -0
  299. sage/data_structures/sparse_bitset.pxd +62 -0
  300. sage/data_structures/stream.py +5070 -0
  301. sage/databases/all__sagemath_categories.py +7 -0
  302. sage/databases/sql_db.py +2236 -0
  303. sage/ext/all__sagemath_categories.py +3 -0
  304. sage/ext/fast_callable.cpython-314t-aarch64-linux-musl.so +0 -0
  305. sage/ext/fast_callable.pxd +4 -0
  306. sage/ext/fast_callable.pyx +2746 -0
  307. sage/ext/fast_eval.cpython-314t-aarch64-linux-musl.so +0 -0
  308. sage/ext/fast_eval.pxd +1 -0
  309. sage/ext/fast_eval.pyx +102 -0
  310. sage/ext/interpreters/__init__.py +1 -0
  311. sage/ext/interpreters/all__sagemath_categories.py +2 -0
  312. sage/ext/interpreters/wrapper_el.cpython-314t-aarch64-linux-musl.so +0 -0
  313. sage/ext/interpreters/wrapper_el.pxd +18 -0
  314. sage/ext/interpreters/wrapper_el.pyx +148 -0
  315. sage/ext/interpreters/wrapper_py.cpython-314t-aarch64-linux-musl.so +0 -0
  316. sage/ext/interpreters/wrapper_py.pxd +17 -0
  317. sage/ext/interpreters/wrapper_py.pyx +133 -0
  318. sage/functions/airy.py +937 -0
  319. sage/functions/all.py +97 -0
  320. sage/functions/bessel.py +2102 -0
  321. sage/functions/error.py +784 -0
  322. sage/functions/exp_integral.py +1529 -0
  323. sage/functions/gamma.py +1087 -0
  324. sage/functions/generalized.py +672 -0
  325. sage/functions/hyperbolic.py +747 -0
  326. sage/functions/hypergeometric.py +1156 -0
  327. sage/functions/jacobi.py +1705 -0
  328. sage/functions/log.py +1402 -0
  329. sage/functions/min_max.py +338 -0
  330. sage/functions/orthogonal_polys.py +3106 -0
  331. sage/functions/other.py +2303 -0
  332. sage/functions/piecewise.py +1505 -0
  333. sage/functions/prime_pi.cpython-314t-aarch64-linux-musl.so +0 -0
  334. sage/functions/prime_pi.pyx +262 -0
  335. sage/functions/special.py +1212 -0
  336. sage/functions/spike_function.py +278 -0
  337. sage/functions/transcendental.py +690 -0
  338. sage/functions/trig.py +1062 -0
  339. sage/functions/wigner.py +726 -0
  340. sage/geometry/abc.cpython-314t-aarch64-linux-musl.so +0 -0
  341. sage/geometry/abc.pyx +82 -0
  342. sage/geometry/all__sagemath_categories.py +1 -0
  343. sage/groups/all__sagemath_categories.py +11 -0
  344. sage/groups/generic.py +1733 -0
  345. sage/groups/groups_catalog.py +113 -0
  346. sage/groups/perm_gps/all__sagemath_categories.py +1 -0
  347. sage/groups/perm_gps/partn_ref/all.py +1 -0
  348. sage/groups/perm_gps/partn_ref/all__sagemath_categories.py +1 -0
  349. sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.cpython-314t-aarch64-linux-musl.so +0 -0
  350. sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pxd +52 -0
  351. sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx +906 -0
  352. sage/groups/perm_gps/partn_ref/canonical_augmentation.cpython-314t-aarch64-linux-musl.so +0 -0
  353. sage/groups/perm_gps/partn_ref/canonical_augmentation.pxd +85 -0
  354. sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx +534 -0
  355. sage/groups/perm_gps/partn_ref/data_structures.cpython-314t-aarch64-linux-musl.so +0 -0
  356. sage/groups/perm_gps/partn_ref/data_structures.pxd +576 -0
  357. sage/groups/perm_gps/partn_ref/data_structures.pyx +1792 -0
  358. sage/groups/perm_gps/partn_ref/double_coset.cpython-314t-aarch64-linux-musl.so +0 -0
  359. sage/groups/perm_gps/partn_ref/double_coset.pxd +45 -0
  360. sage/groups/perm_gps/partn_ref/double_coset.pyx +739 -0
  361. sage/groups/perm_gps/partn_ref/refinement_lists.cpython-314t-aarch64-linux-musl.so +0 -0
  362. sage/groups/perm_gps/partn_ref/refinement_lists.pxd +18 -0
  363. sage/groups/perm_gps/partn_ref/refinement_lists.pyx +82 -0
  364. sage/groups/perm_gps/partn_ref/refinement_python.cpython-314t-aarch64-linux-musl.so +0 -0
  365. sage/groups/perm_gps/partn_ref/refinement_python.pxd +16 -0
  366. sage/groups/perm_gps/partn_ref/refinement_python.pyx +564 -0
  367. sage/groups/perm_gps/partn_ref/refinement_sets.cpython-314t-aarch64-linux-musl.so +0 -0
  368. sage/groups/perm_gps/partn_ref/refinement_sets.pxd +60 -0
  369. sage/groups/perm_gps/partn_ref/refinement_sets.pyx +858 -0
  370. sage/interfaces/abc.py +140 -0
  371. sage/interfaces/all.py +58 -0
  372. sage/interfaces/all__sagemath_categories.py +1 -0
  373. sage/interfaces/expect.py +1643 -0
  374. sage/interfaces/interface.py +1682 -0
  375. sage/interfaces/process.cpython-314t-aarch64-linux-musl.so +0 -0
  376. sage/interfaces/process.pxd +5 -0
  377. sage/interfaces/process.pyx +288 -0
  378. sage/interfaces/quit.py +167 -0
  379. sage/interfaces/sage0.py +604 -0
  380. sage/interfaces/sagespawn.cpython-314t-aarch64-linux-musl.so +0 -0
  381. sage/interfaces/sagespawn.pyx +308 -0
  382. sage/interfaces/tab_completion.py +101 -0
  383. sage/misc/all__sagemath_categories.py +78 -0
  384. sage/misc/allocator.cpython-314t-aarch64-linux-musl.so +0 -0
  385. sage/misc/allocator.pxd +6 -0
  386. sage/misc/allocator.pyx +47 -0
  387. sage/misc/binary_tree.cpython-314t-aarch64-linux-musl.so +0 -0
  388. sage/misc/binary_tree.pxd +29 -0
  389. sage/misc/binary_tree.pyx +537 -0
  390. sage/misc/callable_dict.cpython-314t-aarch64-linux-musl.so +0 -0
  391. sage/misc/callable_dict.pyx +89 -0
  392. sage/misc/citation.cpython-314t-aarch64-linux-musl.so +0 -0
  393. sage/misc/citation.pyx +159 -0
  394. sage/misc/converting_dict.py +293 -0
  395. sage/misc/defaults.py +129 -0
  396. sage/misc/derivative.cpython-314t-aarch64-linux-musl.so +0 -0
  397. sage/misc/derivative.pyx +223 -0
  398. sage/misc/functional.py +2005 -0
  399. sage/misc/html.py +589 -0
  400. sage/misc/latex.py +2673 -0
  401. sage/misc/latex_macros.py +236 -0
  402. sage/misc/latex_standalone.py +1833 -0
  403. sage/misc/map_threaded.py +38 -0
  404. sage/misc/mathml.py +76 -0
  405. sage/misc/method_decorator.py +88 -0
  406. sage/misc/mrange.py +755 -0
  407. sage/misc/multireplace.py +41 -0
  408. sage/misc/object_multiplexer.py +92 -0
  409. sage/misc/parser.cpython-314t-aarch64-linux-musl.so +0 -0
  410. sage/misc/parser.pyx +1107 -0
  411. sage/misc/random_testing.py +264 -0
  412. sage/misc/rest_index_of_methods.py +377 -0
  413. sage/misc/search.cpython-314t-aarch64-linux-musl.so +0 -0
  414. sage/misc/search.pxd +2 -0
  415. sage/misc/search.pyx +68 -0
  416. sage/misc/stopgap.cpython-314t-aarch64-linux-musl.so +0 -0
  417. sage/misc/stopgap.pyx +95 -0
  418. sage/misc/table.py +853 -0
  419. sage/monoids/all__sagemath_categories.py +1 -0
  420. sage/monoids/indexed_free_monoid.py +1071 -0
  421. sage/monoids/monoid.py +82 -0
  422. sage/numerical/all__sagemath_categories.py +1 -0
  423. sage/numerical/backends/all__sagemath_categories.py +1 -0
  424. sage/numerical/backends/generic_backend.cpython-314t-aarch64-linux-musl.so +0 -0
  425. sage/numerical/backends/generic_backend.pxd +61 -0
  426. sage/numerical/backends/generic_backend.pyx +1893 -0
  427. sage/numerical/backends/generic_sdp_backend.cpython-314t-aarch64-linux-musl.so +0 -0
  428. sage/numerical/backends/generic_sdp_backend.pxd +38 -0
  429. sage/numerical/backends/generic_sdp_backend.pyx +755 -0
  430. sage/parallel/all.py +6 -0
  431. sage/parallel/decorate.py +575 -0
  432. sage/parallel/map_reduce.py +1997 -0
  433. sage/parallel/multiprocessing_sage.py +76 -0
  434. sage/parallel/ncpus.py +35 -0
  435. sage/parallel/parallelism.py +364 -0
  436. sage/parallel/reference.py +47 -0
  437. sage/parallel/use_fork.py +333 -0
  438. sage/rings/abc.cpython-314t-aarch64-linux-musl.so +0 -0
  439. sage/rings/abc.pxd +31 -0
  440. sage/rings/abc.pyx +526 -0
  441. sage/rings/algebraic_closure_finite_field.py +1154 -0
  442. sage/rings/all__sagemath_categories.py +91 -0
  443. sage/rings/big_oh.py +227 -0
  444. sage/rings/continued_fraction.py +2754 -0
  445. sage/rings/continued_fraction_gosper.py +220 -0
  446. sage/rings/factorint.cpython-314t-aarch64-linux-musl.so +0 -0
  447. sage/rings/factorint.pyx +295 -0
  448. sage/rings/fast_arith.cpython-314t-aarch64-linux-musl.so +0 -0
  449. sage/rings/fast_arith.pxd +21 -0
  450. sage/rings/fast_arith.pyx +535 -0
  451. sage/rings/finite_rings/all__sagemath_categories.py +9 -0
  452. sage/rings/finite_rings/conway_polynomials.py +542 -0
  453. sage/rings/finite_rings/element_base.cpython-314t-aarch64-linux-musl.so +0 -0
  454. sage/rings/finite_rings/element_base.pxd +12 -0
  455. sage/rings/finite_rings/element_base.pyx +1176 -0
  456. sage/rings/finite_rings/finite_field_base.cpython-314t-aarch64-linux-musl.so +0 -0
  457. sage/rings/finite_rings/finite_field_base.pxd +7 -0
  458. sage/rings/finite_rings/finite_field_base.pyx +2171 -0
  459. sage/rings/finite_rings/finite_field_constructor.py +827 -0
  460. sage/rings/finite_rings/finite_field_prime_modn.py +372 -0
  461. sage/rings/finite_rings/galois_group.py +154 -0
  462. sage/rings/finite_rings/hom_finite_field.cpython-314t-aarch64-linux-musl.so +0 -0
  463. sage/rings/finite_rings/hom_finite_field.pxd +23 -0
  464. sage/rings/finite_rings/hom_finite_field.pyx +856 -0
  465. sage/rings/finite_rings/hom_prime_finite_field.cpython-314t-aarch64-linux-musl.so +0 -0
  466. sage/rings/finite_rings/hom_prime_finite_field.pxd +15 -0
  467. sage/rings/finite_rings/hom_prime_finite_field.pyx +164 -0
  468. sage/rings/finite_rings/homset.py +357 -0
  469. sage/rings/finite_rings/integer_mod.cpython-314t-aarch64-linux-musl.so +0 -0
  470. sage/rings/finite_rings/integer_mod.pxd +56 -0
  471. sage/rings/finite_rings/integer_mod.pyx +4586 -0
  472. sage/rings/finite_rings/integer_mod_limits.h +11 -0
  473. sage/rings/finite_rings/integer_mod_ring.py +2044 -0
  474. sage/rings/finite_rings/residue_field.cpython-314t-aarch64-linux-musl.so +0 -0
  475. sage/rings/finite_rings/residue_field.pxd +30 -0
  476. sage/rings/finite_rings/residue_field.pyx +1811 -0
  477. sage/rings/finite_rings/stdint.pxd +19 -0
  478. sage/rings/fraction_field.py +1452 -0
  479. sage/rings/fraction_field_element.cpython-314t-aarch64-linux-musl.so +0 -0
  480. sage/rings/fraction_field_element.pyx +1357 -0
  481. sage/rings/function_field/all.py +7 -0
  482. sage/rings/function_field/all__sagemath_categories.py +2 -0
  483. sage/rings/function_field/constructor.py +218 -0
  484. sage/rings/function_field/element.cpython-314t-aarch64-linux-musl.so +0 -0
  485. sage/rings/function_field/element.pxd +11 -0
  486. sage/rings/function_field/element.pyx +1008 -0
  487. sage/rings/function_field/element_rational.cpython-314t-aarch64-linux-musl.so +0 -0
  488. sage/rings/function_field/element_rational.pyx +513 -0
  489. sage/rings/function_field/extensions.py +230 -0
  490. sage/rings/function_field/function_field.py +1468 -0
  491. sage/rings/function_field/function_field_rational.py +1005 -0
  492. sage/rings/function_field/ideal.py +1155 -0
  493. sage/rings/function_field/ideal_rational.py +629 -0
  494. sage/rings/function_field/jacobian_base.py +826 -0
  495. sage/rings/function_field/jacobian_hess.py +1053 -0
  496. sage/rings/function_field/jacobian_khuri_makdisi.py +1027 -0
  497. sage/rings/function_field/maps.py +1039 -0
  498. sage/rings/function_field/order.py +281 -0
  499. sage/rings/function_field/order_basis.py +586 -0
  500. sage/rings/function_field/order_rational.py +576 -0
  501. sage/rings/function_field/place.py +426 -0
  502. sage/rings/function_field/place_rational.py +181 -0
  503. sage/rings/generic.py +320 -0
  504. sage/rings/homset.py +332 -0
  505. sage/rings/ideal.py +1885 -0
  506. sage/rings/ideal_monoid.py +215 -0
  507. sage/rings/infinity.py +1890 -0
  508. sage/rings/integer.cpython-314t-aarch64-linux-musl.so +0 -0
  509. sage/rings/integer.pxd +45 -0
  510. sage/rings/integer.pyx +7874 -0
  511. sage/rings/integer_ring.cpython-314t-aarch64-linux-musl.so +0 -0
  512. sage/rings/integer_ring.pxd +8 -0
  513. sage/rings/integer_ring.pyx +1693 -0
  514. sage/rings/laurent_series_ring.py +931 -0
  515. sage/rings/laurent_series_ring_element.cpython-314t-aarch64-linux-musl.so +0 -0
  516. sage/rings/laurent_series_ring_element.pxd +11 -0
  517. sage/rings/laurent_series_ring_element.pyx +1927 -0
  518. sage/rings/lazy_series.py +7815 -0
  519. sage/rings/lazy_series_ring.py +4356 -0
  520. sage/rings/localization.py +1043 -0
  521. sage/rings/morphism.cpython-314t-aarch64-linux-musl.so +0 -0
  522. sage/rings/morphism.pxd +39 -0
  523. sage/rings/morphism.pyx +3299 -0
  524. sage/rings/multi_power_series_ring.py +1145 -0
  525. sage/rings/multi_power_series_ring_element.py +2184 -0
  526. sage/rings/noncommutative_ideals.cpython-314t-aarch64-linux-musl.so +0 -0
  527. sage/rings/noncommutative_ideals.pyx +423 -0
  528. sage/rings/number_field/all__sagemath_categories.py +1 -0
  529. sage/rings/number_field/number_field_base.cpython-314t-aarch64-linux-musl.so +0 -0
  530. sage/rings/number_field/number_field_base.pxd +8 -0
  531. sage/rings/number_field/number_field_base.pyx +507 -0
  532. sage/rings/number_field/number_field_element_base.cpython-314t-aarch64-linux-musl.so +0 -0
  533. sage/rings/number_field/number_field_element_base.pxd +6 -0
  534. sage/rings/number_field/number_field_element_base.pyx +36 -0
  535. sage/rings/number_field/number_field_ideal.py +3550 -0
  536. sage/rings/padics/all__sagemath_categories.py +4 -0
  537. sage/rings/padics/local_generic.py +1670 -0
  538. sage/rings/padics/local_generic_element.cpython-314t-aarch64-linux-musl.so +0 -0
  539. sage/rings/padics/local_generic_element.pxd +5 -0
  540. sage/rings/padics/local_generic_element.pyx +1017 -0
  541. sage/rings/padics/misc.py +256 -0
  542. sage/rings/padics/padic_generic.py +1911 -0
  543. sage/rings/padics/pow_computer.cpython-314t-aarch64-linux-musl.so +0 -0
  544. sage/rings/padics/pow_computer.pxd +38 -0
  545. sage/rings/padics/pow_computer.pyx +671 -0
  546. sage/rings/padics/precision_error.py +24 -0
  547. sage/rings/polynomial/all__sagemath_categories.py +25 -0
  548. sage/rings/polynomial/commutative_polynomial.cpython-314t-aarch64-linux-musl.so +0 -0
  549. sage/rings/polynomial/commutative_polynomial.pxd +6 -0
  550. sage/rings/polynomial/commutative_polynomial.pyx +24 -0
  551. sage/rings/polynomial/cyclotomic.cpython-314t-aarch64-linux-musl.so +0 -0
  552. sage/rings/polynomial/cyclotomic.pyx +404 -0
  553. sage/rings/polynomial/flatten.py +711 -0
  554. sage/rings/polynomial/ideal.py +102 -0
  555. sage/rings/polynomial/infinite_polynomial_element.py +1768 -0
  556. sage/rings/polynomial/infinite_polynomial_ring.py +1653 -0
  557. sage/rings/polynomial/laurent_polynomial.cpython-314t-aarch64-linux-musl.so +0 -0
  558. sage/rings/polynomial/laurent_polynomial.pxd +18 -0
  559. sage/rings/polynomial/laurent_polynomial.pyx +2190 -0
  560. sage/rings/polynomial/laurent_polynomial_ideal.py +590 -0
  561. sage/rings/polynomial/laurent_polynomial_ring.py +832 -0
  562. sage/rings/polynomial/laurent_polynomial_ring_base.py +708 -0
  563. sage/rings/polynomial/multi_polynomial.cpython-314t-aarch64-linux-musl.so +0 -0
  564. sage/rings/polynomial/multi_polynomial.pxd +12 -0
  565. sage/rings/polynomial/multi_polynomial.pyx +3082 -0
  566. sage/rings/polynomial/multi_polynomial_element.py +2570 -0
  567. sage/rings/polynomial/multi_polynomial_ideal.py +5771 -0
  568. sage/rings/polynomial/multi_polynomial_ring.py +947 -0
  569. sage/rings/polynomial/multi_polynomial_ring_base.cpython-314t-aarch64-linux-musl.so +0 -0
  570. sage/rings/polynomial/multi_polynomial_ring_base.pxd +15 -0
  571. sage/rings/polynomial/multi_polynomial_ring_base.pyx +1855 -0
  572. sage/rings/polynomial/multi_polynomial_sequence.py +2204 -0
  573. sage/rings/polynomial/polydict.cpython-314t-aarch64-linux-musl.so +0 -0
  574. sage/rings/polynomial/polydict.pxd +45 -0
  575. sage/rings/polynomial/polydict.pyx +2701 -0
  576. sage/rings/polynomial/polynomial_compiled.cpython-314t-aarch64-linux-musl.so +0 -0
  577. sage/rings/polynomial/polynomial_compiled.pxd +59 -0
  578. sage/rings/polynomial/polynomial_compiled.pyx +509 -0
  579. sage/rings/polynomial/polynomial_element.cpython-314t-aarch64-linux-musl.so +0 -0
  580. sage/rings/polynomial/polynomial_element.pxd +64 -0
  581. sage/rings/polynomial/polynomial_element.pyx +13255 -0
  582. sage/rings/polynomial/polynomial_element_generic.py +1637 -0
  583. sage/rings/polynomial/polynomial_fateman.py +97 -0
  584. sage/rings/polynomial/polynomial_quotient_ring.py +2465 -0
  585. sage/rings/polynomial/polynomial_quotient_ring_element.py +779 -0
  586. sage/rings/polynomial/polynomial_ring.py +3784 -0
  587. sage/rings/polynomial/polynomial_ring_constructor.py +1051 -0
  588. sage/rings/polynomial/polynomial_ring_homomorphism.cpython-314t-aarch64-linux-musl.so +0 -0
  589. sage/rings/polynomial/polynomial_ring_homomorphism.pxd +5 -0
  590. sage/rings/polynomial/polynomial_ring_homomorphism.pyx +121 -0
  591. sage/rings/polynomial/polynomial_singular_interface.py +549 -0
  592. sage/rings/polynomial/symmetric_ideal.py +989 -0
  593. sage/rings/polynomial/symmetric_reduction.cpython-314t-aarch64-linux-musl.so +0 -0
  594. sage/rings/polynomial/symmetric_reduction.pxd +8 -0
  595. sage/rings/polynomial/symmetric_reduction.pyx +669 -0
  596. sage/rings/polynomial/term_order.py +2279 -0
  597. sage/rings/polynomial/toy_buchberger.py +449 -0
  598. sage/rings/polynomial/toy_d_basis.py +387 -0
  599. sage/rings/polynomial/toy_variety.py +362 -0
  600. sage/rings/power_series_mpoly.cpython-314t-aarch64-linux-musl.so +0 -0
  601. sage/rings/power_series_mpoly.pxd +9 -0
  602. sage/rings/power_series_mpoly.pyx +161 -0
  603. sage/rings/power_series_poly.cpython-314t-aarch64-linux-musl.so +0 -0
  604. sage/rings/power_series_poly.pxd +10 -0
  605. sage/rings/power_series_poly.pyx +1317 -0
  606. sage/rings/power_series_ring.py +1441 -0
  607. sage/rings/power_series_ring_element.cpython-314t-aarch64-linux-musl.so +0 -0
  608. sage/rings/power_series_ring_element.pxd +12 -0
  609. sage/rings/power_series_ring_element.pyx +3028 -0
  610. sage/rings/puiseux_series_ring.py +487 -0
  611. sage/rings/puiseux_series_ring_element.cpython-314t-aarch64-linux-musl.so +0 -0
  612. sage/rings/puiseux_series_ring_element.pxd +7 -0
  613. sage/rings/puiseux_series_ring_element.pyx +1055 -0
  614. sage/rings/qqbar_decorators.py +167 -0
  615. sage/rings/quotient_ring.py +1598 -0
  616. sage/rings/quotient_ring_element.py +979 -0
  617. sage/rings/rational.cpython-314t-aarch64-linux-musl.so +0 -0
  618. sage/rings/rational.pxd +20 -0
  619. sage/rings/rational.pyx +4284 -0
  620. sage/rings/rational_field.py +1730 -0
  621. sage/rings/real_double.cpython-314t-aarch64-linux-musl.so +0 -0
  622. sage/rings/real_double.pxd +16 -0
  623. sage/rings/real_double.pyx +2218 -0
  624. sage/rings/real_lazy.cpython-314t-aarch64-linux-musl.so +0 -0
  625. sage/rings/real_lazy.pxd +30 -0
  626. sage/rings/real_lazy.pyx +1773 -0
  627. sage/rings/ring.cpython-314t-aarch64-linux-musl.so +0 -0
  628. sage/rings/ring.pxd +30 -0
  629. sage/rings/ring.pyx +850 -0
  630. sage/rings/semirings/all.py +3 -0
  631. sage/rings/semirings/non_negative_integer_semiring.py +107 -0
  632. sage/rings/semirings/tropical_mpolynomial.py +972 -0
  633. sage/rings/semirings/tropical_polynomial.py +997 -0
  634. sage/rings/semirings/tropical_semiring.cpython-314t-aarch64-linux-musl.so +0 -0
  635. sage/rings/semirings/tropical_semiring.pyx +676 -0
  636. sage/rings/semirings/tropical_variety.py +1701 -0
  637. sage/rings/sum_of_squares.cpython-314t-aarch64-linux-musl.so +0 -0
  638. sage/rings/sum_of_squares.pxd +3 -0
  639. sage/rings/sum_of_squares.pyx +336 -0
  640. sage/rings/tests.py +504 -0
  641. sage/schemes/affine/affine_homset.py +508 -0
  642. sage/schemes/affine/affine_morphism.py +1574 -0
  643. sage/schemes/affine/affine_point.py +460 -0
  644. sage/schemes/affine/affine_rational_point.py +308 -0
  645. sage/schemes/affine/affine_space.py +1264 -0
  646. sage/schemes/affine/affine_subscheme.py +592 -0
  647. sage/schemes/affine/all.py +25 -0
  648. sage/schemes/all__sagemath_categories.py +5 -0
  649. sage/schemes/generic/algebraic_scheme.py +2092 -0
  650. sage/schemes/generic/all.py +5 -0
  651. sage/schemes/generic/ambient_space.py +400 -0
  652. sage/schemes/generic/divisor.py +465 -0
  653. sage/schemes/generic/divisor_group.py +313 -0
  654. sage/schemes/generic/glue.py +84 -0
  655. sage/schemes/generic/homset.py +820 -0
  656. sage/schemes/generic/hypersurface.py +234 -0
  657. sage/schemes/generic/morphism.py +2107 -0
  658. sage/schemes/generic/point.py +237 -0
  659. sage/schemes/generic/scheme.py +1190 -0
  660. sage/schemes/generic/spec.py +199 -0
  661. sage/schemes/product_projective/all.py +6 -0
  662. sage/schemes/product_projective/homset.py +236 -0
  663. sage/schemes/product_projective/morphism.py +517 -0
  664. sage/schemes/product_projective/point.py +568 -0
  665. sage/schemes/product_projective/rational_point.py +550 -0
  666. sage/schemes/product_projective/space.py +1301 -0
  667. sage/schemes/product_projective/subscheme.py +466 -0
  668. sage/schemes/projective/all.py +24 -0
  669. sage/schemes/projective/proj_bdd_height.py +453 -0
  670. sage/schemes/projective/projective_homset.py +718 -0
  671. sage/schemes/projective/projective_morphism.py +2792 -0
  672. sage/schemes/projective/projective_point.py +1484 -0
  673. sage/schemes/projective/projective_rational_point.py +569 -0
  674. sage/schemes/projective/projective_space.py +2571 -0
  675. sage/schemes/projective/projective_subscheme.py +1574 -0
  676. sage/sets/all.py +17 -0
  677. sage/sets/cartesian_product.py +376 -0
  678. sage/sets/condition_set.py +525 -0
  679. sage/sets/disjoint_set.cpython-314t-aarch64-linux-musl.so +0 -0
  680. sage/sets/disjoint_set.pxd +36 -0
  681. sage/sets/disjoint_set.pyx +998 -0
  682. sage/sets/disjoint_union_enumerated_sets.py +625 -0
  683. sage/sets/family.cpython-314t-aarch64-linux-musl.so +0 -0
  684. sage/sets/family.pxd +12 -0
  685. sage/sets/family.pyx +1556 -0
  686. sage/sets/finite_enumerated_set.py +406 -0
  687. sage/sets/finite_set_map_cy.cpython-314t-aarch64-linux-musl.so +0 -0
  688. sage/sets/finite_set_map_cy.pxd +34 -0
  689. sage/sets/finite_set_map_cy.pyx +708 -0
  690. sage/sets/finite_set_maps.py +591 -0
  691. sage/sets/image_set.py +448 -0
  692. sage/sets/integer_range.py +829 -0
  693. sage/sets/non_negative_integers.py +241 -0
  694. sage/sets/positive_integers.py +93 -0
  695. sage/sets/primes.py +188 -0
  696. sage/sets/real_set.py +2760 -0
  697. sage/sets/recursively_enumerated_set.cpython-314t-aarch64-linux-musl.so +0 -0
  698. sage/sets/recursively_enumerated_set.pxd +31 -0
  699. sage/sets/recursively_enumerated_set.pyx +2082 -0
  700. sage/sets/set.py +2083 -0
  701. sage/sets/set_from_iterator.py +1021 -0
  702. sage/sets/totally_ordered_finite_set.py +329 -0
  703. sage/symbolic/all__sagemath_categories.py +1 -0
  704. sage/symbolic/function.cpython-314t-aarch64-linux-musl.so +0 -0
  705. sage/symbolic/function.pxd +29 -0
  706. sage/symbolic/function.pyx +1488 -0
  707. sage/symbolic/symbols.py +56 -0
  708. sage/tests/all__sagemath_categories.py +1 -0
  709. sage/tests/cython.cpython-314t-aarch64-linux-musl.so +0 -0
  710. sage/tests/cython.pyx +37 -0
  711. sage/tests/stl_vector.cpython-314t-aarch64-linux-musl.so +0 -0
  712. sage/tests/stl_vector.pyx +171 -0
  713. sage/typeset/all.py +6 -0
  714. sage/typeset/ascii_art.py +295 -0
  715. sage/typeset/character_art.py +789 -0
  716. sage/typeset/character_art_factory.py +572 -0
  717. sage/typeset/symbols.py +334 -0
  718. sage/typeset/unicode_art.py +183 -0
  719. sage/typeset/unicode_characters.py +101 -0
@@ -0,0 +1,216 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ r"""
3
+ CW Complexes
4
+ """
5
+ #*****************************************************************************
6
+ # Copyright (C) 2015 Travis Scrimshaw <tscrim at ucdavis.edu>
7
+ #
8
+ # Distributed under the terms of the GNU General Public License (GPL)
9
+ # http://www.gnu.org/licenses/
10
+ #******************************************************************************
11
+
12
+ from sage.misc.abstract_method import abstract_method
13
+ from sage.misc.cachefunc import cached_method
14
+ from sage.categories.category_singleton import Category_singleton
15
+ from sage.categories.category_with_axiom import CategoryWithAxiom
16
+ from sage.categories.sets_cat import Sets
17
+
18
+
19
+ class CWComplexes(Category_singleton):
20
+ r"""
21
+ The category of CW complexes.
22
+
23
+ A CW complex is a Closure-finite cell complex in the Weak topology.
24
+
25
+ REFERENCES:
26
+
27
+ - :wikipedia:`CW_complex`
28
+
29
+ .. NOTE::
30
+
31
+ The notion of "finite" is that the number of cells is finite.
32
+
33
+ EXAMPLES::
34
+
35
+ sage: from sage.categories.cw_complexes import CWComplexes
36
+ sage: C = CWComplexes(); C
37
+ Category of CW complexes
38
+
39
+ TESTS::
40
+
41
+ sage: TestSuite(C).run()
42
+ """
43
+ @cached_method
44
+ def super_categories(self):
45
+ """
46
+ EXAMPLES::
47
+
48
+ sage: from sage.categories.cw_complexes import CWComplexes
49
+ sage: CWComplexes().super_categories()
50
+ [Category of topological spaces]
51
+ """
52
+ return [Sets().Topological()]
53
+
54
+ def _repr_object_names(self):
55
+ """
56
+ EXAMPLES::
57
+
58
+ sage: from sage.categories.cw_complexes import CWComplexes
59
+ sage: CWComplexes() # indirect doctest
60
+ Category of CW complexes
61
+ """
62
+ return "CW complexes"
63
+
64
+ class SubcategoryMethods:
65
+ @cached_method
66
+ def Connected(self):
67
+ """
68
+ Return the full subcategory of the connected objects of ``self``.
69
+
70
+ EXAMPLES::
71
+
72
+ sage: from sage.categories.cw_complexes import CWComplexes
73
+ sage: CWComplexes().Connected()
74
+ Category of connected CW complexes
75
+
76
+ TESTS::
77
+
78
+ sage: TestSuite(CWComplexes().Connected()).run()
79
+ sage: CWComplexes().Connected.__module__
80
+ 'sage.categories.cw_complexes'
81
+ """
82
+ return self._with_axiom('Connected')
83
+
84
+ @cached_method
85
+ def FiniteDimensional(self):
86
+ """
87
+ Return the full subcategory of the finite dimensional
88
+ objects of ``self``.
89
+
90
+ EXAMPLES::
91
+
92
+ sage: from sage.categories.cw_complexes import CWComplexes
93
+ sage: C = CWComplexes().FiniteDimensional(); C
94
+ Category of finite dimensional CW complexes
95
+
96
+ TESTS::
97
+
98
+ sage: from sage.categories.cw_complexes import CWComplexes
99
+ sage: C = CWComplexes().FiniteDimensional()
100
+ sage: TestSuite(C).run()
101
+ sage: CWComplexes().Connected().FiniteDimensional.__module__
102
+ 'sage.categories.cw_complexes'
103
+ """
104
+ return self._with_axiom('FiniteDimensional')
105
+
106
+ class Connected(CategoryWithAxiom):
107
+ """
108
+ The category of connected CW complexes.
109
+ """
110
+
111
+ class FiniteDimensional(CategoryWithAxiom):
112
+ """
113
+ Category of finite dimensional CW complexes.
114
+ """
115
+
116
+ class Finite(CategoryWithAxiom):
117
+ """
118
+ Category of finite CW complexes.
119
+
120
+ A finite CW complex is a CW complex with a finite number of cells.
121
+ """
122
+ def extra_super_categories(self):
123
+ """
124
+ Return the extra super categories of ``self``.
125
+
126
+ A finite CW complex is a compact finite-dimensional CW complex.
127
+
128
+ EXAMPLES::
129
+
130
+ sage: from sage.categories.cw_complexes import CWComplexes
131
+ sage: C = CWComplexes().Finite()
132
+ sage: C.extra_super_categories()
133
+ [Category of finite dimensional CW complexes,
134
+ Category of compact topological spaces]
135
+ """
136
+ return [CWComplexes().FiniteDimensional(), Sets().Topological().Compact()]
137
+
138
+ class ParentMethods:
139
+ @cached_method
140
+ def dimension(self):
141
+ """
142
+ Return the dimension of ``self``.
143
+
144
+ EXAMPLES::
145
+
146
+ sage: from sage.categories.cw_complexes import CWComplexes
147
+ sage: X = CWComplexes().example()
148
+ sage: X.dimension()
149
+ 2
150
+ """
151
+ C = self.cells()
152
+ return max(c.dimension() for d in C.keys() for c in C[d])
153
+
154
+ def Compact_extra_super_categories(self):
155
+ """
156
+ Return extraneous super categories for ``CWComplexes().Compact()``.
157
+
158
+ A compact CW complex is finite, see Proposition A.1 in [Hat2002]_.
159
+
160
+ .. TODO::
161
+
162
+ Fix the name of finite CW complexes.
163
+
164
+ EXAMPLES::
165
+
166
+ sage: from sage.categories.cw_complexes import CWComplexes
167
+ sage: CWComplexes().Compact() # indirect doctest
168
+ Category of finite finite dimensional CW complexes
169
+ sage: CWComplexes().Compact() is CWComplexes().Finite()
170
+ True
171
+ """
172
+ return (Sets().Finite(),)
173
+
174
+ class ElementMethods:
175
+ @abstract_method
176
+ def dimension(self):
177
+ """
178
+ Return the dimension of ``self``.
179
+
180
+ EXAMPLES::
181
+
182
+ sage: from sage.categories.cw_complexes import CWComplexes
183
+ sage: X = CWComplexes().example()
184
+ sage: X.an_element().dimension()
185
+ 2
186
+ """
187
+
188
+ class ParentMethods:
189
+ @abstract_method
190
+ def dimension(self):
191
+ """
192
+ Return the dimension of ``self``.
193
+
194
+ EXAMPLES::
195
+
196
+ sage: from sage.categories.cw_complexes import CWComplexes
197
+ sage: X = CWComplexes().example()
198
+ sage: X.dimension()
199
+ 2
200
+ """
201
+
202
+ @abstract_method(optional=True)
203
+ def cells(self):
204
+ """
205
+ Return the cells of ``self``.
206
+
207
+ EXAMPLES::
208
+
209
+ sage: from sage.categories.cw_complexes import CWComplexes
210
+ sage: X = CWComplexes().example()
211
+ sage: C = X.cells()
212
+ sage: sorted((d, C[d]) for d in C.keys())
213
+ [(0, (0-cell v,)),
214
+ (1, (0-cell e1, 0-cell e2)),
215
+ (2, (2-cell f,))]
216
+ """
@@ -0,0 +1,137 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ r"""
3
+ Dedekind Domains
4
+ """
5
+ # ****************************************************************************
6
+ # Distributed under the terms of the GNU General Public License (GPL)
7
+ # https://www.gnu.org/licenses/
8
+ # *****************************************************************************
9
+ try:
10
+ from typing import Self # type: ignore (Python >= 3.11)
11
+ except ImportError:
12
+ from typing_extensions import Self # type: ignore (Python 3.10)
13
+
14
+ from sage.categories.category import Category
15
+ from sage.categories.integral_domains import IntegralDomains
16
+
17
+
18
+ class DedekindDomains(Category):
19
+ """
20
+ The category of Dedekind domains.
21
+
22
+ A Dedekind domain is a Noetherian integral domain of Krull
23
+ dimension one that is integrally closed in its field of fractions.
24
+
25
+ EXAMPLES::
26
+
27
+ sage: C = DedekindDomains(); C
28
+ Category of Dedekind domains
29
+ sage: C.super_categories()
30
+ [Category of integral domains]
31
+
32
+ TESTS::
33
+
34
+ sage: TestSuite(C).run()
35
+ """
36
+ def super_categories(self):
37
+ """
38
+ EXAMPLES::
39
+
40
+ sage: DedekindDomains().super_categories()
41
+ [Category of integral domains]
42
+ """
43
+ return [IntegralDomains()]
44
+
45
+ class ParentMethods:
46
+ def krull_dimension(self):
47
+ """
48
+ Return 1 since Dedekind domains have Krull dimension 1.
49
+
50
+ EXAMPLES:
51
+
52
+ The following are examples of Dedekind domains::
53
+
54
+ sage: ZZ.krull_dimension()
55
+ 1
56
+ sage: x = polygen(ZZ, 'x')
57
+ sage: K = NumberField(x^2 + 1, 's') # needs sage.rings.number_field
58
+ sage: OK = K.ring_of_integers() # needs sage.rings.number_field
59
+ sage: OK.krull_dimension() # needs sage.rings.number_field
60
+ 1
61
+ """
62
+ from sage.rings.integer_ring import ZZ
63
+ return ZZ.one()
64
+
65
+ def is_integrally_closed(self) -> bool:
66
+ """
67
+ Return ``True`` since Dedekind domains are integrally closed.
68
+
69
+ EXAMPLES:
70
+
71
+ The following are examples of Dedekind domains::
72
+
73
+ sage: ZZ.is_integrally_closed()
74
+ True
75
+ sage: x = polygen(ZZ, 'x')
76
+ sage: K = NumberField(x^2 + 1, 's') # needs sage.rings.number_field
77
+ sage: OK = K.ring_of_integers() # needs sage.rings.number_field
78
+ sage: OK.is_integrally_closed() # needs sage.rings.number_field
79
+ True
80
+
81
+ These, however, are not Dedekind domains::
82
+
83
+ sage: QQ.is_integrally_closed()
84
+ True
85
+ sage: S = ZZ[sqrt(5)]; S.is_integrally_closed() # needs fpylll sage.rings.number_field sage.symbolic
86
+ False
87
+ sage: T.<x,y> = PolynomialRing(QQ, 2); T
88
+ Multivariate Polynomial Ring in x, y over Rational Field
89
+ sage: T.is_integral_domain()
90
+ True
91
+ """
92
+ return True
93
+
94
+ def integral_closure(self) -> Self:
95
+ r"""
96
+ Return ``self`` since Dedekind domains are integrally closed.
97
+
98
+ EXAMPLES::
99
+
100
+ sage: # needs sage.rings.number_field
101
+ sage: x = polygen(ZZ, 'x')
102
+ sage: K = NumberField(x^2 + 1, 's')
103
+ sage: OK = K.ring_of_integers()
104
+ sage: OK.integral_closure()
105
+ Gaussian Integers generated by s in Number Field in s
106
+ with defining polynomial x^2 + 1
107
+ sage: OK.integral_closure() == OK
108
+ True
109
+
110
+ sage: QQ.integral_closure() == QQ
111
+ True
112
+ """
113
+ return self
114
+
115
+ def is_noetherian(self) -> bool:
116
+ r"""
117
+ Return ``True`` since Dedekind domains are Noetherian.
118
+
119
+ EXAMPLES:
120
+
121
+ The integers, `\ZZ`, and rings of integers of number
122
+ fields are Dedekind domains::
123
+
124
+ sage: ZZ.is_noetherian()
125
+ True
126
+ sage: x = polygen(ZZ, 'x')
127
+ sage: K = NumberField(x^2 + 1, 's') # needs sage.rings.number_field
128
+ sage: OK = K.ring_of_integers() # needs sage.rings.number_field
129
+ sage: OK.is_noetherian() # needs sage.rings.number_field
130
+ True
131
+ sage: QQ.is_noetherian()
132
+ True
133
+ """
134
+ return True
135
+
136
+ class ElementMethods:
137
+ pass
@@ -0,0 +1,325 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ r"""
3
+ Discrete Valuation Rings (DVR) and Fields (DVF)
4
+ """
5
+ #**************************************************************************
6
+ # Copyright (C) 2013 Xavier Caruso <xavier.caruso@normalesup.org>
7
+ #
8
+ # Distributed under the terms of the GNU General Public License (GPL)
9
+ # http://www.gnu.org/licenses/
10
+ #**************************************************************************
11
+
12
+
13
+ from sage.misc.abstract_method import abstract_method
14
+ from sage.categories.category_singleton import Category_singleton
15
+ from sage.categories.euclidean_domains import EuclideanDomains
16
+ from sage.categories.fields import Fields
17
+
18
+
19
+ class DiscreteValuationRings(Category_singleton):
20
+ """
21
+ The category of discrete valuation rings.
22
+
23
+ EXAMPLES::
24
+
25
+ sage: GF(7)[['x']] in DiscreteValuationRings()
26
+ True
27
+ sage: TestSuite(DiscreteValuationRings()).run()
28
+ """
29
+ def super_categories(self):
30
+ """
31
+ EXAMPLES::
32
+
33
+ sage: DiscreteValuationRings().super_categories()
34
+ [Category of euclidean domains]
35
+ """
36
+ return [EuclideanDomains()]
37
+
38
+ class ParentMethods:
39
+ @abstract_method
40
+ def uniformizer(self):
41
+ """
42
+ Return a uniformizer of this ring.
43
+
44
+ EXAMPLES::
45
+
46
+ sage: Zp(5).uniformizer() # needs sage.rings.padics
47
+ 5 + O(5^21)
48
+
49
+ sage: K.<u> = QQ[[]]
50
+ sage: K.uniformizer()
51
+ u
52
+ """
53
+
54
+ @abstract_method
55
+ def residue_field(self):
56
+ """
57
+ Return the residue field of this ring.
58
+
59
+ EXAMPLES::
60
+
61
+ sage: Zp(5).residue_field() # needs sage.rings.padics
62
+ Finite Field of size 5
63
+
64
+ sage: K.<u> = QQ[[]]
65
+ sage: K.residue_field()
66
+ Rational Field
67
+ """
68
+
69
+ def _matrix_charpoly(self, M, var):
70
+ r"""
71
+ Return the characteristic polynomial of `M`.
72
+
73
+ EXAMPLES::
74
+
75
+ sage: # needs sage.modules
76
+ sage: R.<t> = PowerSeriesRing(GF(5))
77
+ sage: M = matrix(4, 4, [(t^(i+j)).add_bigoh(10)
78
+ ....: for i in range(4) for j in range(4)])
79
+ sage: M
80
+ [ 1 + O(t^10) t + O(t^10) t^2 + O(t^10) t^3 + O(t^10)]
81
+ [ t + O(t^10) t^2 + O(t^10) t^3 + O(t^10) t^4 + O(t^10)]
82
+ [t^2 + O(t^10) t^3 + O(t^10) t^4 + O(t^10) t^5 + O(t^10)]
83
+ [t^3 + O(t^10) t^4 + O(t^10) t^5 + O(t^10) t^6 + O(t^10)]
84
+ sage: M.charpoly() # indirect doctest
85
+ x^4 + (4 + 4*t^2 + 4*t^4 + 4*t^6 + O(t^10))*x^3
86
+
87
+ Note that this function uses a Hessenberg-like algorithm
88
+ that performs divisions. Hence, truncations may show up
89
+ even if the input matrix is exact::
90
+
91
+ sage: # needs sage.modules
92
+ sage: M = matrix(3, 3, [ 1, t, t^2, 1+t, t^2, t^3, t^2, t^3, t^4 ])
93
+ sage: M
94
+ [ 1 t t^2]
95
+ [1 + t t^2 t^3]
96
+ [ t^2 t^3 t^4]
97
+ sage: M.charpoly()
98
+ x^3 + (4 + 4*t^2 + 4*t^4 + O(t^25))*x^2 + (4*t + O(t^24))*x
99
+
100
+ Another example over the `p`-adics::
101
+
102
+ sage: # needs sage.modules sage.rings.padics
103
+ sage: R = Zp(5, print_mode='digits', prec=5)
104
+ sage: M = matrix(R, 3, 3, range(9))
105
+ sage: M
106
+ [ 0 ...00001 ...00002]
107
+ [ ...00003 ...00004 ...000010]
108
+ [ ...00011 ...00012 ...00013]
109
+ sage: M.charpoly()
110
+ ...00001*x^3 + ...44423*x^2 + ...44412*x + ...00000
111
+ """
112
+ return M._charpoly_hessenberg(var)
113
+
114
+ class ElementMethods:
115
+ @abstract_method
116
+ def valuation(self):
117
+ """
118
+ Return the valuation of this element.
119
+
120
+ EXAMPLES::
121
+
122
+ sage: # needs sage.rings.padics
123
+ sage: x = Zp(5)(50)
124
+ sage: x.valuation()
125
+ 2
126
+ """
127
+
128
+ def euclidean_degree(self):
129
+ """
130
+ Return the Euclidean degree of this element.
131
+
132
+ TESTS::
133
+
134
+ sage: R.<q> = GF(5)[[]]
135
+ sage: (q^3).euclidean_degree()
136
+ 3
137
+ sage: R(0).euclidean_degree()
138
+ Traceback (most recent call last):
139
+ ...
140
+ ValueError: Euclidean degree of the zero element not defined
141
+ """
142
+ if not self:
143
+ raise ValueError("Euclidean degree of the zero element not defined")
144
+ return self.valuation()
145
+
146
+ def quo_rem(self, other):
147
+ """
148
+ Return the quotient and remainder for Euclidean division
149
+ of ``self`` by ``other``.
150
+
151
+ EXAMPLES::
152
+
153
+ sage: R.<q> = GF(5)[[]]
154
+ sage: (q^2 + q).quo_rem(q)
155
+ (1 + q, 0)
156
+ sage: (q + 1).quo_rem(q^2)
157
+ (0, 1 + q)
158
+
159
+ TESTS::
160
+
161
+ sage: q.quo_rem(0)
162
+ Traceback (most recent call last):
163
+ ...
164
+ ZeroDivisionError: Euclidean division by the zero element not defined
165
+
166
+ sage: L = PowerSeriesRing(QQ, 't')
167
+ sage: t = L.gen()
168
+ sage: F = algebras.Free(L, ['A', 'B']) # needs sage.combinat sage.modules
169
+ sage: A, B = F.gens() # needs sage.combinat sage.modules
170
+ sage: f = t*A + t**2*B/2 # needs sage.combinat sage.modules
171
+ """
172
+ if not other:
173
+ raise ZeroDivisionError("Euclidean division by the zero element not defined")
174
+ P = self.parent()
175
+ other = P(other)
176
+ if self.valuation() >= other.valuation():
177
+ return P(self / other), P.zero()
178
+ else:
179
+ return P.zero(), self
180
+
181
+ def is_unit(self):
182
+ """
183
+ Return ``True`` if ``self`` is invertible.
184
+
185
+ EXAMPLES::
186
+
187
+ sage: # needs sage.rings.padics
188
+ sage: x = Zp(5)(50)
189
+ sage: x.is_unit()
190
+ False
191
+
192
+ sage: # needs sage.rings.padics
193
+ sage: x = Zp(7)(50)
194
+ sage: x.is_unit()
195
+ True
196
+ """
197
+ return self.valuation() == 0
198
+
199
+ def gcd(self, other):
200
+ """
201
+ Return the greatest common divisor of ``self`` and ``other``,
202
+ normalized so that it is a power of the distinguished
203
+ uniformizer.
204
+ """
205
+ from sage.rings.infinity import Infinity
206
+ val = min(self.valuation(), other.valuation())
207
+ if val is Infinity:
208
+ return self.parent()(0)
209
+ else:
210
+ return self.parent().uniformizer() ** val
211
+
212
+ def lcm(self, other):
213
+ """
214
+ Return the least common multiple of ``self`` and ``other``,
215
+ normalized so that it is a power of the distinguished
216
+ uniformizer.
217
+ """
218
+ from sage.rings.infinity import Infinity
219
+ val = max(self.valuation(), other.valuation())
220
+ if val is Infinity:
221
+ return self.parent()(0)
222
+ else:
223
+ return self.parent().uniformizer() ** val
224
+
225
+
226
+ class DiscreteValuationFields(Category_singleton):
227
+ """
228
+ The category of discrete valuation fields.
229
+
230
+ EXAMPLES::
231
+
232
+ sage: Qp(7) in DiscreteValuationFields() # needs sage.rings.padics
233
+ True
234
+ sage: TestSuite(DiscreteValuationFields()).run()
235
+ """
236
+
237
+ def super_categories(self):
238
+ """
239
+ EXAMPLES::
240
+
241
+ sage: DiscreteValuationFields().super_categories()
242
+ [Category of fields]
243
+ """
244
+ return [Fields()]
245
+
246
+ class ParentMethods:
247
+ @abstract_method
248
+ def uniformizer(self):
249
+ """
250
+ Return a uniformizer of this ring.
251
+
252
+ EXAMPLES::
253
+
254
+ sage: Qp(5).uniformizer() # needs sage.rings.padics
255
+ 5 + O(5^21)
256
+ """
257
+
258
+ @abstract_method
259
+ def residue_field(self):
260
+ """
261
+ Return the residue field of the ring of integers of
262
+ this discrete valuation field.
263
+
264
+ EXAMPLES::
265
+
266
+ sage: Qp(5).residue_field() # needs sage.rings.padics
267
+ Finite Field of size 5
268
+
269
+ sage: K.<u> = LaurentSeriesRing(QQ)
270
+ sage: K.residue_field()
271
+ Rational Field
272
+ """
273
+
274
+ def _matrix_hessenbergize(self, H):
275
+ r"""
276
+ Replace `H` with a Hessenberg form of it.
277
+
278
+ EXAMPLES::
279
+
280
+ sage: # needs sage.modules
281
+ sage: R.<t> = PowerSeriesRing(GF(5))
282
+ sage: K = R.fraction_field()
283
+ sage: H = matrix(K, 4, 4, [(t^(i+j)).add_bigoh(10)
284
+ ....: for i in range(4) for j in range(4)])
285
+ sage: H
286
+ [ 1 + O(t^10) t + O(t^10) t^2 + O(t^10) t^3 + O(t^10)]
287
+ [ t + O(t^10) t^2 + O(t^10) t^3 + O(t^10) t^4 + O(t^10)]
288
+ [t^2 + O(t^10) t^3 + O(t^10) t^4 + O(t^10) t^5 + O(t^10)]
289
+ [t^3 + O(t^10) t^4 + O(t^10) t^5 + O(t^10) t^6 + O(t^10)]
290
+ sage: H.hessenbergize()
291
+ sage: H
292
+ [ 1 + O(t^10) t + t^3 + t^5 + O(t^10) t^2 + O(t^10) t^3 + O(t^10)]
293
+ [ t + O(t^10) t^2 + t^4 + t^6 + O(t^10) t^3 + O(t^10) t^4 + O(t^10)]
294
+ [ O(t^10) O(t^10) O(t^10) O(t^10)]
295
+ [ O(t^10) O(t^10) O(t^10) O(t^10)]
296
+
297
+ Another example over the `p`-adics::
298
+
299
+ sage: # needs sage.modules sage.rings.padics
300
+ sage: K = Qp(5, print_mode='digits', prec=5)
301
+ sage: H = matrix(K, 3, 3, range(9)); H
302
+ [ 0 ...00001 ...00002]
303
+ [ ...00003 ...00004 ...000010]
304
+ [ ...00011 ...00012 ...00013]
305
+ sage: H.hessenbergize(); H
306
+ [ 0 ...00010 ...00002]
307
+ [ ...00003 ...00024 ...000010]
308
+ [ ...00000 ...44440 ...44443]
309
+ """
310
+ from sage.matrix.matrix_cdv import hessenbergize_cdvf
311
+ hessenbergize_cdvf(H)
312
+
313
+ class ElementMethods:
314
+ @abstract_method
315
+ def valuation(self):
316
+ """
317
+ Return the valuation of this element.
318
+
319
+ EXAMPLES::
320
+
321
+ sage: # needs sage.rings.padics
322
+ sage: x = Qp(5)(50)
323
+ sage: x.valuation()
324
+ 2
325
+ """