Gröbner Bases

29
Gröbner Bases Bernd Sturmfels Mathematics and Computer Science University of California at Berkeley

description

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) - PowerPoint PPT Presentation

Transcript of Gröbner Bases

Page 1: Gröbner Bases

Gröbner Bases

Bernd SturmfelsMathematics and Computer

ScienceUniversity of California at

Berkeley

Page 2: Gröbner Bases

Gröbner Bases• Method for computing with

multivariate polynomials• Generalizes well-known algorithms:

– Gaussian Elimination– Euclidean Algorithm (for computing

gcd)– Simplex Algorithm (linear

programming)

Page 3: Gröbner Bases

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

Page 4: Gröbner Bases

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}

Page 5: Gröbner Bases

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}

Page 6: Gröbner Bases

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)

Page 7: Gröbner Bases

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

Page 8: Gröbner Bases

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

Page 9: Gröbner Bases

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 ….

Page 10: Gröbner Bases

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.

Page 11: Gröbner Bases

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.

Page 12: Gröbner Bases

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.

Page 13: Gröbner Bases

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)

Page 14: Gröbner Bases

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}

Page 15: Gröbner Bases

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 < ···

Page 16: Gröbner Bases

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 >

Page 17: Gröbner Bases

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 .

Page 18: Gröbner Bases

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

Page 19: Gröbner Bases

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)

Page 20: Gröbner Bases

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)}.

Page 21: Gröbner Bases

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.

Page 22: Gröbner Bases

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.

Page 23: Gröbner Bases

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

Page 24: Gröbner Bases

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].

Page 25: Gröbner Bases

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.

Page 26: Gröbner Bases

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.

Page 27: Gröbner Bases

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.

Page 28: Gröbner Bases

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).

Page 29: Gröbner Bases

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.