Top
Back: A.10 Elimination
Forward: A.12 Computation of Ext
FastBack: A. Examples
FastForward: B. Polynomial data
Up: A. Examples
Top: Singular 2-0-4 Manual
Contents: Table of Contents
Index: F. Index
About: About This Document

A.11 Free resolution

In SINGULAR a free resolution of a module or ideal has its own type: resolution. It is a structure that stores all information related to free resolutions. This allows partial computations of resolutions via the command res. After applying res, only a pre-format of the resolution is computed which allows to determine invariants like Betti-numbers or homological dimension. To see the differentials of the complex, a resolution must be converted into the type list which yields a list of modules: the k-th module in this list is the first syzygy-module (module of relations) of the (k-1)st module. There are the following commands to compute a resolution:

res

res
computes a free resolution of an ideal or module using a heuristically chosen method. This is the preferred method to compute free resolutions of ideals or modules.

lres

lres
computes a free resolution of an ideal or module with La Scala’s method. The input needs to be homogeneous.

mres

mres
computes a minimal free resolution of an ideal or module with the syzygy method.

sres

sres
computes a free resolution of an ideal or module with Schreyer’s method. The input has to be a standard basis.

nres

nres
computes a free resolution of an ideal or module with the standard basis method.

minres

minres
minimizes a free resolution of an ideal or module.

syz

syz
computes the first syzygy module.

res(i,r), lres(i,r), sres(i,r), mres(i,r), nres(i,r) compute the first r modules of the resolution of i, resp. the full resolution if r=0 and the basering is not a qring. See the manual for a precise description of these commands.
Note: The command betti does not require a minimal resolution for the minimal betti numbers.

Now let’s look at an example which uses resolutions: The Hilbert-Burch theorem says that the ideal i of a reduced curve in $K^3$ has a free resolution of length 2 and that i is given by the 2x2 minors of the 2nd matrix in the resolution. We test this for two transversal cusps in $K^3$. Afterwards we compute the resolution of the ideal j of the tangent developable of the rational normal curve in $P^4$ from above. Finally we demonstrate the use of the type resolution in connection with the lres command.

 
  // Two transversal cusps in (k^3,0):
  ring r2 =0,(x,y,z),ds;
  ideal i =z2-1y3+x3y,xz,-1xy2+x4,x3z;
  resolution rs=mres(i,0);   // computes a minimal resolution
  rs;                        // the standard representation of complexes
→   1       3       2       
→ r2 <--  r2 <--  r2
→ 
→ 0       1       2       
→ 
    list resi=rs;            // convertion to a list
  print(resi[1]);            // the 1st module is i minimized
→ xz,
→ z2-y3+x3y,
→ xy2-x4
  print(resi[2]);            // the 1st syzygy module of i
→ -z,-y2+x3,
→ x, 0,     
→ y, z      
  resi[3];                   // the 2nd syzygy module of i
→ _[1]=0
  ideal j=minor(resi[2],2);
  reduce(j,std(i));          // check whether j is contained in i
→ _[1]=0
→ _[2]=0
→ _[3]=0
  size(reduce(i,std(j)));    // check whether i is contained in j
→ 0
  // size(<ideal>) counts the non-zero generators
  // ---------------------------------------------
  // The tangent developable of the rational normal curve in P^4:
  ring P = 0,(a,b,c,d,e),dp;
  ideal j= 3c2-4bd+ae, -2bcd+3ad2+3b2e-4ace,
           8b2d2-9acd2-9b2ce+9ac2e+2abde-1a2e2;
  resolution rs=mres(j,0);
  rs;
→  1      2      1      
→ P <--  P <--  P
→ 
→ 0      1      2      
→ 
  list L=rs;
  print(L[2]);
→ 2bcd-3ad2-3b2e+4ace,
→ -3c2+4bd-ae         
  // create an intmat with graded betti numbers
  intmat B=betti(rs);
  // this gives a nice output of betti numbers
  print(B,"betti");
→            0     1     2
→ ------------------------
→     0:     1     -     -
→     1:     -     1     -
→     2:     -     1     -
→     3:     -     -     1
→ ------------------------
→ total:     1     2     1
  // the user has access to all betti numbers
  // the 2-nd column of B:
  B[1..4,2];
→ 0 1 1 0
  ring cyc5=32003,(a,b,c,d,e,h),dp;
  ideal i=
  a+b+c+d+e,
  ab+bc+cd+de+ea,
  abc+bcd+cde+dea+eab,
  abcd+bcde+cdea+deab+eabc,
  h5-abcde;
  resolution rs=lres(i,0);   //computes the resolution according La Scala
  rs;                        //the shape of the minimal resolution
→     1         5         10         10         5         1         
→ cyc5 <--  cyc5 <--  cyc5 <--   cyc5 <--   cyc5 <--  cyc5
→ 
→ 0         1         2          3          4         5         
→ resolution not minimized yet
→ 
  print(betti(rs),"betti");  //shows the Betti-numbers of cyclic 5
→            0     1     2     3     4     5
→ ------------------------------------------
→     0:     1     1     -     -     -     -
→     1:     -     1     1     -     -     -
→     2:     -     1     1     -     -     -
→     3:     -     1     2     1     -     -
→     4:     -     1     2     1     -     -
→     5:     -     -     2     2     -     -
→     6:     -     -     1     2     1     -
→     7:     -     -     1     2     1     -
→     8:     -     -     -     1     1     -
→     9:     -     -     -     1     1     -
→    10:     -     -     -     -     1     1
→ ------------------------------------------
→ total:     1     5    10    10     5     1
  dim(rs);                   //the homological dimension
→ 4
  size(list(rs));            //gets the full (non-reduced) resolution
→ 6
  minres(rs);                //minimizes the resolution
→     1         5         10         10         5         1         
→ cyc5 <--  cyc5 <--  cyc5 <--   cyc5 <--   cyc5 <--  cyc5
→ 
→ 0         1         2          3          4         5         
→ 
  size(list(rs));            //gets the minimized resolution
→ 6

Top Back: A.10 Elimination Forward: A.12 Computation of Ext FastBack: A. Examples FastForward: B. Polynomial data Up: A. Examples Top: Singular 2-0-4 Manual Contents: Table of Contents Index: F. Index About: About This Document
            User manual for Singular version 2-0-4, October 2002, generated by texi2html.