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

Usage:
annfsBMI(F [,eng,met,us]); F an ideal, eng, met, us optional ints

Return:
ring

Purpose:
compute two kinds of Bernstein-Sato ideals, associated to
f = F*..*F[P], with the multivariate algorithm by Briancon and Maisonobe.

Note:
activate the output ring with the `setring` command. In this ring,
- the ideal LD is the annihilator of F^s_1*..*F[P]^s_p,
- the list or ideal BS is a Bernstein-Sato ideal of a polynomial f = F*..*F[P].
If eng <>0, `std` is used for Groebner basis computations,
otherwise, and by default `slimgb` is used.
If met <0, the B-Sigma ideal (cf. Castro and Ucha,
'On the computation of Bernstein-Sato ideals', 2005) is computed.
If 0 < met < P, then the ideal B_P (cf. the paper) is computed.
Otherwise, and by default, the ideal B (cf. the paper) is computed.
If us<>0, then syzygies-driven method is used.
If the output ideal happens to be principal, the list of factors
with their multiplicities is returned instead of the ideal.
If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.

Example:
 ```LIB "dmod.lib"; ring r = 0,(x,y),Dp; ideal F = x,y,x+y; printlevel = 0; // *1* let us compute the B ideal def A = annfsBMI(F); setring A; LD; // annihilator ==> LD=x*Dx+y*Dy-s(1)-s(2)-s(3) ==> LD=x*y*Dy+y^2*Dy-x*s(2)-y*s(2)-y*s(3) ==> LD=y^2*Dx*Dy-y^2*Dy^2+y*Dy*s(1)-y*Dx*s(2)+2*y*Dy*s(2)-y*Dx*s(3)+y*Dy*s\ (3)-s(1)*s(2)-s(2)^2-s(2)*s(3)-s(2) BS; // Bernstein-Sato ideal ==> : ==> _=s(1)+1 ==> _=s(2)+1 ==> _=s(1)+s(2)+s(3)+3 ==> _=s(1)+s(2)+s(3)+4 ==> _=s(1)+s(2)+s(3)+2 ==> _=s(3)+1 ==> : ==> 1,1,1,1,1,1 // *2* now, let us compute B-Sigma ideal setring r; def Sigma = annfsBMI(F,0,-1); setring Sigma; print(matrix(lead(LD))); // compact form of leading ==> x*Dx,x*y*Dy,y^2*Dx*Dy // monomials from the annihilator BS; // Bernstein-Sato B-Sigma ideal: it is principal, ==> : ==> _=s(1)+s(2)+s(3)+2 ==> : ==> 1 // so factors and multiplicities are returned // *3* and now, let us compute B-i ideal setring r; def Bi = annfsBMI(F,0,3); // that is F=x+y is taken setring Bi; print(matrix(lead(LD))); // compact form of leading ==> x*Dx,x*y*Dy,y^2*Dx*Dy // monomials from the annihilator BS; // the B_3 ideal: it is principal, so factors ==> : ==> _=s(1)+s(2)+s(3)+2 ==> _=s(3)+1 ==> : ==> 1,1 // and multiplicities are returned ```

### Misc 