Macaulay2 » Documentation
Packages » MCMApproximations :: syzygyModule
next | previous | forward | backward | up | index | toc

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

- Usage:
    `N = syzygyModule(k,M)`
- Inputs:
  - k, an integer, which syzygy
  - M, a module,
- Optional inputs:
  - CoDepth => ..., default value -1
- Outputs:
  - N, a module,

## 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 option 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 freeResolution(M, LengthLimit => numgens ring M)

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

    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 freeResolution(N2, LengthLimit => numgens ring N2)

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

    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

- setupRings -- Sets up a complete intersection for experiments

## Ways to use syzygyModule:

- `syzygyModule(ZZ,Module)`

## For the programmer

The object syzygyModule is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/MCMApproximations.m2:390:0.