#### D.7.3.7 LinearizeAction

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

Usage:
  LinearizeAction(G,action,r); ideal G, action; int r

Purpose:
  linearize the group action 'action' and find an equivariant embedding of K^m where m = size(action).

Assume:
  G contains only variables var(1..r) (r = nrs)
  basering = K[s(1..r),t(1..m)], K = Q or K = Q(a) and minpoly != 0.

Return:
  polynomial ring containing the ideals 'actionid', 'embedid', 'groupid' - 'actionid' is the ideal defining the linearized action of G - 'embedid' is a parameterization of an equivariant embedding (closed) - 'groupid' is the ideal of G in the new ring

Note:
  set printlevel > 0 to see a trace

Example:

    LIB "rinvar.lib";
    ring B   = 0,(s(1..5), t(1..3)),dp;
    ideal G =  s(3)-s(4), s(2)-s(5), s(4)*s(5), s(1)^2*s(4)+s(1)^2*s(5)-1, s(1)^2*s(5)^2-s(5), s(4)^4-s(5)^4+s(1)^2, s(1)^4+s(4)^3-s(5)^3, s(5)^5-s(1)^2*s(5);
    ideal action = -s(4)*t(1)+s(5)*t(1), -s(4)^2*t(2)+2*s(4)^2*t(3)^2+s(5)^2*t(2), s(4)*t(3)+s(5)*t(3);
    LinearActionQ(action, 5);
    ==> 0
    def R = LinearizeAction(G, action, 5);
    ==>
    ==> // 'LinearizeAction' 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 new action and the equivariant embedding, type
    ==>      setring R; actionid; embedid; groupid
    ==>
    setring R;
    R;
    ==> // coefficients: QQ considered as a field
    ==> // number of vars : 9
    ==> //        block   1 : ordering dp
    ==> //                  : names    s(1) s(2) s(3) s(4) s(5) t(1) t(2) t(3) t(\
       4)
    ==> //        block   2 : ordering C
    actionid;
    ==> actionid[1]=-s(4)*t(1)+s(5)*t(1)
    ==> actionid[2]=-s(4)^2*t(2)+s(5)^2*t(2)+2*s(4)^2*t(4)
    ==> actionid[3]=s(4)*t(3)+s(5)*t(3)
    ==> actionid[4]=s(4)^2*t(4)+s(5)^2*t(4)
    embedid;
    ==> embedid[1]=t(1)
    ==> embedid[2]=t(2)
    ==> embedid[3]=t(3)
    ==> embedid[4]=t(3)^2
    groupid;
    ==> groupid[1]=s(3)-s(4)
    ==> groupid[2]=s(2)-s(5)
    ==> groupid[3]=s(4)*s(5)
    ==> groupid[4]=s(1)^2*s(4)+s(1)^2*s(5)-1
    ==> groupid[5]=s(1)^2*s(5)^2-s(5)
    ==> groupid[6]=s(4)^4-s(5)^4+s(1)^2
    ==> groupid[7]=s(1)^4+s(4)^3-s(5)^3
    ==> groupid[8]=s(5)^5-s(1)^2*s(5)
    LinearActionQ(actionid, 5);
    ==> 1

User manual for Singular version 4.4.1, 2025, generated by texi2html.