passagemath-combinat 10.6.1rc3__cp311-cp311-win_amd64.whl → 10.6.44__cp311-cp311-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 (79) hide show
  1. passagemath_combinat/__init__.py +3 -0
  2. passagemath_combinat-10.6.44.dist-info/DELVEWHEEL +2 -0
  3. {passagemath_combinat-10.6.1rc3.dist-info → passagemath_combinat-10.6.44.dist-info}/METADATA +30 -23
  4. {passagemath_combinat-10.6.1rc3.dist-info → passagemath_combinat-10.6.44.dist-info}/RECORD +76 -75
  5. passagemath_combinat-10.6.44.dist-info/top_level.txt +3 -0
  6. passagemath_combinat.libs/libgmp-10-20eff6468ebffd10e3a6f0c3780fee4e.dll +0 -0
  7. passagemath_combinat.libs/{libsymmetrica-3-1e2c5e20489b005650f13ca8d6065d77.dll → libsymmetrica-3-fa8ae274cd9618eec4c7c5aca1f11bc7.dll} +0 -0
  8. sage/algebras/all.py +0 -1
  9. sage/algebras/nil_coxeter_algebra.py +1 -1
  10. sage/all__sagemath_combinat.py +3 -3
  11. sage/combinat/chas/fsym.py +2 -2
  12. sage/combinat/cluster_complex.py +1 -1
  13. sage/combinat/colored_permutations.py +1 -1
  14. sage/combinat/crystals/letters.cp311-win_amd64.pyd +0 -0
  15. sage/combinat/crystals/pbw_datum.cp311-win_amd64.pyd +0 -0
  16. sage/combinat/crystals/spins.cp311-win_amd64.pyd +0 -0
  17. sage/combinat/crystals/tensor_product_element.cp311-win_amd64.pyd +0 -0
  18. sage/combinat/debruijn_sequence.cp311-win_amd64.pyd +0 -0
  19. sage/combinat/degree_sequences.cp311-win_amd64.pyd +0 -0
  20. sage/combinat/degree_sequences.pyx +2 -2
  21. sage/combinat/diagram_algebras.py +1 -1
  22. sage/combinat/expnums.cp311-win_amd64.pyd +0 -0
  23. sage/combinat/fast_vector_partitions.cp311-win_amd64.pyd +0 -0
  24. sage/combinat/gelfand_tsetlin_patterns.py +1 -1
  25. sage/combinat/growth.py +4 -4
  26. sage/combinat/matrices/hadamard_matrix.py +15 -11
  27. sage/combinat/ncsf_qsym/ncsf.py +8 -8
  28. sage/combinat/parallelogram_polyomino.py +14 -14
  29. sage/combinat/partition_algebra.py +18 -16
  30. sage/combinat/path_tableaux/dyck_path.py +1 -1
  31. sage/combinat/path_tableaux/semistandard.py +1 -1
  32. sage/combinat/plane_partition.py +1 -1
  33. sage/combinat/q_bernoulli.cp311-win_amd64.pyd +0 -0
  34. sage/combinat/quickref.py +1 -1
  35. sage/combinat/ribbon_shaped_tableau.py +1 -1
  36. sage/combinat/rigged_configurations/rigged_partition.cp311-win_amd64.pyd +0 -0
  37. sage/combinat/set_partition_iterator.cp311-win_amd64.pyd +0 -0
  38. sage/combinat/sf/character.py +7 -7
  39. sage/combinat/sf/classical.py +1 -1
  40. sage/combinat/sf/dual.py +2 -2
  41. sage/combinat/sf/hall_littlewood.py +6 -6
  42. sage/combinat/sf/hecke.py +1 -1
  43. sage/combinat/sf/jack.py +5 -5
  44. sage/combinat/sf/k_dual.py +25 -12
  45. sage/combinat/sf/llt.py +28 -10
  46. sage/combinat/sf/monomial.py +1 -1
  47. sage/combinat/sf/orthogonal.py +1 -1
  48. sage/combinat/sf/orthotriang.py +2 -2
  49. sage/combinat/sf/schur.py +14 -7
  50. sage/combinat/sf/sf.py +22 -15
  51. sage/combinat/sf/symplectic.py +1 -1
  52. sage/combinat/skew_partition.py +2 -2
  53. sage/combinat/sloane_functions.py +5 -3
  54. sage/combinat/species/cycle_species.py +2 -2
  55. sage/combinat/subword_complex_c.cp311-win_amd64.pyd +0 -0
  56. sage/combinat/symmetric_group_algebra.py +1 -1
  57. sage/combinat/symmetric_group_representations.py +16 -4
  58. sage/combinat/tableau.py +1 -1
  59. sage/combinat/tiling.py +19 -19
  60. sage/combinat/triangles_FHM.py +1 -0
  61. sage/combinat/tutorial.py +5 -5
  62. sage/combinat/words/finite_word.py +5 -4
  63. sage/combinat/words/word.py +24 -16
  64. sage/combinat/words/word_char.cp311-win_amd64.pyd +0 -0
  65. sage/combinat/words/word_datatypes.cp311-win_amd64.pyd +0 -0
  66. sage/combinat/words/word_generators.py +1 -1
  67. sage/databases/findstat.py +1 -1
  68. sage/games/sudoku_backtrack.cp311-win_amd64.pyd +0 -0
  69. sage/libs/symmetrica/symmetrica.cp311-win_amd64.pyd +0 -0
  70. sage/libs/symmetrica/symmetrica.pxi +1 -0
  71. sage/monoids/free_abelian_monoid_element.cp311-win_amd64.pyd +0 -0
  72. sage/monoids/string_monoid.py +8 -0
  73. sage/monoids/string_monoid_element.py +9 -2
  74. sage/monoids/string_ops.py +1 -1
  75. sage/sat/solvers/satsolver.cp311-win_amd64.pyd +0 -0
  76. passagemath_combinat-10.6.1rc3.dist-info/DELVEWHEEL +0 -2
  77. passagemath_combinat-10.6.1rc3.dist-info/top_level.txt +0 -2
  78. passagemath_combinat.libs/libgmp-10-bc1853bff119db9ebb9e2560702badbf.dll +0 -0
  79. {passagemath_combinat-10.6.1rc3.dist-info → passagemath_combinat-10.6.44.dist-info}/WHEEL +0 -0
sage/combinat/sf/sf.py CHANGED
@@ -387,8 +387,8 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
387
387
  information::
388
388
 
389
389
  sage: s = SymmetricFunctions(QQ).schur()
390
- sage: f = s[2]^2
391
- sage: f.inner_plethysm(s[2])
390
+ sage: f = s[2]^2 # needs lrcalc_python
391
+ sage: f.inner_plethysm(s[2]) # needs lrcalc_python
392
392
  s[2]
393
393
 
394
394
  .. rubric:: Hopf algebra structure
@@ -430,6 +430,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
430
430
 
431
431
  Here are further examples::
432
432
 
433
+ sage: # needs lrcalc_python
433
434
  sage: f = s[2]^2
434
435
  sage: f.antipode()
435
436
  s[1, 1, 1, 1] + s[2, 1, 1] + s[2, 2]
@@ -609,18 +610,18 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
609
610
 
610
611
  sage: Sym = SymmetricFunctions(QQ)
611
612
  sage: ks = Sym.kschur(3,1)
612
- sage: f = ks[2,1]*ks[2,1]; f
613
+ sage: f = ks[2,1]*ks[2,1]; f # needs lrcalc_python
613
614
  ks3[2, 2, 1, 1] + ks3[2, 2, 2] + ks3[3, 1, 1, 1]
614
615
 
615
616
  or to lift to the ring of symmetric functions::
616
617
 
617
- sage: f.lift()
618
+ sage: f.lift() # needs lrcalc_python
618
619
  s[2, 2, 1, 1] + s[2, 2, 2] + s[3, 1, 1, 1] + 2*s[3, 2, 1] + s[3, 3] + s[4, 1, 1] + s[4, 2]
619
620
 
620
621
  However, it is not always possible to convert a symmetric function to the `k`-bounded subspace::
621
622
 
622
623
  sage: s = Sym.schur()
623
- sage: ks(s[2,1,1])
624
+ sage: ks(s[2,1,1]) # needs lrcalc_python
624
625
  Traceback (most recent call last):
625
626
  ...
626
627
  ValueError: s[2, 1, 1] is not in the image
@@ -641,6 +642,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
641
642
  function and an `\ell`-Schur function is in the linear span of the `k+\ell`-Schur
642
643
  functions::
643
644
 
645
+ sage: # needs lrcalc_python
644
646
  sage: ks(ks[2,1]*ks[1,1])
645
647
  Traceback (most recent call last):
646
648
  ...
@@ -658,6 +660,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
658
660
  `k`-split basis conjecturally expands positively in the `k`-Schur functions.
659
661
  The definition can be found in [LLMSSZ]_ p. 81.::
660
662
 
663
+ sage: # needs lrcalc_python
661
664
  sage: ksp3 = SymS3.ksplit()
662
665
  sage: ksp3(Qp[2,1,1,1])
663
666
  ksp3[2, 1, 1, 1] + t^2*ksp3[2, 2, 1] + (t^3+t^2)*ksp3[3, 1, 1] + t^4*ksp3[3, 2]
@@ -671,6 +674,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
671
674
  the ideal is generated by the monomial symmetric functions indexed by partitions
672
675
  whose first part is greater than `k`.::
673
676
 
677
+ sage: # needs lrcalc_python
674
678
  sage: Sym = SymmetricFunctions(QQ)
675
679
  sage: SymQ3 = Sym.kBoundedQuotient(3,t=1)
676
680
  sage: km = SymQ3.kmonomial()
@@ -686,6 +690,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
686
690
  the Hall-Littlewood symmetric functions in the P basis indexed by partitions with
687
691
  first part greater than `k`.::
688
692
 
693
+ sage: # needs lrcalc_python
689
694
  sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
690
695
  sage: SymQ3 = Sym.kBoundedQuotient(3)
691
696
  sage: kHLP = SymQ3.kHallLittlewoodP()
@@ -702,6 +707,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
702
707
  expands positively in the `k`-bounded Hall-Littlewood functions and has positive
703
708
  structure coefficients.::
704
709
 
710
+ sage: # needs lrcalc_python
705
711
  sage: dks = SymQ3.dual_k_Schur()
706
712
  sage: kHLP(dks[2,2])
707
713
  (t^4+t^2)*HLP3[1, 1, 1, 1] + t*HLP3[2, 1, 1] + HLP3[2, 2]
@@ -718,7 +724,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
718
724
  sage: SymQ3 = Sym.kBoundedQuotient(3,t=1)
719
725
  sage: dks = SymQ3.dual_k_Schur()
720
726
  sage: F = SymQ3.affineSchur()
721
- sage: F[3,1]==dks[3,1]
727
+ sage: F[3,1]==dks[3,1] # needs lrcalc_python
722
728
  True
723
729
 
724
730
  .. rubric:: Implementing new bases
@@ -778,6 +784,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
778
784
  Macdonald ``J`` basis are the coefficients `K_{\lambda\mu}(q,t)`.
779
785
  Here is an example of its use::
780
786
 
787
+ sage: # needs lrcalc_python
781
788
  sage: QQqt = QQ['q','t'].fraction_field()
782
789
  sage: (q,t) = QQqt.gens()
783
790
  sage: st = SFA_st(SymmetricFunctions(QQqt),t)
@@ -866,7 +873,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
866
873
 
867
874
  sage: Sym1 = SymmetricFunctions(FiniteField(23))
868
875
  sage: Sym2 = SymmetricFunctions(Integers(23))
869
- sage: TestSuite(Sym).run()
876
+ sage: TestSuite(Sym).run() # needs lrcalc_python
870
877
  """
871
878
  # change the line below to assert(R in Rings()) once MRO issues from #15536, #15475 are resolved
872
879
  assert R in Fields() or R in Rings() # side effect of this statement assures MRO exists for R
@@ -1181,7 +1188,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
1181
1188
 
1182
1189
  EXAMPLES::
1183
1190
 
1184
- sage: SymmetricFunctions(QQ).symplectic()
1191
+ sage: SymmetricFunctions(QQ).symplectic() # needs lrcalc_python
1185
1192
  Symmetric Functions over Rational Field in the symplectic basis
1186
1193
  """
1187
1194
  from . import symplectic
@@ -1196,7 +1203,7 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
1196
1203
 
1197
1204
  EXAMPLES::
1198
1205
 
1199
- sage: SymmetricFunctions(QQ).orthogonal()
1206
+ sage: SymmetricFunctions(QQ).orthogonal() # needs lrcalc_python
1200
1207
  Symmetric Functions over Rational Field in the orthogonal basis
1201
1208
  """
1202
1209
  from . import orthogonal
@@ -1524,14 +1531,14 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
1524
1531
 
1525
1532
  sage: Sym = SymmetricFunctions(QQ)
1526
1533
  sage: ks = Sym.kschur(3,1)
1527
- sage: ks[2]*ks[2]
1534
+ sage: ks[2]*ks[2] # needs lrcalc_python
1528
1535
  ks3[2, 2] + ks3[3, 1]
1529
- sage: ks[2,1,1].lift()
1536
+ sage: ks[2,1,1].lift() # needs lrcalc_python
1530
1537
  s[2, 1, 1] + s[3, 1]
1531
1538
 
1532
1539
  sage: Sym = SymmetricFunctions(QQ['t'])
1533
1540
  sage: ks = Sym.kschur(3)
1534
- sage: ks[2,2,1].lift()
1541
+ sage: ks[2,2,1].lift() # needs lrcalc_python
1535
1542
  s[2, 2, 1] + t*s[3, 2]
1536
1543
  """
1537
1544
  return self.kBoundedSubspace(k, t=t).kschur()
@@ -1544,14 +1551,14 @@ class SymmetricFunctions(UniqueRepresentation, Parent):
1544
1551
 
1545
1552
  sage: Sym = SymmetricFunctions(QQ)
1546
1553
  sage: ksp = Sym.ksplit(3,1)
1547
- sage: ksp[2]*ksp[2]
1554
+ sage: ksp[2]*ksp[2] # needs lrcalc_python
1548
1555
  ksp3[2, 2] + ksp3[3, 1]
1549
- sage: ksp[2,1,1].lift()
1556
+ sage: ksp[2,1,1].lift() # needs lrcalc_python
1550
1557
  s[2, 1, 1] + s[2, 2] + s[3, 1]
1551
1558
 
1552
1559
  sage: Sym = SymmetricFunctions(QQ['t'])
1553
1560
  sage: ksp = Sym.ksplit(3)
1554
- sage: ksp[2,1,1].lift()
1561
+ sage: ksp[2,1,1].lift() # needs lrcalc_python
1555
1562
  s[2, 1, 1] + t*s[2, 2] + t*s[3, 1]
1556
1563
  """
1557
1564
  return self.kBoundedSubspace(k, t=t).ksplit()
@@ -1,5 +1,5 @@
1
1
  # sage_setup: distribution = sagemath-combinat
2
- # sage.doctest: needs sage.combinat sage.modules
2
+ # sage.doctest: needs lrcalc_python sage.combinat sage.modules
3
3
  """
4
4
  Symplectic symmetric functions
5
5
 
@@ -1287,7 +1287,7 @@ class SkewPartition(CombinatorialElement):
1287
1287
  We verify that the Frobenius image is the corresponding
1288
1288
  skew Schur function::
1289
1289
 
1290
- sage: s[3,2,1].skew_by(s[2]) # needs sage.modules
1290
+ sage: s[3,2,1].skew_by(s[2]) # needs lrcalc_python sage.modules
1291
1291
  s[2, 1, 1] + s[2, 2] + s[3, 1]
1292
1292
 
1293
1293
  ::
@@ -1296,7 +1296,7 @@ class SkewPartition(CombinatorialElement):
1296
1296
  sage: SM = mu.specht_module(QQ) # needs sage.modules
1297
1297
  sage: s(SM.frobenius_image()) # needs sage.libs.flint sage.modules
1298
1298
  s[2, 1, 1] + s[2, 2] + 2*s[3, 1] + s[4]
1299
- sage: s(mu) # needs sage.modules
1299
+ sage: s(mu) # needs lrcalc_python sage.modules
1300
1300
  s[2, 1, 1] + s[2, 2] + 2*s[3, 1] + s[4]
1301
1301
  """
1302
1302
  from sage.combinat.specht_module import SpechtModule
@@ -3214,6 +3214,7 @@ class A000720(SloaneSequence):
3214
3214
 
3215
3215
  EXAMPLES::
3216
3216
 
3217
+ sage: # needs sage.symbolic
3217
3218
  sage: a = sloane.A000720;a
3218
3219
  pi(n), the number of primes <= n. Sometimes called PrimePi(n)
3219
3220
  sage: a(0)
@@ -3248,7 +3249,7 @@ class A000720(SloaneSequence):
3248
3249
  """
3249
3250
  EXAMPLES::
3250
3251
 
3251
- sage: [sloane.A000720._eval(n) for n in range(1,11)]
3252
+ sage: [sloane.A000720._eval(n) for n in range(1,11)] # needs sage.symbolic
3252
3253
  [0, 1, 2, 2, 3, 3, 4, 4, 4, 4]
3253
3254
  """
3254
3255
  return prime_pi(n)
@@ -3269,7 +3270,8 @@ class A064553(SloaneSequence):
3269
3270
 
3270
3271
  EXAMPLES::
3271
3272
 
3272
- sage: a = sloane.A064553;a
3273
+ sage: # needs sage.symbolic
3274
+ sage: a = sloane.A064553; a
3273
3275
  a(1) = 1, a(prime(i)) = i+1 for i > 0 and a(u*v) = a(u)*a(v) for u,v > 0
3274
3276
  sage: a(0)
3275
3277
  Traceback (most recent call last):
@@ -3303,7 +3305,7 @@ class A064553(SloaneSequence):
3303
3305
  """
3304
3306
  EXAMPLES::
3305
3307
 
3306
- sage: [sloane.A064553._eval(n) for n in range(1,11)]
3308
+ sage: [sloane.A064553._eval(n) for n in range(1,11)] # needs sage.symbolic
3307
3309
  [1, 2, 3, 4, 4, 6, 5, 8, 9, 8]
3308
3310
  """
3309
3311
  return prod([(prime_pi(p)+1)**e for p, e in arith.factor(n)])
@@ -194,7 +194,7 @@ class CycleSpecies(GenericCombinatorialSpecies, UniqueRepresentation):
194
194
  sage: P = species.CycleSpecies()
195
195
  sage: g = P.generating_series(RR)
196
196
  sage: g[0:3]
197
- [0.000000000000000, 1.00000000000000, 0.500000000000000]
197
+ [0.0..., 1.0..., 0.5...]
198
198
  """
199
199
  if n:
200
200
  return self._weight * base_ring.one() / n
@@ -229,7 +229,7 @@ class CycleSpecies(GenericCombinatorialSpecies, UniqueRepresentation):
229
229
  sage: P = species.CycleSpecies()
230
230
  sage: g = P.isotype_generating_series(RR)
231
231
  sage: g[0:3]
232
- [0.000000000000000, 1.00000000000000, 1.00000000000000]
232
+ [0.0..., 1.0..., 1.0...]
233
233
  """
234
234
  if n:
235
235
  return self._weight * base_ring.one()
@@ -120,7 +120,7 @@ def SymmetricGroupAlgebra(R, W, category=None):
120
120
  Weyl Group of type ['A', 3] (as a matrix group acting
121
121
  on the ambient space)
122
122
  sage: SGA.an_element()
123
- s1*s2*s3 + 3*s2*s3*s1*s2 + 2*s3*s1 + 1
123
+ s1*s2*s3 + ... + 1
124
124
 
125
125
  The preferred way to construct the symmetric group algebra is to
126
126
  go through the usual ``algebra`` method::
@@ -136,9 +136,12 @@ def SymmetricGroupRepresentation(partition, implementation='specht',
136
136
 
137
137
  The unitary representation::
138
138
 
139
- sage: unitary = SymmetricGroupRepresentation([3,1], "unitary"); unitary
139
+ sage: unitary = SymmetricGroupRepresentation([3,1], "unitary"); unitary # needs sage.symbolic
140
140
  Unitary representation of the symmetric group corresponding to [3, 1]
141
- sage: unitary_GF49 = SymmetricGroupRepresentation([3,1], "unitary", ring=GF(7**2)); unitary_GF49
141
+
142
+ sage: # needs sage.rings.finite_rings
143
+ sage: unitary_GF49 = SymmetricGroupRepresentation([3,1], "unitary", ring=GF(7**2))
144
+ sage: unitary_GF49
142
145
  Unitary representation of the symmetric group corresponding to [3, 1]
143
146
  sage: unitary_GF49([2,1,3,4])
144
147
  [6 0 0]
@@ -263,8 +266,10 @@ def SymmetricGroupRepresentations(n, implementation='specht', ring=None,
263
266
 
264
267
  ::
265
268
 
266
- sage: unitary = SymmetricGroupRepresentations(3, "unitary"); unitary
269
+ sage: unitary = SymmetricGroupRepresentations(3, "unitary"); unitary # needs sage.symbolic
267
270
  Unitary representations of the symmetric group of order 3! over Symbolic Ring
271
+
272
+ sage: # needs sage.rings.finite_rings
268
273
  sage: unitary_GF49 = SymmetricGroupRepresentations(4, "unitary", ring=GF(7**2)); unitary_GF49
269
274
  Unitary representations of the symmetric group of order 4! over Finite Field in z2 of size 7^2
270
275
  sage: unitary_GF49([3,1])([2,1,3,4])
@@ -1059,12 +1064,16 @@ class UnitaryRepresentation(SymmetricGroupRepresentation_generic_class):
1059
1064
 
1060
1065
  EXAMPLES::
1061
1066
 
1067
+ sage: # needs sage.symbolic
1062
1068
  sage: U = SymmetricGroupRepresentation([2,1], "unitary")
1063
1069
  sage: TestSuite(U).run()
1070
+
1064
1071
  sage: U = SymmetricGroupRepresentation([2,1], "unitary", GF(7))
1065
1072
  Traceback (most recent call last):
1066
1073
  ...
1067
1074
  ValueError: the base ring must be a finite field of square order
1075
+
1076
+ sage: # needs sage.rings.finite_rings
1068
1077
  sage: U = SymmetricGroupRepresentation([2,1], "unitary", GF(7**2))
1069
1078
  sage: TestSuite(U).run()
1070
1079
  """
@@ -1090,7 +1099,7 @@ class UnitaryRepresentation(SymmetricGroupRepresentation_generic_class):
1090
1099
 
1091
1100
  EXAMPLES::
1092
1101
 
1093
- sage: SymmetricGroupRepresentation([2,1], "unitary")
1102
+ sage: SymmetricGroupRepresentation([2,1], "unitary") # needs sage.symbolic
1094
1103
  Unitary representation of the symmetric group corresponding to [2, 1]
1095
1104
  """
1096
1105
  return f"Unitary representation of the symmetric group corresponding to {self._partition}"
@@ -1107,6 +1116,7 @@ class UnitaryRepresentation(SymmetricGroupRepresentation_generic_class):
1107
1116
 
1108
1117
  EXAMPLES::
1109
1118
 
1119
+ sage: # needs sage.rings.finite_rings
1110
1120
  sage: unitary_specht = SymmetricGroupRepresentation([3,1], 'unitary', ring=GF(7**2))
1111
1121
  sage: unitary_specht.representation_matrix(Permutation([2,1,3,4]))
1112
1122
  [6 0 0]
@@ -1138,6 +1148,7 @@ class UnitaryRepresentation(SymmetricGroupRepresentation_generic_class):
1138
1148
 
1139
1149
  EXAMPLES::
1140
1150
 
1151
+ sage: # needs sage.rings.finite_rings
1141
1152
  sage: unitary_specht = SymmetricGroupRepresentation([3,1], 'unitary', ring=GF(7**2))
1142
1153
  sage: unitary_specht._unitary_change_basis_matrix
1143
1154
  [ 1 4 4]
@@ -1196,6 +1207,7 @@ class UnitaryRepresentation(SymmetricGroupRepresentation_generic_class):
1196
1207
 
1197
1208
  EXAMPLES::
1198
1209
 
1210
+ sage: # needs sage.rings.finite_rings
1199
1211
  sage: unitary_specht = SymmetricGroupRepresentation([2,2], 'unitary', ring=GF(7**2))
1200
1212
  sage: unitary_specht._representation_matrix_uncached(Permutation([3,1,4,2]))
1201
1213
  [ 4 5*z2 + 4]
sage/combinat/tableau.py CHANGED
@@ -7348,7 +7348,7 @@ class RowStandardTableaux_size(RowStandardTableaux, DisjointUnionEnumeratedSets)
7348
7348
 
7349
7349
  TESTS::
7350
7350
 
7351
- sage: TestSuite(RowStandardTableaux(4)).run() # needs sage.graphs
7351
+ sage: TestSuite(RowStandardTableaux(4)).run() # needs sage.graphs sage.libs.flint
7352
7352
 
7353
7353
  sage: RowStandardTableaux(3).cardinality() # needs sage.libs.flint
7354
7354
  10
sage/combinat/tiling.py CHANGED
@@ -313,36 +313,36 @@ def ncube_isometry_group(n, orientation_preserving=True):
313
313
  EXAMPLES::
314
314
 
315
315
  sage: from sage.combinat.tiling import ncube_isometry_group
316
- sage: ncube_isometry_group(2)
316
+ sage: sorted(ncube_isometry_group(2))
317
317
  [
318
- [1 0] [ 0 1] [-1 0] [ 0 -1]
319
- [0 1], [-1 0], [ 0 -1], [ 1 0]
318
+ [-1 0] [ 0 -1] [ 0 1] [1 0]
319
+ [ 0 -1], [ 1 0], [-1 0], [0 1]
320
320
  ]
321
- sage: ncube_isometry_group(2, orientation_preserving=False)
321
+ sage: sorted(ncube_isometry_group(2, orientation_preserving=False))
322
322
  [
323
- [1 0] [ 0 -1] [ 1 0] [ 0 1] [0 1] [-1 0] [ 0 -1] [-1 0]
324
- [0 1], [-1 0], [ 0 -1], [-1 0], [1 0], [ 0 -1], [ 1 0], [ 0 1]
323
+ [-1 0] [-1 0] [ 0 -1] [ 0 -1] [ 0 1] [0 1] [ 1 0] [1 0]
324
+ [ 0 -1], [ 0 1], [-1 0], [ 1 0], [-1 0], [1 0], [ 0 -1], [0 1]
325
325
  ]
326
326
 
327
327
  There are 24 orientation preserving isometries of the 3-cube::
328
328
 
329
- sage: ncube_isometry_group(3)
329
+ sage: sorted(ncube_isometry_group(3))
330
330
  [
331
- [1 0 0] [ 1 0 0] [ 1 0 0] [ 0 1 0] [0 1 0] [ 0 0 1]
332
- [0 1 0] [ 0 0 1] [ 0 0 -1] [-1 0 0] [0 0 1] [ 0 -1 0]
333
- [0 0 1], [ 0 -1 0], [ 0 1 0], [ 0 0 1], [1 0 0], [ 1 0 0],
331
+ [-1 0 0] [-1 0 0] [-1 0 0] [-1 0 0] [ 0 -1 0] [ 0 -1 0]
332
+ [ 0 -1 0] [ 0 0 -1] [ 0 0 1] [ 0 1 0] [-1 0 0] [ 0 0 -1]
333
+ [ 0 0 1], [ 0 -1 0], [ 0 1 0], [ 0 0 -1], [ 0 0 -1], [ 1 0 0],
334
334
  <BLANKLINE>
335
- [-1 0 0] [ 0 -1 0] [-1 0 0] [-1 0 0] [ 0 -1 0] [ 0 0 -1]
336
- [ 0 -1 0] [ 0 0 -1] [ 0 0 -1] [ 0 1 0] [ 0 0 1] [ 1 0 0]
337
- [ 0 0 1], [ 1 0 0], [ 0 -1 0], [ 0 0 -1], [-1 0 0], [ 0 -1 0],
335
+ [ 0 -1 0] [ 0 -1 0] [ 0 0 -1] [ 0 0 -1] [ 0 0 -1] [ 0 0 -1]
336
+ [ 0 0 1] [ 1 0 0] [-1 0 0] [ 0 -1 0] [ 0 1 0] [ 1 0 0]
337
+ [-1 0 0], [ 0 0 1], [ 0 1 0], [-1 0 0], [ 1 0 0], [ 0 -1 0],
338
338
  <BLANKLINE>
339
- [ 0 1 0] [ 0 0 1] [0 0 1] [ 0 -1 0] [ 0 0 -1] [-1 0 0]
340
- [ 1 0 0] [ 0 1 0] [1 0 0] [ 1 0 0] [ 0 1 0] [ 0 0 1]
341
- [ 0 0 -1], [-1 0 0], [0 1 0], [ 0 0 1], [ 1 0 0], [ 0 1 0],
339
+ [ 0 0 1] [ 0 0 1] [ 0 0 1] [0 0 1] [ 0 1 0] [ 0 1 0]
340
+ [-1 0 0] [ 0 -1 0] [ 0 1 0] [1 0 0] [-1 0 0] [ 0 0 -1]
341
+ [ 0 -1 0], [ 1 0 0], [-1 0 0], [0 1 0], [ 0 0 1], [-1 0 0],
342
342
  <BLANKLINE>
343
- [ 0 -1 0] [ 0 0 -1] [ 0 0 1] [ 1 0 0] [ 0 0 -1] [ 0 1 0]
344
- [-1 0 0] [-1 0 0] [-1 0 0] [ 0 -1 0] [ 0 -1 0] [ 0 0 -1]
345
- [ 0 0 -1], [ 0 1 0], [ 0 -1 0], [ 0 0 -1], [-1 0 0], [-1 0 0]
343
+ [0 1 0] [ 0 1 0] [ 1 0 0] [ 1 0 0] [ 1 0 0] [1 0 0]
344
+ [0 0 1] [ 1 0 0] [ 0 -1 0] [ 0 0 -1] [ 0 0 1] [0 1 0]
345
+ [1 0 0], [ 0 0 -1], [ 0 0 -1], [ 0 1 0], [ 0 -1 0], [0 0 1]
346
346
  ]
347
347
 
348
348
  TESTS::
@@ -1,4 +1,5 @@
1
1
  # sage_setup: distribution = sagemath-combinat
2
+ # sage.doctest: known bug: windows (hangs)
2
3
  """
3
4
  Combinatorial triangles for posets and fans
4
5
 
sage/combinat/tutorial.py CHANGED
@@ -850,7 +850,7 @@ Partial orders on a set of `8` elements, up to isomorphism::
850
850
 
851
851
  ::
852
852
 
853
- sage: C.unrank(20).plot() # needs sage.plot
853
+ sage: C.unrank(20).plot() # needs nauty sage.plot
854
854
  Graphics object consisting of ... graphics primitives
855
855
 
856
856
  .. image:: ../../media/a_poset.png
@@ -858,7 +858,7 @@ Partial orders on a set of `8` elements, up to isomorphism::
858
858
  One can iterate through all graphs up to isomorphism. For example,
859
859
  there are 34 simple graphs with 5 vertices::
860
860
 
861
- sage: len(list(graphs(5)))
861
+ sage: len(list(graphs(5))) # needs nauty
862
862
  34
863
863
 
864
864
  Here are those with at most `4` edges::
@@ -1623,7 +1623,7 @@ iterator or non-naive counting::
1623
1623
 
1624
1624
  sage: A = random_matrix(ZZ, 6, 3, x=7)
1625
1625
  sage: L = LatticePolytope(A.rows())
1626
- sage: L.points() # random
1626
+ sage: L.points() # random # needs palp
1627
1627
  M(4, 1, 0),
1628
1628
  M(0, 3, 5),
1629
1629
  M(2, 2, 3),
@@ -1636,7 +1636,7 @@ iterator or non-naive counting::
1636
1636
  M(4, 2, 3),
1637
1637
  M(5, 2, 3)
1638
1638
  in 3-d lattice M
1639
- sage: L.npoints() # random
1639
+ sage: L.npoints() # random # needs palp
1640
1640
  11
1641
1641
 
1642
1642
  This polytope can be visualized in 3D with ``L.plot3d()`` (see
@@ -1820,7 +1820,7 @@ graph; so planar graphs form a subtree of the previous tree. To generate
1820
1820
  them, exactly the same algorithm can be used,
1821
1821
  selecting only the children which are planar::
1822
1822
 
1823
- sage: [len(list(graphs(n, property=lambda G: G.is_planar())))
1823
+ sage: [len(list(graphs(n, property=lambda G: G.is_planar()))) # needs planarity
1824
1824
  ....: for n in range(7)]
1825
1825
  [1, 1, 2, 4, 11, 33, 142]
1826
1826
 
@@ -1657,13 +1657,14 @@ class FiniteWord_class(Word_class):
1657
1657
 
1658
1658
  For ultimately periodic words::
1659
1659
 
1660
+ sage: # needs sage.graphs sage.modules
1660
1661
  sage: sigma = WordMorphism('a->abcd,b->cd,c->cd,d->cd')
1661
- sage: w = sigma.fixed_point('a')[:100]; w # needs sage.modules
1662
+ sage: w = sigma.fixed_point('a')[:100]; w
1662
1663
  word: abcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd...
1663
- sage: g = w.reduced_rauzy_graph(5) # needs sage.graphs
1664
- sage: g.vertices(sort=True) # needs sage.graphs
1664
+ sage: g = w.reduced_rauzy_graph(5)
1665
+ sage: g.vertices(sort=True)
1665
1666
  [word: abcdc, word: cdcdc]
1666
- sage: g.edges(sort=True) # needs sage.graphs
1667
+ sage: g.edges(sort=True)
1667
1668
  [(word: abcdc, word: cdcdc, word: dc), (word: cdcdc, word: cdcdc, word: dc)]
1668
1669
 
1669
1670
  AUTHOR:
@@ -519,10 +519,12 @@ class InfiniteWord_iter_with_caching(WordDatatype_iter_with_caching, InfiniteWor
519
519
 
520
520
  Pickle is not supported for infinite word defined by an iterator::
521
521
 
522
- sage: dumps(w)
523
- Traceback (most recent call last):
524
- ...
525
- TypeError: can...t...pickle...generator...object...
522
+ sage: try:
523
+ ....: dumps(w)
524
+ ....: except TypeError as e:
525
+ ....: if "pickle" in str(e) and "generator" in str(e):
526
+ ....: print("TypeError raised in dumps() as expected")
527
+ TypeError raised in dumps() as expected
526
528
  """
527
529
  pass
528
530
 
@@ -558,10 +560,12 @@ class InfiniteWord_iter(WordDatatype_iter, InfiniteWord_class):
558
560
 
559
561
  Pickle is not supported for infinite word defined by an iterator::
560
562
 
561
- sage: dumps(w)
562
- Traceback (most recent call last):
563
- ...
564
- TypeError: can...t...pickle...generator...object...
563
+ sage: try:
564
+ ....: dumps(w)
565
+ ....: except TypeError as e:
566
+ ....: if "pickle" in str(e) and "generator" in str(e):
567
+ ....: print("TypeError raised in dumps() as expected")
568
+ TypeError raised in dumps() as expected
565
569
  """
566
570
  pass
567
571
 
@@ -660,10 +664,12 @@ class Word_iter_with_caching(WordDatatype_iter_with_caching, Word_class):
660
664
 
661
665
  Pickle is not supported for word of unknown length defined by an iterator::
662
666
 
663
- sage: dumps(w)
664
- Traceback (most recent call last):
665
- ...
666
- TypeError: can...t...pickle...generator...object...
667
+ sage: try:
668
+ ....: dumps(w)
669
+ ....: except TypeError as e:
670
+ ....: if "pickle" in str(e) and "generator" in str(e):
671
+ ....: print("TypeError raised in dumps() as expected")
672
+ TypeError raised in dumps() as expected
667
673
  """
668
674
  pass
669
675
 
@@ -697,10 +703,12 @@ class Word_iter(WordDatatype_iter, Word_class):
697
703
 
698
704
  Pickle is not supported for word of unknown length defined by an iterator::
699
705
 
700
- sage: dumps(w)
701
- Traceback (most recent call last):
702
- ...
703
- TypeError: can...t...pickle...generator...object...
706
+ sage: try:
707
+ ....: dumps(w)
708
+ ....: except TypeError as e:
709
+ ....: if "pickle" in str(e) and "generator" in str(e):
710
+ ....: print("TypeError raised in dumps() as expected")
711
+ TypeError raised in dumps() as expected
704
712
  """
705
713
  pass
706
714
 
@@ -809,7 +809,7 @@ class WordGenerator:
809
809
 
810
810
  sage: from itertools import cycle, chain
811
811
  sage: it = chain([0], cycle([2, 1]))
812
- sage: words.CharacteristicSturmianWord(it)
812
+ sage: words.CharacteristicSturmianWord(it) # needs sage.rings.real_mpfr
813
813
  word: 0100100101001001001010010010010100100101...
814
814
 
815
815
  The first terms of the standard sequence of the characteristic
@@ -4006,7 +4006,7 @@ def _finite_lattices(n):
4006
4006
  TESTS::
4007
4007
 
4008
4008
  sage: from sage.databases.findstat import _finite_lattices
4009
- sage: sorted((L.cover_relations() for L in _finite_lattices(4)),
4009
+ sage: sorted((L.cover_relations() for L in _finite_lattices(4)), # needs nauty
4010
4010
  ....: key=len)
4011
4011
  [[['bottom', 0], [0, 1], [1, 'top']],
4012
4012
  [['bottom', 0], ['bottom', 1], [0, 'top'], [1, 'top']]]
@@ -527,6 +527,7 @@ def test_integer(object x):
527
527
 
528
528
  EXAMPLES::
529
529
 
530
+ sage: import sage.libs.symmetrica.all
530
531
  sage: from sage.libs.symmetrica.symmetrica import test_integer
531
532
  sage: test_integer(1)
532
533
  1
@@ -503,6 +503,7 @@ class AlphabeticStringMonoid(StringMonoid_class):
503
503
 
504
504
  EXAMPLES::
505
505
 
506
+ sage: # needs sage.rings.real_mpfr
506
507
  sage: S = AlphabeticStrings(); S
507
508
  Free alphabetic string monoid on A-Z
508
509
  sage: S.gen(0)
@@ -519,6 +520,7 @@ class AlphabeticStringMonoid(StringMonoid_class):
519
520
 
520
521
  EXAMPLES::
521
522
 
523
+ sage: # needs sage.rings.real_mpfr
522
524
  sage: S = AlphabeticStrings(); S
523
525
  Free alphabetic string monoid on A-Z
524
526
  sage: S.gen(0)
@@ -577,6 +579,7 @@ class AlphabeticStringMonoid(StringMonoid_class):
577
579
 
578
580
  EXAMPLES::
579
581
 
582
+ sage: # needs sage.rings.real_mpfr
580
583
  sage: S = AlphabeticStrings()
581
584
  sage: S.gen(0)
582
585
  A
@@ -654,6 +657,7 @@ class AlphabeticStringMonoid(StringMonoid_class):
654
657
  The characteristic frequency probability distribution table of
655
658
  Beker and Piper [BP1982]_::
656
659
 
660
+ sage: # needs sage.rings.real_mpfr
657
661
  sage: A = AlphabeticStrings()
658
662
  sage: table = A.characteristic_frequency(table_name='beker_piper')
659
663
  sage: sorted(table.items())
@@ -688,6 +692,7 @@ class AlphabeticStringMonoid(StringMonoid_class):
688
692
  The characteristic frequency probability distribution table
689
693
  of Lewand [Lew2000]_::
690
694
 
695
+ sage: # needs sage.rings.real_mpfr
691
696
  sage: table = A.characteristic_frequency(table_name='lewand')
692
697
  sage: sorted(table.items())
693
698
  <BLANKLINE>
@@ -721,6 +726,7 @@ class AlphabeticStringMonoid(StringMonoid_class):
721
726
  Illustrating the difference between :func:`characteristic_frequency`
722
727
  and :func:`frequency_distribution() <sage.monoids.string_monoid_element.StringMonoidElement.frequency_distribution>`::
723
728
 
729
+ sage: # needs sage.rings.real_mpfr
724
730
  sage: A = AlphabeticStrings()
725
731
  sage: M = A.encoding("abcd")
726
732
  sage: FD = M.frequency_distribution().function()
@@ -764,6 +770,7 @@ class AlphabeticStringMonoid(StringMonoid_class):
764
770
 
765
771
  The table name must be either "beker_piper" or "lewand"::
766
772
 
773
+ sage: # needs sage.rings.real_mpfr
767
774
  sage: table = A.characteristic_frequency(table_name="")
768
775
  Traceback (most recent call last):
769
776
  ...
@@ -797,6 +804,7 @@ class AlphabeticStringMonoid(StringMonoid_class):
797
804
 
798
805
  EXAMPLES::
799
806
 
807
+ sage: # needs sage.rings.real_mpfr
800
808
  sage: S = AlphabeticStrings()
801
809
  sage: s = S.encoding("The cat in the hat."); s
802
810
  THECATINTHEHAT