up previous next

ring of invariants of torus action

NmzTorusInvariants(M: MAT, R: Ring): LIST of RINGELEM

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}.

/**/     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]

See Also