MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For rings such as $\mathbb{Z}[x,y]$ is there software to compute any of:

1.) The integral closure of $\mathbb{Z}[x,y]/(f)$. de Jong has a very general algorithm that works in this context (

2.) The radical of an ideal $I$.

3.) Minimal primes of an ideal/the primary decomposition.

4.) The dimension of $\mathbb{Z}[x,y]/I$

5.) Any invariants of a singularity on such a scheme.

Over fields $\mathbb{Q}, \mathbb{F}_p$ I think Sage, Macaulay 2 etc., implement 1-4. Are 1-4 difficult to compute for such rings, or are there just no implementations yet?

share|cite|improve this question
Magma can do Groebner bases over the integers, and IIRC primary decomposition as well. It will also do Groebner bases over finite truncations of p-adic rings. – Martin Bright Aug 6 '13 at 7:27
Thanks Martin, I believe Sage also does Groebner bases over $\mathbb{Z}$ and Magma more generally over Euclidean domains. However, neither does primary decomposition or computes the radical. – LMN Aug 6 '13 at 17:40
I find it very strange/hard to believe that there is an algorithm to compute the integral closure (which is generally considered "hard") for interesting rings ($\mathbb{Z}$-algebras above), but that there is no implementation. – LMN Aug 6 '13 at 17:43

To my knowledge,

2-4 are also implemented in Singular (, in primdecint.lib or in kernel, but the Gröbner basis computation over integers and other algrorithms in Singular seems still buggy. We are currently trying to pinpoint the bugs and fix them in the development version:

Their bugtracker:

Radical over integers is computed in Singular via radicalZ(I), dimension via dim(std(I)) and the primary decomposition via primdecZ(I). Sagemath has an interface to Singular 3.1.6 but not to the recent version.


share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.