# DrestrictionAll -- restriction modules of a D-module (extended version)

## Synopsis

• Usage:
N = DrestrictionAll(M,w), NI = DrestrictionAll(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:
• Strategy => ..., default value Schreyer,
• Outputs:
• N,
• NI,

## Description

An extension of Drestriction that computes the restriction complex, restriction classes, etc.
 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_2-1) o2 = ideal (x , D - 1) 1 2 o2 : Ideal of R i3 : DrestrictionAll(I,{1,0}) o3 = HashTable{BFunction => (s + 1) } Boundaries => HashTable{0 => 0 } 1 => | D_2-1 | | 0 | Cycles => HashTable{0 => 0 } 1 => | 1 | | 0 | HomologyModules => HashTable{0 => 0 } 1 => cokernel | D_2-1 | 1 1 RestrictComplex => 0 <-- 0 <-- (QQ[x , D ]) <-- (QQ[x , D ]) 2 2 2 2 -1 0 1 2 1 2 1 VResolution => R <-- R <-- R 0 1 2 o3 : HashTable

## Caveat

The module M should be specializable to the subspace. This is true for holonomic modules.The weight vector w should be a list of n numbers if M is a module over the nth Weyl algebra.

## Ways to use DrestrictionAll :

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

## For the programmer

The object DrestrictionAll is .