Home Online Manual
Top
Back: eigenvalues
Forward: syModStd
FastBack:
FastForward:
Up: symodstd_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.4.29.5 symmStd

Procedure from library symodstd.lib (see symodstd_lib).

Usage:
symmStd(I,sigma,#); I ideal, sigma intvec

Assume:
size(sigma) = nvars(basering) =: n, basering has an order(sigma)-th primitive root of unity a (if char(basering) > 0) and sigma(I) = I

Return:
ideal, a standard basis of I

Note:
Assuming that the ideal I is invariant under the variable permutation sigma and the basering has an order(sigma)-th primitive root of unity the procedure uses linear transformation of variables in order to improve standard basis computation.
If char(basering) = 0 all computations are done in the polynomial ring over the smallest field extension that has an order(sigma)-th primitive root of unity.

Example:
 
LIB "symodstd.lib";
ring R = 0, x(1..4), dp;
ideal I = cyclic(4);
I;
==> I[1]=x(1)+x(2)+x(3)+x(4)
==> I[2]=x(1)*x(2)+x(2)*x(3)+x(1)*x(4)+x(3)*x(4)
==> I[3]=x(1)*x(2)*x(3)+x(1)*x(2)*x(4)+x(1)*x(3)*x(4)+x(2)*x(3)*x(4)
==> I[4]=x(1)*x(2)*x(3)*x(4)-1
intvec pi = 2,3,4,1;
ideal sI = symmStd(I,pi);
sI;
==> sI[1]=x(1)+x(2)+x(3)+x(4)
==> sI[2]=x(2)^2+2*x(2)*x(4)+x(4)^2
==> sI[3]=x(2)*x(3)^2+x(3)^2*x(4)-x(2)*x(4)^2-x(4)^3
==> sI[4]=x(2)*x(3)*x(4)^2+x(3)^2*x(4)^2-x(2)*x(4)^3+x(3)*x(4)^3-x(4)^4-1
==> sI[5]=x(2)*x(4)^4+x(4)^5-x(2)-x(4)
==> sI[6]=x(3)^3*x(4)^2+x(3)^2*x(4)^3-x(3)-x(4)
==> sI[7]=x(3)^2*x(4)^4+x(2)*x(3)-x(2)*x(4)+x(3)*x(4)-2*x(4)^2
ring S = 31, (x,y,z), dp;
ideal J;
J[1] = xy-y2+xz;
J[2] = xy+yz-z2;
J[3] = -x2+xz+yz;
intvec tau = 3,1,2;
ideal sJ = symmStd(J,tau);
sJ;
==> sJ[1]=y2-xz+yz-z2
==> sJ[2]=xy+yz-z2
==> sJ[3]=x2-xz-yz
==> sJ[4]=yz2-z3
==> sJ[5]=xz2
==> sJ[6]=z4