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

D.15.18.2 truncateM

Procedure from library tateProdCplxNegGrad.lib (see tateProdCplxNegGrad_lib).

Usage:
truncateM(M,c); M module, c intvec

Purpose:
truncate M at c

Assume:
M is multigraded S-module with S multigraded ring, c is an intvec of the right length

Return:
module, the truncated module M_{>= c}

Note:
Output is the truncated module (multigraded , grading is not shifted), works for arbitrary products

Example:
 
LIB "tateProdCplxNegGrad.lib";
intvec c = 1,1,1;
def(S,E) = productOfProjectiveSpaces(c);
setring(S);
intmat grading[3][2] = 0,0,0,0,0,0;
module te = freemodule(2);
te = setModuleGrading(te,grading);
intvec c = 1,1,1;
==> // ** redefining c (intvec c = 1,1,1;) ./examples/truncateM.sing:8
module Mtrunc = truncateM(te,c);
Mtrunc;
==> Mtrunc[1]=x(0)(1)*x(1)(1)*x(2)(1)*gen(1)
==> Mtrunc[2]=x(0)(0)*x(1)(1)*x(2)(1)*gen(1)
==> Mtrunc[3]=x(0)(1)*x(1)(0)*x(2)(1)*gen(1)
==> Mtrunc[4]=x(0)(0)*x(1)(0)*x(2)(1)*gen(1)
==> Mtrunc[5]=x(0)(1)*x(1)(1)*x(2)(0)*gen(1)
==> Mtrunc[6]=x(0)(0)*x(1)(1)*x(2)(0)*gen(1)
==> Mtrunc[7]=x(0)(1)*x(1)(0)*x(2)(0)*gen(1)
==> Mtrunc[8]=x(0)(0)*x(1)(0)*x(2)(0)*gen(1)
==> Mtrunc[9]=x(0)(1)*x(1)(1)*x(2)(1)*gen(2)
==> Mtrunc[10]=x(0)(0)*x(1)(1)*x(2)(1)*gen(2)
==> Mtrunc[11]=x(0)(1)*x(1)(0)*x(2)(1)*gen(2)
==> Mtrunc[12]=x(0)(0)*x(1)(0)*x(2)(1)*gen(2)
==> Mtrunc[13]=x(0)(1)*x(1)(1)*x(2)(0)*gen(2)
==> Mtrunc[14]=x(0)(0)*x(1)(1)*x(2)(0)*gen(2)
==> Mtrunc[15]=x(0)(1)*x(1)(0)*x(2)(0)*gen(2)
==> Mtrunc[16]=x(0)(0)*x(1)(0)*x(2)(0)*gen(2)
getModuleGrading(Mtrunc);
==> 0,0,
==> 0,0,
==> 0,0 
multiDeg(Mtrunc);
==> 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
==> 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
==> 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1