next | previous | forward | backward | up | top | index | toc | Macaulay2 website
ExactCouples :: chainModule

chainModule -- writes a chain complex of R-modules as an R[d]/d^2-module

Synopsis

Description

If $\alpha$ is the degree of the variable d, then M is supported in degrees that are multiples of $\alpha$. The part of M sitting in degree $d \cdot \alpha$ matches X_{-d}. If $\alpha = -1$, then we have X_d = M_d for all d.

i1 : R = QQ[x, y, z]; M = coker vars R; C = res M -- a Koszul complex

      1      3      3      1
o3 = R  <-- R  <-- R  <-- R  <-- 0
                                  
     0      1      2      3      4

o3 : ChainComplex
i4 : Q = R[d, Degrees => {-1}] / ideal(d^2); m = chainModule(Q, C)

o5 = cokernel {3, 3} | d  0  0  0  0  0  0  0 |
              {2, 2} | -z d  0  0  0  0  0  0 |
              {2, 2} | y  0  d  0  0  0  0  0 |
              {2, 2} | -x 0  0  d  0  0  0  0 |
              {1, 1} | 0  y  z  0  d  0  0  0 |
              {1, 1} | 0  -x 0  z  0  d  0  0 |
              {1, 1} | 0  0  -x -y 0  0  d  0 |
              {0, 0} | 0  0  0  0  -x -y -z d |

                            8
o5 : Q-module, quotient of Q
i6 : (F, f) = flattenRing Q;
i7 : matrix table(10, 10, (i, j) -> hilbertFunction({j,i}, f ** m))

o7 = | 1  0   0   0  0 0 0 0 0 0 |
     | 3  3   0   0  0 0 0 0 0 0 |
     | 6  9   3   0  0 0 0 0 0 0 |
     | 10 18  9   1  0 0 0 0 0 0 |
     | 15 30  18  3  0 0 0 0 0 0 |
     | 21 45  30  6  0 0 0 0 0 0 |
     | 28 63  45  10 0 0 0 0 0 0 |
     | 36 84  63  15 0 0 0 0 0 0 |
     | 45 108 84  21 0 0 0 0 0 0 |
     | 55 135 108 28 0 0 0 0 0 0 |

              10        10
o7 : Matrix ZZ   <--- ZZ
i8 : matrix table(10, 10, (i, j) -> hilbertFunction(i, C_j))

o8 = | 1  0   0   0  0 0 0 0 0 0 |
     | 3  3   0   0  0 0 0 0 0 0 |
     | 6  9   3   0  0 0 0 0 0 0 |
     | 10 18  9   1  0 0 0 0 0 0 |
     | 15 30  18  3  0 0 0 0 0 0 |
     | 21 45  30  6  0 0 0 0 0 0 |
     | 28 63  45  10 0 0 0 0 0 0 |
     | 36 84  63  15 0 0 0 0 0 0 |
     | 45 108 84  21 0 0 0 0 0 0 |
     | 55 135 108 28 0 0 0 0 0 0 |

              10        10
o8 : Matrix ZZ   <--- ZZ

See also

Ways to use chainModule:

For the programmer

The object chainModule is a method function.