|
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
|
|