 LIB "rinvar.lib";
ring B = 0, (s(1..2), t(1..2)), dp;
ideal G = s(1)+s(2)^3, s(1)^41;
ideal action = s(1)*t(1), s(2)*t(2);
def R = InvariantRing(std(G), action);
==>
==> // 'InvariantRing' created a new ring.
==> // To see the ring, type (if the name 'R' was assigned to the return valu\
e):
==> show(R);
==> // To access the generators of the invariant ring type
==> setring R; invars;
==> // Note that the input group G is stored in R as the ideal 'groupid'; to
==> // see it, type
==> groupid;
==> // Note that 'InvariantRing' might change the minimal polynomial
==> // The representation of the algebraic number is given by 'newA'
==>
setring R;
invars;
==> invars[1]=t(1)^4
==> invars[2]=t(1)^3*t(2)^3
==> invars[3]=t(1)^2*t(2)^6
==> invars[4]=t(1)*t(2)^9
==> invars[5]=t(2)^12
