LLT symmetric functions¶
REFERENCES:
Alain Lascoux, Bernard Leclerc, Jean-Yves Thibon, Ribbon tableaux, Hall-Littlewood functions, quantum affine algebras, and unipotent varieties, J. Math. Phys. 38 (1997), no. 2, 1041-1068, arXiv q-alg/9512031v1 [math.q.alg]
Bernard Leclerc and Jean-Yves Thibon, Littlewood-Richardson coefficients and Kazhdan-Lusztig polynomials, in: Combinatorial methods in representation theory (Kyoto) Adv. Stud. Pure Math., vol. 28, Kinokuniya, Tokyo, 2000, pp 155-220 arXiv math/9809122v3 [math.q-alg]
- class sage.combinat.sf.llt.LLT_class(Sym, k, t)[source]¶
- Bases: - UniqueRepresentation- A class for working with LLT symmetric functions. - EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: L3 = Sym.llt(3); L3 level 3 LLT polynomials over Fraction Field of Univariate Polynomial Ring in t over Rational Field sage: L3.cospin([3,2,1]) (t+1)*m[1, 1] + m[2] sage: HC3 = L3.hcospin(); HC3 Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the level 3 LLT cospin basis sage: m = Sym.monomial() sage: m( HC3[1,1] ) (t+1)*m[1, 1] + m[2] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> L3 = Sym.llt(Integer(3)); L3 level 3 LLT polynomials over Fraction Field of Univariate Polynomial Ring in t over Rational Field >>> L3.cospin([Integer(3),Integer(2),Integer(1)]) (t+1)*m[1, 1] + m[2] >>> HC3 = L3.hcospin(); HC3 Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the level 3 LLT cospin basis >>> m = Sym.monomial() >>> m( HC3[Integer(1),Integer(1)] ) (t+1)*m[1, 1] + m[2] - We require that the parameter \(t\) must be in the base ring: - sage: Symxt = SymmetricFunctions(QQ['x','t'].fraction_field()) sage: (x,t) = Symxt.base_ring().gens() sage: LLT3x = Symxt.llt(3,t=x) sage: LLT3 = Symxt.llt(3) sage: HS3x = LLT3x.hspin() sage: HS3t = LLT3.hspin() sage: s = Symxt.schur() sage: s(HS3x[2,1]) s[2, 1] + x*s[3] sage: s(HS3t[2,1]) s[2, 1] + t*s[3] sage: HS3x(HS3t[2,1]) HSp3[2, 1] - (x-t)*HSp3[3] sage: s(HS3x(HS3t[2,1])) s[2, 1] + t*s[3] sage: LLT3t2 = Symxt.llt(3,t=2) sage: HC3t2 = LLT3t2.hcospin() sage: HS3x(HC3t2[3,1]) 2*HSp3[3, 1] - (2*x-1)*HSp3[4] - >>> from sage.all import * >>> Symxt = SymmetricFunctions(QQ['x','t'].fraction_field()) >>> (x,t) = Symxt.base_ring().gens() >>> LLT3x = Symxt.llt(Integer(3),t=x) >>> LLT3 = Symxt.llt(Integer(3)) >>> HS3x = LLT3x.hspin() >>> HS3t = LLT3.hspin() >>> s = Symxt.schur() >>> s(HS3x[Integer(2),Integer(1)]) s[2, 1] + x*s[3] >>> s(HS3t[Integer(2),Integer(1)]) s[2, 1] + t*s[3] >>> HS3x(HS3t[Integer(2),Integer(1)]) HSp3[2, 1] - (x-t)*HSp3[3] >>> s(HS3x(HS3t[Integer(2),Integer(1)])) s[2, 1] + t*s[3] >>> LLT3t2 = Symxt.llt(Integer(3),t=Integer(2)) >>> HC3t2 = LLT3t2.hcospin() >>> HS3x(HC3t2[Integer(3),Integer(1)]) 2*HSp3[3, 1] - (2*x-1)*HSp3[4] - base_ring()[source]¶
- Return the base ring of - self.- INPUT: - self– a family of LLT symmetric functions bases
 - OUTPUT: the base ring of the symmetric function ring associated to - self- EXAMPLES: - sage: SymmetricFunctions(FractionField(QQ['t'])).llt(3).base_ring() Fraction Field of Univariate Polynomial Ring in t over Rational Field - >>> from sage.all import * >>> SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)).base_ring() Fraction Field of Univariate Polynomial Ring in t over Rational Field 
 - cospin(skp)[source]¶
- Calculate a single instance of the cospin symmetric functions. - These are the functions defined in [LLT1997] equation (26). - INPUT: - self– a family of LLT symmetric functions bases
- skp– a partition or a list of partitions or a list of skew partitions
 - OUTPUT: - the monomial expansion of the LLT symmetric function cospin functions indexed by - skp- EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: L3 = Sym.llt(3) sage: L3.cospin([2,1]) m[1] sage: L3.cospin([3,2,1]) (t+1)*m[1, 1] + m[2] sage: s = Sym.schur() sage: s(L3.cospin([[2],[1],[2]])) t^4*s[2, 2, 1] + t^3*s[3, 1, 1] + (t^3+t^2)*s[3, 2] + (t^2+t)*s[4, 1] + s[5] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> L3 = Sym.llt(Integer(3)) >>> L3.cospin([Integer(2),Integer(1)]) m[1] >>> L3.cospin([Integer(3),Integer(2),Integer(1)]) (t+1)*m[1, 1] + m[2] >>> s = Sym.schur() >>> s(L3.cospin([[Integer(2)],[Integer(1)],[Integer(2)]])) t^4*s[2, 2, 1] + t^3*s[3, 1, 1] + (t^3+t^2)*s[3, 2] + (t^2+t)*s[4, 1] + s[5] 
 - hcospin()[source]¶
- Return the HCospin basis. This basis is defined [LLT1997] equation (27). - INPUT: - self– a family of LLT symmetric functions bases
 - OUTPUT: the h-cospin basis of the LLT symmetric functions - EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HCosp3 = Sym.llt(3).hcospin(); HCosp3 Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the level 3 LLT cospin basis sage: HCosp3([1])^2 1/t*HCosp3[1, 1] + ((t-1)/t)*HCosp3[2] sage: s = Sym.schur() sage: HCosp3(s([2])) HCosp3[2] sage: HCosp3(s([1,1])) 1/t*HCosp3[1, 1] - 1/t*HCosp3[2] sage: s(HCosp3([2,1])) t*s[2, 1] + s[3] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HCosp3 = Sym.llt(Integer(3)).hcospin(); HCosp3 Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the level 3 LLT cospin basis >>> HCosp3([Integer(1)])**Integer(2) 1/t*HCosp3[1, 1] + ((t-1)/t)*HCosp3[2] >>> s = Sym.schur() >>> HCosp3(s([Integer(2)])) HCosp3[2] >>> HCosp3(s([Integer(1),Integer(1)])) 1/t*HCosp3[1, 1] - 1/t*HCosp3[2] >>> s(HCosp3([Integer(2),Integer(1)])) t*s[2, 1] + s[3] 
 - hspin()[source]¶
- Return the HSpin basis. - This basis is defined [LLT1997] equation (28). - INPUT: - self– a family of LLT symmetric functions bases
 - OUTPUT: the h-spin basis of the LLT symmetric functions - EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HSp3 = Sym.llt(3).hspin(); HSp3 Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the level 3 LLT spin basis sage: HSp3([1])^2 HSp3[1, 1] + (-t+1)*HSp3[2] sage: s = Sym.schur() sage: HSp3(s([2])) HSp3[2] sage: HSp3(s([1,1])) HSp3[1, 1] - t*HSp3[2] sage: s(HSp3([2,1])) s[2, 1] + t*s[3] - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HSp3 = Sym.llt(Integer(3)).hspin(); HSp3 Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the level 3 LLT spin basis >>> HSp3([Integer(1)])**Integer(2) HSp3[1, 1] + (-t+1)*HSp3[2] >>> s = Sym.schur() >>> HSp3(s([Integer(2)])) HSp3[2] >>> HSp3(s([Integer(1),Integer(1)])) HSp3[1, 1] - t*HSp3[2] >>> s(HSp3([Integer(2),Integer(1)])) s[2, 1] + t*s[3] 
 - level()[source]¶
- Return the level of - self.- INPUT: - self– a family of LLT symmetric functions bases
 - OUTPUT: the level is the parameter of \(k\) in the basis - EXAMPLES: - sage: SymmetricFunctions(FractionField(QQ['t'])).llt(3).level() 3 - >>> from sage.all import * >>> SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)).level() 3 
 - spin_square(skp)[source]¶
- Calculate a single instance of a spin squared LLT symmetric function associated with a partition, list of partitions, or a list of skew partitions. - This family of symmetric functions is defined in [LT2000] equation (43). - INPUT: - self– a family of LLT symmetric functions bases
- skp– a partition of a list of partitions or a list of skew partitions
 - OUTPUT: - the monomial expansion of the LLT symmetric function spin-square functions indexed by - skp- EXAMPLES: - sage: L3 = SymmetricFunctions(FractionField(QQ['t'])).llt(3) sage: L3.spin_square([2,1]) t*m[1] sage: L3.spin_square([3,2,1]) (t^3+t)*m[1, 1] + t^3*m[2] sage: L3.spin_square([[1],[1],[1]]) (t^6+2*t^4+2*t^2+1)*m[1, 1, 1] + (t^6+t^4+t^2)*m[2, 1] + t^6*m[3] sage: L3.spin_square([[[2,2],[1]],[[2,1],[]]]) (2*t^4+3*t^2+1)*m[1, 1, 1, 1] + (t^4+t^2)*m[2, 1, 1] + t^4*m[2, 2] - >>> from sage.all import * >>> L3 = SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)) >>> L3.spin_square([Integer(2),Integer(1)]) t*m[1] >>> L3.spin_square([Integer(3),Integer(2),Integer(1)]) (t^3+t)*m[1, 1] + t^3*m[2] >>> L3.spin_square([[Integer(1)],[Integer(1)],[Integer(1)]]) (t^6+2*t^4+2*t^2+1)*m[1, 1, 1] + (t^6+t^4+t^2)*m[2, 1] + t^6*m[3] >>> L3.spin_square([[[Integer(2),Integer(2)],[Integer(1)]],[[Integer(2),Integer(1)],[]]]) (2*t^4+3*t^2+1)*m[1, 1, 1, 1] + (t^4+t^2)*m[2, 1, 1] + t^4*m[2, 2] 
 - symmetric_function_ring()[source]¶
- The symmetric function algebra associated to the family of LLT symmetric function bases - INPUT: - self– a family of LLT symmetric functions bases
 - OUTPUT: the symmetric function ring associated to - self- EXAMPLES: - sage: L3 = SymmetricFunctions(FractionField(QQ['t'])).llt(3) sage: L3.symmetric_function_ring() Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field - >>> from sage.all import * >>> L3 = SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)) >>> L3.symmetric_function_ring() Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field 
 
- class sage.combinat.sf.llt.LLT_cospin(llt)[source]¶
- Bases: - LLT_generic- A class of methods for the h-cospin LLT basis of the symmetric functions. - INPUT: - self– an instance of the LLT hcospin basis
- llt– a family of LLT symmetric function bases
 
- class sage.combinat.sf.llt.LLT_generic(llt, prefix)[source]¶
- Bases: - SymmetricFunctionAlgebra_generic- A class of methods which are common to both the hspin and hcospin of the LLT symmetric functions. - INPUT: - self– an instance of the LLT hspin or hcospin basis
- llt– a family of LLT symmetric functions
 - EXAMPLES: - sage: SymmetricFunctions(FractionField(QQ['t'])).llt(3).hspin() Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the level 3 LLT spin basis sage: SymmetricFunctions(QQ).llt(3,t=2).hspin() Symmetric Functions over Rational Field in the level 3 LLT spin with t=2 basis sage: QQz = FractionField(QQ['z']); z = QQz.gen() sage: SymmetricFunctions(QQz).llt(3,t=z).hspin() Symmetric Functions over Fraction Field of Univariate Polynomial Ring in z over Rational Field in the level 3 LLT spin with t=z basis - >>> from sage.all import * >>> SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)).hspin() Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the level 3 LLT spin basis >>> SymmetricFunctions(QQ).llt(Integer(3),t=Integer(2)).hspin() Symmetric Functions over Rational Field in the level 3 LLT spin with t=2 basis >>> QQz = FractionField(QQ['z']); z = QQz.gen() >>> SymmetricFunctions(QQz).llt(Integer(3),t=z).hspin() Symmetric Functions over Fraction Field of Univariate Polynomial Ring in z over Rational Field in the level 3 LLT spin with t=z basis - construction()[source]¶
- Return a pair - (F, R), where- Fis a- SymmetricFunctionsFunctorand \(R\) is a ring, such that- F(R)returns- self.- EXAMPLES: - sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: HSp3 = Sym.llt(3).hspin() sage: HSp3.construction() (SymmetricFunctionsFunctor[level 3 LLT spin], Fraction Field of Univariate Polynomial Ring in t over Rational Field) - >>> from sage.all import * >>> Sym = SymmetricFunctions(FractionField(QQ['t'])) >>> HSp3 = Sym.llt(Integer(3)).hspin() >>> HSp3.construction() (SymmetricFunctionsFunctor[level 3 LLT spin], Fraction Field of Univariate Polynomial Ring in t over Rational Field) 
 - level()[source]¶
- Return the level of - self.- INPUT: - self– an instance of the LLT hspin or hcospin basis
 - OUTPUT: the level associated to the basis - self- EXAMPLES: - sage: HSp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(3).hspin() sage: HSp3.level() 3 - >>> from sage.all import * >>> HSp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)).hspin() >>> HSp3.level() 3 
 - llt_family()[source]¶
- The family of the llt bases of the symmetric functions. - INPUT: - self– an instance of the LLT hspin or hcospin basis
 - OUTPUT: an instance of the family of LLT bases associated to - self- EXAMPLES: - sage: HSp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(3).hspin() sage: HSp3.llt_family() level 3 LLT polynomials over Fraction Field of Univariate Polynomial Ring in t over Rational Field - >>> from sage.all import * >>> HSp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)).hspin() >>> HSp3.llt_family() level 3 LLT polynomials over Fraction Field of Univariate Polynomial Ring in t over Rational Field 
 - product(left, right)[source]¶
- Convert to the monomial basis, do the multiplication there, and convert back to the basis - self.- INPUT: - self– an instance of the LLT hspin or hcospin basis
- left,- right– elements of the symmetric functions
 - OUTPUT: the product of - leftand- rightexpanded in the basis- self- EXAMPLES: - sage: HSp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(3).hspin() sage: HSp3.product(HSp3([1]), HSp3([2])) HSp3[2, 1] + (-t+1)*HSp3[3] sage: HCosp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(3).hcospin() sage: HCosp3.product(HCosp3([1]), HSp3([2])) 1/t*HCosp3[2, 1] + ((t-1)/t)*HCosp3[3] - >>> from sage.all import * >>> HSp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)).hspin() >>> HSp3.product(HSp3([Integer(1)]), HSp3([Integer(2)])) HSp3[2, 1] + (-t+1)*HSp3[3] >>> HCosp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)).hcospin() >>> HCosp3.product(HCosp3([Integer(1)]), HSp3([Integer(2)])) 1/t*HCosp3[2, 1] + ((t-1)/t)*HCosp3[3]