|  |  7.5.4 dmod_lib 
Library:
dmod.lib
Purpose:
     Algorithms for algebraic D-modules
Authors:
Viktor Levandovskyy, levandov@math.rwth-aachen.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 n-th 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 Oaku-Takayama 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. Martin-Morales, ISSAC 2008
 (C) Countinho, A Primer of Algebraic D-Modules,
 (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:
 See also:
 bfun_lib;
 dmodapp_lib;
 dmodvar_lib;
 gmssing_lib. 
| 7.5.4.0. annfs |  | compute Ann F^s0 in D and Bernstein polynomial for a poly F |  | 7.5.4.0. annfspecial |  | compute Ann F^n from Ann F^s for a polynomial F and a number n |  | 7.5.4.0. Sannfs |  | compute Ann F^s in D[s] for a polynomial F |  | 7.5.4.0. Sannfslog |  | compute Ann^(1) F^s in D[s] for a polynomial F |  | 7.5.4.0. bernsteinBM |  | compute global Bernstein polynomial for a polynomial F (algorithm of Briancon-Maisonobe) |  | 7.5.4.0. bernsteinLift |  | compute a possible multiple of Bernstein polynomial via lift-like procedure |  | 7.5.4.0. operatorBM |  | compute Ann F^s, Ann F^s0, BS and PS for a polynomial F (algorithm of Briancon-Maisonobe) |  | 7.5.4.0. operatorModulo |  | compute PS via the modulo approach |  | 7.5.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.5.4.0. annfsBMI |  | compute Ann F^s and Bernstein ideal for a polynomial F=f1*..*fP (multivariate algorithm of Briancon-Maisonobe) |  | 7.5.4.0. checkRoot |  | check if a given rational is a root of the global Bernstein polynomial of F and compute its multiplicity |  | 7.5.4.0. SannfsBFCT |  | compute Ann F^s in D[s] for a polynomial F (algorithm of Briancon-Maisonobe, other output ordering) |  | 7.5.4.0. annfs0 |  | compute Ann F^s0 in D and Bernstein polynomial from the known Ann F^s in D[s] |  | 7.5.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.5.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.5.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.5.4.0. arrange |  | create a poly, describing a full hyperplane arrangement |  | 7.5.4.0. reiffen |  | create a poly, describing a Reiffen curve |  | 7.5.4.0. isHolonomic |  | check whether a module is holonomic |  | 7.5.4.0. convloc |  | replace global orderings with local in the ringlist L |  | 7.5.4.0. minIntRoot |  | minimal integer root among the roots of a maximal ideal P |  | 7.5.4.0. isRational |  | check whether n is a rational number | 
 
 |