Base de Gröbner

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

En mathématiques, une base de Gröbner (ou base standard, ou base de Buchberger) d'un idéal I de l'anneau de polynômes K[X1, … , Xn] est un ensemble de générateurs de cet idéal, vérifiant certaines propriétés supplémentaires. Cette notion a été introduite dans les années 1960, indépendamment par Heisuke Hironaka et Bruno Buchberger, qui lui a donné le nom de son directeur de thèse Wolfgang Gröbner (de).

Les bases de Gröbner ont le grand avantage de ramener l'étude des idéaux polynomiaux à l'étude des idéaux monomiaux (c'est-à-dire formés de monômes), plus faciles à appréhender.

Intérêt[modifier | modifier le code]

Soit K un corps commutatif. Dans le cas des polynômes à une seule variable, l'anneau des polynômes à une variable K[X] est euclidien, et un idéal I de K[X] se représente naturellement par son générateur principal. Plus précisément, l'algorithme d'Euclide permet de déterminer celui-ci à partir d'une famille finie de générateurs, et ainsi de tester l'appartenance d'un polynôme à I, ou encore de calculer un représentant canonique pour un élément de K[X]/I.

L'anneau des polynômes à n variables K[X1, … , Xn], en revanche, est factoriel et nœthérien mais pas principal. Concrètement, on ne peut pas y étendre « naturellement » la division euclidienne des polynômes à une variable. Les bases de Gröbner permettent néanmoins de calculer modulo un idéal de K[X1, … , Xn], et notamment

  • de décider si l'idéal est K[X1, … , Xn] tout entier (c'est-à-dire d'un point de vue géométrique si sa variété dans une clôture algébrique de K est vide, ou encore si un système polynomial donné y admet au moins une solution) ;
  • de décider si un polynôme appartient à l'idéal, ou à son radical — et ainsi, si une fonction polynomiale est nulle sur une variété ;
  • de trouver des représentants canoniques pour les éléments de l'algèbre quotient, et partant, d'effectuer des calculs algébriques modulo l'idéal ;
  • de déterminer la dimension et le degré d'une variété équidimensionnelle (en) (ou plus généralement la dimension et la somme des degrés des composantes équidimensionnelles de dimension maximale d'une variété quelconque).

Plus généralement, les bases de Gröbner permettent de calculer la fonction et le polynôme de Hilbert (en) d'un module gradué (en). Elles fournissent aussi un moyen de déterminer l'intersection de deux idéaux.

Définition[modifier | modifier le code]

Une façon commode de définir les bases de Gröbner est de faire appel au vocabulaire de la réécriture. C'est l'approche que nous allons adopter ; cependant, l'essentiel des définitions devrait être compréhensible sans connaissance de ces notions.

Règle de réduction[modifier | modifier le code]

Le point de départ est un procédé de réduction qui, à l'instar de la division euclidienne dans K[X], remplace un polynôme par un autre « plus petit » mais équivalent modulo l'idéal. On appelle monôme un polynôme produit d'indéterminées, et terme un monôme multiplié par un scalaire, son coefficient. Pour définir cette « division euclidienne généralisée », il est utile de choisir une façon d'ordonner les monômes de l'anneau considéré (ce dont on se convainc facilement en essayant de diviser un polynôme de K[X, Y] par un autre).

Un ordre monomial (en) est un ordre total sur les monômes tel que pour tous monômes u, v, w, on ait

(u\le v\quad\text{et}\quad w\ge1)\Rightarrow uw\le vw.

Un ordre monomial est un bon ordre. On définit naturellement les notions de monôme dominant, de coefficient dominant et de terme dominant — noté ici λ(f) — d'un polynôme f relativement à un ordre monomial.

Par exemple, l'ordre lexicographique est un ordre monomial. D'autres relations d'ordre sont possibles, pourvu qu'elles vérifient certaines propriétés, destinées à ce que les algorithmes de calculs puissent aller à leur terme, sans boucler par exemple. Les relations d'ordre présentent différentes propriétés et donc certains avantages les unes par rapport aux autres, suivant le type de problème posé. Par exemple, l'ordre lexicographique, relativement coûteux en temps de calcul, est assez pratique pour faire des projections de la variété associée à l'idéal.

Fixons un ordre monomial et une partie finie B de K[X1, … , Xn]. Introduisons une règle de réécriture sur K[X1, … , Xn] en posant

g \quad \to \quad g - \frac{t}{\lambda(f)}\;f

si t est le terme de g de plus haut degré divisible par un certain λ(f) avec fB. La clôture réflexive transitive →* de → est appelée réduction modulo B. Autrement dit, pour réduire g, on essaie de lui retrancher un multiple convenable d'un polynôme f de B, de sorte que les termes dominants se simplifient. (On retrouve ici non seulement la division euclidienne pour les polynômes à une variable, mais aussi, dans le cas linéaire, le pivot de Gauss.) Si l'on ne parvient pas à éliminer le terme dominant de g, on l'ajoute au « reste » de la division et on passe au terme de degré immédiatement inférieur.

La réduction → termine (elle est « nœthérienne »), mais elle n'est en général pas confluente, c'est-à-dire que bien que tout polynôme admette une forme réduite modulo B, celle-ci n'a aucune raison d'être unique.

Bases de Gröbner[modifier | modifier le code]

Une base de Gröbner est une partie B pour laquelle la situation est plus favorable.

Soit I un idéal de K[X1, … , Xn]. Une base de Gröbner, ou base standard, de I est une partie génératrice finie G de I vérifiant en outre les propriétés équivalentes suivantes.

  1. La réduction modulo G est confluente (et donc fortement normalisante).
  2. Un polynôme g appartient à I si et seulement s'il se réduit à 0 modulo G.
  3. Pour tous f, g de G, \frac{\lambda(f) \vee \lambda(g)}{\lambda(f)} \, f
- \frac{\lambda(f) \vee \lambda(g)}{\lambda(g)} \, g
\quad \to^* \quad 0
modulo G, le symbole ∨ désignant le ppcm normalisé.
  4. Les monômes dominants des polynômes de G engendrent le même idéal que les monômes dominants des éléments de I (cela implique que G engendre I).

Cette dernière propriété est la définition usuelle des bases de Gröbner. Elle est pertinente pour leur étude théorique, mais les deux premières formulations sont peut-être plus parlantes. L'assertion 3 fournit quant à elle un moyen simple pour tester si une famille de polynômes est une base de Gröbner.

On peut montrer que tout idéal admet une base de Gröbner. Avec cette définition, il n'y a pas unicité ; si G est une base de Gröbner de I et si f appartient à I, alors G∪{f} est encore une base de Gröbner de I. En revanche, tout idéal admet une unique base de Gröbner minimale, c'est-à-dire à laquelle on ne peut enlever de polynôme en maintenant la propriété d'être une base de Gröbner de l'idéal.

Calcul[modifier | modifier le code]

On dispose d'algorithmes pour calculer les bases de Gröbner. Très sommairement, le premier et le plus connu, l'algorithme de Buchberger, procède en ajoutant des polynômes à la base pour éliminer peu à peu les paires critiques qui contredisent l'assertion 3, un peu à la manière de la complétion de Knuth-Bendix. On sait aussi calculer les bases de Gröbner minimales.

Ces algorithmes sont très inefficaces dans le pire des cas, et les cas plus favorables sont mal connus.

Pour un idéal de polynômes à n variables de degré total borné par D, on sait calculer une base de Gröbner en au plus D^{2^{O(n)}} opérations dans le corps de base. Ernst Mayr (de) et Albert R. Meyer ont montré que cette borne supérieure énorme pouvait être atteinte, et donc est optimale : il existe des idéaux dont toute base de Gröbner compte 2^{2^{\Omega(n)}} éléments, eux-mêmes de degré doublement exponentiel en n. Tout n'est pas perdu pour autant. En effet, expérimentalement, cette borne n'est atteinte que sur les exemples construits dans ce but. Pour un système rationnel ayant un nombre fini de solutions complexes, Daniel Lazard (en) a établi que le calcul était faisable en temps DO(n). Sous des hypothèses légèrement différentes, Jean-Charles Faugère (en) donne une borne de O(D4, 3n). Mais de façon générale, la complexité du calcul de bases de Gröbner dans les cas usuels est mal maîtrisée.

Références[modifier | modifier le code]