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]#
Returns the base ring of
self
.INPUT:
self
– a family of LLT symmetric functions bases
OUTPUT:
returns 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 basesskp
– 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]#
Returns the HCospin basis. This basis is defined [LLT1997] equation (27).
INPUT:
self
– a family of LLT symmetric functions bases
OUTPUT:
returns 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]#
Returns the HSpin basis. This basis is defined [LLT1997] equation (28).
INPUT:
self
– a family of LLT symmetric functions bases
OUTPUT:
returns 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]#
Returns 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 basesskp
– 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:
returns 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 basisllt
– 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 basisllt
– 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)
, whereF
is aSymmetricFunctionsFunctor
and \(R\) is a ring, such thatF(R)
returnsself
.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]#
Returns the level of
self
.INPUT:
self
– an instance of the LLT hspin or hcospin basis
OUTPUT:
returns 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:
returns 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 basisleft
,right
– elements of the symmetric functions
OUTPUT:
the product of
left
andright
expanded in the basisself
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]