Let M represent a coherent sheaf F on a product P=Pn0x..xPnt-1 of t projective space.
Let pi: P -> PI= Xi ∈I Pni denote the projection onto some factors. We compute a chain complex of SI modules whose sheafication is Rpi* F.
The algorithm is based on the properties of strands, and the beilinson functor on PI, see Tate Resolutions on Products of Projective Spaces. Note that the resulting complex is a chain complex instead of a cochain complex, so that for example HH1 RpiM is the module representing R1 pi* F
In the second version we start with a projective scheme X =Proj(R/J) defined by J in some Pn= Proj R with R ≅K[x0..xn] a polynomial ring, an R-module N of representing a sheaf on X, and a matrix phi of homogeneous forms who’s rows define a morphism phi: X -> Pm. In particular the 2x2 minors of phi vanish on X, and phi defines a morphism if and only if the entries of phi have no common zero in X. The algorithm passes to the graph of phi in Pn x Pm, and calls the first version of this function.
Here is an example of the first kind.
i1 : t=2 o1 = 2 |
i2 : n={1,2} o2 = {1, 2} o2 : List |
i3 : (S,E)=productOfProjectiveSpaces{1,2} o3 = (S, E) o3 : Sequence |
i4 : M=(beilinson E^{{-1,-1}})**S^{{-2,-1}} o4 = cokernel {3, 2} | x_(1,2) | {3, 2} | -x_(1,1) | {3, 2} | x_(1,0) | 3 o4 : S-module, quotient of S |
We compute the direct image complex of M by projecting to the second factor P2.
i5 : I={1} o5 = {1} o5 : List |
i6 : J=select({0,t-1},i-> not member(i,I)) o6 = {0} o6 : List |
i7 : RpiM=directImageComplex(M,I) ZZ 2 ZZ 6 o7 = (-----[x , x , x ]) <-- (-----[x , x , x ]) 32003 0,0 0,1 0,2 32003 0,0 0,1 0,2 -2 -1 o7 : ChainComplex |
i8 : betti RpiM -2 -1 o8 = total: 2 6 2: 2 6 o8 : BettiTally |
i9 : prune HH_0 RpiM o9 = 0 ZZ o9 : -----[x , x , x ]-module 32003 0,0 0,1 0,2 |
i10 : prune HH^1 RpiM o10 = cokernel {2} | -x_(0,2) 0 | {2} | 0 -x_(0,2) | {2} | x_(0,0) 0 | {2} | -x_(0,1) 0 | {2} | 0 x_(0,0) | {2} | 0 -x_(0,1) | ZZ ZZ 6 o10 : -----[x , x , x ]-module, quotient of (-----[x , x , x ]) 32003 0,0 0,1 0,2 32003 0,0 0,1 0,2 |
i11 : prune HH^2 RpiM o11 = cokernel | x_(0,2) x_(0,1) x_(0,0) 0 0 0 | | 0 0 0 x_(0,2) x_(0,1) x_(0,0) | ZZ ZZ 2 o11 : -----[x , x , x ]-module, quotient of (-----[x , x , x ]) 32003 0,0 0,1 0,2 32003 0,0 0,1 0,2 |
i12 : dim HH^2 RpiM o12 = 0 |
HH-2 RpiM is artinian, hence its sheafication is zero. Thus the direct image complex in this case is concentrated in the single sheaf Rpi* F = R1pi* F
i13 : cohomologyMatrix(M,-3*n,3*n) o13 = | 175h 140h 105h 70h 35h 0 35 | | 120h 96h 72h 48h 24h 0 24 | | 75h 60h 45h 30h 15h 0 15 | | 40h 32h 24h 16h 8h 0 8 | | 15h 12h 9h 6h 3h 0 3 | | 0 0 0 0 0 0 0 | | 5h2 4h2 3h2 2h2 h2 0 h | | 0 0 0 0 0 0 0 | | 15h3 12h3 9h3 6h3 3h3 0 3h2 | | 40h3 32h3 24h3 16h3 8h3 0 8h2 | | 75h3 60h3 45h3 30h3 15h3 0 15h2 | | 120h3 96h3 72h3 48h3 24h3 0 24h2 | | 175h3 140h3 105h3 70h3 35h3 0 35h2 | 13 7 o13 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) |
i14 : T=tateResolution(M,-2*n,2*n); |
i15 : cohomologyMatrix(strand(T,{0,0},J),-2*n,2*n) o15 = | 0 0 30h 0 0 | | 0 0 16h 0 0 | | 0 0 6h 0 0 | | 0 0 0 0 0 | | 0 0 2h2 0 0 | | 0 0 0 0 0 | | 0 0 6h3 0 0 | | 0 0 16h3 0 0 | | 0 0 30h3 0 0 | 9 5 o15 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) |
As an example of the second version, we consider the ruled cubic surface scroll X subset P4 defined by the 2x2 minors of the matrix
and the morphism f: X -> P1 onto the base. f is defined by ratio of the two rows of m, hence by the 3x2 matrix phi=mt.
As a module N we take a symmetric power of the cokernel m, twisted by R{d}.
i16 : kk=ZZ/101 o16 = kk o16 : QuotientRing |
i17 : R=kk[x_0..x_4] o17 = R o17 : PolynomialRing |
i18 : m=matrix {{ x_0,x_1,x_3},{x_1,x_2,x_4}} o18 = | x_0 x_1 x_3 | | x_1 x_2 x_4 | 2 3 o18 : Matrix R <--- R |
i19 : J=minors(2,m) 2 o19 = ideal (- x + x x , - x x + x x , - x x + x x ) 1 0 2 1 3 0 4 2 3 1 4 o19 : Ideal of R |
i20 : dim J, degree J o20 = (3, 3) o20 : Sequence |
i21 : s=2,d=-2 o21 = (2, -2) o21 : Sequence |
i22 : N=symmetricPower(s,coker m)**R^{d}; |
i23 : betti res N 0 1 2 o23 = total: 3 6 3 2: 3 6 3 o23 : BettiTally |
i24 : annihilator N == J o24 = true |
i25 : phi= transpose m o25 = {-1} | x_0 x_1 | {-1} | x_1 x_2 | {-1} | x_3 x_4 | 3 2 o25 : Matrix R <--- R |
i26 : RphiN = directImageComplex(J,N,phi) 1 o26 = 0 <-- (kk[x , x ]) <-- 0 0,0 0,1 -2 0 -1 o26 : ChainComplex |
i27 : T= ring RphiN o27 = T o27 : PolynomialRing |
i28 : HH^1 RphiN 1 o28 = T o28 : T-module, free, degrees {1} |
Now a different symmetric power and a different twist.
i29 : s=3,d=1 o29 = (3, 1) o29 : Sequence |
i30 : N=symmetricPower(s,coker m)**R^{d}; |
i31 : RphiN = directImageComplex(J,N,phi) 11 9 o31 = (kk[x , x ]) <-- (kk[x , x ]) 0,0 0,1 0,0 0,1 0 1 o31 : ChainComplex |
i32 : T=ring RphiN o32 = T o32 : PolynomialRing |
i33 : netList apply(toList(min RphiN.. max RphiN),i-> {-i, saturate annihilator HH^(-i) RphiN,betti res HH^(-i) RphiN}) +--+--------+-----------+ | | | 0 1| o33 = |0 |ideal ()|total: 11 9| | | | 0: 11 9| +--+--------+-----------+ | | | | |-1|ideal 1 |total: | +--+--------+-----------+ |
i34 : R0=prune HH^0 RphiN o34 = cokernel | 0 0 0 0 0 0 -x_(0,1) 0 0 | | 0 0 0 0 0 0 0 0 -x_(0,1) | | x_(0,0) 0 0 0 0 0 0 0 0 | | -x_(0,1) 0 0 x_(0,0) 0 0 0 0 0 | | 0 x_(0,0) 0 0 0 0 0 0 0 | | 0 -x_(0,1) x_(0,0) 0 0 0 0 0 0 | | 0 0 -x_(0,1) 0 x_(0,0) 0 0 0 0 | | 0 0 0 -x_(0,1) 0 x_(0,0) 0 0 0 | | 0 0 0 0 -x_(0,1) 0 0 x_(0,0) 0 | | 0 0 0 0 0 -x_(0,1) x_(0,0) 0 0 | | 0 0 0 0 0 0 0 -x_(0,1) x_(0,0) | 11 o34 : T-module, quotient of T |
i35 : dim R0, degree R0 o35 = (2, 2) o35 : Sequence |
i36 : betti (sR0Dual = syz transpose presentation R0) 0 1 o36 = total: 11 2 0: 11 . 1: . . 2: . . 3: . 1 4: . 1 o36 : BettiTally |
i37 : saturate annihilator coker transpose sR0Dual o37 = ideal 1 o37 : Ideal of T |
i38 : dual source sR0Dual 2 o38 = T o38 : T-module, free, degrees {-4, -5} |
We conclude that the sheaf represented by R0 is O(5)+O(4) on P1, which is correct because N represents phi*O(1) and phi* OX(H) = O(2)+O(1).
Note that the resulting complex is a chain complex instead of a cochain complex, so that for example HHi RpiM = HH-i RpiM.