Recall Buchberger's Criterion.
Let
be any ideal. Then a basis
for
I is a Gröbner basis if and only if
for all pairs i,j, with
,
S(gi,gj) has the remainder 0 under division by G.
Proof. Suppose first that G is a Gröbner basis for
I.
For each pair
,
since
,
we know from Lemma 8.1
that
S(gi,gj) always
has the remainder zero under division by G.
Conversely, suppose that every S-polynomial
S(gi,gj),
,
has the remainder zero under division by G,
that is, there are polynomials
such that
Suppose on the contrary that G is not a Gröbner basis for
I.
Then we may choose a polynomial
such that
is not divisible by any
,
.
Since
,
we can write f as
Since
is not divisible by any
,
,
the terms of the higi that involve
must cancel.
In particular, there must be at least two i's such that
.
We may assume for simplicity that
Buchberger's criterion gives immediately an algorithm for finding
Gröbner bases. Let
be an ideal
in
.
Fix a monomial order.
To get a Gröbner basis for
I, put
initially. Compute the S-polynomials of all pairs of polynomials
in G and do long division by G. If all the remainders are zero
then G is already a Gröbner basis for
I, so stop.
If there are nonzero remainders, add them to G.
Then repeat this process for the new G.
Note that at each iteration of the algorithm, the initial ideal
increases due to the addition of nonzero remainder which give
new leading terms. Since there is no infinite increasing sequence
of ideals in
,
the process must terminate
after finite many steps!
This method is called Buchberger's algorithm.
In practice, the number of steps in Buchberger's algorithm can be large and double exponential in the worst case. There are several improvements to Buchberger's algorithm due to the module structure of syzygies for which S-polynomials are special cases (so the name S-polynomials). Syzygies will play a critical role in decoding of linear codes and we shall study them in more details later.
Applications. Maple examples will be added later.