The module $\operatorname{Ext}^d(M,N)$ corresponds to equivalence classes of extensions of $N$ by $M$. In particular, an element of this module is represented by an exact sequence of the form \[ 0 \leftarrow M \leftarrow F_0 \leftarrow F_1 \leftarrow \dots \leftarrow F_{d-2} \leftarrow P \leftarrow N \leftarrow 0 \] where $F_0 \leftarrow F_1 \leftarrow \dots$ is a free resolution of $M$, and $P$ is the pushout of the maps $g : F_d \rightarrow N$ and $F_d \rightarrow F_{d-1}$. The element corresponding to $f$ in $\operatorname{Ext}^d(M,N)$ lifts to the map $g$.
In our first example, the module $\operatorname{Ext}^1(M,R^1)$ has one generator, in degree 0. The middle term in the corresponding short exact sequence determines an irreducible rank 2 vector bundle on the elliptic curve, which can be verified by computing Fitting ideals.
i1 : R = ZZ/101[x,y,z]/(y^2*z-x*(x-z)*(x-2*z)); |
i2 : M = truncate(1,R^1)
o2 = image | z y x |
1
o2 : R-module, submodule of R
|
i3 : f = basis(0, Ext^1(M, R^1))
o3 = {-1} | 0 |
{-1} | 0 |
{-1} | 0 |
{0} | 1 |
o3 : Matrix
|
i4 : C = yonedaExtension f
1
o4 = image | z y x | <-- cokernel {1} | y x 0 0 | <-- R
{1} | -z 0 x -yz |
0 {1} | 0 -z -y x2-3xz+2z2 | 2
{0} | x2-3xz+2z2 yz 0 0 |
1
o4 : Complex
|
i5 : assert isWellDefined C |
i6 : assert isShortExactSequence(dd^C_1, dd^C_2) |
i7 : E = C_1
o7 = cokernel {1} | y x 0 0 |
{1} | -z 0 x -yz |
{1} | 0 -z -y x2-3xz+2z2 |
{0} | x2-3xz+2z2 yz 0 0 |
4
o7 : R-module, quotient of R
|
i8 : fittingIdeal(1, E) o8 = ideal () o8 : Ideal of R |
i9 : saturate fittingIdeal(2, E) o9 = ideal 1 o9 : Ideal of R |
For higher Ext modules, we get longer exact sequences. When the map $f$ has degree 0, the corresponding exact sequence is homogeneous.
i10 : x = symbol x; |
i11 : S = ZZ/101[x_0..x_5]; |
i12 : I = borel monomialIdeal(x_2*x_3)
2 2 2
o12 = monomialIdeal (x , x x , x , x x , x x , x , x x , x x , x x )
0 0 1 1 0 2 1 2 2 0 3 1 3 2 3
o12 : MonomialIdeal of S
|
i13 : E = Ext^4(S^1/I, S^{-5})
o13 = cokernel | -x_3 0 0 x_2 0 -x_1 x_0 0 0 0 0 0 |
| 0 -x_3 0 0 x_2 0 0 -x_1 0 x_0 0 0 |
| 0 0 -x_3 0 0 0 -x_2 x_2 x_2 0 -x_1 x_0 |
3
o13 : S-module, quotient of S
|
i14 : f = E_{0}
o14 = | 1 |
| 0 |
| 0 |
o14 : Matrix
|
i15 : assert(isHomogeneous f and degree f === {0})
|
i16 : C = yonedaExtension f
1 9 17 1
o16 = cokernel | x_0^2 x_0x_1 x_1^2 x_0x_2 x_1x_2 x_2^2 x_0x_3 x_1x_3 x_2x_3 | <-- S <-- S <-- S <-- cokernel {4} | -x_3 0 0 | <-- S
{4} | 0 -x_3 0 |
0 1 2 3 {4} | 0 0 -x_3 | 5
{4} | x_2 0 0 |
{4} | 0 x_2 0 |
{4} | -x_1 0 0 |
{4} | x_0 0 -x_2 |
{4} | 0 -x_1 x_2 |
{4} | 0 0 x_2 |
{4} | 0 x_0 0 |
{4} | 0 0 -x_1 |
{4} | 0 0 x_0 |
{5} | 1 0 0 |
4
o16 : Complex
|
i17 : assert isWellDefined C |
i18 : assert isHomogeneous C |
i19 : assert(HH C == 0) |
The inverse operation is given by yonedaExtension'.
i20 : f' = yonedaExtension' C
o20 = | 1 |
| 0 |
| 0 |
o20 : Matrix
|
i21 : assert(f' == f) |