|
5.1.147 sres
Syntax:
sres ( ideal_expression, int_expression )
sres ( module_expression, int_expression )
Type:
- resolution
Purpose:
- computes a free resolution of an ideal or module with Schreyer's
method. The ideal, resp. module, has to be a standard basis.
More precisely, let M be given by a standard basis and
.Then
sres
computes a free resolution of
If the int expression k is not zero then the computation stops after k steps
and returns a list of modules (given by standard bases)
, i=1..k.
sres(M,0)
returns a list of n modules where n is the number of variables of the basering.
Even if sres does not compute a minimal resolution, the betti
command gives the true betti numbers! In many cases of interest
sres is much faster than any other known method.
Let list L=sres(M,0); then L[1]=M is identical to the input,
L[2] is a standard basis with respect to the Schreyer ordering of
the first syzygy
module of L[1] , etc.
(
in the notations from above.)
Note:
- Accessing single elements of a resolution may require some partial
computations to be finished and may therefore take some time.
Example:
| ring r=31991,(t,x,y,z,w),ls;
ideal M=t2x2+tx2y+x2yz,t2y2+ty2z+y2zw,
t2z2+tz2w+xz2w,t2w2+txw2+xyw2;
M=std(M);
resolution L=sres(M,0);
L;
==> 1 35 141 209 141 43 4
==> r <-- r <-- r <-- r <-- r <-- r <-- r
==>
==> 0 1 2 3 4 5 6
==> resolution not minimized yet
==>
print(betti(L),"betti");
==> 0 1 2 3 4 5
==> ------------------------------------------
==> 0: 1 - - - - -
==> 1: - - - - - -
==> 2: - - - - - -
==> 3: - 4 - - - -
==> 4: - - - - - -
==> 5: - - - - - -
==> 6: - - 6 - - -
==> 7: - - 9 16 2 -
==> 8: - - - 2 5 1
==> ------------------------------------------
==> total: 1 4 15 18 7 1
==>
|
See
betti;
fres;
hres;
ideal;
int;
lres;
minres;
module;
mres;
res;
syz.
|