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

ClassFunction -- The class of all Class functions

Description

A class function (or virtual character of a symmetric group S_n) is a function that is constant on the conjugacy classes of S_n. Class functions for S_n are in one-to-one correspondence with symmetric functions of degree n. The class functions corresponding to actual representations of S_n are called characters.

The character of the standard representation of S_3 is

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

o2 = ClassFunction{{1, 1, 1} => 2}
                   {3} => -1

o2 : ClassFunction

The character of the sign representation of S_5 is

i3 : S = schurRing(QQ,s,5);
i4 : classFunction(s_{1,1,1,1,1})

o4 = ClassFunction{{1, 1, 1, 1, 1} => 1}
                   {2, 1, 1, 1} => -1
                   {2, 2, 1} => 1
                   {3, 1, 1} => 1
                   {3, 2} => -1
                   {4, 1} => -1
                   {5} => 1

o4 : ClassFunction

We can go back and forth between class functions and symmetric functions.

i5 : R = symmetricRing(QQ,3);
i6 : cF = new ClassFunction from {{1,1,1} => 2, {3} => -1};
i7 : sF = symmetricFunction(cF,R)

     1 3   1
o7 = -p  - -p
     3 1   3 3

o7 : R
i8 : toS sF

o8 = s
      2,1

o8 : schurRing (QQ, s, 3)
i9 : classFunction sF

o9 = ClassFunction{{1, 1, 1} => 2}
                   {3} => -1

o9 : ClassFunction

We can add, subtract, multiply, scale class functions:

i10 : S = schurRing(QQ,s,4);
i11 : c1 = classFunction(S_{2,1,1}-S_{4});
i12 : c2 = classFunction(S_{3,1});
i13 : c1 + c2

o13 = ClassFunction{{1, 1, 1, 1} => 5}
                    {2, 1, 1} => -1
                    {2, 2} => -3
                    {3, 1} => -1
                    {4} => -1

o13 : ClassFunction
i14 : c1 * c2

o14 = ClassFunction{{1, 1, 1, 1} => 6}
                    {2, 1, 1} => -2
                    {2, 2} => 2

o14 : ClassFunction
i15 : 3*c1 - c2*2

o15 = ClassFunction{{2, 1, 1} => -8}
                    {2, 2} => -4
                    {3, 1} => -3
                    {4} => 2

o15 : ClassFunction

The trivial and sign representations of S_4 are the characters of the shapes (4) and (1,1,1,1). Their pointwise product (which is c_1 * c_2 on ClassFunction) gives the sign representation back:

i16 : T = schurRing(QQ,t,4);
i17 : triv = classFunction(t_{4})

o17 = ClassFunction{{1, 1, 1, 1} => 1}
                    {2, 1, 1} => 1
                    {2, 2} => 1
                    {3, 1} => 1
                    {4} => 1

o17 : ClassFunction
i18 : sgn = classFunction(t_{1,1,1,1})

o18 = ClassFunction{{1, 1, 1, 1} => 1}
                    {2, 1, 1} => -1
                    {2, 2} => 1
                    {3, 1} => 1
                    {4} => -1

o18 : ClassFunction
i19 : triv * sgn == sgn

o19 = true

The regular representation of S_n has character n! on the identity class (1^n) and 0 elsewhere. By Frobenius reciprocity, it pairs trivially with the trivial character:

i20 : reg = new ClassFunction from {{1,1,1,1} => 24}

o20 = ClassFunction{{1, 1, 1, 1} => 24}

o20 : ClassFunction
i21 : scalarProduct(reg, triv)

o21 = 1

o21 : QQ

Products of class functions of induced/restricted representations recover well-known decompositions: the tensor square of the standard representation of S_4 pairs nontrivially with both the trivial and sign characters:

i22 : std = classFunction(t_{3,1});
i23 : sq = std * std;
i24 : scalarProduct(sq, triv)

o24 = 1

o24 : QQ
i25 : scalarProduct(sq, sgn)

o25 = 0

o25 : QQ

Methods that use a Class function:

For the programmer

The object ClassFunction is a type, with ancestor classes HashTable < Thing.


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