The method used is that of Eisenbud-Huneke-Vasconcelos, in their 1993 Inventiones Mathematicae paper.
If M is a module in a polynomial ring R, then the implementations of
topComponents and
removeLowestDimension are based on the following observations:
- codim Extd(M,R) ≥d for all d
- If P is an associated prime of M of codimension d := codim P > codim M, then codim Extd(M,R) = d and the annihilator of Extd(M,R) is contained in P
- If codim Extd(M,R) = d, then there really is an associated prime of codimension d.
- If M is R/I, then topComponents(I) = ann Extc(R/I,R), where c = codim I