Gröbner Bases
Jesse Vogel
1 Introduction
Consider the ring of polynomials R = k[x1 , . . . , xn ] over some field k. Given polynomials f1 , . . . , fs
the ideal generated by these polynomials is
n o
I = (f1 , . . . , fs ) = a1 f1 + · · · + as fs : ai ∈ R .
For example, take the ideal I = (f, g) generated by f = x2 y and g = xy 2 − z in k[x, y, z]. One can
ask whether or not xz belongs to I. After a bit of puzzling, we see that we can cancel the leading
terms of f and g to find that
xz = yf − xg.
Next, one can ask: does z 2 belong to I? Again the answer is positive, as can be seen from
z 2 = y 3 f − (xy 2 + z)g,
but it is not clear how to find such an expression. What if we cannot find such a linear combination?
What if we have many indeterminates and many polynomials, and doing these computations by
hand is infeasible. How do we know for sure whether or not a polynomial belongs to I?
The Ideal Membership Problem: Given an ideal I = (f1 , . . . , fs ) ⊂ R and a poly-
nomial f ∈ R, does f ∈ I? And if so, find an expression of the form
f = a1 f1 + · · · + as fs .
2 Monomial orders
The way we will solve this problem is by trying to reduce a polynomial f modulo the generators
f1 , . . . , fs . This is easy to do for polynomials in one variable, using polynomial division: dividing f
by g means finding q and r such that
f = qg + r with deg(r) < deg(g).
However, for multivariate polynomials this is not so clear. For example, take f = xy and g = x + y,
then
xy = y · (x + y) − y 2 , xy = x · (x + y) − x2 , xy = 0 · (x + y) + xy,
but in no case can we get the degree of the remainder below deg(x + y) = 1. Hence, we need another
way to compare polynomials, different from simply comparing their degrees.
Definition 1. A monomial in R is any term of the form X α = xα αn
1 · · · xn with αi ∈ N.
1
1
Definition 2. A monomial order on R is a total order < on the set of monomials, such that
X < Y =⇒ XZ < Y Z for any monomial Z,
1 < X for any monomial X 6= 1.
Example 3. The lexicographical order is the monomial order defined by
(
α β the first coordinates αi and βi which
X < X ⇐⇒
are different satisfy αi < βi
In particular, for k[x, y] this gives 1 < y < y 2 < y 3 < · · · < x < xy < xy 2 < · · · < x2 < · · ·
Example 4. The degree lexicographical order is the monomial order defined by
(
deg(X α ) < deg(X β ),
X α < X β ⇐⇒
with lex order as tiebreaker
In particular, for k[x, y] this gives 1 < y < x < y 2 < xy < x2 < y 3 < xy 2 < x2 y < x3 < · · ·
Example 5. The degree reverse lexicographical order is defined as
(
deg(X α ) < deg(X β ), and as tiebreaker:
X α < X β ⇐⇒
use reverse lex order, invert the result
In particular, for k[x, y, z] this gives z 2 < yz < y 2 < xz < xy < x2 .
Definition 6. Fix a monomial order on k[x1 , . . . , xn ]. Given any non-zero polynomial f ∈ k[x1 , . . . , xn ],
write
f = c1 X α1 + · · · cr X αr
with ci 6= 0 and such that X α1 > · · · > X αr . Then we define
LM(f ) = X α1 , the leading monomial of f ,
LC(f ) = c1 , the leading coefficient of f ,
LT(f ) = c1 X α1 , the leading term of f .
Example 7. Consider the degree lexicographical order. For f = 2y 3 + x2 + 7 we find
LM(f ) = y 3 , LC(f ) = 2, LT(f ) = 2y 3 .
By default, we will just use degree lexicographical order.
3 Polynomial reduction
Definition 8. Given polynomials f, g, h ∈ R with g 6= 0, we say that f reduces to h modulo g in
one step, written
g
f−
→h
X
if LM(g) divides a non-zero term X of f and h = f − LT(g) g. Note that this subtracts the term X
from f and replaces it by terms which are strictly smaller than X.
2
Example 9.
x+y
xy −−−→ −y 2 (subtracted y · (x + y))
2
y +2x
x2 y + 7y 3 −−−−→ x2 y − 14xy (subtracted y · (y 2 + 2x))
Definition 10. Given polynomials f, h ∈ R and a set G = {g1 , . . . , gs } ⊂ R of non-zero polynomials,
we say that f reduces to h modulo G, denoted
G
f−
→ h,
if there exists a sequence of indices i1 , . . . , it ∈ {1, . . . , s} and a sequence of polynomials h1 , . . . , ht−1
such that
gi
1 2 3gi gi git−1
t gi
f −−→ h1 −−→ h2 −−→ · · · −−−→ ht−1 −−→ h.
F
Example 11. Let G = {g1 , g2 } with g1 = xy − y and g2 = y 2 − x. Then xy 2 −
→ x since
g1 g2
xy 2 −→ y 2 −→ x.
Definition 12. A polynomial f is called reduced w.r.t. G if it cannot be reduced modulo G. That
is, no term of f is divisible by any one of the LM(gi ).
This allows multivariate division! Given a polynomial f , there are polynomials qi and r such that
f = q1 g1 + · · · + qs gs + r
such that r is reduced w.r.t. G.
Now we cannot always expect such a decomposition to be unique, but we would like to have a unique
remainder. In particular, if f ∈ I = (f1 , . . . , fs ) we would like the remainder to be always zero.
The constant polynomial 1 cannot be reduced modulo F = {x2 , x2 + 1}, but it definitely lives in the
ideal (x2 , x2 + 1) = (1). Hence, these generators are probably not good generators in some sense.
4 Gröbner bases
Definition 13. A set of non-zero polynomials G = {g1 , . . . , gs } is called a Gröber basis for the ideal
I = (g1 , . . . , gs ) if for all non-zero f ∈ I, we have that LM(gi ) divides LM(f ) for some gi ∈ G.
In other words, G is a Gröbner basis for I if there are no non-zero polynomials in I which are reduced
with respect to G. Note that it is not clear from the definition that such bases actually exist or are
unique.
Proposition 14. G is a Gröbner basis if and only if for all f ∈ R the remainder of reduction of f
by G is unique.
G G
Proof. We only proof the ‘only if’ part. Let G be a Gröbner basis, and suppose f −
→ r1 and f −
→ r2 ,
with r1 and r2 reduced w.r.t. G. Since f − r1 and f − r2 are both in I, so is r1 − r2 . But r1 − r2 is
reduced, so r1 − r2 = 0.
3
5 Buchberger’s algorithm
Recall that G = {g1 , . . . , gs } is a Gröbner basis for I = (g1 , . . . , gs ) if and only if for all f ∈ I, there
exists some gi ∈ G such that LM(gi ) divides LM(f ). So a difficulty arises with elements f ∈ I whose
leading monomial LM(f ) is not divisible by any LM(gi ). However, note that we can always write
s
X
f= ai gi ,
i=1
so the problem occurs when the largest of the LM(ai gi ) = LM(ai ) LM(gi ) cancel. The simplest case
of such is the following.
Definition 15. Given non-zero f, g ∈ R, the S-polynomial of f and g is
L L
S(f, g) = f− g,
LT(f ) LT(g)
where L = lcm(LM(f ), LM(g)).
Example 16. Let f = 2xy − y and g = y 2 − x. Then L = lcm(xy, y 2 ) = y 2 x and
S(f, g) = 21 yf − xg = x2 − 12 y 2 .
The S-polynomial may also be viewed in another way. Namely, in the division of f by f1 , . . . , fs , it
may happen that some term X appearing in f is divisible by both LM(fi ) and LM(fj ) for i 6= j,
and hence divisible by L = lcm(LM(fi ), LM(fj )). If we reduce f using fi , we get the polynomial
X X
h1 = f − LT(fi ) fi , and if we reduce using fj , we get h2 = f − LT(fj ) fj . The ambiguity lies in
X X X
h2 − h1 = fi − fj = S(fi , fj ).
LT(fi ) LT(fj ) L
Hence, for such ambiguities to disappear, we want these S-polynomials to be in our Gröbner basis!
Theorem 17 (Buchberger). A set of non-zero polynomials G = {g1 , . . . , gs } is a Gröbner basis for
I = (g1 , . . . , gs ) if and only if for all i 6= j,
G
S(gi , gj ) −
→ 0.
Proof. Omitted, see [1, Theorem 1.7.4].
This theorem gives an algorithm to compute a Gröbner basis. One simply checks if all S-polynomials
reduce to zero, and if not, we add the remainder of that S-polynomial to the basis. This way, all
S-polynomials will reduce to zero by force.
Algorithm 18 (Buchberger’s Algorithm).
Input: a set F = {f1 , . . . , fs } of non-zero polynomials.
Output: a Gröbner basis G for the ideal I = (f1 , . . . , fs ).
4
(1) Start with G := F . Let A = {(fi , fj ) : i < j} be the set of all pairs whose
S-polynomial needs to be checked.
(2) As long as A 6= ∅, take a pair (f, g) out of A, and compute the S-polynomial S(f, g).
G
(3) If the reduction S(f, g) −
→ r is non-zero, then add r to G, and also add the pairs
(g, r) to A for all g ∈ G.
Remark 19. To see why this algorithm terminates, look at the initial ideal of the set G, which is
generated by the leading monomials of the elements of G,
in(G) = (LM(g) : g ∈ G).
This ideal strictly grows as more elements are added to G, but this process must stop because R is
noetherian.
Example 20. Let I be the ideal generated by f1 = xy − y and f2 = y 2 − x. We want to use the
algorithm to compute a Gröbner basis for I = (f1 , f2 ). As in an earlier example, we computed
f2
S(f1 , f2 ) = x2 − y 2 −→ x2 − x =: f3 .
Then we compute
S(f1 , f3 ) = 0
and
f3 f1 f2
S(f2 , f3 ) = −x3 + xy 2 −→ xy 2 − x −→ y 2 − x −→ 0.
So {f1 , f2 , f3 } is a Gröbner basis for I.
6 Uniqueness of Gröbner bases
Definition 21. A Gröbner basis G = {g1 , . . . , gs } is minimal if LC(gi ) = 1 for all i, and LM(gi )
does not divide LM(gj ) for i 6= j.
To obtain a minimal Gröbner basis from a Gröbner basis, simply make each gi monic, and remove
all gi whose LM(gi ) are divisible by some other LM(gj ).
Lemma 22. If G = {g1 , . . . , gs } is a Gröbner basis for I, and LM(g2 ) divides LM(g1 ), then
{g2 , . . . , gs } is a Gröbner basis for I as well.
Proof. Clearly, if for a polynomial f ∈ I the leading monomial LM(f ) is divisible by LM(g1 ), then
it is divisible by LM(g2 ) as well, so we can omit g1 .
Still, minimal Gröbner bases are not unique, but we are getting closer.
Proposition 23. If G = {g1 , . . . , gs } and H = {h1 , . . . , ht } are minimal Gröbner bases for I, then
s = t and after renumbering if necessary, LM(gi ) = LM(hi ).
5
Proof. Since g1 is in I, and H is a Gröbner basis, LM(hi ) divides LM(g1 ) for some i. After renum-
bering if necessary, we can assume i = 1. Now since G is a Gröbner basis, LM(gj ) divides LM(h1 )
for some j. Hence LM(gj )| LM(g1 ) and thus j = 1 as G is minimal, and hence LM(g1 ) = LM(h1 ).
Similarly for g2 , some LM(hi ) divides LM(g2 ), and we cannot have i = 1 since LM(h1 ) = LM(g1 ),
so we can assume i = 2. Then LM(gj ) divides LM(h2 ), which must be j = 2, so LM(g2 ) = LM(h2 ).
Continue inductively.
Definition 24. A Gröbner basis G = {g1 , . . . , gs } is called reduced if it is minimal, and moreover
each gi ∈ G is reduced w.r.t. G \ {gi }.
To construct a reduced Gröbner basis from a minimal Gröbner basis, simply replace each gi with its
reduction w.r.t. the other gj .
Theorem 25 (Buchberger). Fix a monomial order. Then every non-zero ideal I has a unique
reduced Gröbner basis.
Proof. If G and H are both reduced Gröbner bases, we have already seen that LM(gi ) = LM(hi ) for
all i, possibly after renumbering. If gi 6= hi for some i, then gi − hi ∈ I implies that LM(hj ) divides
LM(gi − hi ) for some j. We must have j 6= i as LM(gi − hi ) < LM(hi ). But then LM(hj ) = LM(gj )
divides a term of gi or hi , which contradicts the fact that G and H are reduced. Hence gi = hi .
7 Applications
Ideal membership. Let I = (f1 , . . . , fs ) be an ideal in R, and suppose we want to determine
whether some f ∈ R is contained in I. This can be done by computing a Gröbner basis for I, and
G
checking if f −
→ 0. By keeping track of which linear combinations of fi make up the gi , one can
recover an expression f = a1 f1 + · · · + as fs whenever f ∈ I.
Ideal equality. One can check whether two ideals I, J ⊂ R are equal, by checking whether they
have the same reduced Gröbner basis.
Coset representatives. Given an ideal I ⊂ R, one can define canonical representatives for any
f ∈ R/I. To do so, let G be a Gröbner basis for I, and define the normal form of f ∈ R to be the
reduction NG (f ) of f w.r.t. G. Then f ≡ g mod I if and only if NG (f ) = NG (g) by Proposition
14.
Moreover, this gives a canonical basis for the k-vector space R/I. Namely, one can take
monomials X α not divisible by any LM(gi ) .
Computing inverses in quotient. Using the above basis for R/I, we can easily write down a
multiplication table w.r.t. the basis. Then computing inverses in R/I is simply a matter of linear
algebra. Note that this does require the k-basis to be finite!
Radical membership. Let I = (f1 , . . . , fs ) ⊂ R be an ideal, and suppose we want to deter-
√
mine whether f ∈ I. We claim it is equivalent to check whether 1 ∈ I˜ for the ideal I˜ =
6
˜ Indeed,
(f1 , . . . , fs , 1 − wf ) ⊂ k[x1 , . . . , xn , w], which can be done using a Gröbner basis for I.
by Hilbert’s nullstellensatz, we have that
√
f∈ I ⇐⇒ f vanishes whenever f1 , . . . , fs vanish
⇐⇒ f1 = . . . = fs = 1 − wf = 0 has no solution (over an algebraic closure k)
˜
⇐⇒ 1 ∈ (f1 , . . . , fs , 1 − wf ) = I.
In particular, we can also determine whether two ideals I and J have the same radical. Namely,
√ √ √ √
I = J if and only if I ⊂ J and J ⊂ I. However, actually computing the radical is not so
easy.
Solvability of equations. Suppose k is algebraically closed. Then a system of equations f1 , . . . , fs ∈
R has a solution if and only if I = (f1 , . . . , fs ) does not contain 1.
Furthermore, we have finitely many solutions if and only if the ideal is zero-dimensional if and only
if for each i there is an m ∈ N such that (xi )m ∈ LM(G).
Computing kernels and images. Let φ : k[y1 , . . . , ym ] → k[x1 , . . . , xn ] be a ring morphism. Such
a map is uniquely determined by the images fi = φ(yi ). To compute the kernel ker φ, we use the
following theorem.
Theorem 26 ([1, Theorem 2.4.2]). Let K = (y1 − f1 , . . . , ym − fm ) ⊂ k[y1 , . . . , ym , x1 , . . . , xn ].
Then ker φ = K ∩ k[y1 , . . . , ym ].
Now compute a Gröbner basis G for K with respect to a monomial order of k[y1 , . . . , ym , x1 , . . . , xn ]
for which the xi are greater than the yi . Then the polynomials in G which are independent of the
xi form Gröbner basis for ker φ.
In order to determine whether some f ∈ k[x1 , . . . , xn ] lies in the image of φ, we use the following
theorem.
Theorem 27 ([1, Theorem 2.4.4]). Let K = (y1 − f1 , . . . , ym − fm ) ⊂ k[y1 , . . . , ym , x1 , . . . , xn ] with
reduced Gröbner basis G, w.r.t. the above-mentioned monomial order. Then f ∈ k[x1 , . . . , xn ] lies
G
in the image of φ if and only if f −
→ h for some h ∈ k[y1 , . . . , ym ]. Moreover, if this is the case,
f = φ(h).
8 Gröbner bases for modules
Consider the free R-module Rm with the natural basis e1 , . . . , em .
Definition 28. A monomial in Rm is any term of the form Xei , for some 1 ≤ i ≤ m and monomial X
in R. We say that Xei divides Y ej if i = j and X divides Y , in which case we write Xei /Y ej = X/Y .
Definition 29. A monomial order on Rm is a total order < on the monomials of Rm such that
Xei < ZXei for all monomials Xei of Rm and monomials Z 6= 1 of R,
7
if Xei < Y ej , then ZXei < ZY ej for all monomials Z of R.
Example 30. Given a monomial order on R, there are two natural monomial orders on Rm . The
monomial order TOP (term over position) is given by
(
X < Y or
Xei < Y ej ⇐⇒
X = Y and i < j,
and the monomial order POT (position over term) is given by
(
i < j or
Xei < Y ej ⇐⇒
i = j and X < Y.
Now, given a monomial order on Rm , the theory previous sections carries over very naturally.
One can define LM, LC and LT analogous to Definition 6.
g F
One can define notions of reduction f − → h for f, g, h ∈ Rm and F ⊂ Rm , analogous
→ h and f −
to Definition 8 and Definition 10.
One can define the notion of a (minimal/reduced) Gröbner basis for submodules M ⊂ Rm .
One can define the least common multiple of monomials of Rm as
(
lcm(X, Y ) if i = j,
lcm(Xei , Y ej ) =
0 else.
One can define the S-polynomial of two non-zero f, g ∈ Rm as
L L
S(f, g) = f− g with L = lcm(LM(f ), LM(g)).
LT(f ) LT(g)
One has an analogue of Buchberger’s algorithm for submodules M ⊂ Rm .
Similarly, every non-zero submodule M ⊂ Rm has a unique reduced Gröbner basis.
9 Syzygy modules
Let φ : Rs → Rm be an R-module morphism. Note that the map φ is completely determined by the
images fi = φ(ei ) ∈ Rm of the basis vectors for 1 ≤ i ≤ s.
Definition 31. A syzygy of φ is a vector (r1 , . . . , rs ) ∈ Rs such that
r1 f1 + · · · rs fs = 0,
that is, an element of the kernel of φ. The submodule Syz(φ) = ker(φ) ⊂ Rs of all syzygies of φ is
called the syzygy module of φ.
8
Now suppose that G = {f1 , . . . , fs } is a Gröbner basis for the image of φ. Observe that the S-
G
polynomials S(fi , fj ) yields syzygies of φ. Namely, as S(fi , fj ) −
→ 0, we can write
s
L L X
S(fi , fj ) = fi − fj = a` g` (with L = lcm(LM(fi ), LM(fj )))
LT(fi ) LT(fj )
`=1
for some a` ∈ R. This gives the syzygy
L L
a1 , a2 , . . . , ai−1 , ai − , ai+1 , . . . , aj−1 , aj + , aj+1 , . . . , as ∈ Syz(φ).
LT(fi ) LT(fj )
In fact, we have ai = aj = 0 since LT(S(fi , fj )) must be smaller than both LT(fi ) and LT(fj ).
The following theorem states that the syzygies of φ obtained this way generate all of syzygies of φ.
Theorem 32 (Schreyer’s Theorem [2, Theorem 15.10]). Suppose that G = {f1 , . . . , fs } forms a
Gröbner basis for the image of φ, then
L L
ei − ej : 1 ≤ i < j ≤ s (with L = lcm(LM(fi ), LM(fj )))
LT(fi ) LT(fj )
generates the syzygy module Syz(φ). Moreover, this set forms a Gröbner basis of Syz(φ) with respect
to the monomial order on Rs given by
(
LM(Xfi ) < LM(Y fj ) or
Xei < Y ej ⇐⇒
LM(Xfi ) = LM(Y fj ) and i < j.
Remark 33. Note that Schreyer’s theorem directly gives an algorithm to compute a free resolutions
for a given finitely generated R-module M .
ϕi ϕi−1 ϕ2 ϕ1 ϕ0
· · · → R⊕mi −→ R⊕mi−1 −−−→ · · · −→ R⊕m1 −→ R⊕m0 −→ M → 0
Indeed, let ϕ0 : R⊕m0 → M be a surjection such that the ϕ0 (ei ) form a Gröbner basis for M . Then
a generating set for ker(ϕ0 ) is given by Schreyer’s theorem. Applying Buchberger’s algorithm gives
a Gröbner basis for ker(ϕ0 ), which determines ϕ1 : R⊕m1 → R⊕m0 . This process can be continued
inductively, and by Hilbert’s syzygy theorem, this process must terminate.
Remark 34. The algorithm presented in the above remark to construct free resolutions of R-
modules M is good, but not super efficient. For a more efficient approach, look into Schreyer
resolutions.
References
[1] W.W. Adams and P. Loustaunau. An Introduction to Gröbner Bases. American Mathematical
Soc., 1994.
[2] D. Eisenbud. Commutative Algebra: With a View Toward Algebraic Geometry. Graduate Texts
in Mathematics. Springer, 1995.