Suppose that f1..fc is a homogeneous regular sequence of forms of the same degree in a polynomial ring S and M is a high syzygy module over S/(f1,..,fc) = R(c), and mf = (d,h) is the output of matrixFactorization(M,ff). If the complexity of M is c’, then M has a finite free resolution over R = S/(f1,..,f(c-c’)) (and, more generally, has complexity c-d over S/(f1,..,f(c-d)) for d>=c’).
The complex A is the minimal finite free resolution of M over A, constructed as an iterated Koszul extension, made from the maps in bMaps mf and psiMaps mf, as described in Eisenbud-Peeva.
i1 : setRandomSeed 0
o1 = 0
|
i2 : S = ZZ/101[a,b,c];
|
i3 : ff = matrix"a3,b3";
1 2
o3 : Matrix S <--- S
|
i4 : R = S/ideal ff;
|
i5 : M = highSyzygy (R^1/ideal vars R);
|
i6 : mf = matrixFactorization (ff, M)
o6 = {{4} | a2 -c -b 0 0 0 0 0 0 |, {6} | a c b 0 0 0 0 0 0
{4} | 0 a 0 b 0 0 0 0 0 | {5} | 0 a2 0 -b 0 0 0 0 0
{4} | 0 0 a -c 0 b2 0 0 0 | {5} | 0 0 a2 c -b2 0 0 0 0
{3} | 0 0 0 a2 0 0 -b2 0 0 | {5} | 0 0 0 a 0 b2 0 0 0
{4} | 0 0 0 0 0 a2 -c 0 -b | {6} | 0 0 0 0 0 0 0 0 a
{4} | 0 0 0 0 0 0 a b 0 | {6} | 0 0 0 0 a c b 0 0
{4} | 0 0 0 0 b2 0 0 -c a | {5} | 0 0 0 0 0 a2 0 -b 0
{5} | 0 0 0 0 0 0 0 a 0
{5} | 0 0 0 0 0 0 a2 c -b2
------------------------------------------------------------------------
0 0 |}
0 0 |
0 0 |
0 0 |
c b |
0 0 |
0 0 |
b2 0 |
0 0 |
o6 : List
|
i7 : G = makeFiniteResolution(mf,ff)
7 12 5
o7 = S <-- S <-- S
0 1 2
o7 : ChainComplex
|
i8 : F = res pushForward(map(R,S),M)
7 12 5
o8 = S <-- S <-- S <-- 0
0 1 2 3
o8 : ChainComplex
|
i9 : G.dd_1
o9 = {4} | a2 -c -b 0 0 0 0 0 0 0 0 0 |
{4} | 0 a 0 b 0 0 0 0 0 0 0 0 |
{4} | 0 0 a -c 0 b2 0 0 0 0 0 0 |
{3} | 0 0 0 a2 0 0 -b2 0 0 0 0 0 |
{4} | 0 0 0 0 0 a2 -c 0 -b -a3 0 0 |
{4} | 0 0 0 0 0 0 a b 0 0 -a3 0 |
{4} | 0 0 0 0 b2 0 0 -c a 0 0 -a3 |
7 12
o9 : Matrix S <--- S
|
i10 : F.dd_1
o10 = {3} | a2 b2 0 0 0 0 0 0 0 0 0 0 |
{4} | 0 -a 0 0 0 b 0 0 0 0 0 0 |
{4} | 0 0 a 0 0 -c 0 0 b2 0 0 0 |
{4} | 0 c -b 0 0 0 a2 0 0 -a2c 0 0 |
{4} | b 0 0 a 0 0 0 0 0 b3 0 0 |
{4} | -c 0 0 0 a 0 b2 0 0 -b2c b3 0 |
{4} | 0 0 0 -c -b 0 0 a2 0 0 0 b3 |
7 12
o10 : Matrix S <--- S
|
i11 : G.dd_2
o11 = {6} | 0 b3 0 0 0 |
{5} | 0 0 b3 0 0 |
{5} | 0 a2b2 -b2c 0 0 |
{5} | 0 0 -ab2 0 0 |
{6} | -a3 0 0 0 0 |
{6} | 0 -a3 0 0 0 |
{5} | 0 0 -a3 0 0 |
{5} | 0 0 0 -a3 0 |
{5} | 0 0 0 0 -a3 |
{7} | 0 -a2 c 0 b |
{7} | 0 0 -a -b 0 |
{7} | -b2 0 0 c -a |
12 5
o11 : Matrix S <--- S
|
i12 : F.dd_2
o12 = {5} | b3 0 0 0 0 |
{5} | -a2b 0 0 0 0 |
{5} | -a2c 0 0 -a2b2 0 |
{5} | 0 -b3 0 0 0 |
{5} | 0 0 -b3 0 0 |
{5} | -a3 0 0 0 0 |
{6} | -bc ac 0 -b3 0 |
{6} | 0 0 0 0 -b3 |
{6} | 0 0 0 a3 0 |
{7} | -b a 0 0 0 |
{7} | c 0 a b2 0 |
{7} | 0 -c -b 0 a2 |
12 5
o12 : Matrix S <--- S
|
If the complexity of M is not maximal, then the finite resolution takes place over an intermediate complete intersection:
i13 : setRandomSeed 0
o13 = 0
|
i14 : S = ZZ/101[a,b,c,d]
o14 = S
o14 : PolynomialRing
|
i15 : ff1 = matrix"a3,b3,c3,d3"
o15 = | a3 b3 c3 d3 |
1 4
o15 : Matrix S <--- S
|
i16 : ff =ff1*random(source ff1, source ff1)
o16 = | 42a3-50b3+39c3+9d3 -15a3-22b3+50c3+45d3 -29a3-39b3+30c3+19d3
-----------------------------------------------------------------------
-38a3+2b3-4c3-36d3 |
1 4
o16 : Matrix S <--- S
|
i17 : R = S/ideal ff
o17 = R
o17 : QuotientRing
|
i18 : M = highSyzygy (R^1/ideal"a2b2")
o18 = cokernel {6} | b2 0 -a2 0 |
{7} | a b 0 0 |
{7} | 0 0 b a |
3
o18 : R-module, quotient of R
|
i19 : complexity M
o19 = 2
|
i20 : mf = matrixFactorization (ff, M)
o20 = {{7} | a 37b 0 0 |, {8} | 39a2 -29b -18a2 0 0 |}
{6} | -b2 a2 -16b2 0 | {8} | 39b2 39a 0 0 0 |
{7} | 0 0 a -b | {8} | 0 0 39a2 -29b 0 |
{8} | 0 0 -29b2 -29a 41b2 |
o20 : List
|
i21 : complexity mf
o21 = 2
|
i22 : BRanks mf
o22 = {{0, 0}, {0, 0}, {2, 2}, {1, 2}}
o22 : List
|
i23 : G = makeFiniteResolution(mf,ff);
|
i24 : codim ring G
o24 = 2
|
i25 : R1 = ring G
o25 = R1
o25 : QuotientRing
|
i26 : F = res prune pushForward(map(R,R1),M)
3 5 2
o26 = R1 <-- R1 <-- R1 <-- 0
0 1 2 3
o26 : ChainComplex
|
i27 : betti F
0 1 2
o27 = total: 3 5 2
6: 1 . .
7: 2 4 .
8: . . .
9: . 1 2
o27 : BettiTally
|
i28 : betti G
0 1 2
o28 = total: 3 5 2
6: 1 . .
7: 2 4 .
8: . . .
9: . 1 2
o28 : BettiTally
|