Quotient of symmetric function space by ideal generated by Hall-Littlewood symmetric functions¶
The quotient of symmetric functions by the ideal generated by the Hall-Littlewood P symmetric functions indexed by partitions with first part greater than \(k\). When \(t=1\) 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 \(k\).
AUTHORS:
- Chris Berg (2012-12-01) 
- Mike Zabrocki - \(k\)-bounded Hall Littlewood P and dual \(k\)-Schur functions (2012-12-02) 
- class sage.combinat.sf.k_dual.AffineSchurFunctions(kBoundedRing)[source]¶
- Bases: - KBoundedQuotientBasis- This basis is dual to the \(k\)-Schur functions at \(t=1\). 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. 
- class sage.combinat.sf.k_dual.DualkSchurFunctions(kBoundedRing)[source]¶
- Bases: - KBoundedQuotientBasis- This basis is dual to the \(k\)-Schur functions. The expansion is given in Section 4.12 of [LLMSSZ]. When \(t=1\) this basis is equal to the - AffineSchurFunctionsand 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. 
- class sage.combinat.sf.k_dual.KBoundedQuotient(Sym, k, t='t')[source]¶
- Bases: - UniqueRepresentation,- 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 \(k\). - INPUT: - Sym– an element of class- sage.combinat.sf.sf.SymmetricFunctions
- k– positive integer
- R– a ring
 - 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 an element of 3-Bounded Partitions sage: F[4,2] Traceback (most recent call last): ... ValueError: [4, 2] is not an element of 3-Bounded Partitions 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] - >>> from sage.all import * >>> Sym = SymmetricFunctions(QQ) >>> Q = Sym.kBoundedQuotient(Integer(3),t=Integer(1)) >>> Q 3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 >>> km = Q.km() >>> km 3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 3-bounded monomial basis >>> F = Q.affineSchur() >>> F(km(F[Integer(3),Integer(1),Integer(1)])) == F[Integer(3),Integer(1),Integer(1)] True >>> km(F(km([Integer(3),Integer(2)]))) == km[Integer(3),Integer(2)] True >>> F[Integer(3),Integer(2)].lift() m[1, 1, 1, 1, 1] + m[2, 1, 1, 1] + m[2, 2, 1] + m[3, 1, 1] + m[3, 2] >>> F[Integer(2),Integer(1)]*F[Integer(2),Integer(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] >>> F[Integer(1),Integer(2)] Traceback (most recent call last): ... ValueError: [1, 2] is not an element of 3-Bounded Partitions >>> F[Integer(4),Integer(2)] Traceback (most recent call last): ... ValueError: [4, 2] is not an element of 3-Bounded Partitions >>> km[Integer(2),Integer(1)]*km[Integer(2),Integer(1)] 4*m3[2, 2, 1, 1] + 6*m3[2, 2, 2] + 2*m3[3, 2, 1] + 2*m3[3, 3] >>> HLPk = Q.kHallLittlewoodP() >>> HLPk[Integer(2),Integer(1)]*HLPk[Integer(2),Integer(1)] 4*HLP3[2, 2, 1, 1] + 6*HLP3[2, 2, 2] + 2*HLP3[3, 2, 1] + 2*HLP3[3, 3] >>> dks = Q.dual_k_Schur() >>> dks[Integer(2),Integer(1)]*dks[Integer(2),Integer(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] - >>> from sage.all import * >>> Q = Sym.kBoundedQuotient(Integer(3)) Traceback (most recent call last): ... TypeError: unable to convert 't' to a rational >>> Sym = SymmetricFunctions(QQ['t'].fraction_field()) >>> Q = Sym.kBoundedQuotient(Integer(3)) >>> km = Q.km() >>> F = Q.affineSchur() >>> F(km(F[Integer(3),Integer(1),Integer(1)])) == F[Integer(3),Integer(1),Integer(1)] True >>> km(F(km([Integer(3),Integer(2)]))) == km[Integer(3),Integer(2)] True >>> dks = Q.dual_k_Schur() >>> HLPk = Q.kHallLittlewoodP() >>> dks(HLPk(dks[Integer(3),Integer(1),Integer(1)])) == dks[Integer(3),Integer(1),Integer(1)] True >>> km(dks(km([Integer(3),Integer(2)]))) == km[Integer(3),Integer(2)] True >>> dks[Integer(2),Integer(1)]*dks[Integer(2),Integer(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] - AffineGrothendieckPolynomial(la, m)[source]¶
- Return 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: - la– a \(k\)-bounded partition
- m– integer
 - 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] - >>> from sage.all import * >>> Q = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)) >>> Q.AffineGrothendieckPolynomial([Integer(2),Integer(1)],Integer(4)) 2*m3[1, 1, 1] - 8*m3[1, 1, 1, 1] + m3[2, 1] - 3*m3[2, 1, 1] - m3[2, 2] 
 - F()[source]¶
- The affine Schur basis of the \(k\)-bounded quotient of symmetric functions, indexed by \(k\)-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 - >>> from sage.all import * >>> SymmetricFunctions(QQ).kBoundedQuotient(Integer(2),t=Integer(1)).affineSchur() 2-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 2-bounded affine Schur basis 
 - a_realization()[source]¶
- Return a particular realization of - self(the basis of \(k\)-bounded monomials if \(t=1\) and the basis of \(k\)-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 - >>> from sage.all import * >>> Sym = SymmetricFunctions(QQ) >>> Q = Sym.kBoundedQuotient(Integer(3),t=Integer(1)) >>> Q.a_realization() 3-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 3-bounded monomial basis >>> Q = Sym.kBoundedQuotient(Integer(3),t=Integer(2)) >>> Q.a_realization() 3-Bounded Quotient of Symmetric Functions over Rational Field with t=2 in the 3-bounded Hall-Littlewood P basis 
 - affineSchur()[source]¶
- The affine Schur basis of the \(k\)-bounded quotient of symmetric functions, indexed by \(k\)-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 - >>> from sage.all import * >>> SymmetricFunctions(QQ).kBoundedQuotient(Integer(2),t=Integer(1)).affineSchur() 2-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 2-bounded affine Schur basis 
 - ambient()[source]¶
- Returns the Symmetric Functions over the same ring as - self. This is needed to realize our ring as a quotient.
 - an_element()[source]¶
- Return an element of the quotient ring of \(k\)-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] - >>> from sage.all import * >>> Q = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)) >>> Q.an_element() 2*m3[] + 2*m3[1] + 3*m3[2] 
 - dks()[source]¶
- The dual \(k\)-Schur basis of the \(k\)-bounded quotient of symmetric functions, indexed by \(k\)-bounded partitions. At \(t=1\) 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 - >>> from sage.all import * >>> SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(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 
 - dual_k_Schur()[source]¶
- The dual \(k\)-Schur basis of the \(k\)-bounded quotient of symmetric functions, indexed by \(k\)-bounded partitions. At \(t=1\) 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 - >>> from sage.all import * >>> SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(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 
 - kHLP()[source]¶
- The Hall-Littlewood P basis of the \(k\)-bounded quotient of symmetric functions, indexed by \(k\)-bounded partitions. At \(t=1\) this basis is equal to the \(k\)-bounded monomial basis and calculations will be faster using elements in the \(k\)-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 - >>> from sage.all import * >>> SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(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 
 - kHallLittlewoodP()[source]¶
- The Hall-Littlewood P basis of the \(k\)-bounded quotient of symmetric functions, indexed by \(k\)-bounded partitions. At \(t=1\) this basis is equal to the \(k\)-bounded monomial basis and calculations will be faster using elements in the \(k\)-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 - >>> from sage.all import * >>> SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(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 
 - km()[source]¶
- The monomial basis of the \(k\)-bounded quotient of symmetric functions, indexed by \(k\)-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 - >>> from sage.all import * >>> SymmetricFunctions(QQ).kBoundedQuotient(Integer(2),t=Integer(1)).kmonomial() 2-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 2-bounded monomial basis 
 - kmonomial()[source]¶
- The monomial basis of the \(k\)-bounded quotient of symmetric functions, indexed by \(k\)-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 - >>> from sage.all import * >>> SymmetricFunctions(QQ).kBoundedQuotient(Integer(2),t=Integer(1)).kmonomial() 2-Bounded Quotient of Symmetric Functions over Rational Field with t=1 in the 2-bounded monomial basis 
 - lift(la)[source]¶
- Give the lift map from the quotient ring of \(k\)-bounded symmetric functions to the symmetric functions. This method is here to make the TestSuite run properly. - INPUT: - la– a \(k\)-bounded partition
 - OUTPUT: - The monomial element or a Hall-Littlewood P element of the symmetric functions
- 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] - >>> from sage.all import * >>> Q = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)) >>> Q.lift([Integer(2),Integer(1)]) m[2, 1] >>> Q = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(3)) >>> Q.lift([Integer(2),Integer(1)]) HLP[2, 1] 
 - one()[source]¶
- Return the unit of the quotient ring of \(k\)-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[] - >>> from sage.all import * >>> Q = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)) >>> Q.one() m3[] 
 - realizations()[source]¶
- A list of realizations of the \(k\)-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 - >>> from sage.all import * >>> kQ = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(3)) >>> 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] >>> HLP = kQ.ambient().hall_littlewood().P() >>> all( rzn(HLP[Integer(3),Integer(2),Integer(1)]).lift() == HLP[Integer(3),Integer(2),Integer(1)] for rzn in kQ.realizations()) True >>> kQ = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),Integer(1)) >>> 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] >>> m = kQ.ambient().m() >>> all( rzn(m[Integer(3),Integer(2),Integer(1)]).lift() == m[Integer(3),Integer(2),Integer(1)] for rzn in kQ.realizations()) True 
 - retract(la)[source]¶
- Give the retract map from the symmetric functions to the quotient ring of \(k\)-bounded symmetric functions. This method is here to make the TestSuite run properly. - INPUT: - la– a partition
 - OUTPUT: the monomial element of the \(k\)-bounded quotient indexed by - la- EXAMPLES: - sage: Q = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1) sage: Q.retract([2,1]) m3[2, 1] - >>> from sage.all import * >>> Q = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)) >>> Q.retract([Integer(2),Integer(1)]) m3[2, 1] 
 
- class sage.combinat.sf.k_dual.KBoundedQuotientBases(base)[source]¶
- Bases: - Category_realization_of_parent- The category of bases for the \(k\)-bounded subspace of symmetric functions. - class ParentMethods[source]¶
- Bases: - object- ambient()[source]¶
- Return the symmetric functions. - EXAMPLES: - sage: km = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).km() sage: km.ambient() Symmetric Functions over Rational Field - >>> from sage.all import * >>> km = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).km() >>> km.ambient() Symmetric Functions over Rational Field 
 - antipode(element)[source]¶
- Return the antipode of - elementvia lifting to the symmetric functions and then retracting into the \(k\)-bounded quotient basis.- INPUT: - element– an element in a basis of the ring of symmetric functions
 - 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] - >>> from sage.all import * >>> dks3 = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).dual_k_Schur() >>> dks3[Integer(3),Integer(2)].antipode() -dks3[1, 1, 1, 1, 1] >>> km = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).km() >>> km[Integer(3),Integer(2)].antipode() m3[3, 2] >>> km.antipode(km[Integer(3),Integer(2)]) m3[3, 2] >>> m = SymmetricFunctions(QQ).m() >>> m[Integer(3),Integer(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] - >>> from sage.all import * >>> km = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(Integer(3)).km() >>> km[Integer(1),Integer(1),Integer(1),Integer(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] >>> kHP = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(Integer(3)).kHLP() >>> kHP[Integer(2),Integer(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] >>> dks = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(Integer(3)).dks() >>> dks[Integer(2),Integer(2)].antipode() dks3[2, 2] >>> dks[Integer(3),Integer(2)].antipode() -t^2*dks3[1, 1, 1, 1, 1] + (t^2-1)*dks3[2, 2, 1] + (-t^5+t)*dks3[3, 2] 
 - coproduct(element)[source]¶
- Return the coproduct of - elementvia lifting to the symmetric functions and then returning to the \(k\)-bounded quotient basis. This method is implemented for all \(t\) but is (weakly) conjectured to not be the correct operation for arbitrary \(t\) because the coproduct on dual-\(k\)-Schur functions does not have a positive expansion.- INPUT: - element– an element in a basis of the ring of symmetric functions
 - 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[] - >>> from sage.all import * >>> Q3 = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)) >>> km = Q3.km() >>> km[Integer(3),Integer(2)].coproduct() m3[] # m3[3, 2] + m3[2] # m3[3] + m3[3] # m3[2] + m3[3, 2] # m3[] >>> dks3 = Q3.dual_k_Schur() >>> dks3[Integer(2),Integer(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[] - >>> from sage.all import * >>> Q3t = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(Integer(3)) >>> km = Q3t.km() >>> km[Integer(3),Integer(2)].coproduct() m3[] # m3[3, 2] + m3[2] # m3[3] + m3[3] # m3[2] + m3[3, 2] # m3[] >>> dks = Q3t.dks() >>> dks[Integer(2),Integer(1),Integer(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[] >>> kHLP = Q3t.kHLP() >>> kHLP[Integer(2),Integer(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[] >>> km.coproduct(km[Integer(3),Integer(2)]) m3[] # m3[3, 2] + m3[2] # m3[3] + m3[3] # m3[2] + m3[3, 2] # m3[] 
 - counit(element)[source]¶
- Return the counit of - element.- The counit is the constant term of - element.- INPUT: - element– an element in a basis
 - 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 - >>> from sage.all import * >>> km = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(Integer(3)).km() >>> f = Integer(2)*km[Integer(2),Integer(1)] - Integer(3)*km([]) >>> f.counit() -3 >>> km.counit(f) -3 
 - degree_on_basis(b)[source]¶
- Return the degree of the basis element indexed by - b.- INPUT: - b– a partition
 - EXAMPLES: - sage: F = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).affineSchur() sage: F.degree_on_basis(Partition([3,2])) 5 - >>> from sage.all import * >>> F = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).affineSchur() >>> F.degree_on_basis(Partition([Integer(3),Integer(2)])) 5 
 - indices()[source]¶
- The set of \(k\)-bounded partitions of all nonnegative integers. - EXAMPLES: - sage: km = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).km() sage: km.indices() 3-Bounded Partitions - >>> from sage.all import * >>> km = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).km() >>> km.indices() 3-Bounded Partitions 
 - lift(la)[source]¶
- Implement the lift map from the basis - selfto the monomial basis of symmetric functions.- INPUT: - la– a \(k\)-bounded partition
 - OUTPUT: a symmetric function in the monomial basis - 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] - >>> from sage.all import * >>> F = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).affineSchur() >>> F.lift([Integer(3),Integer(1)]) m[1, 1, 1, 1] + m[2, 1, 1] + m[2, 2] + m[3, 1] >>> Sym = SymmetricFunctions(QQ['t'].fraction_field()) >>> dks = Sym.kBoundedQuotient(Integer(3)).dual_k_Schur() >>> dks.lift([Integer(3),Integer(1)]) t^5*HLP[1, 1, 1, 1] + t^2*HLP[2, 1, 1] + t*HLP[2, 2] + HLP[3, 1] >>> dks = Sym.kBoundedQuotient(Integer(3),t=Integer(1)).dual_k_Schur() >>> dks.lift([Integer(3),Integer(1)]) m[1, 1, 1, 1] + m[2, 1, 1] + m[2, 2] + m[3, 1] 
 - one_basis()[source]¶
- Return the basis element indexing - 1.- EXAMPLES: - sage: F = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1).affineSchur() sage: F.one() # indirect doctest F3[] - >>> from sage.all import * >>> F = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).affineSchur() >>> F.one() # indirect doctest F3[] 
 - product(x, y)[source]¶
- Return the product of two elements - xand- y.- INPUT: - x,- y– elements of the \(k\)-bounded quotient of symmetric functions
 - OUTPUT: a \(k\)-bounded symmetric function in the dual \(k\)-Schur function basis - 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) - >>> from sage.all import * >>> dks3 = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).dual_k_Schur() >>> dks3.product(dks3[Integer(2),Integer(1)],dks3[Integer(1),Integer(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] >>> dks3.product(dks3[Integer(2),Integer(1)]+dks3[Integer(1)], dks3[Integer(1),Integer(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] >>> dks3.product(dks3[Integer(2),Integer(1)]+dks3[Integer(1)], dks3([])) dks3[1] + dks3[2, 1] >>> dks3.product(dks3([]), dks3([])) dks3[] >>> dks3.product(dks3([]), dks3([Integer(4),Integer(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[] - >>> from sage.all import * >>> dks3 = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(3)).dual_k_Schur() >>> dks3.product(dks3[Integer(2),Integer(1)],dks3[Integer(1),Integer(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] >>> dks3.product(dks3[Integer(2),Integer(1)]+dks3[Integer(1)], dks3[Integer(1),Integer(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] >>> dks3.product(dks3[Integer(2),Integer(1)]+dks3[Integer(1)], dks3([])) dks3[1] + dks3[2, 1] >>> 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) - >>> from sage.all import * >>> F = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).affineSchur() >>> F.product(F[Integer(2),Integer(1)],F[Integer(1),Integer(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] >>> F.product(F[Integer(2),Integer(1)]+F[Integer(1)], F[Integer(1),Integer(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] >>> F.product(F[Integer(2),Integer(1)]+F[Integer(1)], F([])) F3[1] + F3[2, 1] >>> F.product(F([]), F([])) F3[] >>> F.product(F([]), F([Integer(4),Integer(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[] - >>> from sage.all import * >>> F = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(3)).affineSchur() >>> F.product(F[Integer(2),Integer(1)],F[Integer(1),Integer(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] >>> F.product(F[Integer(2),Integer(1)],F[Integer(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] >>> F.product(F[Integer(2),Integer(1)]+F[Integer(1)], F[Integer(1),Integer(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] >>> F.product(F[Integer(2),Integer(1)]+F[Integer(1)], F([])) F3[1] + F3[2, 1] >>> 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] - >>> from sage.all import * >>> km = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).km() >>> km.product(km[Integer(2),Integer(1)],km[Integer(2),Integer(1)]) 4*m3[2, 2, 1, 1] + 6*m3[2, 2, 2] + 2*m3[3, 2, 1] + 2*m3[3, 3] >>> Q3 = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(Integer(3)) >>> km = Q3.km() >>> km.product(km[Integer(2),Integer(1)],km[Integer(2),Integer(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] >>> dks = Q3.dual_k_Schur() >>> km.product(dks[Integer(2),Integer(1)],dks[Integer(1),Integer(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] 
 - retract(la)[source]¶
- Give the retract map from the symmetric functions to the quotient ring of \(k\)-bounded symmetric functions. This method is here to make the TestSuite run properly. - INPUT: - la– a partition
 - OUTPUT: the monomial element of the \(k\)-bounded quotient indexed by - la- EXAMPLES: - sage: Q = SymmetricFunctions(QQ).kBoundedQuotient(3,t=1) sage: Q.retract([2,1]) m3[2, 1] - >>> from sage.all import * >>> Q = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)) >>> Q.retract([Integer(2),Integer(1)]) m3[2, 1] 
 
 - super_categories()[source]¶
- 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 quotients of algebras over Univariate Polynomial Ring in t over Rational Field and Category of quotients of graded modules with basis over Univariate Polynomial Ring in t over Rational Field] - >>> from sage.all import * >>> Sym = SymmetricFunctions(QQ['t']) >>> from sage.combinat.sf.k_dual import KBoundedQuotientBases >>> Q = Sym.kBoundedQuotient(Integer(3),t=Integer(1)) >>> KQB = KBoundedQuotientBases(Q) >>> 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 quotients of algebras over Univariate Polynomial Ring in t over Rational Field and Category of quotients of graded modules with basis over Univariate Polynomial Ring in t over Rational Field] 
 
- class sage.combinat.sf.k_dual.KBoundedQuotientBasis(kBoundedRing, prefix)[source]¶
- Bases: - CombinatorialFreeModule- Abstract base class for the bases of the \(k\)-bounded quotient. 
- class sage.combinat.sf.k_dual.kMonomial(kBoundedRing)[source]¶
- Bases: - KBoundedQuotientBasis- The basis of monomial symmetric functions indexed by partitions with first part less than or equal to \(k\). - lift(la)[source]¶
- Implement the lift function on the monomial basis. Given a \(k\)-bounded partition - la, the lift will return the corresponding monomial basis element.- INPUT: - la– a \(k\)-bounded partition
 - OUTPUT: a monomial symmetric function - 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) - >>> from sage.all import * >>> km = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).km() >>> km.lift(Partition([Integer(3),Integer(1)])) m[3, 1] >>> km.lift([]) m[] >>> km.lift(Partition([Integer(4),Integer(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) 
 - retract(la)[source]¶
- Implement the retract function on the monomial basis. Given a partition - la, the retract will return the corresponding \(k\)-bounded monomial basis element if- lais \(k\)-bounded; zero otherwise.- INPUT: - la– a partition
 - OUTPUT: a \(k\)-bounded monomial symmetric function in the \(k\)-quotient of symmetric 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 - >>> from sage.all import * >>> km = SymmetricFunctions(QQ).kBoundedQuotient(Integer(3),t=Integer(1)).km() >>> km.retract(Partition([Integer(3),Integer(1)])) m3[3, 1] >>> km.retract(Partition([Integer(4),Integer(1)])) 0 >>> km.retract([]) m3[] >>> m = SymmetricFunctions(QQ).m() >>> km(m[Integer(3), Integer(1)]) m3[3, 1] >>> km(m[Integer(4), Integer(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] - >>> from sage.all import * >>> km = SymmetricFunctions(FractionField(QQ['t'])).kBoundedQuotient(Integer(3)).km() >>> km.retract(Partition([Integer(3),Integer(1)])) m3[3, 1] >>> km.retract(Partition([Integer(4),Integer(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] >>> m = SymmetricFunctions(FractionField(QQ['t'])).m() >>> km(m[Integer(3), Integer(1)]) m3[3, 1] >>> km(m[Integer(4), Integer(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] 
 
- class sage.combinat.sf.k_dual.kbounded_HallLittlewoodP(kBoundedRing)[source]¶
- Bases: - KBoundedQuotientBasis- The basis of P Hall-Littlewood symmetric functions indexed by partitions with first part less than or equal to \(k\). - lift(la)[source]¶
- Implement the lift function on the Hall-Littlewood P basis. Given a \(k\)-bounded partition - la, the lift will return the corresponding Hall-Littlewood P basis element.- INPUT: - la– a \(k\)-bounded partition
 - OUTPUT: a Hall-Littlewood symmetric function - 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) - >>> from sage.all import * >>> kHLP = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(3)).kHallLittlewoodP() >>> kHLP.lift(Partition([Integer(3),Integer(1)])) HLP[3, 1] >>> kHLP.lift([]) HLP[] >>> kHLP.lift(Partition([Integer(4),Integer(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) 
 - retract(la)[source]¶
- Implement the retract function on the Hall-Littlewood P basis. Given a partition - la, the retract will return the corresponding \(k\)-bounded Hall-Littlewood P basis element if- lais \(k\)-bounded; zero otherwise.- INPUT: - la– a partition
 - OUTPUT: a \(k\)-bounded Hall-Littlewood P symmetric function in the \(k\)-quotient of 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] - >>> from sage.all import * >>> kHLP = SymmetricFunctions(QQ['t'].fraction_field()).kBoundedQuotient(Integer(3)).kHallLittlewoodP() >>> kHLP.retract(Partition([Integer(3),Integer(1)])) HLP3[3, 1] >>> kHLP.retract(Partition([Integer(4),Integer(1)])) 0 >>> kHLP.retract([]) HLP3[] >>> m = kHLP.realization_of().ambient().m() >>> kHLP(m[Integer(2),Integer(2)]) (t^4-t^3-t+1)*HLP3[1, 1, 1, 1] + (t-1)*HLP3[2, 1, 1] + HLP3[2, 2]