#### D.7.3.4 ImageGroup

Procedure from library `rinvar.lib` (see rinvar_lib).

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)

Example:

    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)

User manual for Singular version 4-0-3, 2016, generated by texi2html.