##### 7.5.7.0. bfctVarIn

Procedure from library `dmodvar.lib` (see dmodvar_lib).

Usage:
  bfctVarIn(I [,a,b,c]); I an ideal, a,b,c optional ints

Return:
  list of ideal and intvec

Purpose:
  computes the roots of the Bernstein-Sato polynomial and their multiplicities for an affine algebraic variety defined by I.

Assume:
  The basering is commutative and over a field of characteristic 0.
  Varnames of the basering do not include t(1),...,t(r) and Dt(1),...,Dt(r), where r is the number of entries of the input ideal.

Note:
  In the output list, say L,
  - L[1] of type ideal contains all the rational roots of a b-function,
  - L[2] of type intvec contains the multiplicities of above roots,
  - optional L[3] of type string is the part of b-function without rational roots.
  Note, that a b-function of degree 0 is encoded via L[1][1]=0, L[2]=0 and L[3] is 1 (for nonzero constant) or 0 (for zero b-function).
  If a<>0, the ideal is used as given. Otherwise, and by default, a heuristically better suited generating set is used to reduce computation time.
  If b<>0, `std` is used for GB computations in characteristic 0, otherwise, and by default, `slimgb` is used.
  If c<>0, a matrix ordering is used for GB computations, otherwise, and by default, a block ordering is used.
  Further note, that in this proc, the initial ideal of the multivariate Malgrange ideal defined by I is computed and then a system of linear equations is solved by linear reductions following the ideas by Noro.
  The result is shifted by 1-codim(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;
    list L = bfctVarIn(F);
    L;
    ==> [1]:
    ==>    _[1]=-5/6
    ==>    _[2]=-1
    ==>    _[3]=-7/6
    ==> [2]:
    ==>    1,1,1

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