This function is provided by the package BettiCharacters.
Use this function to compute the characters of the finite group action on the graded components of a module. The second argument is the (multi)degree of the desired component. For $\mathbb{Z}$-graded rings, one may compute characters in a range of degrees by providing the lowest and highest degrees in the range.
To illustrate, we compute the Betti characters of a symmetric group on the graded components of a polynomial ring, a monomial ideal, and their quotient. The characters are determined by five permutations with cycle types, in order: 4, 31, 22, 211, 1111.
i1 : R = QQ[x_1..x_4]
o1 = R
o1 : PolynomialRing
|
i2 : I = ideal apply(subsets(gens R,2),product)
o2 = ideal (x x , x x , x x , x x , x x , x x )
1 2 1 3 2 3 1 4 2 4 3 4
o2 : Ideal of R
|
i3 : G = {matrix{{x_2,x_3,x_4,x_1}},
matrix{{x_2,x_3,x_1,x_4}},
matrix{{x_2,x_1,x_4,x_3}},
matrix{{x_2,x_1,x_3,x_4}},
matrix{{x_1,x_2,x_3,x_4}} }
o3 = {| x_2 x_3 x_4 x_1 |, | x_2 x_3 x_1 x_4 |, | x_2 x_1 x_4 x_3 |, | x_2
------------------------------------------------------------------------
x_1 x_3 x_4 |, | x_1 x_2 x_3 x_4 |}
o3 : List
|
i4 : Q = R/I
o4 = Q
o4 : QuotientRing
|
i5 : A = action(R,G)
o5 = PolynomialRing with 5 actors
o5 : ActionOnGradedModule
|
i6 : B = action(I,G)
o6 = Ideal with 5 actors
o6 : ActionOnGradedModule
|
i7 : C = action(Q,G)
o7 = QuotientRing with 5 actors
o7 : ActionOnGradedModule
|
i8 : character(A,0,5)
o8 = Character over R
(0, {0}) => | 1 1 1 1 1 |
(0, {1}) => | 0 1 0 2 4 |
(0, {2}) => | 0 1 2 4 10 |
(0, {3}) => | 0 2 0 6 20 |
(0, {4}) => | 1 2 3 9 35 |
(0, {5}) => | 0 2 0 12 56 |
o8 : Character
|
i9 : character(B,0,5)
o9 = Character over R
(0, {2}) => | 0 0 2 2 6 |
(0, {3}) => | 0 1 0 4 16 |
(0, {4}) => | 1 1 3 7 31 |
(0, {5}) => | 0 1 0 10 52 |
o9 : Character
|
i10 : character(C,0,5)
o10 = Character over R
(0, {0}) => | 1 1 1 1 1 |
(0, {1}) => | 0 1 0 2 4 |
(0, {2}) => | 0 1 0 2 4 |
(0, {3}) => | 0 1 0 2 4 |
(0, {4}) => | 0 1 0 2 4 |
(0, {5}) => | 0 1 0 2 4 |
o10 : Character
|
i11 : character(C,6)
o11 = Character over R
(0, {6}) => | 0 1 0 2 4 |
o11 : Character
|