Home Online Manual
Top
Back: s_res
Forward: Ssyz
FastBack: derham_lib
FastForward: Release Notes
Up: schreyer_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.22.2 Sres

Procedure from library schreyer.lib (see schreyer_lib).

Usage:
Sres(module M, int len)

Return:
ring, containing a Schreyer resolution

Purpose:
computes a Schreyer resolution of M of length at most len (see the library overview)

Note:
If given len is zero then nvars(basering) + 1 is used instead.

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 = Sres(M, 0); setring S; S;
==> //   characteristic : 32003
==> //   number of vars : 3
==> //        block   1 : ordering IS(0)
==> //        block   2 : ordering dp
==> //                  : names    x y z
==> //        block   3 : ordering C
==> //        block   4 : ordering IS(1)
RES;
==> [1]:
==>    _[1]=0
==> [2]:
==>    _[1]=z*gen(1)
==>    _[2]=y*gen(1)
==>    _[3]=x*gen(1)
==> [3]:
==>    _[1]=y*gen(2)-z*gen(3)
==>    _[2]=x*gen(2)-z*gen(4)
==>    _[3]=x*gen(3)-y*gen(4)
==> [4]:
==>    _[1]=x*gen(5)-y*gen(6)+z*gen(7)
==> [5]:
==>    _[1]=0
MRES;
==> MRES[1]=0
==> MRES[2]=z*gen(1)
==> MRES[3]=y*gen(1)
==> MRES[4]=x*gen(1)
==> MRES[5]=y*gen(2)-z*gen(3)
==> MRES[6]=x*gen(2)-z*gen(4)
==> MRES[7]=x*gen(3)-y*gen(4)
==> MRES[8]=x*gen(5)-y*gen(6)+z*gen(7)
==> MRES[9]=0
kill S;
setring r; kill M;
def A = nc_algebra(-1,0); setring A;
ideal Q = var(1)^2, var(2)^2, var(3)^2;
qring SCA = twostd(Q);
basering;
==> //   characteristic : 32003
==> //   number of vars : 3
==> //        block   1 : ordering dp
==> //                  : names    x y z
==> //        block   2 : ordering C
==> //   noncommutative relations:
==> //    yx=-xy
==> //    zx=-xz
==> //    zy=-yz
==> // quotient ring from ideal
==> _[1]=z2
==> _[2]=y2
==> _[3]=x2
module M = maxideal(1);
def S = Sres(M, 2); setring S; S;
==> //   characteristic : 32003
==> //   number of vars : 3
==> //        block   1 : ordering IS(0)
==> //        block   2 : ordering dp
==> //                  : names    x y z
==> //        block   3 : ordering C
==> //        block   4 : ordering IS(1)
==> //   noncommutative relations:
==> //    yx=-xy
==> //    zx=-xz
==> //    zy=-yz
==> // quotient ring from ideal
==> _[1]=z2
==> _[2]=y2
==> _[3]=x2
RES;
==> [1]:
==>    _[1]=0
==> [2]:
==>    _[1]=z*gen(1)
==>    _[2]=y*gen(1)
==>    _[3]=x*gen(1)
==> [3]:
==>    _[1]=z*gen(2)
==>    _[2]=z*gen(3)+y*gen(2)
==>    _[3]=z*gen(4)+x*gen(2)
==>    _[4]=y*gen(3)
==>    _[5]=y*gen(4)+x*gen(3)
==>    _[6]=x*gen(4)
==> [4]:
==>    _[1]=z*gen(5)
==>    _[2]=z*gen(6)+y*gen(5)
==>    _[3]=z*gen(7)+x*gen(5)
==>    _[4]=y*gen(6)+z*gen(8)
==>    _[5]=z*gen(9)+y*gen(7)+x*gen(6)
==>    _[6]=x*gen(7)+z*gen(10)
==>    _[7]=y*gen(8)
==>    _[8]=y*gen(9)+x*gen(8)
==>    _[9]=x*gen(9)+y*gen(10)
==>    _[10]=x*gen(10)
MRES;
==> MRES[1]=0
==> MRES[2]=z*gen(1)
==> MRES[3]=y*gen(1)
==> MRES[4]=x*gen(1)
==> MRES[5]=z*gen(2)
==> MRES[6]=z*gen(3)+y*gen(2)
==> MRES[7]=z*gen(4)+x*gen(2)
==> MRES[8]=y*gen(3)
==> MRES[9]=y*gen(4)+x*gen(3)
==> MRES[10]=x*gen(4)
==> MRES[11]=z*gen(5)
==> MRES[12]=z*gen(6)+y*gen(5)
==> MRES[13]=z*gen(7)+x*gen(5)
==> MRES[14]=y*gen(6)+z*gen(8)
==> MRES[15]=z*gen(9)+y*gen(7)+x*gen(6)
==> MRES[16]=x*gen(7)+z*gen(10)
==> MRES[17]=y*gen(8)
==> MRES[18]=y*gen(9)+x*gen(8)
==> MRES[19]=x*gen(9)+y*gen(10)
==> MRES[20]=x*gen(10)
See also: Ssyz.