# Ext^ZZ(Module,Module) -- Ext module

## Synopsis

• Scripted functor: Ext
• Usage:
Ext^i(M,N)
• Inputs:
• Outputs:
• , the i-th Ext module of M and N

## Description

If M or N is an ideal or ring, it is regarded as a module in the evident way.
 i1 : R = ZZ/32003[a..d]; i2 : I = monomialCurveIdeal(R,{1,3,4}) 3 2 2 2 3 2 o2 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c) o2 : Ideal of R i3 : M = R^1/I o3 = cokernel | bc-ad c3-bd2 ac2-b2d b3-a2c | 1 o3 : R-module, quotient of R i4 : Ext^1(M,R) o4 = 0 o4 : R-module i5 : Ext^2(M,R) o5 = cokernel {-3} | c a 0 b 0 | {-3} | -d -b c 0 a | {-3} | 0 0 d c b | 3 o5 : R-module, quotient of R i6 : Ext^3(M,R) o6 = cokernel {-5} | d c b a | 1 o6 : R-module, quotient of R i7 : Ext^1(I,R) o7 = cokernel {-3} | c 0 -d 0 -b | {-3} | b c 0 a 0 | {-3} | 0 d c b a | 3 o7 : R-module, quotient of R
As an efficiency consideration, it is generally much more efficient to compute Ext^i(R^1/I,N) rather than Ext^(i-1)(I,N). The latter first computes a presentation of the ideal I, and then a free resolution of that. For many examples, the difference in time and space required can be very large.