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/9512-31v1 [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='t')

Bases: sage.structure.unique_representation.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]

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]
base_ring()

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
cospin(skp)

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

  • returns 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]
hcospin()

Returns the HCospin basis. This basis is defined [LLT1997] equation (27).

INPUT:

  • self – a family of LLT symmetric functions bases

OUPUT:

  • 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]
hspin()

Returns the HSpin basis. This basis is defined [LLT1997] equation (28).

INPUT:

  • self – a family of LLT symmetric functions bases

OUPUT:

  • 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]
level()

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
spin_square(skp)

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

  • returns 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]
symmetric_function_ring()

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
class sage.combinat.sf.llt.LLT_cospin(llt)

Bases: sage.combinat.sf.llt.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

TESTS:

sage: HCosp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(3).hcospin()
sage: TestSuite(HCosp3).run(skip = ["_test_associativity", "_test_distributivity", "_test_prod"]) # products are too expensive, long time (11s on sage.math, 2012)
sage: TestSuite(HCosp3).run(elements = [HCosp3.t*HCosp3[1,1]+HCosp3.t*HCosp3[2], HCosp3[1]+(1+HCosp3.t)*HCosp3[1,1]])  # long time (depends on previous)
sage: HC3t2 = SymmetricFunctions(QQ).llt(3,t=2).hcospin()
sage: TestSuite(HC3t2).run() # products are too expensive, long time (6s on sage.math, 2012)
sage: HC3x = SymmetricFunctions(FractionField(QQ['x'])).llt(3,t=x).hcospin()
sage: TestSuite(HC3x).run(skip = ["_test_associativity", "_test_distributivity", "_test_prod"]) # products are too expensive, long time (5s on sage.math, 2012)
sage: TestSuite(HC3x).run(elements = [HC3x.t*HC3x[1,1]+HC3x.t*HC3x[2], HC3x[1]+(1+HC3x.t)*HC3x[1,1]])  # long time (depends on previous)
class Element(M, x)

Bases: sage.combinat.sf.llt.LLT_generic.Element

Create a combinatorial module element. This should never be called directly, but only through the parent combinatorial free module’s __call__() method.

TESTS:

sage: F = CombinatorialFreeModule(QQ, ['a','b','c'])
sage: B = F.basis()
sage: f = B['a'] + 3*B['c']; f
B['a'] + 3*B['c']
sage: f == loads(dumps(f))
True
class sage.combinat.sf.llt.LLT_generic(llt, prefix)

Bases: sage.combinat.sf.sfa.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
class Element(M, x)

Bases: sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element

Create a combinatorial module element. This should never be called directly, but only through the parent combinatorial free module’s __call__() method.

TESTS:

sage: F = CombinatorialFreeModule(QQ, ['a','b','c'])
sage: B = F.basis()
sage: f = B['a'] + 3*B['c']; f
B['a'] + 3*B['c']
sage: f == loads(dumps(f))
True
LLT_generic.level()

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
LLT_generic.llt_family()

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
class sage.combinat.sf.llt.LLT_spin(llt)

Bases: sage.combinat.sf.llt.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

TESTS:

sage: HSp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(3).hspin()
sage: TestSuite(HSp3).run(skip = ["_test_associativity", "_test_distributivity", "_test_prod"]) # products are too expensive, long time (10s on sage.math, 2012)
sage: TestSuite(HSp3).run(elements = [HSp3.t*HSp3[1,1]+HSp3.t*HSp3[2], HSp3[1]+(1+HSp3.t)*HSp3[1,1]])  # long time (depends on previous)
sage: HS3t2 = SymmetricFunctions(QQ).llt(3,t=2).hspin()
sage: TestSuite(HS3t2).run() # products are too expensive, long time (7s on sage.math, 2012)
sage: HS3x = SymmetricFunctions(FractionField(QQ['x'])).llt(3,t=x).hspin()
sage: TestSuite(HS3x).run(skip = ["_test_associativity", "_test_distributivity", "_test_prod"]) # products are too expensive, long time (4s on sage.math, 2012)
sage: TestSuite(HS3x).run(elements = [HS3x.t*HS3x[1,1]+HS3x.t*HS3x[2], HS3x[1]+(1+HS3x.t)*HS3x[1,1]])  # long time (depends on previous)
class Element(M, x)

Bases: sage.combinat.sf.llt.LLT_generic.Element

Create a combinatorial module element. This should never be called directly, but only through the parent combinatorial free module’s __call__() method.

TESTS:

sage: F = CombinatorialFreeModule(QQ, ['a','b','c'])
sage: B = F.basis()
sage: f = B['a'] + 3*B['c']; f
B['a'] + 3*B['c']
sage: f == loads(dumps(f))
True

Previous topic

Quotient of symmetric function space by ideal generated by Hall-Littlewood symmetric functions

Next topic

Macdonald Polynomials

This Page