@@ -737,7 +737,7 @@ def verschiebung(self, n):
737
737
738
738
.. SEEALSO::
739
739
740
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.frobenius`,
740
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.frobenius`,
741
741
:meth:`sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element.verschiebung`
742
742
743
743
INPUT:
@@ -852,8 +852,8 @@ def star_involution(self):
852
852
853
853
.. SEEALSO::
854
854
855
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.star_involution`,
856
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.psi_involution`.
855
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.star_involution`,
856
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions .Bases.ElementMethods.psi_involution`.
857
857
858
858
EXAMPLES::
859
859
@@ -1004,9 +1004,9 @@ def omega_involution(self):
1004
1004
1005
1005
.. SEEALSO::
1006
1006
1007
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.omega_involution`,
1008
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.psi_involution`,
1009
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.star_involution`.
1007
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.omega_involution`,
1008
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions .Bases.ElementMethods.psi_involution`,
1009
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions .Bases.ElementMethods.star_involution`.
1010
1010
1011
1011
EXAMPLES::
1012
1012
@@ -1105,8 +1105,8 @@ def psi_involution(self):
1105
1105
1106
1106
.. SEEALSO::
1107
1107
1108
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.psi_involution`,
1109
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.star_involution`.
1108
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.psi_involution`,
1109
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions .Bases.ElementMethods.star_involution`.
1110
1110
1111
1111
EXAMPLES::
1112
1112
@@ -1227,10 +1227,24 @@ def left_padded_kronecker_product(self, x):
1227
1227
extends to a definition of a left-padded Kronecker product
1228
1228
of any two non-commutative symmetric functions.
1229
1229
1230
- .. WARNING::
1230
+ The left-padded Kronecker product on the non-commutative
1231
+ symmetric functions lifts the left-padded Kronecker
1232
+ product on the symmetric functions. More precisely: Let
1233
+ `\pi` denote the canonical projection
1234
+ (:meth:`to_symmetric_function`) from the non-commutative
1235
+ symmetric functions to the symmetric functions. Then, any
1236
+ two non-commutative symmetric functions `f` and `g`
1237
+ satisfy
1231
1238
1232
- This is *not* a lift of the reduced Kronecker product
1233
- operation on the symmetric functions!
1239
+ .. MATH::
1240
+
1241
+ \pi(f \overline{*} g) = \pi(f) \overline{*} \pi(g),
1242
+
1243
+ where the `\overline{*}` on the left-hand side denotes the
1244
+ left-padded Kronecker product on the non-commutative
1245
+ symmetric functions, and the `\overline{*}` on the
1246
+ right-hand side denotes the left-padded Kronecker product
1247
+ on the symmetric functions.
1234
1248
1235
1249
INPUT:
1236
1250
@@ -1278,7 +1292,7 @@ def left_padded_kronecker_product(self, x):
1278
1292
`S_1` (this is the same as `S^{(1)}`) with any complete
1279
1293
homogeneous function: Let `I` be a composition.
1280
1294
Then, the left-padded Kronecker product of `S_1` and
1281
- `S^I` is `\sum_K a_K s_K `, where the sum runs
1295
+ `S^I` is `\sum_K a_K s^K `, where the sum runs
1282
1296
over all compositions `K`, and the coefficient `a_K` is
1283
1297
defined as the number of ways to obtain `K` from `I` by
1284
1298
one of the following two operations:
@@ -1308,7 +1322,7 @@ def left_padded_kronecker_product(self, x):
1308
1322
A similar rule can be made for the left-padded Kronecker
1309
1323
product of any complete homogeneous function with `S_1`:
1310
1324
Let `I` be a composition. Then, the left-padded Kronecker
1311
- product of `S^I` and `S_1` is `\sum_K b_K s_K `, where the
1325
+ product of `S^I` and `S_1` is `\sum_K b_K s^K `, where the
1312
1326
sum runs over all compositions `K`, and the coefficient
1313
1327
`b_K` is defined as the number of ways to obtain `K` from
1314
1328
`I` by one of the following two operations:
@@ -1334,7 +1348,31 @@ def left_padded_kronecker_product(self, x):
1334
1348
....: for i in range(5) for I in Compositions(i) )
1335
1349
True
1336
1350
1337
- TESTS:
1351
+ Checking the
1352
+ `\pi(f \overline{*} g) = \pi(f) \overline{*} \pi(g)`
1353
+ equality::
1354
+
1355
+ sage: NSym = NonCommutativeSymmetricFunctions(ZZ)
1356
+ sage: R = NSym.R()
1357
+ sage: def testpi(n):
1358
+ ....: for I in Compositions(n):
1359
+ ....: for J in Compositions(n):
1360
+ ....: a = R[I].to_symmetric_function()
1361
+ ....: b = R[J].to_symmetric_function()
1362
+ ....: x = a.left_padded_kronecker_product(b)
1363
+ ....: y = R[I].left_padded_kronecker_product(R[J])
1364
+ ....: y = y.to_symmetric_function()
1365
+ ....: if x != y:
1366
+ ....: return False
1367
+ ....: return True
1368
+ sage: testpi(3)
1369
+ True
1370
+
1371
+ TESTS::
1372
+
1373
+ sage: S = NonCommutativeSymmetricFunctions(QQ).S()
1374
+ sage: (2*S([])).left_padded_kronecker_product(3*S([]))
1375
+ 6*S[]
1338
1376
1339
1377
Different bases and base rings::
1340
1378
@@ -1381,13 +1419,13 @@ def left_padded_kronecker_product(self, x):
1381
1419
# Special handling for the empty composition. The left-padded
1382
1420
# Kronecker product of 1 with any non-commutative symmetric
1383
1421
# function f is f.
1384
- result += comp_x
1422
+ result += a * comp_x
1385
1423
continue
1386
1424
for mu , b in comp_x .monomial_coefficients ().items ():
1387
1425
# mu is a composition, b is an element of the base ring.
1388
1426
if len (mu ) == 0 :
1389
1427
# Special handling for the empty composition.
1390
- result += a * comp_parent (lam )
1428
+ result += a * b * comp_parent (lam )
1391
1429
continue
1392
1430
# Now, both lam and mu are nonempty.
1393
1431
stab = 1 + sum (lam ) + sum (mu )
@@ -2215,8 +2253,8 @@ def verschiebung(self, n):
2215
2253
2216
2254
.. SEEALSO::
2217
2255
2218
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.verschiebung`,
2219
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.frobenius`,
2256
+ :meth:`sage.combinat.ncsf_qsym.qsym.NonCommutativeSymmetricFunctions .Bases.ElementMethods.verschiebung`,
2257
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.frobenius`,
2220
2258
:meth:`sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element.verschiebung`
2221
2259
2222
2260
INPUT:
@@ -2337,9 +2375,9 @@ def star_involution(self):
2337
2375
2338
2376
.. SEEALSO::
2339
2377
2340
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.star_involution`,
2341
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.star_involution`,
2342
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.psi_involution`.
2378
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions .Bases.ElementMethods.star_involution`,
2379
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.star_involution`,
2380
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions .Bases.ElementMethods.psi_involution`.
2343
2381
2344
2382
EXAMPLES::
2345
2383
@@ -2674,9 +2712,9 @@ def psi_involution(self):
2674
2712
2675
2713
.. SEEALSO::
2676
2714
2677
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.psi_involution`,
2678
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.psi_involution`,
2679
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.star_involution`.
2715
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions .Bases.ElementMethods.psi_involution`,
2716
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.psi_involution`,
2717
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions .Bases.ElementMethods.star_involution`.
2680
2718
2681
2719
EXAMPLES::
2682
2720
@@ -2872,8 +2910,8 @@ def verschiebung(self, n):
2872
2910
2873
2911
.. SEEALSO::
2874
2912
2875
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.verschiebung`,
2876
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.frobenius`,
2913
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions .Bases.ElementMethods.verschiebung`,
2914
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.frobenius`,
2877
2915
:meth:`sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element.verschiebung`
2878
2916
2879
2917
INPUT:
@@ -2991,9 +3029,9 @@ def star_involution(self):
2991
3029
2992
3030
.. SEEALSO::
2993
3031
2994
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.star_involution`,
2995
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.psi_involution`,
2996
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.star_involution`.
3032
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.star_involution`,
3033
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.psi_involution`,
3034
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.star_involution`.
2997
3035
2998
3036
EXAMPLES::
2999
3037
@@ -3063,9 +3101,9 @@ def psi_involution(self):
3063
3101
3064
3102
.. SEEALSO::
3065
3103
3066
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.psi_involution`,
3067
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.psi_involution`,
3068
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.star_involution`.
3104
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.psi_involution`,
3105
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.psi_involution`,
3106
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.star_involution`.
3069
3107
3070
3108
EXAMPLES::
3071
3109
@@ -3478,8 +3516,8 @@ def verschiebung(self, n):
3478
3516
3479
3517
.. SEEALSO::
3480
3518
3481
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.verschiebung`,
3482
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.frobenius`,
3519
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.verschiebung`,
3520
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.frobenius`,
3483
3521
:meth:`sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element.verschiebung`
3484
3522
3485
3523
INPUT:
@@ -3749,8 +3787,8 @@ def verschiebung(self, n):
3749
3787
3750
3788
.. SEEALSO::
3751
3789
3752
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.verschiebung`,
3753
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.frobenius`,
3790
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.verschiebung`,
3791
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.frobenius`,
3754
3792
:meth:`sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element.verschiebung`
3755
3793
3756
3794
INPUT:
@@ -3868,9 +3906,9 @@ def star_involution(self):
3868
3906
3869
3907
.. SEEALSO::
3870
3908
3871
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.star_involution`,
3872
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.psi_involution`,
3873
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.star_involution`.
3909
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.star_involution`,
3910
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.psi_involution`,
3911
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.star_involution`.
3874
3912
3875
3913
EXAMPLES::
3876
3914
@@ -3940,9 +3978,9 @@ def psi_involution(self):
3940
3978
3941
3979
.. SEEALSO::
3942
3980
3943
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.psi_involution`,
3944
- :meth:`sage.combinat.ncsf_qsym.qsym.QSym .Bases.ElementMethods.psi_involution`,
3945
- :meth:`sage.combinat.ncsf_qsym.qsym.NCSF .Bases.ElementMethods.star_involution`.
3981
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.psi_involution`,
3982
+ :meth:`sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions .Bases.ElementMethods.psi_involution`,
3983
+ :meth:`sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmeticFunctions .Bases.ElementMethods.star_involution`.
3946
3984
3947
3985
EXAMPLES::
3948
3986
0 commit comments