## Doing explicit computations with coordinate rings

Suppose that we are given an integral $k$-algebra $A$ of finite type explicitly, by which I mean that we are given the generators of the defining ideal $J$ where $A = k[x_1,...,x_n]/J$. What kinds of tools are out there to compute the integral closure of $A$? I would like the answer as explicitly as possible i.e. generators of the defining ideal.

While suggestions of computer programs are welcome, I want to be able to do these on my own, so I am looking for results which let me prove the answer. I'm asking from the perspective of someone who knows very little computational commutative algebra.

As a related question, if I have two such rings $A$, $B$ given explicitly as above, together with an explicit homomorphism between them, how can I go about determining the kernel and cokernel explicitly? Also, how about if we localize everything at a maximal ideal?

Broadly speaking, I would like to know about what kinds of computational methods are available for rings which arise from studying complex algebraic varieties. Have people out there settled these kinds of computations completely, or is this a hard question in general?

-
Related: mathoverflow.net/questions/11709/… – David Speyer Feb 20 2011 at 15:03

This should be what you're looking for.

-

Have you looked at the Swanson-Huneke book on integral closure? Especially chapter 15 which is a discussion of various methods of computing integral closure (including Stolzenberg's method mentioned in Steven Landsberg's answer above).
It is available online HERE

Another recent algorithm is due to A. Singh and I. Swanson, Click HERE. This also has some history discussion, and it is apparently implemented as well.

Since you did ask for computer implementations, please see HERE, an algorithm implemented in Macaulay2 apparently based off T. de Jong's algorithm (mentioned in the sources above).

Finally, I should note that sometimes blowing-up the conductor helps, see section 7 of Greco-Traverso, On seminormal schemes''.

EDIT: With regards to your other questions finding kernels and cokernels of maps of rings, you should see a book on computational commutative algebra. For example, you could try the section of Eisenbud's book "Commutative Algebra with a view towards algebraic geometry'' on Groebner bases, another common source is Ideals, Varieties and Algorithms" by Cox, Litlle and O'Shea. Again, these things are also implemented in Macaulay2 amoung other places.

-