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

## Synopsis

• Usage:
M = highSyzygy M0
• Inputs:
• M0, , over a complete intersection ring
• Optional inputs:
• Optimism => ..., default value 0
• Outputs:
• M, , 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 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 res (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 res highSyzygy M0 0 1 2 3 4 o9 = total: 11 18 26 36 47 6: 6 . . . . 7: 5 18 14 . . 8: . . 12 36 25 9: . . . . 22 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.