|  |  D.5.18.1 truncate Procedure from librarysheafcoh.lib(see  sheafcoh_lib).
 
Example:Usage:
truncate(M,d); M module, d int
Assume:
Mis graded, and it comes assigned with an admissible degree
vector as an attribute
Return:
module
Note:
Output is a presentation matrix for the truncation of coker(M)
at degree d.
 |  | LIB "sheafcoh.lib";
ring R=0,(x,y,z),dp;
module M=maxideal(3);
homog(M);
==> 1
// compute presentation matrix for truncated module (R/<x,y,z>^3)_(>=2)
module M2=truncate(M,2);
print(M2);
==> z,0,0,0,0,0,y, 0, 0,0, 0,0,x, 0, 0, 0, 0, 0,
==> 0,z,0,0,0,0,-z,y, 0,0, 0,0,0, x, 0, 0, 0, 0,
==> 0,0,z,0,0,0,0, -z,y,0, 0,0,0, 0, x, 0, 0, 0,
==> 0,0,0,z,0,0,0, 0, 0,y, 0,0,-z,-y,0, x, 0, 0,
==> 0,0,0,0,z,0,0, 0, 0,-z,y,0,0, 0, -y,0, x, 0,
==> 0,0,0,0,0,z,0, 0, 0,0, 0,y,0, 0, 0, -z,-y,x 
dimGradedPart(M2,1);
==> 0
dimGradedPart(M2,2);
==> 6
// this should coincide with:
dimGradedPart(M,2);
==> 6
// shift grading by 1:
intvec v=1;
attrib(M,"isHomog",v);
M2=truncate(M,2);
print(M2);
==> 0, -y,-z,z2,0, 0, yz,0, xz,y2,0, xy,x2,
==> -z,x, 0, 0, z2,0, 0, yz,0, 0, y2,0, 0, 
==> y, 0, x, 0, 0, z2,0, 0, 0, 0, 0, 0, 0  
dimGradedPart(M2,3);
==> 6
 | 
 
 |