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,101 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ r"""
3
+ Example of a set with grading
4
+ """
5
+ from sage.structure.parent import Parent
6
+ from sage.structure.unique_representation import UniqueRepresentation
7
+ from sage.categories.sets_with_grading import SetsWithGrading
8
+
9
+ from sage.rings.integer_ring import IntegerRing
10
+ from sage.sets.finite_enumerated_set import FiniteEnumeratedSet
11
+
12
+
13
+ class NonNegativeIntegers(UniqueRepresentation, Parent):
14
+ r"""
15
+ Non negative integers graded by themselves.
16
+
17
+ EXAMPLES::
18
+
19
+ sage: E = SetsWithGrading().example(); E
20
+ Non negative integers
21
+ sage: E in Sets().Infinite()
22
+ True
23
+ sage: E.graded_component(0)
24
+ {0}
25
+ sage: E.graded_component(100)
26
+ {100}
27
+ """
28
+ def __init__(self):
29
+ r"""
30
+ TESTS::
31
+
32
+ sage: TestSuite(SetsWithGrading().example()).run()
33
+ """
34
+ Parent.__init__(self, category=SetsWithGrading().Infinite(),
35
+ facade=IntegerRing())
36
+
37
+ def an_element(self):
38
+ r"""
39
+ Return 0.
40
+
41
+ EXAMPLES::
42
+
43
+ sage: SetsWithGrading().example().an_element()
44
+ 0
45
+ """
46
+ return 0
47
+
48
+ def _repr_(self):
49
+ r"""
50
+ TESTS::
51
+
52
+ sage: SetsWithGrading().example() # indirect example
53
+ Non negative integers
54
+ """
55
+ return "Non negative integers"
56
+
57
+ def graded_component(self, grade):
58
+ r"""
59
+ Return the component with grade ``grade``.
60
+
61
+ EXAMPLES::
62
+
63
+ sage: N = SetsWithGrading().example()
64
+ sage: N.graded_component(65)
65
+ {65}
66
+ """
67
+ return FiniteEnumeratedSet([grade])
68
+
69
+ def grading(self, elt):
70
+ r"""
71
+ Return the grade of ``elt``.
72
+
73
+ EXAMPLES::
74
+
75
+ sage: N = SetsWithGrading().example()
76
+ sage: N.grading(10)
77
+ 10
78
+ """
79
+ return elt
80
+
81
+ def generating_series(self, var='z'):
82
+ r"""
83
+ Return `1 / (1-z)`.
84
+
85
+ EXAMPLES::
86
+
87
+ sage: N = SetsWithGrading().example(); N
88
+ Non negative integers
89
+ sage: f = N.generating_series(); f
90
+ 1/(-z + 1)
91
+ sage: LaurentSeriesRing(ZZ,'z')(f)
92
+ 1 + z + z^2 + z^3 + z^4 + z^5 + z^6 + z^7 + z^8 + z^9 + z^10 + z^11 + z^12 + z^13 + z^14 + z^15 + z^16 + z^17 + z^18 + z^19 + O(z^20)
93
+ """
94
+ from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
95
+ from sage.rings.integer import Integer
96
+ R = PolynomialRing(IntegerRing(), var)
97
+ z = R.gen()
98
+ return Integer(1) / (Integer(1) - z)
99
+
100
+
101
+ Example = NonNegativeIntegers
@@ -0,0 +1,542 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ # sage.doctest: needs sage.combinat sage.modules
3
+ r"""
4
+ Examples of parents endowed with multiple realizations
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.misc.bindable_class import BindableClass
15
+ from sage.categories.rings import Rings
16
+ from sage.categories.algebras import Algebras
17
+ from sage.categories.algebras_with_basis import AlgebrasWithBasis
18
+ from sage.categories.realizations import Category_realization_of_parent
19
+ from sage.structure.unique_representation import UniqueRepresentation
20
+ from sage.structure.parent import Parent
21
+ from sage.sets.set import Set
22
+ from sage.combinat.free_module import CombinatorialFreeModule
23
+ from sage.combinat.subset import Subsets
24
+
25
+
26
+ class SubsetAlgebra(UniqueRepresentation, Parent):
27
+ r"""
28
+ An example of parent endowed with several realizations.
29
+
30
+ We consider an algebra `A(S)` whose bases are indexed by the
31
+ subsets `s` of a given set `S`. We consider three natural basis of
32
+ this algebra: ``F``, ``In``, and ``Out``. In the first basis, the
33
+ product is given by the union of the indexing sets. That is, for any
34
+ `s, t\subset S`
35
+
36
+ .. MATH::
37
+
38
+ F_s F_t = F_{s\cup t}
39
+
40
+ The ``In`` basis and ``Out`` basis are defined respectively by:
41
+
42
+ .. MATH::
43
+
44
+ In_s = \sum_{t\subset s} F_t
45
+ \qquad\text{and}\qquad
46
+ F_s = \sum_{t\supset s} Out_t
47
+
48
+ Each such basis gives a realization of `A`, where the elements are
49
+ represented by their expansion in this basis.
50
+
51
+ This parent, and its code, demonstrate how to implement this
52
+ algebra and its three realizations, with coercions and mixed
53
+ arithmetic between them.
54
+
55
+ .. SEEALSO::
56
+
57
+ - :func:`Sets().WithRealizations <sage.categories.with_realizations.WithRealizations>`
58
+ - the `Implementing Algebraic Structures
59
+ <../../../../../thematic_tutorials/tutorial-implementing-algebraic-structures>`_
60
+ thematic tutorial.
61
+
62
+ EXAMPLES::
63
+
64
+ sage: A = Sets().WithRealizations().example(); A
65
+ The subset algebra of {1, 2, 3} over Rational Field
66
+ sage: A.base_ring()
67
+ Rational Field
68
+
69
+ The three bases of ``A``::
70
+
71
+ sage: F = A.F() ; F
72
+ The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
73
+ sage: In = A.In() ; In
74
+ The subset algebra of {1, 2, 3} over Rational Field in the In basis
75
+ sage: Out = A.Out(); Out
76
+ The subset algebra of {1, 2, 3} over Rational Field in the Out basis
77
+
78
+ One can quickly define all the bases using the following shortcut::
79
+
80
+ sage: A.inject_shorthands()
81
+ Defining F as shorthand for The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
82
+ Defining In as shorthand for The subset algebra of {1, 2, 3} over Rational Field in the In basis
83
+ Defining Out as shorthand for The subset algebra of {1, 2, 3} over Rational Field in the Out basis
84
+
85
+ Accessing the basis elements is done with :meth:`basis()` method::
86
+
87
+ sage: F.basis().list()
88
+ [F[{}], F[{1}], F[{2}], F[{3}], F[{1, 2}], F[{1, 3}], F[{2, 3}], F[{1, 2, 3}]]
89
+
90
+ To access a particular basis element, you can use the :meth:`from_set`
91
+ method::
92
+
93
+ sage: F.from_set(2,3)
94
+ F[{2, 3}]
95
+ sage: In.from_set(1,3)
96
+ In[{1, 3}]
97
+
98
+ or as a convenient shorthand, one can use the following notation::
99
+
100
+ sage: F[2,3]
101
+ F[{2, 3}]
102
+ sage: In[1,3]
103
+ In[{1, 3}]
104
+
105
+ Some conversions::
106
+
107
+ sage: F(In[2,3])
108
+ F[{}] + F[{2}] + F[{3}] + F[{2, 3}]
109
+ sage: In(F[2,3])
110
+ In[{}] - In[{2}] - In[{3}] + In[{2, 3}]
111
+
112
+ sage: Out(F[3])
113
+ Out[{3}] + Out[{1, 3}] + Out[{2, 3}] + Out[{1, 2, 3}]
114
+ sage: F(Out[3])
115
+ F[{3}] - F[{1, 3}] - F[{2, 3}] + F[{1, 2, 3}]
116
+
117
+ sage: Out(In[2,3])
118
+ Out[{}] + Out[{1}] + 2*Out[{2}] + 2*Out[{3}] + 2*Out[{1, 2}] + 2*Out[{1, 3}] + 4*Out[{2, 3}] + 4*Out[{1, 2, 3}]
119
+
120
+ We can now mix expressions::
121
+
122
+ sage: (1 + Out[1]) * In[2,3]
123
+ Out[{}] + 2*Out[{1}] + 2*Out[{2}] + 2*Out[{3}] + 2*Out[{1, 2}] + 2*Out[{1, 3}] + 4*Out[{2, 3}] + 4*Out[{1, 2, 3}]
124
+ """
125
+
126
+ def __init__(self, R, S):
127
+ r"""
128
+ EXAMPLES::
129
+
130
+ sage: from sage.categories.examples.with_realizations import SubsetAlgebra
131
+ sage: A = SubsetAlgebra(QQ, Set((1,2,3))); A
132
+ The subset algebra of {1, 2, 3} over Rational Field
133
+ sage: Sets().WithRealizations().example() is A
134
+ True
135
+ sage: TestSuite(A).run()
136
+
137
+ TESTS::
138
+
139
+ sage: A = Sets().WithRealizations().example(); A
140
+ The subset algebra of {1, 2, 3} over Rational Field
141
+ sage: F, In, Out = A.realizations()
142
+ sage: type(F.coerce_map_from(In))
143
+ <class 'sage.modules.with_basis.morphism.TriangularModuleMorphismByLinearity_with_category'>
144
+ sage: type(In.coerce_map_from(F))
145
+ <class 'sage.modules.with_basis.morphism.TriangularModuleMorphismByLinearity_with_category'>
146
+ sage: type(F.coerce_map_from(Out))
147
+ <class 'sage.modules.with_basis.morphism.TriangularModuleMorphismByLinearity_with_category'>
148
+ sage: type(Out.coerce_map_from(F))
149
+ <class 'sage.modules.with_basis.morphism.TriangularModuleMorphismByLinearity_with_category'>
150
+ sage: In.coerce_map_from(Out)
151
+ Composite map:
152
+ From: The subset algebra of {1, 2, 3} over Rational Field in the Out basis
153
+ To: The subset algebra of {1, 2, 3} over Rational Field in the In basis
154
+ Defn: Generic morphism:
155
+ From: The subset algebra of {1, 2, 3} over Rational Field in the Out basis
156
+ To: The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
157
+ then
158
+ Generic morphism:
159
+ From: The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
160
+ To: The subset algebra of {1, 2, 3} over Rational Field in the In basis
161
+ sage: Out.coerce_map_from(In)
162
+ Composite map:
163
+ From: The subset algebra of {1, 2, 3} over Rational Field in the In basis
164
+ To: The subset algebra of {1, 2, 3} over Rational Field in the Out basis
165
+ Defn: Generic morphism:
166
+ From: The subset algebra of {1, 2, 3} over Rational Field in the In basis
167
+ To: The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
168
+ then
169
+ Generic morphism:
170
+ From: The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
171
+ To: The subset algebra of {1, 2, 3} over Rational Field in the Out basis
172
+ """
173
+ assert R in Rings()
174
+ self._base = R # Won't be needed when CategoryObject won't override anymore base_ring
175
+ self._S = S
176
+ Parent.__init__(self, category=Algebras(R).Commutative().WithRealizations())
177
+
178
+ # Initializes the bases and change of bases of ``self``
179
+
180
+ F = self.F()
181
+ In = self.In()
182
+ Out = self.Out()
183
+
184
+ category = self.Bases()
185
+ key = self.indices_key
186
+ In_to_F = In.module_morphism(F.sum_of_monomials * Subsets,
187
+ codomain=F, category=category,
188
+ triangular='upper', unitriangular=True,
189
+ key=key)
190
+ In_to_F .register_as_coercion()
191
+ (~In_to_F).register_as_coercion()
192
+
193
+ F_to_Out = F.module_morphism(Out.sum_of_monomials * self.supsets,
194
+ codomain=Out, category=category,
195
+ triangular='lower', unitriangular=True,
196
+ key=key)
197
+ F_to_Out .register_as_coercion()
198
+ (~F_to_Out).register_as_coercion()
199
+
200
+ _shorthands = ["F", "In", "Out"]
201
+
202
+ def a_realization(self):
203
+ r"""
204
+ Return the default realization of ``self``.
205
+
206
+ EXAMPLES::
207
+
208
+ sage: A = Sets().WithRealizations().example(); A
209
+ The subset algebra of {1, 2, 3} over Rational Field
210
+ sage: A.a_realization()
211
+ The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
212
+ """
213
+ return self.F()
214
+
215
+ def base_set(self):
216
+ r"""
217
+ EXAMPLES::
218
+
219
+ sage: A = Sets().WithRealizations().example(); A
220
+ The subset algebra of {1, 2, 3} over Rational Field
221
+ sage: A.base_set()
222
+ {1, 2, 3}
223
+ """
224
+ return self._S
225
+
226
+ def indices(self):
227
+ r"""
228
+ The objects that index the basis elements of this algebra.
229
+
230
+ EXAMPLES::
231
+
232
+ sage: A = Sets().WithRealizations().example(); A
233
+ The subset algebra of {1, 2, 3} over Rational Field
234
+ sage: A.indices()
235
+ Subsets of {1, 2, 3}
236
+ """
237
+ return Subsets(self._S)
238
+
239
+ def indices_key(self, x):
240
+ r"""
241
+ A key function on a set which gives a linear extension
242
+ of the inclusion order.
243
+
244
+ INPUT:
245
+
246
+ - ``x`` -- set
247
+
248
+ EXAMPLES::
249
+
250
+ sage: A = Sets().WithRealizations().example(); A
251
+ The subset algebra of {1, 2, 3} over Rational Field
252
+ sage: sorted(A.indices(), key=A.indices_key)
253
+ [{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}]
254
+ """
255
+ return (len(x), list(x))
256
+
257
+ def supsets(self, set):
258
+ r"""
259
+ Return all the subsets of `S` containing ``set``.
260
+
261
+ INPUT:
262
+
263
+ - ``set`` -- a subset of the base set `S` of ``self``
264
+
265
+ EXAMPLES::
266
+
267
+ sage: A = Sets().WithRealizations().example(); A
268
+ The subset algebra of {1, 2, 3} over Rational Field
269
+ sage: A.supsets(Set((2,)))
270
+ [{1, 2, 3}, {2, 3}, {1, 2}, {2}]
271
+ """
272
+ S = self.base_set()
273
+ return [S.difference(s) for s in Subsets(S.difference(set))]
274
+
275
+ def _repr_(self):
276
+ r"""
277
+ EXAMPLES::
278
+
279
+ sage: Sets().WithRealizations().example() # indirect doctest
280
+ The subset algebra of {1, 2, 3} over Rational Field
281
+ """
282
+ return "The subset algebra of %s over %s" % (self.base_set(), self.base_ring())
283
+
284
+ class Bases(Category_realization_of_parent):
285
+ r"""
286
+ The category of the realizations of the subset algebra
287
+ """
288
+
289
+ def super_categories(self):
290
+ r"""
291
+ EXAMPLES::
292
+
293
+ sage: A = Sets().WithRealizations().example(); A
294
+ The subset algebra of {1, 2, 3} over Rational Field
295
+ sage: C = A.Bases(); C
296
+ Category of bases of The subset algebra of {1, 2, 3} over Rational Field
297
+ sage: C.super_categories()
298
+ [Category of realizations of The subset algebra of {1, 2, 3} over Rational Field,
299
+ Join of Category of algebras with basis over Rational Field and
300
+ Category of commutative algebras over Rational Field and
301
+ Category of realizations of unital magmas]
302
+ """
303
+ A = self.base()
304
+ category = Algebras(A.base_ring()).Commutative()
305
+ return [A.Realizations(),
306
+ category.Realizations().WithBasis()]
307
+
308
+ class ParentMethods:
309
+
310
+ def from_set(self, *args):
311
+ r"""
312
+ Construct the monomial indexed by the set containing the
313
+ elements passed as arguments.
314
+
315
+ EXAMPLES::
316
+
317
+ sage: In = Sets().WithRealizations().example().In(); In
318
+ The subset algebra of {1, 2, 3} over Rational Field in the In basis
319
+ sage: In.from_set(2,3)
320
+ In[{2, 3}]
321
+
322
+ As a shorthand, one can construct elements using the following
323
+ notation::
324
+
325
+ sage: In[2,3]
326
+ In[{2, 3}]
327
+ """
328
+ return self.monomial(Set(args))
329
+
330
+ def __getitem__(self, s):
331
+ r"""
332
+ This method implements a convenient shorthand for constructing
333
+ basis elements of this algebra.
334
+
335
+ EXAMPLES::
336
+
337
+ sage: A = Sets().WithRealizations().example()
338
+ sage: In = A.In()
339
+ sage: In[2,3]
340
+ In[{2, 3}]
341
+ sage: F = A.F()
342
+ sage: F[1,3]
343
+ F[{1, 3}]
344
+ """
345
+ from sage.rings.integer import Integer
346
+ if isinstance(s, Integer):
347
+ return self.from_set(*(s,))
348
+ else:
349
+ return self.from_set(*s)
350
+
351
+ # This could go in the super category VectorSpaces().Realizations()
352
+ def _repr_(self):
353
+ r"""
354
+ EXAMPLES::
355
+
356
+ sage: Sets().WithRealizations().example().In() # indirect doctest
357
+ The subset algebra of {1, 2, 3} over Rational Field in the In basis
358
+ """
359
+ return "%s in the %s basis" % (self.realization_of(), self._realization_name())
360
+
361
+ # Could this go in the super category Monoids().Realizations() ?
362
+ @cached_method
363
+ def one(self):
364
+ r"""
365
+ Return the unit of this algebra.
366
+
367
+ This default implementation takes the unit in the
368
+ fundamental basis, and coerces it in ``self``.
369
+
370
+ EXAMPLES::
371
+
372
+ sage: A = Sets().WithRealizations().example(); A
373
+ The subset algebra of {1, 2, 3} over Rational Field
374
+ sage: In = A.In(); Out = A.Out()
375
+ sage: In.one()
376
+ In[{}]
377
+ sage: Out.one()
378
+ Out[{}] + Out[{1}] + Out[{2}] + Out[{3}] + Out[{1, 2}] + Out[{1, 3}] + Out[{2, 3}] + Out[{1, 2, 3}]
379
+ """
380
+ return self(self.realization_of().F().one())
381
+
382
+ class Fundamental(CombinatorialFreeModule, BindableClass):
383
+ r"""
384
+ The Subset algebra, in the fundamental basis.
385
+
386
+ INPUT:
387
+
388
+ - ``A`` -- a parent with realization in :class:`SubsetAlgebra`
389
+
390
+ EXAMPLES::
391
+
392
+ sage: A = Sets().WithRealizations().example()
393
+ sage: A.F()
394
+ The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
395
+ sage: A.Fundamental()
396
+ The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
397
+ """
398
+
399
+ def __init__(self, A):
400
+ r"""
401
+ EXAMPLES::
402
+
403
+ sage: A = Sets().WithRealizations().example(); A
404
+ The subset algebra of {1, 2, 3} over Rational Field
405
+ sage: F = A.F(); F
406
+ The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
407
+ sage: TestSuite(F).run()
408
+ """
409
+ CombinatorialFreeModule.__init__(self,
410
+ A.base_ring(), A.indices(),
411
+ category=A.Bases(), prefix='F', sorting_key=A.indices_key)
412
+
413
+ def product_on_basis(self, left, right):
414
+ r"""
415
+ Product of basis elements, as per :meth:`AlgebrasWithBasis.ParentMethods.product_on_basis`.
416
+
417
+ INPUT:
418
+
419
+ - ``left``, ``right`` -- sets indexing basis elements
420
+
421
+ EXAMPLES::
422
+
423
+ sage: F = Sets().WithRealizations().example().F(); F
424
+ The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
425
+ sage: S = F.basis().keys(); S
426
+ Subsets of {1, 2, 3}
427
+ sage: F.product_on_basis(S([]), S([]))
428
+ F[{}]
429
+ sage: F.product_on_basis(S({1}), S({3}))
430
+ F[{1, 3}]
431
+ sage: F.product_on_basis(S({1,2}), S({2,3}))
432
+ F[{1, 2, 3}]
433
+ """
434
+ return self.monomial(left.union(right))
435
+
436
+ def one_basis(self):
437
+ r"""
438
+ Return the index of the basis element which is equal to '1'.
439
+
440
+ EXAMPLES::
441
+
442
+ sage: F = Sets().WithRealizations().example().F(); F
443
+ The subset algebra of {1, 2, 3} over Rational Field in the Fundamental basis
444
+ sage: F.one_basis()
445
+ {}
446
+ sage: F.one()
447
+ F[{}]
448
+ """
449
+ return Set([])
450
+
451
+ # Bypass the definition in SubsetAlgebra.Bases.ParentMethods
452
+ # by the usual one from basis; alternatively one could just
453
+ # define one instead of one_basis.
454
+ one = AlgebrasWithBasis.ParentMethods.one
455
+
456
+ F = Fundamental
457
+
458
+ class In(CombinatorialFreeModule, BindableClass):
459
+ r"""
460
+ The Subset Algebra, in the ``In`` basis.
461
+
462
+ INPUT:
463
+
464
+ - ``A`` -- a parent with realization in :class:`SubsetAlgebra`
465
+
466
+ EXAMPLES::
467
+
468
+ sage: A = Sets().WithRealizations().example()
469
+ sage: A.In()
470
+ The subset algebra of {1, 2, 3} over Rational Field in the In basis
471
+
472
+ TESTS:
473
+
474
+ The product in this basis is computed by converting to the fundamental
475
+ basis, computing the product there, and then converting back::
476
+
477
+ sage: In = Sets().WithRealizations().example().In(); In
478
+ The subset algebra of {1, 2, 3} over Rational Field in the In basis
479
+ sage: x = In.an_element()
480
+ sage: y = In.an_element()
481
+ sage: In.product
482
+ <bound method ....product_by_coercion ...>
483
+ sage: In.product.__module__
484
+ 'sage.categories.magmas'
485
+ sage: In.product(x, y)
486
+ -21*In[{}] - 2*In[{1}] + 19*In[{2}] + 53*In[{1, 2}]
487
+ """
488
+
489
+ def __init__(self, A):
490
+ r"""
491
+ EXAMPLES::
492
+
493
+ sage: In = Sets().WithRealizations().example().In(); In
494
+ The subset algebra of {1, 2, 3} over Rational Field in the In basis
495
+ sage: TestSuite(In).run()
496
+ """
497
+ CombinatorialFreeModule.__init__(self,
498
+ A.base_ring(), A.indices(),
499
+ category=A.Bases(), prefix='In', sorting_key=A.indices_key)
500
+
501
+ class Out(CombinatorialFreeModule, BindableClass):
502
+ r"""
503
+ The Subset Algebra, in the `Out` basis.
504
+
505
+ INPUT:
506
+
507
+ - ``A`` -- a parent with realization in :class:`SubsetAlgebra`
508
+
509
+ EXAMPLES::
510
+
511
+ sage: A = Sets().WithRealizations().example()
512
+ sage: A.Out()
513
+ The subset algebra of {1, 2, 3} over Rational Field in the Out basis
514
+
515
+ TESTS:
516
+
517
+ The product in this basis is computed by converting to the fundamental
518
+ basis, computing the product there, and then converting back::
519
+
520
+ sage: Out = Sets().WithRealizations().example().Out(); Out
521
+ The subset algebra of {1, 2, 3} over Rational Field in the Out basis
522
+ sage: x = Out.an_element()
523
+ sage: y = Out.an_element()
524
+ sage: Out.product
525
+ <bound method ....product_by_coercion ...>
526
+ sage: Out.product.__module__
527
+ 'sage.categories.magmas'
528
+ sage: Out.product(x, y)
529
+ Out[{}] + 4*Out[{1}] + 9*Out[{2}] + Out[{1, 2}]
530
+ """
531
+
532
+ def __init__(self, A):
533
+ r"""
534
+ EXAMPLES::
535
+
536
+ sage: Out = Sets().WithRealizations().example().Out(); Out
537
+ The subset algebra of {1, 2, 3} over Rational Field in the Out basis
538
+ sage: TestSuite(Out).run()
539
+ """
540
+ CombinatorialFreeModule.__init__(self,
541
+ A.base_ring(), A.indices(),
542
+ category=A.Bases(), prefix='Out', sorting_key=A.indices_key)