passagemath-combinat 10.6.31rc3__cp314-cp314-musllinux_1_2_x86_64.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.

Potentially problematic release.


This version of passagemath-combinat might be problematic. Click here for more details.

Files changed (399) hide show
  1. passagemath_combinat-10.6.31rc3.dist-info/METADATA +159 -0
  2. passagemath_combinat-10.6.31rc3.dist-info/RECORD +399 -0
  3. passagemath_combinat-10.6.31rc3.dist-info/WHEEL +5 -0
  4. passagemath_combinat-10.6.31rc3.dist-info/top_level.txt +2 -0
  5. passagemath_combinat.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
  6. passagemath_combinat.libs/libsymmetrica-81fe8739.so.3.0.0 +0 -0
  7. sage/algebras/affine_nil_temperley_lieb.py +263 -0
  8. sage/algebras/all.py +25 -0
  9. sage/algebras/all__sagemath_combinat.py +35 -0
  10. sage/algebras/askey_wilson.py +935 -0
  11. sage/algebras/associated_graded.py +345 -0
  12. sage/algebras/cellular_basis.py +350 -0
  13. sage/algebras/cluster_algebra.py +2766 -0
  14. sage/algebras/down_up_algebra.py +860 -0
  15. sage/algebras/free_algebra.py +1698 -0
  16. sage/algebras/free_algebra_element.py +345 -0
  17. sage/algebras/free_algebra_quotient.py +405 -0
  18. sage/algebras/free_algebra_quotient_element.py +295 -0
  19. sage/algebras/free_zinbiel_algebra.py +885 -0
  20. sage/algebras/hall_algebra.py +783 -0
  21. sage/algebras/hecke_algebras/all.py +4 -0
  22. sage/algebras/hecke_algebras/ariki_koike_algebra.py +1796 -0
  23. sage/algebras/hecke_algebras/ariki_koike_specht_modules.py +475 -0
  24. sage/algebras/hecke_algebras/cubic_hecke_algebra.py +3520 -0
  25. sage/algebras/hecke_algebras/cubic_hecke_base_ring.py +1473 -0
  26. sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py +1079 -0
  27. sage/algebras/iwahori_hecke_algebra.py +3095 -0
  28. sage/algebras/jordan_algebra.py +1773 -0
  29. sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py +113 -0
  30. sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py +156 -0
  31. sage/algebras/lie_conformal_algebras/all.py +18 -0
  32. sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py +134 -0
  33. sage/algebras/lie_conformal_algebras/examples.py +43 -0
  34. sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py +131 -0
  35. sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py +139 -0
  36. sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py +174 -0
  37. sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py +167 -0
  38. sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py +107 -0
  39. sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py +135 -0
  40. sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py +353 -0
  41. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py +236 -0
  42. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py +78 -0
  43. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py +328 -0
  44. sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py +117 -0
  45. sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py +86 -0
  46. sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py +82 -0
  47. sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py +205 -0
  48. sage/algebras/nil_coxeter_algebra.py +191 -0
  49. sage/algebras/q_commuting_polynomials.py +673 -0
  50. sage/algebras/q_system.py +608 -0
  51. sage/algebras/quantum_clifford.py +959 -0
  52. sage/algebras/quantum_groups/ace_quantum_onsager.py +693 -0
  53. sage/algebras/quantum_groups/all.py +9 -0
  54. sage/algebras/quantum_groups/fock_space.py +2219 -0
  55. sage/algebras/quantum_groups/q_numbers.py +207 -0
  56. sage/algebras/quantum_groups/quantum_group_gap.py +2695 -0
  57. sage/algebras/quantum_groups/representations.py +591 -0
  58. sage/algebras/quantum_matrix_coordinate_algebra.py +1006 -0
  59. sage/algebras/quantum_oscillator.py +623 -0
  60. sage/algebras/quaternion_algebra.py +20 -0
  61. sage/algebras/quaternion_algebra_element.py +55 -0
  62. sage/algebras/rational_cherednik_algebra.py +525 -0
  63. sage/algebras/schur_algebra.py +670 -0
  64. sage/algebras/shuffle_algebra.py +1011 -0
  65. sage/algebras/splitting_algebra.py +779 -0
  66. sage/algebras/tensor_algebra.py +709 -0
  67. sage/algebras/yangian.py +1082 -0
  68. sage/algebras/yokonuma_hecke_algebra.py +1018 -0
  69. sage/all__sagemath_combinat.py +35 -0
  70. sage/combinat/SJT.py +255 -0
  71. sage/combinat/affine_permutation.py +2405 -0
  72. sage/combinat/algebraic_combinatorics.py +55 -0
  73. sage/combinat/all.py +53 -0
  74. sage/combinat/all__sagemath_combinat.py +195 -0
  75. sage/combinat/alternating_sign_matrix.py +2063 -0
  76. sage/combinat/baxter_permutations.py +346 -0
  77. sage/combinat/bijectionist.py +3220 -0
  78. sage/combinat/binary_recurrence_sequences.py +1180 -0
  79. sage/combinat/blob_algebra.py +685 -0
  80. sage/combinat/catalog_partitions.py +27 -0
  81. sage/combinat/chas/all.py +23 -0
  82. sage/combinat/chas/fsym.py +1180 -0
  83. sage/combinat/chas/wqsym.py +2601 -0
  84. sage/combinat/cluster_complex.py +326 -0
  85. sage/combinat/colored_permutations.py +2039 -0
  86. sage/combinat/colored_permutations_representations.py +964 -0
  87. sage/combinat/composition_signed.py +142 -0
  88. sage/combinat/composition_tableau.py +855 -0
  89. sage/combinat/constellation.py +1729 -0
  90. sage/combinat/core.py +751 -0
  91. sage/combinat/counting.py +12 -0
  92. sage/combinat/crystals/affine.py +742 -0
  93. sage/combinat/crystals/affine_factorization.py +518 -0
  94. sage/combinat/crystals/affinization.py +331 -0
  95. sage/combinat/crystals/alcove_path.py +2013 -0
  96. sage/combinat/crystals/all.py +22 -0
  97. sage/combinat/crystals/bkk_crystals.py +141 -0
  98. sage/combinat/crystals/catalog.py +115 -0
  99. sage/combinat/crystals/catalog_elementary_crystals.py +18 -0
  100. sage/combinat/crystals/catalog_infinity_crystals.py +33 -0
  101. sage/combinat/crystals/catalog_kirillov_reshetikhin.py +18 -0
  102. sage/combinat/crystals/crystals.py +257 -0
  103. sage/combinat/crystals/direct_sum.py +260 -0
  104. sage/combinat/crystals/elementary_crystals.py +1251 -0
  105. sage/combinat/crystals/fast_crystals.py +441 -0
  106. sage/combinat/crystals/fully_commutative_stable_grothendieck.py +1205 -0
  107. sage/combinat/crystals/generalized_young_walls.py +1076 -0
  108. sage/combinat/crystals/highest_weight_crystals.py +436 -0
  109. sage/combinat/crystals/induced_structure.py +695 -0
  110. sage/combinat/crystals/infinity_crystals.py +730 -0
  111. sage/combinat/crystals/kac_modules.py +863 -0
  112. sage/combinat/crystals/kirillov_reshetikhin.py +4196 -0
  113. sage/combinat/crystals/kyoto_path_model.py +497 -0
  114. sage/combinat/crystals/letters.cpython-314-x86_64-linux-musl.so +0 -0
  115. sage/combinat/crystals/letters.pxd +79 -0
  116. sage/combinat/crystals/letters.pyx +3056 -0
  117. sage/combinat/crystals/littelmann_path.py +1518 -0
  118. sage/combinat/crystals/monomial_crystals.py +1262 -0
  119. sage/combinat/crystals/multisegments.py +462 -0
  120. sage/combinat/crystals/mv_polytopes.py +467 -0
  121. sage/combinat/crystals/pbw_crystal.py +511 -0
  122. sage/combinat/crystals/pbw_datum.cpython-314-x86_64-linux-musl.so +0 -0
  123. sage/combinat/crystals/pbw_datum.pxd +4 -0
  124. sage/combinat/crystals/pbw_datum.pyx +487 -0
  125. sage/combinat/crystals/polyhedral_realization.py +372 -0
  126. sage/combinat/crystals/spins.cpython-314-x86_64-linux-musl.so +0 -0
  127. sage/combinat/crystals/spins.pxd +21 -0
  128. sage/combinat/crystals/spins.pyx +756 -0
  129. sage/combinat/crystals/star_crystal.py +290 -0
  130. sage/combinat/crystals/subcrystal.py +464 -0
  131. sage/combinat/crystals/tensor_product.py +1177 -0
  132. sage/combinat/crystals/tensor_product_element.cpython-314-x86_64-linux-musl.so +0 -0
  133. sage/combinat/crystals/tensor_product_element.pxd +35 -0
  134. sage/combinat/crystals/tensor_product_element.pyx +1870 -0
  135. sage/combinat/crystals/virtual_crystal.py +420 -0
  136. sage/combinat/cyclic_sieving_phenomenon.py +204 -0
  137. sage/combinat/debruijn_sequence.cpython-314-x86_64-linux-musl.so +0 -0
  138. sage/combinat/debruijn_sequence.pyx +355 -0
  139. sage/combinat/decorated_permutation.py +270 -0
  140. sage/combinat/degree_sequences.cpython-314-x86_64-linux-musl.so +0 -0
  141. sage/combinat/degree_sequences.pyx +588 -0
  142. sage/combinat/derangements.py +527 -0
  143. sage/combinat/descent_algebra.py +1008 -0
  144. sage/combinat/diagram.py +1551 -0
  145. sage/combinat/diagram_algebras.py +5886 -0
  146. sage/combinat/dyck_word.py +4349 -0
  147. sage/combinat/e_one_star.py +1623 -0
  148. sage/combinat/enumerated_sets.py +123 -0
  149. sage/combinat/expnums.cpython-314-x86_64-linux-musl.so +0 -0
  150. sage/combinat/expnums.pyx +148 -0
  151. sage/combinat/fast_vector_partitions.cpython-314-x86_64-linux-musl.so +0 -0
  152. sage/combinat/fast_vector_partitions.pyx +346 -0
  153. sage/combinat/fqsym.py +1977 -0
  154. sage/combinat/free_dendriform_algebra.py +954 -0
  155. sage/combinat/free_prelie_algebra.py +1141 -0
  156. sage/combinat/fully_commutative_elements.py +1077 -0
  157. sage/combinat/fully_packed_loop.py +1523 -0
  158. sage/combinat/gelfand_tsetlin_patterns.py +1409 -0
  159. sage/combinat/gray_codes.py +311 -0
  160. sage/combinat/grossman_larson_algebras.py +667 -0
  161. sage/combinat/growth.py +4352 -0
  162. sage/combinat/hall_polynomial.py +188 -0
  163. sage/combinat/hillman_grassl.py +866 -0
  164. sage/combinat/integer_matrices.py +329 -0
  165. sage/combinat/integer_vectors_mod_permgroup.py +1238 -0
  166. sage/combinat/k_tableau.py +4564 -0
  167. sage/combinat/kazhdan_lusztig.py +215 -0
  168. sage/combinat/key_polynomial.py +885 -0
  169. sage/combinat/knutson_tao_puzzles.py +2286 -0
  170. sage/combinat/lr_tableau.py +311 -0
  171. sage/combinat/matrices/all.py +24 -0
  172. sage/combinat/matrices/hadamard_matrix.py +3790 -0
  173. sage/combinat/matrices/latin.py +2912 -0
  174. sage/combinat/misc.py +401 -0
  175. sage/combinat/multiset_partition_into_sets_ordered.py +3541 -0
  176. sage/combinat/ncsf_qsym/all.py +21 -0
  177. sage/combinat/ncsf_qsym/combinatorics.py +317 -0
  178. sage/combinat/ncsf_qsym/generic_basis_code.py +1427 -0
  179. sage/combinat/ncsf_qsym/ncsf.py +5637 -0
  180. sage/combinat/ncsf_qsym/qsym.py +4053 -0
  181. sage/combinat/ncsf_qsym/tutorial.py +447 -0
  182. sage/combinat/ncsym/all.py +21 -0
  183. sage/combinat/ncsym/bases.py +855 -0
  184. sage/combinat/ncsym/dual.py +593 -0
  185. sage/combinat/ncsym/ncsym.py +2076 -0
  186. sage/combinat/necklace.py +551 -0
  187. sage/combinat/non_decreasing_parking_function.py +634 -0
  188. sage/combinat/nu_dyck_word.py +1474 -0
  189. sage/combinat/output.py +861 -0
  190. sage/combinat/parallelogram_polyomino.py +4326 -0
  191. sage/combinat/parking_functions.py +1602 -0
  192. sage/combinat/partition_algebra.py +1998 -0
  193. sage/combinat/partition_kleshchev.py +1982 -0
  194. sage/combinat/partition_shifting_algebras.py +584 -0
  195. sage/combinat/partition_tuple.py +3114 -0
  196. sage/combinat/path_tableaux/all.py +13 -0
  197. sage/combinat/path_tableaux/catalog.py +29 -0
  198. sage/combinat/path_tableaux/dyck_path.py +380 -0
  199. sage/combinat/path_tableaux/frieze.py +476 -0
  200. sage/combinat/path_tableaux/path_tableau.py +728 -0
  201. sage/combinat/path_tableaux/semistandard.py +510 -0
  202. sage/combinat/perfect_matching.py +779 -0
  203. sage/combinat/plane_partition.py +3300 -0
  204. sage/combinat/q_bernoulli.cpython-314-x86_64-linux-musl.so +0 -0
  205. sage/combinat/q_bernoulli.pyx +128 -0
  206. sage/combinat/quickref.py +81 -0
  207. sage/combinat/recognizable_series.py +2051 -0
  208. sage/combinat/regular_sequence.py +4316 -0
  209. sage/combinat/regular_sequence_bounded.py +543 -0
  210. sage/combinat/restricted_growth.py +81 -0
  211. sage/combinat/ribbon.py +20 -0
  212. sage/combinat/ribbon_shaped_tableau.py +489 -0
  213. sage/combinat/ribbon_tableau.py +1180 -0
  214. sage/combinat/rigged_configurations/all.py +46 -0
  215. sage/combinat/rigged_configurations/bij_abstract_class.py +548 -0
  216. sage/combinat/rigged_configurations/bij_infinity.py +370 -0
  217. sage/combinat/rigged_configurations/bij_type_A.py +163 -0
  218. sage/combinat/rigged_configurations/bij_type_A2_dual.py +338 -0
  219. sage/combinat/rigged_configurations/bij_type_A2_even.py +218 -0
  220. sage/combinat/rigged_configurations/bij_type_A2_odd.py +199 -0
  221. sage/combinat/rigged_configurations/bij_type_B.py +900 -0
  222. sage/combinat/rigged_configurations/bij_type_C.py +267 -0
  223. sage/combinat/rigged_configurations/bij_type_D.py +771 -0
  224. sage/combinat/rigged_configurations/bij_type_D_tri.py +392 -0
  225. sage/combinat/rigged_configurations/bij_type_D_twisted.py +576 -0
  226. sage/combinat/rigged_configurations/bij_type_E67.py +402 -0
  227. sage/combinat/rigged_configurations/bijection.py +143 -0
  228. sage/combinat/rigged_configurations/kleber_tree.py +1475 -0
  229. sage/combinat/rigged_configurations/kr_tableaux.py +1898 -0
  230. sage/combinat/rigged_configurations/rc_crystal.py +461 -0
  231. sage/combinat/rigged_configurations/rc_infinity.py +540 -0
  232. sage/combinat/rigged_configurations/rigged_configuration_element.py +2403 -0
  233. sage/combinat/rigged_configurations/rigged_configurations.py +1918 -0
  234. sage/combinat/rigged_configurations/rigged_partition.cpython-314-x86_64-linux-musl.so +0 -0
  235. sage/combinat/rigged_configurations/rigged_partition.pxd +15 -0
  236. sage/combinat/rigged_configurations/rigged_partition.pyx +680 -0
  237. sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py +499 -0
  238. sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py +428 -0
  239. sage/combinat/rsk.py +3438 -0
  240. sage/combinat/schubert_polynomial.py +508 -0
  241. sage/combinat/set_partition.py +3318 -0
  242. sage/combinat/set_partition_iterator.cpython-314-x86_64-linux-musl.so +0 -0
  243. sage/combinat/set_partition_iterator.pyx +136 -0
  244. sage/combinat/set_partition_ordered.py +1590 -0
  245. sage/combinat/sf/abreu_nigro.py +346 -0
  246. sage/combinat/sf/all.py +52 -0
  247. sage/combinat/sf/character.py +576 -0
  248. sage/combinat/sf/classical.py +319 -0
  249. sage/combinat/sf/dual.py +996 -0
  250. sage/combinat/sf/elementary.py +549 -0
  251. sage/combinat/sf/hall_littlewood.py +1028 -0
  252. sage/combinat/sf/hecke.py +336 -0
  253. sage/combinat/sf/homogeneous.py +464 -0
  254. sage/combinat/sf/jack.py +1428 -0
  255. sage/combinat/sf/k_dual.py +1458 -0
  256. sage/combinat/sf/kfpoly.py +447 -0
  257. sage/combinat/sf/llt.py +789 -0
  258. sage/combinat/sf/macdonald.py +2019 -0
  259. sage/combinat/sf/monomial.py +525 -0
  260. sage/combinat/sf/multiplicative.py +113 -0
  261. sage/combinat/sf/new_kschur.py +1786 -0
  262. sage/combinat/sf/ns_macdonald.py +964 -0
  263. sage/combinat/sf/orthogonal.py +246 -0
  264. sage/combinat/sf/orthotriang.py +355 -0
  265. sage/combinat/sf/powersum.py +963 -0
  266. sage/combinat/sf/schur.py +880 -0
  267. sage/combinat/sf/sf.py +1653 -0
  268. sage/combinat/sf/sfa.py +7053 -0
  269. sage/combinat/sf/symplectic.py +253 -0
  270. sage/combinat/sf/witt.py +721 -0
  271. sage/combinat/shifted_primed_tableau.py +2735 -0
  272. sage/combinat/shuffle.py +830 -0
  273. sage/combinat/sidon_sets.py +146 -0
  274. sage/combinat/similarity_class_type.py +1721 -0
  275. sage/combinat/sine_gordon.py +618 -0
  276. sage/combinat/six_vertex_model.py +784 -0
  277. sage/combinat/skew_partition.py +2053 -0
  278. sage/combinat/skew_tableau.py +2989 -0
  279. sage/combinat/sloane_functions.py +8935 -0
  280. sage/combinat/specht_module.py +1403 -0
  281. sage/combinat/species/all.py +48 -0
  282. sage/combinat/species/characteristic_species.py +321 -0
  283. sage/combinat/species/composition_species.py +273 -0
  284. sage/combinat/species/cycle_species.py +284 -0
  285. sage/combinat/species/empty_species.py +155 -0
  286. sage/combinat/species/functorial_composition_species.py +148 -0
  287. sage/combinat/species/generating_series.py +673 -0
  288. sage/combinat/species/library.py +148 -0
  289. sage/combinat/species/linear_order_species.py +169 -0
  290. sage/combinat/species/misc.py +83 -0
  291. sage/combinat/species/partition_species.py +290 -0
  292. sage/combinat/species/permutation_species.py +268 -0
  293. sage/combinat/species/product_species.py +423 -0
  294. sage/combinat/species/recursive_species.py +476 -0
  295. sage/combinat/species/set_species.py +192 -0
  296. sage/combinat/species/species.py +820 -0
  297. sage/combinat/species/structure.py +539 -0
  298. sage/combinat/species/subset_species.py +243 -0
  299. sage/combinat/species/sum_species.py +225 -0
  300. sage/combinat/subword.py +564 -0
  301. sage/combinat/subword_complex.py +2122 -0
  302. sage/combinat/subword_complex_c.cpython-314-x86_64-linux-musl.so +0 -0
  303. sage/combinat/subword_complex_c.pyx +119 -0
  304. sage/combinat/super_tableau.py +821 -0
  305. sage/combinat/superpartition.py +1154 -0
  306. sage/combinat/symmetric_group_algebra.py +3774 -0
  307. sage/combinat/symmetric_group_representations.py +1830 -0
  308. sage/combinat/t_sequences.py +877 -0
  309. sage/combinat/tableau.py +9506 -0
  310. sage/combinat/tableau_residues.py +860 -0
  311. sage/combinat/tableau_tuple.py +5353 -0
  312. sage/combinat/tiling.py +2432 -0
  313. sage/combinat/triangles_FHM.py +777 -0
  314. sage/combinat/tutorial.py +1857 -0
  315. sage/combinat/vector_partition.py +337 -0
  316. sage/combinat/words/abstract_word.py +1722 -0
  317. sage/combinat/words/all.py +59 -0
  318. sage/combinat/words/alphabet.py +268 -0
  319. sage/combinat/words/finite_word.py +7201 -0
  320. sage/combinat/words/infinite_word.py +113 -0
  321. sage/combinat/words/lyndon_word.py +652 -0
  322. sage/combinat/words/morphic.py +351 -0
  323. sage/combinat/words/morphism.py +3878 -0
  324. sage/combinat/words/paths.py +2932 -0
  325. sage/combinat/words/shuffle_product.py +278 -0
  326. sage/combinat/words/suffix_trees.py +1873 -0
  327. sage/combinat/words/word.py +765 -0
  328. sage/combinat/words/word_char.cpython-314-x86_64-linux-musl.so +0 -0
  329. sage/combinat/words/word_char.pyx +847 -0
  330. sage/combinat/words/word_datatypes.cpython-314-x86_64-linux-musl.so +0 -0
  331. sage/combinat/words/word_datatypes.pxd +4 -0
  332. sage/combinat/words/word_datatypes.pyx +1067 -0
  333. sage/combinat/words/word_generators.py +2026 -0
  334. sage/combinat/words/word_infinite_datatypes.py +1218 -0
  335. sage/combinat/words/word_options.py +99 -0
  336. sage/combinat/words/words.py +2396 -0
  337. sage/data_structures/all__sagemath_combinat.py +1 -0
  338. sage/databases/all__sagemath_combinat.py +13 -0
  339. sage/databases/findstat.py +4897 -0
  340. sage/databases/oeis.py +2058 -0
  341. sage/databases/sloane.py +393 -0
  342. sage/dynamics/all__sagemath_combinat.py +14 -0
  343. sage/dynamics/cellular_automata/all.py +7 -0
  344. sage/dynamics/cellular_automata/catalog.py +34 -0
  345. sage/dynamics/cellular_automata/elementary.py +612 -0
  346. sage/dynamics/cellular_automata/glca.py +477 -0
  347. sage/dynamics/cellular_automata/solitons.py +1463 -0
  348. sage/dynamics/finite_dynamical_system.py +1249 -0
  349. sage/dynamics/finite_dynamical_system_catalog.py +382 -0
  350. sage/games/all.py +7 -0
  351. sage/games/hexad.py +704 -0
  352. sage/games/quantumino.py +591 -0
  353. sage/games/sudoku.py +889 -0
  354. sage/games/sudoku_backtrack.cpython-314-x86_64-linux-musl.so +0 -0
  355. sage/games/sudoku_backtrack.pyx +189 -0
  356. sage/groups/all__sagemath_combinat.py +1 -0
  357. sage/groups/indexed_free_group.py +489 -0
  358. sage/libs/all__sagemath_combinat.py +6 -0
  359. sage/libs/lrcalc/__init__.py +1 -0
  360. sage/libs/lrcalc/lrcalc.py +525 -0
  361. sage/libs/symmetrica/__init__.py +7 -0
  362. sage/libs/symmetrica/all.py +101 -0
  363. sage/libs/symmetrica/kostka.pxi +168 -0
  364. sage/libs/symmetrica/part.pxi +193 -0
  365. sage/libs/symmetrica/plet.pxi +42 -0
  366. sage/libs/symmetrica/sab.pxi +196 -0
  367. sage/libs/symmetrica/sb.pxi +332 -0
  368. sage/libs/symmetrica/sc.pxi +192 -0
  369. sage/libs/symmetrica/schur.pxi +956 -0
  370. sage/libs/symmetrica/symmetrica.cpython-314-x86_64-linux-musl.so +0 -0
  371. sage/libs/symmetrica/symmetrica.pxi +1172 -0
  372. sage/libs/symmetrica/symmetrica.pyx +39 -0
  373. sage/monoids/all.py +13 -0
  374. sage/monoids/automatic_semigroup.py +1054 -0
  375. sage/monoids/free_abelian_monoid.py +315 -0
  376. sage/monoids/free_abelian_monoid_element.cpython-314-x86_64-linux-musl.so +0 -0
  377. sage/monoids/free_abelian_monoid_element.pxd +16 -0
  378. sage/monoids/free_abelian_monoid_element.pyx +397 -0
  379. sage/monoids/free_monoid.py +335 -0
  380. sage/monoids/free_monoid_element.py +431 -0
  381. sage/monoids/hecke_monoid.py +65 -0
  382. sage/monoids/string_monoid.py +817 -0
  383. sage/monoids/string_monoid_element.py +547 -0
  384. sage/monoids/string_ops.py +143 -0
  385. sage/monoids/trace_monoid.py +972 -0
  386. sage/rings/all__sagemath_combinat.py +2 -0
  387. sage/sat/all.py +4 -0
  388. sage/sat/boolean_polynomials.py +405 -0
  389. sage/sat/converters/__init__.py +6 -0
  390. sage/sat/converters/anf2cnf.py +14 -0
  391. sage/sat/converters/polybori.py +611 -0
  392. sage/sat/solvers/__init__.py +5 -0
  393. sage/sat/solvers/cryptominisat.py +287 -0
  394. sage/sat/solvers/dimacs.py +783 -0
  395. sage/sat/solvers/picosat.py +228 -0
  396. sage/sat/solvers/sat_lp.py +156 -0
  397. sage/sat/solvers/satsolver.cpython-314-x86_64-linux-musl.so +0 -0
  398. sage/sat/solvers/satsolver.pxd +3 -0
  399. sage/sat/solvers/satsolver.pyx +405 -0
@@ -0,0 +1,345 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ # sage.doctest: needs sage.combinat sage.modules
3
+ """
4
+ Free algebra elements
5
+
6
+ AUTHORS:
7
+
8
+ - David Kohel (2005-09)
9
+
10
+ TESTS::
11
+
12
+ sage: R.<x,y> = FreeAlgebra(QQ,2)
13
+ sage: x == loads(dumps(x))
14
+ True
15
+ sage: x*y
16
+ x*y
17
+ sage: (x*y)^0
18
+ 1
19
+ sage: (x*y)^3
20
+ x*y*x*y*x*y
21
+ """
22
+
23
+ #*****************************************************************************
24
+ # Copyright (C) 2005 David Kohel <kohel@maths.usyd.edu>
25
+ #
26
+ # Distributed under the terms of the GNU General Public License (GPL)
27
+ #
28
+ # This code is distributed in the hope that it will be useful,
29
+ # but WITHOUT ANY WARRANTY; without even the implied warranty
30
+ # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
31
+ #
32
+ # See the GNU General Public License for more details; the full text
33
+ # is available at:
34
+ #
35
+ # http://www.gnu.org/licenses/
36
+ #*****************************************************************************
37
+
38
+ from sage.misc.repr import repr_lincomb
39
+ from sage.monoids.free_monoid_element import FreeMonoidElement
40
+ from sage.modules.with_basis.indexed_element import IndexedFreeModuleElement
41
+ from sage.structure.element import AlgebraElement
42
+
43
+
44
+ class FreeAlgebraElement(IndexedFreeModuleElement, AlgebraElement):
45
+ """
46
+ A free algebra element.
47
+
48
+ TESTS:
49
+
50
+ The ordering is inherited from ``IndexedFreeModuleElement``::
51
+
52
+ sage: R.<x,y> = FreeAlgebra(QQ,2)
53
+ sage: x < y
54
+ True
55
+ sage: x * y < y * x
56
+ True
57
+ sage: y * x < x * y
58
+ False
59
+ """
60
+ def __init__(self, A, x):
61
+ """
62
+ Create the element ``x`` of the FreeAlgebra ``A``.
63
+
64
+ TESTS::
65
+
66
+ sage: F.<x,y,z> = FreeAlgebra(QQ, 3)
67
+ sage: elt = x^3 * y - z^2*x
68
+ sage: TestSuite(elt).run()
69
+ """
70
+ if isinstance(x, FreeAlgebraElement):
71
+ # We should have an input for when we know we don't need to
72
+ # convert the keys/values
73
+ x = x._monomial_coefficients
74
+ R = A.base_ring()
75
+ if isinstance(x, AlgebraElement): # and x.parent() == A.base_ring():
76
+ x = {A.monoid()(1): R(x)}
77
+ elif isinstance(x, FreeMonoidElement):
78
+ x = {x: R(1)}
79
+ elif True:
80
+ x = {A.monoid()(e1): R(e2) for e1, e2 in x.items()}
81
+ else:
82
+ raise TypeError("argument x (= {}) is of the wrong type".format(x))
83
+
84
+ IndexedFreeModuleElement.__init__(self, A, x)
85
+
86
+ def _repr_(self):
87
+ """
88
+ Return string representation of ``self``.
89
+
90
+ EXAMPLES::
91
+
92
+ sage: A.<x,y,z> = FreeAlgebra(ZZ,3)
93
+ sage: repr(-x+3*y*z) # indirect doctest
94
+ '-x + 3*y*z'
95
+
96
+ Github issue :issue:`11068` enables the use of local variable names::
97
+
98
+ sage: from sage.structure.parent_gens import localvars
99
+ sage: with localvars(A, ['a','b','c']):
100
+ ....: print(-x+3*y*z)
101
+ -a + 3*b*c
102
+ """
103
+ v = sorted(self._monomial_coefficients.items())
104
+ P = self.parent()
105
+ M = P.monoid()
106
+ from sage.structure.parent_gens import localvars
107
+ with localvars(M, P.variable_names(), normalize=False):
108
+ x = repr_lincomb(v, strip_one=True)
109
+ return x
110
+
111
+ def _latex_(self):
112
+ r"""
113
+ Return latex representation of ``self``.
114
+
115
+ EXAMPLES::
116
+
117
+ sage: A.<x,y,z>=FreeAlgebra(ZZ,3)
118
+ sage: latex(-x+3*y^20*z) # indirect doctest
119
+ -x + 3 y^{20}z
120
+ sage: alpha,beta,gamma=FreeAlgebra(ZZ,3,'alpha,beta,gamma').gens()
121
+ sage: latex(alpha-beta)
122
+ \alpha - \beta
123
+ """
124
+ v = sorted(self._monomial_coefficients.items())
125
+ return repr_lincomb(v, strip_one=True, is_latex=True)
126
+
127
+ def __call__(self, *x, **kwds):
128
+ """
129
+ EXAMPLES::
130
+
131
+ sage: A.<x,y,z>=FreeAlgebra(ZZ,3)
132
+ sage: (x+3*y).subs(x=1,y=2,z=14)
133
+ 7
134
+ sage: (2*x+y).subs({x:1,y:z})
135
+ 2 + z
136
+ sage: f=x+3*y+z
137
+ sage: f(1,2,1/2)
138
+ 15/2
139
+ sage: f(1,2)
140
+ Traceback (most recent call last):
141
+ ...
142
+ ValueError: must specify as many values as generators in parent
143
+
144
+ AUTHORS:
145
+
146
+ - Joel B. Mohler (2007-10-27)
147
+ """
148
+ if kwds and x:
149
+ raise ValueError("must not specify both a keyword and positional argument")
150
+
151
+ if kwds:
152
+ p = self.parent()
153
+
154
+ def extract_from(kwds, g):
155
+ for x in g:
156
+ try:
157
+ return kwds[x]
158
+ except KeyError:
159
+ pass
160
+ return None
161
+
162
+ x = [extract_from(kwds,(p.gen(i),p.variable_name(i))) for i in range(p.ngens())]
163
+ elif isinstance(x[0], tuple):
164
+ x = x[0]
165
+
166
+ if len(x) != self.parent().ngens():
167
+ raise ValueError("must specify as many values as generators in parent")
168
+
169
+ # I don't start with 0, because I don't want to preclude evaluation with
170
+ # arbitrary objects (e.g. matrices) because of funny coercion.
171
+ result = None
172
+ for m, c in self._monomial_coefficients.items():
173
+ if result is None:
174
+ result = c*m(x)
175
+ else:
176
+ result += c*m(x)
177
+
178
+ if result is None:
179
+ return self.parent().zero()
180
+ return result
181
+
182
+ def _mul_(self, y):
183
+ """
184
+ Return the product of ``self`` and ``y`` (another free algebra
185
+ element with the same parent).
186
+
187
+ EXAMPLES::
188
+
189
+ sage: A.<x,y,z> = FreeAlgebra(ZZ,3)
190
+ sage: (x+y+x*y)*(x+y+1)
191
+ x + y + x^2 + 2*x*y + y*x + y^2 + x*y*x + x*y^2
192
+ """
193
+ A = self.parent()
194
+ z_elt = {}
195
+ for mx, cx in self:
196
+ for my, cy in y:
197
+ key = mx*my
198
+ if key in z_elt:
199
+ z_elt[key] += cx*cy
200
+ else:
201
+ z_elt[key] = cx*cy
202
+ if not z_elt[key]:
203
+ del z_elt[key]
204
+ return A._from_dict(z_elt)
205
+
206
+ def is_unit(self):
207
+ r"""
208
+ Return ``True`` if ``self`` is invertible.
209
+
210
+ EXAMPLES::
211
+
212
+ sage: A.<x, y, z> = FreeAlgebra(ZZ)
213
+ sage: A(-1).is_unit()
214
+ True
215
+ sage: A(2).is_unit()
216
+ False
217
+ sage: A(1 + x).is_unit()
218
+ False
219
+ sage: A.<x, y> = FreeAlgebra(QQ, degrees=(1,-1))
220
+ sage: A(x * y).is_unit()
221
+ False
222
+ sage: A(2).is_unit()
223
+ True
224
+ """
225
+ mc = self._monomial_coefficients
226
+ if not mc or len(mc) > 1:
227
+ return False
228
+ m, c = next(iter(mc.items()))
229
+ return m.is_one() and c.is_unit()
230
+
231
+ def __invert__(self):
232
+ """
233
+ EXAMPLES::
234
+
235
+ sage: A.<x, y, z> = FreeAlgebra(QQ)
236
+ sage: ~A(1)
237
+ 1
238
+
239
+ TESTS::
240
+
241
+ sage: ~A(0)
242
+ Traceback (most recent call last):
243
+ ...
244
+ ArithmeticError: element is not invertible
245
+
246
+ sage: ~A(1 + x)
247
+ Traceback (most recent call last):
248
+ ...
249
+ ArithmeticError: element is not invertible
250
+ """
251
+ if self.is_unit():
252
+ m, c = next(iter(self._monomial_coefficients.items()))
253
+ return type(self)(self.parent(), {m: c.inverse_of_unit()})
254
+ raise ArithmeticError("element is not invertible")
255
+
256
+ def _acted_upon_(self, scalar, self_on_left=False):
257
+ """
258
+ Return the action of a scalar on ``self``.
259
+
260
+ EXAMPLES::
261
+
262
+ sage: R.<x,y> = FreeAlgebra(QQ,2)
263
+ sage: f = Factorization([(x,2),(y,3)]); f
264
+ x^2 * y^3
265
+ sage: x * f
266
+ x^3 * y^3
267
+ sage: f * x
268
+ x^2 * y^3 * x
269
+ """
270
+ from sage.structure.factorization import Factorization
271
+ # FIXME: Make factorization work properly in the coercion framework
272
+ # Keep factorization since we want to "coerce" into a factorization
273
+ if isinstance(scalar, Factorization):
274
+ if self_on_left:
275
+ return Factorization([(self, 1)]) * scalar
276
+ return scalar * Factorization([(self, 1)])
277
+ return super()._acted_upon_(scalar, self_on_left)
278
+
279
+ # For backward compatibility
280
+ # _lmul_ = _acted_upon_
281
+ # _rmul_ = _acted_upon_
282
+
283
+ def _im_gens_(self, codomain, im_gens, base_map):
284
+ """
285
+ Apply a morphism defined by its values on the generators.
286
+
287
+ EXAMPLES::
288
+
289
+ sage: ring = algebras.Free(QQ, ['a', 'b'])
290
+ sage: a, b = ring.gens()
291
+ sage: A = matrix(QQ, 2, 2, [2, 3, 4, 1])
292
+ sage: B = matrix(QQ, 2, 2, [1, 7, 7, 1])
293
+ sage: f = ring.hom([A, B])
294
+ sage: f(a*b+1)
295
+ [24 17]
296
+ [11 30]
297
+ """
298
+ n = self.parent().ngens()
299
+ if n == 0:
300
+ cf = next(iter(self._monomial_coefficients.values()))
301
+ return codomain.coerce(cf)
302
+
303
+ if base_map is None:
304
+ base_map = codomain
305
+
306
+ return codomain.sum(base_map(c) * m(*im_gens)
307
+ for m, c in self._monomial_coefficients.items())
308
+
309
+ def variables(self):
310
+ """
311
+ Return the variables used in ``self``.
312
+
313
+ EXAMPLES::
314
+
315
+ sage: A.<x,y,z> = FreeAlgebra(ZZ,3)
316
+ sage: elt = x + x*y + x^3*y
317
+ sage: elt.variables()
318
+ [x, y]
319
+ sage: elt = x + x^2 - x^4
320
+ sage: elt.variables()
321
+ [x]
322
+ sage: elt = x + z*y + z*x
323
+ sage: elt.variables()
324
+ [x, y, z]
325
+ """
326
+ v = set()
327
+ for s in self._monomial_coefficients: # Only gets the keys
328
+ for var, _ in s:
329
+ v.add(var)
330
+ A = self.parent()
331
+ return sorted(map(A, v))
332
+
333
+ def to_pbw_basis(self):
334
+ """
335
+ Return ``self`` in the Poincaré-Birkhoff-Witt (PBW) basis.
336
+
337
+ EXAMPLES::
338
+
339
+ sage: F.<x,y,z> = FreeAlgebra(ZZ, 3)
340
+ sage: p = x^2*y + 3*y*x + 2
341
+ sage: p.to_pbw_basis()
342
+ 2*PBW[1] + 3*PBW[y]*PBW[x] + PBW[x^2*y]
343
+ + 2*PBW[x*y]*PBW[x] + PBW[y]*PBW[x]^2
344
+ """
345
+ return self.parent().pbw_element(self)