| LIB "nchomolog.lib";
ring R = 0,(x,y),dp;
poly F = x2-y2;
def A = annfs(F); setring A; // A is the 2nd Weyl algebra
matrix M[1][size(LD)] = LD; // ideal
print(M);
==> y*Dx+x*Dy,x*Dx+y*Dy+2,x^2*Dy-y^2*Dy-2*y
print(ncExt_R(1,M)); // hence the Ext^1 is zero
==> 1,0,
==> 0,1
module E = ncExt_R(2,M); // define the right module E
print(E); // E is in the opposite algebra
==> 1, -x, -y,
==> Dx,y*Dy+1,x*Dy
def Aop = opposite(A); setring Aop;
module Eop = oppose(A,E);
module T1 = ncExt_R(2,Eop);
setring A;
module T1 = oppose(Aop,T1);
print(T1); // this is a left module Ext^2(Ext^2(M,A),A)
==> y*Dx+x*Dy,x*Dx+y*Dy+2,x^2*Dy-y^2*Dy-2*y
print(M); // it is known that M holonomic implies Ext^2(Ext^2(M,A),A) iso to M
==> y*Dx+x*Dy,x*Dx+y*Dy+2,x^2*Dy-y^2*Dy-2*y
|