Macaulay2 » Documentation
Packages » DGAlgebras » Homology of DG modules and DG module maps » HH_ZZ DGModule
next | previous | forward | backward | up | index | toc

HH_ZZ DGModule -- The degree-n homology of a DG module as a module over the base ring

Description

This is the per-degree homology: the differential d_n : M_n -> M_{n-1} is built via moduleDifferential, and H_n(M) is obtained by applying the built-in M2 homology method to the adjacent pair (d_n, d_{n+1}). The resulting module lives over A.ring; use prune(Module) to minimize the presentation.

Because DGSubmodule is a subtype of DGModule, this method also handles DG submodules directly.

i1 : R = QQ[x, y, z]

o1 = R

o1 : PolynomialRing
i2 : A = koszulComplexDGA R

o2 = {Ring => R                          }
      Underlying algebra => R[T   ..T   ]
                               1,1   1,3
      Differential => {x, y, z}

o2 : DGAlgebra
i3 : KM = koszulComplexDGM R^1

o3 = {Base ring => R                    }
      DG algebra => R[T   ..T   ]
                       1,1   1,3
                                       1
      Natural module => (R[T   ..T   ])
                            1,1   1,3
      Generator degrees => {{0, 0}}
      Differentials on gens => {0}

o3 : DGModule
i4 : prune homology(0, KM)

o4 = cokernel | z y x |

                            1
o4 : R-module, quotient of R
i5 : prune homology(1, KM) == 0

o5 = true
i6 : prune homology(2, KM) == 0

o6 = true

For the Koszul complex on a regular sequence, only H_0 = R/(x,y,z) is nonzero; this recovers the standard fact.

i7 : R2 = ZZ/101[x]

o7 = R2

o7 : PolynomialRing
i8 : A2 = koszulComplexDGA R2

o8 = {Ring => R2                    }
      Underlying algebra => R2[T   ]
                                1,1
      Differential => {x}

o8 : DGAlgebra
i9 : M = freeDGModule(A2, {0, 1})

o9 = {Base ring => R2                      }
      DG algebra => R2[T   ]
                        1,1
                                  2
      Natural module => (R2[T   ])
                             1,1
      Generator degrees => {{0, 0}, {1, 0}}
      Differentials on gens => {0, 0}

o9 : DGModule
i10 : natGens = apply(rank M.natural, i -> (M.natural)_i)

o10 = {| 1 |, | 0 |}
       | 0 |  | 1 |

o10 : List
i11 : setDiff(M, {0, x * natGens#0})

o11 = {Base ring => R2                      }
       DG algebra => R2[T   ]
                         1,1
                                   2
       Natural module => (R2[T   ])
                              1,1
       Generator degrees => {{0, 0}, {1, 0}}
       Differentials on gens => {0, | x |}
                                    | 0 |

o11 : DGModule
i12 : numgens prune homology(0, M)

o12 = 1
i13 : numgens prune homology(1, M)

o13 = 1

See also

Ways to use this method:

  • HH_ZZ DGModule -- The degree-n homology of a DG module as a module over the base ring

The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/DGAlgebras/doc.m2:4241:0.