#### D.14.3.2 satstd

Procedure from library `customstd.lib` (see customstd_lib).

Usage:
  satstd(I[,J]); I ideal, J optional ideal

Assume:
  J generated by variables

Purpose:
  computes a standard basis of I and, if possible,
  divides each polynomial during the computation by the variables in J. By default, J is assumed to be the ideal generated by all variables.

Note:
  Even if I contains a monomial generated by the variables in J, there is no guarantee that it is found during the computation. If it is found, however, 1 is immediately returned.

Note:
  The result is a standard basis of a partially saturated ideal wrt. the the variables in J.
  If the I is homogeneous and the ordering dp, the result is completely saturated wrt. to the last variable (wrt. to the first for Dp).

Example:

    LIB "customstd.lib";
    ring r = 0,(x,y,z,u,v),dp;
    ideal I = x2+x,y2+y,z2+z;
    // returns normal standard basis, no changes during (trivial) computation
    satstd(I,ideal(u,v));
    ==> _[1]=z2+z
    ==> _[2]=y2+y
    ==> _[3]=x2+x
    // returns x+1 instead of x2+x
    satstd(I,ideal(x));
    ==> _[1]=x+1
    ==> _[2]=z2+z
    ==> _[3]=y2+y
    // returns standard basis with elements of degree up to 8 (instead of 16)
    deg(satstd(I^8));
    ==> 8

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