LLT symmetric functions#

REFERENCES:

[LLT1997] (1,2,3)

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]

[LT2000]

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]#

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 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]#

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 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:

• 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 basis

• llt – a family of LLT symmetric function bases

class Element[source]#

Bases: Element

class sage.combinat.sf.llt.LLT_generic(llt, prefix)[source]#

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

class Element[source]#
construction()[source]#

Return a pair (F, R), where F is a SymmetricFunctionsFunctor and $$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]#

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 basis

• left, right – elements of the symmetric functions

OUTPUT:

the product of left and right expanded 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]

class sage.combinat.sf.llt.LLT_spin(llt)[source]#

Bases: LLT_generic

A class of methods for the h-spin LLT basis of the symmetric functions.

INPUT:

• self – an instance of the LLT hcospin basis

• llt – a family of LLT symmetric function bases

class Element[source]#

Bases: Element