Buchberger's algorithm

From Wikipedia, the free encyclopedia

In computational algebraic geometry and computational commutative algebra, Buchberger's algorithm is a method of transforming a given set of generators for a polynomial ideal into a Gröbner basis with respect to some monomial order. It was invented by Austrian mathematician Bruno Buchberger. One can view it as a generalization of the Euclidean algorithm for univariate GCD computation and of Gaussian elimination for linear systems.

A crude version of this algorithm to find a basis for an ideal I of a ring R proceeds as follows:

Input A set of polynomials F = {f1, f2, ..., fk} that generate I
Output A Gröbner basis for I
  1. Let gi be the leading term of fi with respect to the given ordering, and denote the least common multiple of gi and gj by aij.
  2. Let Sij ← (aij / gi) fi − (aij / gj) fj
    (Note that the leading terms here will cancel by construction).
  3. Using the multivariate division algorithm, reduce all the Sij relative to the set F.
  4. Add all the nonzero polynomials resulting from step 3 to F, and repeat steps 1-4 until nothing new is added.

The polynomial Sij is commonly referred to as the S-polynomial, where S refers to subtraction (Buchberger) or syzygy (others).

There are numerous ways to improve this algorithm beyond what has been stated above. For example, one could reduce all the new elements of F relative to each other before adding them. It also should be noted that if the leading terms of fi and fj share no variables in common, then Sij will always reduce to 0 (if we use only fi and fj for reduction), so we needn't calculate it at all.

To date, all algorithms to compute Gröbner bases have been refinements of Buchberger's idea of computing S-polynomials, then reducing them modulo F.

The algorithm terminates because it is consistently increasing the size of the monomial ideal generated by the leading terms of our set F, and Dickson's lemma (or the Hilbert basis theorem) guarantees that any such ascending chain must eventually become constant. Unfortunately, it may take a very long time to terminate, corresponding to the fact that Gröbner bases can be extremely large.

Another method for computing Gröbner bases, based on the same mathematics as the Buchberger algorithm, is the Faugère F4 algorithm.

[edit] References

[edit] External links