#### D.4.17.1 modStd

Procedure from library `modstd.lib` (see modstd_lib).

Usage:
  modStd(I[, exactness]); I ideal/module, 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(default) then the result is verified to be a standard basis and contains I.
  If in addition the generators of I are homogeneous
  or the ordering is local, the result is a standard basis of I. Otherwise, the result is 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.

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