
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

