|
D.15.18.6 tateResolution
Procedure from library tateProdCplxNegGrad.lib (see tateProdCplxNegGrad_lib).
- Usage:
- tateResolution(M,low,high); M module, L list, low intvec, high intvec
- Purpose:
- compute tate resolution of coker(M) where M is Z^t-graded S-module
- Assume:
- M a module over multigraded ring S
- Return:
- (E,tate), tate a multigradedcomplex, E the ring in which tate has to be viewed,
however note that tate is not ring dependent
Example:
| LIB "tateProdCplxNegGrad.lib";
// example 1
intvec c1 = 1,1,1;
intvec low1 = 0,0,0;
intvec high1 = 0,1,0;
def (S1,E1) = productOfProjectiveSpaces(c1);
setring(S1);
module M1 = 0;
intmat grading1[3][1] = -1,-1,-1;
M1 = setModuleGrading(M1,grading1);
multigradedcomplex tate1;
(E1,tate1) = tateResolution(M1,low1,high1);
setring(E1);
tate1;
==> E^12 <-- E^20
==> -1 0
==>
tate1.differentials;
==> [1]:
==> _[1]=-e(0)(0)*gen(2)-e(0)(1)*gen(1)
==> _[2]=-e(1)(0)*gen(3)-e(1)(1)*gen(1)
==> _[3]=-e(1)(0)*gen(4)-e(1)(1)*gen(2)
==> _[4]=-e(0)(0)*gen(4)-e(0)(1)*gen(3)
==> _[5]=-e(1)(0)*gen(5)-e(1)(1)*gen(3)
==> _[6]=-e(1)(0)*gen(6)-e(1)(1)*gen(4)
==> _[7]=-e(0)(0)*gen(6)-e(0)(1)*gen(5)
==> _[8]=-e(2)(0)*gen(7)-e(2)(1)*gen(1)
==> _[9]=-e(2)(0)*gen(8)-e(2)(1)*gen(2)
==> _[10]=-e(0)(0)*gen(8)-e(0)(1)*gen(7)
==> _[11]=-e(2)(0)*gen(9)-e(2)(1)*gen(3)
==> _[12]=-e(1)(0)*gen(9)-e(1)(1)*gen(7)
==> _[13]=-e(2)(0)*gen(10)-e(2)(1)*gen(4)
==> _[14]=-e(1)(0)*gen(10)-e(1)(1)*gen(8)
==> _[15]=-e(0)(0)*gen(10)-e(0)(1)*gen(9)
==> _[16]=-e(2)(0)*gen(11)-e(2)(1)*gen(5)
==> _[17]=-e(1)(0)*gen(11)-e(1)(1)*gen(9)
==> _[18]=-e(2)(0)*gen(12)-e(2)(1)*gen(6)
==> _[19]=-e(1)(0)*gen(12)-e(1)(1)*gen(10)
==> _[20]=-e(0)(0)*gen(12)-e(0)(1)*gen(11)
// example 2
intvec c2 = 1,2;
def (S2,E2) = productOfProjectiveSpaces(c2);
setring(S2);
intvec low2 = -3,-3;
intvec high2 = 0,0;
module M2 = x(0)(0),x(1)(0)^3 + x(1)(1)^3 +x(1)(2)^3;;
intmat grading2[2][1] = 0,0;
M2 = setModuleGrading(M2,grading2);
multigradedcomplex tate2;
(E2,tate2) = tateResolution(M2,low2,high2);
setring(E2);
tate2;
==> E^6 <-- E^10 <-- E^14 <-- E^20 <-- E^29 <-- E^41 <-- E^56 <-\
- E^74 <-- E^95
==> -2 -1 0 1 2 3 4 \
5 6
==>
// example 3
intvec c3 = 1,1;
def (S3,E3) = productOfProjectiveSpaces(c3);
intvec low3 = -3,-3;
intvec high3 = 3,3;
setring(S3);
module M3 = 0;
intmat grading3[2][1] = -1,-1;
M3 = setModuleGrading(M3,grading3);
multigradedcomplex tate3;
(E3,tate3) = tateResolution(M3,low3,high3);
setring(E3);
tate3;
==> E^25 <-- E^40 <-- E^46 <-- E^44 <-- E^35 <-- E^30 <-- E^38 <\
-- E^56 <-- E^81 <-- E^110 <-- E^141 <-- E^174 <-- E^210
==> -6 -5 -4 -3 -2 -1 0 \
1 2 3 4 5 6
==>
|
|