# numgens(DiagonalAction) -- number of generators of the finite part of a diagonal group

## Synopsis

• Function: numgens
• Usage:
numgens D
• Inputs:
• D, an instance of the type DiagonalAction, the action of a diagonal group
• Outputs:
• an integer, the number of generators of the group

## 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