
7.7.4 dmod_lib
 Library:
 dmod.lib
 Purpose:
 Algorithms for algebraic Dmodules
 Authors:
 Viktor Levandovskyy, levandov@math.rwthaachen.de
Jorge Martin Morales, jorge@unizar.es
 Overview:
 Let K be a field of characteristic 0. Given a polynomial ring
R = K[x_1,...,x_n] and a polynomial F in R,
one is interested in the R[1/F]module of rank one, generated by
the symbol F^s for a symbolic discrete variable s.
In fact, the module R[1/F]*F^s has a structure of a D(R)[s]module, where D(R)
is an nth Weyl algebra K<x_1,...,x_n,d_1,...,d_n  d_j x_j = x_j d_j +1> and
D(R)[s] = D(R) tensored with K[s] over K.
Constructively, one needs to find a left ideal I = I(F^s) in D(R), such
that K[x_1,...,x_n,1/F]*F^s is isomorphic to D(R)/I as a D(R)module.
We often write just D for D(R) and D[s] for D(R)[s].
One is interested in the following data:
 Ann F^s = I = I(F^s) in D(R)[s], denoted by LD in the output
 global Bernstein polynomial in K[s], denoted by bs,
 its minimal integer root s0, the list of all roots of bs, which are known
to be rational, with their multiplicities, which is denoted by BS
 Ann F^s0 = I(F^s0) in D(R), denoted by LD0 in the output
(LD0 is a holonomic ideal in D(R))
 Ann^(1) F^s in D(R)[s], denoted by LD1 (logarithmic derivations)
 an operator in D(R)[s], denoted by PS, such that the functional equality
PS*F^(s+1) = bs*F^s holds in K[x_1,...,x_n,1/F]*F^s.
 References:
We provide the following implementations of algorithms:
(OT) the classical Ann F^s algorithm from Oaku and Takayama (Journal of
Pure and Applied Math., 1999),
(LOT) Levandovskyy's modification of the OakuTakayama algorithm (ISSAC 2007)
(BM) the Ann F^s algorithm by Briancon and Maisonobe (Remarques sur
l'ideal de Bernstein associe a des polynomes, preprint, 2002)
(LM08) V. Levandovskyy and J. MartinMorales, ISSAC 2008
(C) Countinho, A Primer of Algebraic DModules,
(SST) Saito, Sturmfels, Takayama 'Groebner Deformations of Hypergeometric
Differential Equations', Springer, 2000
Guide:
 Ann F^s = I(F^s) = LD in D(R)[s] can be computed by Sannfs [BM, OT, LOT]
 Ann^(1) F^s in D(R)[s] can be computed by Sannfslog
 global Bernstein polynomial bs in K[s] can be computed by bernsteinBM
 Ann F^s0 = I(F^s0) = LD0 in D(R) can be computed by annfs0, annfs, annfsBM,
annfsOT, annfsLOT, annfs2, annfsRB etc.
 all the relevant data to F^s (LD, LD0, bs, PS) are computed by operatorBM
 operator PS can be computed via operatorModulo or operatorBM
 annihilator of F^{s1} for a number s1 is computed with annfspecial
 annihilator of F_1^s_1 * ... * F_p^s_p is computed with annfsBMI
 computing the multiplicity of a rational number r in the Bernstein poly
of a given ideal goes with checkRoot
 check, whether a given univariate polynomial divides the Bernstein poly
goes with checkFactor
Procedures:
7.7.4.0. annfs   compute Ann F^s0 in D and Bernstein polynomial for a poly F 
7.7.4.0. annfspecial   compute Ann F^n from Ann F^s for a polynomial F and a number n 
7.7.4.0. Sannfs   compute Ann F^s in D[s] for a polynomial F 
7.7.4.0. Sannfslog   compute Ann^(1) F^s in D[s] for a polynomial F 
7.7.4.0. bernsteinBM   compute global Bernstein polynomial for a polynomial F (algorithm of BrianconMaisonobe) 
7.7.4.0. bernsteinLift   compute a possible multiple of Bernstein polynomial via liftlike procedure 
7.7.4.0. operatorBM   compute Ann F^s, Ann F^s0, BS and PS for a polynomial F (algorithm of BrianconMaisonobe) 
7.7.4.0. operatorModulo   compute PS via the modulo approach 
7.7.4.0. annfsParamBM   compute the generic Ann F^s (algorithm by Briancon and Maisonobe) and exceptional parametric constellations for a polynomial F with parametric coefficients 
7.7.4.0. annfsBMI   compute Ann F^s and Bernstein ideal for a polynomial F=f1*..*fP (multivariate algorithm of BrianconMaisonobe) 
7.7.4.0. checkRoot   check if a given rational is a root of the global Bernstein polynomial of F and compute its multiplicity 
7.7.4.0. SannfsBFCT   compute Ann F^s in D[s] for a polynomial F (algorithm of BrianconMaisonobe, other output ordering) 
7.7.4.0. annfs0   compute Ann F^s0 in D and Bernstein polynomial from the known Ann F^s in D[s] 
7.7.4.0. annfs2   compute Ann F^s0 in D and Bernstein polynomial from the known Ann F^s in D[s] by using a trick of Noro 
7.7.4.0. annfsRB   compute Ann F^s0 in D and Bernstein polynomial from the known Ann F^s in D[s] by using Jacobian ideal 
7.7.4.0. checkFactor   check whether a polynomial q in K[s] is a factor of the global Bernstein polynomial of F from the known Ann F^s in D[s] 
7.7.4.0. arrange   create a poly, describing a full hyperplane arrangement 
7.7.4.0. reiffen   create a poly, describing a Reiffen curve 
7.7.4.0. isHolonomic   check whether a module is holonomic 
7.7.4.0. convloc   replace global orderings with local in the ringlist L 
7.7.4.0. minIntRoot   minimal integer root among the roots of a maximal ideal P 
7.7.4.0. isRational   check whether n is a rational number 
See also:
bfun_lib;
dmodapp_lib;
dmodvar_lib;
gmssing_lib.
