# Singular

### 5.1.81 lres

Syntax:
lres ( ideal_expression, int_expression )
Type:
resolution
Purpose:
computes a free resolution of an ideal using LaScala's algorithm.

More precisely, let R be the basering and I be the given ideal. Then lres computes a minimal free resolution of R/I If the int_expression k is not zero then the computation stops after k steps and returns a list of modules , i=1..k.

list L=lres(I,0); returns a list L of n modules (where n is the number of variables of the basering) such that in the above notation.

Note:
The ideal_expression has to be homogeneous.
Accessing single elements of a resolution may require that some partial computations have to be finished and may therefore take some time.
Example:
  ring r=0,(x,y,z),dp; ideal I=xz,yz,x3-y3; def L=lres(I,0); print(betti(L),"betti"); ==> 0 1 2 ==> ------------------------ ==> 0: 1 - - ==> 1: - 2 1 ==> 2: - 1 1 ==> ------------------------ ==> total: 1 3 2 ==> L; // the first syzygy module of r/I ==> _=-x*gen(1)+y*gen(2) ==> _=-x2*gen(2)+y2*gen(1)+z*gen(3) 
See betti; fres; hres; ideal; int; minres; module; mres; res; sres.

### Misc 