Grbner Bases Bernd Sturmfels Mathematics and Computer Science

Gröbner Bases Bernd Sturmfels Mathematics and Computer Science University of California at Berkeley

Gröbner Bases • Method for computing with multivariate polynomials • Generalizes well-known algorithms: – Gaussian Elimination – Euclidean Algorithm (for computing gcd) – Simplex Algorithm (linear programming)

General Setup • Set of input polynomials F = {f 1, …, fn} Buchberger’s Algorithm • Set of output polynomials G = {g 1, …, gm} Information about F easier to understand through inspection of G

Gaussian Elimination • Example: 2 x+3 y+4 z = 5 & 3 x+4 y+5 z = 2 x = z-14 & y = 11 -2 z In Gröbner bases notation Input: Output: F = {2 x+3 y+4 z-5, 3 x+4 y+5 z-2} G = {x-z+14, y+2 z-11}

Euclidean Algorithm • Computes the greatest common divisor of two polynomials in one variable. • Example: f 1 = x 4 -12 x 3+49 x 2 -78 x+4, • f 2 = x 5 -5 x 4+5 x 3+5 x 2 -6 x have gcd(f 1, f 2) = x 2 -3 x+2 In Gröbner bases notation Input: F = {x 4 -12 x 3+49 x 2 -78 x+40, x 5 -5 x 4+5 x 3+5 x 2 -6 x} Output: G = {x 2 -3 x+2}

Integer Programming: Minimize the linear function P+N+D+Q Subject to P, N, D, Q > 0 integer and P+5 N+10 D+25 Q = 117 This problem has the unique solution (P, N, D, Q) = (2, 1, 1, 4)

Integer Programming and Gröbner Bases • Represent a collection C of coins by a monomial panbdcqd in the variables p, n, d, q. – E. g. , 2 pennies and 4 dimes is p 2 d 4 • Input set F = {p 5 -n, p 10 -d, p 25 -q} – Represents the basic relationships among coins • Output set G = {p 5 -n, n 2 -d, d 2 n-q, d 3 -nq} – Expresses a more useful set of replacement rules. E. g. , the expression d 3 -nq translates to: replace 3 dimes with a nickel and a quarter

Integer Programming (cont’d) • Given a collection C of coins, we use rules encoded by G to transform (in any order) C into a set of coins C’ with equal monetary value but smaller number of elements • Example (solving previous integer program): . . . p 17 n 10 d 5 p 12 n 11 d 5 p 2 n 13 d 5 p 2 ndq 4 . . . p 2 n 13 dq 2 p 2 n 12 d 3 q

Integer Programming (cont’d) • Gröbner Bases give a method of transforming a feasible solution using local moves into a global optimum. • This transformation is analogous to running the Simplex Algorithm • Now, the general theory ….

Polynomial Ideals • Let F be a set of polynomials in K[x 1, …, xn]. • Here K is a field, e. g. the rationals Q, the real numbers R, or the complex numbers C. • The ideal generated by F is <F> = { p 1 f 1+ ··· + prfr | fi F, pi K[x] } These are all the polynomial linear combinations of elements in F.

Hilbert Basis Theorem • Theorem: Every ideal in the polynomial ring K[x 1, …, xn] is finitely generated. • This means that any ideal I has the form <F> for a finite set of polynomials F. – Note: for the 1 -variable ring K[x 1], every ideal I is principal; that is, I is generated by 1 polynomial. This is the Euclidean Algorithm.

Examples of Ideals • For each example we have seen, <F> = <G> – <{2 x+3 y+4 z-5, 3 x+4 y+5 z-2}> = <{x-z+14, y+z-11}> – <{x 4 -12 x 3+49 x 2 -78 x+40, x 5 -5 x 4+5 x 3+5 x 2 -6 x}> = <{x 2 -3 x+2}> – <{p 5 -n, p 10 -d, p 25 -q}> = <{p 5 -n, n 2 -d, d 2 n-q, d 3 -nq}> In each example, the polynomial consequences for each set (i. e. the ideal generated by them) are the same, but the elements of G reveal more structure than those of F.

Ideal Equality • How to check that two ideals <F> and <G> are equal? – need to show that each element of F is in <G> and each element of G is in <F> • Coin example: d 3 -nq = n(p 25 -q) - (p 20+p 10 d+d 2)(p 10 -d) + p 25(p 5 -n)

Term Orders • A term order is a total order < on the set of all monomials xa = x 1 a 1 x 2 a 2 ··· xnan such that: (1) it is multiplicative: xa < xb xa+c < xb+c (2) the constant monomial is smallest, i. e. 1 < xa for all a in Nn{0}

Example term orders • In one variable, there is only one term order: 1 < x 2 < x 3 < ··· • For n = 2, we have – degree lexicographic order 1 < x 2 < x 1 x 2 < x 22 < x 13 < x 12 x 2 < ··· – purely lexicographic order 1 < x 12 < x 13 < ··· < x 2 < x 12 x 2 < ···
![Initial Ideal • Every polynomial f K[x 1, …, xn] has an initial monomial, Initial Ideal • Every polynomial f K[x 1, …, xn] has an initial monomial,](http://slidetodoc.com/presentation_image_h2/a1e6f6ced78ac30794775177382beea6/image-16.jpg)
Initial Ideal • Every polynomial f K[x 1, …, xn] has an initial monomial, denoted by in<(f). • For every ideal I of K[x 1, …xn] the initial ideal of I is generated by all initial monomials of polynomials in I: in<(I) = < in<(f) | f is in I >

Defining Gröbner Bases • A finite subset G of an ideal I is a Gröbner basis (with respect to the term order <) if { in<(g) | g is in G } generates in<(I) Note: there are many such generating sets. For instance, we can add any element of I to G to get another Gröbner basis.

Reduced Gröbner Bases • A reduced Gröbner basis satisfies: (1) For each g in G, the coeff of in<(g) is 1 (2) The set { in<(g) | g is in G } minimally generates in<(I) (nothing can be removed) (3) No trailing term of any g in G lies in the initial ideal in<(I) • Theorem: Fixing an ideal I in K[x 1, …, xn] and a term order <, there is a unique reduced Gröbner basis for I

Algebraic Geometry • If F is a set of polynomials, the variety of F over the complex numbers C equals V(F) = {(z 1, …, zn) Cn | f(z 1, …, zn) = 0, f F} Note: The variety depends only on the ideal of F. I. e. V(F) = V(<F>). If G is a Gröbner Basis for F, then V(G) = V(F)

Hilbert’s Nullstellensatz • Theorem (David Hilbert, 1890): V(F) is empty if and only if G = {1}. – Easy direction: if G = {1}, then V(F) = V(G) = { } • Ex: F = {x 2+xy-10, x 3+xy 2 -25, x 4+xy 3 -70}. Here, G = {1}, so there are no common solutions. Replacing 25 above by 26, we have G = {x-2, y-3} and V(F) = V(G) = {(2, 3)}.
![Standard Monomials • I Q[x 1, …, xn] an ideal, < a term order. Standard Monomials • I Q[x 1, …, xn] an ideal, < a term order.](http://slidetodoc.com/presentation_image_h2/a1e6f6ced78ac30794775177382beea6/image-21.jpg)
Standard Monomials • I Q[x 1, …, xn] an ideal, < a term order. A monomial xa = x 1 a 1 x 2 a 2 ··· xnan is standard if it is not in the initial ideal in<(I). • Example: If n = 3 and in<(I) = <x 13, x 24, x 35>, the number of standard monomials is 60. If in<(I) = <x 13, x 24, x 1 x 34>, then the number of standard monomials is infinite.

Fundamental Theorem of Algebra • Theorem: The number of standard monomials equals #V(I), where the zeroes are counted with multiplicity. • Example: F = {x 2 z-y, x 2+xy-yz, xz 2+xz-x}. Then, using purely lex order x > y > z, we get G = { x 2 -yz-y, xy+y, xz 2+xz-x, yz 2+yz-y, y 2 -yz }. Every power of z is standard, so #V(F) is infinite. • Replacing x 2 z-y with x 2 z-1 in F, we get G = { x-2 yz+2 y+z, y 2+yz+y-z-3/2, z 2+z-1 } so that #V(F) = 4.

Dimension of a Variety • Calculating the dimension of a variety – Think of dimension intuitively: points have dimension 0, curves have dimension 1, …. • Let S {x 1, …, xn} have maximal cardinality with the property that no monomial in the variables in S appears in in<(I). • Theorem: dim V(I) = #S

The Residue Ring • Theorem: The set of standard monomials is a Q-basis for the residue ring Q[x 1, …, xn]/I. I. e. , modulo the ideal I, every polynomial f can be written uniquely as a Q-linear combination of standard monomials. • Given f, there is an algorithm (the division algorithm) that produces this representation (called the normal form of f) in Q[x 1, …, xn].

Testing for Gröbner Bases • Question: How to test whether a set G of polynomials is a Gröbner basis? • Take g, g’ in G and form the S-polynomial m’g - mg’ where m, m’ are monomials of lowest degree s. t. m’ in<(g) = m in<(g’). • Theorem (Buchberger’s Criterion): G is a Gröbner basis if and only if every S-polynomial formed by pairs g, g’ from G has normal form zero w. r. t. G.
![Buchberger’s Algorithm • Input: Finite list F of polynomials in Q[x 1, …, xn] Buchberger’s Algorithm • Input: Finite list F of polynomials in Q[x 1, …, xn]](http://slidetodoc.com/presentation_image_h2/a1e6f6ced78ac30794775177382beea6/image-26.jpg)
Buchberger’s Algorithm • Input: Finite list F of polynomials in Q[x 1, …, xn] • Output: The reduced Gröbner basis G for <F>. • Step 1: Apply Buchberger’s Criterion to check whether F is a Gröbner basis. • Step 2: If “yes, ” then F is a GB. Go to Step 4. • Step 3: If “no, ” we found p = normalf(m’g-mg’) to be nonzero. Set F = F {p} and go to Step 1. • Step 4: Replace F by the reduced Gröbner basis G (apply “autoreduction’’) and output G.

Termination of Algorithm • Question: Why does this loop always terminate? Step 1 Step 3 • Answer: Hilbert’s Basis Theorem implies that there is no infinite ascending chain of ideals. Let F = {f 1, …, fd}. Each nonzero p = normalf(m’f-mf’) gives a strict inclusion: <in<(f 1), …, in<(fd)> <in<(f 1), …, in<(fd), in<(p)>. Hence the loop terminates.

Simple Example • Example: n = 1, F = {x 2+3 x-4, x 3 -5 x+4} – form the S-poly (Step 1): x(x 2+3 x-4) - 1(x 3 -5 x+4) = 3 x 2+x-4 It has nonzero normal form p = -8 x+8. – Therefore, F is not a Gröbner basis. We enlarge F by adding p (Step 3). – The new set F {p} is a Gröbner basis. – The reduced GB is G = {x-1} (Step 4).

Summary • Gröbner bases and the Buchberger algorithm are fundamental in algebra • Applications include optimization, coding, robotics, statistics, bioinformatics etc… • Advanced algebraic geometry algorithms: elimination theory, computing cohomology, resolution of singularities etc… • Try it today, using Maple, Mathematica, Macaulay 2, Magma, Co. A, or SINGULAR.
- Slides: 29