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,260 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ # sage.doctest: needs sage.combinat sage.graphs sage.modules
3
+ """
4
+ Direct sum of crystals
5
+ """
6
+ # ****************************************************************************
7
+ # Copyright (C) 2010 Anne Schilling <anne at math.ucdavis.edu>
8
+ #
9
+ # Distributed under the terms of the GNU General Public License (GPL)
10
+ #
11
+ # This code is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ # General Public License for more details.
15
+ #
16
+ # The full text of the GPL is available at:
17
+ #
18
+ # http://www.gnu.org/licenses/
19
+ # ***************************************************************************
20
+
21
+ from sage.categories.category import Category
22
+ from sage.sets.disjoint_union_enumerated_sets import DisjointUnionEnumeratedSets
23
+ from sage.sets.family import Family
24
+ from sage.structure.element_wrapper import ElementWrapper
25
+ from sage.structure.element import get_coercion_model
26
+
27
+
28
+ class DirectSumOfCrystals(DisjointUnionEnumeratedSets):
29
+ r"""
30
+ Direct sum of crystals.
31
+
32
+ Given a list of crystals `B_0, \ldots, B_k` of the same Cartan type,
33
+ one can form the direct sum `B_0 \oplus \cdots \oplus B_k`.
34
+
35
+ INPUT:
36
+
37
+ - ``crystals`` -- list of crystals of the same Cartan type
38
+ - ``keepkey`` -- boolean
39
+
40
+ The option ``keepkey`` is by default set to ``False``, assuming
41
+ that the crystals are all distinct. In this case the elements of
42
+ the direct sum are just represented by the elements in the
43
+ crystals `B_i`. If the crystals are not all distinct, one should
44
+ set the ``keepkey`` option to ``True``. In this case, the
45
+ elements of the direct sum are represented as tuples `(i, b)`
46
+ where `b \in B_i`.
47
+
48
+ EXAMPLES::
49
+
50
+ sage: C = crystals.Letters(['A',2])
51
+ sage: C1 = crystals.Tableaux(['A',2],shape=[1,1])
52
+ sage: B = crystals.DirectSum([C,C1])
53
+ sage: B.list()
54
+ [1, 2, 3, [[1], [2]], [[1], [3]], [[2], [3]]]
55
+ sage: [b.f(1) for b in B]
56
+ [2, None, None, None, [[2], [3]], None]
57
+ sage: B.module_generators
58
+ (1, [[1], [2]])
59
+
60
+ ::
61
+
62
+ sage: B = crystals.DirectSum([C,C], keepkey=True)
63
+ sage: B.list()
64
+ [(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3)]
65
+ sage: B.module_generators
66
+ ((0, 1), (1, 1))
67
+ sage: b = B( tuple([0,C(1)]) )
68
+ sage: b
69
+ (0, 1)
70
+ sage: b.weight()
71
+ (1, 0, 0)
72
+
73
+ The following is required, because
74
+ :class:`~sage.combinat.crystals.direct_sum.DirectSumOfCrystals`
75
+ takes the same arguments as :class:`DisjointUnionEnumeratedSets`
76
+ (which see for details).
77
+
78
+ TESTS::
79
+
80
+ sage: C = crystals.Letters(['A',2])
81
+ sage: B = crystals.DirectSum([C,C], keepkey=True)
82
+ sage: B
83
+ Direct sum of the crystals Family (The crystal of letters for type ['A', 2], The crystal of letters for type ['A', 2])
84
+
85
+ sage: TestSuite(C).run()
86
+ """
87
+ @staticmethod
88
+ def __classcall_private__(cls, crystals, facade=True, keepkey=False, category=None):
89
+ """
90
+ Normalization of arguments; see :class:`UniqueRepresentation`.
91
+
92
+ TESTS:
93
+
94
+ We check that direct sum of crystals have unique representation::
95
+
96
+ sage: B = crystals.Tableaux(['A',2], shape=[2,1])
97
+ sage: C = crystals.Letters(['A',2])
98
+ sage: D1 = crystals.DirectSum([B, C])
99
+ sage: D2 = crystals.DirectSum((B, C))
100
+ sage: D1 is D2
101
+ True
102
+ sage: D3 = crystals.DirectSum([B, C, C])
103
+ sage: D4 = crystals.DirectSum([D1, C])
104
+ sage: D3 is D4
105
+ True
106
+ """
107
+ if not isinstance(facade, bool) or not isinstance(keepkey, bool):
108
+ raise TypeError
109
+ # Normalize the facade-keepkey by giving keepkey dominance
110
+ facade = not keepkey
111
+
112
+ # We expand out direct sums of crystals
113
+ ret = []
114
+ for x in Family(crystals):
115
+ if isinstance(x, DirectSumOfCrystals):
116
+ ret += list(x.crystals)
117
+ else:
118
+ ret.append(x)
119
+ category = Category.meet([Category.join(c.categories()) for c in ret])
120
+ return super().__classcall__(cls,
121
+ Family(ret), facade=facade, keepkey=keepkey, category=category)
122
+
123
+ def __init__(self, crystals, facade, keepkey, category, **options):
124
+ """
125
+ TESTS::
126
+
127
+ sage: C = crystals.Letters(['A',2])
128
+ sage: B = crystals.DirectSum([C,C], keepkey=True)
129
+ sage: B
130
+ Direct sum of the crystals Family (The crystal of letters for type ['A', 2], The crystal of letters for type ['A', 2])
131
+ sage: B.cartan_type()
132
+ ['A', 2]
133
+
134
+ sage: from sage.combinat.crystals.direct_sum import DirectSumOfCrystals
135
+ sage: isinstance(B, DirectSumOfCrystals)
136
+ True
137
+ """
138
+ DisjointUnionEnumeratedSets.__init__(self, crystals, keepkey=keepkey,
139
+ facade=facade, category=category)
140
+ self.rename("Direct sum of the crystals {}".format(crystals))
141
+ self._keepkey = keepkey
142
+ self.crystals = crystals
143
+ if len(crystals) == 0:
144
+ raise ValueError("the direct sum is empty")
145
+ else:
146
+ assert all(crystal.cartan_type() == crystals[0].cartan_type() for crystal in crystals)
147
+ self._cartan_type = crystals[0].cartan_type()
148
+ if keepkey:
149
+ self.module_generators = tuple([self((i, b))
150
+ for i, B in enumerate(crystals)
151
+ for b in B.module_generators])
152
+ else:
153
+ self.module_generators = sum((tuple(B.module_generators) for B in crystals), ())
154
+
155
+ def weight_lattice_realization(self):
156
+ r"""
157
+ Return the weight lattice realization used to express weights.
158
+
159
+ The weight lattice realization is the common parent which all
160
+ weight lattice realizations of the crystals of ``self`` coerce
161
+ into.
162
+
163
+ EXAMPLES::
164
+
165
+ sage: LaZ = RootSystem(['A',2,1]).weight_lattice(extended=True).fundamental_weights()
166
+ sage: LaQ = RootSystem(['A',2,1]).weight_space(extended=True).fundamental_weights()
167
+ sage: B = crystals.LSPaths(LaQ[1])
168
+ sage: B.weight_lattice_realization()
169
+ Extended weight space over the Rational Field of the Root system of type ['A', 2, 1]
170
+ sage: C = crystals.AlcovePaths(LaZ[1])
171
+ sage: C.weight_lattice_realization()
172
+ Extended weight lattice of the Root system of type ['A', 2, 1]
173
+ sage: D = crystals.DirectSum([B,C])
174
+ sage: D.weight_lattice_realization()
175
+ Extended weight space over the Rational Field of the Root system of type ['A', 2, 1]
176
+ """
177
+ cm = get_coercion_model()
178
+ return cm.common_parent(*[crystal.weight_lattice_realization()
179
+ for crystal in self.crystals])
180
+
181
+ class Element(ElementWrapper):
182
+ r"""
183
+ A class for elements of direct sums of crystals.
184
+ """
185
+
186
+ def e(self, i):
187
+ r"""
188
+ Return the action of `e_i` on ``self``.
189
+
190
+ EXAMPLES::
191
+
192
+ sage: C = crystals.Letters(['A',2])
193
+ sage: B = crystals.DirectSum([C,C], keepkey=True)
194
+ sage: [[b, b.e(2)] for b in B]
195
+ [[(0, 1), None], [(0, 2), None], [(0, 3), (0, 2)], [(1, 1), None], [(1, 2), None], [(1, 3), (1, 2)]]
196
+ """
197
+ v = self.value
198
+ vn = v[1].e(i)
199
+ if vn is None:
200
+ return None
201
+ else:
202
+ return self.parent()(tuple([v[0],vn]))
203
+
204
+ def f(self, i):
205
+ r"""
206
+ Return the action of `f_i` on ``self``.
207
+
208
+ EXAMPLES::
209
+
210
+ sage: C = crystals.Letters(['A',2])
211
+ sage: B = crystals.DirectSum([C,C], keepkey=True)
212
+ sage: [[b,b.f(1)] for b in B]
213
+ [[(0, 1), (0, 2)], [(0, 2), None], [(0, 3), None], [(1, 1), (1, 2)], [(1, 2), None], [(1, 3), None]]
214
+ """
215
+ v = self.value
216
+ vn = v[1].f(i)
217
+ if vn is None:
218
+ return None
219
+ else:
220
+ return self.parent()(tuple([v[0],vn]))
221
+
222
+ def weight(self):
223
+ r"""
224
+ Return the weight of ``self``.
225
+
226
+ EXAMPLES::
227
+
228
+ sage: C = crystals.Letters(['A',2])
229
+ sage: B = crystals.DirectSum([C,C], keepkey=True)
230
+ sage: b = B( tuple([0,C(2)]) )
231
+ sage: b
232
+ (0, 2)
233
+ sage: b.weight()
234
+ (0, 1, 0)
235
+ """
236
+ return self.value[1].weight()
237
+
238
+ def phi(self, i):
239
+ r"""
240
+ EXAMPLES::
241
+
242
+ sage: C = crystals.Letters(['A',2])
243
+ sage: B = crystals.DirectSum([C,C], keepkey=True)
244
+ sage: b = B( tuple([0,C(2)]) )
245
+ sage: b.phi(2)
246
+ 1
247
+ """
248
+ return self.value[1].phi(i)
249
+
250
+ def epsilon(self, i):
251
+ r"""
252
+ EXAMPLES::
253
+
254
+ sage: C = crystals.Letters(['A',2])
255
+ sage: B = crystals.DirectSum([C,C], keepkey=True)
256
+ sage: b = B( tuple([0,C(2)]) )
257
+ sage: b.epsilon(2)
258
+ 0
259
+ """
260
+ return self.value[1].epsilon(i)