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,…,f n } Set of output polynomials G = {g 1,…,g m } Information about F easier to understand through inspection of G Buchberger’s Algorithm
Gaussian Elimination Example: 2x+3y+4z = 5 & 3x+4y+5z = 2 x = z-14 & y = 11-2z In Gröbner bases notation Input: F = {2x+3y+4z-5, 3x+4y+5z-2} Output: G = {x-z+14, y+2z-11}
Euclidean Algorithm Computes the greatest common divisor of two polynomials in one variable. Example: f 1 = x 4 -12x 3 +49x 2 -78x+4, f 2 = x 5 -5x 4 +5x 3 +5x 2 -6x have gcd(f 1,f 2 ) = x 2 -3x+2 In Gröbner bases notation Input: F = {x 4 -12x 3 +49x 2 -78x+40, x 5 -5x 4 +5x 3 +5x 2 -6x} Output: G = {x 2 -3x+2}
Integer Programming: Minimize the linear function P+N+D+Q Subject to P,N,D,Q > 0 integer and P+5N+10D+25Q = 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 p a n b d c q d 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,…,x n ]. 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 = { p 1 f 1 + ··· + p r f r | f i F, p i 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,…,x n ] is finitely generated. This means that any ideal I has the form 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, = – = 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 and are equal? –need to show that each element of F is in and each element of G is in 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 x a = x 1 a 1 x 2 a 2 ··· x n a n such that: (1)it is multiplicative: x a < x b x a+c < x b+c (2)the constant monomial is smallest, i.e. 1 < x a for all a in N n \{0}
Example term orders In one variable, there is only one term order: 1 < x < x 2 < x 3 < ··· For n = 2, we have –degree lexicographic order 1 < x 1 < x 2 < x 1 2 < x 1 x 2 < x 2 2 < x 1 3 < x 1 2 x 2 < ··· –purely lexicographic order 1 < x 1 < x 1 2 < x 1 3 < ··· < x 2 < x 1 x 2 < x 1 2 x 2 < ···
Initial Ideal Every polynomial f K[x 1,…,x n ] has an initial monomial, denoted by in < (f). For every ideal I of K[x 1,…x n ] the initial ideal of I is generated by all initial monomials of polynomials in I: in
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,…,x n ] 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,…,z n ) C n | f(z 1,…,z n ) = 0, f F} Note: The variety depends only on the ideal of F. I.e. V(F) = V( ). 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,…,x n ] an ideal, < a term order. A monomial x a = x 1 a 1 x 2 a 2 ··· x n a n is standard if it is not in the initial ideal in < (I). Example: If n = 3 and in, the number of standard monomials is 60. If in, 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-2yz+2y+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,…,x n } 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,…,x n ]/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,…,x n ].
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,…,x n ] Output: The reduced Gröbner basis G for. 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,…,f d }. Each nonzero p = normalf(m’f-mf’) gives a strict inclusion: . Hence the loop terminates.
Simple Example Example: n = 1, F = {x 2 +3x-4,x 3 -5x+4} –form the S-poly (Step 1): x(x 2 +3x-4) - 1(x 3 -5x+4) = 3x 2 +x-4 It has nonzero normal form p = -8x+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, Macaulay2, Magma, CoCoA, or SINGULAR.