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 |