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

D.2.12.5 SSres

Procedure from library schreyer.lib (see schreyer_lib).

Usage:
SSres(I, l)

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

Purpose:
computes (at most l) syzygy modules of M wrt the classical Schreyer induced ordering with gen(i) > gen(j) if i > j, provided both gens are from the same syzygy level.???

Note:
RES contains the images of maps subsituting the beginning of the Schreyer free resolution of baseRing^r/M, while MRES is a sum of these images in a big free sum, containing all the syzygy modules. The syzygy modules are shifted so that gen(i) correspons to MRES[i]. The leading zero module RES[0] indicates the fact that coker of the first map is zero. The number of zeroes inducates the rank of input.

Note:
If l == 0 then l is set to be nvars(basering) + 1

Example:
 
LIB "schreyer.lib";
ring r;
module M = maxideal(1); M;
==> M[1]=x*gen(1)
==> M[2]=y*gen(1)
==> M[3]=z*gen(1)
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
RES;
==> [1]:
==>    _[1]=0
==> [2]:
==>    _[1]=x*gen(1)
==>    _[2]=y*gen(1)
==>    _[3]=z*gen(1)
==> [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
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