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

HH ZZdFactorizationMap -- induced map on homology or cohomology

Description

Homology defines a functor from the category of ZZ/d-graded complexes to itself. Given a map of ZZ/d-graded complexes $f : C \to D$, this method returns the induced map $HH f : HH C \to HH D$.

To directly obtain the $n$-th map in $h$, use HH_n f or HH^n f. By definition HH^n f === HH_(-n) f. This can be more efficient, as it will compute only the desired induced map. Note that this method does not check whether the differentials in the factorization compose to 0, so the user should verify this for themselves using isZZdComplex or a direct check.

If $f$ commutes with the differentials, then these induced maps are well defined.

i1 : S = ZZ/101[a,b];
i2 : R = S/(a^3+b^3);
i3 : m = ideal vars R

o3 = ideal (a, b)

o3 : Ideal of R
i4 : C = tailMF m

      2      2      2
o4 = S  <-- S  <-- S
                    
     0      1      0

o4 : ZZdFactorization
i5 : D = tailMF (m^2)

      3      3      3
o5 = S  <-- S  <-- S
                    
     0      1      0

o5 : ZZdFactorization
i6 : f = randomFactorizationMap(D,C, Cycle => true, InternalDegree => 1)

          3                           2
o6 = 0 : S  <----------------------- S  : 0
               {3} | 36 24a-30b  |
               {3} | 30 36a+24b  |
               {3} | 24 -30a-36b |

          3                       2
     1 : S  <------------------- S  : 1
               {5} | 36  24  |
               {5} | -30 -36 |
               {5} | 24  -30 |

o6 : ZZdFactorizationMap
i7 : g = Hom(f,C)

          8                                                                                          12
o7 = 0 : S  <-------------------------------------------------------------------------------------- S   : 0
               {0}  | -36      0        -30      0        -24     0       0   0   0  0  0   0   |
               {1}  | 0        -36      0        -30      0       -24     0   0   0  0  0   0   |
               {-1} | -24a+30b 0        -36a-24b 0        30a+36b 0       0   0   0  0  0   0   |
               {0}  | 0        -24a+30b 0        -36a-24b 0       30a+36b 0   0   0  0  0   0   |
               {0}  | 0        0        0        0        0       0       -36 0   30 0  -24 0   |
               {0}  | 0        0        0        0        0       0       0   -36 0  30 0   -24 |
               {0}  | 0        0        0        0        0       0       -24 0   36 0  30  0   |
               {0}  | 0        0        0        0        0       0       0   -24 0  36 0   30  |

          8                                                                                          12
     1 : S  <-------------------------------------------------------------------------------------- S   : 1
               {2}  | -36      0        -30      0        -24     0       0   0   0  0  0   0   |
               {2}  | 0        -36      0        -30      0       -24     0   0   0  0  0   0   |
               {1}  | -24a+30b 0        -36a-24b 0        30a+36b 0       0   0   0  0  0   0   |
               {1}  | 0        -24a+30b 0        -36a-24b 0       30a+36b 0   0   0  0  0   0   |
               {-2} | 0        0        0        0        0       0       -36 0   30 0  -24 0   |
               {-1} | 0        0        0        0        0       0       0   -36 0  30 0   -24 |
               {-2} | 0        0        0        0        0       0       -24 0   36 0  30  0   |
               {-1} | 0        0        0        0        0       0       0   -24 0  36 0   30  |

o7 : ZZdFactorizationMap
i8 : assert isCommutative g
i9 : (isZZdComplex source g, isZZdComplex target g)

o9 = (true, true)

o9 : Sequence
i10 : h = HH(g)

o10 = 0 : subquotient ({0}  | 1 0   -b 0   |, {0}  | a2  -b2 0  0   a  0  -b 0  |) <----------------------------- subquotient ({-1} | -a -b a  0  0  -b |, {-1} | a2 -b2 0   0   0   0   a  0  b  0  0  0  |) : 0
                       {1}  | 0 1   0  0   |  {1}  | b   a   0  0   0  a  0  -b |     {0} | 0 0 0   0 0   0   |                {0}  | 0  0  0  0  1  0  |  {0}  | b  a   0   0   0   0   0  a  0  b  0  0  |
                       {-1} | 0 -ab a2 -b2 |  {-1} | 0   0   a2 -b2 b2 0  a2 0  |     {1} | 0 0 -30 0 -36 -24 |                {-1} | 0  a  0  b  -b 0  |  {-1} | 0  0   a2  -b2 0   0   0  0  -a 0  b  0  |
                       {0}  | 1 0   0  a   |  {0}  | 0   0   b  a   0  b2 0  a2 |     {1} | 0 0 0   0 0   0   |                {0}  | 0  0  1  0  0  0  |  {0}  | 0  0   b   a   0   0   0  0  0  -a 0  b  |
                       {0}  | 1 0   0  0   |  {0}  | a2  0   b  0   a  b2 0  0  |     {1} | 0 0 0   0 0   0   |                {-1} | b  0  0  a  0  0  |  {-1} | 0  0   0   0   a2  -b2 -b 0  0  0  a  0  |
                       {0}  | 0 a   0  b   |  {0}  | 0   a2  0  b   -b a2 0  0  |                                              {0}  | 0  0  0  0  0  1  |  {0}  | 0  0   0   0   b   a   0  -b 0  0  0  a  |
                       {0}  | 0 -b  a  0   |  {0}  | -b2 0   a  0   0  0  a  b2 |                                              {-1} | -a 0  a  0  0  -b |  {-1} | a2 0   ab  0   -b2 0   a  b2 0  0  0  0  |
                       {0}  | 1 0   -b a   |  {0}  | 0   -b2 0  a   0  0  -b a2 |                                              {-1} | b  0  0  0  a  0  |  {-1} | 0  a2  0   ab  0   -b2 -b a2 0  0  0  0  |
                                                                                                                               {-1} | 0  -a 0  0  b  0  |  {-1} | b2 0   -a2 0   ab  0   0  0  a  b2 0  0  |
                                                                                                                               {-1} | 0  b  -a 0  0  b  |  {-1} | 0  b2  0   -a2 0   ab  0  0  -b a2 0  0  |
                                                                                                                               {-1} | 0  0  b  a  0  0  |  {-1} | ab 0   b2  0   a2  0   0  0  0  0  a  b2 |
                                                                                                                               {-1} | 0  0  0  -b b  a  |  {-1} | 0  ab  0   b2  0   a2  0  0  0  0  -b a2 |

      1 : subquotient ({2}  | 0  0  1  a   |, {2}  | -a  -b2 0  0   a   0  -b  0  |) <---------------------------- subquotient ({1}  | -1 0  0  0   0   -a |, {1}  | -a -b2 0   0   0   0   a   0  b   0  0   0  |) : 1
                       {2}  | -1 0  0  -b  |  {2}  | b   -a2 0  0   0   a  0   -b |     {2} | 30 -36 -24 0 0 0 |                {1}  | 0  -1 0  -a  0   b  |  {1}  | b  -a2 0   0   0   0   0   a  0   b  0   0  |
                       {1}  | -b a  0  0   |  {1}  | 0   0   -a -b2 b2  0  a2  0  |     {2} | 0  0   0   0 0 0 |                {1}  | 0  0  -1 0   a   0  |  {1}  | 0  0   -a  -b2 0   0   0   0  -a  0  b   0  |
                       {1}  | 0  -b -a 0   |  {1}  | 0   0   b  -a2 0   b2 0   a2 |     {2} | 36 -24 30  0 0 0 |                {1}  | 1  0  0  0   -b  0  |  {1}  | 0  0   b   -a2 0   0   0   0  0   -a 0   b  |
                       {-2} | 0  -b -a -a2 |  {-2} | a2  0   b  0   -a2 b2 0   0  |     {3} | 0  0   0   0 0 0 |                {1}  | 0  1  0  0   0   0  |  {1}  | 0  0   0   0   -a  -b2 -b  0  0   0  a   0  |
                       {-1} | 1  0  0  0   |  {-1} | 0   a2  0  b   -b  -a 0   0  |                                             {1}  | 0  0  -1 b   0   0  |  {1}  | 0  0   0   0   b   -a2 0   -b 0   0  0   a  |
                       {-2} | b  -a 0  b2  |  {-2} | -b2 0   a  0   0   0  -a2 b2 |                                             {-3} | a  0  b  -b2 -ab a2 |  {-3} | a2 0   ab  0   -b2 0   -a2 b2 0   0  0   0  |
                       {-1} | 0  0  1  0   |  {-1} | 0   -b2 0  a   0   0  -b  -a |                                             {-2} | 0  1  0  a   0   0  |  {-2} | 0  a2  0   ab  0   -b2 -b  -a 0   0  0   0  |
                                                                                                                                {-3} | 0  -b -a 0   a2  b2 |  {-3} | b2 0   -a2 0   ab  0   0   0  -a2 b2 0   0  |
                                                                                                                                {-2} | 1  0  0  0   0   0  |  {-2} | 0  b2  0   -a2 0   ab  0   0  -b  -a 0   0  |
                                                                                                                                {-3} | b  -a 0  0   -b2 ab |  {-3} | ab 0   b2  0   a2  0   0   0  0   0  -a2 b2 |
                                                                                                                                {-2} | 0  0  1  0   0   0  |  {-2} | 0  ab  0   b2  0   a2  0   0  0   0  -b  -a |

o10 : ZZdFactorizationMap
i11 : assert isWellDefined h
i12 : prune h

o12 = 0 : cokernel | b a 0 0 | <------------------- cokernel | b a 0 0 0 0 | : 0
                   | 0 0 b a |    | 0   0   0   |            | 0 0 b a 0 0 |
                                  | -30 -36 -24 |            | 0 0 0 0 b a |

      1 : cokernel | b a 0 0 | <------------------ cokernel | b a 0 0 0 0 | : 1
                   | 0 0 b a |    | 30 -36 -24 |            | 0 0 b a 0 0 |
                                  | 36 -24 30  |            | 0 0 0 0 b a |

o12 : ZZdFactorizationMap
i13 : assert(source h == HH Hom(D,C))
i14 : assert(target h == HH Hom(C,C))
i15 : f2 = randomFactorizationMap(C, D, Cycle => true, Degree => 1, InternalDegree => 1)

           2                           3
o15 = 1 : S  <----------------------- S  : 0
                {4} | 29  -19 19  |
                {4} | -19 -29 -19 |

           2                                          3
      0 : S  <-------------------------------------- S  : 1
                {2} | -29a+19b -19a-19b -19a-29b |
                {3} | 19       -29      19       |

o15 : ZZdFactorizationMap
i16 : h2 = HH Hom(C,f2)

o16 = 1 : subquotient ({2}  | 0  0  1  a   |, {2}  | -a  -b2 0  0   a   0  -b  0  |) <---------------------------- subquotient ({1} | 0 -1 0  a  0   0   |, {1} | a2  b2  ab  0   0   0  a  0  0  -b 0  0  |) : 0
                       {2}  | -1 0  0  -b  |  {2}  | b   -a2 0  0   0   a  0   -b |     {2} | -19 19 29  0 0 0 |                {1} | 0 0  -1 0  -a  0   |  {1} | ab  -a2 b2  0   0   0  0  a  0  0  -b 0  |
                       {1}  | -b a  0  0   |  {1}  | 0   0   -a -b2 b2  0  a2  0  |     {2} | 0   0  0   0 0 0 |                {1} | 1 0  0  0  0   -a  |  {1} | -b2 ab  a2  0   0   0  0  0  a  0  0  -b |
                       {1}  | 0  -b -a 0   |  {1}  | 0   0   b  -a2 0   b2 0   a2 |     {2} | -19 29 -19 0 0 0 |                {0} | a 0  b  b2 0   0   |  {0} | 0   0   0   a2  b2  ab b2 0  0  a2 0  0  |
                       {-2} | 0  -b -a -a2 |  {-2} | a2  0   b  0   -a2 b2 0   0  |     {3} | 0   0  0   0 0 0 |                {0} | b -a 0  0  -b2 0   |  {0} | 0   0   0   ab  -a2 b2 0  b2 0  0  a2 0  |
                       {-1} | 1  0  0  0   |  {-1} | 0   a2  0  b   -b  -a 0   0  |                                             {0} | 0 b  a  0  0   -b2 |  {0} | 0   0   0   -b2 ab  a2 0  0  b2 0  0  a2 |
                       {-2} | b  -a 0  b2  |  {-2} | -b2 0   a  0   0   0  -a2 b2 |                                             {1} | 0 -1 0  a  0   b   |  {1} | a2  0   0   b   0   0  a  0  -b 0  0  0  |
                       {-1} | 0  0  1  0   |  {-1} | 0   -b2 0  a   0   0  -b  -a |                                             {1} | 0 0  1  b  a   0   |  {1} | 0   a2  0   0   b   0  b  -a 0  0  0  0  |
                                                                                                                                {1} | 1 0  0  0  -b  -a  |  {1} | 0   0   a2  0   0   b  0  b  a  0  0  0  |
                                                                                                                                {1} | 1 0  0  0  0   0   |  {1} | -b2 0   0   a   0   0  0  0  0  a  0  -b |
                                                                                                                                {1} | 0 1  0  0  0   0   |  {1} | 0   -b2 0   0   a   0  0  0  0  b  -a 0  |
                                                                                                                                {1} | 0 0  1  0  0   0   |  {1} | 0   0   -b2 0   0   a  0  0  0  0  b  a  |

      0 : subquotient ({0}  | 1 0   -b 0   |, {0}  | a2  -b2 0  0   a  0  -b 0  |) <---------------------------- subquotient ({3}  | 0  0  0  0  1  0  |, {3}  | -a  0   b   0  0  0  a   0   0   -b  0   0   |) : 1
                       {1}  | 0 1   0  0   |  {1}  | b   a   0  0   0  a  0  -b |     {0} | 0  0 0   0 0   0 |                {3}  | 1  0  0  0  0  0  |  {3}  | -b  a   0   0  0  0  0   a   0   0   -b  0   |
                       {-1} | 0 -ab a2 -b2 |  {-1} | 0   0   a2 -b2 b2 0  a2 0  |     {1} | 29 0 -19 0 -19 0 |                {3}  | 0  0  1  0  0  0  |  {3}  | 0   -b  -a  0  0  0  0   0   a   0   0   -b  |
                       {0}  | 1 0   0  a   |  {0}  | 0   0   b  a   0  b2 0  a2 |     {1} | 0  0 0   0 0   0 |                {2}  | -b a  -a 0  0  -b |  {2}  | 0   0   0   -a 0  b  b2  0   0   a2  0   0   |
                       {0}  | 1 0   0  0   |  {0}  | a2  0   b  0   a  b2 0  0  |     {1} | 0  0 0   0 0   0 |                {2}  | 0  b  0  -a a  0  |  {2}  | 0   0   0   -b a  0  0   b2  0   0   a2  0   |
                       {0}  | 0 a   0  b   |  {0}  | 0   a2  0  b   -b a2 0  0  |                                             {2}  | 0  0  0  b  0  a  |  {2}  | 0   0   0   0  -b -a 0   0   b2  0   0   a2  |
                       {0}  | 0 -b  a  0   |  {0}  | -b2 0   a  0   0  0  a  b2 |                                             {-1} | 0  -b 0  0  -a 0  |  {-1} | a2  0   0   b  0  0  -a2 -b2 -ab 0   0   0   |
                       {0}  | 1 0   -b a   |  {0}  | 0   -b2 0  a   0  0  -b a2 |                                             {-1} | a  0  0  -b 0  0  |  {-1} | 0   a2  0   0  b  0  -ab a2  -b2 0   0   0   |
                                                                                                                              {-1} | -b 0  -a 0  0  -b |  {-1} | 0   0   a2  0  0  b  b2  -ab -a2 0   0   0   |
                                                                                                                              {-1} | b  -a a  0  0  0  |  {-1} | -b2 0   0   a  0  0  0   0   0   -a2 -b2 -ab |
                                                                                                                              {-1} | 0  0  b  -a a  0  |  {-1} | 0   -b2 0   0  a  0  0   0   0   -ab a2  -b2 |
                                                                                                                              {-1} | 0  0  0  0  -b -a |  {-1} | 0   0   -b2 0  0  a  0   0   0   b2  -ab -a2 |

o16 : ZZdFactorizationMap
i17 : assert isWellDefined h2
i18 : prune h2

o18 = 1 : cokernel | b a 0 0 | <------------------ cokernel | b a 0 0 0 0 | : 0
                   | 0 0 b a |    | -19 19 29  |            | 0 0 b a 0 0 |
                                  | -19 29 -19 |            | 0 0 0 0 b a |

      0 : cokernel | b a 0 0 | <------------------ cokernel | b a 0 0 0 0 | : 1
                   | 0 0 b a |    | 0  0   0   |            | 0 0 b a 0 0 |
                                  | 29 -19 -19 |            | 0 0 0 0 b a |

o18 : ZZdFactorizationMap

A boundary will always induce the zero map.

i19 : f3 = randomFactorizationMap(D, C, Boundary => true)

           3                                      2
o19 = 0 : S  <---------------------------------- S  : 0
                {3} | -10ab+22b2 -22a2b-10b3 |
                {3} | -29ab+29b2 -29a2b-29b3 |
                {3} | -8ab+24b2  -24a2b-8b3  |

           3                                    2
      1 : S  <-------------------------------- S  : 1
                {5} | -10ab+8b2 -22ab+24b2 |
                {5} | 29ab-10b2 29ab-22b2  |
                {5} | -8ab-29b2 -24ab-29b2 |

o19 : ZZdFactorizationMap
i20 : h3 = HH Hom(C,f3)

o20 = 0 : subquotient ({1} | 0 -1 0  a  0   0   |, {1} | a2  b2  ab  0   0   0  a  0  0  -b 0  0  |) <----- subquotient ({0}  | 1 0   -b 0   |, {0}  | a2  -b2 0  0   a  0  -b 0  |) : 0
                       {1} | 0 0  -1 0  -a  0   |  {1} | ab  -a2 b2  0   0   0  0  a  0  0  -b 0  |     0                {1}  | 0 1   0  0   |  {1}  | b   a   0  0   0  a  0  -b |
                       {1} | 1 0  0  0  0   -a  |  {1} | -b2 ab  a2  0   0   0  0  0  a  0  0  -b |                      {-1} | 0 -ab a2 -b2 |  {-1} | 0   0   a2 -b2 b2 0  a2 0  |
                       {0} | a 0  b  b2 0   0   |  {0} | 0   0   0   a2  b2  ab b2 0  0  a2 0  0  |                      {0}  | 1 0   0  a   |  {0}  | 0   0   b  a   0  b2 0  a2 |
                       {0} | b -a 0  0  -b2 0   |  {0} | 0   0   0   ab  -a2 b2 0  b2 0  0  a2 0  |                      {0}  | 1 0   0  0   |  {0}  | a2  0   b  0   a  b2 0  0  |
                       {0} | 0 b  a  0  0   -b2 |  {0} | 0   0   0   -b2 ab  a2 0  0  b2 0  0  a2 |                      {0}  | 0 a   0  b   |  {0}  | 0   a2  0  b   -b a2 0  0  |
                       {1} | 0 -1 0  a  0   b   |  {1} | a2  0   0   b   0   0  a  0  -b 0  0  0  |                      {0}  | 0 -b  a  0   |  {0}  | -b2 0   a  0   0  0  a  b2 |
                       {1} | 0 0  1  b  a   0   |  {1} | 0   a2  0   0   b   0  b  -a 0  0  0  0  |                      {0}  | 1 0   -b a   |  {0}  | 0   -b2 0  a   0  0  -b a2 |
                       {1} | 1 0  0  0  -b  -a  |  {1} | 0   0   a2  0   0   b  0  b  a  0  0  0  |
                       {1} | 1 0  0  0  0   0   |  {1} | -b2 0   0   a   0   0  0  0  0  a  0  -b |
                       {1} | 0 1  0  0  0   0   |  {1} | 0   -b2 0   0   a   0  0  0  0  b  -a 0  |
                       {1} | 0 0  1  0  0   0   |  {1} | 0   0   -b2 0   0   a  0  0  0  0  b  a  |

      1 : subquotient ({3}  | 0  0  0  0  1  0  |, {3}  | -a  0   b   0  0  0  a   0   0   -b  0   0   |) <----- subquotient ({2}  | 0  0  1  a   |, {2}  | -a  -b2 0  0   a   0  -b  0  |) : 1
                       {3}  | 1  0  0  0  0  0  |  {3}  | -b  a   0   0  0  0  0   a   0   0   -b  0   |     0                {2}  | -1 0  0  -b  |  {2}  | b   -a2 0  0   0   a  0   -b |
                       {3}  | 0  0  1  0  0  0  |  {3}  | 0   -b  -a  0  0  0  0   0   a   0   0   -b  |                      {1}  | -b a  0  0   |  {1}  | 0   0   -a -b2 b2  0  a2  0  |
                       {2}  | -b a  -a 0  0  -b |  {2}  | 0   0   0   -a 0  b  b2  0   0   a2  0   0   |                      {1}  | 0  -b -a 0   |  {1}  | 0   0   b  -a2 0   b2 0   a2 |
                       {2}  | 0  b  0  -a a  0  |  {2}  | 0   0   0   -b a  0  0   b2  0   0   a2  0   |                      {-2} | 0  -b -a -a2 |  {-2} | a2  0   b  0   -a2 b2 0   0  |
                       {2}  | 0  0  0  b  0  a  |  {2}  | 0   0   0   0  -b -a 0   0   b2  0   0   a2  |                      {-1} | 1  0  0  0   |  {-1} | 0   a2  0  b   -b  -a 0   0  |
                       {-1} | 0  -b 0  0  -a 0  |  {-1} | a2  0   0   b  0  0  -a2 -b2 -ab 0   0   0   |                      {-2} | b  -a 0  b2  |  {-2} | -b2 0   a  0   0   0  -a2 b2 |
                       {-1} | a  0  0  -b 0  0  |  {-1} | 0   a2  0   0  b  0  -ab a2  -b2 0   0   0   |                      {-1} | 0  0  1  0   |  {-1} | 0   -b2 0  a   0   0  -b  -a |
                       {-1} | -b 0  -a 0  0  -b |  {-1} | 0   0   a2  0  0  b  b2  -ab -a2 0   0   0   |
                       {-1} | b  -a a  0  0  0  |  {-1} | -b2 0   0   a  0  0  0   0   0   -a2 -b2 -ab |
                       {-1} | 0  0  b  -a a  0  |  {-1} | 0   -b2 0   0  a  0  0   0   0   -ab a2  -b2 |
                       {-1} | 0  0  0  0  -b -a |  {-1} | 0   0   -b2 0  0  a  0   0   0   b2  -ab -a2 |

o20 : ZZdFactorizationMap
i21 : assert isWellDefined h3
i22 : assert(h3 == 0)

See also

Ways to use this method:


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