  | ### 5.1.58 hres `Syntax:` `hres (` ideal_expression`,` int_expression `)` `Type:` resolution `Purpose:` computes a free resolution of an ideal using the Hilbert-driven algorithm. More precisely, let R be the basering and I be the given ideal. Then `hres` computes a minimal free resolution of R/I 134#134 If the int_expression k is not zero then the computation stops after k steps and returns a list of modules 135#135, i=1..k. `list L=hres(I,0);` returns a list L of n modules (where n is the number of variables of the basering) such that 136#136in the above notation. `Note:` The ideal_expression has to be homogeneous. Accessing single elements of a resolution may require some partial computations to be finished. Therefore, it may take some time. `Example:`
        ring r=0,(x,y,z),dp;
        ideal I=xz,yz,x3-y3;
        def L=hres(I,0);
        print(betti(L),"betti");
      ==>            0     1     2
      ==> ------------------------
      ==>     0:     1     -     -
      ==>     1:     -     2     1
      ==>     2:     -     1     1
      ==> ------------------------
      ==> total:     1     3     2
      ==>
        L[2];     // the first syzygy module of r/I
      ==> _[1]=-x*gen(1)+y*gen(2)
      ==> _[2]=-x2*gen(2)+y2*gen(1)+z*gen(3)
See betti; fres; ideal; int; lres; minres; module; mres; mres_map; res; sres.

User manual for Singular version 4.4.1, 2025, generated by texi2html.