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

isNullHomotopic(ZZdFactorizationMap) -- whether a map of ZZ/d-graded factorizations is null-homotopic

Description

A map of ZZ/d-graded factorizations $f \colon C \to D$ is null-homotopic if there exists a map of factorizations $h : C \to D$ of degree $\deg(f)+1$, such that we have the equality \[ f = \operatorname{dd}^D h + (-1)^{\deg(f)} h \operatorname{dd}^C. \]

As a first example, we verify that the identity map on the "trivial" factorization is nullhomotopic.

i1 : S = ZZ/101[a,b];
i2 : C = trivialMF(S^2, a^3+b^3)

      2      2      2
o2 = S  <-- S  <-- S
                    
     0      1      0

o2 : ZZdFactorization
i3 : h = map(C, C, i -> if i == 1 then id_(S^2), Degree => 1)

          2         2
o3 = 1 : S  <----- S  : 0
               0

          2               2
     0 : S  <----------- S  : 1
               | 1 0 |
               | 0 1 |

o3 : ZZdFactorizationMap
i4 : isWellDefined h

o4 = true
i5 : assert isNullHomotopyOf(h, id_C)
i6 : assert isNullHomotopic id_C

A random map of factorizations, arising as a boundary in the associated Hom complex, is automatically null homotopic. We use the method nullHomotopy to construct a witness and verify it is a null homotopy.

i7 : D = randomTailMF(a^3+b^3, 1,2,4)

      2      2      2
o7 = S  <-- S  <-- S
                    
     0      1      0

o7 : ZZdFactorization
i8 : D.dd

          2                                 2
o8 = 1 : S  <----------------------------- S  : 0
               {1} | -26b2 a2-3ab+32b2 |
               {2} | a+3b  3a+8b       |

          2                              2
     0 : S  <-------------------------- S  : 1
               | -3a-8b a2-3ab+32b2 |
               | a+3b   26b2        |

o8 : ZZdFactorizationMap
i9 : f = randomFactorizationMap(D, D[1], Boundary => true)

          2                                   2
o9 = 0 : S  <------------------------------- S  : 0
               | -19a-38b -7a2+33ab-37b2 |
               | 19a-20b  -5a2+35ab-30b2 |

          2                                            2
     1 : S  <---------------------------------------- S  : 1
               {1} | 5a2-35ab-48b2 -4a2+24ab-42b2 |
               {2} | 22a-11b       28a-39b        |

o9 : ZZdFactorizationMap
i10 : assert isNullHomotopic f
i11 : h = nullHomotopy f

           2                           2
o11 = 1 : S  <----------------------- S  : 0
                {1} | -10 -29a-8b |
                {2} | 0   -22     |

           2                   2
      0 : S  <--------------- S  : 1
                | -29 -38 |
                | -24 0   |

o11 : ZZdFactorizationMap
i12 : assert isNullHomotopyOf(h, f)

This procedure also works for complex maps whose degree is non-zero.

i13 : f = randomFactorizationMap(D, D[2], Boundary => true, Degree => 1)

           2                                             2
o13 = 1 : S  <----------------------------------------- S  : 0
                {1} | 15a2+38ab+48b2 46a2-44ab-44b2 |
                {2} | 39b            -22a-32b       |

           2                                   2
      0 : S  <------------------------------- S  : 1
                | 25a+40b 45a2-41ab+25b2  |
                | -a+36b  -15a2-38ab+27b2 |

o13 : ZZdFactorizationMap
i14 : assert isNullHomotopic f
i15 : h = nullHomotopy f

           2                  2
o15 = 0 : S  <-------------- S  : 0
                | -16 21 |
                | 39  34 |

           2                           2
      1 : S  <----------------------- S  : 1
                {1} | 19 -47a-39b |
                {2} | 0  0        |

o15 : ZZdFactorizationMap
i16 : assert isNullHomotopyOf(h, f)

See also

Ways to use this method:


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