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,332 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ # sage.doctest: needs sage.combinat sage.modules
3
+
4
+ cdef extern from 'symmetrica/def.h':
5
+ INT mult_schubert_schubert(OP a, OP b, OP result)
6
+ INT m_perm_sch(OP a, OP b)
7
+ INT t_SCHUBERT_POLYNOM(OP a, OP b)
8
+ INT t_POLYNOM_SCHUBERT(OP a, OP b)
9
+ INT mult_schubert_variable(OP a, OP i, OP r)
10
+ INT divdiff_perm_schubert(OP perm, OP sb, OP res)
11
+ INT scalarproduct_schubert(OP a, OP b, OP c)
12
+ INT divdiff_schubert(OP a, OP schub, OP res)
13
+
14
+ INT t_2SCHUBERT_POLYNOM(OP a,OP b)
15
+ INT mult_schubert_polynom(OP a,OP b,OP c)
16
+
17
+
18
+ cdef object _check_schubert(object a, OP ca):
19
+ if a in Permutations():
20
+ if isinstance(a, builtinlist):
21
+ a = Permutation(a)
22
+ _op_schubert_perm(a, ca)
23
+ return max(a.reduced_word()+[0])
24
+ elif isinstance(a, SchubertPolynomial_class):
25
+ br = a.parent().base_ring()
26
+ if (br == QQ or br == ZZ):
27
+ _op_schubert_sp(a, ca)
28
+ return min(max(i.reduced_word(), default=0) for i in a.support())
29
+ else:
30
+ raise ValueError("a must be a Schubert polynomial over ZZ or QQ")
31
+ else:
32
+ raise TypeError("a must be a permutation or a Schubert polynomial")
33
+
34
+
35
+ def mult_schubert_schubert_symmetrica(a, b):
36
+ """
37
+ Multiply the Schubert polynomials `a` and `b`.
38
+
39
+ EXAMPLES::
40
+
41
+ sage: symmetrica.mult_schubert_schubert([3,2,1], [3,2,1])
42
+ X[5, 3, 1, 2, 4]
43
+ """
44
+ late_import()
45
+
46
+ cdef OP ca = callocobject(), cb = callocobject(), cres = callocobject()
47
+
48
+ try:
49
+ max_a = _check_schubert(a, ca)
50
+ max_b = _check_schubert(b, cb)
51
+ except (ValueError, TypeError), err:
52
+ freeall(ca)
53
+ freeall(cb)
54
+ freeall(cres)
55
+ raise err
56
+
57
+ sig_on()
58
+ mult_schubert_schubert(ca, cb, cres)
59
+ sig_off()
60
+
61
+ res = _py(cres)
62
+
63
+ freeall(ca)
64
+ freeall(cb)
65
+ freeall(cres)
66
+
67
+ return res
68
+
69
+
70
+ def t_SCHUBERT_POLYNOM_symmetrica(a):
71
+ """
72
+ Convert a Schubert polynomial to a 'regular' multivariate
73
+ polynomial.
74
+
75
+ EXAMPLES::
76
+
77
+ sage: symmetrica.t_SCHUBERT_POLYNOM([3,2,1])
78
+ x0^2*x1
79
+ """
80
+ late_import()
81
+
82
+ cdef OP ca = callocobject(), cres = callocobject()
83
+
84
+ try:
85
+ max_a = _check_schubert(a, ca)
86
+ except (ValueError, TypeError), err:
87
+ freeall(ca)
88
+ freeall(cres)
89
+ raise err
90
+
91
+ sig_on()
92
+ t_SCHUBERT_POLYNOM(ca, cres)
93
+ sig_off()
94
+
95
+ res = _py(cres)
96
+
97
+ freeall(ca)
98
+ freeall(cres)
99
+
100
+ return res
101
+
102
+
103
+ def t_POLYNOM_SCHUBERT_symmetrica(a):
104
+ """
105
+ Convert a multivariate polynomial a to a Schubert polynomial.
106
+
107
+ EXAMPLES::
108
+
109
+ sage: R.<x1,x2,x3> = QQ[]
110
+ sage: w0 = x1^2*x2
111
+ sage: symmetrica.t_POLYNOM_SCHUBERT(w0)
112
+ X[3, 2, 1]
113
+ """
114
+ late_import()
115
+
116
+ cdef OP ca = callocobject(), cres = callocobject()
117
+
118
+ if not isinstance(a, MPolynomial):
119
+ freeall(ca)
120
+ freeall(cres)
121
+ raise TypeError("a (= %s) must be a multivariate polynomial")
122
+ else:
123
+ br = a.parent().base_ring()
124
+ if br != QQ and br != ZZ:
125
+ freeall(ca)
126
+ freeall(cres)
127
+ raise ValueError("a's base ring must be either ZZ or QQ")
128
+ else:
129
+ _op_polynom(a, ca)
130
+
131
+ sig_on()
132
+ t_POLYNOM_SCHUBERT(ca, cres)
133
+ sig_off()
134
+
135
+ res = _py(cres)
136
+
137
+ freeall(ca)
138
+ freeall(cres)
139
+
140
+ return res
141
+
142
+
143
+ def mult_schubert_variable_symmetrica(a, i):
144
+ """
145
+ Return the product of `a` and `x_i`. Note that indexing with `i`
146
+ starts at 1.
147
+
148
+ EXAMPLES::
149
+
150
+ sage: symmetrica.mult_schubert_variable([3,2,1], 2)
151
+ X[3, 2, 4, 1]
152
+ sage: symmetrica.mult_schubert_variable([3,2,1], 4)
153
+ X[3, 2, 1, 4, 6, 5] - X[3, 2, 1, 5, 4]
154
+ """
155
+ late_import()
156
+
157
+ cdef OP ca = callocobject(), ci = callocobject(), cres = callocobject()
158
+
159
+ try:
160
+ max_a = _check_schubert(a, ca)
161
+ except (ValueError, TypeError), err:
162
+ freeall(ca)
163
+ freeall(ci)
164
+ freeall(cres)
165
+ raise err
166
+
167
+ _op_integer(i, ci)
168
+
169
+ sig_on()
170
+ mult_schubert_variable(ca, ci, cres)
171
+ sig_off()
172
+
173
+ res = _py(cres)
174
+
175
+ freeall(ca)
176
+ freeall(ci)
177
+ freeall(cres)
178
+
179
+ return res
180
+
181
+
182
+ def divdiff_perm_schubert_symmetrica(perm, a):
183
+ r"""
184
+ Return the result of applying the divided difference operator
185
+ `\delta_i` to `a` where `a` is either a permutation or a
186
+ Schubert polynomial over `\QQ`.
187
+
188
+ EXAMPLES::
189
+
190
+ sage: symmetrica.divdiff_perm_schubert([2,3,1], [3,2,1])
191
+ X[2, 1]
192
+ sage: symmetrica.divdiff_perm_schubert([3,1,2], [3,2,1])
193
+ X[1, 3, 2]
194
+ sage: symmetrica.divdiff_perm_schubert([3,2,4,1], [3,2,1])
195
+ Traceback (most recent call last):
196
+ ...
197
+ ValueError: cannot apply \delta_{[3, 2, 4, 1]} to a (= [3, 2, 1])
198
+ """
199
+ late_import()
200
+
201
+ cdef OP ca = callocobject(), cperm = callocobject(), cres = callocobject()
202
+
203
+ try:
204
+ max_a = _check_schubert(a, ca)
205
+ except (ValueError, TypeError), err:
206
+ freeall(ca)
207
+ freeall(cperm)
208
+ freeall(cres)
209
+ raise err
210
+
211
+ if perm not in Permutations():
212
+ freeall(ca)
213
+ freeall(cperm)
214
+ freeall(cres)
215
+ raise TypeError("perm must be a permutation")
216
+ else:
217
+ perm = Permutation(perm)
218
+ rw = perm.reduced_word()
219
+ max_perm = max(rw)
220
+ _op_permutation(perm, cperm)
221
+
222
+ if max_perm > max_a:
223
+ freeall(ca)
224
+ freeall(cperm)
225
+ freeall(cres)
226
+ raise ValueError(r"cannot apply \delta_{%s} to a (= %s)" % (perm, a))
227
+
228
+ sig_on()
229
+ divdiff_perm_schubert(cperm, ca, cres)
230
+ sig_off()
231
+
232
+ res = _py(cres)
233
+
234
+ freeall(ca)
235
+ freeall(cperm)
236
+ freeall(cres)
237
+
238
+ return res
239
+
240
+
241
+ def scalarproduct_schubert_symmetrica(a, b):
242
+ """
243
+ EXAMPLES::
244
+
245
+ sage: symmetrica.scalarproduct_schubert([3,2,1], [3,2,1])
246
+ X[1, 3, 5, 2, 4]
247
+ sage: symmetrica.scalarproduct_schubert([3,2,1], [2,1,3])
248
+ X[1, 2, 4, 3]
249
+ """
250
+ late_import()
251
+
252
+ cdef OP ca = callocobject(), cb = callocobject(), cres = callocobject()
253
+
254
+ try:
255
+ max_a = _check_schubert(a, ca)
256
+ max_b = _check_schubert(b, cb)
257
+ except (ValueError, TypeError), err:
258
+ freeall(ca)
259
+ freeall(cb)
260
+ freeall(cres)
261
+ raise err
262
+
263
+ sig_on()
264
+ scalarproduct_schubert(ca, cb, cres)
265
+ sig_off()
266
+
267
+ if empty_listp(cres):
268
+ res = Integer(0)
269
+ else:
270
+ res = _py(cres)
271
+
272
+ freeall(ca)
273
+ freeall(cb)
274
+ freeall(cres)
275
+
276
+ return res
277
+
278
+
279
+ def divdiff_schubert_symmetrica(i, a):
280
+ r"""
281
+ Return the result of applying the divided difference operator
282
+ `\delta_i` to `a` where `a` is either a permutation or a
283
+ Schubert polynomial over `\QQ`.
284
+
285
+ EXAMPLES::
286
+
287
+ sage: symmetrica.divdiff_schubert(1, [3,2,1])
288
+ X[2, 3, 1]
289
+ sage: symmetrica.divdiff_schubert(2, [3,2,1])
290
+ X[3, 1, 2]
291
+ sage: symmetrica.divdiff_schubert(3, [3,2,1])
292
+ Traceback (most recent call last):
293
+ ...
294
+ ValueError: cannot apply \delta_{3} to a (= [3, 2, 1])
295
+ """
296
+ late_import()
297
+
298
+ cdef OP ca = callocobject(), ci = callocobject(), cres = callocobject()
299
+
300
+ try:
301
+ max_a = _check_schubert(a, ca)
302
+ except (ValueError, TypeError), err:
303
+ freeall(ca)
304
+ freeall(ci)
305
+ freeall(cres)
306
+ raise err
307
+
308
+ if not isinstance(i, (int, Integer)):
309
+ freeall(ca)
310
+ freeall(ci)
311
+ freeall(cres)
312
+ raise TypeError("i must be an integer")
313
+ else:
314
+ _op_integer(i, ci)
315
+
316
+ if i > max_a or i <= 0:
317
+ freeall(ca)
318
+ freeall(ci)
319
+ freeall(cres)
320
+ raise ValueError(r"cannot apply \delta_{%s} to a (= %s)" % (i, a))
321
+
322
+ sig_on()
323
+ divdiff_schubert(ci, ca, cres)
324
+ sig_off()
325
+
326
+ res = _py(cres)
327
+
328
+ freeall(ca)
329
+ freeall(ci)
330
+ freeall(cres)
331
+
332
+ return res
@@ -0,0 +1,192 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ # sage.doctest: needs sage.combinat sage.modules
3
+
4
+ cdef extern from 'symmetrica/def.h':
5
+ INT chartafel(OP degree, OP result)
6
+ INT charvalue(OP irred, OP cls, OP result, OP table)
7
+ INT kranztafel(OP a, OP b, OP res, OP co, OP cl)
8
+ INT c_ijk_sn(OP i, OP j, OP k, OP res)
9
+
10
+
11
+ def chartafel_symmetrica(n):
12
+ """
13
+ You enter the degree of the symmetric group, as INTEGER
14
+ object and the result is a MATRIX object: the charactertable
15
+ of the symmetric group of the given degree.
16
+
17
+ EXAMPLES::
18
+
19
+ sage: symmetrica.chartafel(3)
20
+ [ 1 1 1]
21
+ [-1 0 2]
22
+ [ 1 -1 1]
23
+ sage: symmetrica.chartafel(4)
24
+ [ 1 1 1 1 1]
25
+ [-1 0 -1 1 3]
26
+ [ 0 -1 2 0 2]
27
+ [ 1 0 -1 -1 3]
28
+ [-1 1 1 -1 1]
29
+ """
30
+ cdef OP cn, cres
31
+
32
+ cn = callocobject()
33
+ cres = callocobject()
34
+
35
+ _op_integer(n, cn)
36
+
37
+ chartafel(cn, cres)
38
+
39
+ res = _py(cres)
40
+
41
+ freeall(cn)
42
+ freeall(cres)
43
+
44
+ return res
45
+
46
+
47
+ def charvalue_symmetrica(irred, cls, table=None):
48
+ """
49
+ You enter a PARTITION object part, labelling the irreducible
50
+ character, you enter a PARTITION object class, labeling the class
51
+ or class may be a PERMUTATION object, then result becomes the value
52
+ of that character on that class or permutation. Note that the
53
+ table may be NULL, in which case the value is computed, or it may be
54
+ taken from a precalculated charactertable.
55
+
56
+ FIXME: add table parameter
57
+
58
+ EXAMPLES::
59
+
60
+ sage: n = 3
61
+ sage: m = matrix([[symmetrica.charvalue(irred, cls) for cls in Partitions(n)]
62
+ ....: for irred in Partitions(n)]); m
63
+ [ 1 1 1]
64
+ [-1 0 2]
65
+ [ 1 -1 1]
66
+ sage: m == symmetrica.chartafel(n)
67
+ True
68
+ sage: n = 4
69
+ sage: m = matrix([[symmetrica.charvalue(irred, cls) for cls in Partitions(n)]
70
+ ....: for irred in Partitions(n)])
71
+ sage: m == symmetrica.chartafel(n)
72
+ True
73
+ """
74
+ cdef OP cirred, cclass, ctable, cresult
75
+
76
+ cirred = callocobject()
77
+ cclass = callocobject()
78
+ cresult = callocobject()
79
+
80
+ if table is None:
81
+ ctable = NULL
82
+ else:
83
+ ctable = callocobject()
84
+ _op_matrix(table, ctable)
85
+
86
+ #FIXME: assume that class is a partition
87
+ _op_partition(cls, cclass)
88
+
89
+ _op_partition(irred, cirred)
90
+
91
+ charvalue(cirred, cclass, cresult, ctable)
92
+
93
+ res = _py(cresult)
94
+
95
+ freeall(cirred)
96
+ freeall(cclass)
97
+ freeall(cresult)
98
+ if ctable != NULL:
99
+ freeall(ctable)
100
+
101
+ return res
102
+
103
+
104
+ def kranztafel_symmetrica(a, b):
105
+ r"""
106
+ You enter the INTEGER objects, say `a` and `b`, and ``res`` becomes a
107
+ MATRIX object, the charactertable of `S_b \wr S_a`, ``co`` becomes a
108
+ VECTOR object of classorders and ``cl`` becomes a VECTOR object of
109
+ the classlabels.
110
+
111
+ EXAMPLES::
112
+
113
+ sage: (a,b,c) = symmetrica.kranztafel(2,2)
114
+ sage: a
115
+ [ 1 -1 1 -1 1]
116
+ [ 1 1 1 1 1]
117
+ [-1 1 1 -1 1]
118
+ [ 0 0 2 0 -2]
119
+ [-1 -1 1 1 1]
120
+ sage: b
121
+ [2, 2, 1, 2, 1]
122
+ sage: for m in c: print(m)
123
+ [0 0]
124
+ [0 1]
125
+ [0 0]
126
+ [1 0]
127
+ [0 2]
128
+ [0 0]
129
+ [1 1]
130
+ [0 0]
131
+ [2 0]
132
+ [0 0]
133
+ """
134
+ cdef OP ca, cb, cres, cco, ccl
135
+
136
+ ca = callocobject()
137
+ cb = callocobject()
138
+ cres = callocobject()
139
+ cco = callocobject()
140
+ ccl = callocobject()
141
+
142
+ _op_integer(a, ca)
143
+ _op_integer(b, cb)
144
+
145
+ kranztafel(ca,cb,cres,cco,ccl)
146
+
147
+ res = _py(cres)
148
+ co = _py(cco)
149
+ cl = _py(ccl)
150
+
151
+ freeall(ca)
152
+ freeall(cb)
153
+ freeall(cres)
154
+ freeall(cco)
155
+ freeall(ccl)
156
+
157
+ return (res, co, cl)
158
+
159
+
160
+ ## def c_ijk_sn_symmetrica(i, j, k):
161
+ ## """
162
+ ## computes the coefficients of the class multiplication in the
163
+ ## group algebra of the S_n. It uses the method described in
164
+ ## Curtis/Reiner: Methods of representation theory I p. 216
165
+
166
+ ## EXAMPLES:
167
+
168
+ ## """
169
+
170
+ ## cdef OP ci, cj, ck, cresult
171
+
172
+
173
+ ## ci = callocobject()
174
+ ## cj = callocobject()
175
+ ## cresult = callocobject()
176
+ ## ck = callocobject()
177
+
178
+
179
+ ## _op_partition(i, ci)
180
+ ## _op_partition(j, cj)
181
+ ## _op_partition(k, ck)
182
+
183
+ ## c_ijk_sn(ci, cj, ck, cresult)
184
+
185
+ ## res = _py(cresult)
186
+
187
+ ## freeall(ci)
188
+ ## freeall(cj)
189
+ ## freeall(cresult)
190
+ ## freeall(ck)
191
+
192
+ ## return res