next | previous | forward | backward | up | top | index | toc | Macaulay2 website
MCMApproximations :: syzygyModule

syzygyModule -- Produces the k-th syzygy module (k \in ZZ)

Synopsis

Description

If k==0 then the N=M. If k>0 then the syzygy module is computed from the resolution. If k<0 then the program returns the dual of the (n-k)-th syzygy of the dual of the k-th syzygy, where n is one more than Codepth if that opition is specified, and else n is the number of variables of ring M. Of course the resulting N is 0 if ring M is regular, and otherwise correct only if ring M is Gorenstein. In the Gorenstein case, syzygyModule(-k, syzygyModule(k, M)) -is the non-free part of the source of the MCM approximation of M.

i1 : R = setupRings(4,3);
i2 : M = coker vars R_2;
i3 : betti res M

            0 1 2  3  4  5
o3 = total: 1 4 8 12 16 20
         0: 1 4 6  4  1  .
         1: . . 2  8 12  8
         2: . . .  .  3 12

o3 : BettiTally
i4 : betti syzygyModule(2,M)

            0  1
o4 = total: 8 12
         2: 6  4
         3: 2  8

o4 : BettiTally
i5 : betti (N2 = syzygyModule(-2,M))

             0 1
o5 = total: 12 8
        -6:  8 2
        -5:  4 6

o5 : BettiTally
i6 : betti res N2

             0 1 2 3 4  5
o6 = total: 12 8 5 5 8 12
        -6:  8 2 . . .  .
        -5:  4 6 4 1 .  .
        -4:  . . . . .  .
        -3:  . . . . .  .
        -2:  . . 1 4 6  4
        -1:  . . . . 2  8

o6 : BettiTally
i7 : betti syzygyModule(-2,M,CoDepth=>2)

           
o7 = total:

o7 : BettiTally

Caveat

ring M must be Gorenstein, and the program does not check

See also

Ways to use syzygyModule :

For the programmer

The object syzygyModule is a method function with options.