Buchberger Algorithm
   HOME

TheInfoList



OR:

In the theory of
multivariate polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
s, Buchberger's algorithm is a method for transforming a given set of polynomials into a
Gröbner basis In mathematics, and more specifically in computer algebra, computational algebraic geometry, and computational commutative algebra, a Gröbner basis is a particular kind of generating set of an ideal in a polynomial ring over a field . A Gröbn ...
, which is another set of polynomials that have the same common zeros and are more convenient for extracting information on these common zeros. It was introduced by
Bruno Buchberger Bruno Buchberger (born 22 October 1942) is Professor of Computer Mathematics at Johannes Kepler University Linz, Johannes Kepler University in Linz, Austria. In his 1965 Ph.D. thesis, he created the theory of Gröbner basis, Gröbner bases, and ha ...
simultaneously with the definition of Gröbner bases.
Euclidean algorithm In mathematics, the Euclidean algorithm,Some widely used textbooks, such as I. N. Herstein's ''Topics in Algebra'' and Serge Lang's ''Algebra'', use the term "Euclidean algorithm" to refer to Euclidean division or Euclid's algorithm, is an effi ...
for polynomial
greatest common divisor In mathematics, the greatest common divisor (GCD) of two or more integers, which are not all zero, is the largest positive integer that divides each of the integers. For two integers ''x'', ''y'', the greatest common divisor of ''x'' and ''y'' is ...
computation and
Gaussian elimination In mathematics, Gaussian elimination, also known as row reduction, is an algorithm for solving systems of linear equations. It consists of a sequence of operations performed on the corresponding matrix of coefficients. This method can also be used ...
of
linear system In systems theory, a linear system is a mathematical model of a system based on the use of a linear operator. Linear systems typically exhibit features and properties that are much simpler than the nonlinear case. As a mathematical abstraction o ...
s are special cases of Buchberger's algorithm when the number of variables or the degrees of the polynomials are respectively equal to one. For other Gröbner basis algorithms, see .


Algorithm

A crude version of this algorithm to find a basis for an ideal of a polynomial ring ''R'' proceeds as follows: :Input A set of polynomials ''F'' that generates :Output A
Gröbner basis In mathematics, and more specifically in computer algebra, computational algebraic geometry, and computational commutative algebra, a Gröbner basis is a particular kind of generating set of an ideal in a polynomial ring over a field . A Gröbn ...
''G'' for :# ''G'' := ''F'' :# For every ''fi'', ''fj'' in ''G'', denote by ''gi'' the leading term of ''fi'' with respect to the given
monomial ordering In mathematics, a monomial order (sometimes called a term order or an admissible order) is a total order on the set of all ( monic) monomials in a given polynomial ring, satisfying the property of respecting multiplication, i.e., * If u \leq v and ...
, and by ''aij'' the
least common multiple In arithmetic and number theory, the least common multiple, lowest common multiple, or smallest common multiple of two integers ''a'' and ''b'', usually denoted by lcm(''a'', ''b''), is the smallest positive integer that is divisible by bot ...
of ''gi'' and ''gj''. :# Choose two polynomials in ''G'' and let ''(Note that the leading terms here will cancel by construction)''. :# Reduce ''S''''ij'', with the
multivariate division algorithm Multivariate may refer to: In mathematics * Multivariable calculus * Multivariate function * Multivariate polynomial In computing * Multivariate cryptography * Multivariate division algorithm * Multivariate interpolation * Multivariate optical c ...
relative to the set ''G'' until the result is not further reducible. If the result is non-zero, add it to ''G''. :# Repeat steps 2-4 until all possible pairs are considered, including those involving the new polynomials added in step 4. :# Output ''G'' The polynomial ''S''''ij'' is commonly referred to as the ''S''-polynomial, where ''S'' refers to ''subtraction'' (Buchberger) or '' syzygy'' (others). The pair of polynomials with which it is associated is commonly referred to as critical pair. There are numerous ways to improve this algorithm beyond what has been stated above. For example, one could reduce all the new elements of ''F'' relative to each other before adding them. If the leading terms of ''fi'' and ''fj'' share no variables in common, then ''Sij'' will ''always'' reduce to 0 (if we use only and for reduction), so we needn't calculate it at all. The algorithm terminates because it is consistently increasing the size of the monomial ideal generated by the leading terms of our set ''F'', and
Dickson's lemma In mathematics, Dickson's lemma states that every set of n-tuples of natural numbers has finitely many minimal elements. This simple fact from combinatorics has become attributed to the American algebraist L. E. Dickson, who used it to prove a res ...
(or the Hilbert basis theorem) guarantees that any such ascending chain must eventually become constant.


Complexity

The
computational complexity In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) ...
of Buchberger's algorithm is very difficult to estimate, because of the number of choices that may dramatically change the computation time. Nevertheless, T. W. Dubé has proved that the degrees of the elements of a reduced Gröbner basis are always bounded by :2\left(\frac +d\right)^, where is the number of variables, and the maximal
total degree In mathematics, the degree of a polynomial is the highest of the degrees of the polynomial's monomials (individual terms) with non-zero coefficients. The degree of a term is the sum of the exponents of the variables that appear in it, and thus i ...
of the input polynomials. This allows, in theory, to use
linear algebra Linear algebra is the branch of mathematics concerning linear equations such as: :a_1x_1+\cdots +a_nx_n=b, linear maps such as: :(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n, and their representations in vector spaces and through matrices. ...
over the
vector space In mathematics and physics, a vector space (also called a linear space) is a set whose elements, often called ''vectors'', may be added together and multiplied ("scaled") by numbers called '' scalars''. Scalars are often real numbers, but can ...
of the polynomials of degree bounded by this value, for getting an algorithm of complexity d^. On the other hand, there are examples where the Gröbner basis contains elements of degree :d^, and the above upper bound of complexity is optimal. Nevertheless, such examples are extremely rare. Since its discovery, many variants of Buchberger's have been introduced to improve its efficiency.
Faugère's F4 and F5 algorithms In computer algebra, the Faugère F4 algorithm, by Jean-Charles Faugère, computes the Gröbner basis of an ideal of a multivariate polynomial ring. The algorithm uses the same mathematical principles as the Buchberger algorithm, but computes many ...
are presently the most efficient algorithms for computing Gröbner bases, and allow to compute routinely Gröbner bases consisting of several hundreds of polynomials, having each several hundreds of terms and coefficients of several hundreds of digits.


See also

*
Knuth–Bendix completion algorithm The Knuth–Bendix completion algorithm (named after Donald Knuth and Peter Bendix) is a semi-decision algorithm for transforming a set of equations (over terms) into a confluent term rewriting system. When the algorithm succeeds, it effectively ...
*
Quine–McCluskey algorithm The Quine–McCluskey algorithm (QMC), also known as the method of prime implicants, is a method used for minimization of Boolean functions that was developed by Willard V. Quine in 1952 and extended by Edward J. McCluskey in 1956. As a genera ...
– analogous algorithm for Boolean algebra


References


Further reading

* * David Cox, John Little, and Donald O'Shea (1997). ''Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra'', Springer. . * Vladimir P. Gerdt, Yuri A. Blinkov (1998). ''Involutive Bases of Polynomial Ideals'', Mathematics and Computers in Simulation, 45:519ff


External links

*
Buchberger's algorithm
on Scholarpedia * {{MathWorld , urlname=BuchbergersAlgorithm , title=Buchberger's Algorithm Computer algebra Rewriting systems Algebraic geometry Commutative algebra