next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
BGG :: directImageComplex(Module)

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 yi. 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 PnA.

The following example can be used to study the loci in the family of extensions of a pair of vector bundles on P1 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 OP1r-1 by OP1(d) are radical, as in the example below.

First we examine the extensions of OP1(1) by OP1(-3). There is a 3-dimensional vector space

Ext1(OP1(1),OP1(-3))

of extensions. The “universal extension” is thus a bundle on P1×Ext. The locus where the extension bundle splits as OP1(-2) ⊕OP1 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 , x ][y , y ]-module, quotient of (---[x , x , x ][y , y ])
     101  0   1   2   0   1                       101  0   1   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 OP12 by OP1(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 , x , x , x , x , x , x , x , x ][y , y ]-module, quotient of (---[x , x , x , x , x , x , x , x , x , x ][y , y ])
     101  0   1   2   3   4   5   6   7   8   9   0   1                       101  0   1   2   3   4   5   6   7   8   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