Buchberger's Algorithm

 

Here we will discuss the basic algorithm for computing Groebner bases given by Buchberger in his Ph.D. dissertation. A refined algorithm will be discussed in Improving Buchberger's algorithm.

Buchberger's Algorithm for Groebner Bases.

 

Input: A polynomial set F = {f1,f2,...,fs} that generates an ideal I
Output: A Groebner basis G = {g1,g2,...,gt} that generates I
G := F
M := {{fi, fj}: fi, fj are in G and fi<>fj}
WHILE (M<>Ø) DO

{p, q} := a pair in M
M := M - {{p, q}}
S :=
S-Polynomial(p, q)
h := NormalForm(S, G)
IF (h <> 0) THEN

M := M U {{g, h} for all g in G}
G := G U {h}

Example.

Consider I = <F> where F = {f1 = x2 + 2xy2, f2 = xy + 2y3 - 1} with lex order and x>y in R[x,y].
Then we set G = F and M = {{f1, f2}}.
S(f1, f2) = x and NormalForm(x, G) = x. So we must add f3 = x to our generating set G and update M; we get G = {f1, f2, f3} and M = {{f1, f3},{f2, f3}}.
We pick a pair in M, say {f2, f3}, and compute S(f2, f3) = 2y3 - 1, which is already completely reduced modulo G. We add f4 = 2y3 + 1 to G. We set G = {f1, f2, f3, f4} and M = {{f1, f3},{f1, f4},{f2, f4},{f3, f4}}.
If we compute the S-polynomials of the pairs in M, we will see that all reduce to 0 modulo G = {f1, f2, f3, f4}. In fact, we have:

S(f1, f3) = 2xy2 = 2y2 f3 so NormalForm(S(f1, f3), G) = 0;
S(f1, f4) = 1/ 2x2 + 2xy5 = 1/ 2 f1 + xy2 f4 so NormalForm(S(f1, f4), G) = 0;
S(f2, f4) = 1/ 2x + 2y5 - y2 = 1/ 2 f3 + y2 f4 so NormalForm(S(f2, f4), G) = 0;
S(f3, f4) = 1/ 2x = 1/ 2 f3 so NormalForm(S(f3, f4), G) = 0.

It follows that a Groebner basis for I is given by:

G = {f1, f2, f3, f4} = {x2 + 2xy2, xy + 2y3 - 1, x, 2y3 - 1}.

Groebner bases computed with the algorithm above are often bigger than necessary.
If in a Grobner basis G the leading term of a generator p is divisible by the leading term of another generator, we can eliminate p and G is still a Groebner basis by definition.

Example.

In the Groebner basis computed in the previous example we can eliminate f1 and f2 since their leading terms are both multiples of the leading term of f3. This leads to the basis

G = {f3, f4} = {x, 2y3 - 1}.

Furthermore, if we adjust constants to make all leading coefficients 1, we get to what it is called a minimal Groebner basis.

Example.

A minimal Groebner basis of the ideal I = <x2 + 2xy2, xy + 2y3 - 1> of the previous example is

G = {x, y3 - 1/ 2}.

Note that any Grobner basis of the form

G = {x + a(y3 - 1/ 2), y3 - 1/ 2} where a is any constant in R

is a minimal Groebner basis for I (with lex order and x>y).

As we have just seen, a given ideal may have many minimal Groebner bases for a fixed monomial ordering. Fortunately, we can single out one minimal basis which is better than the others by requiring that each generator is completely reduced modulo the others. Here is the definition:

Definition 1. A reduced Groebner basis of a polynomial ideal I is a Groebner basis G for I such that:
  1. LC(p) = 1 for all p in G.
  2. each p in G is completely reduced modulo G-{p}.
Reduced Groebner bases have the following nice property.
Proposition 2. Fix a monomial ordering. Then every ideal I in K[x1,x2,...,xn] other than {0} has a unique reduced Groebner basis.
Example.

The reduced Groebner basis of the ideal I = <x2 + 2xy2, xy + 2y3 - 1> with lex order and x>y is

G = {x, y3 - 1/ 2}.

As a consequence of this uniqueness we get an ideal equality algorithm to test whether two polynomial sets {f1, f2,..., fs} and {g1, g2,..., gt} generate the same ideal: simply fix a monomial order and compute the reduced Groebner bases for <f1, f2,..., fs> and <g1, g2,..., gt>. Then the ideals are equal if and only if the Groebner bases are the same.

 

Last updated