|
D.15.22.4 Scontinue
Procedure from library schreyer.lib (see schreyer_lib).
- Usage:
- Scontinue(int len)
- Return:
- nothing, instead it changes the currently active resolution
- Purpose:
- extends the currently active resolution by at most len syzygies
- Assume:
- must be used within a ring returned by Sres or Ssyz
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 = Ssyz(M); 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)
"Only the first syzygy: ";
==> Only the first syzygy:
RES; MRES;
==> [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)
==> 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)
"More syzygies: ";
==> More syzygies:
Scontinue(10);
RES; MRES;
==> [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[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
|
|