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
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 |