# composedFunctions -- composed functions

## Synopsis

• Usage:
cmds=composedFunctions()
• Outputs:
• cmds, , the commands used in the testing/illustration of composed functions

## Description

Prints the commands which illustrate / test various composition of functions.

 i1 : n={1,1}, v=n+{1,1} o1 = ({1, 1}, {2, 2}) o1 : Sequence i2 : high=3*n, low=-high o2 = ({3, 3}, {-3, -3}) o2 : Sequence i3 : (S,E)=productOfProjectiveSpaces n o3 = (S, E) o3 : Sequence

We build the example from Section 4 of the paper Tate Resolutions on Products of Projective Spaces which corresponds to a rank 3 vector bundle on P^1xP^1.

 i4 : P=(image transpose gens trim (ideal vars E)^2)**E^{n} o4 = image {-1, -3} | -e_(1,0)e_(1,1) | {-2, -2} | -e_(0,1)e_(1,1) | {-2, -2} | -e_(0,0)e_(1,1) | {-2, -2} | -e_(0,1)e_(1,0) | {-2, -2} | -e_(0,0)e_(1,0) | {-3, -1} | -e_(0,0)e_(0,1) | 6 o4 : E-module, submodule of E i5 : betti P 0 1 o5 = total: 1 4 -2: 1 . -1: . . 0: . 4 o5 : BettiTally i6 : LP=bgg P 6 4 1 o6 = S <-- S <-- S 0 1 2 o6 : ChainComplex i7 : M = (HH^0 LP)**S^{-n} o7 = cokernel {2, 0} | x_(1,1) -x_(1,0) 0 0 | {1, 1} | -x_(0,0) 0 x_(1,0) 0 | {1, 1} | 0 -x_(0,0) x_(1,1) 0 | {1, 1} | -x_(0,1) 0 0 x_(1,0) | {1, 1} | 0 -x_(0,1) 0 x_(1,1) | {0, 2} | 0 0 x_(0,1) -x_(0,0) | 6 o7 : S-module, quotient of S i8 : betti res M 0 1 2 o8 = total: 6 4 1 2: 6 4 1 o8 : BettiTally i9 : T = tateResolution(M,low,high) 136 55 32 44 39 36 54 91 136 184 239 304 382 476 589 o9 = E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 o9 : ChainComplex i10 : cohomologyMatrix(T,low,high) o10 = | 28h 18h 8h 2 12 22 32 | | 20h 13h 6h 1 8 15 22 | | 12h 8h 4h 0 4 8 12 | | 4h 3h 2h h 0 1 2 | | 4h2 2h2 0 2h 4h 6h 8h | | 12h2 7h2 2h2 3h 8h 13h 18h | | 20h2 12h2 4h2 4h 12h 20h 28h | 7 7 o10 : Matrix (ZZ[h, k]) <--- (ZZ[h, k])

T is the part of the Tate resolution, which is complete in the range low to high. (In a wider range some terms are missing or are incorrect)

 i11 : cohomologyMatrix(T,2*low,2*high) o11 = | 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 68k 0 0 | | 0 0 0 0 0 0 0 0 0 0 55k 68k 0 | | 58h 48h 38h 28h 18h 8h 2 12 22 32 0 0 0 | | 41h 34h 27h 20h 13h 6h 1 8 15 22 0 0 0 | | 24h 20h 16h 12h 8h 4h 0 4 8 12 0 0 0 | | 7h 6h 5h 4h 3h 2h h 0 1 2 0 0 0 | | 10h2 8h2 6h2 4h2 2h2 0 2h 4h 6h 8h 0 0 0 | | 27h2 22h2 17h2 12h2 7h2 2h2 3h 8h 13h 18h 0 0 0 | | 0 36h2 28h2 20h2 12h2 4h2 4h 12h 20h 28h 0 0 0 | | 0 0 39h2 28h2 17h2 6h2 5h 16h 27h 38h 0 0 0 | | 0 0 0 36h2 22h2 8h2 6h 20h 34h 48h 0 0 0 | | 0 0 0 0 27h2 10h2 7h 24h 41h 58h 0 0 0 | 13 13 o11 : Matrix (ZZ[h, k]) <--- (ZZ[h, k])

Alternatively we can recover M from its Beilinson monad derived from T.

 i12 : B=beilinson T 1 4 o12 = S <-- S -1 0 o12 : ChainComplex i13 : M'=prune HH^0 B o13 = cokernel {2, 0} | -x_(1,0) 0 0 x_(1,1) | {1, 1} | x_(0,0) -x_(1,1) 0 0 | {1, 1} | -x_(0,1) 0 -x_(1,1) 0 | {0, 2} | 0 x_(0,1) x_(0,0) 0 | {1, 1} | 0 -x_(1,0) 0 x_(0,0) | {1, 1} | 0 0 -x_(1,0) -x_(0,1) | 6 o13 : S-module, quotient of S i14 : prune HH^1 B o14 = cokernel | x_(1,1) x_(1,0) x_(0,1) x_(0,0) | 1 o14 : S-module, quotient of S i15 : isIsomorphic(M,M') o15 = true

We study the corner complex of T at c=\{0,0\} .

 i16 : C=cornerComplex(T,{0,0}); i17 : betti C -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 o17 = total: 55 32 44 39 20 6 1 4 15 36 70 120 -1: 55 . . . . . . . . . . . 0: . 32 44 39 20 6 . . . . . . 1: . . . . . . 1 . . . . . 2: . . . . . . . . . . . . 3: . . . . . . . 4 15 36 70 120 o17 : BettiTally i18 : cohomologyMatrix(C,low,high) o18 = | 0 0 0 2 12 22 32 | | 0 0 0 1 8 15 22 | | 0 0 0 0 4 8 12 | | 0 0 0 h 0 1 2 | | 4h3 2h3 0 0 0 0 0 | | 12h3 7h3 2h3 0 0 0 0 | | 20h3 12h3 4h3 0 0 0 0 | 7 7 o18 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i19 : betti C.dd_0 0 1 o19 = total: 1 4 0: 1 . 1: . . 2: . 4 o19 : BettiTally i20 : P=ker C.dd_0**E^{v} o20 = image {-1, 0} | e_(1,1) e_(1,0) e_(0,0) e_(0,1) 0 0 0 0 0 0 0 0 0 0 0 | {0, -1} | 0 0 0 -e_(1,1) e_(1,0) e_(0,1) e_(0,0) 0 0 0 e_(1,1) 0 e_(1,1) 0 0 | {-1, 0} | 0 0 0 0 0 0 0 e_(1,1) e_(1,0) e_(0,1) e_(0,0) 0 0 0 0 | {0, -1} | 0 0 0 0 0 0 0 0 0 0 0 e_(1,1) e_(1,0) e_(0,1) e_(0,0) | 4 o20 : E-module, submodule of E

The tensor product with E^{\{v\}} is necessary because we work with E instead of $\omega_E$. M can be recovered by applying the bgg functor to P.

 i21 : LP=bgg P; i22 : betti LP -3 -2 -1 0 o22 = total: 4 16 24 15 0: 4 16 24 15 o22 : BettiTally i23 : coLP=apply(toList(min LP..max LP),i->prune HH^(-i) LP); i24 : apply(coLP,h->dim h) o24 = {0, -1, 0, 4} o24 : List i25 : M1=HH^0 LP o25 = image {1, -1} | x_(0,0)x_(1,1) -x_(1,1)^2 0 0 x_(1,0)x_(1,1) 0 | {1, -1} | x_(0,0)x_(1,0) -x_(1,0)x_(1,1) 0 0 x_(1,0)^2 0 | {1, -1} | x_(0,1)x_(1,1) 0 x_(1,1)^2 0 0 -x_(1,0)x_(1,1) | {1, -1} | x_(0,1)x_(1,0) 0 x_(1,0)x_(1,1) 0 0 -x_(1,0)^2 | {0, 0} | x_(0,0)^2 -x_(0,0)x_(1,1) 0 0 x_(0,0)x_(1,0) 0 | {0, 0} | x_(0,0)x_(0,1) -x_(0,1)x_(1,1) 0 0 x_(0,1)x_(1,0) 0 | {0, 0} | 0 x_(0,1)x_(1,0) x_(0,0)x_(1,0) x_(1,0)^2 0 0 | {0, 0} | x_(0,1)^2 0 x_(0,1)x_(1,1) 0 0 -x_(0,1)x_(1,0) | {0, 0} | x_(0,0)x_(0,1) 0 x_(0,0)x_(1,1) 0 0 -x_(0,0)x_(1,0) | {0, 0} | 0 0 0 x_(1,1)^2 x_(0,1)x_(1,1) x_(0,0)x_(1,1) | {0, 0} | 0 0 0 x_(1,0)x_(1,1) x_(0,1)x_(1,0) x_(0,0)x_(1,0) | {-1, 1} | 0 x_(0,1)^2 x_(0,0)x_(0,1) x_(0,1)x_(1,0) 0 0 | {-1, 1} | 0 x_(0,0)x_(0,1) x_(0,0)^2 x_(0,0)x_(1,0) 0 0 | {-1, 1} | 0 0 0 x_(0,1)x_(1,1) x_(0,1)^2 x_(0,0)x_(0,1) | {-1, 1} | 0 0 0 x_(0,0)x_(1,1) x_(0,0)x_(0,1) x_(0,0)^2 | 15 o25 : S-module, submodule of S i26 : betti M1,betti M 0 1 0 1 o26 = (total: 6 4, total: 6 4) 2: 6 4 2: 6 4 o26 : Sequence i27 : isIsomorphic(M,M1) o27 = true

It works also for different syzygy modules in the corner complex. It works for all P=ker C.dd_k in the range where C.dd_k is computed completely. We check the case k=1 and k=-2.

 i28 : k=1 o28 = 1 i29 : P=ker C.dd_(-k)**E^{v}; betti P 0 1 o30 = total: 4 15 -1: 4 15 o30 : BettiTally i31 : LP=bgg P 1 4 o31 = S <-- S 0 1 o31 : ChainComplex i32 : betti LP 0 1 o32 = total: 1 4 0: 1 4 o32 : BettiTally i33 : coLP=apply(toList(min LP..max LP),i->prune HH^(-i) LP); i34 : apply(coLP,h->dim h) o34 = {0, 4} o34 : List i35 : M1=HH^(-k) LP o35 = image {1, 0} | x_(0,1) 0 -x_(1,0) 0 0 x_(1,1) | {1, 0} | x_(0,0) x_(1,0) 0 0 -x_(1,1) 0 | {0, 1} | 0 x_(0,1) x_(0,0) x_(1,1) 0 0 | {0, 1} | 0 0 0 x_(1,0) x_(0,1) x_(0,0) | 4 o35 : S-module, submodule of S i36 : betti M1, betti M 0 1 0 1 o36 = (total: 6 4, total: 6 4) 2: 6 4 2: 6 4 o36 : Sequence i37 : isIsomorphic(M,M1) o37 = true

Note that we have to take HH^{(-k)} == HH_k because of the homological position in which P sits.

 i38 : k=-2 o38 = -2 i39 : P=ker C.dd_(-k)**E^{v}; betti P 0 1 o40 = total: 70 120 2: 70 120 o40 : BettiTally i41 : LP=bgg P; i42 : betti LP -5 -4 -3 -2 o42 = total: 36 129 160 70 0: 36 129 160 70 o42 : BettiTally i43 : coLP=apply(toList(min LP..max LP),i->prune HH^(-i) LP); i44 : apply(coLP,h->dim h) o44 = {0, -1, 0, 4} o44 : List i45 : M1=HH^(-k) LP o45 = image {1, -3} | x_(0,1)x_(1,1)^3 0 -x_(1,0)x_(1,1)^3 0 0 x_(1,1)^4 | {1, -3} | x_(0,0)x_(1,1)^3 x_(1,0)x_(1,1)^3 0 0 -x_(1,1)^4 0 | {1, -3} | x_(0,1)x_(1,0)x_(1,1)^2 0 -x_(1,0)^2x_(1,1)^2 0 0 x_(1,0)x_(1,1)^3 | {1, -3} | x_(0,0)x_(1,0)x_(1,1)^2 x_(1,0)^2x_(1,1)^2 0 0 -x_(1,0)x_(1,1)^3 0 | {1, -3} | x_(0,1)x_(1,0)^2x_(1,1) 0 -x_(1,0)^3x_(1,1) 0 0 x_(1,0)^2x_(1,1)^2 | {1, -3} | x_(0,1)x_(1,0)^3 0 -x_(1,0)^4 0 0 x_(1,0)^3x_(1,1) | {1, -3} | x_(0,0)x_(1,0)^2x_(1,1) x_(1,0)^3x_(1,1) 0 0 -x_(1,0)^2x_(1,1)^2 0 | {1, -3} | x_(0,0)x_(1,0)^3 x_(1,0)^4 0 0 -x_(1,0)^3x_(1,1) 0 | {0, -2} | 0 x_(0,1)x_(1,1)^3 x_(0,0)x_(1,1)^3 x_(1,1)^4 0 0 | {0, -2} | x_(0,0)x_(0,1)x_(1,1)^2 x_(0,1)x_(1,0)x_(1,1)^2 0 0 -x_(0,1)x_(1,1)^3 0 | {0, -2} | 0 x_(0,1)x_(1,0)x_(1,1)^2 x_(0,0)x_(1,0)x_(1,1)^2 x_(1,0)x_(1,1)^3 0 0 | {0, -2} | x_(0,0)x_(0,1)x_(1,0)x_(1,1) x_(0,1)x_(1,0)^2x_(1,1) 0 0 -x_(0,1)x_(1,0)x_(1,1)^2 0 | {0, -2} | x_(0,1)^2x_(1,1)^2 0 -x_(0,1)x_(1,0)x_(1,1)^2 0 0 x_(0,1)x_(1,1)^3 | {0, -2} | x_(0,0)x_(0,1)x_(1,1)^2 0 -x_(0,0)x_(1,0)x_(1,1)^2 0 0 x_(0,0)x_(1,1)^3 | {0, -2} | x_(0,0)^2x_(1,1)^2 x_(0,0)x_(1,0)x_(1,1)^2 0 0 -x_(0,0)x_(1,1)^3 0 | {0, -2} | 0 x_(0,1)x_(1,0)^2x_(1,1) x_(0,0)x_(1,0)^2x_(1,1) x_(1,0)^2x_(1,1)^2 0 0 | {0, -2} | x_(0,0)x_(0,1)x_(1,0)^2 x_(0,1)x_(1,0)^3 0 0 -x_(0,1)x_(1,0)^2x_(1,1) 0 | {0, -2} | 0 x_(0,1)x_(1,0)^3 x_(0,0)x_(1,0)^3 x_(1,0)^3x_(1,1) 0 0 | {0, -2} | 0 0 0 x_(1,0)^4 x_(0,1)x_(1,0)^3 x_(0,0)x_(1,0)^3 | {0, -2} | x_(0,1)^2x_(1,0)x_(1,1) 0 -x_(0,1)x_(1,0)^2x_(1,1) 0 0 x_(0,1)x_(1,0)x_(1,1)^2 | {0, -2} | x_(0,1)^2x_(1,0)^2 0 -x_(0,1)x_(1,0)^3 0 0 x_(0,1)x_(1,0)^2x_(1,1) | {0, -2} | x_(0,0)x_(0,1)x_(1,0)x_(1,1) 0 -x_(0,0)x_(1,0)^2x_(1,1) 0 0 x_(0,0)x_(1,0)x_(1,1)^2 | {0, -2} | x_(0,0)x_(0,1)x_(1,0)^2 0 -x_(0,0)x_(1,0)^3 0 0 x_(0,0)x_(1,0)^2x_(1,1) | {0, -2} | x_(0,0)^2x_(1,0)x_(1,1) x_(0,0)x_(1,0)^2x_(1,1) 0 0 -x_(0,0)x_(1,0)x_(1,1)^2 0 | {0, -2} | x_(0,0)^2x_(1,0)^2 x_(0,0)x_(1,0)^3 0 0 -x_(0,0)x_(1,0)^2x_(1,1) 0 | {-1, -1} | 0 -x_(0,1)^2x_(1,0)x_(1,1) -x_(0,0)x_(0,1)x_(1,0)x_(1,1) 0 x_(0,1)^2x_(1,1)^2 x_(0,0)x_(0,1)x_(1,1)^2 | {-1, -1} | 0 x_(0,1)^2x_(1,1)^2 x_(0,0)x_(0,1)x_(1,1)^2 x_(0,1)x_(1,1)^3 0 0 | {-1, -1} | 0 -x_(0,0)x_(0,1)x_(1,0)x_(1,1) -x_(0,0)^2x_(1,0)x_(1,1) 0 x_(0,0)x_(0,1)x_(1,1)^2 x_(0,0)^2x_(1,1)^2 | {-1, -1} | 0 x_(0,0)x_(0,1)x_(1,1)^2 x_(0,0)^2x_(1,1)^2 x_(0,0)x_(1,1)^3 0 0 | {-1, -1} | 0 -x_(0,1)^2x_(1,0)^2 -x_(0,0)x_(0,1)x_(1,0)^2 0 x_(0,1)^2x_(1,0)x_(1,1) x_(0,0)x_(0,1)x_(1,0)x_(1,1) | {-1, -1} | 0 0 0 x_(0,1)x_(1,0)^3 x_(0,1)^2x_(1,0)^2 x_(0,0)x_(0,1)x_(1,0)^2 | {-1, -1} | 0 x_(0,1)^2x_(1,0)x_(1,1) x_(0,0)x_(0,1)x_(1,0)x_(1,1) x_(0,1)x_(1,0)x_(1,1)^2 0 0 | {-1, -1} | 0 x_(0,1)^2x_(1,0)^2 x_(0,0)x_(0,1)x_(1,0)^2 x_(0,1)x_(1,0)^2x_(1,1) 0 0 | {-1, -1} | 0 -x_(0,0)x_(0,1)x_(1,0)^2 -x_(0,0)^2x_(1,0)^2 0 x_(0,0)x_(0,1)x_(1,0)x_(1,1) x_(0,0)^2x_(1,0)x_(1,1) | {-1, -1} | 0 0 0 x_(0,0)x_(1,0)^3 x_(0,0)x_(0,1)x_(1,0)^2 x_(0,0)^2x_(1,0)^2 | {-1, -1} | 0 x_(0,0)x_(0,1)x_(1,0)x_(1,1) x_(0,0)^2x_(1,0)x_(1,1) x_(0,0)x_(1,0)x_(1,1)^2 0 0 | {-1, -1} | 0 x_(0,0)x_(0,1)x_(1,0)^2 x_(0,0)^2x_(1,0)^2 x_(0,0)x_(1,0)^2x_(1,1) 0 0 | {-1, -1} | x_(0,1)^3x_(1,1) 0 -x_(0,1)^2x_(1,0)x_(1,1) 0 0 x_(0,1)^2x_(1,1)^2 | {-1, -1} | x_(0,1)^3x_(1,0) 0 -x_(0,1)^2x_(1,0)^2 0 0 x_(0,1)^2x_(1,0)x_(1,1) | {-1, -1} | x_(0,0)x_(0,1)^2x_(1,1) 0 -x_(0,0)x_(0,1)x_(1,0)x_(1,1) 0 0 x_(0,0)x_(0,1)x_(1,1)^2 | {-1, -1} | x_(0,0)x_(0,1)^2x_(1,0) 0 -x_(0,0)x_(0,1)x_(1,0)^2 0 0 x_(0,0)x_(0,1)x_(1,0)x_(1,1) | {-1, -1} | x_(0,0)^2x_(0,1)x_(1,1) 0 -x_(0,0)^2x_(1,0)x_(1,1) 0 0 x_(0,0)^2x_(1,1)^2 | {-1, -1} | x_(0,0)^2x_(0,1)x_(1,0) 0 -x_(0,0)^2x_(1,0)^2 0 0 x_(0,0)^2x_(1,0)x_(1,1) | {-1, -1} | x_(0,0)^3x_(1,1) x_(0,0)^2x_(1,0)x_(1,1) 0 0 -x_(0,0)^2x_(1,1)^2 0 | {-1, -1} | x_(0,0)^3x_(1,0) x_(0,0)^2x_(1,0)^2 0 0 -x_(0,0)^2x_(1,0)x_(1,1) 0 | {-2, 0} | x_(0,1)^4 0 -x_(0,1)^3x_(1,0) 0 0 x_(0,1)^3x_(1,1) | {-2, 0} | x_(0,0)x_(0,1)^3 0 -x_(0,0)x_(0,1)^2x_(1,0) 0 0 x_(0,0)x_(0,1)^2x_(1,1) | {-2, 0} | x_(0,0)^2x_(0,1)^2 0 -x_(0,0)^2x_(0,1)x_(1,0) 0 0 x_(0,0)^2x_(0,1)x_(1,1) | {-2, 0} | x_(0,0)^3x_(0,1) 0 -x_(0,0)^3x_(1,0) 0 0 x_(0,0)^3x_(1,1) | {-2, 0} | x_(0,0)^4 x_(0,0)^3x_(1,0) 0 0 -x_(0,0)^3x_(1,1) 0 | {-2, 0} | 0 0 0 x_(0,0)^2x_(1,0)x_(1,1) x_(0,0)^2x_(0,1)x_(1,1) x_(0,0)^3x_(1,1) | {-2, 0} | 0 0 0 x_(0,0)^2x_(1,0)^2 x_(0,0)^2x_(0,1)x_(1,0) x_(0,0)^3x_(1,0) | {-2, 0} | 0 0 0 x_(0,1)^2x_(1,0)x_(1,1) x_(0,1)^3x_(1,1) x_(0,0)x_(0,1)^2x_(1,1) | {-2, 0} | 0 0 0 x_(0,1)^2x_(1,0)^2 x_(0,1)^3x_(1,0) x_(0,0)x_(0,1)^2x_(1,0) | {-2, 0} | 0 x_(0,1)^3x_(1,1) x_(0,0)x_(0,1)^2x_(1,1) x_(0,1)^2x_(1,1)^2 0 0 | {-2, 0} | 0 x_(0,1)^3x_(1,0) x_(0,0)x_(0,1)^2x_(1,0) x_(0,1)^2x_(1,0)x_(1,1) 0 0 | {-2, 0} | 0 x_(0,0)^2x_(0,1)x_(1,1) x_(0,0)^3x_(1,1) x_(0,0)^2x_(1,1)^2 0 0 | {-2, 0} | 0 x_(0,0)^2x_(0,1)x_(1,0) x_(0,0)^3x_(1,0) x_(0,0)^2x_(1,0)x_(1,1) 0 0 | {-2, 0} | 0 x_(0,0)x_(0,1)^2x_(1,1) x_(0,0)^2x_(0,1)x_(1,1) x_(0,0)x_(0,1)x_(1,1)^2 0 0 | {-2, 0} | 0 x_(0,0)x_(0,1)^2x_(1,0) x_(0,0)^2x_(0,1)x_(1,0) x_(0,0)x_(0,1)x_(1,0)x_(1,1) 0 0 | {-2, 0} | 0 0 0 x_(0,0)x_(0,1)x_(1,0)x_(1,1) x_(0,0)x_(0,1)^2x_(1,1) x_(0,0)^2x_(0,1)x_(1,1) | {-2, 0} | 0 0 0 x_(0,0)x_(0,1)x_(1,0)^2 x_(0,0)x_(0,1)^2x_(1,0) x_(0,0)^2x_(0,1)x_(1,0) | {-3, 1} | 0 0 0 x_(0,0)^3x_(1,0) x_(0,0)^3x_(0,1) x_(0,0)^4 | {-3, 1} | 0 0 0 x_(0,1)^3x_(1,0) x_(0,1)^4 x_(0,0)x_(0,1)^3 | {-3, 1} | 0 x_(0,1)^4 x_(0,0)x_(0,1)^3 x_(0,1)^3x_(1,1) 0 0 | {-3, 1} | 0 x_(0,0)^3x_(0,1) x_(0,0)^4 x_(0,0)^3x_(1,1) 0 0 | {-3, 1} | 0 x_(0,0)x_(0,1)^3 x_(0,0)^2x_(0,1)^2 x_(0,0)x_(0,1)^2x_(1,1) 0 0 | {-3, 1} | 0 x_(0,0)^2x_(0,1)^2 x_(0,0)^3x_(0,1) x_(0,0)^2x_(0,1)x_(1,1) 0 0 | {-3, 1} | 0 0 0 x_(0,0)x_(0,1)^2x_(1,0) x_(0,0)x_(0,1)^3 x_(0,0)^2x_(0,1)^2 | {-3, 1} | 0 0 0 x_(0,0)^2x_(0,1)x_(1,0) x_(0,0)^2x_(0,1)^2 x_(0,0)^3x_(0,1) | 70 o45 : S-module, submodule of S i46 : betti M1,betti M 0 1 0 1 o46 = (total: 6 4, total: 6 4) 2: 6 4 2: 6 4 o46 : Sequence i47 : isIsomorphic(M,M1) o47 = true

Next we check the functor bgg on S-modules.

 i48 : RM=bgg M 216 140 84 45 20 6 o48 = E <-- E <-- E <-- E <-- E <-- E -7 -6 -5 -4 -3 -2 o48 : ChainComplex i49 : cohomologyMatrix(RM,low,high) o49 = | 0 0 0 2 12 22 32 | | 0 0 0 1 8 15 22 | | 0 0 0 0 4 8 12 | | 0 0 0 0 0 1 2 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | 7 7 o49 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i50 : betti RM -7 -6 -5 -4 -3 -2 o50 = total: 216 140 84 45 20 6 0: 216 140 84 45 20 6 o50 : BettiTally i51 : uQ=firstQuadrantComplex(T,{0,0}); i52 : cohomologyMatrix(uQ,low,high) o52 = | 0 0 0 2 12 22 32 | | 0 0 0 1 8 15 22 | | 0 0 0 0 4 8 12 | | 0 0 0 h 0 1 2 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | 7 7 o52 : Matrix (ZZ[h, k]) <--- (ZZ[h, k])

The additional entry h in the zero position of the cohomology matrix of uQ indicates that we can recover the original square of the maximal ideal of E from the differential of the first quadrant complex uQ in this specific case.

 i53 : uQ.dd_(-1) o53 = {-2, 0} | e_(0,0)e_(0,1) | {-1, -1} | e_(0,0)e_(1,1) | {-1, -1} | e_(0,1)e_(1,0) | {-1, -1} | -e_(0,1)e_(1,1) | {-1, -1} | -e_(0,0)e_(1,0) | {0, -2} | e_(1,0)e_(1,1) | 6 1 o53 : Matrix E <--- E

Next we test reciprocity.

 i54 : T1=tateResolution(M,low,3*high); i55 : c={2,2} o55 = {2, 2} o55 : List i56 : CM=cornerComplex(T1,c); i57 : RMc=firstQuadrantComplex(T1,c); i58 : cohomologyMatrix(CM,low,3*high) o58 = | 0 0 0 0 0 64 92 120 148 176 204 232 260 | | 0 0 0 0 0 57 82 107 132 157 182 207 232 | | 0 0 0 0 0 50 72 94 116 138 160 182 204 | | 0 0 0 0 0 43 62 81 100 119 138 157 176 | | 0 0 0 0 0 36 52 68 84 100 116 132 148 | | 0 0 0 0 0 29 42 55 68 81 94 107 120 | | 0 0 0 0 0 22 32 42 52 62 72 82 92 | | 0 0 0 0 0 15 22 29 36 43 50 57 64 | | 12h2 8h2 4h2 0 4h 0 0 0 0 0 0 0 0 | | 4h2 3h2 2h2 h2 0 0 0 0 0 0 0 0 0 | | 4h3 2h3 0 2h2 4h2 0 0 0 0 0 0 0 0 | | 12h3 7h3 2h3 3h2 8h2 0 0 0 0 0 0 0 0 | | 20h3 12h3 4h3 4h2 12h2 0 0 0 0 0 0 0 0 | 13 13 o58 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i59 : coRMc=apply(toList(-10..-4),i-> HH^(-i) RMc==0) o59 = {true, true, true, true, true, true, false} o59 : List i60 : P1=ker CM.dd_(-sum c) o60 = image {-2, -2} | 0 0 e_(0,0)e_(1,0) -e_(0,0)e_(1,1) | {-2, -2} | 0 e_(0,0)e_(1,1) 0 -e_(0,1)e_(1,1) | {-2, -2} | 0 e_(0,0)e_(1,0) 0 -e_(0,1)e_(1,0) | {-2, -2} | e_(0,1)e_(1,1) 0 0 0 | {-2, -2} | e_(0,0)e_(1,1) 0 -e_(0,1)e_(1,1) 0 | {-2, -2} | e_(0,1)e_(1,0) 0 0 0 | {-2, -2} | 0 0 e_(0,1)e_(1,0) -e_(0,1)e_(1,1) | {-2, -2} | 0 0 e_(0,1)e_(1,1) 0 | {-2, -2} | 0 e_(0,1)e_(1,1) 0 0 | {-2, -2} | e_(0,0)e_(1,0) 0 -e_(0,1)e_(1,0) 0 | {-2, -2} | 0 e_(0,1)e_(1,0) 0 0 | {-2, -2} | 0 0 0 -e_(0,1)e_(1,0) | {-2, -2} | 0 0 e_(0,0)e_(1,1) 0 | {-2, -2} | 0 0 0 e_(0,0)e_(1,1) | {-2, -2} | 0 0 0 e_(0,0)e_(1,0) | 15 o60 : E-module, submodule of E i61 : LP=bgg (P1**E^{-c+v}) 15 16 4 o61 = S <-- S <-- S 0 1 2 o61 : ChainComplex i62 : betti LP 0 1 2 o62 = total: 15 16 4 0: 15 16 4 o62 : BettiTally i63 : coLP=apply(toList(min LP..max LP),i->dim HH^(-i) LP) o63 = {4, -1, -1} o63 : List

Hence both Lp and RMc are acyclic.

 i64 : Mc=prune truncate(c,M)**S^{c} o64 = cokernel | x_(1,0) 0 0 0 0 0 0 0 0 0 -x_(0,0) 0 0 0 0 0 | | -x_(1,1) x_(1,0) 0 0 0 0 0 0 0 0 0 0 -x_(0,0) x_(0,0) 0 0 | | 0 -x_(1,1) 0 0 0 0 0 0 0 0 0 0 0 0 0 x_(0,0) | | 0 0 x_(0,0) x_(1,0) 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 -x_(0,1) 0 x_(1,0) 0 0 0 0 0 x_(0,0) 0 0 0 0 0 | | 0 0 0 -x_(1,1) 0 x_(0,0) 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 -x_(1,1) -x_(0,1) 0 0 0 0 0 0 x_(0,0) 0 0 0 | | 0 0 0 0 0 0 x_(0,0) x_(1,0) 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 -x_(0,1) 0 x_(1,0) 0 0 0 0 x_(0,0) 0 0 | | 0 0 0 0 0 0 0 -x_(1,1) 0 x_(0,0) 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 -x_(1,1) -x_(0,1) 0 0 0 0 0 x_(0,0) | | 0 0 0 0 0 0 0 0 0 0 x_(0,1) x_(1,0) 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 -x_(1,1) x_(0,1) 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 x_(0,1) x_(1,0) 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -x_(1,1) x_(0,1) | 15 o64 : S-module, quotient of S i65 : betti (Mc'=HH^0 LP), betti Mc 0 1 0 1 o65 = (total: 15 16, total: 15 16) 0: 15 16 0: 15 16 o65 : Sequence i66 : isIsomorphic(Mc',Mc) o66 = true
 i67 : c={3,1} o67 = {3, 1} o67 : List i68 : cohomologyMatrix(T1,low,2*high) o68 = | 52h 33h 14h 5 24 43 62 81 100 119 | | 44h 28h 12h 4 20 36 52 68 84 100 | | 36h 23h 10h 3 16 29 42 55 68 81 | | 28h 18h 8h 2 12 22 32 42 52 62 | | 20h 13h 6h 1 8 15 22 29 36 43 | | 12h 8h 4h 0 4 8 12 16 20 24 | | 4h 3h 2h h 0 1 2 3 4 5 | | 4h2 2h2 0 2h 4h 6h 8h 10h 12h 14h | | 12h2 7h2 2h2 3h 8h 13h 18h 23h 28h 33h | | 20h2 12h2 4h2 4h 12h 20h 28h 36h 44h 52h | 10 10 o68 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i69 : CM=cornerComplex(T1,c); i70 : cohomologyMatrix(CM,low,3*high) o70 = | 0 0 0 0 0 0 92 120 148 176 204 232 260 | | 0 0 0 0 0 0 82 107 132 157 182 207 232 | | 0 0 0 0 0 0 72 94 116 138 160 182 204 | | 0 0 0 0 0 0 62 81 100 119 138 157 176 | | 0 0 0 0 0 0 52 68 84 100 116 132 148 | | 0 0 0 0 0 0 42 55 68 81 94 107 120 | | 0 0 0 0 0 0 32 42 52 62 72 82 92 | | 0 0 0 0 0 0 22 29 36 43 50 57 64 | | 0 0 0 0 0 0 12 16 20 24 28 32 36 | | 4h2 3h2 2h2 h2 0 h 0 0 0 0 0 0 0 | | 4h3 2h3 0 2h2 4h2 6h2 0 0 0 0 0 0 0 | | 12h3 7h3 2h3 3h2 8h2 13h2 0 0 0 0 0 0 0 | | 20h3 12h3 4h3 4h2 12h2 20h2 0 0 0 0 0 0 0 | 13 13 o70 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i71 : RMc=firstQuadrantComplex(T1,c); i72 : coRMc=apply(toList(-9..-4),i-> HH^(-i) RMc==0) o72 = {true, true, true, true, true, false} o72 : List i73 : P1=ker CM.dd_(-sum c) o73 = image {-3, -1} | 0 0 e_(0,0)e_(1,0)e_(1,1) 0 0 0 0 | {-3, -1} | e_(0,1)e_(1,1) 0 0 0 0 0 0 | {-3, -1} | e_(0,1)e_(1,0) 0 0 0 0 0 0 | {-3, -1} | 0 0 0 0 e_(0,0)e_(1,0)e_(1,1) 0 -e_(0,1)e_(1,0)e_(1,1) | {-3, -1} | 0 e_(0,1)e_(1,0)e_(1,1) 0 0 0 0 0 | {-3, -1} | 0 e_(0,0)e_(1,0)e_(1,1) 0 e_(0,1)e_(1,0)e_(1,1) 0 0 0 | {-3, -1} | e_(0,0)e_(1,1) 0 e_(0,1)e_(1,0)e_(1,1) 0 0 0 0 | {-3, -1} | 0 0 -e_(0,1)e_(1,0)e_(1,1) e_(0,0)e_(1,0)e_(1,1) 0 0 0 | {-3, -1} | 0 0 0 0 0 e_(0,1)e_(1,0)e_(1,1) 0 | {-3, -1} | 0 0 0 0 e_(0,1)e_(1,0)e_(1,1) e_(0,0)e_(1,0)e_(1,1) 0 | {-3, -1} | e_(0,0)e_(1,0) 0 0 0 0 0 -e_(0,1)e_(1,0)e_(1,1) | {-3, -1} | 0 0 0 0 0 0 e_(0,0)e_(1,0)e_(1,1) | 12 o73 : E-module, submodule of E i74 : LP=bgg (P1**E^{-c+v}) 12 10 1 o74 = S <-- S <-- S 0 1 2 o74 : ChainComplex i75 : betti LP 0 1 2 o75 = total: 12 10 1 0: 12 10 1 o75 : BettiTally i76 : coLP=apply(toList(min LP..max LP),i->dim HH^(-i) LP) o76 = {4, -1, -1} o76 : List i77 : Mc=prune truncate(c,M)**S^{c} o77 = cokernel | x_(0,0) x_(1,0) 0 0 0 0 0 0 0 0 | | -x_(0,1) 0 x_(1,0) 0 0 0 0 0 -x_(0,0) 0 | | 0 -x_(1,1) 0 x_(0,0) 0 0 0 0 0 0 | | 0 0 -x_(1,1) -x_(0,1) 0 0 0 0 0 x_(0,0) | | 0 0 0 0 x_(0,0) 0 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) 0 0 x_(0,0) 0 | | 0 0 0 0 0 0 x_(0,0) 0 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) 0 x_(0,0) | | 0 0 0 0 0 0 0 0 x_(0,1) 0 | | 0 0 0 0 0 0 0 0 0 x_(0,1) | 12 o77 : S-module, quotient of S i78 : betti (Mc'=HH^0 LP), betti Mc 0 1 0 1 o78 = (total: 12 10, total: 12 10) 0: 12 10 0: 12 10 o78 : Sequence i79 : isIsomorphic(Mc',Mc) o79 = true

Now we test tateExtension.

 i80 : W=beilinsonWindow T 1 4 o80 = E <-- E -1 0 o80 : ChainComplex i81 : T'=tateExtension W 1250 1044 867 716 588 480 389 312 246 189 136 88 55 46 54 o81 = E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 o81 : ChainComplex i82 : comT'=cohomologyMatrix(T',low,high) o82 = | 28h 18h 8h 2 12 22 32 | | 20h 13h 6h 1 8 15 22 | | 12h 8h 4h 0 4 8 12 | | 4h 3h 2h h 0 1 2 | | 4h2 2h2 0 2h 4h 6h 8h | | 12h2 7h2 2h2 3h 8h 13h 18h | | 20h2 12h2 4h2 4h 12h 20h 28h | 7 7 o82 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i83 : comT=cohomologyMatrix(T,low,high) o83 = | 28h 18h 8h 2 12 22 32 | | 20h 13h 6h 1 8 15 22 | | 12h 8h 4h 0 4 8 12 | | 4h 3h 2h h 0 1 2 | | 4h2 2h2 0 2h 4h 6h 8h | | 12h2 7h2 2h2 3h 8h 13h 18h | | 20h2 12h2 4h2 4h 12h 20h 28h | 7 7 o83 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i84 : assert(sub(comT',vars ring comT)==comT)

Finally we illustrate how shifting the Beilinson window works.

 i85 : cohomologyMatrix(T,low,high) o85 = | 28h 18h 8h 2 12 22 32 | | 20h 13h 6h 1 8 15 22 | | 12h 8h 4h 0 4 8 12 | | 4h 3h 2h h 0 1 2 | | 4h2 2h2 0 2h 4h 6h 8h | | 12h2 7h2 2h2 3h 8h 13h 18h | | 20h2 12h2 4h2 4h 12h 20h 28h | 7 7 o85 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i86 : cohomologyMatrix(beilinsonWindow T,low, high) o86 = | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 2h h 0 0 0 | | 0 0 0 2h 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | 7 7 o86 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i87 : B = beilinson T 1 4 o87 = S <-- S -1 0 o87 : ChainComplex i88 : d={2,2} o88 = {2, 2} o88 : List i89 : T1=T**E^{d}[sum d] 136 55 32 44 39 36 54 91 136 184 239 304 382 476 589 o89 = E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 o89 : ChainComplex i90 : cohomologyMatrix(beilinsonWindow T1,low,high) o90 = | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 12h2 7h2 0 0 0 | | 0 0 20h2 12h2 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | 7 7 o90 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i91 : B1 =beilinson T1 7 24 20 o91 = S <-- S <-- S -2 -1 0 o91 : ChainComplex i92 : decompose annihilator HH^1 B1 o92 = {ideal (x , x ), ideal (x , x )} 0,1 0,0 1,1 1,0 o92 : List i93 : decompose annihilator HH^2 B1 o93 = {ideal (x , x , x , x )} 1,1 1,0 0,1 0,0 o93 : List i94 : M1=HH^0 B1 o94 = image {1, 1} | x_(0,1)x_(1,0)x_(1,1)^2 x_(0,0)x_(0,1)x_(1,1)^2 0 x_(0,1)^2x_(1,1)^2 0 0 | {1, 1} | x_(0,1)x_(1,1)^3 0 x_(0,0)x_(0,1)x_(1,1)^2 0 x_(0,1)^2x_(1,1)^2 0 | {1, 1} | 0 x_(0,0)^2x_(1,1)^2 -x_(0,0)^2x_(1,0)x_(1,1) 0 0 x_(0,0)^2x_(0,1)x_(1,1) | {1, 1} | x_(0,0)x_(1,1)^3 0 x_(0,0)^2x_(1,1)^2 0 x_(0,0)x_(0,1)x_(1,1)^2 0 | {1, 1} | x_(0,1)x_(1,0)^2x_(1,1) x_(0,0)x_(0,1)x_(1,0)x_(1,1) 0 x_(0,1)^2x_(1,0)x_(1,1) 0 0 | {1, 1} | x_(0,1)x_(1,0)x_(1,1)^2 0 x_(0,0)x_(0,1)x_(1,0)x_(1,1) 0 x_(0,1)^2x_(1,0)x_(1,1) 0 | {1, 1} | 0 x_(0,0)^2x_(1,0)x_(1,1) -x_(0,0)^2x_(1,0)^2 0 0 x_(0,0)^2x_(0,1)x_(1,0) | {1, 1} | x_(0,0)x_(1,0)x_(1,1)^2 0 x_(0,0)^2x_(1,0)x_(1,1) 0 x_(0,0)x_(0,1)x_(1,0)x_(1,1) 0 | {1, 1} | 0 x_(0,1)^2x_(1,1)^2 -x_(0,1)^2x_(1,0)x_(1,1) 0 0 x_(0,1)^3x_(1,1) | {1, 1} | 0 x_(0,0)x_(0,1)x_(1,1)^2 -x_(0,0)x_(0,1)x_(1,0)x_(1,1) 0 0 x_(0,0)x_(0,1)^2x_(1,1) | {1, 1} | 0 0 0 x_(0,0)x_(0,1)x_(1,1)^2 -x_(0,0)x_(0,1)x_(1,0)x_(1,1) -x_(0,0)^2x_(0,1)x_(1,1) | {1, 1} | 0 0 0 -x_(0,0)^2x_(1,1)^2 x_(0,0)^2x_(1,0)x_(1,1) x_(0,0)^3x_(1,1) | {1, 1} | x_(0,1)x_(1,0)^3 x_(0,0)x_(0,1)x_(1,0)^2 0 x_(0,1)^2x_(1,0)^2 0 0 | {1, 1} | x_(0,1)x_(1,0)^2x_(1,1) 0 x_(0,0)x_(0,1)x_(1,0)^2 0 x_(0,1)^2x_(1,0)^2 0 | {1, 1} | x_(0,0)x_(1,0)^3 x_(0,0)^2x_(1,0)^2 0 x_(0,0)x_(0,1)x_(1,0)^2 0 0 | {1, 1} | x_(0,0)x_(1,0)^2x_(1,1) 0 x_(0,0)^2x_(1,0)^2 0 x_(0,0)x_(0,1)x_(1,0)^2 0 | {1, 1} | 0 x_(0,1)^2x_(1,0)x_(1,1) -x_(0,1)^2x_(1,0)^2 0 0 x_(0,1)^3x_(1,0) | {1, 1} | 0 x_(0,0)x_(0,1)x_(1,0)x_(1,1) -x_(0,0)x_(0,1)x_(1,0)^2 0 0 x_(0,0)x_(0,1)^2x_(1,0) | {1, 1} | 0 0 0 x_(0,0)x_(0,1)x_(1,0)x_(1,1) -x_(0,0)x_(0,1)x_(1,0)^2 -x_(0,0)^2x_(0,1)x_(1,0) | {1, 1} | 0 0 0 -x_(0,0)^2x_(1,0)x_(1,1) x_(0,0)^2x_(1,0)^2 x_(0,0)^3x_(1,0) | 20 o94 : S-module, submodule of S i95 : dim M1 o95 = 4 i96 : betti M1, betti M 0 1 0 1 o96 = (total: 6 4, total: 6 4) 6: 6 4 2: 6 4 o96 : Sequence i97 : isIsomorphic(M1,M**S^{-d}) o97 = true

Another shift:

 i98 : d={-1,-2} o98 = {-1, -2} o98 : List i99 : T2=T**E^{d}[sum d] 136 55 32 44 39 36 54 91 136 184 239 304 382 476 589 o99 = E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 o99 : ChainComplex i100 : cohomologyMatrix(beilinsonWindow T2,low,high) o100 = | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 1 8 0 0 0 | | 0 0 0 4 0 0 0 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 | 7 7 o100 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i101 : cohomologyMatrix(T,low,high) o101 = | 28h 18h 8h 2 12 22 32 | | 20h 13h 6h 1 8 15 22 | | 12h 8h 4h 0 4 8 12 | | 4h 3h 2h h 0 1 2 | | 4h2 2h2 0 2h 4h 6h 8h | | 12h2 7h2 2h2 3h 8h 13h 18h | | 20h2 12h2 4h2 4h 12h 20h 28h | 7 7 o101 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) i102 : B2 =beilinson T2 8 5 o102 = S <-- S 0 1 o102 : ChainComplex i103 : HH^(-1) B2 == 0 o103 = true i104 : M2=HH^0 B2 o104 = cokernel | -x_(1,1) 0 0 -x_(1,0) 0 | | 0 x_(1,0) 0 0 x_(0,0) | | 0 -x_(1,1) 0 0 0 | | 0 0 x_(1,0) 0 0 | | 0 0 -x_(1,1) 0 x_(0,0) | | x_(1,0) 0 0 0 0 | | 0 0 0 x_(1,0) x_(0,1) | | 0 0 0 -x_(1,1) 0 | 8 o104 : S-module, quotient of S i105 : dim M2 o105 = 4 i106 : betti M2, betti M, betti truncate(-d,M) 0 1 0 1 0 1 o106 = (total: 8 5, total: 6 4, total: 8 5) 0: 8 5 2: 6 4 3: 8 5 o106 : Sequence i107 : isIsomorphic(M2,truncate(-d,M)**S^{-d}) o107 = true