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.
- passagemath_combinat/__init__.py +3 -0
- passagemath_combinat-10.6.42.dist-info/METADATA +160 -0
- passagemath_combinat-10.6.42.dist-info/RECORD +400 -0
- passagemath_combinat-10.6.42.dist-info/WHEEL +5 -0
- passagemath_combinat-10.6.42.dist-info/top_level.txt +3 -0
- passagemath_combinat.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
- passagemath_combinat.libs/libsymmetrica-81fe8739.so.3.0.0 +0 -0
- sage/algebras/affine_nil_temperley_lieb.py +263 -0
- sage/algebras/all.py +24 -0
- sage/algebras/all__sagemath_combinat.py +35 -0
- sage/algebras/askey_wilson.py +935 -0
- sage/algebras/associated_graded.py +345 -0
- sage/algebras/cellular_basis.py +350 -0
- sage/algebras/cluster_algebra.py +2766 -0
- sage/algebras/down_up_algebra.py +860 -0
- sage/algebras/free_algebra.py +1698 -0
- sage/algebras/free_algebra_element.py +345 -0
- sage/algebras/free_algebra_quotient.py +405 -0
- sage/algebras/free_algebra_quotient_element.py +295 -0
- sage/algebras/free_zinbiel_algebra.py +885 -0
- sage/algebras/hall_algebra.py +783 -0
- sage/algebras/hecke_algebras/all.py +4 -0
- sage/algebras/hecke_algebras/ariki_koike_algebra.py +1796 -0
- sage/algebras/hecke_algebras/ariki_koike_specht_modules.py +475 -0
- sage/algebras/hecke_algebras/cubic_hecke_algebra.py +3520 -0
- sage/algebras/hecke_algebras/cubic_hecke_base_ring.py +1473 -0
- sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py +1079 -0
- sage/algebras/iwahori_hecke_algebra.py +3095 -0
- sage/algebras/jordan_algebra.py +1773 -0
- sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py +113 -0
- sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py +156 -0
- sage/algebras/lie_conformal_algebras/all.py +18 -0
- sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py +134 -0
- sage/algebras/lie_conformal_algebras/examples.py +43 -0
- sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py +131 -0
- sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py +139 -0
- sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py +174 -0
- sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py +167 -0
- sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py +107 -0
- sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py +135 -0
- sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py +353 -0
- sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py +236 -0
- sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py +78 -0
- sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py +328 -0
- sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py +117 -0
- sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py +86 -0
- sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py +82 -0
- sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py +205 -0
- sage/algebras/nil_coxeter_algebra.py +191 -0
- sage/algebras/q_commuting_polynomials.py +673 -0
- sage/algebras/q_system.py +608 -0
- sage/algebras/quantum_clifford.py +959 -0
- sage/algebras/quantum_groups/ace_quantum_onsager.py +693 -0
- sage/algebras/quantum_groups/all.py +9 -0
- sage/algebras/quantum_groups/fock_space.py +2219 -0
- sage/algebras/quantum_groups/q_numbers.py +207 -0
- sage/algebras/quantum_groups/quantum_group_gap.py +2695 -0
- sage/algebras/quantum_groups/representations.py +591 -0
- sage/algebras/quantum_matrix_coordinate_algebra.py +1006 -0
- sage/algebras/quantum_oscillator.py +623 -0
- sage/algebras/quaternion_algebra.py +20 -0
- sage/algebras/quaternion_algebra_element.py +55 -0
- sage/algebras/rational_cherednik_algebra.py +525 -0
- sage/algebras/schur_algebra.py +670 -0
- sage/algebras/shuffle_algebra.py +1011 -0
- sage/algebras/splitting_algebra.py +779 -0
- sage/algebras/tensor_algebra.py +709 -0
- sage/algebras/yangian.py +1082 -0
- sage/algebras/yokonuma_hecke_algebra.py +1018 -0
- sage/all__sagemath_combinat.py +35 -0
- sage/combinat/SJT.py +255 -0
- sage/combinat/affine_permutation.py +2405 -0
- sage/combinat/algebraic_combinatorics.py +55 -0
- sage/combinat/all.py +53 -0
- sage/combinat/all__sagemath_combinat.py +195 -0
- sage/combinat/alternating_sign_matrix.py +2063 -0
- sage/combinat/baxter_permutations.py +346 -0
- sage/combinat/bijectionist.py +3220 -0
- sage/combinat/binary_recurrence_sequences.py +1180 -0
- sage/combinat/blob_algebra.py +685 -0
- sage/combinat/catalog_partitions.py +27 -0
- sage/combinat/chas/all.py +23 -0
- sage/combinat/chas/fsym.py +1180 -0
- sage/combinat/chas/wqsym.py +2601 -0
- sage/combinat/cluster_complex.py +326 -0
- sage/combinat/colored_permutations.py +2039 -0
- sage/combinat/colored_permutations_representations.py +964 -0
- sage/combinat/composition_signed.py +142 -0
- sage/combinat/composition_tableau.py +855 -0
- sage/combinat/constellation.py +1729 -0
- sage/combinat/core.py +751 -0
- sage/combinat/counting.py +12 -0
- sage/combinat/crystals/affine.py +742 -0
- sage/combinat/crystals/affine_factorization.py +518 -0
- sage/combinat/crystals/affinization.py +331 -0
- sage/combinat/crystals/alcove_path.py +2013 -0
- sage/combinat/crystals/all.py +22 -0
- sage/combinat/crystals/bkk_crystals.py +141 -0
- sage/combinat/crystals/catalog.py +115 -0
- sage/combinat/crystals/catalog_elementary_crystals.py +18 -0
- sage/combinat/crystals/catalog_infinity_crystals.py +33 -0
- sage/combinat/crystals/catalog_kirillov_reshetikhin.py +18 -0
- sage/combinat/crystals/crystals.py +257 -0
- sage/combinat/crystals/direct_sum.py +260 -0
- sage/combinat/crystals/elementary_crystals.py +1251 -0
- sage/combinat/crystals/fast_crystals.py +441 -0
- sage/combinat/crystals/fully_commutative_stable_grothendieck.py +1205 -0
- sage/combinat/crystals/generalized_young_walls.py +1076 -0
- sage/combinat/crystals/highest_weight_crystals.py +436 -0
- sage/combinat/crystals/induced_structure.py +695 -0
- sage/combinat/crystals/infinity_crystals.py +730 -0
- sage/combinat/crystals/kac_modules.py +863 -0
- sage/combinat/crystals/kirillov_reshetikhin.py +4196 -0
- sage/combinat/crystals/kyoto_path_model.py +497 -0
- sage/combinat/crystals/letters.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/crystals/letters.pxd +79 -0
- sage/combinat/crystals/letters.pyx +3056 -0
- sage/combinat/crystals/littelmann_path.py +1518 -0
- sage/combinat/crystals/monomial_crystals.py +1262 -0
- sage/combinat/crystals/multisegments.py +462 -0
- sage/combinat/crystals/mv_polytopes.py +467 -0
- sage/combinat/crystals/pbw_crystal.py +511 -0
- sage/combinat/crystals/pbw_datum.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/crystals/pbw_datum.pxd +4 -0
- sage/combinat/crystals/pbw_datum.pyx +487 -0
- sage/combinat/crystals/polyhedral_realization.py +372 -0
- sage/combinat/crystals/spins.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/crystals/spins.pxd +21 -0
- sage/combinat/crystals/spins.pyx +756 -0
- sage/combinat/crystals/star_crystal.py +290 -0
- sage/combinat/crystals/subcrystal.py +464 -0
- sage/combinat/crystals/tensor_product.py +1177 -0
- sage/combinat/crystals/tensor_product_element.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/crystals/tensor_product_element.pxd +35 -0
- sage/combinat/crystals/tensor_product_element.pyx +1870 -0
- sage/combinat/crystals/virtual_crystal.py +420 -0
- sage/combinat/cyclic_sieving_phenomenon.py +204 -0
- sage/combinat/debruijn_sequence.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/debruijn_sequence.pyx +355 -0
- sage/combinat/decorated_permutation.py +270 -0
- sage/combinat/degree_sequences.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/degree_sequences.pyx +588 -0
- sage/combinat/derangements.py +527 -0
- sage/combinat/descent_algebra.py +1008 -0
- sage/combinat/diagram.py +1551 -0
- sage/combinat/diagram_algebras.py +5886 -0
- sage/combinat/dyck_word.py +4349 -0
- sage/combinat/e_one_star.py +1623 -0
- sage/combinat/enumerated_sets.py +123 -0
- sage/combinat/expnums.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/expnums.pyx +148 -0
- sage/combinat/fast_vector_partitions.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/fast_vector_partitions.pyx +346 -0
- sage/combinat/fqsym.py +1977 -0
- sage/combinat/free_dendriform_algebra.py +954 -0
- sage/combinat/free_prelie_algebra.py +1141 -0
- sage/combinat/fully_commutative_elements.py +1077 -0
- sage/combinat/fully_packed_loop.py +1523 -0
- sage/combinat/gelfand_tsetlin_patterns.py +1409 -0
- sage/combinat/gray_codes.py +311 -0
- sage/combinat/grossman_larson_algebras.py +667 -0
- sage/combinat/growth.py +4352 -0
- sage/combinat/hall_polynomial.py +188 -0
- sage/combinat/hillman_grassl.py +866 -0
- sage/combinat/integer_matrices.py +329 -0
- sage/combinat/integer_vectors_mod_permgroup.py +1238 -0
- sage/combinat/k_tableau.py +4564 -0
- sage/combinat/kazhdan_lusztig.py +215 -0
- sage/combinat/key_polynomial.py +885 -0
- sage/combinat/knutson_tao_puzzles.py +2286 -0
- sage/combinat/lr_tableau.py +311 -0
- sage/combinat/matrices/all.py +24 -0
- sage/combinat/matrices/hadamard_matrix.py +3790 -0
- sage/combinat/matrices/latin.py +2912 -0
- sage/combinat/misc.py +401 -0
- sage/combinat/multiset_partition_into_sets_ordered.py +3541 -0
- sage/combinat/ncsf_qsym/all.py +21 -0
- sage/combinat/ncsf_qsym/combinatorics.py +317 -0
- sage/combinat/ncsf_qsym/generic_basis_code.py +1427 -0
- sage/combinat/ncsf_qsym/ncsf.py +5637 -0
- sage/combinat/ncsf_qsym/qsym.py +4053 -0
- sage/combinat/ncsf_qsym/tutorial.py +447 -0
- sage/combinat/ncsym/all.py +21 -0
- sage/combinat/ncsym/bases.py +855 -0
- sage/combinat/ncsym/dual.py +593 -0
- sage/combinat/ncsym/ncsym.py +2076 -0
- sage/combinat/necklace.py +551 -0
- sage/combinat/non_decreasing_parking_function.py +634 -0
- sage/combinat/nu_dyck_word.py +1474 -0
- sage/combinat/output.py +861 -0
- sage/combinat/parallelogram_polyomino.py +4326 -0
- sage/combinat/parking_functions.py +1602 -0
- sage/combinat/partition_algebra.py +1998 -0
- sage/combinat/partition_kleshchev.py +1982 -0
- sage/combinat/partition_shifting_algebras.py +584 -0
- sage/combinat/partition_tuple.py +3114 -0
- sage/combinat/path_tableaux/all.py +13 -0
- sage/combinat/path_tableaux/catalog.py +29 -0
- sage/combinat/path_tableaux/dyck_path.py +380 -0
- sage/combinat/path_tableaux/frieze.py +476 -0
- sage/combinat/path_tableaux/path_tableau.py +728 -0
- sage/combinat/path_tableaux/semistandard.py +510 -0
- sage/combinat/perfect_matching.py +779 -0
- sage/combinat/plane_partition.py +3300 -0
- sage/combinat/q_bernoulli.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/q_bernoulli.pyx +128 -0
- sage/combinat/quickref.py +81 -0
- sage/combinat/recognizable_series.py +2051 -0
- sage/combinat/regular_sequence.py +4316 -0
- sage/combinat/regular_sequence_bounded.py +543 -0
- sage/combinat/restricted_growth.py +81 -0
- sage/combinat/ribbon.py +20 -0
- sage/combinat/ribbon_shaped_tableau.py +489 -0
- sage/combinat/ribbon_tableau.py +1180 -0
- sage/combinat/rigged_configurations/all.py +46 -0
- sage/combinat/rigged_configurations/bij_abstract_class.py +548 -0
- sage/combinat/rigged_configurations/bij_infinity.py +370 -0
- sage/combinat/rigged_configurations/bij_type_A.py +163 -0
- sage/combinat/rigged_configurations/bij_type_A2_dual.py +338 -0
- sage/combinat/rigged_configurations/bij_type_A2_even.py +218 -0
- sage/combinat/rigged_configurations/bij_type_A2_odd.py +199 -0
- sage/combinat/rigged_configurations/bij_type_B.py +900 -0
- sage/combinat/rigged_configurations/bij_type_C.py +267 -0
- sage/combinat/rigged_configurations/bij_type_D.py +771 -0
- sage/combinat/rigged_configurations/bij_type_D_tri.py +392 -0
- sage/combinat/rigged_configurations/bij_type_D_twisted.py +576 -0
- sage/combinat/rigged_configurations/bij_type_E67.py +402 -0
- sage/combinat/rigged_configurations/bijection.py +143 -0
- sage/combinat/rigged_configurations/kleber_tree.py +1475 -0
- sage/combinat/rigged_configurations/kr_tableaux.py +1898 -0
- sage/combinat/rigged_configurations/rc_crystal.py +461 -0
- sage/combinat/rigged_configurations/rc_infinity.py +540 -0
- sage/combinat/rigged_configurations/rigged_configuration_element.py +2403 -0
- sage/combinat/rigged_configurations/rigged_configurations.py +1918 -0
- sage/combinat/rigged_configurations/rigged_partition.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/rigged_configurations/rigged_partition.pxd +15 -0
- sage/combinat/rigged_configurations/rigged_partition.pyx +680 -0
- sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py +499 -0
- sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py +428 -0
- sage/combinat/rsk.py +3438 -0
- sage/combinat/schubert_polynomial.py +508 -0
- sage/combinat/set_partition.py +3318 -0
- sage/combinat/set_partition_iterator.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/set_partition_iterator.pyx +136 -0
- sage/combinat/set_partition_ordered.py +1590 -0
- sage/combinat/sf/abreu_nigro.py +346 -0
- sage/combinat/sf/all.py +52 -0
- sage/combinat/sf/character.py +576 -0
- sage/combinat/sf/classical.py +319 -0
- sage/combinat/sf/dual.py +996 -0
- sage/combinat/sf/elementary.py +549 -0
- sage/combinat/sf/hall_littlewood.py +1028 -0
- sage/combinat/sf/hecke.py +336 -0
- sage/combinat/sf/homogeneous.py +464 -0
- sage/combinat/sf/jack.py +1428 -0
- sage/combinat/sf/k_dual.py +1458 -0
- sage/combinat/sf/kfpoly.py +447 -0
- sage/combinat/sf/llt.py +789 -0
- sage/combinat/sf/macdonald.py +2019 -0
- sage/combinat/sf/monomial.py +525 -0
- sage/combinat/sf/multiplicative.py +113 -0
- sage/combinat/sf/new_kschur.py +1786 -0
- sage/combinat/sf/ns_macdonald.py +964 -0
- sage/combinat/sf/orthogonal.py +246 -0
- sage/combinat/sf/orthotriang.py +355 -0
- sage/combinat/sf/powersum.py +963 -0
- sage/combinat/sf/schur.py +880 -0
- sage/combinat/sf/sf.py +1653 -0
- sage/combinat/sf/sfa.py +7053 -0
- sage/combinat/sf/symplectic.py +253 -0
- sage/combinat/sf/witt.py +721 -0
- sage/combinat/shifted_primed_tableau.py +2735 -0
- sage/combinat/shuffle.py +830 -0
- sage/combinat/sidon_sets.py +146 -0
- sage/combinat/similarity_class_type.py +1721 -0
- sage/combinat/sine_gordon.py +618 -0
- sage/combinat/six_vertex_model.py +784 -0
- sage/combinat/skew_partition.py +2053 -0
- sage/combinat/skew_tableau.py +2989 -0
- sage/combinat/sloane_functions.py +8935 -0
- sage/combinat/specht_module.py +1403 -0
- sage/combinat/species/all.py +48 -0
- sage/combinat/species/characteristic_species.py +321 -0
- sage/combinat/species/composition_species.py +273 -0
- sage/combinat/species/cycle_species.py +284 -0
- sage/combinat/species/empty_species.py +155 -0
- sage/combinat/species/functorial_composition_species.py +148 -0
- sage/combinat/species/generating_series.py +673 -0
- sage/combinat/species/library.py +148 -0
- sage/combinat/species/linear_order_species.py +169 -0
- sage/combinat/species/misc.py +83 -0
- sage/combinat/species/partition_species.py +290 -0
- sage/combinat/species/permutation_species.py +268 -0
- sage/combinat/species/product_species.py +423 -0
- sage/combinat/species/recursive_species.py +476 -0
- sage/combinat/species/set_species.py +192 -0
- sage/combinat/species/species.py +820 -0
- sage/combinat/species/structure.py +539 -0
- sage/combinat/species/subset_species.py +243 -0
- sage/combinat/species/sum_species.py +225 -0
- sage/combinat/subword.py +564 -0
- sage/combinat/subword_complex.py +2122 -0
- sage/combinat/subword_complex_c.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/subword_complex_c.pyx +119 -0
- sage/combinat/super_tableau.py +821 -0
- sage/combinat/superpartition.py +1154 -0
- sage/combinat/symmetric_group_algebra.py +3774 -0
- sage/combinat/symmetric_group_representations.py +1830 -0
- sage/combinat/t_sequences.py +877 -0
- sage/combinat/tableau.py +9506 -0
- sage/combinat/tableau_residues.py +860 -0
- sage/combinat/tableau_tuple.py +5353 -0
- sage/combinat/tiling.py +2432 -0
- sage/combinat/triangles_FHM.py +777 -0
- sage/combinat/tutorial.py +1857 -0
- sage/combinat/vector_partition.py +337 -0
- sage/combinat/words/abstract_word.py +1722 -0
- sage/combinat/words/all.py +59 -0
- sage/combinat/words/alphabet.py +268 -0
- sage/combinat/words/finite_word.py +7201 -0
- sage/combinat/words/infinite_word.py +113 -0
- sage/combinat/words/lyndon_word.py +652 -0
- sage/combinat/words/morphic.py +351 -0
- sage/combinat/words/morphism.py +3878 -0
- sage/combinat/words/paths.py +2932 -0
- sage/combinat/words/shuffle_product.py +278 -0
- sage/combinat/words/suffix_trees.py +1873 -0
- sage/combinat/words/word.py +769 -0
- sage/combinat/words/word_char.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/words/word_char.pyx +847 -0
- sage/combinat/words/word_datatypes.cpython-314-x86_64-linux-musl.so +0 -0
- sage/combinat/words/word_datatypes.pxd +4 -0
- sage/combinat/words/word_datatypes.pyx +1067 -0
- sage/combinat/words/word_generators.py +2026 -0
- sage/combinat/words/word_infinite_datatypes.py +1218 -0
- sage/combinat/words/word_options.py +99 -0
- sage/combinat/words/words.py +2396 -0
- sage/data_structures/all__sagemath_combinat.py +1 -0
- sage/databases/all__sagemath_combinat.py +13 -0
- sage/databases/findstat.py +4897 -0
- sage/databases/oeis.py +2058 -0
- sage/databases/sloane.py +393 -0
- sage/dynamics/all__sagemath_combinat.py +14 -0
- sage/dynamics/cellular_automata/all.py +7 -0
- sage/dynamics/cellular_automata/catalog.py +34 -0
- sage/dynamics/cellular_automata/elementary.py +612 -0
- sage/dynamics/cellular_automata/glca.py +477 -0
- sage/dynamics/cellular_automata/solitons.py +1463 -0
- sage/dynamics/finite_dynamical_system.py +1249 -0
- sage/dynamics/finite_dynamical_system_catalog.py +382 -0
- sage/games/all.py +7 -0
- sage/games/hexad.py +704 -0
- sage/games/quantumino.py +591 -0
- sage/games/sudoku.py +889 -0
- sage/games/sudoku_backtrack.cpython-314-x86_64-linux-musl.so +0 -0
- sage/games/sudoku_backtrack.pyx +189 -0
- sage/groups/all__sagemath_combinat.py +1 -0
- sage/groups/indexed_free_group.py +489 -0
- sage/libs/all__sagemath_combinat.py +6 -0
- sage/libs/lrcalc/__init__.py +1 -0
- sage/libs/lrcalc/lrcalc.py +525 -0
- sage/libs/symmetrica/__init__.py +7 -0
- sage/libs/symmetrica/all.py +101 -0
- sage/libs/symmetrica/kostka.pxi +168 -0
- sage/libs/symmetrica/part.pxi +193 -0
- sage/libs/symmetrica/plet.pxi +42 -0
- sage/libs/symmetrica/sab.pxi +196 -0
- sage/libs/symmetrica/sb.pxi +332 -0
- sage/libs/symmetrica/sc.pxi +192 -0
- sage/libs/symmetrica/schur.pxi +956 -0
- sage/libs/symmetrica/symmetrica.cpython-314-x86_64-linux-musl.so +0 -0
- sage/libs/symmetrica/symmetrica.pxi +1172 -0
- sage/libs/symmetrica/symmetrica.pyx +39 -0
- sage/monoids/all.py +13 -0
- sage/monoids/automatic_semigroup.py +1054 -0
- sage/monoids/free_abelian_monoid.py +315 -0
- sage/monoids/free_abelian_monoid_element.cpython-314-x86_64-linux-musl.so +0 -0
- sage/monoids/free_abelian_monoid_element.pxd +16 -0
- sage/monoids/free_abelian_monoid_element.pyx +397 -0
- sage/monoids/free_monoid.py +335 -0
- sage/monoids/free_monoid_element.py +431 -0
- sage/monoids/hecke_monoid.py +65 -0
- sage/monoids/string_monoid.py +817 -0
- sage/monoids/string_monoid_element.py +547 -0
- sage/monoids/string_ops.py +143 -0
- sage/monoids/trace_monoid.py +972 -0
- sage/rings/all__sagemath_combinat.py +2 -0
- sage/sat/all.py +4 -0
- sage/sat/boolean_polynomials.py +405 -0
- sage/sat/converters/__init__.py +6 -0
- sage/sat/converters/anf2cnf.py +14 -0
- sage/sat/converters/polybori.py +611 -0
- sage/sat/solvers/__init__.py +5 -0
- sage/sat/solvers/cryptominisat.py +287 -0
- sage/sat/solvers/dimacs.py +783 -0
- sage/sat/solvers/picosat.py +228 -0
- sage/sat/solvers/sat_lp.py +156 -0
- sage/sat/solvers/satsolver.cpython-314-x86_64-linux-musl.so +0 -0
- sage/sat/solvers/satsolver.pxd +3 -0
- 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
|