Top
Back: subst
Forward: twostd
FastBack: Functions
FastForward: Mathematical background
Up: Functions
Top: Plural Manual
Contents: Table of Contents
Index: Index
About: About this document

3.25 syz

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 "nctools.lib";
LIB "poly.lib";
ring Rq=(0,Q),(x,y,z),dp; // U_q(so_3)
minpoly = RootOfUnity(6); // Q is a 6th root of unity
matrix C[3][3];
matrix D[3][3];
C[1,2]=Q2;    C[1,3]=1/Q2;  C[2,3]=Q2;
D[1,2]=-Q*z;  D[1,3]=1/Q*y; D[2,3]=-Q*x; 
ncalgebra(C,D); 
option(redSB);
option(redTail); // we wish to have minimal bases
poly Cq=Q^4*x2+y2+Q^4*z2+Q*(1-Q^4)*x*y*z;
poly C1=x^3+x;
poly C2=y^3+y;
poly C3=z^3+z;
ideal I=Cq,C1,C2,C3; // ideal generated by central elements
I=std(I);
I;
==> I[1]=z3+z
==> I[2]=3*xyz+(Q-2)*x2+(-2Q+1)*y2+(Q-2)*z2
==> I[3]=x2z+(-Q)*y2z+(-Q+1)*z
==> I[4]=y3+y
==> I[5]=xy2+(Q-1)*xz2+(Q)*x
==> I[6]=x2y+yz2-xz+y
==> I[7]=x3+x
==> I[8]=3*y2z2+(-2Q+1)*x2+(Q+1)*y2+(Q+1)*z2
module S=syz(I); // S is a big module
S=std(S);
print(S[1]);
==> [(Q-1)*y,0,y,(Q)*z,(Q-1),-z,1]
print(S[size(S)]);
==> [0,0,0,0,0,0,(3Q)*y2z2+(-Q+2)*x2+(2Q-1)*y2+(2Q-1)*z2,(-Q)*x3+(-Q)*x]
matrix Tst = transpose(S)*transpose(I);
ideal tst = flatten(Tst); // just collect all the entries of Tst
std(tst); // we see it's zero
==> _[1]=0
See ideal; minres; module; mres; nres.


Top Back: subst Forward: twostd FastBack: Functions FastForward: Mathematical background Up: Functions Top: Plural Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 2-1-99, August 2004, generated by texi2html.