This function is provided by the package BettiCharacters.
Use this function to recover a character from its decomposition into a linear combination of the irreducible characters in a character table. The shortcut d*T is equivalent to the command character(d,T).
As an example, we construct the character table of the symmetric group on 3 elements, then use it to decompose the character of the action of the same symmetric group permuting the variables of a standard graded polynomial ring.
i1 : s = {2,3,1}
o1 = {2, 3, 1}
o1 : List
|
i2 : M = matrix{{1,1,1},{-1,0,2},{1,-1,1}}
o2 = | 1 1 1 |
| -1 0 2 |
| 1 -1 1 |
3 3
o2 : Matrix ZZ <--- ZZ
|
i3 : R = QQ[x_1..x_3]
o3 = R
o3 : PolynomialRing
|
i4 : P = {1,2,3}
o4 = {1, 2, 3}
o4 : List
|
i5 : T = characterTable(s,M,R,P)
o5 = Character table over R
| 2 3 1
----+-----------
X0 | 1 1 1
X1 | -1 0 2
X2 | 1 -1 1
o5 : CharacterTable
|
i6 : acts = {matrix{{x_2,x_3,x_1}},matrix{{x_2,x_1,x_3}},matrix{{x_1,x_2,x_3}}}
o6 = {| x_2 x_3 x_1 |, | x_2 x_1 x_3 |, | x_1 x_2 x_3 |}
o6 : List
|
i7 : A = action(R,acts)
o7 = PolynomialRing with 3 actors
o7 : ActionOnGradedModule
|
i8 : c = character(A,0,10)
o8 = Character over R
(0, {0}) => | 1 1 1 |
(0, {1}) => | 0 1 3 |
(0, {2}) => | 0 2 6 |
(0, {3}) => | 1 2 10 |
(0, {4}) => | 0 3 15 |
(0, {5}) => | 0 3 21 |
(0, {6}) => | 1 4 28 |
(0, {7}) => | 0 4 36 |
(0, {8}) => | 0 5 45 |
(0, {9}) => | 1 5 55 |
(0, {10}) => | 0 6 66 |
o8 : Character
|
i9 : d = c/T
o9 = Decomposition table
| X0 X1 X2
-----------+------------
(0, {0}) | 1 0 0
(0, {1}) | 1 1 0
(0, {2}) | 2 2 0
(0, {3}) | 3 3 1
(0, {4}) | 4 5 1
(0, {5}) | 5 7 2
(0, {6}) | 7 9 3
(0, {7}) | 8 12 4
(0, {8}) | 10 15 5
(0, {9}) | 12 18 7
(0, {10}) | 14 22 8
o9 : CharacterDecomposition
|
i10 : c === d*T
o10 = true
|