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