Home Online Manual
Top
Back: subst (plural)
Forward: twostd (plural)
FastBack:
FastForward:
Up: Functions (plural)
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

7.3.28 syz (plural)

Syntax:
syz ( ideal_expression )
syz ( module_expression )
Type:
module
Purpose:
computes the first syzygy (i.e., the module of relations of the given generators) of the ideal, resp. module.
Note:
if S is a matrix of a left syzygy module of left submodule given by matrix M, then transpose(S)*transpose(M) = 0.
Example:
 
LIB "ncalg.lib";
def R = makeQso3(3); setring R;
// we wish to have completely reduced bases:
option(redSB);  option(redTail);
ideal tst;
ideal J = x3+x,x*y*z;
print(syz(J));
==> -yz,
==> x2+1
ideal K = x+y+z,y+z,z;
module S = syz(K);
print(S);
==> (Q-1),       (-Q+1)*z,   (-Q)*y,  
==> (Q)*z+(-Q+1),(Q-1)*z+(Q),-x+(Q)*y,
==> y+(-Q)*z,    x+(-Q),     x+(-Q+1) 
tst = ideal(transpose(S)*transpose(K));
// check the property of a syzygy module (tst==0):
size(tst);
==> 0
// Now compute the Groebner basis of K ...
K = std(K);
// ... print a matrix presentation of K ...
print(matrix(K));
==> z,y,x
S = syz(K); // ... and its syzygy module
print(S);
==> y,    x,       (Q-1),
==> (Q)*z,(Q),     x,    
==> (Q-1),(-Q+1)*z,(Q)*y 
tst = ideal(transpose(S)*transpose(K));
// check the property of a syzygy module (tst==0):
size(tst);
==> 0
// Note the "commutative" (not transposed) syzygy property does not hold
size(ideal(matrix(K)*matrix(S)));
==> 3
See also ideal (plural); minres (plural); module (plural); mres (plural); nres (plural).