# RatExt -- Ext(holonomic D-module, polynomial ring localized at the singular locus)

## Synopsis

• Usage:
RatExt M, RatExt I; RatExt(M,f), RatExt(I,f);
RatExt(i,M), RatExt(i,I); RatExt(i,M,f), RatExt(i,I,f)
• Inputs:
• M, , over the Weyl algebra D
• I, an ideal, which represents the module M = D/I
• f, , a polynomial
• i, an integer, nonnegative
• Optional inputs:
• Strategy => ..., default value Schreyer,
• Outputs:
• or , the Ext^i group(s) between holonomic M and the polynomial ring localized at the singular locus of M (or at f if specified)

## Description

The Ext groups between M and N are the derived functors of Hom, and are finite-dimensional vector spaces over the ground field when M and N are holonomic.

The algorithm used appears in the paper 'Polynomial and rational solutions of holonomic systems' by Oaku-Takayama-Tsai (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(x*D+5) o2 = cokernel | xD+5 | 1 o2 : W-module, quotient of W i3 : RatExt M 1 o3 = HashTable{0 => QQ } 1 1 => QQ o3 : HashTable

## Caveat

Input modules M or D/I should be holonomic.

## Ways to use RatExt :

• "RatExt(Ideal)"
• "RatExt(Ideal,RingElement)"
• "RatExt(Module)"
• "RatExt(Module,RingElement)"
• "RatExt(ZZ,Ideal)"
• "RatExt(ZZ,Ideal,RingElement)"
• "RatExt(ZZ,Module)"
• "RatExt(ZZ,Module,RingElement)"

## For the programmer

The object RatExt is .