passagemath-combinat 10.6.42__cp314-cp314t-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. passagemath_combinat/__init__.py +3 -0
  2. passagemath_combinat-10.6.42.dist-info/DELVEWHEEL +2 -0
  3. passagemath_combinat-10.6.42.dist-info/METADATA +160 -0
  4. passagemath_combinat-10.6.42.dist-info/RECORD +401 -0
  5. passagemath_combinat-10.6.42.dist-info/WHEEL +5 -0
  6. passagemath_combinat-10.6.42.dist-info/top_level.txt +3 -0
  7. passagemath_combinat.libs/libgmp-10-3a5f019e2510aeaad918cab2b57a689d.dll +0 -0
  8. passagemath_combinat.libs/libsymmetrica-3-7dcf900932804d0df5fd0919b4668720.dll +0 -0
  9. sage/algebras/affine_nil_temperley_lieb.py +263 -0
  10. sage/algebras/all.py +24 -0
  11. sage/algebras/all__sagemath_combinat.py +35 -0
  12. sage/algebras/askey_wilson.py +935 -0
  13. sage/algebras/associated_graded.py +345 -0
  14. sage/algebras/cellular_basis.py +350 -0
  15. sage/algebras/cluster_algebra.py +2766 -0
  16. sage/algebras/down_up_algebra.py +860 -0
  17. sage/algebras/free_algebra.py +1698 -0
  18. sage/algebras/free_algebra_element.py +345 -0
  19. sage/algebras/free_algebra_quotient.py +405 -0
  20. sage/algebras/free_algebra_quotient_element.py +295 -0
  21. sage/algebras/free_zinbiel_algebra.py +885 -0
  22. sage/algebras/hall_algebra.py +783 -0
  23. sage/algebras/hecke_algebras/all.py +4 -0
  24. sage/algebras/hecke_algebras/ariki_koike_algebra.py +1796 -0
  25. sage/algebras/hecke_algebras/ariki_koike_specht_modules.py +475 -0
  26. sage/algebras/hecke_algebras/cubic_hecke_algebra.py +3520 -0
  27. sage/algebras/hecke_algebras/cubic_hecke_base_ring.py +1473 -0
  28. sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py +1079 -0
  29. sage/algebras/iwahori_hecke_algebra.py +3095 -0
  30. sage/algebras/jordan_algebra.py +1773 -0
  31. sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py +113 -0
  32. sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py +156 -0
  33. sage/algebras/lie_conformal_algebras/all.py +18 -0
  34. sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py +134 -0
  35. sage/algebras/lie_conformal_algebras/examples.py +43 -0
  36. sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py +131 -0
  37. sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py +139 -0
  38. sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py +174 -0
  39. sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py +167 -0
  40. sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py +107 -0
  41. sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py +135 -0
  42. sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py +353 -0
  43. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py +236 -0
  44. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py +78 -0
  45. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py +328 -0
  46. sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py +117 -0
  47. sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py +86 -0
  48. sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py +82 -0
  49. sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py +205 -0
  50. sage/algebras/nil_coxeter_algebra.py +191 -0
  51. sage/algebras/q_commuting_polynomials.py +673 -0
  52. sage/algebras/q_system.py +608 -0
  53. sage/algebras/quantum_clifford.py +959 -0
  54. sage/algebras/quantum_groups/ace_quantum_onsager.py +693 -0
  55. sage/algebras/quantum_groups/all.py +9 -0
  56. sage/algebras/quantum_groups/fock_space.py +2219 -0
  57. sage/algebras/quantum_groups/q_numbers.py +207 -0
  58. sage/algebras/quantum_groups/quantum_group_gap.py +2695 -0
  59. sage/algebras/quantum_groups/representations.py +591 -0
  60. sage/algebras/quantum_matrix_coordinate_algebra.py +1006 -0
  61. sage/algebras/quantum_oscillator.py +623 -0
  62. sage/algebras/quaternion_algebra.py +20 -0
  63. sage/algebras/quaternion_algebra_element.py +55 -0
  64. sage/algebras/rational_cherednik_algebra.py +525 -0
  65. sage/algebras/schur_algebra.py +670 -0
  66. sage/algebras/shuffle_algebra.py +1011 -0
  67. sage/algebras/splitting_algebra.py +779 -0
  68. sage/algebras/tensor_algebra.py +709 -0
  69. sage/algebras/yangian.py +1082 -0
  70. sage/algebras/yokonuma_hecke_algebra.py +1018 -0
  71. sage/all__sagemath_combinat.py +44 -0
  72. sage/combinat/SJT.py +255 -0
  73. sage/combinat/affine_permutation.py +2405 -0
  74. sage/combinat/algebraic_combinatorics.py +55 -0
  75. sage/combinat/all.py +53 -0
  76. sage/combinat/all__sagemath_combinat.py +195 -0
  77. sage/combinat/alternating_sign_matrix.py +2063 -0
  78. sage/combinat/baxter_permutations.py +346 -0
  79. sage/combinat/bijectionist.py +3220 -0
  80. sage/combinat/binary_recurrence_sequences.py +1180 -0
  81. sage/combinat/blob_algebra.py +685 -0
  82. sage/combinat/catalog_partitions.py +27 -0
  83. sage/combinat/chas/all.py +23 -0
  84. sage/combinat/chas/fsym.py +1180 -0
  85. sage/combinat/chas/wqsym.py +2601 -0
  86. sage/combinat/cluster_complex.py +326 -0
  87. sage/combinat/colored_permutations.py +2039 -0
  88. sage/combinat/colored_permutations_representations.py +964 -0
  89. sage/combinat/composition_signed.py +142 -0
  90. sage/combinat/composition_tableau.py +855 -0
  91. sage/combinat/constellation.py +1729 -0
  92. sage/combinat/core.py +751 -0
  93. sage/combinat/counting.py +12 -0
  94. sage/combinat/crystals/affine.py +742 -0
  95. sage/combinat/crystals/affine_factorization.py +518 -0
  96. sage/combinat/crystals/affinization.py +331 -0
  97. sage/combinat/crystals/alcove_path.py +2013 -0
  98. sage/combinat/crystals/all.py +22 -0
  99. sage/combinat/crystals/bkk_crystals.py +141 -0
  100. sage/combinat/crystals/catalog.py +115 -0
  101. sage/combinat/crystals/catalog_elementary_crystals.py +18 -0
  102. sage/combinat/crystals/catalog_infinity_crystals.py +33 -0
  103. sage/combinat/crystals/catalog_kirillov_reshetikhin.py +18 -0
  104. sage/combinat/crystals/crystals.py +257 -0
  105. sage/combinat/crystals/direct_sum.py +260 -0
  106. sage/combinat/crystals/elementary_crystals.py +1251 -0
  107. sage/combinat/crystals/fast_crystals.py +441 -0
  108. sage/combinat/crystals/fully_commutative_stable_grothendieck.py +1205 -0
  109. sage/combinat/crystals/generalized_young_walls.py +1076 -0
  110. sage/combinat/crystals/highest_weight_crystals.py +436 -0
  111. sage/combinat/crystals/induced_structure.py +695 -0
  112. sage/combinat/crystals/infinity_crystals.py +730 -0
  113. sage/combinat/crystals/kac_modules.py +863 -0
  114. sage/combinat/crystals/kirillov_reshetikhin.py +4196 -0
  115. sage/combinat/crystals/kyoto_path_model.py +497 -0
  116. sage/combinat/crystals/letters.cp314t-win_amd64.pyd +0 -0
  117. sage/combinat/crystals/letters.pxd +79 -0
  118. sage/combinat/crystals/letters.pyx +3056 -0
  119. sage/combinat/crystals/littelmann_path.py +1518 -0
  120. sage/combinat/crystals/monomial_crystals.py +1262 -0
  121. sage/combinat/crystals/multisegments.py +462 -0
  122. sage/combinat/crystals/mv_polytopes.py +467 -0
  123. sage/combinat/crystals/pbw_crystal.py +511 -0
  124. sage/combinat/crystals/pbw_datum.cp314t-win_amd64.pyd +0 -0
  125. sage/combinat/crystals/pbw_datum.pxd +4 -0
  126. sage/combinat/crystals/pbw_datum.pyx +487 -0
  127. sage/combinat/crystals/polyhedral_realization.py +372 -0
  128. sage/combinat/crystals/spins.cp314t-win_amd64.pyd +0 -0
  129. sage/combinat/crystals/spins.pxd +21 -0
  130. sage/combinat/crystals/spins.pyx +756 -0
  131. sage/combinat/crystals/star_crystal.py +290 -0
  132. sage/combinat/crystals/subcrystal.py +464 -0
  133. sage/combinat/crystals/tensor_product.py +1177 -0
  134. sage/combinat/crystals/tensor_product_element.cp314t-win_amd64.pyd +0 -0
  135. sage/combinat/crystals/tensor_product_element.pxd +35 -0
  136. sage/combinat/crystals/tensor_product_element.pyx +1870 -0
  137. sage/combinat/crystals/virtual_crystal.py +420 -0
  138. sage/combinat/cyclic_sieving_phenomenon.py +204 -0
  139. sage/combinat/debruijn_sequence.cp314t-win_amd64.pyd +0 -0
  140. sage/combinat/debruijn_sequence.pyx +355 -0
  141. sage/combinat/decorated_permutation.py +270 -0
  142. sage/combinat/degree_sequences.cp314t-win_amd64.pyd +0 -0
  143. sage/combinat/degree_sequences.pyx +588 -0
  144. sage/combinat/derangements.py +527 -0
  145. sage/combinat/descent_algebra.py +1008 -0
  146. sage/combinat/diagram.py +1551 -0
  147. sage/combinat/diagram_algebras.py +5886 -0
  148. sage/combinat/dyck_word.py +4349 -0
  149. sage/combinat/e_one_star.py +1623 -0
  150. sage/combinat/enumerated_sets.py +123 -0
  151. sage/combinat/expnums.cp314t-win_amd64.pyd +0 -0
  152. sage/combinat/expnums.pyx +148 -0
  153. sage/combinat/fast_vector_partitions.cp314t-win_amd64.pyd +0 -0
  154. sage/combinat/fast_vector_partitions.pyx +346 -0
  155. sage/combinat/fqsym.py +1977 -0
  156. sage/combinat/free_dendriform_algebra.py +954 -0
  157. sage/combinat/free_prelie_algebra.py +1141 -0
  158. sage/combinat/fully_commutative_elements.py +1077 -0
  159. sage/combinat/fully_packed_loop.py +1523 -0
  160. sage/combinat/gelfand_tsetlin_patterns.py +1409 -0
  161. sage/combinat/gray_codes.py +311 -0
  162. sage/combinat/grossman_larson_algebras.py +667 -0
  163. sage/combinat/growth.py +4352 -0
  164. sage/combinat/hall_polynomial.py +188 -0
  165. sage/combinat/hillman_grassl.py +866 -0
  166. sage/combinat/integer_matrices.py +329 -0
  167. sage/combinat/integer_vectors_mod_permgroup.py +1238 -0
  168. sage/combinat/k_tableau.py +4564 -0
  169. sage/combinat/kazhdan_lusztig.py +215 -0
  170. sage/combinat/key_polynomial.py +885 -0
  171. sage/combinat/knutson_tao_puzzles.py +2286 -0
  172. sage/combinat/lr_tableau.py +311 -0
  173. sage/combinat/matrices/all.py +24 -0
  174. sage/combinat/matrices/hadamard_matrix.py +3790 -0
  175. sage/combinat/matrices/latin.py +2912 -0
  176. sage/combinat/misc.py +401 -0
  177. sage/combinat/multiset_partition_into_sets_ordered.py +3541 -0
  178. sage/combinat/ncsf_qsym/all.py +21 -0
  179. sage/combinat/ncsf_qsym/combinatorics.py +317 -0
  180. sage/combinat/ncsf_qsym/generic_basis_code.py +1427 -0
  181. sage/combinat/ncsf_qsym/ncsf.py +5637 -0
  182. sage/combinat/ncsf_qsym/qsym.py +4053 -0
  183. sage/combinat/ncsf_qsym/tutorial.py +447 -0
  184. sage/combinat/ncsym/all.py +21 -0
  185. sage/combinat/ncsym/bases.py +855 -0
  186. sage/combinat/ncsym/dual.py +593 -0
  187. sage/combinat/ncsym/ncsym.py +2076 -0
  188. sage/combinat/necklace.py +551 -0
  189. sage/combinat/non_decreasing_parking_function.py +634 -0
  190. sage/combinat/nu_dyck_word.py +1474 -0
  191. sage/combinat/output.py +861 -0
  192. sage/combinat/parallelogram_polyomino.py +4326 -0
  193. sage/combinat/parking_functions.py +1602 -0
  194. sage/combinat/partition_algebra.py +1998 -0
  195. sage/combinat/partition_kleshchev.py +1982 -0
  196. sage/combinat/partition_shifting_algebras.py +584 -0
  197. sage/combinat/partition_tuple.py +3114 -0
  198. sage/combinat/path_tableaux/all.py +13 -0
  199. sage/combinat/path_tableaux/catalog.py +29 -0
  200. sage/combinat/path_tableaux/dyck_path.py +380 -0
  201. sage/combinat/path_tableaux/frieze.py +476 -0
  202. sage/combinat/path_tableaux/path_tableau.py +728 -0
  203. sage/combinat/path_tableaux/semistandard.py +510 -0
  204. sage/combinat/perfect_matching.py +779 -0
  205. sage/combinat/plane_partition.py +3300 -0
  206. sage/combinat/q_bernoulli.cp314t-win_amd64.pyd +0 -0
  207. sage/combinat/q_bernoulli.pyx +128 -0
  208. sage/combinat/quickref.py +81 -0
  209. sage/combinat/recognizable_series.py +2051 -0
  210. sage/combinat/regular_sequence.py +4316 -0
  211. sage/combinat/regular_sequence_bounded.py +543 -0
  212. sage/combinat/restricted_growth.py +81 -0
  213. sage/combinat/ribbon.py +20 -0
  214. sage/combinat/ribbon_shaped_tableau.py +489 -0
  215. sage/combinat/ribbon_tableau.py +1180 -0
  216. sage/combinat/rigged_configurations/all.py +46 -0
  217. sage/combinat/rigged_configurations/bij_abstract_class.py +548 -0
  218. sage/combinat/rigged_configurations/bij_infinity.py +370 -0
  219. sage/combinat/rigged_configurations/bij_type_A.py +163 -0
  220. sage/combinat/rigged_configurations/bij_type_A2_dual.py +338 -0
  221. sage/combinat/rigged_configurations/bij_type_A2_even.py +218 -0
  222. sage/combinat/rigged_configurations/bij_type_A2_odd.py +199 -0
  223. sage/combinat/rigged_configurations/bij_type_B.py +900 -0
  224. sage/combinat/rigged_configurations/bij_type_C.py +267 -0
  225. sage/combinat/rigged_configurations/bij_type_D.py +771 -0
  226. sage/combinat/rigged_configurations/bij_type_D_tri.py +392 -0
  227. sage/combinat/rigged_configurations/bij_type_D_twisted.py +576 -0
  228. sage/combinat/rigged_configurations/bij_type_E67.py +402 -0
  229. sage/combinat/rigged_configurations/bijection.py +143 -0
  230. sage/combinat/rigged_configurations/kleber_tree.py +1475 -0
  231. sage/combinat/rigged_configurations/kr_tableaux.py +1898 -0
  232. sage/combinat/rigged_configurations/rc_crystal.py +461 -0
  233. sage/combinat/rigged_configurations/rc_infinity.py +540 -0
  234. sage/combinat/rigged_configurations/rigged_configuration_element.py +2403 -0
  235. sage/combinat/rigged_configurations/rigged_configurations.py +1918 -0
  236. sage/combinat/rigged_configurations/rigged_partition.cp314t-win_amd64.pyd +0 -0
  237. sage/combinat/rigged_configurations/rigged_partition.pxd +15 -0
  238. sage/combinat/rigged_configurations/rigged_partition.pyx +680 -0
  239. sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py +499 -0
  240. sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py +428 -0
  241. sage/combinat/rsk.py +3438 -0
  242. sage/combinat/schubert_polynomial.py +508 -0
  243. sage/combinat/set_partition.py +3318 -0
  244. sage/combinat/set_partition_iterator.cp314t-win_amd64.pyd +0 -0
  245. sage/combinat/set_partition_iterator.pyx +136 -0
  246. sage/combinat/set_partition_ordered.py +1590 -0
  247. sage/combinat/sf/abreu_nigro.py +346 -0
  248. sage/combinat/sf/all.py +52 -0
  249. sage/combinat/sf/character.py +576 -0
  250. sage/combinat/sf/classical.py +319 -0
  251. sage/combinat/sf/dual.py +996 -0
  252. sage/combinat/sf/elementary.py +549 -0
  253. sage/combinat/sf/hall_littlewood.py +1028 -0
  254. sage/combinat/sf/hecke.py +336 -0
  255. sage/combinat/sf/homogeneous.py +464 -0
  256. sage/combinat/sf/jack.py +1428 -0
  257. sage/combinat/sf/k_dual.py +1458 -0
  258. sage/combinat/sf/kfpoly.py +447 -0
  259. sage/combinat/sf/llt.py +789 -0
  260. sage/combinat/sf/macdonald.py +2019 -0
  261. sage/combinat/sf/monomial.py +525 -0
  262. sage/combinat/sf/multiplicative.py +113 -0
  263. sage/combinat/sf/new_kschur.py +1786 -0
  264. sage/combinat/sf/ns_macdonald.py +964 -0
  265. sage/combinat/sf/orthogonal.py +246 -0
  266. sage/combinat/sf/orthotriang.py +355 -0
  267. sage/combinat/sf/powersum.py +963 -0
  268. sage/combinat/sf/schur.py +880 -0
  269. sage/combinat/sf/sf.py +1653 -0
  270. sage/combinat/sf/sfa.py +7053 -0
  271. sage/combinat/sf/symplectic.py +253 -0
  272. sage/combinat/sf/witt.py +721 -0
  273. sage/combinat/shifted_primed_tableau.py +2735 -0
  274. sage/combinat/shuffle.py +830 -0
  275. sage/combinat/sidon_sets.py +146 -0
  276. sage/combinat/similarity_class_type.py +1721 -0
  277. sage/combinat/sine_gordon.py +618 -0
  278. sage/combinat/six_vertex_model.py +784 -0
  279. sage/combinat/skew_partition.py +2053 -0
  280. sage/combinat/skew_tableau.py +2989 -0
  281. sage/combinat/sloane_functions.py +8935 -0
  282. sage/combinat/specht_module.py +1403 -0
  283. sage/combinat/species/all.py +48 -0
  284. sage/combinat/species/characteristic_species.py +321 -0
  285. sage/combinat/species/composition_species.py +273 -0
  286. sage/combinat/species/cycle_species.py +284 -0
  287. sage/combinat/species/empty_species.py +155 -0
  288. sage/combinat/species/functorial_composition_species.py +148 -0
  289. sage/combinat/species/generating_series.py +673 -0
  290. sage/combinat/species/library.py +148 -0
  291. sage/combinat/species/linear_order_species.py +169 -0
  292. sage/combinat/species/misc.py +83 -0
  293. sage/combinat/species/partition_species.py +290 -0
  294. sage/combinat/species/permutation_species.py +268 -0
  295. sage/combinat/species/product_species.py +423 -0
  296. sage/combinat/species/recursive_species.py +476 -0
  297. sage/combinat/species/set_species.py +192 -0
  298. sage/combinat/species/species.py +820 -0
  299. sage/combinat/species/structure.py +539 -0
  300. sage/combinat/species/subset_species.py +243 -0
  301. sage/combinat/species/sum_species.py +225 -0
  302. sage/combinat/subword.py +564 -0
  303. sage/combinat/subword_complex.py +2122 -0
  304. sage/combinat/subword_complex_c.cp314t-win_amd64.pyd +0 -0
  305. sage/combinat/subword_complex_c.pyx +119 -0
  306. sage/combinat/super_tableau.py +821 -0
  307. sage/combinat/superpartition.py +1154 -0
  308. sage/combinat/symmetric_group_algebra.py +3774 -0
  309. sage/combinat/symmetric_group_representations.py +1830 -0
  310. sage/combinat/t_sequences.py +877 -0
  311. sage/combinat/tableau.py +9506 -0
  312. sage/combinat/tableau_residues.py +860 -0
  313. sage/combinat/tableau_tuple.py +5353 -0
  314. sage/combinat/tiling.py +2432 -0
  315. sage/combinat/triangles_FHM.py +777 -0
  316. sage/combinat/tutorial.py +1857 -0
  317. sage/combinat/vector_partition.py +337 -0
  318. sage/combinat/words/abstract_word.py +1722 -0
  319. sage/combinat/words/all.py +59 -0
  320. sage/combinat/words/alphabet.py +268 -0
  321. sage/combinat/words/finite_word.py +7201 -0
  322. sage/combinat/words/infinite_word.py +113 -0
  323. sage/combinat/words/lyndon_word.py +652 -0
  324. sage/combinat/words/morphic.py +351 -0
  325. sage/combinat/words/morphism.py +3878 -0
  326. sage/combinat/words/paths.py +2932 -0
  327. sage/combinat/words/shuffle_product.py +278 -0
  328. sage/combinat/words/suffix_trees.py +1873 -0
  329. sage/combinat/words/word.py +769 -0
  330. sage/combinat/words/word_char.cp314t-win_amd64.pyd +0 -0
  331. sage/combinat/words/word_char.pyx +847 -0
  332. sage/combinat/words/word_datatypes.cp314t-win_amd64.pyd +0 -0
  333. sage/combinat/words/word_datatypes.pxd +4 -0
  334. sage/combinat/words/word_datatypes.pyx +1067 -0
  335. sage/combinat/words/word_generators.py +2026 -0
  336. sage/combinat/words/word_infinite_datatypes.py +1218 -0
  337. sage/combinat/words/word_options.py +99 -0
  338. sage/combinat/words/words.py +2396 -0
  339. sage/data_structures/all__sagemath_combinat.py +1 -0
  340. sage/databases/all__sagemath_combinat.py +13 -0
  341. sage/databases/findstat.py +4897 -0
  342. sage/databases/oeis.py +2058 -0
  343. sage/databases/sloane.py +393 -0
  344. sage/dynamics/all__sagemath_combinat.py +14 -0
  345. sage/dynamics/cellular_automata/all.py +7 -0
  346. sage/dynamics/cellular_automata/catalog.py +34 -0
  347. sage/dynamics/cellular_automata/elementary.py +612 -0
  348. sage/dynamics/cellular_automata/glca.py +477 -0
  349. sage/dynamics/cellular_automata/solitons.py +1463 -0
  350. sage/dynamics/finite_dynamical_system.py +1249 -0
  351. sage/dynamics/finite_dynamical_system_catalog.py +382 -0
  352. sage/games/all.py +7 -0
  353. sage/games/hexad.py +704 -0
  354. sage/games/quantumino.py +591 -0
  355. sage/games/sudoku.py +889 -0
  356. sage/games/sudoku_backtrack.cp314t-win_amd64.pyd +0 -0
  357. sage/games/sudoku_backtrack.pyx +189 -0
  358. sage/groups/all__sagemath_combinat.py +1 -0
  359. sage/groups/indexed_free_group.py +489 -0
  360. sage/libs/all__sagemath_combinat.py +6 -0
  361. sage/libs/lrcalc/__init__.py +1 -0
  362. sage/libs/lrcalc/lrcalc.py +525 -0
  363. sage/libs/symmetrica/__init__.py +7 -0
  364. sage/libs/symmetrica/all.py +101 -0
  365. sage/libs/symmetrica/kostka.pxi +168 -0
  366. sage/libs/symmetrica/part.pxi +193 -0
  367. sage/libs/symmetrica/plet.pxi +42 -0
  368. sage/libs/symmetrica/sab.pxi +196 -0
  369. sage/libs/symmetrica/sb.pxi +332 -0
  370. sage/libs/symmetrica/sc.pxi +192 -0
  371. sage/libs/symmetrica/schur.pxi +956 -0
  372. sage/libs/symmetrica/symmetrica.cp314t-win_amd64.pyd +0 -0
  373. sage/libs/symmetrica/symmetrica.pxi +1172 -0
  374. sage/libs/symmetrica/symmetrica.pyx +39 -0
  375. sage/monoids/all.py +13 -0
  376. sage/monoids/automatic_semigroup.py +1054 -0
  377. sage/monoids/free_abelian_monoid.py +315 -0
  378. sage/monoids/free_abelian_monoid_element.cp314t-win_amd64.pyd +0 -0
  379. sage/monoids/free_abelian_monoid_element.pxd +16 -0
  380. sage/monoids/free_abelian_monoid_element.pyx +397 -0
  381. sage/monoids/free_monoid.py +335 -0
  382. sage/monoids/free_monoid_element.py +431 -0
  383. sage/monoids/hecke_monoid.py +65 -0
  384. sage/monoids/string_monoid.py +817 -0
  385. sage/monoids/string_monoid_element.py +547 -0
  386. sage/monoids/string_ops.py +143 -0
  387. sage/monoids/trace_monoid.py +972 -0
  388. sage/rings/all__sagemath_combinat.py +2 -0
  389. sage/sat/all.py +4 -0
  390. sage/sat/boolean_polynomials.py +405 -0
  391. sage/sat/converters/__init__.py +6 -0
  392. sage/sat/converters/anf2cnf.py +14 -0
  393. sage/sat/converters/polybori.py +611 -0
  394. sage/sat/solvers/__init__.py +5 -0
  395. sage/sat/solvers/cryptominisat.py +287 -0
  396. sage/sat/solvers/dimacs.py +783 -0
  397. sage/sat/solvers/picosat.py +228 -0
  398. sage/sat/solvers/sat_lp.py +156 -0
  399. sage/sat/solvers/satsolver.cp314t-win_amd64.pyd +0 -0
  400. sage/sat/solvers/satsolver.pxd +3 -0
  401. sage/sat/solvers/satsolver.pyx +405 -0
@@ -0,0 +1,21 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ r"""
3
+ Noncommutative symmetric functions and quasi-symmetric functions
4
+
5
+ - :ref:`sage.combinat.ncsf_qsym.tutorial`
6
+
7
+ - :ref:`Non-Commutative Symmetric Functions (NCSF) <sage.combinat.ncsf_qsym.ncsf>`
8
+ - :ref:`Quasi-Symmetric Functions (QSym) <sage.combinat.ncsf_qsym.qsym>`
9
+ - :ref:`sage.combinat.ncsf_qsym.generic_basis_code`
10
+ """
11
+ # install the docstring of this module to the containing package
12
+ from sage.misc.namespace_package import install_doc
13
+ install_doc(__package__, __doc__)
14
+
15
+ from sage.misc.lazy_import import lazy_import
16
+
17
+ lazy_import('sage.combinat.ncsf_qsym.qsym', 'QuasiSymmetricFunctions')
18
+ lazy_import('sage.combinat.ncsf_qsym.ncsf', 'NonCommutativeSymmetricFunctions')
19
+
20
+ del install_doc
21
+ del lazy_import
@@ -0,0 +1,317 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ r"""
3
+ Common combinatorial tools
4
+
5
+ REFERENCES:
6
+
7
+ .. [NCSF] Gelfand, Krob, Lascoux, Leclerc, Retakh, Thibon,
8
+ *Noncommutative Symmetric Functions*, Adv. Math. 112 (1995), no. 2, 218-348.
9
+
10
+ .. [QSCHUR] Haglund, Luoto, Mason, van Willigenburg,
11
+ *Quasisymmetric Schur functions*, J. Comb. Theory Ser. A 118 (2011), 463-490.
12
+ http://www.sciencedirect.com/science/article/pii/S0097316509001745 ,
13
+ :arxiv:`0810.2489v2`.
14
+
15
+ .. [Tev2007] Lenny Tevlin,
16
+ *Noncommutative Analogs of Monomial Symmetric Functions,
17
+ Cauchy Identity, and Hall Scalar Product*,
18
+ :arxiv:`0712.2201v1`.
19
+ """
20
+ from sage.misc.misc_c import prod
21
+ from sage.arith.misc import factorial
22
+ from sage.misc.cachefunc import cached_function
23
+ from sage.combinat.composition import Composition, Compositions
24
+ from sage.combinat.composition_tableau import CompositionTableaux
25
+ from sage.rings.integer_ring import ZZ
26
+
27
+
28
+ # The following might call for defining a morphism from ``structure
29
+ # coefficients'' / matrix using something like:
30
+ # Complete.module_morphism( coeff = coeff_pi, codomain=Psi, triangularity="finer" )
31
+ # the difficulty is how to best describe the support of the output.
32
+
33
+ def coeff_pi(J, I):
34
+ r"""
35
+ Return the coefficient `\pi_{J,I}` as defined in [NCSF]_.
36
+
37
+ INPUT:
38
+
39
+ - ``J`` -- a composition
40
+ - ``I`` -- a composition refining ``J``
41
+
42
+ OUTPUT: integer
43
+
44
+ EXAMPLES::
45
+
46
+ sage: from sage.combinat.ncsf_qsym.combinatorics import coeff_pi
47
+ sage: coeff_pi(Composition([1,1,1]), Composition([2,1]))
48
+ 2
49
+ sage: coeff_pi(Composition([2,1]), Composition([3]))
50
+ 6
51
+ """
52
+ return prod(prod(K.partial_sums()) for K in J.refinement_splitting(I))
53
+
54
+
55
+ def coeff_lp(J, I):
56
+ r"""
57
+ Return the coefficient `lp_{J,I}` as defined in [NCSF]_.
58
+
59
+ INPUT:
60
+
61
+ - ``J`` -- a composition
62
+ - ``I`` -- a composition refining ``J``
63
+
64
+ OUTPUT: integer
65
+
66
+ EXAMPLES::
67
+
68
+ sage: from sage.combinat.ncsf_qsym.combinatorics import coeff_lp
69
+ sage: coeff_lp(Composition([1,1,1]), Composition([2,1]))
70
+ 1
71
+ sage: coeff_lp(Composition([2,1]), Composition([3]))
72
+ 1
73
+ """
74
+ return prod(K[-1] for K in J.refinement_splitting(I))
75
+
76
+
77
+ def coeff_ell(J, I):
78
+ r"""
79
+ Return the coefficient `\ell_{J,I}` as defined in [NCSF]_.
80
+
81
+ INPUT:
82
+
83
+ - ``J`` -- a composition
84
+ - ``I`` -- a composition refining ``J``
85
+
86
+ OUTPUT: integer
87
+
88
+ EXAMPLES::
89
+
90
+ sage: from sage.combinat.ncsf_qsym.combinatorics import coeff_ell
91
+ sage: coeff_ell(Composition([1,1,1]), Composition([2,1]))
92
+ 2
93
+ sage: coeff_ell(Composition([2,1]), Composition([3]))
94
+ 2
95
+ """
96
+ return prod([len(elt) for elt in J.refinement_splitting(I)])
97
+
98
+
99
+ def coeff_sp(J, I):
100
+ r"""
101
+ Return the coefficient `sp_{J,I}` as defined in [NCSF]_.
102
+
103
+ INPUT:
104
+
105
+ - ``J`` -- a composition
106
+ - ``I`` -- a composition refining ``J``
107
+
108
+ OUTPUT: integer
109
+
110
+ EXAMPLES::
111
+
112
+ sage: from sage.combinat.ncsf_qsym.combinatorics import coeff_sp
113
+ sage: coeff_sp(Composition([1,1,1]), Composition([2,1]))
114
+ 2
115
+ sage: coeff_sp(Composition([2,1]), Composition([3]))
116
+ 4
117
+ """
118
+ return prod(factorial(len(K))*prod(K) for K in J.refinement_splitting(I))
119
+
120
+
121
+ def coeff_dab(I, J):
122
+ r"""
123
+ Return the number of standard composition tableaux of shape `I` with
124
+ descent composition `J`.
125
+
126
+ INPUT:
127
+
128
+ - ``I``, ``J`` -- compositions
129
+
130
+ OUTPUT: integer
131
+
132
+ EXAMPLES::
133
+
134
+ sage: from sage.combinat.ncsf_qsym.combinatorics import coeff_dab
135
+ sage: coeff_dab(Composition([2,1]),Composition([2,1]))
136
+ 1
137
+ sage: coeff_dab(Composition([1,1,2]),Composition([1,2,1]))
138
+ 0
139
+ """
140
+ d = 0
141
+ for T in CompositionTableaux(I):
142
+ if (T.is_standard()) and (T.descent_composition() == J):
143
+ d += 1
144
+ return d
145
+
146
+
147
+ def compositions_order(n):
148
+ r"""
149
+ Return the compositions of `n` ordered as defined in [QSCHUR]_.
150
+
151
+ Let `S(\gamma)` return the composition `\gamma` after sorting. For
152
+ compositions `\alpha` and `\beta`, we order `\alpha \rhd \beta` if
153
+
154
+ 1) `S(\alpha) > S(\beta)` lexicographically, or
155
+ 2) `S(\alpha) = S(\beta)` and `\alpha > \beta` lexicographically.
156
+
157
+ INPUT:
158
+
159
+ - ``n`` -- positive integer
160
+
161
+ OUTPUT: list of the compositions of `n` sorted into decreasing order
162
+ by `\rhd`
163
+
164
+ EXAMPLES::
165
+
166
+ sage: from sage.combinat.ncsf_qsym.combinatorics import compositions_order
167
+ sage: compositions_order(3)
168
+ [[3], [2, 1], [1, 2], [1, 1, 1]]
169
+ sage: compositions_order(4)
170
+ [[4], [3, 1], [1, 3], [2, 2], [2, 1, 1], [1, 2, 1], [1, 1, 2], [1, 1, 1, 1]]
171
+ """
172
+ def _keyfunction(I):
173
+ return sorted(I, reverse=True), list(I)
174
+ return sorted(Compositions(n), key=_keyfunction, reverse=True)
175
+
176
+
177
+ def m_to_s_stat(R, I, K):
178
+ r"""
179
+ Return the coefficient of the complete non-commutative symmetric
180
+ function `S^K` in the expansion of the monomial non-commutative
181
+ symmetric function `M^I` with respect to the complete basis
182
+ over the ring `R`. This is the coefficient in formula (36) of
183
+ Tevlin's paper [Tev2007]_.
184
+
185
+ INPUT:
186
+
187
+ - ``R`` -- a ring; supposed to be a `\QQ`-algebra
188
+ - ``I``, ``K`` -- compositions
189
+
190
+ OUTPUT:
191
+
192
+ - The coefficient of `S^K` in the expansion of `M^I` in the
193
+ complete basis of the non-commutative symmetric functions
194
+ over ``R``.
195
+
196
+ EXAMPLES::
197
+
198
+ sage: from sage.combinat.ncsf_qsym.combinatorics import m_to_s_stat
199
+ sage: m_to_s_stat(QQ, Composition([2,1]), Composition([1,1,1]))
200
+ -1
201
+ sage: m_to_s_stat(QQ, Composition([3]), Composition([1,2]))
202
+ -2
203
+ sage: m_to_s_stat(QQ, Composition([2,1,2]), Composition([2,1,2]))
204
+ 8/3
205
+ """
206
+ stat = 0
207
+ for J in Compositions(I.size()):
208
+ if I.is_finer(J) and K.is_finer(J):
209
+ pvec = [0] + Composition(I).refinement_splitting_lengths(J).partial_sums()
210
+ pp = prod( R( len(I) - pvec[i] ) for i in range( len(pvec)-1 ) )
211
+ stat += R((-1)**(len(I)-len(K)) / pp * coeff_lp(K, J))
212
+ return stat
213
+
214
+
215
+ @cached_function
216
+ def number_of_fCT(content_comp, shape_comp):
217
+ r"""
218
+ Return the number of Immaculate tableaux of shape
219
+ ``shape_comp`` and content ``content_comp``.
220
+
221
+ See [BBSSZ2012]_, Definition 3.9, for the notion of an
222
+ immaculate tableau.
223
+
224
+ INPUT:
225
+
226
+ - ``content_comp``, ``shape_comp`` -- compositions
227
+
228
+ OUTPUT: integer
229
+
230
+ EXAMPLES::
231
+
232
+ sage: from sage.combinat.ncsf_qsym.combinatorics import number_of_fCT
233
+ sage: number_of_fCT(Composition([3,1]), Composition([1,3]))
234
+ 0
235
+ sage: number_of_fCT(Composition([1,2,1]), Composition([1,3]))
236
+ 1
237
+ sage: number_of_fCT(Composition([1,1,3,1]), Composition([2,1,3]))
238
+ 2
239
+ """
240
+ if content_comp.to_partition().length() == 1:
241
+ if shape_comp.to_partition().length() == 1:
242
+ return 1
243
+ else:
244
+ return 0
245
+ C = Compositions(content_comp.size()-content_comp[-1], outer=list(shape_comp))
246
+ s = 0
247
+ for x in C:
248
+ if len(x) >= len(shape_comp)-1:
249
+ s += number_of_fCT(Composition(content_comp[:-1]),x)
250
+ return s
251
+
252
+
253
+ @cached_function
254
+ def number_of_SSRCT(content_comp, shape_comp):
255
+ r"""
256
+ The number of semi-standard reverse composition tableaux.
257
+
258
+ The dual quasisymmetric-Schur functions satisfy a left Pieri rule
259
+ where `S_n dQS_\gamma` is a sum over dual quasisymmetric-Schur
260
+ functions indexed by compositions which contain the composition
261
+ `\gamma`. The definition of an SSRCT comes from this rule. The
262
+ number of SSRCT of content `\beta` and shape `\alpha` is equal to
263
+ the number of SSRCT of content `(\beta_2, \ldots, \beta_\ell)`
264
+ and shape `\gamma` where `dQS_\alpha` appears in the expansion of
265
+ `S_{\beta_1} dQS_\gamma`.
266
+
267
+ In sage the recording tableau for these objects are called
268
+ :class:`~sage.combinat.composition_tableau.CompositionTableaux`.
269
+
270
+ INPUT:
271
+
272
+ - ``content_comp``, ``shape_comp`` -- compositions
273
+
274
+ OUTPUT: integer
275
+
276
+ EXAMPLES::
277
+
278
+ sage: from sage.combinat.ncsf_qsym.combinatorics import number_of_SSRCT
279
+ sage: number_of_SSRCT(Composition([3,1]), Composition([1,3]))
280
+ 0
281
+ sage: number_of_SSRCT(Composition([1,2,1]), Composition([1,3]))
282
+ 1
283
+ sage: number_of_SSRCT(Composition([1,1,2,2]), Composition([3,3]))
284
+ 2
285
+ sage: all(CompositionTableaux(be).cardinality()
286
+ ....: == sum(number_of_SSRCT(al,be)*binomial(4,len(al))
287
+ ....: for al in Compositions(4))
288
+ ....: for be in Compositions(4))
289
+ True
290
+ """
291
+ if len(content_comp) == 1:
292
+ if len(shape_comp) == 1:
293
+ return ZZ.one()
294
+ else:
295
+ return ZZ.zero()
296
+ s = ZZ.zero()
297
+ cond = lambda al, be: all(al[j] <= be_val
298
+ and not any(al[i] <= k <= be[i]
299
+ for k in range(al[j], be_val)
300
+ for i in range(j))
301
+ for j, be_val in enumerate(be))
302
+ C = Compositions(content_comp.size()-content_comp[0],
303
+ inner=[1]*len(shape_comp),
304
+ outer=list(shape_comp))
305
+ for x in C:
306
+ if cond(x, shape_comp):
307
+ s += number_of_SSRCT(Composition(content_comp[1:]), x)
308
+ if shape_comp[0] <= content_comp[0]:
309
+ C = Compositions(content_comp.size()-content_comp[0],
310
+ inner=[min(val, shape_comp[0]+1)
311
+ for val in shape_comp[1:]],
312
+ outer=shape_comp[1:])
313
+ Comps = Compositions()
314
+ for x in C:
315
+ if cond([shape_comp[0]]+list(x), shape_comp):
316
+ s += number_of_SSRCT(Comps(content_comp[1:]), x)
317
+ return s