Ext

Ext^i(M,N) -- compute the Ext module of two modules M, N.

Ext(M,N) -- compute the total Ext module of two modules M, N.

If M or N is an ideal or ring, it is regarded as a module in the evident way.

The computation of the total Ext module is possible for modules over the ring R of a complete intersection, according the algorithm of Shamash-Eisenbud-Avramov-Buchweitz. The result is provided as a finitely presented module over a new ring with one additional variable for each equation of R. The variables in this new ring have degree length 2; we would have liked to arrange for the degree i-- part of Ext^d(M,N) to appear as the degree {i,-d} part of E = Ext(M,N), but for technical and hopefully temporary reasons, this wasn't possible. So meanwhile, we provide a function E.adjust in the result returned by Ext which can be used to convert {i,-d} into the degree actually used. This adjusted multi-degree can be used with basis, as in the example below.

i1 : R = ZZ/101[x,y]/ideal(x^3,y^2);
i2 : N = cokernel random (R^1, R^{-2,-2})

o2 = cokernel {0} | 42x2-50xy 39x2+9xy |

                              1
o2 : R - module, quotient of R
i3 : E = Ext(N,N)

o3 = cokernel {2, 2} | 0 0 0 0 0 0 0 0 0  0  0  y x 0    0    0     0     |
              {1, 1} | 0 0 0 y 0 x 0 0 0  0  0  0 0 $X_1 0    0     0     |
              {1, 1} | 0 0 y 0 0 0 x 0 0  0  0  0 0 0    $X_1 0     0     |
              {1, 1} | y 0 0 0 x 0 0 0 0  0  0  0 0 0    0    0     0     |
              {1, 1} | 0 y 0 0 0 0 0 x 0  0  0  0 0 0    0    0     0     |
              {0, 0} | 0 0 0 0 0 0 0 0 y2 xy x2 0 0 0    0    $X_1y $X_1x |

      ZZ                                                                                  ZZ                                                          6
o3 : ---[$X ,$X ,x,y,Degrees => {{1, 2}, {2, 2}, {1, 0}, {1, 0}}] - module, quotient of (---[$X ,$X ,x,y,Degrees => {{1, 2}, {2, 2}, {1, 0}, {1, 0}}])
     101   0   1                                                                         101   0   1
i4 : rank source basis( E.adjust {-3,-2}, E)

o4 = 1
i5 : rank source basis( {-3}, Ext^2(N,N) )

o5 = 1

See also ScriptedFunctor and adjust.


topindexpreviousupnext