# Dintegration -- integration modules of a D-module

## Synopsis

• Usage:
N = Dintegration(M,w), NI = Dintegration(I,w), Ni = Dintegration(i,M,w),
NIi = Dintegration(i,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
• i, an integer, nonnegative
• Optional inputs:
• Strategy => ..., default value Schreyer,
• Outputs:
• Ni, , the i-th derived integration module of M with respect to the weight vector w
• N, , contains entries of the form i=>Ni
• NIi, , the i-th derived integration module of D/I with respect to the weight vector w
• NI, , contains entries of the form i=>NIi

## Description

The derived integration modules of a D-module M are the derived direct images in the category of D-modules. This routine computes integration for projection to coordinate subspaces, where the subspace is determined by the strictly positive entries of the weight vector w, e.g., {x_i = 0 : w_i > 0} if D = C<x_1,...,x_n,d_1,...,d_n>. The input weight vector should be a list of n numbers to induce the weight (-w,w) on D.

The algorithm used appears in the paper 'Algorithims for D-modules' by Oaku-Takayama(1999). The method is to take the Fourier transform of M, then compute the derived restriction, then inverse Fourier transform back.
 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 : Dintegration(I,{1,0}) o3 = HashTable{0 => cokernel | D_2-1 |} 1 => 0 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.