# Ddual -- holonomic dual of a D-module

## Synopsis

• Usage:
Ddual M, Ddual I
• Inputs:
• M, , over the Weyl algebra D
• I, an ideal, which represents the module M = D/I
• Outputs:
• , the holonomic dual of M

## Description

If M is a holonomic left D-module, then ExtnD(M,D) is a holonomic right D-module. The holonomic dual is defined to be the left module associated to ExtnD(M,D). The dual is obtained by computing a free resolution of M, dualizing, and applying the standard transposition to the n-th homology.
 ```i1 : I = AppellF1({1,0,-3,2}) 3 2 2 2 2 2 o1 = ideal (- x Dx - x y*Dx*Dy + x Dx + x*y*Dx*Dy - 2x Dx + 2x*Dx, - ------------------------------------------------------------------------ 2 3 2 2 2 2 x*y Dx*Dy - y Dy + x*y*Dx*Dy + y Dy + 3x*y*Dx + y Dy + 2y*Dy + 3y, ------------------------------------------------------------------------ x*Dx*Dy - y*Dx*Dy + 3Dx) o1 : Ideal of QQ[x, y, Dx, Dy]``` ```i2 : Ddual I o2 = cokernel | 0 xDy-yDy-4 x2Dx+y2Dy-xDx-yDy+x+4y y2DxDy+y2Dy^2-yDxDy-yDy^2+4xDx+4yDx+5yDy-4Dx+4 0 | | Dx -yDy-1 0 0 y3Dy^2-y2Dy^2+7y2Dy-2yDy+5y | 2 o2 : QQ[x, y, Dx, Dy]-module, quotient of (QQ[x, y, Dx, Dy])```

## Caveat

The input module M should be holonomic. The user should check this manually with the script Ddim.