next | previous | forward | backward | up | index | toc

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

## Synopsis

• Usage:
rationalFunctionExt M, rationalFunctionExt I; rationalFunctionExt(M,f), rationalFunctionExt(I,f);
rationalFunctionExt(i,M), rationalFunctionExt(i,I); rationalFunctionExt(i,M,f), rationalFunctionExt(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 variable(s) i2 : M = W^1/ideal(x*D+5) o2 = cokernel | xD+5 | 1 o2 : W-module, quotient of W i3 : rationalFunctionExt M 1 o3 = HashTable{0 => QQ } 1 1 => QQ o3 : HashTable

## Caveat

Input modules M or D/I should be holonomic.

## Ways to use rationalFunctionExt :

• rationalFunctionExt(Ideal)
• rationalFunctionExt(Ideal,RingElement)
• rationalFunctionExt(Module)
• rationalFunctionExt(Module,RingElement)
• rationalFunctionExt(ZZ,Ideal)
• rationalFunctionExt(ZZ,Ideal,RingElement)
• rationalFunctionExt(ZZ,Module)
• rationalFunctionExt(ZZ,Module,RingElement)

## For the programmer

The object rationalFunctionExt is .