|
7.5.6.0. BernsteinSatoIdeal
Procedure from library dmodideal.lib (see dmodideal_lib).
- Usage:
- BernsteinSatoIdeal(F [,eng,met,us]); F an ideal, eng, us optional ints,
met optional int or intvec
- Return:
- ring
- Purpose:
- compute two kinds of Bernstein-Sato ideals, associated to
f = F[1]*..*F[P], with the multivariate algorithm by Briancon and Maisonobe.
- Assume:
- basering is a commutative polynomial ring in characteristic 0
- Note:
- activate the output ring with the
setring command. In this ring,
- the ideal LD is the annihilator of F[1]^s_1*..*F[P]^s_p,
- the list or ideal BS is a Bernstein-Sato ideal of a polynomial
f = F[1]*..*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.
If met is an intvec, Budurs generalized Bernstein-Sato ideal
associated to met is computed.
Otherwise, and by default, the ideal B (cf. the paper) is computed.
If us<>0, then syzygies-driven method is used.
If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.
Example:
| LIB "dmodideal.lib";
ring R = 0,(x,y),dp;
ideal F = x^2-y,y;
// first we compute the ideal B:
def S = BernsteinSatoIdeal(F);
setring S;
BS;
==> BS[1]=4*s(1)^3*s(2)+4*s(1)^3+8*s(1)^2*s(2)^2+28*s(1)^2*s(2)+20*s(1)^2+4*s\
(1)*s(2)^3+28*s(1)*s(2)^2+55*s(1)*s(2)+31*s(1)+4*s(2)^3+20*s(2)^2+31*s(2)\
+15
// secondly we compute the ideal B_1:
setring R;
def S = BernsteinSatoIdeal(F,0,1);
==> // ** redefining S (def S = BernsteinSatoIdeal(F,0,1);)
setring S;
BS;
==> BS[1]=2*s(1)^2+2*s(1)*s(2)+5*s(1)+2*s(2)+3
// thirdly we compute the ideal B_sigma:
setring R;
def S = BernsteinSatoIdeal(F,0,-1);
==> // ** redefining S (def S = BernsteinSatoIdeal(F,0,-1);)
setring S;
BS;
==> BS[1]=2*s(1)*s(2)+2*s(1)+2*s(2)^2+5*s(2)+3
==> BS[2]=2*s(1)^2+3*s(1)-2*s(2)^2-3*s(2)
|
|