Macaulay2 » Documentation
Packages » MatrixFactorizations :: ZZdFactorization
next | previous | forward | backward | up | index | toc

ZZdFactorization -- the class of all ZZ/d-graded factorizations

Description

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.

i1 : Q = QQ[x_1..x_3];
i2 : F1 = ZZdfactorization {x_1,x_2}

      1      1      1
o2 = Q  <-- Q  <-- Q
                    
     0      1      0

o2 : ZZdFactorization
i3 : F1.dd

          1               1
o3 = 1 : Q  <----------- Q  : 0
               | x_2 |

          1               1
     0 : Q  <----------- Q  : 1
               | x_1 |

o3 : ZZdFactorizationMap
i4 : F2 = ZZdfactorization {x_1,x_2,x_3}

      1      1      1      1
o4 = Q  <-- Q  <-- Q  <-- Q
                           
     0      1      2      0

o4 : ZZdFactorization
i5 : F2.dd

          1               1
o5 = 2 : Q  <----------- Q  : 0
               | x_3 |

          1               1
     0 : Q  <----------- Q  : 1
               | x_1 |

          1               1
     1 : Q  <----------- Q  : 2
               | x_2 |

o5 : ZZdFactorizationMap

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:

i6 : F1_0

      1
o6 = Q

o6 : Q-module, free
i7 : F1_2

      1
o7 = Q

o7 : Q-module, free
i8 : F1.dd_123

o8 = | x_1 |

             1      1
o8 : Matrix Q  <-- Q

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:

i9 : isdFactorization F2

o9 = (true, x x x )
             1 2 3

o9 : Sequence

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.

See also

Functions and methods returning a ZZ/d graded factorization:

  • adjointFactorization(Matrix) -- see adjointFactorization -- Constructs matrix factorization of a determinant of a matrix
  • basis(List,ZZdFactorization) (missing documentation)
  • basis(ZZ,ZZdFactorization) (missing documentation)
  • branchedToMF(Matrix) -- see branchedToMF -- Converts a maximal Cohen-Macaulay module over a d-fold branched cover into a d-fold factorization
  • branchedToMF(Matrix,Ring) -- see branchedToMF -- Converts a maximal Cohen-Macaulay module over a d-fold branched cover into a d-fold factorization
  • branchedToMF(Module) -- see branchedToMF -- Converts a maximal Cohen-Macaulay module over a d-fold branched cover into a d-fold factorization
  • branchedToMF(Module,Ring) -- see branchedToMF -- Converts a maximal Cohen-Macaulay module over a d-fold branched cover into a d-fold factorization
  • coimage(ZZdFactorizationMap) -- make the coimage of a map of ZZ/d-graded factorizations
  • cokernel(ZZdFactorizationMap) -- make the cokernel of a map of ZZ/d-graded factorizations
  • cone(ZZdFactorizationMap) -- make the mapping cone of a morphism of ZZ/d-graded factorizations
  • ZZdFactorization ++ ZZdFactorization -- see directSum(ZZdFactorization) -- direct sum of ZZ/d-graded factorizations
  • dual(ZZdFactorization) -- make the dual of a ZZ/d-graded factorization
  • dual(ZZdFactorization,RingElement) -- see dual(ZZdFactorization) -- make the dual of a ZZ/d-graded factorization
  • dual(ZZdFactorization,Symbol) -- see dual(ZZdFactorization) -- make the dual of a ZZ/d-graded factorization
  • eulerMF(RingElement) -- see eulerMF -- Construct a Koszul matrix factorization with respect to the Jacobian ideal
  • fullCollapse(ZZdFactorization,ZZ,ZZ) -- see fullCollapse -- Converts a d-fold factorization into a 2-fold factorization
  • gradedModule(ZZdFactorization) -- a new ZZ/d-graded factorization in which the differential is zero
  • HH ZZdFactorization -- homology of a ZZ/d-graded factorization
  • Hom(Complex,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization formed by folding the complex, then taking the ZZ/d-graded Hom factorization
  • Hom(Complex,ZZdFactorization,RingElement) -- see Hom(Complex,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization formed by folding the complex, then taking the ZZ/d-graded Hom factorization
  • Hom(Complex,ZZdFactorization,Symbol) -- see Hom(Complex,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization formed by folding the complex, then taking the ZZ/d-graded Hom factorization
  • Hom(ZZdFactorization,Complex) -- see Hom(Complex,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization formed by folding the complex, then taking the ZZ/d-graded Hom factorization
  • Hom(ZZdFactorization,Complex,RingElement) -- see Hom(Complex,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization formed by folding the complex, then taking the ZZ/d-graded Hom factorization
  • Hom(ZZdFactorization,Complex,Symbol) -- see Hom(Complex,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization formed by folding the complex, then taking the ZZ/d-graded Hom factorization
  • Hom(Module,ZZdFactorization) -- see Hom(ZZdFactorization,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization between two ZZ/d-graded factorizations
  • Hom(ZZdFactorization,Module) -- see Hom(ZZdFactorization,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization between two ZZ/d-graded factorizations
  • Hom(ZZdFactorization,Ring) -- see Hom(ZZdFactorization,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization between two ZZ/d-graded factorizations
  • Hom(ZZdFactorization,ZZdFactorization) -- the ZZ/d-graded homomorphism factorization between two ZZ/d-graded factorizations
  • Hom(ZZdFactorization,Module,RingElement) -- see Hom(ZZdFactorization,ZZdFactorization,Symbol) -- the ZZ/d-graded homomorphism factorization between two ZZ/d-graded factorizations
  • Hom(ZZdFactorization,Module,Symbol) -- see Hom(ZZdFactorization,ZZdFactorization,Symbol) -- the ZZ/d-graded homomorphism factorization between two ZZ/d-graded factorizations
  • Hom(ZZdFactorization,ZZdFactorization,RingElement) -- see Hom(ZZdFactorization,ZZdFactorization,Symbol) -- the ZZ/d-graded homomorphism factorization between two ZZ/d-graded factorizations
  • Hom(ZZdFactorization,ZZdFactorization,Symbol) -- the ZZ/d-graded homomorphism factorization between two ZZ/d-graded factorizations
  • image(ZZdFactorizationMap) -- make the image of a map of ZZ/d-graded factorizations
  • kernel(ZZdFactorizationMap) -- make the kernel of a map of ZZ/d-graded factorizations
  • linearMF(RingElement) -- see linearMF -- Constructs a Koszul d-fold factorization of a homogeneous element of degree d
  • linearMF(RingElement,RingElement) -- see linearMF -- Constructs a Koszul d-fold factorization of a homogeneous element of degree d
  • linearMF(RingElement,Symbol) -- see linearMF -- Constructs a Koszul d-fold factorization of a homogeneous element of degree d
  • minimalPresentation(ZZdFactorization) -- minimal presentation of all terms in a ZZ/d-graded factorization
  • prune(ZZdFactorization) -- see minimalPresentation(ZZdFactorization) -- minimal presentation of all terms in a ZZ/d-graded factorization
  • randomTailMF(RingElement) -- see randomTailMF -- Construct a matrix factorization from a high syzygy of a random module over a hypersurface
  • randomTailMF(RingElement,ZZ,ZZ) -- see randomTailMF -- Construct a matrix factorization from a high syzygy of a random module over a hypersurface
  • randomTailMF(RingElement,ZZ,ZZ,ZZ) -- see randomTailMF -- Construct a matrix factorization from a high syzygy of a random module over a hypersurface
  • ring(ZZdFactorizationMap) -- see ring(ZZdFactorization) -- access the ring of a ZZ/d-graded factorization or a factorization map
  • Ring ** ZZdFactorization -- see RingMap ** ZZdFactorization -- tensor a ZZ/d-graded factorization along a ring map
  • RingMap ** ZZdFactorization -- tensor a ZZ/d-graded factorization along a ring map
  • tensor(RingMap,ZZdFactorization) -- see RingMap ** ZZdFactorization -- tensor a ZZ/d-graded factorization along a ring map
  • tensor(ZZdFactorization,RingMap) -- see RingMap ** ZZdFactorization -- tensor a ZZ/d-graded factorization along a ring map
  • ZZdFactorization ** Ring -- see RingMap ** ZZdFactorization -- tensor a ZZ/d-graded factorization along a ring map
  • ZZdFactorization ** RingMap -- see RingMap ** ZZdFactorization -- tensor a ZZ/d-graded factorization along a ring map
  • RingMap ZZdFactorization -- apply a ring map
  • rk1MCM2gen(List) -- see rk1MCM2gen -- Construct every possible rank 1, 2-generated maximal Cohen-Macaulay module over the cubic Fermat hypersurface in 4 variables
  • rk1MCM2gen(List,ZZ) -- see rk1MCM2gen -- Construct every possible rank 1, 2-generated maximal Cohen-Macaulay module over the cubic Fermat hypersurface in 4 variables
  • source(ZZdFactorizationMap) -- get the source of a map of ZZ/d-graded factorizations
  • suspension(ZZ,ZZdFactorization) -- see suspension -- Constructs the suspension of a d-fold factorization
  • suspension(ZZdFactorization) -- see suspension -- Constructs the suspension of a d-fold factorization
  • tailMF(Ideal) -- see tailMF -- Generate a ZZdFactorization from a module over a hypersurface ring
  • tailMF(Module) -- see tailMF -- Generate a ZZdFactorization from a module over a hypersurface ring
  • target(ZZdFactorizationMap) -- get the target of a map of ZZ/d-graded factorizations
  • tensor(ZZdFactorization,ZZdFactorization,RingElement) (missing documentation)
  • tensor(ZZdFactorization,ZZdFactorization,Symbol) (missing documentation)
  • trivialMF(Module,RingElement) -- see trivialMF -- Constructs the trivial matrix factorization of an element f
  • trivialMF(ZZ,Module,RingElement) -- see trivialMF -- Constructs the trivial matrix factorization of an element f
  • trivialMF(ZZ,ZZ,Module,RingElement) -- see trivialMF -- Constructs the trivial matrix factorization of an element f
  • trivialMF(ZZ,ZZ,Module,ZZ) -- see trivialMF -- Constructs the trivial matrix factorization of an element f
  • truncate(List,ZZdFactorization) (missing documentation)
  • truncate(ZZ,ZZdFactorization) (missing documentation)
  • ZZdfactorization(List) -- see ZZdfactorization -- make a ZZ/d-graded factorization
  • Complex ** ZZdFactorization -- see ZZdFactorization ** ZZdFactorization -- tensor product of ZZ/d-graded factorizations
  • Module ** ZZdFactorization -- see ZZdFactorization ** ZZdFactorization -- tensor product of ZZ/d-graded factorizations
  • tensor(ZZdFactorization,ZZdFactorization) -- see ZZdFactorization ** ZZdFactorization -- tensor product of ZZ/d-graded factorizations
  • ZZdFactorization ** Complex -- see ZZdFactorization ** ZZdFactorization -- tensor product of ZZ/d-graded factorizations
  • ZZdFactorization ** Module -- see ZZdFactorization ** ZZdFactorization -- tensor product of ZZ/d-graded factorizations
  • ZZdFactorization ** ZZdFactorization -- tensor product of ZZ/d-graded factorizations
  • ZZdFactorization Array -- shift a ZZ/d-graded factorization or map of ZZ/d-graded factorizations
  • ZZdfactorization(HashTable) -- make a ZZ/d-graded factorization
  • ZZdfactorization(Ideal,ZZ) -- see ZZdfactorization(Module,ZZ) -- convert a module/ring/ideal into a ZZ/d-graded factorization for specified period d
  • ZZdfactorization(Module,ZZ) -- convert a module/ring/ideal into a ZZ/d-graded factorization for specified period d
  • ZZdfactorization(Ring,ZZ) -- see ZZdfactorization(Module,ZZ) -- convert a module/ring/ideal into a ZZ/d-graded factorization for specified period d
  • ZZdfactorization(ZZdFactorization) -- make a ZZ/d-graded factorization with shifted base; used for permuting the modules without adding signs

Methods that use a ZZ/d graded factorization:

For the programmer

The object ZZdFactorization is a type, with ancestor classes MutableHashTable < HashTable < Thing.


The source of this document is in MatrixFactorizations/MatrixFactorizationsDOC.m2:400:0.