passagemath-combinat 10.6.42__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.
Files changed (400) hide show
  1. passagemath_combinat/__init__.py +3 -0
  2. passagemath_combinat-10.6.42.dist-info/METADATA +160 -0
  3. passagemath_combinat-10.6.42.dist-info/RECORD +400 -0
  4. passagemath_combinat-10.6.42.dist-info/WHEEL +5 -0
  5. passagemath_combinat-10.6.42.dist-info/top_level.txt +3 -0
  6. passagemath_combinat.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
  7. passagemath_combinat.libs/libsymmetrica-81fe8739.so.3.0.0 +0 -0
  8. sage/algebras/affine_nil_temperley_lieb.py +263 -0
  9. sage/algebras/all.py +24 -0
  10. sage/algebras/all__sagemath_combinat.py +35 -0
  11. sage/algebras/askey_wilson.py +935 -0
  12. sage/algebras/associated_graded.py +345 -0
  13. sage/algebras/cellular_basis.py +350 -0
  14. sage/algebras/cluster_algebra.py +2766 -0
  15. sage/algebras/down_up_algebra.py +860 -0
  16. sage/algebras/free_algebra.py +1698 -0
  17. sage/algebras/free_algebra_element.py +345 -0
  18. sage/algebras/free_algebra_quotient.py +405 -0
  19. sage/algebras/free_algebra_quotient_element.py +295 -0
  20. sage/algebras/free_zinbiel_algebra.py +885 -0
  21. sage/algebras/hall_algebra.py +783 -0
  22. sage/algebras/hecke_algebras/all.py +4 -0
  23. sage/algebras/hecke_algebras/ariki_koike_algebra.py +1796 -0
  24. sage/algebras/hecke_algebras/ariki_koike_specht_modules.py +475 -0
  25. sage/algebras/hecke_algebras/cubic_hecke_algebra.py +3520 -0
  26. sage/algebras/hecke_algebras/cubic_hecke_base_ring.py +1473 -0
  27. sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py +1079 -0
  28. sage/algebras/iwahori_hecke_algebra.py +3095 -0
  29. sage/algebras/jordan_algebra.py +1773 -0
  30. sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py +113 -0
  31. sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py +156 -0
  32. sage/algebras/lie_conformal_algebras/all.py +18 -0
  33. sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py +134 -0
  34. sage/algebras/lie_conformal_algebras/examples.py +43 -0
  35. sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py +131 -0
  36. sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py +139 -0
  37. sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py +174 -0
  38. sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py +167 -0
  39. sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py +107 -0
  40. sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py +135 -0
  41. sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py +353 -0
  42. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py +236 -0
  43. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py +78 -0
  44. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py +328 -0
  45. sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py +117 -0
  46. sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py +86 -0
  47. sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py +82 -0
  48. sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py +205 -0
  49. sage/algebras/nil_coxeter_algebra.py +191 -0
  50. sage/algebras/q_commuting_polynomials.py +673 -0
  51. sage/algebras/q_system.py +608 -0
  52. sage/algebras/quantum_clifford.py +959 -0
  53. sage/algebras/quantum_groups/ace_quantum_onsager.py +693 -0
  54. sage/algebras/quantum_groups/all.py +9 -0
  55. sage/algebras/quantum_groups/fock_space.py +2219 -0
  56. sage/algebras/quantum_groups/q_numbers.py +207 -0
  57. sage/algebras/quantum_groups/quantum_group_gap.py +2695 -0
  58. sage/algebras/quantum_groups/representations.py +591 -0
  59. sage/algebras/quantum_matrix_coordinate_algebra.py +1006 -0
  60. sage/algebras/quantum_oscillator.py +623 -0
  61. sage/algebras/quaternion_algebra.py +20 -0
  62. sage/algebras/quaternion_algebra_element.py +55 -0
  63. sage/algebras/rational_cherednik_algebra.py +525 -0
  64. sage/algebras/schur_algebra.py +670 -0
  65. sage/algebras/shuffle_algebra.py +1011 -0
  66. sage/algebras/splitting_algebra.py +779 -0
  67. sage/algebras/tensor_algebra.py +709 -0
  68. sage/algebras/yangian.py +1082 -0
  69. sage/algebras/yokonuma_hecke_algebra.py +1018 -0
  70. sage/all__sagemath_combinat.py +35 -0
  71. sage/combinat/SJT.py +255 -0
  72. sage/combinat/affine_permutation.py +2405 -0
  73. sage/combinat/algebraic_combinatorics.py +55 -0
  74. sage/combinat/all.py +53 -0
  75. sage/combinat/all__sagemath_combinat.py +195 -0
  76. sage/combinat/alternating_sign_matrix.py +2063 -0
  77. sage/combinat/baxter_permutations.py +346 -0
  78. sage/combinat/bijectionist.py +3220 -0
  79. sage/combinat/binary_recurrence_sequences.py +1180 -0
  80. sage/combinat/blob_algebra.py +685 -0
  81. sage/combinat/catalog_partitions.py +27 -0
  82. sage/combinat/chas/all.py +23 -0
  83. sage/combinat/chas/fsym.py +1180 -0
  84. sage/combinat/chas/wqsym.py +2601 -0
  85. sage/combinat/cluster_complex.py +326 -0
  86. sage/combinat/colored_permutations.py +2039 -0
  87. sage/combinat/colored_permutations_representations.py +964 -0
  88. sage/combinat/composition_signed.py +142 -0
  89. sage/combinat/composition_tableau.py +855 -0
  90. sage/combinat/constellation.py +1729 -0
  91. sage/combinat/core.py +751 -0
  92. sage/combinat/counting.py +12 -0
  93. sage/combinat/crystals/affine.py +742 -0
  94. sage/combinat/crystals/affine_factorization.py +518 -0
  95. sage/combinat/crystals/affinization.py +331 -0
  96. sage/combinat/crystals/alcove_path.py +2013 -0
  97. sage/combinat/crystals/all.py +22 -0
  98. sage/combinat/crystals/bkk_crystals.py +141 -0
  99. sage/combinat/crystals/catalog.py +115 -0
  100. sage/combinat/crystals/catalog_elementary_crystals.py +18 -0
  101. sage/combinat/crystals/catalog_infinity_crystals.py +33 -0
  102. sage/combinat/crystals/catalog_kirillov_reshetikhin.py +18 -0
  103. sage/combinat/crystals/crystals.py +257 -0
  104. sage/combinat/crystals/direct_sum.py +260 -0
  105. sage/combinat/crystals/elementary_crystals.py +1251 -0
  106. sage/combinat/crystals/fast_crystals.py +441 -0
  107. sage/combinat/crystals/fully_commutative_stable_grothendieck.py +1205 -0
  108. sage/combinat/crystals/generalized_young_walls.py +1076 -0
  109. sage/combinat/crystals/highest_weight_crystals.py +436 -0
  110. sage/combinat/crystals/induced_structure.py +695 -0
  111. sage/combinat/crystals/infinity_crystals.py +730 -0
  112. sage/combinat/crystals/kac_modules.py +863 -0
  113. sage/combinat/crystals/kirillov_reshetikhin.py +4196 -0
  114. sage/combinat/crystals/kyoto_path_model.py +497 -0
  115. sage/combinat/crystals/letters.cpython-314-x86_64-linux-musl.so +0 -0
  116. sage/combinat/crystals/letters.pxd +79 -0
  117. sage/combinat/crystals/letters.pyx +3056 -0
  118. sage/combinat/crystals/littelmann_path.py +1518 -0
  119. sage/combinat/crystals/monomial_crystals.py +1262 -0
  120. sage/combinat/crystals/multisegments.py +462 -0
  121. sage/combinat/crystals/mv_polytopes.py +467 -0
  122. sage/combinat/crystals/pbw_crystal.py +511 -0
  123. sage/combinat/crystals/pbw_datum.cpython-314-x86_64-linux-musl.so +0 -0
  124. sage/combinat/crystals/pbw_datum.pxd +4 -0
  125. sage/combinat/crystals/pbw_datum.pyx +487 -0
  126. sage/combinat/crystals/polyhedral_realization.py +372 -0
  127. sage/combinat/crystals/spins.cpython-314-x86_64-linux-musl.so +0 -0
  128. sage/combinat/crystals/spins.pxd +21 -0
  129. sage/combinat/crystals/spins.pyx +756 -0
  130. sage/combinat/crystals/star_crystal.py +290 -0
  131. sage/combinat/crystals/subcrystal.py +464 -0
  132. sage/combinat/crystals/tensor_product.py +1177 -0
  133. sage/combinat/crystals/tensor_product_element.cpython-314-x86_64-linux-musl.so +0 -0
  134. sage/combinat/crystals/tensor_product_element.pxd +35 -0
  135. sage/combinat/crystals/tensor_product_element.pyx +1870 -0
  136. sage/combinat/crystals/virtual_crystal.py +420 -0
  137. sage/combinat/cyclic_sieving_phenomenon.py +204 -0
  138. sage/combinat/debruijn_sequence.cpython-314-x86_64-linux-musl.so +0 -0
  139. sage/combinat/debruijn_sequence.pyx +355 -0
  140. sage/combinat/decorated_permutation.py +270 -0
  141. sage/combinat/degree_sequences.cpython-314-x86_64-linux-musl.so +0 -0
  142. sage/combinat/degree_sequences.pyx +588 -0
  143. sage/combinat/derangements.py +527 -0
  144. sage/combinat/descent_algebra.py +1008 -0
  145. sage/combinat/diagram.py +1551 -0
  146. sage/combinat/diagram_algebras.py +5886 -0
  147. sage/combinat/dyck_word.py +4349 -0
  148. sage/combinat/e_one_star.py +1623 -0
  149. sage/combinat/enumerated_sets.py +123 -0
  150. sage/combinat/expnums.cpython-314-x86_64-linux-musl.so +0 -0
  151. sage/combinat/expnums.pyx +148 -0
  152. sage/combinat/fast_vector_partitions.cpython-314-x86_64-linux-musl.so +0 -0
  153. sage/combinat/fast_vector_partitions.pyx +346 -0
  154. sage/combinat/fqsym.py +1977 -0
  155. sage/combinat/free_dendriform_algebra.py +954 -0
  156. sage/combinat/free_prelie_algebra.py +1141 -0
  157. sage/combinat/fully_commutative_elements.py +1077 -0
  158. sage/combinat/fully_packed_loop.py +1523 -0
  159. sage/combinat/gelfand_tsetlin_patterns.py +1409 -0
  160. sage/combinat/gray_codes.py +311 -0
  161. sage/combinat/grossman_larson_algebras.py +667 -0
  162. sage/combinat/growth.py +4352 -0
  163. sage/combinat/hall_polynomial.py +188 -0
  164. sage/combinat/hillman_grassl.py +866 -0
  165. sage/combinat/integer_matrices.py +329 -0
  166. sage/combinat/integer_vectors_mod_permgroup.py +1238 -0
  167. sage/combinat/k_tableau.py +4564 -0
  168. sage/combinat/kazhdan_lusztig.py +215 -0
  169. sage/combinat/key_polynomial.py +885 -0
  170. sage/combinat/knutson_tao_puzzles.py +2286 -0
  171. sage/combinat/lr_tableau.py +311 -0
  172. sage/combinat/matrices/all.py +24 -0
  173. sage/combinat/matrices/hadamard_matrix.py +3790 -0
  174. sage/combinat/matrices/latin.py +2912 -0
  175. sage/combinat/misc.py +401 -0
  176. sage/combinat/multiset_partition_into_sets_ordered.py +3541 -0
  177. sage/combinat/ncsf_qsym/all.py +21 -0
  178. sage/combinat/ncsf_qsym/combinatorics.py +317 -0
  179. sage/combinat/ncsf_qsym/generic_basis_code.py +1427 -0
  180. sage/combinat/ncsf_qsym/ncsf.py +5637 -0
  181. sage/combinat/ncsf_qsym/qsym.py +4053 -0
  182. sage/combinat/ncsf_qsym/tutorial.py +447 -0
  183. sage/combinat/ncsym/all.py +21 -0
  184. sage/combinat/ncsym/bases.py +855 -0
  185. sage/combinat/ncsym/dual.py +593 -0
  186. sage/combinat/ncsym/ncsym.py +2076 -0
  187. sage/combinat/necklace.py +551 -0
  188. sage/combinat/non_decreasing_parking_function.py +634 -0
  189. sage/combinat/nu_dyck_word.py +1474 -0
  190. sage/combinat/output.py +861 -0
  191. sage/combinat/parallelogram_polyomino.py +4326 -0
  192. sage/combinat/parking_functions.py +1602 -0
  193. sage/combinat/partition_algebra.py +1998 -0
  194. sage/combinat/partition_kleshchev.py +1982 -0
  195. sage/combinat/partition_shifting_algebras.py +584 -0
  196. sage/combinat/partition_tuple.py +3114 -0
  197. sage/combinat/path_tableaux/all.py +13 -0
  198. sage/combinat/path_tableaux/catalog.py +29 -0
  199. sage/combinat/path_tableaux/dyck_path.py +380 -0
  200. sage/combinat/path_tableaux/frieze.py +476 -0
  201. sage/combinat/path_tableaux/path_tableau.py +728 -0
  202. sage/combinat/path_tableaux/semistandard.py +510 -0
  203. sage/combinat/perfect_matching.py +779 -0
  204. sage/combinat/plane_partition.py +3300 -0
  205. sage/combinat/q_bernoulli.cpython-314-x86_64-linux-musl.so +0 -0
  206. sage/combinat/q_bernoulli.pyx +128 -0
  207. sage/combinat/quickref.py +81 -0
  208. sage/combinat/recognizable_series.py +2051 -0
  209. sage/combinat/regular_sequence.py +4316 -0
  210. sage/combinat/regular_sequence_bounded.py +543 -0
  211. sage/combinat/restricted_growth.py +81 -0
  212. sage/combinat/ribbon.py +20 -0
  213. sage/combinat/ribbon_shaped_tableau.py +489 -0
  214. sage/combinat/ribbon_tableau.py +1180 -0
  215. sage/combinat/rigged_configurations/all.py +46 -0
  216. sage/combinat/rigged_configurations/bij_abstract_class.py +548 -0
  217. sage/combinat/rigged_configurations/bij_infinity.py +370 -0
  218. sage/combinat/rigged_configurations/bij_type_A.py +163 -0
  219. sage/combinat/rigged_configurations/bij_type_A2_dual.py +338 -0
  220. sage/combinat/rigged_configurations/bij_type_A2_even.py +218 -0
  221. sage/combinat/rigged_configurations/bij_type_A2_odd.py +199 -0
  222. sage/combinat/rigged_configurations/bij_type_B.py +900 -0
  223. sage/combinat/rigged_configurations/bij_type_C.py +267 -0
  224. sage/combinat/rigged_configurations/bij_type_D.py +771 -0
  225. sage/combinat/rigged_configurations/bij_type_D_tri.py +392 -0
  226. sage/combinat/rigged_configurations/bij_type_D_twisted.py +576 -0
  227. sage/combinat/rigged_configurations/bij_type_E67.py +402 -0
  228. sage/combinat/rigged_configurations/bijection.py +143 -0
  229. sage/combinat/rigged_configurations/kleber_tree.py +1475 -0
  230. sage/combinat/rigged_configurations/kr_tableaux.py +1898 -0
  231. sage/combinat/rigged_configurations/rc_crystal.py +461 -0
  232. sage/combinat/rigged_configurations/rc_infinity.py +540 -0
  233. sage/combinat/rigged_configurations/rigged_configuration_element.py +2403 -0
  234. sage/combinat/rigged_configurations/rigged_configurations.py +1918 -0
  235. sage/combinat/rigged_configurations/rigged_partition.cpython-314-x86_64-linux-musl.so +0 -0
  236. sage/combinat/rigged_configurations/rigged_partition.pxd +15 -0
  237. sage/combinat/rigged_configurations/rigged_partition.pyx +680 -0
  238. sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py +499 -0
  239. sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py +428 -0
  240. sage/combinat/rsk.py +3438 -0
  241. sage/combinat/schubert_polynomial.py +508 -0
  242. sage/combinat/set_partition.py +3318 -0
  243. sage/combinat/set_partition_iterator.cpython-314-x86_64-linux-musl.so +0 -0
  244. sage/combinat/set_partition_iterator.pyx +136 -0
  245. sage/combinat/set_partition_ordered.py +1590 -0
  246. sage/combinat/sf/abreu_nigro.py +346 -0
  247. sage/combinat/sf/all.py +52 -0
  248. sage/combinat/sf/character.py +576 -0
  249. sage/combinat/sf/classical.py +319 -0
  250. sage/combinat/sf/dual.py +996 -0
  251. sage/combinat/sf/elementary.py +549 -0
  252. sage/combinat/sf/hall_littlewood.py +1028 -0
  253. sage/combinat/sf/hecke.py +336 -0
  254. sage/combinat/sf/homogeneous.py +464 -0
  255. sage/combinat/sf/jack.py +1428 -0
  256. sage/combinat/sf/k_dual.py +1458 -0
  257. sage/combinat/sf/kfpoly.py +447 -0
  258. sage/combinat/sf/llt.py +789 -0
  259. sage/combinat/sf/macdonald.py +2019 -0
  260. sage/combinat/sf/monomial.py +525 -0
  261. sage/combinat/sf/multiplicative.py +113 -0
  262. sage/combinat/sf/new_kschur.py +1786 -0
  263. sage/combinat/sf/ns_macdonald.py +964 -0
  264. sage/combinat/sf/orthogonal.py +246 -0
  265. sage/combinat/sf/orthotriang.py +355 -0
  266. sage/combinat/sf/powersum.py +963 -0
  267. sage/combinat/sf/schur.py +880 -0
  268. sage/combinat/sf/sf.py +1653 -0
  269. sage/combinat/sf/sfa.py +7053 -0
  270. sage/combinat/sf/symplectic.py +253 -0
  271. sage/combinat/sf/witt.py +721 -0
  272. sage/combinat/shifted_primed_tableau.py +2735 -0
  273. sage/combinat/shuffle.py +830 -0
  274. sage/combinat/sidon_sets.py +146 -0
  275. sage/combinat/similarity_class_type.py +1721 -0
  276. sage/combinat/sine_gordon.py +618 -0
  277. sage/combinat/six_vertex_model.py +784 -0
  278. sage/combinat/skew_partition.py +2053 -0
  279. sage/combinat/skew_tableau.py +2989 -0
  280. sage/combinat/sloane_functions.py +8935 -0
  281. sage/combinat/specht_module.py +1403 -0
  282. sage/combinat/species/all.py +48 -0
  283. sage/combinat/species/characteristic_species.py +321 -0
  284. sage/combinat/species/composition_species.py +273 -0
  285. sage/combinat/species/cycle_species.py +284 -0
  286. sage/combinat/species/empty_species.py +155 -0
  287. sage/combinat/species/functorial_composition_species.py +148 -0
  288. sage/combinat/species/generating_series.py +673 -0
  289. sage/combinat/species/library.py +148 -0
  290. sage/combinat/species/linear_order_species.py +169 -0
  291. sage/combinat/species/misc.py +83 -0
  292. sage/combinat/species/partition_species.py +290 -0
  293. sage/combinat/species/permutation_species.py +268 -0
  294. sage/combinat/species/product_species.py +423 -0
  295. sage/combinat/species/recursive_species.py +476 -0
  296. sage/combinat/species/set_species.py +192 -0
  297. sage/combinat/species/species.py +820 -0
  298. sage/combinat/species/structure.py +539 -0
  299. sage/combinat/species/subset_species.py +243 -0
  300. sage/combinat/species/sum_species.py +225 -0
  301. sage/combinat/subword.py +564 -0
  302. sage/combinat/subword_complex.py +2122 -0
  303. sage/combinat/subword_complex_c.cpython-314-x86_64-linux-musl.so +0 -0
  304. sage/combinat/subword_complex_c.pyx +119 -0
  305. sage/combinat/super_tableau.py +821 -0
  306. sage/combinat/superpartition.py +1154 -0
  307. sage/combinat/symmetric_group_algebra.py +3774 -0
  308. sage/combinat/symmetric_group_representations.py +1830 -0
  309. sage/combinat/t_sequences.py +877 -0
  310. sage/combinat/tableau.py +9506 -0
  311. sage/combinat/tableau_residues.py +860 -0
  312. sage/combinat/tableau_tuple.py +5353 -0
  313. sage/combinat/tiling.py +2432 -0
  314. sage/combinat/triangles_FHM.py +777 -0
  315. sage/combinat/tutorial.py +1857 -0
  316. sage/combinat/vector_partition.py +337 -0
  317. sage/combinat/words/abstract_word.py +1722 -0
  318. sage/combinat/words/all.py +59 -0
  319. sage/combinat/words/alphabet.py +268 -0
  320. sage/combinat/words/finite_word.py +7201 -0
  321. sage/combinat/words/infinite_word.py +113 -0
  322. sage/combinat/words/lyndon_word.py +652 -0
  323. sage/combinat/words/morphic.py +351 -0
  324. sage/combinat/words/morphism.py +3878 -0
  325. sage/combinat/words/paths.py +2932 -0
  326. sage/combinat/words/shuffle_product.py +278 -0
  327. sage/combinat/words/suffix_trees.py +1873 -0
  328. sage/combinat/words/word.py +769 -0
  329. sage/combinat/words/word_char.cpython-314-x86_64-linux-musl.so +0 -0
  330. sage/combinat/words/word_char.pyx +847 -0
  331. sage/combinat/words/word_datatypes.cpython-314-x86_64-linux-musl.so +0 -0
  332. sage/combinat/words/word_datatypes.pxd +4 -0
  333. sage/combinat/words/word_datatypes.pyx +1067 -0
  334. sage/combinat/words/word_generators.py +2026 -0
  335. sage/combinat/words/word_infinite_datatypes.py +1218 -0
  336. sage/combinat/words/word_options.py +99 -0
  337. sage/combinat/words/words.py +2396 -0
  338. sage/data_structures/all__sagemath_combinat.py +1 -0
  339. sage/databases/all__sagemath_combinat.py +13 -0
  340. sage/databases/findstat.py +4897 -0
  341. sage/databases/oeis.py +2058 -0
  342. sage/databases/sloane.py +393 -0
  343. sage/dynamics/all__sagemath_combinat.py +14 -0
  344. sage/dynamics/cellular_automata/all.py +7 -0
  345. sage/dynamics/cellular_automata/catalog.py +34 -0
  346. sage/dynamics/cellular_automata/elementary.py +612 -0
  347. sage/dynamics/cellular_automata/glca.py +477 -0
  348. sage/dynamics/cellular_automata/solitons.py +1463 -0
  349. sage/dynamics/finite_dynamical_system.py +1249 -0
  350. sage/dynamics/finite_dynamical_system_catalog.py +382 -0
  351. sage/games/all.py +7 -0
  352. sage/games/hexad.py +704 -0
  353. sage/games/quantumino.py +591 -0
  354. sage/games/sudoku.py +889 -0
  355. sage/games/sudoku_backtrack.cpython-314-x86_64-linux-musl.so +0 -0
  356. sage/games/sudoku_backtrack.pyx +189 -0
  357. sage/groups/all__sagemath_combinat.py +1 -0
  358. sage/groups/indexed_free_group.py +489 -0
  359. sage/libs/all__sagemath_combinat.py +6 -0
  360. sage/libs/lrcalc/__init__.py +1 -0
  361. sage/libs/lrcalc/lrcalc.py +525 -0
  362. sage/libs/symmetrica/__init__.py +7 -0
  363. sage/libs/symmetrica/all.py +101 -0
  364. sage/libs/symmetrica/kostka.pxi +168 -0
  365. sage/libs/symmetrica/part.pxi +193 -0
  366. sage/libs/symmetrica/plet.pxi +42 -0
  367. sage/libs/symmetrica/sab.pxi +196 -0
  368. sage/libs/symmetrica/sb.pxi +332 -0
  369. sage/libs/symmetrica/sc.pxi +192 -0
  370. sage/libs/symmetrica/schur.pxi +956 -0
  371. sage/libs/symmetrica/symmetrica.cpython-314-x86_64-linux-musl.so +0 -0
  372. sage/libs/symmetrica/symmetrica.pxi +1172 -0
  373. sage/libs/symmetrica/symmetrica.pyx +39 -0
  374. sage/monoids/all.py +13 -0
  375. sage/monoids/automatic_semigroup.py +1054 -0
  376. sage/monoids/free_abelian_monoid.py +315 -0
  377. sage/monoids/free_abelian_monoid_element.cpython-314-x86_64-linux-musl.so +0 -0
  378. sage/monoids/free_abelian_monoid_element.pxd +16 -0
  379. sage/monoids/free_abelian_monoid_element.pyx +397 -0
  380. sage/monoids/free_monoid.py +335 -0
  381. sage/monoids/free_monoid_element.py +431 -0
  382. sage/monoids/hecke_monoid.py +65 -0
  383. sage/monoids/string_monoid.py +817 -0
  384. sage/monoids/string_monoid_element.py +547 -0
  385. sage/monoids/string_ops.py +143 -0
  386. sage/monoids/trace_monoid.py +972 -0
  387. sage/rings/all__sagemath_combinat.py +2 -0
  388. sage/sat/all.py +4 -0
  389. sage/sat/boolean_polynomials.py +405 -0
  390. sage/sat/converters/__init__.py +6 -0
  391. sage/sat/converters/anf2cnf.py +14 -0
  392. sage/sat/converters/polybori.py +611 -0
  393. sage/sat/solvers/__init__.py +5 -0
  394. sage/sat/solvers/cryptominisat.py +287 -0
  395. sage/sat/solvers/dimacs.py +783 -0
  396. sage/sat/solvers/picosat.py +228 -0
  397. sage/sat/solvers/sat_lp.py +156 -0
  398. sage/sat/solvers/satsolver.cpython-314-x86_64-linux-musl.so +0 -0
  399. sage/sat/solvers/satsolver.pxd +3 -0
  400. sage/sat/solvers/satsolver.pyx +405 -0
@@ -0,0 +1,243 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ """
3
+ Subset species
4
+ """
5
+
6
+ # ****************************************************************************
7
+ # Copyright (C) 2008 Mike Hansen <mhansen@gmail.com>,
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 .species import GenericCombinatorialSpecies
22
+ from .set_species import SetSpecies
23
+ from .structure import GenericSpeciesStructure
24
+ from sage.combinat.species.misc import accept_size
25
+ from sage.structure.unique_representation import UniqueRepresentation
26
+ from sage.arith.misc import factorial
27
+
28
+
29
+ class SubsetSpeciesStructure(GenericSpeciesStructure):
30
+ def __repr__(self):
31
+ """
32
+ EXAMPLES::
33
+
34
+ sage: set_random_seed(0)
35
+ sage: S = species.SubsetSpecies()
36
+ sage: a = S.structures(["a","b","c"])[0]; a
37
+ {}
38
+ """
39
+ s = GenericSpeciesStructure.__repr__(self)
40
+ return "{"+s[1:-1]+"}"
41
+
42
+ def canonical_label(self):
43
+ """
44
+ Return the canonical label of ``self``.
45
+
46
+ EXAMPLES::
47
+
48
+ sage: P = species.SubsetSpecies()
49
+ sage: S = P.structures(["a", "b", "c"])
50
+ sage: [s.canonical_label() for s in S]
51
+ [{}, {'a'}, {'a'}, {'a'}, {'a', 'b'}, {'a', 'b'}, {'a', 'b'}, {'a', 'b', 'c'}]
52
+ """
53
+ rng = list(range(1, len(self._list) + 1))
54
+ return self.__class__(self.parent(), self._labels, rng)
55
+
56
+ def label_subset(self):
57
+ r"""
58
+ Return a subset of the labels that "appear" in this structure.
59
+
60
+ EXAMPLES::
61
+
62
+ sage: P = species.SubsetSpecies()
63
+ sage: S = P.structures(["a", "b", "c"])
64
+ sage: [s.label_subset() for s in S]
65
+ [[], ['a'], ['b'], ['c'], ['a', 'b'], ['a', 'c'], ['b', 'c'], ['a', 'b', 'c']]
66
+ """
67
+ return [self._relabel(i) for i in self._list]
68
+
69
+ def transport(self, perm):
70
+ r"""
71
+ Return the transport of this subset along the permutation perm.
72
+
73
+ EXAMPLES::
74
+
75
+ sage: F = species.SubsetSpecies()
76
+ sage: a = F.structures(["a", "b", "c"])[5]; a
77
+ {'a', 'c'}
78
+ sage: p = PermutationGroupElement((1,2)) # needs sage.groups
79
+ sage: a.transport(p) # needs sage.groups
80
+ {'b', 'c'}
81
+ sage: p = PermutationGroupElement((1,3)) # needs sage.groups
82
+ sage: a.transport(p) # needs sage.groups
83
+ {'a', 'c'}
84
+ """
85
+ l = sorted([perm(i) for i in self._list])
86
+ return SubsetSpeciesStructure(self.parent(), self._labels, l)
87
+
88
+ def automorphism_group(self):
89
+ r"""
90
+ Return the group of permutations whose action on this subset leave
91
+ it fixed.
92
+
93
+ EXAMPLES::
94
+
95
+ sage: F = species.SubsetSpecies()
96
+ sage: a = F.structures([1,2,3,4])[6]; a
97
+ {1, 3}
98
+ sage: a.automorphism_group() # needs sage.groups
99
+ Permutation Group with generators [(2,4), (1,3)]
100
+
101
+ ::
102
+
103
+ sage: [a.transport(g) for g in a.automorphism_group()] # needs sage.groups
104
+ [{1, 3}, {1, 3}, {1, 3}, {1, 3}]
105
+ """
106
+ from sage.groups.perm_gps.permgroup_named import SymmetricGroup
107
+ from sage.groups.perm_gps.permgroup import PermutationGroup
108
+ a = SymmetricGroup(self._list)
109
+ b = SymmetricGroup(self.complement()._list)
110
+ return PermutationGroup(a.gens() + b.gens())
111
+
112
+ def complement(self):
113
+ r"""
114
+ Return the complement of ``self``.
115
+
116
+ EXAMPLES::
117
+
118
+ sage: F = species.SubsetSpecies()
119
+ sage: a = F.structures(["a", "b", "c"])[5]; a
120
+ {'a', 'c'}
121
+ sage: a.complement()
122
+ {'b'}
123
+ """
124
+ new_list = [i for i in range(1, len(self._labels)+1) if i not in self._list]
125
+ return SubsetSpeciesStructure(self.parent(), self._labels, new_list)
126
+
127
+
128
+ class SubsetSpecies(GenericCombinatorialSpecies, UniqueRepresentation):
129
+ @staticmethod
130
+ @accept_size
131
+ def __classcall__(cls, *args, **kwds):
132
+ """
133
+ EXAMPLES::
134
+
135
+ sage: S = species.SubsetSpecies(); S
136
+ Subset species
137
+ """
138
+ return super().__classcall__(cls, *args, **kwds)
139
+
140
+ def __init__(self, min=None, max=None, weight=None):
141
+ """
142
+ Return the species of subsets.
143
+
144
+ EXAMPLES::
145
+
146
+ sage: S = species.SubsetSpecies()
147
+ sage: S.generating_series()[0:5]
148
+ [1, 2, 2, 4/3, 2/3]
149
+ sage: S.isotype_generating_series()[0:5]
150
+ [1, 2, 3, 4, 5]
151
+
152
+ sage: S = species.SubsetSpecies()
153
+ sage: c = S.generating_series()[0:3]
154
+ sage: S._check()
155
+ True
156
+ sage: S == loads(dumps(S))
157
+ True
158
+ """
159
+ GenericCombinatorialSpecies.__init__(self, min=None, max=None, weight=None)
160
+ self._name = "Subset species"
161
+
162
+ _default_structure_class = SubsetSpeciesStructure
163
+
164
+ def _structures(self, structure_class, labels):
165
+ """
166
+ EXAMPLES::
167
+
168
+ sage: S = species.SubsetSpecies()
169
+ sage: S.structures([1,2]).list()
170
+ [{}, {1}, {2}, {1, 2}]
171
+ sage: S.structures(['a','b']).list()
172
+ [{}, {'a'}, {'b'}, {'a', 'b'}]
173
+ """
174
+ from sage.combinat.combination import Combinations
175
+ for c in Combinations(range(1, len(labels)+1)):
176
+ yield structure_class(self, labels, c)
177
+
178
+ def _isotypes(self, structure_class, labels):
179
+ """
180
+ EXAMPLES::
181
+
182
+ sage: S = species.SubsetSpecies()
183
+ sage: S.isotypes([1,2]).list()
184
+ [{}, {1}, {1, 2}]
185
+ sage: S.isotypes(['a','b']).list()
186
+ [{}, {'a'}, {'a', 'b'}]
187
+ """
188
+ for i in range(len(labels)+1):
189
+ yield structure_class(self, labels, range(1, i+1))
190
+
191
+ def _gs_callable(self, base_ring, n):
192
+ """
193
+ The generating series for the species of subsets is
194
+ `e^{2x}`.
195
+
196
+ EXAMPLES::
197
+
198
+ sage: S = species.SubsetSpecies()
199
+ sage: [S.generating_series().coefficient(i) for i in range(5)]
200
+ [1, 2, 2, 4/3, 2/3]
201
+ """
202
+ return base_ring(2)**n / base_ring(factorial(n))
203
+
204
+ def _itgs_callable(self, base_ring, n):
205
+ r"""
206
+ The generating series for the species of subsets is
207
+ `e^{2x}`.
208
+
209
+ EXAMPLES::
210
+
211
+ sage: S = species.SubsetSpecies()
212
+ sage: S.isotype_generating_series()[0:5]
213
+ [1, 2, 3, 4, 5]
214
+ """
215
+ return base_ring(n + 1)
216
+
217
+ def _cis(self, series_ring, base_ring):
218
+ r"""
219
+ The cycle index series for the species of subsets satisfies.
220
+
221
+ .. MATH::
222
+
223
+ Z_{\mathfrak{p}} = Z_{\mathcal{E}} \cdot Z_{\mathcal{E}}.
224
+
225
+ EXAMPLES::
226
+
227
+ sage: S = species.SubsetSpecies()
228
+ sage: S.cycle_index_series()[0:5] # needs sage.modules
229
+ [p[],
230
+ 2*p[1],
231
+ 2*p[1, 1] + p[2],
232
+ 4/3*p[1, 1, 1] + 2*p[2, 1] + 2/3*p[3],
233
+ 2/3*p[1, 1, 1, 1] + 2*p[2, 1, 1] + 1/2*p[2, 2] + 4/3*p[3, 1] + 1/2*p[4]]
234
+ """
235
+ ciset = SetSpecies().cycle_index_series(base_ring)
236
+ res = ciset**2
237
+ if self.is_weighted():
238
+ res *= self._weight
239
+ return res
240
+
241
+
242
+ #Backward compatibility
243
+ SubsetSpecies_class = SubsetSpecies
@@ -0,0 +1,225 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ """
3
+ Sum species
4
+ """
5
+ #*****************************************************************************
6
+ # Copyright (C) 2008 Mike Hansen <mhansen@gmail.com>,
7
+ #
8
+ # Distributed under the terms of the GNU General Public License (GPL)
9
+ #
10
+ # This code is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # General Public License for more details.
14
+ #
15
+ # The full text of the GPL is available at:
16
+ #
17
+ # http://www.gnu.org/licenses/
18
+ #*****************************************************************************
19
+ from .species import GenericCombinatorialSpecies
20
+ from .structure import SpeciesStructureWrapper
21
+ from sage.structure.unique_representation import UniqueRepresentation
22
+
23
+
24
+ class SumSpeciesStructure(SpeciesStructureWrapper):
25
+ pass
26
+
27
+
28
+ class SumSpecies(GenericCombinatorialSpecies, UniqueRepresentation):
29
+ def __init__(self, F, G, min=None, max=None, weight=None):
30
+ """
31
+ Return the sum of two species.
32
+
33
+ EXAMPLES::
34
+
35
+ sage: S = species.PermutationSpecies()
36
+ sage: A = S+S
37
+ sage: A.generating_series()[:5]
38
+ [2, 2, 2, 2, 2]
39
+
40
+ sage: P = species.PermutationSpecies()
41
+ sage: F = P + P
42
+ sage: F._check() # needs sage.libs.flint
43
+ True
44
+ sage: F == loads(dumps(F))
45
+ True
46
+
47
+ TESTS::
48
+
49
+ sage: A = species.SingletonSpecies() + species.SingletonSpecies()
50
+ sage: B = species.SingletonSpecies() + species.SingletonSpecies()
51
+ sage: C = species.SingletonSpecies() + species.SingletonSpecies(min=2)
52
+ sage: A is B
53
+ True
54
+ sage: (A is C) or (A == C)
55
+ False
56
+ """
57
+ self._F = F
58
+ self._G = G
59
+
60
+ self._state_info = [F, G]
61
+
62
+ GenericCombinatorialSpecies.__init__(self, min=None, max=None, weight=None)
63
+
64
+ _default_structure_class = SumSpeciesStructure
65
+
66
+ def left_summand(self):
67
+ """
68
+ Return the left summand of this species.
69
+
70
+ EXAMPLES::
71
+
72
+ sage: P = species.PermutationSpecies()
73
+ sage: F = P + P*P
74
+ sage: F.left_summand()
75
+ Permutation species
76
+ """
77
+ return self._F
78
+
79
+ def right_summand(self):
80
+ """
81
+ Return the right summand of this species.
82
+
83
+ EXAMPLES::
84
+
85
+ sage: P = species.PermutationSpecies()
86
+ sage: F = P + P*P
87
+ sage: F.right_summand()
88
+ Product of (Permutation species) and (Permutation species)
89
+ """
90
+ return self._G
91
+
92
+ def _name(self):
93
+ """
94
+ Note that we use a function to return the name of this species
95
+ because we can't do it in the __init__ method due to it
96
+ requiring that self.left_summand() and self.right_summand()
97
+ already be unpickled.
98
+
99
+ EXAMPLES::
100
+
101
+ sage: P = species.PermutationSpecies()
102
+ sage: F = P + P
103
+ sage: F._name()
104
+ 'Sum of (Permutation species) and (Permutation species)'
105
+ """
106
+ return "Sum of (%s) and (%s)" % (self.left_summand(),
107
+ self.right_summand())
108
+
109
+ def _structures(self, structure_class, labels):
110
+ """
111
+ EXAMPLES::
112
+
113
+ sage: P = species.PermutationSpecies()
114
+ sage: F = P + P
115
+ sage: F.structures([1,2]).list()
116
+ [[1, 2], [2, 1], [1, 2], [2, 1]]
117
+ """
118
+ for res in self.left_summand().structures(labels):
119
+ yield structure_class(self, res, tag='left')
120
+
121
+ for res in self.right_summand().structures(labels):
122
+ yield structure_class(self, res, tag='right')
123
+
124
+ def _isotypes(self, structure_class, labels):
125
+ """
126
+ EXAMPLES::
127
+
128
+ sage: P = species.PermutationSpecies()
129
+ sage: F = P + P
130
+ sage: F.isotypes([1,2]).list() # needs sage.libs.flint
131
+ [[2, 1], [1, 2], [2, 1], [1, 2]]
132
+ """
133
+ for res in self._F.isotypes(labels):
134
+ yield structure_class(self, res, tag='left')
135
+
136
+ for res in self._G.isotypes(labels):
137
+ yield structure_class(self, res, tag='right')
138
+
139
+ def _gs(self, series_ring, base_ring):
140
+ """
141
+ Return the cycle index series of this species.
142
+
143
+ EXAMPLES::
144
+
145
+ sage: P = species.PermutationSpecies()
146
+ sage: F = P + P
147
+ sage: F.generating_series()[:5]
148
+ [2, 2, 2, 2, 2]
149
+ """
150
+ return (self.left_summand().generating_series(base_ring) +
151
+ self.right_summand().generating_series(base_ring))
152
+
153
+ def _itgs(self, series_ring, base_ring):
154
+ """
155
+ Return the isomorphism type generating series of this species.
156
+
157
+ EXAMPLES::
158
+
159
+ sage: P = species.PermutationSpecies()
160
+ sage: F = P + P
161
+ sage: F.isotype_generating_series()[:5] # needs sage.libs.flint
162
+ [2, 2, 4, 6, 10]
163
+ """
164
+ return (self.left_summand().isotype_generating_series(base_ring) +
165
+ self.right_summand().isotype_generating_series(base_ring))
166
+
167
+ def _cis(self, series_ring, base_ring):
168
+ """
169
+ Return the generating series of this species.
170
+
171
+ EXAMPLES::
172
+
173
+ sage: P = species.PermutationSpecies()
174
+ sage: F = P + P
175
+ sage: F.cycle_index_series()[:5] # needs sage.modules
176
+ [2*p[],
177
+ 2*p[1],
178
+ 2*p[1, 1] + 2*p[2],
179
+ 2*p[1, 1, 1] + 2*p[2, 1] + 2*p[3],
180
+ 2*p[1, 1, 1, 1] + 2*p[2, 1, 1] + 2*p[2, 2] + 2*p[3, 1] + 2*p[4]]
181
+ """
182
+ return (self.left_summand().cycle_index_series(base_ring) +
183
+ self.right_summand().cycle_index_series(base_ring))
184
+
185
+ def weight_ring(self):
186
+ """
187
+ Return the weight ring for this species. This is determined by
188
+ asking Sage's coercion model what the result is when you add
189
+ elements of the weight rings for each of the operands.
190
+
191
+ EXAMPLES::
192
+
193
+ sage: S = species.SetSpecies()
194
+ sage: C = S+S
195
+ sage: C.weight_ring()
196
+ Rational Field
197
+
198
+ ::
199
+
200
+ sage: S = species.SetSpecies(weight=QQ['t'].gen())
201
+ sage: C = S + S
202
+ sage: C.weight_ring()
203
+ Univariate Polynomial Ring in t over Rational Field
204
+ """
205
+ return self._common_parent([self.left_summand().weight_ring(),
206
+ self.right_summand().weight_ring()])
207
+
208
+ def _equation(self, var_mapping):
209
+ """
210
+ Return the right hand side of an algebraic equation satisfied by
211
+ this species. This is a utility function called by the
212
+ algebraic_equation_system method.
213
+
214
+ EXAMPLES::
215
+
216
+ sage: X = species.SingletonSpecies()
217
+ sage: S = X + X
218
+ sage: S.algebraic_equation_system() # needs sage.graphs
219
+ [node1 + (-2*z)]
220
+ """
221
+ return sum(var_mapping[operand] for operand in self._state_info)
222
+
223
+
224
+ #Backward compatibility
225
+ SumSpecies_class = SumSpecies