LLT symmetric functions - Combinatorics

Skip to content
Back to top
View this page
Edit this page

# LLT symmetric functions

class sage.combinat.sf.llt.LLT_class(Sym, k, t)

  Bases: `UniqueRepresentation`

  A class for working with LLT symmetric functions.

  EXAMPLES:

  Sage

      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]

  Python

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

      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]

  [Python]

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

    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

        sage: SymmetricFunctions(FractionField(QQ['t'])).llt(3).base_ring()
        Fraction Field of Univariate Polynomial Ring in t over Rational Field

    Python

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

    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

        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]

    Python

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

    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

        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]

    Python

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

    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

        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]

    Python

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

    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

        sage: SymmetricFunctions(FractionField(QQ['t'])).llt(3).level()
        3

    Python

        >>> from sage.all import *
        >>> SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)).level()
        3

  spin_square(skp)

    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

        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]

    Python

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

    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

        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

    Python

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

  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

    Bases: `Element`

class sage.combinat.sf.llt.LLT_generic(llt, prefix)

  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

      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

  Python

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

    Bases: `SymmetricFunctionAlgebra_generic_Element`

  construction()

    Return a pair `(F, R)`, where `F` is a `SymmetricFunctionsFunctor` and \(R\) is a ring, such that `F(R)` returns `self`.

    EXAMPLES:

    Sage

        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)

    Python

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

    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

        sage: HSp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(3).hspin()
        sage: HSp3.level()
        3

    Python

        >>> from sage.all import *
        >>> HSp3 = SymmetricFunctions(FractionField(QQ['t'])).llt(Integer(3)).hspin()
        >>> HSp3.level()
        3

  llt_family()

    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

        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

    Python

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

    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

        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]

    Python

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

  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

    Bases: `Element`