# DHom -- D-homomorphisms between holonomic D-modules

## Synopsis

• Usage:
DHom(M,N), DHom(M,N,w), DHom(I,J)
• Inputs:
• M, , over the Weyl algebra D
• N, , over the Weyl algebra D
• I, an ideal, which represents the module M = D/I
• J, an ideal, which represents the module N = D/J
• w, a list, a positive weight vector
• Optional inputs:
• Strategy => ..., default value Schreyer,
• Outputs:
• , a basis of D-homomorphisms between holonomic D-modules M and N

## Description

The set of D-homomorphisms between two holonomic modules M and N is a finite-dimensional vector space over the ground field. Since a homomorphism is defined by where it sends a set of generators, the output of this command is a list of matrices whose columns correspond to the images of the generators of M. Here the generators of M are determined from its presentation by generators and relations.

The procedure calls Drestriction, which uses w if specified.

The algorithm used appears in the paper 'Computing homomorphisms between holonomic D-modules' by Tsai-Walther(2000). The method is to combine isomorphisms of Bjork and Kashiwara with the restriction algorithm.

 i1 : W = QQ[x, D, WeylAlgebra=>{x=>D}] o1 = W o1 : PolynomialRing, 1 differential variables i2 : M = W^1/ideal(D-1) o2 = cokernel | D-1 | 1 o2 : W-module, quotient of W i3 : N = W^1/ideal((D-1)^2) o3 = cokernel | D2-2D+1 | 1 o3 : W-module, quotient of W i4 : DHom(M,N) o4 = {| -xD+x+1 |, | -D+1 |} o4 : List

## Caveat

Input modules M, N, D/I and D/J should be holonomic.