# Singular          #### D.14.2.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 the saturation wrt. the product of the variables in J

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)); ==> _=z2+z ==> _=y2+y ==> _=x2+x // returns x+1 instead of x2+x satstd(I,ideal(x)); ==> _=x+1 ==> _=z2+z ==> _=y2+y // returns standard basis with elements of degree up to 8 (instead of 16) deg(satstd(I^8)); ==> 8 ```

### Misc 