# topComponents -- compute top dimensional component of an ideal or module

## Synopsis

• Usage:
topComponents M
• Inputs:
• Outputs:
• an ideal or , the intersection of the primary components of the input with the greatest Krull dimension

## Description

The method used is that of Eisenbud-Huneke-Vasconcelos, in their 1993 Inventiones Mathematicae paper.

 i1 : R = ZZ/32003[a..c]; i2 : I = intersect(ideal(a,b), ideal(b,c), ideal(c,a), ideal(a^2,b^3,c^4)); o2 : Ideal of R i3 : topComponents I o3 = ideal (b*c, a*c, a*b) o3 : Ideal of R

If $M$ is a module in a polynomial ring $R$, then the implementations of topComponents and removeLowestDimension are based on the following observations:

• $codim Ext^d(M,R) \ge d$ for all $d$
• If $P$ is an associated prime of $M$ of codimension $d := codim P > codim M$, then $codim Ext^d(M,R) = d$ and the annihilator of $Ext^d(M,R)$ is contained in $P$
• If $codim Ext^d(M,R) = d$, then there really is an associated prime of codimension $d$.
• If $M$ is $R/I$, then $topComponents(I) = ann Ext^c(R/I,R)$, where $c = codim I$