passagemath-combinat 10.6.1__cp312-cp312-musllinux_1_2_aarch64.whl → 10.8.1a1__cp312-cp312-musllinux_1_2_aarch64.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.1.dist-info → passagemath_combinat-10.8.1a1.dist-info}/METADATA +17 -20
- {passagemath_combinat-10.6.1.dist-info → passagemath_combinat-10.8.1a1.dist-info}/RECORD +220 -218
- {passagemath_combinat-10.6.1.dist-info → passagemath_combinat-10.8.1a1.dist-info}/WHEEL +1 -1
- passagemath_combinat-10.8.1a1.dist-info/top_level.txt +3 -0
- sage/algebras/affine_nil_temperley_lieb.py +3 -3
- sage/algebras/all.py +0 -1
- sage/algebras/askey_wilson.py +1 -1
- sage/algebras/associated_graded.py +2 -2
- sage/algebras/cellular_basis.py +3 -6
- sage/algebras/cluster_algebra.py +2 -3
- sage/algebras/down_up_algebra.py +6 -6
- sage/algebras/free_algebra.py +3 -32
- sage/algebras/free_algebra_element.py +21 -25
- sage/algebras/free_algebra_quotient_element.py +9 -38
- sage/algebras/free_zinbiel_algebra.py +4 -3
- sage/algebras/hall_algebra.py +2 -2
- sage/algebras/hecke_algebras/ariki_koike_algebra.py +8 -8
- sage/algebras/hecke_algebras/ariki_koike_specht_modules.py +2 -2
- sage/algebras/hecke_algebras/cubic_hecke_algebra.py +11 -14
- sage/algebras/hecke_algebras/cubic_hecke_base_ring.py +1 -1
- sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py +5 -5
- sage/algebras/iwahori_hecke_algebra.py +59 -57
- sage/algebras/jordan_algebra.py +97 -89
- sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py +6 -6
- sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py +14 -12
- sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py +6 -6
- sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py +4 -4
- sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py +13 -13
- sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py +8 -6
- sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py +7 -5
- sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py +7 -7
- sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py +6 -5
- sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py +12 -11
- sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py +3 -3
- sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py +3 -3
- sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py +11 -11
- sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py +3 -3
- sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py +8 -7
- sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py +9 -8
- sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py +6 -5
- sage/algebras/nil_coxeter_algebra.py +4 -4
- sage/algebras/q_commuting_polynomials.py +6 -6
- sage/algebras/q_system.py +3 -3
- sage/algebras/quantum_clifford.py +8 -8
- sage/algebras/quantum_groups/fock_space.py +48 -8
- sage/algebras/quantum_groups/quantum_group_gap.py +5 -7
- sage/algebras/quantum_matrix_coordinate_algebra.py +7 -7
- sage/algebras/quantum_oscillator.py +3 -3
- sage/algebras/quaternion_algebra_element.py +5 -3
- sage/algebras/schur_algebra.py +3 -3
- sage/algebras/shuffle_algebra.py +5 -8
- sage/algebras/splitting_algebra.py +129 -85
- sage/algebras/tensor_algebra.py +7 -7
- sage/algebras/yangian.py +16 -15
- sage/algebras/yokonuma_hecke_algebra.py +13 -11
- sage/combinat/all.py +9 -0
- sage/combinat/all__sagemath_combinat.py +1 -0
- sage/combinat/alternating_sign_matrix.py +36 -29
- sage/combinat/baxter_permutations.py +32 -12
- sage/combinat/bijectionist.py +13 -17
- sage/combinat/chas/fsym.py +6 -6
- sage/combinat/chas/wqsym.py +23 -29
- sage/combinat/colored_permutations.py +9 -11
- sage/combinat/colored_permutations_representations.py +13 -12
- sage/combinat/composition_tableau.py +2 -2
- sage/combinat/constellation.py +57 -30
- sage/combinat/crystals/affine_factorization.py +5 -4
- sage/combinat/crystals/alcove_path.py +2 -2
- sage/combinat/crystals/fully_commutative_stable_grothendieck.py +3 -2
- sage/combinat/crystals/infinity_crystals.py +18 -18
- sage/combinat/crystals/kac_modules.py +1 -1
- sage/combinat/crystals/kirillov_reshetikhin.py +2 -2
- sage/combinat/crystals/letters.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/crystals/littelmann_path.py +1 -1
- sage/combinat/crystals/pbw_datum.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/crystals/pbw_datum.pyx +3 -2
- sage/combinat/crystals/spins.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/crystals/tensor_product.py +7 -5
- sage/combinat/crystals/tensor_product_element.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/debruijn_sequence.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/debruijn_sequence.pyx +1 -2
- sage/combinat/degree_sequences.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/degree_sequences.pyx +241 -188
- sage/combinat/derangements.py +28 -22
- sage/combinat/diagram_algebras.py +12 -14
- sage/combinat/dyck_word.py +15 -14
- sage/combinat/e_one_star.py +1 -1
- sage/combinat/expnums.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/fast_vector_partitions.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/fqsym.py +13 -19
- sage/combinat/free_dendriform_algebra.py +2 -2
- sage/combinat/free_prelie_algebra.py +2 -2
- sage/combinat/fully_commutative_elements.py +8 -8
- sage/combinat/fully_packed_loop.py +9 -9
- sage/combinat/gelfand_tsetlin_patterns.py +4 -5
- sage/combinat/gray_codes.py +3 -4
- sage/combinat/grossman_larson_algebras.py +2 -2
- sage/combinat/growth.py +13 -13
- sage/combinat/hall_polynomial.py +1 -1
- sage/combinat/hillman_grassl.py +1 -1
- sage/combinat/integer_matrices.py +5 -7
- sage/combinat/k_tableau.py +8 -7
- sage/combinat/kazhdan_lusztig.py +3 -3
- sage/combinat/key_polynomial.py +845 -298
- sage/combinat/knutson_tao_puzzles.py +11 -13
- sage/combinat/matrices/hadamard_matrix.py +1 -1
- sage/combinat/matrices/latin.py +75 -92
- sage/combinat/misc.py +3 -3
- sage/combinat/multiset_partition_into_sets_ordered.py +27 -10
- sage/combinat/ncsf_qsym/generic_basis_code.py +5 -5
- sage/combinat/ncsf_qsym/ncsf.py +6 -5
- sage/combinat/ncsf_qsym/qsym.py +9 -17
- sage/combinat/ncsym/ncsym.py +8 -12
- sage/combinat/nu_dyck_word.py +1 -1
- sage/combinat/parallelogram_polyomino.py +3 -5
- sage/combinat/parking_functions.py +6 -5
- sage/combinat/partition_algebra.py +22 -57
- sage/combinat/partition_kleshchev.py +4 -4
- sage/combinat/partition_tuple.py +12 -10
- sage/combinat/plane_partition.py +10 -13
- sage/combinat/positive_integer_semigroup_test.py +17 -0
- sage/combinat/q_bernoulli.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/quickref.py +2 -2
- sage/combinat/recognizable_series.py +2 -2
- sage/combinat/regular_sequence.py +7 -7
- sage/combinat/regular_sequence_bounded.py +15 -21
- sage/combinat/restricted_growth.py +3 -3
- sage/combinat/ribbon.py +3 -3
- sage/combinat/rigged_configurations/bijection.py +3 -3
- sage/combinat/rigged_configurations/rigged_partition.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/rsk.py +2 -0
- sage/combinat/schubert_polynomial.py +11 -2
- sage/combinat/set_partition.py +3 -7
- sage/combinat/set_partition_iterator.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/set_partition_iterator.pyx +0 -1
- sage/combinat/set_partition_ordered.py +2 -2
- sage/combinat/sf/classical.py +1 -1
- sage/combinat/sf/dual.py +4 -8
- sage/combinat/sf/elementary.py +13 -7
- sage/combinat/sf/hall_littlewood.py +10 -8
- sage/combinat/sf/homogeneous.py +6 -3
- sage/combinat/sf/jack.py +11 -9
- sage/combinat/sf/llt.py +4 -5
- sage/combinat/sf/macdonald.py +10 -11
- sage/combinat/sf/monomial.py +6 -0
- sage/combinat/sf/ns_macdonald.py +92 -51
- sage/combinat/sf/powersum.py +9 -14
- sage/combinat/sf/schur.py +6 -0
- sage/combinat/sf/sf.py +21 -19
- sage/combinat/sf/sfa.py +13 -64
- sage/combinat/shifted_primed_tableau.py +5 -7
- sage/combinat/shuffle.py +1 -1
- sage/combinat/sine_gordon.py +18 -38
- sage/combinat/skew_partition.py +9 -12
- sage/combinat/skew_tableau.py +2 -7
- sage/combinat/sloane_functions.py +1 -1
- sage/combinat/species/all.py +67 -2
- sage/combinat/species/characteristic_species.py +3 -0
- sage/combinat/species/composition_species.py +3 -0
- sage/combinat/species/cycle_species.py +4 -0
- sage/combinat/species/empty_species.py +3 -0
- sage/combinat/species/functorial_composition_species.py +3 -0
- sage/combinat/species/generating_series.py +3 -0
- sage/combinat/species/library.py +3 -0
- sage/combinat/species/linear_order_species.py +3 -0
- sage/combinat/species/partition_species.py +3 -0
- sage/combinat/species/permutation_species.py +4 -0
- sage/combinat/species/product_species.py +3 -0
- sage/combinat/species/recursive_species.py +3 -0
- sage/combinat/species/set_species.py +3 -0
- sage/combinat/species/species.py +13 -7
- sage/combinat/species/structure.py +8 -9
- sage/combinat/species/subset_species.py +3 -0
- sage/combinat/species/sum_species.py +3 -0
- sage/combinat/subword.py +4 -1
- sage/combinat/subword_complex.py +7 -7
- sage/combinat/subword_complex_c.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/superpartition.py +1 -1
- sage/combinat/symmetric_group_algebra.py +9 -9
- sage/combinat/symmetric_group_representations.py +5 -5
- sage/combinat/t_sequences.py +4 -4
- sage/combinat/tableau.py +3 -4
- sage/combinat/tableau_tuple.py +2 -2
- sage/combinat/tiling.py +39 -42
- sage/combinat/triangles_FHM.py +38 -15
- sage/combinat/tutorial.py +2 -2
- sage/combinat/vector_partition.py +43 -31
- sage/combinat/words/abstract_word.py +4 -4
- sage/combinat/words/alphabet.py +12 -12
- sage/combinat/words/finite_word.py +25 -229
- sage/combinat/words/infinite_word.py +1 -1
- sage/combinat/words/morphic.py +13 -13
- sage/combinat/words/morphism.py +3 -12
- sage/combinat/words/paths.py +16 -17
- sage/combinat/words/word.py +60 -35
- sage/combinat/words/word_char.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/words/word_char.pyx +46 -7
- sage/combinat/words/word_datatypes.cpython-312-aarch64-linux-musl.so +0 -0
- sage/combinat/words/word_generators.py +39 -38
- sage/databases/findstat.py +72 -31
- sage/databases/oeis.py +125 -25
- sage/databases/sloane.py +14 -8
- sage/games/sudoku_backtrack.cpython-312-aarch64-linux-musl.so +0 -0
- sage/groups/indexed_free_group.py +3 -4
- sage/libs/symmetrica/symmetrica.cpython-312-aarch64-linux-musl.so +0 -0
- sage/libs/symmetrica/symmetrica.pxi +1 -0
- sage/monoids/automatic_semigroup.py +1 -3
- sage/monoids/free_abelian_monoid.py +7 -33
- sage/monoids/free_abelian_monoid_element.cpython-312-aarch64-linux-musl.so +0 -0
- sage/monoids/free_monoid.py +8 -40
- sage/monoids/free_monoid_element.py +1 -9
- sage/monoids/string_monoid.py +5 -2
- sage/monoids/string_monoid_element.py +12 -66
- sage/rings/all__sagemath_combinat.py +7 -0
- sage/sat/solvers/__init__.py +3 -4
- sage/sat/solvers/cryptominisat.py +2 -3
- sage/sat/solvers/picosat.py +2 -3
- sage/sat/solvers/sat_lp.py +2 -2
- sage/sat/solvers/satsolver.cpython-312-aarch64-linux-musl.so +0 -0
- passagemath_combinat-10.6.1.dist-info/top_level.txt +0 -2
|
@@ -12,7 +12,7 @@ AUTHORS:
|
|
|
12
12
|
- Travis Scrimshaw: initial version
|
|
13
13
|
"""
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# ***************************************************************************
|
|
16
16
|
# Copyright (C) 2013 Ben Salisbury <bsalisbury1 at gmail.com>
|
|
17
17
|
# Travis Scrimshaw <tscrim at ucdavis.edu>
|
|
18
18
|
#
|
|
@@ -25,13 +25,12 @@ AUTHORS:
|
|
|
25
25
|
#
|
|
26
26
|
# The full text of the GPL is available at:
|
|
27
27
|
#
|
|
28
|
-
#
|
|
29
|
-
|
|
28
|
+
# https://www.gnu.org/licenses/
|
|
29
|
+
# **************************************************************************
|
|
30
30
|
|
|
31
31
|
from sage.structure.parent import Parent
|
|
32
32
|
from sage.categories.infinite_enumerated_sets import InfiniteEnumeratedSets
|
|
33
33
|
from sage.categories.highest_weight_crystals import HighestWeightCrystals
|
|
34
|
-
from sage.categories.crystals import Crystals
|
|
35
34
|
from sage.categories.supercrystals import SuperCrystals
|
|
36
35
|
from sage.categories.homset import Hom
|
|
37
36
|
from sage.misc.cachefunc import cached_method
|
|
@@ -41,9 +40,10 @@ from sage.combinat.partition import Partition
|
|
|
41
40
|
from sage.combinat.root_system.cartan_type import CartanType
|
|
42
41
|
from sage.combinat.crystals.letters import CrystalOfLetters
|
|
43
42
|
from sage.combinat.crystals.tensor_product import CrystalOfWords
|
|
44
|
-
from sage.combinat.crystals.tensor_product_element import (
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
from sage.combinat.crystals.tensor_product_element import (
|
|
44
|
+
CrystalOfTableauxElement,
|
|
45
|
+
InfinityCrystalOfTableauxElement, InfinityCrystalOfTableauxElementTypeD,
|
|
46
|
+
InfinityQueerCrystalOfTableauxElement)
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
class InfinityCrystalOfTableaux(CrystalOfWords):
|
|
@@ -503,13 +503,13 @@ class InfinityCrystalOfTableaux(CrystalOfWords):
|
|
|
503
503
|
for r in range(len(tab)):
|
|
504
504
|
for c in range(len(tab[r])):
|
|
505
505
|
if tab[r][c] != r+1:
|
|
506
|
-
if [r,tab[r][c]] not in segments:
|
|
507
|
-
segments.append([r,tab[r][c]])
|
|
506
|
+
if [r, tab[r][c]] not in segments:
|
|
507
|
+
segments.append([r, tab[r][c]])
|
|
508
508
|
if self.parent().cartan_type().type() == 'B':
|
|
509
509
|
for r in range(len(tab)):
|
|
510
510
|
for c in range(len(tab[r])):
|
|
511
511
|
if tab[r][c] == 0 and tab[r][-1] == -r-1:
|
|
512
|
-
segments.remove([r,tab[r][c]])
|
|
512
|
+
segments.remove([r, tab[r][c]])
|
|
513
513
|
if self.parent().cartan_type().type() == 'D':
|
|
514
514
|
n = self.parent().cartan_type().rank()
|
|
515
515
|
add = []
|
|
@@ -517,14 +517,14 @@ class InfinityCrystalOfTableaux(CrystalOfWords):
|
|
|
517
517
|
if tab[r][-1] == -1*(r+1):
|
|
518
518
|
for c in range(len(tab[r])):
|
|
519
519
|
if tab[r][c] != n and tab[r][c] != -n:
|
|
520
|
-
if [r,n] not in add:
|
|
521
|
-
add.append([r,n])
|
|
520
|
+
if [r, n] not in add:
|
|
521
|
+
add.append([r, n])
|
|
522
522
|
if len(add) > 0:
|
|
523
|
-
segments.append([r,n])
|
|
523
|
+
segments.append([r, n])
|
|
524
524
|
if self.parent().cartan_type().type() == 'G':
|
|
525
525
|
for c in range(len(tab[0])):
|
|
526
526
|
if tab[0][c] == 0 and tab[0][-1] == -1:
|
|
527
|
-
segments.remove([0,tab[0][c]])
|
|
527
|
+
segments.remove([0, tab[0][c]])
|
|
528
528
|
return len(segments)
|
|
529
529
|
|
|
530
530
|
def content(self):
|
|
@@ -557,11 +557,11 @@ class InfinityCrystalOfTableaux(CrystalOfWords):
|
|
|
557
557
|
tab = self.to_tableau()
|
|
558
558
|
count = 0
|
|
559
559
|
ct = self.parent().cartan_type().type()
|
|
560
|
-
for i,row in enumerate(tab):
|
|
560
|
+
for i, row in enumerate(tab):
|
|
561
561
|
for entry in row:
|
|
562
|
-
if entry == -i-1 and ct in ('B', 'D', 'G'):
|
|
562
|
+
if entry == -i - 1 and ct in ('B', 'D', 'G'):
|
|
563
563
|
count += 2
|
|
564
|
-
elif entry != i+1:
|
|
564
|
+
elif entry != i + 1:
|
|
565
565
|
count += 1
|
|
566
566
|
return count
|
|
567
567
|
|
|
@@ -637,7 +637,7 @@ class InfinityCrystalOfTableauxTypeD(InfinityCrystalOfTableaux):
|
|
|
637
637
|
|
|
638
638
|
|
|
639
639
|
#########################################################
|
|
640
|
-
|
|
640
|
+
# Queer superalgebra
|
|
641
641
|
|
|
642
642
|
class DualInfinityQueerCrystalOfTableaux(CrystalOfWords):
|
|
643
643
|
@staticmethod
|
|
@@ -431,7 +431,7 @@ class CrystalOfOddNegativeRoots(UniqueRepresentation, Parent):
|
|
|
431
431
|
"""
|
|
432
432
|
WLR = self.parent().weight_lattice_realization()
|
|
433
433
|
e = WLR.basis()
|
|
434
|
-
return WLR.sum(-e[i]+e[j] for
|
|
434
|
+
return WLR.sum(-e[i] + e[j] for i, j in self.value)
|
|
435
435
|
|
|
436
436
|
|
|
437
437
|
class CrystalOfKacModule(UniqueRepresentation, Parent):
|
|
@@ -1587,8 +1587,8 @@ class KR_type_A2(KirillovReshetikhinGenericCrystal):
|
|
|
1587
1587
|
sage: G = K.digraph()
|
|
1588
1588
|
sage: Gdual = Kdual.digraph()
|
|
1589
1589
|
sage: f = {0:2, 1:1, 2:0}
|
|
1590
|
-
sage: Gnew = DiGraph(); Gnew.add_vertices(Gdual.vertices(sort=True)); Gnew.add_edges([(u,v,f[i]) for
|
|
1591
|
-
sage: G.is_isomorphic(Gnew, edge_labels
|
|
1590
|
+
sage: Gnew = DiGraph(); Gnew.add_vertices(Gdual.vertices(sort=True)); Gnew.add_edges([(u,v,f[i]) for u, v, i in Gdual.edges(sort=True)])
|
|
1591
|
+
sage: G.is_isomorphic(Gnew, edge_labels=True)
|
|
1592
1592
|
True
|
|
1593
1593
|
"""
|
|
1594
1594
|
|
|
Binary file
|
|
@@ -836,7 +836,7 @@ class CrystalOfProjectedLevelZeroLSPaths(CrystalOfLSPaths):
|
|
|
836
836
|
return sum(q**(c[0].energy_function()) * B.sum(B(weight(b)) for b in c) for c in C)
|
|
837
837
|
return B.sum(q**(b.energy_function()) * B(weight(b)) for b in self)
|
|
838
838
|
|
|
839
|
-
def is_perfect(self, level=1):
|
|
839
|
+
def is_perfect(self, level=1) -> bool:
|
|
840
840
|
r"""
|
|
841
841
|
Check whether the crystal ``self`` is perfect (of level ``level``).
|
|
842
842
|
|
|
Binary file
|
|
@@ -87,10 +87,11 @@ class PBWDatum():
|
|
|
87
87
|
self.long_word == other_PBWDatum.long_word and
|
|
88
88
|
self.lusztig_datum == other_PBWDatum.lusztig_datum)
|
|
89
89
|
|
|
90
|
-
def is_equivalent_to(self, other_pbw_datum):
|
|
90
|
+
def is_equivalent_to(self, other_pbw_datum) -> bool:
|
|
91
91
|
r"""
|
|
92
92
|
Return whether ``self`` is equivalent to ``other_pbw_datum``.
|
|
93
|
-
|
|
93
|
+
|
|
94
|
+
Here equivalent means modulo the tropical Plücker relations.
|
|
94
95
|
|
|
95
96
|
EXAMPLES::
|
|
96
97
|
|
|
Binary file
|
|
@@ -966,8 +966,9 @@ class CrystalOfTableaux(CrystalOfWords):
|
|
|
966
966
|
raise ValueError("shapes should all be partitions")
|
|
967
967
|
S = CrystalOfSpins(cartan_type)
|
|
968
968
|
B = CrystalOfTableaux(cartan_type, shapes=shapes)
|
|
969
|
-
T = TensorProductOfCrystals(S, B, generators=[[S.module_generators[0],x] for x in B.module_generators])
|
|
970
|
-
T.rename("The crystal of tableaux of type %s and shape(s) %s" %
|
|
969
|
+
T = TensorProductOfCrystals(S, B, generators=[[S.module_generators[0], x] for x in B.module_generators])
|
|
970
|
+
T.rename("The crystal of tableaux of type %s and shape(s) %s" %
|
|
971
|
+
(cartan_type, [list(shape) for shape in spin_shapes]))
|
|
971
972
|
T.shapes = spin_shapes
|
|
972
973
|
return T
|
|
973
974
|
|
|
@@ -988,13 +989,14 @@ class CrystalOfTableaux(CrystalOfWords):
|
|
|
988
989
|
sage: T = crystals.Tableaux(['A',3], shape = [2,2])
|
|
989
990
|
sage: TestSuite(T).run()
|
|
990
991
|
"""
|
|
991
|
-
#
|
|
992
|
+
# super().__init__(category = FiniteEnumeratedSets())
|
|
992
993
|
Parent.__init__(self, category=ClassicalCrystals())
|
|
993
994
|
self.letters = CrystalOfLetters(cartan_type)
|
|
994
995
|
self.shapes = shapes
|
|
995
|
-
self.module_generators = tuple(self.module_generator(la)
|
|
996
|
+
self.module_generators = tuple(self.module_generator(la)
|
|
997
|
+
for la in shapes)
|
|
996
998
|
self.rename("The crystal of tableaux of type %s and shape(s) %s"
|
|
997
|
-
% (cartan_type, list(
|
|
999
|
+
% (cartan_type, [list(shape) for shape in shapes]))
|
|
998
1000
|
|
|
999
1001
|
def cartan_type(self):
|
|
1000
1002
|
"""
|
|
Binary file
|
|
Binary file
|
|
@@ -112,7 +112,7 @@ cdef gen(int t, int p, k, n):
|
|
|
112
112
|
gen(t + 1, t, k, n)
|
|
113
113
|
|
|
114
114
|
|
|
115
|
-
def is_debruijn_sequence(seq, k, n):
|
|
115
|
+
def is_debruijn_sequence(seq, k, n) -> bool:
|
|
116
116
|
r"""
|
|
117
117
|
Given a sequence of integer elements in `0, \ldots, k-1`, tests whether it
|
|
118
118
|
corresponds to a De Bruijn sequence of parameters `k` and `n`.
|
|
@@ -134,7 +134,6 @@ def is_debruijn_sequence(seq, k, n):
|
|
|
134
134
|
sage: is_debruijn_sequence([1] + s[1:], 2, 3)
|
|
135
135
|
False
|
|
136
136
|
"""
|
|
137
|
-
|
|
138
137
|
if k == 1:
|
|
139
138
|
return seq == [0]
|
|
140
139
|
|
|
Binary file
|