5.1.109 res
-----------
Procedure from library standard.lib (see standard_lib).

Syntax:
res ( ideal_expression, int_expression [, any_expression ])

res ( module_expression, int_expression [, any_expression ])
Type:
resolution
Purpose:
computes a (possibly minimal) free resolution of an ideal or module using
a heuristically chosen method.

 The second (int) argument (say, k) specifies the length of
the resolution. If it is not positive then k is assumed to be the
number of variables of the basering.

 If a third argument is given, the returned resolution is minimized.

Depending on the input, the returned resolution is computed using the
following methods:
quotient rings:
nres (classical method using syzygies) , see nres.

homogeneous ideals and k=0:
lres (La'Scala's method), see lres.

not minimized resolution and (homogeneous input with k not 0, or local rings):
sres (Schreyer's method), see sres.

all other inputs:
mres (classical method), see mres.
Note:
Accessing single elements of a resolution may require that some partial
computations have to be finished and may therefore take some time.
See also
betti;
hres;
ideal;
lres;
minres;
module;
mres;
nres;
resolution;
sres.

Example:
  ring r=0,(x,y,z),dp;
ideal i=xz,yz,x3-y3;
def l=res(i,0); // homogeneous ideal: uses lres
l;
==>  1      3      2      
==> r <--  r <--  r
==> 
==> 0      1      2      
==> resolution not minimized yet
==> 
print(betti(l), "betti"); // input to betti may be of type resolution
==>            0     1     2
==> ------------------------
==>     0:     1     -     -
==>     1:     -     2     1
==>     2:     -     1     1
==> ------------------------
==> total:     1     3     2
l[2];         // element access may take some time
==> _[1]=-x*gen(1)+y*gen(2)
==> _[2]=-x2*gen(2)+y2*gen(1)+z*gen(3)
i=i,x+1;
l=res(i,0);   // inhomogeneous ideal: uses mres
l;
==>  1      3      3      1      
==> r <--  r <--  r <--  r
==> 
==> 0      1      2      3      
==> resolution not minimized yet
==> 
ring rs=0,(x,y,z),ds;
ideal i=imap(r,i);
def l=res(i,0); // local ring not minimized: uses sres
l;
==>   1       1       
==> rs <--  rs
==> 
==> 0       1       
==> resolution not minimized yet
==> 
res(i,0,0);     // local ring and minimized: uses mres
==>   1       1       
==> rs <--  rs
==> 
==> 0       1       
==> 

<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version 2-0-4, October 2002,
generated by <a href="http://www.gnu.org/software/texinfo/"><i>texi2html</i></a>.
</font>

</body>
</html>
