A DGModule F over a DGAlgebra A is semifree if its underlying graded A.natural-module is free with a homogeneous basis. Semifree DG modules play the role of free modules in ordinary homological algebra: every A-module (or A.ring-module lifted along the augmentation A -> A.ring) admits a semifree resolution, unique up to DG module homotopy.
The package provides four building blocks for assembling semifree resolutions by hand or automatically:
koszulComplexDGM constructs the Koszul DG module K^R \otimes_R M as a DG module over koszulComplexDGA(ring M). On a regular ring this is already a free resolution of M; over a singular ring it provides a starting point that needs further generators adjoined to kill higher homology.
adjoinGenerators takes a free DG module M and a list of cycles in M.natural and returns a new free DG module with one additional generator per cycle, whose differential is that cycle. This is the module-theoretic analog of adjoinVariables on a DG algebra.
killCycles(DGModule) scans for the smallest hom-degree n in the requested range at which H_n(M) is nonzero, then adjoins one new hom-degree-(n+1) generator per minimal homology class. Iterating this from StartDegree up to EndDegree produces a DG module with vanishing homology in that range.
semifreeResolution automates the full construction: build a free cover of M, adjoin hom-degree-1 generators for the relations of M, then iterate killCycles(DGModule). Its refined cousin minimalSemifreeResolution applies getBoundaryPreimage at each stage to subtract off boundaries before adjoining, producing a resolution that is minimal over A in the sense that every generator's differential lands in the augmentation ideal of A.natural. The predicate isMinimalSemifreeResolution tests this minimality condition.
|
|
|
|
|
|
Over a complete intersection of codimension two, the rank of F_n in the minimal semifree resolution of the residue field matches the n-th Betti number n+1, as expected from the Tate construction.
The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/DGAlgebras/doc.m2:5403:0.