Home Online Manual
Top
Back: multiDegGroebner
Forward: multiDegModulo
FastBack: modular_lib
FastForward: numerAlg_lib
Up: multigrading_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.14.40 multiDegSyzygy

Procedure from library multigrading.lib (see multigrading_lib).

Usage:
multiDegSyzygy(I); I is a ideal or a module

Purpose:
computes the multigraded syzygy module of I

Returns:
module, the syzygy module of I

Note:
generators of I must be multigraded homogeneous

Example:
 
LIB "multigrading.lib";
ring r = 0,(x,y,z,w),dp;
intmat MM[2][4]=
1,1,1,1,
0,1,3,4;
setBaseMultigrading(MM);
module M = ideal(  xw-yz, x2z-y3, xz2-y2w, yw2-z3);
intmat v[2][nrows(M)]=
1,
0;
M = setModuleGrading(M, v);
isHomogeneous(M);
==> 1
"Multidegrees: "; print(multiDeg(M));
==> Multidegrees: 
==>      3     4     4     4
==>      4     3     6     9
// Let's compute syzygies!
def S = multiDegSyzygy(M); S;
==> S[1]=yw*gen(1)-x*gen(4)-z*gen(3)
==> S[2]=z2*gen(1)-y*gen(4)-w*gen(3)
==> S[3]=xz*gen(1)+y*gen(3)-w*gen(2)
==> S[4]=y2*gen(1)+x*gen(3)-z*gen(2)
"Module Units Multigrading: "; print( getModuleGrading(S) );
==> Module Units Multigrading: 
==>      3     4     4     4
==>      4     3     6     9
"Multidegrees: "; print(multiDeg(S));
==> Multidegrees: 
==>      5     5     5     5
==>      9    10     7     6
isHomogeneous(S);
==> 1