Macaulay2 » Documentation
Packages » SchurRings :: toSp
next | previous | forward | backward | up | index | toc

toSp -- Expansion in the basis of symplectic characters

Description

Given a symmetric function f, the function toSp returns the expression of f in the basis of irreducible symplectic characters. The output is a RingElement in a SchurRing with GroupActing => "Sp", so that the basis element sp_\lambda stands for the irreducible Sp-representation associated to the partition \lambda.

The conversion implements the inverse Koike branching formula s_\lambda = \sum_\delta sp_{\lambda/\delta}, where \delta ranges over partitions \delta \subseteq \lambda all of whose columns have even length (equivalently, the parts of \delta occur in equal pairs), and skew characters are expanded using Littlewood-Richardson coefficients.

i1 : S = schurRing(QQ,s);
i2 : toSp s_{2}

o2 = sp
       2

o2 : schurRing (QQ, sp, infinity)
i3 : toSp s_{1,1}

o3 = sp    + sp
       1,1     ()

o3 : schurRing (QQ, sp, infinity)
i4 : toSp s_{3,1}

o4 = sp    + sp
       3,1     2

o4 : schurRing (QQ, sp, infinity)
i5 : toSp (s_{2,1} + 2*s_{1,1})

o5 = sp    + 2sp    + sp  + 2sp
       2,1      1,1     1      ()

o5 : schurRing (QQ, sp, infinity)

If the target symplectic ring is not specified, the first call to toSp on an element of S creates and caches an associated stable symplectic ring with the same coefficient ring as S; subsequent calls reuse the cached ring.

i6 : ring(toSp s_{2,1}) === ring(toSp s_{3,1})

o6 = true

Alternatively one can supply the target symplectic ring explicitly.

i7 : Sp = schurRing(QQ,sp,4,GroupActing => "Sp");
i8 : toSp(s_{2,1},Sp)

o8 = sp    + sp
       2,1     1

o8 : Sp

The conversion is inverse to toS on the symplectic ring, and multiplication of symplectic characters factors through this round-trip. At stable rank, toS(sp_{(1,1)}) = s_{(1,1)} - 1 and toS(sp_{(2,2)}) = s_{(2,2)} - s_{(1,1)}; the product sp_{(1)}^2 equals the Newell-Littlewood product sp_{(2)} + sp_{(1,1)} + 1.

i9 : Sp = schurRing(QQ,sp,GroupActing => "Sp");
i10 : toS sp_{1,1}

o10 = s    - s
       1,1    ()

o10 : schurRing (QQ, s, infinity)
i11 : toS sp_{2,2}

o11 = s    - s
       2,2    1,1

o11 : schurRing (QQ, s, infinity)
i12 : toSp(toS(sp_{2,1}, S), Sp) == sp_{2,1}

o12 = true
i13 : sp_{1}*sp_{1}

o13 = sp  + sp    + sp
        2     1,1     ()

o13 : Sp
i14 : sp_{1,1}*sp_{1,1}

o14 = sp    + sp      + sp  + sp        + sp    + sp
        2,2     2,1,1     2     1,1,1,1     1,1     ()

o14 : Sp

At finite rank n (the ring parameter numVariables), the modification rule of Sam-Snowden-Weyman is applied automatically, so characters whose partitions exceed n rows are folded back to admissible Sp basis elements (or zero). Weyl dimensions are available via dim. Plethysm is supported and routes through the GL Schur ring.

i15 : Sp4 = schurRing(QQ,sp4,2,GroupActing => "Sp");
i16 : sp4_{1,1}^2

o16 = sp4    + sp4  + sp4
         2,2      2      ()

o16 : Sp4
i17 : dim sp4_{2,2}

o17 = 14
i18 : plethysm({2}, sp4_{1})

o18 = sp4
         2

o18 : Sp4

An explicit symplectic character decomposition from a Schur polynomial can be obtained directly; linearity lets the user combine several Schur functions at once:

i19 : S = schurRing(QQ,s);
i20 : toSp(s_{2,2} + s_{1,1})

o20 = sp    + 2sp    + 2sp
        2,2      1,1      ()

o20 : schurRing (QQ, sp, infinity)

Plethysm of a symplectic character is well-defined through a round-trip to the Schur basis. Here, the plethysm of the trivial (2)-power on the defining representation sp_{(1)} recovers the usual Sym^2 character, and toS confirms it is s_{(2)}:

i21 : Sp = schurRing(QQ,sp,GroupActing => "Sp");
i22 : q = plethysm({2}, sp_{1})

o22 = sp
        2

o22 : Sp
i23 : toS q

o23 = s
       2

o23 : schurRing (QQ, s, infinity)

At finite rank, the modification rule folds partitions that exceed the rank. Passing s_{(2,1,1,1)} to the rank-2 symplectic ring Sp_4 returns the modified (and much shorter) character:

i24 : toSp(s_{2,1,1,1}, Sp4)

o24 = sp4
         1

o24 : Sp4

See also

Ways to use toSp:

  • toSp(RingElement)
  • toSp(RingElement,SchurRing)

For the programmer

The object toSp is a method function.


The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/SchurRings.m2:8315:0.