M = freeDGModule(A, degList)The differential is initially set to zero on every generator, and is customized afterward via setDiff. Because the constructor returns a free DGModule, the result can serve as a building block for semifree resolutions (see adjoinGenerators and semifreeResolution) or as the starting point for a hand-built DG module, as illustrated below.
Here we build the 2-periodic minimal free resolution of the residue field over the hypersurface R = k[x]/(x^2) — the prototypical Eisenbud matrix factorization — as an infinite semifree DG module over the Koszul DG algebra:
|
|
|
|
|
|
The differential alternates between multiplication by x in every degree, matching the classical 2-periodic resolution of the residue field. Its homology is concentrated in degree zero:
|
More elaborate differentials are possible once multiple generators sit in overlapping hom-degrees. Here is a rank-3 toy example where F_1 has two generators and d_1 sends them to x and y respectively, recovering the truncation of the Koszul complex on (x, y):
|
|
|
|
|
|
Internal degrees from a multi-graded base ring are inherited; a plain homological degree is padded with zeros to match.
|
|
|
|
The empty-list form gives the zero DG module.
|
|
The object freeDGModule is a method function.
The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/DGAlgebras/doc.m2:3106:0.