# Singular          ##### 7.5.17.0. ncmodslimgb
Procedure from library `ncModslimgb.lib` (see ncModslimgb_lib).

Usage:
ncmodslimgb(I[, exactness, ncores]); I ideal, optional integers exactness and n(umber of )cores

Return:
ideal

Purpose:
compute a left Groebner basis of I by modular approach

Assume:
basering is a G-algebra; base field is prime field Q of rationals.

Note:
- If the given algebra and ideal are graded (it is not checked by this command), then the computed Groebner basis will be exact. Otherwise, the result will be correct with a very high probability. - The optional parameter `exactness` justifies, whether the final (expensive) verification step will be performed or not (exactness=0, default value is 1). - The optional parameter `ncores` (default value is 1) provides an integer to use the number of cores (this must not exceed the number of available cores in the computing machine).

Example:
 ```LIB "ncModslimgb.lib"; ring r = 0,(x,y),dp; poly P = y^4+x^3+x*y^3; // a (3,4)-Reiffen curve def A = Sannfs(P); setring A; // computed D-module data from P ideal bs = LD, imap(r,P); // preparing the computation of the Bernstein-Sato polynomial ideal I1 = ncmodslimgb(bs,0,2); // no final verification, use 2 cores ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure ==> // ** going to redefine the algebra structure I1; // the Bernstein-Sato polynomial of P, univariate in s ==> s^7+7*s^6+499/24*s^5+815/24*s^4+227563/6912*s^3+43627/2304*s^2+4461779/74\ 6496*s+595595/746496 ideal I2 = ncmodslimgb(bs); // do the final verification, use 1 core (default) I2; // the Bernstein-Sato polynomial of P, univariate in s ==> s^7+7*s^6+499/24*s^5+815/24*s^4+227563/6912*s^3+43627/2304*s^2+4461779/74\ 6496*s+595595/746496 ```

### Misc 