# Reasonable implementation of finding Gröbner bases over non-field coefficient rings

Gröbner bases are usually considered in the ring of polynomials over a field. However, there are useful definitions and algorithms for Gröbner bases over other coefficient rings; see, for instance, Chapter 4 of Adams and Loustaunau, An introduction to Gröbner bases. Unfortunately, I have had little success tracking down actual implementations that would allow me to compute these Gröbner bases; this may be either because they do not exist, or because I am not familiar enough with programs like Singular and Macaulay2 to identify such algorithms in the documentation.

Are there existing and practical implementations of algorithms to compute Gröbner bases in polynomial rings with coefficients in a general ring? I am, in particular, interested in computing Gröbner bases in the polynomial ring $A[x_1, \dotsc, x_n]$ where the coefficient ring $A$ is a domain of finite type over a field.

Motivation: The generic freeness lemma tells us that, given a finite-type morphism $f \colon X \to Y$ of affine noetherian integral schemes, there is a dense open subset $U \subset Y$ such that $f^{-1}(U) \to U$ is flat and surjective. In particular, all the fibers over $U$ necessarily have the same dimension and are equivalent up to flat deformation." So, in some sense, a computable version of generic freeness would allow us to classify all the fibers of a morphism (and not just, say, the general fiber).

Such a computable version is described in Vasconcelos' 1997 paper "Flatness testing and torsionfree morphisms," Theorem 2.1, although Vasconcelos gives the impression that this "computable version" was already well-known in certain circles. If we are looking at a ring homomorphism $$A \longrightarrow B = A[T_1,\dotsc,T_n]/I,$$ the only computationally nontrivial part of the algorithm is to compute a Gröbner basis for $I$, in the sense described in this question.

[Qualification 1: If you actually want to compute a stratification, you also need to be able to find the irreducible components of $A/(f)$ so that the next step will have an integral base. This is not computationally trivial, but if $A$ is of finite type over a field, it does have standard implementations, for instance, in Macaulay2.]

[Qualification 2: Judging by the next remark in Vasconcelos' paper, it may be possible to get by if you can compute a Gröbner basis for $I$ over the fraction field of $A$. Macaulay2 can do this--I think--but according to the documentation, it is not remotely efficient.]

-
If $A$ is of finite type over a field, then why not study your ideal in the larger polynomial ring generated by $x_1, \ldots, x_n$ as well as the generators of $A$. I'm not sure how Adams and Loustaunau define a Grobener basis in general, but I would suspect that it's equivalent to putting a block ordering on the terms of these two sets of generators of the polynomial ring. Also, Macaulay2 is willing to compute Gröbner bases in polynomial rings over the integers, although I'm not exactly sure what its definition of a Groebner basis over the integers is. –  Dustin Cartwright May 19 '12 at 9:56
Adams and Loustaunau give an example to show that it is not equivalent. Perhaps I'll add an explanation of my motivation to the question. –  Charles Staats May 19 '12 at 14:37

magma can compute Gröbner bases over a number of different types of coefficient rings; see the magma handbook.
As a general principle, if $A = R / J$ for some nice $R$, then it is often fruitful to try and answer questions about $A[T]$ by transplanting them to questions about $R[T]$. e.g. to find the irreducible components of $\mathop{Spec} A[T]/I$, it suffices to find a suitable decomposition of the ideal $\bar{I} \subseteq R[T]$, where $\bar{I}$ is the preimage of $I$ under the map $R[T] \to A[T]$.