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