Macaulay2 » Documentation
Packages » Complexes :: yonedaExtension(Matrix)
next | previous | forward | backward | up | index | toc

# yonedaExtension(Matrix) -- creates a chain complex representing an extension of modules

- Function: yonedaExtension
- Usage:
    `C = yonedaExtension f`
- Inputs:
  - f, a matrix, over a ring $R$, from $R^1$ to $\operatorname{Ext}^d(M,N)$, which represents an element in the Ext module
- Outputs:
  - C, a complex, which represents the extension corresponding to the element in the Ext module

## Description

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 = image vars R

    o2 = image | x y z |

                                 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 = M <-- cokernel {1} | -y 0          -z x2-3xz+2z2 | <-- R
                        {1} | x  -z         0  -yz        |
         0              {1} | 0  y          x  0          |     2
                        {0} | 0  x2-3xz+2z2 yz 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 0          -z x2-3xz+2z2 |
                  {1} | x  -z         0  -yz        |
                  {1} | 0  y          x  0          |
                  {0} | 0  x2-3xz+2z2 yz 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 |

                        1
    o14 : Matrix E <-- S

    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 |

                        1
    o20 : Matrix E <-- S

    i21 : assert(f' == f)

## See also

- Working with Ext -- information about functorial properties
- yonedaMap(Matrix) -- creates a chain complex map representing an extension of modules
- yonedaMap'(ComplexMap) -- identifies the element of Ext corresponding to a map of free resolutions
- yonedaExtension'(Complex) -- identifies the element of Ext corresponding to an extension
- yonedaProduct(Module,Module) -- make the product map between Ext modules
- homomorphism(ComplexMap) -- get the homomorphism from an element of Hom
- homomorphism'(ComplexMap) -- get the element of Hom from a map of complexes
- fittingIdeal -- Fitting ideal of a module

## Ways to use this method:

- yonedaExtension(Matrix) -- creates a chain complex representing an extension of modules

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Complexes/ChainComplexDoc.m2:3705:0.