310 likes | 349 Views
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)
E N D
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 smallernumber of elements • Example (solving previous integer program): p17n10d5p12n11d5 . . . 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 Gto 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··· xnanis 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 ringQ[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-polynomialm’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öbnerbasisGfor <F>. • Step 1: Apply Buchberger’s Criterionto check whether F is a Gröbnerbasis. • 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 basisG (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öbnerbasis. 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.