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

collapseMF -- Converts a d-fold factorization into a (d-1)-fold factorization by composing the kth differential with the (k+1)th differential

Description

This method collapses a d-fold factorization into a d-1-fold factorization by composing the kth differential with the (k+1)th differential. It then permutes the resulting factorization to ensure the correct ordering.

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

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

o2 : ZZdFactorization
i3 : C.dd

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

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

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

o3 : ZZdFactorizationMap
i4 : C1 = collapseMF(C, 1)

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

o4 : ZZdFactorization
i5 : C1.dd

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

          1                  1
     0 : Q  <-------------- Q  : 1
               | x_1x_2 |

o5 : ZZdFactorizationMap
i6 : C2 = collapseMF(C, 2)

      1      1      1
o6 = Q  <-- Q  <-- Q
                    
     0      1      0

o6 : ZZdFactorization
i7 : C2.dd

          1                  1
o7 = 1 : Q  <-------------- Q  : 0
               | x_2x_3 |

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

o7 : ZZdFactorizationMap
i8 : K = linearMF(x_1^4 + x_2^4, t)

     / Q[t] \4     / Q[t] \4     / Q[t] \4     / Q[t] \4     / Q[t] \4
o8 = |------|  <-- |------|  <-- |------|  <-- |------|  <-- |------|
     | 2    |      | 2    |      | 2    |      | 2    |      | 2    |
     \t  + 1/      \t  + 1/      \t  + 1/      \t  + 1/      \t  + 1/
                                                              
     0             1             2             3             0

o8 : ZZdFactorization
i9 : collapseMF(K, 1)

     / Q[t] \4     / Q[t] \4     / Q[t] \4     / Q[t] \4
o9 = |------|  <-- |------|  <-- |------|  <-- |------|
     | 2    |      | 2    |      | 2    |      | 2    |
     \t  + 1/      \t  + 1/      \t  + 1/      \t  + 1/
                                                
     0             1             2             0

o9 : ZZdFactorization
i10 : oo.dd

          / Q[t] \4                                     / Q[t] \4
o10 = 2 : |------|  <---------------------------------- |------|  : 0
          | 2    |     {0, 2} | x_2 x_1  0    0     |   | 2    |
          \t  + 1/     {0, 2} | 0   x_2t x_1  0     |   \t  + 1/
                       {0, 2} | 0   0    -x_2 x_1   |
                       {0, 2} | x_1 0    0    -x_2t |

          / Q[t] \4                                                                               / Q[t] \4
      0 : |------|  <---------------------------------------------------------------------------- |------|  : 1
          | 2    |     {0, 2} | x_2^2           x_1x_2t+x_1x_2 x_1^2          0               |   | 2    |
          \t  + 1/     {0, 2} | 0               -x_2^2         x_1x_2t-x_1x_2 x_1^2           |   \t  + 1/
                       {0, 2} | x_1^2           0              x_2^2          -x_1x_2t-x_1x_2 |
                       {0, 2} | -x_1x_2t+x_1x_2 x_1^2          0              -x_2^2          |

          / Q[t] \4                                     / Q[t] \4
      1 : |------|  <---------------------------------- |------|  : 2
          | 2    |     {0, 2} | x_2 x_1  0    0     |   | 2    |
          \t  + 1/     {0, 2} | 0   x_2t x_1  0     |   \t  + 1/
                       {0, 2} | 0   0    -x_2 x_1   |
                       {0, 2} | x_1 0    0    -x_2t |

o10 : ZZdFactorizationMap
i11 : collapseMF(K, 2)

      / Q[t] \4     / Q[t] \4     / Q[t] \4     / Q[t] \4
o11 = |------|  <-- |------|  <-- |------|  <-- |------|
      | 2    |      | 2    |      | 2    |      | 2    |
      \t  + 1/      \t  + 1/      \t  + 1/      \t  + 1/
                                                 
      0             1             2             0

o11 : ZZdFactorization
i12 : oo.dd

          / Q[t] \4                                     / Q[t] \4
o12 = 2 : |------|  <---------------------------------- |------|  : 0
          | 2    |     {0, 2} | x_2 x_1  0    0     |   | 2    |
          \t  + 1/     {0, 2} | 0   x_2t x_1  0     |   \t  + 1/
                       {0, 2} | 0   0    -x_2 x_1   |
                       {0, 2} | x_1 0    0    -x_2t |

          / Q[t] \4                                     / Q[t] \4
      0 : |------|  <---------------------------------- |------|  : 1
          | 2    |     {0, 2} | x_2 x_1  0    0     |   | 2    |
          \t  + 1/     {0, 2} | 0   x_2t x_1  0     |   \t  + 1/
                       {0, 2} | 0   0    -x_2 x_1   |
                       {0, 2} | x_1 0    0    -x_2t |

          / Q[t] \4                                                                               / Q[t] \4
      1 : |------|  <---------------------------------------------------------------------------- |------|  : 2
          | 2    |     {0, 2} | x_2^2           x_1x_2t+x_1x_2 x_1^2          0               |   | 2    |
          \t  + 1/     {0, 2} | 0               -x_2^2         x_1x_2t-x_1x_2 x_1^2           |   \t  + 1/
                       {0, 2} | x_1^2           0              x_2^2          -x_1x_2t-x_1x_2 |
                       {0, 2} | -x_1x_2t+x_1x_2 x_1^2          0              -x_2^2          |

o12 : ZZdFactorizationMap
i13 : collapseMF(K, 3)

      / Q[t] \4     / Q[t] \4     / Q[t] \4     / Q[t] \4
o13 = |------|  <-- |------|  <-- |------|  <-- |------|
      | 2    |      | 2    |      | 2    |      | 2    |
      \t  + 1/      \t  + 1/      \t  + 1/      \t  + 1/
                                                 
      0             1             2             0

o13 : ZZdFactorization
i14 : oo.dd

          / Q[t] \4                                                                               / Q[t] \4
o14 = 2 : |------|  <---------------------------------------------------------------------------- |------|  : 0
          | 2    |     {0, 2} | x_2^2           x_1x_2t+x_1x_2 x_1^2          0               |   | 2    |
          \t  + 1/     {0, 2} | 0               -x_2^2         x_1x_2t-x_1x_2 x_1^2           |   \t  + 1/
                       {0, 2} | x_1^2           0              x_2^2          -x_1x_2t-x_1x_2 |
                       {0, 2} | -x_1x_2t+x_1x_2 x_1^2          0              -x_2^2          |

          / Q[t] \4                                     / Q[t] \4
      0 : |------|  <---------------------------------- |------|  : 1
          | 2    |     {0, 2} | x_2 x_1  0    0     |   | 2    |
          \t  + 1/     {0, 2} | 0   x_2t x_1  0     |   \t  + 1/
                       {0, 2} | 0   0    -x_2 x_1   |
                       {0, 2} | x_1 0    0    -x_2t |

          / Q[t] \4                                     / Q[t] \4
      1 : |------|  <---------------------------------- |------|  : 2
          | 2    |     {0, 2} | x_2 x_1  0    0     |   | 2    |
          \t  + 1/     {0, 2} | 0   x_2t x_1  0     |   \t  + 1/
                       {0, 2} | 0   0    -x_2 x_1   |
                       {0, 2} | x_1 0    0    -x_2t |

o14 : ZZdFactorizationMap

Ways to use collapseMF:

  • collapseMF(ZZdFactorization,ZZ)

For the programmer

The object collapseMF is a method function.


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