Hall-Littlewood Polynomials¶
Notation used in the definitions follows mainly [Mac1995].
- class sage.combinat.sf.hall_littlewood.HallLittlewood(Sym, t)[source]¶
- Bases: - UniqueRepresentation- The family of Hall-Littlewood symmetric function bases. - The Hall-Littlewood symmetric functions are a family of symmetric functions that depend on a parameter \(t\). - INPUT: - By default the parameter for these functions is \(t\), and whatever the parameter is, it must be in the base ring. - EXAMPLES: - sage: SymmetricFunctions(QQ).hall_littlewood(1) Hall-Littlewood polynomials with t=1 over Rational Field sage: SymmetricFunctions(QQ['t'].fraction_field()).hall_littlewood() Hall-Littlewood polynomials over Fraction Field of Univariate Polynomial Ring in t over Rational Field - >>> from sage.all import * >>> SymmetricFunctions(QQ).hall_littlewood(Integer(1)) Hall-Littlewood polynomials with t=1 over Rational Field >>> SymmetricFunctions(QQ['t'].fraction_field()).hall_littlewood() Hall-Littlewood polynomials over Fraction Field of Univariate Polynomial Ring in t over Rational Field - P()[source]¶
- Return the algebra of symmetric functions in the Hall-Littlewood \(P\) basis. This is the same as the \(HL\) basis in John Stembridge’s SF examples file. - INPUT: - self– a class of Hall-Littlewood symmetric function bases
 - OUTPUT: the class of the Hall-Littlewood \(P\) basis - EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLP = Sym.hall_littlewood().P(); HLP Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood P basis sage: SP = Sym.hall_littlewood(t=-1).P(); SP Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood P with t=-1 basis sage: s = Sym.schur() sage: s(HLP([2,1])) (-t^2-t)*s[1, 1, 1] + s[2, 1] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLP = Sym.hall_littlewood().P(); HLP Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood P basis >>> SP = Sym.hall_littlewood(t=-Integer(1)).P(); SP Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood P with t=-1 basis >>> s = Sym.schur() >>> s(HLP([Integer(2),Integer(1)])) (-t^2-t)*s[1, 1, 1] + s[2, 1] - The Hall-Littlewood polynomials in the \(P\) basis at \(t = 0\) are the Schur functions: - sage: Sym = SymmetricFunctions(QQ) sage: HLP = Sym.hall_littlewood(t=0).P() sage: s = Sym.schur() sage: s(HLP([2,1])) == s([2,1]) True - >>> from sage.all import * >>> Sym = SymmetricFunctions(QQ) >>> HLP = Sym.hall_littlewood(t=Integer(0)).P() >>> s = Sym.schur() >>> s(HLP([Integer(2),Integer(1)])) == s([Integer(2),Integer(1)]) True - The Hall-Littlewood polynomials in the \(P\) basis at \(t = 1\) are the monomial symmetric functions: - sage: Sym = SymmetricFunctions(QQ) sage: HLP = Sym.hall_littlewood(t=1).P() sage: m = Sym.monomial() sage: m(HLP([2,2,1])) == m([2,2,1]) True - >>> from sage.all import * >>> Sym = SymmetricFunctions(QQ) >>> HLP = Sym.hall_littlewood(t=Integer(1)).P() >>> m = Sym.monomial() >>> m(HLP([Integer(2),Integer(2),Integer(1)])) == m([Integer(2),Integer(2),Integer(1)]) True - We end with some examples of coercions between: - Hall-Littlewood \(P\) basis. 
- Hall-Littlewood polynomials in the \(Q\) basis 
- Hall-Littlewood polynomials in the \(Q^\prime\) basis (via the Schurs) 
- Classical symmetric functions 
 - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLP = Sym.hall_littlewood().P() sage: HLQ = Sym.hall_littlewood().Q() sage: HLQp = Sym.hall_littlewood().Qp() sage: s = Sym.schur() sage: p = Sym.power() sage: HLP(HLQ([2])) # indirect doctest (-t+1)*HLP[2] sage: HLP(HLQp([2])) t*HLP[1, 1] + HLP[2] sage: HLP(s([2])) t*HLP[1, 1] + HLP[2] sage: HLP(p([2])) (t-1)*HLP[1, 1] + HLP[2] sage: s = HLQp.symmetric_function_ring().s() sage: HLQp.transition_matrix(s,3) [ 1 0 0] [ t 1 0] [ t^3 t^2 + t 1] sage: s.transition_matrix(HLP,3) [ 1 t t^3] [ 0 1 t^2 + t] [ 0 0 1] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLP = Sym.hall_littlewood().P() >>> HLQ = Sym.hall_littlewood().Q() >>> HLQp = Sym.hall_littlewood().Qp() >>> s = Sym.schur() >>> p = Sym.power() >>> HLP(HLQ([Integer(2)])) # indirect doctest (-t+1)*HLP[2] >>> HLP(HLQp([Integer(2)])) t*HLP[1, 1] + HLP[2] >>> HLP(s([Integer(2)])) t*HLP[1, 1] + HLP[2] >>> HLP(p([Integer(2)])) (t-1)*HLP[1, 1] + HLP[2] >>> s = HLQp.symmetric_function_ring().s() >>> HLQp.transition_matrix(s,Integer(3)) [ 1 0 0] [ t 1 0] [ t^3 t^2 + t 1] >>> s.transition_matrix(HLP,Integer(3)) [ 1 t t^3] [ 0 1 t^2 + t] [ 0 0 1] - The method - sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element.hl_creation_operator()is a creation operator for the \(Q\) basis:- sage: HLQp[1].hl_creation_operator([3]).hl_creation_operator([3]) HLQp[3, 3, 1] - >>> from sage.all import * >>> HLQp[Integer(1)].hl_creation_operator([Integer(3)]).hl_creation_operator([Integer(3)]) HLQp[3, 3, 1] - Transitions between bases with the parameter \(t\) specialized: - sage: Sym = SymmetricFunctions(FractionField(QQ['y','z'])) sage: (y,z) = Sym.base_ring().gens() sage: HLy = Sym.hall_littlewood(t=y) sage: HLz = Sym.hall_littlewood(t=z) sage: Qpy = HLy.Qp() sage: Qpz = HLz.Qp() sage: s = Sym.schur() sage: s( Qpy[3,1] + z*Qpy[2,2] ) z*s[2, 2] + (y*z+1)*s[3, 1] + (y^2*z+y)*s[4] sage: s( Qpy[3,1] + y*Qpz[2,2] ) y*s[2, 2] + (y*z+1)*s[3, 1] + (y*z^2+y)*s[4] sage: s( Qpy[3,1] + y*Qpy[2,2] ) y*s[2, 2] + (y^2+1)*s[3, 1] + (y^3+y)*s[4] sage: Qy = HLy.Q() sage: Qz = HLz.Q() sage: Py = HLy.P() sage: Pz = HLz.P() sage: Pz(Qpy[2,1]) (y*z^3+z^2+z)*HLP[1, 1, 1] + (y*z+1)*HLP[2, 1] + y*HLP[3] sage: Pz(Qz[2,1]) (z^2-2*z+1)*HLP[2, 1] sage: Qz(Py[2]) -((y-z)/(z^3-z^2-z+1))*HLQ[1, 1] + (1/(-z+1))*HLQ[2] sage: Qy(Pz[2]) ((y-z)/(y^3-y^2-y+1))*HLQ[1, 1] + (1/(-y+1))*HLQ[2] sage: Qy.hall_littlewood_family() == HLy True sage: Qy.hall_littlewood_family() == HLz False sage: Qz.symmetric_function_ring() == Qy.symmetric_function_ring() True sage: Sym = SymmetricFunctions(FractionField(QQ['q'])) sage: q = Sym.base_ring().gen() sage: HL = Sym.hall_littlewood(t=q) sage: HLQp = HL.Qp() sage: HLQ = HL.Q() sage: HLP = HL.P() sage: s = Sym.schur() sage: s(HLQp[3,2].plethysm((1-q)*s[1]))/(1-q)^2 (-q^5-q^4)*s[1, 1, 1, 1, 1] + (q^3+q^2)*s[2, 1, 1, 1] - q*s[2, 2, 1] - q*s[3, 1, 1] + s[3, 2] sage: s(HLP[3,2]) (-q^5-q^4)*s[1, 1, 1, 1, 1] + (q^3+q^2)*s[2, 1, 1, 1] - q*s[2, 2, 1] - q*s[3, 1, 1] + s[3, 2] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['y','z'])) >>> (y,z) = Sym.base_ring().gens() >>> HLy = Sym.hall_littlewood(t=y) >>> HLz = Sym.hall_littlewood(t=z) >>> Qpy = HLy.Qp() >>> Qpz = HLz.Qp() >>> s = Sym.schur() >>> s( Qpy[Integer(3),Integer(1)] + z*Qpy[Integer(2),Integer(2)] ) z*s[2, 2] + (y*z+1)*s[3, 1] + (y^2*z+y)*s[4] >>> s( Qpy[Integer(3),Integer(1)] + y*Qpz[Integer(2),Integer(2)] ) y*s[2, 2] + (y*z+1)*s[3, 1] + (y*z^2+y)*s[4] >>> s( Qpy[Integer(3),Integer(1)] + y*Qpy[Integer(2),Integer(2)] ) y*s[2, 2] + (y^2+1)*s[3, 1] + (y^3+y)*s[4] >>> Qy = HLy.Q() >>> Qz = HLz.Q() >>> Py = HLy.P() >>> Pz = HLz.P() >>> Pz(Qpy[Integer(2),Integer(1)]) (y*z^3+z^2+z)*HLP[1, 1, 1] + (y*z+1)*HLP[2, 1] + y*HLP[3] >>> Pz(Qz[Integer(2),Integer(1)]) (z^2-2*z+1)*HLP[2, 1] >>> Qz(Py[Integer(2)]) -((y-z)/(z^3-z^2-z+1))*HLQ[1, 1] + (1/(-z+1))*HLQ[2] >>> Qy(Pz[Integer(2)]) ((y-z)/(y^3-y^2-y+1))*HLQ[1, 1] + (1/(-y+1))*HLQ[2] >>> Qy.hall_littlewood_family() == HLy True >>> Qy.hall_littlewood_family() == HLz False >>> Qz.symmetric_function_ring() == Qy.symmetric_function_ring() True >>> Sym = SymmetricFunctions(FractionField(QQ['q'])) >>> q = Sym.base_ring().gen() >>> HL = Sym.hall_littlewood(t=q) >>> HLQp = HL.Qp() >>> HLQ = HL.Q() >>> HLP = HL.P() >>> s = Sym.schur() >>> s(HLQp[Integer(3),Integer(2)].plethysm((Integer(1)-q)*s[Integer(1)]))/(Integer(1)-q)**Integer(2) (-q^5-q^4)*s[1, 1, 1, 1, 1] + (q^3+q^2)*s[2, 1, 1, 1] - q*s[2, 2, 1] - q*s[3, 1, 1] + s[3, 2] >>> s(HLP[Integer(3),Integer(2)]) (-q^5-q^4)*s[1, 1, 1, 1, 1] + (q^3+q^2)*s[2, 1, 1, 1] - q*s[2, 2, 1] - q*s[3, 1, 1] + s[3, 2] - The \(P\) and \(Q\)-Schur at \(t=-1\) indexed by strict partitions are a basis for the space algebraically generated by the odd power sum symmetric functions: - sage: Sym = SymmetricFunctions(FractionField(QQ['q'])) sage: SP = Sym.hall_littlewood(t=-1).P() sage: SQ = Sym.hall_littlewood(t=-1).Q() sage: p = Sym.power() sage: SP(SQ[3,2,1]) 8*HLP[3, 2, 1] sage: SP(SQ[2,2,1]) 0 sage: p(SP[3,2,1]) 1/45*p[1, 1, 1, 1, 1, 1] - 1/9*p[3, 1, 1, 1] - 1/9*p[3, 3] + 1/5*p[5, 1] sage: SP(p[3,3]) -4*HLP[3, 2, 1] + 2*HLP[4, 2] - 2*HLP[5, 1] + HLP[6] sage: SQ( SQ[1]*SQ[3] -2*(1-q)*SQ[4] ) HLQ[3, 1] + 2*q*HLQ[4] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['q'])) >>> SP = Sym.hall_littlewood(t=-Integer(1)).P() >>> SQ = Sym.hall_littlewood(t=-Integer(1)).Q() >>> p = Sym.power() >>> SP(SQ[Integer(3),Integer(2),Integer(1)]) 8*HLP[3, 2, 1] >>> SP(SQ[Integer(2),Integer(2),Integer(1)]) 0 >>> p(SP[Integer(3),Integer(2),Integer(1)]) 1/45*p[1, 1, 1, 1, 1, 1] - 1/9*p[3, 1, 1, 1] - 1/9*p[3, 3] + 1/5*p[5, 1] >>> SP(p[Integer(3),Integer(3)]) -4*HLP[3, 2, 1] + 2*HLP[4, 2] - 2*HLP[5, 1] + HLP[6] >>> SQ( SQ[Integer(1)]*SQ[Integer(3)] -Integer(2)*(Integer(1)-q)*SQ[Integer(4)] ) HLQ[3, 1] + 2*q*HLQ[4] 
 - Q()[source]¶
- Return the algebra of symmetric functions in Hall-Littlewood \(Q\) basis. This is the same as the \(Q\) basis in John Stembridge’s SF examples file. - More extensive examples can be found in the documentation for the Hall-Littlewood \(P\) basis. - INPUT: - self– a class of Hall-Littlewood symmetric function bases
 - OUTPUT: the class of the Hall-Littlewood \(Q\) basis - EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLQ = Sym.hall_littlewood().Q(); HLQ Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood Q basis sage: SQ = SymmetricFunctions(QQ).hall_littlewood(t=-1).Q(); SQ Symmetric Functions over Rational Field in the Hall-Littlewood Q with t=-1 basis - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLQ = Sym.hall_littlewood().Q(); HLQ Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood Q basis >>> SQ = SymmetricFunctions(QQ).hall_littlewood(t=-Integer(1)).Q(); SQ Symmetric Functions over Rational Field in the Hall-Littlewood Q with t=-1 basis 
 - Qp()[source]¶
- Return the algebra of symmetric functions in Hall-Littlewood \(Q^\prime\) (Qp) basis. This is dual to the Hall-Littlewood \(P\) basis with respect to the standard scalar product. - More extensive examples can be found in the documentation for the Hall-Littlewood P basis. - INPUT: - self– a class of Hall-Littlewood symmetric function bases
 - OUTPUT: the class of the Hall-Littlewood \(Qp\)-basis - EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLQp = Sym.hall_littlewood().Qp(); HLQp Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood Qp basis - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLQp = Sym.hall_littlewood().Qp(); HLQp Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood Qp basis 
 - base_ring()[source]¶
- Return the base ring of the symmetric functions where the Hall-Littlewood symmetric functions live. - INPUT: - self– a class of Hall-Littlewood symmetric function bases
 - EXAMPLES: - sage: HL = SymmetricFunctions(QQ['t'].fraction_field()).hall_littlewood(t=1) sage: HL.base_ring() Fraction Field of Univariate Polynomial Ring in t over Rational Field - >>> from sage.all import * >>> HL = SymmetricFunctions(QQ['t'].fraction_field()).hall_littlewood(t=Integer(1)) >>> HL.base_ring() Fraction Field of Univariate Polynomial Ring in t over Rational Field 
 - symmetric_function_ring()[source]¶
- Return the ring of symmetric functions associated to the class of Hall-Littlewood symmetric functions. - INPUT: - self– a class of Hall-Littlewood symmetric function bases
 - EXAMPLES: - sage: HL = SymmetricFunctions(FractionField(QQ['t'])).hall_littlewood() sage: HL.symmetric_function_ring() Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field - >>> from sage.all import * >>> HL = SymmetricFunctions(FractionField(QQ['t'])).hall_littlewood() >>> HL.symmetric_function_ring() Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field 
 
- class sage.combinat.sf.hall_littlewood.HallLittlewood_generic(hall_littlewood)[source]¶
- Bases: - SymmetricFunctionAlgebra_generic- A class with methods for working with Hall-Littlewood symmetric functions which are common to all bases. - INPUT: - self– a Hall-Littlewood symmetric function basis
- hall_littlewood– a class of Hall-Littlewood bases
 - class Element[source]¶
- Bases: - SymmetricFunctionAlgebra_generic_Element- Methods for elements of a Hall-Littlewood basis that are common to all bases. - expand(n, alphabet='x')[source]¶
- Expand the symmetric function as a symmetric polynomial in - nvariables.- INPUT: - self– an element of a Hall-Littlewood basis
- n– positive integer
- alphabet– string representing a variable name (default:- 'x')
 - OUTPUT: a symmetric polynomial of - selfin- nvariables- EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLP = Sym.hall_littlewood().P() sage: HLQ = Sym.hall_littlewood().Q() sage: HLQp = Sym.hall_littlewood().Qp() sage: HLP([2]).expand(2) x0^2 + (-t + 1)*x0*x1 + x1^2 sage: HLQ([2]).expand(2) (-t + 1)*x0^2 + (t^2 - 2*t + 1)*x0*x1 + (-t + 1)*x1^2 sage: HLQp([2]).expand(2) x0^2 + x0*x1 + x1^2 sage: HLQp([2]).expand(2, 'y') y0^2 + y0*y1 + y1^2 sage: HLQp([2]).expand(1) x^2 - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLP = Sym.hall_littlewood().P() >>> HLQ = Sym.hall_littlewood().Q() >>> HLQp = Sym.hall_littlewood().Qp() >>> HLP([Integer(2)]).expand(Integer(2)) x0^2 + (-t + 1)*x0*x1 + x1^2 >>> HLQ([Integer(2)]).expand(Integer(2)) (-t + 1)*x0^2 + (t^2 - 2*t + 1)*x0*x1 + (-t + 1)*x1^2 >>> HLQp([Integer(2)]).expand(Integer(2)) x0^2 + x0*x1 + x1^2 >>> HLQp([Integer(2)]).expand(Integer(2), 'y') y0^2 + y0*y1 + y1^2 >>> HLQp([Integer(2)]).expand(Integer(1)) x^2 
 - scalar(x, zee=None)[source]¶
- Return standard scalar product between - selfand- x.- This is the default implementation that converts both - selfand- xinto Schur functions and performs the scalar product that basis.- The Hall-Littlewood \(P\) basis is dual to the \(Qp\) basis with respect to this scalar product. - INPUT: - self– an element of a Hall-Littlewood basis
- x– another symmetric element of the symmetric functions
 - OUTPUT: the scalar product between - selfand- x- EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLP = Sym.hall_littlewood().P() sage: HLQ = Sym.hall_littlewood().Q() sage: HLQp = Sym.hall_littlewood().Qp() sage: HLP([2]).scalar(HLQp([2])) 1 sage: HLP([2]).scalar(HLQp([1,1])) 0 sage: HLP([2]).scalar(HLQ([2]), lambda mu: mu.centralizer_size(t = HLP.t)) 1 sage: HLP([2]).scalar(HLQ([1,1]), lambda mu: mu.centralizer_size(t = HLP.t)) 0 - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLP = Sym.hall_littlewood().P() >>> HLQ = Sym.hall_littlewood().Q() >>> HLQp = Sym.hall_littlewood().Qp() >>> HLP([Integer(2)]).scalar(HLQp([Integer(2)])) 1 >>> HLP([Integer(2)]).scalar(HLQp([Integer(1),Integer(1)])) 0 >>> HLP([Integer(2)]).scalar(HLQ([Integer(2)]), lambda mu: mu.centralizer_size(t = HLP.t)) 1 >>> HLP([Integer(2)]).scalar(HLQ([Integer(1),Integer(1)]), lambda mu: mu.centralizer_size(t = HLP.t)) 0 
 - scalar_hl(x, t=None)[source]¶
- Return the Hall-Littlewood (with parameter - t) scalar product of- selfand- x.- The Hall-Littlewood scalar product is defined in Macdonald’s book [Mac1995]. The power sum basis is orthogonal and \(\langle p_\mu, p_\mu \rangle = z_\mu \prod_{i} 1/(1-t^{\mu_i})\) - The Hall-Littlewood \(P\) basis is dual to the \(Q\) basis with respect to this scalar product. - INPUT: - self– an element of a Hall-Littlewood basis
- x– another symmetric element of the symmetric functions
- t– an optional parameter, if this parameter is not specified then the value of the- tfrom the basis is used in the calculation
 - OUTPUT: the Hall-Littlewood scalar product between - selfand- x- EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLP = Sym.hall_littlewood().P() sage: HLQ = Sym.hall_littlewood().Q() sage: HLP([2]).scalar_hl(HLQ([2])) 1 sage: HLP([2]).scalar_hl(HLQ([1,1])) 0 sage: HLQ([2]).scalar_hl(HLQ([2])) -t + 1 sage: HLQ([2]).scalar_hl(HLQ([1,1])) 0 sage: HLP([2]).scalar_hl(HLP([2])) -1/(t - 1) - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLP = Sym.hall_littlewood().P() >>> HLQ = Sym.hall_littlewood().Q() >>> HLP([Integer(2)]).scalar_hl(HLQ([Integer(2)])) 1 >>> HLP([Integer(2)]).scalar_hl(HLQ([Integer(1),Integer(1)])) 0 >>> HLQ([Integer(2)]).scalar_hl(HLQ([Integer(2)])) -t + 1 >>> HLQ([Integer(2)]).scalar_hl(HLQ([Integer(1),Integer(1)])) 0 >>> HLP([Integer(2)]).scalar_hl(HLP([Integer(2)])) -1/(t - 1) 
 
 - construction()[source]¶
- Return a pair - (F, R), where- Fis a- SymmetricFunctionsFunctorand \(R\) is a ring, such that- F(R)returns- self.- EXAMPLES: - sage: P = SymmetricFunctions(QQ).hall_littlewood(t=2).P() sage: P.construction() (SymmetricFunctionsFunctor[Hall-Littlewood P with t=2], Rational Field) - >>> from sage.all import * >>> P = SymmetricFunctions(QQ).hall_littlewood(t=Integer(2)).P() >>> P.construction() (SymmetricFunctionsFunctor[Hall-Littlewood P with t=2], Rational Field) 
 - hall_littlewood_family()[source]¶
- The family of Hall-Littlewood bases associated to - self.- INPUT: - self– a Hall-Littlewood symmetric function basis
 - OUTPUT: the class of Hall-Littlewood bases - EXAMPLES: - sage: HLP = SymmetricFunctions(FractionField(QQ['t'])).hall_littlewood(1).P() sage: HLP.hall_littlewood_family() Hall-Littlewood polynomials with t=1 over Fraction Field of Univariate Polynomial Ring in t over Rational Field - >>> from sage.all import * >>> HLP = SymmetricFunctions(FractionField(QQ['t'])).hall_littlewood(Integer(1)).P() >>> HLP.hall_littlewood_family() Hall-Littlewood polynomials with t=1 over Fraction Field of Univariate Polynomial Ring in t over Rational Field 
 - product(left, right)[source]¶
- Multiply an element of the Hall-Littlewood symmetric function basis - selfand another symmetric function- Convert to the Schur basis, do the multiplication there, and convert back to - selfbasis.- INPUT: - self– a Hall-Littlewood symmetric function basis
- left– an element of the basis- self
- right– another symmetric function
 - OUTPUT: the product of - leftand- rightexpanded in the basis- self- EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLP = Sym.hall_littlewood().P() sage: HLP([2])^2 # indirect doctest (t+1)*HLP[2, 2] + (-t+1)*HLP[3, 1] + HLP[4] sage: HLQ = Sym.hall_littlewood().Q() sage: HLQ([2])^2 # indirect doctest HLQ[2, 2] + (-t+1)*HLQ[3, 1] + (-t+1)*HLQ[4] sage: HLQp = Sym.hall_littlewood().Qp() sage: HLQp([2])^2 # indirect doctest HLQp[2, 2] + (-t+1)*HLQp[3, 1] + (-t+1)*HLQp[4] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLP = Sym.hall_littlewood().P() >>> HLP([Integer(2)])**Integer(2) # indirect doctest (t+1)*HLP[2, 2] + (-t+1)*HLP[3, 1] + HLP[4] >>> HLQ = Sym.hall_littlewood().Q() >>> HLQ([Integer(2)])**Integer(2) # indirect doctest HLQ[2, 2] + (-t+1)*HLQ[3, 1] + (-t+1)*HLQ[4] >>> HLQp = Sym.hall_littlewood().Qp() >>> HLQp([Integer(2)])**Integer(2) # indirect doctest HLQp[2, 2] + (-t+1)*HLQp[3, 1] + (-t+1)*HLQp[4] 
 - transition_matrix(basis, n)[source]¶
- Return the transitions matrix between - selfand- basisfor the homogeneous component of degree- n.- INPUT: - self– a Hall-Littlewood symmetric function basis
- basis– another symmetric function basis
- n– nonnegative integer representing the degree
 - OUTPUT: - Returns a \(r \times r\) matrix of elements of the base ring of - selfwhere \(r\) is the number of partitions of- n. The entry corresponding to row \(\mu\), column \(\nu\) is the coefficient of- basis\((\nu)\) in- self\((\mu)\)
 - EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLP = Sym.hall_littlewood().P() sage: s = Sym.schur() sage: HLP.transition_matrix(s, 4) [ 1 -t 0 t^2 -t^3] [ 0 1 -t -t t^3 + t^2] [ 0 0 1 -t t^3] [ 0 0 0 1 -t^3 - t^2 - t] [ 0 0 0 0 1] sage: HLQ = Sym.hall_littlewood().Q() sage: HLQ.transition_matrix(s,3) [ -t + 1 t^2 - t -t^3 + t^2] [ 0 t^2 - 2*t + 1 -t^4 + t^3 + t^2 - t] [ 0 0 -t^6 + t^5 + t^4 - t^2 - t + 1] sage: HLQp = Sym.hall_littlewood().Qp() sage: HLQp.transition_matrix(s,3) [ 1 0 0] [ t 1 0] [ t^3 t^2 + t 1] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLP = Sym.hall_littlewood().P() >>> s = Sym.schur() >>> HLP.transition_matrix(s, Integer(4)) [ 1 -t 0 t^2 -t^3] [ 0 1 -t -t t^3 + t^2] [ 0 0 1 -t t^3] [ 0 0 0 1 -t^3 - t^2 - t] [ 0 0 0 0 1] >>> HLQ = Sym.hall_littlewood().Q() >>> HLQ.transition_matrix(s,Integer(3)) [ -t + 1 t^2 - t -t^3 + t^2] [ 0 t^2 - 2*t + 1 -t^4 + t^3 + t^2 - t] [ 0 0 -t^6 + t^5 + t^4 - t^2 - t + 1] >>> HLQp = Sym.hall_littlewood().Qp() >>> HLQp.transition_matrix(s,Integer(3)) [ 1 0 0] [ t 1 0] [ t^3 t^2 + t 1] 
 
- class sage.combinat.sf.hall_littlewood.HallLittlewood_p(hall_littlewood)[source]¶
- Bases: - HallLittlewood_generic- A class representing the Hall-Littlewood \(P\) basis of symmetric functions 
- class sage.combinat.sf.hall_littlewood.HallLittlewood_q(hall_littlewood)[source]¶
- Bases: - HallLittlewood_generic- The \(Q\) basis is defined as a normalization of the \(P\) basis. - INPUT: - self– an instance of the Hall-Littlewood \(P\) basis
- hall_littlewood– a class for the family of Hall-Littlewood bases
 - EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: Q = Sym.hall_littlewood().Q() sage: TestSuite(Q).run(skip=['_test_associativity', '_test_distributivity', '_test_prod']) # products are too expensive, long time (3s on sage.math, 2012) sage: TestSuite(Q).run(elements = [Q.t*Q[1,1]+Q[2], Q[1]+(1+Q.t)*Q[1,1]]) # long time (depends on previous) sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLP = Sym.hall_littlewood().P() sage: HLQ = Sym.hall_littlewood().Q() sage: HLQp = Sym.hall_littlewood().Qp() sage: s = Sym.schur(); p = Sym.power() sage: HLQ( HLP([2,1]) + HLP([3]) ) (1/(t^2-2*t+1))*HLQ[2, 1] - (1/(t-1))*HLQ[3] sage: HLQ(HLQp([2])) # indirect doctest (t/(t^3-t^2-t+1))*HLQ[1, 1] - (1/(t-1))*HLQ[2] sage: HLQ(s([2])) (t/(t^3-t^2-t+1))*HLQ[1, 1] - (1/(t-1))*HLQ[2] sage: HLQ(p([2])) (1/(t^2-1))*HLQ[1, 1] - (1/(t-1))*HLQ[2] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> Q = Sym.hall_littlewood().Q() >>> TestSuite(Q).run(skip=['_test_associativity', '_test_distributivity', '_test_prod']) # products are too expensive, long time (3s on sage.math, 2012) >>> TestSuite(Q).run(elements = [Q.t*Q[Integer(1),Integer(1)]+Q[Integer(2)], Q[Integer(1)]+(Integer(1)+Q.t)*Q[Integer(1),Integer(1)]]) # long time (depends on previous) >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLP = Sym.hall_littlewood().P() >>> HLQ = Sym.hall_littlewood().Q() >>> HLQp = Sym.hall_littlewood().Qp() >>> s = Sym.schur(); p = Sym.power() >>> HLQ( HLP([Integer(2),Integer(1)]) + HLP([Integer(3)]) ) (1/(t^2-2*t+1))*HLQ[2, 1] - (1/(t-1))*HLQ[3] >>> HLQ(HLQp([Integer(2)])) # indirect doctest (t/(t^3-t^2-t+1))*HLQ[1, 1] - (1/(t-1))*HLQ[2] >>> HLQ(s([Integer(2)])) (t/(t^3-t^2-t+1))*HLQ[1, 1] - (1/(t-1))*HLQ[2] >>> HLQ(p([Integer(2)])) (1/(t^2-1))*HLQ[1, 1] - (1/(t-1))*HLQ[2] 
- class sage.combinat.sf.hall_littlewood.HallLittlewood_qp(hall_littlewood)[source]¶
- Bases: - HallLittlewood_generic- The Hall-Littlewood \(Qp\) basis is calculated through the symmetrica library (see the function - HallLittlewood_qp._to_s()).- INPUT: - self– an instance of the Hall-Littlewood \(P\) basis
- hall_littlewood– a class for the family of Hall-Littlewood bases
 - EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: Qp = Sym.hall_littlewood().Q() sage: TestSuite(Qp).run(skip=['_test_passociativity', '_test_distributivity', '_test_prod']) # products are too expensive, long time (3s on sage.math, 2012) sage: TestSuite(Qp).run(elements = [Qp.t*Qp[1,1]+Qp[2], Qp[1]+(1+Qp.t)*Qp[1,1]]) # long time (depends on previous) sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HLP = Sym.hall_littlewood().P() sage: HLQ = Sym.hall_littlewood().Q() sage: HLQp = Sym.hall_littlewood().Qp() sage: s = Sym.schur(); p = Sym.power() sage: HLQp(HLP([2])) # indirect doctest -t*HLQp[1, 1] + (t^2+1)*HLQp[2] sage: HLQp(s(HLQ([2]))) # work around bug reported in issue #12969 (t^2-t)*HLQp[1, 1] + (-t^3+t^2-t+1)*HLQp[2] sage: HLQp(s([2])) HLQp[2] sage: HLQp(p([2])) -HLQp[1, 1] + (t+1)*HLQp[2] sage: s = HLQp.symmetric_function_ring().s() sage: HLQp.transition_matrix(s,3) [ 1 0 0] [ t 1 0] [ t^3 t^2 + t 1] sage: s.transition_matrix(HLP,3) [ 1 t t^3] [ 0 1 t^2 + t] [ 0 0 1] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> Qp = Sym.hall_littlewood().Q() >>> TestSuite(Qp).run(skip=['_test_passociativity', '_test_distributivity', '_test_prod']) # products are too expensive, long time (3s on sage.math, 2012) >>> TestSuite(Qp).run(elements = [Qp.t*Qp[Integer(1),Integer(1)]+Qp[Integer(2)], Qp[Integer(1)]+(Integer(1)+Qp.t)*Qp[Integer(1),Integer(1)]]) # long time (depends on previous) >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HLP = Sym.hall_littlewood().P() >>> HLQ = Sym.hall_littlewood().Q() >>> HLQp = Sym.hall_littlewood().Qp() >>> s = Sym.schur(); p = Sym.power() >>> HLQp(HLP([Integer(2)])) # indirect doctest -t*HLQp[1, 1] + (t^2+1)*HLQp[2] >>> HLQp(s(HLQ([Integer(2)]))) # work around bug reported in issue #12969 (t^2-t)*HLQp[1, 1] + (-t^3+t^2-t+1)*HLQp[2] >>> HLQp(s([Integer(2)])) HLQp[2] >>> HLQp(p([Integer(2)])) -HLQp[1, 1] + (t+1)*HLQp[2] >>> s = HLQp.symmetric_function_ring().s() >>> HLQp.transition_matrix(s,Integer(3)) [ 1 0 0] [ t 1 0] [ t^3 t^2 + t 1] >>> s.transition_matrix(HLP,Integer(3)) [ 1 t t^3] [ 0 1 t^2 + t] [ 0 0 1]