A ZZ/d-graded factorization is a sequence of objects $C_i$, connected by maps $dd^C_i : C_i \rightarrow C_{i-1}$ such that the composition of any d consecutive maps is equal to a fixed scalar multiple of the identity.
In practice, a ZZdFactorization may be visualized as a sequence of R-module maps:
$$F_0 \leftarrow F_1 \leftarrow \cdots \leftarrow F_{d-1}$$
with the caveat that $d^F_0 : F_0 \to F_{d-1}$, since one should count degree modulo d. Any 2-periodic complex may be reinterpretted as a ZZ/2-graded factorization of 0, and likewise a matrix factorization of a ring element f is equivalently a ZZ/2-graded factorization of f. Because of their similarity with complexes, much of the functionality and syntax for this package closely resembles the "Complexes" package, with some key differences that we will highlight below.
|
|
|
|
|
Notice that in the above, both the modules and the differentials are displayed modulo the period of the complex. Moreover, if the user tries to access the data of the modules or differentials, this input is also taken modulo the period:
|
|
|
The package is implemented to not actually check for well-definedness of the factorization (that is, it does not check if all of the differentials actually compose to a scalar multiple of the identity). The user can check this by using the isWellDefined and isdFactorization commands:
|
Much of the syntax and functionality of the types ZZdFactorization and ZZdFactorizationMap are based on current functionalities for the analogous objects in the Complexes package, so there should be essentially no learning curve for users already familiar with working with chain complexes.
The object ZZdFactorization is a type, with ancestor classes MutableHashTable < HashTable < Thing.
The source of this document is in MatrixFactorizations/MatrixFactorizationsDOC.m2:400:0.