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,168 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ # sage.doctest: needs sage.combinat
3
+ r"""
4
+ Examples of graded modules with basis
5
+ """
6
+ # ****************************************************************************
7
+ # Copyright (C) 2013 Frédéric Chapoton <fchapoton2@gmail.com>
8
+ #
9
+ # Distributed under the terms of the GNU General Public License (GPL)
10
+ # https://www.gnu.org/licenses/
11
+ # ****************************************************************************
12
+
13
+ from sage.categories.graded_modules_with_basis import GradedModulesWithBasis
14
+ from sage.categories.filtered_modules_with_basis import FilteredModulesWithBasis
15
+ from sage.combinat.free_module import CombinatorialFreeModule
16
+ from sage.combinat.partition import Partitions
17
+
18
+
19
+ class GradedPartitionModule(CombinatorialFreeModule):
20
+ r"""
21
+ This class illustrates an implementation of a graded module
22
+ with basis: the free module over partitions.
23
+
24
+ INPUT:
25
+
26
+ - ``R`` -- base ring
27
+
28
+ The implementation involves the following:
29
+
30
+ - A choice of how to represent elements. In this case, the basis
31
+ elements are partitions. The algebra is constructed as a
32
+ :class:`CombinatorialFreeModule
33
+ <sage.combinat.free_module.CombinatorialFreeModule>` on the
34
+ set of partitions, so it inherits all of the methods for such
35
+ objects, and has operations like addition already defined.
36
+
37
+ ::
38
+
39
+ sage: A = GradedModulesWithBasis(QQ).example() # needs sage.modules
40
+
41
+ - A basis function - this module is graded by the nonnegative
42
+ integers, so there is a function defined in this module,
43
+ creatively called :func:`basis`, which takes an integer
44
+ `d` as input and returns a family of partitions representing a basis
45
+ for the algebra in degree `d`.
46
+
47
+ ::
48
+
49
+ sage: A.basis(2) # needs sage.modules
50
+ Lazy family (Term map from Partitions to An example of a graded module with basis: the free module on partitions over Rational Field(i))_{i in Partitions of the integer 2}
51
+ sage: A.basis(6)[Partition([3,2,1])] # needs sage.modules
52
+ P[3, 2, 1]
53
+
54
+ - If the algebra is called ``A``, then its basis function is
55
+ stored as ``A.basis``. Thus the function can be used to
56
+ find a basis for the degree `d` piece: essentially, just call
57
+ ``A.basis(d)``. More precisely, call ``x`` for
58
+ each ``x`` in ``A.basis(d)``.
59
+
60
+ ::
61
+
62
+ sage: [m for m in A.basis(4)] # needs sage.modules
63
+ [P[4], P[3, 1], P[2, 2], P[2, 1, 1], P[1, 1, 1, 1]]
64
+
65
+ - For dealing with basis elements: :meth:`degree_on_basis`, and
66
+ :meth:`_repr_term`. The first of these defines the degree of any
67
+ monomial, and then the :meth:`degree
68
+ <GradedModules.Element.degree>` method for elements --
69
+ see the next item -- uses it to compute the degree for a linear
70
+ combination of monomials. The last of these determines the
71
+ print representation for monomials, which automatically produces
72
+ the print representation for general elements.
73
+
74
+ ::
75
+
76
+ sage: A.degree_on_basis(Partition([4,3])) # needs sage.modules
77
+ 7
78
+ sage: A._repr_term(Partition([4,3])) # needs sage.modules
79
+ 'P[4, 3]'
80
+
81
+ - There is a class for elements, which inherits from
82
+ :class:`IndexedFreeModuleElement
83
+ <sage.modules.with_basis.indexed_element.IndexedFreeModuleElement>`.
84
+ An element is determined by a dictionary whose keys are partitions and
85
+ whose corresponding values are the coefficients. The class implements
86
+ two things: an :meth:`is_homogeneous
87
+ <GradedModules.Element.is_homogeneous>` method and a
88
+ :meth:`degree <GradedModules.Element.degree>` method.
89
+
90
+ ::
91
+
92
+ sage: p = A.monomial(Partition([3,2,1])); p # needs sage.modules
93
+ P[3, 2, 1]
94
+ sage: p.is_homogeneous() # needs sage.modules
95
+ True
96
+ sage: p.degree() # needs sage.modules
97
+ 6
98
+ """
99
+ def __init__(self, base_ring):
100
+ """
101
+ EXAMPLES::
102
+
103
+ sage: A = GradedModulesWithBasis(QQ).example(); A # needs sage.modules
104
+ An example of a graded module with basis: the free module on partitions over Rational Field
105
+ sage: TestSuite(A).run() # needs sage.modules
106
+ """
107
+ CombinatorialFreeModule.__init__(self, base_ring, Partitions(),
108
+ category=GradedModulesWithBasis(base_ring))
109
+
110
+ # FIXME: this is currently required, because the implementation of ``basis``
111
+ # in CombinatorialFreeModule overrides that of GradedModulesWithBasis
112
+ basis = FilteredModulesWithBasis.ParentMethods.__dict__['basis']
113
+
114
+ # This could be a default implementation
115
+ def degree_on_basis(self, t):
116
+ """
117
+ The degree of the element determined by the partition ``t`` in
118
+ this graded module.
119
+
120
+ INPUT:
121
+
122
+ - ``t`` -- the index of an element of the basis of this module,
123
+ i.e. a partition
124
+
125
+ OUTPUT: integer, the degree of the corresponding basis element
126
+
127
+ EXAMPLES::
128
+
129
+ sage: # needs sage.modules
130
+ sage: A = GradedModulesWithBasis(QQ).example()
131
+ sage: A.degree_on_basis(Partition((2,1)))
132
+ 3
133
+ sage: A.degree_on_basis(Partition((4,2,1,1,1,1)))
134
+ 10
135
+ sage: type(A.degree_on_basis(Partition((1,1))))
136
+ <class 'sage.rings.integer.Integer'>
137
+ """
138
+ return t.size()
139
+
140
+ def _repr_(self):
141
+ """
142
+ Print representation.
143
+
144
+ EXAMPLES::
145
+
146
+ sage: GradedModulesWithBasis(QQ).example() # indirect doctest # needs sage.modules
147
+ An example of a graded module with basis: the free module on partitions over Rational Field
148
+ """
149
+ return "An example of a graded module with basis: the free module on partitions over %s" % self.base_ring()
150
+
151
+ def _repr_term(self, t):
152
+ """
153
+ Print representation for the basis element represented by the
154
+ partition ``t``.
155
+
156
+ This governs the behavior of the print representation of all elements
157
+ of the algebra.
158
+
159
+ EXAMPLES::
160
+
161
+ sage: A = GradedModulesWithBasis(QQ).example() # needs sage.modules
162
+ sage: A._repr_term(Partition((4,2,1))) # needs sage.modules
163
+ 'P[4, 2, 1]'
164
+ """
165
+ return 'P' + t._repr_()
166
+
167
+
168
+ Example = GradedPartitionModule
@@ -0,0 +1,122 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ """
3
+ Examples of graphs
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
+ # https://www.gnu.org/licenses/
10
+ # *****************************************************************************
11
+ from sage.structure.parent import Parent
12
+ from sage.structure.unique_representation import UniqueRepresentation
13
+ from sage.structure.element_wrapper import ElementWrapper
14
+ from sage.categories.graphs import Graphs
15
+
16
+
17
+ class Cycle(UniqueRepresentation, Parent):
18
+ r"""
19
+ An example of a graph: the cycle of length `n`.
20
+
21
+ This class illustrates a minimal implementation of a graph.
22
+
23
+ EXAMPLES::
24
+
25
+ sage: from sage.categories.graphs import Graphs
26
+ sage: C = Graphs().example(); C
27
+ An example of a graph: the 5-cycle
28
+
29
+ sage: C.category()
30
+ Category of graphs
31
+
32
+ We conclude by running systematic tests on this graph::
33
+
34
+ sage: TestSuite(C).run()
35
+ """
36
+ def __init__(self, n=5):
37
+ r"""
38
+ EXAMPLES::
39
+
40
+ sage: from sage.categories.graphs import Graphs
41
+ sage: C = Graphs().example(6); C
42
+ An example of a graph: the 6-cycle
43
+
44
+ TESTS::
45
+
46
+ sage: TestSuite(C).run()
47
+ """
48
+ self._n = n
49
+ Parent.__init__(self, category=Graphs())
50
+
51
+ def _repr_(self):
52
+ r"""
53
+ TESTS::
54
+
55
+ sage: from sage.categories.graphs import Graphs
56
+ sage: Graphs().example()
57
+ An example of a graph: the 5-cycle
58
+ """
59
+ return "An example of a graph: the {}-cycle".format(self._n)
60
+
61
+ def an_element(self):
62
+ r"""
63
+ Return an element of the graph, as per
64
+ :meth:`Sets.ParentMethods.an_element`.
65
+
66
+ EXAMPLES::
67
+
68
+ sage: from sage.categories.graphs import Graphs
69
+ sage: C = Graphs().example()
70
+ sage: C.an_element()
71
+ 0
72
+ """
73
+ return self(0)
74
+
75
+ def vertices(self):
76
+ """
77
+ Return the vertices of ``self``.
78
+
79
+ EXAMPLES::
80
+
81
+ sage: from sage.categories.graphs import Graphs
82
+ sage: C = Graphs().example()
83
+ sage: C.vertices()
84
+ [0, 1, 2, 3, 4]
85
+ """
86
+ return [self(i) for i in range(self._n)]
87
+
88
+ def edges(self):
89
+ """
90
+ Return the edges of ``self``.
91
+
92
+ EXAMPLES::
93
+
94
+ sage: from sage.categories.graphs import Graphs
95
+ sage: C = Graphs().example()
96
+ sage: C.edges()
97
+ [(0, 1), (1, 2), (2, 3), (3, 4), (4, 0)]
98
+ """
99
+ return [self( (i, (i+1) % self._n) ) for i in range(self._n)]
100
+
101
+ class Element(ElementWrapper):
102
+ def dimension(self):
103
+ """
104
+ Return the dimension of ``self``.
105
+
106
+ EXAMPLES::
107
+
108
+ sage: from sage.categories.graphs import Graphs
109
+ sage: C = Graphs().example()
110
+ sage: e = C.edges()[0]
111
+ sage: e.dimension()
112
+ 2
113
+ sage: v = C.vertices()[0]
114
+ sage: v.dimension()
115
+ 1
116
+ """
117
+ if isinstance(self.value, tuple):
118
+ return 2
119
+ return 1
120
+
121
+
122
+ Example = Cycle
@@ -0,0 +1,145 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ # sage.doctest: needs sage.groups sage.modules
3
+ r"""
4
+ Examples of Hopf algebras with basis
5
+ """
6
+ #*****************************************************************************
7
+ # Copyright (C) 2008-2009 Nicolas M. Thiery <nthiery at users.sf.net>
8
+ #
9
+ # Distributed under the terms of the GNU General Public License (GPL)
10
+ # http://www.gnu.org/licenses/
11
+ #******************************************************************************
12
+
13
+ from sage.misc.cachefunc import cached_method
14
+ from sage.sets.family import Family
15
+ from sage.categories.hopf_algebras_with_basis import HopfAlgebrasWithBasis
16
+ from sage.combinat.free_module import CombinatorialFreeModule
17
+ from sage.categories.tensor import tensor
18
+
19
+
20
+ class MyGroupAlgebra(CombinatorialFreeModule):
21
+ r"""
22
+ An example of a Hopf algebra with basis: the group algebra of a group.
23
+
24
+ This class illustrates a minimal implementation of a Hopf algebra with basis.
25
+ """
26
+
27
+ def __init__(self, R, G):
28
+ """
29
+ EXAMPLES::
30
+
31
+ sage: from sage.categories.examples.hopf_algebras_with_basis import MyGroupAlgebra
32
+ sage: A = MyGroupAlgebra(QQ, DihedralGroup(6))
33
+ sage: A.category()
34
+ Category of finite dimensional Hopf algebras with basis over Rational Field
35
+ sage: TestSuite(A).run()
36
+ """
37
+ self._group = G
38
+ CombinatorialFreeModule.__init__(self, R, G,
39
+ category=HopfAlgebrasWithBasis(R))
40
+
41
+ def _repr_(self):
42
+ """
43
+ EXAMPLES::
44
+
45
+ sage: HopfAlgebrasWithBasis(QQ).example() # indirect doctest
46
+ An example of Hopf algebra with basis: the group algebra of the Dihedral group of order 6 as a permutation group over Rational Field
47
+ """
48
+ return "An example of Hopf algebra with basis: the group algebra of the %s over %s" % (self._group, self.base_ring())
49
+
50
+ @cached_method
51
+ def one_basis(self):
52
+ """
53
+ Return the one of the group, which index the one of this algebra,
54
+ as per :meth:`AlgebrasWithBasis.ParentMethods.one_basis`.
55
+
56
+ EXAMPLES::
57
+
58
+ sage: A = HopfAlgebrasWithBasis(QQ).example()
59
+ sage: A.one_basis()
60
+ ()
61
+ sage: A.one()
62
+ B[()]
63
+ """
64
+ return self._group.one()
65
+
66
+ def product_on_basis(self, g1, g2):
67
+ r"""
68
+ Product, on basis elements, as per
69
+ :meth:`AlgebrasWithBasis.ParentMethods.product_on_basis`.
70
+
71
+ The product of two basis elements is induced by the product of
72
+ the corresponding elements of the group.
73
+
74
+ EXAMPLES::
75
+
76
+ sage: A = HopfAlgebrasWithBasis(QQ).example()
77
+ sage: (a, b) = A._group.gens()
78
+ sage: a*b
79
+ (1,2)
80
+ sage: A.product_on_basis(a, b)
81
+ B[(1,2)]
82
+ """
83
+ return self.basis()[g1 * g2]
84
+
85
+ @cached_method
86
+ def algebra_generators(self):
87
+ r"""
88
+ Return the generators of this algebra, as per :meth:`~.magmatic_algebras.MagmaticAlgebras.ParentMethods.algebra_generators`.
89
+
90
+ They correspond to the generators of the group.
91
+
92
+ EXAMPLES::
93
+
94
+ sage: A = HopfAlgebrasWithBasis(QQ).example(); A
95
+ An example of Hopf algebra with basis: the group algebra of the Dihedral group of order 6 as a permutation group over Rational Field
96
+ sage: A.algebra_generators()
97
+ Finite family {(1,2,3): B[(1,2,3)], (1,3): B[(1,3)]}
98
+ """
99
+ return Family(self._group.gens(), self.monomial)
100
+
101
+ def coproduct_on_basis(self, g):
102
+ r"""
103
+ Coproduct, on basis elements, as per :meth:`HopfAlgebrasWithBasis.ParentMethods.coproduct_on_basis`.
104
+
105
+ The basis elements are group like: `\Delta(g) = g \otimes g`.
106
+
107
+ EXAMPLES::
108
+
109
+ sage: A = HopfAlgebrasWithBasis(QQ).example()
110
+ sage: (a, b) = A._group.gens()
111
+ sage: A.coproduct_on_basis(a)
112
+ B[(1,2,3)] # B[(1,2,3)]
113
+ """
114
+ g = self.monomial(g)
115
+ return tensor([g, g])
116
+
117
+ def counit_on_basis(self, g):
118
+ r"""
119
+ Counit, on basis elements, as per :meth:`HopfAlgebrasWithBasis.ParentMethods.counit_on_basis`.
120
+
121
+ The counit on the basis elements is 1.
122
+
123
+ EXAMPLES::
124
+
125
+ sage: A = HopfAlgebrasWithBasis(QQ).example()
126
+ sage: (a, b) = A._group.gens()
127
+ sage: A.counit_on_basis(a)
128
+ 1
129
+ """
130
+ return self.base_ring().one()
131
+
132
+ def antipode_on_basis(self, g):
133
+ r"""
134
+ Antipode, on basis elements, as per :meth:`HopfAlgebrasWithBasis.ParentMethods.antipode_on_basis`.
135
+
136
+ It is given, on basis elements, by `\nu(g) = g^{-1}`
137
+
138
+ EXAMPLES::
139
+
140
+ sage: A = HopfAlgebrasWithBasis(QQ).example()
141
+ sage: (a, b) = A._group.gens()
142
+ sage: A.antipode_on_basis(a)
143
+ B[(1,3,2)]
144
+ """
145
+ return self.monomial(~g)
@@ -0,0 +1,190 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ """
3
+ Examples of infinite enumerated sets
4
+ """
5
+ # ****************************************************************************
6
+ # Copyright (C) 2009 Florent Hivert <Florent.Hivert@univ-rouen.fr>
7
+ #
8
+ # Distributed under the terms of the GNU General Public License (GPL)
9
+ # https://www.gnu.org/licenses/
10
+ # ****************************************************************************
11
+
12
+ from sage.structure.parent import Parent
13
+ from sage.categories.infinite_enumerated_sets import InfiniteEnumeratedSets
14
+ from sage.structure.unique_representation import UniqueRepresentation
15
+ from sage.rings.integer import Integer
16
+
17
+
18
+ class NonNegativeIntegers(UniqueRepresentation, Parent):
19
+ r"""
20
+ An example of infinite enumerated set: the nonnegative integers.
21
+
22
+ This class provides a minimal implementation of an infinite enumerated set.
23
+
24
+ EXAMPLES::
25
+
26
+ sage: NN = InfiniteEnumeratedSets().example()
27
+ sage: NN
28
+ An example of an infinite enumerated set: the nonnegative integers
29
+ sage: NN.cardinality()
30
+ +Infinity
31
+ sage: NN.list()
32
+ Traceback (most recent call last):
33
+ ...
34
+ NotImplementedError: cannot list an infinite set
35
+ sage: NN.element_class
36
+ <class 'sage.rings.integer.Integer'>
37
+ sage: it = iter(NN)
38
+ sage: [next(it), next(it), next(it), next(it), next(it)]
39
+ [0, 1, 2, 3, 4]
40
+ sage: x = next(it); type(x)
41
+ <class 'sage.rings.integer.Integer'>
42
+ sage: x.parent()
43
+ Integer Ring
44
+ sage: x+3
45
+ 8
46
+ sage: NN(15)
47
+ 15
48
+ sage: NN.first()
49
+ 0
50
+
51
+ This checks that the different methods of `NN` return consistent
52
+ results::
53
+
54
+ sage: TestSuite(NN).run(verbose = True)
55
+ running ._test_an_element() . . . pass
56
+ running ._test_cardinality() . . . pass
57
+ running ._test_category() . . . pass
58
+ running ._test_construction() . . . pass
59
+ running ._test_elements() . . .
60
+ Running the test suite of self.an_element()
61
+ running ._test_category() . . . pass
62
+ running ._test_eq() . . . pass
63
+ running ._test_new() . . . pass
64
+ running ._test_nonzero_equal() . . . pass
65
+ running ._test_not_implemented_methods() . . . pass
66
+ running ._test_pickling() . . . pass
67
+ pass
68
+ running ._test_elements_eq_reflexive() . . . pass
69
+ running ._test_elements_eq_symmetric() . . . pass
70
+ running ._test_elements_eq_transitive() . . . pass
71
+ running ._test_elements_neq() . . . pass
72
+ running ._test_enumerated_set_contains() . . . pass
73
+ running ._test_enumerated_set_iter_cardinality() . . . pass
74
+ running ._test_enumerated_set_iter_list() . . . pass
75
+ running ._test_eq() . . . pass
76
+ running ._test_new() . . . pass
77
+ running ._test_not_implemented_methods() . . . pass
78
+ running ._test_pickling() . . . pass
79
+ running ._test_some_elements() . . . pass
80
+ """
81
+
82
+ def __init__(self):
83
+ """
84
+ TESTS::
85
+
86
+ sage: NN = InfiniteEnumeratedSets().example()
87
+ sage: NN
88
+ An example of an infinite enumerated set: the nonnegative integers
89
+ sage: NN.category()
90
+ Category of infinite enumerated sets
91
+ sage: TestSuite(NN).run()
92
+ """
93
+ Parent.__init__(self, category=InfiniteEnumeratedSets())
94
+
95
+ def _repr_(self):
96
+ """
97
+ TESTS::
98
+
99
+ sage: InfiniteEnumeratedSets().example() # indirect doctest
100
+ An example of an infinite enumerated set: the nonnegative integers
101
+ """
102
+ return "An example of an infinite enumerated set: the nonnegative integers"
103
+
104
+ def __contains__(self, elt):
105
+ """
106
+ EXAMPLES::
107
+
108
+ sage: NN = InfiniteEnumeratedSets().example()
109
+ sage: 1 in NN
110
+ True
111
+ sage: -1 in NN
112
+ False
113
+ """
114
+ return Integer(elt) >= Integer(0)
115
+
116
+ def __iter__(self):
117
+ """
118
+ EXAMPLES::
119
+
120
+ sage: NN = InfiniteEnumeratedSets().example()
121
+ sage: g = iter(NN)
122
+ sage: next(g), next(g), next(g), next(g)
123
+ (0, 1, 2, 3)
124
+ """
125
+ i = Integer(0)
126
+ while True:
127
+ yield self._element_constructor_(i)
128
+ i += 1
129
+
130
+ def __call__(self, elt):
131
+ """
132
+ EXAMPLES::
133
+
134
+ sage: NN = InfiniteEnumeratedSets().example()
135
+ sage: NN(3) # indirect doctest
136
+ 3
137
+ sage: NN(3).parent()
138
+ Integer Ring
139
+ sage: NN(-1)
140
+ Traceback (most recent call last):
141
+ ...
142
+ ValueError: Value -1 is not a nonnegative integer.
143
+ """
144
+ if elt in self:
145
+ return self._element_constructor_(elt)
146
+ raise ValueError("Value %s is not a nonnegative integer." % (elt))
147
+
148
+ def an_element(self):
149
+ """
150
+ EXAMPLES::
151
+
152
+ sage: InfiniteEnumeratedSets().example().an_element()
153
+ 42
154
+ """
155
+ return self._element_constructor_(Integer(42))
156
+
157
+ def next(self, o):
158
+ """
159
+ EXAMPLES::
160
+
161
+ sage: NN = InfiniteEnumeratedSets().example()
162
+ sage: NN.next(3)
163
+ 4
164
+ """
165
+ return self._element_constructor_(o+1)
166
+
167
+ def _element_constructor_(self, i):
168
+ """
169
+ The default implementation of _element_constructor_ assumes
170
+ that the constructor of the element class takes the parent as
171
+ parameter. This is not the case for ``Integer``, so we need to
172
+ provide an implementation.
173
+
174
+
175
+ TESTS::
176
+
177
+ sage: NN = InfiniteEnumeratedSets().example()
178
+ sage: x = NN(42); x
179
+ 42
180
+ sage: type(x)
181
+ <class 'sage.rings.integer.Integer'>
182
+ sage: x.parent()
183
+ Integer Ring
184
+ """
185
+ return self.element_class(i)
186
+
187
+ Element = Integer
188
+
189
+
190
+ Example = NonNegativeIntegers