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 = GradedCharacter{{0} => Character{1, 1, 1, 1, 1} }
{1} => Character{0, 1, 0, 2, 4}
{2} => Character{0, 1, 2, 4, 10}
{3} => Character{0, 2, 0, 6, 20}
{4} => Character{1, 2, 3, 9, 35}
{5} => Character{0, 2, 0, 12, 56}
o8 : GradedCharacter
|
i9 : character(B,0,5)
o9 = GradedCharacter{{0} => Character{0, 0, 0, 0, 0} }
{1} => Character{0, 0, 0, 0, 0}
{2} => Character{0, 0, 2, 2, 6}
{3} => Character{0, 1, 0, 4, 16}
{4} => Character{1, 1, 3, 7, 31}
{5} => Character{0, 1, 0, 10, 52}
o9 : GradedCharacter
|
i10 : character(C,0,5)
o10 = GradedCharacter{{0} => Character{1, 1, 1, 1, 1}}
{1} => Character{0, 1, 0, 2, 4}
{2} => Character{0, 1, 0, 2, 4}
{3} => Character{0, 1, 0, 2, 4}
{4} => Character{0, 1, 0, 2, 4}
{5} => Character{0, 1, 0, 2, 4}
o10 : GradedCharacter
|
i11 : character(C,6)
o11 = GradedCharacter{{6} => Character{0, 1, 0, 2, 4}}
o11 : GradedCharacter
|