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 = {f1,…,fn} Set of output polynomials G = {g1,…,gm} 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: f1 = x4-12x3+49x2-78x+4, f2 = x5-5x4+5x3+5x2-6x have gcd(f1,f2) = x2-3x+2 In Gröbner bases notation Input: F = {x4-12x3+49x2-78x+40, x5-5x4+5x3+5x2-6x} Output: G = {x2-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 panbdcqd in the variables p,n,d,q. E.g., 2 pennies and 4 dimes is p2d4 Input set F = {p5-n, p10-d, p25-q} Represents the basic relationships among coins Output set G = {p5-n, n2-d, d2n-q, d3-nq} Expresses a more useful set of replacement rules. E.g., the expression d3-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): p17n10d5 p12n11d5 . . . p2n13d5 p2ndq4 . . . p2n13dq2 p2n12d3q
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[x1,…,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> = { p1f1+ ··· + 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[x1,…,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[x1], 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> <{2x+3y+4z-5, 3x+4y+5z-2}> = <{x-z+14, y+z-11}> <{x4-12x3+49x2-78x+40, x5-5x4+5x3+5x2-6x}> = <{x2-3x+2}> <{p5-n, p10-d, p25-q}> = <{p5-n, n2-d, d2n-q, d3-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: d3-nq = n(p25-q) - (p20+p10d+d2)(p10-d) + p25(p5-n)
Term Orders A term order is a total order < on the set of all monomials xa = x1a1x2a2 ··· xnan such that: it is multiplicative: xa < xb xa+c < xb+c 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 < x2 < x3 < ··· For n = 2, we have degree lexicographic order 1 < x1 < x2 < x12 < x1x2 < x22 < x13 < x12x2 < ··· purely lexicographic order 1 < x1 < x12 < x13 < ··· < x2 < x1x2 < x12x2 < ···
Initial Ideal Every polynomial f K[x1,…,xn] has an initial monomial, denoted by in<(f). For every ideal I of K[x1,…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[x1,…,xn] and a term order <, there is a unique reduced Gröbner basis for I
V(F) = {(z1,…,zn) Cn | f(z1,…,zn) = 0, f F} Algebraic Geometry If F is a set of polynomials, the variety of F over the complex numbers C equals V(F) = {(z1,…,zn) Cn | f(z1,…,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 = {x2+xy-10, x3+xy2-25, x4+xy3-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[x1,…,xn] an ideal, < a term order. A monomial xa = x1a1x2a2 ··· xnan is standard if it is not in the initial ideal in<(I). Example: If n = 3 and in<(I) = <x13,x24,x35>, the number of standard monomials is 60. If in<(I) = <x13,x24, x1x34>, 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 = {x2z-y, x2+xy-yz, xz2+xz-x}. Then, using purely lex order x > y > z, we get G = { x2-yz-y, xy+y, xz2+xz-x, yz2+yz-y, y2-yz }. Every power of z is standard, so #V(F) is infinite. Replacing x2z-y with x2z-1 in F, we get G = { x-2yz+2y+z, y2+yz+y-z-3/2, z2+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 {x1,…,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[x1,…,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[x1,…,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) = min<(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[x1,…,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 = {f1,…,fd}. Each nonzero p = normalf(m’f-mf’) gives a strict inclusion: <in<(f1),…,in<(fd)> <in<(f1),…,in<(fd), in<(p)> . Hence the loop terminates.
Simple Example Example: n = 1, F = {x2+3x-4,x3-5x+4} form the S-poly (Step 1): x(x2+3x-4) - 1(x3-5x+4) = 3x2+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.