### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Symmetric Functions »

# 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

### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Symmetric Functions »