Home Online Manual
Top
Back: SSres
Forward: SScontinue
FastBack:
FastForward:
Up: schreyer_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

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