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

minimalPresentation(ZZdFactorization) -- minimal presentation of all terms in a ZZ/d-graded factorization

Description

This is frequently useful to make the output of certain operations readable or understandable. This operation is functorial, applying both to ZZ/d-graded factorizations and factorization maps.

In particular, homology often needs to be pruned to be understood. For instance, this is useful for recognizing when terms given by subquotient modules are actually zero. One can directly obtain the pruning map by accessing the cached pruningMap key.

i1 : S = ZZ/101[x,y,z,w];
i2 : F = koszulMF({x,y,z,w}, y*w - x*z);
i3 : E = Hom(F,F)

      8      8      8
o3 = S  <-- S  <-- S
                    
     0      1      0

o3 : ZZdFactorization
i4 : Ed = dual E

      8      8      8
o4 = S  <-- S  <-- S
                    
     0      1      0

o4 : ZZdFactorization
i5 : C = HH E

o5 = subquotient (| 1 0  z  0  -x |, | w  z  0  0  y  0  -x 0  |) <-- subquotient (| 0  -y 0  0  z  -y -x |, | -y -z 0  0  y  0  -x 0  |) <-- subquotient (| 1 0  z  0  -x |, | w  z  0  0  y  0  -x 0  |)
                  | 0 -x -y 0  0  |  | -x -y 0  0  0  y  0  -x |                   | -y 0  -x 0  -w 0  0  |  | x  w  0  0  0  y  0  -x |                   | 0 -x -y 0  0  |  | -x -y 0  0  0  y  0  -x |
                  | 0 0  0  z  -w |  | 0  0  w  z  z  0  -w 0  |                   | 0  -z -z -y 0  0  -w |  | 0  0  -y -z z  0  -w 0  |                   | 0 0  0  z  -w |  | 0  0  w  z  z  0  -w 0  |
                  | 1 -w 0  -y 0  |  | 0  0  -x -y 0  z  0  -w |                   | -z 0  0  x  0  -w 0  |  | 0  0  x  w  0  z  0  -w |                   | 1 -w 0  -y 0  |  | 0  0  -x -y 0  z  0  -w |
                  | 1 0  0  0  0  |  | w  0  -x 0  y  z  0  0  |                   | z  w  0  -x 0  w  0  |  | w  0  -x 0  -w -z 0  0  |                   | 1 0  0  0  0  |  | w  0  -x 0  y  z  0  0  |
                  | 0 0  w  -x 0  |  | 0  w  0  -x -x -w 0  0  |                   | -y -x -x 0  -w 0  0  |  | 0  w  0  -x x  y  0  0  |                   | 0 0  w  -x 0  |  | 0  w  0  -x -x -w 0  0  |
                  | 0 z  0  0  y  |  | z  0  -y 0  0  0  y  z  |                   | 0  0  -z -y 0  0  -w |  | z  0  -y 0  0  0  -w -z |                   | 0 z  0  0  y  |  | z  0  -y 0  0  0  y  z  |
                  | 1 -w z  -y -x |  | 0  z  0  -y 0  0  -x -w |                   | 0  0  0  0  -z y  x  |  | 0  z  0  -y 0  0  x  y  |                   | 1 -w z  -y -x |  | 0  z  0  -y 0  0  -x -w |
                                                                                                                                               
     0                                                                1                                                                       0

o5 : ZZdFactorization
i6 : D = prune C

o6 = cokernel | w z y x | <-- 0 <-- cokernel | w z y x |
                                     
     0                        1     0

o6 : ZZdFactorization
i7 : g = D.cache.pruningMap

o7 = 0 : subquotient (| 1 0  z  0  -x |, | w  z  0  0  y  0  -x 0  |) <------------- cokernel | w z y x | : 0
                      | 0 -x -y 0  0  |  | -x -y 0  0  0  y  0  -x |     {0} | 1 |
                      | 0 0  0  z  -w |  | 0  0  w  z  z  0  -w 0  |     {1} | 0 |
                      | 1 -w 0  -y 0  |  | 0  0  -x -y 0  z  0  -w |     {1} | 0 |
                      | 1 0  0  0  0  |  | w  0  -x 0  y  z  0  0  |     {1} | 0 |
                      | 0 0  w  -x 0  |  | 0  w  0  -x -x -w 0  0  |     {1} | 0 |
                      | 0 z  0  0  y  |  | z  0  -y 0  0  0  y  z  |
                      | 1 -w z  -y -x |  | 0  z  0  -y 0  0  -x -w |

     1 : subquotient (| 0  -y 0  0  z  -y -x |, | -y -z 0  0  y  0  -x 0  |) <----- 0 : 1
                      | -y 0  -x 0  -w 0  0  |  | x  w  0  0  0  y  0  -x |     0
                      | 0  -z -z -y 0  0  -w |  | 0  0  -y -z z  0  -w 0  |
                      | -z 0  0  x  0  -w 0  |  | 0  0  x  w  0  z  0  -w |
                      | z  w  0  -x 0  w  0  |  | w  0  -x 0  -w -z 0  0  |
                      | -y -x -x 0  -w 0  0  |  | 0  w  0  -x x  y  0  0  |
                      | 0  0  -z -y 0  0  -w |  | z  0  -y 0  0  0  -w -z |
                      | 0  0  0  0  -z y  x  |  | 0  z  0  -y 0  0  x  y  |

o7 : ZZdFactorizationMap
i8 : assert isWellDefined g
i9 : assert isFactorizationMorphism g
i10 : assert (target g == C)
i11 : assert (source g == D)
i12 : g^-1

o12 = 0 : cokernel | w z y x | <----------------- subquotient (| 1 0  z  0  -x |, | w  z  0  0  y  0  -x 0  |) : 0
                                  | 1 0 0 0 0 |                | 0 -x -y 0  0  |  | -x -y 0  0  0  y  0  -x |
                                                               | 0 0  0  z  -w |  | 0  0  w  z  z  0  -w 0  |
                                                               | 1 -w 0  -y 0  |  | 0  0  -x -y 0  z  0  -w |
                                                               | 1 0  0  0  0  |  | w  0  -x 0  y  z  0  0  |
                                                               | 0 0  w  -x 0  |  | 0  w  0  -x -x -w 0  0  |
                                                               | 0 z  0  0  y  |  | z  0  -y 0  0  0  y  z  |
                                                               | 1 -w z  -y -x |  | 0  z  0  -y 0  0  -x -w |

      1 : 0 <----- subquotient (| 0  -y 0  0  z  -y -x |, | -y -z 0  0  y  0  -x 0  |) : 1
               0                | -y 0  -x 0  -w 0  0  |  | x  w  0  0  0  y  0  -x |
                                | 0  -z -z -y 0  0  -w |  | 0  0  -y -z z  0  -w 0  |
                                | -z 0  0  x  0  -w 0  |  | 0  0  x  w  0  z  0  -w |
                                | z  w  0  -x 0  w  0  |  | w  0  -x 0  -w -z 0  0  |
                                | -y -x -x 0  -w 0  0  |  | 0  w  0  -x x  y  0  0  |
                                | 0  0  -z -y 0  0  -w |  | z  0  -y 0  0  0  -w -z |
                                | 0  0  0  0  -z y  x  |  | 0  z  0  -y 0  0  x  y  |

o12 : ZZdFactorizationMap
i13 : assert(g*g^-1 == 1 and g^-1*g == 1)

See also

Ways to use this method:


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