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,168 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ # sage.doctest: needs sage.combinat sage.modules
3
+
4
+ from cpython.object cimport *
5
+ from cysignals.signals cimport sig_on, sig_off
6
+
7
+ cdef extern from 'symmetrica/def.h':
8
+ INT kostka_number(OP shape, OP content, OP result)
9
+ INT kostka_tab(OP shape, OP content, OP result)
10
+ INT kostka_tafel(OP n, OP result)
11
+
12
+
13
+ def kostka_number_symmetrica(shape, content):
14
+ """
15
+ Compute the kostkanumber, i.e. the number of
16
+ tableaux of given shape, which is a PARTITION object, and
17
+ of given content, which also is a PARTITION object, or a VECTOR
18
+ object with INTEGER entries. The
19
+ result is an INTEGER object, which is freed to an empty
20
+ object at the beginning. The shape could also be a
21
+ SKEWPARTITION object, then we compute the number of
22
+ skewtableaux of the given shape.
23
+
24
+ EXAMPLES::
25
+
26
+ sage: symmetrica.kostka_number([2,1],[1,1,1])
27
+ 2
28
+ sage: symmetrica.kostka_number([1,1,1],[1,1,1])
29
+ 1
30
+ sage: symmetrica.kostka_number([3],[1,1,1])
31
+ 1
32
+ """
33
+ cdef OP cshape = callocobject(), ccontent = callocobject(), result = callocobject()
34
+
35
+ if isinstance(shape, <type>builtinlist):
36
+ if isinstance(shape[0], <type>builtinlist):
37
+ shape = SkewPartition(shape)
38
+ else:
39
+ shape = Partition(shape)
40
+
41
+
42
+ if isinstance(shape, <type>SkewPartition):
43
+ _op_skew_partition(shape, cshape)
44
+ else:
45
+ _op_partition(shape, cshape)
46
+
47
+ _op_partition(content, ccontent)
48
+
49
+ kostka_number(ccontent, cshape, result)
50
+
51
+ res = _py(result)
52
+
53
+ freeall(cshape)
54
+ freeall(ccontent)
55
+ freeall(result)
56
+
57
+
58
+ return res
59
+
60
+
61
+ def kostka_tab_symmetrica(shape, content):
62
+ """
63
+ Compute the list of tableaux of given shape
64
+ and content. shape is a PARTITION object or a
65
+ SKEWPARTITION object and
66
+ content is a PARTITION object or a VECTOR object with
67
+ INTEGER entries, the result becomes a
68
+ LIST object whose entries are the computed TABLEAUX
69
+ object.
70
+
71
+ EXAMPLES::
72
+
73
+ sage: symmetrica.kostka_tab([3],[1,1,1])
74
+ [[[1, 2, 3]]]
75
+ sage: symmetrica.kostka_tab([2,1],[1,1,1])
76
+ [[[1, 2], [3]], [[1, 3], [2]]]
77
+ sage: symmetrica.kostka_tab([1,1,1],[1,1,1])
78
+ [[[1], [2], [3]]]
79
+ sage: symmetrica.kostka_tab([[2,2,1],[1,1]],[1,1,1])
80
+ [[[None, 1], [None, 2], [3]],
81
+ [[None, 1], [None, 3], [2]],
82
+ [[None, 2], [None, 3], [1]]]
83
+ sage: symmetrica.kostka_tab([[2,2],[1]],[1,1,1])
84
+ [[[None, 1], [2, 3]], [[None, 2], [1, 3]]]
85
+ """
86
+ late_import()
87
+
88
+ cdef OP cshape = callocobject(), ccontent = callocobject(), result = callocobject()
89
+ cdef INT err
90
+
91
+ if isinstance(shape, <type>builtinlist):
92
+ if isinstance(shape[0], <type>builtinlist):
93
+ shape = SkewPartition(shape)
94
+ else:
95
+ shape = Partition(shape)
96
+
97
+
98
+ if isinstance(shape, <type>SkewPartition):
99
+ _op_skew_partition(shape, cshape)
100
+ else:
101
+ _op_partition(shape, cshape)
102
+
103
+
104
+ #Check to make sure the content is compatible with the shape.
105
+
106
+ _op_il_vector(content, ccontent)
107
+
108
+ err = kostka_tab(cshape, ccontent, result)
109
+
110
+ res = _py(result)
111
+
112
+ freeall(cshape)
113
+ freeall(ccontent)
114
+ freeall(result)
115
+
116
+
117
+ return res
118
+
119
+
120
+ def kostka_tafel_symmetrica(n):
121
+ """
122
+ Return the table of Kostka numbers of weight `n`.
123
+
124
+ EXAMPLES::
125
+
126
+ sage: symmetrica.kostka_tafel(1)
127
+ [1]
128
+
129
+ sage: symmetrica.kostka_tafel(2)
130
+ [1 0]
131
+ [1 1]
132
+
133
+ sage: symmetrica.kostka_tafel(3)
134
+ [1 0 0]
135
+ [1 1 0]
136
+ [1 2 1]
137
+
138
+ sage: symmetrica.kostka_tafel(4)
139
+ [1 0 0 0 0]
140
+ [1 1 0 0 0]
141
+ [1 1 1 0 0]
142
+ [1 2 1 1 0]
143
+ [1 3 2 3 1]
144
+
145
+ sage: symmetrica.kostka_tafel(5)
146
+ [1 0 0 0 0 0 0]
147
+ [1 1 0 0 0 0 0]
148
+ [1 1 1 0 0 0 0]
149
+ [1 2 1 1 0 0 0]
150
+ [1 2 2 1 1 0 0]
151
+ [1 3 3 3 2 1 0]
152
+ [1 4 5 6 5 4 1]
153
+ """
154
+
155
+ cdef OP cn = callocobject(), cresult = callocobject()
156
+
157
+ _op_integer(n, cn)
158
+
159
+ sig_on()
160
+ kostka_tafel(cn, cresult)
161
+ sig_off()
162
+
163
+ res = _py(cresult)
164
+
165
+ freeall(cn)
166
+ freeall(cresult)
167
+
168
+ return res
@@ -0,0 +1,193 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ cdef extern from 'symmetrica/def.h':
3
+ INT strict_to_odd_part(OP s, OP o)
4
+ INT odd_to_strict_part(OP o, OP s)
5
+ INT q_core(OP part, OP d, OP core)
6
+ INT gupta_nm(OP n, OP m, OP res)
7
+ INT gupta_tafel(OP max, OP res)
8
+ INT random_partition(OP nx, OP res)
9
+
10
+
11
+ def strict_to_odd_part_symmetrica(part):
12
+ """
13
+ Implement the bijection between strict partitions
14
+ and partitions with odd parts. input is a VECTOR type partition, the
15
+ result is a partition of the same weight with only odd parts.
16
+ """
17
+
18
+ #Make sure that the partition is strict
19
+ cdef INT i
20
+ for i from 0 <= i < len(part)-1:
21
+ if part[i] == part[i+1]:
22
+ raise ValueError("the partition part (= %s) must be strict" % str(part))
23
+
24
+ cdef OP cpart, cres
25
+ anfang()
26
+ cpart = callocobject()
27
+ cres = callocobject()
28
+
29
+ _op_partition(part, cpart)
30
+
31
+ strict_to_odd_part(cpart, cres)
32
+
33
+ res = _py(cres)
34
+
35
+ freeall(cpart)
36
+ freeall(cres)
37
+ ende()
38
+
39
+ return res
40
+
41
+
42
+ def odd_to_strict_part_symmetrica(part):
43
+ """
44
+ Implement the bijection between partitions with odd parts
45
+ and strict partitions. input is a VECTOR type partition, the
46
+ result is a partition of the same weight with different parts.
47
+ """
48
+
49
+ #Make sure that the partition is strict
50
+ cdef INT i
51
+ for i from 0 <= i < len(part):
52
+ if part[i] % 2 == 0:
53
+ raise ValueError("the partition part (= %s) must be odd" % str(part))
54
+
55
+ cdef OP cpart, cres
56
+ anfang()
57
+ cpart = callocobject()
58
+ cres = callocobject()
59
+
60
+ _op_partition(part, cpart)
61
+
62
+ odd_to_strict_part(cpart, cres)
63
+
64
+ res = _py(cres)
65
+
66
+ freeall(cpart)
67
+ freeall(cres)
68
+ ende()
69
+
70
+ return res
71
+
72
+
73
+ def q_core_symmetrica(part, d):
74
+ """
75
+ Compute the q-core of a PARTITION object
76
+ part. This is the remaining partition (=res) after
77
+ removing of all hooks of length d (= INTEGER object).
78
+ The result may be an empty object, if the whole
79
+ partition disappears.
80
+ """
81
+
82
+
83
+ cdef OP cpart, cres, cd
84
+ anfang()
85
+ cpart = callocobject()
86
+ cd = callocobject()
87
+ cres = callocobject()
88
+
89
+ _op_partition(part, cpart)
90
+ _op_integer(d, cd)
91
+
92
+ q_core(cpart, cd, cres)
93
+
94
+ res = _py(cres)
95
+
96
+ freeall(cpart)
97
+ freeall(cres)
98
+ freeall(cd)
99
+ ende()
100
+
101
+ return res
102
+
103
+
104
+ def gupta_nm_symmetrica(n, m):
105
+ """
106
+ This routine computes the number of partitions
107
+ of n with maximal part m. The result is erg. The
108
+ input n,m must be INTEGER objects. The result is
109
+ freed first to an empty object. The result must
110
+ be a different from m and n.
111
+ """
112
+
113
+
114
+ cdef OP cn, cm, cres
115
+ anfang()
116
+ cm = callocobject()
117
+ cn = callocobject()
118
+ cres = callocobject()
119
+
120
+
121
+ _op_integer(n, cn)
122
+ _op_integer(m, cm)
123
+
124
+ gupta_nm(cn, cm, cres)
125
+
126
+ res = _py(cres)
127
+
128
+ freeall(cn)
129
+ freeall(cres)
130
+ freeall(cm)
131
+ ende()
132
+
133
+ return res
134
+
135
+
136
+ def gupta_tafel_symmetrica(max):
137
+ """
138
+ It computes the table of the above values. The entry
139
+ n,m is the result of gupta_nm. mat is freed first.
140
+ max must be an INTEGER object, it is the maximum
141
+ weight for the partitions. max must be different from
142
+ result.
143
+ """
144
+
145
+
146
+ cdef OP cmax, cres
147
+ anfang()
148
+
149
+ cmax = callocobject()
150
+ cres = callocobject()
151
+
152
+
153
+ _op_integer(max, cmax)
154
+
155
+ gupta_tafel(cmax, cres)
156
+
157
+ res = _py(cres)
158
+
159
+ freeall(cmax)
160
+ freeall(cres)
161
+ ende()
162
+
163
+ return res
164
+
165
+
166
+ def random_partition_symmetrica(n):
167
+ """
168
+ Return a random partition p of the entered weight w.
169
+
170
+ w must be an INTEGER object, p becomes a PARTITION object.
171
+ Type of partition is VECTOR . It uses the algorithm of
172
+ Nijenhuis and Wilf, p.76
173
+ """
174
+
175
+
176
+ cdef OP cn, cres
177
+ anfang()
178
+
179
+ cn = callocobject()
180
+ cres = callocobject()
181
+
182
+
183
+ _op_integer(n, cn)
184
+
185
+ random_partition(cn, cres)
186
+
187
+ res = _py(cres)
188
+
189
+ freeall(cn)
190
+ freeall(cres)
191
+ ende()
192
+
193
+ return res
@@ -0,0 +1,42 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ cdef extern from 'symmetrica/def.h':
3
+ INT plethysm(OP s1, OP s2, OP res)
4
+ INT schur_schur_plet(OP p1, OP p2, OP res)
5
+
6
+
7
+ def plethysm_symmetrica(outer, inner):
8
+ cdef OP couter = callocobject(), cinner = callocobject(), cresult = callocobject()
9
+
10
+ _op_schur(outer, couter)
11
+ _op_schur(inner, cinner)
12
+
13
+ sig_on()
14
+ plethysm(couter, cinner, cresult)
15
+ sig_off()
16
+
17
+ res = _py(cresult)
18
+
19
+ freeall(couter)
20
+ freeall(cinner)
21
+ freeall(cresult)
22
+
23
+ return res
24
+
25
+
26
+ def schur_schur_plet_symmetrica(outer, inner):
27
+ cdef OP couter = callocobject(), cinner = callocobject(), cresult = callocobject()
28
+
29
+ _op_partition(outer, couter)
30
+ _op_partition(inner, cinner)
31
+
32
+ sig_on()
33
+ schur_schur_plet(couter, cinner, cresult)
34
+ sig_off()
35
+
36
+ res = _py(cresult)
37
+
38
+ freeall(couter)
39
+ freeall(cinner)
40
+ freeall(cresult)
41
+
42
+ return res
@@ -0,0 +1,196 @@
1
+ # sage_setup: distribution = sagemath-combinat
2
+ cdef extern from 'symmetrica/def.h':
3
+ INT dimension_symmetrization(OP n, OP part, OP a)
4
+ INT bdg(OP part, OP perm, OP D)
5
+ INT sdg(OP part, OP perm, OP D)
6
+ INT odg(OP part, OP perm, OP D)
7
+ INT ndg(OP part, OP perm, OP D)
8
+ INT specht_dg(OP part, OP perm, OP D)
9
+ INT glmndg(OP m, OP n, OP M, INT VAR)
10
+
11
+
12
+ def dimension_symmetrization_symmetrica(n, part):
13
+ """
14
+ Compute the dimension of the degree of a irreducible
15
+ representation of the GL_n, n is a INTEGER object, labeled
16
+ by the PARTITION object a.
17
+ """
18
+ cdef OP cn, cpart, cres
19
+
20
+
21
+ cn = callocobject()
22
+ cpart = callocobject()
23
+ cres = callocobject()
24
+
25
+ _op_partition(part, cpart)
26
+ _op_integer(n, cn)
27
+
28
+ dimension_symmetrization(cn, cpart, cres)
29
+ res = _py(cres)
30
+
31
+ freeall(cn)
32
+ freeall(cpart)
33
+ freeall(cres)
34
+
35
+
36
+ return res
37
+
38
+
39
+ def bdg_symmetrica(part, perm):
40
+ """
41
+ Calculate the irreducible matrix representation
42
+ D^part(perm), whose entries are of integral numbers.
43
+
44
+ REFERENCE: H. Boerner:
45
+ Darstellungen von Gruppen, Springer 1955.
46
+ pp. 104-107.
47
+ """
48
+ cdef OP cpart, cperm, cD
49
+
50
+
51
+ cpart = callocobject()
52
+ cperm = callocobject()
53
+ cD = callocobject()
54
+
55
+ _op_partition(part, cpart)
56
+ _op_permutation(perm, cperm)
57
+
58
+ bdg(cpart, cperm, cD)
59
+ res = _py_matrix(cD)
60
+
61
+ freeall(cpart)
62
+ freeall(cperm)
63
+ freeall(cD)
64
+
65
+
66
+ def sdg_symmetrica(part, perm):
67
+ """
68
+ Calculate the irreducible matrix representation
69
+ D^part(perm), which consists of rational numbers.
70
+
71
+ REFERENCE: G. James/ A. Kerber:
72
+ Representation Theory of the Symmetric Group.
73
+ Addison/Wesley 1981.
74
+ pp. 124-126.
75
+ """
76
+ cdef OP cpart, cperm, cD
77
+
78
+
79
+ cpart = callocobject()
80
+ cperm = callocobject()
81
+ cD = callocobject()
82
+
83
+ _op_partition(part, cpart)
84
+ _op_permutation(perm, cperm)
85
+
86
+ sdg(cpart, cperm, cD)
87
+ res = _py_matrix(cD)
88
+
89
+ freeall(cpart)
90
+ freeall(cperm)
91
+ freeall(cD)
92
+
93
+ return res
94
+
95
+
96
+ def odg_symmetrica(part, perm):
97
+ """
98
+ Calculate the irreducible matrix representation
99
+ D^part(perm), which consists of real numbers.
100
+
101
+ REFERENCE: G. James/ A. Kerber:
102
+ Representation Theory of the Symmetric Group.
103
+ Addison/Wesley 1981.
104
+ pp. 127-129.
105
+ """
106
+ cdef OP cpart, cperm, cD
107
+
108
+
109
+ cpart = callocobject()
110
+ cperm = callocobject()
111
+ cD = callocobject()
112
+
113
+ _op_partition(part, cpart)
114
+ _op_permutation(perm, cperm)
115
+
116
+ odg(cpart, cperm, cD)
117
+ res = _py_matrix(cD)
118
+
119
+ freeall(cpart)
120
+ freeall(cperm)
121
+ freeall(cD)
122
+
123
+ return res
124
+
125
+
126
+ def ndg_symmetrica(part, perm):
127
+ cdef OP cpart, cperm, cD
128
+
129
+ cpart = callocobject()
130
+ cperm = callocobject()
131
+ cD = callocobject()
132
+
133
+ _op_partition(part, cpart)
134
+ _op_permutation(perm, cperm)
135
+
136
+ ndg(cpart, cperm, cD)
137
+ res = _py_matrix(cD)
138
+
139
+ freeall(cpart)
140
+ freeall(cperm)
141
+ freeall(cD)
142
+
143
+ return res
144
+
145
+
146
+ def specht_dg_symmetrica(part, perm):
147
+ cdef OP cpart, cperm, cD
148
+
149
+ cpart = callocobject()
150
+ cperm = callocobject()
151
+ cD = callocobject()
152
+
153
+ _op_partition(part, cpart)
154
+ _op_permutation(perm, cperm)
155
+
156
+ specht_dg(cpart, cperm, cD)
157
+ res = _py_matrix(cD)
158
+
159
+ freeall(cpart)
160
+ freeall(cperm)
161
+ freeall(cD)
162
+
163
+ return res
164
+
165
+
166
+ ## def glmndg_symmetrica(m, n, VAR=0):
167
+ ## """
168
+ ## If VAR is equal to 0 the orthogonal representation
169
+ ## is used for the decomposition, otherwise, if VAR
170
+ ## equals 1, the natural representation is considered.
171
+
172
+ ## The result is the VECTOR-Object M, consisting of
173
+ ## components of type MATRIX, representing the several
174
+ ## irreducible matrix representations of GLm(C) with
175
+ ## part_1' <= m, where part is a partition of n.
176
+
177
+ ## """
178
+ ## cdef OP cm, cn, cM
179
+
180
+ ## cm = callocobject()
181
+ ## _op_integer(m, cm)
182
+
183
+ ## cn = callocobject()
184
+ ## _op_integer(n, cn)
185
+
186
+ ## cM = callocobject()
187
+
188
+ ## glmndg(cm, cn, cM, VAR)
189
+ ## res = _py(cM)
190
+
191
+
192
+ ## freeall(cm)
193
+ ## freeall(cn)
194
+ ## freeall(cM)
195
+
196
+ ## return res