nullhomotopy

nullhomotopy f -- produce a nullhomotopy for a map f of chain complexes.

Whether f is null homotopic is not checked.

Here is part of an example provided by Luchezar Avramov. We construct a random module over a complete intersection, resolve it over the polynomial ring, and produce a null homotopy for the map which is multiplication by one of the defining equations for the complete intersection.

     i1 = A = ZZ/101[x,y]
     
     o1 = A
     
     o1 : PolynomialRing
     
     i2 = M = cokernel random(A^3, A^{-2,-2})
     
     o2 = cokernel | 16x2-25xy-13y2  -14x2-20xy-41y2 |
                   | -27x2+11xy-43y2 -28x2+14xy-40y2 |
                   | 12x2-43xy-8y2   -46x2-2xy-16y2  |
     
                                   3
          A - module, quotient of A
     
     i3 = R = cokernel matrix {{x^3,y^4}}
     
     o3 = cokernel | x3 y4 |
     
                                   1
          A - module, quotient of A
     
     i4 = N = prune (M**R)
     
     o4 = cokernel | -47x2-19xy+34y2 -47x2+24xy-2y2 x3 x2y-26xy2+y3 -3xy2+49y3 0  0  y4 |
                   | 41xy+38y2       x2-21xy-32y2   0  -47xy2+13y3  4xy2+38y3  0  y4 0  |
                   | x2+36xy+2y2     26xy-32y2      0  6y3          xy2+48y3   y4 0  0  |
     
                                   3
          A - module, quotient of A
     
     i5 = C = resolution N
     
           3      8      5
     o5 = A  <-- A  <-- A
                        
          0      1      2
     
     o5 : ChainComplex
     
     i6 = d = C.dd
     
              3                                                                              8
     o6 = 1: A  <--| 26xy-32y2      x2+36xy+2y2     0  6y3          xy2+48y3   0  0  y4 |-- A
                   | x2-21xy-32y2   41xy+38y2       0  -47xy2+13y3  4xy2+38y3  0  y4 0  |
                   | -47x2+24xy-2y2 -47x2-19xy+34y2 x3 x2y-26xy2+y3 -3xy2+49y3 y4 0  0  |
          
              8                                                                         5
          2: A  <--| -48xy2+36y3    20xy2+26y3      48y3      -30y3      -39y3     |-- A
                   | -3xy2-y3       -39y3           3y3       12y3       -39y3     |
                   | 33xy-3y2       49xy+9y2        -33y2     21y2       19y2      |
                   | -33x2-11xy+8y2 -49x2-40xy-17y2 33xy+14y2 -21xy-14y2 -19xy-3y2 |
                   | 3x2-3xy+2y2    15xy-21y2       -3xy+4y2  -12xy+40y2 39xy-48y2 |
                   | 0              0               x-14y     10y        -33y      |
                   | 0              0               -23y      x-27y      -24y      |
                   | 0              0               42y       8y         x+41y     |
     
     o6 : ChainComplexMap
     
     i7 = s = nullhomotopy (x^3 * id_C)
     
              8                         3
     o7 = 0: A  <--| -41y  x+21y 0 |-- A
                   | x-36y -26y  0 |
                   | 47    47    1 |
                   | 36    44    0 |
                   | 37    18    0 |
                   | 0     0     0 |
                   | 0     0     0 |
                   | 0     0     0 |
          
              5                                                                         8
          1: A  <--| -6 -46 0 -37y     34x+31y xy+12y2     4xy-48y2    -13xy-22y2  |-- A
                   | 7  -26 0 -33x+23y 41x-29y 47y2        xy+11y2     -4xy-11y2   |
                   | 0  0   0 0        0       x2+14xy-6y2 -10xy+33y2  33xy-20y2   |
                   | 0  0   0 0        0       23xy+36y2   x2+27xy+4y2 24xy+19y2   |
                   | 0  0   0 0        0       -42xy+41y2  -8xy+27y2   x2-41xy+2y2 |
     
     o7 : ChainComplexMap
     
     i8 = s*d + d*s
     
              3                    3
     o8 = 0: A  <--| x3 0  0  |-- A
                   | 0  x3 0  |
                   | 0  0  x3 |
          
              8                                   8
          1: A  <--| x3 0  0  0  0  0  0  0  |-- A
                   | 0  x3 0  0  0  0  0  0  |
                   | 0  0  x3 0  0  0  0  0  |
                   | 0  0  0  x3 0  0  0  0  |
                   | 0  0  0  0  x3 0  0  0  |
                   | 0  0  0  0  0  x3 0  0  |
                   | 0  0  0  0  0  0  x3 0  |
                   | 0  0  0  0  0  0  0  x3 |
          
              5                          5
          2: A  <--| x3 0  0  0  0  |-- A
                   | 0  x3 0  0  0  |
                   | 0  0  x3 0  0  |
                   | 0  0  0  x3 0  |
                   | 0  0  0  0  x3 |
     
     o8 : ChainComplexMap
     
     i9 = s^2
     
     o9 = 0
     
     o9 : ChainComplexMap
     

Go to main index.

Go to concepts index.