Macaulay2 » Documentation
Packages » DGAlgebras » Semifree resolutions of DG modules
next | previous | forward | backward | up | index | toc

Semifree resolutions of DG modules -- Building semifree DG module resolutions via koszulComplexDGM, adjoinGenerators, killCycles, and semifreeResolution

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.

i1 : R = QQ[x, y] / ideal(x^2, y^2)

o1 = R

o1 : QuotientRing
i2 : k = R^1 / ideal(x, y)

o2 = cokernel | x y |

                            1
o2 : R-module, quotient of R
i3 : A = koszulComplexDGA R

o3 = {Ring => R                          }
      Underlying algebra => R[T   ..T   ]
                               1,1   1,2
      Differential => {x, y}

o3 : DGAlgebra
i4 : Mdg = minimalSemifreeResolution(A, k, EndDegree => 3)

o4 = {Base ring => R                                                                                    }
      DG algebra => R[T   ..T   ]
                       1,1   1,2
                                       6
      Natural module => (R[T   ..T   ])
                            1,1   1,2
      Generator degrees => {{0, 0}, {2, 2}, {2, 2}, {4, 4}, {4, 4}, {4, 4}}
      Differentials on gens => {0, | xT_(1,1) |, | yT_(1,2) |, |     0    |, |     0    |, |     0    |}
                                   |     0    |  |     0    |  | xT_(1,1) |  | yT_(1,2) |  |     0    |
                                   |     0    |  |     0    |  |     0    |  | xT_(1,1) |  | yT_(1,2) |
                                   |     0    |  |     0    |  |     0    |  |     0    |  |     0    |
                                   |     0    |  |     0    |  |     0    |  |     0    |  |     0    |
                                   |     0    |  |     0    |  |     0    |  |     0    |  |     0    |

o4 : DGModule
i5 : isMinimalSemifreeResolution Mdg

o5 = true
i6 : apply(0..3, n -> prune homology(n, Mdg))

o6 = (cokernel | y x |, 0, 0, 0)

o6 : Sequence

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.

See also

Menu


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