Gröbner Bases Bernd Sturmfels Mathematics and Computer Science

Slides:



Advertisements
Similar presentations
Mathematics of Cryptography Part II: Algebraic Structures
Advertisements

Cryptography and Network Security
Generalization and Specialization of Kernelization Daniel Lokshtanov.
More about Polynomials
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
ENGG2013 Unit 11 Row-Rank Feb,
2.III. Basis and Dimension 1.Basis 2.Dimension 3.Vector Spaces and Linear Systems 4.Combining Subspaces.
Narapong Srivisal, Swarthmore College Class of 2007 Division Algorithm Fix a monomial order > in k[x 1, …, x n ]. Let F = (f 1, …, f s ) be an ordered.
Introduction to Gröbner Bases for Geometric Modeling Geometric & Solid Modeling 1989 Christoph M. Hoffmann.
Richard Fateman CS 282 Lecture 14b1 Gröbner Basis Reduction Lecture 14b.
Great Theoretical Ideas in Computer Science.
Gröbner Bases Bernd Sturmfels Mathematics and Computer Science University of California at Berkeley.
Center for Machine Perception Department of Cybernetics, Faculty of Electrical Engineering Czech Technical University in Prague Methods for Solving Systems.
BY MISS FARAH ADIBAH ADNAN IMK
Polynomial Factorization Olga Sergeeva Ferien-Akademie 2004, September 19 – October 1.
1 1.1 © 2012 Pearson Education, Inc. Linear Equations in Linear Algebra SYSTEMS OF LINEAR EQUATIONS.
Copyright, Yogesh Malhotra, PhD, 2013www.yogeshmalhotra.com SPECIAL PURPOSE FACTORING ALGORITHMS Special Purpose Factoring Algorithms For special class.
Mathematics Review Exponents Logarithms Series Modular arithmetic Proofs.
Great Theoretical Ideas in Computer Science.
Lesson 8-1 Multiplying Monomials. Mathematics Standards -Number, Number Sense and Operations: Explain the effects of operations such as multiplication.
Section 6.1 Rational Expressions. OBJECTIVES A Find the numbers that make a rational expression undefined.
Prerequisites: Fundamental Concepts of Algebra
The Integers. The Division Algorithms A high-school question: Compute 58/17. We can write 58 as 58 = 3 (17) + 7 This forms illustrates the answer: “3.
Chapter 3 Polynomial and Rational Functions Copyright © 2014, 2010, 2007 Pearson Education, Inc Zeros of Polynomial Functions.
P.1 Real Numbers. 2 What You Should Learn Represent and classify real numbers. Order real numbers and use inequalities. Find the absolute values of real.
Section 2-8 First Applications of Groebner Bases by Pablo Spivakovsky-Gonzalez We started this chapter with 4 problems: 1.Ideal Description Problem: Does.
Data Security and Encryption (CSE348) 1. Lecture # 12 2.
Great Theoretical Ideas in Computer Science.
CS201: Data Structures and Discrete Mathematics I
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
Slide Copyright © 2009 Pearson Education, Inc. Unit 1 Number Theory MM-150 SURVEY OF MATHEMATICS – Jody Harris.
Chapter 3 Polynomial and Rational Functions Copyright © 2014, 2010, 2007 Pearson Education, Inc Zeros of Polynomial Functions.
4: Sets of linear equations 4.1 Introduction In this course we will usually be dealing with n equations in n unknowns If we have just two unknowns x and.
Real Zeros of Polynomial Functions
Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design.
Page : 1 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Lecture-5 Mathematical Background:
The Relation Induced by a Partition
Linear Equations in Linear Algebra
CSE15 Discrete Mathematics 03/06/17
Dr. Ameria Eldosoky Discrete mathematics
3.3 Dividing Polynomials.
CS480 Cryptography and Information Security
Chapter 7 Rational Expressions
Vector Spaces B.A./B.Sc. III: Mathematics (Paper II) 1 Vectors in Rn
Unit-III Algebraic Structures
The Basic Concepts of Set Theory
The Fundamental Theorem of Algebra and Complete Factorization
Copyright © Cengage Learning. All rights reserved.
Subject : Algebra Std - 9th Subject- Algebra Topic- Real Numbers.
TEACHER NAME:SOU.HAJARE S R
MATH301- DISCRETE MATHEMATICS Copyright © Nahid Sultana Dr. Nahid Sultana Chapter 4: Number Theory and Cryptography.
3.3 Dividing Polynomials.
Copyright © 2014, 2010, 2007 Pearson Education, Inc.
Revision on Polynomials
Basis and Dimension Basis Dimension Vector Spaces and Linear Systems
The Basic Concepts of Set Theory
I. Finite Field Algebra.
Rational Root Theorem.
2.III. Basis and Dimension
Linear Equations in Linear Algebra
I.4 Polyhedral Theory.
MA5242 Wavelets Lecture 1 Numbers and Vector Spaces
Mathematical Background for Cryptography
Cryptography Lecture 16.
Cryptography Lecture 19.
Mathematical Background: Extension Finite Fields
CS 2210 Discrete Structures Algorithms and Complexity
Copyright © Cengage Learning. All rights reserved.
Presentation transcript:

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) = min<(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.