|
D.15.18.3 truncateCoker
Procedure from library tateProdCplxNegGrad.lib (see tateProdCplxNegGrad_lib).
- Usage:
- truncateCoker(M,c); M module, c intvec
- Purpose:
- truncate cokernel coker(M) at the multidegree c
- Return:
- module, which is a presentation matrix of the truncation of coker(M) at c
Example:
| LIB "tateProdCplxNegGrad.lib";
// example 1
intvec c1 = 1,1,1;
def(S1,E1) = productOfProjectiveSpaces(c1);
setring(S1);
module M1= 0;
intmat grading1[3][1] = 0,0,0;
M1 = setModuleGrading(M1,grading1);
truncateCoker(M1,c1);
==> _[1]=x(0)(1)*gen(2)-x(0)(0)*gen(1)
==> _[2]=x(1)(1)*gen(3)-x(1)(0)*gen(1)
==> _[3]=x(1)(1)*gen(4)-x(1)(0)*gen(2)
==> _[4]=x(0)(1)*gen(4)-x(0)(0)*gen(3)
==> _[5]=x(2)(1)*gen(5)-x(2)(0)*gen(1)
==> _[6]=x(2)(1)*gen(6)-x(2)(0)*gen(2)
==> _[7]=x(0)(1)*gen(6)-x(0)(0)*gen(5)
==> _[8]=x(2)(1)*gen(7)-x(2)(0)*gen(3)
==> _[9]=x(1)(1)*gen(7)-x(1)(0)*gen(5)
==> _[10]=x(2)(1)*gen(8)-x(2)(0)*gen(4)
==> _[11]=x(1)(1)*gen(8)-x(1)(0)*gen(6)
==> _[12]=x(0)(1)*gen(8)-x(0)(0)*gen(7)
// example 2
intvec c2 = 1,1;
def (S2,E2) = productOfProjectiveSpaces(c2);
setring(S2);
module M2 = 0;
intmat grading2[2][1] = 0,0;
M2 = setModuleGrading(M2,grading2);
truncateCoker(M2,c2);
==> _[1]=x(0)(1)*gen(2)-x(0)(0)*gen(1)
==> _[2]=x(1)(1)*gen(3)-x(1)(0)*gen(1)
==> _[3]=x(1)(1)*gen(4)-x(1)(0)*gen(2)
==> _[4]=x(0)(1)*gen(4)-x(0)(0)*gen(3)
|
|