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

koszulMF -- Construct a Koszul matrix factorization from an ideal and a polynomial

Description

Constructs a Koszul matrix factorization from a list and a polynomial, where the factorization is built by writing the ring element as a linear combination of the ring elements in the list. If the list is instead and ideal, then the factorization is built with respect to a generating set of the ideal. If no list or ring is specified, then the command constructs the factorization with respect the the homogeneous maximal ideal.

i1 : R = QQ[x,y,z]

o1 = R

o1 : PolynomialRing
i2 : I = ideal(x^2*y, y^3*z)

             2    3
o2 = ideal (x y, y z)

o2 : Ideal of R
i3 : f = x^2*y + y^3*z

      3     2
o3 = y z + x y

o3 : R
i4 : K = koszulMF({x, y, z}, f)

      2      2      2
o4 = R  <-- R  <-- R
                    
     0      1      0

o4 : ZZdFactorization
i5 : K == koszulMF(f)

o5 = true
i6 : K.dd

          2                 2
o6 = 1 : R  <------------- R  : 0
               | y3 y  |
               | x2 -z |

          2                  2
     0 : R  <-------------- R  : 1
               | z  y   |
               | x2 -y3 |

o6 : ZZdFactorizationMap
i7 : K' = koszulMF({x, y^2, z}, f)

      2      2      2
o7 = R  <-- R  <-- R
                    
     0      1      0

o7 : ZZdFactorization
i8 : K'.dd

          2                 2
o8 = 1 : R  <------------- R  : 0
               | y3 x  |
               | xy -z |

          2                  2
     0 : R  <-------------- R  : 1
               | z  x   |
               | xy -y3 |

o8 : ZZdFactorizationMap
i9 : koszulMF(ideal(x^2,y^2,z^2), f) --factorization changes, depending on list

      2      2      2
o9 = R  <-- R  <-- R
                    
     0      1      0

o9 : ZZdFactorization
i10 : oo.dd

           2                  2
o10 = 1 : R  <-------------- R  : 0
                | yz x2  |
                | y  -y2 |

           2                  2
      0 : R  <-------------- R  : 1
                | y2 x2  |
                | y  -yz |

o10 : ZZdFactorizationMap
i11 : K3 = koszulMF(I, f)

       2      2      2
o11 = R  <-- R  <-- R
                     
      0      1      0

o11 : ZZdFactorization
i12 : oo.dd  --looks like tensor product of trivial factorizations

           2                  2
o12 = 1 : R  <-------------- R  : 0
                | 1 x2y  |
                | 1 -y3z |

           2                   2
      0 : R  <--------------- R  : 1
                | y3z x2y |
                | 1   -1  |

o12 : ZZdFactorizationMap
i13 : isNullHomotopic id_K3

o13 = true
i14 : nullHomotopy id_K3

           2                2
o14 = 1 : R  <------------ R  : 0
                | 0 0  |
                | 0 -1 |

           2               2
      0 : R  <----------- R  : 1
                | 1 0 |
                | 0 0 |

o14 : ZZdFactorizationMap

Caveat

This method does not actually check if the ring element can be written as a linear combination of the elements in the list.

See also

Ways to use koszulMF:

  • koszulMF(Ideal,RingElement)
  • koszulMF(List,RingElement)
  • koszulMF(RingElement)

For the programmer

The object koszulMF is a method function.


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