Macaulay2 » Documentation
Packages » BGG :: directImageComplex(Module)
next | previous | forward | backward | up | index | toc

directImageComplex(Module) -- Complex representing the direct image

Synopsis

Description

The computation is done using the exterior algebra method described by Eisenbud and Schreyer, in Eisenbud, David; Schreyer, Frank-Olaf ``Relative Beilinson monad and direct image for families of coherent sheaves.'' Trans. Amer. Math. Soc. 360 (2008), no. 10, 5367–5396.

The computation requires knowing the Castelnuovo-Mumford regularity of M in the variables y_i. If not provided by the user, it is computed by the function. The default is Regularity => null, which means it must be computed.

The ring A must be a polynomial ring. For the moment, the module M must be homogeneous for the variables of A as well as for the variables of S (bihomogeneous).

It is proven in loc. cit. that every complex of free modules can be realized as the direct image of a vector bundle on $\PP^n_A$.

The following example can be used to study the loci in the family of extensions of a pair of vector bundles on $\PP^1$ where the extension bundle has a given splitting type: this type is calculated by the Fitting ideals of the matrices defining the direct image complexes of various twists of the bundle. See Section 5 in loc. cite. It is conjectured there that all the sums of these Fitting ideals for the universal extension of $\mathcal O_{\PP^1}^{r-1}$ by $\mathcal O_{\PP^1}(d)$ are radical, as in the example below.

First we examine the extensions of ${\mathcal O}_{\PP^1}(1)$ by ${\mathcal O}_{\PP^1}(-3)$. There is a 3-dimensional vector space $$ Ext^1({\mathcal O}_{\PP^1}(1),{\mathcal O}_{\PP^1}(-3)) $$ of extensions. The ``universal extension'' is thus a bundle on $\PP^1\times Ext$. The locus where the extension bundle splits as ${\mathcal O}_{\PP^1}(-2) \oplus {\mathcal O}_{\PP^1}$ is the locus where the map in the direct image complex drops rank, and this is the (cone over a) conic, defined by the determinant of this matrix.

i1 : M=universalExtension({-3}, {1})

o1 = cokernel {3, 0} | x_0 x_1 x_2 |
              {2, 1} | y_0 0   0   |
              {2, 1} | y_1 y_0 0   |
              {2, 1} | 0   y_1 y_0 |
              {2, 1} | 0   0   y_1 |

      ZZ                                       ZZ                 5
o1 : ---[x ..x ][y ..y ]-module, quotient of (---[x ..x ][y ..y ])
     101  0   2   0   1                       101  0   2   0   1
i2 : S = ring M;
i3 : A = coefficientRing S;
i4 : F = directImageComplex M

             2      2
o4 = 0  <-- A  <-- A  <-- 0
                           
     -2     -1     0      1

o4 : ChainComplex
i5 : F.dd_0

o5 = | x_1  x_0  |
     | -x_2 -x_1 |

             2      2
o5 : Matrix A  <-- A
i6 : det (F.dd_0)

        2
o6 = - x  + x x
        1    0 2

o6 : A

Here is a larger example, the extension of ${\mathcal O}_{\PP^1}^2$ by ${\mathcal O}_{\PP^1}(6)$

i7 : r=3;
i8 : d=6;
i9 : M=universalExtension(splice {(r-1):0}, {d})

o9 = cokernel {0, 0}  | x_0 x_1 x_2 x_3 x_4 |
              {0, 0}  | x_5 x_6 x_7 x_8 x_9 |
              {-1, 1} | y_0 0   0   0   0   |
              {-1, 1} | y_1 y_0 0   0   0   |
              {-1, 1} | 0   y_1 y_0 0   0   |
              {-1, 1} | 0   0   y_1 y_0 0   |
              {-1, 1} | 0   0   0   y_1 y_0 |
              {-1, 1} | 0   0   0   0   y_1 |

      ZZ                                       ZZ                 8
o9 : ---[x ..x ][y ..y ]-module, quotient of (---[x ..x ][y ..y ])
     101  0   9   0   1                       101  0   9   0   1
i10 : S = ring M;
i11 : A = coefficientRing S;
i12 : L = for i from -d to 0 list directImageComplex(S^{{i,0}}**M);
i13 : netList L

      +-----------------------+
      |        10      1      |
o13 = |0  <-- A   <-- A  <-- 0|
      |                       |
      |-2     -1      0      1|
      +-----------------------+
      |        8      2       |
      |0  <-- A  <-- A  <-- 0 |
      |                       |
      |-2     -1     0      1 |
      +-----------------------+
      |        6      3       |
      |0  <-- A  <-- A  <-- 0 |
      |                       |
      |-2     -1     0      1 |
      +-----------------------+
      |        4      4       |
      |0  <-- A  <-- A  <-- 0 |
      |                       |
      |-2     -1     0      1 |
      +-----------------------+
      |        2      5       |
      |0  <-- A  <-- A  <-- 0 |
      |                       |
      |-2     -1     0      1 |
      +-----------------------+
      |               6       |
      |0  <-- 0  <-- A  <-- 0 |
      |                       |
      |-2     -1     0      1 |
      +-----------------------+
      |               9       |
      |0  <-- 0  <-- A  <-- 0 |
      |                       |
      |-2     -1     0      1 |
      +-----------------------+
i14 : maps = apply(L, F-> F.dd_0)

o14 = {| x_0  |, | x_1  x_0  |, | x_2  -x_0 -x_1 |, | x_3  x_0  x_1  x_2  |,
       | x_5  |  | x_6  x_5  |  | x_7  -x_5 -x_6 |  | x_8  x_5  x_6  x_7  | 
       | -x_1 |  | -x_2 -x_1 |  | -x_3 x_1  x_2  |  | -x_4 -x_1 -x_2 -x_3 |
       | -x_6 |  | -x_7 -x_6 |  | -x_8 x_6  x_7  |  | -x_9 -x_6 -x_7 -x_8 |
       | x_2  |  | x_3  x_2  |  | x_4  -x_2 -x_3 |
       | x_7  |  | x_8  x_7  |  | x_9  -x_7 -x_8 |
       | -x_3 |  | -x_4 -x_3 |
       | -x_8 |  | -x_9 -x_8 |
       | x_4  |
       | x_9  |
      -----------------------------------------------------------------------
      | -x_0 -x_1 -x_2 x_4 -x_3 |, 0, 0}
      | -x_5 -x_6 -x_7 x_9 -x_8 |

o14 : List

See also

Ways to use this method: