# Singular

##### 7.7.19.0. ncExt_R
Procedure from library `nchomolog.lib` (see nchomolog_lib).

Usage:
ncExt_R(i, M); i int, M module

Compute:
a presentation of Ext^i(M',R); for M'=coker(M).

Return:
right module Ext, a presentation of Ext^i(M',R)

Example:
 ```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 ```