# Singular

#### D.2.12.6 SSsyz

Procedure from library `schreyer.lib` (see schreyer_lib).

Usage:
SSsyz(M)

Return:
ring, containing a list of modules RES and a module MRES

Purpose:
computes the first syzygy module of M (wrt some Schreyer ordering)?

Note:
The output is explained in Sres

Example:
 ```LIB "schreyer.lib"; ring r; /* ideal M = 0; def S = SSsyz(M); setring S; S; "Only the first syzygy: "; RES; LRES; TRES; MRES; kill S; setring r; kill M; */ ideal M = maxideal(1); M; ==> M[1]=x ==> M[2]=y ==> M[3]=z def S = SSres(M, 0); setring S; S; ==> // characteristic : 32003 ==> // number of vars : 3 ==> // block 1 : ordering dp ==> // : names x y z ==> // block 2 : ordering C MRES; ==> MRES[1]=0 ==> MRES[2]=x*gen(1) ==> MRES[3]=y*gen(1) ==> MRES[4]=z*gen(1) ==> MRES[5]=x*gen(3)-y*gen(2) ==> MRES[6]=x*gen(4)-z*gen(2) ==> MRES[7]=y*gen(4)-z*gen(3) ==> MRES[8]=x*gen(7)-y*gen(6)+z*gen(5) ==> MRES[9]=0 print(_); ==> 0,x,y,z,0, 0, 0, 0, 0, ==> 0,0,0,0,-y,-z,0, 0, 0, ==> 0,0,0,0,x, 0, -z,0, 0, ==> 0,0,0,0,0, x, y, 0, 0, ==> 0,0,0,0,0, 0, 0, z, 0, ==> 0,0,0,0,0, 0, 0, -y,0, ==> 0,0,0,0,0, 0, 0, x, 0, ==> 0,0,0,0,0, 0, 0, 0, 0 RES; ==> [1]: ==> _[1]=0 ==> [2]: ==> _[1]=x ==> _[2]=y ==> _[3]=z ==> [3]: ==> _[1]=x*gen(3)-y*gen(2) ==> _[2]=x*gen(4)-z*gen(2) ==> _[3]=y*gen(4)-z*gen(3) ==> [4]: ==> _[1]=x*gen(7)-y*gen(6)+z*gen(5) ==> [5]: ==> _[1]=0 kill S; setring r; kill M; kill r; ring R = 0, (w, x, y, z), dp; ideal M = w^2 - x*z, w*x - y*z, x^2 - w*y, x*y - z^2, y^2 - w*z; def S = SSres(M, 0); setring S; S; ==> // characteristic : 0 ==> // number of vars : 4 ==> // block 1 : ordering dp ==> // : names w x y z ==> // block 2 : ordering C ""; ==> LRES; ==> [1]: ==> _[1]=0 ==> [2]: ==> _[1]=w2 ==> _[2]=wx ==> _[3]=x2 ==> _[4]=xy ==> _[5]=y2 ==> [3]: ==> _[1]=w*gen(3) ==> _[2]=w*gen(4) ==> _[3]=w*gen(5) ==> _[4]=x*gen(5) ==> _[5]=x*gen(6) ==> _[6]=w2*gen(6) ==> [4]: ==> _[1]=w*gen(10) ==> _[2]=x*gen(12) ==> [5]: ==> _[1]=0 ""; ==> TRES; ==> [1]: ==> _[1]=0 ==> [2]: ==> _[1]=-xz ==> _[2]=-yz ==> _[3]=-wy ==> _[4]=-z2 ==> _[5]=-wz ==> [3]: ==> _[1]=-x*gen(2)-z*gen(4) ==> _[2]=-x*gen(3)+y*gen(2) ==> _[3]=-y*gen(3)-z*gen(6) ==> _[4]=-w*gen(6)-y*gen(4)-z*gen(2) ==> _[5]=-y*gen(5)+z*gen(3) ==> _[6]=-y2*gen(2)+wz*gen(2)-yz*gen(5)+z2*gen(3) ==> [4]: ==> _[1]=-x*gen(9)+y*gen(8)-z*gen(11)+gen(12) ==> _[2]=-w2*gen(11)-wy*gen(9)-y2*gen(7)+wz*gen(7)+yz*gen(10)+z2*gen(8) ==> [5]: ==> _[1]=0 ""; ==> MRES; ==> MRES[1]=0 ==> MRES[2]=w2*gen(1)-xz*gen(1) ==> MRES[3]=wx*gen(1)-yz*gen(1) ==> MRES[4]=x2*gen(1)-wy*gen(1) ==> MRES[5]=xy*gen(1)-z2*gen(1) ==> MRES[6]=y2*gen(1)-wz*gen(1) ==> MRES[7]=w*gen(3)-x*gen(2)-z*gen(4) ==> MRES[8]=w*gen(4)-x*gen(3)+y*gen(2) ==> MRES[9]=w*gen(5)-y*gen(3)-z*gen(6) ==> MRES[10]=-w*gen(6)+x*gen(5)-y*gen(4)-z*gen(2) ==> MRES[11]=x*gen(6)-y*gen(5)+z*gen(3) ==> MRES[12]=w2*gen(6)-y2*gen(2)+wz*gen(2)-yz*gen(5)+z2*gen(3) ==> MRES[13]=w*gen(10)-x*gen(9)+y*gen(8)-z*gen(11)+gen(12) ==> MRES[14]=-w2*gen(11)-wy*gen(9)-y2*gen(7)+wz*gen(7)+yz*gen(10)+z2*gen(8)+x\ *gen(12) ==> MRES[15]=0 print(_); ==> 0,w2-xz,wx-yz,x2-wy,xy-z2,y2-wz,0, 0, 0, 0, 0, 0, 0, 0, 0, ==> 0,0, 0, 0, 0, 0, -x,y, 0, -z,0, -y2+wz,0, 0, 0, ==> 0,0, 0, 0, 0, 0, w, -x,-y,0, z, z2, 0, 0, 0, ==> 0,0, 0, 0, 0, 0, -z,w, 0, -y,0, 0, 0, 0, 0, ==> 0,0, 0, 0, 0, 0, 0, 0, w, x, -y,-yz, 0, 0, 0, ==> 0,0, 0, 0, 0, 0, 0, 0, -z,-w,x, w2, 0, 0, 0, ==> 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -y2+wz,0, ==> 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, y, z2, 0, ==> 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -x,-wy, 0, ==> 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, w, yz, 0, ==> 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -z,-w2, 0, ==> 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, x, 0, ==> 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 RES; ==> [1]: ==> _[1]=0 ==> [2]: ==> _[1]=w2-xz ==> _[2]=wx-yz ==> _[3]=x2-wy ==> _[4]=xy-z2 ==> _[5]=y2-wz ==> [3]: ==> _[1]=w*gen(3)-x*gen(2)-z*gen(4) ==> _[2]=w*gen(4)-x*gen(3)+y*gen(2) ==> _[3]=w*gen(5)-y*gen(3)-z*gen(6) ==> _[4]=-w*gen(6)+x*gen(5)-y*gen(4)-z*gen(2) ==> _[5]=x*gen(6)-y*gen(5)+z*gen(3) ==> _[6]=w2*gen(6)-y2*gen(2)+wz*gen(2)-yz*gen(5)+z2*gen(3) ==> [4]: ==> _[1]=w*gen(10)-x*gen(9)+y*gen(8)-z*gen(11)+gen(12) ==> _[2]=-w2*gen(11)-wy*gen(9)-y2*gen(7)+wz*gen(7)+yz*gen(10)+z2*gen(8)+x*\ gen(12) ==> [5]: ==> _[1]=0 ```