- Usage:
`Dresolution M, Dresolution I, Dresolution(M,w), Dresolution(I,w)`

- Optional inputs:
- LengthLimit => ..., -- the limit for the length of a resolution of a D-module
- Strategy => ..., -- strategy for computing a resolution of a D-module

- Outputs:
- a chain complex, a Schreyer resolution of the D-module
*M*or a resolution adapted to a weight vector*w*of the form*(-u,u)*

- a chain complex, a Schreyer resolution of the D-module

This routine computes various resolutions of a D-module. If no weight vector is specified, then the command produces a resolution by using the Schreyer order implemented in the engine. If a weight vector *w* of the form *(-u,u)* is specified, then the command produces a resolution with shifts which is adapted to the weight vector *w*. These *w*-adapted resolutions are compatible with b-functions and used in the restriction algorithm. For ordinary resolutions, the user may use the command `resolution`. Note that the notion of a minimal resolution is well-defined only in case of homogenized Weyl algebra.

Abbreviations :

There are two strategies for constructing w-adapted resolutions. The first strategy is to construct a Schreyer resolution in the homogenized Weyl algebra and then dehomogenize. The second strategy is to homogenize with respect to the weight vector. These strategies are described in the paper 'Algorithims for D-modules' by Oaku-Takayama(1999).

i1 : R = QQ[x_1,x_2,D_1,D_2,WeylAlgebra=>{x_1=>D_1,x_2=>D_2}] o1 = R o1 : PolynomialRing |

i2 : I = ideal(x_1*D_1+3*x_2*D_2-1, D_1^3-D_2) 3 o2 = ideal (x D + 3x D - 1, D - D ) 1 1 2 2 1 2 o2 : Ideal of R |

i3 : Dresolution(I,{-1,-1,1,1}) 1 5 6 2 o3 = R <-- R <-- R <-- R <-- 0 0 1 2 3 4 o3 : ChainComplex |

- Dres

- gbw -- Groebner basis w.r.t. a weight
- Drestriction -- restriction modules of a D-module

- Dresolution(Ideal)
- Dresolution(Ideal,List)
- Dresolution(Module)
- Dresolution(Module,List)