Macaulay2 » Documentation
Packages » DGAlgebras » Homology of DG modules and DG module maps » homologyClass(DGModule,Vector)
next | previous | forward | backward | up | index | toc

homologyClass(DGModule,Vector) -- The homology class of a cycle in a DG module

Description

This is the DG module analogue of homologyClass(DGAlgebra,RingElement). It expresses the cycle z in the basis of prune homology(d, M) by solving zCol = pruneMat * hCoef + boundaryMat * t, where pruneMat is the pruning map of H_d(M) and boundaryMat is the degree-d+1 differential.

An input that is not a cycle raises an error.

i1 : R = ZZ/101[x]

o1 = R

o1 : PolynomialRing
i2 : A = koszulComplexDGA R

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

o2 : DGAlgebra
i3 : M = freeDGModule(A, {0, 1})

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

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

o4 = {| 1 |, | 0 |}
      | 0 |  | 1 |

o4 : List
i5 : setDiff(M, {0, x * natGens#0})

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

o5 : DGModule
i6 : z = natGens#0

o6 = | 1 |
     | 0 |

              2
o6 : (R[T   ])
         1,1
i7 : H = prune homology(0, M)

o7 = cokernel | x 0 |

                            1
o7 : R-module, quotient of R
i8 : h = homologyClass(M, z)

o8 = | 1 |

o8 : H
i9 : h != 0_H

o9 = true

On a boundary, homologyClass returns zero.

i10 : b = x * natGens#0

o10 = | x |
      | 0 |

               2
o10 : (R[T   ])
          1,1
i11 : hb = homologyClass(M, b)

o11 = 0

o11 : H
i12 : hb == 0_(prune homology(0, M))

o12 = true

Caveat

Requires M to be a free DG module.

See also

Ways to use this method:


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