NmzTorusInvariants(M: MAT, R: Ring): LIST of RINGELEM
Description
Let
T=(K^*)^r
be the r-dimensional torus acting on the polynomial ring
R=K[X_1,...,X_n]
diagonally. Such an action can be described as follows:
there are integers a_ij, i=1,...,r, j=1,...,n such that (l_1,...,l_r) in
T
acts by the substitution X_j maps to l_1^{a_{1j}} * ... * l_r^{a_{rj}} * Xj for j=1,...,n.
The function takes the matrix M = (a_{ij}) and the ring
R
as input.
It computes the ring of invariants R^T = {f in R | lf = f for all l in T}.
Example
/**/ Use R::=QQ[x,y,z,w];
/**/ T := matrix([[-1,-1,2,0],[1,1,-2,-1]]);
/**/ NmzTorusInvariants(T,R);
[x^2*z, x*y*z, y^2*z]