Macaulay2 » Documentation
Packages » EagonResolution :: golodBetti
next | previous | forward | backward | up | index | toc

golodBetti -- list the ranks of the free modules in the resolution of a Golod module

Synopsis

Description

Let S be a standard graded polynomial ring. A module M over R = S/I is Golod if the resolution H of M has maximal betti numbers given the betti numbers of the S-free resolutions F of R and K of M. This resolution, H, has underlying graded module H = R**K**T(F'), where F' is the truncated resolution F_1 <- F_2... and T(F') is the tensor algebra.

Since the component modules of H are given, the computation only requires the computation of the minimal S-free resolution of M, and then is purely numeric; the differentials in the R-free resolution of M are not computed.

In case M = coker vars R, the result is the Betti table of the Golod-Shamash-Eagon resolution of the residue field.

We say that M is a Golod module (over R) if the ranks of the free modules in a minimal R-free resolution of M are equal to the numbers produced by golodBetti. Theorems of Levin and Lescot assert that if R has a Golod module, then R is a Golod ring; and that if R is Golod, then the d-th syzygy of any R-module M is Golod for all d greater than or equal to the projective dimension of M as an S-module (more generally, the co-depth of M) (Avramov, 6 lectures, 5.3.2).

i1 : S = ZZ/101[a,b,c]

o1 = S

o1 : PolynomialRing
i2 : I = (ideal(a,b,c^2))^2

             2          2   2     2   4
o2 = ideal (a , a*b, a*c , b , b*c , c )

o2 : Ideal of S
i3 : F = res(S^1/I)

      1      6      8      3
o3 = S  <-- S  <-- S  <-- S  <-- 0
                                  
     0      1      2      3      4

o3 : ChainComplex
i4 : K = res coker vars S

      1      3      3      1
o4 = S  <-- S  <-- S  <-- S  <-- 0
                                  
     0      1      2      3      4

o4 : ChainComplex
i5 : R = S/I

o5 = R

o5 : QuotientRing
i6 : E = eagon(R,6);
i7 : golodBetti(F,K,6)

            0 1 2  3  4   5   6
o7 = total: 1 3 9 27 81 243 729
         0: 1 3 6 12 24  48  96
         1: . . 2 10 32  88 224
         2: . . 1  5 20  72 232
         3: . . .  .  4  28 128
         4: . . .  .  1   7  42
         5: . . .  .  .   .   6
         6: . . .  .  .   .   1

o7 : BettiTally
i8 : betti res (coker vars R, LengthLimit => 6)

            0 1 2  3  4   5   6
o8 = total: 1 3 9 27 81 243 729
         0: 1 3 6 12 24  48  96
         1: . . 2 10 32  88 224
         2: . . 1  5 20  72 232
         3: . . .  .  4  28 128
         4: . . .  .  1   7  42
         5: . . .  .  .   .   6
         6: . . .  .  .   .   1

o8 : BettiTally
i9 : betti eagonResolution E

            0 1 2  3  4   5   6
o9 = total: 1 3 9 27 81 243 729
         0: 1 3 6 12 24  48  96
         1: . . 2 10 32  88 224
         2: . . 1  5 20  72 232
         3: . . .  .  4  28 128
         4: . . .  .  1   7  42
         5: . . .  .  .   .   6
         6: . . .  .  .   .   1

o9 : BettiTally

See also

Ways to use golodBetti:

For the programmer

The object golodBetti is a method function.