Macaulay2 » Documentation
Packages » BettiCharacters > action > action(Module,List,List)
next | previous | forward | backward | up | index | toc

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

Synopsis

Description

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. One may pass these elements as square matrices by setting the optional input Sub to false. The list G can contain arbitrary group elements however, 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

Ways to use this method: