|
A.11 Free resolutionIn SINGULAR a free resolution of a module or ideal has its own type:
Now let’s look at an example which uses resolutions: The Hilbert-Burch
theorem says that the ideal i of a reduced curve in
// 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 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |