| #### 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;
    ==> // coefficients: ZZ/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

User manual for Singular version 4-1-0p2, 2017, generated by texi2html.