# Singular

### 7.7.21 dmodloc_lib

Status: experimental
Library:
dmodloc.lib
Purpose:
Localization of algebraic D-modules and applications
Author:
Daniel Andres, daniel.andres@math.rwth-aachen.de

Support: DFG Graduiertenkolleg 1632 `Experimentelle und konstruktive Algebra'

Overview:
Let I be a left ideal in the n-th polynomial Weyl algebra D=K[x]<d> and let f be a polynomial in K[x].

If D/I is a holonomic module over D, it is known that the localization of D/I at f is also holonomic. The procedure `Dlocalization` computes an ideal J in D such that this localization is isomorphic to D/J as D-modules.

If one regards I as an ideal in the rational Weyl algebra as above, K(x)<d>*I, and intersects with K[x]<d>, the result is called the Weyl closure of I. The procedures `WeylClosure` (if I has finite holonomic rank) and `WeylClosure1` (if I is in the first Weyl algebra) can be used for computations.

As an application of the Weyl closure, the procedure `annRatSyz` computes a holonomic part of the annihilator of a rational function by computing certain syzygies. The full annihilator can be obtained by taking the Weyl closure of the result.

If one regards the left ideal I as system of linear PDEs, one can find its polynomial solutions with `polSol` (if I is holonomic) or `polSolFiniteRank` (if I is of finite holonomic rank). Rational solutions can be obtained with `ratSol`.

The procedure `bfctBound` computes a possible multiple of the b-function for f^s*u at a generic root of f. Here, u stands for [1] in D/I.

This library also offers the procedures `holonomicRank` and `DsingularLocus` to compute the holonomic rank and the singular locus of the D-module D/I.

References:
(OT) T. Oaku, N. Takayama: `Algorithms for D-modules', Journal of Pure and Applied Algebra, 1998.
(OTT) T. Oaku, N. Takayama, H. Tsai: `Polynomial and rational solutions of holonomic systems', Journal of Pure and Applied Algebra, 2001.
(OTW) T. Oaku, N. Takayama, U. Walther: `A Localization Algorithm for D-modules', Journal of Symbolic Computation, 2000.
(Tsa) H. Tsai: `Algorithms for algebraic analysis', PhD thesis, 2000.

Procedures:

 7.7.21.0. Dlocalization computes the localization of a D-module 7.7.21.0. WeylClosure computes the Weyl closure of an ideal in the Weyl algebra 7.7.21.0. WeylClosure1 computes the Weyl closure of operator in first Weyl algebra 7.7.21.0. holonomicRank computes the holonomic rank of I 7.7.21.0. DsingularLocus computes the singular locus of a D-module 7.7.21.0. polSol computes basis of polynomial solutions to the given system 7.7.21.0. polSolFiniteRank computes basis of polynomial solutions to given system 7.7.21.0. ratSol computes basis of rational solutions to the given system 7.7.21.0. bfctBound computes multiple of b-function for f^s*u 7.7.21.0. annRatSyz computes part of annihilator of rational function g/f 7.7.21.0. dmodGeneralAssumptionCheck check general assumptions 7.7.21.0. safeVarName finds a free name to use for a new variable 7.7.21.0. extendWeyl extends basering (Weyl algebra) by given vars 7.7.21.0. polyVars checks whether f contains only variables indexed by v 7.7.21.0. monomialInIdeal computes all monomials appearing in generators of ideal 7.7.21.0. vars2pars converts variables specified by v into parameters 7.7.21.0. minIntRoot2 finds minimal integer root in a list of roots 7.7.21.0. maxIntRoot finds maximal integer root in a list of roots 7.7.21.0. dmodAction computes the natural action of a D-module on K[x] 7.7.21.0. dmodActionRat computes the natural action of a D-module on K(x) 7.7.21.0. simplifyRat simplifies rational function 7.7.21.0. addRat adds rational functions 7.7.21.0. multRat multiplies rational functions 7.7.21.0. diffRat derives rational function 7.7.21.0. commRing deletes non-commutative relations from ring 7.7.21.0. rightNFWeyl computes right NF wrt right ideal (var(k)) in Weyl algebra