Let be a ring,
an ideal. We propose an
algorithm to compute
is integral
over , the *integral
closure* of .
is called *integrally closed* if and only if
. It is called
*normal* if
for all .
Note that
.
We are mainly interested in the case
.

In the following, we describe an algorithm to compute
for all , simultaneously. Consider the *Rees
algebra*
, and let
denote the integral closure of
in . Then

To be specific, let , with a perfect field. Then

The algorithm then reads as follows:

- Input
- , an integer, .
- Output
- Generators for .

- Compute the Rees algebra .
- Compute the normalization
, together with
maps
, so that
- Determine , so that compute (indeed, we find a universal denominator for all ).
- Determine generators of the -ideal which is mapped to the component of -degree of the subalgebra .
- Return .

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 in
. An
implementation will be available soon.