This function takes a graded module M over a polynomial ring S that is a second syzygy, and returns a three-generator ideal j whose second syzygy is M, so that the resolution of S/j, from the third step, is isomorphic to the resolution of M. Alternately bruns takes a matrix whose cokernel is a second syzygy, and finds a 3-generator ideal whose second syzygy is the image of that matrix.
i1 : kk=ZZ/32003 o1 = kk o1 : QuotientRing |
i2 : S=kk[a..d] o2 = S o2 : PolynomialRing |
i3 : i=ideal(a^2,b^2,c^2, d^2) 2 2 2 2 o3 = ideal (a , b , c , d ) o3 : Ideal of S |
i4 : betti (F=res i) 0 1 2 3 4 o4 = total: 1 4 6 4 1 0: 1 . . . . 1: . 4 . . . 2: . . 6 . . 3: . . . 4 . 4: . . . . 1 o4 : BettiTally |
i5 : M = image F.dd_3 o5 = image {4} | c2 d2 0 0 | {4} | -b2 0 d2 0 | {4} | a2 0 0 d2 | {4} | 0 -b2 -c2 0 | {4} | 0 a2 0 -c2 | {4} | 0 0 a2 b2 | 6 o5 : S-module, submodule of S |
i6 : f=F.dd_3 o6 = {4} | c2 d2 0 0 | {4} | -b2 0 d2 0 | {4} | a2 0 0 d2 | {4} | 0 -b2 -c2 0 | {4} | 0 a2 0 -c2 | {4} | 0 0 a2 b2 | 6 4 o6 : Matrix S <--- S |
i7 : j=bruns M; o7 : Ideal of S |
i8 : betti res j -- the ideal has 3 generators 0 1 2 3 4 o8 = total: 1 3 5 4 1 0: 1 . . . . 1: . . . . . 2: . . . . . 3: . 3 . . . 4: . . . . . 5: . . . . . 6: . . 5 . . 7: . . . 4 . 8: . . . . 1 o8 : BettiTally |
Here is a more complicated example, also involving a complete intersection. You can see that columns three and four in the two Betti diagrams are the same.
i9 : kk=ZZ/32003 o9 = kk o9 : QuotientRing |
i10 : S=kk[a..d] o10 = S o10 : PolynomialRing |
i11 : i=ideal(a^2,b^3,c^4, d^5) 2 3 4 5 o11 = ideal (a , b , c , d ) o11 : Ideal of S |
i12 : betti (F=res i) 0 1 2 3 4 o12 = total: 1 4 6 4 1 0: 1 . . . . 1: . 1 . . . 2: . 1 . . . 3: . 1 1 . . 4: . 1 1 . . 5: . . 2 . . 6: . . 1 1 . 7: . . 1 1 . 8: . . . 1 . 9: . . . 1 . 10: . . . . 1 o12 : BettiTally |
i13 : M = image F.dd_3 o13 = image {5} | c4 d5 0 0 | {6} | -b3 0 d5 0 | {7} | a2 0 0 d5 | {7} | 0 -b3 -c4 0 | {8} | 0 a2 0 -c4 | {9} | 0 0 a2 b3 | 6 o13 : S-module, submodule of S |
i14 : f=F.dd_3 o14 = {5} | c4 d5 0 0 | {6} | -b3 0 d5 0 | {7} | a2 0 0 d5 | {7} | 0 -b3 -c4 0 | {8} | 0 a2 0 -c4 | {9} | 0 0 a2 b3 | 6 4 o14 : Matrix S <--- S |
i15 : j1=bruns f; o15 : Ideal of S |
i16 : betti res j1 0 1 2 3 4 o16 = total: 1 3 5 4 1 0: 1 . . . . 1: . . . . . 2: . . . . . 3: . . . . . 4: . . . . . 5: . . . . . 6: . . . . . 7: . . . . . 8: . 1 . . . 9: . 2 . . . 10: . . . . . 11: . . . . . 12: . . . . . 13: . . . . . 14: . . . . . 15: . . 1 . . 16: . . 1 . . 17: . . 2 . . 18: . . 1 1 . 19: . . . 1 . 20: . . . 1 . 21: . . . 1 . 22: . . . . 1 o16 : BettiTally |
i17 : j=bruns M; o17 : Ideal of S |
i18 : betti res j 0 1 2 3 4 o18 = total: 1 3 5 4 1 0: 1 . . . . 1: . . . . . 2: . . . . . 3: . . . . . 4: . . . . . 5: . . . . . 6: . . . . . 7: . . . . . 8: . 1 . . . 9: . 2 . . . 10: . . . . . 11: . . . . . 12: . . . . . 13: . . . . . 14: . . . . . 15: . . 1 . . 16: . . 1 . . 17: . . 2 . . 18: . . 1 1 . 19: . . . 1 . 20: . . . 1 . 21: . . . 1 . 22: . . . . 1 o18 : BettiTally |
In the next example, we perform the "Brunsification" of a rational curve.
i19 : kk=ZZ/32003 o19 = kk o19 : QuotientRing |
i20 : S=kk[a..e] o20 = S o20 : PolynomialRing |
i21 : i=monomialCurveIdeal(S, {1,3,4,5}) 2 2 2 3 2 o21 = ideal (d - c*e, b*d - a*e, c - b*e, b*c - a*d, a*c*d - b e, b - a c) o21 : Ideal of S |
i22 : betti (F=res i) 0 1 2 3 4 o22 = total: 1 5 8 5 1 0: 1 . . . . 1: . 4 2 . . 2: . 1 6 5 1 o22 : BettiTally |
i23 : time j=bruns F.dd_3; -- used 0.357412 seconds o23 : Ideal of S |
i24 : betti res j 0 1 2 3 4 o24 = total: 1 3 6 5 1 0: 1 . . . . 1: . . . . . 2: . . . . . 3: . . . . . 4: . 3 . . . 5: . . . . . 6: . . . . . 7: . . 2 . . 8: . . 4 5 1 o24 : BettiTally |
The object bruns is a method function.