Home Online Manual
Top
Back: createGradedRingHomomorphism
Forward: getModuleGrading
FastBack:
FastForward:
Up: multigrading_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.23.13 setModuleGrading

Procedure from library multigrading.lib (see multigrading_lib).

Usage:
setModuleGrading(m, G), m module/vector, G intmat

Purpose:
attaches the multiweights of free module generators to 'm'

Warning:
The method does not verify whether the multigrading makes the module/vector homogeneous. One can do that using isHomogeneous(m).

Example:
 
LIB "multigrading.lib";
ring R = 0, (x,y), dp;
intmat M[2][2]=
1, 1,
0, 2;
intmat T[2][5]=
1,  2,  3,  4, 0,
0, 10, 20, 30, 1;
setBaseMultigrading(M, T);
ideal I = x, y, xy^5;
intmat V = multiDeg(I);
// V == M; modulo T
print(V);
==>      1     1    10
==>      0     2    10
module S = syz(I);
S = setModuleGrading(S, V);
getModuleGrading(S) == V;
==> 1
print(S);
==> -y,x4y5,
==> x, 0,   
==> 0, -1   
vector v = getGradedGenerator(S, 1);
getModuleGrading(v) == V;
==> 1
print( multiDeg(v) );
==> 2,
==> 2 
isHomogeneous(S);
==> 1
print( multiDeg(S) );
==>      2    10
==>      2    10