# Dresolution -- resolution of a D-module

## Synopsis

• Usage:
Dresolution M, Dresolution I, Dresolution(M,w), Dresolution(I,w)
• Inputs:
• M, , over the Weyl algebra D
• I, an ideal, which represents the module M = D/I
• w, a list, a weight vector
• Optional inputs:
• LengthLimit => ..., default value infinity, the limit for the length of a resolution of a D-module
• Strategy => ..., default value Schreyer, strategy for computing a resolution of a D-module
• Outputs:
• , a Schreyer resolution of the D-module M or a resolution adapted to a weight vector w of the form (-u,u)

## Description

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.

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, 2 differential variables 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
Abbreviations :
• Dres

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

## Ways to use Dresolution :

• "Dresolution(Ideal)"
• "Dresolution(Ideal,List)"
• "Dresolution(Module)"
• "Dresolution(Module,List)"

## For the programmer

The object Dresolution is .