• Aucun résultat trouvé

Des systèmes zéro-dimensionnels à l’algèbre linéaire

A la différence des systèmes généraux, beaucoup de problèmes liés à la résolution des systèmes zéro-dimensionnels se traduisent naturellement en problèmes d’algèbre linéaire classiques. Les deux résultats qui suivent établissent l’essentiel du parallèle :

Théorème 3.2. (Voir [ 13]) C[X1,, Xn]

I est un C-espace vectoriel de dimension finie, produit fini des localisés de C[X1,, Xn]

I en les points de V (I) : C[X1,, Xn]

I =Q α∈V (I) C[X1,, Xn] I  α. Les anneaux locaux C[X1,, Xn]

I 

αsont eux mêmes des C-espaces vectoriels de dimension finie, leur dimension µ(α) définit la multiplicité de α, la dimension de C[X1,, Xn]

I est donc le nombre de zéros de I comptés avec multiplicités.

Une relation simple entre l’algèbre quotient C[X1,, Xn]

I et les valeurs des coordonnées des solutions est donnée par :

Théorème 3.3. (Voir [ 13]) Soit h ∈ C[X1, , Xn], on définit :

mh: C[X1,, Xn]

I 

C[X1,, Xn] I

 h u , l’endomorphisme de multiplication par h dans C[X1,, Xn]

I .

Les valeurs propres de mh sont exactement les h(α) avec multiplicité µ(α).

Connaître une base de C[X1,, Xn]

I et savoir calculer les matrices des endomorphismes mXi dans cette base, permet donc, en théorie, de calculer toutes les valeurs possibles de toutes les coordonnées des points de V (I).

Si l’on suppose que I ⊂ Q[X1,, Xn], il existe plusieurs façons de calculer de façon exacte ces objets (notons au passage que C[X1,, Xn]

I = C⊗ Q[X1,, Xn]

I et que l’on peut alors supposer les mXi à coefficients rationnels). La plus connue est une application directe des bases de

Gröbner (voir [34] ou [16] pour une introduction), mais on peut citer également les résultat de

[136] qui fournissent exactement la même information. Sans rentrer plus dans les détails, nous supposerons que ce qui suit représente le prérequis pour les résultats présentés dans ce chapitre :

Notation 3.4. Pour tout idéalI ⊂ Q[X1,, Xn]

on sait tester si I est zéro-dimensionnel ( #V (I) < ∞)

on sait calculer une base de monômes B = {w1,, wD} de Q[X1,, Xn]

I telle que w1= 1 et , ∀j = 1D,∃k wj= Xkwi

on sait calculer les matrices (à coefficients rationnels) des applications mXidans B.

Supposant connue une base de C[X1,, Xn]

I ainsi que les matrices mXidans cette base, il est alors possible de calculer toutes les valeurs de toutes les coordonnées des points de V (I), simplement en calculant les valeurs propres des mXi. Dans le cas réel, ceci peut par exemple se faire de façon certifiée, en isolant les racines des polynômes caractéristiques des mXipar l’algorithme du chapitre 2 ou encore par des techniques numériques [8],[97], la difficulté principale étant de savoir les combiner pour obtenir les points recherchés ...

Si on est chanceux, une base de Q[X1,, Xn]

I sera par exemple constituée exclusivement de puissances de X1. En principe, le système se réécrit alors sous la forme f1(X1) = 0, X2 − f2(X1) = 0,, Xn− fn(X1) = 0, ou f1(X1) est le polynôme minimal de mX1. En dehors de toute considération pratique, ceci peut permettre de conclure en calculant les valeurs propres de mX1 puis en les reportant dans les expressions Xi− fi(X1).

Définition 3.5. Lorsque Q[X1,, Xn]

I est engendré par des puissances pures de Xi, on dit que l’idéal I est shape position pour Xi.

Tous les idéaux ne sont bien sur pas shape position [15] pour une variable, un contre exemple étant donné par le système {(X1− 1) (X1− 2), (X2− 1) (X2− 2)}. Sur cet exemple, on ne peut d’ailleurs pas échanger les rôles des variables X1et X2dans l’espoir de se ramener à un cas favo-rable. Ce problème est partiellement contourné ([21],[80],[107],[55],[61],[54],[4],[56], etc.) par l’introduction de changements de variables et le calcul de ce que nous nommerons par la suite un élément séparant V (I).

Définition 3.6. Soit h∈ Q[X1,, Xn]. On dit que h sépare V (I) si xh(x) est injective sur V(I).

Si l’algèbre Q[X1,, Xn]

I est cyclique, on peut, par définition, toujours trouver un polynôme h tel que Q[X1,, Xn]

I soit engendré par des puissances de h¯, ce qui est équivalent, dans ce cas, à trouver un élément h séparant V (I). Le système se réécrit alors sous la forme f(T ), X1 = f1(T ),, Xn= fn(T ), généralisant la stratégie exposée ci-dessus. Mais encore une fois, ceci n’est pas le cas général, puisque, par exemple, le système {X12, X1X2, X22} ne pourra jamais se réécrire sous cette forme FR-[114].

Afin d’éviter de nombreuses paraphrases par la suite, on identifie une sous-classe de ces sys-tèmes particuliers :

Définition 3.7. Lorsque Q[X1,, Xn]

I est engendré par des puissances pures d’une combinaison linéaire des variables X1,, Xn, on dira que l’idéal I est shape position.

Autant trouver une base de Q[X1,, Xn]

I constituée exclusivement de puissances d’un de ses éléments est structurellement impossible dans le cas général, autant trouver un élément séparant V(I) est toujours possible (d’après le théorème des zéros de Hilbert, à trouver un élément pri-mitif de Q[X1,, Xn]

I

). Presque toutes les formes linéaires séparent un ensemble donné, et on peut même restreindre la recherche :

Lemme 3.8. (Voir [ 13]) Supposant que #V (I) = d, la famille {X1+ i X2+ + in−1Xn, i= 1nd(d − 1)1 } contient au moins un élément séparant V (I).

Beaucoup de méthodes de résolution utilisent cette notion d’élément séparant, à commencer par certaines méthodes numériques permettant une diagonalisation simultanée des matrices mX1 et donc de combiner les coordonnées des solutions pour obtenir les points recherchés (par exemple dans [8]). Celles-ci n’offrent toutefois aucune garantie quant à la précision du résultat et encore moins sur le caractère réel des solutions, elles sortent donc du cadre de l’étude pro-posée dans ce document. Dans la section qui suit, on cherchera un autre biais pour calculer des paramétrisations formelles telles que celles que l’on peut facilement obtenir dans le cas d’idéaux

shape position, mais nous terminons cette section avec quelques applications relativement

dire-ctes des résultats introduits ci-dessus.

Le lemme 3.8 fournit un algorithme simple permettant de calculer un élément séparant : Pour i = 1n d(d − 1)

1 , calculer la matrice de mX1+iX2++in −1Xn= mX1 + i mX2 +  + in−1mXn dans la base B (simple combinaison linéaire des matrices mXi supposées connues d’après la Notation 3.4) et calculer di , le degré de la partie sans facteurs carrés de son poly-nôme caractéristique. Le éléments séparants V (I) contenus dans {X1+ i X2+ + in−1Xn, i= 1nd(d − 1)1 } sont ceux pour lesquels di est maximal.

Une conséquence directe est que l’on peut alors calculer explicitement le nombre de solutions distinctes réelles ou complexes de n’importe quel système zéro-dimensionnel :

Lemme 3.9. Si t sépare V (I), et si polchar(mt) désigne le polynôme caractéristique de mt, alors #V (I) = #V (polchar(mt)). Dès lors que t∈ Q[X1,, Xn], on a de plus #(V (I) ∩ Rn) = #(V (polchar(mt))∩ Rn).

Bien que « presque toute » forme linéaire soit séparante, on exclura les choix « au hasard » au regard des contraintes fortes énoncées en introduction de ce document. La conjonction des deux lemmes précédents donne un algorithme permettant de construire explicitement une forme linéaire assurément séparante. Un tel « algorithme » est extrêmement coûteux puisqu’il néces-site le calcul de n d(d − 1)

1 polynômes caractéristiques, mais il montre au moins que de tels élé-ments peuvent être explicitement calculés. Pour le calcul du nombre de solutions d’un système, on lui préférera (étude de complexité dans la section 3.4), la méthode suggérée par :

Théorème 3.10. ([ 104],[ 16],[ 105]) Pour tout h∈ Q[X1,, Xn], on définit : qh: Q[X1,, Xn]

I  Q

 Trace(f2h) Trace(P ) désignant la trace de mPpour tout P ∈ Q[X1,, Xn]

Alors :

• rank(qh) = #{x ∈ V (I), h(x)0}

• signature(qh) = #{x ∈ V (I) ∩ Rn, h(x) > 0} − #{x ∈ V (I) ∩ Rn, h(x) < 0}

En s’appuyant sur le théorème 3.10 dans le cas ou h = 1 et connaissant les prérequis que nous nous sommes donnés (Notation 3.4) on obtient simplement un algorithme permettant de compter le nombre de points de V (I) et de V (I) ∩ Rn. En effet, connaissant les matrices mXi dans une base B = {w1,, wD} de Q[X1,, Xn]

I on peut calculer mwiwjet en déduire la matrice de qhdans B.

On peut remarquer que le théorème 3.10 donne également une généralisation des résultats sur les suites de Sturm (généralisées) au cas des systèmes zéro-dimensionnels. On peut donc, au moins dans le principe, ainsi compter le nombre de racines distinctes d’un système zéro-dimen-sionnel mais également connaître le signe de polynômes en ces racines (algorithme « simulta-neous inequalities » proposée dans [122] et repris dans [13]).

3.3 Résolution Symbolique : La Représentation Univariée