The quotient of symmetric functions by the ideal generated by the Hall-Littlewood P
symmetric functions indexed by partitions with first part greater than . When
this space is the quotient of the symmetric functions by the ideal generated by the
monomial symmetric functions indexed by partitions with first part greater than
.
AUTHORS:
Bases: sage.combinat.sf.k_dual.KBoundedQuotientBasis
This basis is dual to the -Schur functions at
. This realization
follows the monomial expansion given by Lam [Lam2006].
REFERENCES:
[Lam2006] | T. Lam, Schubert polynomials for the affine Grassmannian, J. Amer. Math. Soc., 21 (2008), 259-281. |
Bases: sage.combinat.sf.k_dual.KBoundedQuotientBasis
This basis is dual to the -Schur functions. The expansion is given
in Section 4.12 of [LLMSSZ]. When
this basis is equal to the
AffineSchurFunctions and that basis is more efficient in this case.
REFERENCES:
[LLMSSZ] | T. Lam, L. Lapointe, J. Morse, A. Schilling, M. Shimozono, M. Zabrocki, k-Schur functions and affine Schubert calculus. |
Bases: sage.structure.unique_representation.UniqueRepresentation, sage.structure.parent.Parent
Initialization of the ring of Symmetric functions modulo the ideal of monomial
symmetric functions which are indexed by partitions whose first part is greater
than .
INPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(QQ)
sage: Q = Sym.kBoundedQuotient(3,t=1)
sage: Q
3-Bounded Quotient of Symmetric Functions over Rational Field with t=1
sage: km = Q.km()
sage: km
3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 3-bounded monomial basis
sage: F = Q.affineSchur()
sage: F(km(F[3,1,1])) == F[3,1,1]
True
sage: km(F(km([3,2]))) == km[3,2]
True
sage: F[3,2].lift()
m[1, 1, 1, 1, 1] + m[2, 1, 1, 1] + m[2, 2, 1] + m[3, 1, 1] + m[3, 2]
sage: F[2,1]*F[2,1]
2*F3[1, 1, 1, 1, 1, 1] + 4*F3[2, 1, 1, 1, 1] + 4*F3[2, 2, 1, 1] + 4*F3[2, 2, 2] + 2*F3[3, 1, 1, 1] + 4*F3[3, 2, 1] + 2*F3[3, 3]
sage: F[1,2]
Traceback (most recent call last):
...
ValueError: [1, 2] is not a valid partition
sage: F[4,2]
Traceback (most recent call last):
...
ValueError: Partition is not 3-bounded
sage: km[2,1]*km[2,1]
4*m3[2, 2, 1, 1] + 6*m3[2, 2, 2] + 2*m3[3, 2, 1] + 2*m3[3, 3]
sage: HLPk = Q.kHallLittlewoodP()
sage: HLPk[2,1]*HLPk[2,1]
4*HLP3[2, 2, 1, 1] + 6*HLP3[2, 2, 2] + 2*HLP3[3, 2, 1] + 2*HLP3[3, 3]
sage: dks = Q.dual_k_Schur()
sage: dks[2,1]*dks[2,1]
2*dks3[1, 1, 1, 1, 1, 1] + 4*dks3[2, 1, 1, 1, 1] + 4*dks3[2, 2, 1, 1] + 4*dks3[2, 2, 2] + 2*dks3[3, 1, 1, 1] + 4*dks3[3, 2, 1] + 2*dks3[3, 3]
sage: Q = Sym.kBoundedQuotient(3)
Traceback (most recent call last):
...
TypeError: unable to convert t to a rational
sage: Sym = SymmetricFunctions(QQ['t'].fraction_field())
sage: Q = Sym.kBoundedQuotient(3)
sage: km = Q.km()
sage: F = Q.affineSchur()
sage: F(km(F[3,1,1])) == F[3,1,1]
True
sage: km(F(km([3,2]))) == km[3,2]
True
sage: dks = Q.dual_k_Schur()
sage: HLPk = Q.kHallLittlewoodP()
sage: dks(HLPk(dks[3,1,1])) == dks[3,1,1]
True
sage: km(dks(km([3,2]))) == km[3,2]
True
sage: dks[2,1]*dks[2,1]
(t^3+t^2)*dks3[1, 1, 1, 1, 1, 1] + (2*t^2+2*t)*dks3[2, 1, 1, 1, 1] + (t^2+2*t+1)*dks3[2, 2, 1, 1] + (t^2+2*t+1)*dks3[2, 2, 2] + (t+1)*dks3[3, 1, 1, 1] + (2*t+2)*dks3[3, 2, 1] + (t+1)*dks3[3, 3]
TESTS:
sage: TestSuite(Q).run()
Returns the affine Grothendieck polynomial indexed by the partition la. Because this belongs to the completion of the algebra, and hence is an infinite sum, it computes only up to those symmetric functions of degree at most m. See _AffineGrothendieckPolynomial() for the code.
INPUT:
EXAMPLES:
sage: Q = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1)
sage: Q.AffineGrothendieckPolynomial([2,1],4)
2*m3[1, 1, 1] - 8*m3[1, 1, 1, 1] + m3[2, 1] - 3*m3[2, 1, 1] - m3[2, 2]
The affine Schur basis of the -bounded quotient of symmetric functions,
indexed by
-bounded partitions. This is also equal to the affine Stanley
symmetric functions (see WeylGroups.ElementMethods.stanley_symmetric_function())
indexed by an affine Grassmannian permutation.
EXAMPLES:
sage: SymmetricFunctions(QQ).kBoundedQuotient(2,t=1).affineSchur()
2-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 2-bounded affine Schur basis
Returns a particular realization of self (the basis of -bounded monomials
if
and the basis of
-bounded Hall-Littlewood functions otherwise).
EXAMPLES:
sage: Sym = SymmetricFunctions(QQ)
sage: Q = Sym.kBoundedQuotient(3,t=1)
sage: Q.a_realization()
3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 3-bounded monomial basis
sage: Q = Sym.kBoundedQuotient(3,t=2)
sage: Q.a_realization()
3-Bounded Quotient of Symmetric Functions over Rational Field with t=2 in the 3-bounded Hall-Littlewood P basis
The affine Schur basis of the -bounded quotient of symmetric functions,
indexed by
-bounded partitions. This is also equal to the affine Stanley
symmetric functions (see WeylGroups.ElementMethods.stanley_symmetric_function())
indexed by an affine Grassmannian permutation.
EXAMPLES:
sage: SymmetricFunctions(QQ).kBoundedQuotient(2,t=1).affineSchur()
2-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 2-bounded affine Schur basis
Returns the Symmetric Functions over the same ring as self. This is needed to realize our ring as a quotient.
TESTS:
sage: Sym = SymmetricFunctions(QQ)
sage: Q = Sym.kBoundedQuotient(3,t=1)
sage: Q.ambient()
Symmetric Functions over Rational Field
Returns an element of the quotient ring of -bounded symmetric functions. This
method is here to make the TestSuite run properly.
EXAMPLES:
sage: Q = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1)
sage: Q.an_element()
2*m3[] + 2*m3[1] + 3*m3[2]
The dual -Schur basis of the
-bounded quotient of symmetric functions,
indexed by
-bounded partitions. At
this is also equal to the affine
Schur basis and calculations will be faster using elements in the affineSchur()
basis.
EXAMPLES:
sage: SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(2).dual_k_Schur()
2-Bounded Quotient of Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the dual 2-Schur basis
The dual -Schur basis of the
-bounded quotient of symmetric functions,
indexed by
-bounded partitions. At
this is also equal to the affine
Schur basis and calculations will be faster using elements in the affineSchur()
basis.
EXAMPLES:
sage: SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(2).dual_k_Schur()
2-Bounded Quotient of Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the dual 2-Schur basis
The Hall-Littlewood P basis of the -bounded quotient of symmetric functions,
indexed by
-bounded partitions. At
this basis is equal to the
-bounded monomial basis and calculations will be faster using elements in the
-bounded monomial basis (see kmonomial()).
EXAMPLES:
sage: SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(2).kHallLittlewoodP()
2-Bounded Quotient of Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the 2-bounded Hall-Littlewood P basis
The Hall-Littlewood P basis of the -bounded quotient of symmetric functions,
indexed by
-bounded partitions. At
this basis is equal to the
-bounded monomial basis and calculations will be faster using elements in the
-bounded monomial basis (see kmonomial()).
EXAMPLES:
sage: SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(2).kHallLittlewoodP()
2-Bounded Quotient of Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the 2-bounded Hall-Littlewood P basis
The monomial basis of the -bounded quotient of symmetric functions, indexed by
-bounded partitions.
EXAMPLES:
sage: SymmetricFunctions(QQ).kBoundedQuotient(2,t=1).kmonomial()
2-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 2-bounded monomial basis
The monomial basis of the -bounded quotient of symmetric functions, indexed by
-bounded partitions.
EXAMPLES:
sage: SymmetricFunctions(QQ).kBoundedQuotient(2,t=1).kmonomial()
2-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 2-bounded monomial basis
Gives the lift map from the quotient ring of -bounded symmetric functions to
the symmetric functions. This method is here to make the TestSuite run properly.
INPUT:
OUTPUT:
indexed by the partition la.
EXAMPLES:
sage: Q = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1)
sage: Q.lift([2,1])
m[2, 1]
sage: Q = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(3)
sage: Q.lift([2,1])
HLP[2, 1]
Returns the unit of the quotient ring of -bounded symmetric functions. This
method is here to make the TestSuite run properly.
EXAMPLES:
sage: Q = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1)
sage: Q.one()
m3[]
A list of realizations of the -bounded quotient.
EXAMPLES:
sage: kQ = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(3)
sage: kQ.realizations()
[3-Bounded Quotient of Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the 3-bounded monomial basis, 3-Bounded Quotient of Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the 3-bounded Hall-Littlewood P basis, 3-Bounded Quotient of Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the 3-bounded affine Schur basis, 3-Bounded Quotient of Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the dual 3-Schur basis]
sage: HLP = kQ.ambient().hall_littlewood().P()
sage: all( rzn(HLP[3,2,1]).lift() == HLP[3,2,1] for rzn in kQ.realizations())
True
sage: kQ = SymmetricFunctions(QQ).kBoundedQuotient(3,1)
sage: kQ.realizations()
[3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 3-bounded monomial basis, 3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 3-bounded Hall-Littlewood P basis, 3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 3-bounded affine Schur basis, 3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the dual 3-Schur basis]
sage: m = kQ.ambient().m()
sage: all( rzn(m[3,2,1]).lift() == m[3,2,1] for rzn in kQ.realizations())
True
Gives the retract map from the symmetric functions to the quotient ring of
-bounded symmetric functions. This method is here to make the TestSuite run
properly.
INPUT:
OUTPUT:
EXAMPLES:
sage: Q = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1)
sage: Q.retract([2,1])
m3[2, 1]
Bases: sage.categories.realizations.Category_realization_of_parent
The category of bases for the -bounded subspace of symmetric functions.
Returns the symmetric functions.
EXAMPLES:
sage: km = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).km()
sage: km.ambient()
Symmetric Functions over Rational Field
Return the antipode of element via lifting to the symmetric
functions and then retracting into the -bounded quotient basis.
INPUT:
EXAMPLES:
sage: dks3 = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).dual_k_Schur()
sage: dks3[3,2].antipode()
-dks3[1, 1, 1, 1, 1]
sage: km = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).km()
sage: km[3,2].antipode()
m3[3, 2]
sage: km.antipode(km[3,2])
m3[3, 2]
sage: m = SymmetricFunctions(QQ).m()
sage: m[3,2].antipode()
m[3, 2] + 2*m[5]
sage: km = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(3).km()
sage: km[1,1,1,1].antipode()
(t^3-3*t^2+3*t)*m3[1, 1, 1, 1] + (-t^2+2*t)*m3[2, 1, 1] + t*m3[2, 2] + t*m3[3, 1]
sage: kHP = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(3).kHLP()
sage: kHP[2,2].antipode()
(t^9-t^6-t^5+t^2)*HLP3[1, 1, 1, 1] + (t^6-t^3-t^2+t)*HLP3[2, 1, 1] + (t^5-t^2+1)*HLP3[2, 2] + (t^4-t)*HLP3[3, 1]
sage: dks = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(3).dks()
sage: dks[2,2].antipode()
dks3[2, 2]
sage: dks[3,2].antipode()
-t^2*dks3[1, 1, 1, 1, 1] + (t^2-1)*dks3[2, 2, 1] + (-t^5+t)*dks3[3, 2]
Return the coproduct of element via lifting to the symmetric
functions and then returning to the -bounded quotient basis.
This method is implemented for all
but is (weakly) conjectured
to not be the correct operation for arbitrary
because the
coproduct on dual-
-Schur functions does not have a positive
expansion.
INPUT:
EXAMPLES:
sage: Q3 = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1)
sage: km = Q3.km()
sage: km[3,2].coproduct()
m3[] # m3[3, 2] + m3[2] # m3[3] + m3[3] # m3[2] + m3[3, 2] # m3[]
sage: dks3 = Q3.dual_k_Schur()
sage: dks3[2,2].coproduct()
dks3[] # dks3[2, 2] + dks3[1] # dks3[2, 1] + dks3[1, 1] # dks3[1, 1] + dks3[2] # dks3[2] + dks3[2, 1] # dks3[1] + dks3[2, 2] # dks3[]
sage: Q3t = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(3)
sage: km = Q3t.km()
sage: km[3,2].coproduct()
m3[] # m3[3, 2] + m3[2] # m3[3] + m3[3] # m3[2] + m3[3, 2] # m3[]
sage: dks = Q3t.dks()
sage: dks[2,1,1].coproduct()
dks3[] # dks3[2, 1, 1] + (-t+1)*dks3[1] # dks3[1, 1, 1] + dks3[1] # dks3[2, 1] + (-t+1)*dks3[1, 1] # dks3[1, 1] + dks3[1, 1] # dks3[2] + (-t+1)*dks3[1, 1, 1] # dks3[1] + dks3[2] # dks3[1, 1] + dks3[2, 1] # dks3[1] + dks3[2, 1, 1] # dks3[]
sage: kHLP = Q3t.kHLP()
sage: kHLP[2,1].coproduct()
HLP3[] # HLP3[2, 1] + (-t^2+1)*HLP3[1] # HLP3[1, 1] + HLP3[1] # HLP3[2] + (-t^2+1)*HLP3[1, 1] # HLP3[1] + HLP3[2] # HLP3[1] + HLP3[2, 1] # HLP3[]
sage: km.coproduct(km[3,2])
m3[] # m3[3, 2] + m3[2] # m3[3] + m3[3] # m3[2] + m3[3, 2] # m3[]
Return the counit of element.
The counit is the constant term of element.
INPUT:
EXAMPLES:
sage: km = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(3).km()
sage: f = 2*km[2,1] - 3*km([])
sage: f.counit()
-3
sage: km.counit(f)
-3
Return the degree of the basis element indexed by b.
INPUT:
EXAMPLES:
sage: F = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).affineSchur()
sage: F.degree_on_basis(Partition([3,2]))
5
The set of -bounded partitions of all non-negative integers.
Implements the lift map from the basis self to the monomial basis of symmetric functions.
INPUT:
OUTPUT:
EXAMPLES:
sage: F = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).affineSchur()
sage: F.lift([3,1])
m[1, 1, 1, 1] + m[2, 1, 1] + m[2, 2] + m[3, 1]
sage: Sym = SymmetricFunctions(QQ['t'].fraction_field())
sage: dks = Sym.kBoundedQuotient(3).dual_k_Schur()
sage: dks.lift([3,1])
t^5*HLP[1, 1, 1, 1] + t^2*HLP[2, 1, 1] + t*HLP[2, 2] + HLP[3, 1]
sage: dks = Sym.kBoundedQuotient(3,t=1).dual_k_Schur()
sage: dks.lift([3,1])
m[1, 1, 1, 1] + m[2, 1, 1] + m[2, 2] + m[3, 1]
Return the basis element indexing 1.
EXAMPLES:
sage: F = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).affineSchur()
sage: F.one() # indirect doctest
F3[]
Returns the product of two elements x and y.
INPUT:
OUTPUT:
EXAMPLES:
sage: dks3 = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).dual_k_Schur()
sage: dks3.product(dks3[2,1],dks3[1,1])
2*dks3[1, 1, 1, 1, 1] + 2*dks3[2, 1, 1, 1] + 2*dks3[2, 2, 1] + dks3[3, 1, 1] + dks3[3, 2]
sage: dks3.product(dks3[2,1]+dks3[1], dks3[1,1])
dks3[1, 1, 1] + 2*dks3[1, 1, 1, 1, 1] + dks3[2, 1] + 2*dks3[2, 1, 1, 1] + 2*dks3[2, 2, 1] + dks3[3, 1, 1] + dks3[3, 2]
sage: dks3.product(dks3[2,1]+dks3[1], dks3([]))
dks3[1] + dks3[2, 1]
sage: dks3.product(dks3([]), dks3([]))
dks3[]
sage: dks3.product(dks3([]), dks3([4,1]))
Traceback (most recent call last):
...
TypeError: do not know how to make x (= [4, 1]) an element of self (=3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the dual 3-Schur basis)
sage: dks3 = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(3).dual_k_Schur()
sage: dks3.product(dks3[2,1],dks3[1,1])
(t^2+t)*dks3[1, 1, 1, 1, 1] + (t+1)*dks3[2, 1, 1, 1] + (t+1)*dks3[2, 2, 1] + dks3[3, 1, 1] + dks3[3, 2]
sage: dks3.product(dks3[2,1]+dks3[1], dks3[1,1])
dks3[1, 1, 1] + (t^2+t)*dks3[1, 1, 1, 1, 1] + dks3[2, 1] + (t+1)*dks3[2, 1, 1, 1] + (t+1)*dks3[2, 2, 1] + dks3[3, 1, 1] + dks3[3, 2]
sage: dks3.product(dks3[2,1]+dks3[1], dks3([]))
dks3[1] + dks3[2, 1]
sage: dks3.product(dks3([]), dks3([]))
dks3[]
sage: F = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).affineSchur()
sage: F.product(F[2,1],F[1,1])
2*F3[1, 1, 1, 1, 1] + 2*F3[2, 1, 1, 1] + 2*F3[2, 2, 1] + F3[3, 1, 1] + F3[3, 2]
sage: F.product(F[2,1]+F[1], F[1,1])
F3[1, 1, 1] + 2*F3[1, 1, 1, 1, 1] + F3[2, 1] + 2*F3[2, 1, 1, 1] + 2*F3[2, 2, 1] + F3[3, 1, 1] + F3[3, 2]
sage: F.product(F[2,1]+F[1], F([]))
F3[1] + F3[2, 1]
sage: F.product(F([]), F([]))
F3[]
sage: F.product(F([]), F([4,1]))
Traceback (most recent call last):
...
TypeError: do not know how to make x (= [4, 1]) an element of self (=3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 3-bounded affine Schur basis)
sage: F = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(3).affineSchur()
sage: F.product(F[2,1],F[1,1])
2*F3[1, 1, 1, 1, 1] + 2*F3[2, 1, 1, 1] + 2*F3[2, 2, 1] + F3[3, 1, 1] + F3[3, 2]
sage: F.product(F[2,1],F[2])
(t^4+t^3-2*t^2+1)*F3[1, 1, 1, 1, 1] + (-t^2+t+1)*F3[2, 1, 1, 1] + (-t^2+t+2)*F3[2, 2, 1] + (t+1)*F3[3, 1, 1] + (t+1)*F3[3, 2]
sage: F.product(F[2,1]+F[1], F[1,1])
F3[1, 1, 1] + 2*F3[1, 1, 1, 1, 1] + F3[2, 1] + 2*F3[2, 1, 1, 1] + 2*F3[2, 2, 1] + F3[3, 1, 1] + F3[3, 2]
sage: F.product(F[2,1]+F[1], F([]))
F3[1] + F3[2, 1]
sage: F.product(F([]), F([]))
F3[]
sage: km = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).km()
sage: km.product(km[2,1],km[2,1])
4*m3[2, 2, 1, 1] + 6*m3[2, 2, 2] + 2*m3[3, 2, 1] + 2*m3[3, 3]
sage: Q3 = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(3)
sage: km = Q3.km()
sage: km.product(km[2,1],km[2,1])
(t^5+7*t^4-8*t^3-28*t^2+47*t-19)*m3[1, 1, 1, 1, 1, 1] + (t^4-3*t^3-9*t^2+23*t-12)*m3[2, 1, 1, 1, 1] + (-t^3-3*t^2+11*t-3)*m3[2, 2, 1, 1] + (-t^2+5*t+2)*m3[2, 2, 2] + (6*t-6)*m3[3, 1, 1, 1] + (3*t-1)*m3[3, 2, 1] + (t+1)*m3[3, 3]
sage: dks = Q3.dual_k_Schur()
sage: km.product(dks[2,1],dks[1,1])
20*m3[1, 1, 1, 1, 1] + 9*m3[2, 1, 1, 1] + 4*m3[2, 2, 1] + 2*m3[3, 1, 1] + m3[3, 2]
Gives the retract map from the symmetric functions to the quotient ring of
-bounded symmetric functions. This method is here to make the TestSuite run
properly.
INPUT:
OUTPUT:
EXAMPLES:
sage: Q = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1)
sage: Q.retract([2,1])
m3[2, 1]
The super categories of self.
EXAMPLES:
sage: Sym = SymmetricFunctions(QQ['t'])
sage: from sage.combinat.sf.k_dual import KBoundedQuotientBases
sage: Q = Sym.kBoundedQuotient(3,t=1)
sage: KQB = KBoundedQuotientBases(Q)
sage: KQB.super_categories()
[Category of realizations of 3-Bounded Quotient of Symmetric Functions over Univariate Polynomial Ring in t over Rational Field with t=1, Join of Category of graded hopf algebras with basis over Univariate Polynomial Ring in t over Rational Field and Category of subquotients of monoids and Category of quotients of semigroups]
Bases: sage.combinat.free_module.CombinatorialFreeModule
Abstract base class for the bases of the -bounded quotient.
Bases: sage.combinat.sf.k_dual.KBoundedQuotientBasis
The basis of monomial symmetric functions indexed by partitions with first
part less than or equal to .
Implements the lift function on the monomial basis. Given a -bounded partition
la, the lift will return the corresponding monomial basis element.
INPUT:
OUTPUT:
EXAMPLES:
sage: km = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).km()
sage: km.lift(Partition([3,1]))
m[3, 1]
sage: km.lift([])
m[]
sage: km.lift(Partition([4,1]))
Traceback (most recent call last):
...
TypeError: do not know how to make x (= [4, 1]) an element of self (=3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 3-bounded monomial basis)
Implements the retract function on the monomial basis. Given a partition la,
the retract will return the corresponding -bounded monomial basis element if
la is
-bounded; zero otherwise.
INPUT:
OUTPUT:
functions.
EXAMPLES:
sage: km = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).km()
sage: km.retract(Partition([3,1]))
m3[3, 1]
sage: km.retract(Partition([4,1]))
0
sage: km.retract([])
m3[]
sage: m = SymmetricFunctions(QQ).m()
sage: km(m[3, 1])
m3[3, 1]
sage: km(m[4, 1])
0
sage: km = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(3).km()
sage: km.retract(Partition([3,1]))
m3[3, 1]
sage: km.retract(Partition([4,1]))
(t^4+t^3-9*t^2+11*t-4)*m3[1, 1, 1, 1, 1] + (-3*t^2+6*t-3)*m3[2, 1, 1, 1] + (-t^2+3*t-2)*m3[2, 2, 1] + (2*t-2)*m3[3, 1, 1] + (t-1)*m3[3, 2]
sage: m = SymmetricFunctions(FractionField(QQ['t'])).m()
sage: km(m[3, 1])
m3[3, 1]
sage: km(m[4, 1])
(t^4+t^3-9*t^2+11*t-4)*m3[1, 1, 1, 1, 1] + (-3*t^2+6*t-3)*m3[2, 1, 1, 1] + (-t^2+3*t-2)*m3[2, 2, 1] + (2*t-2)*m3[3, 1, 1] + (t-1)*m3[3, 2]
Bases: sage.combinat.sf.k_dual.KBoundedQuotientBasis
The basis of P Hall-Littlewood symmetric functions indexed by partitions with first
part less than or equal to .
Implements the lift function on the Hall-Littlewood P basis. Given a -bounded
partition la, the lift will return the corresponding Hall-Littlewood P basis
element.
INPUT:
OUTPUT:
EXAMPLES:
sage: kHLP = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(3).kHallLittlewoodP()
sage: kHLP.lift(Partition([3,1]))
HLP[3, 1]
sage: kHLP.lift([])
HLP[]
sage: kHLP.lift(Partition([4,1]))
Traceback (most recent call last):
...
TypeError: do not know how to make x (= [4, 1]) an element of self (=3-Bounded Quotient of Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the 3-bounded Hall-Littlewood P basis)
Implements the retract function on the Hall-Littlewood P basis. Given a partition
la, the retract will return the corresponding -bounded Hall-Littlewood P
basis element if la is
-bounded; zero otherwise.
INPUT:
OUTPUT:
symmetric functions.
EXAMPLES:
sage: kHLP = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(3).kHallLittlewoodP()
sage: kHLP.retract(Partition([3,1]))
HLP3[3, 1]
sage: kHLP.retract(Partition([4,1]))
0
sage: kHLP.retract([])
HLP3[]
sage: m = kHLP.realization_of().ambient().m()
sage: kHLP(m[2,2])
(t^4-t^3-t+1)*HLP3[1, 1, 1, 1] + (t-1)*HLP3[2, 1, 1] + HLP3[2, 2]