# Singular          #### D.4.13.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), 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=x3+1/3x2+1/3 ==> J=z4+1/5z2+4/5 ==> J=y5+1/11y3+2/11 I = homog(I, t); J = modStd(I); J; ==> J=x3+1/3x2t+1/3t3 ==> J=z4+1/5z2t2+4/5t4 ==> J=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=xy+7z6 ==> J=xz+6y5 ==> J=yz+5x4 ==> J=x5-7/5z7 ==> J=y6-7/6z7 ==> J=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 ``` 