D.6.3.5 InvariantRing
.....................
Procedure from library rinvar.lib (see rinvar_lib).

Usage:
InvariantRing(G, Gact [, opt]); ideal G, Gact; int opt

Purpose:
compute generators of the invariant ring of G w.r.t. the action 'Gact'

Assume:
G is a finite group and 'Gact' is a linear action.

Return:
polynomial ring over a simple extension of the ground field of the
basering (the extension might be trivial), containing the ideals
'invars' and 'groupid' and the poly 'newA'

- 'invars' contains the algebra-generators of the invariant ring
- 'groupid' is the ideal of G in the new ring

- 'newA' if the minpoly changes this is the new representation of the
algebraic number, otherwise it is set to 'a'.

Note:
the delivered ring might have a different minimal polynomial

Example:
LIB "rinvar.lib";
ring B = 0, (s(1..2), t(1..2)), dp;
ideal G = -s(1)+s(2)^3, s(1)^4-1;
ideal action = s(1)*t(1), s(2)*t(2);
def R = InvariantRing(std(G), action);
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

<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version 2-0-4, October 2002,
generated by <a href="http://www.gnu.org/software/texinfo/"><i>texi2html</i></a>.
</font>

</body>
</html>
