# Singular

#### D.4.19.6 torusInvariants

Procedure from library normaliz.lib (see normaliz_lib).

Usage:
torusInvariants(intmat A);

Return:
Returns an ideal representing the list of monomials generating the ring of invariants as an algebra over the coefficient field. .
The function returns the ideal given by the input matrix A if one of the options supp, triang, volume, or hseries has been activated. However, in this case some numerical invariants are computed, and some other data may be contained in files that you can read into Singular (see showNuminvs, exportNuminvs).

Background:
Let be the -dimensional torus acting on the polynomial ring diagonally. Such an action can be described as follows: there are integers , , , such that acts by the substitution

In order to compute the ring of invariants one must specify the matrix .

Example:
 LIB "normaliz.lib"; ring R=0,(x,y,z,w),dp; intmat E[2][4] = -1,-1,2,0, 1,1,-2,-1; torusInvariants(E); ==> _[1]=y2z ==> _[2]=xyz ==> _[3]=x2z