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

schurRing -- Make a SchurRing

Description

S = schurRing(A,s,n) creates a Schur ring of degree n over the base ring A, with variables based on the symbol s. This is the representation ring for the general linear group of n by n matrices, tensored with the ring A. If s is already assigned a value as a variable in a ring, its base symbol will be used, if it is possible to determine.

i1 : S = schurRing(QQ[x],s,3);
i2 : (x*s_{2,1}+s_3)^2

                           2                   2                 2           
o2 = s  + (2x + 1)s    + (x  + 2x + 1)s    + (x  + 2x)s      + (x  + 1)s    +
      6            5,1                 4,2             4,1,1            3,3  
     ------------------------------------------------------------------------
        2                2
     (2x  + 2x)s      + x s
                3,2,1      2,2,2

o2 : S

Alternatively, the elements of a Schur ring may be interpreted as characters of symmetric groups. To indicate this interpretation, one has to set the value of the option GroupActing to "Sn".

i3 : S = schurRing(s,4,GroupActing => "Sn");
i4 : exteriorPower(2,s_(3,1))

o4 = s
      2,1,1

o4 : S

If the dimension n is not specified, then one should think of S as the full ring of symmetric functions over the base A, i.e. there is no restriction on the number of parts of the partitions indexing the generators of S.

i5 : S = schurRing(ZZ/5,t)

o5 = S

o5 : SchurRing
i6 : (t_(2,1)-t_3)^2

o6 = t  - t    - t      + 2t    + t        + t      + t
      6    5,1    4,1,1     3,3    3,1,1,1    2,2,2    2,2,1,1

o6 : S

If the base ring A is not specified, then QQ is used instead.

i7 : S = schurRing(r,2,EHPVariables => (re,rh,rp))

o7 = S

o7 : SchurRing
i8 : toH r_(2,1)

       3
o8 = rh  - rh rh
       1     1  2

o8 : QQ[re ..re , rp ..rp , rh ..rh ]
          1    2    1    2    1    2

Beyond the default GL flavor, the options GroupActing and Basis choose between the symmetric-group ("Sn"), symplectic ("Sp"), orthogonal ("O"), special-linear ("SL"), rational-GL ("RatGL"), and monomial-basis variants. See the main SchurRings page for the full landscape.

For example, the symplectic representation ring lives in its own SchurRing, and the orthogonal flavor takes an additional OddOrEven option to distinguish O(2n+1) from O(2n).

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

o10 = sp    + sp      + sp  + sp      + sp        + 2sp    + sp      + sp
        3,2     3,1,1     3     2,2,1     2,1,1,1      2,1     1,1,1     1

o10 : Sp
i11 : O4 = schurRing(QQ,o,4,GroupActing => "O",OddOrEven => "Even");
i12 : dim o_{3,2,1}

o12 = 4096

The monomial-symmetric-function basis is activated with Basis => "Monomial", and multiplication switches to the corresponding convolution on weak compositions.

i13 : M = schurRing(QQ,m,4,Basis => "Monomial");
i14 : m_{2,1} * m_{1}

o14 = m    + 2m    + 2m
       3,1     2,2     2,1,1

o14 : M
i15 : toS m_{2,1}

o15 = s    - 2s
       2,1     1,1,1

o15 : schurRing (QQ, s, 4)

One can iterate schurRing to produce a tower of Schur rings, a convenient setting for bi-graded or bivariate character calculations.

i16 : S = schurRing(QQ,s,4);
i17 : T = schurRing(S,t,3);
i18 : coefficientRing T

o18 = S

o18 : SchurRing
i19 : s_{1,1} * t_{2,1}

o19 = s   t
       1,1 2,1

o19 : T

Passing n => infinity (or omitting the dimension) builds the stable ring of symmetric functions, with no bound on the number of parts.

i20 : Sinf = schurRing(ZZ/7,u);
i21 : numgens Sinf

o21 = infinity

o21 : InfiniteNumber
i22 : (u_{2,1})^2

o22 = u    + u      + u    + 2u      + u        + u      + u
       4,2    4,1,1    3,3     3,2,1    3,1,1,1    2,2,2    2,2,1,1

o22 : Sinf

See also

Ways to use schurRing:

  • schurRing(Ring,Symbol)
  • schurRing(Ring,Symbol,ZZ)
  • schurRing(Ring,Thing)
  • schurRing(Ring,Thing,ZZ)
  • schurRing(Thing)
  • schurRing(Thing,ZZ)
  • schurRing(Ring) -- The Schur ring corresponding to a given Symmetric ring.

For the programmer

The object schurRing is a method function with options.


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