Description
This function is provided by the package
InvariantRing.
Writing the diagonal group acting on the polynomial ring $k[x_1,\dots,x_n]$ as $(k^*)^r \times \mathbb{Z}/d_1 \times \cdots \times \mathbb{Z}/d_g$, this function returns g.
Here is an example of a product of two cyclic groups of order 3 acting on a polynomial ring in 3 variables.
i1 : R = QQ[x_1..x_3]
o1 = R
o1 : PolynomialRing
|
i2 : d = {3,3}
o2 = {3, 3}
o2 : List
|
i3 : W = matrix{{1,0,1},{0,1,1}}
o3 = | 1 0 1 |
| 0 1 1 |
2 3
o3 : Matrix ZZ <-- ZZ
|
i4 : A = diagonalAction(W, d, R)
o4 = R <- ZZ/3 x ZZ/3 via
| 1 0 1 |
| 0 1 1 |
o4 : DiagonalAction
|
i5 : numgens A
o5 = 2
|