For each DG type T (DG algebra, DG module, DG submodule, DG quotient module, DG ideal, DG algebra map, DG module map), the package provides prune and its synonym minimalPresentation. The result is an object of the same type whose underlying presentation has had redundancy removed, where possible.
Every call to prune caches a pruningMap in the cache table of the pruned output, encoding the canonical comparison map (pruned) -> (original). For types where pruning does nothing (see below), the cached pruningMap is the identity; for types where it does something, the pruningMap is a well-defined DGModuleMap (or DGAlgebraMap) whose source is the pruned object and whose target is the original. This mirrors the convention used by prune applied to Complex objects from the Complexes package for Complex objects.
The two active cases are:
prune(DGSubmodule) trims the inclusion matrix to a minimal generating set of its column span. When the inclusion matrix is already minimal, prune is the identity.
prune(DGQuotientModule) first prunes the relations submodule and then additionally prunes toComplex Qp at the complex level, caching the result so that toComplex Qp returns a minimally presented complex.
The no-op cases, installed so that pruning always commutes with every constructor, are prune(DGModule), prune(DGAlgebra), prune(DGAlgebraMap), prune(DGModuleMap), and (already documented) prune(DGIdeal).
|
|
|
|
|
|
|
|
|
The image submodule of M.natural is unchanged; the presentation of S is reduced from three generators to one.
The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/DGAlgebras/doc.m2:4572:0.