#### D.15.29.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)

User manual for Singular version 4.4.1, 2025, generated by texi2html.