Macaulay2 » Documentation
Packages » MatrixFactorizations :: ZZdFactorization _ Array
next | previous | forward | backward | up | index | toc

ZZdFactorization _ Array -- the canonical inclusion or projection map of a direct sum

Description

The direct sum is an n-ary operator with projection and inclusion maps from each component satisfying appropriate identities.

One can access these maps as follows.

i1 : S = ZZ/101[a,b,c];
i2 : f = a^3+b^3+c^3;
i3 : C1 = randomTailMF(f, 2, 4, 4)

      4      4      4
o3 = S  <-- S  <-- S
                    
     0      1      0

o3 : ZZdFactorization
i4 : C2 = randomTailMF(f, 2, 4, 4)

      4      4      4
o4 = S  <-- S  <-- S
                    
     0      1      0

o4 : ZZdFactorization
i5 : D = C1 ++ C2

      8      8      8
o5 = S  <-- S  <-- S
                    
     0      1      0

o5 : ZZdFactorization
i6 : isdFactorization D

             3    3    3
o6 = (true, a  + b  + c )

o6 : Sequence
i7 : D_[0]

          8                       4
o7 = 0 : S  <------------------- S  : 0
               {3} | 1 0 0 0 |
               {3} | 0 1 0 0 |
               {3} | 0 0 1 0 |
               {4} | 0 0 0 1 |
               {3} | 0 0 0 0 |
               {3} | 0 0 0 0 |
               {3} | 0 0 0 0 |
               {4} | 0 0 0 0 |

          8                       4
     1 : S  <------------------- S  : 1
               {4} | 1 0 0 0 |
               {5} | 0 1 0 0 |
               {5} | 0 0 1 0 |
               {5} | 0 0 0 1 |
               {4} | 0 0 0 0 |
               {5} | 0 0 0 0 |
               {5} | 0 0 0 0 |
               {5} | 0 0 0 0 |

o7 : ZZdFactorizationMap
i8 : D_[1]

          8                       4
o8 = 0 : S  <------------------- S  : 0
               {3} | 0 0 0 0 |
               {3} | 0 0 0 0 |
               {3} | 0 0 0 0 |
               {4} | 0 0 0 0 |
               {3} | 1 0 0 0 |
               {3} | 0 1 0 0 |
               {3} | 0 0 1 0 |
               {4} | 0 0 0 1 |

          8                       4
     1 : S  <------------------- S  : 1
               {4} | 0 0 0 0 |
               {5} | 0 0 0 0 |
               {5} | 0 0 0 0 |
               {5} | 0 0 0 0 |
               {4} | 1 0 0 0 |
               {5} | 0 1 0 0 |
               {5} | 0 0 1 0 |
               {5} | 0 0 0 1 |

o8 : ZZdFactorizationMap
i9 : D^[0] * D_[0] == 1

o9 = true
i10 : D^[1] * D_[1] == 1

o10 = true
i11 : D^[0] * D_[1] == 0

o11 = true
i12 : D^[1] * D_[0] == 0

o12 = true
i13 : D_[0] * D^[0] + D_[1] * D^[1] == 1

o13 = true

The default names for the components are the non-negative integers. However, one can choose any name.

i14 : E = (cheese => C1) ++ (crackers => C2)

       8      8      8
o14 = S  <-- S  <-- S
                     
      0      1      0

o14 : ZZdFactorization
i15 : E_[cheese]

           8                       4
o15 = 0 : S  <------------------- S  : 0
                {3} | 1 0 0 0 |
                {3} | 0 1 0 0 |
                {3} | 0 0 1 0 |
                {4} | 0 0 0 1 |
                {3} | 0 0 0 0 |
                {3} | 0 0 0 0 |
                {3} | 0 0 0 0 |
                {4} | 0 0 0 0 |

           8                       4
      1 : S  <------------------- S  : 1
                {4} | 1 0 0 0 |
                {5} | 0 1 0 0 |
                {5} | 0 0 1 0 |
                {5} | 0 0 0 1 |
                {4} | 0 0 0 0 |
                {5} | 0 0 0 0 |
                {5} | 0 0 0 0 |
                {5} | 0 0 0 0 |

o15 : ZZdFactorizationMap
i16 : E_[crackers]

           8                       4
o16 = 0 : S  <------------------- S  : 0
                {3} | 0 0 0 0 |
                {3} | 0 0 0 0 |
                {3} | 0 0 0 0 |
                {4} | 0 0 0 0 |
                {3} | 1 0 0 0 |
                {3} | 0 1 0 0 |
                {3} | 0 0 1 0 |
                {4} | 0 0 0 1 |

           8                       4
      1 : S  <------------------- S  : 1
                {4} | 0 0 0 0 |
                {5} | 0 0 0 0 |
                {5} | 0 0 0 0 |
                {5} | 0 0 0 0 |
                {4} | 1 0 0 0 |
                {5} | 0 1 0 0 |
                {5} | 0 0 1 0 |
                {5} | 0 0 0 1 |

o16 : ZZdFactorizationMap
i17 : E^[cheese] * E_[cheese] == 1

o17 = true
i18 : E^[crackers] * E_[crackers] == 1

o18 = true
i19 : E^[cheese] * E_[crackers] == 0

o19 = true
i20 : E^[crackers] * E_[cheese] == 0

o20 = true
i21 : E_[cheese] * E^[cheese] + E_[crackers] * E^[crackers] == 1

o21 = true

One can also access inclusion and projection maps of sub-direct sums.

i22 : F = directSum(C1, C2, randomTailMF(f))

       23      23      23
o22 = S   <-- S   <-- S
                       
      0       1       0

o22 : ZZdFactorization
i23 : F^[0,1]

           8                                                             23
o23 = 0 : S  <--------------------------------------------------------- S   : 0
                {3} | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {3} | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {3} | 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {4} | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {3} | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {3} | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {3} | 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {4} | 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |

           8                                                             23
      1 : S  <--------------------------------------------------------- S   : 1
                {4} | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {5} | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {5} | 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {5} | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {4} | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {5} | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {5} | 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {5} | 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |

o23 : ZZdFactorizationMap
i24 : F_[0,2]

           23                                                     19
o24 = 0 : S   <------------------------------------------------- S   : 0
                 {3} | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {3} | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {3} | 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {4} | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {4} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {7} | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {7} | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {7} | 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {7} | 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 |
                 {7} | 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 |
                 {7} | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 |
                 {8} | 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 |
                 {8} | 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 |
                 {8} | 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 |
                 {8} | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 |
                 {8} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 |
                 {8} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 |
                 {8} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 |
                 {8} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 |
                 {8} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 |

           23                                                     19
      1 : S   <------------------------------------------------- S   : 1
                 {4} | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {5} | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {5} | 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {5} | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {4} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {5} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {5} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {5} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 |
                 {9} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 |

o24 : ZZdFactorizationMap

See also

Ways to use this method:


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