# action(Module,List,List) -- define finite group action on a graded module

## Synopsis

• Function: action
• Usage:
A=action(M,G)
A=action(M,G,G')
• Inputs:
• M, , a graded module/ideal/quotient over a polynomial ring R
• G, a list, of group elements acting on the variables of R
• G', a list, of group elements acting on the ambient module of M
• Optional inputs:
• Sub => ..., default value true, act on ring via substitutions (rather than matrices)
• Outputs:

## Description

This function is provided by the package BettiCharacters.

Use this function to define the action of a finite group on a graded module over a polynomial ring with coefficients in a field. This includes also an ideal in the polynomial ring, a quotient of the polynomial ring, and the polynomial ring itself. After setting up the action, use the function character to compute the characters of graded components.

The input G is a List of group elements acting on the vector space spanned by the variables of the ring R. By default, these elements are passed as one-row substitution matrices as those accepted by substitute. The optional input Sub may be used to pass these elements as square matrices. For the function to work, G can be an arbitrary list of group elements however, in order to obtain a complete representation theoretic description of the characters, G should be a list of representatives of the conjugacy classes of the group.

The example below sets up the action of a symmetric group on a polynomial ring, a monomial ideal, and the corresponding quotient. The symmetric group acts by permuting the four variables of the ring. The conjugacy classes of permutations are determined by their cycle types, which are in bijection with partitions. In this case, we consider five permutations with cycle types, in order: 4, 31, 22, 211, 1111.

 i1 : R = QQ[x_1..x_4] o1 = R o1 : PolynomialRing i2 : 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}} } o2 = {| 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 |} o2 : List i3 : action(R,G) o3 = PolynomialRing with 5 actors o3 : ActionOnGradedModule i4 : I = ideal apply(subsets(gens R,2),product) o4 = 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 o4 : Ideal of R i5 : action(I,G) o5 = Ideal with 5 actors o5 : ActionOnGradedModule i6 : Q = R/I o6 = Q o6 : QuotientRing i7 : A = action(Q,G) o7 = QuotientRing with 5 actors o7 : ActionOnGradedModule

The group elements acting on the ring can be recovered using ringActors. To recover just the number of group elements, use numActors.

 i8 : ringActors A o8 = {| 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 |} o8 : List i9 : numActors A o9 = 5

The simplified version of this function assumes that the group acts trivially on the generator of the polynomial ring.

When working with a module M, one needs to declare the action of the group on a basis of the free ambient module of M. Unless this action is trivial, it can be specified using the third argument, a list G' of matrices written with respect to the basis of the free ambient module of M used by Macaulay2. Moreover, the group elements in G' must match (in number and order) the elements in G.

To illustrate, we set up the action on the canonical module of the quotient in the previous example. We obtain the list of group elements G' for the canonical module by computing the action on its resolution.

 i10 : E = Ext^3(R^1/I,R^{-4}) o10 = cokernel | x_4 x_2 0 x_3 0 x_3 0 0 | | 0 0 x_4 x_3 x_1 0 0 0 | | 0 0 0 0 0 x_3 x_2 x_1 | 3 o10 : R-module, quotient of R i11 : RE = res E 3 8 6 1 o11 = R <-- R <-- R <-- R <-- 0 0 1 2 3 4 o11 : ChainComplex i12 : G'' = toList(5:id_(R^1)) o12 = {| 1 |, | 1 |, | 1 |, | 1 |, | 1 |} o12 : List i13 : B = action(RE,G,G'',3) o13 = ChainComplex with 5 actors o13 : ActionOnComplex i14 : G' = actors(B,0) o14 = {| 0 0 1 |, | -1 1 1 |, | 0 -1 0 |, | 0 1 0 |, | 1 0 0 |} | 1 0 0 | | -1 0 0 | | -1 0 0 | | 1 0 0 | | 0 1 0 | | -1 1 1 | | 0 0 1 | | 1 -1 -1 | | 0 0 -1 | | 0 0 1 | o14 : List i15 : action(E,G,G') o15 = Module with 5 actors o15 : ActionOnGradedModule