October 30, 2017 | Author: Anonymous | Category: N/A
Journées Nationales de Calcul Formel 2008. 20–24 octobre 2008, Cirm, Luminy. Organisateurs: D ......
Journ´ ees Nationales de Calcul Formel 2008 20–24 octobre 2008, Cirm, Luminy ´ Organisateurs: D. Boucher, F. Chyzak, J.-G. Dumas, E. Thome
• Programme • R´esum´es • Supports de cours
PROGRAMME DES JNCF 2008 (Programme en date du 20 octobre 2008)
Programme de la semaine Lundi 20 octobre 09h00 Ouverture des journ´ees 09h30 Laurent Bus´e : R´esultants : des matrices pour l’´elimination (Cours 1/3) 10h30 Pause 11h00 Romain Cosset : Factorisation d’entiers ` a l’aide de courbes de genre 2 11h30 Cl´ement Dunand : Utilisation de bases elliptiques pour le param´etrage de tores alg´ebriques 12h00 Alexandre Benoˆıt : D´eveloppements de fonctions D-finies sur des polynˆ omes de Tchebychev. 12h30 D´ejeuner 14h00 Fr´ed´eric Edoukou : Codes correcteurs d’erreurs sur des surfaces Hermitiennes 14h30 Ga¨etan Bisson : Multiplication complexe et discriminants 15h00 Ainhoa Aparicio : R´eduction des ´equations variationelles des syst`emes hamiltoniens ` a deux degr´es de libert´e et leur int´egrabilit´e 15h30 Luca De Feo : Principe de transposition et algorithmes pour les tours d’Artin–Schreier 16h00 Pause 17h00 Lionel Chaussade : Codes tordus dont le rang ou la distance minimale est prescrite 17h30 Pierre-Vincent Koseleff : Nœuds toriques polynomiaux 18h00 Ihsen Yengui : La conjecture des anneaux de Hermite en dimension 1 19h00 Temps libre pour discussions 19h30 Dˆıner
Mardi 21 octobre 09h30 Laurent Bus´e : R´esultants : des matrices pour l’´elimination (Cours 2/3) 10h30 Pause 11h00 Mohab Safey El Din : Real Solving Singular Polynomial Systems 11h30 Marc Giusti : Vari´et´es polaires et bipolaires 12h00 Jean-Fran¸cois Biasse : Index calculus and large prime variation for the DLP on hyperelliptic curves 12h30 D´ejeuner 14h00 Pierre Rouchon : Syst`emes diff´erentiellement plats (Cours 1/2)
1 Journ´ees Nationales de Calcul Formel 2008
page 1
15h30 Pause Session « G´eom´etrie algorithmique » 16h00 Sylvain Lazard : Geometrie algorithmique et calcul formel 16h40 Marc Pouget : Du calcul de courbes d’extrˆeme de courbure sur une surface au calcul de la topologie de courbes alg´ebriques en g´en´eral 17h10 Andr´e Lieutier : Robustesse en calcul g´eom´etrique, pratiques industrielles et apport du calcul formel 17h40 Guillaume Moroz : Robots et positions cuspidales 18h10 Temps libre pour discussions 19h30 Dˆıner
Mercredi 22 octobre 09h00 Gu´ena¨el Renault : Th´eorie de Galois effective (Cours 2/2) 10h30 Pause 11h00 Pierre Rouchon : Syst`emes diff´erentiellement plats (Cours 1/2) 12h30 D´ejeuner 14h00 Laurent Bus´e : R´esultants : des matrices pour l’´elimination (Cours 3/3) 15h00 Pause 15h30 Joris van der Hoeven : Mathemagix 16h10 Daouda-Niang Diatta : Calcul du type topologique d’une surface implicite 16h40 Adrien Poteaux : Calcul num´erique-symbolique de d´eveloppements de Puiseux 17h10 Temps libre pour discussions 19h30 Dˆıner
Jeudi 23 octobre 09h00 Gu´ena¨el Renault : Th´eorie de Galois effective (Cours 2/2) 10h30 Pause 11h00 Sylvie Boldo : Preuves formelles et ´equation des ondes 11h30 Hong Diep Nguyen : R´esoudre et certifier la solution d’un syst`eme lin´eaire 12h00 Olivier Ruatta : Automate globalement convergent pour le calcul de toutes les racines d’une ´equation alg´ebrique 12h30 D´ejeuner 14h00 Jean-Michel Muller : Calculs « exacts » avec une arithm´etique approch´ee (Cours 1/2) 15h30 Pause Session « Mod´elisation en biologie » 2 Journ´ees Nationales de Calcul Formel 2008
page 2
16h00 16h40 17h10 17h40 18h10 18h20 18h50
Hidde de Jong : Qualitative Modeling and Simulation of Genetic Regulatory Networks Marie-Fran¸coise Roy : M´ethodes semi-alg´ebriques en ´epid´emiologie Fran¸cois Lemaire : Approximation au premier ordre des vari´et´es lentes ¨ upl¨ Aslı Urg¨ u : Qualitative Analysis of Dynamical Systems : Application to Biology Fin de la session sp´eciale Michel Petitot : Le probl`eme d’´equivalence du point de vue alg´ebrique Temps libre pour discussions
19h30 Dˆıner
Vendredi 24 octobre 09h00 Jean-Michel Muller : Calculs « exacts » avec une arithm´etique approch´ee (Cours 2/2) 10h30 Pause 11h00 Richard Leroy : Certificats de positivit´e et minimisation polynomiale dans la base de Bernstein multivari´ee 11h30 Mioara Joldes : Certified and fast computation of supremum norms of approximation errors 12h00 Bernard Mourrain : Dualit´e, moments et id´eaux radicaux 12h30 D´ejeuner 14h00 Clˆoture des journ´ees
R´ esum´ es des cours 1. Les codes alg´ ebriques et leur d´ ecodage ´ Daniel Augot (INRIA Paris-Rocquencourt, Equipe-projet Secret) Expos´ e annul´ e Ce cours portera d’abord sur les c´el`ebres codes de Reed-Solomon. Je commencerai par montrer l’optimalit´e de ces codes en terme combinatoires : ce sont des codes MDS ( maximum distance separable). Cette optimalit´e ne r´epond cependant pas ` a tous les besoins, notamment lorsque les alphabets consid´er´es sont petits. Je pr´esenterai ensuite deux constructions de ces codes, lesquelles conduisent ` a deux grandes familles d’algorithmes de d´ecodage : par syndrome (Berlekamp-Massey) et par interpolation (Sudan). Une autre famille de codes, aux propri´et´es similaires, est celle des codes g´eom´etriques introduits par Goppa. Ces derniers utilisent la th´eorie des courbes alg´ebriques sur les corps finis. De mˆeme que pour les codes de Reed-Solomon, deux approches duales permettent de d´efinir les codes de Goppa : l’algorithme de Berlekamp-Massey se g´en´eralise en l’algorithme de Berlekamp-Massey-Sakata ; l’algorithme de Sudan en l’algorithme de Shokrollahi-Wasserman, dont l’algorithme de Guruswami-Sudan est une version am´elior´ee. L’int´erˆet des algorithmes de d´ecodage par interpolation est qu’ils franchissent le mur de la distance minimale, c’est-` a-dire qu’ils corrigent beaucoup plus d’erreurs que les algorithmes classiques. 2. Syst` emes diff´ erentiellement plats Pierre Rouchon (Mines ParisTech) Les syst`emes diff´erentiellement plats, une sous-classe des syst`emes non-lin´eaires contrˆ ol´es, jouent un peu le mˆeme rˆole que les syst`emes int´egrables par rapport aux syst`emes dynamiques (sans contrˆole) : pour ces syst`emes contrˆol´es on dispose aussi d’une description « explicite » de leur trajectoires, i.e., de leur solutions. D’une telle description, on d´eduit une m´ethode syst´ematique 3 Journ´ees Nationales de Calcul Formel 2008
page 3
pour la planification et le suivi de trajectoires, deux questions de base en contrˆ ole des syst`emes. Apr`es des d´efinitions en dimension finie (´equations diff´erentielles ordinaires), d´efinitions illustr´ees par quelques exemples, on aborde des questions ouvertes li´ees ` a la caract´erisation des syst`emes diff´erentiellement plats mais aussi `a la planification et au suivi en pr´esence de singularit´e. L’extension a` la dimension infinie, i.e. aux ´equations aux d´eriv´ees partielles avec contrˆ ole fronti`ere, est aussi abord´ee. Elle s’appuie sur des exemples pour lesquels il peut ˆetre n´ecessaire de faire appel, de mani`ere encore assez mal comprise, ` a des techniques de re-sommation pour rendre les d´eveloppements en s´eries effectifs d’un point de vue num´erique. 3. Calculs « exacts » avec une arithm´ etique approch´ ee Jean-Michel Muller (CNRS, Laboratoire LIP) L’arithm´etique virgule flottante a ´et´e con¸cue comme une simple approximation de l’arithm´etique r´eelle.Cependant, comme le comportement de chaque op´eration est compl`etement sp´ecifi´e par une norme (la norme IEEE-754), l’arithm´etique virgule flottante peut aussi ˆetre vue comme une structure math´ematique sur laquelle on peut construire des algorithmes et des preuves. C’est ainsi que l’on peut construire des algorithmes arithm´etiques nettement plus rapides et pr´ecis que ce que l’on pouvait faire auparavant. On donnera quelques exemples montrant l’int´erˆet de cette approche. On en profitera ´egalement pour parler de quelques unes des nouveaut´es figurant dans la r´evision de la norme IEEE-754, qui vient d’ˆetre adopt´ee. 4. Th´ eorie de Galois effective ´ Gu´ena¨el Renault (Equipe-projet INRIA / LIP6 Salsa) La r´esolution d’´equations polynomiales en une variable est le probl`eme qui a fait naˆıtre la th´eorie de Galois. Depuis l’antiquit´e, les math´ematiciens ont toujours voulu pouvoir obtenir les solutions de telles ´equations sous la forme de formules ne faisant intervenir que les op´erations usuelles et des radicaux en les coefficients de l’´equation. Pendant longtemps, le probl`eme de savoir si de telles formules existaient resta sans solution. C’est Galois qui ´edifia la th´eorie permettant de r´epondre `a cette question et montra, en particulier, que ceci ´etait impossible en toute g´en´eralit´e. Pourtant, l’essence de cette th´eorie repose sur une construction formelle du plus petit corps contenant les racines du polynˆome P entrant dans la d´efinition de l’´equation et ainsi permet de r´esoudre formellement cette derni`ere. A ce corps, appel´e corps de d´ecomposition de P , est associ´e un groupe qui permet de caract´eriser des propri´et´es sur ce corps ` a partir de propri´et´es calcul´ees sur le groupe. Dans ce cours, nous pr´esenterons ces objets centraux de la th´eorie de Galois et nous montrerons des algorithmes efficaces permettant de les calculer. 5. R´ esultants : des matrices pour l’´ elimination ´ Laurent Bus´e (INRIA Sophia Antipolis - M´editerrann´ee, Equipe-projet Gallad) Ce cours est divis´e en trois parties. La premi`ere partie traite du r´esultant bien connu de deux polynˆomes univari´es, tr`es souvent appel´e r´esultant de Sylvester. L’objectif principal est ici d’illustrer le contenu g´eom´etrique du r´esultant au travers d’applications concr`etes en g´eom´etrie et mod´elisation alg´ebrique : th´eor`eme de B´ezout, probl`emes d’inversion et d’implicitation d’une courbe plane rationelle. Notamment, l’accent sera mis sur deux propri´et´es fondamentales du r´esultant qui le distinguent des autres techniques d’´elimination : son caract`ere universel et ses repr´esentations matricielles. La deuxi`eme partie est consacr´ee ` a la g´en´eralisation du r´esultant de Sylvester au cas de n polynˆomes homog`enes en n variables, souvent appel´e r´esultant de Macaulay. Apr`es une br`eve introduction sur le th´eor`eme de l’´elimination, l’existence et les principales propri´et´es de ce r´esultant seront pr´esent´es sous l’angle le plus adapt´e au calcul : les formes d’inerties. Pour finir, on pr´esentera la formule de Poisson que l’on illustrera par quelques applications g´eom´etriques. 4 Journ´ees Nationales de Calcul Formel 2008
page 4
La derni`ere partie propose une discussion plus avanc´ee sur l’existence g´en´erale des r´esultants. On montrera qu’il est (presque) toujours possible de donner une d´efinition g´eom´etrique pour le r´esultant d’un syst`eme alg´ebrique bien dimensionn´e. En revanche, il est plus d´elicat de pouvoir le « calculer », c’est-`a-dire d’en trouver une repr´esentation matricielle. En fait, ce calcul n´ecessite une ´etude approfondie qui doit bien souvent ˆetre men´ee au cas par cas. Nous l’illustrerons au travers d’un exemple concret.
Sessions d’ouverture 6. Geometrie algorithmique et calcul formel ´ Sylvain Lazard (INRIA Sophia Antipolis - M´editerrann´ee, Equipe-projet Vegas) Je presenterai un ensemble de travaux sur des problemes de geometrie algorithmique ayant des liens avec le calcul formel. Typiquement, les techniques et outils calcul formel peuvent etre utilisees dans les algorithmes geometriques ainsi que pour demontrer des theoremes de geometrie. En particulier, je presenterai des travaux sur des problemes de complexite constante en trois dimensions portant sur les proprietes des droites tangentes a quatre objets, les diagrammes de Voronoi de droites et l’intersection de quadriques. 7. Qualitative Modeling and Simulation of Genetic Regulatory Networks Hidde de Jong (INRIA Grenoble - Rhˆ one-Alpes) The adaptation of microorganisms to their environment is controlled at the molecular level by large and complex networks of biochemical reactions involving genes, RNAs, proteins, metabolites, and small signalling molecules. In theory, it is possible to write down mathematical models of these networks, and study these by means of classical analysis and simulation tools. In practice, this is not easy to achieve though, as quantitative data on kinetic parameters are usually absent for most systems of biological interest. Moreover, the models consist of a large number of variables, are strongly nonlinear and include different time-scales, which make them difficult to handle both mathematically and computationally. We have developed methods for the reduction and approximation of kinetic models of bacterial regulatory networks to simplified, so-called piecewise-linear differential equation models. The qualitative dynamics of the piecewise-linear models can be studied using discrete abstractions from hybrid systems theory. This enables the application of model-checking tools to the formal verification of dynamic properties of the regulatory networks. The above approach has been implemented in the publicly-available computer tool Genetic Network Analyzer (GNA) and has been used to analyze a variety of bacterial regulatory networks. I will illustrate the application of GNA by means of the network of global transcription regulators controlling the adaptation of the bacterium Escherichia coli to environmental stress conditions. Even though E. coli is one of the best studied model organisms, it is currently little understood how a stress signal is sensed and propagated through the network of global regulators, and leads the cell to respond in an adequate way. Qualitative modeling and simulation of the network of global regulators has allowed us to identify essential features of the transition between exponential and stationary phase of the bacteria and to make new predictions on the dynamic behavior following a carbon upshift. 8. Robustesse en calcul g´ eom´ etrique, pratiques industrielles et apport du calcul formel Andr´e Lieutier (Dassault - Aix-en-Provence)
5 Journ´ees Nationales de Calcul Formel 2008
page 5
R´esum´e fourni ult´erieurement. 9. Du calcul de courbes d’extrˆ eme de courbure sur une surface au calcul de la topologie de courbes alg´ ebriques en g´ en´ eral ´ Marc Pouget (INRIA Nancy - Grand Est, Equipe-projet Vegas) Je pr´esenterai un travail en collaboration avec Jean-Charles Faug`ere et Fabrice Rouillier de l’´equipe SALSA. Le probl`eme initial concernait la description de courbes d’extrˆeme de courbure sur une surface connues sous le nom de « ridges ». Pour une surface g´en´erique, ces courbes pr´esentent trois types de singularit´es. Une mise en ´equation du probl`eme dans le cas d’une surface param´etr´ee a permis de certifier le calcul de ces points et d’en d´eduire la topologie de la courbe. Les m´ethodes de calcul formel utilis´ees sont la d´ecomposition des syst`emes de points singuliers selon leur type, les bases de Groebner et la repr´esentation univari´ee rationnelle. Ces m´ethodes, pr´esentant une variante de l’approche de calcul par sous-r´esultants et arithm´etique sur des nombres alg´ebriques r´eels, ont ´et´e g´en´eralis´ees pour le calcul de la topologie d’une courbe alg´ebrique plane quelconque.
Expos´ es courts 10. R´ eduction des ´ equations variationelles des syst` emes hamiltoniens ` a deux degr´ es de libert´ e et leur int´ egrabilit´ e Ainhoa Aparicio (XLIM, Universit´e de Limoges) Grˆace `a la th´eorie de Morales Ramis nous savons qu’un syst`eme hamiltonien est non-int´egrable si le groupe de Galois de son ´equation variationelle est non ab´elien. En utilisant ces connaissances, nous avons d´evelopp´e une m´ethode de r´eduction des ´equations variationelles qui nous permet de d´ecider si un syst`eme hamiltonien `a deux degr´es de libert´e est non-int´egrable. L’un des int´erˆets de cette r´eduction est qu’elle ne r´eduit pas uniquement les premi`eres ´equations variationelles mais aussi l’expression de toutes les ´equations variationelles successives. En illustration de notre m´ethode nous donnerons une d´emonstration alternative de la non-int´egrabilit´e du probl`eme de Hill (Morales-Simo-Simon). Travail d´evelopp´e en collaboration avec Jacques-Arthur Weil. 11. D´ eveloppements de fonctions D-finies sur des polynˆ omes de Tchebychev. ´ Alexandre Benoˆıt (Equipe-projet Algo, Laboratoire MSR-INRIA ) Une fonction D-finie est une solution d’´equation diff´erentielle lin´eaire ` a coefficients polynomiaux. Il est bien connu que les d´eveloppements en s´erie de Taylor de ces fonctions ont des coefficients qui v´erifient une r´ecurrence lin´eaire. La mˆeme propri´et´e est v´erifi´ee par les coefficients des d´eveloppements de ces fonctions en s´erie de Tchebychev (c’est-` a-dire sur la base des polynˆ omes de Tchebychev). Ces d´eveloppements poss`edent des propri´et´es int´eressantes du point de vue de l’approximation, ce qui motive leur ´etude et la recherche d’algorithmes efficaces pour leur calcul. Alors que de tels algorithmes sont classiques dans le cas des s´eries de Taylor, les m´ethodes connues pour les s´eries de Tchebychev n’avaient pas ´et´e ´etudi´ees du point de vue de la complexit´e. Dans cet expos´e, je d´ecrirai les algorithmes existants et je donnerai un nouvel algorithme plus efficace r´ealis´e lors de mon stage. J’exposerai aussi la th´eorie math´ematique sur laquelle reposent ces algorithmes. 12. Index calculus and large prime variation for the DLP on hyperelliptic curves ´ Jean-Fran¸cois Biasse (Ecole polytechnique)
6 Journ´ees Nationales de Calcul Formel 2008
page 6
Une courbe hyperelliptique C sur un corps Fq est la donn´ee de solutions de l’´equation : Y 2 + v(X)Y + u(X) = 0 Elle d´efinit une vari´et´e alg´ebrique dite ”Jacobienne” Jac dont les ´el´ements sont appel´es des diviseurs. Cette vari´et´e est munie d’une structure de groupe, ce qui nous permet par exemple d’y ´etudier le probl`eme du logarithme discret (DLP). Supposons que P et Q soient deux diviseurs de Jac, calculer le logarithme discret de Q en base P , c’est trouver α tel que : Q = αP L’´etude du logarithme discret est motiv´ee par l’existence de plusieurs cryptosyst`emes reposant sur sa difficult´e, notamment le tr`es c´el`ebre protocole d’´echange de clef ”Diffie-Hellman”.Sa difficult´e est variable suivant le groupe dans lequel nous l’´etudions. Dans le cadre des courbes hyperelliptiques les meilleures attaques connues sont en complexit´e ”sous-exponentielle”. Le calcul d’index est la strat´egie permettant d’atteindre une complexit´e sous-exponentielle. On d´efinit un ensemble de diviseurs B que l’on appelle la base de friabilit´e, puis on recherche des relations du type : X αP + βQ = Pi Pi ∈ B Ces relations forment une matrice dont un vecteur du noyau permet de d´eduire la solution du probl`eme ´etudi´e. Le probl`eme qui se pose est que cette matrice est souvent de taille prohibitive. Nous ´etudierons pendant l’expos´e comment r´eduire la taille de cette matrice afin que la recherche d’un ´el´ement de son noyau soit faisable, notamment via la strat´egie appel´ee ”large prime variation” ou bien la suppression de colonnes via une ´elimination du type Gauss structur´ee. 13. Multiplication complexe et discriminants Ga¨etan Bisson (INRIA Nancy - Grand Est) La th´eorie de la multiplication complexe d´ecrit les anneaux d’endomorphismes de vari´et´es ab´eliennes comme ordres dans certains corps de nombres. On l’utilise notamment pour la construction de telles vari´et´es, par exemple dans le cadre d’applications cryptographiques. Nous pr´esenterons cela puis nous int´eresserons plus sp´ecifiquement au cas o` u l’ordre en question n’est pas maximal et aux probl`emes que cela induit concernant la r´eduction modulo des premiers. En particulier, en genre 1, nous expliquerons en quoi cela affecte la construction de courbes elliptiques et comment on cet ordre peut ˆetre d´etermin´e. 14. Preuves formelles et ´ equation des ondes ´ Sylvie Boldo (INRIA Saclay - ˆIle-de-France, Equipe-projet ProVal) Ce travail a ´et´e effectu´e avec Fran¸cois Cl´ement, Jean-Christophe Filliˆ atre et Micaela Mayero dans le cadre de l’ANR blanche CerPAN. Nous voulons prouver formellement et compl`etement (erreur de m´ethode et erreurs d’arrondi) de vrais programmes num´eriques. Nous commen¸cons modestement avec la r´esolution de l’´equation des ondes en utilisant un programme C de Fran¸cois Cl´ement et la plateforme Why. La boucle principale de ce programme est : for (k=1 ; k 0 (resp. n > 0) alors Resm,0 (f, b0 ) = bm 0 (resp. Res0,n (a0 , g) = an0 ). Il faut aussi remarquer l’impact du choix des entiers (m, n) : par exemple, si b0 = 0, c’est-`a-dire si g est en fait un polynˆome de degr´e n − 1 et non n, alors Resm,n (f, g) = a0 Resm,n−1 (f, g). Plus g´en´eralement, si deg(f ) = m et n ≥ deg(g) alors n−deg(g)
Resm,n (f, g) = a0
Resm,n−deg(g) (f, g),
ce qui se voit en d´eveloppant le d´eterminant de la matrice de Sylvester suivant la premi`ere ligne it´erativement. 3
Journ´ees Nationales de Calcul Formel 2008
page 23
Exemple 1.1.1 Si f := aX 2 + bX + c et g Res2,1 (f, g) =
= ∂X f = 2aX + b alors a 2a 0 b b 2a = (−a)(b2 − 4ac). c 0 b
Exemple 1.1.2 Si f = a0 X m + · · · + am et a0 a1 Resm,1 (f, g) = ... . .. am
g = X − b alors 1
0
−b
1 ..
0
m 0 = (−1) f (b) 1 −b
··· ..
.
0 .. .
.
−b 0
···
(d´evelopper ce d´eterminant suivant la premi`ere colonne). Proposition 1.1.2 Soient f, g ∈ A[X] d´efinis par (1.1). Alors Resm,n (f, g) = (−1)mn Resn,m (g, f ). Preuve. On passe de la matrice Sm,n (f, g) ` a la matrice Sn,m (g, f ) par mn transpositions de colonnes. 2 Dans la suite, nous noterons classiquement A[X] τ avec l = b k−1 c. La condition
2
(s(n − τ ) − 1) 2(k − 1)
n−τ 2(k−1)
>
s(s+1) n 2
donne
r
1 1 (1 + )(k − 1)n − . s s p Quand s est assez grand, on obtient τ < n − (k − 1)n. τ s, pour i ∈ {1 . . . n}. Recherche de racines : : retourner les f ∈ L(rQ) tels que Q(f ) = 0, et d(ev f, y) ≤ τ . D´emonstration. Pour chaque terme Qi du polynˆome Q(y), on a −vQ (Qi f i )
= −vQ (Qi ) − ivQ (f ) ≥ s(n − τ ) − 1 − ri + ir = s(n − τ ) − 1.
Proposition 25. Soit f tel que f (Pi ) = yi , alors vPi (Q(f )) > s. P ´ Q(y= Q(f ) = j y j Qij , avec Qij ∈ Fq [C]. On a D´emonstration. Ecrivons vPi (Q(f ))
>
min vPi ((f − yi )j Gij ) j
= min (jvPi (f − yi ) + vPi (Gij )) j
>
min (j + vPi (Gij ))
>
s
j
Proposition 26. Soit f ∈ L(rQ) telle que d(ev(f ), y)) ≤ τ . Alors Q(f ) = 0. D´emonstration. Puisque f (Pi ) = yi en au moins n − τ points Pi1 , . . . , Pil , on a Q(f ) ∈ L(−s(Pi1 + · · · + Piµ )). Donc Q(f ) ∈ L((s(n − τ ) − 1) Q − s(Pi1 + · · · + Piµ )), Or µ > n − τ , donc le degr´e du diviseur s(n − τ ) − 1Q − s(Pi1 + · · · + Piµ ) est n´egatif. L’espace associ´e est nul : Q(f ) = 0.
Journ´ees Nationales de Calcul Formel 2008
page 127
´ CHAPITRE 3. DECODAGE PAR INTERPOLATION
44
Pour finir, il faut d´eterminer une condition suffisante pour le polynˆome Q(T ) existe, ind´ependante du mot re¸cu. Pour cela il faut que le nombre de termes possible pour le polynˆome Q soit sup´erieur au nombre d’´equations impos´ees par les conditions d’interpolation. Quand nous ´ecrivons X Q(T ) = (Y − yi )j Qij , i
avec vPi Qij > r − j, chaque contrainte vPi (Qij ) > r − j impose r − j ´equations lin´eaires sur les coefficients de Q. Chaque point donne donc un nombre d’´equations r−1 X r(r + 1) (r − j) = . 2 j=0 Donc en comptant tous les points, nous avons n r(r+1) ´equations sur les coeffi2 cients de Q. Nous devons donc avoir dimQ > n
r(r + 1) , 2
avec, en utilisant le mˆeme calcul que pr´ec´edemment dimQ >
(s(n − τ ) − g)2 . 2r
En tirant τ , on obtient r τ ≤n− et quand r croˆıt
1 g rn(1 + ) − s s
τ ≤n−
√
rn.
p On a, en fonction de la distance minimale τ ≤ n − n(n − d). Il est notable que dans le cas des codes de Reed-Solomon, et dans le cas des codes g´eom´etriques, le rayon de d´ecodage a la mˆeme expression en fonction de la distance minimale. Toutefois, en fonction du taux de transmission k = r − g + 1, on obtient p τ ≤ n − (k + g − 1)n, o` u on voit que le genre de la courbe impacte n´egativement le rayon de d´ecodage.
3.6
Retour de l’algorithme Berlekamp-MasseySakata
Soit x1 , . . . , xn le support d’un code de Reed-Solomon de dimension k. En situation de d´ecodage, soit y = (y1 , . . . , yn ) le mot re¸cu. Dans l’algorithme de Sudan, il faut trouver un polynˆome Q(X, Y ) de degr´e pond´er´e wdeg1,k−1 petit, tel que Q(xl , yl ) = 0, l ∈ {1 . . . n}.
Journ´ees Nationales de Calcul Formel 2008
page 128
3.6. RETOUR DE L’ALGORITHME BERLEKAMP-MASSEY-SAKATA 45 P C’est-`a-dire, un polynˆome Q(X, Y ) = qij X i Y j tel que X qij xil ylj = 0, l ∈ {1 . . . n}. ` k et l fix´es, on peut multiplier une telle ´equation par xu0 y v0 , pour n’importe A i i (l) quel couple (u0 , v 0 ). En notant E (l le tableau Eu,v = xul ylv , u0 , v 0 > 0, on a X (l) (l) Su0 ,v0 := quv Eu+u0 ,v+v0 = 0, ∀u0 , v 0 ≥ 0, l ∈ {1 . . . n}. P C’est-`a-dire que Q(X, Y ) = qijX i Y j d´efinit une relation de r´ecurrence pour (l) chaque tableau E , l ∈ {1 . . . n}. P Sakata propose l’astuce suivante : soit E = E (l) . Alors on a P Proposition 27. Le polynˆ ome Q(X, Y ) = qij X i Y j est une relation de (l) r´ecurrence pour chaque E si et seulement si il est une relation de r´ecurrence pour E. P D´emonstration. Si le polynˆome Q(X, Y ) = quv X u Y v est une relation de r´ecurrence pour chaque E (l) , alors il est une relation de r´ecurrence pour E. R´eciproquement, supposons que X Su0 ,v0 := quv Eu+u0 ,v+v0 = 0, ∀u0 , v 0 ≥ 0 = 0 Alors on peut ´ecrire S
=
X
quv
uv
=
n X X l=1 uv
n X l=1
0
xu+u ylv+v l 0
quv xu+u ylv+v l
0
0
En substituant u0 = u0 + u00 , on obtient Su0 ,v0
=
n X
xul
0
uv
l=1
=
n X l=1
X
0
00
quv xu+u ylv+v l
0
(l)
xul Su00 ,v0
pour tout u0 . Comme les³ xl , ´l ∈ {1 . . . n}, sont distincts, la matrice de Vander0 monde V (x1 , . . . , xn ) = xul associ´ee est de d´eterminant non nul, on a donc (l) Su00 ,v0
l,u0
00
0
= 0 pour u , v ≥ 0, l ∈ {1 . . . n}.
Adaptation ` a l’algorithme de Guruswami-Sudan Dans l’algorithme, en utilisant la multiplicit´e s, on obtiendrait, pour tout i, j < s, l tableaux E (i,j,l) dont le polynˆome Q(X, Y ) est une relation de r´ecurrence. La mˆeme astuce que pr´ qui consiste `a sommer sur tous les points du support, nous donne ¡s¢ec´edemment,(i,j) tableaux E dont on cherche simultan´ement une relation de r´ecurrence. 2 Sakata [Sak91, Sak88] a propos´e une g´en´eralisation de son algorithme pour exactement r´esoudre ce probl`eme l`a.
Journ´ees Nationales de Calcul Formel 2008
page 129
46
Journ´ees Nationales de Calcul Formel 2008
´ CHAPITRE 3. DECODAGE PAR INTERPOLATION
page 130
Annexe A
Preuve de l’algorithme BMS A.1
Preuve de l’algorithme
Th´ eor` eme 11. Il existe bien un poynˆ ome f comme requis dans les ´etapes 8 et 11 de l’algorithme Berlekamp-Massey-Sakata. D´emonstration. Il s’agit de montrer qu’il existe f ∈ N tel que lead(f )|s. Le point s est un point ext´erieur de ∆+ , qui contient ∆(F). Supposons d’abord que s est un point ext´erieur de ∆(F), alors il existe f ∈ F tel que lead(f ) = s. Comme nous sommes dans l’autre branche que celle du cas du test 5 de l’algorithme, on a f ∈ N . On consid`ere maintenant le cas o` u s n’est pas un coin ext´erieur de ∆(F). Le point s est n´eammoins un point de l’ext´erieur de ∆(F), et il existe f (x) ∈ F tel que lead(f ) soit un point ext´erieur de F. De plus lead(f ) ∈ ∆+ . Comme ∆+ ⊆ ∆(Vu+ (E)), on a lead(f ) ∈ ∆(Vu+ (E)). Mais aucun polynˆome de terme de tˆete lead(f ) ne peut-ˆetre valide en u. Donc f ∈ N. Proposition 28. Il existe bien un polynˆ ome g comme requis dans l’´etape 12 de l’algorithme BMS. D´emonstration. Supposons que ce ne soit pas possible, comme G est l’ensemble t´emoin, cela entraˆıne que u+ − s est `a l’ext´erieur de ∆(F), et il existe un coin ext´erieur p de ∆(F) tel que p|u+ − s. Il y a donc f 0 ∈ F tel que lead(f 0 ) = p. On a donc lead(f 0 ) + lead(f )|u+ , et par le th´eor`eme des pr´edictions, f et f 0 font la mˆeme pr´ediction en u+ . Donc f 0 ∈ N et donc span(f 0 ) ∈ ∆+ , i.e. u+ − p ∈ ∆+ . Comme s|u+ − p, on a que s ∈ ∆+ , ce qui est une contradiction. On a donc un g avec u+ − s| span(g). Notons que g est valide jusqu’`a la position u non incluse, Proposition 29. Les polynˆ omes construits dans les ´etapes 6, 9 ou 13 sont de terme de tˆete s, et sont valides en u+ , 47
Journ´ees Nationales de Calcul Formel 2008
page 131
48
ANNEXE A. PREUVE DE L’ALGORITHME BMS
D´emonstration. Le cas de l’´etape 6 est clair. Dans le cas 9, hs est de terme de tˆete s, et ne peut ˆetre invalide en u+ , puisqu’on ne peut pas faire la pr´ediction (s 6 |u+ ). D’autre part, comme f est valide jusqu’`a u, on a bien f ∈ Vu+ (E). Montrons que le ponyˆome hs construit en 13 admet s comme terme de tˆete. Rappelons la formule pour Ss,u+ (f, g) : Ss,u+ (f, g) = xs−lead(f ) f − cxspan(g)−u
+
+s
g
o` u c est un coefficient bien choisi. Le terme xs−lead(f ) f admet s comme monˆome de tˆete. Soit span(g) = u0 − lead(g), avec u0 < u+, car g a bloqu´e pr´ec´edemment. Le monˆome de tˆete du deuxi`eme terme est span(g) − u+ + s + lead(g) =
u0 − lead(g) − u+ + s + lead(g)
= (u0 − u+ ) + s < s. Donc la somme des deux termes admet bien s comme monˆome de tˆete. La fait que Ss,u+ (f, g) est valide en u+ se v´erifie par le calcul.
A.2
Cas de l’algorithme de Berlekamp-Massey
Nous pr´esentons comment l’algorithme de Berlekamp-Massey-Sakata redonne bien l’algorithme de Berlekamp-Massey, lorsque le tableau est unidimensionel. Nous avons alors les simplifications suivantes : 1. les monˆomes u sont des entiers ; 2. il n’y a qu’un seul ordre monomial, qui co¨ıncide avec la relation de divisibilit´e ; 3. l’ensemble des r´ecurrences minimales est un id´eal principal repr´esent´e par un polynˆome ; 4. l’ensemble t´emoin est le polynˆome de plus haut degr´e qui n’est pas dans l’id´eal ; 5. le span(g) d’un polynˆome est la diff´erence entre son degr´e et l’indice o` u il bloque : c’est le nombre de valeurs pendant lesquels il est valide. Proposition 30. Soit f + le polynˆ ome produit ` a l’´etape 9 de l’algorithme de Berlekamp-Massey, dans le cas o` u le polynˆ ome pr´ec´ecent f a ´echou´e. On a deg f + = u + 1 − deg f . Dans l’autre cas, le degr´e est maintenu. D´emonstration. Il suffit de calculer Ss,u+ (f, g) =
xq f − c · xp g.
avec
Journ´ees Nationales de Calcul Formel 2008
p =
span(g) − u+ + s
q =
s − lead(f )
s =
u+ − deg(f )
page 132
A.2. CAS DE L’ALGORITHME DE BERLEKAMP-MASSEY
49
Algorithme 10 Algorithme de Berlekamp-Massey, d´eriv´e de l’algorithme de Berlekamp-Massey-Sakata, `a encapsuler dans une boucle sup´erieure Entr´ ee : E, u, u+ = u + 1, F = {f } ensemble minimal de Vu (E), r´eduit `a f , G = {g} ensemble t´emoin de Vu (E), r´eduit `a g. Sortie : F + = {f + } ensemble minimal de Vu+ (E), G + = {g + } ensemble t´emoin de Vu+ (E). Corps de la boucle : 1: N ← les ´ el´ements de F invalides en u+ , N = {f } ou ∅, 2: if N = ∅ then 3: continue 4: end if 5: G + ← {f }, 6: s = u+ − deg f // Remplace 3 et 4 de BMS 7: // Le cas de la ligne 5 de BMS ne se produit pas 8: // Le cas de la ligne 7 de BMS ne se produit pas 9: hs ← Ss,u+ (f, g) 10: F + = {f + } = {hs } Soit Ss,u+ (f, g)
= xq f − c · xp g. = xs−lead(f ) f − cxspan(g)−u
+
+s
g
Or span(g) = u − deg(g), donc deg(xspan(g)−u
+
+s
g) = =
u − deg(g) − (u + 1) + u + 1 − deg(f ) + deg(g) u − deg(f ),
tandis que ³ ´ deg xs−lead(f ) f = s = u+ − deg(f ) = u + 1 − deg(f ). Donc le terme de tˆete de Ss,u+ (f, g) a bien pour degr´e u + 1 − deg(f ).
Journ´ees Nationales de Calcul Formel 2008
page 133
50
Journ´ees Nationales de Calcul Formel 2008
ANNEXE A. PREUVE DE L’ALGORITHME BMS
page 134
Bibliographie [AK98]
E.F. Assmus and J.D. Key. Polynomial codes and finite geometries. In V.S. Pless, W.C. Huffman, and R.A. Brualdi, editors, Handbook of coding theory, volume II. North-Holland, 1998. [ASKB01] J. B. Ashbrook, N. R. Shanbhag, R. Koetter, and R. E. Blahut. Implementation of a Hermitian decoder IC in 0.35 µm CMOS. In Custom Integrated Circuits, 2001, IEEE Conference on., pages 297– 300, 2001. [Ber68] Elwyn R. Berlekamp. Algebraic coding theory. McGraw-Hill, 1968. [BMvT78] Elwyn R. Berlekamp, Robert J. McEliece, and Henk C. A. van Tilborg. On the inherent intractability of certain coding problems. IEEE Transactions on Information Theory, 24(3) :384–386, 1978. [CD03] Chien-Yu Chien and I. M. Duursma. Geometric Reed-Solomon codes of length 64 and 65 over F8 . Information Theory, IEEE Transactions on, 49(5) :1351–1353, 2003. [Chi64] R. T. Chien. Cyclic decoding procedures for Bose-ChaudhuriHocquenghem codes. IEEE Transactions on Information Theory, 10(4) :357–363, 1964. [CLO92] David Cox, John Littel, and Donal O’Shea. Ideals, Varieties and Algorithms. Springer, 1992. [For65] G. Forney. On decoding BCH codes. Information Theory, IEEE Transactions on, 11(4) :549–557, 1965. [FR93] G. L. Feng and T. R. N. Rao. Decoding algebraic-geometric codes up to the designed minimum distance. Information Theory, IEEE Transactions on, 39(1) :37–45, 1993. [Gop77] V. D. Goppa. Codes that are associated with divisors. Problemy Pereda ci Informacii, 13(1) :33–39, 1977. [GS99] Venkatesan Guruswami and Madhu Sudan. Improved decoding of Reed-Solomon and algebraic-geometry codes. IEEE Transactions on Information Theory, 45(6) :1757–1767, 1999. [GZ06] Philippe Gaborit and Gilles Zemor. Asymptotic improvement of the Gilbert-Varshamov bound for binary linear codes. In Information Theory, 2006 IEEE International Symposium on, pages 287– 291, 2006. [HP95] Tom Høholdt and Ruud Pellikaan. On the decoding of algebraicgeometric codes. IEEE Transactions on Information Theory, 41(6) :1589–1614, 1995. 51
Journ´ees Nationales de Calcul Formel 2008
page 135
52
BIBLIOGRAPHIE
[HvLP98] T. Høholdt, J. H. van Lint, and R. Pellikaan. Handbook of Coding Theory, volume I, chapter Algebraic geometry codes, pages 871–961. Elsevier, 1998. [Mas69] Jim Massey. Shift-register synthesis and BCH decoding. IEEE Transactions on Information Theory, 15(1) :122–127, 1969. [Mce03] Robert J. Mceliece. The guruswami-sudan decoding algorithm for reed-solomon codes. Technical Report 42-153, JPL Interplanetary Network Progress Report, May 2003. [MS83] F. J. Macwilliams and N. J. A. Sloane. The Theory of ErrorCorrecting Codes. North-Holland Mathematical Library. North Holland, January 1983. [Sak88] Shojiro Sakata. N-dimensional berlekamp-massey algorithm for multiple arrays and construction of multivariate polynomials with preassigned zeros. In Teo Mora, editor, Applied Algebra, Algebraic Algorithms and Error-Correcting Codes 6th International Conference, AAECC-6 Rome, volume 357 of Lecture Notes in Computer Science, pages 356–376, 1988. [Sak91] Shojiro Sakata. Finding a minimal polynomial vector set of a vector of nd arrays. In H. F. Mattson, T. Mora, and T. R. N. Rao, editors, Applied Algebra, Algebraic Algorithms and Error-Correcting Codes, number 539 in Lecture Notes in Computer Science, pages 414–425. Springer-Verlag, 1991. [Sch80] J. T. Schwartz. Fast probabilistic algorithms for verification of polynomial identities. Journal of the ACM, 27(4) :701–717, October 1980. [SH95] K. Saints and C. Heegard. Algebraic-geometric codes and multidimensional cyclic codes : a unified theory and algorithms for decoding using Grobner bases. Information Theory, IEEE Transactions on, 41(6) :1733–1751, Nov 1995. [Sha48] Claude E. Shannon. A mathematical theory of communication. The Bell system technical journal, 27 :379–423, July 1948. [Sti93] Henning Stichtenoth. Algebraic Function Fields and Codes. Springer, 1993. [Sud96] Madhu Sudan. Maximum likelihood decoding of Reed-Solomon codes. In Proceedings of the 37th Annual Symposium on Foundations of Computer Science (FOCS 1996)., pages 164–172, 1996. [Sud97] Madhu Sudan. Decoding of Reed-Solomon codes beyond the errorcorrection bound. Journal of Complexity, 13(1) :180–193, March 1997. [SW99] Mohammad A. Shokrollahi and Hal Wasserman. List decoding of algebraic-geometric codes. IEEE Transactions on Information Theory, 45(2) :432–437, 1999. [TV91] Michael A. Tsfasman and Serguei G. Vlˇadut¸. Algebraic-Geometric Codes. Mathematics and its Applications. Kluwer Academic Publishers, April 1991. [vzGG99] Joachim von zur Gathen and J¨ urgen Gerhard. Modern Computer Algebra. Cambridge University Press, 1999.
Journ´ees Nationales de Calcul Formel 2008
page 136
BIBLIOGRAPHIE
53
[WB86]
Loyd R. Welch and Elwyn R. Berlekamp. Error correction for algebraic block codes. US Patent 4 633 470, 1986.
[WJ97]
B. E. Wahlen and J. Jimenez. Performance comparison of Hermitian and Reed-Solomon codes. In MILCOM 97 Proceedings, volume 1, pages 15–19 vol.1, 1997.
[Zip79]
Richard Zippel. Probabilistic algorithms for sparse polynomials. In Edward W. Ng, editor, Symbolic and Algebraic Computation : EUROSAM ’79, volume 72 of Lecture Notes in Computer Science, pages 216–226. Springer, 1979.
Journ´ees Nationales de Calcul Formel 2008
page 137
Introduction à la Théorie de Galois Effective Draft version of 2008-10-13 00:33 http://www-salsa.lip6.fr/~renault/jncf08/
Guénaël Renault Équipe-projet SALSA INRIA/LIP6 - Université Pierre et Marie Curie
Journ´ees Nationales de Calcul Formel 2008
page 139
Journ´ees Nationales de Calcul Formel 2008
page 140
Première partie
Prémices et définitions de la théorie de Galois
Journ´ees Nationales de Calcul Formel 2008
page 141
Journ´ees Nationales de Calcul Formel 2008
page 142
Préambule Dans cette partie nous nous intéressons à la résolution d’équation de la forme P (x) = 0 où P est un polynôme à coefficients dans Q. Le problème principal qui a fait naître la théorie de Galois est de savoir si une telle équation peut toujours être résolue en exprimant ses solutions à partir de rationnels et de radicaux successifs. Le problème est résolu pour le degré 2 depuis l’antiquité. Celui des degrés 3 et 4 ont été résolu par les géomètres italiens du 16ème siècle (Fontana (dit Tartaglia), Cardan, Ferrari). La résolution des degrés supérieurs reste inconnue jusqu’àu 18ème siècle où, par les travaux de Vandermonde et Lagrange, on commence à entrevoir une explication que donnera Abel dans le cas du degré 5 et Galois en toute généralité. Plutôt que de refaire la théorie de résolution par radicaux nous allons nous restreindre au problème suivant Problème 1. Étant donnée une équation P (x) = 0 de degré n, est-il possible d’exprimer ses solutions en fonction de celles d’une équation de degré inférieur à n ? Dans tout le restant de cette partie nous parlerons de manière équivalente des zéros du polynôme P et des solutions de l’équation P (x) = 0. Ainsi, tout au long de cette partie nous chercherons à exprimer le corps des racines du polynôme P , c’est-à-dire la plus petite extension de Q qui contient l’ensemble des zéros de P . Pour construire cette extension, nous allons ajouter successivement des valeurs irrationnelles au corps de base Q en considérant des extensions successives de ce corps. Ceci nous amènera à définir les objets fondamentaux de la théorie de Galois qui est effective par essence puisqu’elle fournit les méthodes de résolution du problème 1. Nous commencerons, au chapitre 1, par voir comment les idées de Lagrange, développées pour la résolution des équations du degré 3 et 4, peuvent être vues comme les semences de cette théorie. Nous verrons ensuite, au chapitre 2, comment Galois donne une réponse infirmative au problème de la résolution d’équation par radicaux en faisant le lien entre deux catégories d’objets mathématiques : les groupes de permutations et les équations.
5
Journ´ees Nationales de Calcul Formel 2008
page 143
Journ´ees Nationales de Calcul Formel 2008
page 144
CHAPITRE 1
Lagrange : les prémices de théorie de Galois 1.1. Introduction Ce chapitre retrace les travaux de Lagrange sur la résolution des équations de degré 3 et 4. Ces travaux sont exposés dans ses Réflexions Sur La Résolution Algébrique Des Équations (voir [29, Page 205]). Dans ce mémoire, Lagrange donne un nouveau point de vue sur le problème en étudiant de manière systématique les méthodes pour la résolution d’équations par radicaux ; Vandermonde a aussi mené le même genre d’étude parallèlement à Lagrange mais le mémoire de ce dernier développe plus d’idées générales que celui de Vandermonde. Lagrange emploie les permutations comme outil de base pour cette étude sans introduire la notion de groupe que Galois donnera 60 ans plus tard. Il développe ainsi un cadre général pour expliquer la résolution des équations de degré inférieur à 5 et il propose de l’utiliser en toute généralité, sans aller plus loin. Ainsi, dans son étude sur les méthodes de résolution par radicaux de l’équation P (x) = 0 de degré 3 ou 4, Lagrange se détache de l’empirisme classique. Au contraire, il donne dans son mémoire une vision novatrice pour la résolution des équations algébriques générales et, en particulier, comme il énonce le principe général de résolution de l’équation P (x) = 0 de degré n en essayant d’exhiber des formules qui permettent de construire ses solutions en fonctions de celles d’une équation de degré plus petit (voir Figure 1.1). Comme on peut le lire dans le résumé de ce principe, Lagrange ne considère
Fig. 1.1. [29, Page 355] pas des équations particulières mais il propose de calculer formellement avec les racines x1 , . . . , xn du polynôme P . Ainsi, toute son étude se fait à partir de l’équation générale de degré n. Pour cela, on considère x1 , . . . , xn des variables algébriquement disjointes sur le corps Q et le polynôme 7
Journ´ees Nationales de Calcul Formel 2008
page 145
générique P ayant pour racines les xi sera P (x) = xn + σ1 xn−1 − σ2 xn−2 + . . . + (−1)n σn Les coefficients de P sont alors les n fonctions symétriques σi élémentaires en les x1 , . . . , xn (au signe près). Le corps de base sur lequel nous commencerons tout notre raisonnement sera donc le corps Q(σ1 , . . . , σn ). L’étude que fait Lagrange, sans avoir les objets mathématiques à disposition, est celle de l’extension Q(x1 , . . . , xn ) sur Q(σ1 , . . . , σn ) au regard du groupe symétrique Sn . Ceci peut se voir comme les prémices de la théorie que Galois développera plus tard. 1.2. Action du groupe des permutations et résolvantes absolues À partir des racines x1 , . . . , xn Lagrange montre comment construire de nouvelles équations dont il essaie de faire baisser le degré en utilisant des propriétés connues a priori (ceci correspond à la première étape de son principe). Cette étude a priori se fait en étudiant l’action du groupe symétrique Sn de degré n sur les éléments du corps de fonctions Q(x1 , . . . , xn ). Sans les définir explicitement, il utilise les notions suivantes (rappelons encore une fois que la notion de groupe n’existait pas encore). Définitions 1.1. Soit f (x1 , . . . , xn ) une fonction de Q(x1 , . . . , xn ) et ρ une permutation de Sn . L’action de ρ sur f est définie par ρ · f = f (xρ(1) , . . . , xρ(n) ). Pour un sous-groupe G de Sn le stabilisateur (ou groupe d’isotropie) de f dans G est définie et noté par StabG (f ) = {ρ ∈ G : ρ · f = f }, l’orbite de f sous l’action de G est le sous-ensemble de Q(x1 . . . , xn ) définie par OrbG (f ) = {ρ · f : ρ ∈ G} Soient H ⊂ G deux sous-groupes de Sn un ensemble de représentants des classes de G/H est appelé transversale à gauche. À partir d’une fonction f dans Q(x1 , . . . , x2 ), Lagrange considère le polynôme Y Θf (t) = (t − s · f (x1 , . . . , xn )) s∈Sn
Par construction, ce polynôme est stable sous l’action du groupe Sn sur les xi , ainsi ses coefficients sont des fonctions symétriques des xi et, d’après les travaux de Newton, bien connus par Lagrange, ses coefficients sont des éléments de Q(σ1 , . . . , σn ). En utilisant toujours ce principe, Lagrange va ramener la résolution de l’équation P (x) = 0 à celle de la résolution de plusieurs équations à coefficients dans ce corps. En des termes plus modernes, il va étudier le lien entre l’action de Sn sur les xi et l’extension Q(x1 , . . . , xn ) sur Q(σ1 , . . . , σn ). À partir du polynôme Θf il essaye de trouver des facteurs a priori (ici le degré de Θ est n!). Plus exactement il étudie les différentes formes que peut prendre la fonction rationnelle f sous l’action des différentes permutations des racines de P . En des termes plus modernes, il exhibe l’orbite et le stabilisateur de f sous l’action de Sn . Il montre alors, que le cardinal du stabilisateur est un diviseur de l’ordre de Sn (ce résultat est énoncé aujourd’hui plus généralement pour tout groupe et porte de le nom de Théorème de Lagrange). Il en déduit que si le stabilisateur de f à un cardinal k > 1 alors le 8
Journ´ees Nationales de Calcul Formel 2008
page 146
polynôme Θf pourra se factoriser puisque des formes identiques vont se répéter lors de la construction. Lagrange propose alors de ne considérer qu’un facteur de Θf . Définition 1.2. Soit f ∈ Q(x1 , . . . , xn ) la résolvante absolue de f est définie par Y θf (t) = (t − g). g∈OrbSn (f )
D’après ce que nous venons de voir, nous connaissons a priori le degré du polynôme θf et plus généralement nous avons le résultat suivant. Proposition 1.3. La résolvante θ est un polynôme à coefficients dans Q(σ1 , . . . , σn ) qui est séparable et de degré n! . k On peut montrer aussi que ce polynôme est irréductible sur Q(σ1 , . . . , σn ), nous verrons cela au chapitre suivant. Il sera donc toujours possible de construire une résolvante à coefficients dans le corps Q(σ1 , . . . , σn ) mais qu’en sera-t-il de ses solutions ? Pourrons nous les exprimer à partir de quantités connues ? Le résultat qui suit donne une réponse à ces questions, Lagrange le donne dans [29, Article 104] et ceci peut être vu comme le point de départ à la théorie de Galois. Théorème 1.4. Soit f et g deux fonctions de Q(x1 , . . . , xn ) telles que StabSn (f ) soit inclus dans StabSn (g). Alors g est une fonction rationnelle de f à coefficients dans Q(σ1 , . . . , σn ) Une traduction en terme de théorie des corps et des groupes de ce théorème peut se voir comme suit. Posons K = Q(σ1 , . . . , σn ) et L = Q(x1 , . . . , xn ), nous avons le diagramme d’inclusion qui suit K
Sn o
/ K(g)
/ K(f )
/L
? _ StabS (g) o n
? _ StabS (f ) o n
? _ hIdi
Rappelons que les racines des résolvantes que nous considérons sont des fonctions rationnelles des x1 , . . . , xn . Ainsi, ce théorème nous montre qu’il est possible d’exprimer les racines de θg à partir des coefficients du polynôme de départ P et des racines de θf . On en déduit une méthode pour dévisser le problème de départ : on cherche une suite décroissante de groupes de Sn et des fonctions de Q(x1 , . . . , xn ) stables par chacun des éléments de cette suite. On forme les résolvantes correspondant et on les résout en utilisant les racines des précédentes plutôt que de se restreindre au corps de base Q(σ1 , . . . , σn ). On recommence le procédé jusqu’à pouvoir exprimer les racines x1 , . . . , xn de l’équation de départ en fonction de celles que nous avons calculées tout au long du procédé. En résumé, on construit des extensions intermédiaires entre Q(σ1 , . . . , σn ) et Q(x1 , . . . , xn ) en adjoignant des fonctions rationnelles des racines de l’équation de départ jusqu’à atteindre son corps des racines. La démonstration que nous donnons pour ce théorème est une reformulation de celle Lagrange, tout comme la version originelle elle est constructive et se base sur des principes d’interpolation. Démonstration du théorème 1.4. Soient f = f1 , . . . , fr les différentes images de la fonction f sous l’action de Sn , chacun de ces éléments correspond à une classe à gauche 9
Journ´ees Nationales de Calcul Formel 2008
page 147
de StabSn (f ) dans Sn , en d’autres termes, pour i = 1, . . . , r il existe un unique σi ∈ Sn tel que fi = σi StabSn (f ) · f (la suite finie Id = σ1 , . . . .σr est appelée transversale pour ce quotient à gauche). D’après les hypothèses faites sur f et g, nous avons r images distincts de g en considérants les éléments σ1 · g, . . . , σr · g. Soit la fonction interpolatrice g1 gr I(x) = θf (x) + ··· + x − f1 x − fr Rappelons que la résolvante est stable sous l’action de Sn , ainsi, cette action sur I ne fait que permuter les éléments de la somme et donc I reste globalement stable. Ce qui implique que I est à coefficients dans Q(σ1 , . . . , σn ). En évaluant I en f1 on obtient r Y I(f1 ) = g1 (f1 − fi ) i=2
Qr
Q et comme θf (x) = i=1 (x − fi ) on a θf0 (f1 ) = ri=2 (f1 − fi ) et finalement on obtient une expression de g comme fonction rationnelle d’éléments de Q(σ1 , . . . , σn , f ) g=
I(f ) . θf0 (f )
ce qui termine la démonstration.
Nous avons vu jusque là comment l’adjonction de fonction des racines permet de remonter de proche en proche vers le corps Q(x1 , . . . , xn ) et donc vers les racines de l’équation de départ. Nous allons voir maintenant comment l’adjonction de racines de polynômes indépendants de l’équation de départ permet aussi de la réduire et surtout comment exprimér les racines x1 , . . . , xn en fonction de ces dernières. 1.3. Racine n-ème de l’unité et résolvantes de Lagrange Dans cette section, on lâche un peu de contrainte sur la résolution du problème 1 en autorisant l’adjonction de racines primitives de l’unité au corps de base et, de manière équivalente, l’extraction de racine est permise. Ceci est une hypothèse standard pour la résolution par radicaux. Bézout, dans son article sur la résolution des équations par radicaux, met en avant l’utilisation des racines n-ème pour mener à bien les résolution des équations de degré 3 et 4 et propose d’en faire usage dans un cadre plus général mais sans être concluant. C’est Lagrange qui proposa cette méthode générale. Pour ce faire il construit ce que nous appelons aujourd’hui les résolvantes de Lagrange et qui interviennent généralement dans la construction des extensions cycliques. Définition 1.5. Soit ω une racine primitive n-ème de l’unité la résolvante de Lagrange est la résolvante absolue qui a pour racine la fonction rationnelle t1 définie par : t1 = x1 + ωx2 + ω 2 x3 + · · · + ω n−1 xn D’un point de vue des extensions de corps, pour pouvoir considérer de telles résolvantes, Lagrange a donc effectué une translation par adjonction de ω la racine n-ème de 10
Journ´ees Nationales de Calcul Formel 2008
page 148
l’unité. Ceci peut se résumer comme suit : Q(ω)(x1 , . . . , xn )
mm mmm m m mm mmm
Q(x1 , . . . , xn )
Q(ω)(σ1 , . . . , σn )
mmm mmm m m m mmm
Q(σ1 , . . . , σn )
Même si Lagrange a mené une étude générale sur les résolvantes absolues, celles qui portent son nom sont celles qu’il a le plus étudiées. En effet, il a découvert qu’elles sont la clé pour la résolution des équations 3 et 4. Ces résolvantes particulières ont de multiples propriétés qu’il exhibe et utilise tout au long de son mémoire. Par exemple, puisque ce sont des résolvantes absolues, d’après la proposition 1.3, ces résolvantes sont à coefficients dans Q(ω)(σ1 , . . . , σn ) et de degré n!, on peut aussi montrer qu’elles sont à coefficients dans Q(σ1 , . . . , σn ). Ces résolvantes particulières ont deux propriétés importantes pour ce qui est de la résolution de l’équation P (x) = 0 : (1) les solutions de cette équations peuvent être exprimées en fonctions des racines de la résolvante de Lagrange qui correspond ; (2) la résolvante de Lagrange peut être décomposée. Ce sont ces deux propriétés que nous allons présenter maintenant. Commençons par voir comment on peut décomposer une telle résolvante. On peut facilement voir que l’action des puissances du cycle σ = (1, 2, . . . , n) sur t1 nous donne σ k · t1 = ω k t1 ainsi tous les ω k t1 seront aussi des racines pour la résolvante de Lagrange et on en conclut que chacun de ses monômes ne pourra être que d’un degré un facteur de n. En faisant un changement de variable, on peut alors résoudre un polynôme de degré (n − 1)! qui aura pour racine T1 = tn1 . Les autres racines de ce polynômes seront obtenues en permutant les x2 , . . . , xn dans T1 . Ainsi, plutôt que de résoudre une équation de degré n! pour retrouver t1 , on pourra résoudre une équation de degré (n − 1)! et extraire une racine n-ème. Voyons maintenant comment déduire les racines xi à partir des ti . Par construction, la racine T1 s’écrira T1 = ζ1 + ωζ2 + · · · + ω n−1 ζn où chacun des ζi est une fonction rationnelle des xi qui est stable sous l’action du groupe cyclique engendré par le cycle (1, 2, . . . , n). Dès que les ζi sont connues, nous allons voir comment en déduire les racines xi par les formules que l’on construit ci-après. Notons plus généralement ti = x1 + ω i x2 + ω i2 x3 + · · · + ω i(n−1) xn
(i = 0, . . . , n − 1)
et Ti = tni , (on retrouve les t1 et T1 définis précédemment). Alors nous avons X X p 1 1 n (t0 + ω i tj ) = (t0 + ω i Tj ) n n j=1 j=1 n−1
xi =
n−1
11
Journ´ees Nationales de Calcul Formel 2008
page 149
Pour calculer les Tj (ou de manière équivalente les ζi ), Lagrange propose une première méthode basée sur l’élimination mais il préfère considérer le polynôme de degré n−1 dont les racines sont T1 , T2 , . . . , Tn−1 . Il montre que dans le cas où n est premier les coefficients de ce polynôme peuvent être calculés en résolvant une équation de degré (n − 2)! ce qui lui fait penser (voir Figure 1.2) qu’il n’y a que très peu de chance de voir ce type de résolvantes utilisées pour résoudre l’équation générale de degré 5 et que si elle pouvait être résolue alors il faudrait employer un nouveau type de résolvantes.
Fig. 1.2. [29, Page 403] 1.4. Résolution des équations de degré trois et quatre vue par Lagrange Voyons comment Lagrange résout l’équation de degré 3 et 4 avec les résultats que nous venons de présenter. 1.4.1. Équations de degré 3. Soit à résoudre l’équation générale du troisième degré, on peut toujours se ramener, après un changement de variable (transformation de Tschirnhaus), à la résolution de l’équation P (x) = 0 avec P (x) = x3 + 3px + 2q = (x − x1 )(x − x2 )(x − x3 ) Ici n = 3 ainsi (n−1)! = 2 et l’utilisation des résolvantes de Lagrange est tout indiquée puisque l’on sait résoudre une équation de degré 2. Soit j la racine primitive du troisième degré, plutôt que de considérer la fonction (x1 + jx2 + j 2 x3 ) nous allons, pour faciliter l’écriture des solutions, prendre T1 = ( 31 (x1 + jx2 + j 2 x3 ))3 . T1 étant stable sous l’action du groupe cyclique engendré par le cycle (1, 2, 3), la deuxième forme possible de T1 sous l’action de S3 est 1 T2 = (1, 2)T1 = ( (x2 + jx1 + j 2 x3 ))3 3 et l’on obtient le polynôme de degré 2 (x − T1 )(x − T2 ) stable sous l’action de S3 , donc ses coefficients pourront s’écrire comme fonction rationnelles de Q(j)(p, q) en vertu du théorème 1.4. Plus exactement, ce polynôme est à coefficients dans Q(p, q) et est donné par : (x − T1 )(x − T2 ) = x2 + 2qx − p3 = (x + q + s)(x + q − s) 12
Journ´ees Nationales de Calcul Formel 2008
page 150
où s est une des deux racines carrées de p3 + q 2 . On obtient donc une résolution de cette équation et nous obtenons les valeurs de T1 et T2 . On peut donc en déduire les valeurs de x1 , x2 , x3 : p p 3 3 xi = j i T1 + j i T2 Ceci termine la résolution de l’équation générale du degré 3. La résolvante exhibée ici par Lagrange permet de retrouver la méthode de Cardan. 1.4.2. Équations de degré 4. Passons maintenant à la résolution de l’équation générale de degré 4. Soit à résoudre l’équation générale P (x) = 0 avec P (x) = x4 − σ1 x3 + σ2 x2 − σ3 x + σ4 Dans ce cas (n−1)! = 6, ainsi l’application directe des résolvantes de Lagrange ne suffit pas à résoudre le problème. Soit f la fonction rationnelle x1 x2 + x3 x4 qui est laissée stable par le groupe H d’ordre 8 engendré par {(1, 2), (3, 4), (1, 3, 2, 4)}. D’après la proposition 1.3, la résolvante correspondante sera de degré 3. Soient y1 , y2 , y3 ses trois racines : y1 = x1 x2 + x3 x4 , y 2 = x1 x3 + x2 x4 , y 3 = x3 x2 + x1 x4 cette résolvante (y − y1 )(y − y2 )(y − y3 ) sera alors à coefficients dans Q(σ1 , σ2 , σ3 , σ4 ) et peut être calculée explicitement : y 3 − σ2 y 2 + (σ1 σ3 − 4σ4 )y − (σ32 + σ12 σ 4 − 4σ2 σ4 ) Ses racines sont calculables par la méthode du degré 3 vue ci-avant, reste alors à pouvoir exprimer les solutions de départ x1 , x2 , x3 , x4 en fonction de ces dernières. Pour ce faire, on peut considérer une résolvante de Lagrange qui a l’avantage d’avoir ses solutions facilement exprimables à partir des xi et vice versa. Pour utiliser le calcul déjà fait ici et ne pas avoir à résoudre une équation de degré 6, il faut pourvoir exprimer les racines de cette résolvante de Lagrange en fonction des yi en espérant réduire la taille des calculs. Pour cela, on utilise le théorème 1.4, on procède à une analyse préalable sur les sousgroupes de S4 . Plutôt que de considérer une racine 4-ème de l’unité, Lagrange propose de découper le problème selon les facteurs du degré de l’équation de départ. Ici, 4 = 2 × 2, il suffit donc de considérer ω une racine carrée primitive de l’unité (donc ω = −1) et de former des sommes de racines. Nous ne ferrons pas ici l’analyse de toute cette théorie, mais le lecteur pourra retrouver ceci dans le mémoire de Lagrange. Soit donc la fonction rationnelle t = (x1 + x2 ) − (x3 + x4 ), cette dernière est elle aussi laissée stable par le groupe H, ainsi par le théorème 1.4, la fonction rationnelle t peut s’écrire comme fonction rationnelle de Q(σ1 , . . . , σ4 , y1 ) et nous obtenons un polynôme de degré 2 à résoudre : t2 − 4y1 − σ12 + 4σ2 Ainsi, en changeant y1 en y2 et y3 nous avons trois couples de conjugués ti q ti = ± −4yi − σ12 + 4σ2 Reste un problème : comment choisir le conjugué de ti (un par équation de degré 2) afin de reconstruire les racines xi comme vue ci-avant ? Lagrange montre qu’il suffit de choisir deux racines t1 et t2 et la troisième sera donnée par la relation t1 t2 t3 = σ 3 − 4σ1 σ2 + 8σ3 qui s’obtient en utilisant le fait que la fonction rationnelle t1 t2 t3 est stable sous l’action de S4 et peut donc s’écrire dans Q(σ1 , . . . , σ4 ). 13
Journ´ees Nationales de Calcul Formel 2008
page 151
D’un point de vue moderne, Lagrange dévisse l’extension Q(x1 , . . . , x4 )/Q(σ1 , . . . , σ4 ) en construisant deux étapes intermédiaires et ceci à partir de fonctions rationnelles choisies après une étude faite sur le groupe S4 : K = Q(σ1 , . . . , σ4 ) ⊂ K(y1 ) ⊂ K(t1 ) ⊂ Q(x1 , x2 , x3 , x4 ) 1.5. Conclusion Les travaux de Lagrange ont permis de sortir le problème de la résolution d’équations de l’empirisme dans lequel il était plongé depuis l’antiquité. Il a développé les premières interactions entre résolution d’équations et étude des permutations des solutions qui vont permettre à Abel et Galois de donner un cadre théorique satisfaisant à ce problème, c’est ce qui va être présenté dans le chapitre suivant.
14
Journ´ees Nationales de Calcul Formel 2008
page 152
CHAPITRE 2
Définition du groupe de l’équation et résolution 2.1. Introduction C’est Abel qui donne une réponse négative au doute de Lagrange sur la possibilité de résoudre une équation de degré 5 et Galois fournit la théorie permettant de répondre à cette question en toute généralité. Ces deux démonstrations se basent sur les travaux de Lagrange et mettent en relation la théorie des groupes de permutations et celles des corps. Dans le chapitre 1 nous avons cherché à résoudre l’équation générale de degré n. À partir de maintenant, le polynôme P étudié sera à coefficients spécifiés dans Q et ses racines (α1 , . . . , αn ) seront algébriquement liées, toutefois, nous les supposerons simples. Ainsi, le corps Q(α1 , . . . , αn ) est isomorphe à l’anneau Q[α1 , . . . , αn ] et donc, plutôt que de considérer des fonctions des racines de l’équation comme précédemment, nous considérerons des évaluations de polynômes multivariés en les racines de P . Une autre différence importante avec ce qui a été vu précédemment est le caractère séparable et irréductible des résolvantes considérées. En effet, les racines de l’équation étant liées algébriquement, il se peut qu’une résolvante ait deux racines égales. On verra que l’on peut toujours construire une résolvante séparable et donc se ramener a ce que l’on a vu précédemment, notamment utiliser le théorème 1.4. Dans tout ce chapitre, le corps de base Q peut être remplacé par un corps de caractéristique 0, les démonstrations resteront les mêmes. 2.1.1. Résolvante et groupe de Galois. Soit P un polynôme à coefficients dans Q de degré n et supposé séparable. Nous allons construire une résolvante séparable qui nous permettra de d’exprimer le n-uplet α = (α1 , . . . , αn ) des solutions de l’équation P (x) = 0 en fonction de celles de cette dernière. D’après le théorème 1.4 il suffit de trouver un polynôme qui, après évaluation des permutations des racines de P , donne n! valeurs différentes. C’est exactement ce que propose Galois dans son mémoire [18] et ceci ce traduit par le résultat suivant. Proposition-Définition 2.1. Il existe un n-uplet d’entiers (k1 , . . . , kn ) tel que, en notant V ∈ Q[x1 , . . . , xn ] le polynôme k1 x1 + · · · , kn xn et O son orbite sous l’action de Sn , l’ensemble {g(α) : g ∈ O} soit de cardinal n!. La résolvante de degré n! correspondant à cet ensemble est appelée résolvante de Galois. Démonstration. Puisque le corps Q est infini l’anneau des entiers s’injecte dans ce dernier. Comme les αi sont distinctes on pourra toujours trouver un n-uplet d’entiers qui soit à l’extérieur de l’ensemble fini des solutions du système formé des équations k1 (α1 − ασ(1) ) + · · · + kn (αn − ασ(n) ) avec σ ∈ Sn . 15
Journ´ees Nationales de Calcul Formel 2008
page 153
Galois ne donne pas de preuve pour cette proposition qui lui semble immédiate. C’est ce qui lui vaudra, en partie, les mauvais commentaires de Poisson lors de la lecture de son mémoire. D’après le théorème 1.4, comme le polynôme V est laissé stable par un unique élément, l’identité dans Sn , nous pouvons identifier les racines α1 , . . . , αn à des éléments de Q(V ), en des termes plus modernes, nous venons de montrer comment construire un élément primitif pour le corps Q(α1 , . . . , αn ). Même si Lagrange avait tous les éléments pour établir un tel résultat, c’est bien Galois qui le donne en premier (voir Figure 2.1).
Fig. 2.1. [18, Page 420] Comme nous venons de le voir, pour qu’une résolvante de Galois soit séparable il faut pouvoir donner un polynôme V qui soit spécifique au polynôme P ou, de manière équivalente, à ses racines α. Nous définissons ainsi la notion importante qui suit. Définitions 2.2. Soient H ⊂ G deux sous-groupes de Sn . Un polynôme de Q[x1 , . . . , xn ] G dont le stabilisateur dans G est H est appelé H-invariant G-relatif et sera noté IH . Lorsque G = Sn on dira juste H-invariant et on le notera IH . G )(α) : σ ∈ G} est Un H-invariant G-relatif est dit α-séparant si l’ensemble {(σ · IH |G| de cardinal |H| Étant donné IH un H-invariant, pour que la résolvante correspondante soit séparable il faut et il suffit que IH soit α-séparant. Comment pouvons nous être sur qu’un tel Hinvariant existe ? En fait il est toujours possible de construire un tel polynôme à partir du hIdi-invariant utilisé dans la définition de la résolvante de Galois mais nous verrons à la section 3.4 comment en obtenir un plus efficacement. À un H-invariant relatif, nous allons associer la notion plus générale de résolvante relative. Jusqu’à présent, les résolvantes que nous avons rencontrées étaient construites en étudiants des orbites de l’action du groupe Sn , nous allons maintenant généraliser ce principe pour des sous-groupes de Sn . Proposition-Définition 2.3. Soient H ⊂ G deux sous-groupes de Sn et I un Hinvariant G-relatif. Le polynôme Y θI (t) = (t − γ(α)) γ∈OrbG (I)
est appelé résolvante G-relative de α (les résolvantes Sn -relative sont les résolvantes absolues). |G| , de plus, si l’invariant I est α-séparant alors θI sera Le degré de θI est donné par |H| séparable. Nous venons de définir la résolvante de Galois comme une résolvante absolue construite à partir d’un hIdi-invariant α-séparant. Cette résolvante a pour racine un élément V (α) permettant de définir toutes les solutions de l’équation P (x) = 0. Son degré est donné par n! mais a priori n’est pas irréductible (contrairement à ce que nous avons pu voir 16
Journ´ees Nationales de Calcul Formel 2008
page 154
au chapitre précédent où les racines de P étaient algébriquement libres). Nous allons maintenant chercher à retrouver un facteur irréductible de cette résolvante qui s’annule en V (α), en fait, nous construisons un polynôme minimal de V (α) à partir d’un sousgroupe G de Sn . Théorème 2.4. Soit V un hIdi-invariant α-séparant et θV la résolvante de Galois correspondant. Il existe un sous groupe G de Sn tel que Y µV (x) = (x − (g · V )(α)) g∈G
soit un facteur irréductible à coefficients dans Q de θV s’annulant en V (α). Le groupe G est caractérisé par le fait qu’un polynôme W ∈ Q[x1 , . . . , xn ] évalué en les racines α est à valeur dans Q si et seulement si W (α) est stable sous l’action de G (i.e. ∀g ∈ G, (g · W )(α) = W (α)). Démonstration. Soit G le sous-ensemble de Sn contenant Id tel que Y µV = (x − (g · V )(α)) g∈G
soit un facteur irréductible sur Q de θV s’annulant en V (α), notons k son degré. Soit W (α) un élément de Q(α) qui reste invariable sous l’action des éléments de G. D’après le théorème 1.4 cet élément s’exprime rationnellement en V (α), i.e. il existe un polynôme ψ en une variable à coefficients dans Q tel que W (α) = ψ(V (α)). Par hypothèse, ψ(V (α)) reste invariable sous l’action des éléments de G. Ainsi, ! 1 X ψ(V (α)) = ψ((g · V )(α)) k g∈G et la partie de droite de l’expression précédente est une fonction symétrique des racines du polynôme µV ◦ ψ qui sera rationnel, donc W (α) ∈ Q. Réciproquement, supposons que W (α) soit rationnelle. Il existe un polynôme ψ tel que ψ(V (α)) = W (α) soit rationnel. Ainsi le polynôme ψ(x) − W (α) est à coefficients dans Q et s’annule en V (α), comme µV est irréductible, ce polynôme s’annule en toutes les racines de µV et donc ψ((e · V )(α)) = W (α) pour tout e dans G. On en conclut que W (α) est stable sous l’action des éléments de G. Reste à montrer que G est un groupe. D’après ce que nous venons de voir, comme les coefficients de µV sont des éléments de Q(α) qui sont rationnels ils doivent être stable sous l’action des éléments de G. En conséquence, le polynôme µV est stable sous l’action de ces mêmes éléments. Pour qu’il en soit ainsi, il faut et il suffit que cette action se traduise par la permutation des facteur binômes entrant dans la définition de ce polynôme. Comme Id ∈ G on se rend compte rapidement que pour tout élément g ∈ G son inverse sera présent dans G et donc G est un sous-groupe de Sn . Ce théorème nous donne une condition nécessaire et suffisante pour qu’un élément de Q(α) soit rationnel, cette condition se faisant à l’aide d’un groupe, ce théorème est le point central de la théorie de Galois. Proposition-Définition 2.5. Le groupe G du théorème précédent ne dépend pas du choix de l’élément primitif V (α) et est appelé groupe de Galois sur Q de P . Par contre, le groupe G dépend de l’ordre donné aux racines de P , pour être plus précis, on parlera donc du groupe de Galois de l’extension Q(α) sur Q et que l’on notera Gal(Q(α)/Q). 17
Journ´ees Nationales de Calcul Formel 2008
page 155
Démonstration. Soit V 0 (α) un deuxième élément primitif pour Q(α). Le polynôme minimal µV 0 de cet élément est rationnel ainsi, d’après le théorème 2.4, tous les éléments du groupe de Galois G (obtenu à partir de V (α)) doivent le stabiliser. Soit G0 le groupe de Galois défini à partir de V 0 (α). Par définition, nous avons Y µV 0 (x) = (x − (g · V 0 )(α)) g∈G0
et donc pour que les éléments de G stabilisent ce polynôme il faut qu’ils s’identifient à ceux de G0 . En échangeant le rôle de G et G0 on obtient l’égalité entre ces deux groupes. Le théorème 2.4 permet de caractériser les éléments rationnels de Q(α) à partir d’un groupe de permutations. Nous allons maintenant voir comment caractériser ses souscorps à partir des sous-groupes de Gal(Q(α)/Q) mais avant de donner ces résultats, nous donnons ici une traduction du théorème de Lagrange (Théorème 1.4) avec ce nouveau regard galoisien. Théorème 2.6. Soit β1 et β2 deux éléments de Q(α) tels que StabG (β1 ) soit inclus dans StabG (β2 ) où G est le groupe de Galois Gal(Q(α)/Q). Alors β2 est un élément de Q(β1 ) Démonstration. La démonstration du théorème 1.4 peut être reprise mutatis mutandis en utilisant la caractérisation du groupe de Galois. Les deux lemmes qui suivent nous donnent les premiers résultats de correspondance entre les sous-groupes du groupe de Galois et des sous-corps du corps de décomposition. Lemme 2.7. Soit H un sous-groupe de Gal(Q(α)/Q). L’ensemble des éléments de Q(α) laissés stables sous l’action de H forme un sous-corps de Q(α) noté Q(α)H Démonstration. Il est immédiat de vérifier que la partie Q(α)H de Q(α) est un corps. Lemme 2.8. Soit L une extension intermédiaire entre Q et Q(α). Le groupe de Galois de Q(α) sur L est un sous-groupe de Gal(Q(α)/Q), il est noté Gal(Q(α)/L). Pour rester dans l’esprit de la résolution de l’équation P (x) = 0 le lemme qui précède peut se reécrire de la manière suivante : soit f un polynôme irréductible ayant une racine β dans Q(α). Le groupe de Galois de P vu à coefficients dans Q(β) est un sous-groupe de Gal(Q(α)/Q). En d’autres termes, en rajoutant des solutions de l’équation f (x) = 0 au problème de départ (la résolution de P (x) = 0), ce dernier devient moins difficile puisque que le groupe à considérer s’affine, et le nombre de permutations à considérer est donc plus petit. Démonstration. Soit β un élément primitif de L sur Q. L’ensemble des éléments de G = Gal(Q(α)/Q) qui stabilisent β est le sous-groupe de G défini par H = StabG (β). Par la caractérisation du groupe de Galois (voir le théorème 2.4) on a alors H = Gal(Q(α)/Q(β)). Des deux lemmes précédents et du théorème 2.4 on déduit le résultat suivant. Théorème 2.9. (Correspondance galoisienne) Soient G l’ensemble des sous-groupes de Gal(Q(α)/Q) et K l’ensemble des sous-corps de Q(α). L’application qui fait correspondre un élément H de G le sous-corps Q(α)H des éléments de Q(α) laissés stables sous l’action de H est bijective. 18
Journ´ees Nationales de Calcul Formel 2008
page 156
Les lemmes précédents sont très théoriques, ils nous donnent l’existence d’un corps correspondant à un sous-groupe du groupe de Galois mais, ils ne donnent aucun moyen de le définir explicitement. La proposition qui suit résout ce problème. Ce résultat est fondamental pour l’utilisation des résolvantes relatives en théorie de Galois. Proposition 2.10. Soit L une extension intermédiaire entre Q(α) et Q correspondant à un sous-groupe H de G = Gal(Q(α)/Q) et soit I un H-invariant G-relatif supposé αséparable. La résolvante relative Y θI (t) = (t − γ(α)) γ∈OrbG (I)
est un polynôme définissant L sur Q. En particulier, le degré [L : Q] est donné par le |G| degré |H| de cette résolvante. En d’autres termes, cette proposition nous donne la définition d’un élément minimal de L sur Q défini par I(α) qui est de polynôme minimal θI (t). Démonstration. Montrons que le polynôme θI ainsi défini est un polynôme irréductible à coefficients dans Q. Le fait qu’il soit à coefficients dans Q découle du théorème 2.4 puisque les coefficients de θI sont stable par G par construction. Supposons que θI soit réductible, alors il existe E un sous-ensemble strict de G//H contenant Id tel que Y f (t) = (t − (τ · I)(α)) τ ∈E
soit un polynôme annulateur de I(α) à coefficients dans Q. D’après la caractérisation du groupe de Galois (voir le théorème 2.4) le polynôme f doit donc être stable sous l’action G. Ainsi, si on prend un élément τ de G//H en dehors de E, le polynôme τ · f doit rester inchangé sans pouvoir être annulateur de I(α) puisque I est supposé α-séparant, ce qui est absurde. Ainsi, le polynôme θI est irréductible sur Q. Le corps Q(I(α)) est laissé stable par les éléments de H par hypothèse sur I, ainsi Q(I(α)) ⊂ Q(α)H . Pour obtenir l’inclusion inverse, il suffit d’appliquer le théorème 2.6. Maintenant que nous avons défini l’objet essentiel de ce cours voyons son application pour la résolution de l’équation P (x) = 0. 2.1.2. Quelques propriétés sur les groupes de permutations finis. Puisque nous allons utiliser des résultats sur les groupes de permutations finis, nous rappelons ici certaines de leurs propriétés et définitions. Dans toute la suite nous étudions l’action canonique du groupe symétrique sur l’ensemble X = {1 . . . , n}. Les définitions que nous donnons ici seront données sur les sous-groupes de Sn plutôt que sur les actions correspondantes. Définition 2.11. Un sous-groupe G de Sn est dit transitif si pour tout entier i de {1, . . . , n} il existe un élément g ∈ G tel que g(1) = i. Soit G un sous-groupe de Sn et Π une partition de l’ensemble X. Nous dirons que G stabilise Π dès que, pour tout ensemble e de Π on a {g · e : g ∈ G} ∈ Π. Nous appellerons partition triviale d’un ensemble E la partition réduit au seul élément E et celle composée des singletons. Il est clair que tout sous-groupe G de Sn stabilise les partitions triviales de X, les groupes qui ne stabilisent que ceux ci sont :. 19
Journ´ees Nationales de Calcul Formel 2008
page 157
Définitions 2.12. Un sous-groupe G de Sn est dit primitif s’il ne stabilise que les partitions triviales de X. Dans le cas contraire le groupe G sera dit imprimitif. Une partition de X qui est stable sous l’action de d’un groupe imprimitif est appelé système complet de bloc (d’imprimitivité). L’exemple le plus simple de groupe imprimitif est Sn pour n > 0. Les groupes primitifs sont rares, par exemple, on ne connaît pas de formule simple qui prédise le nombre de tels groupes de permutations pour un degré donné. Proposition 2.13. Soit G ⊂ Sn un groupe transitif qui soit aussi imprimitif. Toute partition non triviale de X stable sous l’action de G est formée de sous-ensembles de même cardinal. Démonstration. Soit Π une partition de X stable sous l’action de G transitif. Supposons que Π possède deux sous-ensembles A1 , A2 de tailles différentes. Donc g · A1 ∩ A2 = ∅ pour tout élément g de G, ce qui est impossible puisque G est transitif. Nous rappelons deux dernières définitions qui permettent de caractériser des corps de décomposition de polynômes différents de P et inclus dans Q(α). Définition 2.14. Soit G ⊃ H deux groupes de Sn . Nous dirons que H est un sousgroupe distingué (ou normal) de G s’il est stable par conjugaison de G, c’est-à-dire ∀g ∈ G,
g −1 Hg = H
Le groupe G sera dit simple s’il ne possède aucun sous-groupe distingué autre que ses groupes triviaux (celui réduit à l’identité et G tout entier). La notion de groupe simple est centrale dans la résolution des équations s’appuyant sur la théorie de Galois, le groupe A5 représentant un des exemples les plus connus. C’est ce que nous allons voir maintenant. Chacune des notions introduites ci-avant sur les groupes va être reliée à une propriété sur les polynômes. 2.1.3. Propriétés sur les corps obtenues à partir de celles du groupe de Galois. Une première caractérisation du polynôme P à partir du groupe de Galois est celle de son irréductibilité. Proposition 2.15. Un polynôme irréductible de degré n a pour groupe de Galois un sous-groupe transitif de Sn et réciproquement. Démonstration. Soit (x−α1 )(x−α2 ) · · · (x−αn ) le polynôme irréductible de degré n, supposons que son groupe de Galois G ne soit pas transitif. Soit O l’orbite de α1 sous l’action de G. Par hypothèse, O est un sous-ensemble strict de {1, . . . , n}. Le polynôme Q (x − α) est alors stable sous l’action de G et donc à coefficients rationnels d’après α∈O le théorème 2.4. Ce dernier polynôme est annulateur de α1 de degré strictement inférieur à n ce qui est absurde. Réciproquement, soit G, sous-groupe transitif de Sn , le groupe de GaloisQde (x − α1 )(x−α2 ) · · · (x−αn ). Supposons que ce polynôme n’est pas irréductible. Soit α∈O (x− α) le facteur de ce polynôme qui s’annule en α1 , alors par hypothèse O est un sousensemble strict de {1, . . . , n}. Le groupe G étant transitif, on pourra toujours trouver g ∈ G tel que g · O = 6 O ce facteur irréductible n’est pas stable sous l’action de G et donc ne peut être à coefficients rationnels, ce qui termine la démonstration. Nous avons la définition qui suit. 20
Journ´ees Nationales de Calcul Formel 2008
page 158
Définition 2.16. Soit α une racine d’un polynôme irréductible µ(x) sur Q. Les racines de µ sont appelées conjugués de α. De la proposition précédente, on tire que l’ensemble des conjugués d’un élément algébrique sur Q est donné par l’orbite de cet élément sous l’action du groupe de Galois d’un de ses polynômes annulateur. Nous allons maintenant voir comment détecter les sous-corps de Q(α) qui sont eux mêmes des corps de décomposition de polynômes. Proposition-Définition 2.17. Soit f un polynôme irréductible qui a une de ses racines dans Q(α) alors toutes ses racines sont dans Q(α), plus généralement une extension de corps qui a cette propriété est dite normale. Démonstration. Soit β la racine de f qui est dans Q(α). Il existe donc un polynôme W de Q[x1 , . . . , xn ] tel que β = W (α). Formons le polynôme Y Θ(x) = (x − (g · W )(α)) g∈G
qui, par le théorème 2.4, sera à coefficients rationnels et donc un multiple de f , on en déduit alors le résultat. Corollaire 2.18. En reprenant les mêmes notations que celles utilisées dans la démonstration de la proposition 2.17. Soit W un polynôme de Q[x1 , . . . , xn ] tel que β = β1 = W (α) et {τ1 = Id, . . . , τk } une transversale à gauche de Gal(Q(α)/Q) sur H = Gal(Q(α)/Q(β1 )). Les racines de f dans Q(α) sont les éléments β1 = (τ1 · W )(α), . . . , βk = (τk · W )(α) et les groupes de Galois correspondants sont Gal(Q(α)/Q(β1 )) = τ1 Hτ1−1 , . . . , Gal(Q(α)/Q(βk )) = τ1 Hτk−1 Démonstration. Pour montrer ce corollaire il suffit de montrer l’assertion sur l’ensemble des racines de f , la deuxième assertion étant obtenue par application directe du théorème 2.9. Pour montrer cette première assertion il suffit de remarquer que le polynôme Θ de la preuve précédente peut être factorisé en facteurs irréductibles sur Q de la manière suivante (comme nous l’avons déjà fait à plusieurs reprises) Θ(x) = ((x − (τ1 · W )(α)) · · · (x − (τk · W ))|H| . Le polynôme mis à la puissance est donc f et le résultat suit.
Nous venons de voir qu’un corps de décomposition est une extension normale sur un quelconque de ses sous-corps. Nous allons voir comment caractériser si un tel sous-corps est lui même un corps de décomposition. Proposition 2.19. Une extension intermédiaire L entre Q et Q(α) est le corps de décomposition d’un polynôme f irréductible à coefficients dans Q (extension normale de Q) si et seulement si le groupe de Galois Gal(Q(α)/L) est un sous groupe distingué de Gal(Q(α)/Q). Démonstration. Soit L = Q(β1 , . . . , βk ), contenu dans Q(α), le corps de décomposition du polynôme f . D’après le corollaire 2.18 et le théorème 2.9, le groupe de Galois de Q(α) sur L est l’intersection des τi Hτi−1 (en reprenant les mêmes notations que dans 21
Journ´ees Nationales de Calcul Formel 2008
page 159
la démonstration du corollaire 2.18). Cet intersection est un groupe qui par construction est distingué dans Gal(Q(α), Q). Réciproquement, considérons une extension L de Q telle que le groupe de Galois de Q(α) sur L soit distingué dans Gal(Q(α)/Q) et soit f un polynôme définissant cette extension. Notant β1 une racine de f dans Q(α), nous avons L = Q(β). Comme H = Gal(Q(α/L) est distingué dans Gal(Q(α)/Q), d’après le corollaire 2.18 et le théorème 2.9 nous avons égalité entre les corps Q(βi ) définis à partir de chacune des racines de f et donc Q(β1 , . . . , βk ) = Q(β1 ) = L est un corps de décomposition d’un polynôme irréductible à coefficients dans Q. Le restant de cette section peut être passé en première lecture. Les résultats suivants ne rentrent pas dans le cadre strict de la résolution de l’équation P (x) = 0 par adjonction d’éléments irrationnels. Les résultats qui suivent permettent d’identifier si l’équation P (x) = 0 peut être décomposée, c’est-à-dire, telle que le polynôme P puisse s’écrire P = f ◦ g pour f et g deux polynômes irréductibles, ainsi, le problème de la résolution de l’équation P (x) = 0 peut être découpée. Ceci revient à caractériser la présence d’un sous corps non trivial entre Q et le corps de rupture Q(α1 ) de P . Supposons pour le restant de cette section que le polynôme P est irréductible. Lemme 2.20. Soit Bi l’ensemble des blocs d’imprimitivité de {1, . . . , n} contenant i et Ki l’ensemble des sous-corps de Q(αi ). L’application qui a B ∈ Bi fait correspondre le corps K ∈ Ki défini par K = Q(α)B est une bijection.
Démonstration. Ceci est une conséquence directe du théorème 2.9.
D’après le lemme 2.20, nous pouvons donc associer de manière unique un système complet de {1, . . . , n} à un sous-corps de Q(α1 ). Ceci peut se représenter par la figure suivante Q(α)
uu uu u uu uu
ooo ooo o o oo ooo
II II II II I
hIdi PP
PPP PPP PPP PP
Q(α1 )
Q(α2 )
Q(αn )
StabG ({1})
StabG ({2})
StabG ({n})
Q(β1 )
Q(βi )
Q(βj )
StabG (B1 )
StabG (Bi )
StabG (Bj )
II II II II II
Q
u uu uu u uu uu
PPP PPP PPP PPP PP
G
nnn nnn n n nnn nnn
Étant donné une décomposition du polynôme P , ou de manière équivalente, d’un corps K contenu dans Q(α1 ) nous allons voir comment construire le système complet correspondant. Lemme 2.21. Soit Q(β1 ) un sous-corps de Q(α1 ), g le polynôme minimal de β de degré k et h un polynôme tel que h(α1 ) = β. L’ensemble B1 = {i : h(αi ) = β1 } est le bloc d’imprimitivité qui définit le corps Q(β1 ). Le système complet correspondant est donné par les blocs Bj = {i : h(αi ) = βj } de taille nk . Démonstration. Comme P est supposé irréductible, d’après la proposition 2.15, le groupe de Galois de P sur Q est transitif et les blocs d’imprimitivité d’un système complet seront donc de la même taille comme le montre la proposition 2.15. Pour obtenir 22
Journ´ees Nationales de Calcul Formel 2008
page 160
le résultat il suffit donc de montrer que B1 est bloc d’imprimitivité, ce qui est immédiat par construction. Réciproquement, nous allons voir comment construire le sous-corps de Q(α1 ) correspondant à un système complet. Jusqu’à présent, lorsque nous utilisions les résolvantes nous nous sommes restreints à utiliser des résolvantes absolues, pour la construction de ces sous-corps, nous allons voir l’utilité des résolvantes relatives. Q Lemme 2.22. Soit V le monôme i∈B1 xi . Le polynôme V est un StabGal(Q(α)/Q) (B1 )invariant Gal(Q(α)/Q) relatif. Si de plus V est α-séparant, alors la résolvante relative Y (x − (σ · V )(α)) σ∈Gal(Q(α)/Q)// StabGal(Q(α)/Q) (B1 )
est un polynôme minimal pour le sous-corps de Q(α1 ) correspondant à B1 . Démonstration. Tous les résultats énoncés dans ce lemme sont des conséquences directes de la construction et des raisonnements déjà utilisés pour les résolvantes. 2.2. Résolution de l’équation et groupe de Galois Dans cette section nous finissons d’étudier le problème 1 en lui donnant une réponse négative basée sur les résultats obtenus dans les sections précédentes. 2.2.1. L’impossibilité de résoudre une équation de degré n > 5 en résolvant des équations de plus petit degré. Rappelons que le problème 1 est de savoir si l’on peut toujours résoudre l’équation P (x) = 0 avec P un polynôme à coeficients rationnels de degré n en résolvant des équations de degrés inférieurs. De manière équivalente, ce problème revient à savoir s’il est toujours possible de construire L, une extension intermédiaire entre Q et Q(α), qui soit le corps de décomposition d’un polynôme f de degré inférieur à n et telle que l’extension Q(α)/L soit de degré inférieur à n. D’après la proposition 2.19 et le théorème de correspondance galoisienne 2.9, ceci revient à se demander s’il existe toujours un sous-groupe distingué H d’un groupe G ⊂ Sn vérifiant les hypothèses suivantes |G| – |H| 4 ce groupe ne possède qu’un seul sous-groupe propre distingué, le groupe alterné An qui est simple. La première assertion de ce théorème est immédiate, la seconde assertion est classique et se trouve déjà dans l’ouvrage de Jordan [26]. De ce résultat et de tout ce que nous venons de développer, on déduit : Corollaire 2.25. L’équation générale de degré n > 4 ne peut être résolue à l’aide d’équations auxiliaires de degrés inférieurs. Démonstration. Le seul moyen de résoudre l’équation générale de degré n > 4 est, d’après le théorème précédent, de considérer le corps de décomposition d’une équation de degré 2 (la résolvante correspondant au groupe An ). Le groupe de Galois de l’équation de départ se réduira à An en la considérant sur cette extension et donc, pour la résoudre, il faudra considérer le corps de décomposition d’un polynôme de degré un multiple de |An | = n!2 puisque le groupe alterné de degré n > 4 est simple. Si l’on reprend ce que nous avions fait au chapitre 1 pour le degré 4 nous pouvons redonner une explication qui ne se fait qu’en utilisant les sous-groupes de S4 . Soit H le sous-groupe d’ordre 8 de S4 engendré par les permutations (1, 2), (3, 4), (1, 3)(2, 4) (c’est le groupe diédral, celui qui laisse fixe un carré). Nous avons vu au chapitre 1 que la résolvante absolue correspondant à ce groupe est de degré 3. Une fois cette équation résolue, nous pouvons considérer le corps de décomposition K1 de cette dernière et alors le groupe de Galois de Q(x1 , . . . , x4 ) sur K1 sera le groupe I = ∩g∈Sn gHg −1 (voir la preuve de la proposition 2.19) qui se réduit au groupe d’ordre 4 engendré par les permutations (1, 2)(3, 4) et (1, 3)(2, 4). Le groupe H 0 engendré par l’élément (1, 2)(3, 4) est un sous-groupe d’ordre 2 distingué dans I. Ainsi, en considérant une résolvante séparable H-relative pour un H 0 -invariant H-relatif, ce polynôme sera d’ordre 2 sur K1 et son corps de décomposition K2 a pour propriété que le groupe de Galois de l’équation de départ sur K2 se réduira H 0 . Comme H 0 n’est plus d’ordre 4, il ne peut plus être transitif, ainsi l’équation ne peut plus être irréductible et, plus exactement, se factorise en deux équations de degré 2 que nous pourrons résoudre (la résolution d’une seule des deux équations permettra de réduire le groupe de Galois à l’identité et on obtiendra l’ensemble des solutions de l’équation de départ). Tout ceci peut se résumer par la descente de 24
Journ´ees Nationales de Calcul Formel 2008
page 162
groupes qui suit S4
3
H distingué
2
I
H0
2
hIdi
distingué
2.2.2. Résolution par radicaux. Pour caractériser les équations qui sont résolubles par radicaux il faut, en plus de considérer les sous groupes distingués de Sn , étudier le lien entre les groupes abéliens et les extensions de corps obtenues par adjonction de racine primitive de l’unité. Ce lien se fait à l’aide des résolvantes de Lagrange que nous avons vues au chapitre 1. Pour plus de détails sur ces résultats, on pourra lire les ouvrages [12] [42] et pour une vision plus algorithmique de la résolution par radicaux on pourra consulter les articles [3] [47] [24].
25
Journ´ees Nationales de Calcul Formel 2008
page 163
Journ´ees Nationales de Calcul Formel 2008
page 164
Deuxième partie
Calcul du groupe de Galois et du corps de décomposition
Journ´ees Nationales de Calcul Formel 2008
page 165
Journ´ees Nationales de Calcul Formel 2008
page 166
Préambule Comme nous avons pu le voir dans la partie précédente, le calcul du groupe de Galois et du corps de décomposition d’un polynôme P permet de construire les différentes relations entre ses racines et permet ainsi de résoudre l’équation P (x) = 0 formellement. Rappelons que d’après la correspondance de Galois, l’étude des sous-groupes de groupe de Galois permet de construire l’ensemble des sous-corps du corps de décomposition qui peuvent posséder des caractéristiques arithmétiques intéressantes pour le mathématicien. Il y a différents problèmes liés au calcul du groupe de Galois d’un polynôme. Étant donné un polynôme f de degré n nous avons, par ordre croissant de difficulté, les problèmes suivants (1) Calculer une représentation dans Sn du groupe de Galois de f ; (2) calculer une représentation dans Sn de l’action du groupe de Galois de f sur des approximations des racines de f ; (3) calculer une représentation dans Sn de l’action du groupe de Galois de f sur des représentations formelles des racines de f . Si le but du calcul du groupe de Galois est de pouvoir utiliser cet objet pour effectuer des constructions mathématiques, la résolution du premier point ne sera pas d’une très grande utilité. Le troisième problème peut se voir comme le calcul du corps de décomposition du polynôme f et du groupe de Galois correspondant et le deuxième comme une approxiamtion de cette action. Dans cette partie nous traiterons principalement les deux derniers points D’un point de vue historique, la première méthode pour le calcul du groupe de Galois d’une équation est donnée par Galois lui même dans sa définition de ce groupe (c’est celle
Fig. 2.2. [26, Page 355] que nous avons présentée au chapitre précédent). Bien que constructive, cette méthode 29
Journ´ees Nationales de Calcul Formel 2008
page 167
est loin d’être effective, en effet, il s’agit ici de factoriser un polynôme de degré n! où n est le degré de l’équation. D’ailleurs c’est pour résoudre formellement ce genre de problème de factorisation que Kronecker construit un tel algorithme dans [28]. Cette méthode, bien que de complexité exponentielle, est celle que reprend Van der Waerden dans son livre [43, 44] alors que Jordan donnait déjà dans son ouvrage [26] (voir Figure 2.2), une méthode qui parait beaucoup plus prometteuse. Ceci c’est révélé être vrai puisque les algorithmes utilisés aujourd’hui découlent tous du même principe basé sur le calcul de résolvantes qui ne se résume pas à l’utilisation de celle définie par Galois (de degré n!).
30
Journ´ees Nationales de Calcul Formel 2008
page 168
CHAPITRE 3
Calcul du groupe de Galois 3.1. Introduction Dans ce chapitre, nous présentons des méthodes de calcul permettant de retrouver le groupe de Galois d’un polynôme donné en entrée. Nous présenterons, en particulier, des algorithmes permettant de retrouver l’action de ce groupe sur des approximations des racines de ce polynôme. Dans tout ce chapitre, le polynôme étudié P sera supposé irréductible de degré n et à coefficients dans le corps des rationnels. Tout comme nous l’avons déjà fait précédemment, nous fixons α = (α1 , . . . , αn ) un ensemble ordonné fixé des racines de P . 3.2. Groupe de Galois, automorphismes et conjugaisons Nous avons vu au chapitre 2, une définition du groupe de Galois d’un corps de décomposition sous la forme d’un sous-groupe du groupe symétrique qui repose sur un ordre fixé des racines du polynôme. Nous allons ici montrer comment passer d’une représentation de ce groupe en passant d’une numérotation à une autre et le lien avec le groupe des Q-automorphismes d’un corps de décomposition. Ces résultats très généraux pourront être retrouvés et développés dans un ouvrage général comme celui de Lang (voir [30]). Représentation par permutations. Soit G un groupe agissant sur un ensemble E. À une telle action on peut associer un homomorphisme ρ du groupe G dans le groupe Perm(E) des permutations de l’ensemble E, où l’image par ρ d’un élément g de G est définie par ρ(g) : E −→ E e 7−→ g · e Inversement, si on se donne un homomorphisme ρ du groupe G dans le groupe Perm(E), alors on peut en déduire une action de G sur E (notée ·). En effet, si on considère l’application définie par G × E −→ E (g, e) 7−→ g · e := ρ(g)(e) on vérifie aisément que ceci est action de G sur E. Un homomorphisme du groupe G dans le groupe des permutations Perm(E) est appelé représentation par permutations du groupe G. D’après ce que nous venons de voir, il est donc équivalent de se donner une action d’un groupe G sur un ensemble E ou une représentation par permutations du groupe G. Ainsi nous ne distinguerons plus une action de sa représentation par permutations qui lui est associée. Nous allons maintenant nous concentrer sur le cas où l’ensemble E est fini. 31
Journ´ees Nationales de Calcul Formel 2008
page 169
Représentation symétrique. Soit G un groupe agissant sur un ensemble fini E de cardinal l’entier n. Notons ρ la représentation par permutations qui est associée à cette action. Une numérotation de E peut être vue comme une application bijective de l’ensemble {1, . . . , n} dans E. Fixons N une telle numérotation de E. Nous avons alors l’isomorphisme de groupe : Perm(E) −→ Sn s 7−→ N −1 ◦ s ◦ N et nous en déduisons l’homomorphisme de groupe suivant : φN : G −→ Sn g 7−→ N −1 ◦ ρ(g) ◦ N Un tel homomorphisme sera appelé représentation symétrique par rapport à la numérotation N et lorsque la situation est sans ambiguïté sur N , c’est-à-dire lorsque la numérotation est fixée, nous parlerons de représentation symétrique. Soit N1 et N2 deux numérotations de E. Alors, il existe une permutation σ dans Sn telle que : N2 = σ ◦ N1 , et donc : φN2 = σ −1 ◦ φN1 ◦ σ . ˆ le sous-groupe de Sn image d’une représentation symétrique de G. D’après ce Soit G qui précède, G peut être représenté par un groupe quelconque de la classe de conjugaison ˆ dans Sn mais aucun autre. de G L’action du groupe G sur l’ensemble E est dite fidèle si la représentation symétrique correspondante est injective, ou si, de manière équivalente, le sous-groupe ∩e∈E StabG (e) de G est réduit à l’élément unité. Groupe des automorphismes. Soit P un polynôme séparable et α l’ensemble fini de ses racines (distinctes) dans une clôture de Q. Notons L un corps intermédiaire entre le corps de décomposition QP de P et Q. Le corps de décomposition de P est alors engendré sur L par α. Comme la restriction à L d’un élément φ du groupe des L-automorphismes de QP se réduit à l’identité, la définition de φ ne dépend que des images qu’il prend sur les éléments de α. Ainsi nous pouvons construire un homomorphisme injectif ρ de la forme AutL (QP ) −→ Perm(α) et défini par ρ(φ) : α −→ α e 7−→ φ(e) De cette manière, nous obtenons une action fidèle du groupe des L-automorphismes sur l’ensemble α. Soit N une numérotation des racines de P , c’est-à-dire des éléments de α, alors nous avons une représentation symétrique injective du groupe G dans Sn . Soit ˆ l’image dans Sn de cette représentation, alors G est isomorphe à G ˆ et, d’après ce que G nous avons vu plus haut, nous pouvons construire un isomorphisme entre G et chacun ˆ dans Sn en changeant de numérotation. On a la définition qui suit. des conjugués de G 32
Journ´ees Nationales de Calcul Formel 2008
page 170
Définition 3.1. Soit P un polynôme séparable de Q[x] de degré n un entier strictement positif et L un corps intermédiaire entre QP et Q. Nous appellerons groupe de Galois de P sur L, un représentant quelconque de la classe de conjugaison dans Sn du groupe de Galois du corps QP sur L. Ce groupe sera noté GalL (f ). Exemple 3.2. Soit Q = Q et f = x6 − 10x4 + 31x2 − 30. Comme f se factorise sur 2 2 Q en f√= (x√ −√ 2)(x2 − √3)(x √ − 5) √ les racines de f sont toutes réelles et sont données par α = { 2, − 2, 3, − 3, 5, − 5}. Exhibons le groupe des Q-automorphismes du corps QP = Q[α]. Le groupe AutQ (QP ) contient [QP : Q] éléments et ici nous avons clairement [QP : Q] = 8. Soit φ ∈ AutQ (KP ) et α ∈ α. Comme l’image de α par φ ne peut être qu’un conjugué de α dans α nous avons : φ(α) = −α . Nous obtenons ainsi la définition de chacun des éléments du groupe des Q-automorphismes de QP = Q[α] à partir de leur action sur l’ensemble α. Si l’on choisit de numéroter α à l’aide de la fonction N définie par : N : α −→ {1, . . . , 6} √ i 7−→ i + (i mod 2) √ √ − i 7−→ N ( i) − 1 ˆ de S6 enalors le groupe AutQ (QP ) est représenté symétriquement par le sous-groupe G gendré par l’ensemble de permutations {(12), (34), (56)} noté C(2) × C(2) × C(2). Si nous avions choisi une autre numérotation N2 pour l’ensemble α alors, en notant σ l’unique élément de Perm({1, . . . , 6}) tel que N2 = σ ◦ N , le groupe des Q-automorphismes de QP serait représenté par le sous-groupe de S6 engendré par l’ensemble de permutations {(σ(1), σ(2)), (σ(3), σ(4)), (σ(5), σ(6))} ˆ par σ −1 . Quel que soit la numérotation choisie, nous qui n’est autre que le conjugué de G dirons que le polynôme √ f a pour groupe de Galois C(2) × C(2) × C(2). Soit L le corps Q[ 2] intermédiaire entre Q et QP . Le groupe des L-automorphismes de QP est isomorphe à C(2)×C(2). Si nous choisissons de numéroter l’ensemble α à l’aide de N alors une représentation symétrique de AutL (QP ) sera donnée par le sous-groupe de S6 engendré par l’ensemble des permutations {(3, 4), (5, 6)}. 3.3. Théorème fondamental sur les résolvantes et détermination du groupe de Galois Dans cette section nous présentons les critères permettant de distinguer les sousgroupes transitifs dans leur ensemble. Ces critères reposent sur le calcul de résolvantes et permet de distinguer le groupe de Galois d’un polynôme. Soit P un polynôme irréductible de degré n, d’après la proposition 2.15 le groupe de Galois de ce polynôme est transitif. Peut on obtenir d’autres types de caractéristiques sur ce groupe lorsque l’hypothèse d’irréductibilité n’est plus vraie ? Supposons que h soit réductible sur Q, séparable et factorisable sous la forme h = f g, où f et g sont des polynômes irréductibles à coefficients rationnels. Le groupe de Galois de h, noté G, n’est donc pas transitif et on peut lui associer un système complet composé de deux blocks de transitivité. En effet, l’action de G sur les racines de h a deux orbites correspondant chacune à l’ensemble des racines de f et g car, si ça n’était pas le cas, ces deux polynômes ne pourraient être irréductibles à coefficients dans Q (voir la preuve de la proposition 2.15). 33
Journ´ees Nationales de Calcul Formel 2008
page 171
En fait, l’action de G sur l’orbite des racines de f peut être représentée fidèlement comme un sous-groupe Tf de Sk où k est le cardinal de cette orbite. On voit immédiatement que le groupe Tf est transitif et qu’il correspond au groupe de Galois de f . Ainsi, à un polynôme réductible et séparable, on peut associer l’ensemble des groupes de Galois de chacun de ses facteurs en analysant l’action canonique de son groupe de Galois. Mais le groupe de Galois d’un polynôme réductible n’est pas, en générale, égal au produit direct des groupes de Galois de ses facteurs. Plus généralement, nous pouvons appliquer le même genre de raisonnement au résolvantes séparable. On rappelle que P est un polynôme irréductible sur Q et que l’on note Q(α) un corps de décomposition de P . Nous rappelons la notion de classe de double. Définition 3.3. Soit G et H deux sous-groupes du groupe U ⊂ Sn . Une (G, U )-classe double est une classe de la relation d’équivalence qui met en relation deux éléments x et y de U dès qu’il existe un couple (g, h) ∈ G × H tel que gxh = y. L’ensemble des (G, H) classes doubles de U est noté G\U/U . En gardant les mêmes notations que dans la définition précédente, les (G, H)-classes doubles de U sont de la forme GuH où u ∈ U et U peut être partitionné selon ces classes doubles. Chacune de ces classes doubles est l’union de classes à droite de U selon G (de la forme Gu) et de classes à gauche de U selon H (de la forme uH). Nous pouvons maintenant énoncer le résultat fondamental qui suit. Théorème 3.4. Soit U ⊂ Sn contenant les deux sous-groupes G = Gal(Q(α), Q) et H. Si F est H-invariant G-relatif alors la résolvante relative à U de F s’écrit R(x) =
Y
(x − τ · F (α)) =
k Y
giai (x)
i=1
τ ∈U//H
avec gi irréductible sur Q et si l’on note IR l’ensemble des facteurs {g1a1 , . . . , gkak } alors l’application de G\U/H dans IR qui fait correspondre une (G, H)-classe double GuH de U au polynôme Y gu (x) = (x − (τ · F )(α)) τ ∈U//H tq τ H⊂GuH
est bijective. Les éléments τ de U//H rentrant dans la définition du polynôme gu sont exactement ceux définis par τ = u0 u avec u0 ∈ G//(G ∩ uHu−1 ). Démonstration. La dernière assertion sur l’ensemble des éléments entrant dans la définiton du polynôme est claire, il s’agit uniquement de réécrire l’inclusion qui définit le produit. Soit GuH une (G, H)-classe double de U . Commençons par montrer que le polynôme gu est à coefficients dans Q. Pour cela il suffit de montrer qu’il est stable sous l’action de G. Le groupe G agit naturellement sur la transversale à gauche G//(G ∩ uHu−1 ), ainsi, d’après l’assertion finale du théorème, G agit naturellement sur l’ensemble des éléments de U//H entrant dans la définition de gu en les échangeant. On en conclut que l’action de G sur gu le laisse stable puisque les classes rentrant dans sa définition ne changent pas. Clairement, gu est un diviseur de R, et il est clair aussi que tous les facteurs irréductibles de R sont des diviseurs des polynômes dans IR . Montrons que les zéros de gu sont conjugués sous l’action de G. Soient τ1 , τ2 deux éléments de U//H tels que τ1 H, τ2 H ⊂ GuH alors il existe deux éléments u01 , u02 dans G tels que τ1 = u01 u et τ2 = u02 u et donc τ1 = u01 u0−1 u2 ce qui nous donne la conjugaison des racines de gu sous l’action de G. 34
Journ´ees Nationales de Calcul Formel 2008
page 172
Montrons que les zéros de R qui sont conjugués sous l’action de G correspondent à la même (G, H)-classe double de U . Soient (σ · (τ1 · F ))(α) = (τ2 · F )(α) avec τ1 , τ2 ∈ U et σ ∈ G deux racines de R qui sont conjuguées sous l’action de G. Nous avons alors τ2−1 στ1 ∈ H et donc στ1 H = τ2 H, on en conclut Gτ1 U = Gτ2 U . D’après ce que nous venons de voir, les polynômes de IR sont des produits de puissances des facteurs irréductibles de R, sachant que tous ces facteurs irréductibles y apparaîtront. Reste à montrer que les puissances maximales des facteurs irréductibles de R sont exactement les polynômes de IR . Puisque les zéros de gu sont conjugués sous l’action du groupe de Galois G, gu ne peut être qu’une puissance d’un facteur irréductible et d’après la correspondance avec les classes doubles, ce facteur irréductible ne peut pas apparaître dans un autre polynôme de IR . Ainsi gu = gibi et pour finir la démonstration de ce théorème, il reste montrer que bi = ai . Le degré du polynôme gu est donné par |GuH| |G| Deg(gu ) = = |H| |G ∩ (uHu−1 )| et comme les (G, H)-classes doubles de U forment une partition de U . On obtient alors le degré du produit Q des gvi où vi prend ses valeurs dans l’ensemble des représentants des (G, H)-classes doubles de U et donc X |GuH| X |U | = Deg(Q) = Deg(gvi ) = |H| |H| i i et donc Deg(Q) = Deg(R) et le résultat suit.
De ce théorème on peut en déduire deux méthodes générales pour distinguer le groupe de Galois d’un polynôme. Ces deux méthodes sont basées sur les corollaires qui suivent. Le premier corollaire permet de distinguer le groupe de Galois de P à partir de valeurs qualitatives des facteurs irréductibles de résolvantes calculées à partir de P . Corollaire 3.5. En reprenant les mêmes notations que dans le théorème 3.4 et en notant m le degré de R. Si la résolvante R est séparable alors la représentation symétrique dans Sm de l’action de G sur la transversale U//H est égale au groupe de Galois sur Q du corps de décomposition de R. En particulier, cette action sur chacune (resp. la tailles) de ses orbites peut être mis en relation avec les groupes de Galois sur Q (resp. le degré) de chacun des facteurs irréductibles de R. Le deuxième corollaire permet d’identifier les sous-groupes de Sn contentant le groupe de Galois Gal(Q(α), Q). Corollaire 3.6. En reprenant les mêmes notations que dans le théorème 3.4. La résolvante R possède un facteur linéaire simple correspondant à la classe double GuH si et seulement si le groupe uHu−1 contient G. Démonstration. En reprenant les mêmes notations que dans la preuve du théorème 3.4. Supposons que gu soit linéaire, alors nous avons |G| 1 = Deg(gu ) = |G ∩ uHu−1 | et ceci nous donne le résultat. Remarque 3.7. Notez que si la résolvante R du corollaire précédent ne possède aucun facteur linéaire alors G ne pourra pas être un sous-groupe d’un conjugué de H dans U . Si R ne possède que des facteurs linéaires multiples on ne peut rien conclure. 35
Journ´ees Nationales de Calcul Formel 2008
page 173
La méthode proposée par Jordan (voir le préambule) repose sur ces résultats et plus particulièrement sur le corollaire 3.6. En effet il propose de calculer des résolvantes absolues et après factorisation de rejeter les groupes correspondants aux résolvantes ne possédant pas de facteur linéaire. De proche en proche on pourra en déduire le groupe de Galois de P . Les algorithmes actuels pour le calcul du groupe de Galois reposent sur le même genre d’idée mais l’utilisent de meilleure manière Q Exemple 3.8. Soit F = i0 telles que ak ∈ Z/pk Z et ak+1 mod pk = ak pour tout indice k > 0. L’ensemble Zp est un anneau appelé anneau des entiers p-adiques. Clairement Z s’injecte dans Zp (pour m ∈ Z il suffit de considérer la suite (m mod pk )k>0 ) et on montre facilement que Zp ne contient pas de diviseur de zéro. On peut donc considérer Qp le corps des fractions de Zp qui contiendra le corps des rationnels Q. L’anneau Zp a une structure d’anneau local d’idéal maximal hpi, c’est une autre manière de le construire, on localise Z en p et on le complète selon la distance définie par la valuation vp qui à un entier n fait correspondre la plus grande puissance k telle que pk divise n. Ainsi tout élément a ∈ Qp peut être représenté sous la forme d’une série X a= ai p i i>k
où les ai sont des représentants des classes Zp /hpi ' Z/pZ et l’on choisit de représenter k k les classes de Z/pk Z par les éléments de { −p2+1 , . . . , p2 } pour des raisons d’efficacité. (Zp correspond donc aux éléments de Qp de valuation positive ou nulle.) Le résultat fondamental attaché aux nombres p-adiques est celui qui permet de ramener des connaissances obtenues modulo p à des connaissances dans Qp . Lemme 4.6. (Hensel) Soit f un polynôme de Zp [X] et π le morphisme canonique de projection de Zp dans Z/pZ. Si π(f ) s’écrit ˆ π(f ) = gˆh ˆ premiers entre eux. Alors ils existent g et h uniques dans Zp [x] dans Z/pZ[x] avec gˆ et h tels que f = gh ˆ dans Zp [x] avec π(g) = gˆ et π(h) = h. Démonstration. La démonstration de ce lemme peut être retrouvée dans n’importe quel ouvrage de calcul formel. La démonstration de la proposition générale qui suit peut être adaptée à ce cas plus simple. D’après ce lemme, un polynôme à coefficients entiers sera irréductible sur Qp si et seulement s’il le reste modulo p. Ce résultat peut être généralisé au cas des extensions de Qp et en particulier on a la proposition qui suit. Proposition 4.7. Soit l ∈ Zp [x] irréductible sur Qp et α une racine de l. L’idéal P = pR avec R = Zp [α] est maximal et si un polynôme f ∈ R[x] vérifie ˆ mod p f = gˆh ˆ des polynômes de R/p[x] premiers entre eux alors ils existent g et h uniques pour gˆ et h dans R[x] tel que ˆ = h mod p f = gh et gˆ = g, h Nous donnons une démonstration basée sur la version simple de la remontée de Hensel. On peut tout aussi bien appliquer une version quadratique comme celle donnée dans [45] ou [9]. Démonstration. Nous avons l’isomorphisme R/p ' Zp [x]/hl, pi et en posant ˆl = l mod p on obtient R/p ' (Z/pZ )[x]/hˆli 44
Journ´ees Nationales de Calcul Formel 2008
page 182
qui sera un corps puisque ˆl est irréductible comme l d’après le lemme de Hensel. Ainsi l’idéal p est maximal. Soit pk l’idéal pk R. Nous allons montrer comment construire pour tout k > 1 des polynômes g (k) et hk tels que f = g k hk
mod pk et g k = gˆ, hk = gˆ mod p
ainsi en faisant tendre k vers l’infini on obtiendra le résultat. Fixons k > 1 et supposons que g k et hk existent. Les polynômes g k+1 et hk+1 vérifient f − g k hk ∈ pk R ainsi t =
f − g k hk ∈ R. pk
ˆ sont étrangers et à coefficients dans un corps, nous pouvons calculer les Comme gˆ et h facteurs de Bézout u et v par l’algorithme d’Euclide dans Fp [x] : ˆ=1 uˆ g + vh ˆ et h0 = tuˆ En posant g 0 = tv mod h g on peut prendre g k+1 = g k +pk g 0 et hk+1 = hk +pk h0 . k+1 k+1 Il suffit de voir que f = g h mod pk+1 équivaut à tpk = g k pk h0 + hk pk g 0 mod pk+1 et en divisant par pk on a t = g k h0 + hk g 0 mod pk+1 ce qui nous donne le résultat. Corollaire 4.8. Soit f ∈ Z[x] et p un nombre premier. Le polynôme f vu à coefficients dans Zp est séparable si et seulement si il l’est vu à coefficients dans Z/pZ. Et on obtient immédiatement Corollaire 4.9. Soit f ∈ Z[X] et p un nombre premier. Le polynôme f vu à coefficients dans Zp [x] est séparable si et seulement si le discriminant Disc(f ) ∈ Z de f n’est pas divisible par p. L’utilisation du lemme de Hensel se fait à l’aide de la remontée utilisée dans la démonstration précédente. On effectue des calculs modulo p et on les remonte modulo pk pour k > 0. Pour cela il faut s’assurer que le résultat que l’on cherche à calculer peut être inclus dans l’anneau Zp . En ce qui nous concerne ici, puisque nous sommes intéressés par représenter une approximation des racines d’un polynôme f à coefficients dans Z nous allons chercher à approximer un de ses idéaux de relations. Proposition 4.10. Soit T la base triangulaire d’un idéal des relations de f . Nous avons 1 T ⊂ Z[x1 , . . . , xn ] Disc(P )D où D > 0 est un entier obtenu à partir de f . Démonstration. La démonstration de cette proposition découlera d’un résultat sur interpolation des éléments de T que nous donnerons plus loin. La proposition qui précède nous donne une condition nécessaire et suffisante pour que la base triangulaire T soit des éléments à coefficients dans Zp . Corollaire 4.11. Si f est séparable modulo p alors l’idéal Mp = Qp ⊗Q M est engendré par T sur Qp [x1 , . . . , xn ] et nous avons T ⊂ Zp [x1 , . . . , xn ] Démonstration. Conséquence directe du corollaire 4.8 et la proposition 4.10.
45
Journ´ees Nationales de Calcul Formel 2008
page 183
À partir de maintenant, et jusqu’à la fin de ce chapitre, le premier p sera supposé, sauf mention du contraire, non ramifié dans le corps de rupture de f . Plus généralement on peut montrer, en adaptant la proposition 4.24. Proposition 4.12. Tout idéal sur Qp de variété galoisienne construit à partir des racines de f a une base triangulaire à coefficients dans Zp . D’après la proposition 4.12, les idéaux que nous considérons ont tous des bases que nous pourront relever par le principe de Hensel et d’après le corollaire 4.9 nous pouvons appliquer les résultats de la section 4.2 avec K = Qp où K = Z/pZ. À partir de ces résultats, nous allons donc maintenant étudier la décomposition de l’idéal M vu dans Qp [x1 , . . . , xn ] par extension des constantes : Mp = Qp ⊗Q M . L’idéal Mp va nous permettre de représenter les racines α de f modulo une puissance de p comme désiré. Proposition 4.13. L’idéal Mp est contenu dans un idéal des relations de f sur Qp et Mp est stable sous l’action de Gal(Q(α)/Q). Démonstration. Comme f (xi ) s’annule modulo M pour tout i dans {1, . . . , n} il en sera de même pour f (xi ) modulo Mp ce qui nous donne la première assertion. Nous avons Stab(M) ⊂ Stab(Mp ). De plus, comme Mp = Qp ⊗Q hT i nous avons |Z(Mp )| 6 |Z(M)| (voir remarque 4.5 et le résultat suit. De cette proposition on obtient la décomposition qui suit. Corollaire 4.14. Soit Np un idéal des relations de f sur Qp contenant Mp et Gp := StabSn (Np ) le groupe de Galois de f sur Qp correspondant à cet idéal maximal. Nous avons \ Gp ⊂ G = Gal(Q(α)/Q) et Mp = σ · Np σ∈G//Gp
De plus, l’idéal M est l’unique idéal des relations de f sur Q contenu dans Np sur Qp . Démonstration. Ceci est une conséquence directe de la proposition 4.4 et de la proposition 4.13. De ce corollaire on tire qu’un idéal des relations de f sur Qp ne peut correspondre qu’un unique idéal M. Nous allons nous servir de cet idéal pour approximer les racines de f . Proposition 4.15. Soit f un polynôme à coefficients entiers séparable modulo le premier p. La base triangulaire Tˆ d’un idéal des relations de f mod p peut être remontée en une base triangulaire Tp d’un idéal des relations Np de f sur Qp . En particulier Tp ⊂ Zp [x1 , . . . , xn ] Démonstration. Ce résultat est une conséquence directe de la proposition 4.7 ou plutôt de sa démonstration en construisant récursivement les éléments de la base selon les puissances croissantes. Plus généralement on pourra se référer à la construction de Newton-Hensel pour les ensembles triangulaires décrite par Schost (voir [39]). Pour calculer avec des approximations p-adiques des racines de f on commence par calculer Tˆp puis on remonte cette base modulo des puissances de p pour obtenir Np mod pk et on pourra calculer des formes normales modulo cet idéal. 46
Journ´ees Nationales de Calcul Formel 2008
page 184
Définition 4.16. L’approximation modulo pk+1 de la base Tp ∈ Zp [x1 , . . . , xn ] est notée Tpk 4.4. Calcul des racines d’une résolvante et test d’inclusion dans le groupe de Galois Soit f ∈ Z[x] un polynôme unitaire de degré n et supposé irréductible. Dans cette section nous allons montrer comment tester l’inclusion du groupe de Galois de f dans un sous-groupe H de Sn en faisant des calculs avec des approximations p-adiques des racines de f où p est un nombre premier ne divisant pas le discriminant de f . On définit ainsi une fonction Ψ prenant place dans l’algorithme 1. Ce test d’inclusion, comme décrit dans le chapitre 3, s’effectue en testant si une résolvante d’un H-invariant U -relatif I possède une racine dans Q (Le groupe U ∈ Sn contenant le groupe de Galois). Si I est choisi à coefficients entiers (ce qui est toujours possible), ceci revient à tester s’il existe une permutation σ ∈ U//H telle que (σ · I)(α) est un entier puisque les racines de f sont des entiers algébriques. Voyons comment ce test se traduit lorsque que l’on fait les calculs dans Qp . Proposition 4.17. Soit U et H des sous-groupe de Sn tel que U contienne G le groupe de Galois de f et I un H-invariant U -relatif à coefficients entiers. Soit M l’idéal des relations de f sur Q de stabilisateur G et Np un idéal des relations de f sur Qp contenant Mp . S’il existe une permutation σ ∈ U//H et un entier A tel que (σ · I − A) ∈ Np et ∀σ 0 6= σ ∈ U//H, (σ · I − A) 6∈ Np alors A est une racine simple de la résolvante relative de I et G est contenu dans σHσ −1 . Démonstration. Soit R la résolvante relative de f construite à partir de I. Par hypothèse R est à coefficients entiers et est donnée par Y R(x) = N F ( (x − σ · I), M) σU//H
Ainsi, en passant au p-adique, nous avons Y Y R(A) = N F ( (x − σ · I), Mp ) = N F ( (x − σ · I), σU//H
σU//H
\
τ · Np )
τ ∈G//Gp
Comme G Qest contenu dans U et que R est laissée stable par U par définition, on a égalité des N F ( σU//H (x − σ · I), τ · Np ) pour tout τ ∈ U//H. Comme la transversale U//H Q contient l’identité et que N F ( σU//H (x − σ · I), Np ) = 0 par hypothèse, par le théorème des restes chinois on a Y \ NF( (x − σ · I), τ · Np ) = 0 σU//H
τ ∈G//Gp
et donc A est une racine de R sur Qp et Q. Si cette racine n’était pas simple elle ne le serait pas dans Qp ce qui est absurde par hypothèse. Le résultat suit. Corollaire 4.18. Soit U et H des sous-groupe de §n tel que U contienne G le groupe de Galois de f et I un H-invariant U -relatif à coefficients entiers. Soit M l’idéal des relations de f sur Q de stabilisateur G et Np un idéal des relations de f sur Qp contenant Mp . La résolvante relative R de f construite à partir de I est à coefficients entiers et vérifie (1) Si R mod p possède une racine dans Z/pZ de multiplicité v alors elle peut être remontée en v racine de R sur Qp [x1 , . . . , xn ]/Np 47
Journ´ees Nationales de Calcul Formel 2008
page 185
(2) Supposons qu’il existe σ ∈ U tel que (σ · I − a mod p) ∈ Nˆp pour a ∈ Z/pZ (a est une racine de R mod p) et tel que la remontée A de la racine a est une racine entière simple de R sur Qp [x1 , . . . , xn ]/Np . Alors σHσ −1 contient G. Au contraire, si aucune des racines de R dans Z/pZ ne peuvent être remontées en des racines dans Z pour R sur Qp alors G ne peut être contenu dans aucun des U -conjugués de H. Cette proposition et son corollaire nous donne un test d’inclusion sur Qp nécessitant la connaissance de Np qui est aussi dur à calculer que M. Nous avons le corollaire qui suit par application du principe de Hensel. C’est le point 2 du corollaire précédent que nous allons mettre en pratique pour faire nos tests d’inclusion selon des approximations p-adiques des racines de f . Le point 1 permet de rejeter de suite des groupes H. Proposition 4.19. En reprenant les mêmes hypothèses que dans le corollaire 4.18. Soit M une borne entière sur la norme des racines de R dans C et un entier k tel que pk+1 > (2M )[U :H] . Nous avons les tests suivants (1) Si R ne possède aucune racine dans Z/pZ alors G n’est contenu dans aucun des U -conjugués de H. (2) Supposons qu’il existe un sous-ensemble S de U//H tel que pour tout σ ∈ S il existe un élément aσ ∈ Z/pZ vérifiant σ · I − aσ ∈ Nˆp . S’il existe σ ∈ S tel que Aσ = N F (σ · I, Tpk+1 ) vérifie Aσ ∈ Z/pk+1 Z, |Aσ | < M, Aσ 6= N F (σ 0 · I, T k ) ∀σ 0 6= σ ∈ S alors G est contenu dans σHσ −1 Démonstration. Le premier point est immédiat. Comme σ · I − Aσ est à coefficients entiers, nous pouvons considérer la réduction modulo pk+1 de cet élément de Zp [x1 , . . . , xn ]. Nous avons σ · I − Aσ mod (Np , pk+1 ) = σ · I − Aσ mod (Tpk+1 , pk+1 ) = 0. En appliquant le même raisonnement pour la résolvante R et en posant A = Aσ , nous avons : Y R(A) mod pk+1 = N F ( (A − σ · I), Mp ) mod pk+1 σ∈U//H
Comme NF(
Y
(A − σ · I), Np )
mod pk+1 = N F (
σ∈U//H
Y
(A − σ · I), Tpk ) mod pk+1 = 0
σ∈U//H
en appliquant le même raisonnement que dans la démonstration de la proposition 4.17) on a Y R(A) = N F ( (A − σ · I), ∩τ ∈G//Gp τ · Np ) mod pk+1 = 0 σ∈U//H
Donc R(x) = (x − A)h(x) + pk+1 g(x) avec h et g des polynômes dans Z[x]. Par hypothèse, |R(A)| < (2M )[U :H] < pk+1 ainsi R(A) = 0. Pour montrer que A est une racine simple de R on fait comme dans la preuve de la proposition 4.17. De cette proposition on tire tous les instruments permettant de modifier l’algorithme de Stauduhar pour calculer le groupe de Galois à partir d’approximations p-adiques des racines de f . Dans la pratique, on commence par calculer Nˆp et son stabilisateur Gp en faisant des calculs modulo p. On fixe l’ordre des racines à l’aide de cet idéal : au départ on a Gp ⊂ G ⊂ Sn et au fur et à mesure des tests d’inclusion on trouvera le stabilisateur G de 48
Journ´ees Nationales de Calcul Formel 2008
page 186
M contenu dans Np . L’action de G sur les racines de f dans (Z/pk+1 Z[x1 , . . . , xn ])/hTpk i sera vue comme l’action du groupe de Galois sur des approximations p-adiques des racines. 4.5. Calcul de l’ensemble triangulaire T à partir de la sortie de l’algorithme de Stauduhar p-adique. Dans cette section nous allons montrer comment calculer efficacement l’ensemble triangulaire T ∈ Q[x1 , . . . , xn ] d’un idéal des relations M de f ∈ Z[x] à partir de la sortie de l’algorithme de Stauduhar en version p-adique comme élaboré dans la section précédente. 4.5.1. Interpolation de l’ensemble T . Dans [13] Dahan et Schost proposent une formule d’interpolation générale pour chacun des polynômes intervenant dans un ensemble triangulaire T (Lederer a proposé le même genre de formules d’interpolation dans [31] en se limitant aux idéaux de relations). Ces formules se basent sur l’analyse de la variété équiprojectable définie par l’ensemble T . Nous allons voir ici comment l’analyse du groupe G, stabilisateur de l’idéal T peut réduire le nombre de coefficients à calculer. La forme générique de T . L’étude de G nous donne facilement une forme générique pour l’ensemble triangulaire T = {f1 (x1 ), f2 (x1 , x2 ), . . . , fn (x1 , . . . , xn )} que l’on suppose réduit. En effet, puisque fi (α, xi ) est le polynôme définissant de l’extension i−1 )| Ki = Q(α1 , . . . , αi ) sur Ki−1 = Q(α1 , . . . , αi−1 ) dont le degré est donné par | Gal(Q(α)/K | Gal(Q(α)/Ki )| d’après la correspondance galoisienne. Ainsi, pour tout i ∈ {1, . . . , n} on a Degxi (fi ) = | StabG [1, . . . , i − 1]|/| Stab[1, . . . , i]| et pour tout j ∈ {1, . . . , i − 1} Degxj (fi ) < | StabG [1, . . . , j − 1]|/| Stab[1, . . . , j]| A partir de ces bornes on obtient une forme générique (c’est celle que nous obtenons en appliquant [13] ou [31]) pour les éléments de T , c’est à dire un polynôme à coefficients indéterminés X cj xj11 · · · xjnn fi = xdi i + Q dont le nombre de coefficients indéterminés est donné par j∈{1,...,n} (dj − 1) où dj = | StabG [1, . . . , j − 1]|/| Stab[1, . . . , j]| < |G|. Ce nombre peut être très grand (borné par n!) et l’on aimerait pouvoir le réduire. Réduction du nombre d’indéterminées : i-relations. Pour réduire ce nombre d’indéterminées, nous allons chercher des relations entre les α qui peuvent remplacer fi ∈ T et qui comporteront moins de coefficients indéterminés à calculer. Définition 4.20. Soit E un sous-ensemble de {1, . . . , i}, nous noterons XE l’ensemble des indéterminée {xi : i ∈ E}. L’ensemble E est appelé i-relation si max(E) = i et s’il existe un polynôme ri ∈ Q[XE ] tel que αidi + ri (α) avec Degxi (ri ) < di L’exemple le plus simple de i-relation est donné par l’ensemble {1, . . . , i} et dans ce cas une relation correspondant pourra être le polynôme fi . Pour ce polynôme nous avons vu comment identifier les bornes sur les multi-degrés de ses termes. Le résultat qui suit permet de faire de même avec des i-relations plus générales. Proposition 4.21. Soit E = {e1 < e2 < · · · < es = i} une i-relation. Il existe un polynôme ri ∈ Q[XE ] comme dans la définition 4.20 tel que pour tout j ∈ {1, . . . , s} Degxj (ri ) <
| StabG [e1 , . . . , es−1 ]| | StabG [e1 , . . . , es ]| 49
Journ´ees Nationales de Calcul Formel 2008
page 187
Démonstration. Est une conséquence directe de la correspondance galoisienne. Pour calculer des i-relations non triviales, on peut utiliser le résultat immédiat suivant Lemme 4.22. Soit 1 < i 6 n un entier et 1 < m < i le plus petit entier tel que | StabG [1, . . . , m]| di = . | StabG [e1 , . . . , m, i]| Il existe une i-relation dans {1, . . . , m}. Ce lemme permet de calculer rapidement des i-relations mais ne permettra pas de trouver les meilleurs. Ci-après nous définissons ce qu’est la meilleure i-relation possible. Définition 4.23. Soit Ei = {e1 < e2 < · · · < es = i} une i-relation. Le degré Degej (Ei ) de Ei en ej ∈ Ei est défini comme suit Degej (Ei ) =
| StabG [e1 , . . . , ej−1 ]| | StabG [e1 , . . . , ej ]|
Le degré Deg(Ei ) est donné par le produit des degrés de Ei en les ej ∈ Ei . La i-relation Ei est dite minimale lorsqu’elle est minimale pour son degré et son cardinal dans l’ensemble des i-relations. Le problème de calculer une i-relation minimale relève de la combinatoire et il n’y a pas d’algorithme efficace connu mais, étant donné un groupe G, ce calcul peut être fait une fois pour toute et stocké. Les i-relations minimales correspondent aux sous-corps K de Ki = Q(α1 , . . . , αi ) de degré absolu minimal et engendrés par des racines de f prises dans {α1 , . . . , αi−1 }. Le nombre de coefficients indéterminés à calculer pour retrouver le polynôme définissant l’extension K/Ki est donné par le degré de la i-relation correspondant. Ceci peut se résumer par la figure ??. 4.5.2. Formules de Lagrange et i-relations. Soit Ei une i-relation, nous allons présenter une formule permettant de retrouver le polynôme associé à Ei à partir de la variété équiprojectable de M. Nous avons vu qu’à une i-relation Ei = {e1 < e2 < · · · < es = i} on peut associer une extension. En fait, on peut lui associer un ensemble triangulaire. En effet, on peut lui associer les polynômes minimaux µj des Q(αe1 , . . . , αes = αi ) extensions successives construites à partir des racines de f d’ind µi =xi i +ri (XEi ) dices croissants dans Ei . Ces polynômes peuvent être représentés à l’aide de polynômes gj dans Q[XEi ] et l’ensemble {ge1 , . . . , ges } Q(αe1 , . . . , αes−1 ) sera triangulaire par définition. Le polynôme ges étant celui qui µes−1 pourra remplacer fi dans T . Pour calculer l’ensemble des gj , on Q(αe1 , . . . , αes−1 ) peut appliquer les formules de Lagrange données par Dahan et Schost dans [13] mais comme la variété utilisée ici est définie par un groupe de permutations, nous allons utiliser ce cadre partiQ(αe1 ) culier pour définir ces formules. Soit σ une permutation de Sn . Nous notons O(j, σ) l’orbite de σ(ej ) sous l’action du stabiliµ1 =f (x1 ) sateur point-à-point StabG [σ(e1 ), . . . , σ(ej−1 )] qui est défini par Q l’ensemble {τ ∈ G | τ (σ(ei ))∀i ∈ {1, . . . , j−1}}. Ainsi, l’ensemble O(j, σ) représente l’ensemble des indices des racines conjuguées de σ(αej ) = ασ(ej ) sur le corps Q(ασ(e1 ) , . . . , ασ(ej−1 ) ). Ceci posé, on peut donner la formule de Lagrange définissant gi . 50
Journ´ees Nationales de Calcul Formel 2008
page 188
Proposition 4.24. Soit Ei = {e1 < . . . < es = i} une i-relation. Le polynôme gi correspondant à Ei peut être interpolé par la formule s−1 Y X Y
σ∈Trans
j=1 e∈O(j,σ)
Y xej − αe xi − αe ασ(ej ) − αe e∈O(s,σ)
e6=σ(ej )
où Trans est la transversale Gf // StabGf ([e1 , . . . , es ]) À partir de i-relations pour chacun des polynômes de T et de l’action du groupe G sur des approximations des racines de f (nous connaissons une approximation Tpk de l’ensemble triangulaire engendrant l’idéal maximal Np contenant Mp ). En effectuant des calculs de formes normales modulo l’ensemble triangulaire Tpk , on pourra interpoler une approximation du polynôme gi à l’aide de la formule de la proposition 4.24. De cette manière, on peut calculer une approximation p-adique de la base triangulaire T . Nous verrons plus loin comment certifier qu’une approximation est suffisante, pour le moment nous allons voir comment éviter le calcul de certains polynômes de T grâce à la connaissance du groupe G. 4.5.3. Schéma de calcul : où comment éviter des calculs superflus. Dans [33, 35, 32] des techniques pour éviter des calculs lors de la construction M à partir de données partielles sur le groupe G sont introduits. Dans [38],[36, 37] ces techniques sont exploitées afin de définir un schéma de calcul de T associé au groupe G. Ce schéma de calcul ne dépend que de G et peut être calculé une fois pour toute et stocké pour des calculs ultérieurs. Étant donné le groupe G ⊂ Sn , on suppose connue une i-relation Ei pour chacun des polynômes gi de l’ensemble triangulaire d’un idéal de relations de stabilisateur G. Nous allons voir comment éviter le calcul de certains polynômes de T par simple analyse du groupe G. Modules de Cauchy généralisés. Soit à calculer l’ensemble triangulaire T = {g1 , . . . , gn } de M et rappelons que l’on note di le degré de gi en xi . Notons O = {i1 = i < i2 < · · · < ik } l’orbite de i sous l’action du groupe StabG [1, . . . , i − 1]. Nous avons k = di et cette orbite représente les indices des racines de f qui sont les racines de gi . Pour un polynôme multivarié g on notera Ev(g, u) l’évaluation de g où l’on a remplacé sa variable dominante par u. Nous définissons alors. Définition 4.25. Les modules de Cauchy généralisés de gi sont les di polynômes définis par c1 (gi ) = gi et c2 (gi ) =
Ev(cdi −1 , xidi ) − Ev(cdi −1 , xidi −1 ) Ev(c1 , xi2 ) − Ev(c1 , xi1 ) , · · · , cdi (gi ) = . (xi2 − xi1 ) (xidi − xidi −1 )
Les modules de Cauchy (appelés aussi différences divisées) représentent les facteurs génériques d’un polynôme dans chacune des extensions de la tour qui va jusqu’à son corps de décomposition. Ils ont été introduit par Cauchy [8] pour définit une base des fonctions symmétriques évaluées en les racines d’un polynôme. Par construction, nous avons le résultat suivant. Proposition 4.26. Le polynôme cj (gi ) est un polynôme de Q[X{1,...,ij } ] unitaire en la variable xij et de degré di − j + 1 en xij . De plus, ce polynôme est inclus dans M. 51
Journ´ees Nationales de Calcul Formel 2008
page 189
La connaissance de G nous permet de calculer au préalable les degrés en leur variable dominante des polynômes gi et des modules de Cauchy correspondants à chacune des i-relations. Par exemple, si le degré en xij du polynôme gj est le même que celui de cj (gi ) alors on pourra remplacer gi par ce module de Cauchy dans l’ensemble triangulaire T . Ainsi on remplace l’interpolation d’un polynôme par celui du calcul d’une différence divisée qui est moins coûteux en général. Transporteur. Ici nous utilisons le fait que G est le stabilisateur de l’idéal M. Définition 4.27. Soit Ei = {e1 < e2 < · · · < es = i} une i-relation et j ∈ {i + 1, . . . , n}. Une permutation σ ∈ Gf est appelée (i, j)-transporteur dès qu’elle satisfait : σ(i) = j et j = max({σ(e) : e ∈ Ei }) Les transporteurs peuvent être déterminés par l’analyse du groupe G et à partir des la connaissance des i-relations correspondant aux polynômes de la base à calculer. Par construction nous avons. Proposition 4.28. Soit σ un (i, j)-transporteur et gi le polynôme à la i-relation Ei . Alors, N F (σ · gi , {g1 , . . . , gj−1 }) est un facteur de gj en tant que polynôme sur A = (Q[X{1,...,j−1} ]/hg1 , . . . , gj−1 i)[xj ]. Démonstration. Puisque σ est un (i, j)-transporter, le polynôme N F (giσ , {g1 , . . . , gj−1 }) peut être vu comme un polynôme h en une variable xj sur Q(α1 , . . . , αj−1 ). De plus, puisque σ · gi ∈ M, nous avons h(αj ) = 0. Ainsi h est un multiple du polynôme minimal de αj sur Q(α1 , . . . , αj−1 ), donc h est un multiple de gi en tant que polynôme sur A Corollaire 4.29. En reprenant les mêmes notations que dans la proposition 4.28. Si les degrés dj et di sont égaux alors σ · gi peut remplacer gj dans T . Comme pour les modules de Cauchy, la connaissance d’un (i, j)-transporteur vérifiant les hypothèses du corollaire 4.29 permet de remplacer l’interpolation de polynôme gj par l’application d’un transport par σ de gi qui sera bien moins coûteux. L’ensemble des i-relations et des techniques permettant d’éviter des interpolations par modules de Cauchy ou transporteurs peut être stocké et forme ainsi un schéma de calcul générique pour tout idéal des relations de stabilisateur G. 4.5.4. Bornes sur les coefficients de T et certification préalable. Nous donnons ici une borne sur les coefficients de gi obtenue à l’aide de la formule d’interpolation donnée dans la proposition 4.24. La démonstration faite ici reprend celle de Lederer [31] en l’adaptant aux i-relations (voir [37]). Notons Li la formule définissant gi , il est immédiat que la multiplication par une puissance de Disc(f ) permet de ramener Li à coefficients entiers. Plus exactement,Qla multiplication de Li par Disc(f ) permet de réduire deux dénominateurs de la forme e∈O(j,σ) ασ(e 1) −αe . Ainsi, l’ensemble des dénominateurs pourront e6=σ(ej )
j
s
être réduits par la multiplication de Di = Disc(f )d 2 e . Le polynôme Di Li est donc à coefficients entiers, nous allons donner une borne pour c, le coefficient correspondant au multi-degré (k1 , . . . , ks ). Soit δ une borne sur les normes des différences des racines |αi − αj | et ν une borne sur les normes |αi |. – Le numérateur de Di Li est composé du produit de n(n − 1)d 2s e − d1 − . . . − ds + s éléments de la forme (αj − αi ). Ce produit est distribué sur tous les coefficients de s gi et est borné par B = δ n(n−1)d 2 e−d1 −...−ds +s . – La variable xei de degré ki dans Li provient d’un produit de di − 1 éléments de la d −1−k di −1 i i forme (xei − αj ). Ainsi, la norme de son coefficient est majoré par ki ν . 52
Journ´ees Nationales de Calcul Formel 2008
page 190
En sommant tous ces produit sur la transversale définissant la formule d’interpolation, on obtient la borne d1 − 1 d1 −1−k1 ds ds −ks |c| 6 d(Ei ) ν ··· ν B. k1 ks À partir de cette borne, on pourra certifier qu’un calcul fait par approximations padiques peut être considéré comme celui attendu sur Q. Cette borne est la meilleure à notre connaissance pour le calcul de l’idéal des relations mais elle est souvent très pessimiste. Nous donnons ci-après un moyen de tester si un ensemble triangulaire candidat T c = {h1 , . . . , hn } obtenue par interpolation selon des approximations p-adiques et des reconstructions rationnelles est bien une base pour M. Pour ce faire il suffit de vérifier que l’idéal engendré par T c contient les modules de Cauchy de f , le résultat suivant montrer ceci. Proposition 4.30. Nous avons l’égalité hj = gj si et seulement si N F (cj (f ), {g1 , . . . , gj−1 , hj }) = 0 Démonstration. La condition nécessaire est immédiate. Montrons la réciproque. Soit H l’ensemble triangulaire {g1 , . . . , gj−1 , hj }. Par hypothèse, l’idéal hHi contient {c1 (f ), . . . , cj (f )} qui est une base de Gröbner réduite de l’idéal d’élimination M ∩ Q[X{1,...,j} ]. Ainsi, hHi est contenu dans un idéal maximal M0 de Q[X{1,...,j} ]. Cet idéal maximal coïncide avec σ · M ∩ Q[X{1,...,j} ] pour un σ ∈ Sn . Mais, en comparant les dimensions des anneaux quotient correspondant, il vient quehHi = M0 = Mσ ∩ Q[X{1,...,j} ]. Leurs stabilisateurs seront égaux et il vient σ est l’identité et hj = fj .
53
Journ´ees Nationales de Calcul Formel 2008
page 191
Journ´ees Nationales de Calcul Formel 2008
page 192
Bibliographie [1] I. Abdeljaouad-Tej, S. Orange, G. Renault, and A. Valibouze. Computation of the decomposition group of a triangular ideal. AAECC, 15(3-4) :279–294, 2004. [2] H. Anai, M. Noro, and K. Yokoyama. Computation of the splitting fields and the Galois groups of polynomials. In Algorithms in algebraic geometry and applications (Santander, 1994), volume 143 of Progr. Math., pages 29–50. Birkhäuser, Basel, 1996. [3] H. Anai and K. Yokoyama. Radical representation of polynomial roots. S¯ urikaisekikenky¯ usho K¯oky¯ uroku, (920) :9–24, 1995. Research on the theory and applications of computer algebra (Japanese) (Kyoto, 1994). [4] J.-M. Arnaudiès and A. Valibouze. Lagrange resolvents. J. Pure Appl. Algebra, 117/118 :23–40, 1997. Algorithms for algebra (Eindhoven, 1996). [5] Ph. Aubry and A. Valibouze. Using Galois ideals for computing relative resolvents. J. Symbolic Comput., 30(6) :635–651, 2000. Algorithmic methods in Galois theory. [6] W. Bosma, J. Cannon, and C. Playoust. The Magma algebra system. I. The user language. J. Symbolic Comput., 24(3-4) :235–265, 1997. Computational algebra and number theory (London, 1993). [7] D. Casperson and J. McKay. Symmetric functions, m-sets, and Galois groups. Math. Comp., 63(208) :749–757, 1994. [8] A. Cauchy. Usage des fonctions interpolaires dans la détermination des fonctions symétriques des racines d’une équation algébrique donnée. Oeuvres, 5 :473 Extrait 108, 1840. [9] H. Cohen. A course in computational algebraic number theory, volume 138 of Graduate Texts in Mathematics. Springer-Verlag, Berlin, 1993. [10] Antoine Colin. Formal computation of Galois groups with relative resolvents. In Applied algebra, algebraic algorithms and error-correcting codes (Paris, 1995), volume 948 of Lecture Notes in Comput. Sci., pages 169–182. Springer, Berlin, 1995. [11] Antoine Colin. Relative resolvents and partition tables in Galois group computations. In Proceedings of the 1997 International Symposium on Symbolic and Algebraic Computation (Kihei, HI), pages 78–84 (electronic), New York, 1997. ACM. [12] David A. Cox. Galois theory. Pure and Applied Mathematics (New York). WileyInterscience [John Wiley & Sons], Hoboken, NJ, 2004. [13] X. Dahan and É. Schost. Sharp estimates for triangular sets. In ISSAC ’04 : Proceedings of the 2004 International Symposium on Symbolic and Algebraic Computation, pages 103–110, New York, NY, USA, 2004. ACM Press. [14] H. Darmon and D. Ford. Computational verification of M11 and M12 as Galois groups over Q. Comm. Algebra, 17(12) :2941–2943, 1989. [15] Harm Derksen and Gregor Kemper. Computational invariant theory. Invariant Theory and Algebraic Transformation Groups, I. Springer-Verlag, Berlin, 2002. Encyclopaedia of Mathematical Sciences, 130. [16] L. Ducos. Construction de corps de décomposition grâce aux facteurs de résolvantes. Comm. Algebra, 28(2) :903–924, 2000. 55
Journ´ees Nationales de Calcul Formel 2008
page 193
[17] Y. Eichenlaub. Problèmes effectifs de théorie de Galois en degrés 8 à 11. Thèse de Doctorat, Université Bordeaux I, 1996. [18] E. Galois. Œuvres Mathématiques. Gauthier-Villars, Paris, 1897. [19] The GAP Group. GAP – Groups, Algorithms, and Programming, Version 4.4, 2005. (http://www.gap-system.org). [20] K. Geissler. Berechnung von Galoisgruppen über Zhal- und Funktionenkörpern. Dissertation, Universität Berlin, 2003. [21] K. Geissler and J. Klüners. Galois group computation for rational polynomials. J. Symbolic Comput., 30(6) :653–674, 2000. Algorithmic methods in Galois theory. [22] K. Girstmair. On the computation of resolvents and Galois groups. Manuscripta Math., 43(2-3) :289–307, 1983. [23] K. Girstmair. On invariant polynomials and their application in field theory. Math. Comp., 48(178) :781–797, 1987. [24] G. Hanrot and F. Morain. Solvability by radicals from an algorithmic point of view. In Proceedings of the 2001 International Symposium on Symbolic and Algebraic Computation, pages 175–182 (electronic), New York, 2001. ACM. [25] Alexander Hulpke. Galois groups through invariant relations. In Groups St. Andrews 1997 in Bath, II, volume 261 of London Math. Soc. Lecture Note Ser., pages 379–393. Cambridge Univ. Press, Cambridge, 1999. [26] Camille Jordan. Traité des substitutions et des équations algébriques. Les Grands Classiques Gauthier-Villars. [Gauthier-Villars Great Classics]. Éditions Jacques Gabay, Sceaux, 1989. Reprint of the 1870 original. [27] Gregor Kemper and Allan Steel. Some algorithms in invariant theory of finite groups. In Computational methods for representations of groups and algebras (Essen, 1997), volume 173 of Progr. Math., pages 267–285. Birkhäuser, Basel, 1999. [28] L. Kronecker. Grundzüge einer Arithmetischen Theorie der Algebraischen Grössen. J. Reine Angew. Math., 92 :515–534, 1882. [29] J.-L. Lagrange. Œvres Complètes. Gauthier-Villars, Paris, 1867-1892. 14 volumes. [30] S. Lang. Algebra, volume 211 of Graduate Texts in Mathematics. Springer-Verlag, New York, third edition, 2002. [31] M. Lederer. Explicit constructions in splitting fields of polynomials. Riv. Mat. Univ. Parma (7), 3* :233–244, 2004. [32] S. Orange. Calcul de corps de décomposition et de groupes de décomposition. Thèse de Doctorat, Université Paris 6, 2006. [33] S. Orange, G. Renault, and A. Valibouze. Calcul efficace d’un corps de décomposition. LIP6 Research Report 005, LIP6, Laboratoire d’Informatique de Paris 6, 2003. [34] M. Pohst and H. Zassenhaus. Algorithmic Algebraic Number Theory. Cambridge Univ. Press, Cambridge, 1989. [35] G. Renault. Calcul efficace de corps de décomposition. Thèse de Doctorat, Université Paris 6, 2005. [36] G. Renault and Yokoyama K. A modular method for computing the splitting field of a polynomial. In Florian Hess, Sebastian Pauli, and Michael E. Pohst, editors, ANTS, volume 4076 of Lecture Notes in Computer Science, pages 124–140. Springer, 2006. [37] Guénaël Renault and Kazuhiro Yokoyama. Multi-modular algorithm for computing the splitting field of a polynomial. In J. Rafael Sendra and Laureano González-Vega, editors, ISSAC, pages 247–254. ACM, 2008. 56
Journ´ees Nationales de Calcul Formel 2008
page 194
[38] Gu´énaël Renault. Computation of the splitting field of a dihedral polynomial. In Barry M. Trager, editor, ISSAC, pages 290–297. ACM, 2006. [39] É. Schost. Complexity results for triangular sets. J. Symbolic Comput., 36(3-4) :555– 594, 2003. International Symposium on Symbolic and Algebraic Computation (ISSAC’2002) (Lille). [40] L. Soicher and J. McKay. Computing Galois groups over the rationals. J. Number Theory, 20(3) :273–281, 1985. [41] R. Stauduhar. The determination of galois groups. Math. Comp., 27 :981–996, 1973. [42] Jean-Pierre Tignol. Galois’ theory of algebraic equations. World Scientific Publishing Co. Inc., River Edge, NJ, 2001. [43] B. L. van der Waerden. Algebra. Vol. I. Springer-Verlag, New York, 1991. Based in part on lectures by E. Artin and E. Noether, Translated from the seventh German edition by Fred Blum and John R. Schulenberger. [44] B. L. van der Waerden. Algebra. Vol. II. Springer-Verlag, New York, 1991. Based in part on lectures by E. Artin and E. Noether, Translated from the fifth German edition by John R. Schulenberger. [45] J. von zur Gathen and J. Gerhard. Modern computer algebra. Cambridge University Press, Cambridge, second edition, 2003. [46] K. Yokoyama. A modular method for computing the Galois groups of polynomials. J. Pure Appl. Algebra, 117/118 :617–636, 1997. Algorithms for algebra (Eindhoven, 1996). [47] Kazuhiro Yokoyama, Masayuki Noro, and Taku Takeshima. On determining the solvability of polynomials. In ISSAC, pages 127–134, 1990.
57
Journ´ees Nationales de Calcul Formel 2008
page 195
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES par Philippe Martin & Pierre Rouchon
Ce document est une mise à jour des notes de cours distribuées aux journées XUPS de 1999 : http ://www.math.polytechnique.fr/xups/volumes.html. Table des matières Chapitre 1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1. Un exemple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Plan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Problème. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 2 6 6
Chapitre 2. Systèmes linéaires de dimension finie. . . . . . . . . . . . . . . . . . . . . . . 8 2.1. Commandabilité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2. Commandabilité linéaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3. Linéarisation par bouclage statique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Chapitre 3. Systèmes plats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1. Équivalence et platitude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Bouclage et équivalence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Caractérisation de la platitude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4. Commande optimale et prédictive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5. Symétries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22 24 33 38 42 43
Chapitre 4. Systèmes plats de dimension infinie. . . . . . . . . . . . . . . . . . . . . . . . . 45 4.1. Retards et équations des ondes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2. Diffusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Chapitre 5. Catalogue de systèmes plats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1. Robots complètement commandés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Systèmes mécaniques non-holonomes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Systèmes pendulaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4. Divers systèmes mécaniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5. Systèmes électro-mécaniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6. Systèmes quantiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7. Réacteurs chimiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Références. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Journ´ees Nationales de Calcul Formel 2008
59 59 59 63 69 73 74 75 75
page 197
2
PHILIPPE MARTIN & PIERRE ROUCHON
CHAPITRE 1 INTRODUCTION
1.1. Un exemple Cet exemple est une illustration très élémentaire de certains problèmes fondamentaux. Il permet de se familiariser avec le langage et les notions de base en dynamique et commande des systèmes. Les calculs y sont simples et les justifications mathématiques aisées. L’exemple de la
Figure 1.1. Un bras de robot tournant dans un plan vertical autour d’un axe horizontal motorisé.
figure 1.1 est emprunté à la robotique. Il s’agit d’un bras rigide tournant dans un plan vertical autour d’un axe horizontal. Cet axe horizontal est équipé d’un moteur délivrant un couple variable u, que l’on peut choisir arbitrairement : u est la commande du système (on dit aussi contrôle ou entrée). La position géométrique du système est complètement décrite par un angle θ ∈ S1 . La conservation du moment cinétique autour de l’axe horizontal permet de relier l’angle θ à la commande en couple u par l’équation différentielle du second ordre suivante : (1.1)
¨ + mlg sin θ(t) = u(t) J θ(t)
où m est la masse du bras, J son moment d’inertie par rapport à l’axe, l la distance du centre de gravité à l’axe et g l’accélération due à la pesanteur. Fixons, pour un intervalle de temps [0, T ] la commande [0, T ] 3 t 7→ u(t). La loi horaire [0, T ] 3 t 7→ θ(t) est alors obtenue en intégrant cette équation du second ordre à partir de ˙ conditions initiales en position θ(0) = θ0 et en vitesse θ(0) = θ˙0 . L’ensemble des conditions initiales forme l’état du système (l’espace des phases en mécanique). Il suffit de réécrire cette équation scalaire du second ordre en deux équations scalaires du premier ordre : (1.2)
θ˙ = ω ω˙ = u/J − (mgl/J) sin θ.
Les variables (θ, ω) forment alors l’état du système ; le triplet t 7→ (θ(t), ω(t), u(t)) sera dit trajectoire du système s’il vérifie, pour tout t, les deux équations différentielles (1.2). La planification de trajectoires consiste à trouver une trajectoire du système t 7→ (θ(t), ω(t), u(t)) partant d’un état (θi , ωi ) en t = 0 et arrivant en t = T à l’état final (θf , ωf ), ces deux états étant fixés par avance. Il s’agit du problème de base de la commandabilité : comment amener le système d’un endroit (d’un état) à un autre. Lorsque le système est commandable, on dispose, en général, d’une infinité de trajectoires et donc de commandes pour réaliser cette transition. Se pose alors le problème du choix entre ces diverses trajectoires : c’est en autre l’objet de la commande optimale qui sélectionne la trajectoire en minimisant un certain critère. Citons par exemple le temps minimum pour aller d’une position de repos (θi , ωi = 0) à une autre position de repos (θf , ωf = 0) sachant que la commande u reste bornée (∀ t, |u(t)| 6 umax où umax est
Journ´ees Nationales de Calcul Formel 2008
page 198
3
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
le couple maximum développé par le moteur. On en déduit ainsi une trajectoire de référence du système : [0, T ] 3 t 7→ (θr (t), ωr (t), ur (t)). Une autre question, directement liée à la première : étant donné que tout modèle est approximatif (les paramètres J et m et l sont connus avec une certaine précision, les frottements sont ici négligés, le bras est légèrement flexible et donc des degrés de libertés et leur dynamiques ne sont pas prises en compte, ...), il convient d’ajuster la commande u en temps réel de façon à compenser les écarts à la trajectoire de référence, θ − θr et ω − ωr , qui peuvent apparaître. Il s’agit de la stabilisation autour d’une trajectoire (« tracking » en anglais). Lorsque cette trajectoire est un point d’équilibre du système (comme, par exemple (θ, ω, u) = 0 ou (θ, ω, u) = (π, 0, 0)) on parle alors de stabilisation. Une démarche très naturelle consiste à corriger la commande de référence ur (t) par des termes du type θ − θr (t) et ω − ωr (t). L’utilisation de ce type de terme correspond à un bouclage,i.e., une boucle de rétro-action (« feedback » en anglais) que l’on schématise souvent par le diagramme bloc de la figure 1.2.
Figure 1.2. Schéma-bloc d’une loi de rétro-action, dit aussi retour d’état ou « feedback ».
La mise en œuvre de ce schéma revient, avec un calculateur temps-réel, à mettre à jour très rapidement (avec une période d’échantillonnage Te bien plus rapide que les échelles de temps naturelles du système) la commande u en fonction de la trajectoire de référence et des mesures de θ et de ω. Considérons, par exemple la stabilisation autour de l’équilibre instable (θ, ω, u) = (π, 0, 0). Pour cela, linéarisons les équations (1.2) autour de ce point : nous faisons un développement limité des seconds membres en ne retenant que les termes d’ordre 1 (ceux d’ordre 0 sont nuls, e ω car nous sommes autour d’un point d’équilibre). En notant θ, e et u e les écarts, nous obtenons les équations du système linéarisé tangent : ˙ θe = ω e (1.3) ˙ω e e=u e/J + (mgl/J)θ. En remplaçant la dérivée en temps avec la multiplication par s (transformation de Laplace) on obtient la relation entre les transformées de Laplace θb et u b de θe et u e (conditions initiales nulles) : 2 (Js − mgl)θb = u b. Nous retrouvons bien la fonction de transfert H(s) = 1/(Js2 − mgl), fraction rationnelle en s la variable de Laplace, fréquemment utilisée par les ingénieurs pour représenter la relation entre la commande u b et la sortie yb, yb = H(s)b u. La stabilité du système (en boucle ouverte) est fonction de la position par rapport à l’axe imaginaire des pôles de H : s’ils sont tous à partie réelle strictement négative alors le système est stable ; si l’un d’entre eux est à partie réelle strictement positive,
Journ´ees Nationales de Calcul Formel 2008
page 199
4
PHILIPPE MARTIN & PIERRE ROUCHON
q alors le système est instable. Ici les pôles étant ± mgl J , le système est instable en boucle ouverte (le point d’équilibre (π, 0) de l’espace des phases est un col). Noter qu’une telle représentation est impossible pour J θ¨ = −mgl sin θ + u dès que θ − π n’est plus petit. Les fonctions de transfert ne peuvent pas être étendues aux systèmes non linéaires. Si on pose, comme loi de commande (1.4)
u e = −(Jk1 + mgl)θe − Jk2 ω e,
où k1 = (1/τ1 + 1/τ2 ) et k2 = 1/τ1 τ2 (0 < τ1 < τ2 sont deux constantes positives homogènes à des temps), alors les équations du système linéaire tangent bouclé (c’est à dire avec sa boucle de rétro-action) sont ˙ θe = ω e ˙ω e = −k1 θe − k2 ω e. Ce système est asymptotiquement stable : pour toutes conditions initiales, ses solutions tendent vers zéro lorsque t tend vers l’infini. La convergence est même exponentielle : toute solution est une combinaison linéaire de exp(−t/τ1 ) et exp(−t/τ2 ) : −1/τ1 et −1/τ2 sont appelés les pôles ou modes du système bouclé. Noter que le bouclage (1.4) n’est qu’un retour proportionnel en position (ressort en θ de raideur (Jk1 + mgl)) et en vitesse (frottement visqueux en θ˙ = ω de coefficient Jk2 ). C’est un simple régulateur "proportionnel-dérivé" sur l’angle θ. Par la commande, nous pouvons rajouter à volonté des forces élastiques et visqueuses pour stabiliser le système. Ce bouclage a été réalisé sur une approximation au premier ordre du système. Se pose alors la question du comportement du système non linéaire (1.2) avec le bouclage linéaire u=u e = −(Jk1 + mgl)(θ − π) − Jk2 ω. Il est immédiat de voir que le linéarisé tangent autour de l’équilibre (π, 0) du système non linéaire bouclé est identique au linéaire tangent bouclé. Un résultat classique sur la stabilité structurelle des points d’équilibres hyperboliques (les valeurs propres de la matrice jacobienne sont toutes à partie réelle non nulle) d’un système dynamique garantit alors la stabilité asymptotique locale du système non linéaire bouclé : cela veut dire simplement que toute trajectoire du système (1.2) avec la commande (1.4) qui démarre assez près de (π, 0) tends vers (π, 0) lorsque t tends vers l’infini, la convergence étant exponentielle, comme pour le linéaire tangent. Étant donné que τ1 et τ2 sont deux constantes de temps arbitraires directement liées au taux de convergence, on aura tendance à les choisir aussi proches de zéro que possible. Cependant, il convient de ne pas les choisir trop proches de zéro. D’une part des gains trop grands vont faire saturer les actionneurs. D’autre part, le modèle sur lequel la commande est synthétisée, n’est valable que pour une certaine gamme d’échelles de temps (on parle en fréquentiel de modèle valable sur une certaine plage de fréquences). Ici la dynamique du moteur est négligée. Si le moteur est à courant continu, la commande physique est en fait la tension Um appliquée au moteur. Elle est reliée au couple u par une équation différentielle du type : (1.5)
LI˙m + RIm = Um ,
u = Kc Im
(L est l’inductance, R la résistance, Kc la constante de couple du moteur). En pratique la dynamique du moteur est souvent négligeable par rapport à la dynamique inertielle de la barre. Ainsi la constante de temps du moteur τm = L/R est bien inférieure au temps caractéristique p du bras τb = J/(mlg). Aussi, a-t-on l’approximation suivante dite quasi-statique : RIm = Um ,
u = Kc Im = (Kc /R)Um
qui relie directement le couple u à la tension Um . Il convient de choisir τ1 et τ2 du même ordre de grandeur que τb , et donc très supérieur à τm , la constante de temps de la dynamique négligée.
Journ´ees Nationales de Calcul Formel 2008
page 200
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
5
D’autres phénomènes peuvent apparaître vers les hautes fréquences, comme la flexibilité du bras. Des résultats classique (théorie de perturbations, systèmes lents/ rapides) assurant qu’avec des gains k1 et k2 pas trop grands (τ1 , τ2 τm ), le système non linéaire avec la dynamique du moteur (1.5) et la commande en tension Um = −(Kc /R) ((Jk1 − mgl)(θ + π) + Jk2 ω) est localement asymptotiquement stable autour de (π, 0), pour toute valeur de L assez faible. La loi de feedback précédente suppose que l’on mesure à chaque instant l’état complet du système θ et ω. Si nous connaissons uniquement la loi t 7→ θ(t), nous obtenons ω(t) par simple dérivation : on dit que l’état du système est observable à partir de la sortie θ. D’une façon plus générale, l’état x d’un système sera dit observable à partir de la sortie y, si l’on peut reconstruire x à partir d’un nombre fini de dérivées de y. Pour le bras, nous pouvons dériver numériquement le signal de mesure pour en déduire ω. Cette solution fonctionne correctement si la mesure de θ n’est pas trop bruitée. Sinon, l’opération de dérivation est à éviter. Pour cela, nous pouvons utiliser la dynamique du système pour construire un observateur asymptotique, c’est à dire, reconstruire la vitesse ω du système en intégrant (on peut dire aussi en filtrant) la position θ via une équation différentielle bien choisie. Plaçons nous autour du point (π, 0) et considérons le linéaire tangent (1.3) avec comme quane L’objectif est de reconstruire à terme ω tités connues la commande u e et l’angle θ. e sans utiliser l’opération de dérivation très sensible au bruit. En revanche nous pouvons utiliser l’intégration et les changements de variables. Nous allons montrer comment construire un observateur asymptotique (d’ordre réduit). Soit λ e Si un paramètre que nous ajusterons plus tard. Considérons la variable composite ξ = ω e + λθ. e l’on sait reconstruire ξ, on obtient ω e avec ω e = ξ − λθ(t). Or, grâce à (1.3), ξ vérifie ξ˙ = u/J − (mgl/J)θe + λe ω = u/J − (mgl/J + λ2 )θe + λξ. b on obtient une Ainsi recopiant cette équation et en remplaçant la variable ξ non mesurée par ξ, équation différentielle du premier ordre dépendant des quantités connues u et θe (un filtre passe bas d’ordre 1 d’une combinaison linéaire de la mesure θe et de la commande u e) : (1.6)
˙ e + λξb ξb = u(t)/J − (mgl/J + λ2 )θ(t)
Par soustraction avec l’équation différentielle satisfaite par le vrai ξ, les termes sources en u et θe disparaissent. On obtient alors une dynamique de l’erreur ξb − ξ autonome d b (ξ − ξ) = λ(ξb − ξ) dt b dès que le paramètre λ = −1/τf qui converge vers zéro, quelle que soit la condition initiale sur ξ,
est choisi négatif (τf est la constante de temps de l’observateur (1.6)). Là encore, le gain λ de l’observateur (1.6) doit être choisi en fonction des niveaux de bruit sur θ et surtout des échelles de temps p naturelles du système (prendre, par exemple, τf du même ordre de grandeur que τb = J/(mlg)). b θ, e nous Ainsi, en combinant l’observateur (1.6) et la commande (1.4) où ω e est remplacé par ξ−λ obtenons un bouclage qui stabilise localement la position inverse du pendule. Ce bouclage est un bouclage dynamique sur la sortie y = θe : le terme dynamique vient du fait que la commande u est une fonction de θe et de ξb qui est en fait une sorte « d’intégrale » de u e et θe : ˙ ξb = u e/J − (mgl/J + λ2 )θe + λξb (1.7) e u e = −(Jk1 + mgl)θe − Jk2 (ξb − λθ). Il s’agit d’un observateur-contrôleur.
Journ´ees Nationales de Calcul Formel 2008
page 201
6
PHILIPPE MARTIN & PIERRE ROUCHON
1.2. Plan Cet exemple permet de se faire une idée des problèmes traités par la commande des systèmes et de faire le lien avec les méthodes classiques de synthèse de régulateurs avec les fonctions de transfert (systèmes linéaires à une entrée et une sortie). Dès que le système est non linéaire ou multi-variable, l’approche transfert devient alors nettement plus difficile à mettre en œuvre. L’objectif est ici de présenter des résultats récents et en cours d’élaboration sur une classe de systèmes très souvent rencontrés en pratique, les système plats. Leur commandabilité est particulièrement simple. Elle se ramène, via une paramétrisation explicite des trajectoires, à celle des systèmes linéaires de dimension finie. On en déduit alors des algorithmes fondés sur des calculs explicites de planification de trajectoires, et, pour les systèmes de dimension finie, de suivi de trajectoires (cf. le problème de la section 1.3). Dans le chapitre 2, nous abordons la commandabilité des systèmes x˙ = f (x, u). Après de courtes définitions, nous étudions les systèmes linéaires stationnaires. Nous mettons l’accent sur la forme canonique de Brunovsky, la planification de trajectoires, et la stabilisation par placement de pôles. Ce chapitre se termine avec la linéarisation par bouclage statique : il s’agit de reconnaître si un système est linéaire après changements de coordonnées (a priori non linéaires) sur l’état et sur la commande. Dans le chapitre 3, nous abordons les systèmes plats, systèmes gouvernés par des équations différentielles ordinaires et équivalents aux systèmes linéaires commandables. La relation d’équivalence utilisée est une correspondance entre les trajectoires, correspondance déjà suggérée en 1912 par David Hilbert et reprise peu après par Elie Cartan (équivalence absolue) pour les systèmes différentiels sous-déterminés. Avec de tels systèmes la planification et le suivi de trajectoires sont faciles à résoudre. Pour des définitions mathématiques précises et simples, nous utilisons le langage des diffiétés, une géométrie sur des variétés C ∞ de dimension infinie développée par l’école russe autour de Vinogradov. La caractérisation des systèmes plats étant un problème ouvert, nous listons les quelques résultats disponibles. Une façon d’étendre la platitude aux systèmes gouvernés par des équations aux dérivées partielles est la paramétrisation explicite des trajectoires. Bien que l’on soit loin d’une définition claire de la platitude en dimension infinie (une voie intéressante semble être, dans le cas linéaire, la théorie des modules et la notion de π-liberté), nous traitons quelques exemples significatifs. Tel est l’objet du chapitre 4. Le chapitre 5 est un catalogue non exhaustif de systèmes plats. Cette présentation reprend pour partie [66]. Le livre récent sur les systèmes plats [117] fait aussi le lien, comme c’est le cas ici, avec les systèmes linéaires de dimension finie, et propose aussi de nombreux exemples d’intérêt pratique. 1.3. Problème 1.3.a. Enoncé. On reprend ici, sous la forme d’un problème et pour l’étendre au non linéaire, l’observateur-contrôleur que nous avons construit avec le linéaire tangent du système (1.2). L’objectif de commande est d’aller du point d’équilibre θ = 0 au point d’équilibre θ = π pendant le temps T > 0 en ne mesurant que θ. Cette extension non linéaire ne nécessite que très peu de calculs et reste à un niveau de complexité très élémentaire. (1) Donner une trajectoire du système [0, t] 7→ (θr (t), ωr (t), ur (t)) qui assure cette transition. (2) Calculer le bouclage d’état qui stabilise la dynamique de l’erreur à la trajectoire e = θ − θr (t) de la façon suivante : e¨ + σ1 e˙ + σ2 e = 0 avec σ1 , σ2 > 0.
Journ´ees Nationales de Calcul Formel 2008
page 202
7
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
(3) On suppose que l’on ne mesure que θ. Montrer que l’observateur non linéaire ˙ ξb = λξb − λ2 θ(t) + u(t)/J − (mgl/J) sin θ(t) permet de reconstruire asymptotiquement ω par ω b = ξ − λθ, dès que λ < 0. (4) Montrer la convergence de l’observateur-contrôleur où l’on a remplacé la mesure de vitesse ω dans la question 2 par l’estimée ω b de la question 3. (5) Faire des simulations de cette manœuvre en T = 5 s en prenant comme paramètres m = 1, 0 kg, l = 0, 2 m, J = 0, 1 kg m2 et g = 9, 81 m/s2 . Tester la robustesse de cette commande dynamique de sortie par rapport à des dynamiques négligées (rajouter une dynamique pour le moteur) et par rapport à des erreurs dans le modèle (1.2) (rajouter un petit frottement au niveau de l’axe du bras). 1.3.b. Solution. (1) Il suffit d’utiliser l’équation de Newton à l’envers : au lieu de donner le couple t 7→ u et d’intégrer pour avoir l’angle θ, on se donne l’angle t 7→ θr (t) pour en déduire le couple ur par dérivation ur (t) = J θ¨r (t) + mlg sin θr (t) t 2 t 3 avec, par exemple, θr (t) = π 3 T − 2 T pour t ∈ [0, T ]. En effet la solution du problème de Cauchy θ˙ = ω, J ω˙ = −mlg sin θ + ur (t) de condition initiale nulle est donnée par θ(t) = θr (t),
ω(t) = ωr (t),
avec 6π ωr (t) = T
t ∈ [0, T ]
2 ! t t − . T T
On a ainsi comme contrôle de référence (boucle ouverte) 2 3 !! 6πJ t t t ur (t) = 2 1 − 2 + mlg sin π 3 −2 . T T T T (2) Il suffit de considérer le bouclage non-linéaire : 2 d u=J θr (t) − σ1 (ω − ωr (t)) − σ2 (θ − θr (t) + mgl sin θ dt2 (3) En effet la variable composite ξ = ω + λθ vérifie ξ˙ = λξ − λ2 θ(t) + u(t)/J − (mgl/J) sin θ(t). Ainsi
d dt (ξ
b = λ(ξ − ξ) b et donc avec λ < 0, ξb converge vers ξ quand t tend vers +∞. − ξ)
(4) Le feedback devient alors (remplacer ω par ξb − λθ) 2 d b u=J θr (t) − σ1 (ξ − λθ − ωr (t)) − σ2 (θ − θr (t) + mgl sin θ. dt2 b Le changement de variables En boucle fermée, on est face à un système avec 3 états (θ, ω, ξ). b 7→ (θ − θr (t), ω − ωr (t), ξb − ω − λθ) (θ, ω, ξ) | {z } | {z } | {z } e
Journ´ees Nationales de Calcul Formel 2008
e˙
ξe
page 203
8
PHILIPPE MARTIN & PIERRE ROUCHON
˙ conduit à une structure triangulaire avec ξe = λξe qui tend vers 0. Asymptotiquement ξe = 0 et donc, pour les deux autres états e et e, ˙ on a un oscillateur harmonique amorti : e¨ = −σ1 e˙ − σ2 e. On en déduit la stabilité asymptotique du système bouclé. (5) Utiliser le logiciel libre Scilab : http ://www.scilab.org/. Comme couple de frottement ˙ L’ordre de grandeur de on pourra prendre −γ θ˙ avec γ > 0 et pouvant dépendre de θ et/ou θ. γ sera J/T . On pourra aussi modéliser la dynamique du moteur soit comme un retard pur, soit comme un premier ordre. Le retard ou la constante de temps seront de l’ordre de T /10. 1.3.c. Aspect global. A cause du terme en θ − θr dans le bouclage, ce dernier n’est pas défini globalement sur S1 . En fait, il faut remplacer θ − θr par sin(θ − θr ) et imposer la dynamique suivante pour l’erreur de suivi e = θ − θr : e¨ = −σ1 e˙ − σ2 sin e. En effet le bouclage qui conduit à cette dynamique de suivi, 2 d u=J θ (t) − σ (ω − ω (t)) − σ sin(θ − θ (t) + mgl sin θ, r 1 r 2 r dt2 est alors globalement défini pour θ, θr ∈ S1 . La dynamique de l’erreur e obéit ainsi à celle d’un pendule amortie : e¨ = −σ1 e−σ ˙ 2 sin e. La convergence vers 0 est quasi-globale mathématiquement et toujours effective en pratique. De même, l’observateur réduit avec la variable composite ξ faisant intervenir directement θ n’est pas défini globalement sur S1 . Il convient alors d’utiliser l’observateur asymptotique (gains constants λ1 , λ2 > 0) u(t) − mgl sin θ(t) ω b˙ = − λ2 sin(θb − θ(t)) J globalement défini et dont la convergence est quasi-globale. En effet, les erreurs d’estimation θe = θb − θ et ω e=ω b − ω vérifient le système autonome ˙ e ω θe = ω e − λ1 sin θ, e˙ = −λ2 sin θe qui admet comme fonction de Lyapounov V = (e ω )2 − λ2 cos θe car V˙ = −λ1 λ2 sin2 θe 6 0. Ce ˙ θb = ω b − λ1 sin(θb − θ(t)),
système autonome admet deux équilibres : (0, 0) est un noeud exponentiellement stable et (π, 0) est un col. Le bassin d’attraction de (0, 0) est le cylindre S1 × R à l’exception de l’espace rentrant dans le col (π, 0). En pratique, la convergence de l’observateur est alors globale. L’observateur/contrôleur globalement défini sur S1 est alors obtenu en remplaçant θ et ω par leur estimées 2 d b b u=J θ (t) − σ (b ω − ω (t)) − σ sin( θ − θ (t) + mgl sin θ. r 1 r 2 r dt2
CHAPITRE 2 SYSTÈMES LINÉAIRES DE DIMENSION FINIE
Après de courtes définitions, nous étudions en détail les systèmes linéaires explicites x˙ = Ax + Bu. Leur commandabilité est caractérisée par le critère de Kalman et la forme normale dite de Brunovsky. Cette dernière permet un paramétrage explicite de toutes les trajectoires en fonctions de m fonctions scalaires arbitraires t 7→ y(t) et d’un nombre fini de leurs dérivées. Ces quantités y, dites sorties de Brunovsky, sont des combinaisons linéaires de x. Elles jouent d’une certaine façon le rôle d’un potentiel. Elles permettent surtout de calculer très simplement les commandes u pour aller d’un état vers un autre (planification de trajectoire). Elles donnent également le
Journ´ees Nationales de Calcul Formel 2008
page 204
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
9
bouclage (« feedback ») qui assure le suivi asymptotique d’une trajectoire de référence arbitraire (stabilisation par placement de pôles).
2.1. Commandabilité On considère le système explicite (f fonction régulière) (2.1)
d x = f (x, u), dt
x ∈ Rn ,
u ∈ Rm
2.1.a. Définitions Définition 2.1 (trajectoire). On appelle trajectoire du système (2.1) toute fonction régulière I 3 t 7→ (x(t), u(t)) ∈ Rn × Rm qui satisfait identiquement sur un intervalle d’intérieur non vide I de R les équations (2.1). Définition 2.2 (commandabilité). Le système (2.1) est dit commandable en temps T > 0, si et seulement si, pour p, q ∈ Rn , il existe une loi horaire [0, T ] 3 t 7→ u(t) ∈ Rm , dite commande en boucle ouverte, qui amène le système de l’état x(0) = p à l’état x(T ) = q, c’est à dire, telle que la solution du problème de Cauchy x˙ = f (x, u(t)) pour t ∈ [0, T ] x(0) = p vérifie x(T ) = q. Le système est dit commandable lorsqu’il est commandable pour au moins un temps T > 0. D’autres définitions sont possibles : elles correspondent toutes à des variantes plus ou moins subtiles de la définition 2.2. Nous renvoyons à [20] pour de plus amples développements. Comme l’illustre la figure 2.1, la commandabilité est une propriété topologique très naturelle.
Figure 2.1. La planification de trajectoire
En général, la commande en boucle ouverte [0, T ] 3 t 7→ u(t) n’est pas unique, il en existe une infinité. Cette étape s’appelle planification de trajectoire : calculer t 7→ u(t) à partir de la connaissance de f , p et q constitue l’une des questions majeures de l’automatique. Cette question est loin d’être résolue actuellement. Très souvent, l’absence de commandabilité est due à l’existence d’intégrales premières non triviales. Ce sont des observables qui restent constantes le long de toute trajectoire et qui ne sont pas influencées par la commande u. 2.1.b. Intégrale première. Considérons le réacteur exothermique de la figure 2.2. Les équations de bilan matière et énergie donnent alors les équations différentielles suivantes : (2.2)
x˙ 1 = D(xin 1 − x1 ) − k0 exp(−E/RT )x1 x˙ 2 = −Dx2 + k0 exp(−E/RT )x1 T˙ = D(T in − T ) + α∆H exp(−E/RT )x1 + u.
Journ´ees Nationales de Calcul Formel 2008
page 205
10
PHILIPPE MARTIN & PIERRE ROUCHON
Figure 2.2. Un réacteur chimique exothermique où u correspond aux échanges thermiques avec l’extérieur in La cinétique est linéaire du premier ordre, les constantes physiques usuelles (D, xin 1 , k0 , E, T , α et ∆H) sont toutes positives, la commande u est proportionnelle à la puissance thermique échangée avec l’extérieur. xi est la concentration de l’espèce chimique Xi , i = 1, 2. On reconnaît l’effet non linéaire essentiel de la loi d’Arrhenius k = k0 exp(−E/RT ) qui relie la constante de vitesse k à la température T . Il est assez facile de voir que ce système n’est pas commandable. En effet, le bilan global sur X1 + X2 , élimine le terme non linéaire pour donner d (x1 + x2 ) = D(xin 1 − x1 − x2 ). dt Ainsi donc la quantité ξ = x1 + x2 vérifie une équation différentielle autonome ξ˙ = D(xin 1 − ξ). in Donc ξ = x1 + ξ0 exp(−Dt) où ξ0 est la valeur initiale de ξ. Si, dans la définition 2.2, on prend l’état initial p tel que ξ = x1 + x2 = xin 1 et q tel que ξ = x1 + x2 = 0, il n’existe pas de commande qui amène le système de p vers q. En effet, pour toute trajectoire démarrant en un tel p, la quantité x1 + x2 reste constante et égale à xin 1 . Cette partie non commandable du système représentée par la variable ξ admet ici un sens physique précis. Elle est bien connue des chimistes. C’est un invariant chimique. L’exemple ci-dessus nous indique que l’absence de commandabilité peut-être liée à l’existence d’invariants, i.e., à des combinaisons des variables du système (on pourrait les appeler des observables) et éventuellement du temps, qui sont conservées le long de toute trajectoire. Pour (2.2), il s’agit de (x1 + x2 − xin 1 ) exp(Dt) correspondant à ξ0 . Nous sommes donc conduits à prolonger la notion d’intégrale première pour les systèmes commandés.
Définition 2.3 (intégrale première). Une fonction régulière R × Rn 3 (t, x) 7→ h(t, x) ∈ R est appelée intégrale première du système (2.1), si elle est constante le long de toute trajectoire du système. Une intégrale première est dite triviale si c’est une fonction constante sur R × Rn . Si h est une intégrale première, sa dérivée le long d’une trajectoire arbitraire est nulle : d ∂h ∂h h= + x˙ ≡ 0 dt ∂t ∂x pour toute trajectoire (t 7→ (x(t), u(t)) du système. Si (2.1) admet une intégrale première non triviale t 7→ h(t, x) alors, (2.1) n’est pas commandable. Sinon, il existe T > 0, tel que pour tout p, q ∈ Rn et tout instant initial t, h(t, p) = h(t + T, q) (il existe une trajectoire reliant p à q sur [t, t + T ]). Donc h est une fonction périodique du temps et indépendante de x. Mais alors la dérivée de h le long des trajectoires du système ∂ correspond à ∂t h. Comme elle est nulle, h est une constante, ce qui contredit l’hypothèse. Nous avons montré la proposition suivante Proposition 2.4. Si le système (2.1) est commandable, alors ses intégrales premières sont triviales.
Journ´ees Nationales de Calcul Formel 2008
page 206
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
11
Il est possible de caractériser à partir de f et de ses dérivées partielles l’existence d’intégrale première non triviale (voir par exemple [47, 26]). L’existence de telles intégrales premières est liée à celle de sous-systèmes différentiels autonomes. D’une façon plus précise si, à u fixé, l’algèbre de Lie n ∂ (α) f o L = Lie f, (α) ∂u α∈Nm est de rang n alors il n’existe pas d’intégrale première non triviale ne dépendant que de x. L’algèbre de Lie L est engendrée par tous les crochets de Lie (en x) de n’importe quelle longueur qu’il est possible de faire à partir de f et de ses dérivées partielles en u. Si cette dernière est de dimension n, la dimension x, alors le système est dit faiblement accessible. Si, dans l’algèbre de Lie L, l’idéal de Lie engendré par les ∂ (α) f /∂u(α) avec α ∈ Nm , au moins l’un des αi non nuls, est de rang n alors il n’existe pas d’intégrale première non triviale dépendant de x et/ou de t. Le système est alors dit fortement accessible (voir [122]). Nous renvoyons au livre de Jean-Michel Coron [20] pour des énoncés plus détaillés et en rapport direct avec la commandabilité. 2.2. Commandabilité linéaire Nous considérons ici les systèmes linéaires stationnaires du type (2.3)
x˙ = Ax + Bu
où l’état x ∈ Rn , la commande u ∈ Rm et les matrices A et B sont constantes et de tailles n × n et n × m, respectivement. 2.2.a. Matrice de commandabilité. Supposons que (2.3) admette une intégrale première h : R × Rn 3 (t, x) 7→ h(t, x) ∈ R. Soit le changement de variables sur x défini par x = exp(tA)z. Avec les variables (z, u), (2.3) devient z˙ = exp(−tA)Bu et l’intégrale première h(t, exp(tA)z) = l(t, z). Comme la valeur de l est constante le long de toute trajectoire nous avons, en dérivant le long d’une trajectoire arbitraire t 7→ (z(t), u(t)) ∂l ∂l l˙ = + z˙ = 0. ∂t ∂z Comme z˙ = exp(−tA)Bu, pour toute valeur de z et u on a l’identité suivante : ∂l ∂l (t, z) + (t, z) exp(−tA)Bu ≡ 0. ∂t ∂z En prenant, u = 0, z et t arbitraires, on en déduit (prendre, par exemple, la trajectoire du système qui passe par z à l’instant t et dont la commande u est nulle) : ∂l (t, z) ≡ 0. ∂t Donc nécessairement l est uniquement fonction de z. Ainsi ∂l (z) exp(−tA)B ≡ 0. ∂z En dérivant cette relation par rapport à t, on a, ∂l (z) exp(−tA)AB ≡ 0 ∂z d car (exp(−tA)) = − exp(−tA)A. Plus généralement, une dérivation à n’importe quel ordre dt k > 0 donne ∂l (z) exp(−tA)Ak B ≡ 0. ∂z
Journ´ees Nationales de Calcul Formel 2008
page 207
12
PHILIPPE MARTIN & PIERRE ROUCHON
En prenant t = 0 on obtient
∂l (z)Ak B = 0, ∀ k > 0. ∂z Ainsi le vecteur ∂l/∂z(z) appartient à l’intersection des noyaux à gauche de la famille infinie de matrice (Ak B)k>0 . Le noyau à gauche de Ak B n’est autre que Im(Ak B)⊥ , l’orthogonal de l’image de Ak B. Donc \ ∂l (z) ∈ Im(Ak B)⊥ . ∂z k>0
Mais
\
⊥ Im(Ak B)⊥ = Im(B) + · · · + Im(Ak B) + · · · .
k>0
La suite d’espace vectoriel Ek = Im(B) + · · · + Im(Ak B) est une suite croissante pour l’inclusion, Ek ⊂ Ek+1 . Si pour un certain k, Ek = Ek+1 , cela signifie que Im(Ak+1 B) ⊂ Ek , donc A(E k ) ⊂ Ek . Mais Im(Ak+2 B) = Im(AAk+1 B) ⊂ A(E k+1 ). Ainsi Im(Ak+2 B) ⊂ Ek . On voit donc que pour tout r > 0, Im(Ak+r B) ⊂ Ek , d’où Ek+r = Ek . Ainsi la suite des Ek est une suite de sous-espaces vectoriels de Rn emboîtés les uns dans les autres. Cette suite stationne dès qu’elle n’est plus, pour un certain k, strictement croissante. Il suffit donc de ne considérer que ses n premiers termes soit E0 , . . ., En−1 , car automatiquement En−1 = En+r pour tout r > 0. En revenant à la suite des noyaux à gauche de Ak B, nous voyons que ∂l/∂z(z) dans le noyau à gauche de la suite infinie de matrices (Ak B)k>0 , est équivalent à ∂l/∂z(z) dans le noyau à gauche de la suite finie de matrices (Ak B)06k6n−1 (1) . Ainsi, pour tout z, ∂l/∂z(z) appartient au noyau à gauche de la matrice n × (nm), (2.4)
C = (B, AB, A2 B, . . . , An−1 B)
dite matrice de commandabilité de Kalman. Si C est de rang n, son noyau à gauche est nul, donc l ne dépend pas de z : l est alors une fonction constante et h également. Réciproquement, si la matrice de commandabilité C n’est pas de rang maximal, alors il existe un vecteur w ∈ Rn /{0}, dans le noyau à gauche de (2.4). En remontant les calculs avec l(z, t) = w0 z on voit que λ˙ = 0 le long des trajectoires. En passant aux variables (x, u), on obtient une intégrale première non triviale = h(t, x) = w0 · exp(−tA)x. Toute trajectoire du système se situe dans un hyperplan orthogonal à w. En résumé, nous avons démontré la Proposition 2.5. La matrice de commandabilité C = (B, AB, A2 B, . . . , An−1 B) est de rang n, si, et seulement si, les seules intégrales premières du système (2.3) sont triviales. Des propositions 2.4 et 2.5, il vient : si le système (2.3) est commandable, sa matrice de commandabilité est de rang n. Nous allons voir que la réciproque est vraie. Pour cela, nous avons besoin de certaines propriétés d’invariance. 1. On pourrait aussi utiliser le théorème de Cayley-Hamilton qui donne un résultat plus précis : toute matrice carrée est racine de son polynôme caractéristique. Cela veut dire, A étant de taille n, que An est une combinaison linéaire des (Ak )06k6n−1 : n−1 X An = pk Ak k=0
Pn−1 où les pk sont définis par d´et(λIn − A) = λn − k=0 pk λk . Nous avons préféré un argument plus simple avec la suite des Ek mais qui a l’avantage de passer au non linéaire et qui correspond au calcul de l’algèbre de Lie de commandabilité.
Journ´ees Nationales de Calcul Formel 2008
page 208
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
13
2.2.b. Invariance Définition 2.6 (changement d’état, bouclage statique régulier). Un changement linéaire de coordonnées x 7→ x e est défini par une matrice M inversible d’ordre n : x = M x e. Un bouclage statique régulier u 7→ u e est défini par une matrice N inversible d’ordre m et une autre matrice K, m × n : u = K x e + Nu e. C’est un changement de variables sur les commandes paramétré par l’état. L’ensemble des transformations x e M 0 x x e = 7−→ (2.5) u e K N u u e forment un groupe lorsque les matrices M , N et K varient (M et N restant inversibles). Si x˙ = Ax + Bu est commandable (resp. n’admet pas d’intégrale première) alors il est évident ex + Be e u obtenu avec (2.5) est commandable (resp. n’admet pas d’intégrale première). que x e˙ = Ae Les notions de commandabilité et d’intégrale première sont intrinsèques, c’est-à-dire, indépendantes des coordonnées avec lesquelles les équations du système sont établies. Si la matrice de commandabilité dans les coordonnées (x, u) est de rang n, la matrice de commandabilité dans les coordonnées (e x, u e) sera aussi de rang n. Cette simple remarque conduit au résultat non évident suivant : e A eB, e ...,A en−1 B) e =n rang(B, AB, . . . , An−1 B) = n ⇐⇒ rang(B, e et B e s’obtiennent en écrivant x˙ = Ax + Bu dans les coordonnées (e où A x, u e) : x e˙ = M −1 (AM + BK)e x + M −1 BN u e. e = M −1 (AM + BK) et B e = M −1 BN . En fait, il est possible d’aller beaucoup plus loin Soit A et de montrer que les indices de commandabilité définis ci-dessous sont aussi invariants. Définition 2.7 (indices de commandabilité). Pour tout entier k, on note σk le rang de la matrice (B, AB, A2 B, . . . , Ak B). Les (σk ) sont appelés indices de commandabilité du système linéaire (2.3), La suite σk est croissance, majorée par n. Ainsi, l’absence d’intégrale première est équivalente à σn−1 = n. Proposition 2.8 (invariance). Les indices de commandabilité de x˙ = Ax + Bu sont invariants par changement de variable sur x et bouclage statique régulier sur u. Nous laissons la preuve de ce résultat par récurrence sur k en exercice. Il est important de comprendre la géométrie derrière cette invariance. Les transformations (x, u) 7→ (e x, u e) du type (2.5) forment un groupe. Ce groupe définit une relation d’équivalence entre deux systèmes ayant même nombre d’états et même nombre de commandes. La proposition précédente signifie simplement que les indices de commandabilité sont les même pour deux systèmes appartenant à la même classe d’équivalence, i.e, le même objet géométrique vu dans deux repères différents. En fait, on peut montrer que les indices de commandabilité sont les seuls invariants : il y a autant de classes d’équivalence que d’indices de commandabilité possibles. Nous ne montrerons pas directement ce résultat. Tous les éléments nécessaires à cette preuve se trouvent dans la construction de la forme de Brunovsky ci-dessous (voir aussi [49, 121]).
Journ´ees Nationales de Calcul Formel 2008
page 209
14
PHILIPPE MARTIN & PIERRE ROUCHON
Figure 2.3. Deux masses couplées par un ressort, le tout piloté par une seule force u
2.2.c. Un exemple. Soit le système mécanique à deux degrés de liberté et une seule commande de la figure 2.3. Il s’agit d’un système mécanique sous actionné contrairement au bras motorisé étudié dans l’introduction (un degré de liberté (l’angle θ) et un moteur). En négligeant les frottements et en supposant le ressort linéaire de raideur k, on est conduit au modèle suivant : ( m1 x ¨1 = k(x2 − x1 ) + u (2.6) m2 x ¨2 = k(x1 − x2 ). Montrons que ce système est commandable. Il suffit pour cela de remarquer que la quantité x2 , l’abscisse de la masse qui n’est pas directement soumise à la force u, joue un rôle très particulier (sortie de Brunovsky). Si au lieu de donner t 7→ u(t) et d’intégrer (2.6) à partir de positions et vitesses initiales, on fixe t 7→ x2 (t) = y(t). Alors x1 = (m2 /k)¨ y + y et donc u = m1 x ¨1 + m2 x ¨2 = (m1 m2 /k)y (4) + (m1 + m2 )¨ y . Ainsi on peut écrire le système en faisant jouer à x2 un rôle privilégié : x = (m2 /k) y¨ + y 1 x2 = y u = (m1 m2 /k) y (4) + m1 + m2 )¨ y. On obtient ainsi un paramétrisation explicite de toutes les trajectoires du système. Les relations précédentes établissent une correspondance bi-univoque et régulière entre les trajectoires de (2.6) et les fonctions régulières t 7→ y(t). Cela permet de calculer de la façon la plus élémentaire possible une commande [0, T ] 3 t 7→ u(t) qui fait passer de l’état p = (xp1 , v1p , xp2 , v2p ) à l’état q = (xq1 , v1q , xq2 , v2q ) (vi correspond à x˙ i ). Comme x1 = (m2 /k) y¨ + y v = (m /k) y (3) + y˙ 1 2 x = y 2 v2 = y˙ imposer p en t = 0 revient à imposer y et ses dérivées jusqu’à l’ordre 3 en 0. Il en est de même en t = T . Il suffit donc de trouver une fonction régulière [0, T ] 3 t 7→ y(t) dont les dérivées jusqu’à l’ordre 3 sont données a priori en 0 et en T : un polynôme de degré 7 en temps répond à la question mais il existe bien d’autres possibilités. Nous allons voir, avec la forme normale de Brunovsky, qu’une telle correspondance entre y et les trajectoires du système est générale. Il suffit que (2.3) soit commandable. Tout revient donc à trouver la sortie de Brunovsky y de même dimension que la commande u. 2.2.d. Critère de Kalman et forme de Brunovsky Théorème 2.9 (critère de Kalman). Le système x˙ = Ax + Bu est commandable si, et seulement si, la matrice de commandabilité C = (B, AB, . . . , An−1 B) est de rang n = dim(x). La paire (A, B) est dite commandable si le rang de la matrice de commandabilité C est maximum.
Journ´ees Nationales de Calcul Formel 2008
page 210
15
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
La preuve que nous allons donner de ce résultat n’est pas la plus courte possible. Cependant, elle permet de décrire explicitement, pour toute durée T > 0 et pour p, q ∈ Rn , les trajectoires du système qui partent de p et arrivent en q. Cette preuve utilise la forme dite de Brunovsky. Cette dernière se construit grâce à une méthode d’élimination, proche de celle très classique du pivot de Gauss. Théorème 2.10 (forme de Brunovsky). Si la matrice de commandabilité (B, AB, . . . , An−1 B) du système x˙ = Ax + Bu est de rang n = dim(x) et si B est de rang m = dim(u), alors il existe un changement d’état z = M x (M matrice inversible n × n) et un bouclage statique régulier u = Kz + N v (N matrice inversible m × m), tels que les équations du système dans les variables (z, v) admettent la forme suivante (écriture sous la forme de m équations différentielles d’ordre > 1) : (α1 )
y1
(2.7) (1)
= v1 , . . . ,
(α1 −1)
avec comme état z = (y1 , y1 , . . . , y1 positifs.
(αm ) ym = vm (1)
(α −1)
, . . . , ym , ym , . . . , ym m
), les αi étant des entiers
Les m quantités yj , qui sont des combinaisons linéaires de l’état x, sont appelées sorties de Brunovsky. Pour une paire (A, B) commandable, les indices de commandabilité σk sont directement reliés aux m entiers αi de la forme de Brunovsky. Il est facile de voir que, dans le cas commandable, se donner les σk revient à ce donner les αi . Ainsi, deux systèmes commandables ayant les mêmes indices de commandabilité admet la même forme de Brunovsky, ils sont donc équivalents. Ce n’est plus vrai si ces deux systèmes ne sont plus commandables avec les mêmes indices de commandabilité. Il n’y aura équivalence que de la partie commandable. L’équivalence sera complète, si les parties non commandables sont équivalents, i.e., si les matrices définissant les dynamiques autonomes des parties non commandables sont semblables et donc admettent la même forme normale de Jordan. Démonstration du théorème 2.10. Elle repose sur (1) une mise sous forme triangulaire des équations d’état et l’élimination de u ; (2) l’invariance du rang de (B, AB, . . . , An−1 B) par rapport aux transformations (2.5) ; (3) une récurrence sur la dimension de l’état. Mise sous forme triangulaire. On suppose que B est de rang m = dim(u) (sinon, faire un regroupement des commandes en un nombre plus petit que m de façon à se ramener à ce cas). Alors, il existe une partition de l’état x = (xr , xu ) avec dim(xr ) = n − m et dim(xu ) = m telle que les équations (2.3) admettent la structure bloc suivante x˙ r = Arr xr + Aru xu + Br u x˙ u = Aur xr + Auu xu + Bu u où Bu est une matrice carrée inversible. Cette partition n’est pas unique, bien sûr. En tirant u de la seconde équation et en reportant dans la première, on obtient x˙ r = Arr xr + Aru xu + Br Bu−1 (x˙ u − Aur xr − Auu xu ) x˙ u = Aur xr + Auu xu + Bu u. En regroupant les dérivées dans la première équation, on a x˙ r − Br Bu−1 x˙ u = (Arr − Br Bu−1 Aur )xr + (Aru − Br Bu−1 Auu )xu x˙ u = Aur xr + Auu xu + Bu u.
Journ´ees Nationales de Calcul Formel 2008
page 211
16
PHILIPPE MARTIN & PIERRE ROUCHON
Avec une transformation (2.5) définie par x er = xr − Br Bu−1 xu ,
x eu = xu ,
u e = Aur xr + Auu xu + Bu u,
les équations x˙ = Ax + Bu deviennent er x eu x x e˙r = A er + A eu ˙ x eu = u e er = (Arr − Br Bu−1 Aur ) et A eu = (Arr − Br Bu−1 Aur )Br Bu−1 + (Aru − Br Bu−1 Auu ). Dans cette où A structure triangulaire où la commande u e n’intervient pas dans la première équation, nous voyons apparaître un système plus petit d’état x er et de commande x eu . Cela nous permet de réduire la dimension de x et de raisonner par récurrence. Invariance. Un simple calcul par blocs nous montre que si (B, AB, . . . , An−1 B) est de rang n alors (Au , Ar Au , . . . , An−m−1 Au ) est de rang n − m. Du système de taille n on passe ainsi au r er x eu x système de taille réduite n − m, x e˙r = A er + A eu (e xr l’état, x eu la commande). Récurrence sur le nombre d’états. Supposons donc, le résultat vrai pour toutes les dimensions d’état inférieures ou égales à n − 1. Considérons un système x˙ = Ax + Bu avec n = dim(x), sa matrice de commandabilité de rang n, et B de rang m = dim(u) > 0. L’élimination de u donne, après une transformation de type (2.5), x˙r = Ar xr + Au xu x˙u = u avec (Au , Ar Au , . . . , An−m−1 Au ) de rang n − m < n, où dim(u) = dim(xu ) = m et dim(xr ) = r n − m (les e ont été enlevés pour alléger les notations). Notons m le rang de Au . Comme m 6 m, eu ) = P xu avec P inversible, permet d’écrire le système un changement de variable sur xu , (xu , x sous la forme x˙r = Ar xr + Au xu x˙u = u (2.8) x e˙u = u e avec (u, u e) = P u, dim(xu ) = m et Au de rang m. Comme le rang de la matrice de commandabilité de x˙r = Ar xr + Au xu (xr est l’état et xu la commande) est égal à n − m = dim(xr ), l’hypothèse de récurrence assure l’existence d’un changement de variable xr = M z et d’un bouclage statique régulier xu = Kz + N v (v est la nouvelle commande ici) mettant ce sous système sous forme de Brunovsky. Alors le changement d’état (xr , xu , x eu ) défini par xr M 0 0 z xu = K N 0 v x eu
0 0 1
x eu
et le bouclage statique régulier sur (u, u e) u = KM −1 (Ar xr + Au xu ) + N v,
u e = ve
transforme alors le système (2.8) sous forme de Brunovsky avec v = (v, ve) comme nouvelle commande. Démonstration du théorème 2.9. La commandabilité est indépendante du choix des variables sur x et d’un bouclage statique régulier sur u. On peut donc supposer le système sous sa forme de Brunovsky. Dans ces coordonnées, aller d’un état à un autre est élémentaire. On se ramène (α−1) à étudier la commandabilité du système scalaire y (α) = v. L’état initial (ya , . . . , ya ) et l’état (α−1) final (yb , . . . , yb ) ainsi que la durée T étant donnés, les lois horaires t 7→ v(t) assurant le passage entre ces deux états pendant la durée T correspondent alors à la dérivée α-ième de
Journ´ees Nationales de Calcul Formel 2008
page 212
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
17
fonctions [0, T ] 3 t 7→ ϕ(t) ∈ R, dont les dérivées jusqu’à l’ordre α − 1 en 0 et T sont imposées par (r) ϕ(r) (0) = ya(r) , ϕ(r) (T ) = yb , r = 0, . . . , α − 1. Il existe bien sûr une infinité de telles fonctions ϕ (on peut prendre pour ϕ un polynôme de degré 2α − 1, par exemple). 2.2.e. Planification et suivi de trajectoires. De la preuve des deux théorèmes précédents, il est important de retenir deux choses : – Dire que le système x˙ = Ax + Bu est commandable, est équivalent à l’existence d’un bouclage statique régulier u = Kz + N v et d’un changement d’état x = M z se ramenant à la forme de Brunovsky y (α) = v et z = (y, . . . , y (α−1) ) (par abus de notation y = (y1 , . . . , ym ) (α ) (α ) et y (α) = (y1 1 , . . . , ym m )). Ainsi x = M (y, . . . , y (α−1) ),
u = L(y, . . . , y (α) )
où la matrice L est construite avec K, N et M . Lorsque l’on considère une fonction régulière arbitraire du temps t 7→ ϕ(t) ∈ Rm et que l’on calcule x(t) et u(t) par les relations x(t) = M (ϕ(t), . . . , ϕ(α−1) (t)),
u(t) = L(ϕ(t), . . . , ϕ(α) (t))
alors t 7→ (x(t), u(t)) est une trajectoire du système : on a identiquement x(t) ˙ − Ax(t) − Bu(t) = 0. Réciproquement, toutes les trajectoires régulières du système se paramétrisent de cette façon, grâce à m fonctions scalaires arbitraires ϕ1 (t), . . . , ϕm (t) et un nombre fini de leurs dérivées par les formules ci-dessus. – La commandabilité de x˙ = Ax + Bu implique la stabilisation par retour d’état. En effet, il suffit de considérer la forme de Brunovsky et dans la forme de Brunovsky, chacun des m (α ) sous-systèmes indépendants yi i = vi . Soient αi valeurs propres, λ1 , . . . , λαi , correspondant au spectre d’une matrice réelle de dimension αi . Notons sk les fonctions symétriques des λi (des quantités réelles donc) homogènes de degré k, αi Y
(X − λk ) = X αi − s1 X αi −1 + s2 X αi −2 + · · · + (−1)αi sαi
k=1
Alors, dès que les λk sont à partie réelle strictement négative, le bouclage (αi −1)
vi = s1 yi
(αi −2)
− s 2 yi
+ · · · + (−1)αi −1 sαi yi
(α )
assure la stabilité de yi i = vi : en effet, les exposants caractéristiques (on dit aussi les pôles) du système bouclé sont les λk . Aussi de la forme de Brunovsky l’on déduit directement le résultat suivant : Théorème 2.11 (placement de pôles). Si la paire (A, B) est commandable alors, pour toute matrice réelle F n × n, il existe une matrice m × n, K (non nécessairement unique), telle que le spectre de A + BK coïncide avec celui de F . De retour dans les coordonnées de modélisation, x˙ = Ax + Bu, la planification de trajectoire nous donne une trajectoire du système (par exemple la trajectoire que doit suivre une fusée au décollage, la manœuvre d’atterrissage d’un avion, . . . ). Nous la notons t 7→ (xr (t), ur (t)) avec l’indice r pour référence. En pratique, et à cause des aléas de l’existence, il convient, comme l’illustre la figure 2.4, de corriger en fonction de l’écart ∆x, la commande de référence ur (il est rare de piloter un système en aveugle, uniquement en sachant d’où l’on part et où l’on veut aller). Le problème est donc de calculer la correction ∆u à partir de ∆x de façon à revenir sur la trajectoire de référence. On peut alors utiliser un bouclage stabilisant en plaçant les pôles sur la forme de Brunovsky.
Journ´ees Nationales de Calcul Formel 2008
page 213
18
PHILIPPE MARTIN & PIERRE ROUCHON
Figure 2.4. Le suivi de trajectoire
D’une façon plus précise : comme x˙ r = Axr +Bur , on obtient, par différence avec x˙ = Ax+Bu l’équation d’erreur suivante d (∆x) = A ∆x + B ∆u dt où ∆x = x − xr et ∆u = u − ur ; le système étant commandable, il existe K, matrice m × n, telle que les valeurs propres de A + BK soient à parties réelles strictement négatives (placement de pôles). Ainsi la correction ∆u = K ∆x assure le suivi asymptotique de la trajectoire de référence t 7→ xr (t). La stabilité structurelle des points d’équilibres hyperboliques garantie que toute erreur assez faible (petite incertitude sur A et B, effets non linéaires faibles, erreurs de mesure, erreurs de troncature dues à la discrétisation de la loi de contrôle obtenue, . . . ) ne sera pas amplifiée au cours du temps : x restera ainsi proche de xr . Nous terminerons par une constatation d’ordre expérimental : lorsque le modèle dynamique x˙ = Ax + Bu est d’origine physique, il n’est pas rare que sa partie non commandable, i.e., ses intégrales premières, ait une signification physique immédiate, tout comme les grandeurs y, fonction de x et intervenant dans la forme de Brunovsky (cf. théorème 2.10) de sa partie commandable. Cet état de fait n’est vraisemblablement pas dû entièrement au hasard : en physique, les grandeurs qui admettent une signification intrinsèque, i.e., les grandeurs physiques, sont celles qui ne dépendent pas du repère de l’observateur. En automatique, le passage d’un repère à un autre correspond, entre autre, à une transformation de type (2.5). Il est alors clair que le « sousespace » engendré par les sorties de Brunovsky est un invariant. Il a donc toutes les chances d’avoir un sens physique immédiat. De plus les sorties de Brunovsky admettent un équivalent non linéaire pour de nombreux systèmes physiques. On les appelle alors sorties plates (voir le chapitre 3). Exercice 2.12. Pour le système (2.6) calculer explicitement un bouclage d’état qui place les pôles. Connaissant les paramètres m1 , m2 , et k que choisir comme pôles pour assurer la stabilité asymptotique du système bouclé ainsi que la robustesse par rapport à des dynamiques négligées ? Exercice 2.13. Soit le système de la figure 2.3. On rajoute un amortisseur linéaire entre les deux masses. Ainsi (2.6) devient (a > 0 est le coefficient de frottement) ( m1 x ¨1 = k(x2 − x1 ) + a(x˙ 2 − x˙ 1 ) + u m2 x ¨2 = k(x1 − x2 ) + a(x˙ 1 − x˙ 2 ). Montrer que le système reste commandable et calculer sa sortie de Brunovsky.
Journ´ees Nationales de Calcul Formel 2008
page 214
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
19
2.3. Linéarisation par bouclage statique 2.3.a. Équivalence statique. La relation d’équivalence qui permet de mettre un système linéaire x˙ = Ax + Bu commandable sous forme de Brunovsky peut être prolongée de la manière suivante. Au lieu de considérer des transformations du type Mx x 7−→ Kx + N u u avec M et N matrices inversibles, considérons des transformations inversibles plus générales et non linéaires suivantes x z = φ(x) 7−→ u v = k(x, u) où φ est un difféomorphisme et à x bloqué, u 7→ k(x, u) également. Il est donc logique de considérer maintenant les systèmes non linéaires de la forme x˙ = f (x, u) et leur classification modulo le groupe de transformations ci-dessus. La relation d’équivalence qui en résulte est appelée équivalence par bouclage statique régulier et changement de coordonnées (d’une façon plus abrégée équivalence statique). Décider si deux systèmes avec les mêmes nombres d’états et des commandes, x˙ = f (x, u) et z˙ = g(z, v), (f , g régulières) sont équivalents, est un problème de géométrie très compliquée et largement ouvert. En revanche, il existe une caractérisation explicite des systèmes non linéaires équivalents aux systèmes linéaires commandables : ces systèmes sont dits linéarisables par bouclage statique régulier. 2.3.b. CNS de linéarisation statique. L’intérêt pratique est le suivant. Les équations issues de la physique x˙ = f (x, u) sont en général non linéaires dans les coordonnées de modélisation x et u. La question « Existe-t-il des coordonnées, z = φ(x) et v = k(x, u), qui rendent les équations linéaires, z˙ = Az +Bv avec (A, B) commandable ? » est alors d’importance. En effet, une réponse positive signifie que le système est faussement non linéaire. Il suffit de changer de « repère » pour que tout devienne linéaire. A partir de maintenant, nous considérons le système x˙ = f (x, u),
x ∈ Rn ,
u ∈ Rm
avec f régulière et f (0, 0) = 0. Notre point de vue sera local autour de l’équilibre (x, u) = (0, 0). Il peut être élargi à l’espace tout entier sans difficulté importante. Lemme 2.14. Les deux propositions suivantes sont équivalentes (1) Le système étendu (2.9)
(
x˙ = f (x, u) u˙ = u
est linéarisable par bouclage statique (u est ici la commande) (2) Le système x˙ = f (x, u)
(2.10) est linéarisable par bouclage statique.
Démonstration. Si x = φ(z) et u = k(z, v) transforment (2.10) en un système linéaire commandable z˙ = Az + Bv, alors (x, u) = (φ(z), k(z, v)) et u =
Journ´ees Nationales de Calcul Formel 2008
∂k ∂k (Az + Bv) + v ∂z ∂v
page 215
20
PHILIPPE MARTIN & PIERRE ROUCHON
transforme (2.9) en z˙ = Az + Bv,
(2.11)
v˙ = v
système linéaire commandable. Ainsi la seconde proposition implique la première. Supposons maintenant la première proposition vraie. Comme tout système linéaire commandable peut s’écrire sous la forme (2.11) avec (A, B) commandable, (cf. forme de Brunovsky) il existe une transformation (x, u) = (φ(z, v), ψ(z, v)) et u = k(z, v, v) qui transforme (2.9) en (2.11) avec dim(z) = dim(x). Cela veut dire que pour tout (z, v, v) ∂φ ∂φ v = f (φ(z, v), ψ(z, v)). (z, v)(Az + Bv) + ∂z ∂v Donc φ ne dépend pas de v et la transformation inversible x = φ(z), u = ψ(z, v) transforme (2.10) en z˙ = Az + Bv. Ainsi, quitte à étendre l’état en posant u˙ = u et en prenant comme entrée u, on peut toujours supposer que f est affine en u, i.e., que le système admet les équations (2.12)
x˙ = f (x) + g1 (x)u1 + · · · + gm (x)um
où f et les gi sont des champs de vecteurs. Il est alors facile de voir que les transformations x = φ(z) et u = k(z, v) qui rendent le système linéaire sont nécessairement affines en v, i.e., k(x, v) = α(x) + β(x)v avec β inversible pour tout x. A partir des champs de vecteurs définissant (2.12), on définit une suite de distributions croissantes par la récurrence suivante E0 = {g1 , . . . , gm },
Ei = {Ei−1 , [f, Ei−1 ]} i > 1
où [f, g] est le crochet de Lie de deux champs de vecteurs. Ces distributions et le crochet sont invariants par changement de coordonnées. Le résultat suivant est issu de [48]. Théorème 2.15 (CNS linéarisation statique). Autour de l’équilibre (x, u) = (0, 0), le système (2.12) est linéarisable par bouclage statique régulier si, et seulement si, les distributions Ei , i = 1, . . . , n − 1 définies ci-dessus sont involutives (stable par le crochet de Lie), de rang constant autour de x = 0 et le rang de En−1 vaut n, la dimension de x. Démonstration. Il est évident que les distributions Ei , qui sont des objets intrinsèques par rapport au coordonnées x, restent également inchangées par bouclage statique u = α(x) + β(x)v avec β(x) inversible. Comme pour un système linéaire commandable x˙ = Ax + Bu, Ei correspondent à l’image de (B, AB, . . . , Ai B), les conditions sur les Ei sont donc nécessaires. Leur coté suffisant repose essentiellement sur le théorème de Frobenius [39]. Si les Ei vérifient les conditions du théorème, alors il existe un système de coordonnées locales (x1 , . . . , xn ) autour de 0 tel que ∂ ∂ Ei = ,..., ∂x1 ∂xσi où σi est le rang de Ei . Dans ces coordonnées locales, x˙ i pour i > σ0 ne dépend pas de la commande u. Ainsi, en remplaçant u par α(x) + β(x)u avec une matrice inversible β bien choisie, la dynamique (2.12) s’écrit nécessairement ainsi x˙ i = ui ,
i = 1, . . . , σ0
x˙ i = fi (x),
Journ´ees Nationales de Calcul Formel 2008
i = σ0 + 1, . . . , n.
page 216
21
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
Un raisonnement simple montre que, pour i > σ1 , fi ne dépend pas de (x1 , . . . , xσ0 ) car E1 involutive. Ainsi nous avons la structure suivante x˙ i = ui ,
i = 1, . . . , σ0
x˙ i = fi (x1 , . . . , xn ),
i = σ0 + 1, . . . , σ1
x˙ i = fi (xσ0 +1 , . . . , xn ),
i = σ1 + 1, . . . , n.
De plus le rang de (fσ0 +1 , . . . , fσ1 ) par rapport à (x1 , . . . , xσ0 ) vaut σ1 − σ0 . Donc σ0 6 σ1 − σ0 . Quitte à faire des permutations sur les σ0 premières composantes de x, on peut supposer que (x1 , . . . , xσ1 −σ0 ) 7→ (fσ0 +1 , . . . , fσ1 ) est inversible. Cela permet de définir un nouveau système de coordonnées en remplaçant les σ1 − σ0 premières composantes de x par (fσ0 +1 , . . . , fσ1 ). Dans ces nouvelles coordonnées et après bouclage statique régulier u 7→ β(x)u avec β(x) inversible bien choisi, nous avons la structure suivante (les notations avec u, x et f sont conservées) : x˙ i = ui ,
i = 1, . . . , σ0
x˙ i = xi−σ0 ,
i = σ0 + 1, . . . , σ1
x˙ i = fi (xσ0 +1 , . . . , xn ),
i = σ1 + 1, . . . , n.
On sait que ce système est linéarisable si, et seulement si, le système réduit x˙ i = xi−σ0 ,
i = σ0 + 1, . . . , σ1
x˙ i = fi (xσ0 +1 , . . . , xn ),
i = σ1 + 1, . . . , n
avec (x1 , . . . , xσ1 −σ0 ) comme commande. Comme les distributions Ei associées à ce système réduit se déduisent simplement de celles du système étendu en éliminant les champs de vecteurs ∂/∂x1 , . . ., ∂/∂xσ0 , on voit qu’elles vérifient, elles aussi, les conditions du théorème. Ainsi il est possible de réduire encore le système. A chaque étape, la linéarisation du système étendu est équivalente à celle du système réduit. Au bout de cette élimination (en au plus de n − 1 étapes), la linéarisation du système de départ est alors équivalent à celle d’un système réduit de la forme x˙ = f (x, u) où le rang de f par rapport à u est égale à la dimension de x, linéarisation qui est alors triviale. Exercice 2.16. Soit le système de la figure 2.3. On suppose que le ressort est non linéaire. Dans (2.6) la raideur k est fonction de x1 − x2 : k = k0 + a(x1 − x2 )2 avec k0 et a > 0. Montrer que ce système est linéarisable. Quelle est la sortie de Brunovsky du système linéaire équivalent ? Que se passe-t-il si on rajoute du frottement ? Exercice 2.17. Prenons l’exemple (2.2) en ne considérant que les deux équations différentielles relatives à x1 et T (nous ne considérons que la partie commandable). Montrer que ce sous-système à deux états et une commande est linéarisable. Calculer le bouclage statique qui linéarise le système. 2.3.c. Bouclage dynamique. Le lemme 2.14 est trompeur. Il semble suggérer que le fait d’étendre un système en rajoutant des dérivées de la commande dans l’état ne rajoute rien pour la linéarisation. Ceci est vrai si on rajoute le même nombre d’intégrateurs sur toutes les commandes (« prolongation totale »). Par contre, des nombres différents peuvent permettre de gagner quelque chose. Par exemple le système x ¨ = −u1 sin θ,
z¨ = u1 cos θ − 1,
θ¨ = u2
n’est pas linéarisable par bouclage statique bien que le système étendu x ¨ = −u1 sin θ,
Journ´ees Nationales de Calcul Formel 2008
z¨ = u1 cos θ − 1,
u ¨1 = u1 ,
θ¨ = u2
page 217
22
PHILIPPE MARTIN & PIERRE ROUCHON
de commande (u1 , u2 ) le soit. Ce fait n’est nullement contraire au lemme 2.14 puisque seule l’entrée u1 a été prolongée deux fois. Pour un système à une seule commande, on ne gagne évidement rien [15]. Cette remarque est à l’origine de la linéarisation par bouclage dynamique tel qu’elle a été posée dans [15]. Un système x˙ = f (x, u) est dit linéarisable par bouclage dynamique régulier, si, et seulement si, il existe un compensateur dynamique régulier ξ˙ = a(x, ξ, v),
u = k(x, ξ, v),
tel que le système bouclé x˙ = f (x, k(x, ξ, v)),
ξ˙ = a(x, ξ, v)
soit linéarisable par bouclage statique régulier. Noter que la dimension de ξ est libre. La dimension de l’espace dans lequel on doit travailler peut a priori être arbitrairement grande. Noter également que les compensateurs dynamiques qui consistent à ne prolonger que les entrées, sont des compensateurs particuliers. Ils ne permettent pas de linéariser certains systèmes comme celui ci (voir l’exemple 3.17) : x ¨ = −u1 sin θ + εu2 cos θ z¨ = u1 cos θ + εu2 sin θ − 1 θ¨ = u2 . (α )
En effet, on peut montrer que, quelque soit le compensateur dynamique de la forme u1 1 = u1 , (α ) u2 2 = u2 (α1 et α2 entiers arbitraires), le système étendu n’est pas linéarisable par bouclage statique. En revanche il est linéarisable par le bouclage dynamique endogène construit en 3.17. Cette question est à l’origine des systèmes plats, les systèmes linéarisables par des bouclages dynamiques dits endogènes et auxquels est associée une relation d’équivalence (i.e., une géométrie). Nous ne savons pas s’il existe des systèmes non linéarisables par bouclage dynamique endogène et cependant linéarisable par des bouclages dynamiques réguliers encore plus généraux dit exogènes. Tous les exemples que nous connaissons et qui sont linéarisables par bouclage dynamique, le sont par bouclage dynamique endogène.
CHAPITRE 3 SYSTÈMES PLATS
Un système x˙ = f (x, u) est ici vu comme un système sous-déterminé d’équations différentielles. Les variables (x, u) sont soumises aux contraintes x˙ − f (x, u) = 0. Les systèmes plats forment une classe pour lesquels nous disposons d’une paramétrisation explicite de toutes leurs solutions. Par explicite, nous signifions ici sans intégration, uniquement à partir d’opérations de nature statique (combinaison algébrique, . . .) et d’un nombre fini de dérivation en temps. Les solutions t 7→ (θ(t), u(t)) du bras de robot (1.1) sont soumises aux lois de la mécanique, la contrainte qui est ici J θ¨ + mgl sin θ − u = 0. Il est évident que l’on peut paramétrer explicitement toutes les solutions à l’aide d’une fonction scalaire arbitraire du temps t 7→ y(t) supposée assez régulière (C 2 par morceaux suffit) grâce aux formules explicites suivantes θ = y, u = J y¨ + mgl sin y.
Journ´ees Nationales de Calcul Formel 2008
page 218
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
23
Ces formules sont celles du « couple calculé ». Elles consistent à utiliser les équations de la mécanique à l’envers. Au lieu de fixer les loi horaires des forces et les configurations/vitesses initiales, pour en déduire le mouvement en intégrant des équations différentielles du second ordre (opération en général délicate explicitement), il suffit d’imposer la loi horaire sur les configurations et d’en déduire les forces simplement en dérivant deux fois. Pour le bras de robot, la force est notre commande en couple, et la configuration est donnée par l’angle θ. Nous dirons que ce système mécanique est plat avec comme sortie plate θ. A l’origine, la platitude a été définie [27, 30] dans le cadre de l’algèbre différentielle. Un système est alors vu comme une extension différentielle de degré fini de transcendance différentielle. Le degré de transcendance différentielle correspond alors au degré de sous-détermination, i.e., au nombre de commandes indépendantes. Un système est alors plat s’il est une extension différentielle transcendante pure. Les générateurs d’une telle extension forment alors la sortie plate. L’avantage d’une telle approche est sa capacité à traiter les systèmes mixtes, d’équations différentielles et d’équations algébriques, ainsi que les systèmes différentiels implicites. En langage plus ordinaire, nous avons la définition suivante. Un système d’état x ∈ Rn , de commande u ∈ Rm , x˙ = f (x, u) (f régulière) est plat s’il existe y ∈ Rm de la forme y = h(x, u, u, ˙ . . . , u(r) ) tel que x = ϕ(y, y, ˙ . . . , y (q) ) u = α(y, y, ˙ . . . , y (q) ) (les fonctions h, ϕ et α sont régulières). D’un point de vue formel, le passage de x˙ = f (x, u) à x = ϕ(y, y, ˙ . . . , y (q) ) u = α(y, y, ˙ . . . , y (q) ) revient à rajouter m variables supplémentaires formant la sortie plate y = h(x, u, u, ˙ . . . , u(r) ) et à tout exprimer en fonction de cette dernière. Le passage inverse s’obtient en éliminant y. Au cours de cette élimination, nous obtenons au passage la fonction h donnant y en fonction de x et u. Ainsi, il est équivalent de se donner (f, h) ou (ϕ, α). Le problème fondamental est alors le suivant : étant donnée la fonction f , i.e. les équations issues de la physique du système, existe-t-il h tel que le système déterminé implicite x˙ = f (x, u),
y = h(x, u, . . . , u(r) )
avec y fonction régulière du temps supposée donnée et (x, u) fonctions régulières du temps supposées inconnues, puisse être résolu sans intégration par des formules générales du type : x = ϕ(y, y, ˙ . . . , y (q) ),
u = α(y, y, ˙ . . . , y (q) ).
Ce problème est un problème ouvert. Il a été posé par David Hilbert en 1912 [45], pour l’équation de Monge du second ordre d2 y dy dz = F x, y, z, , , d2 x dx dx un système différentiel sous-déterminé (une équation différentielle ordinaire en x reliant deux fonctions de x, y(x) et z(x)). Hilbert parle alors de « solution sans intégrale » (« integrallos Auflösung »). Hilbert montre aussi que cette question est liée à la classification des systèmes différentiels sous-déterminés via un groupe de transformations, dites « inversibles sans intégrale »
Journ´ees Nationales de Calcul Formel 2008
page 219
24
PHILIPPE MARTIN & PIERRE ROUCHON
(« umkehrbar integrallos »). Hilbert note une analogie suggestive avec les transformations birationnelles et la classification des variétés algébriques. Peu après, Élie Cartan [13] reprend la question posée par Hilbert et montre comment des calculs sur les systèmes de Pfaff (le drapeau) permettent de caractériser les équations de Monge du second ordre qui admettent une solution générale sans intégrale. Il en déduit une description explicite de toutes les courbes de l’espace Euclidien R3 dont le rapport de la courbure et la torsion est constant. Les résultats d’Élie Cartan sont complets pour les systèmes de Pfaff de codimension 2, c’est à dire les systèmes différentiels sous-déterminés de codimension 1, i.e., ne faisant intervenir qu’une seule fonction arbitraire (pour nous ne faisant intervenir essentiellement qu’une seule commande). Élie Cartan [12] suggère aussi la notion d’équivalence absolue mais ne la définit pas avec précision. Il note que pour les systèmes de Pfaff de codimension supérieure à 2 (faisant intervenir au moins 2 commandes) la question se complique notablement. A notre connaissance, elle reste aujourd’hui très largement ouverte. Nous allons maintenant donner un cadre formel pour définir l’analogue en théorie de la commande, des systèmes différentiels ordinaires sous-déterminés résolubles sans intégration. Ce cadre a été pour la première fois proposé en 1993 dans [28]. Il est relié à [3, 96]. D’autres approches reprenant plus directement les systèmes de Pfaff et l’équivalence absolue sont également possibles [86, 119]. Il est intéressant de noter qu’à l’origine, dans le mémoire de Monge [75], ce dernier parle de systèmes intégrables, bien qu’étudiant les systèmes différentiels sous-déterminés et non déterminés. Aussi, il est suggestif de considérer la sous-classe des systèmes plats parmi les systèmes différentiels sous-déterminés comme l’analogue à celle des systèmes intégrables parmi des systèmes dynamiques déterminés. Si une telle analogie est valide (comme le pense Jean-Pierre Ramis), alors la caractérisation en termes finis de la platitude a toutes les chances d’être impossible. Tout au plus peut-on espérer avoir des critères qui permettent de montrer que certains systèmes ne sont pas plats (voir le critère des variétés réglées ci-dessous). Ces critères auront alors un rôle analogue à celui du théorème de Morales-Ramis [76] qui donne la non-intégrabilité des certains systèmes hamiltoniens ainsi que des trois célèbres équations différentielles de Lorenz.
3.1. Équivalence et platitude 3.1.a. Champ de vecteurs en dimension infinie. Un système dynamique (3.1)
x˙ = f (x),
x ∈ X ⊂ Rn
est par définition une paire (X, f ), où X est un ouvert de Rn et f un champ de vecteurs sur X. Une solution, ou trajectoire, de (3.1) est une application C 1 , t 7→ x(t), telle que x(t) ˙ = f (x(t)) ∀ t > 0. Notons que si x 7→ h(x) est une application régulière sur X et t 7→ x(t) une trajectoire de (3.1), alors d ∂h ∂h h(x(t)) = (x(t)) · x(t) ˙ = (x(t)) · f (x(t)) ∀ t > 0. dt ∂x ∂x Pour cette raison, la dérivée totale, i.e., l’application ∂h (x) · f (x) ∂x ˙ est souvent appelée « dérivée en temps » de h et notée h. Nous voudrions avoir une description similaire, i.e., un « espace » et un champ de vecteurs sur cet espace, pour un système commandé x 7−→
(3.2)
Journ´ees Nationales de Calcul Formel 2008
x˙ = f (x, u),
page 220
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
25
oùf est régulière sur un ouvert X × U ⊂ Rn × Rm . Ici f n’est plus un champ de vecteurs sur X, mais plutôt une collection infinie de champs de vecteurs sur X paramétrés par u : pour chaque u ∈ U , l’application x 7−→ fu (x) = f (x, u) est un champ de vecteurs sur X. Une telle description n’est pas adaptée au bouclage dynamique, i.e., au rajout d’intégrateurs. Si l’on prend comme commande v = u˙ au lieu de u, on obtient alors un système étendu x˙ = f (x, u), u˙ = v qui correspond en un certain sens au même système mais pour lequel la notion d’état classique n’a plus cours : l’espace X doit être prolongé à l’espace X × U . Il est cependant possible d’associer à (3.2) un champ de vecteurs avec les « mêmes » solutions et pour lequel le fait de considérer u ou v = u˙ comme entrée ne change rien. Pour cela nous allons maintenant supposer que toutes les fonctions manipulées sont régulières, i.e., C ∞ . Soit une solution régulière de (3.2), i.e., une application t 7→ (x(t), u(t)) à valeur dans X × U telle que x(t) ˙ = f (x(t), u(t)) ∀ t > 0. On peut considérer l’application infinie t 7−→ ξ(t) = (x(t), u(t), u(t), ˙ ...) ∞ m m prenant ses valeurs dans X × U × R∞ m , où Rm = R × R × . . . représente le produit infini 1 2 m ∞ dénombrable de R . Un point de Rm est de la forme (u , u , . . . ) avec ui ∈ Rm . Cette application satisfait ˙ = f (x(t), u(t)), u(t), ξ(t) ˙ u ¨(t), . . . ∀ t > 0,
et donc peut être interprétée comme la trajectoire d’un champ de vecteurs infini (x, u, u1 , . . . ) 7−→ F (x, u, u1 , . . . ) = (f (x, u), u1 , u2 , . . . ) sur X × U × R∞ m . Inversement, chaque application t 7−→ ξ(t) = (x(t), u(t), u1 (t), . . . ) qui est une trajectoire de ce champ de vecteurs infini nécessairement prend la forme (x(t), u(t), u(t), ˙ . . . ) avec x(t) ˙ = f (x(t), u(t)), et donc correspond à une solution de (3.2). Ainsi F est réellement un champ de vecteurs et non une famille paramétrée de champs de vecteurs. Avec une telle construction, le système (3.2) est défini par la donnée d’un espace X × U × R∞ m est d’un champ de vecteurs F sur cet espace. Comme pour un système dynamique classique sans commande, la « dérivation en temps » d’une fonction régulière (x, u, u1 , . . . ) 7→ h(x, u, u1 , . . . , uk ) dépendant d’un nombre fini de variables s’écrit ˙ h(x, u, u1 , . . . , uk+1 ) : = Dh · F ∂h ∂h 1 ∂h · f (x, u) + · u + 1 · u2 + · · · . ∂x ∂u ∂u La somme est ici finie car h dépend d’un nombre fini de variables. Pour être rigoureux, il faut définir la topologie et la structure différentiable de R∞ m pour pouvoir parler d’objet régulier [125]. Cette topologie est celle de Fréchet. Elle fait en sorte que tout se passe comme si on manipule des fonctions régulières sur k copies de Rm pour un k « assez grand ». Pour la suite, il est suffisant de savoir qu’une base d’ouverts est composée de produits infinis U0 × U1 × . . . d’ouverts de Rm , qu’une fonction de R∞ m à valeur dans R est régulière si elle dépend =
Journ´ees Nationales de Calcul Formel 2008
page 221
26
PHILIPPE MARTIN & PIERRE ROUCHON
∞ d’un nombre fini de variable et est régulière au sens usuel. Ainsi une application Φ : R∞ m → Rn est régulière si chacune de ces composantes est une fonction régulière. R∞ m avec sa topologie de Fréchet admet peu de propriétés. Des théorèmes utiles comme celui des fonctions implicites, celui de Frobenius et le théorème de redressement d’un champ de vecteurs ne sont plus valables. Cependant, les notions de sous-variétés de R∞ m et aussi de variétés de dimension infinie existent dans ce cadre. Il suffit de recopier les définitions de la dimension finie, en utilisant coordonnées locales, cartes et atlas. Un lecteur non intéressé par ces développements techniques ne perdra pas grand chose pour la suite s’il remplace variété par « ouvert de R∞ m ». Nous sommes en mesure de donner une définition précise de système :
Définition 3.1. Un système est une paire (M, F ) où M est une variété de dimension infinie modelée sur R∞ m et F un champ de vecteurs régulier sur M. Localement, un système est défini par Rα (α non nécessairement fini) avec comme coordonnées (ξ1 , . . . , ξα ) et un champ de vecteur ξ 7−→ F (ξ) = (F1 (ξ), . . . , Fα (ξ)) où toutes ses composantes Fi sont des fonctions d’un nombre fini de coordonnées. Une trajectoire ˙ = F (ξ(t)). est alors un application régulière t 7→ ξ(t) telle que ξ(t) Nous avons vu qu’une telle définition permet de prendre en compte les systèmes « traditionnels » x˙ = f (x, u). Elle comporte une différence essentielle : la notion d’état n’existe plus ici. En effet (3.3)
x˙ = f (x, u),
(x, u) ∈ X × U ⊂ Rn × Rm
et x˙ = f (x, u),
(3.4)
u˙ = v
admettent la même description (X × U × R∞ m , F ), avec F (x, u, u1 , . . . ) = (f (x, u), u1 , u2 , . . . ), Dans notre formalisme : t 7→ (x(t), u(t)) est une trajectoire de (3.3) si, et seulement si, t 7→ (x(t), u(t), u(t)) ˙ est une trajectoire de (3.4). Cette situation n’est pas surprenante car le bouclage dynamique ne préserve pas la dimension de l’état. Cependant le nombre de commande est préservé. 1 2 Exemple 3.2 (le système trivial). Le système trivial (R∞ m , Fm ), avec les coordonnées (y, y , y , . . . ) et le champs de vecteur
Fm (y, y 1 , y 2 , . . . ) = (y 1 , y 2 , y 3 , . . . ) décrit n’importe quel système « traditionnel » composé de m chaînes d’intégrateurs de longueurs arbitraires (cf. la forme normale de Brunovski des systèmes linéaires commandables), et en particulier le transfert direct y = u. En pratique nous identifions le champ de vecteurs infini (f (x, u), u1 , u2 , . . . ) avec l’équation x˙ = f (x, u) qui le définit. La principale motivation de ce formalisme tient à ce que les notions d’équivalence et de platitude y sont particulièrement naturelles et simples à définir.
Journ´ees Nationales de Calcul Formel 2008
page 222
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
27
Remarque 3.3. Si la variété M est de dimension finie alors il s’agit d’une équation différentielle classique, i.e., d’un système différentiel ordinaire déterminé avec autant de variables que d’équations. Dans le cas d’un système x˙ = f (x, u), le système devient sous-déterminé, il comporte plus de variables (x, u) que d’équations. La variété M associée est alors de dimension infinie. Remarque 3.4. Notre définition est adaptée de la notion de diffiété introduite dans [51] (voir aussi [125] pour une introduction plus abordable) pour traiter les systèmes aux dérivées partielles. Par définition, une diffiété est une paire (M, CT M) où M est une variété régulière, de dimension finie ou infinie, est CT M une distribution (dite de Cartan) involutive sur M, i.e., le crochet de Lie de deux champs de vecteurs appartenant à CT M reste dans CT M. La dimension de CT M est égale au nombre de variables indépendantes, i.e., au nombre de dérivation. Comme nous considérons les systèmes gouvernés par des équations différentielles ordinaires, nous utilisons des diffiétés avec des distributions de Cartan de dimension 1. 3.1.b. Équivalence de systèmes. Nous définissons ici une relation d’équivalence en formalisant l’idée que deux systèmes sont équivalents s’il existe une transformation inversible qui échange leur trajectoires. Comme nous le verrons plus loin la pertinence d’une telle d’équivalence vient du fait qu’elle admet une interprétation en termes de bouclage dynamique. Soient deux systèmes, (M, F ) et (N, G), et une application régulière Ψ : M → N Rappelons que, par définition, chaque composante de Ψ dépend d’un nombre fini de variables. Si t 7→ ξ(t) est une trajectoire de (M, F ), i.e., ∀ ξ,
˙ = F (ξ(t)), ξ(t)
Alors la composée t 7→ ζ(t) = Ψ(ξ(t)) satisfait ˙ = ∂Ψ (ξ(t)) · ξ(t) ˙ = ∂Ψ (ξ(t)) · F (ξ(t)). ζ(t) ∂ξ ∂ξ La somme ci-dessus ne comporte qu’un nombre fini de termes même si les matrices et les vecteurs ∂Ψ admettent un nombre infini de composantes : en fait une ligne de ne contient qu’un nombre ∂ξ fini de termes non nuls. Maintenant, supposons que les champs de vecteurs F et G soient Ψ-conjugués, i.e., ∀ ξ,
G(Ψ(ξ)) =
∂Ψ (ξ) · F (ξ). ∂ξ
Alors ˙ = G(Ψ(ξ(t)) = G(ζ(t)), ζ(t) signifie que t 7→ ζ(t) = Ψ(ξ(t)) est une trajectoire de (N, G). Si de plus Ψ admet une application inverse régulière Φ alors F, G sont également Φ-conjugués. Il existe alors une correspondance entre les trajectoires des deux systèmes. Une telle application Ψ qui échange F et G est appelé transformation endogène. Définition 3.5. Deux systèmes (M, F ) et (N, G) sont équivalents en (p, q) ∈ M×N si, et seulement si, il existe une transformation endogène d’un voisinage de p vers un voisinage de q. (M, F ) et (N, G) sont équivalents s’ils sont équivalents pour toute paire de points (p, q) dans un ouvert dense de M × N. Si M et N ont la même dimension finie, les systèmes sont équivalents à cause du théorème de redressement (avec des conditions restrictives évidentes sur les point critiques des deux champs de vecteurs). Ce n’est plus le cas en dimension infinie.
Journ´ees Nationales de Calcul Formel 2008
page 223
28
PHILIPPE MARTIN & PIERRE ROUCHON
Avec des coordonnées, les notions précédentes s’expriment comme suit. Considérons les deux systèmes ∞ (X × U × R∞ m , F ) et (Y × V × Rs , G)
décrivant les dynamiques (3.5)
x˙ = f (x, u),
(x, u) ∈ X × U ⊂ Rn × Rm
(3.6)
y˙ = g(y, v),
(y, v) ∈ Y × V ⊂ Rr × Rs .
Les champs de vecteurs F, G sont définis par F (x, u, u1 , . . . ) = (f (x, u), u1 , u2 , . . . ) G(y, v, v 1 , . . . ) = (g(y, v), v 1 , v 2 , . . . ). Si ces deux systèmes sont équivalents, la transformation endogène Ψ prend la forme suivante ˙ u), . . . ). Ψ(x, u, u1 , . . . ) = (ψ(x, u), β(x, u), β(x, Ici nous utilisons la notation abrégée u = (u, u1 , . . . , uk ), où k est un entier fini mais arbitraire. Ainsi Ψ est complètement déterminé par les applications ψ et β, i.e, par l’expression de y, v en fonction de x, u. De même, l’inverse Φ de Ψ prend la forme Φ(y, v, v 1 , . . . ) = (ϕ(y, v), α(y, v), α(y, ˙ v), . . . ). Comme Ψ et Φ sont inverses l’une de l’autre, nous avons ψ ϕ(y, v), α(y, v) = y ϕ ψ(x, u), β(x, u) = x et β ϕ(y, v), α(y, v) = v α ψ(x, u), β(x, u) = u. De plus F et G Ψ-conjugués impliquent
f ϕ(y, v), α(y, v) = Dϕ(y, v) · g(y, v)
où g correspond à (g, v 1 , . . . , v k ), i.e., une troncature de G pour un entier k assez grand. Inversement, g ψ(x, u), β(x, u) = Dψ(x, u) · f (x, u). En résumé, dès que t 7→ (x(t), u(t)) est une trajectoire de (3.5)
t 7−→ (y(t), v(t)) = ψ(x(t), u(t)), β(x(t), u(t))
est une trajectoire de (3.6), et réciproquement. Exemple 3.6 (l’avion à décollage vertical). Le système associé à x ¨ = −u1 sin θ + εu2 cos θ z¨ = u1 cos θ + εu2 sin θ − 1 θ¨ = u2 . est globalement équivalent au système y¨1 = −ξ sin θ,
y¨2 = ξ cos θ − 1,
où ξ et θ sont les commandes. En effet, avec ˙ X := (x, z, x, ˙ z, ˙ θ, θ) U := (u1 , u2 )
Journ´ees Nationales de Calcul Formel 2008
et
Y := (y1 , y2 , y˙ 1 , y˙ 2 ) V := (ξ, θ)
page 224
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
29
et avec les notations abrégées ci-dessus (discussion après la définition 3.5), nous définissons les applications Y = ψ(X, U ) et V = β(X, U ) par x − ε sin θ z + ε cos θ u1 − εθ˙2 ψ(X, U ) := et β(X, U ) := θ x˙ − εθ˙ cos θ ˙ z˙ − εθ sin θ pour obtenir la transformation endogène Ψ. La transformation inverse Φ est alors engendrée par X = ϕ(Y, V ) et U = α(Y, V ) comme suit : y1 + ε sin θ y − ε cos θ 2 y˙ + εθ˙ cos θ ξ + εθ˙2 1 ϕ(Y, V ) := et α(Y, V ) := y˙ 2 − εθ˙ sin θ θ¨ θ ˙θ Une importante propriété des transformations endogènes est qu’elles préservent le nombre de commandes. Théorème 3.7. Si les deux systèmes (X × U × R∞ m,F)
et
(Y × V × R∞ s , G)
sont équivalents alors ils admettent le même nombre de commandes, i.e., m = s. Démonstration. Considérons la troncature Φµ de Φ sur X × U × (Rm )µ , Φµ : X × U × (Rm+k )µ −→ Y × V × (Rs )µ (x, u, u1 , . . . , uk+µ ) 7−→ (ϕ, α, α, ˙ . . . , α(µ) ), i.e., les premiers µ + 2 blocs des composantes de Ψ ; µ est juste un entier « assez grand ». Comme Ψ est inversible, Ψµ est une submersion pour tout µ. Donc la dimension de son espace de départ est supérieure ou égale à celle de son espace d’arrivée, n + m(k + µ + 1) > s(µ + 1) ∀ µ > 0. Ce qui implique m > s. De même avec Ψ on obtient s > m. Remarque 3.8. Cette définition de l’équivalence est adaptée de l’équivalence entre deux diffiétés. Étant données deux diffiétés (M, CT M) et (N, CT N), on dit qu’une application régulière Ψ d’un ouvert de M vers N est Lie-Bäcklund ou un un C-morphisme si son application tangente T Ψ satisfait T Φ(CT M) ⊂ CT N. Si de plus Ψ admet une inverse régulière Φ telle que T Ψ(CT N) ⊂ CT M, alors Ψ est un isomorphisme de Lie-Bäcklund ou un C isomorphisme. Lorsqu’un tel isomorphisme existe, les diffiétés sont dites équivalentes. Une transformation endogène n’est donc qu’un isomorphisme spécial de Lie-Bäcklund qui préserve le paramétrage en temps des courbes intégrales. Il est possible de définir un concept plus général, l’équivalence orbitale [28, 25] avec les isomorphismes de Lie-Bäcklund ne préservant que le lieu géométrique des courbes intégrales. 3.1.c. Platitude différentielle. Nous mettons en évidence une classe de systèmes, les systèmes équivalents aux systèmes triviaux (R∞ s , Fs ) (voir exemple 3.2) : Définition 3.9. Le système (M, F ) est plat en p ∈ M (resp. plat) si, et seulement si, il est équivalent en p (resp. équivalent) à un système trivial.
Journ´ees Nationales de Calcul Formel 2008
page 225
30
PHILIPPE MARTIN & PIERRE ROUCHON
Considérons un système plat (X × U × R∞ m , F ), d’après la définition 3.5, associé à x˙ = f (x, u),
(x, u) ∈ X × U ⊂ Rn × Rm .
Par définition le système est équivalent au système trivial (R∞ s , Fs ) où la transformation endogène Ψ prend la forme (3.7)
˙ ¨ u), . . . ). Ψ(x, u, u1 , . . . ) = (h(x, u), h(x, u), h(x,
En d’autres termes, Ψ est le prolongement infini de l’application h. L’inverse Φ de Ψ prend la forme ˙ . . . ). Ψ(y) = (ψ(y), β(y), β(y), Comme Φ et Ψ sont des applications inverses, on a ϕ h(x, u) = x and α h(x, u) = u. De plus F et G Φ-conjugués implique que si t 7→ y(t) est une trajectoire de y = v — i.e., rien d’autre qu’une fonction régulière arbitraire du temps — alors t 7−→ x(t), u(t) = ψ(y(t)), β(y(t)) est une trajectoire de x˙ = f (x, u), et vice versa. L’application h de l’exemple ci-dessus est importante : Définition 3.10. Soit (M, F ) un système plat et Ψ la transformation endogène le mettant sous forme triviale. Le premier bloc des composantes de Ψ, i.e., l’application h dans (3.7), est appelée sortie plate (ou linéarisante). Avec cette définition, une conséquence évidente du théorème 3.7 est : Corollaire 3.11. Considérons un système plat. La dimension d’une sortie plate est égale au nombre de commandes, i.e., s = m. La sortie plate n’est pas unique. Si y est une sortie plate, γ(y) est aussi une sortie plate dès que γ est un difféomorphisme régulier. Pour les systèmes à une seule commande, i.e., une sortie plate scalaire (s = m = 1), il est facile de démontrer de l’on passe d’une sortie plate à une autre par un simple changement de variable purement statique. Le cas multi-variable est nettement plus complexe. Par exemple pour s = m = 2, il est facile de voir que si (y1 , y2 ) est une sortie (r) plate alors (e y1 , ye2 ) = (y1 , y2 + γ(y1 )) est aussi une sortie plate quelque soit γ régulière et r > 0. Le choix étant loin d’être unique, il faut prendre une sortie plate qui conduit aux calculs de planification et de bouclage (cf. ce qui suit) les plus simples. A ce niveau le sens physique et surtout les symétries naturelles du système peuvent être d’une grande utilité dans un tel choix (cf. section 3.5). Exemple 3.12 (l’avion à décollage vertical (suite)). Le système étudié en 3.6 est plat, avec y = h(X, U ) := (x − ε sin θ, z + ε cos θ) comme sortie plate. En effet, les applications X = ϕ(y) et U = α(y) qui engendrent l’inverse de Φ peut être obtenues par les fonctions implicites : (y1 − x)2 + (y2 − z)2 = ε2 (y1 − x)(¨ y2 + 1) − (y2 − z)¨ y1 = 0 (¨ y2 + 1) sin θ + y¨1 cos θ = 0.
Journ´ees Nationales de Calcul Formel 2008
page 226
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
31
Nous résolvons directement x, z, θ, y¨1 x = y1 ± ε p 2 y¨1 + (¨ y2 + 1)2 (¨ y2 + 1) z = y2 ± ε p 2 y2 + 1)2 y¨1 + (¨ θ = arctan(¨ y2 + 1/¨ y1 ) mod π. ˙ u en fonctions des dérivées de y. Noter que la seule Il suffit de différentier pour avoir x, ˙ z, ˙ θ, 2 2 singularité est y¨1 + (¨ y2 + 1) = 0 ; elle est liée au deux branches de solutions. 3.1.d. Application à la planification de trajectoires. Nous illustrons maintenant comment la platitude peut être utilisée pour résoudre des problèmes de commande. Soit un système non linéaire x˙ = f (x, u) x ∈ Rn , u ∈ Rm avec comme sortie plate y = h(x, u, u, ˙ . . . , u(r) ). Ainsi, les trajectoires (x(t), u(t)) s’écrivent en fonction de y et ses dérivées : x = ϕ(y, y, ˙ . . . , y (q) ) u = α(y, y, ˙ . . . , y (q) ). Nous commençons par le problème de la planification de trajectoire entre un état de départ et un état d’arrivée. Nous supposons la sortie plate (référence) donnée yi , i = 1, . . . , m par X (3.8) yi (t) := Aij λj (t), j
où les λj (t), j = 1, . . . , N sont des fonctions de base. Nous réduisons le problème à trouver une fonction dans un espace de dimension fini, l’espace vectoriel sur R engendré par les λj (t). Supposons donnés l’état initial x0 au temps τ0 et l’état final xf au temps τf > τ0 . Pour un système plat ce problème est très simple. Il suffit de calculer, au départ et à l’arrivée, la sortie plate et ses dérivées à partir des états de départ et d’arrivée. Ensuite les coefficients Aij vérifient les contraintes suivantes : P P yi (τf ) = j Aij λj (τf ) yi (τ0 ) = j Aij λj (τ0 ) .. .. (3.9) . . P P (q) (q) (q) (q) yi (τ0 ) = j Aij λj (τ0 ) yi (τf ) = j Aij λj (τf ). Nous détaillons le cas mono-dimensionnel (sortie plate de dimension un, une seule commande). Le cas multi-dimensionnel est similaire : il suffit de dupliquer pour chaque composante de la sortie (i) plate le cas mono-dimensionnel. Notons Λ(t) la matrice q + 1 par N d’élément Λij (t) = λj (t) et posons (q)
y 0 = (y1 (τ0 ), . . . , y1 (τ0 )) (3.10)
(q)
y f = (y1 (τf ), . . . , y1 (τf )) y = (y 0 , y f ).
Alors la contrainte dans l’équation (3.9) s’écrit Λ(τ0 ) (3.11) y= A =: ΠA. Λ(τf )
Journ´ees Nationales de Calcul Formel 2008
page 227
32
PHILIPPE MARTIN & PIERRE ROUCHON
Les coefficients de A appartiennent à la sous-variété affine d’équation (3.11). La seule condition est que la matrice Π soit de rang plein pour que (3.11) ait toujours une solution. Cela signifie que l’espace des fonctions λj doit être suffisamment riche. Formellement, la planification de trajectoires se ramène, pour un système plat, à de l’algèbre linéaire élémentaire. 3.1.e. Planification sous contraintes. Nous cherchons maintenant une trajectoire allant de a vers b qui satisfait des contraintes k(x, u, . . . , u(p) ) 6 0 à chaque instant. Dans les « coordonnées » plates cela consiste à trouver T > 0 et une fonction [0, T ] 3 t 7→ y(t) avec (y, . . . , y (q) ) donné en t = 0 et T et surtout vérifiant ∀ t ∈ [0, T ], K(y, . . . , y (ν) )(t) 6 0 pour un certain ν et une fonction K obtenue à partir de k, ϕ et α. Lorsque q = ν = 0 ce problème, celui du déménageur de piano, est déjà très difficile. Supposons ici simplement que les états initial et final soient deux états d’équilibre. Supposons aussi qu’un mouvement quasi-statique satisfaisant les contraintes soient possible : il existe un chemin (pas une trajectoire) [0, 1] 3 σ 7→ Y (σ) tel que Y (0) et Y (1) correspondent aux équilibres de départ et d’arrivée et, pour tout σ ∈ [0, 1], K(Y (σ), 0, . . . , 0) < 0. Alors il existe T > 0 et [0, T ] 3 t 7→ y(t) solution du problème. Il suffit de prendre Y (η(t/T )) où T est assez grand, et avec η fonction régulière croissante [0, 1] 3 s 7→ η(s) ∈ [0, 1] avec η(0) = 0, η(1) = 1 et di η (0, 1) = 0 pour i = 1, . . . , max(q, ν). dsi Dans [107] cette méthode est utilisée sur un réacteur chimique à deux commandes. Dans [102] le temps minimum sous contrainte d’état est étudié pour divers systèmes mécaniques comme ceux intervenant pour la commande numérique des machines-outils et le problème de l’usinage à grande vitesse. Enfin [116] aborde, pour les systèmes non holonomes, la planification avec obstacles. A cause des contraintes non holonomes la méthode précédente ne marche plus : il n’est plus possible de mettre les dérivées de y à zéro car elles ne correspondent plus à des dérivées en temps mais des dérivées en longueur d’arc. Cependant, plusieurs expériences numériques montrent clairement l’importance de classer les contraintes en fonction de l’ordre des dérivées de y. 3.1.f. Planification de trajectoires avec singularités. Dans la section précédente, nous avons toujours supposé que la transformation endogène ˙ ¨ u), . . . u), h(x, Ψ(x, u, u1 , . . . ) := h(x, u), h(x, engendrée par la sortie plate y = h(x, u) est partout définie, régulière et inversible de sorte qu’il est toujours possible d’exprimer x et u en fonction de y et de ses dérivées, (y, y, ˙ . . . , y (q) ) 7−→ (x, u) = φ(y, y, ˙ . . . , y (q) ). Cependant il peut arriver qu’une singularité se situe juste à l’endroit où il est intéressant de piloter de système. Comme φ n’est pas définie en un tel point, les calculs précédents deviennent caduques. Une façon de contourner le problème est d’éclater la singularité en considérant des trajectoires bien choisies t 7→ y(t) telles que t 7−→ φ y(t), y(t), ˙ . . . , y (q) (t) puisse être régulièrement prolonger en temps là où φ n’est pas défini. Une telle procédure nécessite une étude détaillée et au cas par cas de la singularité. Nous allons simplement illustrer cette idée sur un exemple simple. Nous renvoyons le lecteur aux exemples de robots mobiles avec ou sans remorques [111, 112, 30] et à la construction d’une trajectoire de référence pour retourner le pendule sphérique du robot 2kπ [55].
Journ´ees Nationales de Calcul Formel 2008
page 228
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
33
Exemple 3.13. Considérons la dynamique plate x˙ 1 = u1 ,
x˙ 2 = u2 u1 ,
x˙ 3 = x2 u1 ,
avec la sortie plate y := (x1 , x3 ). Alors dès que u1 = 0, i.e., y˙ 1 = 0 la transformation endogène définie avec la sortie plate est singulière et son inverse y¨2 y˙ 1 − y¨1 y˙ 2 y˙ 2 φ , (y, y, ˙ y¨) 7−→ (x1 , x2 , x3 , u1 , u2 ) = y1 , , y2 , y˙ 1 , y˙ 1 y˙ 13 n’est pas définie. Cependant si nous considérons des trajectoires de la forme t 7→ y(t) := σ(t), p(σ(t)) , avec σ et p fonctions régulières, nous trouvons que dp σ(t) · σ(t) ˙ y˙ 2 (t) = dσ y˙ 1 (t) σ(t) ˙
et
3 d2 p σ(t) · σ˙ (t) 2 y¨2 y˙ 1 − y¨1 y˙ 2 = dσ . 3 σ˙ 3 (t) y˙ 1
Ainsi, nous pouvons prolonger t 7→ φ(y(t), y(t), ˙ y¨(t)) partout en temps avec dp d2 p t 7−→ σ(t), σ(t) , p(σ(t)), σ(t), ˙ σ(t) . dσ dσ 2 La planification de trajectoire se fait alors de la même façon que précédemment : en effet, les fonctions σ et p et leur dérivées sont contraintes au départ et à l’arrivée. Ailleurs elles sont libres. Sur cet exemple, le passage de la singularité est intimement lié à une symétrie du système. Les équations x˙ 1 = u1 , x˙ 2 = u2 u1 , x˙ 3 = x2 u1 , sont linéaires en u1 ; la transformation t 7→ e t = σ(t) et u1 7→ u e1 = u1 /σ(t) ˙ où seule le temps t et la commande u1 changent, laisse les équations invariantes. 3.2. Bouclage et équivalence 3.2.a. De l’équivalence au bouclage. La relation d’équivalence que nous avons définie est très naturelle : c’est essentiellement une correspondance entre les trajectoires fondée sur un point de vue boucle ouverte. Nous allons maintenant aborder la boucle fermée en interprétant l’équivalence en termes de bouclage. Pour cela considérons deux dynamiques x˙ = f (x, u),
(x, u) ∈ X × U ⊂ Rn × Rm
y˙ = g(y, v),
(y, v) ∈ Y × V ⊂ Rr × Rs .
Dans notre formalisme elles correspondent aux deux systèmes (X × U × R∞ m , F ) et (Y × V × R∞ , G), où F et G sont définis par s F (x, u, u1 , . . . ) := (f (x, u), u1 , u2 , . . . ) G(y, v, v 1 , . . . ) := (g(y, v), v 1 , v 2 , . . . ). Supposons maintenant que ces deux systèmes soient équivalents, i.e., ils ont les mêmes trajectoires. Est-ce que cela implique que nous pouvons aller du système x˙ = f (x, u) au système y˙ = g(y, v) par un bouclage (dynamique éventuellement), z˙ = a(x, z, v),
z ∈ Z ⊂ Rq
u = κ(x, z, v), et vice versa ? La question peut paraître stupide au premier abord puisque un bouclage ne peut qu’augmenter la dimension de l’état du système. Cependant, nous pouvons lui donner un sens si nous acceptons de travailler « à des intégrateurs purs près » (rappelons que cela ne change pas d’après la définition 3.1 le système).
Journ´ees Nationales de Calcul Formel 2008
page 229
34
PHILIPPE MARTIN & PIERRE ROUCHON
Théorème 3.14. Supposons que x˙ = f (x, u) et y˙ = g(y, v) soient équivalents. Alors x˙ = f (x, u) peut être transformé par un bouclage (dynamique) et changement de coordonnées en y˙ = g(y, v),
v˙ = v 1 ,
v˙ 1 = v 2 , . . . ,
v˙ µ = w
pour un entier µ assez grand. Inversement, y˙ = g(y, v) peut être transformé par un bouclage (dynamique) et changement de coordonnées en x˙ = f (x, u),
u˙ = u1 ,
u˙ 1 = u2 , . . . ,
u˙ ν = w
pour un entier ν assez grand. Démonstration [61, 31]. Notons F et G les champs de vecteurs infinis représentant les deux systèmes. L’équivalence signifie qu’il existe une application inversible Φ(y, v) = (ϕ(y, v), α(y, v), α(y, ˙ v), . . . ) telle que F (Φ(y, v)) = DΦ(y, v).G(y, v).
(3.12)
Posons ye := (y, v, v 1 , . . . , v µ ) et w := v µ+1 . Pour µ assez grand, ϕ (resp. α) dépend uniquement de ye (resp. de ye et w). Avec ces notations, Φ s’écrit y ), α(e y , w), α(y, ˙ w), . . . ), Φ(e y , w) = (ϕ(e et l’équation (3.12) implique en particulier f (ϕ(e y ), α(e y , w)) = Dϕ(e y ) · ge(e y , w),
(3.13)
où ge := (g, v 1 , . . . , v k ). Comme Φ est inversible, ϕ est de rang plein et donc peut être complétée par une application π pour obtenir une changement de coordonnées ye 7−→ φ(e y ) = (ϕ(e y ), π(e y )). Considérons maintenant le bouclage dynamique u = α(φ−1 (x, z), w)) z˙ = Dπ(φ−1 (x, z)) · ge(φ−1 (x, z), w)), qui transforme x˙ = f (x, u) en −1 (x, z), w)) x˙ f (x, α(φ = fe(x, z, w) := . z˙ Dπ(φ−1 (x, z)) · ge(φ−1 (x, z), w)) Utilisant (3.13), nous avons fe φ(e y ), w =
Dϕ(e y) f ϕ(e y ), α(e y , w) · ge(e y , w) = Dπ(e y ) · ge(e y , w) Dπ(e y) = Dφ(e y ) · ge(e y , w).
Ainsi fe et ge sont φ-conjugués, ce qui termine la preuve. Un échange des rôles entre f et g conduit au bouclage dans l’autre sens. Comme un système plat est équivalent à un système trivial, on obtient immédiatement le théorème suivant : Corollaire 3.15. Une dynamique plate est linéarisable par bouclage (dynamique) et changement de coordonnées.
Journ´ees Nationales de Calcul Formel 2008
page 230
35
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
Remarque 3.16. Comme le montre la preuve du théorème ci-dessus, de nombreux bouclages réalisant l’équivalence sont possibles, autant que de fonctions π. Noter que tous ces bouclages ne sont pas définis et explosent en général au point où ϕ est singulière (i.e., là où son rang chute). Plusieurs détails sur la construction de bouclages linéarisants à partir de la sortie et les liens avec l’algorithme d’extension dynamique se trouve dans [63]. Noter enfin qu’il est souvent possible de construire, pour les systèmes plats, des bouclages dits quasi-statiques. Ils ne rajoutent pas d’état supplémentaire et permettent de linéariser la dynamique sans nécessairement passer par une forme d’état explicite. Pour une excellente référence sur le sujet, nous renvoyons à [22]. Exemple 3.17 (l’avion à décollage vertical (suite)). Nous savons de l’exemple 3.12 que la dynamique x ¨ = −u1 sin θ + εu2 cos θ z¨ = u1 cos θ + εu2 sin θ − 1 θ¨ = u2 admet comme sortie plate y = (x − ε sin θ, z + ε cos θ). Elle se transforme en (4)
y1 = v1 ,
(4)
y2 = v2
avec le bouclage dynamique ξ¨ = −v1 sin θ + v2 cos θ + ξ θ˙2 u1 = ξ + εθ˙2 u2 =
−1 ˙ (v1 cos θ + v2 sin θ + 2ξ˙θ) ξ
et le changement de coordonnées ˙ ξ, ξ) ˙ 7−→ (y, y, (x, z, θ, x, ˙ z, ˙ θ, ˙ y¨, y (3) ). La seule singularité de ce bouclage est quand ξ = 0, c’est-à-dire y¨12 + (¨ y2 + 1)2 = 0 (l’avion est en chute libre). Notons enfin que l’avion à décollage vertical n’est pas linéarisable par bouclage statique : il suffit d’appliquer le théorème 2.15. 3.2.b. Bouclages endogènes. Le théorème 3.14 assure l’existence d’un bouclage tel que x˙ = f (x, κ(x, z, w))
(3.14)
z˙ = a(x, z, w).
s’écrit, à un changement de coordonnées près, (3.15)
y˙ = g(y, v),
v˙ = v 1 , . . . ,
v˙ µ = w.
Mais (3.15) est équivalent à y˙ = g(y, v) (voir la remarque après la définition 3.1), lui-même équivalent à x˙ = f (x, u). Ainsi, (3.14) est équivalent à x˙ = f (x, u). Cela conduit à la Définition 3.18. Considérons la dynamique x˙ = f (x, u). Le bouclage u = κ(x, z, w) z˙ = a(x, z, w)
Journ´ees Nationales de Calcul Formel 2008
page 231
36
PHILIPPE MARTIN & PIERRE ROUCHON
est dit endogène si la dynamique en boucle ouverte x˙ = f (x, u) est équivalente à la dynamique en boucle fermée x˙ = f (x, κ(x, z, w)) z˙ = a(x, z, w). Le terme « endogène » traduit le fait que les variables du bouclage z et w sont en un certain sens « engendrées » par les variables originales x, u (voir [61, 64] pour plus de détails sur ces bouclages). Remarque 3.19. Il est aussi possible de considérer sans coût supplémentaire des bouclages « généralisés » dépendant non seulement de w, mais aussi des dérivées de w. Les bouclages quasistatiques en font partie [22]. Nous avons ainsi une caractérisation encore plus précise de l’équivalence et de la platitude : Théorème 3.20. Deux dynamiques, x˙ = f (x, u) et y˙ = g(y, v), sont équivalentes si, et seulement si, x˙ = f (x, u) peut être transformé par bouclage endogène et changement de coordonnées en (3.16)
y˙ = g(y, v),
v˙ = v 1 , . . . ,
v˙ µ = w.
pour un entier ν assez, et vice versa. Corollaire 3.21. Une dynamique est plate si, et seulement si, elle est linéarisable par bouclage dynamique endogène et changement de coordonnées. Une autre conséquence élémentaire et importante du théorème 3.14 est qu’un bouclage dynamique endogène peut être défait par un autre bouclage endogène : Corollaire 3.22. Considérons la dynamique x˙ = f (x, κ(x, z, w)) z˙ = a(x, z, w) où u = κ(x, z, w),
z˙ = a(x, z, w)
est un bouclage endogène. Elle peut être transformée par bouclage endogène en (3.17)
x˙ = f (x, u),
u˙ = u1 , . . . ,
u˙ µ = w.
pour un entier µ assez grand. Cela montre clairement les propriétés préservées par équivalence : les propriétés qui sont préservées par l’ajout d’intégrateurs purs et les changements de coordonnées, en particulier la commandabilité. Un bouclage endogène est réellement « réversible », à des intégrateurs purs près. Il est important de mentionner qu’un bouclage qui est inversible dans la terminologie standard — mais peut-être malheureuse — [87] n’est pas nécessairement endogène. Par exemple le bouclage z˙ = v, u = v agissant sur le système scalaire x˙ = u n’est pas endogène. En effet, la dynamique en boucle fermée x˙ = v, z˙ = v n’est plus commandable, ce qui est impossible à changer par n’importe quel autre bouclage !
Journ´ees Nationales de Calcul Formel 2008
page 232
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
37
3.2.c. Suivi de trajectoires. Un problème important en pratique est celui du suivi de trajectoires : étant donnée une dynamique x˙ = f (x, u), nous cherchons un contrôleur capable de suivre n’importe quelle trajectoires de référence t 7→ xr (t), ur (t) : il convient de rajouter à la commande en boucle ouverte une correction ∆u en fonction des erreurs sur l’état ∆x = x − xr . Pour les systèmes plats une méthode systématique existe pour calculer ∆u à partir de ∆x et de la trajectoire de référence. Si la dynamique admet comme sortie plate y = h(x, u), nous pouvons utiliser le corollaire 3.15 pour la transformer par bouclage dynamique (endogène) et changement de coordonnées en y (µ+1) = w. Avec v := yr(µ+1) (t) − K∆e y et une matrice gain K dont les valeurs propres sont à parties réelles positives, nous obtenons une dynamique de l’erreur asymptotiquement stable ∆y (µ+1) = −K∆e y,
où yr (t) := (xr (t), ur (t) et ye := (y, y, ˙ . . . , y µ ) et ∆ξ représente ξ − ξr (t). Une telle loi de commande assure le suivi asymptotique. Il existe une transformation inversible Φ(y) = (ϕ(y), α(y), α(y), ˙ ...) qui conjugue les champs infinis F (x, u) := (f (x, u), u, u1 , . . . ) et G(y) := (y, y 1 , . . . ). De la preuve du théorème 3.14, cela signifie que x = ϕ(e yr (t) + ∆e y) = ϕ(e yr (t)) + Rϕ (yr (t), ∆e y ) · ∆e y = xr (t) + Rϕ (yr (t), ∆e y ) · ∆e y et u = α(e yr (t) + ∆e y , −K∆e y)
∆e y = α(e yr (t)) + · −K∆e y ∆e y (µ+1) = ur (t) + Rα (e yr (t), yr (t), ∆e y , ∆w) · , −K∆e y Rα (yr(µ+1) (t), ∆e y)
où nous avons utilisé le résultat classique de factorisation Z 1 Rϕ (Y, ∆Y ) := Dϕ(Y + t∆Y )dt 0 Z 1 Rα (Y, w, ∆Y, ∆w) := Dα(Y + t∆Y, w + t∆w)dt. 0
Comme ∆y → 0 quand t → ∞, cela signifie que x → xr (t) et u → ur (t). Il est clair qu’un tel algorithme de suivi a des performances qui vont se dégradant (robustesse, sensibilité aux erreurs) au fur et à mesure l’on s’approche d’une singularité de la transformation ϕ c’est à dire de Φ et donc de la sortie plate. Nous terminons cette section par quelques commentaires sur l’utilisation de la linéarisation par bouclage. Un bouclage linéarisant doit toujours être nourri par un générateur de trajectoires, même si le problème original n’est pas posé en termes de suivi de trajectoires. Supposons que l’on désire stabiliser un point d’équilibre. L’application brutale d’un bouclage linéarisant sans planification de trajectoires conduit à des commandes très importantes si l’on est loin de l’équilibre. Le rôle du générateur de trajectoires est de définir une trajectoire boucle ouverte « raisonnable »
Journ´ees Nationales de Calcul Formel 2008
page 233
38
PHILIPPE MARTIN & PIERRE ROUCHON
ramenant progressivement le système à l’équilibre — i.e., satisfaisant certaines contraintes sur l’état et/ou la commande — que le contrôleur linéarisant devra suivre. 3.2.d. Suivi de trajectoires : singularités et échelles de temps. Le suivi de trajectoire est possible uniquement loin des singularités de la transformation engendrée par la sortie plate. Si la trajectoire de référence passe près ou traverse la singularité il n’est plus possible de procéder comme ci-dessus. Cependant, tout n’est pas perdu comme le montre l’exemple qui suit. Il peut être utile parfois de changer le paramétrage du temps. L’intérêt est alors, dans le nouveau temps, de retrouver une transformation régulière et inversible et d’assurer ainsi le suivi exponentiel. Exemple 3.23. Soit la trajectoire de référence t 7→ yr (t) = (σ(t), p(σ(t)) pour l’exemple 3.13. Considérons le compensateur dynamique dépendant du temps u1 = ξ σ(t) ˙ et ξ˙ = v1 σ(t). ˙ Le système en boucle fermée s’écrit x01 = ξ,
x02 = u2 ξ,
x03 = x2 ξ
ξ 0 = v1 .
avec 0 pour d/dσ. Une formulation équivalente est x001 = v1 ,
x003 = u2 ξ 2 + x2 v1 .
Pour ξ loin de zéro, le bouclage statique u2 = (v2 − x2 v1 )/ξ 2 linéarise la dynamique, x001 = v1 ,
x003 = v2
dans le temps σ. Si le système reste proche de sa référence, ξ ≈ 1, même si pour certain t, σ(t) ˙ = 0. Prenons (3.18)
v1 = 0 − signe(σ)a1 (ξ −1) − a2 (x1− σ) d2 p dp v2 = − signe(σ)a1 x2 ξ − − a2 (x3 − p) dσ 2 dσ
avec a1 > 0 et a2 > 0. Alors la dynamique de l’erreur devient exponentiellement stable en échelle σ (le terme signe(σ) est pour le cas σ˙ < 0). Des calculs similaires sont possibles pour les robots mobiles [29, 25].
3.3. Caractérisation de la platitude 3.3.a. La question de base. L’existence d’un critère calculable pour décider si x˙ = f (x, u), x ∈ Rn , u ∈ Rm est plat reste une question ouverte. Cela signifie qu’il n’existe pas de méthode systématique pour construire une sortie plate. La situation est un peu analogue à celle des fonctions de Lyapounov ou des intégrales premières uniformes pour un système dynamique. Elles sont très utiles à la fois d’un point de vue théorique et pratique bien qu’elles ne soient pas systématiquement calculables. La principale difficulté dans le calcul d’une sortie plate y = h(x, u, . . . , u(r) ) réside dans sa dépendance par rapport aux dérivées en u d’ordre r arbitrairement grand. Savoir si cet ordre r admet une borne supérieure (en terme de n et m) reste une énigme. Nous ne savons même pas, pour une dimension d’état et un nombre donné de commandes, si une borne finie existe. Par la suite, nous dirons qu’un système est r-plat s’il admet une sortie plate dépendant de u dérivé au plus r fois. Pour illustrer le fait qu’une telle borne doit être au mieux linéaire en la dimension de l’état, considérons l’exemple suivant : (α1 )
x1
= u1 ,
Journ´ees Nationales de Calcul Formel 2008
(α2 )
x2
= u2 ,
x˙ 3 = u1 u2
page 234
39
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
avec α1 > 0 et α2 > 0. Il admet comme sortie plate α1 X (α −i) (i−1) y1 = x 3 + (−1)i x1 1 u2 ,
y2 = x2 .
i=1
Ce système est r-plat avec r := min(α1 , α2 ) − 1. Nous conjecturons qu’il n’existe pas de sortie plate dépendant des dérivées de u d’un ordre inférieur ou égal à r − 1. Admettons qu’une telle borne κ(n, m) soit connue, Le problème de caractériser la p-platitude pour un p 6 κ(n, m) donné peut être résolu au moins théoriquement. Cela revient (voir [61]) à trouver m fonctions h1 , . . . , hm dépendant de (x, u, . . . , u(p) ) tel que n o (µ) dim span dx1 , . . . , dxn , du1 , . . . , dum , dh1 , . . . , dh(µ) m 06µ6ν
= m(ν + 1), où ν := n + pm. Cela revient à vérifier l’intégrabilité d’un système aux dérivées partielles avec comme condition de transversalité dxi ∧ dh ∧ · · · ∧ dh(ν) = 0,
i = 1, . . . , n
duj ∧ dh ∧ · · · ∧ dh(ν) = 0,
j = 1, . . . , m
dh ∧ · · · ∧ dh(ν) 6= 0, (µ)
(µ)
où dh(µ) représente dh1 ∧ · · · ∧ dhm . Il est en théorie possible de conclure par un critère calculable [10, 99], bien que les calculs généraux soient inextricables en pratique. Cependant, on peut espérer utiliser la structure spéciale du problème pour mettre en évidence des simplifications majeures. En bref, tout reste à faire même si l’on dispose de plusieurs façon d’aborder la question (voir [3, 16, 90, 58, 5]). 3.3.b. Résultats connus Systèmes linéarisables par bouclage statique. Nous avons vu qu’un tel système admettait une forme normale de Brunovsky. Il est donc plat, les sorties de Brunovsky, fonction de x uniquement, forment alors une sortie plate. La condition nécessaire et suffisante [48, 46] du théorème 2.15 est de nature purement géométrique. Noter qu’un système plat n’est pas, en général, linéarisable par bouclage statique (cf. l’avion à décollage vertical 3.12) sauf pour les systèmes avec une seule commande. Systèmes à une seule commande. Avec une seule commande, la linéarisation par bouclage dynamique implique la linéarisation par bouclage statique [15]. Ainsi la platitude est, dans ce cas, entièrement caractérisée par le théorème 2.15. Systèmes affines en commande de co-dimension 1. Un système de la forme x˙ = f0 (x) +
n−1 X
uj gj (x),
x ∈ Rn ,
j=1
i.e., avec une commande de moins que d’état est 0-plat dès qu’il est commandable [15] (plus précisément fortement accessible en x). La situation se complique très sensiblement lorsque la dépendance en u n’est plus affine (voir [62] pour des conditions suffisantes de nature géométrique). Systèmes affines en commande à 2 états et 4 commandes. Des conditions nécessaires et suffisantes de 1-platitude de tels systèmes se trouvent dans [6, 97]. Elles donnent une bonne idée de la difficulté calculatoire du test effectif de la r-platitude même pour r petit.
Journ´ees Nationales de Calcul Formel 2008
page 235
40
PHILIPPE MARTIN & PIERRE ROUCHON
Systèmes sans dérive. Pour les systèmes de la forme x˙ = disponibles.
Pm
i=1 fi (x)ui
d’autres résultats sont
Théorème 3.24 (systèmes sans dérive à deux commande [67]). Le système x˙ = f1 (x)u1 + f2 (x)u2 est plat si, et seulement si, le rang générique de Ek est égale à k + 2 pour k = 0, . . . , n − 2 où E0 := {f1 , f2 }, Ek+1 := {Ek , [Ek , Ek ]}, k > 0. Un système plat sans dérive à deux commandes est toujours 0-plat. Un tel système satisfaisant des conditions supplémentaires de régularité (voir [81]), peut être mis par bouclage statique régulier et changement de coordonnées sous forme chaînée [82] x˙ 1 = u1 ,
x˙ 2 = u2 ,
x˙ 3 = x2 u1 , . . . ,
x˙ n = xn−1 u1 ,
la sortie plate étant alors y = (x1 , xn ). Théorème 3.25 (système sans dérive, n état, n − 2 commandes [68, 69]) Le système n−2 X x˙ = ui fi (x), x ∈ Rn i=1
est plat dès qu’il est commandable (i.e., fortement accessible pour presque tout x). Plus précisément, il est 0-plat si n est impaire, et 1-plat si n est pair. Tous les résultats ci-dessus utilisent les systèmes différentiels extérieurs et s’appuient sur certains travaux d’Élie Cartan. Certains systèmes mécaniques. Lorsque le nombre des commandes (i.e., de moteurs) est égal aux nombre de degrés de liberté géométrique moins un, une caractérisation très intrinsèque d’une sortie plate ne dépendant que des variables de configuration est disponible. Dans [105] l’existence d’une telle sortie plate est caractérisée à partir de la métrique issue de l’énergie cinétique et de la co-distribution des commandes. Une condition nécessaire. Comme on ne sait pas si la platitude peut être testée de manière finie, voir section 3.3.a, il est souvent très difficile de montrer qu’un système n’est pas plat. Le critère suivant donne une condition suffisante simple. Il permet de montrer de façon élémentaire que certains systèmes ne sont pas plats. Théorème 3.26 (le critère de la variété réglée [108]). Supposons que x˙ = f (x, u) soit plat. La projection sur le p-espace de la sous-variété d’équation p = f (x, u) dans le (p, u)-espace (x est ici un paramètre) est une sous-variété réglée pour tout x. Ce critère signifie que l’élimination de u des n équations x˙ = f (x, u) conduit à n−m équations F (x, x) ˙ = 0 avec la propriété suivante : pour tout (x, p) tel que F (x, p) = 0, il existe a ∈ Rn , a 6= 0 tel que ∀ λ ∈ R, F (x, p + λa) = 0. F (x, p) = 0 est donc réglée car elle contient la droite passant par p de direction a. La preuve de ce résultat est directement dans l’esprit du papier de Hilbert [45] qui montre que l’équation de Monge 2 d2 z dy = 2 dx dx n’est pas résoluble sans intégrale. Une version restreinte est proposée dans [120] pour des systèmes linéarisables par des bouclages dynamiques très particuliers (prolongements purs).
Journ´ees Nationales de Calcul Formel 2008
page 236
41
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
Démonstration. Soit (x, u, p), tel que p = f (x, u). Génériquement, f est de rang m = dim(u) par rapport à u (sinon, il suffit d’enlever certaines commandes). Aussi, l’élimination de u des équations est possible. Cela conduit à n−m équations ne faisant intervenir que x et p, F (x, p) = 0. Ainsi nous avons la contrainte sur les trajectoires autour de (x, u) : F (x, x) ˙ = 0. Si le système est plat alors x = ϕ(y, y, ˙ . . . , y (q) ) ˙ . . . , y (q) ) tel que où y est une sortie plate et l’application ϕ une submersion. Ainsi, existe (y, y, ˙ . . . , y (q) ). Quelque soit la fonction régulière du temps y, on a l’identité suivante x = ϕ(y, y, F ϕ(y, y, ˙ . . . , y (q) ), ϕy y˙ + ϕy˙ y¨ + · · · + ϕy(q) y (q+1) ≡ 0. En prenant une fonction y dont les dérivées en t = 0 jusqu’à l’ordre q sont imposées y (r) (0) = y (r) , r = 0, . . . , q et y (q) (0) = y (q) + ξ où ξ est un vecteur arbitraire de Rm on a en particulier l’identité suivante pour tout ξ ∈ Rm F x, x˙ + ϕy(q) ξ ≡ 0 ˙ . . . , y (q) ). Par le point (x, p) de F (x, p) = 0, passe l’espace affine avec ϕy(q) évaluer en (y, y, parallèle à l’image de ϕy(q) , un espace vectoriel de dimension au plus égale à m et au moins égale à 1. Ce résultat est particulièrement simple. Il constitue cependant le seul moyen de montrer que certains systèmes avec plusieurs commandes ne sont pas plats. Exemple 3.27. Le système x˙ 1 = u1 ,
x˙ 2 = u2 ,
x˙ 3 = (u1 )2 + (u2 )3
n’est pas plat, car la sous-variété p3 = p21 + p32 n’est pas réglée : il n’existe pas de a ∈ R3 , a 6= 0, tel que ∀ λ ∈ R, p3 + λa3 = (p1 + λa1 )2 + (p2 + λa2 )3 . En effet, le terme cubique en λ implique a2 = 0, le terme quadratique a1 = 0 et donc a3 = 0. Exemple 3.28. Le système x˙ 3 = x˙ 21 + x˙ 22 ne définit pas une sous-variété réglée de R3 : il n’est pas plat dans R. En revanche, il définit une sous-variété réglée de C3 : il est plat dans C, avec comme sortie plate √ √ √ y = x3 − (x˙ 1 − x˙ 2 −1)(x1 + x2 −1), x1 + x2 −1 . Exemple 3.29 (la bille sur une règle [44]). Considérons le système de la figure 3.1 décrit par les équations r¨ = −Bg sin θ + Brθ˙2 (mr2 + J + Jb )θ¨ = τ − 2mrr˙ θ˙ − mgr cos θ, ˙ est l’état et τ la commande, En tant que système à une commande, nous savons où (r, r, ˙ θ, θ)
Figure 3.1. La bille roule sans glisser sur la règle dont on pilote l’inclinaison
qu’il n’est pas linéarisable par bouclage statique et donc qu’il ne peut pas être plat (cf. soussection 3.3.b). Cependant il est très instructif de le montrer avec le critère des variétés réglées.
Journ´ees Nationales de Calcul Formel 2008
page 237
42
PHILIPPE MARTIN & PIERRE ROUCHON
Cela permet de comprendre pourquoi la caractérisation des systèmes plats à une seule commande est une question résolue. L’élimination de τ donne v˙ r = −Bg sin θ + Brθ˙2 ,
r˙ = vr ,
θ˙ = vθ
˙ v˙ θ ) pour chaque r, vr , θ, vθ . On ne peut pas qui définit une sous-variété réglée de l’espace (r, ˙ v˙ r , θ, conclure directement. Cependant le système est équivalent à r˙ = vr ,
v˙ r = −Bg sin θ + Brθ˙2 ,
qui ne définit pas une sous-variété réglée pour chaque (r, vr , θ). Donc ce système n’est pas plat. L’exemple qui précède montre clairement pourquoi les systèmes plats à une commande coïncident avec les systèmes linéarisables par bouclage statique. Pour un système mono-entrée plat, l’élimination de u, conduit à une sous-variété de dimension 1 dans l’espace des p = x. ˙ Or les seules sous-variétés réglées de dimension 1 sont des droites. Il est alors toujours possible de faire une changement de variable sur x pour avoir des droites parallèles à une direction fixe, indépendante de x et ainsi se ramener à un système équivalent avec un état de moins et toujours une seule commande. On se ramène ainsi de proche en proche, par changement de variables et élimination, à un système avec un état et une commande. La sortie plate est alors l’état mono-dimensionnel restant. Cette simple procédure montre clairement que le système est linéarisable par bouclage statique. Pour un système plat à deux entrées, l’élimination de u conduit à une sous-variété réglée de dimension 2 qui n’est pas en général un plan et donc n’a aucune raison d’être un espace affine. Le fait que la géométrie des variétés réglées de dimension > 2 soit bien plus complexe que celles de dimension 1 explique la différence entre le cas mono-entrée et le cas multi-entrées. Nous donnons ici un exemple qui vérifie le critère des variétés réglées mais qui n’est pas susceptible d’être traité par la procédure récemment proposée dans [115] : x˙ 1 = x2 + (u1 − x1 u2 )2 u2 ,
x˙ 2 = u1 ,
x˙ 3 = u2
Cet exemple est issu de [98] où est proposée une généralisation du critère des variétés réglées : cette généralisation permet de montrer que deux systèmes x˙ = f (x, u) et y˙ = g(y, v) ne sont pas équivalents au sens de la définition 3.5 lorsque y˙ = g(y, v) n’est plus le système trivial y˙ = v. 3.4. Commande optimale et prédictive Considérons le problème classique
Z
min J(u) = u
0
T
L(x(t), u(t))dt
avec x˙ = f (x, u), x(0) = a et x(T ) = b, où a, b et T > 0 sont donnés. Supposons que x˙ = f (x, u) soit plat avec y = h(x, u, . . . , u(r) ) comme sortie plate, x = ϕ(y, . . . , y (q) ),
u = α(y, . . . , y (q) ).
La résolution numérique de minu J(u) nécessite a priori la discrétisation de l’espace d’état, une approximation de dimension finie. Une autre façon consiste à discrétiser la sortie plate. Comme P dans la section 3.1.d, posons yi (t) = N 1 Aij λj (t). Les conditions initiales et finales sur x signifient que les Aij sont dans un sous espace affine, noté V . Ainsi nous sommes conduits au programme non linéaire suivant Z T min J(A) = L(ϕ(y, . . . , y (q) ), α(y, . . . , y (q) ))dt, A∈V
Journ´ees Nationales de Calcul Formel 2008
0
page 238
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
43
P où les yi sont remplacés par N 1 Aij λj (t). Cette méthode a été utilisée dans [85] pour la génération de trajectoires optimales. Elle est généralisée à des systèmes plus généraux que les systèmes plats dans [14]. Elle peut également être utilisée pour la commande prédictive. Le principal intérêt réside dans des gains importants en temps de calculs et une meilleure stabilité numérique. En effet, la quadrature exacte de la dynamique — correspondant à la discrétisation exacte de la dynamique grâce à des signaux de commande bien choisis avec α — évite les problèmes usuels liés à l’intégration de x˙ = f (x, u) et à la contrainte finale x(T ) = b. Une référence récente sur le sujet est [42]. 3.5. Symétries 3.5.a. Sortie plate invariante. Soit une dynamique x˙ = f (x, u), (x, u) ∈ X × U ⊂ Rn × Rm . Selon la section 3.1, elle engendre un système (F, M), où M := X × U × R∞ m
et F (x, u, u1 , . . . ) := (f (x, u), u1 , u2 , . . . ).
Au cœur de notre notion d’équivalence se trouvent les applications endogènes qui envoient les solutions d’un système vers celles d’un autre système. Nous allons maintenant considérer une sous-classe importante de transformations endogènes, celles qui envoient les solutions du système sur d’autres solutions du même système : Définition 3.30. Une transformation endogène Φg : M 7→ M est une symétrie du système (F, M) si ∀ ξ := (x, u, u1 , . . . ) ∈ M, F (Φg (ξ)) = DΦg (ξ) · F (ξ). Plus généralement, nous pouvons considérer un groupe de symétries, i.e., une collection Φg g∈G de symétries ∀ g1 , g2 ∈ G, Φg1 ◦ Φg2 = Φg1 ∗g2 , où (G, ∗) est un groupe. Supposons le système plat. Le choix de la sortie plate n’est pas unique, car toute transformation sur la sortie plate donne lieu à une autre sortie plate. Cependant, nous allons voir sur un exemple que certains choix sont meilleurs que d’autres. Cela tient au fait que certaines sorties plates admettent alors un sens physique immédiat et donc, d’une certaine manière, préservent les symétries naturelles. Exemple 3.31 (la voiture). Le système décrivant une voiture (condition de roulement sans glissement à l’avant et à l’arrière) x˙ = u1 cos θ, y˙ = u1 sin θ, θ˙ = u2 , admet, comme groupe de symétries, le groupe SE(2) des déplacements du plan (x, y) préservant l’orientation : chaque translation de vecteur (a, b)0 et rotation d’angle α, conduit à la transformation endogène X = x cos α − y sin α + a Y = x sin α + y cos α + b Θ=θ+α U1 = u1 U2 = u2 qui est une symétrie, puisque les équations d’état restent les mêmes, ˙ = U2 . X˙ = U1 cos Θ, Y˙ = U1 sin Θ, Θ Ce système est plat avec z := (x, y) comme sortie plate. Évidemment, une multitude de sorties plates est possible comme ze := (x, y + x). ˙ Cependant, z est un choix bien plus « naturel » que ze,
Journ´ees Nationales de Calcul Formel 2008
page 239
44
PHILIPPE MARTIN & PIERRE ROUCHON
car z correspond aux coordonnées cartésienne de l’essieu arrière alors que la seconde composante de ze n’a physiquement aucun sens en tant que somme d’une position et d’une vitesse. Une façon plus formelle serait de dire que z préserve les symétries alors que ze ne les respecte pas. En fait chaque symétrie sur le système induit une transformation sur z : X z1 cos α − z2 sin α + a Z1 z1 = = . 7−→ Y z1 sin α + z2 cos α + b Z2 z2 Cette transformation ne fait pas apparaître les dérivées de z : c’est une transformation ponctuelle. ˙ . . . ) par simple Cette transformation engendre une transformation endogène (z, z, ˙ . . . ) 7→ (Z, Z, prolongement. Selon [40], nous dirons qu’une telle transformation qui est le prolongement d’une transformation ponctuelle est holonome. La transformation induite de façon similaire sur ze ! e1 X Z ze1 7−→ e = ze2 Y + X˙ Z2 ! ze1 cos α + (ze˙1 − ze2 ) sin α + a = ¨1 − ze˙2 ) sin α + b ze1 sin α + ze2 cos α + (ze n’est plus une transformation ponctuelle (elle comporte des dérivées de ze). Elle n’est pas holonome. Soit un système (F, M) admettant une symétrie Φ (resp. un groupe de symétries Φg g∈G ).
Supposons que ce système soit plat avec y = h(x, u, . . . , u(q) ) comme sortie plate. Notons Ψ := ˙ h, ¨ . . . ) la transformation endogène engendrée par h. L’exemple ci-dessus nous suggère la (h, h, définition suivante. Définition 3.32 (sortie plate invariante). La sortie plate h est dite invariante par rapport à la symétrie Φ (resp. au groupe de symétries Φg g∈G ) si, et seulement si, la transformation Ψ◦Φ◦Ψ−1 est holonome (resp. les transformations Ψ ◦ Φg ◦ Ψ−1 sont holonomes pour tout g ∈ G). Se pose alors la question fondamentale suivante : soit Φg g∈G un groupe de symétries d’un système plat. Sous quelles conditions existe-t-il une sortie plate invariante par rapport à un tel groupe. Cette question peut être vue comme le cas particulier du problème général suivant : soit un système différentiel sous-déterminé x˙ − f (x, u) = 0 avec un groupe de symétries ; peut-il être réduit à un système plus petit ? Contrairement au cas déterminé où ce problème a été étudié et résolu depuis longtemps, il semble que, pour les systèmes sous-déterminés cette question ait été très peu étudiée [89]. 3.5.b. Sortie plate, potentiel et degré de liberté de jauge. Symétries et potentiels sont des concepts très importants en physique. Pour clore ce chapitre, nous ne pouvons pas résister à la tentation de montrer que la problématique des systèmes plats s’inscrit très naturellement dans ce cadre. Les équations de Maxwell dans le vide indique que le champ magnétique H est à divergence nulle, ∇·H = 0. En coordonnées euclidiennes (x1 , x2 , x3 ), cela conduit au système sous-déterminé aux dérivées partielles suivant ∂H1 ∂H2 ∂H3 + + = 0. ∂x1 ∂x2 ∂x3 Une observation clé est que la solution générale de ce système dérive d’un potentiel vecteur H = ∇ × A : la contrainte ∇ · H = 0 est alors automatiquement vérifiée quelque soit le potentiel vecteur A. Ce potentiel paramétrise toutes les solutions du système sous-déterminé ∇·H = 0 (voir [100] pour une théorie générale dans le cadre linéaire avec la notion de systèmes paramétrisables).
Journ´ees Nationales de Calcul Formel 2008
page 240
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
45
A est a priori non unique car il est défini, à partir de H, à un champ de gradient près, le degré de liberté de jauge. Les symétries du problème indiquent souvent comment utiliser ce degré de liberté pour définir un potentiel A « naturel » de façon à avoir les calculs les plus simples par la suite. La situation est très analogue pour les systèmes plats. La sortie plate est un « potentiel » pour le système différentiel sous-déterminé x−f ˙ (x, u) = 0. Les transformations endogènes sur la sortie plate correspondent aux degrés de liberté de jauge. La sortie plate « naturelle » est également déterminée par les symétries « naturelles » du système. Avec une telle sortie plate, les bouclages deviennent aussi invariants et donc préservent la physique du système (voir [71] pour le suivi de trajectoire invariant). Une façon moins ésotérique et plus pragmatique pour se convaincre que la platitude est une notion intéressante consiste à parcourir le petit catalogue de systèmes plats du chapitre 5.
CHAPITRE 4 SYSTÈMES PLATS DE DIMENSION INFINIE
La correspondance entre les trajectoires est à la base de la notion d’équivalence et de platitude. Une telle correspondance peut être étendue à des systèmes qui ne sont plus nécessairement gouvernés par des équations différentielles ordinaires. Des prolongements sont possibles pour les systèmes gouvernés par des équations aux dérivées partielles avec commande sur la frontière. Ici la situation est bien moins claire que pour les équations différentielles ordinaires. Cependant des tels prolongements peuvent être très utiles pour la planification de trajectoires. Le cadre théorique qui permettrait de regrouper sous une même forme les exemples qui suivent reste à définir. Nous renvoyons à [77, 33, 34] pour un début de formalisation dans le cas linéaire. On trouvera aussi dans le numéro spécial de « International Journal of Control » en l’honneur de Michel Fliess (Vol 81, issue 3, 2008), plusieurs articles sur la dimension infinie et la platitude, articles qui complètent la monographie [114]. Nous ne retenons ici que le coté explicite des paramétrisations à l’aide de grandeurs jouant le rôle de sorties plates et dont la dépendance en temps est libre de toutes contraintes en dehors de celles liées à la régularité.
4.1. Retards et équations des ondes 4.1.a. Exemples de base. Soit le système différentiel à retard x˙ 1 (t) = x2 (t),
x˙ 2 (t) = x1 (t) − x2 (t) + u(t − 1).
Avec y(t) := x1 (t), nous avons une paramétrisation explicite des trajectoires x1 (t) = y(t),
x2 (t) = y(t), ˙
u(t) = y¨(t + 1) + y(t ˙ + 1) − y(t + 1).
Ainsi, y(t) := x1 (t) joue ici le rôle d’une sortie « plate » quitte à utiliser dans les formules des valeurs avancées de y. Cette idée est étudiée en détail dans [77], où la classe des systèmes δ-libre est définie (δ est ici l’opérateur de retard). Plus précisément, [77] considère les systèmes linéaires avec retard de la forme M (d/dt, δ)w = 0 où M est une matrice (n − m) × n dont les éléments sont des polynômes en d/dt et δ et où w = (w1 , . . . , wn ) correspond aux variables du système. Un tel système est alors dit δ-libre s’il
Journ´ees Nationales de Calcul Formel 2008
page 241
46
PHILIPPE MARTIN & PIERRE ROUCHON
est relié au système libre y = (y1 , . . . , ym ) engendré par m fonctions arbitraires du temps par w = P (d/dt, δ, δ −1 )y y = Q(d/dt, δ, δ −1 )w, avec P (resp. Q) une matrice n × m (resp. m × n) à éléments polynomiaux en d/dt, δ et δ −1 . De nombreux systèmes linéaires sont δ-libres. Par exemple, x(t) ˙ = Ax(t) + Bu(t − 1), avec (A, B) commandable, est δ-libre, avec la sortie de Brunovsky de x˙ = Ax + Bv comme sortie « δ-libre ». Les modèles suivants, très souvent utilisés en commande de procédés, ( ) m X Kij exp(−sδij ) zi (s) = uj (s), i = 1, . . . p j 1 + τ s i j=1 (s est la variable de Laplace, Kij est le gain statique, δij le retard et τij la constante de temps du transfert entre uj et zi ) sont δ-libres [92]. A ce niveau, les travaux dans [101] sur des modules libres sont particulièrement intéressants : ils proposent des méthodes formelles systématiques pour le calcul de base, i.e., de paramétrisation explicite via la sortie plate. 4.1.b. Barre en torsion. D’autres exemples de systèmes δ-libres sont obtenus par l’équation des ondes. La dynamique en torsion d’une barre élastique [35] avec d’un côté un moteur et de l’autre une inertie est en variables réduites (figure 4.1) ∂t2 θ(x, t) = ∂x2 θ(x, t),
x ∈ [0, 1]
∂x θ(0, t) = −u(t) ∂x θ(1, t) = −∂t2 θ(1, t), où θ(x, t) est l’angle de torsion et u(t) la commande proportionnelle au couple du moteur. Des
Figure 4.1. Une barre en torsion avec inertie ponctuelle
formules de d’Alembert, θ(x, t) = φ(x + t) + ψ(x − t), on déduit sans peine, 2θ(t, x) = −y(t ˙ + x − 1) + y(t ˙ − x + 1) + y(t + x − 1) + y(t − x + 1) 2u(t) = y¨(t + 1) + y¨(t − 1) + y(t ˙ + 1) − y(t ˙ − 1), avec y(t) := θ(1, t). Ce système est clairement δ-libre avec θ(1, t) comme sortie « δ-plate ». Nous renvoyons à [78, 35] pour les calculs et l’application à la planification de trajectoires (démarrage d’une machine tournante). Les paramétrisations précédentes utilisent des retards ponctuels. Sur certains systèmes où la vitesse de propagation des ondes dépend de l’espace, il est utile d’introduire des retards répartis comme le montre l’exemple d’une chaîne pesante.
Journ´ees Nationales de Calcul Formel 2008
page 242
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
47
4.1.c. Chaîne pesante. Nous reprenons ici l’exemple introductif de [94]. Les équations de la dynamique d’une chaîne pesante (cf. figure 4.2) sont ∂ ∂X ∂2X = gz pour z ∈ [0, L], X(L, t) = D(t) ∂t2 ∂z ∂z avec la commande au bord D(t), le déplacement du chariot. Ce modèle est un modèle linéarisé
Figure 4.2. La chaîne pesante
autour de l’équilibre X = D(t), X(z, t) étant l’abscisse à l’instant t du maillon à la coté z. Nous allons montrer que la sortie plate est y(t) := X(0, t) avec Z 2π p 1 (4.1) X(z, t) = y t + 2 z/g sin ξ dξ. 2π 0 Une façon de faire est de vérifier a posteriori que, quelque soit la fonction t 7→ y(t) deux fois dérivable, le profil X(z, t) ci-dessus vérifie les équations de la dynamique avec comme commande Z 2π p 1 D(t) = y t + 2 L/g sin ξ dξ. 2π 0 Une autre manière de procéder est le calcul symbolique à la Heaviside ou Mikusiński. Formellement, cela revient à utiliser la transformation de Laplace en temps et à remplacer la dérivée en b désigne la transformée de Laplace temps avec la multiplication par s, la variable de Laplace (X de X) : b d dX b gz = s2 X. dz dz Il est bien connu [124] que la solution fondamentale de cette équation du second ordre qui n’est pas infinie en z = 0 s’exprime avec la fonction de Bessel J0 (il s’agit de la fonction de Clifford) : p J0 (−2i z/gs). Comme J0 (0) = 1, on a
p b s) = J0 (−2i z/gs) X(0, s). X(z,
Avec la représentation intégrale de Poisson 1 J0 (ξ) = 2π
Z 0
2π
exp(iξ sin θ) dθ
on obtient
Z 2π p b s) = 1 X(z, exp 2s x/g sin θ yb(s) dθ 2π 0 avec y = X(0, t). Comme la transformée de Laplace de y(t + a) est exp(as)b y , on en déduit directement la formule (4.1). L’opérateur qui à y associe le profil X(z, t) est à support compact.
Journ´ees Nationales de Calcul Formel 2008
page 243
48
PHILIPPE MARTIN & PIERRE ROUCHON
Il est facilement de construire des trajectoires allant d’une position statique vers une autre en temps fini. Les formules (4.1) fournissent une réponse élémentaire à la planification de trajectoires. 4.1.d. Réacteur chimique avec recyclage. Cet exemple est issu de [113]. Dans [4], Aris
Figure 4.3. Le réacteur de Aris et Amundson avec un recyclage
et Amundson considèrent une classe de réacteurs chimiques ne faisant intervenir qu’une seule réaction et dont le prototype (ici A −→ B et deux espèces A et B) est décrit sur la figure 4.3 où nous avons rajouté un recyclage et une dynamique de transfert thermique représentée par un retard pur τQ constant. Sous des hypothèses classiques (agitation parfaite, volume constant, échange thermique instantané, thermodynamique simplifiée) les bilans de matière et d’énergie conduisent aux équations suivantes : ˙ = D(xF − x(t)) + DR (x(t − τR ) − x(t)) − r(x(t), T (t)) x(t) (4.2) T˙ (t) = D(TF − T (t)) + DR (T (t − τR ) − T (t)) +α r(x(t), T (t)) + Q(t − τ ). Q
La concentration de l’espèce A est notée x et la température, T . La commande Q est directement proportionnelle à la puissance échangée avec l’extérieur. Les paramètres suivants sont supposés constants : α, proportionnel à l’enthalpie de réaction ; D, le taux de dilution ; xF et TF , les composition et température d’entrée. Le recyclage est ici représenté par un retard pur τR (absence de réaction et écoulement piston). Si VR est le volume du circuit de recycle et FR son débit, alors τR = VR /FR . Ainsi le modèle du réacteur est un système non linéaire à retards. Pour son intégration, il est nécessaire de fixer la valeur initiale de x et T non seulement dans le réacteur mais aussi dans le circuit de recyclage. Ainsi la condition initiale porte sur les valeurs de x et T entre les instants −τR et 0 : elle est de dimension infinie. Supposons maintenant que la loi horaire de x(t) = y(t) soit donnée. Le bilan matière (la première équation de (4.2)) donne une équation implicite définissant la température en fonction de y(t), y(t) ˙ et y(t − τR ) : T (t) = Θ(y(t), y(t), ˙ y(t − τR )). Le bilan énergie fournit le flux thermique Q(t − τQ ) = T˙ (t) − D(TF − T (t)) − DR (T (t − τR ) − T (t)) − α r(y(t), T (t)); d’où Q(t) = T˙ (t + τQ ) − D(TF − T (t + τQ )) − DR (T (t − τR + τQ ) − T (t + τQ )) − α r(y(t + τQ ), T (t + τQ )).
Journ´ees Nationales de Calcul Formel 2008
page 244
49
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
Il s’en suit que Q(t) dépend de y(t + τQ ), y(t ˙ + τQ ), y¨(t + τQ ), y(t − τR + τQ ), y(t − 2τR + τQ ) et y(t ˙ − τR + τQ ). Formellement nous avons Q(t) = Λ[y(t + τQ ), y(t ˙ + τQ ), y¨(t + τQ ), y(t − τR + τQ ), y(t − 2τR + τQ ), y(t ˙ − τR + τQ )]. Ainsi la valeur de Q(t) sur l’intervalle [0, t∗ ] dépend de la valeur de y(t) sur l’intervalle [−2τR + τQ , t∗ + τQ ]. Pour trouver une commande Q qui connecte deux états stationnaires en temps fini, il suffit alors de définir une fonction t 7→ y(t) qui ne varie que sur [0, t∗ ]. Dans ce cas la transition vers le nouveau état stationnaire commencera au temps −τQ pour la commande Q, au temps 0 pour T et x. Le nouveau régime stationnaire sera alors atteint au temps t∗ pour x, au temps t∗ + τR pour T et au temps t∗ + 2τR − τQ pour Q. 4.1.e. Serpent non holonome. L’exemple le plus connu de système plat est celui de la voiture avec plusieurs remorques (cf. chapitre 5), la sortie plate étant la position de la dernière remorque. Lorsque le nombre de remorques est important, il est tentant, comme le montre le figure 4.4,
Figure 4.4. Le serpent non holonome : approximation par un système continu de la voiture avec beaucoup de remorques
de considérer l’approximation continue par le « serpent non holonome ». Les remorques sont repérées par une variable continue, l ∈ [0, L] et un point dans le plan M (l, t). Les équations aux dérivées partielles vérifiées par M sont les suivantes
∂M ∂M ∂M
∧ = 0.
∂l = 1, ∂l ∂t La première équation dit que l 7→ M (l, t) est une paramétrisation en longueur d’arc du serpent (les attaches des remorques sont inextensibles). La seconde équation traduit les conditions de roulement sans glissement, les contraintes non holonomes : la vitesse de la remorque l est parallèle la direction de la remorque l, i.e., la tangent à la courbe l 7→ M (l, t). Il est évident que la solution générale de ce système est très simple : M (l, t) = P (s(t) − l),
l ∈ [0, L]
où P correspond à la tête du serpent avec s 7→ P (s) une paramétrisation en longueur d’arc de la courbe suivie par P . De la même façon M (l, t) = Q(s(t) + l),
l ∈ [0, L]
où Q correspond à la queue du serpent, la sortie plate pour le système avec un nombre fini de remorques. Le lien avec la dimension finie est alors simplement le développement en série de P Q(s + l) en s via Q(s + l) = i>0 Q(i) (s)li /i!. La formule avec le retard est cependant bien plus simple et pratique. Avec beaucoup de remorques (typiquement plus de 5), il est économe
Journ´ees Nationales de Calcul Formel 2008
page 245
50
PHILIPPE MARTIN & PIERRE ROUCHON
de fonder la planification de trajectoires sur M (l, t) = Q(s(t) + l). Ainsi le modèle réduit du système, i.e., le modèle qui conduit aux calculs les plus simples, est ici de dimension infinie. 4.1.f. Équation de Burger sans diffusion. Nous considérons ici l’équation de Burger sans diffusion [93]. Elle représente un gaz de particules sans interaction et en mouvement inertiel dans
4 3.5 3 2.5 2 1.5 1 1 0.8
1.5 0.6
1
0.4 0.5
0.2 0
0
Figure 4.5. Un écoulement obéissant à l’équation de Burger ; transition d’une vitesse basse v ≡ 1 vers une vitesse haute v ≡ 4 sans choc de compression.
un tuyau de longueur l : ∂v ∂v +v = 0 x ∈ [0, 1] . ∂t ∂x v(0, t) = u(t)
(4.3)
Le champ x 7→ v(x, t) est la vitesse des particules en x ∈ [0, l]. La commande est la vitesse d’entrée dans le tuyau u(t) > 0. La vitesse en sortie est notée y(t) = v(l, t). Comme l’accélération de chaque particule est constant, sa vitesse reste constante tout au long de son trajet dans le tuyau. La particule qui en t sort, admet comme vitesse y(t). Au temps t − l/y(t) cette même particule était à l’entrée, c’est à dire en x = 0. Sa vitesse était alors de u(t − 1/y(t)). D’où y(t) = u(t − 1/y(t)). Symétriquement nous avons ; u(t) = y(t + 1/u(t)). Plus généralement, nous avons : y(t) = v(t − (1 − x)/y(t), x) x ∈ [0, 1] et u(t) = v(t + x/u(t), x) x ∈ [0, 1]. Formellement, nous avons une correspondance entre les trajectoires t 7→ v(•, t), solution de (4.3), et t 7→ y(t). Cette correspondance est effective dès que y > 0 est différentiable et t 7→ t−(1−x)/y(t) croissante pour tout x ∈ [0, l], c’est à dire tel que pour tout temps t, y(t) ˙ > −y 2 (t). Cette condition correspond à des solutions régulières sans choc [18]. Il est alors facile de générer des commandes t 7→ u(t) allant des bases vitesses v(•, 0) ≡ v1 > 0 vers les hautes vitesses v(•, T ) ≡ v2 > v1 en un temps T pas trop court en évitant la formation d’onde de choc (ce problème est typique des coups de bélier en hydraulique).
Journ´ees Nationales de Calcul Formel 2008
page 246
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
51
Notons que les calculs restent valables pour tout système de la forme vt + λ(v)vx = 0 x ∈ [0, l] v(0, t) = u(t) car les relations entre y(t) = v(l, t), u et v sont (voir, par exemple, [21, page 41]) : y(t) = u[t − 1/λ(y(t))],
y(t) = v[t − (1 − x)/λ(y(t)), x].
4.1.g. Mélange. L’exemple de la figure 4.6 est issu de [93], un système où le retard dépend de la commande. A partir des trois bacs de couleurs pures, il convient d’obtenir dans le bac de Χηροµατιχ Βατχη Προχεσσ: α σψστεµ ωιτη νονλινεαρ δελαψσ.
noeud α α
noeud
β
β
χολορ σλιδερ
Figure 4.6. Mélange de couleurs ; les délais variables non négligeables sont dus aux rétentions Vα et Vβ dans les tuyaux.
sortie un mélange de couleur et quantité fixées à l’avance. Du fait que les volumes des tuyaux sont importants des retards apparaissent. On suppose ici les écoulements pistons dans les tuyaux α et β. Connaissant les quantités de couleurs dans le bac de sortie, t 7→ Y = (Y1 , Y2 , Y3 ), il est possible de calculer explicitement les trois commandes u = (u1 , u2 , u3 ) et les profils de couleurs dans les tuyaux α et β avec Y et sa dérivée en temps Y˙ . Les notations sont les suivantes (cf. figure 4.6). – une couleur (ou composition) est un triplet (c1 , c2 , c3 ) avec ∀ i = 1, 2, 3 0 6 ci 6 1 et c1 + c2 + c3 = 1. – bi = (δij )j=1,2,3 correspond aux couleurs fondamentales des trois bacs d’entrée i, i = 1, 2, 3. – u = (u1 , u2 , u3 )T : les débits de soutirage des trois bacs d’entrée (la commande). – α = (α1 , α2 , 0)T : couleur au nœud mélangeur α. – β = (β1 , β2 , β3 )T : couleur au nœud mélangeur β. – V : volume dans le bac de sortie. – X = (X1 , X2 , X3 ) : couleur du bac de sortie. – Y = (Y1 , Y2 , Y3 )T = (V.X1 , V.X2 , V.X3 )T les rétentions dans le bac de sortie. Y1 , Y2 , Y3 sont des fonctions croissantes du temps. – Vα : volume du tuyau α. – Vβ : volume du tuyau β. Noter que α1 + α2 = 1, β1 + β2 + β3 = 1, X1 + X2 + X3 = 1. L’utilisation des équations de bilan couleur par couleur permet de construire u, α et β à partir de Y . Supposons que t 7→ σ(t) 7→ Y (σ(t)) est donnée avec t 7→ σ(t) une fonction croissante
Journ´ees Nationales de Calcul Formel 2008
page 247
52
PHILIPPE MARTIN & PIERRE ROUCHON
différentiable et σ 7→ Yi (σ) positive, différentiable et strictement croissante pour i = 1, 2, 3. Les calculs se déroulent en partant de la sortie pour aller vers l’entrée en remontant le sens des fluides. Les étapes sont les suivantes ( 0 signifie d/dσ) : (1) résoudre (avec, par exemple, une méthode de Newton) l’équation scalaire 3 X
Yi (σβ ) =
i=1
3 X
Yi (σ(t)) + Vβ
i=1
avec σβ comme inconnue. (2) résoudre de même l’équation scalaire Y1 (σα ) + Y2 (σα ) = Y1 (σβ ) + Y2 (σβ ) + Vα avec σα comme inconnue. (3) poser α1 (t) = et avec V = Y1 + Y2 + Y3 .
Y10 (σα ) , α2 (t) = 1 − α1 (t). Y10 (σα ) + Y20 (σα ) 0 Y (sβ ) β(t) = V0
(4) poser ui (t) = αi (t) (Y10 (σβ ) + Y20 (σβ )) V 0 (σ(t)) σ(t) ˙ i = 1, 2 et u3 (t) = V 0 (σ(t)) σ(t) ˙ − u1 (t) − u2 (t) Supposons maintenant que nous ayons à produire une série de mélanges de couleurs différentes définies par Qa = (Qa1 , Qa2 , Qa3 ), Qb = (Qb1 , Qb2 , Qb3 ), Qc , . . . sans possibilité de purger les tuyaux α et β entre chaque mélange. Il suffit de définir une courbe croissante pour chaque composante de Y , t 7→ σ 7→ Yi comme sur la figure 4.7. La loi horaire t 7→ σ(t) admet des tangentes horizontales aux instants ta , tb , tc , . . . pour assurer des transitions douces entre les divers mélanges. 4.2. Diffusion Dans la section précédente, nous avons vu comment utiliser les retards (linéaire et non linéaires) pour résoudre la planification de trajectoires de systèmes avec propagation à vitesse finie et sans diffusion. Nous allons maintenant voir des calculs très différents avec des séries faisant intervenir un nombre infini de dérivées de y. La fonction t 7→ y(t) est alors C ∞ . Pour assurer la convergence des séries, y doit être d’un ordre Gevrey fini [104]. 4.2.a. Équation de la chaleur. Soit l’équation de la chaleur linéaire [54], (4.4)
∂t θ(x, t) = ∂x2 θ(x, t),
(4.5)
∂x θ(0, t) = 0
(4.6)
x ∈ [0, 1]
θ(1, t) = u(t),
avec θ(x, t) le profil de température et u(t) la commande. Nous allons voir que y(t) := θ(0, t) est une « sortie plate ». Comme pour la chaîne pesante nous allons commencer par un calcul formel. Avec la variable de Laplace s, le système s’écrit b s) = θb00 (x, s) avec θb0 (0, s) = 0, θ(1, b s) = u sθ(x, b(s)
Journ´ees Nationales de Calcul Formel 2008
page 248
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
53
Figure 4.7. Planification de la production en définissant une bonne trajectoire pour la « sortie plate » t 7→ Y (t).
√ b s) = cosh(x√s)b (où 0 signifie ∂x et b transformée de Laplace). La solution est clairement θ(x, u(s)/ cosh( s). √ b s) = u Comme θ(0, b(s)/ cosh( s), nous avons √ √ b s) = cosh(x s) yb(s). u b(s) = cosh( s) yb(s) et θ(x, P √ i Puisque cosh s = +∞ i=0 s /(2i)!, nous avons formellement θ(x, t) =
(4.7)
+∞ X i=1
u(t) =
(4.8)
x2i
y (i) (t) (2i)!
+∞ (i) X y (t) i=1
(2i)!
.
Noter que ces calculs sont connus depuis longtemps (voir [123, pp. 588 and 594] ou encore [38]). Ils sont à l’origine des fonctions Gevrey-2, fonctions C ∞ telles que les séries ci-dessus convergent. Regardons un peu ces questions de convergence. D’un coté, t 7→ y(t) doit être une fonction régulière telle que ∃ K, M > 0,
∀ i > 0, ∀ t ∈ [t0 , t1 ],
|y (i) (t)| 6 M (Ki)2i
pour que les séries (4.7)-(4.8) convergent. D’un autre coté, t 7→ y(t) ne peut pas être analytique partout, si l’on souhaite utiliser ces séries pour aller d’un profil vers une autre. En effet si le système est à piloter d’un profil initial θ(x, t0 ) = α0 (x) en t0 au profil final θ(x, t1 ) = α1 (x) en t1 , l’équation (4.4) implique que ∀ t ∈ [0, 1], ∀ i > 0,
y (i) (t) = ∂ti θ(0, t) = ∂x2i θ(0, t),
et en particulier ∀ i > 0,
y (i) (t0 ) = ∂x2i α0 (0) et y (i) (t1 ) = ∂x2i α1 (1).
Journ´ees Nationales de Calcul Formel 2008
page 249
54
PHILIPPE MARTIN & PIERRE ROUCHON
Si, par exemple α0 (x) = c pour tout x ∈ [0, 1] (i.e., profil uniforme), alors y(t0 ) = c et y (i) (t0 ) = 0 pour tout i > 1, ce qui implique y(t) = c pour tout t si f est analytique. Il est alors impossible avec une telle classe de fonctions de générer des trajectoires autre que θ ≡ c. Les fonctions t ∈ [t0 , t1 ] 7→ y(t) qui vérifient ∃ K, M > 0,
∀ i > 0,
|y (i) (t)| 6 M (Ki)σi
∀ t ∈ [t0 , t1 ],
sont connues sous le nom de fonction Gevrey d’ordre σ [103] (elles sont aussi reliées aux fonctions de classe S [41]). Les fonctions analytiques sont les fonctions Gevrey d’ordre 6 1. Pour tout σ > 1, il existe une fonction d’ordre Gevrey σ à support compact sans être nulle. Citons, comme prototype, la fonction ∆σ en forme de cloche de support [0, 1] et définie par ∆σ (t) = exp −1/(t(1 − t))1/(σ−1) pour t ∈ [0, 1]. Enfin la classe des fonctions Gevrey σ > 1 est stable par addition, multiplication, composition, dérivation et intégration. Ainsi pour la planification de trajectoires de l’équation de la chaleur, nous avons besoin de fonctions Gevrey d’ordre > 1, 6 2 pour la convergence des séries et dont les séries de Taylor en t0 et t1 sont imposées par les profils initiaux et finaux. Avec de telles fonctions nous pouvons calculer avec (4.7), la commande en boucle ouverte qui assure la transition d’un profil vers un autre. Par exemple, la figure 4.8 correspond au passage de θ = 0 en t = 0 à θ = 1 en t = 1 avec la fonction 0 si t < 0 1 si t > 1 R 3 t 7−→ y(t) := R t 0 R∆2 (τ )dτ si t ∈ [0, 1]. 1 0 ∆2
2
1.5
1
0.5
0 1 0.8
1 0.6
0.8 0.6
0.4
0.4
0.2
0.2 0
0
Figure 4.8. Équation de la chaleur ; profil de température entre deux états stationnaires t ∈ [0, 1]
Suite à une discussion avec Jean-Pierre Ramis en octobre 1997, des essais numériques indiquent que les calculs peuvent également être conduits avec des fonctions d’ordre Gevrey > 2. Les séries divergent alors mais une sommation aux plus petits termes (voir [104]) donne des résultats numériques très encourageants. Les commandes semblent plus douces qu’avec des séries convergentes. Ces premiers calculs ont été confirmés par la suite dans [72, 73] sur équations de convection/diffusion 1D avec des termes sources non-linéaires.
Journ´ees Nationales de Calcul Formel 2008
page 250
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
55
4.2.b. Réacteur chimique tubulaire (convection/diffusion). Nous reprenons ici [37, 113]. La seule différence vient du fait que le système est vectoriel et les coefficients sont des fonctions de l’abscisse z. La convergence des séries est encore assurée bien que moins évidente que pour l’équation de la chaleur. Le réacteur tubulaire est uniquement piloté par
Figure 4.9. Réacteur tubulaire à parois adiabatiques
les flux de matière et d’énergie à l’entrée. Il est possible de paramétrer les trajectoires avec la concentration et la température en sortie x(l, t) et T (l, t). Un premier modèle, linéarisé autour d’un régime stationnaire est de la forme (convectiondiffusion) : ∂ x(z, t) ∂ 2 x(z, t) ∂ x(z, t) (4.9) =Γ 2 −v ∂t T (z, t) ∂z T (z, t) ∂z T (z, t) −rx −rT x(z, t) + , αrx αrT T (z, t) pour z ∈ [0, l], avec les conditions aux bords ∂ x x(0, t) ux (t) v −Γ = T (0, t) uT (t) ∂z T 0,t ∂ x = 0. ∂z T l,t Le système est piloté via les flux totaux ux et uT à l’entrée du réacteur (z = 0). Les flux de diffusion sont nuls à la sortie du réacteur (z = l). La vitesse de l’écoulement est v. La matrice de diffusion est Γ ; α est proportionnel à l’enthalpie de réaction. Les dérivées partielles de la cinétique r(x, T ) par rapport à x et T sont notées rx et rT . Il est possible de conduire les calculs avec Γ, α, rx et rT fonctions analytiques en x, et v Gevrey 2 en temps : les récurrences qui suivent sont alors plus complexes mais les séries convergent sous les mêmes hypothèses (cf. [54]). Pour simplifier nous présentons les calculs en supposant v, Γ, α, rx et rT constants. Les concentration et température, x(l, t) et T (l, t), à la sortie du réacteur forment une sortie plate. Notons y(t) le vecteur [x(l, t), T (l, t)]0 . En effet considérons un développement en série de puissances de (z − l) : ∞ X (z − l)i x ai (t). (z, t) = T i! i=0
où les ai sont des vecteurs de dimension 2. Ainsi a0 (t) = y(t), et la condition au bord z = l donne a1 (t) = 0. L’équation (4.9) impose après identification terme à terme la récurrence suivante : −1 dai (4.10) ai+2 = Γ + vai+1 + Rai , i > 0, dt
Journ´ees Nationales de Calcul Formel 2008
page 251
56
PHILIPPE MARTIN & PIERRE ROUCHON
avec R=
rx rT . −αrx −αrT
Ainsi ai s’exprime en fonction de y et de ses dérivées jusqu’à l’ordre (2) E(i/2). Formellement la commande est obtenue en évaluant pour z = 0 les séries donnant x, T , ∂T ∂z : ∞ X (−l)i x (0, t) = ai (t) T i!
∂x ∂z
et
i=0
et
∞ X ∂ x (−l)i (0, t) = ai+1 (t). ∂z T i! i=0
Ainsi (4.11)
X ∞ (−l)i ux (t) = (vai − Γai+1 ). uT (t) i! i=0
Les profils x et T ainsi que le contrôle u(t) dépendent de y et d’un nombre infini de ses dérivées en temps. Les développements précédents sont formels. Ils doivent être complétés par l’analyse de la convergence des séries. La classe des fonctions y pour laquelle ces séries admettent un rayon de convergence non nul est comme pour l’équation de la chaleur, celle des fonctions d’ordre Gevrey 6 2. 4.2.c. Poutre en flexion (Euler-Bernoulli). Nous reprenons [2, 36]. Ici le coté calcul symbolique est particulièrement important.
Figure 4.10. Une poutre flexible en rotation autour d’un axe
Nous ne développerons pas le cadre formel avec le calcul opérationnel de Mikusi` nski. Pour cela nous renvoyons à [36]. Nous allons uniquement présenter les calculs symboliques qui consistent comme toujours à remplacer la dérivée en temps par la multiplication par s. Le cadre formel donne un sens précis aux calculs que nous allons faire. Les équations de l’élasticité linéaire conduisent au modèle 1D suivant ∂tt X = −∂xxxx X X(0, t) = 0, ∂x X(0, t) = θ(t) ¨ = u(t) + k∂xx X(0, t) θ(t) ∂xx X(1, t) = −λ∂ttx X(1, t) ∂xxx X(1, t) = µ∂tt X(1, t) 2. E(i/2) est la partie entière de i/2.
Journ´ees Nationales de Calcul Formel 2008
page 252
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
57
où la commande est le couple du moteur u, X(r, t) est le profile la poutre, k, λ et µ sont des paramètres positifs liés aux inerties du moteur et de la masse en r = 1 (t et r sont en échelles réduites sans dimension). Nous allons démontrer que formellement la solution générale de ce système s’exprime à l’aide de y une fonction scalaire arbitraire C ∞ (d’ordre Gevrey 6 2 pour la convergence) : X (−1)n y (2n) (t) X (−1)n y (2n+2) (t) (4.12) X(x, t) = Pn (x) + Qn (x) (4n)! (4n + 4)! n>0 n>0 √ avec (ı = −1, < et = signifient partie réelle et partie imaginaire, respectivement) Pn (x) = et Qn (x) =
x4n+1 (= − 0 vers un autre de longueur différente s(T ) = LT > 0.
Figure 5.16. Extrusion de fibres minces : le contrôle est la vitesse u = W (L, t), la « sortie plate » est le couple S(L, T )∂z W (L, t).
5.4.e. Extrusion. Le modèle le plus simple d’un procédé d’extrusion fabriquant des fibres minces est proposé dans [1]. Comme illustré sur la figure 5.16, il s’agit d’un système implicite aux dérivées partielles sur le domaine z ∈ [0, L]. Il caractérise le diamètre S(z, t) et la vitesse W (z, t) de la fibre (η est un paramètre >0). Usuellement, le contrôle est la vitesse u = W (L, t). Au delà d’une certaine vitesse critique u∗ , le profil stationnaire devient instable comme le montre [1]. Si, au lieu de la vitesse, on fixe le couple y = S(L, T )∂z W (L, t) alors on est face à un problème de type Cauchy-Kovalevsky en z (comme pour le câble aéro-tracté ci-dessus) et les instabilités disparaissent. En effet, de S∂z W = y(t),
Journ´ees Nationales de Calcul Formel 2008
∂t S + ∂z (SW ) = 0
page 268
73
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
on tire explicitement ∂z S et ∂z W en fonction de y, S, W et ∂t S. On dispose de deux conditions initiales en z = 0, S(0, t) = S0 et W (0, t) = W0 issues des conditions en sortie d’extrudeuse. Un développement en série de puissances de z est donc a priori possible bien que son utilisation pour la planification de trajectoires semble délicate.
5.5. Systèmes électro-mécaniques 5.5.a. Le convertisseur de tensions. Un convertisseur de tension continu en tension continu par modulation de largeur d’impulsions (PWM) obéit aux équations suivantes x˙ 1 = (u − 1)
x2 E + , L L
x˙ 2 = (1 − u)
x1 x2 − , LC RC
où u ∈ [0, 1] est la commande, le rapport cyclique. L’énergie électromagnétique y := est la sortie plate [118].
x21 x2 + 2 2C 2L
5.5.b. Paliers magnétiques. Une solution simple à la planification de trajectoires et à la stabilisation des paliers magnétiques est proposée dans [59]. Le contrôle obtenu assure qu’à chaque instant, seul l’un des deux électro-aimants est actif. Cela permet de réduire le nombre d’aimants par un placement plus astucieux de ces derniers. 5.5.c. Moteurs à induction. Le modèle standard d’un moteur à induction s’écrit avec des variables complexes pour les grandeurs électriques (voir [56] pour plus de détails) Rs ıs + ψ˙ s = us Rr ır + ψ˙ r = 0
ψs = Ls ıs + M ejnθ ır ψr = M e−jnθ ıs + Lr ır ,
où ψs et ıs (resp. ψr et ır ) sont valeurs complexes des flux et courants stator (resp. rotor), θ est √ l’angle du rotor et j = −1. La commande est la tension complexe us appliquée au stator. Avec ψr = ρejα , La dynamique du rotor est donnée par J
n 2 d2 θ ˙ = ρ α˙ − τL (θ, θ), dt2 Rr
où τL est le couple de charge. Ce système est plat avec les deux angles (θ, α) comme sortie plate [70] (voir aussi [17]). 5.5.d. Ligne de transmission. [32] aborde la transmission d’un signal au moyen d’une ligne décrite par l’équation des télégraphistes avec une pré-compensation des distorsions dues à la ligne directement au niveau du signal d’entrée. La propagation d’un signal électrique via une ligne le longueur ` obéit aux lois de Kirschhoff (voir, par exemple, [106]) : ∂i ∂v = −Ri − ∂t ∂x ∂v ∂i C =− − Gv. ∂t ∂x avec 0 6 x 6 `. Par unité de longueur, la résistance est R, l’inductance L, la capacité C et la perditance G. L’élimination du courant i donne l’équation des télégraphistes L
(5.7)
∂ 2 v(x, t) ∂ ∂ = (R + L )(G + C )v(x, t). ∂x2 ∂t ∂t
Journ´ees Nationales de Calcul Formel 2008
page 269
74
PHILIPPE MARTIN & PIERRE ROUCHON
Les conditions aux limites sont v(0, t) = u(t) v(`, t) = Zi(`, t) où Z est la résistance en bout de ligne. La commande est la tension d’entrée u(t) = v(0, t). Nous allons voir que y(t) = v(`, t) est la sortie plate. Avec s, la variable de Laplace, (5.7) devient une simple équation différentielle ordinaire en x : vb00 (x, s) = $(s)b v (x, s),
(5.8)
où $(s) = (R + Ls)(G + Cs). Les conditions aux limites donnent (5.9)
vb(0, s) = u b,
(R + Ls)b v (`, s) = Zb v 0 (`, s).
La solution générale de (5.8) est
p p vb(x, s) = A(s) cosh((` − x) $(s)) + B(s) sinh((` − x) $(s))
avec A(s) et B(s) indépendants de x et déduits des conditions aux bords (5.9). Au lieu de considérer la relation entre vb et u b, regardons la relation entre vb et y(s) = v(`, s) : p p R + Ls sinh((` − x) $(s)) p (5.10) vb(x, s) = cosh((` − x) $(s)) + yb(s). Z $(s) Noter que le transfert entre vb et yb est une fonction entière de s. Ainsi yb est une sortie plate. Pour x = 0 (5.10) donne p p R + Ls sinh ` $(s) yb(s). p (5.11) u b(s) = cosh ` $(s) + Z $(s) Supposons G = √ 0 pour plus de simplicité. La formule (5.11) donne, de retour dans le domaine temporel, (λ = ` LC, α = R/2L, $(s) = RCs + LCs2 ) r r 1 −αλ 1 L 1 αλ 1 L u(t) = e (1 − ) y(t − λ) + e (1 + ) y(t + λ) 2 Z C 2 Z C Z +λ p R √ + e−ατ J0 iα τ 2 − λ2 4Z LC −λ ! # r p e−ατ iα 1 L + √ λ− τ J1 iα τ 2 − λ2 y(t − τ ) dτ Z C 2 τ 2 − λ2
avec J0 et J1 les fonctions de Bessel (voir les tables de transformations de Laplace dans [23]). Ainsi la relation entre y et u passe par un filtre à support compact mais non causal : u(t) dépend des valeurs de y sur [t − λ, t + λ]. Il est alors très naturel d’utiliser ce filtre pour construire un pré-compensateur.
5.6. Systèmes quantiques Le modèle physique le plus simple d’un système quantique à deux états (spin 1/2) contrôlé par un champ électromagnétique cohérent est (voir, par exemple, [43]) : dx1 dx2 dx3 = ωx2 , = −ωx1 + ux3 , = −ux2 dt dt dt avec le contrôle scalaire u (typiquement proportionnel au champ électrique) et ω une pulsation constante. Comme (x1 )2 + (x2 )2 + (x3 )2 est invariant, la dynamique est restreinte sur la sphère
Journ´ees Nationales de Calcul Formel 2008
page 270
75
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
unité (sphère de Bloch) : (x1 )2 + (x2 )2 + (x3 )2 = 1. Alors y = x1 est une sortie plate car q (2) y+ y 2 (y (1) )2 y (1) ω 2 r x1 = y, x2 = ω , x3 = ± 1 − y − ω2 , u = ± . (1) 1−y 2 −
(y
ω2
)2
On trouvera dans [91], un autre exemple de dynamique quantique plate, exemple très similaire à la voiture non-holonome mais où le groupe sur lequel évolue le système n’est plus SE(2) mais SU (2) : les calculs y sont alors conduits avec les quaternions. Dans [74], on montre que la partie commandable d’un oscillateur harmonique contrôlé est plate (elle est même linéaire). Dans [109], on propose une version quantique de la gamelle d’eau : sur le linéaire tangent autour de tout état propre, il est possible de déplacer la particule piégée dans sa boîte sans changer son énergie finale. Dans le cas non-linéaire, la commandabilité a été montrée dans [7] avec la méthode du retour décrite dans [20]. Pour d’autres résultats sur la commandabilité d’équations de Schrödinger 1D ayant une structure voisine voir [9, 8]. On trouvera enfin dans [110] plusieurs autres exemples de dimension finie et infinie. 5.7. Réacteurs chimiques Le réacteur exothermique parfaitement considéré dans [4] admet la description suivante : ∗ ∗ dx1 dx2 − Tx − Tx in 2 , 2 + u = D(xin − x ) − kx e = D(x − x ) + cx e 1 1 2 1 1 2 dt dt avec l’état x = (x1 , x2 ) et le contrôle scalaire u, les autres grandeurs étant des paramètres strictement positifs et constants. Une sortie plate est y = x1 . La première équation fournit x2 comme fonction de y et y (1) . De la seconde équation, nous tirons u comme fonction de x1 , x2 et x˙ 2 . Ainsi, u est une fonction de y, y (1) et y (2) . Nous renvoyons à [107] pour des calculs similaires avec des simulations en boucle fermée sur un réacteur plus complexe. Dans [113], on trouvera une liste assez complète de réacteurs chimiques plats. Références [1] J.-F. Agassant, P. Avenas, J.-P. Sergent, and P. Carreau. Polymer Processing, Principles and Modeling. Hanser, 1991. [2] Y. Aoustin, M. Fliess, H. Mounier, P. Rouchon, and J. Rudolp. Theory and practice in the motion planning and control of a flexible robot arm using Mikusiński operators. In Proc. of the Fifth IFAC Symposium on Robot Control, pages 287–293, Nantes, France, 1997. [3] E. Aranda-Bricaire, C.H. Moog, and J.-B. Pomet. A linear algebraic framework for dynamic feedback linearization. IEEE Trans. Automat. Contr., 40(1) :127–132, 1995. [4] R. Aris and N.R. Amundson. An analysis of chemical reactor stability and control : I,II,III. Chem. Engng. Sci., 7 :121–155, 1958. [5] D. Avanessoff, L. Baratchart, and J.-B. Pomet. Sur l’intégrabilité (très) formelle d’une partie des équations de la platitude des systèmes de contrôle. Technical report, 2006. http ://hal.inria.fr/inria00071538/en/. [6] D. Avanessoff and J.-B. Pomet. Flatness and Monge parameterization of two-input systems, controlaffine with 4 states or general with 3 states. ESAIM : Control, Optimisation and Calculus of Variations, 13 :237, 2007. [7] K. Beauchard. Local controllability of a 1d schrödinger equation. J. Math. Pures et Appl., 84 :851– 956, 2005. [8] K. Beauchard. Controllability of a quantum particule in a 1d variable domain. ESAIM : Control, Optimisation and Calculus of Variations, 14 :105–147, 2008. [9] K. Beauchard and J.-M. Coron. Controllability of a quantum particle in a moving potential well. J. of Functional Analysis, 232 :328–389, 2006.
Journ´ees Nationales de Calcul Formel 2008
page 271
76
PHILIPPE MARTIN & PIERRE ROUCHON
[10] R.L. Bryant, S.S. Chern, R.B. Gardner, H.L. Goldschmidt, and P.A. Griffiths. Exterior Differential Systems. Springer, 1991. [11] G. Campion, B. d’Andrea Novel, and G. Bastin. Structural properties and classification of kinematic and dynamic models of wheeled mobile robots. IEEE Trans. Robotics Automation, 12(1) :47–62, 1996. [12] E. Cartan. Sur l’équivalence absolue de certains systèmes d’équations différentielles et sur certaines familles de courves. Bull. Soc. Math. France, 42 :12–48, 1914. Also in Oeuvres Complètes, part II, vol. 2, pp.1133–1168, CNRS, Paris, 1984. [13] E. Cartan. Sur l’intégration de certains systèmes indéterminés d’équations différentielles. J. für reine und angew. Math., 145 :86–91, 1915. Also in Oeuvres Complètes, part II, vol. 2, pp.1164– 1174, CNRS, Paris, 1984. [14] F. Chaplais and N. Petit. Inversion in indirect optimal control of multivariable systems. ESAIM : Control, Optimisation and Calculus of Variations, 14 :294–317, 2008. [15] B. Charlet, J. Lévine, and R. Marino. On dynamic feedback linearization. Systems Control Letters, 13 :143–151, 1989. [16] V.N. Chetverikov. New flatness conditions for control systems. In Proceedings of NOLCOS’01, St. Petersburg, pages 168–173, 2001. [17] J. Chiasson. Dynamic feedback linearization of the induction motor. IEEE Trans. Automat. Control, 38 :1588–1594, 1993. [18] A.J. Chorin and J.E. Marsden. A Mathematical Introduction to Fluid Mechanics. Springer-Verlag, 1990. [19] J.M. Coron. Local controllability of a 1-d tank containing a fluid modeled by the shallow water equations. ESAIM : Control, Optimisation and Calculus of Variations, 8 :513–554, 2002. [20] J.M. Coron. Control and Nonlinearity. American Mathematical Society, 2007. [21] R. Courant and D. Hilbert. Methods of Mathematical Physics, volume 2. Interscience, 1962. [22] E. Delaleau and J. Rudolph. Control of flat systems by quasi-static feedback of generalized states. Int. Journal of Control, 71 :745–765, 1998. [23] G. Doestch. Handbuch der Laplace-Transformation. Birkhäuser, Bâle, 1956. 3. Bd. [24] W. Dunbar, N. Petit, P. Rouchon, and Ph. Martin. Motion planning for a non-linear stefan equation. ESAIM : Control, Optimisation and Calculus of Variations, 9 :275–296, February 2003. [25] M. Fliess, J. levine, P. Martin, F. Ollivier, and P. Rouchon. Controlling nonlinear systems by flatness. In C.I. Byrnes, B.N. Datta, D.S. Gilliam, and C.F. Martin, editors, Systems and control in the Twenty-First Century, Progress in Systems and Control Theory. Birkhauser, 1997. [26] M. Fliess, J. Lévine, Ph. Martin, F. Ollivier, and P. Rouchon. A remark on nonlinear accessibility conditions and infinite prolongations. Syst. Control Letters, 31 :77–83, 1997. [27] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. Sur les systèmes non linéaires différentiellement plats. C.R. Acad. Sci. Paris, I–315 :619–624, 1992. [28] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. Linéarisation par bouclage dynamique et transformations de Lie-Bäcklund. C.R. Acad. Sci. Paris, I-317 :981–986, 1993. [29] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. Design of trajectory stabilizing feedback for driftless flat systems. In Proc. of the 3rd European Control Conf., pages 1882–1887, Rome, 1995. [30] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. Flatness and defect of nonlinear systems : introductory theory and examples. Int. J. Control, 61(6) :1327–1361, 1995. [31] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. A Lie-Bäcklund approach to equivalence and flatness of nonlinear systems. IEEE Trans. Automatic Control, 44 :922–937, 1999. [32] M. Fliess, Ph. Martin, N. Petit, and P. Rouchon. Active signal restoration for the telegraph equation. In Proc. of the 38th IEEE Conf. on Decision and Control, Phenix, december 1999. [33] M. Fliess and H. Mounier. Quelques propriétés structurelles des systèmes linéaires à retards constants. C.R. Acad. Sci. Paris, I-319 :289–294, 1994. [34] M. Fliess and H. Mounier. Controllability and observability of linear delay systems : an algebraic approach. ESAIM : Control, Optimisation and Calculus of Variations, 3 :301–314, 1998.
Journ´ees Nationales de Calcul Formel 2008
page 272
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
77
[35] M. Fliess, H. Mounier, P. Rouchon, and J. Rudolph. Controllability and motion planning for linear delay systems with an application to a flexible rod. In Proc. of the 34th IEEE Conf. on Decision and Control, pages 2046–2051, New Orleans, 1995. [36] M. Fliess, H. Mounier, P. Rouchon, and J. Rudolph. Systèmes linéaires sur les opérateurs de Mikusiński et commande d’une poutre flexible. In ESAIM Proc. “Élasticité, viscolélasticité et contrôle optimal”, 8ème entretiens du centre Jacques Cartier, Lyon, pages 157–168, 1996. [37] M. Fliess, H. Mounier, P. Rouchon, and J. Rudolph. A distributed parameter approach to the control of a tubular reactor : A multi- variable case. In Proc. of the 37th IEEE Conf. on Decision and Control, pages 439– 442, 1998. [38] M. Gevrey. La nature analytique des solutions des équation aux dérivées partielles. Ann. Sc. Ecole Norm. Sup., 25 :129–190, 1918. [39] C. Godbillon. Géométrie différentielle et mécanique analytique. Hermann, Paris, 1969. [40] M. Gromov. Partial Differential Relations. Springer-Verlag, 1986. [41] I.M. Guelfand and G.E. Chilov. Les Distributions, tome 3. Dunod, Paris, 1964. [42] V. Hagenmeyer and E. Delaleau. Continuous-time non-linear flatness-based predictive control : an exact feedforward linearisation setting with an induction drive example. International Journal of Control, 81(10) :1645–1663, 2008. [43] S. Haroche and J.M. Raimond. Exploring the Quantum : Atoms, Cavities and Photons. Oxford University Press, 2006. [44] J. Hauser, S. Sastry, and P. Kokotović. Nonlinear control via approximated input-output linearization : the ball and beam example. IEEE Trans. Automat. Contr., 37 :392–398, 1992. [45] D. Hilbert. Über den Begriff der Klasse von Differentialgleichungen. Math. Ann., 73 :95–108, 1912. also in Gesammelte Abhandlungen, vol. III, pp. 81–93, Chelsea, New York, 1965. [46] L.R. Hunt, R. Su, and G. Meyer. Global transformations of nonlinear systems. IEEE Trans. Automat. Control, 28 :24–31, 1983. [47] A. Isidori. Nonlinear Control Systems. Springer, New York, 2nd edition, 1989. [48] B. Jakubczyk and W. Respondek. On linearization of control systems. Bull. Acad. Pol. Sci. Ser. Sci. Math., 28 :517–522, 1980. [49] T. Kailath. Linear Systems. Prentice-Hall, Englewood Cliffs, NJ, 1980. [50] B. Kiss and J. Lévine. On the control of a reduced scale model of the US navy cranes. In 3rd IEEE International Conference on Intelligent Engineering Systems, 1999. [51] I. S. Krasil’shichik, V. V. Lychagin, and A. M. Vinogradov. Geometry of Jet Spaces and Nonlinear Partial Differential Equations. Gordon and Breach, New York, 1986. [52] L. Landau and E. Lifchitz. Mécanique des fluides. Mir Moscou, second edition, 1986. [53] H. Laousy, C.Z. Xu, and G. Sallet. Boundary feedback stabilization of rotation body-beam system. IEEE Autom. Control, 41 :1–5, 1996. [54] B. Laroche, Ph. Martin, and P. Rouchon. Motion planing for the heat equation. Int. Journal of Robust and Nonlinear Control, 10 :629–643, 2000. [55] Y. Lenoir, , Ph. Martin, and P. Rouchon. 2kπ , the juggling robot. In CProc. of the 37th IEEE Conf. on Decision and Control, pages 1995–2000, 1998. [56] W. Leonhard. Control of Electrical Drives. Elsevier, 1985. [57] J. Lévine. Are there new industrial perspectives in the control of mechanical systems ? In P. Frank, editor, In Issues in Control, ECC99. Springer, 1999. [58] J. Levine. On necessary and sufficient conditions for differential flatness, 2006. http ://arxiv.org/abs/math/0605405v2. [59] J. Lévine, J. Lottin, and J.-C. Ponsart. A nonlinear approach to the control of magnetic bearings. IEEE Trans. Control Systems Technology, 4 :524–544, 1996. [60] J. Lévine, P. Rouchon, G. Yuan, C. Grebogi, B.R. Hunt, E. Kostelich, E. Ott, and J.A. Yorke. On the control of US Navy cranes. In ECC97, 1997. [61] Ph. Martin. Contribution à l’étude des systèmes diffèrentiellement plats. PhD thesis, École des Mines de Paris, 1992.
Journ´ees Nationales de Calcul Formel 2008
page 273
78
PHILIPPE MARTIN & PIERRE ROUCHON
[62] Ph. Martin. A geometric sufficient conditions for flatness of systems with m inputs and m+1 states. In Proc. of the 32nd IEEE Conf. on Decision and Control, pages 3431–3436, San Antonio, 1993. [63] Ph. Martin. An intrinsic condition for regular decoupling. Systems & Control Letters, 20 :383–391, 1993. [64] Ph. Martin. Endogenous feedbacks and equivalence. In Systems and Networks : Marthematical Theory and Applications (MTNS’93), volume II, pages 343–346. Akademie Verlag, Berlin, 1994. [65] Ph. Martin, S. Devasia, and B. Paden. A different look at output tracking : control of a VTOL aircraft. Automatica, 32 :101–108, 1995. [66] Ph. Martin, R. Murray, and P. Rouchon. Flat systems, equivalence and trajectory generation, 2003. Technical Report http ://www.cds.caltech.edu/reports/. [67] Ph. Martin and P. Rouchon. Feedback linearization and driftless systems. Math. Control Signal Syst., 7 :235–254, 1994. [68] Ph. Martin and P. Rouchon. Any (controllable) driftless system with 3 inputs and 5 states is flat. Systems Control Letters, 25 :167–173, 1995. [69] Ph. Martin and P. Rouchon. Any (controllable) driftless system with m inputs and m+2 states is flat. In Proc. of the 34th IEEE Conf. on Decision and Control, pages 2886–2891, New Orleans, 1995. [70] Ph. Martin and P. Rouchon. Flatness and sampling control of induction motors. In Proc. IFAC World Congress, pages 389–394, San Francisco, 1996. [71] Ph. Martin, P. Rouchon, and J. Rudolph. Invariant tracking. ESAIM : Control, Optimisation and Calculus of Variations, 10 :1–13, 2004. [72] T. Meurer and M. Zeitz. A modal approach to flatness-based control of flexible structures. Proc. Appl. Math. Mech, 4(1) :133–134, 2004. [73] T. Meurer and M. Zeitz. Feedforward and feedback tracking control of nonlinear diffusionconvection-reaction systems using summability methods. Industrial & Engineering Chemistry Research, April 2005. Special issue in honor of the 65th birthday of Professor W.Harmon Ray. [74] M. Mirrahimi and P. Rouchon. Controllability of quantum harmonic oscillators. IEEE Trans Automatic Control, 49(5) :745–747, 2004. [75] G. Monge. Mémoire de l’Académie Royale des Sciences, chapter Supplément où l’on fait voir que les équations aux différences ordinaires pour lesquelles les conditions d’intégrabilité ne sont pas satisfaites sont succeptibles d’une véritable intégration..., pages 502–576. Paris, 1784. [76] J.J. Morales-Ruiz and J.P. Ramis. Galoisian obstructions to integrability of Hamiltonian systems. Methods and Applications of Analysis, 8, 2001. [77] H. Mounier. Propriétés structurelles des systèmes linéaires à retards : aspects théoriques et pratiques. PhD thesis, Université Paris Sud, Orsay, 1995. [78] H. Mounier, J. Rudolph, M. Petitot, and M. Fliess. A flexible rod as a linear delay system. In Proc. of the 3rd European Control Conf., pages 3676–3681, Rome, 1995. [79] R. M. Murray. Trajectory generation for a towed cable flight control system. In Proc. IFAC World Congress, pages 395–400, San Francisco, 1996. [80] R. M. Murray, M. Rathinam, and W. Sluis. Differential flatness of mechanical control systems : A catalog of prototype systems. In ASME International Mechanical Engineering Congress and Exposition, San Francisco, November 1995. [81] R.M. Murray. Nilpotent bases for a class on nonintegrable distributions with applications to trajectory generation for nonholonomic systems. Math. Control Signal Syst., 7 :58–75, 1994. [82] R.M. Murray and S.S. Sastry. Nonholonomic motion planning : Steering using sinusoids. IEEE Trans. Automat. Control, 38 :700–716, 1993. [83] Iu I. Neimark and N.A. Fufaev. Dynamics of Nonholonomic Systems, volume 33 of Translations of Mathematical Monographs. American Mathematical Society, Providence, Rhode Island, 1972. [84] M. van Nieuwstadt and R. M. Murray. Approximate trajectory generation for differentially flat systems with zero dynamics. In Proc. of the 34th IEEE Conf. on Decision and Control, pages 4224–4230, New Orleans, 1995.
Journ´ees Nationales de Calcul Formel 2008
page 274
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES
79
[85] M. van Nieuwstadt and R.M. Murray. Real time trajectory generation for differentially flat systems. Int. Journal of Robust and Nonlinear Control, 8(11) :995–1020, 1998. [86] M. van Nieuwstadt, M. Rathinam, and R. M. Murray. Differential flatness and absolute equivalence. SIAM Journal of Control and Optimization, 36(4) :1225–1239, 1998. [87] H. Nijmeijer and A.J. van der Schaft. Nonlinear Dynamical Control Systems. Springer-Verlag, 1990. [88] F. Ollivier and A. Sedoglavic. A generalization of flatness to nonlinear systems of partial differential equations. application to the command of a flexible rod. In Proceedings of the 5th IFAC Symposium ŞNOnLinear COntrol SystemsŤ, pages 196–200, 2001. [89] P.J. Olver. Applications of Lie groups to differential equations, volume 107 of Graduate Texts in Mathematics. Springer-Verlag, 2nd edition, 1993. [90] P. S. Pereira da Silva. Flatness of nonlinear control systems : a Cartan-Kähler approach. In Proc. Mathematical Theory of Networks and Systems (MTNS’2000), Perpignan, pages 1–10, 2000. [91] P.S. Pereira da Silva and P. Rouchon. Flatness-based control of a single qubit gate. IEEE Automatic Control, 53(3), 2008. [92] N. Petit, Y. Creff, and P. Rouchon. δ-freeness of a class of linear delayed systems. In European Control Conference, Brussels, 1997. [93] N. Petit, Y. Creff, and P. Rouchon. Motion planning for two classes of nonlinear systems with delays depending on the control. In Control and Decision Conference, Tampa, pages 1007– 1011, 1998. [94] N. Petit and P. Rouchon. Motion planning for heavy chain systems. SIAM J. Control and Optim., 41(2) :475–495, 2001. [95] N. Petit and P. Rouchon. Dynamics and solutions to some control problems for water-tank systems. IEEE Trans. Automatic Control, 47(4) :594–609, 2002. [96] J.B. Pomet. A differential geometric setting for dynamic equivalence and dynamic linearization. Banach Center Publications, 32 :319–339, 1995. [97] J.B. Pomet. On dynamic feedback linearization of four-dimensional affine control systems with two inputs. ESAIM : Control, Optimisation and Calculus of Variations, 2 :151–230, 1997. [98] J.B. Pomet. A necessary condition for dynamic equivalence. to appear, 2009. [99] J.F. Pommaret. Systems of Partial Differential Equations and Lie Pseudogroups. Gordon & Breach, N.Y., 1978. [100] J.F. Pommaret. Dualité différentielle et applications. C.R. Acad. Sci. Paris, Série I, 320 :1225–1230, 1995. [101] A. Quadrat and D. Robertz. Computation of bases of free modules over the weyl algebras. Journal of Symbolic Computation, 42 :1113–1141, 2007. [102] C. Raczy. Commandes optimales en temps pour les systèmes différentiellement plats. PhD thesis, Université des Sciences et Technologies de Lille, 1997. [103] J.P. Ramis. Dévissage Gevrey. Astérisque, 59-60 :173–204, 1978. [104] J.P. Ramis. Séries Divergentes et Théories Asymptotiques. Panoramas et synthèses. Société Mathématique de France, 1993. [105] M. Rathinam and R. Murray. Configuration flatness of Lagrangian systems underactuated by one control. SIAM J. Control Optimization, 36(1) :164–179, 1998. [106] Y. Rocard. Dynamique générale des vibrations. Masson, Paris, 1971. [107] R. Rothfuß, J. Rudolph, and M. Zeitz. Flatness based control of a nonlinear chemical reactor model. Automatica, 32 :1433–1439, 1996. [108] P. Rouchon. Necessary condition and genericity of dynamic feedback linearization. J. Math. Systems Estim. Control, 5(3) :345–358, 1995. [109] P. Rouchon. Control of a quantum particle in a moving potential well. In IFAC 2nd Workshop on Lagrangian and Hamiltonian Methods for Nonlinear Control, April 2003. [110] P. Rouchon. Quantum systems and control. ARIMA, to appear. special issue in Honor of Claude Lobry.
Journ´ees Nationales de Calcul Formel 2008
page 275
80
PHILIPPE MARTIN & PIERRE ROUCHON
[111] P. Rouchon, M. Fliess, J. Lévine, and Ph. Martin. Flatness and motion planning : the car with n-trailers. In Proc. ECC’93, Groningen, pages 1518–1522, 1993. [112] P. Rouchon, M. Fliess, J. Lévine, and Ph. Martin. Flatness, motion planning and trailer systems. In Proc. of the 32nd IEEE Conf. on Decision and Control, pages 2700–2705, San Antonio, 1993. [113] P. Rouchon and J. Rudolph. Commande de procédés chimiques : réacteurs et colonnes de distillation, chapter Réacteurs chimiques différentiellement plats : planification et suivi de trajectoires, pages 163–200. Traité IC2. J.P. Corriou, Paris, hermès edition, 2001. [114] J. Rudolph. Flatness Based Control of Distributed Parameter Systems. Shaker, Germany, 2003. [115] K. Schlacher and M. Schöberl. Construction of flat output by reduction and elimination. In 7th IFAC Symposium on Nonlinear Control Systems, Pretoria, pages 666–671, 2007. [116] S. Sekhavat. Planification de Mouvements sans Collision pour Systèmes non Holonomes. PhD thesis, LAAS-CNRS, Toulouse, 1996. [117] H. Sira-Ramirez and S.K. Agarwal. Differentially flat systems. CRC, 2004. [118] H. Sira-Ramirez and M. Ilic-Spong. Exact linearzation in switched-mode DC-to-DC power converters. Int. J. Control, 50 :511–524, 1989. [119] W.M. Sluis. Absolute Equivalence and its Application to Control Theory. PhD thesis, University of Waterloo, Ontario, 1992. [120] W.M. Sluis. A necessary condition for dynamic feedback linearization. Systems Control Letters, 21 :277–283, 1993. [121] E. Sontag. Mathematical Control Theory. Springer Verlag, 1990. [122] H.J. Sussmann and V. Jurdjevic. Controllability of nonlinear systems. J. Differential Equations, 12 :95–116, 1972. [123] G. Valiron. Equations Fonctionnelles. Masson et Cie, Editeurs, Paris, 2nd edition, 1950. [124] G. N. Watson. A treatrise of the theory of Bessel functions. Cambridge Univ. Press, Cambridge, 1944. [125] V.V. Zharinov. Geometrical Aspects of Partial Differential Equations. World Scientific, Singapore, 1992.
Philippe Martin, Mines ParisTech, Centre Automatique et Systèmes, Mathématiques et Systèmes, 60, Bd SaintMichel, 75272 Paris cédex 06 • E-mail :
[email protected] Pierre Rouchon, Mines ParisTech, Centre Automatique et Systèmes, Mathématiques et Systèmes, 60, Bd SaintMichel, 75272 Paris cédex 06 • E-mail :
[email protected]
Journ´ees Nationales de Calcul Formel 2008
page 276
Calculs “exacts” avec une arithmétique approchée Jean-Michel Muller CNRS - Laboratoire LIP (CNRS-INRIA-Université de Lyon) JNCF – octobre 2008
http://perso.ens-lyon.fr/jean-michel.muller/
-1-
Virgule flottante système babylonien de base 60, règle à calcul : Gunter (1681-1626), Oughtred (1575-1660) ;
Leonardo Torres y Quevedo (1914) : implantation électromécanique de la machine de Babbage, avec virgule flottante ; Konrad Zuse : Z3 (1941) : base 2, mantisses de 14 bits exponents de 7 bits. Mémoire de 16 nombres. Voir http://www.epemag.com/zuse/
-2-
Virgule flottante
utilisée partout en calcul scientifique ; x = m x × β ex ; base β : 2, 4, 8, 16, 10. . . et même 3 et 256. approche “floue” : valeur calculée de x + y = (x + y )(1 + ). Meilleure approche ?
-3-
Besoins ? Quelques chiffres. . .
dynamique : Diamètre estimé Univers observable ≈ 1062 Longueur de Planck
précision : certaines prédictions de la mécanique quantique et de la relativité générale vérifiées avec erreur relative ≈ 10−14 calculs intermédiaires : “quad précision” (113 bits) et algorithmes sophistiqués pour la stabilité à trèèèès long terme du système solaire (J. Laskar, Observatoire de Paris).
-4-
On peut faire du très mauvais travail. . .
1994 : bug de la division du Pentium, 8391667/12582905 donnait 0.666869 · · · au lieu de 0.666910 · · · ; Excel, version 3.0 to 7.0, entrez 1.40737488355328, vous obtiendrez 0.64 Sur certains ordinateurs Cray on pouvait déclencher un overflow en multipliant par 1 ; Excel’2007 (premières versions), calculez 65535 − 2−37 , vous obtiendrez 100000 ;
-5-
Beaucoup de bizzareries
Machine Setun, université de Moscou, 1958. 50 exemplaires ; base 3 et chiffres −1, 0 et 1. Nombres sur 18 « trits » ; idée : base β, nombre de chiffres n, + grand nombre représenté M. Mesure du « coût » : β × n. minimiser β × n sachant que β n ≈ M. Si variables réelles, optimum β = e = 2.718 . . . ≈ 3. -6-
Système virgule flottante Paramètres :
β≥2 base précision p≥1 exposants extrèmes emin , emax
Un nombre VF fini x est représenté par 2 entiers : mantisse entière : M, |M| ≤ β p − 1 ; exposant e, emin ≤ e ≤ emax . tels que x = M × β e+1−p On appelle mantisse réelle, ou mantisse de x le nombre m = M × β 1−p , ce qui donne x = m × β e , avec |m| < β. -7-
Représentation normalisée
Buts : représentation unique et algorithmique plus simple. La représentation normalisée de x, est celle qui minimise l’exposant. Si e > emin , donne nécessairement 1 ≤ |m| < β et β p−1 ≤ |M| ≤ β b − 1. Un nombre normal est un nombre de valeur absolue ≥ β emin . En base 2 le premier chiffre de mantisse d’un nombre normal est un “1” → pas besoin de le mémoriser (convention du 1 implicite). Un nombre sous-normal est un nombre de la forme M × β emin +1−p . avec |M| ≤ β p−1 − 1. Le premier chiffre de mantisse d’un nombre sous-normal est un zéro. Correspond à ±0.xxxxxxxx × β emin . -8-
a−b
0 a−b
0
a
b
β emin β emin +1 a
β emin +2
b
β emin β emin +1
β emin +2
Figure: En haut : nombres VF normaux. Dans cet ensemble, a − b n’est pas représentable → le calcul a − b donnera 0 en arrondi au plus près. En bas : on ajoute les sous-normaux.
Système DEC VAX ( D format ) HP 28, 48G IBM 370 et 3090 IEEE-754 IEEE-754-R “binary 128” IEEE-754-R “decimal 64”
β 2 2 10 16 16 2 2
p 24 56 12 6 (24 bits) 14 (56 bits) 23+1 52+1
emin -128 -128 -500 -65 -65 -126 -1022
emax 126 126 498 62 62 127 1023
+ grand représ. 1.7 · · · × 1038 1.7 · · · × 1038 9.9 · · · × 10498 7.2 · · · × 1075 7.2 · · · × 1075 3.4 · · · × 1038 1.8 · · · × 10308
2
112+1
-16382
16383
1.2 · · · × 104932
10
16
-383
384
-9-
9.999 · · · 9 × 10384
-10-
Norme IEEE-754 pour l’arithmétique flottante (1985, et 2008)
a mis fin à une pagaille (très mauvaise portabilité des algorithmes numérique) ; leader : W. Kahan (père de l’arithmétique des HP35 et Intel 8087) ; formats ; spécification des opérations, des conversions, etc. ; √ gestion des exceptions (max+1, 1/0, −2, 0/0, etc.) ; nouvelle révision adoptée en juin 2008, promulguée en août.
-11-
Arrondi correct
Definition 1 (Arrondi correct) Mode d’arrondi actif parmi : au plus près (défaut) s’il y en a deux : round ties to even : celui dont la mantisse entière est paire ; round ties to away : (2008 – recomm. en base 10 seulement) celui de plus grande valeur absolue.
vers +∞. vers −∞. vers zéro. Une opération dont les entrées sont des nombres VF doit retourner ce qu’on obtiendrait en arrondissant le résultat exact.
-12-
Arrondi correct IEEE-754-1985 : Arrondi correct pour +, −, ×, ÷, conversions. Avantages :
√
et certaines
si le résultat d’une opération est exactement représentable, on l’obtient ; √ si on n’utilise que +, −, ×, ÷ et , l’arithmétique est déterministe : on peut élaborer des algorithmes et des preuves qui utilisent ces spécifications ; précision et portabilité améliorées ; en jouant avec les arrondis vers +∞ et −∞ → bornes certaines sur le résultat d’un calcul. L’arithmétique VF devient une structure mathématique en elle même, que l’on peut étudier. IEEE-754-2008 : l’arrondi correct est recommandé (mais pas exigé) pour les principales fonctions mathématiques (cos, exp, log, . . . ) -13-
Premier exemple : lemme de Strebenz
Lemme 1 (Sterbenz) Base β, avec nombres sous-normaux disponibles. Soient a et b deux nombres VF positifs. Si a ≤ b ≤ 2a 2 alors a − b est un nombre VF (→ il est calculé exactement dans n’importe lequel des 4 modes d’arrondi). Preuve : élémentaire en utilisant la notation x = M × β e+1−p .
-14-
Erreur de l’addition VF (Møller, Knuth, Dekker)
Premier résultat : représentabilité. RN (x) = x arrondi au plus près. Lemme 2 Soient a et b deux nombres VF. Soient s = RN (a + b) et r = (a + b) − s. s’il n’y a pas de dépassement de capacité en calculant s, alors r est un nombre VF.
-15-
Erreur de l’addition VF (Møller, Knuth, Dekker) Démonstration : Supposons |a| ≥ |b|, 1
2
s est “le” nombre VF le plus proche de a + b → il est plus près de a + b que a ne l’est. Donc |(a + b) − s| ≤ |(a + b) − a|, par conséquent |r | ≤ |b|. posons a = Ma × β ea −p+1 et b = Mb × β eb −p+1 , avec |Ma |, |Mb | ≤ β p − 1, et ea ≥ eb . a + b est multiple de β eb −p+1 ⇒ s et r sont multiples de β eb −p+1 également ⇒ ∃R ∈ Z t.q. r = R × β eb −p+1 mais |r | ≤ |b| ⇒ |R| ≤ |Mb | ≤ β p − 1 ⇒ r est un nombre VF. -16-
Obtenir r : l’algorithme fast2sum (Dekker)
Théorème 1 (Fast2Sum (Dekker)) β ≤ 3. Soient a et b des nombres VF dont les exposants vérifient ea ≥ eb (si |a| ≥ |b|,OK). Algorithme suivant : s et r t.q. s + r = a + b exactement ; s est “le” nombre VF le plus proche de a + b. Algorithme 1 (FastTwoSum)
Programme C 1 s = a+b; z = s-a; r = b-z;
s ← RN (a + b) z ← RN (s − a) r ← RN (b − z) Se méfier des compilateurs “optimisants”.
-17-
Preuve dans un cas simplifié : β = 2 et |a| ≥ |b| s = RN (a + b) z = RN (s − a) t = RN (b − z) si a et b sont de même signe, alors |a| ≤ |a + b| ≤ |2a| donc (base 2 → 2a représentable, arrondi croissant) |a| ≤ |s| ≤ |2a| → (Lemme Sterbenz) z = s − a. Comme r = (a + b) − s est représentable et b − z = r , on trouve RN (b − z) = r . si a et b sont de signes opposés, alors soit |b| ≥ 12 |a|, auquel cas (lemme Sterbenz) a + b est exact, donc s = a + b, z = b et t = 0 ; 2 soit |b| < 12 |a|, auquel cas |a + b| > 12 |a|, donc s ≥ 12 |a| (base 2 → 12 a est représentable, et l’arrondi est croissant), donc (lemme Sterbenz) z = RN (s − a) = s − a = b − r . Comme r = (a + b) − s est représentable et b − z = r , on trouve RN (b − z) = r . 1
-18-
Algorithme TwoSum (Møller-Knuth) pas besoin de comparer a et b ; 6 opérations au lieu de 3 → moins cher qu’une mauvaise prédiction de branchement en comparant a et b. Algorithme 2 (TwoSum) s ← RN (a + b) a0 ← RN (s − b) b0 ← RN (s − a0 ) δa ← RN (a − a0 ) δb ← RN (b − b0 ) r ← RN (δa + δb )
Knuth : ∀β, en absence d’underflow et d’overflow a + b = s + r , et s est le nombre VF le plus proche de a + b. Boldo et al : (preuve formelle) en base 2, marche même si underflow.
Preuves formelles (en Coq) d’algorithmes similaires très pratiques : http://lipforge.ens-lyon.fr/www/pff/Fast2Sum.html. -19-
Kahan : compensated summation
Algorithme 3 s ← x1 c ←0 for i = 2 to n do y ← ◦(xi − c) t ← ◦(s + y ) c ← ◦(◦(t − s) − y ) s←t end for return s
-20-
Kahan : compensated summation
Le même, réécrit avec des Fast2Sum. Algorithme 4 s ← x1 c ←0 for i = 2 to n do y ← ◦(xi + c 0 ) (s, c 0 ) ← Fast2Sum(s, y ) end for return s
-21-
Et les produits ?
FMA : fused multiply-add (fma), calcule RN (ab + c). RS6000, Itanium et PowerPC. Est dans le nouveau standard ; si a et b sont des nombres VF, alors r = ab − RN (ab) est un nombre VF ;
obtenu par l’algorithme TwoMultFMA → 2 opérations seulement. p + r = ab.
p r
= =
RN (ab) RN (ab − p)
sans fma, algorithme de Dekker : 17 opérations (7 ×, 10 ±).
Itanium 2
PowerPC 5 -22-
Une autre propriété (Kahan)
x z=p x2 + y2 arrondi correct, arrondi au plus près, base 2 ; x et y sont des nombres VF ; pas d’overflow/underflow. La valeur calculée de z est comprise au sens large entre −1 et +1. Propriété très importante car jugée (naïvement !) évidente par la plupart des programmeurs, qui pourront par exemple calculer une fonction de z définie seulement entre −1 et +1. -23-
L’algorithme de Malcolm-Gentleman
Algorithme 5 A ← 1.0 B ← 1.0 while ◦(◦(A + 1.0) − A) = 1.0 do A ← ◦(2 × A) end while while ◦(◦(A + B) − A) 6= B do B ← ◦(B + 1.0) end while return B
-24-
Cet algorithme calcule β
Base β, précision p. Récurrence : si 2i ≤ β p − 1, alors Ai = 2i exactement. Donne Ai + 1 ≤ β p → ◦(Ai + 1.0) = Ai + 1. On en déduit ◦(◦(Ai + 1.0) − Ai ) = ◦((Ai + 1) − Ai ) = 1.Donc tant que 2i ≤ β p − 1,on reste dans la 1ère boucle. Considérons la 1ère itération j t.q. 2j ≥ β p . On a Aj = ◦(2Aj−1 ) = ◦(2 × 2j−1 ) = ◦(2j ). Comme β ≥ 2, on déduit β p ≤ Aj < β p+1 . Donc le successeur VF de Aj est Aj + β → ◦(Aj + 1.0) vaudra soit Aj soit Aj + β donc ◦(◦(Aj + 1.0) − Aj ) vaudra 0 ou β : dans tous les cas, il sera différent de 1.0, donc on quitte la boucle. Donc à la fin de la 1ère boucle while, A vérifie β p ≤ A < β p+1 .
-25-
Considérons la 2ème boucle while. On a vu que le successur VF de A est A + β. Donc tant que B < β, ◦(A + B) vaut soit A soit A + β → ◦(◦(A + B) − A) vaut 0 ou β : dans les 2 cas on reste dans la boucle. Dès que B = β, ◦(A + B)vaut exactement A + B, donc ◦(◦(A + B) − A) = B. On quitte donc la 2ème boucle dès que B=β
-26-
Erreur d’un FMA
En collaboration avec Sylvie Boldo (2005) ; β = 2, p ≥ 3, fma, ni underflow ni overflow ; a, x, y : nombres VF ; un fma calcule r1 = RN (ax + y ) ; Deux questions : combien faut-il de nombres VF pour représenter r1 − (ax + y ) ? peut-on les calculer facilement ?
Réponses : deux nombres ; il faut 19 opérations (1 TwoMultFMA, 2 TwoSum, 2 additions, 1 FastTwoSum) ; Je n’avais aucune confiance en notre preuve avant que Sylvie Boldo la transcrive en Coq. -27-
On n’a pas besoin d’ordinateurs pour commettre des sottises
la sonde Mars Climate Orbiter s’est écrasée sur Mars en 1999 ; une partie des développeurs des logiciels supposait que l’unité de mesure était le mètre ; l’autre partie croyait que c’était le pied.
-28-
ULP : Unit in the Last Place
Base β, precision p. Dans ce qui suit, x est un réel, et X un nombre VF censé l’approcher. Definition 2 Si x ∈ [β e , β e+1 ) alors ulp (x) = β max(e,emin )−p+1 . Propriété 1 En base 2, |X − x| <
1 ulp (x) ⇒ X = RN (x). 2
Pas vrai en base ≥ 3. Pas vrai non plus (même en base 2) si on remplace ulp (x) par ulp (X ). -29-
Propriété 2 Dans n’importe quelle base, X = RN (x) ⇒ |X − x| ≤
1 ulp (x). 2
Propriété 3 Dans n’importe quelle base, X = RN (x) ⇒ |X − x| ≤
1 ulp (X ). 2
-30-
Division utilisant la méthode de Newton-Raphson et un fma Ici : version simplifiée d’une méthode utilisée sur Itanium. Précision p, base 2. On veut calculer a/b. On suppose 1 ≤ a < 2 et 1 ≤ b < 2 (mantisses de nombres VF normalisés). Calculons déjà 1/b. Itération de Newton-Raphson pour calculer 1/b : yn+1 = yn (2 − byn ) On va chercher y0 ≈ 1/b dans une table adressée par les premiers (typiquement 6 à 10) bits de b ; on décompose l’itération en deux fmas : en = RN (1 − byn ) yn+1 = RN (yn + en yn ) où RN (x) est l’arrondi au plus près de x. -31-
Propriété 4 Si
1 − yn < α2−k , b
où 1/2 < α ≤ 1 et k ≥ 1, alors 2 1 − yn+1 < b 1 − yn + 2−k−p + 2−p−1 b b < 2−2k+1 α2 + 2−k−p + 2−p−1 ⇒ il semble qu’on peut s’approcher arbitrairement près de 2−p−1 (i.e., 1/2 ulp (1/b)), sans jamais toutefois l’atteindre. -32-
Exemple : double précision de la norme IEEE-754 Supposons p = 53 et |y0 − b1 | < 2−8 (petite table), on trouve |y1 − 1/b| < 0.501 × 2−14 |y2 − 1/b| < 0.51 × 2−28 |y3 − 1/b| < 0.57 × 2−53 = 0.57 ulp (1/b) Comment aller plus loin ? Propriété 5 Lorsque yn approche 1/b avec une erreur < 1 ulp (1/b) = 2−p , alors, comme b est multiple de 2−p+1 et yn est multiple de 2−p , 1 − byn est multiple de 2−2p+1 . Or |1 − byn | < 2−p+1 → 1 − byn est exactement représentable en virgule flottante avec une précision de p bits → il est calculé exactement. 2 1 1 ⇒ − yn+1 < b − yn + 2−p−1 . b b
yn −
1 −p yn+1 − < α2 ⇒ b
-33-
1 < bα2 2−2p + 2−p−1 b
(en supposant α < 1) 1/b peut être dans cette zone 1/b doit être là pour être à plus d’1/2 ulp de yn+1
yn+1 1 ulp = 2−p -34-
Qu’en déduit-on ?
pour être à plus d’1/2 ulp de yn+1 , 1/b doit être à moins de bα2 2−2p < b2−2p du milieu de deux nombres VF consécutifs ; implique que la distance entre yn et 1/b est de la forme 2−p−1 + , avec || < b2−2p ; implique α <
1 2
+ b2−p et donc
yn+1 −
2 1 1 + b2−p b2−2p + 2−p−1 < b 2
donc pour être à plus d’1/2 ulp de yn+1 , 1/b doit être à moins 2 de 12 + b2−p b2−2p du milieu de deux nombres VF consécutifs.
-35-
b est un nombre VF entre 1 et 2 (strictement) ⇒ il est de la forme B/2p−1 où B est un entier, 2p−1 < B ≤ 2p − 1 ; le milieu de de nombres VF au voisinage de 1/b est de la forme g = (2G + 1)/2p+1 où G est un entier, 2p−1 ≤ G < 2p − 1 ; on en déduit 2p g − 1 = 2BG + B − 2 b B.2p+1 la distance entre 1/b et le milieu de 2 nombres machines est un multiple de 1/(B.2p+1 ) = 2−2p /b. Elle n’est pas nulle (sauf dans le cas trivial où b = 1).
-36-
Distance entre 1/b et g , en supposant 1/b à plus d’1/2 ulp de yn+1 de la forme k2−2p /b, k ∈ Z ; on doit avoir 2 |k|2−2p 1 < + b2−p b2−2p b 2 ce qui entraîne |k| <
1 + 2−p+1 2
2 b2
dès que p ≥ 4, la seule solution est |k| = 1 ;
2 de plus, pour |k| =1, la relation 1 < 12 + 2−p+1 b2 entraine 1 −p+1 b > 1/ 2 + 2 soit (b est un nombre VF < 2) −p+1 b ∈ 2−2 , 2 − 2 × 2−p+1 , 2 − 3 × 2−p+1 . -37-
Comment procède-t-on ? on recherche tous les couples (B, G ) possibles tels que B ∈ {2p − 1, 2p − 2, 2p − 3} 2p−1 ≤ G ≤ 2p − 1 B(2G + 1) = 22p ± 1 En pratique il n’y en a qu’un : B = 2p − 1 et G = 2p−1 : vient de 22p − 1 = (2p − 1)(2p + 1) ; sauf tous ce (ou ces) B (et donc la valeur de b = B/2p−1 correspondante), on est certain que yn+1 = RN (1/b) ; pour B = 2p − 1 : on essaie l’algorithme avec les 2 valeurs possibles de yn à moins d’un ulp de 1/b (i.e. les 2 nombres VF qui encadrent 1/b). La plupart du temps, ça marche (si une seule marche, essayer de “bricoler” la table qui donne y0 ). -38-
Application : double précision (p = 53)
On part de y0 tel que |y0 − b1 | < 2−8 . On calcule : e0 y1 e1 y2 e2 y3 e3 y4
= = = = = = = =
RN (1 − by0 ) RN (y0 + e0 y0 ) RN (1 − by1 ) RN (y1 + e1 y1 ) RN (1 − by1 ) RN (y2 + e2 y2 ) erreur ≤ 0.57 ulps RN (1 − by2 ) RN (y3 + e3 y3 ) 1/b arrondi au plus près
. . . mais on n’a fait que la moitié du travail !
-39-
On a 1/b, il reste à calculer a/b on part de yn+1 = RN (1/b) que l’on vient d’obtenir, et on calcule q0 = RN (ayn+1 ) ; dans le cas a > b, donnera |q0 − a/b| < 1 ulp (a/b) ; sinon, en effectuant r0 = RN (a − bq0 ) q1 = RN (q0 + r0 y ) on obtient |q1 − a/b| < 1 ulp (a/b) ; Théorème 2 (Markstein) Soit ◦ un des 4 modes d’arrondi. Si y est égal à 1/b arrondi au plus près, et si q est à au plus un ulp de a/b, alors en effectuant r = RN (a − bq) q 0 = ◦(q + ry ) On obtient q 0 = ◦(a/b).
-40-
Multiplication par des constantes de précision arbitraire
Travail avec Nicolas Brisebarre ; On veut RN (Cx), où x est un nombre VF, et C une constante réelle (i.e., connue à la compilation). Valeurs typiques de C : π, 1/π, ln(2), ln(10), e, 1/k!, Bk /k!, 1/10k , cos(kπ/N) et sin(kπ/N), . . . 1 autre cas fréquent : C = FP number (division par une constante) ;
-41-
Méthode naïve remplacer C par Ch = RN (C ) ; calculer RN (Ch x) (instruction y = Ch * x). p 5 6 7 ··· 16 17 ··· 24
Prop. de résultatscorrectement arrondis 0.93750 0.78125 0.59375 ··· 0.86765 0.73558 ··· 0.66805
Proportion de nombres VF x pour lesquels RN (Ch x) = RN (Cx) pour C = π et diverses précisions p. -42-
L’algorithme
Cx avec arrondi correct (au plus près) ; C n’est pas un nombre VF ; Une instruction fma correctement arrondie est disponible. Opérandes dans un format de base 2 et précision p ; On suppose que les nombres VF suivants sont précalculés : Ch = RN (C ), C` = RN (C − Ch ),
-43-
L’algorithme
Algorithme 6 (Multiplication par C avec un produit et un fma) A partir de x, calculer
u1 = u2 =
RN (C` x), RN (Ch x + u1 ).
Résultat final : u2 . Attention ! Il existe des C et x t.q. u2 6= RN (Cx) – facile à construire ; Sans perte de généralité, on suppose 1 < x < 2 et 1 < C < 2, que C n’est pas un nombre VF,et que C − Ch n’est pas une puissance de 2 ; -44-
L’algorithme Algorithme 6 A partir de x, calculer
u1 = u2 =
RN (C` x), RN (Ch x + u1 ).
résultat : u2 .
Deux méthodes pour tester si ∀x, u2 = RN (Cx). Méthode 1 : simple mais ne donne pas tjs une réponse complète ; Méthode 2 : donne tous les “mauvais cas”, ou certifie qu’il n’y en a pas. -45-
Analysons l’algorithme
Majorant de la distance entre u2 et Cx : Propriété 6 Pour tout nombre VF x, on a |u2 − Cx| <
1 ulp (u2 ) + 2 ulp (C` ). 2
-46-
Analysons l’algorithme Rappel : |u2 − Cx| <
1 2
ulp (u2 ) + η avec η = 2 ulp (C` ). nombres VF
1 2
2η
ulp (u2 )
Domaine où Cx peut se trouver
2η
u2
Si Cx est ici, alors RN (Cx) = u2 Cx peut-il être là ? -47-
Analysons l’algorithme
on sait que Cx est à moins de 1/2 ulp (u2 ) + 2 ulp (C` ) du nombre VF u2 . Si on montre que Cx ne peut être à une distance ≤ η = 2 ulp (C` ) du milieu de 2 nombres VF consécutifs, alors u2 sera le nombre VF le plus proche de Cx.
-48-
Rappel : fractions continues Soit β ∈ R. On construit deux suites (ai ) et (ri ) définies par : = β, r0 ai = bri c , ri+1 = 1/(ri − ai ). Si β ∈ / Q, ces suites sont définies ∀i, et le nombre rationnel pi = a0 + qi
1 a1 +
1 a2 +
1 a3 +
1 ..
.+
1 ai
est la ième réduite de β. Si β ∈ Q, ces suites s’arrêtent pour un certain i, et pi /qi = β exactement. -49-
Rappel : fractions continues On va avoir besoin de 2 résultats classiques : Théorème 3 Soient (pj /qj )j≥1 les réduites de β. Pour tout (p, q) tel que 0 ≤ q < qn+1 , on a |p − βq| ≥ |pn − βqn |.
Théorème 4 Soient p, q deux entiers non nuls, et premiers entre eux. Si p − β < 1 q 2q 2 alors p/q est une réduite de β. -50-
Méthode 1 : utilisation du théorème 3 Remarque : Cx peut être dans [1, 2) ou [2, 4) → deux cas distincts (très semblables) ; soit xcut = 2/C . Soient X = 2p−1 x et Xcut = 2p−1 xcut . on ne détaille que le cas x < xcut . Milieu de deux nombres VF consécutifs au voisinage de Cx : 2A+1 2p où A ∈ Z, 2p−1 ≤ A ≤ 2p − 1 → on cherche à savoir s’il peut exister un tel A satisfaisant Cx − 2A + 1 < η. 2p Ceci serait équivalent à |2CX − (2A + 1)| < 2p η. -51-
Méthode 1 : utilisation du théorème 3 (suite)
On veut savoir s’il existe X entre 2p−1 et Xcut , et A entre 2p−1 et 2p − 1 t.q. |2CX − (2A + 1)| < 2p η. (pi /qi )i≥1 : réduites de 2C ; k : plus petit entier t.q. qk+1 > Xcut , soit δ = |pk − 2Cqk | . Théorème 3 ⇒ ∀B, X ∈ Z, avec 0 < X ≤ Xcut < qk+1 , |2CX − B| ≥ δ.
-52-
Méthode 1 : utilisation du théorème 3 (suite)
Par conséquent 1
2
Si δ ≥ 2p η alors |Cx − A/2p | < η est impossible ⇒ l’algorithme renvoie RN (Cx) pour tout x < xcut ; si δ < 2p η, on essaie l’algorithme avec x = qk 2−p+1 → soit on obtient un contre-exemple, soit on ne peut conclure
Cas x > xcut : similaire (réduites de C au lieu de celles de 2C )
-53-
Exemple : C = π, “double précision” (p = 53)
> method1(Pi/2,53); Ch = 884279719003555/562949953421312 Cl = 4967757600021511/81129638414606681695789005144064 xcut = 1.2732395447351626862, Xcut = 5734161139222658 eta = .8069505497e-32 pk/qk = 6134899525417045/1952799169684491 delta = .9495905771e-16 OK for X < 5734161139222658 etaprime = .1532072145e-31 pkprime/qkprime = 12055686754159438/7674888557167847 deltaprime = .6943873667e-16 OK for 5734161139222658 xcut (cas x < xcut = 2/C similaire) ; On cherche x = X /2p−1 , Xcut ≤ X ≤ 2p − 1 t.q. ∃A satisfaisant X 2A + 1 C 2p−1 − 2p−1 ≤ 2 ulp (C` ).
(1)
On sait que ulp (C` ) ≤ 2−2p ; Deux cas : ulp (C` ) ≤ 2−2p−1 et ulp (C` ) = 2−2p .
-55-
Méthode 2
Tout d’abord, on suppose ulp (C` ) ≤ 2−2p−1 . Dans ce cas, les entiers X satisfaisant (1) vérifient 2C − 2A + 1 < 1 : X 2X 2 (2A + 1)/X est une réduite de 2C d’après le Théorème 4. Il suffit de tester toutes les réduites de 2C de dénominateur ≤ 2p − 1.
-56-
Méthode 2
Maintenant, supposons ulp (C` ) = 2−2p . On est ramené au problème suivant : déterminer les X , Xcut ≤ X ≤ 2p − 1 t.q. 1 1 X (Ch + C` ) + p+1 ≤ p , 2 2 où {y } est la partie fractionnaire de y : {y } = y − by c. Algorithme (voir plus loin) pour trouver les entiers X , Xcut ≤ X ≤ 2p − 1 solution de cette inégalité ; tester l’algorithme (i.e., calculer u2 et le comparer à RN (Cx)) pour ces valeurs de X .
-57-
Quelques résultats
C 1/π
p 24
1/π
53
Méthode 1 pas de réponse Ne marche pas pour
1/π 1/π ln 2 ln 2 ln 2 ln 2
64 113 24 53 64 113
marche toujours pas de réponse marche toujours marche toujours marche toujours marche toujours
6081371451248382
Méthode 2 marche toujours marche toujours sauf si X = 6081371451248382
marche marche marche marche marche marche
toujours toujours toujours toujours toujours toujours
Table: Les résultats donnés pour la constante C sont valables pour toutes les constantes 2±j C . -58-
Conclusion sur la multiplication par une constante
Deux méthodes pour tester si la multiplication correctement arrondie par une constante “infiniment précise” peut se faire à coût réduit (une multiplication et un fma). méthode 1 : ne permet pas toujours de conclure, mais est simple et rapide → compilation ? méthode 1 : donne tous les contre-exemples ou certifie que l’algorithme fournira toujours le bon résultat. Programmes Maple et explications à : http://perso.ens-lyon.fr/jean-michel.muller/MultConstant.html
-59-
Le dilemme du fabricant de tables
-60-
Le dilemme du fabricant de tables
-61-
TLe dilemme du fabricant de tables
Considérons le nombre “double précision” (β = 2, p = 53) x=
8520761231538509 262
On a 253+x = 9018742077413030.999999999999999998805240837303 · · ·
Et alors ? Pire cas pour l’arrondi de la fonction 2x et des nombres double précision.
-62-
Le tableau de la honte
Système résultat exact HP 48 GX HP 700 HP 375, 425t (4.3 BSD) matlab V.4.2 c.1 pour Macintosh matlab V.4.2 c.1 pour SPARC SPARC IBM RS/6000 AIX 3005 DECstation 3100 Casio fx-8100, fx180p, fx 6910 G TI 89
sin 1022 −0.8522008497671888017727 · · · −0.852200849762 0.0 −0.65365288 · · · 0.8740 −0.8522 −0.85220084976718879 −0.852200849 · · · NaN Error Trig. arg. too large
Jusqu’à juin 2008, pas de standard pour les fonctions “élémentaires”.
-63-
Arrondi correct des fonctions élémentaires
base 2, précision p ; nombre VF x et entier m (avec m > p) → approximation y de f (x) dont l’erreur sur la mantisse est ≤ 2−m . peut être fait avec format intermédiaire plus grand, avec TwoSum, TwoMultFMA, etc. obtenir un arrondi correct de f (x) à partir de y : impossible si f (x) est trop proche d’un point où l’arrondi change (en arrondi au plus près : milieu de 2 nombres VF consécutifs).
-64-
Arrondi correct des fonctions élémentaires Arrondi au + près, m bits }| { z |1.xxxxx{z· · · xxx} 1000000 · · · 000000 xxx · · · p bits ou m bits }| { z 1.xxxxx | {z· · · xxx} 0111111 · · · 111111 xxx · · · ; p bits autres modes, m bits z }| { |1.xxxxx{z· · · xxx} 0000000 · · · 000000 xxx · · · p bits ou m bits }| { z 1.xxxxx | {z· · · xxx} 1111111 · · · 111111 xxx · · · . p bits -65-
Trouver m au delà duquel il ny a plus de problème ?
fonction f : sin, cos, arcsin, arccos, tan, arctan, exp, log, sinh, cosh, Théorème de Lindemann (z 6= 0 algébrique ⇒ e z transcendant) → à l’exception de quelques cas triviaux (e 0 , ln(1), sin(0), . . . ), si x est un nombre VF, il existe mx , t.q. arrondir une approximation sur mx bits ⇔ arrondir f (x) ; nombre fini de nombres VF → ∃mmax = maxx (mx ) t.q. ∀x, arrondir une approximation sur mmax bits de f (x)est équivalent à arrondir f (x) ; ce raisonnement ne donne aucune idée de l’ordre de grandeur de mmax . Pourrait être trop grand pour être d’un quelconque intérêt pratique.
-66-
Un résultat de Baker (1975)
α = i/j, β = r /s, with i, j, r , s < 2p ; C = 16200 ; |α − log(β)| > (p2p )−Cp log p Application : Pour évaluer ln et exp en double precision (p = 53) avec arrondi correct, il suffit de calculer une approximation précise sur environ
10244 bits Heureusement, en pratique, on constate que c’est beaucoup moins (≈ 100). -67-
Un peu moins pessimiste... Soit i/j ∈ Q avec gcd(i, j) = 1. On définit H(i/j) = max{|i|, |j|}. Théorème 5 (Y. Nesterenko et M. Waldschmidt (1995)) Soit (α, β) ∈ Q2 . Soient A, B, et E des réels positifs, avec E ≥ e, satisfaisant A ≥ max (H(α), e) , B ≥ H(β). On a β
|e − α| ≥ exp −211 × (ln B + ln ln A + 2 ln(E |β|+ ) + 10)
× (ln A + 2E |β| + 6 ln E ) × (3.3 ln(2) + ln E ) × (ln E )−2 ,
where |β|+ = max(1, |β|). Application : Pour calculer ln et exp en double précision (p = 53), il faut faire les calculs intermédiaires sur environ 106 bits. impossible → très cher -68-
Une explication qui n’est pas une preuve. . .
la “mantisse infinie” y de f (x) est de la forme : kbits
z }| { y = y0 .y1 y2 · · · yp−1 01111111 · · · 11 xxxxx · · ·
avec k ≥ 1.
ou kbits
}| { z y = y0 .y1 y2 · · · yp−1 10000000 · · · 00 xxxxx · · ·
En supposant qu’après le rang p les chiffres “1” et “0” ont la même probabilité d’apparaître, la “probabilité” d’avoir k ≥ k0 est 21−k0 ; si on considère N nombres VF en entrée, on aura N × 21−k0 valeurs pour lesquelles k ≥ k0 ; → ne se produira plus dès que k0 est significativement supérieur à log2 (N) (pour une valeur donnée de l’exposant, dès que k0 p). -69-
Pires cas en double précision : approche de v. Lefèvre
couper le domaine → approximations linéaires des fonctions pour un pré-filtrage, pour qu’il ne reste que quelques cas à traiter en très grande précision ; pré-filtrage : variante de l’algorithme du PGCD d’Euclide ; double precision : pourquoi ? de très loin la plus utilisée ; calculer tous les sinus des 232 nombres simple précision : quelques heures seulement ; plus hautes précisions : semblent hors d’atteinte ;
-70-
Pires cas en double précision
grille : nombres VF et “milieux” ; mise à l’échelle → entiers ; est ce que la droite est très proche d’un point de la grille ? il est très probable que la réponse est “non”.
très petit mod 1
an − b
-71-
an mod 1
0
d2 1= `1
d1 = h1
0
d3
d1
0
d3 = `2
0
d3
d2
1
d2 =1 h2 d2
d41
une infinité de fois : deux longueurs ; hi+1 = max(hi − `i , `i ), `i+1 = min(hi − `i , `i ) → PGCD.
-72-
Plus petite distance entre an mod 1 et b, n < T ? d1 = h1
0
d3
d2 1= `1
b
d1
b
d2
0
d3 = `2
b
d2 =1 h2
0
d3
0
b
d2
1
d41
on ne construit pas tous les points : on les compte (pour s’arrêter dès qu’il y en a plus de T ) ; on ne met à jour que les 2 points qui encadrent b, et on mémorise la distance à celui de gauche ; -73-
Résultats
Table: Pires cas pour l’exponentielle de nombres double précision.
Interval [−∞, −2−30 ] [−2−30 , 0) (0, +2−30 ]
[2−30 , +∞]
worst case (binary) exp(−1.1110110100110001100011101111101101100010011111101010 × 2−27 ) = 1.111111111111111111111111100 · · · 0111000100 1 159 0001... × 2−1 exp(−1.0000000000000000000000000000000000000000000000000001 × 2−51 ) = 1.111111111111111 · · · 11111111111111100 0 0100 1010... × 2−1 exp(1.1111111111111111111111111111111111111111111111111111 × 2−53 ) = 1.0000000000000000000000000000000000000000000000000000 1 1104 0101... exp(1.0111111111111110011111111111111011100000000000100100 × 2−32 ) = 1.0000000000000000000000000000000101111111111111101000 0 057 1101... exp(1.1000000000000001011111111111111011011111111111011100 × 2−32 ) = 1.0000000000000000000000000000000110000000000000010111 1 157 0010... exp(1.1001111010011100101110111111110101100000100000001011 × 2−31 ) = 1.0000000000000000000000000000001100111101001110010111 1 057 1010... exp(110.00001111010100101111001101111010111011001111110100) = 110101100.01010000101101000000100111001000101011101110 0 057 1000...
-74-
Résultats
Table: Pires cas pour les logarithmes de nombres double précision.
Interval [2−1074 , 1)
(1, 21024 ]
worst case (binary) log(1.1110101001110001110110000101110011101110000000100000 × 2−509 ) = −101100000.00101001011010100110011010110100001011111111 1 160 0000... log(1.1001010001110110111000110000010011001101011111000111 × 2−384 ) = −100001001.10110110000011001010111101000111101100110101 1 060 1010... log(1.0010011011101001110001001101001100100111100101100000 × 2−232 ) = −10100000.101010110010110000100101111001101000010000100 0 060 1001... log(1.0110000100111001010101011101110010000000001011111000 × 2−35 ) = −10111.111100000010111110011011101011110110000000110101 0 160 0011... log(1.0110001010101000100001100001001101100010100110110110 × 2678 ) = 111010110.01000111100111101011101001111100100101110001 0 064 1110...
-75-
Algorithme SLZ
algorithme LLL pour la réduction de réseaux ; meilleure complexité ; a été déjà utilisé pour tous les pires cas format decimal64 et fonction e x ; format double étendu (64 bits de mantisse) ; fonctions trigonométriques.
-76-
Conclusion
l’arrondi correct des fonctions les plus communes est faisable à coût raisonnable ; recommandé dans la norme IEEE 754-2008 (juin 2008) ; bibliothèque CRLIBM disponible à https://lipforge.ens-lyon.fr/projects/crlibm/
-77-