invariants D
This function is provided by the package InvariantRing. It implements an algorithm to compute a minimal set of generating monomial invariants for a diagonal action of an abelian group $(k^*)^r \times \mathbb{Z}/d_1 \times \cdots \times \mathbb{Z}/d_g$ on a polynomial ring $R = k[x_1, \dots, x_n]$. 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 algorithm combines a modified version of an algorithm for tori due to Derksen and Kemper which can be found in:
together with an algorithm for finite abelian groups due to Gandini which can be found in:
Here is an example of a onedimensional torus acting on a twodimensional vector space:




Here is an example of a product of two cyclic groups of order 3 acting on a threedimensional vector space:





Here is an example of a diagoanl action by the product of a twodimensional torus with a cyclic group of order 3 acting on a twodimensional vector space:





