Вы находитесь на странице: 1из 4

Grobner Bases and Buchbergers Algorithm

October 17, 2007


Recall the following denition for a Grobner basis:
Denition 1 For a xed monomial ordering >, a set
G = {g
1
, . . . , g
t
}
is a Grobner basis of the ideal I if
LT(g
1
), . . . , LT(g
t
) .
Also, as a result of a theorem (the Hilbert basis theorem), every ideal I has a
Grobner basis, and if G is a Grobner basis of I, it is also a basis of I. This fact makes
it very useful, since it basically solves the ideal membership problem, provided we
can actually calculate it.
Lets clarify some notation here: LT(f) will denote the leading term of a polyno-
mial f, LC(f) will denote its leading coecient, and LM(f) will denote its leading
monomial. Then we can write that, for any polynomial f, LT(f) = LC(f) LM(f).
For example, for f = 3x
2
6x + 1, LC(f) = 3, LM(f) = x
2
, and LT(f) = 3x
2
.
In order to construct an algorithm for calculating the Grobner basis, lets rst
look at some possible obstructions.
Note that, if we have a possible Grobner basis
G = {g
1
, . . . , g
t
}
for the ideal I, with g
1
, . . . , g
t
I, it follows from the denition that
LT(g
1
), . . . , LT(g
t
) LT(I)
However, we could have cancellations of the form ax

g
i
bx

g
j
that give us smaller
order terms in the leading term ideal.
For example, if f
1
= x
3
2x and f
2
= x
4
3x, then f
2
xf
1
= 2x
2
3x f
1
, f
2
,
and so 2x
2
LT(f
1
, f
2
), but
LT(f
1
), LT(f
2
) = x
3
, x
4
2x
2
1
Since this is the basic obstruction to constructing a Grobner basis, we will want
some way of keeping track of these cancellations, hence the following object.
Denition 2 Let f, g k[x
1
, . . . , x
n
] be nonzero polynomials.
(i) If deg(f) = and deg(g) = , then let = (
1
, . . . ,
n
), where
i
= max(
i
,
i
)
for each i. We call x

the least common multiple of LM(f) and LM(g), and we


write x

= LCM(LM(f), LM(g)).
(ii) The S-polynomial of f and g is the combination
S(f, g) =
x

LT(f)
f
x

LT(g)
g.
Example 1 Let f = x
3
y
2
x
2
y
3
and g = 3x
4
y +y
2
, and lets use the grlex ordering.
Then deg(f) = (3, 2) and deg(g) = (4, 1), so = (4, 2). Then the S-polynomial is
S(f, g) =
(x, y)

LT(f)
f
(x, y)

LT(g)
g
=
x
4
y
2
x
3
y
2
(x
3
y
2
x
2
y
2
+ x)
x
4
y
2
3x
4
y
(3x
4
y + y
2
)
= x(x
3
y
2
x
2
y
2
+ x)
y
3
(3x
4
y + y
2
)
= x
4
y
2
x
3
y
3
+ x
2
x
4
y
2

y
3
3
= x
3
y
3

y
3
3
+ x
2
Notice that the S-polynomial is basically designed to cancel the leading terms of
f and g, so what we get is another element of the ideal I = f, g with a dierent
leading term. Therefore, if we have a Grobner basis G = {g
1
, . . . , g
t
}, it must also
generate all of the S-polynomials S(g
i
, g
j
). This is in fact one way of checking that
we have a Grobner basis, via the following theorem.
Theorem 1 (Buchbergers Criterion) Let I k[x
1
, . . . , x
n
] be an ideal. Then
G = {g
1
, . . . , g
t
} is a Grobner basis for I if and only if for all i = j, the remainder
on division of S(g
i
, g
j
) by G is zero.
This theorem gives us a fairly simple test for whether or not we have a Grobner
basis. However, it also suggests a way of constructing a Grobner basis from a given
basis.
2
The idea is that, though we may have a basis for I, it may not be a Grobner basis,
since the basis elements may not generate the leading term ideal. We can get around
this by adding in elements that are redundant as generators for the basis (that is, they
are already generated by the basis elements), but that add another element to the
basis of the leading term ideal. These elements will be precisely the S-polynomials.
If we have an ideal with basis I = f
1
, . . . , f
s
, then we know that by construc-
tion S(f
i
, f
j
) I for each i, j, and so LT(S(f
i
, f
j
)) LT(I). By the above the-
orem, if the remainder on division of S(f
i
, f
j
) by G is zero, then LT(S(f
i
, f
j
))
LT(f
1
), . . . , LT(f
s
). However, if the remainder is nonzero, then we have found an
element S(f
i
, f
j
) that lies in I and whose leading term is contained in LT(I) but not
LT(f
1
), . . . , LT(f
s
). If this happens, we need to add S(f
i
, f
j
) to our basis, and then
check if it is now a Grobner basis. Also, note that we could equivalently add just the
remainder to the Grobner basis. Since this will usually result in a simpler basis set,
this is what well generally do. For the sake of notation, let f
G
denote the remainder
on division of f by the (ordered) set G. Then we can write the remainder we want
as S(f
i
, f
j
)
G
.
To summarize this process, lets formalize it as an algorithm:
Theorem 2 (Buchbergers Algorithm) Let I = f
1
, . . . , f
s
= {0} be a polyno-
mial ideal. Then a Grobner basis for I can be constructed in a nite number of steps
by the following algorithm:
INPUT: F = (f
1
, . . . , f
s
)
OUTPUT: Grobner basis G = (g
1
, . . . , g
t
) for I
LET G := F
REPEAT
LET G

:= G
FOR each pair {p, q}, p = q in G

DO
LET S := S(p, q)
G

IF S = 0
THEN G := G {S}
UNTIL G = G

Basically what we are doing here is rst calculating all the S-polynomials (reduced
by G

), and then checking which are non-zero. These are added to the basis, and then
we repeat the process. This ends when we do not add any more S-polynomials to the
basis, which occurs when all of the S-polynomials are zero on division by G. It should
make sense that this gives the Grobner basis we were looking for, since the resulting
basis will satisfy Buchbergers Criterion. However, it is nontrivial to show that this
3
is a nite process, though you can probably convince yourself that this is the case.
Well just accept that as a fact.
Exercises
1. Calculate a Grobner basis of I = x
2
y, x
3
z in R[x, y, z] with respect to
lex order.
2. Calculate a Grobner basis of I = x
3
2xy, x
2
y2y
2
+x in R[x, y] with respect
to grlex order.
4

Вам также может понравиться