6 The Tate Resolution 6.1 The Tate Resolution: Operations and Functions 6.1-1 TateResolution TateResolution( M, degree_lowest, degree_highest )  operation Returns: a homalg cocomplex Compute the Tate resolution of the sheaf M.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x0..x3";; gap> S := GradedRing( R );; gap> A := KoszulDualRing( S, "e0..e3" );;  In the following we construct the different exterior powers of the cotangent bundle shifted by 1. Observe how a single 1 travels along the diagnoal in the window [ -3 .. 0 ] x [ 0 .. 3 ]. First we start with the structure sheaf with its Tate resolution:  Example  gap> O := S^0;  gap> T := TateResolution( O, -5, 5 );  gap> betti := BettiTable( T ); > gap> Display( betti ); total: 35 20 10 4 1 1 4 10 20 35 56 ? ? ? ----------|---|---|---|---|---|---|---|---|---|---|---|---|---|  3: 35 20 10 4 1 . . . . . . 0 0 0  2: * . . . . . . . . . . . 0 0  1: * * . . . . . . . . . . . 0  0: * * * . . . . . 1 4 10 20 35 56 ----------|---|---|---|---|---|---|---|---S---|---|---|---|---| twist: -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 --------------------------------------------------------------- Euler: -35 -20 -10 -4 -1 0 0 0 1 4 10 20 35 56  The Castelnuovo-Mumford regularity of the underlying module is distinguished among the list of twists by the character 'V' pointing to it. It is not an invariant of the sheaf (see the next diagram). The residue class field (i.e. S modulo the maximal homogeneous ideal):  Example  gap> k := HomalgMatrix( Indeterminates( S ), Length( Indeterminates( S ) ), 1, S );  gap> k := LeftPresentationWithDegrees( k );   Another way of constructing the structure sheaf:  Example  gap> U0 := SyzygiesObject( 1, k );  gap> T0 := TateResolution( U0, -5, 5 );  gap> betti0 := BettiTable( T0 ); > gap> Display( betti0 ); total: 35 20 10 4 1 1 4 10 20 35 56 ? ? ? ----------|---|---|---|---|---|---|---|---|---|---|---|---|---|  3: 35 20 10 4 1 . . . . . . 0 0 0  2: * . . . . . . . . . . . 0 0  1: * * . . . . . . . . . . . 0  0: * * * . . . . . 1 4 10 20 35 56 ----------|---|---|---|---|---|---|---|---S---|---|---|---|---| twist: -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 --------------------------------------------------------------- Euler: -35 -20 -10 -4 -1 0 0 0 1 4 10 20 35 56  The cotangent bundle:  Example  gap> cotangent := SyzygiesObject( 2, k );  gap> IsFree( UnderlyingModule( cotangent ) ); false gap> Rank( cotangent ); 3 gap> cotangent;  gap> ProjectiveDimension( UnderlyingModule( cotangent ) ); 2  the cotangent bundle shifted by 1 with its Tate resolution:  Example  gap> U1 := cotangent * S^1;  gap> T1 := TateResolution( U1, -5, 5 );  gap> betti1 := BettiTable( T1 ); > gap> Display( betti1 ); total: 120 70 36 15 4 1 6 20 45 84 140 ? ? ? -----------|----|----|----|----|----|----|----|----|----|----|----|----|----|  3: 120 70 36 15 4 . . . . . . 0 0 0  2: * . . . . . . . . . . . 0 0  1: * * . . . . . 1 . . . . . 0  0: * * * . . . . . . 6 20 45 84 140 -----------|----|----|----|----|----|----|----|----|----S----|----|----|----| twist: -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 ----------------------------------------------------------------------------- Euler: -120 -70 -36 -15 -4 0 0 -1 0 6 20 45 84 140  The second power U^2 of the shifted cotangent bundle U=U^1 and its Tate resolution:  Example  gap> U2 := SyzygiesObject( 3, k ) * S^2;  gap> T2 := TateResolution( U2, -5, 5 );  gap> betti2 := BettiTable( T2 ); > gap> Display( betti2 ); total: 140 84 45 20 6 1 4 15 36 70 120 ? ? ? -----------|----|----|----|----|----|----|----|----|----|----|----|----|----|  3: 140 84 45 20 6 . . . . . . 0 0 0  2: * . . . . . 1 . . . . . 0 0  1: * * . . . . . . . . . . . 0  0: * * * . . . . . . 4 15 36 70 120 -----------|----|----|----|----|----|----|----|----|----S----|----|----|----| twist: -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 ----------------------------------------------------------------------------- Euler: -140 -84 -45 -20 -6 0 1 0 0 4 15 36 70 120  The third power U^3 of the shifted cotangent bundle U=U^1 and its Tate resolution:  Example  gap> U3 := SyzygiesObject( 4, k ) * S^3;  gap> Display( U3 ); Q[x0,x1,x2,x3]^(1 x 1)  (graded, degree of generator: 1) gap> T3 := TateResolution( U3, -5, 5 );  gap> betti3 := BettiTable( T3 ); > gap> Display( betti3 ); total: 56 35 20 10 4 1 1 4 10 20 35 ? ? ? ----------|---|---|---|---|---|---|---|---|---|---|---|---|---|  3: 56 35 20 10 4 1 . . . . . 0 0 0  2: * . . . . . . . . . . . 0 0  1: * * . . . . . . . . . . . 0  0: * * * . . . . . . 1 4 10 20 35 ----------|---|---|---|---|---|---|---|---|---S---|---|---|---| twist: -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 --------------------------------------------------------------- Euler: -56 -35 -20 -10 -4 -1 0 0 0 1 4 10 20 35  Another way to construct U^2=U^(3-1):  Example  gap> u2 := GradedHom( U1, S^(-1) );  gap> t2 := TateResolution( u2, -5, 5 );  gap> BettiTable( t2 ); > gap> Display( last ); total: 140 84 45 20 6 1 4 15 36 70 120 ? ? ? -----------|----|----|----|----|----|----|----|----|----|----|----|----|----|  3: 140 84 45 20 6 . . . . . . 0 0 0  2: * . . . . . 1 . . . . . 0 0  1: * * . . . . . . . . . . . 0  0: * * * . . . . . . 4 15 36 70 120 -----------|----|----|----|----|----|----|----|----|----S----|----|----|----| twist: -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 ----------------------------------------------------------------------------- Euler: -140 -84 -45 -20 -6 0 1 0 0 4 15 36 70 120