|
D.4.13.1 modStd
Procedure from library modstd.lib (see modstd_lib).
- Usage:
- modStd(I[, exactness]); I ideal, exactness int
- Return:
- a standard basis of I
- Note:
- The procedure computes a standard basis of I (over the rational
numbers) by using modular methods.
An optional parameter 'exactness' can be provided.
If exactness = 1, the procedure computes a standard basis of I for
sure; if exactness = 0, it computes a standard basis of I
with high probability.
Example:
| LIB "modstd.lib";
ring R1 = 0, (x,y,z,t), dp;
ideal I = 3x3+x2+1, 11y5+y3+2, 5z4+z2+4;
ideal J = modStd(I);
J;
==> J[1]=x3+1/3x2+1/3
==> J[2]=z4+1/5z2+4/5
==> J[3]=y5+1/11y3+2/11
I = homog(I, t);
J = modStd(I);
J;
==> J[1]=x3+1/3x2t+1/3t3
==> J[2]=z4+1/5z2t2+4/5t4
==> J[3]=y5+1/11y3t2+2/11t5
ring R2 = 0, (x,y,z), ds;
ideal I = jacob(x5+y6+z7+xyz);
ideal J = modStd(I, 0);
J;
==> J[1]=xy+7z6
==> J[2]=xz+6y5
==> J[3]=yz+5x4
==> J[4]=x5-7/5z7
==> J[5]=y6-7/6z7
==> J[6]=z8
ring R3 = 0, x(1..4), lp;
ideal I = cyclic(4);
ideal J1 = modStd(I, 1); // default
ideal J2 = modStd(I, 0);
size(reduce(J1, J2));
==> 0
size(reduce(J2, J1));
==> 0
| See also:
modular.
|