Home Online Manual
Top
Back: tateResolution
Forward: cohomologyMatrixFromResolution
FastBack:
FastForward:
Up: tateProdCplxNegGrad_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.18.7 cohomologyMatrix

Procedure from library tateProdCplxNegGrad.lib (see tateProdCplxNegGrad_lib).

Usage:
cohomologyMatrix(M,L,low,high); M module, L list, low intvec, high intvec

Purpose:
computes the cohomology matrix of the sheaf corresponding to coker(M)

Assume:
M module over S, L list of two rings S and E (e.g. result of productOfProjectiveSpaces) first entry L[1] = S and L[2] = E, integer vectors low <= high

Return:
ring Z in which cohomology matrix lives, it is exported in the variable cohomologymat, cohomologymat covers all cohomology groups of twists in the range between low and high

Example:
 
LIB "tateProdCplxNegGrad.lib";
// example 1
intvec c1 = 1,1;
def (S1,E1) = productOfProjectiveSpaces(c1);
intvec low1 = -3,-3;
intvec high1 = 3,3;
setring(S1);
module M1 = 0;
intmat grading1[2][1] = -1,-1;
M1 = setModuleGrading(M1,grading1);
ring Z1 = cohomologyMatrix(M1,low1,high1);
setring(Z1);
print(cohomologymat);
==> 5h,0,5,10,15,20,25,
==> 4h,0,4,8, 12,16,20,
==> 3h,0,3,6, 9, 12,15,
==> 2h,0,2,4, 6, 8, 10,
==> h, 0,1,2, 3, 4, 5, 
==> 0, 0,0,0, 0, 0, 0, 
==> h2,0,h,2h,3h,4h,5h 
// example 2
intvec c2 = 1,2;
def (S2,E2) = productOfProjectiveSpaces(c2);
intvec low2 = -3,-3;
intvec high2 = 0,0;
setring(S2);
module M2 = 0;
intmat grading2[2][1] = 0,0;
M2 = setModuleGrading(M2,grading2);
ring Z2 = cohomologyMatrix(M2,low2,high2);
setring(Z2);
print(cohomologymat);
==> 2h, h, 0,1,
==> 0,  0, 0,0,
==> 0,  0, 0,0,
==> 2h3,h3,0,h2
// example 3
setring(S2);
module M3 = x(0)(0),x(1)(0)^3 + x(1)(1)^3 +x(1)(2)^3;
intmat grading3[2][1] = 0,0;
M3 = setModuleGrading(M3,grading3);
ring Z3 = cohomologyMatrix(M3,low2,high2);
setring(Z3);
print(cohomologymat);
==> h+1,h+1,h+1,h+1,
==> 3h, 3h, 3h, 3h, 
==> 6h, 6h, 6h, 6h, 
==> 9h, 9h, 9h, 9h