We give an application of this function to create pure free resolutions. A much more general tool for doing this is in the script pureResolution.
A "pure free resolution of type (d0,d1,..,dn)" is a resolution of a graded Cohen-Macaulay module M over a polynomial ring such that for each i = 1,..,n, the module of i-th syzygies of M is generated by syzygies of degree di. Eisenbud and Schreyer constructed such free resolutions in all characteristics and for all degree sequences d0 < d1 < …< dn by pushing forward appropriate twists of a Koszul complex. (The construction was known for the Eagon-Northcott complex since work of Kempf).
i1 : kk = ZZ/101 o1 = kk o1 : QuotientRing |
i2 : A = kk[u,v,w] o2 = A o2 : PolynomialRing |
i3 : T = A[x,y] o3 = T o3 : PolynomialRing |
i4 : params = matrix"ux,uy+vx,vy+wx,wy"
o4 = | xu xv+yu xw+yv yw |
1 4
o4 : Matrix T <--- T
|
i5 : kn = koszul(4,params)
o5 = {3, 3} | -yw |
{3, 3} | xw+yv |
{3, 3} | -xv-yu |
{3, 3} | xu |
4 1
o5 : Matrix T <--- T
|
i6 : D = directImageComplex kn
o6 = -4 : 0 <----- 0 : -4
0
-3 : 0 <----- 0 : -3
0
-2 : 0 <----- 0 : -2
0
8 3
-1 : A <-------------------- A : -1
{3} | w 0 0 |
{3} | -v -w 0 |
{3} | u v 0 |
{3} | 0 -u 0 |
{3} | 0 w 0 |
{3} | 0 -v -w |
{3} | 0 u v |
{3} | 0 0 -u |
0 : 0 <----- 0 : 0
0
1 : 0 <----- 0 : 1
0
o6 : ChainComplexMap
|
i7 : m = transpose D_(-1)
o7 = {-4} | w -v u 0 0 0 0 0 |
{-4} | 0 -w v -u w -v u 0 |
{-4} | 0 0 0 0 0 -w v -u |
3 8
o7 : Matrix A <--- A
|
i8 : betti res coker m
0 1 2 3
o8 = total: 3 8 6 1
-4: 3 8 6 .
-3: . . . 1
o8 : BettiTally
|
i9 : (dual oo)[-3]
0 1 2 3
o9 = total: 1 6 8 3
0: 1 . . .
1: . 6 8 3
o9 : BettiTally
|