Mnew = killCycles MMnew = killCycles(M, StartDegree => s, EndDegree => e)The construction mirrors killCycles(DGAlgebra) for DG modules. Scanning from StartDegree upwards, the method computes prune homology(n, M) until it finds the first degree n with nontrivial homology. It then lifts the minimal homology generators provided by the pruning map back to cycles in M_n and hands them to adjoinGenerators, producing a new DG module in which those classes become boundaries.
A single call kills homology at one degree. Iterating with successive StartDegree values is how semifreeResolution and minimalSemifreeResolution build resolutions.
|
|
|
|
|
|
|
|
M2 has H_0 = R/(x) = k and no higher homology to kill, so M3 agrees with M2 in this example. In settings where H_1 is nontrivial, killCycles adjoins one hom-degree-2 generator per minimal H_1 class.
Raises an error when StartDegree > EndDegree. The input must be a free DG module for the underlying homology computation to extract representative cycles.
The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/DGAlgebras/doc.m2:5624:0.