|
D.15.14.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
|
|