# Dmodules -- algorithms for D-modules

## Description

To begin, read the D-modules tutorial.

### Basic commands:

• gbw -- Groebner bases w.r.t. a weight
• inw -- initial form/ideal w.r.t. a weight
• Fourier -- Fourier transform for Weyl algebra
• Dtransposition -- standard transposition for Weyl algebra
• makeCyclic -- finds a cyclic generator of a D-module
• stafford -- computes 2 generators for a given ideal in the Weyl algebra

### Some examples of D-modules:

• gkz -- The A-hypergeometric systems of Gelfand, Kapranov and Zelevinsky (GKZ)
• AppellF1 -- Appell F1 system of PDE's
• PolyAnn -- annihilator of a polynomial in the Weyl algebra
• RatAnn -- annihilator of a rational function in Weyl algebra

### B-functions:

• bFunction -- b-function
• globalBFunction -- global b-function (else known as the Bernstein-Sato polynomial)
• globalB -- compute global b-function and b-operator for a D-module and a polynomial
• globalBoperator -- compute a b-operator of a polynomial
• generalB -- global generalized Bernstein-Sato polynomial
• localBFunction -- local b-function (a.k.a. the local Bernstein-Sato polynomial)
• paramBpoly -- compute the list of all possible Bernstein-Sato polynomials for a polynomial with parametric coefficients
• factorBFunction -- factorization of a b-function
• bFunctionRoots -- get roots of a b-function
• getIntRoots -- get integer roots of a b-function
• AnnFs -- annihilator ideal of fs
• AnnIFs -- annihilator ideal of fs for an arbitrary D-module

### Resolutions and Functors:

• Dresolution -- resolution of a D-module
• Dlocalize -- localization of a D-module
• WeylClosure -- Weyl closure of an ideal
• Ddual -- holonomic dual of a D-module
• Drestriction -- restriction modules of a D-module
• Dintegration -- integration modules of a D-module
• DHom -- D-homomorphisms between holonomic D-modules
• DExt -- Ext groups between holonomic modules
• PolyExt -- Ext groups between a holonomic module and a polynomial ring
• RatExt -- Ext(holonomic D-module, polynomial ring localized at the sigular locus)

### Programming aids:

• createDpairs -- pairs up the variables in Weyl algebra
• Dtrace -- set the depth of comments made by D-module routines
• setHomSwitch -- toggles the use of homogeneous Weyl algebra

## Authors

• Anton Leykin
• Harrison Tsai

## Version

This documentation describes version 1.4.0.1 of Dmodules.

## Source code

The source code from which this documentation is derived is in the file Dmodules.m2. The auxiliary files accompanying it are in the directory Dmodules/.

## Exports

• Functions and commands
• AnnFs -- the annihilating ideal of f^s
• AnnIFs, see AnnIFs(Ideal,RingElement) -- the annihilating ideal of f^s for an arbitrary D-module
• AppellF1 -- Appell F1 system of PDE's
• bFunction -- b-function
• bFunctionRoots, see bFunctionRoots(RingElement) -- get roots of a b-function
• BMM -- the characteristic cycle of the localized \$D\$-module
• charIdeal -- characteristic ideal of a D-module
• createDpairs, see createDpairs(PolynomialRing) -- pairs up the variables in Weyl algebra
• cssExpts -- the exponents of the canonical series solutions of I in the direction of a weight vector
• cssExptsMult -- the exponents (and multiplicities) of the canonical series solutions of I in the direction of a weight vector
• Ddim -- dimension of a D-module
• Ddual -- holonomic dual of a D-module
• deRham -- deRham cohomology groups for the complement of a hypersurface
• deRhamAll, see deRhamAll(RingElement) -- deRham complex for the complement of a hypersurface
• DExt -- Ext groups between holonomic modules
• DHom -- D-homomorphisms between holonomic D-modules
• diffOps -- differential operators of up to the given order for a quotient polynomial ring
• Dintegrate -- Dintegrate* is an (OBSOLETE) abbreviation for Dintegration*
• DintegrateAll, see Dintegrate -- Dintegrate* is an (OBSOLETE) abbreviation for Dintegration*
• DintegrateClasses, see Dintegrate -- Dintegrate* is an (OBSOLETE) abbreviation for Dintegration*
• DintegrateComplex, see Dintegrate -- Dintegrate* is an (OBSOLETE) abbreviation for Dintegration*
• DintegrateIdeal, see Dintegrate -- Dintegrate* is an (OBSOLETE) abbreviation for Dintegration*
• Dintegration -- integration modules of a D-module
• DintegrationAll -- integration modules of a D-module (extended version)
• DintegrationClasses -- integration classes of a D-module
• DintegrationComplex -- derived integration complex of a D-module
• DintegrationIdeal -- integration ideal of a D-module
• Dlocalization -- Dlocalization* is an OBSOLETE name for Dlocalize*
• DlocalizationAll, see Dlocalization -- Dlocalization* is an OBSOLETE name for Dlocalize*
• DlocalizationMap, see Dlocalization -- Dlocalization* is an OBSOLETE name for Dlocalize*
• Dlocalize -- localization of a D-module
• DlocalizeAll -- localization of a D-module (extended version)
• DlocalizeMap -- localization map from a D-module to its localization
• Dprune -- prunes a matrix over a Weyl algebra
• Dres -- abbreviation for Dresolution
• Dresolution -- resolution of a D-module
• Drestrict -- an (OBSOLETE) abbreviation for Drestriction
• DrestrictAll, see Drestrict -- an (OBSOLETE) abbreviation for Drestriction
• DrestrictClasses, see Drestrict -- an (OBSOLETE) abbreviation for Drestriction
• DrestrictComplex, see Drestrict -- an (OBSOLETE) abbreviation for Drestriction
• DrestrictIdeal, see Drestrict -- an (OBSOLETE) abbreviation for Drestriction
• Drestriction -- restriction modules of a D-module
• DrestrictionAll -- restriction modules of a D-module (extended version)
• DrestrictionClasses -- restriction classes of a D-module
• DrestrictionComplex -- derived restriction complex of a D-module
• DrestrictionIdeal -- restriction ideal of a D-module
• Dtrace, see Dtrace(ZZ) -- set the depth of comments made by D-module routines
• Dtransposition -- standard transposition for Weyl algebra
• eulerOperators (missing documentation)
• ExternalProduct -- external product of modules or complexes
• extractDiffsAlgebra -- underlying polynomial ring in the differentials of a Weyl algebra
• extractVarsAlgebra -- underlying polynomial ring in the ordinary variables of a Weyl algebra
• factorBFunction, see factorBFunction(RingElement) -- factorization of a b-function
• Fourier -- Fourier transform for Weyl algebra
• FourierInverse -- Inverse Fourier map (D-modules)
• gbw -- Groebner bases w.r.t. a weight
• generalB, see generalB(List,RingElement) -- global generalized Bernstein-Sato polynomial
• genToDistractionGens -- the image in the thetaRing of a torus-fixed element in a Weyl algebra
• getDtrace -- (internal) -- get the INFOLEVEL switch
• getHomSwitch -- (internal) -- get the HOMOGENIZATION switch
• getIntRoots, see getIntRoots(RingElement) -- get integer roots of a b-function
• gkz -- The A-hypergeometric systems of Gelfand, Kapranov and Zelevinsky (GKZ)
• globalB, see globalB(Ideal,RingElement) -- compute global b-function and b-operator for a D-module and a polynomial
• globalBFunction, see globalBFunction(RingElement) -- global b-function (else known as the Bernstein-Sato polynomial)
• globalBoperator, see globalBoperator(RingElement) -- compute a b-operator of a polynomial
• hasRationalSing, see hasRationalSing(List) -- check if a complete intersection has at most rational singularities
• holonomicRank -- rank of a D-module
• inw -- initial form/ideal w.r.t. a weight
• isHolonomic -- determines whether a D-module (or ideal in Weyl algebra) is holonomic
• isInMultiplierIdeal, see isInMultiplierIdeal(RingElement,Ideal,QQ) -- multiplier ideal membership test
• isTorusFixed -- checks if an ideal in a Weyl algebra is torus-fixed
• jumpingCoefficients, see jumpingCoefficients(Ideal) -- jumping coefficients and corresponding multiplier ideals
• kappaAnnF1PlanarCurve (missing documentation)
• kDiffFs (missing documentation)
• kOrderAnnFa (missing documentation)
• kOrderAnnFs (missing documentation)
• lct, see lct(Ideal) -- compute the log canonical threshold for an ideal
• localBFunction, see localBFunction(RingElement,Ideal) -- local b-function (a.k.a. the local Bernstein-Sato polynomial)
• localCohom -- local cohomology
• logCohomology, see logCohomology(RingElement) -- logarithmic cohomology groups in two variables
• makeCyclic -- finds a cyclic generator of a D-module
• makeWeylAlgebra -- Weyl algebra corresponding to a polynomial ring
• multiplierIdeal, see multiplierIdeal(Ideal,QQ) -- multiplier ideal
• paramBpoly, see paramBpoly(RingElement,String) -- compute the list of all possible Bernstein-Sato polynomials for a polynomial with parametric coefficients
• pInfo -- prints tracing info
• PolyAnn -- annihilator of a polynomial in the Weyl algebra
• PolyExt -- Ext groups between a holonomic module and a polynomial ring
• PolySols -- polynomial solutions of a holonomic system
• populateCechComplexCC, see populateCechComplexCC(Ideal,List) -- Cech complex skeleton for the computation of the characteristic cycles of local cohomology modules
• pruneCechComplexCC, see pruneCechComplexCC(MutableHashTable) -- reduction of the Cech complex that produces characteristic cycles of local cohomology modules
• pruneLocalCohom, see pruneLocalCohom(HashTable) -- prunes local cohomology modules
• putWeylAlgebra, see putWeylAlgebra(HashTable) -- transforms output of diffOps into elements of Weyl algebra
• RatAnn -- annihilator of a rational function in Weyl algebra
• RatExt -- Ext(holonomic D-module, polynomial ring localized at the sigular locus)
• RatSols -- rational solutions of a holonomic system
• reiffen (missing documentation)
• setHomSwitch, see setHomSwitch(Boolean) -- toggles the use of homogeneous Weyl algebra
• singLocus -- singular locus of a D-module
• stafford -- computes 2 generators for a given ideal in the Weyl algebra
• thetaIdeal -- the image in the thetaRing of a torus-fixed ideal in a Weyl algebra
• toricIdealPartials (missing documentation)
• WeylClosure -- Weyl closure of an ideal
• Symbols