|  |  D.7.3.4 ImageGroup Procedure from libraryrinvar.lib(see  rinvar_lib).
 
Example:Usage:
ImageGroup(G, action); ideal G, action;
Purpose:
compute the ideal of the image of G in GL(m,K) induced by the linear
action 'action', where G is an algebraic group and 'action' defines
an action of G on K^m (size(action) = m).
Return:
ring, a polynomial ring over the same ground field as the basering,
containing the ideals 'groupid' and 'actionid'.
- 'groupid' is the ideal of the image of G (order <= order of G)
- 'actionid' defines the linear action of 'groupid' on K^m.
 
Note:
'action' and 'actionid' have the same orbits
all variables which give only rise to 0's in the m x m matrices of G
have been omitted.
 
Assume:
basering K[s(1..r),t(1..m)] has r + m variables, G is the ideal of an
algebraic group and F is an action of G on K^m. G contains only the
variables s(1)...s(r). The action 'action' is given by polynomials
f_1,...,f_m in basering, s.t. on the ring level we have
K[t_1,...,t_m] --> K[s_1,...,s_r,t_1,...,t_m]/G
t_i --> f_i(s_1,...,s_r,t_1,...,t_m)
 
 |  | LIB "rinvar.lib";
ring B   = 0,(s(1..2), t(1..2)),dp;
ideal G = s(1)^3-1, s(2)^10-1;
ideal action = s(1)*s(2)^8*t(1), s(1)*s(2)^7*t(2);
def R = ImageGroup(G, action);
==> 
==> // 'ImageGroup' 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 ideal of the image of the input group and to access the \
   new
==> // action of the group, type
==>      setring R;  groupid; actionid;
==> 
setring R;
groupid;
==> groupid[1]=-s(1)+s(2)^4
==> groupid[2]=s(1)^8-s(2)^2
==> groupid[3]=s(1)^7*s(2)^2-1
actionid;
==> actionid[1]=s(1)*t(1)
==> actionid[2]=s(2)*t(2)
 | 
 
 |