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} Buchberger’s Algorithm • Set of output polynomials G = {g1,…,gm} Information about F easier to understand through inspection of G Gaussian Elimination • Example: 2x+3y+4z = 5 & 3x+4y+5z = 2 x = z-14 & y = 11-2z In Gröbner bases notation Input: Output: F = {2x+3y+4z-5, 3x+4y+5z-2} 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: (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 < 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 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.