The methods documented here implement the raw computations that higher-level DG algebra and DG module routines rely on. They split into three groups.
The first group -- polyDifferential and polyDiffMonomial -- applies the Leibniz rule directly to elements of A.natural to produce the DG algebra differential. polyDifferential(n, A) returns the per-degree matrix A_n --> A_{n-1} over the base ring and caches it inside A; polyDifferential(A, f) applies d to a single element by summing over its terms; polyDiffMonomial(A, m) is the monomial kernel that powers both.
The second group -- dgComplex -- packages the per-degree differentials of a DG algebra or DG module as a Complex of free modules over the base ring. The result is cached and invalidated by invalidateDGAlgebraCache.
The third group -- isValidDGModule and isDGSubmodule -- checks structural invariants. isValidDGModule parallels isValidDGAlgebra and confirms that the required keys are present with the expected types; isDGSubmodule tests whether a given inclusion matrix has d-closed image without performing the d-saturation that dgSubmodule would.
Finally, getBoundaryPreimage lifts boundaries through the module differential, returning a preimage when one exists and a residue otherwise.
The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/DGAlgebras/doc.m2:6849:0.