En la teoría de polinomios multivariados , el algoritmo de Buchberger es un método para transformar un conjunto dado de polinomios en una base de Gröbner , que es otro conjunto de polinomios que tienen los mismos ceros comunes y son más convenientes para extraer información sobre estos ceros comunes. Fue introducido por Bruno Buchberger simultáneamente con la definición de bases de Gröbner.
El algoritmo euclidiano para el cálculo del máximo común divisor de polinomios y la eliminación gaussiana de sistemas lineales son casos especiales del algoritmo de Buchberger cuando el número de variables o los grados de los polinomios son respectivamente iguales a uno.
Para otros algoritmos de base de Gröbner, consulte Base de Gröbner § Algoritmos e implementaciones .
Una versión básica de este algoritmo para encontrar una base para un ideal I de un anillo polinomial R procede de la siguiente manera:
El polinomio S ij se conoce comúnmente como polinomio S , donde S se refiere a la resta (Buchberger) o a la sicigia (otros). El par de polinomios con el que está asociado se conoce comúnmente como par crítico .
Existen numerosas formas de mejorar este algoritmo más allá de lo que se ha indicado anteriormente. Por ejemplo, se podrían reducir todos los nuevos elementos de F entre sí antes de añadirlos. Si los términos principales de fi y f no comparten variables en común, entonces S ij siempre se reducirá a 0 (si utilizamos solo fi y f para la reducción), por lo que no es necesario calcularlo en absoluto.
El algoritmo termina porque aumenta constantemente el tamaño del ideal monomial generado por los términos principales de nuestro conjunto F , y el lema de Dickson (o el teorema de la base de Hilbert ) garantiza que cualquier cadena ascendente de este tipo debe eventualmente volverse constante.
La complejidad computacional del algoritmo de Buchberger es muy difícil de estimar, debido a la cantidad de opciones que pueden cambiar drásticamente el tiempo de cálculo. Sin embargo, TW Dubé ha demostrado [1] que los grados de los elementos de una base de Gröbner reducida siempre están acotados por
donde n es el número de variables y d el grado total máximo de los polinomios de entrada. Esto permite, en teoría, utilizar álgebra lineal sobre el espacio vectorial de los polinomios de grado acotado por este valor, para obtener un algoritmo de complejidad .
Por otra parte, hay ejemplos [2] donde la base de Gröbner contiene elementos de grado
y el límite superior de complejidad anterior es óptimo. Sin embargo, estos ejemplos son extremadamente raros.
Desde su descubrimiento, se han introducido muchas variantes del algoritmo de Buchberger para mejorar su eficiencia. Los algoritmos F4 y F5 de Faugère son actualmente los algoritmos más eficientes para calcular bases de Gröbner y permiten calcular de forma rutinaria bases de Gröbner que constan de varios cientos de polinomios, cada uno de ellos con varios cientos de términos y coeficientes de varios cientos de dígitos.