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.
Files changed (221) hide show
  1. passagemath_combinat/__init__.py +3 -0
  2. {passagemath_combinat-10.6.1.dist-info → passagemath_combinat-10.8.1a1.dist-info}/METADATA +17 -20
  3. {passagemath_combinat-10.6.1.dist-info → passagemath_combinat-10.8.1a1.dist-info}/RECORD +220 -218
  4. {passagemath_combinat-10.6.1.dist-info → passagemath_combinat-10.8.1a1.dist-info}/WHEEL +1 -1
  5. passagemath_combinat-10.8.1a1.dist-info/top_level.txt +3 -0
  6. sage/algebras/affine_nil_temperley_lieb.py +3 -3
  7. sage/algebras/all.py +0 -1
  8. sage/algebras/askey_wilson.py +1 -1
  9. sage/algebras/associated_graded.py +2 -2
  10. sage/algebras/cellular_basis.py +3 -6
  11. sage/algebras/cluster_algebra.py +2 -3
  12. sage/algebras/down_up_algebra.py +6 -6
  13. sage/algebras/free_algebra.py +3 -32
  14. sage/algebras/free_algebra_element.py +21 -25
  15. sage/algebras/free_algebra_quotient_element.py +9 -38
  16. sage/algebras/free_zinbiel_algebra.py +4 -3
  17. sage/algebras/hall_algebra.py +2 -2
  18. sage/algebras/hecke_algebras/ariki_koike_algebra.py +8 -8
  19. sage/algebras/hecke_algebras/ariki_koike_specht_modules.py +2 -2
  20. sage/algebras/hecke_algebras/cubic_hecke_algebra.py +11 -14
  21. sage/algebras/hecke_algebras/cubic_hecke_base_ring.py +1 -1
  22. sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py +5 -5
  23. sage/algebras/iwahori_hecke_algebra.py +59 -57
  24. sage/algebras/jordan_algebra.py +97 -89
  25. sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py +6 -6
  26. sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py +14 -12
  27. sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py +6 -6
  28. sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py +4 -4
  29. sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py +13 -13
  30. sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py +8 -6
  31. sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py +7 -5
  32. sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py +7 -7
  33. sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py +6 -5
  34. sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py +12 -11
  35. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py +3 -3
  36. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py +3 -3
  37. sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py +11 -11
  38. sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py +3 -3
  39. sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py +8 -7
  40. sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py +9 -8
  41. sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py +6 -5
  42. sage/algebras/nil_coxeter_algebra.py +4 -4
  43. sage/algebras/q_commuting_polynomials.py +6 -6
  44. sage/algebras/q_system.py +3 -3
  45. sage/algebras/quantum_clifford.py +8 -8
  46. sage/algebras/quantum_groups/fock_space.py +48 -8
  47. sage/algebras/quantum_groups/quantum_group_gap.py +5 -7
  48. sage/algebras/quantum_matrix_coordinate_algebra.py +7 -7
  49. sage/algebras/quantum_oscillator.py +3 -3
  50. sage/algebras/quaternion_algebra_element.py +5 -3
  51. sage/algebras/schur_algebra.py +3 -3
  52. sage/algebras/shuffle_algebra.py +5 -8
  53. sage/algebras/splitting_algebra.py +129 -85
  54. sage/algebras/tensor_algebra.py +7 -7
  55. sage/algebras/yangian.py +16 -15
  56. sage/algebras/yokonuma_hecke_algebra.py +13 -11
  57. sage/combinat/all.py +9 -0
  58. sage/combinat/all__sagemath_combinat.py +1 -0
  59. sage/combinat/alternating_sign_matrix.py +36 -29
  60. sage/combinat/baxter_permutations.py +32 -12
  61. sage/combinat/bijectionist.py +13 -17
  62. sage/combinat/chas/fsym.py +6 -6
  63. sage/combinat/chas/wqsym.py +23 -29
  64. sage/combinat/colored_permutations.py +9 -11
  65. sage/combinat/colored_permutations_representations.py +13 -12
  66. sage/combinat/composition_tableau.py +2 -2
  67. sage/combinat/constellation.py +57 -30
  68. sage/combinat/crystals/affine_factorization.py +5 -4
  69. sage/combinat/crystals/alcove_path.py +2 -2
  70. sage/combinat/crystals/fully_commutative_stable_grothendieck.py +3 -2
  71. sage/combinat/crystals/infinity_crystals.py +18 -18
  72. sage/combinat/crystals/kac_modules.py +1 -1
  73. sage/combinat/crystals/kirillov_reshetikhin.py +2 -2
  74. sage/combinat/crystals/letters.cpython-312-aarch64-linux-musl.so +0 -0
  75. sage/combinat/crystals/littelmann_path.py +1 -1
  76. sage/combinat/crystals/pbw_datum.cpython-312-aarch64-linux-musl.so +0 -0
  77. sage/combinat/crystals/pbw_datum.pyx +3 -2
  78. sage/combinat/crystals/spins.cpython-312-aarch64-linux-musl.so +0 -0
  79. sage/combinat/crystals/tensor_product.py +7 -5
  80. sage/combinat/crystals/tensor_product_element.cpython-312-aarch64-linux-musl.so +0 -0
  81. sage/combinat/debruijn_sequence.cpython-312-aarch64-linux-musl.so +0 -0
  82. sage/combinat/debruijn_sequence.pyx +1 -2
  83. sage/combinat/degree_sequences.cpython-312-aarch64-linux-musl.so +0 -0
  84. sage/combinat/degree_sequences.pyx +241 -188
  85. sage/combinat/derangements.py +28 -22
  86. sage/combinat/diagram_algebras.py +12 -14
  87. sage/combinat/dyck_word.py +15 -14
  88. sage/combinat/e_one_star.py +1 -1
  89. sage/combinat/expnums.cpython-312-aarch64-linux-musl.so +0 -0
  90. sage/combinat/fast_vector_partitions.cpython-312-aarch64-linux-musl.so +0 -0
  91. sage/combinat/fqsym.py +13 -19
  92. sage/combinat/free_dendriform_algebra.py +2 -2
  93. sage/combinat/free_prelie_algebra.py +2 -2
  94. sage/combinat/fully_commutative_elements.py +8 -8
  95. sage/combinat/fully_packed_loop.py +9 -9
  96. sage/combinat/gelfand_tsetlin_patterns.py +4 -5
  97. sage/combinat/gray_codes.py +3 -4
  98. sage/combinat/grossman_larson_algebras.py +2 -2
  99. sage/combinat/growth.py +13 -13
  100. sage/combinat/hall_polynomial.py +1 -1
  101. sage/combinat/hillman_grassl.py +1 -1
  102. sage/combinat/integer_matrices.py +5 -7
  103. sage/combinat/k_tableau.py +8 -7
  104. sage/combinat/kazhdan_lusztig.py +3 -3
  105. sage/combinat/key_polynomial.py +845 -298
  106. sage/combinat/knutson_tao_puzzles.py +11 -13
  107. sage/combinat/matrices/hadamard_matrix.py +1 -1
  108. sage/combinat/matrices/latin.py +75 -92
  109. sage/combinat/misc.py +3 -3
  110. sage/combinat/multiset_partition_into_sets_ordered.py +27 -10
  111. sage/combinat/ncsf_qsym/generic_basis_code.py +5 -5
  112. sage/combinat/ncsf_qsym/ncsf.py +6 -5
  113. sage/combinat/ncsf_qsym/qsym.py +9 -17
  114. sage/combinat/ncsym/ncsym.py +8 -12
  115. sage/combinat/nu_dyck_word.py +1 -1
  116. sage/combinat/parallelogram_polyomino.py +3 -5
  117. sage/combinat/parking_functions.py +6 -5
  118. sage/combinat/partition_algebra.py +22 -57
  119. sage/combinat/partition_kleshchev.py +4 -4
  120. sage/combinat/partition_tuple.py +12 -10
  121. sage/combinat/plane_partition.py +10 -13
  122. sage/combinat/positive_integer_semigroup_test.py +17 -0
  123. sage/combinat/q_bernoulli.cpython-312-aarch64-linux-musl.so +0 -0
  124. sage/combinat/quickref.py +2 -2
  125. sage/combinat/recognizable_series.py +2 -2
  126. sage/combinat/regular_sequence.py +7 -7
  127. sage/combinat/regular_sequence_bounded.py +15 -21
  128. sage/combinat/restricted_growth.py +3 -3
  129. sage/combinat/ribbon.py +3 -3
  130. sage/combinat/rigged_configurations/bijection.py +3 -3
  131. sage/combinat/rigged_configurations/rigged_partition.cpython-312-aarch64-linux-musl.so +0 -0
  132. sage/combinat/rsk.py +2 -0
  133. sage/combinat/schubert_polynomial.py +11 -2
  134. sage/combinat/set_partition.py +3 -7
  135. sage/combinat/set_partition_iterator.cpython-312-aarch64-linux-musl.so +0 -0
  136. sage/combinat/set_partition_iterator.pyx +0 -1
  137. sage/combinat/set_partition_ordered.py +2 -2
  138. sage/combinat/sf/classical.py +1 -1
  139. sage/combinat/sf/dual.py +4 -8
  140. sage/combinat/sf/elementary.py +13 -7
  141. sage/combinat/sf/hall_littlewood.py +10 -8
  142. sage/combinat/sf/homogeneous.py +6 -3
  143. sage/combinat/sf/jack.py +11 -9
  144. sage/combinat/sf/llt.py +4 -5
  145. sage/combinat/sf/macdonald.py +10 -11
  146. sage/combinat/sf/monomial.py +6 -0
  147. sage/combinat/sf/ns_macdonald.py +92 -51
  148. sage/combinat/sf/powersum.py +9 -14
  149. sage/combinat/sf/schur.py +6 -0
  150. sage/combinat/sf/sf.py +21 -19
  151. sage/combinat/sf/sfa.py +13 -64
  152. sage/combinat/shifted_primed_tableau.py +5 -7
  153. sage/combinat/shuffle.py +1 -1
  154. sage/combinat/sine_gordon.py +18 -38
  155. sage/combinat/skew_partition.py +9 -12
  156. sage/combinat/skew_tableau.py +2 -7
  157. sage/combinat/sloane_functions.py +1 -1
  158. sage/combinat/species/all.py +67 -2
  159. sage/combinat/species/characteristic_species.py +3 -0
  160. sage/combinat/species/composition_species.py +3 -0
  161. sage/combinat/species/cycle_species.py +4 -0
  162. sage/combinat/species/empty_species.py +3 -0
  163. sage/combinat/species/functorial_composition_species.py +3 -0
  164. sage/combinat/species/generating_series.py +3 -0
  165. sage/combinat/species/library.py +3 -0
  166. sage/combinat/species/linear_order_species.py +3 -0
  167. sage/combinat/species/partition_species.py +3 -0
  168. sage/combinat/species/permutation_species.py +4 -0
  169. sage/combinat/species/product_species.py +3 -0
  170. sage/combinat/species/recursive_species.py +3 -0
  171. sage/combinat/species/set_species.py +3 -0
  172. sage/combinat/species/species.py +13 -7
  173. sage/combinat/species/structure.py +8 -9
  174. sage/combinat/species/subset_species.py +3 -0
  175. sage/combinat/species/sum_species.py +3 -0
  176. sage/combinat/subword.py +4 -1
  177. sage/combinat/subword_complex.py +7 -7
  178. sage/combinat/subword_complex_c.cpython-312-aarch64-linux-musl.so +0 -0
  179. sage/combinat/superpartition.py +1 -1
  180. sage/combinat/symmetric_group_algebra.py +9 -9
  181. sage/combinat/symmetric_group_representations.py +5 -5
  182. sage/combinat/t_sequences.py +4 -4
  183. sage/combinat/tableau.py +3 -4
  184. sage/combinat/tableau_tuple.py +2 -2
  185. sage/combinat/tiling.py +39 -42
  186. sage/combinat/triangles_FHM.py +38 -15
  187. sage/combinat/tutorial.py +2 -2
  188. sage/combinat/vector_partition.py +43 -31
  189. sage/combinat/words/abstract_word.py +4 -4
  190. sage/combinat/words/alphabet.py +12 -12
  191. sage/combinat/words/finite_word.py +25 -229
  192. sage/combinat/words/infinite_word.py +1 -1
  193. sage/combinat/words/morphic.py +13 -13
  194. sage/combinat/words/morphism.py +3 -12
  195. sage/combinat/words/paths.py +16 -17
  196. sage/combinat/words/word.py +60 -35
  197. sage/combinat/words/word_char.cpython-312-aarch64-linux-musl.so +0 -0
  198. sage/combinat/words/word_char.pyx +46 -7
  199. sage/combinat/words/word_datatypes.cpython-312-aarch64-linux-musl.so +0 -0
  200. sage/combinat/words/word_generators.py +39 -38
  201. sage/databases/findstat.py +72 -31
  202. sage/databases/oeis.py +125 -25
  203. sage/databases/sloane.py +14 -8
  204. sage/games/sudoku_backtrack.cpython-312-aarch64-linux-musl.so +0 -0
  205. sage/groups/indexed_free_group.py +3 -4
  206. sage/libs/symmetrica/symmetrica.cpython-312-aarch64-linux-musl.so +0 -0
  207. sage/libs/symmetrica/symmetrica.pxi +1 -0
  208. sage/monoids/automatic_semigroup.py +1 -3
  209. sage/monoids/free_abelian_monoid.py +7 -33
  210. sage/monoids/free_abelian_monoid_element.cpython-312-aarch64-linux-musl.so +0 -0
  211. sage/monoids/free_monoid.py +8 -40
  212. sage/monoids/free_monoid_element.py +1 -9
  213. sage/monoids/string_monoid.py +5 -2
  214. sage/monoids/string_monoid_element.py +12 -66
  215. sage/rings/all__sagemath_combinat.py +7 -0
  216. sage/sat/solvers/__init__.py +3 -4
  217. sage/sat/solvers/cryptominisat.py +2 -3
  218. sage/sat/solvers/picosat.py +2 -3
  219. sage/sat/solvers/sat_lp.py +2 -2
  220. sage/sat/solvers/satsolver.cpython-312-aarch64-linux-musl.so +0 -0
  221. 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
- # http://www.gnu.org/licenses/
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 (CrystalOfTableauxElement,
45
- InfinityCrystalOfTableauxElement, InfinityCrystalOfTableauxElementTypeD,
46
- InfinityQueerCrystalOfTableauxElement)
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
- ## Queer superalgebra
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 (i,j) in self.value)
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 (u,v,i) in Gdual.edges(sort=True)])
1591
- sage: G.is_isomorphic(Gnew, edge_labels = True)
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
 
@@ -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
 
@@ -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
- modulo the tropical Plücker relations.
93
+
94
+ Here equivalent means modulo the tropical Plücker relations.
94
95
 
95
96
  EXAMPLES::
96
97
 
@@ -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" % (cartan_type, list(list(shape) for shape in spin_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" %
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
- # super().__init__(category = FiniteEnumeratedSets())
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) for la in shapes)
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(list(shape) for shape in shapes)))
999
+ % (cartan_type, [list(shape) for shape in shapes]))
998
1000
 
999
1001
  def cartan_type(self):
1000
1002
  """
@@ -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