F = pureResolution(A, D)
F = pureResolution(M, D)
F = pureResolution(p, D)
F = pureResolution(p,q,D)
A "pure free resolution of type (d_0,d_1,..,d_n)" 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 d_i. Eisenbud and Schreyer constructed such free resolutions in all characteristics and for all degree sequences $d_0 < d_1 < \cdots < d_n$ by pushing forward appropriate twists of a Koszul complex. (The construction was known for the Eagon-Northcott complex since work of Kempf).
The script allows several variations including a sparse version and a generic version.
Here is a simple example, where we produce one of the complexes in the family that included the Eagon-Northcott complex (see for example the appendix in "Commutative Algebra with a View toward Algebraic Geometry" by D. Eisenbud.) This way of producing the Eagon-Northcott complex was certainly known to George Kempf, who may have invented it.
|
|
|
|
|
|
If we twist the map kn a little before taking the direct image we get other complexes in a family that also includes the Buchsbaum-Rim complex (see Eisenbud, loc. cit.)
|
For more complex examples, we use the function pureResolution, which creates a Koszul complex over a product of projective spaces over a ground ring A and (iteratively) forms the direct image over A. In the following we specify a ground ring A and a degree sequence.
|
|
If one doesn't want to bother creating the ring, it suffices to give the characteristic.
|
|
With the form pureResolution(M,D) It is possible to specify a matrix M of linear forms in the ground ring A that defines the parameters used in the Koszul complex whose direct image is taken. The matrix M in pureResolution(M,D) should have size product(m_i+1) x q, where the m_i+1 are the successive differences of the entries of D that happen to be >1, and q >= #D-1+sum(m_i).(The m_i are the dimensions of the projective spaces from whose product we are projecting.)
|
|
|
With the form pureResolution(p,q,D) we can directly create the situation of pureResolution(M,D) where M is generic product(m_i+1) x #D-1+sum(m_i) matrix of linear forms defined over a ring with product(m_i+1) * #D-1+sum(m_i) variables of characteristic p, created by the script. For a given number of variables in A this runs much faster than taking a random matrix M.
|
|
The object pureResolution is a method function.