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

isCommutative(ZZdFactorizationMap) -- whether a ZZ/d-graded factorization map commutes with the differentials

Description

For a ZZ/d-graded factorization map $f : C \to D$ of degree $d$, this method checks whether, for all $i$, we have $dd^D_{i+d} * f_i = (f_{i-1} * dd^C_i)$.

We first construct a random factorization map which commutes with the differential.

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

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

o2 : ZZdFactorization
i3 : D = C ** C

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

o3 : ZZdFactorization
i4 : f1 = randomFactorizationMap(C,C, Boundary => true)

          2                                                 2
o4 = 0 : S  <--------------------------------------------- S  : 0
               | -10a2+19b2-36a+24b -10a-20b           |
               | -5a2-46b2          -30a2+29b2+19a+29b |

          2                                                 2
     1 : S  <--------------------------------------------- S  : 1
               | -30a2+19b2+19a+24b 20b2-5a            |
               | -10a2+46b          -10a2+29b2-36a+29b |

o4 : ZZdFactorizationMap
i5 : f2 = randomFactorizationMap(D,D, Cycle => true, InternalDegree => 1, Degree => 1)

          8                                                                                                        8
o5 = 1 : S  <---------------------------------------------------------------------------------------------------- S  : 0
               | -37a-39b 47a+39b-12  -32a+19b-18 39          -22a-26b    -32a+19b-33 -47a-39b+31 -36         |
               | 45a-43b  -18a-13b+41 4a+13b-46   38          -7          -18a-13b-13 -4a-13b+17  22a-20b+43  |
               | 22a-16b  22a+40b-11  -30a+3b     13a+20b-34  -40a+43b-16 -12a+20b+11 -14a-25b    34a-17b     |
               | 11a-22b  32a+b-16    17a+28b     25a+2b-24   -11a+23b    41a+25b     15a+48b-16  -25a-46b+11 |
               | -27a-37b 34a+19b+16  -45a-b+48   39          -22a-26b-32 -45a-b+29   -34a-19b-1  36          |
               | 22a-16b  50a-42b-11  -48a-14b    -13a-20b-41 -36a+17b-16 35a-31b+11  43a+27b     -34a+17b    |
               | 22a+6b   -43a-15b+6  -21a+11b+24 38          7           -43a-15b+35 21a-11b+30  22a-20b-17  |
               | 11a-22b  18a+32b-16  8a+46b      -25a-2b+11  11a-23b     9a+8b       -40a-21b-16 -24a+37b+11 |

          8                                                                                                          8
     0 : S  <------------------------------------------------------------------------------------------------------ S  : 1
               | 22a+26b-47  -22a+20b+4  -38         39          -22a-26b+22 -38         22a-20b+30 39          |
               | -49a+17b+16 -2a+18b-11  4a+13b-11   32a-19b+17  -7a+41b     -18a-13b    39a+21b    -47a-39b+43 |
               | -31a-15b+16 8a-26b-11   -21a+11b-17 45a+b-17    -48a+21b    -43a-15b+41 19a-38b    -34a-19b-17 |
               | 11a-22b     -22a+16b    25a-27b+16  -23a+11b-11 11a-22b     50a+33b-16  -22a+16b   29a+2b+11   |
               | -8a-15b     -34a+17b    -13a-20b+49 -36         18a+17b     -13a-20b+45 34a-17b    36          |
               | -16a-34b+16 17a-29b-11  -4a-13b-49  -45a-b-41   -29a-24b    18a+13b-28  -44a-8b    34a+19b     |
               | 30a+28b-16  -26a-46b+11 -21a+11b+11 32a-19b+34  -8a-22b     -43a-15b    -38a-16b   -47a-39b    |
               | -11a+23b    9a+24b      7           -25a-2b-42  11a-23b     -7          -32a+25b   -25a-2b-24  |

o5 : ZZdFactorizationMap
i6 : isCommutative f1

o6 = true
i7 : isCommutative f2

o7 = true
i8 : assert(degree f1 == 0)
i9 : assert(source f1 == C and target f1 == C)

We can verify directly that maps commute with the differentials:

i10 : f3 = randomFactorizationMap(C, C, Cycle => true, Degree=>1, InternalDegree => 1)

           2                       2
o10 = 1 : S  <------------------- S  : 0
                | 40a-33b -38 |
                | 38a-40b -33 |

           2                            2
      0 : S  <------------------------ S  : 1
                | 33      -38      |
                | 38a-40b -40a+33b |

o10 : ZZdFactorizationMap
i11 : isCommutative f3

o11 = true
i12 : assert(degree f3 == 1)
i13 : part1 = dd^C_3 * f3_2

o13 = | 38a2-33b2             -33a-38b   |
      | 40a3-33a2b-38ab2+40b3 -38a2+33b2 |

              2      2
o13 : Matrix S  <-- S
i14 : part2 = f3_1 * dd^C_2

o14 = | -38a2+33b2             33a+38b   |
      | -40a3+33a2b+38ab2-40b3 38a2-33b2 |

              2      2
o14 : Matrix S  <-- S
i15 : assert(part1 + part2 == 0)

If the debugLevel is greater than zero, then the location of the first failure of commutativity is displayed.

i16 : f4 = randomFactorizationMap(D, C)

           8                   2
o16 = 0 : S  <--------------- S  : 0
                | 11  -7  |
                | 46  2   |
                | -28 29  |
                | 1   -47 |
                | -3  15  |
                | 22  -37 |
                | -47 -13 |
                | -23 -10 |

           8                   2
      1 : S  <--------------- S  : 1
                | 30  -20 |
                | -18 24  |
                | 39  -30 |
                | 27  -48 |
                | -22 -15 |
                | 32  39  |
                | -9  0   |
                | -32 33  |

o16 : ZZdFactorizationMap
i17 : isCommutative f4

o17 = false
i18 : debugLevel = 1

o18 = 1
i19 : isCommutative f4
-- block (0, -1) fails to commute

o19 = false

See also

Ways to use this method:


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