##### 7.5.4.0. checkFactor

Procedure from library `dmod.lib` (see dmod_lib).

Usage:
  checkFactor(I,f,qs [,eng]); I an ideal, f a poly, qs a poly, eng an optional int

Assume:
  checkFactor is called from the basering, created by Sannfs-like proc,
  that is, from the Weyl algebra in x1,..,xN,d1,..,dN tensored with K[s].
  The ideal I is the annihilator of f^s in D[s], that is the ideal, computed
  by Sannfs-like procedure (usually called LD there).
  Moreover, f is a polynomial in K[x1,..,xN] and qs is a polynomial in K[s].

Return:
  int, 1 if qs is a factor of the global Bernstein polynomial of f and 0 otherwise

Purpose:
  check whether a univariate polynomial qs is a factor of the
  Bernstein-Sato polynomial of f without explicit knowledge of the latter.

Note:
  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";
    ring r = 0,(x,y),Dp;
    poly F = x^4+y^5+x*y^4;
    printlevel = 0;
    def A = Sannfs(F);
    setring A;
    poly F = imap(r,F);
    checkFactor(LD,F,20*s+31);     // -31/20 is not a root of bs
    ==> 0
    checkFactor(LD,F,20*s+11);     // -11/20 is a root of bs
    ==> 1
    checkFactor(LD,F,(20*s+11)^2); // the multiplicity of -11/20 is 1
    ==> 0

User manual for Singular version 4.4.1, 2025, generated by texi2html.