Uses code of Avramov-Grayson described in Macaulay2 book
i1 : kk= ZZ/101 o1 = kk o1 : QuotientRing |
i2 : S = kk[x,y,z] o2 = S o2 : PolynomialRing |
i3 : I1 = ideal "x3y" 3 o3 = ideal(x y) o3 : Ideal of S |
i4 : R1 = S/I1 o4 = R1 o4 : QuotientRing |
i5 : M1 = R1^1/ideal(x^2) o5 = cokernel | x2 | 1 o5 : R1-module, quotient of R1 |
i6 : betti res (M1, LengthLimit =>5) 0 1 2 3 4 5 o6 = total: 1 1 1 1 1 1 0: 1 . . . . . 1: . 1 . . . . 2: . . 1 . . . 3: . . . 1 . . 4: . . . . 1 . 5: . . . . . 1 o6 : BettiTally |
i7 : E = ExtModule M1 2 o7 = (kk[X ]) 0 o7 : kk[X ]-module, free, degrees {0..1} 0 |
i8 : apply(toList(0..10), i->hilbertFunction(i, E)) o8 = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} o8 : List |
i9 : Eeven = evenExtModule(M1) 1 o9 = (kk[X ]) 0 o9 : kk[X ]-module, free 0 |
i10 : apply(toList(0..5), i->hilbertFunction(i, Eeven)) o10 = {1, 1, 1, 1, 1, 1} o10 : List |
i11 : Eodd = oddExtModule(M1) 1 o11 = (kk[X ]) 0 o11 : kk[X ]-module, free 0 |
i12 : apply(toList(0..5), i->hilbertFunction(i, Eodd)) o12 = {1, 1, 1, 1, 1, 1} o12 : List |
i13 : use S o13 = S o13 : PolynomialRing |
i14 : I2 = ideal"x3,yz" 3 o14 = ideal (x , y*z) o14 : Ideal of S |
i15 : R2 = S/I2 o15 = R2 o15 : QuotientRing |
i16 : M2 = R2^1/ideal"x2,y,z" o16 = cokernel | x2 y z | 1 o16 : R2-module, quotient of R2 |
i17 : betti res (M2, LengthLimit =>10) 0 1 2 3 4 5 6 7 8 9 10 o17 = total: 1 3 5 7 9 11 13 15 17 19 21 0: 1 2 2 2 2 2 2 2 2 2 2 1: . 1 3 4 4 4 4 4 4 4 4 2: . . . 1 3 4 4 4 4 4 4 3: . . . . . 1 3 4 4 4 4 4: . . . . . . . 1 3 4 4 5: . . . . . . . . . 1 3 o17 : BettiTally |
i18 : E = ExtModule M2 8 o18 = (kk[X ..X ]) 0 1 o18 : kk[X ..X ]-module, free, degrees {0..1, 2:1, 3:2, 3} 0 1 |
i19 : apply(toList(0..10), i->hilbertFunction(i, E)) o19 = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21} o19 : List |
i20 : Eeven = evenExtModule M2 4 o20 = (kk[X ..X ]) 0 1 o20 : kk[X ..X ]-module, free, degrees {0..1, 2:1} 0 1 |
i21 : apply(toList(0..5), i->hilbertFunction(i, Eeven)) o21 = {1, 5, 9, 13, 17, 21} o21 : List |
i22 : Eodd = oddExtModule M2 4 o22 = (kk[X ..X ]) 0 1 o22 : kk[X ..X ]-module, free, degrees {3:0, 1} 0 1 |
i23 : apply(toList(0..5), i->hilbertFunction(i, Eodd)) o23 = {3, 7, 11, 15, 19, 23} o23 : List |
The object ExtModule is a method function.