
7.5.2.0. bfctAnn
Procedure from library bfun.lib (see bfun_lib).
 Usage:
 bfctAnn(f [,a,b,c]); f a poly, a, b, c optional ints
 Return:
 list of ideal and intvec
 Purpose:
 computes the roots of the BernsteinSato polynomial b(s) for the
hypersurface defined by f.
 Assume:
 The basering is commutative and of characteristic 0.
 Background:
 In this proc, Ann(f^s) is computed and then a system of linear
equations is solved by linear reductions.
 Note:
 In the output list, the ideal contains all the roots and the intvec
their multiplicities.
If a<>0, only f is appended to Ann(f^s), otherwise, and by default,
f and all its partial derivatives are appended.
If b<>0, std is used for GB computations, otherwise, and by
default, slimgb is used.
If c<>0, std is used for Groebner basis computations of ideals
<I+J> when I is already a Groebner basis of <I>.
Otherwise, and by default the engine determined by the switch b is used.
Note that in the case c<>0, the choice for b will be overwritten only
for the types of ideals mentioned above.
This means that if b<>0, specifying c has no effect.
 Display:
 If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.
Example:
 LIB "bfun.lib";
ring r = 0,(x,y),dp;
poly f = x^2+y^3+x*y^2;
bfctAnn(f);
==> [1]:
==> _[1]=5/6
==> _[2]=1
==> _[3]=7/6
==> [2]:
==> 1,1,1
def R = reiffen(4,5); setring R;
RC; // the Reiffen curve in 4,5
==> xy4+y5+x4
bfctAnn(RC,0,1);
==> [1]:
==> _[1]=9/20
==> _[2]=11/20
==> _[3]=13/20
==> _[4]=7/10
==> _[5]=17/20
==> _[6]=9/10
==> _[7]=19/20
==> _[8]=1
==> _[9]=21/20
==> _[10]=11/10
==> _[11]=23/20
==> _[12]=13/10
==> _[13]=27/20
==> [2]:
==> 1,1,1,1,1,1,1,1,1,1,1,1,1

