Macaulay2 » Documentation
Packages » CompleteIntersectionResolutions :: highSyzygy
next | previous | forward | backward | up | index | toc

# highSyzygy -- Returns a syzygy module one beyond the regularity of Ext(M,k)

- Usage:
    `M = highSyzygy M0`
- Inputs:
  - M0, a module, over a complete intersection ring
- Optional inputs:
  - Optimism => ..., default value 0
- Outputs:
  - M, a module, a syzygy module of M0

## Description

A "high syzygy" over a complete intersection is one such that general ci-operators have split kernels when applied recursively on cosyzygy chains of previous kernels.

If p = mfBound M0, then highSyzygy M0 returns the p-th syzygy of M0. (if F is a resolution of M this is the cokernel of F.dd_{p+1}). Optimism => r as optional argument, highSyzygy(M0,Optimism=>r) returns the (p-r)-th syzygy. The script is useful with matrixFactorization(ff, highSyzygy M0).

    i1 : setRandomSeed 100
     -- setting random seed to 100

    o1 = 100

    i2 : S = ZZ/101[x,y,z]

    o2 = S

    o2 : PolynomialRing

    i3 : f = matrix"x3,y3+x3,z3+x3+y3"

    o3 = | x3 x3+y3 x3+y3+z3 |

                 1      3
    o3 : Matrix S  <-- S

    i4 : ff = f*random(source f, source f)

    o4 = | 10x3-22y3-4z3 -20x3-20y3-6z3 -27x3-41y3+z3 |

                 1      3
    o4 : Matrix S  <-- S

    i5 : R = S/ideal f

    o5 = R

    o5 : QuotientRing

    i6 : M0 = R^1/ideal"x2z2,xyz"

    o6 = cokernel | x2z2 xyz |

                                1
    o6 : R-module, quotient of R

    i7 : betti freeResolution (M0, LengthLimit => 7)

                0 1 2  3  4  5  6  7
    o7 = total: 1 2 6 11 18 26 36 47
             0: 1 . .  .  .  .  .  .
             1: . . .  .  .  .  .  .
             2: . 1 .  .  .  .  .  .
             3: . 1 6  6  .  .  .  .
             4: . . .  5 18 14  .  .
             5: . . .  .  . 12 36 25
             6: . . .  .  .  .  . 22

    o7 : BettiTally

    i8 : mfBound M0

    o8 = 3

    i9 : M = betti freeResolution(highSyzygy M0, LengthLimit => 7)

                 0  1  2  3  4  5  6  7
    o9 = total: 11 18 26 36 47 60 74 90
             6:  6  .  .  .  .  .  .  .
             7:  5 18 14  .  .  .  .  .
             8:  .  . 12 36 25  .  .  .
             9:  .  .  .  . 22 60 39  .
            10:  .  .  .  .  .  . 35 90

    o9 : BettiTally

    i10 : netList BRanks matrixFactorization(ff, highSyzygy M0)

          +-+-+
    o10 = |6|6|
          +-+-+
          |3|6|
          +-+-+
          |2|6|
          +-+-+

In this case as in all others we have examined, greater "Optimism" is not justified, and thus matrixFactorization(ff, highSyzygy(M0, Optimism=>1)); would produce an error.

## Caveat

A bug in the total Ext script means that the oddExtModule is sometimes zero, and this can cause a wrong value to be returned.

## See also

- evenExtModule -- even part of Ext^*(M,k) over a complete intersection as module over CI operator ring
- oddExtModule -- odd part of Ext^*(M,k) over a complete intersection as module over CI operator ring
- mfBound -- determines how high a syzygy to take for "matrixFactorization"
- matrixFactorization -- Maps in a higher codimension matrix factorization

## Ways to use highSyzygy:

- `highSyzygy(Module)`

## For the programmer

The object highSyzygy is a method function with options.

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