next up previous
Next: Examples Up: Integral closure of rings Previous: Computing the normalization

Integral closure algorithm

Let $ A$ be a ring, $ I \subset A$ an ideal. We propose an algorithm to compute $ \overline{I} = \bigl\{b \in A \:\big\vert\: b$ is integral over $ I\bigr\}$, the integral closure of $ I$. $ I$ is called integrally closed if and only if $ I = \overline{I}$. It is called normal if $ I^k = \overline{I^k}$ for all $ k>0$. Note that $ I \subset \overline{I} \subset \sqrt{I}$. We are mainly interested in the case $ A = K[x_1, \dots, x_n]$.

In the following, we describe an algorithm to compute $ \overline{I^k}$ for all $ k$, simultaneously. Consider the Rees algebra $ \mathcal{R}(I) = \bigoplus_{k \ge 0} I^k t^k \subset
A[t]$, and let $ \widetilde{\mathcal{R}(I)}$ denote the integral closure of $ \mathcal{R}(I)$ in $ A[t]$. Then

$\displaystyle \widetilde{\mathcal{R}(I)} = \textstyle{\bigoplus\limits_{k \ge 0}}
\overline{I^k} t^k \subset A[t]\,.

If $ A$ is normal, then $ A[t]$ is normal and hence, the normalization of $ \mathcal{R}(I)$, that is, the integral closure of $ \mathcal{R}(I)$ in $ Q(\mathcal{R}(I))$, satisfies

$\displaystyle \overline{\mathcal{R}(I)} = \widetilde{\mathcal{R}(I)} =
\textstyle{\bigoplus\limits_{k \ge 0}} \overline{I^k} t^k\,.

Hence, computing the normalization of $ \mathcal{R}(I)$ provides the integral closure of $ \overline{I^k}$ for all $ k$.

To be specific, let $ A = K[{\boldsymbol{x}}] = K[x_1, \dots, x_n]$, $ \,I = \langle f_1, \dots,f_k\rangle \subset A$ with $ K$ a perfect field. Then

$\displaystyle \mathcal{R}(I)\, = \,K[{\boldsymbol{x}}, tf_1, \dots, tf_k] \,
K[{\boldsymbol{x}}, U_1, \dots, U_k]\big/(Ker\varphi)$

where $ \varphi : K[{\boldsymbol{x}},{\boldsymbol{U}}] \to K[{\boldsymbol{x}},t]$ maps $ x_i \mapsto
x_i$, $ \,U_j
\mapsto t f_j$. $ Ker\varphi$ can be computed by eliminating $ t$ from

$\displaystyle J := \langle U_1 - tf_1, \dots, U_k - tf_k \rangle \subset

that is, $ Ker\varphi = J \cap K[{\boldsymbol{x}},{\boldsymbol{U}}]$. For the integral closure of $ I$ we need to compute

$\displaystyle \UseComputerModernTips\xymatrix @C=0pt@R=2pt{
& \mathcal{R}(I) &\...
...upset &\overline{\mathcal{R}(I)} & =\, K[T_1, \dots,
T_s]/I'\,. \ar[uuurrr]

This means that we compute $ \overline{\mathcal{R}(I)}$ as an affine ring $ K[\boldsymbol{T}]/I'$ and, in each inductive step during the computation of $ \overline{\mathcal{R}(I)}$, we also compute the map from the intermediate ring to $ K[{\boldsymbol{x}},t]$.

The algorithm then reads as follows:

$ f_1, \dots, f_\ell \in K[x_1, \dots,
x_n]$,$ k\geq 1$ an integer, $ I:=\langle f_1, \dots,
Generators for $ \overline{I^k} \subset K[x_1, \dots,

  1. Compute the Rees algebra $ \mathcal{R}(I) \subset K[{\boldsymbol{x}},t]$.
  2. Compute the normalization $ \overline{\mathcal{R}(I)}$, together with maps $ \varphi, \psi$, so that

    $\displaystyle \UseComputerModernTips\xymatrix @C=1pt@R=6pt{
& \mathcal{R}(I) \a...
...mathcal{R}(I)} \ar@{=}[rrr] &&&
K[T_1, \dots, T_s]/J\ar@{^{(}->}[uu]_-{\psi}

  3. Determine $ a_i, b_i \in \mathcal{R}(I)$, so that $ T_i = \tfrac{a_i}{b_i}
\in Q\bigl(\mathcal{R}(I)\bigr)$ compute $ \tfrac{\varphi(a_i)}{\varphi(b_i)}\in K[{\boldsymbol{x}},t]$ (indeed, we find a universal denominator $ b=b_i$ for all $ i$).
  4. Determine generators $ g_1,\dots,g_s$ of the $ K[\boldsymbol{x}]$-ideal which is mapped to the component of $ t$-degree $ k$ of the subalgebra $ \psi\bigl(\overline{\mathcal{R}(I)}\bigr) \subset
  5. Return $ g_1,\dots,g_s$.

The algorithms described above are implemented in SINGULAR and contained in the libraries normal.lib [16] and reesclos.lib [23] contained in the distribution of SINGULAR 2.0 [17]. Similar procedures can be used to compute the conductor ideal of $ A$ in $ \overline{A}$. An implementation will be available soon.

next up previous
Next: Examples Up: Integral closure of rings Previous: Computing the normalization
Christoph Lossen