View
224
Download
3
Embed Size (px)
Citation preview
Gröbner Bases
Bernd SturmfelsMathematics and Computer
ScienceUniversity 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 notationInput: 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+QSubject to P,N,D,Q > 0 integer and
P+5N+10D+25Q = 117This 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 = x1
a1x2a2 ··· xn
an 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 order1 < x1 < x2 < x1
2 < x1x2 < x22 < x1
3 < x12x2
< ···
– purely lexicographic order1 < x1 < x1
2 < 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 = x1
a1x2a2 ··· xn
an is standard if it is not in the initial ideal in<(I).
• Example: If n = 3 and in<(I) = <x13,x2
4,x35>,
the number of standard monomials is 60. If in<(I) = <x1
3,x24, x1x3
4>, 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.