          ##### 7.5.4.0. checkRoot
Procedure from library `dmod.lib` (see dmod_lib).

Usage:
checkRoot(f,alpha [,S,eng]); poly f, number alpha, string S, int eng

Return:
int

Assume:
Basering is a commutative ring, alpha is a positive rational number.

Purpose:
check whether a negative rational number -alpha is a root of the global
Bernstein-Sato polynomial of f and compute its multiplicity,
with the algorithm given by S and with the Groebner basis engine given by eng.

Note:
The annihilator of f^s in D[s] is needed and hence it is computed with the
algorithm by Briancon and Maisonobe. The value of a string S can be
'alg1' (default) - for the algorithm 1 of [LM08]
'alg2' - for the algorithm 2 of [LM08]
Depending on the value of S, the output of type int is:
'alg1': 1 only if -alpha is a root of the global Bernstein-Sato polynomial
'alg2': the multiplicity of -alpha as a root of the global Bernstein-Sato
polynomial of f. If -alpha is not a root, the output is 0.
If eng <>0, `std` is used for Groebner basis computations,
otherwise (and by default) `slimgb` is used.

Display:
If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.

Example:
 ```LIB "dmod.lib"; printlevel=0; ring r = 0,(x,y),Dp; poly F = x^4+y^5+x*y^4; checkRoot(F,11/20); // -11/20 is a root of bf ==> 1 poly G = x*y; checkRoot(G,1,"alg2"); // -1 is a root of bg with multiplicity 2 ==> 2 ```          User manual for Singular version 4.3.2, 2023, generated by texi2html.