
7.7.6.0. bfctVarAnn
Procedure from library dmodvar.lib (see dmodvar_lib).
 Usage:
 bfctVarAnn(F[,gid,eng]); F an ideal, gid,eng optional ints
 Return:
 list of an ideal and an intvec
 Purpose:
 computes the roots of the BernsteinSato polynomial and their multiplicities
for an affine algebraic variety defined by F = F[1],..,F[r].
 Assume:
 The basering is commutative and over a field in char 0.
 Note:
 In the output list, the ideal contains all the roots and
the intvec their multiplicities.
If gid<>0, the ideal is used as given. Otherwise, and by default, a
heuristically better suited generating set is used.
If eng<>0, std is used for GB computations,
otherwise, and by default, slimgb is used.
Computational remark: The time of computation can be very different depending
on the chosen generators of F, although the result is always the same.
Further note that in this proc, the annihilator of f^s in D[s] is computed and
then a system of linear equations is solved by linear reductions in order to
find the minimal polynomial of S = s(1)(1) + ... + s(P)(P).
The resulted is shifted by 1codim(Var(F)) following (BMS06).
 Display:
 If printlevel=1, progress debug messages will be printed,
if printlevel=2, all the debug messages will be printed.
Example:
 LIB "dmodvar.lib";
ring R = 0,(x,y,z),Dp;
ideal F = x^2+y^3, z;
bfctVarAnn(F);
==> [1]:
==> _[1]=5/6
==> _[2]=1
==> _[3]=7/6
==> [2]:
==> 1,1,1

