Macaulay2 » Documentation
Packages » InvariantRing :: diagonalAction
next | previous | forward | backward | up | index | toc

diagonalAction -- diagonal group action via weights

Description

This function is provided by the package InvariantRing.

Use this function to set up a diagonal action of a group $(k^*)^r \times \mathbb{Z}/d_1 \times \cdots \times \mathbb{Z}/d_g$ on a polynomial ring $R = k[x_1,\ldots,x_n]$ over a field. Saying the action is diagonal means that $(t_1,\ldots,t_r) \in (k^*)^r$ acts by $$(t_1,\ldots,t_r) \cdot x_j = t_1^{w_{1,j}}\cdots t_r^{w_{r,j}} x_j$$ for some integers $w_{i,j}$ and the generators $u_1, \dots, u_g$ of the cyclic abelian factors act by $$u_i \cdot x_j = \zeta_i^{w_{r+i,j}} x_j$$ for $\zeta_i$ a primitive $d_i$-th root of unity. The integers $w_{i,j}$ comprise the weight matrix W. In other words, the $j$ -th column of W is the weight vector of $x_j$.

The following example defines an action of a two-dimensional torus on a four-dimensional vector space with a basis of weight vectors whose weights are the columns of the input matrix.

i1 : R = QQ[x_1..x_4];
i2 : W = matrix{{0,1,-1,1},{1,0,-1,-1}};

              2       4
o2 : Matrix ZZ  <-- ZZ
i3 : T = diagonalAction(W, R)

             * 2
o3 = R <- (QQ )  via 

     | 0 1 -1 1  |
     | 1 0 -1 -1 |

o3 : DiagonalAction

Here are examples with products of cyclic groups acting on a three-dimensional vector space. The orders of the cyclic factors can be passed as a list of integers or as a single integer when they are all the same.

i4 : R = QQ[x_1..x_3];
i5 : d = {2,5}; z = 3;
i7 : W = matrix{{1,0,1},{0,1,1}};

              2       3
o7 : Matrix ZZ  <-- ZZ
i8 : A = diagonalAction(W, d, R)

o8 = R <- ZZ/2 x ZZ/5 via 

     | 1 0 1 |
     | 0 1 1 |

o8 : DiagonalAction
i9 : B = diagonalAction(W, z, R)

o9 = R <- ZZ/3 x ZZ/3 via 

     | 1 0 1 |
     | 0 1 1 |

o9 : DiagonalAction

Here is an example of a diagonal action by the product of a two-dimensional torus with a cyclic group of order 3 acting on a two-dimensional vector space:

i10 : R = QQ[x_1, x_2]

o10 = R

o10 : PolynomialRing
i11 : d = {3}

o11 = {3}

o11 : List
i12 : W1 = matrix{{1,-1}, {-1,1}}

o12 = | 1  -1 |
      | -1 1  |

               2       2
o12 : Matrix ZZ  <-- ZZ
i13 : W2 = matrix {{1,0}}

o13 = | 1 0 |

               1       2
o13 : Matrix ZZ  <-- ZZ
i14 : D = diagonalAction(W1, W2, d, R)

              * 2
o14 = R <- (QQ )  x ZZ/3 via 

      (| 1  -1 |, | 1 0 |)
       | -1 1  |

o14 : DiagonalAction

Finally, a diagonal action may be constructed with a single weights matrix obtained by vertically stacking the weights matrix for the torus action on top of the weight matrix for the finite abelian action. The following redefines the same action as in the previous example.

i15 : W = W1 || W2

o15 = | 1  -1 |
      | -1 1  |
      | 1  0  |

               3       2
o15 : Matrix ZZ  <-- ZZ
i16 : diagonalAction(W, d, R)

              * 2
o16 = R <- (QQ )  x ZZ/3 via 

      (| 1  -1 |, | 1 0 |)
       | -1 1  |

o16 : DiagonalAction

Ways to use diagonalAction:

  • diagonalAction(Matrix,List,PolynomialRing)
  • diagonalAction(Matrix,Matrix,List,PolynomialRing)
  • diagonalAction(Matrix,PolynomialRing)
  • diagonalAction(Matrix,ZZ,PolynomialRing)

For the programmer

The object diagonalAction is a method function.


The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/InvariantRing/AbelianGroupsDoc.m2:120:0.