MF = matrixFactorization(ff,M)
The input module M should be a maximal Cohen-Macaulay module over R = S/ideal ff. If M is in fact a "high syzygy", then the function matrixFactorization(ff,M,Layered=>false) uses a different, faster algorithm which only works in the high syzygy case.
In all examples we know, M can be considered a "high syzygy" as long as Ext^{even}_R(M,k) and Ext^{odd}_R(M,k) have negative regularity over the ring of CI operators (regraded with variables of degree 1. However, the best result we can prove is that it suffices to have regularity < -(2*dim R+1).
When the optional input Check==true (the default is Check==false), the properties in the definition of Matrix Factorization are verified
The output is a list of maps \{d,h\} or \{d,h,gamma\}, where gamma is an augmentation, that is, a map from target d to M.
The map d is a special lifting to S of a presentation of M over R. To explain the contents, we introduce some notation (from Eisenbud and Peeva, "Minimal free resolutions over complete intersections" Lecture Notes in Mathematics, 2152. Springer, Cham, 2016. x+107 pp. ISBN: 978-3-319-26436-3; 978-3-319-26437-0).
R(i) = S/(ff_0,..,ff_{i-1}). Here 0<= i <= c, and R = R(c) and S = R(0).
B(i) = the matrix (over S) representing d_i: B_1(i) \to B_0(i)
d(i): A_1(i) \to A_0(i) the restriction of d = d(c). where A(i) = \oplus_{i=1}^p B(i)
The map h is a direct sum of maps target d(p) \to source d(p) that are homotopies for ff_p on the restriction d(p): over the ring R#(p-1) = S/(ff#1..ff#(p-1), so d(p) * h#p = ff#p mod (ff#1..ff#(p-1).
In addition, h#p * d(p) induces ff#p on B1#p mod (ff#1..ff#(p-1).
Here is a simple example:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The object matrixFactorization is a method function with options.