Journ ees Nationales de Calcul Formel 2008jncf2008.loria.fr/jncf2008.pdf · Journ ees Nationales de...

317
Journ´ ees Nationales de Calcul Formel 2008 20–24 octobre 2008, Cirm, Luminy Organisateurs: D. Boucher, F. Chyzak, J.-G. Dumas, E. Thom´ e Programme esum´ es Supports de cours

Transcript of Journ ees Nationales de Calcul Formel 2008jncf2008.loria.fr/jncf2008.pdf · Journ ees Nationales de...

Journees Nationales de Calcul Formel 2008

20–24 octobre 2008, Cirm, Luminy

Organisateurs: D. Boucher, F. Chyzak, J.-G. Dumas, E. Thome

• Programme

• Resumes

• Supports de cours

PROGRAMME DES JNCF 2008(Programme en date du 20 octobre 2008)

Programme de la semaine

Lundi 20 octobre

09h00 Ouverture des journees

09h30 Laurent Buse : Resultants : des matrices pour l’elimination (Cours 1/3)

10h30 Pause

11h00 Romain Cosset : Factorisation d’entiers a l’aide de courbes de genre 211h30 Clement Dunand : Utilisation de bases elliptiques pour le parametrage de tores alge-

briques12h00 Alexandre Benoıt : Developpements de fonctions D-finies sur des polynomes de Tche-

bychev.

12h30 Dejeuner

14h00 Frederic Edoukou : Codes correcteurs d’erreurs sur des surfaces Hermitiennes14h30 Gaetan Bisson : Multiplication complexe et discriminants15h00 Ainhoa Aparicio : Reduction des equations variationelles des systemes hamiltoniens a

deux degres de liberte et leur integrabilite15h30 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 prescrite17h30 Pierre-Vincent Koseleff : Nœuds toriques polynomiaux18h00 Ihsen Yengui : La conjecture des anneaux de Hermite en dimension 1

19h00 Temps libre pour discussions

19h30 Dıner

Mardi 21 octobre

09h30 Laurent Buse : Resultants : des matrices pour l’elimination (Cours 2/3)

10h30 Pause

11h00 Mohab Safey El Din : Real Solving Singular Polynomial Systems11h30 Marc Giusti : Varietes polaires et bipolaires12h00 Jean-Francois Biasse : Index calculus and large prime variation for the DLP on hyper-

elliptic curves

12h30 Dejeuner

14h00 Pierre Rouchon : Systemes differentiellement plats (Cours 1/2)

1

Journees Nationales de Calcul Formel 2008 page 1

15h30 Pause

Session « Geometrie algorithmique »16h00 Sylvain Lazard : Geometrie algorithmique et calcul formel16h40 Marc Pouget : Du calcul de courbes d’extreme de courbure sur une surface au calcul de

la topologie de courbes algebriques en general17h10 Andre Lieutier : Robustesse en calcul geometrique, pratiques industrielles et apport du

calcul formel17h40 Guillaume Moroz : Robots et positions cuspidales

18h10 Temps libre pour discussions

19h30 Dıner

Mercredi 22 octobre

09h00 Guenael Renault : Theorie de Galois effective (Cours 2/2)

10h30 Pause

11h00 Pierre Rouchon : Systemes differentiellement plats (Cours 1/2)

12h30 Dejeuner

14h00 Laurent Buse : Resultants : des matrices pour l’elimination (Cours 3/3)

15h00 Pause

15h30 Joris van der Hoeven : Mathemagix16h10 Daouda-Niang Diatta : Calcul du type topologique d’une surface implicite16h40 Adrien Poteaux : Calcul numerique-symbolique de developpements de Puiseux

17h10 Temps libre pour discussions

19h30 Dıner

Jeudi 23 octobre

09h00 Guenael Renault : Theorie de Galois effective (Cours 2/2)

10h30 Pause

11h00 Sylvie Boldo : Preuves formelles et equation des ondes11h30 Hong Diep Nguyen : Resoudre et certifier la solution d’un systeme lineaire12h00 Olivier Ruatta : Automate globalement convergent pour le calcul de toutes les racines

d’une equation algebrique

12h30 Dejeuner

14h00 Jean-Michel Muller : Calculs « exacts » avec une arithmetique approchee (Cours 1/2)

15h30 Pause

Session « Modelisation en biologie »

2

Journees Nationales de Calcul Formel 2008 page 2

16h00 Hidde de Jong : Qualitative Modeling and Simulation of Genetic Regulatory Networks16h40 Marie-Francoise Roy : Methodes semi-algebriques en epidemiologie17h10 Francois Lemaire : Approximation au premier ordre des varietes lentes17h40 Aslı Urguplu : Qualitative Analysis of Dynamical Systems : Application to Biology18h10 Fin de la session speciale18h20 Michel Petitot : Le probleme d’equivalence du point de vue algebrique18h50 Temps libre pour discussions

19h30 Dıner

Vendredi 24 octobre

09h00 Jean-Michel Muller : Calculs « exacts » avec une arithmetique approchee (Cours 2/2)

10h30 Pause

11h00 Richard Leroy : Certificats de positivite et minimisation polynomiale dans la base deBernstein multivariee

11h30 Mioara Joldes : Certified and fast computation of supremum norms of approximationerrors

12h00 Bernard Mourrain : Dualite, moments et ideaux radicaux

12h30 Dejeuner

14h00 Cloture des journees

Resumes des cours

1. Les codes algebriques et leur decodageDaniel Augot (INRIA Paris-Rocquencourt, Equipe-projet Secret)

Expose annule Ce cours portera d’abord sur les celebres codes de Reed-Solomon. Je commen-cerai par montrer l’optimalite de ces codes en terme combinatoires : ce sont des codes MDS( maximum distance separable). Cette optimalite ne repond cependant pas a tous les besoins, no-tamment lorsque les alphabets consideres sont petits. Je presenterai ensuite deux constructions deces codes, lesquelles conduisent a deux grandes familles d’algorithmes de decodage : par syndrome(Berlekamp-Massey) et par interpolation (Sudan). Une autre famille de codes, aux proprietes si-milaires, est celle des codes geometriques introduits par Goppa. Ces derniers utilisent la theoriedes courbes algebriques sur les corps finis. De meme que pour les codes de Reed-Solomon, deuxapproches duales permettent de definir les codes de Goppa : l’algorithme de Berlekamp-Massey segeneralise en l’algorithme de Berlekamp-Massey-Sakata ; l’algorithme de Sudan en l’algorithme deShokrollahi-Wasserman, dont l’algorithme de Guruswami-Sudan est une version amelioree. L’in-teret des algorithmes de decodage par interpolation est qu’ils franchissent le mur de la distanceminimale, c’est-a-dire qu’ils corrigent beaucoup plus d’erreurs que les algorithmes classiques.

2. Systemes differentiellement platsPierre Rouchon (Mines ParisTech)

Les systemes differentiellement plats, une sous-classe des systemes non-lineaires controles, jouentun peu le meme role que les systemes integrables par rapport aux systemes dynamiques (sanscontrole) : pour ces systemes controles on dispose aussi d’une description « explicite » de leurtrajectoires, i.e., de leur solutions. D’une telle description, on deduit une methode systematique

3

Journees Nationales de Calcul Formel 2008 page 3

pour la planification et le suivi de trajectoires, deux questions de base en controle des systemes.Apres des definitions en dimension finie (equations differentielles ordinaires), definitions illustreespar quelques exemples, on aborde des questions ouvertes liees a la caracterisation des systemesdifferentiellement plats mais aussi a la planification et au suivi en presence de singularite. L’ex-tension a la dimension infinie, i.e. aux equations aux derivees partielles avec controle frontiere,est aussi abordee. Elle s’appuie sur des exemples pour lesquels il peut etre necessaire de faireappel, de maniere encore assez mal comprise, a des techniques de re-sommation pour rendre lesdeveloppements en series effectifs d’un point de vue numerique.

3. Calculs « exacts » avec une arithmetique approcheeJean-Michel Muller (CNRS, Laboratoire LIP)

L’arithmetique virgule flottante a ete concue comme une simple approximation de l’arithmetiquereelle.Cependant, comme le comportement de chaque operation est completement specifie parune norme (la norme IEEE-754), l’arithmetique virgule flottante peut aussi etre vue comme unestructure mathematique sur laquelle on peut construire des algorithmes et des preuves. C’est ainsique l’on peut construire des algorithmes arithmetiques nettement plus rapides et precis que ce quel’on pouvait faire auparavant. On donnera quelques exemples montrant l’interet de cette approche.On en profitera egalement pour parler de quelques unes des nouveautes figurant dans la revisionde la norme IEEE-754, qui vient d’etre adoptee.

4. Theorie de Galois effectiveGuenael Renault (Equipe-projet INRIA / LIP6 Salsa)

La resolution d’equations polynomiales en une variable est le probleme qui a fait naıtre la theoriede Galois. Depuis l’antiquite, les mathematiciens ont toujours voulu pouvoir obtenir les solutionsde telles equations sous la forme de formules ne faisant intervenir que les operations usuelles etdes radicaux en les coefficients de l’equation. Pendant longtemps, le probleme de savoir si de tellesformules existaient resta sans solution. C’est Galois qui edifia la theorie permettant de repondrea cette question et montra, en particulier, que ceci etait impossible en toute generalite. Pourtant,l’essence de cette theorie repose sur une construction formelle du plus petit corps contenant lesracines du polynome P entrant dans la definition de l’equation et ainsi permet de resoudre formel-lement cette derniere. A ce corps, appele corps de decomposition de P , est associe un groupe quipermet de caracteriser des proprietes sur ce corps a partir de proprietes calculees sur le groupe.Dans ce cours, nous presenterons ces objets centraux de la theorie de Galois et nous montreronsdes algorithmes efficaces permettant de les calculer.

5. Resultants : des matrices pour l’eliminationLaurent Buse (INRIA Sophia Antipolis - Mediterrannee, Equipe-projet Gallad)

Ce cours est divise en trois parties. La premiere partie traite du resultant bien connu de deux po-lynomes univaries, tres souvent appele resultant de Sylvester. L’objectif principal est ici d’illustrerle contenu geometrique du resultant au travers d’applications concretes en geometrie et mode-lisation algebrique : theoreme de Bezout, problemes d’inversion et d’implicitation d’une courbeplane rationelle. Notamment, l’accent sera mis sur deux proprietes fondamentales du resultant quile distinguent des autres techniques d’elimination : son caractere universel et ses representationsmatricielles. La deuxieme partie est consacree a la generalisation du resultant de Sylvester aucas de n polynomes homogenes en n variables, souvent appele resultant de Macaulay. Apres unebreve introduction sur le theoreme de l’elimination, l’existence et les principales proprietes de ceresultant seront presentes sous l’angle le plus adapte au calcul : les formes d’inerties. Pour finir,on presentera la formule de Poisson que l’on illustrera par quelques applications geometriques.

4

Journees Nationales de Calcul Formel 2008 page 4

La derniere partie propose une discussion plus avancee sur l’existence generale des resultants. Onmontrera qu’il est (presque) toujours possible de donner une definition geometrique pour le re-sultant d’un systeme algebrique bien dimensionne. En revanche, il est plus delicat de pouvoir le« calculer », c’est-a-dire d’en trouver une representation matricielle. En fait, ce calcul necessite uneetude approfondie qui doit bien souvent etre menee au cas par cas. Nous l’illustrerons au traversd’un exemple concret.

Sessions d’ouverture

6. Geometrie algorithmique et calcul formel

Sylvain Lazard (INRIA Sophia Antipolis - Mediterrannee, Equipe-projet Vegas)

Je presenterai un ensemble de travaux sur des problemes de geometrie algorithmique ayant des liensavec le calcul formel. Typiquement, les techniques et outils calcul formel peuvent etre utilisees dansles 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 portantsur les proprietes des droites tangentes a quatre objets, les diagrammes de Voronoi de droites etl’intersection de quadriques.

7. Qualitative Modeling and Simulation of Genetic Regulatory Networks

Hidde de Jong (INRIA Grenoble - Rhone-Alpes)

The adaptation of microorganisms to their environment is controlled at the molecular level by largeand complex networks of biochemical reactions involving genes, RNAs, proteins, metabolites, andsmall signalling molecules. In theory, it is possible to write down mathematical models of thesenetworks, and study these by means of classical analysis and simulation tools. In practice, thisis not easy to achieve though, as quantitative data on kinetic parameters are usually absent formost 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 bothmathematically and computationally.We have developed methods for the reduction and approximation of kinetic models of bacterialregulatory networks to simplified, so-called piecewise-linear differential equation models. The qua-litative dynamics of the piecewise-linear models can be studied using discrete abstractions fromhybrid systems theory. This enables the application of model-checking tools to the formal verifica-tion of dynamic properties of the regulatory networks. The above approach has been implementedin the publicly-available computer tool Genetic Network Analyzer (GNA) and has been used toanalyze a variety of bacterial regulatory networks.I will illustrate the application of GNA by means of the network of global transcription regulatorscontrolling 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 understoodhow a stress signal is sensed and propagated through the network of global regulators, and leadsthe cell to respond in an adequate way. Qualitative modeling and simulation of the network ofglobal regulators has allowed us to identify essential features of the transition between exponen-tial and stationary phase of the bacteria and to make new predictions on the dynamic behaviorfollowing a carbon upshift.

8. Robustesse en calcul geometrique, pratiques industrielles et apport du calculformel

Andre Lieutier (Dassault - Aix-en-Provence)

5

Journees Nationales de Calcul Formel 2008 page 5

Resume fourni ulterieurement.

9. Du calcul de courbes d’extreme de courbure sur une surface au calcul de latopologie de courbes algebriques en general

Marc Pouget (INRIA Nancy - Grand Est, Equipe-projet Vegas)

Je presenterai un travail en collaboration avec Jean-Charles Faugere et Fabrice Rouillier de l’equipeSALSA. Le probleme initial concernait la description de courbes d’extreme de courbure sur unesurface connues sous le nom de « ridges ». Pour une surface generique, ces courbes presentent troistypes de singularites. Une mise en equation du probleme dans le cas d’une surface parametree apermis de certifier le calcul de ces points et d’en deduire la topologie de la courbe. Les methodesde calcul formel utilisees sont la decomposition des systemes de points singuliers selon leur type,les bases de Groebner et la representation univariee rationnelle. Ces methodes, presentant unevariante de l’approche de calcul par sous-resultants et arithmetique sur des nombres algebriquesreels, ont ete generalisees pour le calcul de la topologie d’une courbe algebrique plane quelconque.

Exposes courts

10. Reduction des equations variationelles des systemes hamiltoniens a deux degresde liberte et leur integrabilite

Ainhoa Aparicio (XLIM, Universite de Limoges)

Grace a la theorie de Morales Ramis nous savons qu’un systeme hamiltonien est non-integrable sile groupe de Galois de son equation variationelle est non abelien. En utilisant ces connaissances,nous avons developpe une methode de reduction des equations variationelles qui nous permet dedecider si un systeme hamiltonien a deux degres de liberte est non-integrable. L’un des interetsde cette reduction est qu’elle ne reduit pas uniquement les premieres equations variationellesmais aussi l’expression de toutes les equations variationelles successives. En illustration de notremethode nous donnerons une demonstration alternative de la non-integrabilite du probleme deHill (Morales-Simo-Simon). Travail developpe en collaboration avec Jacques-Arthur Weil.

11. Developpements de fonctions D-finies sur des polynomes de Tchebychev.

Alexandre Benoıt (Equipe-projet Algo, Laboratoire MSR-INRIA )

Une fonction D-finie est une solution d’equation differentielle lineaire a coefficients polynomiaux.Il est bien connu que les developpements en serie de Taylor de ces fonctions ont des coefficientsqui verifient une recurrence lineaire. La meme propriete est verifiee par les coefficients des deve-loppements de ces fonctions en serie de Tchebychev (c’est-a-dire sur la base des polynomes deTchebychev). Ces developpements possedent des proprietes interessantes du point de vue de l’ap-proximation, ce qui motive leur etude et la recherche d’algorithmes efficaces pour leur calcul. Alorsque de tels algorithmes sont classiques dans le cas des series de Taylor, les methodes connues pourles series de Tchebychev n’avaient pas ete etudiees du point de vue de la complexite. Dans cetexpose, je decrirai les algorithmes existants et je donnerai un nouvel algorithme plus efficace realiselors de mon stage. J’exposerai aussi la theorie mathematique sur laquelle reposent ces algorithmes.

12. Index calculus and large prime variation for the DLP on hyperelliptic curves

Jean-Francois Biasse (Ecole polytechnique)

6

Journees Nationales de Calcul Formel 2008 page 6

Une courbe hyperelliptique C sur un corps Fq est la donnee de solutions de l’equation :

Y 2 + v(X)Y + u(X) = 0

Elle definit une variete algebrique dite ”Jacobienne” Jac dont les elements sont appeles des di-viseurs. Cette variete est munie d’une structure de groupe, ce qui nous permet par exemple d’yetudier le probleme du logarithme discret (DLP). Supposons que P et Q soient deux diviseurs deJac, calculer le logarithme discret de Q en base P , c’est trouver α tel que :

Q = αP

L’etude du logarithme discret est motivee par l’existence de plusieurs cryptosystemes reposant sursa difficulte, notamment le tres celebre protocole d’echange de clef ”Diffie-Hellman”.Sa difficulte estvariable suivant le groupe dans lequel nous l’etudions. Dans le cadre des courbes hyperelliptiquesles meilleures attaques connues sont en complexite ”sous-exponentielle”.Le calcul d’index est la strategie permettant d’atteindre une complexite sous-exponentielle. Ondefinit un ensemble de diviseurs B que l’on appelle la base de friabilite, puis on recherche desrelations du type :

αP + βQ =∑

Pi Pi ∈ BCes relations forment une matrice dont un vecteur du noyau permet de deduire la solution duprobleme etudie. Le probleme qui se pose est que cette matrice est souvent de taille prohibitive.Nous etudierons pendant l’expose comment reduire la taille de cette matrice afin que la recherched’un element de son noyau soit faisable, notamment via la strategie appelee ”large prime variation”ou bien la suppression de colonnes via une elimination du type Gauss structuree.

13. Multiplication complexe et discriminantsGaetan Bisson (INRIA Nancy - Grand Est)

La theorie de la multiplication complexe decrit les anneaux d’endomorphismes de varietes abe-liennes comme ordres dans certains corps de nombres. On l’utilise notamment pour la constructionde telles varietes, par exemple dans le cadre d’applications cryptographiques. Nous presenteronscela puis nous interesserons plus specifiquement au cas ou l’ordre en question n’est pas maximalet aux problemes que cela induit concernant la reduction modulo des premiers. En particulier, engenre 1, nous expliquerons en quoi cela affecte la construction de courbes elliptiques et commenton cet ordre peut etre determine.

14. Preuves formelles et equation des ondesSylvie Boldo (INRIA Saclay - Ile-de-France, Equipe-projet ProVal)

Ce travail a ete effectue avec Francois Clement, Jean-Christophe Filliatre et Micaela Mayero dans lecadre de l’ANR blanche CerPAN. Nous voulons prouver formellement et completement (erreur demethode et erreurs d’arrondi) de vrais programmes numeriques. Nous commencons modestementavec la resolution de l’equation des ondes en utilisant un programme C de Francois Clement et laplateforme Why. La boucle principale de ce programme est :

for (k=1 ; k<nk ; k++)

p[0][k+1] = 0. ;

for (i=1 ; i<ni ; i++)

dp = p[i+1][k] - 2.*p[i][k] + p[i-1][k] ;

p[i][k+1] = 2.*p[i][k] - p[i][k-1] + a*dp ;

p[ni][k+1] = 0. ;

7

Journees Nationales de Calcul Formel 2008 page 7

Borner les erreurs dues aux calculs flottants necessite une technique originale. En effet, une simpleborne de l’erreur d’arrondi de chaque calcul implique une borne d’erreur proportionnelle a 2k al’etape k, ce qui est tres exagere. En effet, les erreurs de calcul se compensent de facon assezimportante a chaque etape. Pour justifier ce fait, on determine une erreur analytique, c’est-a-direune expression mathematique exacte et signee de l’erreur de calcul. Cette erreur analytique estassez compliquee dans ce cas (double sommation pyramidale), mais est demontrable par recurrence.Elle permet de prouver que l’erreur d’arrondi a l’etape k est proportionelle a k2. Borner l’erreur demethode est un resultat classique de la litterature. Neanmoins, passer de la litterature a une preuveformelle recele de nombreux problemes de definitions et d’imprecisions. Neanmoins, prouver un vraiprogramme d’analyse numerique s’est revele bien plus difficile que prevu. Une simple resolutionde l’equation des ondes a fait surgir de nombreux problemes tant au niveau mathematique qu’auniveau formalisation et preuves formelles.

15. Codes tordus dont le rang ou la distance minimale est prescrite

Lionel Chaussade (IRMAR)

Nous etudierons le lien entre les equations aux differences sur un corps fini et un certain anneaude Ore de polynomes. Cette analogie donnera une methode pour engendrer des codes correcteursparticuliers, dits codes tordus, dont on pourra controler le corps de definition et la distance rang.Une approche differente nous permettra de generer des codes BCH tordus dont la distance mini-male sera prescrite. Grace a ces methodes, on verra que l’on a pu trouver des codes correcteursaugmentant la meilleure distance minimale connue. Travail en commun avec Pierre Loidreau etFelix Ulmer.

16. Factorisation d’entiers a l’aide de courbes de genre 2

Romain Cosset (INRIA Nancy - Grand Est)

L’algorithme ECM (Elliptic curve method) introduit par Lenstra dans les annees 1980 est unalgorithme probabiliste permettant de trouver des facteurs pas trop gros (jusqu’a une soixantainede chiffres decimaux) d’un nombre entier. Son interet est que sa complexite depend peu de la tailledu nombre a factoriser mais de la taille de ses facteurs. L’algorithme ECM est utilise dans la chaınede factorisation d’un nombre. Il est possible de generaliser cet algorithme en utilisant des courbesde genre 2 au lieu des courbes elliptiques (de genre 1). Cette generalisation fait apparaıtre deuxdifficultes : premierement, la probabilite de succes est moins bonne et, deuxiemement, les operationssur ces courbes sont plus lentes que sur les courbes elliptiques. Ces deux problemes sont resolusseparement. L’utilisation de courbes hyperelliptiques particulieres (courbes (2, 2)-decomposables)ameliore la probabilite de succes de l’algorithme. Par ailleurs pour accelerer l’arithmetique, ontravaillera sur les surfaces de Kummer. C’est actuellement, la methode la plus rapide pour calculersur les courbes de genre 2. La mise en œuvre de ces solutions souleve, cependant, des problemestechniques. D’un point de vue pratique, on parvient a des parametrisations permettant d’accelererl’algorithme. Apres avoir decris les algorithme ECM et HECM (Hyperelliptic curve method), jepresenterai les surfaces de Kummer et notamment leurs proprietes arithmetiques. Finalementj’expliquerai comment avoir une parametrisation des courbes hyperelliptiques de telle facon quel’algorithme HECM fonctionne. (Travail de these sous la direction d’Emmanuel Thome.)

17. Principe de transposition et algorithmes pour les tours d’Artin–Schreier

Luca De Feo (LIX, Ecole polytechnique)

Le principe de transposition est connu sous beaucoup de formes. En voici une formulation prochede l’algorithmique :

8

Journees Nationales de Calcul Formel 2008 page 8

« Tout algorithme qui calcule une fonction f peut etre transforme en un algorithme quicalcule la fonction transposee de f ayant la meme complexite a une constante pres. »

Le principe se realise en une technique de transposition d’algorithmes largement repandue dans lacommunaute du calcul formel. Nous appliquons cette technique dans le cadre des tours d’exten-sion d’Artin–Schreier pour obtenir des algorithmes avec des complexites quasi-optimales. Soit Kun corps de caracteristique p, une extension d’Artin–Schreier est une extension algebrique definiepar un polynome de la forme Xp − X − α avec α ∈ K. Nous nous interessons aux tours d’ex-tensions d’Artin–Schreier sur les corps finis. Nous donnons des algorithmes quasi-optimales pourl’arithmetique de ces tours et nous les appliquons pour la solution de certains problemes classiquesen theorie des nombres.

18. Calcul du type topologique d’une surface impliciteDaouda-Niang Diatta (XLIM, Universite de Limoges)

Nous decrivons un algorithme permettant de calculer un complexe simpliciale isotope a une surface.Cette algorithme est symbolique-numerique, certifie et repose fortement sur l’algorithme de calculde topologie de courbes gauches implicites presente lors de la precedente edition des JNCF.

19. Utilisation de bases elliptiques pour le parametrage de tores algebriquesClement Dunand (IRMAR)

Le theme de notre travail est le parametrage des tores algebriques Tn(Fq), de dimension ϕ(n),definis sur un corps fini. La rationalite ou stable rationalite des tores algebriques Tn a donnelieu a plusieurs travaux recents. Parmi eux un articel de Maten van Dijk et David Woodruff(2004), propose une representation de ces tores. Il s’agit de construire une bijection entre Tn(Fq)×(∏

d|n,µ(n/d)=−1 F×qd

)et∏d|n,µ(n/d)=1 F

×qd . Autrement dit, on identifie tous les points du tore

avec des points de F×qn et cette identification est une bijection explicite grace a l’ajout de quelquescomposantes complementaires. L’algorithme presente pour effectuer ce calcul utilise de nombreusesoperations (multiplication, exponentiation) dans Fqn ou des sous-corps de ce corps fini, ce quisouleve naturellement la question du temps necessaire a ce calcul. Il s’agit pour nous de raffiner lestemps de calcul de ces fonctions en utilisant une nouvelle representation des extensions de corpsmises en jeu : les bases normales elliptiques. Les bases elliptiques ont ete introduites tres recemmentpar Jean-Marc Couveignes et Reynald Lercier et peuvent etre construites pour toute extension decorps. Leur utilisation permet de realiser notamment les exponentiations par les puissances de qde maniere efficace et peut ainsi accelerer certaines etapes de calcul.

20. Codes correcteurs d’erreurs sur des surfaces HermitiennesFrederic Edoukou (CNRS, Institut de Mathematiques de Luminy)

En 1985, R. Tobias, thesard de I. Chakravati a l’UNC-CH en Caroline du Nord, presenta l’etudedes codes construits sur des surfaces hermitiennes sur le corps fini a quatre elements grace aun traitement a l’ordinateur. Son travail fut acheve en 1986 par P. Spurr a l’UNC-CH qui par untraitement informatique determina la distance minimale ainsi que la distribution des poids ce code.En 1991 Sørensen dans sa these de doctorat a Aarhus en s’affranchissant de l’outil informatique,donna une approche plus generale et plus geometrique de l’etude ce code construit sur la surfacehermitienne. Il formula une conjecture sur sa distance minimale qui suscita plusieurs tentatives deresolutions quelques annees plus tard. Dans cet expose nous allons repondre a cette conjecture. Enutilisant des resultats de geometrie finie nous donnerons la distribution des poids et proposeronsune generalisation de nos resultats aux codes hermitiens en dimension superieure.

9

Journees Nationales de Calcul Formel 2008 page 9

21. Varietes polaires et bipolairesMarc Giusti (CNRS / LIX, Ecole polytechnique)

Un algorithme efficace pour trouver un point representatif algebrique par composante connexed’une variete algebrique reelle, intersection complete et lisse, a ete publie dans des travaux prece-dents. Cet algorithme est base sur l’exploitation des varietes polaires generiques et sa complexiteest intrinseque au probleme. Il s’agit ici de generaliser ce resultat au cas singulier. Nous intro-duisons une construction naturelle permettant de nous ramener a une situation en dimensionet codimension plus grandes, lisse mais non compacte. (Travail commun avec Bernd Bank, JoosHeintz et Luis Miguel Pardo.)

22. Certified and fast computation of supremum norms of approximation errorsMioara Joldes (Equipe-projet Arenaire, LIP, Ecole Normale Superieure de Lyon)

One of the major objectives of the Arenaire team is the design of mathematical libraries and oftools that aim to improve and automate the evaluations of floating-point expressions, to obtainfaster a better floating-point code with guarantees on the results quality. For example, varioussoftware projects, like CRLibm [1], FloPoCo [2], Metalibm [3] or Sollya [4], focus on the floating-point evaluation of useful functions, on how this process can be automated and on the validationof the obtained numerical accuracy. One of the basic bricks in this automated tool chain consistsin computing a fast and certified bounding of approximation errors. In fact, the request is todetermine the maximum error between a function f : R− > R, such as exp, sin, erf, and apolynomial p, which approximates the function over an interval. The tight, yet certain boundingof this error (relative or absolute) leads to a fast and safe computation of the supremum norm ofthe error function.The main difficulty of this problem is due to the fact that this approximation error is very smalland the difference f − p is highly cancellating. Specifically, the cancellation effect is due to thesubtraction of terms that are very near and is a major source of numerical errors. In consequence,previous approaches for computing the infinity norm in our degenerate case have proven to beeither unsafe, not sufficiently tight, or too tedious in manual work.We present a safe and fast algorithm that offers automatically and certainly a tight lower and upperbound for the infinite norms of error functions. The algorithm is based on a combination of severaltechniques, including enhanced interval arithmetic, automatic differentiation and polynomial rootsisolation. This combination of tools allows us to overcome the cancellation effects and to safelyimplement this algorithm in our software tool Sollya.This is a joint work with Sylvain Chevillard (LIP, Arenaire) and Christoph Lauter (LIP, Arenaire).

[1] http ://lipforge.ens-lyon.fr/www/crlibm/[2] http ://www.ens-lyon.fr/LIP/Arenaire/Ware/FloPoCo/[3] http ://lipforge.ens-lyon.fr/www/metalibm/[4] http ://sollya.gforge.inria.fr/

23. Nœuds toriques polynomiauxPierre-Vincent Koseleff (Institut de mathematiques de Jussieu, UPMC PARIS6)

Application des approximants de Pade a un probleme de geometrie reelle. D’une question derepresentation de nœuds par des courbes polynomiales gauches, nous nous ramenons a un problemede construction de courbes planes trigonales. Nous proposons une construction dont la preuve etl’obtention explicite reposent sur des proprietes de certains approximants de Pade. Il semble prouvea present (travail en cours avec E. Brugalle et D. Pecker) que cette construction fournit des courbespolynomiales de degre lexicographique minimum.

10

Journees Nationales de Calcul Formel 2008 page 10

24. Approximation au premier ordre des varietes lentes

Francois Lemaire (UFR IEEA, Universite Lille I)

Une facon de modeliser les systemes biologiques est d’utiliser des systemes de reactions chimiques.Ces derniers peuvent etre etudies par equations differentielles. En supposant certaines reactionslentes ou rapides, on peut reduire les systemes de reactions chimiques en systeme d’equationsdifferentielles faisant intervenir moins d’inconnues. Cette reduction directement basee sur l’etudedes systemes singulierement perturbes et sur le theoreme de Tikhonov, s’appuie sur des notionstechniques, dont l’une est l’approximation de la variete lente (qui est intuitivement une variete lelong de laquelle les solutions « glissent » apres avoir suivi un transitoire rapide). Nous verronscomment obtenir une approximation au premier ordre de la variete lente dans le contexte del’etude des systemes de reactions chimiques, et pourquoi cette approximation est necessaire sur unexemple tire de la litterature.

25. Certificats de positivite et minimisation polynomiale dans la base de Bernsteinmultivariee

Richard Leroy (IRMAR)

Soit f ∈ Z[X1, . . . , Xk] un polynome multivarie, et soit

∆ =

(x1, . . . , xk)| ∀i, xi ≥ 0 et∑

xi = 1

le simplexe unite de Rk. La question de la positivite de f sur ∆ est un probleme classique engeometrie algebrique reelle et en calcul formel. Deux questions se posent :

1. Determiner si f est strictement positif sur ∆ ou non

2. Le cas echeant, trouver une ecriture de f qui rende evidente cette positivite.

Une telle ecriture est appelee certificat de positivite de f sur ∆.Le cas de la dimension 1 a ete traite par Boudaoud, Caruso et Roy [BCR]. La generalisation endimension quelconque fait l’objet de la premiere partie du present expose.Pour cela, on introduira la base de Bernstein, plus adaptee au probleme que la traditionnellebase des monomes. Elle permet notamment de definir le polytope de controle de f , fournissantune approximation de son graphe. L’etude precise de la distance entre le polytope de controle etle graphe de f sera presentee, permettant l’utilisation de techniques d’elevation de degre et desubdivision. La methode de subdivision, basee sur l’algorithme de De Calsteljau, se revele plusefficace. Un algorithme sera alors presente, decidant si un polynome donne est strictement positifsur ∆ ou non. Il fournit de plus un certificat de positivite le cas echeant. Une borne sur la tailledu certificat obtenu sera egalement donnee.Dans un second temps, le probleme classique ([KLP]) de minimisation de f sur le simplexe ∆ seraaborde. Un algorithme de subdivision sera egalement presente, base sur les memes techniques queprecedemment. L’etude de sa complexite a ete menee et sera presentee.

[BCR] Fatima Boudaoud, Fabrizio Caruso, Marie-Francoise Roy, Certificates of Positivity in theBernstein Basis, Discrete and Computational Geometry Volume 39, Number 4 (2008), 639-655.

[KLP] Etienne de Klerk, Monique Laurent, Pablo A. Parrilo, A PTAS for the minimization ofpolynomials of fixed degree over the simplex, Theor. Comput. Sci. Volume 361, Number 2(2006), 210-225

26. Robots et positions cuspidales

Guillaume Moroz (LIP6)

11

Journees Nationales de Calcul Formel 2008 page 11

L’etude de la geometrie des robots est un probleme difficile et important pour la planificationde trajectoire. Un robot est dit cuspidal si il possede des points cuspidaux. On verra que cettecaracteristique est importante pour mesurer la souplesse du robot.Soit S(T,X) un systeme parametre d’equations modelisant la geometrie d’un robot, ou T repre-sente k variables de controle et X designe n variables de positions. Chaque solution (T0,X0) deS(T,X) correspond a une position admissible du robot. De plus, si (T0,X0) est une racine demultiplicite 3 de S(T0,X), la position correspondante est alors dite cuspidale.Dans un premier temps, nous verrons les proprietes verifiees par les robots idaux, ainsi que lesdifferentes methodes existantes permettant calculer les pitions cuspidales. Nous presenterons en-suite une nouvelle methode basee sur les proprietes algebriques locales des racines de multipliciteinferieure a 3.L’application de cette methode nous a permis d’obtenir la description complete des positionscuspidales des robots paralleles plans de type 3-RPR.

27. Dualite, moments et ideaux radicaux

Bernard Mourrain (INRIA Sophia Antipolis - Mediterrannee)

L’expose portera sur des travaux recents exploitant le calcul de formes normales pour la resolu-tion de systemes polynomiaux et la dualite dans les algebres quotients. Un algorithme de formenormale pour un ideal zerodimensionnel produit des tables de multiplications et par calcul de va-leurs et vecteurs propres, il permet d’obtenir toutes les solutions complexes du systeme avec leurmultiplicite. Nous decrirons des extensions de cette approche permettant de calculer le radicalde l’ideal, ou meme le radical reel, decrivant les solutions reelles sans multiplicite, quand celles-cisont isolees. Ces nouvelles methodes exploitent fortement les proprietes des algebres de Gorensteinet des techniques de programmation semi-definie positive. C’est un travail en commun avec J.B.Lassere, M. Laurent, Ph. Rostalski, Ph. Trebuchet.

28. Resoudre et certifier la solution d’un systeme lineaire

Hong Diep Nguyen (Equipe-projet Arenaire, LIP, Ecole normale superieure de Lyon)

Nous proposons une approche pour resoudre un systeme lineaire et simultanement certifier lasolution calculee. Par « certifier », on entend calculer un encadrement garanti de l’erreur. Pourcela, nous passons de l’arithmetique flottante a l’arithmetique par intervalles et nous resolvonsle systeme lineaire satisfait par le residu. Cela nous donne une borne garantie de l’erreur sur leresultat exact.L’utilisation du residu est classique dans les methodes de raffinement iteratif. Nous avons adaptel’une de ces methodes pour le calcul de la borne d’erreur. La combinaison de ces deux composantes,a savoir la resolution en arithmetique flottante d’un systeme lineaire et le raffinement iteratif dela borne d’erreur en utilisant l’arithmetique par intervalle, produit une solution plus precise doteed’une borne d’erreur. Cette borne d’erreur nous permet d’estimer en outre le nombre de chiffrescorrects de la solution approximative.Une autre question se pose naturellement : on sait que la precision de la solution ainsi raffinedepend pour une grande part de la precision utilisee pour le calcul du residu. Classiquement, uneprecision doublee sera utilisee pour le calcul du residu. Notre approche est implantee en utilisantla bibliotheque MPFR, qui offre l’arithmetique flottante de precision arbitraire, et la bibliothequeMPFI pour son homologue par intervalle. Ces bibliotheques nous permettent d’adapter la precisionutilisee a chaque etape. Cela nous a permis d’etudier aussi l’effet de la precision utilisee pour lecalcul du residu sur la qualite du resultat calcule.Les resultats experimentaux illustrent le gain au niveau de la qualite de la solution et de la borned’erreur lie a la precision utilisee pour les calculs.References :

12

Journees Nationales de Calcul Formel 2008 page 12

[1] N.J. Higham ; Accuracy and Stability of Numerical Algorithms, 2nd edition, SIAM Press, 2002.Chapter 12 : Iterative Refinement.

[2] A. Neumaier ; Interval methods for systems of equations, Cambridge University Press, 1990.Chapter 4 : The solution of square linear systems of equations.

29. Le probleme d’equivalence du point de vue algebrique

Michel Petitot (LIFL, Universite de Lille I)

Il y a actuellement deux formalismes pour traiter les systemes d’equations differentielles :

1. Le calcul differentiel exterieur portant sur les formes differentielles utilises par les geometres,les physiciens, en theorie du controle etc.

2. L’algebre differentielle (commutative) portant sur les polynomes differentiels et les operateursdifferentiels lineaires, utilisee par Ritt (1930) dans le cas non lineaire et par Picard et Vessiot(1900) en theorie de Galois des equations lineaires, etc.

Le formalisme 1 (geometrique) permet d’adapter les reperes (ce qui reduit la taille des formules) aucours des calculs. C’est le formalisme utilise par J. Drach (1900) et B. Malgrange (2000) en theoriede Galois des equations non lineaires et par E. Cartan pour traiter du probleme d’equivalence(1905).Le formalisme 2 permet de traiter les inequations differentielles, les equations differentielles d’ordre 0(i.e. algebriques) et d’eliminer des variables.Le dictionnaire entre les deux formalismes n’est pas facile. Il semble que le lien passe entre autrepar la notion de groupoide developpee dans les annees 50 par C. Erhesmann, un eleve de E. Cartanpuis repris en geometrie algebrique dans les annees 60.Bien que le travail soit loin d’etre termine, nous essayerons de degager quelques pistes de reflexion.

30. Calcul numerique-symbolique de developpements de Puiseux

Adrien Poteaux (INRIA Sophia Antipolis - Mediterrannee)

Etant donne un polynome F ∈ k[x, y] et une racine α du discriminant de F en y, il est difficilede calculer numeriquement les developpements de Puiseux de f au dessus de α (i.e. les series en(x− α) solutions de F vu comme un polynome univarie en y). Le calcul symbolique de ces seriespeut s’averer couteux, que ce soit par l’extension de k dans laquelle sont definies les coefficientsou par la croissance de la taille de ces coefficients. De plus, l’evaluation de ces coefficients peutdemander une precision non negligeable, de notamment a cette croissance des coefficients.Neanmoins, en etudiant l’algorithme de Newton-Puiseux, on peut remarquer qu’il n’y a que deuxtypes d’informations exactes necessaires : les pentes successives des polygones de Newton et lesmultiplicites des racines des polynomes caracteristiques associes.Nous detaillerons un algorithme qui calcule numeriquement ces developpements de Puiseux, enutilisant un calcul preliminaire modulo un nombre premier p bien choisi de ces developpementsde Puiseux. Le nombre premier p est tel que tous les termes qui introduisent une separation desracines de f (c’est-a-dire les termes provenant d’une pente non entiere ou ceux provenant d’unpolynome caracteristique ayant plus d’une racine) ne soient pas reduit a 0 modulo p. A partirde ces series calculees modulo p, on reconstruit la suite des polygones et multiplicites dont ona besoin pour nos calculs numeriques. Puis cet « arbre de polygones » nous permet de calculernumeriquement les series.C’est un travail effectue dans le cadre de ma these, en collaboration avec Marc Rybowicz.

31. Methodes semi-algebriques en epidemiologie

Marie-Francoise Roy (IRMAR)

13

Journees Nationales de Calcul Formel 2008 page 13

L’expose presentera le resultat d’un travail en collaboration entre Otto Adamou (doctorant, Ni-ger), Thierry van Ellefterre (modelisateur industrie pharmaceutique, Belgique), M’hamed El Ka-houi (professeur, Maroc) et moi-meme sur l’etude de la stabilite d’equilibres epidmiologiques sansmaliadie ou endemiques, basee sur la notion de bifurcation transcritique.

32. Automate globalement convergent pour le calcul de toutes les racines d’uneequation algebrique

Olivier Ruatta (XLIM, Universite de Limoges)

On decrit un analogue continu de la methode de Weierstrass qui conduit a un automate globalementconvergent pour la resolution d’une equation univariee. Les principaux outils sont l’analyse effectiveet un peu de theorie des revetements differentiels.

33. Real Solving Singular Polynomial Systems

Mohab Safey El Din (Equipe-projet INRIA / LIP6 Salsa)

Je commencerai par presenter divers systemes d’egalites polynomiales provenant d’applications enmecanique celeste et en geometrie algorithmique. Ces systemes definissent des varietes singulieres.Pour chacun de ces problemes, la question posee est de determiner l’existence de solutions reelles(qu’elles soient regulieres ou singulieres) et, si elles existent, de donner au moins un point surchacune des composantes connexes de la variete definie par le systeme considere.Il est aujourd’hui bien connu qu’aborder ce probleme sous l’angle de la decomposition cylindriquealgebrique contraint a subir une complexite theorique doublement exponentielle en le nombrede variables, y compris dans des situations non pathologiques, ce qui limite considerablementl’utilisation en pratique de cette approche dans les problemes mentionnes plus haut. Les methodesde points critiques introduites a la fin des annees 80 offrent un cadre permettant d’apprehender cesproblemes avec une complexite theorique dominee par DO(n) (ou D est le degre des polynomes etn le nombre de variables) au prix d’un alourdissement de l’arithmetique (induit par l’introductiond’infinitesimaux) sur laquelle sont effectues les calculs. Sans maıtrise de la constante de complexite(situee ici en exposant), il est illusoire de pouvoir produire des implantations efficaces permettantde resoudre les problemes mentionnes ci-dessus, ce qui constitue notre objectif.Dans le cas des hypersurfaces singulieres, des resultats datant de 2005 ont permis d’obtenir unalgorithme de calcul d’au moins un point par composante connexe dont la complexite etait a lafois bien maıtrisee (dans de telles situations, la borne de Bezout domine strictement les degresdes objets geometriques representes algebriquement en cours de calcul) et dont les performancespratiques avaient a l’epoque permis la resolution d’applications inatteignables jusqu’alors. La suitede l’expose sera consacree a la presentation de la generalisation de cet algorithme au cas dessystemes polynomiaux definissant des varietes singulieres (ou engendrant des ideaux non radicaux)— dont une esquisse est decrite dans les notes de cours des JNCF 2007. La complexite obtenueest un produit d’un facteur combinatoire (dependant du nombre d’equations) et d’un facteuralgebrique (eleve a une puissance que nous expliciterons). On verra que ce facteur algebrique est— comme dans le cas des hypersurfaces — strictement domine par la borne de Bezout. On verraaussi que dans le cas ou les equations sont quadratiques, on obtient un algorithme polynomialen le nombre de variables. Au total, la complexite de cet algorithme est dominee par DO(n).Une implantation preliminaire de cet algorithme a permis de resoudre les problemes de mecaniqueceleste et de geometrie algorithmique mentionnes plus haut. Cette implantation sera prochainementintegree a la bibliotheque Maple RAGlib (Real Algebraic Geometry Library).

34. Qualitative Analysis of Dynamical Systems : Application to Biology

Aslı Urguplu (LIFL, Universite des Sciences et Technologies de Lille)

14

Journees Nationales de Calcul Formel 2008 page 14

There are many ways to perform qualitative analysis of dynamical systems. However, this is adifficult task because such systems may have many state variables and especially many parame-ters. Their studies require special reduction techniques. One of the possibilities is to use exactreduction by means of Lie symmetries in order to increase the dimension of the coordinate space.For this issue, the ExpandedLiePointSymmetry package (see [3, 4]) may be used. Another exactreduction method, which is new to our knowledge, consists of using Lie symmetries in order tocylindrify the dynamical system. This means that a change of coordinates is applied in a such waythat its fixed points depends on less parameters.MABSys (Modelization and Analysis of Biological Systems) is a Maple package (see [2]) for gather-ing, as much as possible, necessary functions to determine the qualitative analysis of a dynamicalsystem, also applicable to models of biological systems.MABSys has three main parts. Its first part consists of representing chemical reactions and mod-eling them by means of ODE systems. It may perform quasi-steady state approximations which isan inexact reduction (see [1]) where some chemical reactions are considered faster then the others.The model study is the dynamic of the slow reactions assuming that the fast ones are at quasi-equilibrium. The second part performs a change of coordinates on either algebraic, semi-algebraicor ODE systems. This processus is based on scaling type Lie symmetries of the corresponding al-gebraic systems but can be used with no prior knowledge of them. The ExpandedLiePointSymmetrypackage (see [3]) is employed to seek for Lie symmetries. Finally, the third part is composed byseveral qualitative analysis functions. These two latest parts are complementary, meaning that,in general they are overlapped.Change of coordinates processus uses only scaling type Lie symmetries. The first reason is thesake of computational simplicity. The second one is linked to biological models properties. Forsuch models, one of the main assumptions is the positivity of its coordinates which is preservedby this kind of Lie symmetries.(These en cours sous la direction de Francois Boulier et Alexandre Sedoglavic.)

[1] Boulier, F.; Lefranc, M.; Lemaire, F. and Morant, P.-E. Model Reduction of Chemi-cal Reaction Systems using Elimination MACIS 2007 http://hal.archives-ouvertes.fr/hal-00184558/fr.

[2] Lemaire, F. and Urguplu, A. MABSys - Modelization and Analysis of Biological Systems Maplepackage (available at www.lifl.fr/~urguplu), 2008.

[3] Sedoglavic, A. and Urguplu, A. Expanded Lie Point Symmetry Maple package (available atwww.lifl.fr/~urguplu) 2007.

[4] Sedoglavic, A. Reduction of Algebraic Parametric Systems by Rectification of their Affine Ex-panded Lie Symmetries Proceedings of Algebraic Biology 2007 – Second International Confer-ence 2007. Vol: 4545, pages: 277-291.

35. MathemagixJoris van der Hoeven (CNRS, Universite Paris-Sud)

Nous faisons la demonstration d’une premiere version alpha du systeme Mathemagix (voir aussihttp://www.mathemagix.org). C’est un nouveau systeme de calcul formel et analytique, composedes parties suivantes :

1. Une serie extensible de paquetages C++ avec des operations rapides sur des types de base(polynomes, matrices, series, mais aussi boules et fonctions analytiques).

2. Un langage haut niveau, actuellement inteprete, et avec un compilateur en cours de deve-loppement.

3. Un mecanisme de colle, permettant de rajouter de facon souple de nouveaux paquetagesC++ a l’interprete/compilateur.

15

Journees Nationales de Calcul Formel 2008 page 15

Le systeme admet GNU TeXmacs comme interface graphique, ainsi que le systeme Axel pour lavisualisation 3D.

36. La conjecture des anneaux de Hermite en dimension 1

Ihsen Yengui (Faculte des Sciences de Sfax)

Je montrerai (constructivement) que pour tout anneau A de dimension de Krull ≤ 1, tous lesA[X]-modules stablement libres sont libres. Ceci donne une reponse positive a la conjecture desanneaux de Hermite en dimension 1.

16

Journees Nationales de Calcul Formel 2008 page 16

Resultants: des matrices pour l’elimination

Laurent Buse,INRIA Sophia-Antipolis Mediterrannee,

[email protected]

Notes de cours pour les Journees Nationales du Calcul Formel 200820-24 octobre 2008

Journees Nationales de Calcul Formel 2008 page 17

ii

Journees Nationales de Calcul Formel 2008 page 18

Table des matieres

1 Le cas d’une variable 31.1 Definition et proprietes elementaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Quelques proprietes formelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Intersection de deux courbes algebriques planes . . . . . . . . . . . . . . . . . . . . . . . . 121.4 Implicitation et inversion d’une courbe algebrique plane rationnelle . . . . . . . . . . . . . 211.5 Et l’implicitation d’une surface rationnelle ? . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2 Le resultant multivarie 312.1 Theoreme de l’elimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2 Preliminaires : suites regulieres et complexe de Koszul . . . . . . . . . . . . . . . . . . . . 342.3 Definition du resultant de Macaulay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.4 Quelques proprietes formelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.5 Retour sur l’implicitation d’une surface rationnelle . . . . . . . . . . . . . . . . . . . . . . 412.6 Formes d’inerties et representations matricielles . . . . . . . . . . . . . . . . . . . . . . . . 452.7 La formule de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3 Vers une theorie generale du resultant 493.1 Le cas de trois courbes dans le plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2 Resultant general d’un systeme polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . 543.3 Exemples de resultants particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.4 Bezoutien et calcul du resultant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

iii

Journees Nationales de Calcul Formel 2008 page 19

iv

Journees Nationales de Calcul Formel 2008 page 20

Introduction

Ce cours est divise en trois parties. La premiere partie traite du resultant bien connu de deuxpolynomes univaries, tres souvent appele resultant de Sylvester. L’objectif principal est ici d’illustrerle contenu geometrique du resultant au travers d’applications concretes en geometrie et modelisationalgebrique : theoreme de Bezout, problemes d’inversion et d’implicitation d’une courbe plane rationelle.Notamment, l’accent sera mis sur deux proprietes fondamentales du resultant qui le distinguent desautres techniques d’elimination : son caractere universel et ses representations matricielles.

La deuxieme partie est consacree a la generalisation du resultant de Sylvester au cas de n polynomeshomogenes en n variables, souvent appele resultant de Macaulay. Apres une breve introduction sur letheoreme de l’elimination, l’existence et les principales proprietes de ce resultant seront presentees sousl’angle le plus adapte au calcul : les formes d’inerties. Pour finir, on presentera la formule de Poisson quel’on illustrera par quelques applications geometriques.

La derniere partie propose une discussion plus avancee sur l’existence generale des resultants. Onmontrera qu’il est (presque) toujours possible de donner une definition geometrique pour le resultantd’un systeme algebrique bien dimensionne. En revanche, il est plus delicat de pouvoir le ”calculer”, c’est-a-dire d’en trouver une representation matricielle. En fait, ce calcul necessite une etude approfondie quidoit bien souvent etre menee au cas par cas. Nous l’illustrerons au travers d’un exemple concret.

Dans la suite, tous les anneaux seront supposes commutatifs et unitaires.

1

Journees Nationales de Calcul Formel 2008 page 21

2

Journees Nationales de Calcul Formel 2008 page 22

Chapitre 1Le cas d’une variable

Dans cette premiere partie, le resultant de deux polynomes univaries est introduit puis illustre dansdeux contextes. Tout d’abord le calcul le l’intersection de deux courbes planes puis les deux problemesd’implicitation et d’inversion d’une parametrisation d’une courbe algebrique plane. L’objectif est ici desouligner que la representation matricielle et le caractere universel du resultant sont deux proprietesfortes du resultant comme outil pour l’elimination.

1.1 Definition et proprietes elementaires

Soit A un anneau commutatif unitaire. Considerons les deux polynomes de A[X]f(X) := a0X

m + a1Xm−1 + · · ·+ am

g(X) := b0Xn + b1X

n−1 + · · ·+ bn(1.1)

ou m et n sont deux entiers positifs tels que (m,n) 6= (0, 0). On leur associe la matrice suivante, ditematrice de Sylvester,

Sm,n(f, g) :=

a0 0 · · · 0 b0 0 0

a1 a0

... b1. . . 0

.... . . 0

... b0am a0 bn−1 b1

0 am a1 bn...

.... . .

... 0. . . bn−1

0 · · · 0 am 0 0 bn

.

C’est une matrice carree de taille (m + n) × (m + n) ; ses n premieres colonnes ne dependent que descoefficients du polynome f et ses m dernieres colonnes que des coefficients du polynome g.

Definition 1.1.1 On definit le resultant des polynomes f(X) et g(X) en degre (m,n), et nous le note-rons Resm,n(f, g), comme le determinant de la matrice de Sylvester Sm,n(f, g).

De cette definition, on tire facilement que si m > 0 (resp. n > 0) alors Resm,0(f, b0) = bm0 (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 polynome de degre n− 1 et non n, alors

Resm,n(f, g) = a0Resm,n−1(f, g).

Plus generalement, si deg(f) = m et n ≥ deg(g) alors

Resm,n(f, g) = an−deg(g)0 Resm,n−deg(g)(f, g),

ce qui se voit en developpant le determinant de la matrice de Sylvester suivant la premiere ligneiterativement.

3

Journees Nationales de Calcul Formel 2008 page 23

Exemple 1.1.1 Si f := aX2 + bX + c et g = ∂Xf = 2aX + b alors

Res2,1(f, g) =

∣∣∣∣∣∣a 2a 0b b 2ac 0 b

∣∣∣∣∣∣ = (−a)(b2 − 4ac).

Exemple 1.1.2 Si f = a0Xm + · · ·+ am et g = X − b alors

Resm,1(f, g) =

∣∣∣∣∣∣∣∣∣∣∣∣∣

a0 1 0 · · · 0

a1 −b 1...

.... . . . . . 0

... −b 1am 0 · · · 0 −b

∣∣∣∣∣∣∣∣∣∣∣∣∣= (−1)mf(b)

(developper ce determinant suivant la premiere colonne).

Proposition 1.1.2 Soient f, g ∈ A[X] definis par (1.1). Alors Resm,n(f, g) = (−1)mnResn,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]<n l’ensemble des polynomes de A[X] de degrestrictement plus petit que n et A[X]≤n l’ensemble des polynomes de A[X] de degre plus petit ou egal an.

Proposition 1.1.3 Soient f, g ∈ A[X] definis par (1.1). Alors il existe deux autres polynomes U ∈A[X]<n et V ∈ A[X]<m tels que l’on ait l’egalite

Resm,n(f, g) = Uf + V g

dans A[X]. En particulier, Resm,n(f, g) ∈ (f, g) ⊂ A[X].

Preuve. Il est immediat de constater que l’on a l’egalite

tSm,n(f, g)

Xm+n−1

Xm+n−2

...X1

=

Xn−1f...Xff

Xm−1g...Xgg

(1.2)

dans A[X]. Par consequent, les regles de Cramer montrent que

det(Sm,n(f, g)).1 = det

a0 0 · · · 0 b0 0 0

a1 a0

... b1. . . 0

.... . . 0

... b0am a0 bn−1 b1

0 am a1 bn...

.... . .

... 0. . . bn−1

Xn−1f · · · Xf f Xm−1g · · · g

,

d’ou le resultat annonce en developpant ce dernier determinant suivant sa derniere ligne. Noter que l’onpeut voir ce meme resultat en utilisant l’invariance du determinant lorsque l’on ajoute a la derniere ligne

4

Journees Nationales de Calcul Formel 2008 page 24

de la matrice Sm,n(f, g) la ieme ligne multipliee par Xm+n−i, cela pour tout i = 1, . . . ,m+ n− 1. 2

L’egalite (1.2) peut s’interpreter comme suit : les polynomes f et g definissent un morphisme deA[X]-modules libres

A[X]⊕A[X]→ A[X] : u⊕ v 7→ uf + vg

qui induit, en bornant judicieusement les degres des polynomes u et v, un morphisme de A-moduleslibres

φ : A[X]<n ×A[X]<m → A[X]<m+n : (u, v) 7→ uf + vg.

On constate alors que la matrice de l’application A-lineaire φ dans les bases

(Xn−1, 0), (Xn−2, 0), . . . , (X, 0), (1, 0), (0, Xm−1), . . . , (0, X), (0, 1) et Xm+n−1, . . . , X, 1 (1.3)

n’est autre que la matrice de Sylvester Sm,n(f, g). La proposition 1.1.3 revient donc a dire que Resm,n(f, g)appartient a l’image de φ, ce que l’on voit facilement en multipliant l’egalite classique (cof(−) designeici la matrice des cofacteurs)

Sm,n(f, g).tcof(Sm,n(f, g)) = Resm,n(f, g).Idm+n

par le vecteur colonne t(0 · · · 0 1) de taille m+ n ; le resultant est alors obtenu comme l’image par φ del’element

tcof(Sm,n(f, g))

0...01

∈ A[X]<n ×A[X]<m.

Proposition 1.1.4 Supposons que A soit un anneau integre et notons K := Frac(A) son corps desfractions. Soient f et g deux polynomes de A[X] definis par (1.1) et tels que a0 6= 0. Alors, les assertionssuivantes sont equivalentes :

(i) φ est injective,(ii) Resm,n(f, g) 6= 0,(iii) f(X) et g(X) sont premiers entre eux dans K[X].

Preuve. L’equivalence entre les points (i) et (ii) resulte de la propriete plus generale suivante : soitϕ : Ar → Ar un morphisme de A-modules, B et B′ deux bases de Ar et M la matrice de ϕ dans cesbases. Alors ϕ est injective si et seulement si det(M) 6= 0. Montrons-le. Soit x ∈ Ar tel que ϕ(x) = 0.L’egalite dans A

tcof(M).M = det(M)Id

implique alors que det(M)x = 0 et donc x = 0 si det(M) 6= 0 puisque A est integre. Inversement,supposons maintenant que det(M) = 0 et voyons M comme une matrice a coefficients dans le corps K.Il existe alors un vecteur non nul y tel que My = 0. Soit b le produit des denominateurs des entrees dey, alors M.(by) = 0 et by est un vecteur non nul a entrees dans A. Il s’en suit que ϕ n’est pas injective.

Montrons a present que (i) est equivalent a (iii). Supposons que f et g soient premiers entre eux dansK[X] et soit (u, v) ∈ A[X]<n ×A[X]<m tel que φ(u, v) = uf + vg = 0. Alors uf = −vg d’ou l’on deduitque g divise u et f divise v. Vus les degres de ces polynomes, on deduit que u = v = 0. Maintenant, sif et g ne sont pas premiers entre eux dans K[X] alors il existe h ∈ K[X] de degre strictement positiftel que f = hf1 et g = hg1. Si d designe le produit des denominateurs des coefficients des polynomes f1et g1 on verifie alors que d(gf − fg) = h(dg1f − df1g) = 0 qui montre que φ n’est pas injective puisqueφ(dg1,−df1) = 0. 2

Corollaire 1.1.5 Supposons que A soit un anneau integre et que f, g ∈ A[X] soient definis par (1.1).Alors Resm,n(f, g) = 0 si et seulement si f et g possedent une racine commune dans une extension1 ducorps K des fractions de A, ou bien a0 = b0 = 0.

1Une extension L du corps K est une K-algebre qui est un corps. Autrement dit, L est un corps et K est un sous-corpsde L.

5

Journees Nationales de Calcul Formel 2008 page 25

Preuve. Il resulte de la definition du resultant que celui-ci reste inchange si l’on voit les polynomes f et gdans A[X], K[X] ou bien L[X] ou L est une extension quelconque de K. Prenant pour L une extensionde K pour laquelle f et g se scindent (par exemple la cloture algebrique de K), les propositions 1.1.2et 1.1.4 nous donnent ce corollaire si a0 6= 0 ou b0 6= 0. Si a0 = b0 = 0 il est clair que le resultant est nul. 2

Exercice 1.1.1 Soient f(X) et g(X) definis par (1.1). Si A est un corps et si (a0, b0) 6= (0, 0) alorsmontrer que dimA kerSm,n(f, g) = deg pgcd(f, g).

Exercice 1.1.2 Soit K un corps infini. Montrer que la propriete d’etre premier entre eux pour deuxpolynomes f, g ∈ K[X] est une propriete ouverte dans l’espace des coefficients de ces polynomes. Enparticulier, si f, g ∈ K[X] sont premiers entre eux alors une “petite” perturbation de leurs coefficientsles conserve premiers entre eux.

Le cadre homogene : Soient f et g definis par (1.1). Introduisant un nouvelle indeterminee Y , ondefinit les polynomes homogenes associes a f et a g de degre m et n respectivement comme

F (X,Y ) := a0Xm + a1X

m−1Y + · · ·+ amYm

G(X,Y ) := b0Xn + b1X

n−1Y + · · ·+ bnYn (1.4)

Leur resultant, note Res(F,G), est defini comme Resm,n(f, g). Noter qu’il n’y a plus d’ambiguite sur lesdegres pour definir les resultant de deux polynomes homogenes en deux variables puisque leur degre nevarie pas suivant les valeurs que l’on donne aux coefficients ai et bj (contrairement au degre de f et deg). Le corollaire 1.1.5 peut maintenant s’enoncer comme

Res(F,G) = 0⇐⇒ F et G possedent une racine commune dans P1L

ou L designe la cloture algebrique du corps K des fractions de A.

Le caractere universel du resultant : Une des proprietes fondamentale du resultant est que cetobjet est universel, ce qui decoule immediatement de sa definition. Plus precisemment, considerant lescoefficients des polynomes f et g definis par (1.1) comme des variables, on peut construire une application,dite de specialisation,

ρ : Z[a0, . . . , am, b0, . . . , bn]→ A : ai 7→ ai, bj 7→ bj ,

qui envoie les variables ai et bj de l’anneau Z[a0, . . . , am, b0, . . . , bn] appele anneau universel des co-efficients de f et g, sur les coefficients correspondants ai et bj qui sont des elements dans l’anneaucommutatif A (rappelons qu’il existe toujours un morphisme d’anneaux de Z dans A et qu’il est unique).Ainsi Resm,n(f, g) ∈ A est l’image par ρ du resultant de f et de g vu comme polynomes dans l’anneauZ[a0, . . . , am, b0, . . . , bn][X], i.e. du resultant Resm,n(f, g) ∈ Z[a0, . . . , am, b0, . . . , bn][X]. On resume cettepropriete en disant que le resultant est un polynome universel. On peut ainsi considerer le resultantcomme une “fonction” des variables a0, . . . , am, b0, . . . , bn, ce qui justifie la notation Resm,n(f, g) puisqueles polynomes f et g fournissent des instances de ces variables. Une consequence importante du caractereuniversel du resultant est qu’il suffit bien souvent de montrer une propriete ou une formule dans le cadreuniversel, c’est-a-dire en supposant que A est l’anneau Z[a0, . . . , am, b0, . . . , bn] (l’interet etant que cedernier est alors un anneau factoriel), pour l’obtenir immediatement sur n’importe quel anneau commu-tatif par specialisation, c’est-a-dire en transportant cette propriete ou cette formule par la specialisationρ. On commencera donc souvent les preuves dans ce qui suit par une phrase du type : “Par specialisation,on se ramene au cas ou A est l’anneau universel des coefficients de f et de g”.

Pour un traitement complet et detaille de la theorie du resultant de deux polynomes univaries nousrenvoyons le lecteur au livre [AJ06].

1.2 Quelques proprietes formelles

“L’experience prouve qu’il ne sert a rien de connaıtre le resultant si l’on ne possede pas suffisammentde regles de calcul . . . ” (Nicolas Bourbaki).

Ci-apres, A designe toujours un anneau commutatif unitaire et f, g les polynomes definis par (1.1).

6

Journees Nationales de Calcul Formel 2008 page 26

1.2.1 Homogeneite

Pour tout a ∈ A on a Resm,n(af, g) = anResm,n(f, g) et Resm,n(f, ag) = amResm,n(f, g).

Preuve. C’est immediat a partir de la definition du resultant comme determinant de la matrice de Syl-vester. 2

Prenant pour anneau de base A l’anneau universel des coefficients de f et de g, c’est-a-dire A :=Z[a0, . . . , an, b0, . . . , bm], alors Resm,n(f, g) est homogene de degre n en les variables a0, . . . , am (toutesaffectees du poids 1) et de degre m en les variables b0, . . . , bn (toutes affectees du poids 1). Cela peutegalement se traduire par les egalites

m∑i=0

ai∂Resm,n(f, g)

∂ai= mResm,n(f, g) et

n∑i=0

bi∂Resm,n(f, g)

∂bi= nResm,n(f, g).

1.2.2 Formule de Poisson

Supposons que a0 soit inversible dans A et considerons le morphisme de multiplication par g dansl’anneau quotient2 A[X]/(f)

ψ : A[X]/(f)→ A[X]/(f) : u 7→ ug.

Alors le determinant de la matrice de ψ est egal a a−n0 Resm,n(f, g).

Preuve. Considerons les deux morphismes de A-modules suivants :

φ : A[X]<n ×A[X]<m → A[X]<m+n : (u, v) 7→ uf + vg

etθ : A[X]<m+n → A[X]<n ×A[X]<m : P 7→ (Q,R)

ou (Q,R) correspondent respectivement au quotient et au reste de la division euclidienne de P par f ,i.e. P = Qf +R. Choisissant les bases (1.3) pour A[X]<n×A[X]<m et A[X]<m+n, les matrices Mφ, Mθ

et Mθφ des applications respectives φ, θ et θ φ dans ces bases verifient

det(Mφ) det(Mθ) = det(Mθφ). (1.5)

Puisque Mφ = Sm,n(f, g), il vient det(Mφ) = Resm,n(f, g). De plus, on voit que les matrices Mθ et Mθφsont de la forme

Mθ =

a−10 0 0

. . . 0 0a−10

1 0 0

0. . . 0

0 0 1

et Mθφ =

1 0 0

0. . . 0

0 0 10 . . . 0... 0

... Mψ

0 . . . 0

.

Par consequent, (1.5) donne la formule annoncee : a−n0 Resm,n(f, g) = det(Mψ). 2

1.2.3 Multiplicativite

Soit f(X) = a0Xn+ · · ·+an ∈ A[X] et supposons donnes deux polynomes g1(X) et g2(X) dans A[X]

tels que deg(g1) ≤ n1 et deg(g2) ≤ n2. Alors on a l’egalite suivante dans A :

Resm,n1+n2(f, g1g2) = Resm,n1(f, g1)Resm,n2(f, g2).

2Rappelons que puisque a0 est inversible l’anneau quotient A[X]/(f) est un A-module libre de base Xm−1, . . . , 1 par

simple division euclidienne : tout polynome u(X) ∈ A[X] s’ecrit de maniere unique comme u(X) = q(X)f(X) + r(X) avecdeg(r(X)) < m, et on a u = r(X).

7

Journees Nationales de Calcul Formel 2008 page 27

Preuve. Par specialisation, on se ramene a demontrer cette propriete dans le cas universel ou

A := Z[coeff(f), coeff(g1), coeff(g2)]

On regarde les polynomes f, g1 et g2 dans l’anneau Aa0 [X] ou l’element a0 est inversible (on a uneapplication canonique A → Aa0 : a 7→ a/1 qui est injective puisque A est sans torsion). Le diagrammesuivant etant commutatif

Aa0 [X]/(f)×g1

''OOOOOOOOOOO×g1g2 // Aa0 [X]/(f)

Aa0 [X]/(f)

×g277ooooooooooo

×g277ooooooooooo

On deduit de la formule de Poisson 1.2.2, choisissant la base sur A appropriee pour A[X]/(f), l’egalite

a−n1−n20 Resm,n1+n2(f, g1g2) = a−n1

0 Resm,n1(f, g1)a−n20 Resm,n2(f, g2).

L’element a0 n’etant pas diviseur de zero dans A, l’egalite ci-dessus devient une egalite dans A apressimplification par a0, et fournit alors le resultat annonce. 2

1.2.4 Transformations elementaires

Si n ≥ m (resp. m ≥ n), alors pour tout polynome h ∈ A[X]≤n−m (resp. h ∈ A[X]≤m−n), on al’egalite dans A

Resm,n(f, g + hf) = Resm,n(f, g) (resp. Resm,n(f + hg, g) = Resm,n(f, g)).

Preuve. Traitons le cas ou n ≥ m, l’autre cas etant une consequence de la proposition 1.1.2. Notanth(X) := c0X

n−m + · · ·+ cn−m, pour tout i ∈ 0, . . . ,m− 1 on a

Xi(g + hf) = Xig + c0Xn−(m−i)f + · · ·+ cn−mXn−(n−i)f.

Il est alors clair que la matrice Sm,n(f, g + hf) est obtenue a partir de la matrice Sm,n(f, g) par lesoperations

Colm+n−i ← Colm+n−i + c0Colm−i + · · ·+ cn−mCn−i

pour tout i ∈ 0, . . . ,m − 1, ou Colj designe la jth colonne de la matrice Sm,n(f, g). L’invariance dudeterminant par de telles operations donne la formule annoncee. 2

1.2.5 Covariance

Supposons que n = m. Pour toute matrice ϕ =(a bc d

)a coefficients dans l’anneau A, on a

l’egalite suivante dans A :

Resm,m(af + bg, cf + dg) = det(ϕ)mResm,m(f, g)

Preuve. Par specialisation, on se ramene au cas generique ou A := Z[a0, . . . , am, b0, . . . , bn, a, b, c, d].Puisque pour tout i ∈ 0, . . . ,m− 1 on a trivialement Xi(af + bg) = aXif + bXig pour tout a, b ∈ A,on verifie aisement que

Sm,m(af + bg, cf + dg) = Sm,m(f, g)(a× Id c× Idb× Id d× Id

)ou Id designe la matrice identite de taille m×m. Le resultat decoule alors des proprietes classiques dudeterminant. En effet, on a

det(ab× Id bc× Idab× Id ad× Id

)= ambm det

(a× Id c× Idb× Id d× Id

)8

Journees Nationales de Calcul Formel 2008 page 28

et

det(ab× Id bc× Idab× Id ad× Id

)= det

(ab× Id bc× Id

0 (ad− bc)× Id

)= ambm(ad− bc)m = ambm det(ϕ)m.

On conclut alors en notant que a et b ne sont pas des diviseurs de zero dans A. 2

1.2.6 Invariance et changement de base

Supposons donnes deux polynomes u(X) et v(X) dans A[X] de degre inferieur ou egal a un entierd ≥ 1. Notant F et G les polynomes homogenes de degre respectifs m et n associes a f et a g, on al’egalite dans A :

Resmd,nd(F (u, v), G(u, v)) = Resd,d(u, v)mnResm,n(f, g)d.

Le cas particulier d = 1 donne la propriete dite d’invariance du resultant :

Resm,n(F (aX + b, cX + d), G(aX + b, cX + d)) = (ad− bc)mnResm,n(f, g) (1.6)

pour tout a, b, c, d dans A.

Preuve. Par specialisation, on se ramene a montrer le resultat dans le cas universel, c’est-a-dire dans lecas ou A := Z[a0, . . . , am, b0, . . . , bn, coeff(u), coeff(v)]. On peut egalement supposer que m ≥ n en vertude 1.1.2.

Nous procedons par recurrence sur m + n : les cas ou m = 0 ou n = 0 se verifient facilement et lecas m = n = 1 n’est autre que la propriete de covariance 1.2.5. On suppose donc que m ≥ 1, n ≥ 1 etm+ n ≥ 3 (donc m ≥ 2). Il existe alors un polynome homogene H(X,Y ) de degre m− 1 tel que

b0F (X,Y )− a0Xm−nG(X,Y ) = Y H(X,Y ). (1.7)

D’ou le calcul

Resmd,nd(b0F (u, v), G(u, v)) = Resmd,nd(vH(u, v), G(u, v)) par 1.2.4= Resd,nd(v,G(u, v))Res(m−1)d,nd(H(u, v), G(u, v)) par 1.2.3= Resd,nd(v, b0un)Res(m−1)d,nd(H(u, v), G(u, v)) par 1.2.4

= bd0Resd,d(v, u)nRes(m−1)d,nd(H(u, v), G(u, v)) par 1.2.1 et 1.2.4

= bd0Resd,d(v, u)nResd,d(u, v)(m−1)nRes(H,G)d par recurrence

= (−1)nd2bd0Res(H,G)dResd,d(u, v)mn par prop. 1.1.2

= (−1)nd(d+1)Res(Y,G)dRes(H,G)dResd,d(u, v)mn

= Res(Y H,G)dResd,d(u, v)mn par 1.2.3

= Res(b0F,G)dResd,d(u, v)mn par 1.2.4 et (1.7).

On conclut alors en notant que b0 ne divise par zero dans A, que

Resmd,nd(b0F (u, v), G(u, v)) = bnd0 Resmd,nd(F (u, v), G(u, v))

et que Res(b0F,G)d = bnd0 Res(F,G) en utilisant la propriete d’homogeneite 1.2.1. 2

1.2.7 Expression en les racines

Supposons que f et g soient completement scindes sur A, c’est-a-dire que l’on puisse ecrire

f(x) := a0

m∏i=1

(X − αi) et g(x) := b0

n∏i=1

(X − βi).

9

Journees Nationales de Calcul Formel 2008 page 29

Alors, on a les egalites dans A :

Resm,n(f, g) = an0 bm0

∏1≤i≤m1≤j≤n

(αi − βj) = an0

m∏i=1

g(αi) = (−1)mnbm0n∏i=1

f(βi).

Preuve. La premiere et la troisieme formules s’obtiennent comme suit :

Resm,n(f, g) = Resm,n(f, b0n∏i=1

(X − βi))

= bm0 Resm,n(f,n∏i=1

(X − βi)) par 1.2.1

= bm0

n∏i=1

Resm,n(f,X − βi) par 1.2.3

= bm0

n∏i=1

(−1)mf(βi) par l’exemple 1.1.2

= an0 bm0

n∏j=1

m∏i=1

(αi − βj).

Un calcul similaire en inversant le role joue par f et par g permet de montrer la derniere formule. 2

1.2.8 Quasi-homogeneite

Dans le cas universel, i.e. A = Z[a0, . . . , am, b0, . . . , bn], on gradue l’anneau A en posantdeg(p) = 0 pour tout p ∈ Z,deg(ai) = i (resp. m− i) pour tout i = 0, . . . ,m,deg(bj) = j (resp. n− j) pour tout j = 0, . . . , n.

Alors, Resm,n(f, g) ∈ A est quasi-homogene (ou isobare) de degre mn.

Preuve. C’est une consequence de la propriete d’invariance (1.6) puisque l’on a

Res(F (tX, Y ), G(tX, Y )) = Res(F (X, tY ), G(X, tY )) = tmnResm,n(f, g),

ou F (X,Y ) et G(X,Y ) sont les polynomes homogenes de degre m et n associes a f(X) et g(X) respec-tivement, comme definis dans (1.4).

Noter qu’une autre facon de le voir est de constater que d’apres 1.2.7, Resm,n(f, g) est homogenede degre mn en les racines de f(X) et de g(X) (il faut se placer dans une extension bien choisie), puisque les coefficients ai et bj sont eux-memes homogenes de degre i et j respectivement par rapport a cesmemes racines. 2

Remarquer que ce resultat d’homogeneite peut egalement se traduire par l’egalitem∑i=0

iai∂Resm,n(f, g)

∂ai+

n∑j=0

jbj∂Resm,n(f, g)

∂bj= mnResm,n(f, g).

Noter egalement que les proprietes d’homogeneites 1.2.1 et de quasi-homogeneites 1.2.8 du resultantimplique que

Resm,n(f, g) =∑

i0+i1+···+im=nj0+j1+···+jn=m

i1+2i2+···+mim+j1+2j2+···+njn=mn

ci0,i1,...,im,j0,...,jnai00 a

i11 . . . aimm bj00 b

j11 . . . bjnn

ou ci0,i1,...,im,j0,...,jn ∈ Z pour tous les multi-indices (i0, i1, . . . , im, j0, . . . , jn) ∈ Nm+n+2. Noter que lacondition de quasi-homogeneite mi0 + (m − 1)i1 + · · · + im−1 + nj0 + (n − 1)j1 + · · · + jn−1 = mn estdeja contenue dans les trois conditions apparaissant dans la somme ci-dessus.

10

Journees Nationales de Calcul Formel 2008 page 30

1.2.9 Matrice de Bezout

Soit A un anneau commutatif unitaire. Considerons les deux polynomes de A[X]f(X) := a0X

n + a1Xn−1 + · · ·+ an

g(X) := b0Xn + b1X

n−1 + · · ·+ bn(1.8)

ou n est un entier strictement positif. Nous avons vu que le determinant de la matrice de Sylvesterfournit, par definition, le resultant de f et de g. Nous allons a present construire une autre matrice apartir des polynomes f et g qui permet egalement de calculer ce resultant.

Introduisons une nouvelle indeterminee Y . Il est clair que le polynome X − Y divise le polynomef(X)g(Y )− f(Y )g(X) de A[X,Y ]. Plus precisemment, on a

f(X)g(Y )− f(Y )g(X) = (X − Y )n−1∑i,j=0

ci,jXiY j

dans A[X,Y ], ou les ci,j sont dans A.

Definition 1.2.1 On appelle matrice de Bezout en degre n associee au couple de polynomes f, g deA[X]≤n defini par (1.8) la matrice n× n a coefficients dans A

Bezn(f, g) =

cn−1,n−1 cn−1,n−2 · · · cn−1,1 cn−1,0

cn−2,n−1 cn−2,n−2 · · · cn−2,1 cn−2,0

......

......

c1,n−1 c1,n−2 · · · c1,1 c1,0c0,n−1 c0,n−2 · · · c0,1 c0,0

.

Voici une petite procedure Maple qui permet de former cette matrice (var ci-dessous designe lavariable a eliminer) :

Bez:= proc(f,g,n,var)local i,j,b,M;M:=matrix(n,n);b:=simplify((fsubs(var=_var,g)-gsubs(var=_var,f))/(var-_var));for i from 1 to n do

for j from 1 to n doM[i,j]:=coeftayl(b,[var,_var]=[0,0],[n-i,n-j]);od;

od;RETURN(evalm(M));end:

Par definition de la matrice de Bezout, on a les egalites dans A[X,Y ]

(Xn−1 · · · X 1

)Bezn(f, g)

Y n−1

...Y1

=f(X)g(Y )− f(Y )g(X)

X − Y =n−1∑i,j=0

ci,jXiY j . (1.9)

Proposition 1.2.2 Soient f, g definis par (1.8). Alors, la matrice Bezn(f, g) est symetrique et est unefonction lineaire alternee de f et g, c’est-a-dire que l’on a les egalites

Bezn(f, f) = 0, tBezn(f, g) = Bezn(f, g), Bezn(f, g) = −Bezn(g, f),

Bezn(af1 + f2, g) = aBezn(f1, g) + Bezn(f2, g) pour tout a ∈ A.

Preuve. C’est immediat sur la definition. 2

11

Journees Nationales de Calcul Formel 2008 page 31

Proposition 1.2.3 Soient f, g definis par (1.8). On a l’egalite dans A :

det(Bezn(f, g)) = (−1)n(n−1)

2 Resn,n(f, g).

Preuve. Par specialisation, on se ramene a montrer le resultat dans le cas universel.Notant Jn la matrice n× n dont les seules entrees non nulles sont les entrees de l’anti-diagonale qui

valent 1, on a l’egalite matricielle :

Sn,n(f, g)(

0 Jn−Jn 0

)tSn,n(f, g) =

0 Bezn(f, g)

−Bezn(f, g) 0

. (1.10)

Pour la verifier, il suffit de multiplier les deux membres de cette egalite par (X2n−1 · · · X 1) a gaucheet t(Y 2n−1 · · · Y 1) a droite ; on trouve alors dans les deux cas

(Xn−1 +Xn−1Y + · · ·+ Y n−1)(f(X)g(Y )− f(Y )g(X)) =Xn − Y nX − Y (f(X)g(Y )− f(Y )g(X)).

De la formule (1.10), on deduit immediatement que Resn,n(f, g)2 = det(Bezn(f, g))2, donc queResn,n(f, g) et det(Bezn(f, g)) sont egaux au signe pres. Pour determiner ce signe on utilise la specialisationf 7→ Xn, g 7→ 1 : on a Resn,n(Xn, 1) = 1 et det(Bezn(Xn, 1)) = det(Jn) = (−1)

n(n−1)2 . 2

Remarque 1.2.4 La conjonction des propositions 1.2.2 et 1.2.3 donnent directement la propriete decovariance 1.2.5 du resultant.

Exercice 1.2.1 Soient f(X) et g(X) definis par (1.8) tels que A soit un corps et (f, g) 6= (0, 0). AlorsdimA(ker Bezn(f, g)) = deg(pgcd(f, g)).

1.3 Intersection de deux courbes algebriques planes

Etant donnes deux polynomes f(x, y) et g(x, y) dans K[x, y] ou K est un corps algebriquement clos,on souhaite etudier et calculer leurs zeros communs. Ce probleme s’interprete geometriquement : lespolynomes f et g definissent deux courbes algebriques Cf := V (f) et Cg := V (g) dans le plan affine A2

(de coordonnees (x, y)) et l’on souhaite etudier leur intersection. Nous ne nous interesserons qu’au casou f(x, y) = g(x, y) = 0 possede un nombre fini de solutions, c’est-a-dire que les courbes Cf et Cg n’ontpas de composante courbe commune. Cette condition n’est pas vraiment restrictive puisqu’elle revient ademander que f(x, y) et g(x, y) soient des polynomes premiers entre eux dans K[x, y] ; noter que le plusgrand diviseur commun a f et a g fournit toute la composante courbe commune a Cf et Cg.

Un cas particulier. Le cas ou l’une des deux courbes est une droite, c’est-a-dire ou l’un des polynomesest de degre 1, se reduit a la resolution d’un polynome univarie. En effet, on peut supposer que g(x, y) = yet ainsi se ramener a un polynome univarie f(x, 0) 6= 0 ∈ K[x]. On peut ecrire

f(x, 0) = c(x− z1)µ1(x− z2)µ2 · · · (x− zs)µs ,

ou les zi sont les racines distinctes et c ∈ K \ 0. L’entier µi, pour i = 1, . . . , s, qui est classiquementappele la multiplicite de la racine zi du polynome f(x, 0) ∈ K[x], est egalement appele la multiplicited’intersection entre les courbes Cf et Cg au point d’intersection de coordonnees (zi, 0) ∈ A2. On a∑si=1 µi = degx(f(x, y)) et on verifie aisement que

∑si=1 µi = deg(f(x, y)) (degre en tant que polynome

en les deux variables x et y) si f(x, y) ne s’annule pas au point a l’infini de l’axe des x, ou bien encore, demaniere equivalente, si la partie homogene de plus haut degre de f(x, y) n’est pas divisible par y. Cettederniere condition peut-etre absorbee par la geometrie projective : introduisant une nouvelle variable tet notant F (x, y, t) le polynome homogeneise de f(x, y), on a alors

F (x, 0, t) = c(x− z1t)µ1(x− z2t)µ2 · · · (x− zst)µstµ∞ , (1.11)

12

Journees Nationales de Calcul Formel 2008 page 32

ou µ∞ est un entier correspondant a la multiplicite de la racine a l’infini. Ainsi, on a toujours la relation

µ∞ +s∑i=1

µi = deg(F (x, y, t)) = deg(f(x, y)). (1.12)

Il est egalement possible de calculer les racines z1, . . . , zs ainsi que leur multiplicite par des calculs devaleurs et vecteurs propres. En effet, ecrivant

f(x, 0) = fdxd + fd−1x

d−1 + · · ·+ f1x+ f0 ∈ K[x]

(noter que d := deg(f(x, 0)) =∑si=1 µi n’est pas forcement egal a deg(f(x, y)) d’apres la discussion

precedente) et notant I l’ideal principal de K[x] engendre par ce polynome f(x, 0), nous avons dejarappele que l’algebre quotient K[x]/I est un espace vectoriel sur K de dimension d ayant pour basecanonique 1, x, . . . , xd−1. Considerons l’endomorphisme Mx : K[x]/I ×x−−→ K[x]/I de multiplication parx dans K[x]/I. Il est immediat de constater que sa matice dans la base canonique est

0 · · · 0 −f0/fd1

. . ....

... 0...

0 1 −fd−1/fd

,

(la colonne la plus a droite correspond a la division euclidienne de xd par f(x, 0)) et donc que le po-lynome caracteristique deMx est exactement (−1)d

fdf(x). Les racines du polynome f(x, 0) avec multiplicite

correspondent donc aux valeurs propres avec multiplicite de l’endomorphisme Mx.

Dans ce qui suit, nous allons generaliser ces calculs au cas ou f(x, y) et g(x, y) ont des degres arbi-traires.

1.3.1 Le theoreme de Bezout

Dans tout ce paragraphe, K designe un corps algebriquement clos et on suppose donnes deux po-lynomes non constants f(x, y) et g(x, y) de K[x, y]. Introduisant une nouvelle indeterminee z, on noteF (x, y, z), respectivement G(x, y, z), le polynome homogeneise de f(x, y), respectivement de g(x, y), dememe degre.

Theoreme 1.3.1 (Bezout homogene) Si les polynomes F (x, y, z) et G(x, y, z) sont premiers entreeux dans K[x, y, z] alors les courbes algebriques V (F ) et V (G) se coupent en un nombre fini de points,plus precisement en deg(F ) deg(G) points comptes avec une multiplicite appropriee.

Preuve. Considerons les polynomes F et G comme des polynomes en y a coefficients (homogenes) dansK[x, z] :

F (x, y, z) = a0(x, z)ym + a1(x, z)ym−1 + · · ·+ am−1(x, z)y + am(x, z)G(x, y, z) = b0(x, z)yn + b1(x, z)yn−1 + · · ·+ bn−1(x, z)y + bn(x, z)

(1.13)

ou ai(x, z) ∈ K[x, z] est homogene pour i = 0, . . . ,m avec a0(x, z) 6= 0, et bj(x, z) ∈ K[x, z] est homogenepour j = 0, . . . , n avec b0(x, z) 6= 0. Par changement de coordonnees projective (changement qui laisseinvariant la propriete de finitude ou non de V (F ) ∩ V (G)) suffisamment general (rappelons que K estinfini car algebriquement clos) on peut supposer que

(?) le point ∞y := (0 : 1 : 0) n’appartient pas a V (F ) ∪ V (G) ⊂ P2.Cela implique que a0(0, 0) b0(0, 0) sont tous les deux non nuls et donc que a0(x, z) et b0(x, z) sont desconstantes non nulles. Ainsi, puisque F et G sont premiers entre eux, le resultant Resm,n(F,G) ∈ K[x, z]est un polynome homogene non nul par la proposition3 1.1.4. Maintenant, si (x0 : y0 : z0) est un point

3Il faut ici utiliser un corollaire tres classique du lemme de Gauss (voir, par exemple, [Lan02, chap. IV, §2]), que nousrappelons rapidement.

Soit A un anneau factoriel et K := Frac(A) son corps des fractions. Tout polynome f(X) ∈ K[X] peut s’ecrire cf1(X)ou c ∈ K et f1(X) ∈ A[X] est primitif (i.e. le pgcd de ses coefficients vaut 1), et on a le resultat suivant : si un polynomef(X) ∈ A[X] admet une factorisation g(X)h(X) dans K[X], alors f(X) = af1(X)g1(X) ou a ∈ K.

13

Journees Nationales de Calcul Formel 2008 page 33

de V (F ) ∩ V (G) alors (x0 : z0) est une racine de Resm,n(F,G) d’apres le corollaire 1.1.5 ; puisque ceresultant n’admet qu’un nombre fini de racines, il ne peut donc y avoir qu’un nombre fini de points dansV (F ) ∩ V (G).

Comptons a present le nombre de points dans V (F ) ∩ V (G). Pour cela, on peut supposer par chan-gement de coordonnees projectives suffisamment general que (?) est verifiee mais egalement que tousles points P := (xP : yP : zP ) ∈ V (F ) ∩ V (G) sont tels que les “abscisses” (xP : zP )P∈V (F )∩V (G) sontdisctinctes deux a deux (le verifier et l’ecrire completement). Noter que les degres de F et de G sont inva-riants par changement de coordonnees. Aussi, (?) implique comme nous l’avons deja vu que a0 et b0 sontdes constantes, mais aussi du meme coup que ai(x, z), resp. bj(x, j), est un polynome homogene de degrei,resp. j, dans K[x, z] pour tout i = 0, . . . ,m, resp. j = 0, . . . , n). La propriete de quasi-homogeneite 1.2.8du resultant montre alors que Resm,n(F,G) est un polynome homogene de degre mn = deg(F ) deg(G).De plus notant P1, . . . , Pr = V (F ) ∩ V (G), ce resultant s’ecrit, d’apres le corollaire 1.1.5,

Resm,n(f, g) = c.(zP1x− xP1z)m1(zP2x− xP2z)

m2 · · · (zPrx− xPrx)mr (1.14)

ou c ∈ K est une constante non nulle et ou∑ri=1mi = mn = deg(F ) deg(G). Definissant la multiplicite

du point Pi ∈ V (F ) ∩ V (G) par l’entier mi, le theoreme est demontre. 2

Corollaire 1.3.2 (Bezout affine) Si f(x, y) et g(x, y) ne possedent pas de zero commun a l’infini(i.e. si F (x, y, 0) et G(x, y, 0) n’ont pas de zero commun) alors V (f) ∩ V (g) ⊂ A2 est constitue d’exac-tement deg(f) deg(g) points comptes avec une multiplicite appropriee.

Exercice 1.3.1 Montrer que l’intersection de deux “cercles” d’equations respectives

α0(x2 + y2) + α1x+ α2y + α3 = 0, β0(x2 + y2) + β1x+ β2y + β3 = 0,

ou α0 6= 0 et β0 6= 0, est consistuee de 2 points a distance finie et 2 points distincts a l’infini.

Comme nous l’avons introduite dans la preuve precedente, la “multiplicite d’intersection” de f etde g en un point P n’apparait pas clairement comme un invariant local associe au point P . Dans leparagraphe suivant nous donnons une definition plus rigoureuse de cette multiplicite d’intersection puisnous montrons qu’elle correspond bien a celle qui apparaıt dans la preuve du theoreme de Bezout quenous avons donnee.

1.3.2 Multiplicite d’un point d’intersection

1.3.2.1 Un resultat d’algebre

Nous commencons par rappeler un resultat (tres important) d’algebre qui est une consequence dufameux theoreme des zeros de Hilbert. Dans la suite, K designe un corps algebriquement clos.

Proposition 1.3.3 Soit I un ideal de l’anneau de polynomes K[X1, . . . , Xn], avec n un entier stricte-ment positif. Notant classiquement

V (I) := x = (x1, . . . , xn) ∈ K | f(x) = 0 pour tout f(X1, . . . , Xn) ∈ I,

on a les deux equivalences suivantes :

V (I) = ∅ ⇔ I = (1),

V (I) est fini ⇔ dimKK[X1, . . . , Xn]/I <∞.

Preuve. La premiere equivalence est une consequence directe du theoreme des zeros (elle porte d’ailleurssouvent le nom de version “faible” du theoreme des zeros). Supposons que V (I) soit un ensemble finide points, disons P1, . . . , Pr. Si mPi

designe l’ideal maximal associe au point Pi, pour i = 1, . . . , r, alorsle theoreme des zeros nous dit que

√I =

∏ri=1 mPi , et donc que I contient une certaine puissance de

l’ideal∏ri=1 mPi . On en deduit l’existence, pour tout i = 1, . . . , n, de polynomes Ui(Xi) de degre ui

appartenant a l’ideal I. En effectuant, pour tout polynome Q ∈ K[X1, . . . , Xn] des divisions euclidiennes

14

Journees Nationales de Calcul Formel 2008 page 34

successives par U1(X1), . . . , Un(Xn), on montre que K[X1, . . . , Xn]/I est engendre par les classes desmonomes Xi1

1 Xi22 . . . Xin

n avec 0 ≤ ij < uj pour tout j = 1, . . . , n. C’est donc bien un K-espace vecto-riel de dimension finie. Inversement, Si K[X1, . . . , Xn]/I est un K-espace vectoriel de dimension finie d,pour tout i = 1, . . . , n, les classes des monomes 1, Xi, X

2i , . . . , X

di sont liees. Il existe donc, pour tout

i = 1, . . . , n, un polynome non nul Ui(Xi) appartenant a l’ideal I. Mais alors V (I) ⊂ V (U1, . . . , Un) etce dernier est forcement fini. 2

Rappelons a present qu’un anneau est dit artinien s’il satisfait une condition duale de la conditionnoetherienne, a savoir : toute chaıne decroissante d’ideaux de R est finie. On peut alors montrer (voirpar exemple [Eis95, §2.4]), entres autres, que

– R est noetherien et tous ses ideaux premiers sont maximaux,– R ne possede qu’un nombre fini d’ideaux maximaux,– R est isomorphe a la somme directe de ses localises. Plus precisemment, le morphisme canoniqueR→ ⊕pRp, ou la somme est prise sur tous les ideaux maximaux de R, est un isomorphisme.

L’interet de ces considerations est que l’on peut completer la proposition 1.3.3 en ajoutant4 :

V (I) est fini ⇔ dimKK[X1, . . . , Xn]/I <∞⇔ K[X1, . . . , Xn]/I est un anneau artinien.

Ainsi, si V (I) est fini alors K[X1, . . . , Xn]/I '⊕

p∈Spec(K[X1,...,Xn]/I)K[X1, . . . , Xn]p/Ip et donc

dimKK[X1, . . . , Xn]/I =∑

p∈Spec(K[X1,...,Xn]/I)

dimKK[X1, . . . , Xn]p/Ip.

Cette formule montre que l’on peut “distribuer” une quantite associee a l’ideal I sur les points de V (I)qui sont en correspondance avec les ideaux maximaux de K[X1, . . . , Xn]/I. La tentation est donc grandede definir la multiplicite du point V (p) de V (I) comme l’entier dimKK[X1, . . . , Xn]p/Ip.

1.3.2.2 Multiplicite d’intersection

Commencons par enoncer un corollaire des considerations du paragraphe 1.3.2.1 precedent.

Corollaire 1.3.4 Soient K un corps algebriquement clos et f(x, y), g(x, y) deux polynomes de K[x, y].Les propositions suivantes sont equivalentes :

(i) V (f) ∩ V (g) est un nombre fini de points,(ii) dimKK[x, y]/(f, g) est un K-espace vectoriel de dimension finie,(iii) f et g sont premiers entre eux dans K[x, y].

De plus, lorsque ces assertions sont realisees, on a

dimKK[x, y]/(f, g) =∑

p∈Spec(K[x,y]/(f,g))

dimKK[x, y]p/(f, g)p

ou la somme est prise sur tous les ideaux premiers, qui sont en fait maximaux et en nombre fini, del’anneau quotient K[x, y]/(f, g).

Preuve. L’equivalence entre (i) et (ii) est une consequence de la proposition 1.3.3. Le fait que (i) implique(iii) se voit facilement par contraposee. On a deja vu que (iii) implique (i) au debut de la preuve dutheoreme 1.3.1. 2

Definition 1.3.5 Soit K un corps algebriquement clos et soient f(x, y) et g(x, y) deux polynomes dansK[x, y] supposes premiers entre eux. La multiplicite d’intersection de f et de g au point P ∈ A2 estl’entier

i(f, g;P ) := dimKK[x, y]p/(f, g)p

ou p est l’ideal maximal de k[x, y] correspondant au point P ∈ A2.4En effet, si R := K[X1, . . . , Xn]/I est un K-espace vectoriel de dimension finie, alors toute chaıne decroissante de

sous-espaces vectoriels est finie et donc toute chaıne decroissante d’ideaux de R est necessairement finie. Inversement, si Rest artinien alors tous ses ideaux premiers sont maximaux et il ne possede qu’un nombre fini de tels ideaux ; en d’autrestermes, V (I) est fini.

15

Journees Nationales de Calcul Formel 2008 page 35

Noter que la multiplicite d’intersection est invariante par changement lineaire de coordonnees dansA2 et que l’on a l’egalite

dimKK[x, y]/(f, g) =∑

P∈V (f)∩V (g)

i(f, g;P )

ou la somme est finie puisque V (f)∩ V (g) est un nombre fini de points par le corollaire 1.3.4, points quisont, rappelons-le, en correspondance avec les ideaux maximaux de K[x, y]/(f, g).

Maintenant que nous avons une definition de la multiplicite d’intersection, nous en donnons unecaracterisation similaire a (1.11) et a (1.14) qui permet de la calculer a l’aide d’un resultant. Pour cela,nous voyons f(x, y) et g(x, y) comme des polynomes univaries en la variable y dont les coefficients sontdans K[x] ; on ecrit, comme dans (1.13),

f(x, y) = a0(x)ym + a1(x)ym−1 + · · ·+ am−1(x)y + am(x)g(x, y) = b0(x)yn + b1(x)yn−1 + · · ·+ bn−1(x)y + bn(x)

(1.15)

ou ai(x) ∈ K[x] pour i = 0, . . . ,m et bj(x) ∈ K[x] pour j = 0, . . . , n. La proposition 1.1.4 nous montreque Resm,n(f, g) est un polynome non nul de K[x] si f et g sont supposes premiers entre eux (cf. preuvedu theoreme 1.3.1).

Pour tout polynome R(x) ∈ K[x] et tout point x0 ∈ K nous noterons valx0(R) la valuation de R en x0,c’est-a-dire le plus grand entier s tel que (x−x0)s divise R(x) ; si x−x0 ne divise pas R alors valx0(R) = 0.Aussi, pour tout point P ∈ A2 nous noterons xP , respectivement yP , son abscisse, respectivement sonordonnee.

Proposition 1.3.6 Soient f(x, y) et g(x, y) deux polynomes premiers entre eux. Avec les notations de(1.13), supposons donne x0 ∈ K tel que a0(x0) 6= 0 ou b0(x0) 6= 0. Alors

valx0(Resm,n(f, g)) =∑

P∈A2 : xP =x0

i(f, g;P ).

En particulier, si P ∈ A2 est le seul point de V (f)∩V (g) d’abscisse5 xP , alors la multiplicite d’intersectionde f et de g au point P est exactement valxP

(Resm,n(f, g)).

Preuve. Sans perdre en generalite, nous pouvons supposer que x0 = 0 et que a0(0) 6= 0. Notons Al’anneau local de l’axe des x a l’origine, c’est-a-dire A := K[x](x) (qui est isomorphe a (K[x, y]/(y))(x,y)).Puisque a0(0) 6= 0, le polynome a0(x) est inversible dans A et la formule de Poisson 1.2.2 fournit l’egalite

det B(A[Y ]/(f)×g−−→ A[Y ]/(f)) = a0(x)−nResm,n(f, g) ∈ A

ou le membre de gauche est le determinant de la matrice de multiplication par g dans A[Y ]/(f) exprimeedans la base canonique B := Y m−1

, . . . , 1), matrice de taille m×m a entrees dans A.Soit Q(x) ∈ K[x], alors il est immediat de constater que val0(Q) = dimK A/(Q), autrement dit que

la suite exacte 0→ A×Q−−→ A→ A/(Q)→ 0 donne la relation

val0(det(A

×Q−−→ A))

= dimK A/(Q) = dimK coker(A×Q−−→ A).

Par somme directe, on en deduit que cette propriete reste vraie pour une matrice diagonale, c’est-a-direque si Q1(x), . . . , Qs(x) sont des polynomes de K[x], alors on a une suite exacte

0→ As

M :=

0BBBB@Q1 0

. . .0 Qs

1CCCCA−−−−−−−−−−−−−−−−−→ As → A/(Q1)⊕ · · · ⊕A/(Qs)→ 0

et la formule

val0(det(M)) = val0(Q1(x) . . . Qs(x)) = dimK⊕si=1A/(Qi) = dimK coker(As M−→ As).5Les points d’abscisse x0 ∈ K sont tous les points de P2 qui sont sur la droite projective x− x0z.

16

Journees Nationales de Calcul Formel 2008 page 36

Or, A est un anneau principal, donc le theoreme des facteurs invariants6 implique qu’il existe desbases de A[Y ]/(f) dans lesquelles la matrice de multiplication par g est diagonale. En consequence, onobtient

val0(Resm,n(f, g)) = val0(det(Am ' A[y]/(f)×g−−→ Am)) = dimK coker(×g) = dimK A[y]/(f, g).

Pour achever la demonstration de cette proposition, il nous reste donc a montrer l’egalite

dimK A[y]/(f, g) =∑

P∈A2 : xP =x0

i(f, g;P ).

Nous savons que l’anneau quotient K[x, y]/(f, g) est artinien. En particulier, tous ses ideaux premierssont maximaux et en nombre fini ; on les note J1 = (x− x1, y − y1), . . . , Jr = (x− xr, y − yr) (rappelonsqu’ils sont en correspondances avec les points de A2 P1 = (x1, y1), . . . , Pr = (xr, yr) qui sont solutionsdu systeme f(x, y) = g(x, y) = 0).

Considerons a present le morphisme canonique d’anneaux

K[x, y]/(f, g)φ−→ A[y]/(f, g) = K[x](x)[y]/(f, g)

induit par le morphisme de localisation K[x]→ A : x→ x/1. Puisque φ est un morphisme d’anneaux, toutideal premier (donc propre) K de A[y]/(f, g) fournit un ideal premier (donc propre) de K[x, y]/(f, g),a savoir l’ideal φ−1(K) = a ∈ K[x, y]/(f, g) tel que φ(a) ∈ K. Cet ideal est donc l’un des ideauxmaximaux Ji, avec i ∈ 1, . . . , r, tel que xi = 0 (car sinon K ne serait pas un ideal propre). Inversement,a tout ideal Ji de K[x, y]/(f, g) tel que xi = 0 on peut associer l’ideal φ(Ji).A[y]/(f, g) = (x/1, y−yi) quiest un ideal premier (on a (f, g) ⊂ Ji = (x, y − yi) ⊂ K[x, y] ce qui donne (A[y]/(f, g))/(x/1, y − yi) 'A[y]/(x/1, y − yi) ' K integre). On a donc la correspondance bijective :

ideaux Ji maximaux de K[x, y]/(f, g) tels que xi = 0 ↔ ideaux premiers de A[y]/(f, g).

Cela montre que les ideaux premiers de A[y]/(f, g) sont maximaux et en nombre fini. Il s’en suit queA[y]/(f, g) est artinien et donc que

A[y]/(f, g) '⊕

p∈Spec(A[y]/(f,g))

A[y]p/(f, g)p '⊕

Ji tel que xi=0

K[x, y]Ji/(f, g)Ji .

Par consequent dimK A[y]/(f, g) =∑Pi∈A2 : xp=0 i(f, g;Pi).

2

Finissons ce paragraphe en donnant quelques proprietes de la multiplicite d’intersection qui decoulent(presque) directement de ce qui precede et des proprietes du resultant :• i(f, g;P ) = 0 si et seulement si P /∈ V (f) ∩ V (g),• i(f, g;P ) ne depend que des composantes de V (f) et de V (g) qui passent par P ,• i(f, g;P ) = i(g, f ;P ),• i(f1f2, g;P ) = i(f1, g;P ) + i(f2, g;P ),• Pour tout polynome h ∈ K[x, y] on a i(f, g;P ) = i(f, g + hf ;P ).

1.3.3 Calcul des points d’intersection par valeurs et vecteurs propres

Dans ce paragraphe, nous montrons comment il est possible de retrouver explicitement les points d’in-tersection de deux courbes algebriques representees par des equations implicites f(x, y) = 0 et g(x, y) = 0a l’aide des representations matricielles du resultant que sont les matrices de Sylvester et de Bezout.

6Soit R un anneau principal, M et N deux R-modules libres de type fini et f un morphisme de M dans N . Le theoremedes facteurs invariants dit qu’il existe alors une base de M et une base de N telles que, dans ces bases, la matrice de f est

de la forme

0BBBBB@d1 0 . . . 0

0 d2 0...

.

.

. 0. . . 0

0 . . . 0 dmin(m,n)

1CCCCCA , eventuellement completee par des lignes ou des colonnes de zeros si les rangs

de M et N different. En outre, on peut supposer que di divise di+1 (rappelons qu’un anneau principal est factoriel). Pourplus de details, voir [Bou81, chapitre VII, §4, numero 6].

17

Journees Nationales de Calcul Formel 2008 page 37

1.3.3.1 Valeurs et vecteurs propres generalises

Definition 1.3.7 Soient A et B deux matrices carrees de taille n×n. Une valeur propre generalisee deA et B est un element de l’ensemble

λ(A,B) := λ ∈ C : det(A− λB) = 0.

Un vecteur x 6= 0 est appele un vecteur propre generalise associe a la valeur propre λ ∈ λ(A,B) siAx = λBx.

Les matrices A et B ont n valeurs propres generalisees si et seulement si rang(B) = n. Si rang(B) < nalors λ(A,B) peut-etre un ensemble fini, vide, ou bien infini. Notons que si 0 6= µ ∈ λ(A,B) alors1/µ ∈ λ(B,A). De plus, si B est inversible alors λ(A,B) = λ(B−1A, I) qui n’est autre que le spectreclassique de la matrice B−1A.

Etant donnee une matrice T (x) de taille n × n dont les entrees sont des polynomes dans l’anneauC[x], nous pouvons lui associer un polynome en la variable x dont les coefficients sont des matrices n×na coefficients dans C : si d = maxi,jdeg(Tij(x)), on obtient T (x) = Tdx

d + Td−1xd−1 + · · ·+ T0, ou Ti

est une matrice n× n a coefficients dans C. Bien sur, cette operation est reversible.

Definition 1.3.8 Avec les notations precedentes et designant par Idn la matrice identite de taille n×n,on appelle matrices compagnons de T (x) les deux matrices A et B definies par

A =

0 Idn · · · 0...

. . . . . ....

0 · · · 0 IdntT0

tT1 · · · tTd−1

, B =

Idn 0 · · · 0

0. . .

...... Idn 00 · · · 0 −tTd

.

Nous avons alors la propriete interessante suivante qui montre que l’on peut remplacer le calcul desvaleurs singulieres de T (x) (c’est-a-dire le calcul des x ∈ C tels que det(T (x)) = 0) et des noyauxcorrespondants par un probleme de calcul de valeurs et vecteurs propres generalises.

Proposition 1.3.9 Avec les notations precedentes, pour tout vecteur v ∈ Cn et tout x ∈ C, on a :

tT (x)v = 0⇔ (A− xB)

vxv...

xd−1v

= 0.

Preuve. En effet, si tT (x)v = 0 alors

A

vxv...

xd−1v

=

xvx2v...

xd−1v(tT0 + · · ·+ tTd−1x

d−1)v

=

xvx2v...

xd−1v−tTdxdv

= xB

vxv...

xd−1v

.

Inversement, si

(A− xB)

vxv...

xd−1v

= 0

alors la derniere ligne montre que tT (x)v = 0. 2

18

Journees Nationales de Calcul Formel 2008 page 38

1.3.3.2 Le resultat principal

On suppose donnes deux polynomes f(x, y) et g(x, y) dans C[x, y] que l’on ecrit sous la formef(x, y) = a0(x)ym + a1(x)ym−1 + · · ·+ am−1(x)y + am(x)g(x, y) = b0(x)yn + b1(x)yn−1 + · · ·+ bn−1(x)y + bn(x)

(1.16)

ou ai(x) ∈ C[x] pour i = 0, . . . ,m et bj(x) ∈ C[x] pour j = 0, . . . , n. Nous supposons en outre que n ≥ 1,m ≥ 1 (dans le cas contraire la resolution du systeme f(x, y) = g(x, y) = 0 se ramene a la resolution d’unpolynome univarie) et que ces deux polynomes sont premiers entre eux, de telle sorte qu’ils definissentun nombre fini de points dans l’espace affine A2 et que le resultant Resm,n(f, g) eliminant la variabley soit non nul (voir corollaire 1.3.4). Nous avons vu que Resm,n(f, g) ∈ C[x] s’annule en x0 ∈ C si etseulement s’il existe un y0 ∈ C tel que f(x0, y0) = g(x0, y0) = 0 ou bien a0(x0) = b0(x0) = 0 (cas ou lasolution se trouve a l’infini). Par consequent, on peut se poser la question suivante :

Etant donne un point x0 tel que Resm,n(f, g)(x0) = 0 et tel que a0(x0) 6= 0 ou bien b0(x0) 6= 0,expliquer comment on peut calculer tous les y0 ∈ C tels que f(x0, y0) = g(x0, y0) = 0, c’est-a-direcomment trouver tous les points d’intersection des deux courbes V (f) et V (g) qui ont x0 pour abscisse ?Rappelons qu’il est possible, comme nous l’avons montre dans la preuve de theoreme de Bezout, de seramener au cas ou a0(x) et b0(x) sont des constantes non nulles par simple changement de coordonneessuffisamment general.

Supposons donc donne un tel point x0. Puisque Resm,n(f, g) ∈ C[x] n’est autre que le determinant dela matrice de Sylvester S(x) := Sm,n(f, g) ∈ Matm+n(C[x]), nous deduisons que la matrice S(x0) (ou l’ona specialise la variable x en x0) est singuliere, c’est-a-dire possede un noyau non nul. Si ker(tS(x0)) est dedimension 1, alors il est aise de montrer qu’il n’y a qu’un seul y0 tel que f(x0, y0) = g(x0, y0) = 0, puisquele vecteur [ym+n−1

0 , · · · , y0, 1] appartient clairement a ker(tS(x0)). De plus, a partir de n’importe quelvecteur v := [vm+n−1, · · · , v1, v0] ∈ ker(tS(x0)), on peut retrouver y0 par la formule v0y0 = v1. Ainsi,dans ce cas, calculer y0 revient a calculer un element non nul dans ker(S(x0)t). Dans ce qui suit, nousallons montrer que cette approche se generalise.

Notations : Partant du systeme (1.16), avec les hypotheses precedentes, on suppose donne un pointx0 ∈ C tel que det(S(x0)) = Resm,n(f, g)(x0) = 0 et a0(x0) 6= 0 (ou bien b0(x0) 6= 0).

Soient Λ1, · · · ,Λd des vecteurs de Cm+n formant une base du noyau de la matrice tS(x0). On noteΛ la matrice de taille d× (m+ n) a coefficients dans C dont la iieme ligne est le vecteur Λi :

Λ :=

Λ1

Λ2

...Λd

=

Λ1,0 Λ1,1 · · · Λ1,m+n−1

Λ2,0 Λ2,1 · · · Λ2,m+n−1

......

...Λd,0 Λd,1 · · · Λd,m+n−1

(ou l’on a pose Λi := [Λi,0,Λi,1, · · · ,Λi,m+n−1] pour tout i = 1, . . . , d). On definit egalement la matrice∆0, resp. ∆1, comme la sous-matrice de taille d× d formee des d dernieres colonnes, resp. des colonnesm+n-d-1,m+n-d,. . . ,m+n-2, de la matrice Λ :

∆0 :=

Λ1,m+n−d Λ1,m+n−d+1 · · · Λ1,m+n−1

Λ2,m+n−d Λ2,m+n−d+1 · · · Λ2,m+n−1

......

...Λd,m+n−d Λd,m+n−d+1 · · · Λd,m+n−1

,

∆1 :=

Λ1,m+n−d−1 Λ1,m+n−d · · · Λ1,m+n−2

Λ2,m+n−d−1 Λ2,m+n−d · · · Λ2,m+n−2

......

...Λd,m+n−d−1 Λd,m+n−d · · · Λd,m+n−2

.

Il faut noter que les matrices ∆0 et ∆1 sont bien toujours definies, c’est-a-dire que la matrice Λ atoujours au moins d+1 colonnes. Cela provient du fait que nous avons suppose que les polynomes f et gdependent tous les deux de la variable y ; m+n, le nombre de ligne de la matrice S(x0), est alors toujoursstrictement plus grand que le max(m,n) ≥ deg(gcd(f(x0, y), f(x0, y))) = dimC ker(tS(x0)) (voir exercice1.1.1 pour cette derniere egalite).

19

Journees Nationales de Calcul Formel 2008 page 39

Proposition 1.3.10 Avec les notations precedentes, λ(∆1,∆0) est l’ensemble de toutes les racines dansC du systeme f(x0, y) = g(x0, y) = 0, c’est-a-dire l’ensemble des ordonnees des points d’intersection descourbes V (f) et V (g) d’abscisse x0.

Preuve. On commence par rappeler que la matrice de l’application

φx0 : C[y]<n × C[y]<m → C[y]<m+n : (u, v) 7→ uf + vg

dans les bases monomiales canoniques est S(x0) := Sm,n(f, g)(x0). Considerons a present le polynome

h(y) := pgcd(f(x0, y), g(x0, y)).

C’est un polynome unitaire de C[y] dont le degre est egale a la dimension du noyau de S(x0) (voirexercice 1.1.1). On a donc deg(h(y)) = dimC(ker(tS(x0)) = d, ou d est le nombre de lignes de la matriceΛ introduite precedemment.

Considerons l’application

ψx0 : C[y]<m+n → C[y]<d : p(y) 7→ r(y),

ou r(y) est le reste de la division euclidienne de p(y) par h(y) : p(y) = q(y)h(y) + r(y). Sa matrice ∆, detaille d× (m+ n), dans les bases monomiales canoniques ym+n−1, . . . , y, 1 et yd−1, . . . , y, 1 est de laforme

∆ :=

1 0

?. . .

0 1

ou la bloc de droite est la matrice identite de taille d×d. Puisque l’on verifie sans peine que ψx0 φx0 = 0,on en deduit que les lignes de ∆ sont d vecteurs de Cm+n qui forment une base de ker(tS(x0)). De plus,si l’on note My la matrice, dans la base monomiale canonique yd−1, . . . , y, 1, de multiplication par ydans l’anneau quotient C[y]/(h(y)) ' C[y]<d, on s’apercoit que la multiplication a gauche par My d’unecolonne de ∆ fournit la colonne voisine a gauche, si cette derniere existe. En effet, il est immediat deconstater que pour tout i = 0, . . . ,m + n − 2 on a ψx0(y

i+1) = ψx0(y ψx0(yi)), propriete elementaire

de la division euclidienne (qui est meme vraie plus generalement pour un produit de deux polynomesquelconques), et que par consequent l’on a ψx0(y

i+1) = Myψx0(yi). Ainsi, definissant les matrices ∆0 et

∆1 a partir de la matrice Λ := ∆, on obtient ∆1 = My∆0 = My (puisque ∆0 est la matrice identite) et leselements de λ(∆1,∆0) sont les valeurs propres de My, c’est-a-dire toutes les racines du polynome h(y),donc toutes les solutions du systeme f(x0, y) = g(x0, y) = 0. L’enonce general de la proposition s’obtientalors par un simple changement de base. 2

Utilisation de la matrice de Bezout : Dans ce resultat, nous avons utilise la matrice de Sylvesterpour “representer” le resultant de f et de g en la variable y. Cependant, il est possible de remplacercette matrice par la matrice de Bezout (noter qu’il faut alors considerer f et g comme des polynomesen y de degre le plus grand des degres de f et de g en y) qui possede toutes les proprietes requisesexceptees une : cette matrice etant plus petite que la matrice de Sylvester, les matrices ∆0 et ∆1 ne sontpas toujours bien definies (alors qu’elles le sont avec la matrice de Sylvester, comme nous l’avons dejaremarque plus haut). Plus precisemment, pour pouvoir utiliser la matrice de Bezout nous avons besoinde verifier l’inegalite

max(deg(f(x0, y),deg(g(x0, y)) > deg(gcd(f(x0, y), g(x0, y)).

L’exemple suivant, ou l’on prend x0 = −1, montre qu’elle ne l’est pas toujours :p(x, y) = x2y2 − 2y2 + xy − y + x+ 1q(x, y) = y + xy

20

Journees Nationales de Calcul Formel 2008 page 40

1.3.3.3 L’algorithme

Nous avons maintenant reuni tous les ingredients pour enoncer un algorithme de resolution d’unsysteme de la forme f(x, y) = g(x, y) = 0 base sur les resultants. La matrice de Bezout donne, enpratique, un algorithme plus rapide du fait qu’elle est plus compacte que la matrice de Sylvester (bienque son calcul prenne plus de temps) ; nous l’avons donc incorporee a l’algorithme. Utilisant la proposition1.3.9, nous avons remplace le calcul du resultant, de ses zeros et des noyaux des matrices tS(x0) parle calcul de valeurs et vecteurs propres generalises des matrices compagnons associees. Ce calcul peuts’effectuer a l’aide d’un algorithme bien connu d’algebre lineaire dit “QZ” (voir par exemple [GVL96]).

Algorithme pour l’intersection de deux courbes algebriques planes :Input : Deux polynomes f(x, y) et g(x, y) dans C[x, y] premiers entre eux, dependants tous les deux dela variable y et sans solution commune a l’infini.Output : Tous les points d’intersection des courbes V (f) et V (g) dans A2, ainsi que la somme desmultiplicites par abscisse.

1. Former la matrice de Bezout B(x) de f et g.

2. Former les matrices compagnons A et B associes (voir proposition 1.3.9).

3. Calculer les valeurs et vecteurs propres generalises de (A,B). Les valeurs propres fournissent lesabscisses des points d’intersection des courbes V (f) de V (g) (ce sont les points notes x0 plushaut), et leur multiplicite donne la somme des multiplicite d’intersection des points d’intersectionayant meme abscisse (voir la proposition 1.3.6). Les espaces propres fournissent des bases pourker(B(x0)), bases notees Λ dans la proposition 1.3.10 ; leur dimension donne le degre du pgcd def(x0, y) et g(x0, y).

4. Pour chaque point x0,

(a) si le nombre de vecteurs propres associes est au moins max(deg(f(x0, y)),deg(g(x0, y))), quiest la taille de la matrice B(x0), alors calculer ∆0 et ∆1 en utilisant une base de ker(S(x0)t),

(b) sinon, calculer ∆0 et ∆1 en utilisant les vecteurs propres associes a la valeur propre x0.

5. Calculer les valeurs propres de (∆1,∆0) qui fournissent les ordonnees des points d’intersectionayant pour abscisse x0 (voir la proposition 1.3.10).

1.4 Implicitation et inversion d’une courbe algebrique plane ra-tionnelle

1.4.1 Degre d’une courbe.

Soit C une courbe algebrique de A2K. On peut lui associer l’ideal IC de K[x, y] constitue des polynomes

P (x, y) qui s’annulent sur C. Rappelons que la courbe C est irreductible si et seulement si l’ideal IC estpremier.

Lemme 1.4.1 Soit C une courbe algebrique de A2K, alors l’ideal IC est un ideal principal de K[x, y].

Preuve. En operant une decomposition en composante irreductible sur C, on se ramene a montrercette propriete lorsque C est une courbe irreductible, c’est-a-dire lorsque IC est un ideal premier. SiIC = (g1, g2, . . .) alors, par primalite, on peut supposer que g1 est premier. Et puisque (g1) ⊂ IC , ils’en suit que C ⊂ V (g1) ou V (g1) est une courbe irreductible (car g1 est premier), tout comme C ; ainsiC = V (g1) et IC = (g1). 2

Definition 1.4.2 Un generateur de IC est appele une equation implicite de la courbe C, et son degre(qui est independant de son choix) le degre de la courbe C que l’on note deg(C).

Proposition 1.4.3 Soit K un corps algebriquement clos et supposons donnees une courbe algebrique Cde P2

K et une droite H de P2 non contenue dans C. Alors C et H se rencontrent en deg(C) points, comptesavec multiplicite.

21

Journees Nationales de Calcul Formel 2008 page 41

Preuve. C’est un corollaire du theoreme de Bezout puisque deg(H) = 1 et que deg(C).1 = deg(C). 2

Il faut noter que cette proposition est souvent utilisee pour donner une definition geometrique dudegre d’une courbe, et meme d’une variete algebrique : on intersecte la variete avec un espace lineairede dimension complementaire de telle sorte que le resultat de cette intersection soit un nombre fini depoints ; le degre est alors defini comme ce nombre de points (comptes avec multiplicite).

1.4.2 Courbes planes rationnelles

Ci-apres, K designe un corps.

Definition 1.4.4 On dit qu’une courbe C de A2 (resp. P2) est rationnelle si elle admet une para-metrisation par une application rationnelle de A1 → A2 (resp. P1 → P2).

Ainsi, une courbe C de A2 est rationnelle s’il existe deux fractions rationnelles p, q ∈ K(t), non toutesles deux constantes, telles que l’image de l’application

φ : A1 → A2 : t 7→ (p(t), q(t)) (1.17)

soit dense (pour la topologie de Zariski) dans cette courbe (qui est alors l’adherence de cette image) ;autrement dit, C est la plus petite courbe algebrique contenant l’image ensembliste de φ. Cette imagedecrit donc, en general, toute la courbe excepte un nombre fini de points. Ce phenomene provient du faitqu’il existe des valeurs du parametre t pour lesquelles p(t) ou bien q(t) n’est pas defini.

On peut homogeneiser cette parametrisation. Ainsi, une courbe C de P2 est rationnelle s’il existe troispolynomes homogenes de meme degre P,Q,R ∈ K[t, u], non tous les trois associes, telles que l’image del’application

φ : P1 → P2 : (t : u) 7→ (P (t, u) : Q(t, u) : R(t, u))

decrive la courbe, excepte peut-etre en un nombre fini de points. (qui correspondent aux valeurs duparametre V (P,Q,R) ⊂ P1).

Lemme 1.4.5 Une courbe rationnelle est irreductible.

Preuve. Soit C une courbe rationnelle parametree par (1.17). Considerant le morphisme d’anneaux

ψ : K[x, y]→ K(t) : f(x, y) 7→ f(p(t), q(t))

on deduit une injection K[x, y]/(ker(ψ)) → K(t) qui montre que ker(ψ) est un ideal premier puisqueK(t) est integre. Ainsi, V (ker(ψ)) est irreductible. Or, l’image de φ est contenue dans V (ker(ψ)) et C estl’adherence de cette image, c’est-a-dire le plus petit ferme que l’a contient. Il s’en suit que C = V (ker(ψ)).2

IL est bien connu que toutes les courbes algebriques planes, meme irreductibles, ne sont pas forcementrationnelles. En fait, les courbes rationnelles sont les courbes dont le nombre de points singuliers, comptesavec leur multiplicite respective, est maximum ; autrement dit les courbes de “genre geometrique” nul.

1.4.3 Degre d’une parametrisation

Commencons par un rappeler le resultat suivant. Soit K un corps et X une indeterminee. Pardefinition, pour tout η ∈ K(X) il existe deux polynomes f, g ∈ K[X], avec g 6= 0 et pgcd(f, g) = 1,tels que η = f(X)/g(X) ∈ K(X). On definit alors le degre de η par

deg(η) := max(deg(f),deg(g))

Proposition 1.4.6 Soit η ∈ K(X) \K. Alors,(i) K(X) est une extension algebrique sur K(η),(ii) η est transcendant sur K,(iii) deg(η) = [K(X) : K(η)].

22

Journees Nationales de Calcul Formel 2008 page 42

Supposons a present donnee une courbe rationnelle C parametree par

φ : A1K → A2

K : t 7→ (p(t), q(t)) (1.18)

ou K est un corps et p(t), q(t) deux fractions rationnelles de K(t), non toutes les deux constantes (c’est-a-dire dont l’image n’est pas reduite a un point).

Definition 1.4.7 Avec les notations precedentes, on appelle degre de la parametrisation φ l’entier

deg(φ) := [K(t) : K(p(t), q(t))].

Noter que d’apres ce qui precede, K(t) est bien une extension algebrique sur K(p(t), q(t)), donc quedeg(φ) est bien defini. On montre que si K est algebriquement clos, ce degre est le nombre de pointsdistincts dans une fibre generique de la co-restriction de φ a la courbe C, autrement dit le nombred’antecedents d’un point generique pris sur la courbe C, autrement dit le nombre de points dans unefibre generique de φ|C : A1

Kφ−→ C ⊂ A2

K.Precisons que l’egalite deg(φ) = 1 n’implique pas que φ est une application injective, mais seulement

generiquement injective, comme on peut le voir sur la parametrisation

C 7→ C2 : t 7→ (t2 − 1, t(t2 − 1))

de la courbe V (Y 2−X2(X+1)). En effet, on verifie aisement que φ n’est injective que sur C\−1,+1 ;les parametres −1 et +1 etant tous les deux envoyes sur l’origine (0, 0).

1.4.4 Reparametrisation propre d’une courbe rationnelle

Soit η = f(X)/g(X) ∈ K(X) tel que K ( K(η) ⊂ K(X), ou f et g sont des polynomes premiersentre eux dans K[X] avec g 6= 0. Nous avons vu que K(X) est une extension algebrique sur K(η), qui estelle-meme transcendante sur K. De plus, deg(η) = [K(X) : K(η)] qui ne depend donc que de K(η) et deK(X) ; par consequent on en deduit que

K(X) = K(η)⇔ deg(η) = 1.

En d’autres termes, les K-automorphismes de K(X) sont les homographies X 7→ aX+bcX+d , ou ad− bc 6= 0.

Theoreme 1.4.8 (Luroth) Soit L un corps tel que K ( L ⊆ K(X). Alors il existe η ∈ K(X) \ K telque L = K(η).

Un corollaire immediat du theoreme de Luroth est que toute courbe rationnelle admet une pa-rametrisation propre (ou birationnelle), c’est-a-dire une parametrisation de degre 1. En effet, d’apresLuroth, il existe η(t) ∈ K(t) tel que K(η(t)) = K(p(t), q(t)), et donc p(t) = p(η(t)) et q(t) = q(η(t)) oup(t) et q(t) sont des fractions rationnelles de K(t). On a donc un diagramme commutatif

A1K

φ=(p(t),q(t)) //

η(t)

A2K

A1K

φ=(p(t),q(t))

88qqqqqqqqqqqqq

ou l’on montre que deg(φ) = 1 puisque

deg(φ) = [K(t) : K(p, q)] = [K(t) : K(η)][K(η) : K(p, q)]= [K(t) : K(η)][K(t) : K(p, q)]

= deg(η) deg(φ) = deg(φ) deg(φ).

23

Journees Nationales de Calcul Formel 2008 page 43

1.4.5 Implicitation d’une courbe rationnelle

On suppose donnee une courbe rationnelle (donc irreductible) C representee par une parametrisation,comme dans (1.17),

φ : A1K → A2

K : t 7→ (p(t), q(t))

ou K est un corps et p, q sont deux fractions rationnelles de K(t) non toutes les deux constantes (sinon φdecrit un point et non une courbe). En outre, on note p(t) = p1(t)/p2(t),m := deg(p) et q(t) = q1(t)/q2(t),n = deg(q) ou p1, p2, q1, q2 sont des polynomes de K[t] tels que p2 6= 0, q2 6= 0 et pgcd(p1, p2) =pgcd(q1, q2) = 1. Rappelons que l’ideal IC n’est autre que le noyau de l’application (voir le lemme 1.4.5)

ψ : K[x, y]→ K(t) : f(x, y) 7→ f(p(t), q(t)).

Theoreme 1.4.9 Avec les notations precedentes, on a l’egalite entre ideaux de K[x, y]

Ideg(φ)C = (Resm,n(p1(t)− xp2(t), q1(t)− yq2(t))).

En d’autres termes, ce resultant fournit une equation implicite de C elevee a la puissance deg(φ).

Preuve. Pour simplifier les notations, on pose

f(t) := p1(t)− xp2(t) et g(t) := q1(t)− yq2(t).Ce sont des polynomes en la variable t, de degre m et n respectivement, a coefficients dans K[x, y].

Nous supposons tout d’abord que deg(φ) = 1, c’est-a-dire que la parametrisation φ est birationnellede A1

K sur C, et on veut montrer que IC = (Resm,n(f, g)). D’apres la proposition 1.1.3, ce dernier resultantappartient a l’ideal (f, g). Or, f et g sont clairement dans le noyau de ψ si l’on etend cette application aK[x, y, t] (ou l’on envoit t sur t). On a donc l’inclusion (Resm,n(f, g)) ⊂ IC . Remarquons egalement quef(t) et g(t) sont premiers entre eux dans K(x, y)[t] (on le voit dans K[x, y][t] puis on invoque le lemmede Gauss), ce qui montre que Resm,n(f, g) 6= 0 dans K[x, y] d’apres la proposition 1.1.4. Pour montrerl’autre inclusion, c’est-a-dire IC ⊂ (Resm,n(f, g)), on va s’interesser au degre de ce resultant. Rappelonsque tout generateur de IC est de degre deg(C) par la definition 1.4.2.

Plongeons-nous dans la cloture algebrique de K (qui est un corps infini), ce qui ne change pas deg(C).L’intersection de C et de la droite a l’infini etant fini et les points singuliers de C etant egalement ennombre fini, on deduit de la proposition 1.4.3 que toute droite, d’equation ax+ by+ c = 0, suffisammentgenerique coupe la courbe C en deg(C) points simples (il s’agit de choisir a, b, c de telle sorte que la droiteax+ by + c = 0 evite les points singuliers et a l’infini de C) appartenant a l’image de φ et n’ayant qu’unseul antecedent (la encore, il faut eviter un nombre fini de points de C). L’intersection entre C et cettedroite correspond, dans l’espace des parametres, a l’equation polynomiale

ap1(t)q2(t) + bq1(t)p2(t) + cp2(t)q2(t)pgcd(p2(t), q2(t))

= 0 (1.19)

qui est donc de degre d := deg(C).Notant r(t) := pgcd(p2(t), q2(t)), la multiplicativite 1.2.3 du resultant montre que

Resd,d(q2(t)r(t)

f(t),p2(t)r(t)

g(t)) = Res(q2(t)r(t)

,p2(t)r(t)

)Res(q2(t)r(t)

, g(t))Res(f(t),p2(t)r(t)

)Resm,n(f(t), g(t))

(on laisse le soin au lecteur de completer les degres manquant en indice), c’est-a-dire que

Resd,d(q2(t)r(t)

f(t),p2(t)r(t)

g(t)) = cResm,n(f(t), g(t))

ou c ∈ K \ 0 (les trois autres resultants de la formule precedente sont des constantes non nulles dansK ; le verifier en exercice). Or, il est immediat de remarquer que ce dernier resultant est un polynomedans K[x, y] de degre au plus d = deg(C) en regardant sa matrice de Sylvester associee puisque x et yont le meme coefficient : p2(t)q2(t)/r(t) (c’est une consequence directe de la multilinearite du resultant).Mais nous avons vu que Resm,n(f, g) ∈ IC et qu’il est non nul ; il s’en suit Resm,n(f, g) est de degred = deg(C) et que c’est un generateur de IC .

24

Journees Nationales de Calcul Formel 2008 page 44

Il nous reste a examiner le cas ou deg(φ) est quelconque. Pour cela, nous allons reparametrer notrecourbe rationnelle. Comme decrit en 1.4.4, nous pouvons trouver des fractions rationnelles η(t), p(t) etq(t) telles que p(t) = p(η(t)), q(t) = q(η(t)) et

φ : A1K → A2

K : t 7→ (p(t), q(t)),

soit une parametrisation de C de degre 1. De ce que nous venons de voir, nous deduisons, avec desnotations evidentes, que

IC =(Res m

deg(φ) ,n

deg(φ)(p1(t)− xp2(t), q1(t)− xq2(t))

)∈ K[x, y].

Or la formule de changement de base 1.2.6 pour le resultant montre que

Resm.n(f, g) = Resm,n(p1(η(t))− xp2(η(t)), q1(η(t))− yq2(η(t)))) (1.20)

= c′ Res mdeg(φ) ,

ndeg(φ)

(p1(t)− xp2(t), q1(t)− xq2(t))deg(φ) ∈ K[x, y] (1.21)

ou c′ ∈ K \ 0, ce qui acheve la preuve de ce theoreme. 2

Un corollaire de cette preuve est qu’il est possible de prevoir le degre de C a partir de sa pa-rametrisation (c’est l’entier d dans la preuve ci-dessus). Pour enoncer ce resultat de maniere simpleet confortable, il faut se placer dans le contexte projectif. On suppose donc donnee une courbe projectiveirreductible C parametree par

φ : P1K → P2

K : (s : t) 7→ (p(s, t) : q(s, t) : r(s, t)),

ou K est un corps et p, q, r(s, t) des polynomes homogenes dans K[s, t] de meme degre (forcement) D ≥ 1.Comme nous l’avons deja montre dans le lemme 1.4.5, l’ideal homogene et premier IC est alors le noyaude l’application

ψ : K[x, y, z]→ K[s, t] : f(x, y, z) 7→ f(p(s, t), q(s, t), r(s, t)).

Ainsi, on a un isomorphisme gradue IC ' K[x, y, z](−deg(C)) qui est donne par une equation implicitede la courbe C.Proposition 1.4.10 Avec les notations precedentes, D − deg(pgcd(p, q, r)) = deg(φ) deg(C).Preuve. C’est une consequence de la preuve du theoreme 1.4.9 qui s’obtient a l’aide de l’equation poly-nomiale (1.19) dont on sait qu’elle est de degre deg(φ) deg(C). 2

Intersection de deux courbes dont une est rationnelle. Les courbes utilisees en CAO (Conceptionassistee par ordinateur) sont souvent des courbes rationnelles representees par des parametrisations.Prenons par exemple deux telles courbes

φ1 : A1K → A2

K : t 7→ (p(t), q(t)),

φ2 : A1K → A2

K : s 7→ (u(s), v(s)).

Ces deux courbes sont bien souvent utilisees pour decrire le bord de certains objets (Boundary Repre-sentation) et il est indispensable de savoir “calculer l’intersection” entre deux objets, c’est-a-dire decrirel’intersection de deux courbes parametrees.

Pour resoudre ce probleme, on peut ecrire un systeme polynomial en les variables s et t puis leresoudre. Mais le paragraphe precedent nous montre que l’on peut faire mieux : si l’on calcul une equationimplicite, disons de la courbe parametree par φ1, et que l’on substitue la parametrisation de φ2 dans cetteequation, on obtient alors une equation en une seule variable, ici s, dont les solutions correspondent a desvaleurs du parametre de la deuxieme courbe dont l’image est un point d’intersection des deux courbes.Il faut egalement noter que puisqu’une equation implicite peut-etre obtenue par un calcul de resultant,elle peut-etre decrite comme le determinant d’une matrice (generalement de Sylvester ou de Bezout) aentrees dans K[x, y]. Si l’on substitue alors la parametrisation de la deuxieme courbe dans cette matrice(et non pas dans son determinant), on ramene le probleme de resolution d’un polynome univarie a unprobleme de valeurs propres, comme nous l’avons brievement decrit au paragraphe 1.3.3.3 ; c’est un desavantages indeniables des resultants comme outil pour l’elimination.

25

Journees Nationales de Calcul Formel 2008 page 45

1.4.6 Inversion d’une courbe rationnelle

Dans ce paragraphe, etant donnee une courbe rationnelle representee par une parametrisation (1.17),nous nous interessons aux deux problemes suivants :

– Tester si la parametrisaton est birationnelle, i.e. de degre 1,– Si deg(φ) = 1, calculer un inverse de φ, c’est-a-dire une application rationnelle

ρ : A2K → A1

K : (x, y) 7→ ρ(x, y)

telle que ρ φ(t) = t pour tout t ∈ A1K, excepte peut-etre pour un nombre fini de valeurs de t.

Supposons donnee une courbe rationnelle C parametree par (1.17)

φ : A1K → A2

K : t 7→(p(t) =

p1(t)p2(t)

,q1(t)q2(t)

),

ou pgcd(p1, p2) = pgcd(q1, q2) = 1. On suppose en outre que C n’est pas une droite (auquel cas le testde birationnalite et l’inversion sont triviaux), ce qui entraıne que les entiers m := deg(p) et n := deg(q)sont tous les deux plus grands que 1. Nous avons vu dans ce qui precede que

Resm,n(p1(t)− xp2(t), q1(t)− yq2(t)) = C(x, y)deg(φ)

ou C(x, y) est une equation implicite de la courbe C. De plus, nous savons que la matrice de Sylvesterassociee a ce resultant verifie (voir (1.2))

tSm,n(p1(t)− xp2(t), q1(t)− yq2(t))

tm+n−1

tm+n−2

...t1

=

tn−1(p1(t)− xp2(t))...

t(p1(t)− xp2(t))p1(t)− xp2(t)

tm−1(q1(t)− yq2(t))...

t(q1(t)− yq2(t))q1(t)− yq2(t)

. (1.22)

Dans ce qui suit, nous noterons parM la sous-matrice de la matrice de Sylvester Sm,n(p1(t)−xp2(t), q1(t)−yq2(t)) obtenue en effacant sa derniere colonne. Pour i = 1, . . . ,m + n, on note egalement ∆i ledeterminant signe de M obtenu en effacant la iieme ligne. Ainsi,

Resm,n(p1(t)− xp2(t), q1(t)− yq2(t)) =m+n∑i=1

ci∆i, (1.23)

ou les ci ∈ K[y] sont les entrees de la derniere colonne de la matrice de Sylvester (celle que l’on a effaceepour definir M), i.e. q1(t)− yq2(t) =

∑m+n−1i=0 cit

m+n−1−i.

Proposition 1.4.11 Avec les notations precedentes, on a

deg(φ) = 1⇔ pgcd(∆1, . . . ,∆m+n) ∈ K \ 0.

De plus, si deg(φ) = 1 alors pour tout i = 1, . . . ,m+ n− 1 l’application rationnelle

A2K → A1

K : (x, y) 7→ ∆i

∆i+1

est une inversion de φ.

Preuve. Supposons que deg(φ) = 1. Alors (1.23) montre que pgcd(∆1, . . . ,∆m+n) ne peut etre qu’uneconstante non nulle car le resultant y est irreductible et au moins un des ci depend de y.

26

Journees Nationales de Calcul Formel 2008 page 46

Supposons maintenant que pgcd(∆1, · · · ,∆m+n) ∈ K \ 0. On en deduit qu’il existe un entieri ∈ 1, · · · ,m+ n tel que ∆i 6= 0 dans K[x, y] et surtout tel que ∆i ne s’annule pas identiquement surC, i.e ∆i /∈ IC . Rappelons que l’ideal premier IC associe a la courbe C est le noyau de l’application

ψ : K[x, y]→ K(t) : f(x, y) 7→ f(p(t), q(t))

et que montrer que deg(φ) = 1 revient a montrer queK(p(t), q(t)) = K(t), c’est-a-dire que t ∈ K(p(t), q(t)).En fait, il s’agit de voir que l’application injective entre corps

ψ : Frac(K[x, y]/IC) → K(t) : f(x, y)/g(x, y) 7→ f(p(t), q(t))/g(p(t), q(t)),

dont l’image est K(p(t), q(t)), est surjective (noter que deg(φ) = [K(t) : Frac(K[x, y]/IC)]). Pour lemontrer, il faut tout d’abord observer que la matrice M ⊗K[x,y] Frac(K[x, y]/IC), c’est-a-dire la matriceM vue comme matrice a coefficients dans Frac(K[x, y]/IC), est de rang m+ n− 1 puisque que l’on a un∆i /∈ IC , et donc tM a un noyau de rang 1 qui est engendre par le vecteur colonne non nul

t(∆1, . . . ,∆m+n−1,∆m+n).

Mais alors, ψ(tM) est une matrice (a coefficients dans K(t)) de rang m+ n− 1 (puisque ψ est injective)dont on voit, grace a (1.22), que le noyau est engendre par le vecteur colonne

t(tm+n−1, . . . , t, 1).

On en deduit donc que

(ψ(∆1), . . . , ψ(∆m+n)) = ψ ((∆1, . . . ,∆m+n−1,∆m+n)) = r(t)(tm+n−1, . . . , t, 1),

ou r(t) ∈ K(t) \ 0, et donc que

ψ(∆1)ψ(∆2)

=ψ(∆2)ψ(∆3)

= · · · = ψ(∆m+n−1)ψ(∆m+n)

= t ∈ K(t).

Il s’en suit que ψ est bien surjective (puisque ψ( ∆i

∆i+1) = ψ(∆i)

ψ(∆i+1)) et que les applications rationnelles,

pour i = 1, . . . ,m+ n− 1,A2 → A1 : (x, y) 7→ ∆i/∆i+1

donnent des inverses de la parametrisation φ de la courbe C. 2

Noter qu’il est tout a fait possible de transposer ces deux dernieres propositions au cas ou l’onsubstitue la matrice de Bezout a la matrice de Sylvester comme representation matricielle du resultant.

Exemple 1.4.1 On considere l’exemple tres simple du cercle unite que l’on parametre classiquement par

φ : A1K → A2

K : t 7→(

2t1 + t2

,1− t21 + t2

).

La matrice de Sylvester associee est donc

S2,2(2t− x(1 + t2), 1− t2 − y(1 + t2)) =

−x 0 −1− y 0

2 −x 0 −1− y−x 2 1− y 0

0 −x 0 1− y

.

A ce stade, on peut utiliser le theoreme 1.4.9 : le determinant de cette matrice de Sylvester vaut 4(x2 +y2 − 1), ce qui montre que φ est de degre 1 et qu’une equation implicite du cercle est, comme attendu,x2 + y2 − 1 = 0.

27

Journees Nationales de Calcul Formel 2008 page 47

Afin d’illustrer la proposition 1.4.11, introduisons a present la matrice

M =

−x 0 −1− y2 −x 0

−x 2 1− y0 −x 0

.

Ses mineurs maximaux sont

∆1 = 2x(y − 1), ∆2 = −2x2, ∆3 = −2x(y + 1), ∆4 = 2x2 − 4(y + 1).

Le pgcd de ces quatres determinants vaut 2, donc φ est propre des que 2 6= 0 dans K (noter que si 2 = 0dans K, alors φ ne decrit pas une courbe, mais un point, le point (0, 1)), et l’on verifie alors que

∆1

∆2=

∆2

∆3=

∆3

∆4∈ Frac(K[x, y]/IC),

par exemple∆1

∆2− ∆2

∆3=

2x(y − 1)−2x2

− −2x2

−2x(y + 1)= −x

2 + y2 − 1x(y + 1)

= 0,

et que l’on a les formules d’inversion

ψ(∆1)ψ(∆2)

=ψ(∆2)ψ(∆3)

=ψ(∆3)ψ(∆4)

= t ∈ K(t),

par exemple,ψ(∆1)ψ(∆2)

= ψ

(1− yx

)=(

1 + t2

2t

)(1− 1− t2

1 + t2

)= t.

1.5 Et l’implicitation d’une surface rationnelle ?

Supposons donnee une surface rationnelle parametree par

φ : A2K → A3

K : (s, t) 7→(p1(s, t)p2(s, t)

,q1(s, t)q2(s, t)

,r1(s, t)r2(s, t)

)Notons X,Y, Z les coordonnees dans A3

K. Impliciter cette surface rationnelle revient a eliminer les va-riables s et t du systeme algebriques Xp2(s, t)− p1(s, t) = 0

Y q2(s, t)− q1(s, t) = 0Zr2(s, t)− r1(s, t) = 0

La tentation est donc grande d’eliminer tout d’abord une variable, disons t, en calculant deux resultantsde deux equations, par exemple :

R1 := Rest(Xp2(s, t)− p1(s, t), Y q2(s, t)− q1(s, t)) ∈ K[X,Y, s] (1.24)R2 := Rest(Xp2(s, t)− p1(s, t), Zr2(s, t)− r1(s, t)) ∈ K[X,Z, s] (1.25)

puis finalement d’eliminer s dans ces deux equations R1 et R2. Notons H(X,Y, Z) ∈ K[X,Y, Z] leresultat de ce processus. On montre alors facilement que l’equation implicite est un facteur irreductiblede H. Et malheureusement, on se convainc tres vite a l’aide d’un raisonnement geometrique que H n’estgeneralement par une l’equation implicite recherchee.

Exemple 1.5.1 Considerons la parametrisation suivante :

φ : A2K → A3

K : (s, t) 7→ (1− 2s2 − st− 3s− 3t2 − t,−2 + s2 − 2st− 2s− 2t2 − t,−3 + 3st− 2s− 3t2 + t

)28

Journees Nationales de Calcul Formel 2008 page 48

On trouve alors

R1 = 61− 15s− 31X + 47Y − 117s2− 12XY + 4X2− 5sY + 36Xs2− 46Y s2 + 9Y 2 + 6Xs+ 69s4 + 33s3

puis

R2 = 156− 18s− 66X + 78Z + 3s2 + 9X2 + 72Xs2 + 48Xs+ 108s4 + 228s3 + 9Z2 − 24Zs2 − 18XZ

Ensuite, le calcul du resultant de R1 et R2 eliminant s donne 243× P ×Q ou

P = (41099+232192X−416669Y+506391Z+309919XY−126913X2−87283Y 2+198609Z2−162444XZ

+ 2496ZXY + 3249ZX2 + 25389ZY + 26955Z3 + 243X4 + 1587Z4 + 3888Y 4 + 15957X3 + 13104Y 3

− 55152X2Y + 39996XY 2 + 23920Z2Y − 50385XZ2 + 1458X2Z2 + 1620X3Z − 1944X2Y 2 − 4140Z3X

+ 4968Z2Y 2 − 6480XZY 2 + 4452ZY 2)

et

Q = (−33294794X − 5118385Y + 49487931Z + 7821955XY + 4867599X2 − 7608105Y 2 + 14309649Z2

+ 2682720Z2XY − 24208020XZ + 3700848ZXY + 3047661ZX2 + 3758145ZY + 3096063Z3 + 169X4

+ 385641Z4 + 944784Y 4 − 1195104X2ZY − 527X3 − 3593808Y 3 − 2066440X2Y + 513036XY 2

− 4599720Z2Y − 6109533XZ2 + 672246X2Z2 − 21060X3Z + 18720X3Y + 543672X2Y 2 − 1006020Z3X

+2426040Z2Y 2−1371168Z3Y+1399680XY 3−2146176Y 3Z−3164400XZY 2+6324372ZY 2+57646951)

On peut alors verifier que P est une equation implicite pour notre surface parametree.

Cette situation pose donc deux problemes : comment calculer directement l’equation implicite decette surface parametree ? Enfin, quel est ce facteur ”parasite”, peut-on le calculer ?

29

Journees Nationales de Calcul Formel 2008 page 49

30

Journees Nationales de Calcul Formel 2008 page 50

Chapitre 2Le resultant multivarie

Cette partie est consacree a l’etude du resultant dit de Macaulay qui permet d’eliminer n variablesde n equations homogenes en ces variables. Apres avoir rappele le celebre theoreme de l’elimination,l’existence de ce resultant est montree a l’aide des formes d’inerties. Cette approche du resultant permeta la fois d’obtenir des preuves relativement elementaires, mais egalement de fournir des outils essentielspour son calcul ou sa representation. On termine par un bref rappel de la formule de Poisson et quelques-unes de ces applications.

2.1 Theoreme de l’elimination

Le theoreme de l’elimination est un resultat assez ancien qui est devenu un resultat elementaire de latheorie des schemas (voir par exemple [Har77, chapter II, theorem 4.9]). Des enonces et des preuves plusstandards se trouvent dans de nombreux livres de geometrie algebrique classique, par exemple [Har92].Pour ce qui nous concerne, nous enoncerons ce theoreme dans un cadre algebrique, cadre qui est le plusadapte au calcul. Pour cela, nous nous inspirerons fortement de [CT78] (voir aussi [Bou69]).

Rappelons qu’un anneau R est dit gradue (plus precisemment N-gradue) s’il peut etre decompose,comme groupe abelien, en une somme directe

R := R0 ⊕R1 ⊕ · · · ⊕Rn ⊕ · · ·et si on a, pour tout couple (m,n) d’entiers, la relation RnRm ⊂ Rn+m. Le groupe Ri est alors appelela partie homogene de degre i de R.

Un ideal I d’un anneau gradue R est dit gradue s’il peut etre engendre par des elements homogenes(i.e. des elements appartenant a des parties homomgenes de R) ou bien, de maniere equivalente, si l’ona l’egalite I = ⊕i∈NI ∩Ri.

2.1.1 Zeros d’un ideal

SoitA un anneau, n un entier strictement positif et I un ideal de l’anneau des polynomesA[X1, . . . , Xn].Si B est un anneau et h : A→ B un morphisme d’anneaux, pour tout P ∈ A[X1, . . . , Xn] nous noteronshP l’element de B[X1, . . . , Xn] image de P par l’extension canonique de h aux anneaux de polynomes.

Un element b = (b1, . . . , bn) ∈ Bn sera appele un zero de I dans Bn si hP (b1, . . . , bn) = 0 pourtout P ∈ I. Aussi, si l’ideal I est engendre par les polynomes P1, . . . , Pr on parle egalement d’un zerocommun aux polynomes P1, . . . , Pr dans Bn. Si I est un ideal gradue et si h(I ∩ A) = 0, il est clair que(0, . . . , 0) ∈ Bn est un zero de I ; on l’appelle le zero trivial.

Theoreme 2.1.1 (des zeros de Hilbert) Soit K un corps et K une cloture algebrique de K. On a lesproprietes suivantes :

(i) Tout ideal I de K[X1, . . . , Xn] ne contenant pas 1 admet au moins un zero dans Kn.(ii) Pour qu’un ideal I de K[X1, . . . , Xn] soit maximal, il faut et il suffit qu’il existe un elementx = (x1, . . . , xn) ∈ Kn tel que I soit l’ensemble des polynomes de K[X1, . . . , Xn] nuls en x.

31

Journees Nationales de Calcul Formel 2008 page 51

(iii) Pour qu’un polynome P de K[X1, . . . , Xn] soit nul dans l’ensemble des zeros dans Kn d’un idealI de K[X1, . . . , Xn], il faut et il suffit qu’il existe un entier m > 0 tel que Pm ∈ I, c’est-a-dire queP ∈ √I.

Preuve. Ce theoreme se trouve dans la plupart des livres traitant de geometrie algebrique elementaire.Cet enonce est tire de [Bou85, Chapitre 5, §3, numero 3]. 2

Corollaire 2.1.2 Si K est un corps, K une cloture algebrique de K et I un ideal gradue de l’anneau despolynomes K[X1, . . . , Xn], les conditions suivantes sont equivalentes :

(i) I possede un zero non trivial dans Kn,(ii) il existe une extension L de k telle que I possede un zero non trivial dans Ln.

Preuve. Il est clair que (i) entraıne (ii). Supposons (ii) et notons ξ = (ξ1, . . . , ξn) un zero non trivial deI dans Ln. Puisqu’il existe un i tel que ξi 6= 0, on a Xm

i /∈ I pour ce meme i et pour tout entier m. Letheoreme des zeros 2.1.1, propriete (iii), montre alors qu’il existe un zero η = (η1, . . . , ηn) de I dans Kn

tel que Xi(η) = ηi 6= 0, ce qui montre (i). 2

2.1.2 Ideaux eliminants

Definition 2.1.3 Soit A un anneau et I un ideal gradue de l’anneau des polynomes A[X1, . . . , Xn]. Onappelle ideal eliminant de I l’ideal de A

A := ∪n∈N(I : mn) ∩A = a ∈ A tel que ∃m ∈ N : aXmi ∈ I pour tout i = 1, . . . , n

ou m designe l’ideal (X1, . . . , Xn) de A[X1, . . . , Xn].

Theoreme 2.1.4 (de l’elimination) Soit A un anneau, I un ideal gradue de l’anneau A[X1, . . . , Xn],A son ideal eliminant et ρ : A → k un morphism de A dans un corps k. Les conditions suivantes sontequivalentes :

(i) ρ(A) = 0,(ii) il existe une extension L de k et un zero non-trivial de I dans Ln.

Pour demontrer ce theoreme, nous aurons besoin du

Lemme 2.1.5 Soient A un anneau, M un A-module de type fini et ρ : A→ k un morphisme de A dansun corps k. Pour que M ⊗A k 6= 0 il faut et il suffit que ρ(annA(M)) = 0.

Preuve. Il est clair que tout element de ρ(annA(M)) ⊂ k annule le k-espace vectoriel M ⊗A k, donc siM ⊗A k 6= 0 alors il est necessaire que ρ(annA(M)) = 0. Inversement, supposons que M ⊗A k = 0 etmontrons que ρ(annA(M)) 6= 0.

Puisque M est de type fini, il existe une suite exacte courte de A-modules

0→ Ker(f) i−→ Apπ−→M → 0.

Par tensorisation, on obtient la suite exacte de k-espaces vectoriels

Ker(f)⊗A k i⊗Ak−−−→ kpπ⊗Ak−−−−→M ⊗A k → 0

qui montre que Ker(f)⊗A k est surjective puisque nous avons suppose que M ⊗A k = 0. Il s’en suit quel’on peut trouver p elements n1, . . . , np ∈ Ker(f) tels que la famille (i(ni)⊗A k)i=1,...,p soit une base de

kp. Notant M la matrice de taille p × p de l’application Ap(n1,...,np)−−−−−−→ Ap dans la base canonique, on

deduit que ρ(M) est une matrice inversible, i.e ρ(det(M)) 6= 0. Les formules de Cramer montrent alorsque det(M)Ap ⊂ Ker(f) et donc que d ∈ annA(M) qui montre que ρ(annA(M)) 6= 0. 2

Preuve du theoreme 2.1.4 Supposons (ii) ; soit ξ ∈ Ln est un zero non trivial de I. Notant i l’injectionde k dans son extension L, on a i ρ(P )(ξ) = 0 pour tout P ∈ I. Si a ∈ A alors il existe m ∈ N tel queaXm

i ∈ I pour i = 1, . . . , n et donc

i ρ(aXmi )(ξ) = (i ρ(a)Xm

i )(ξ) = i ρ(a)ξmi = 0.

32

Journees Nationales de Calcul Formel 2008 page 52

Or, puisque ξ est un zero non trivial, un des ξi est non nul et donc i ρ(a) = 0, c’est-a-dire ρ(a) = 0, cequi montre (i).

Supposons a present que ρ(A) = 0 et considerons l’anneau gradue B := A[X1, . . . , Xn]/I. Nousnoterons Bm, pour m ∈ N, l’ensemble des elements homogenes de degre m de B ; c’est un A-module, etmeme un B0 = A/I ∩ A-module. Puisque B1 est un A-module de type fini et que B0 ∪ B1 engendre B,nous en deduisons que pour tout m le B0-module Bm est de type fini et que la multiplication

B1 ⊗B0 Bm → Bm+1 : x⊗ y 7→ xy

est surjective. Pour tout m ∈ N, il est clair que annB0(Bm) ⊂ A, donc que ρ(annB0(Bm)) = 0 ce quientraıne, par le lemme 2.1.5, que Bm⊗B0 k 6= 0. Precisons ici que ρ : A→ k se factorise en un morphismeρ : B0 → k (puisque ρ(I ∩A) = 0) qui donne a k une structure de B0-module.

L’anneau gradue E := B ⊗B0 k est donc tel que E0 = k et Em 6= 0 pour tout m ∈ N. Nous savonsque E1 est engendre par X1, . . . .Xn et que la multiplication E1 ⊗Em → Em+1 est surjective ; ainsi, s’ilexiste un entier N tel que X

N

i = 0 pour i = 1, . . . , n alors Em = 0 pour tout m ≥ n(N − 1) + 1. On endeduit donc qu’il existe un element ξ ∈ E1 tel que ξm 6= 0 pour tout m ∈ N. De plus, l’element 1− ξ deE n’est pas inversible : si (1− ξ)u = 1 avec u = u0 + u1 + · · ·+ um ∈ E, alors le developpement

(1− ξ)u = (u0) + (u1 − ξu0) + (u2 − ξu1) + · · ·+ (um − ξum−1) + (−ξum) = 1

montre que u0 = 1, u1 = ξ, u2 = ξ2, . . . , um = ξm et finalement ξm+1 = 0. Par consequent, il existe unideal maximal (donc propre) m de E contenant l’element 1 − ξ. Soient L le corps E/m, h : E → L eti : k → L les morphismes canoniques, on a h|E0 = i et f(ξ) = 1.

Le morphisme h : E = B ⊗B0 k → L s’etend canoniquement en un morphisme h : B → L que l’onobtient par la composition

B → E = B ⊗B0 kh−→ L

b 7→ b⊗ 1k

et qui est tel que h|B0 = ρ : B0 → K → L et h(B1) 6= 0 (rappelons que B1 est engendre par X1, . . . , Xn).Soit π : A[X1, . . . , Xn]→ B. Le morphisme compose hπ : A[X1, . . . , Xn]→ L envoie tout polynome

P ∈ A[X1, . . . , Xn] sur P (ξ1, . . . , ξn) ∈ L ou ξi := h(Xi) ∈ L. Par consequent, (ξ1, . . . , ξn) ∈ Ln est unzero non trivial de I, ce qui montre (ii). 2

2.1.3 Interpretation geometrique

Dans la litterature, on appelle tres souvent theoreme de l’elimination le corollaire suivant du theoreme2.1.4 :

Corollaire 2.1.6 Soient k un corps algebriquement clos et W une sous-variete algebrique de Amk × Pnk .Si π designe la projection canonique de Amk × Pnk sur Pnk , alors π(W ) est une sous-variete algebrique dePnk .

Le theoreme 2.1.4 est plus general que le corollaire ci-dessus car il permet de remplacer Ank par une deses sous-varietes algebriques, et meme par un de ses sous-schemas. Pour etre complet, on peut d’ailleurspreciser la geometrie du theoreme 2.1.4 :

Soient A un anneau et I un ideal gradue de l’anneau des polynomes A[X1, . . . , Xn]. L’ideal eliminantA associe est alors l’ideal de definition dans le schema affine Spec(A) de la projection canonique deProj(A[X1, . . . , Xn]/I) sur Spec(A) qui est donc un sous-schema ferme de Spec(A). Rappelons que cetteprojection correspond a l’injection canonique

A → B := A[X1, . . . , Xn]/I,

et le calcul suivant precise ce qui precede :

Ker(A = Γ(Spec(A),OSpec(A))

can−−→ Γ(Proj(B),OProj(B)))

= Ker

(A→

n∏i=1

B(Xi)

)= (I :A[X] m∞) ∩A = A

(la premiere egalite provient du fait qu’une section s ∈ Γ(Proj(B),OProj(B)) est uniquement determineepar ses restrictions aux ouverts D+(Xi), i = 1, . . . , n).

33

Journees Nationales de Calcul Formel 2008 page 53

2.1.4 Interpretation en termes d’annulateur

On note pour la suite

H0m(B) :=

⋃n∈N

(0 :B mn) = P ∈ B ∃n ∈ N such that mnP = 0.

Pour tout couple d’entiers (ν, t) ∈ N2, definissant l’application A-lineaire

Θν,t : Bν → HomA(Bt, Bt+ν) : b 7→ (c 7→ b.c).

on deduit immediatement que pour tout ν ∈ N

H0m(B)ν =

⋃t∈N

Ker(Θν,t). (2.1)

De plus, pour tout couple (ν, t) ∈ N2 on a Ker(Θν,t) ⊂ Ker(Θν,t+1). En effet, la multiplication B1⊗Bn →Bn+1 etant surjective, si b ∈ Ker(Θν,t) alors b.c = 0 pour tout c ∈ Bt+1+ν puisque c = c1⊗ cn et bcn = 0par hypothese.

Par consequent, remarquant que annA(Bt) = Ker(Θ0,t) pour tout t ∈ N (rappelons que A∩ I = 0, cequi implique que B0 = A), on obtient

A := H0m(B)0 =

⋃t≥0

annA(Bt). (2.2)

ou annA(Bt) ⊂ annA(Bt+1) pour tout t ∈ N. Ainsi, il serait tres utile de savoir si cette chaıne ascendanted’annulateurs s’arrete (ce qui est clair si A est noetherien) et surtout a partir de quand elle s’arrete.

Proposition 2.1.7 Soit un entier η ∈ N tel que H0m(B)η = 0. Alors, pour tout entier t ≥ 0 on a

annA(Bη) = annA(Bη+t) = H0m(B)0 =: A.

Preuve. Soit (ν, t) ∈ N2. Il est aise de verifier que si a ∈ annA(Bν+t) alors aBν ⊂ Ker(Θν,t). En parti-culier, puisque l’on sait que annA(Bν) ⊂ annA(Bν+t), l’egalite Ker(Θν,t) = 0 montre que annA(Bν) =annA(Bν+t). Mais par hypothese H0

m(B)η = 0. Par consequent Ker(Θη,t) = 0 pour tout t ∈ N par (2.1),et l’on conclut par (2.2). 2

Cette proposition montre qu’une fois le plus petit entier η tel que H0m(B)η = 0 calcule (un tel entier

est appele indice de saturation de B), alors l’ideal eliminant A n’est rien d’autre que annA(Bη). Lorsquece dernier est un ideal principal, alors cette approche permet de faire un lien avec les ideaux de Fittinget les invariants de MacRae que l’on sait calculer.

2.2 Preliminaires : suites regulieres et complexe de Koszul

Soit A un anneau commutatif unitaire. Pour tout element x ∈ A on definit son complexe de Koszulhomologique comme le complexe

K•(x) := 0→ K1(x;A) = A(x)−−→ K0(x;A) = A→ 0,

ou la seule application non nulle est la multiplication par x dans A.Etant donnee une suite x := (x1, . . . , xn) de n elements, son complexe de Koszul homologique est

defini commeK•(x) := K•(x1)⊗ · · · ⊗K•(xn).

On peut cependant donner une definition plus ”explicite” de ce complexe de Koszul comme suit. Lemodule Ki(x) est la puissance exterieure ∧i(An). Ainsi, si e1, . . . , en est une base de An, on obtientK0(x) = A et pour tout p ∈ N∗

Kp(x) =⊕

1≤i1<···<ip≤nAei1 ∧ · · · ∧ eip .

34

Journees Nationales de Calcul Formel 2008 page 54

De plus, l’application dp : Kp(x)→ Kp−1(x) est l’application qui envoie ei1 ∧ · · · ∧ eip sur

dp(ei1 ∧ · · · ∧ eip) :=p∑k=1

(−1)k+1xikei1 ∧ · · · ∧ eik ∧ · · · ∧ eip .

Il est immediat de constater que l’on definit bien un complexe, c’est-a-dire que dp−1 dp = 0 pour toutp.

SI M est un A-module, le complexe de Koszul homologique de la suite x sur M est defini commeK•(x;M) := K•(x) ⊗A M = K•(x;A) ⊗A M. Pour tout entier p, on note Hp(x;M) le pieme A-moduled’homologie du complexe de Koszul K•(x;M).

Proposition 2.2.1 Avec les notations precedentes,(i) les ideaux annA(M) et (x) de A annulent tous les modules d’homologie du complexe de KoszulK•(x;M).

(ii) si x est une suite M -reguliere1, alors Hp(x;M) = 0 pour tout p ≥ 1.

Preuve. Pour voir le premier point il suffit de verifier que pour tout entier p ≥ 0, tout entier j = 1, . . . , net tout x ∈ Kp(x;M)

dp+1σjp(x) + σjp1dp(x) = xjx,

ou l’application σjp : Kp(x;M)→ Kp+1(x;M) envoie ei1 ∧ · · · ∧ eip sur ej ∧ ei1 ∧ · · · ∧ eip .La preuve du deuxieme point se fait par recurrence sur l’entier n. Si n = 1 alors H1(x1;M) =

Ker(M ×x1−−→ M) = 0. Supposons donc que (ii) est vraie pour tout entier 1, . . . , t − 1 et posons x′ :=(x1, . . . , xn−1). On verifie facilement que l’on a la suite exacte de complexes :

0→ K•(x′;M) → K•(x;M) π−→ K•(x′;M)[−1]→ 0

ou la notation K•[−1] designe le ”decalage a gauche” de K• (i.e. Kp[−1] := Kp−1 et dp[−1] := dp−1)et l’application A-lineaire π envoie ei1 ∧ · · · ∧ eip sur ei1 ∧ · · · ∧ eip−1 si ip = n, ou sur 0 sinon. Cettesuite exacte permet d’ecrire une suite exacte longue d’homologie (le soin est laisse au lecteur de decrireexplicitement le morphisme de connection)

· · · → Hp(x′;M)×(−1)pxn−−−−−−→ Hp(x′;M)→ Hp(x;M)→ Hp−1(x;M)→ · · ·

qui montre immediatement, a l’aide de l’hypothese de recurrence, que Hp(x;M) = 0 pour tout p > 1.Enfin, nous avons

0 = H1(x′;M)→ H1(x;M)→ H0(x′;M) ×xn−−−→ H0(x′;M)→ · · ·et puisque x est une suite M -reguliere, l’application la plus a droite est injective, d’ou l’on conclut queH1(x;M) = 0. 2

Remarque 2.2.2 Le point (ii) devient une equivalence dans le cas local et dans le cas gradue. Plusprecisement, si l’une des deux conditions suivantes est realisee

– A est un anneau gradue, M est un A-module gradue de type fini et les elements xi sont homogenesde degre positif

– A est un anneau local noetherien (A,m) et pour tout i = 1, . . . , n on a xi ∈ malors x est une suite M -reguliere si et seulement si Hp(x;M) = 0 pour tout p ≥ 1, si et seulementsi H1(x;M) = 0. Comme corollaire, on obtient sous la meme condition que x est une suite reguliereindependamment de l’ordre de ses elements.

Notons que si A est un anneau gradue alors le complexe de Koszul K•(x;M) herite de cette gradua-tion. Par exemple, si A est un anneau Z-gradue et que les elements x1, . . . , xn sont homogenes de degred1, . . . , dn respectivement, alors le complexe de Koszul est gradue comme suit : K0(x;A) = A(0) et pourtout p ≥ 1,

Kp(x;A) =⊕

1≤i1<···<ip≤nA(−di1 − · · · − dip).

La notation A(ν) designe le ”twist” de A par ν, i.e. A(ν)t = Aν+t pour tout couple (ν, t) ∈ Z2.1ce qui signifie que pour tout i = 1, . . . , n l’element xi n’est pas diviseur de zero dans M/(x1, . . . , xi−1)M .

35

Journees Nationales de Calcul Formel 2008 page 55

Polynomes generiques. Soit k un anneau et P1, . . . , Ps les polynomes homogenes generiques de degred1, . . . , ds respectivement, dans les variables homogenes X1, . . . , Xn :

Pi(X1, . . . , Xn) :=∑|α|=di

Ui,αXα ∈ C := k[Ui,α : i = 1, . . . , s, |α| = di][X1, . . . , Xn].

Lemme 2.2.3 Si s ≤ n alors P1, . . . , Ps est une suite reguliere dans l’anneau C.

Preuve. Pour tout i = 1, . . . , s on distingue le coefficient Ei := Ui,(0,...,0,di,0,...,0) du monome Xdii du

polynome Pi. Tous les coefficients restant Ui,α forment une suite reguliere et Pi ≡ EiXdii dans l’anneau

quotient k[E1, . . . , En][X1, . . . , Xn]. Maintenant, dans ce quotient il est aise de constater que les polynomesFi = Xi − Ei, i = 1, . . . , s forment une suite reguliere. A nouveau, l’anneau quotient correspondant estisomorphe a k[X1, . . . , Xn] et Pi ≡ Xdi+1

i , i = 1, . . . , s. Ces derniers constituent trivialement une suitereguliere.

On conclut grace a la remarque 2.2.2 qui affirme que la propriete d’etre une suite reguliere pour unesuite d’elements homogenes dans un anneau gradue ne depend pas de l’ordre de ses elements. 2

Corollaire 2.2.4 Graduant l’anneau C en posant deg(Ui,α) = 0 et deg(Xj) = 1, le complexe de KoszulK•(P1, . . . , Ps;C) fournit, pour tout s ≤ n, une resolution libre finie du quotient C/(P1, . . . , Ps).

Autrement dit, nous avons la suite exacte

0→ C(−d1 − · · · − ds) ds−→ · · · d3−→⊕

1≤i<j≤sC(−di − dj) d2−→

s⊕i=1

C(−di) d1−→ C → C

(P1, . . . , Ps)→ 0.

En particulier, le noyau de d1 est egal a l’image de d2 ; par consequent (h1, . . . , hs) ∈ Ker(d1) si etseulement s’il existe (. . . , Fi,j , . . .) ∈

⊕1≤i<j≤s C(−di− dj) tel que d2(. . . , Fi,j , . . .) = (h1, . . . , hs), c’est-

a-dire si et seulement si

M

P1

...Ps

=(h1 · · · hs

)ou M est une matrice antisymetrique (i.e. tM = −M), a savoir M := (Fi,j)1≤i,j≤s (cette derniereequivalence decoule du fait que d2(Fi,jei ∧ ej) = Fi,jfjei − Fi,jfiej).

2.3 Definition du resultant de Macaulay

On suppose donnes r ≥ 1 polynomes homogenes en les variables X1, . . . , Xn (toutes supposees depoids 1) de degre strictement positifs d1, . . . , dr respectivement,

fi(X1, . . . , Xn) =∑|α|=di

Ui,αXα, i = 1, . . . , r.

En outre, on pose A := k[Ui,α : i = 1, . . . , r, |α| = di] ou k designe un anneau factoriel. Ainsi, fi ∈ C :=A[X1, . . . , Xn] pour tout i = 1, . . . , r. On s’interesse a l’ideal I := (f1, . . . , fr) ⊂ C et a l’anneau quotientgradue B := C/I. On note A = H0

m(B)0 l’ideal eliminant. Dans ce qui suit, nous demontrerons le

Theoreme 2.3.1 Si r = n alors l’ideal A est un ideal premier et principal de A. De plus, il possede ununique generateur, note Res(f1, . . . , fn) et appele le resultant de f1, . . . , fn, tel que

Res(Xd11 , . . . , Xdn

n ) = 1 ∈ k.

Nous suivrons de pres la “preuve elementaire” donnee par Jean-Pierre Jouanolou dans le monographe[Jou91a]. Avant de continuer, signalons ici que ce theoreme reste vrai sans hypothese sur l’anneau k (saufpour l’unicite du generateur qui necessite que k soit un anneau reduit) ; nous renvoyons le lecteur interessea [Jou91a] pour plus de details.

36

Journees Nationales de Calcul Formel 2008 page 56

Hurwitz fut sans doute le premier a introduire le concept de formes d’inertie dans le cadre de la theoriede l’elimination. Ce concept s’est revele etre un outil tres puissant pour l’etude des ideaux eliminants,notamment dans le cas r = n. Rappelons que m := (X1, . . . , Xn) ⊂ C et que r et n sont deux entiers apriori distincts.

Definition 2.3.2 L’ideal des formes d’inerties de I par rapport a l’ideal m est l’ideal

TFm(I) :=⋃t≥0

(I :C mt) = f ∈ C : ∃ν ∈ N mνf ⊂ I = π−1(H0m(B)) ⊂ C,

ou π designe la projection canonique C → B = C/I → 0. C’est un ideal homogene de C et A =TFm(I)0 ⊂ A.

Lemme 2.3.3 Pour tout entier j ∈ 1, . . . , n on a

TFm(I) =⋃t≥0

(I :C Xtj) = f ∈ C : ∃ν ∈ N Xν

j f ⊂ I = Ker(C → BXj ). (2.3)

De plus, TFm(I) est un ideal premier de C (et par consequent A est un ideal premier de A).

Preuve. Soit un entier j ∈ 1, . . . , n. Pour tout i = 1, . . . , r on distingue le coefficient

Ei := Ui,(0,...,0,di,0,...,0)

du polynome fi qui prend la forme suivante dans C[X−1j ] :

fi = Xdij (Ei +

∑α6=(0,...,0,di,0,...,0)

Ui,αXαX−di

j ).

On obtient ainsi un isomorphisme de k-algebras

BXj

∼−→ k[Ul,α : Ul,α 6= Ei][X1, . . . , Xn][X−1j ] (2.4)

Ei 7→ Ei − fi

Xdij

= −∑

α6=(0,...,0,di,0,...,0)

Ui,αXαX−di

j

qui montre que Xi n’est pas un diviseur de zero dans BXj pour tout couple (i, j) ∈ 1, . . . , n2. Parsuite, on obtient successivement, pour tout couple (i, j) ∈ 1, . . . , n2, les egalites

Ker(C → BXi) = Ker(C → BXiXj

) = Ker(C → BXjXi) = Ker(C → BXj

)

qui prouvent la description annoncee pour TFm(I). De plus, puisque k est integre, BXj l’est egalementpour tout i. Par consequent TFm(I) est un ideal premier de C. 2

Avant d’aller plus loin, et notamment de montrer le resultat cle de Hurwitz, donnons deux exemplesconnus de formes d’inerties.

Le Jacobien. Le determinant de la matrice Jacobienne

Jac(f1, . . . , fn) =

∂f1∂X1

· · · ∂fn

∂X1...

...∂f1∂Xn

· · · ∂fn

∂Xn

est une forme d’inertie. En effet, par operations elementaires sur les lignes de cette matrice, le formuled’Euler montre que Xndet(Jac(f1, . . . , fn)) ∈ (f1, . . . , fn).

37

Journees Nationales de Calcul Formel 2008 page 57

Les matrices de Macaulay. Montrons l’existence de formes d’inerties de degre 0, c’est-a-dire d’e-lements non nuls dans A : les determinants de Macaulay [Mac02]. Posons Mon(t) := Xα : |α| = t,l’ensemble des monomes homogenes de degre t. On voit facilement que si t ≥∑n

i=1(di− 1)+1 alors toutmonome Xα ∈ Mon(t) est divisible par au moins l’une des puissances pures Xd1

1 , Xd22 , . . . , Xdn

n . On peutdonc definir l’indice i(α) := mini : αi ≥ di.

Choisissant un ordre pour Mon(n, t), on construit la matrice

M(f1, . . . , fn; t) = [mα,β ] : Mon(n, t)×Mon(n, t)→ A

telle que pour tout Xβ ∈ Mon(t)Xβ

Xdi(β)

i(β)

fi(β) =∑|α|=t

mα,βXα

(remarquer que si n = 2 la matrice M(f1, f2; d1 + d2 − 1) est la matrice de Sylvester, a l’ordre presdes lignes et des colonnes) On voit facilement, en faisant des operations sur les lignes de la matrice deMacaulay que, par exemple, Xt

1det(M(f1, . . . , fn; t)) ∈ (f1, . . . , fn) et donc que det(M(f1, . . . , fn; t)) estune forme d’inertie (de degre 0). Maintenant, il est clair par specialisation que la matrice de Macaulayde Xd1

1 , . . . , Xdnn est l’identite et donc que det(M(f1, . . . , fn; t)) est une forme d’inertie non nulle.

Par propriete du determinant, on observe que det(M(f1, . . . , fn; t)) est homogene en les coefficientsde chacun des polynomes f1, . . . , fn. De plus, on a

degfn(det(M(f1, . . . , fn; t))) = d1 . . . dn−1

ou degfn(−) designe le degre par rapport aux coefficients de fn. En effet, il est clair que

degfi(det(M(f1, . . . , fn; t))) = ]α tel que |α| = t et i(α) = i

et de plus, i(α) = n si et seulement si 0 ≤ α ≤ di − 1 pour i = 0, . . . , n− 1. Enfin, par permutation despolynomes f1, . . . , fn, on deduit que pour tout i = 1, . . . , n il existe une forme d’inertie non nulle dansA dont le degre par rapport aux coefficients du polynome fi est ≤ d1 . . . dn/di.

Proposition 2.3.4 (Hurwitz) Si r < n alors TFm(I) = I.

Preuve. Il suffit de montrer TFm(I) ⊂ I puisque l’autre inclusion est evidente. Par le lemme 2.3.3precedent, il nous faut montrer que pour tout f ∈ C tel qu’il existe s ∈ N tel que Xs

nf ∈ I alors f ∈ I.C’est clair si s = 0 et un raisonnement inductif elementaire montre qu’il suffit d’etablir la proprieteannoncee dans le cas s = 1 pour qu’elle soit vraie pour tout s ∈ N (utiliser Xk

nf = Xn(Xk−1n f)).

Soit donc f ∈ C tel que Xnf = h1f1 + · · · + hrfr ∈ I ⊂ C. En specialisant Xn a 0 on deduit queh1f1 + · · ·+hrfr = 0, ou les polynomes f i sont des polynomes homogenes generiques en n− 1 variables.Par consequent, on deduit du lemme 2.2.3 qu’ils forment une suite reguliere dans A[X1, . . . , Xn−1], etpar le corollaire 2.2.4, que le complexe de Koszul K•(f1, . . . , fr;A[X1, . . . , Xn−1]) est acyclique. D’apresla remarque suivant le corollaire 2.2.4 il existe une matrice antisymetrique M (i.e. tM = −M), telle que

(h1 h2 · · · hr

)= M

f1...fr

.

On definit ainsi les polynomes g1, . . . , gr ∈ A[X1, . . . , Xn] de telle sorte que

(g1 g2 · · · gr

)= M

f1...fr

.

Puisque M est antisymetrique, on voit facilement que∑ni=1 gifi = 0. De plus, pour tout i = 1, . . . , r on

a gi = hi et donc l’existence d’un polynome li tel que hi − gi = Xnli. Il s’en suit que

Xnf = (g1 +Xnl1)f1 + · · ·+ (gr +Xnlr)fr =n∑i=1

gifi +Xn

n∑i=1

lifi

ce qui montre que f =∑ni=1 lifi ∈ A[X1, . . . , Xn] (car Xn n’est pas un diviseur de zero), i.e. f ∈ I. 2

38

Journees Nationales de Calcul Formel 2008 page 58

Corollaire 2.3.5 Supposons r = n et soit f ∈ TFm(I) ⊂ A[X1, . . . , Xn]. Alors, ou bien f ∈ I =(f1, . . . , fn) ou bien f depend de tous les coefficients de chacun des polynomes f1, . . . , fn.

Preuve. Soit U := Ui,α un coefficient d’un polynome fi pour un i ∈ 1, . . . , n ; on pose gi = fi − UXα.Supposons qu’il existe f ∈ TFm(I) qui ne depend pas de U ; nous allons montrer qu’alors f ∈ I.

Puisque f ∈ TFm(I), nous savons que X lnf =

∑ni=1 hifi ∈ A[X1, . . . , Xn] pour un l ∈ N. Considerons

le morphisme de k-algebres

A[X1, . . . , Xn]ϕ−→ A[X1, . . . , Xn]X1X2...Xn

U 7→ −gi/Xα

Uj,β 7→ Uj,β if (j, β) 6= (i, α)Xj 7→ Xj .

Puisque ϕ(fi) = 0, on a

ϕ(X lnf) = H1f1 + · · ·+Hi−1fi−1 +Hi+1fi+1 + · · ·+Hnfn ∈ A[X1, . . . , Xn]X1...Xn .

Mais X1 . . . Xn n’est pas diviseur de zero dans A[X1, . . . , Xn]X1...Xnet ϕ(X l

nf) = X lnf , donc il existe un

monome Xβ tel que

Xβϕ(X lnf) = XβX l

nf = G1f1 + · · ·+Gi−1fi−1 +Gi+1fi+1 + · · ·+Gnfn ∈ A[X1, . . . , Xn],

c’est-a-dire f ∈ TFm(f1, . . . , fi−1, fi+1, . . . , fn) (modulo une extension appropriee de l’anneau des coef-ficients). On conclut que f ∈ I d’apres la proposition 2.3.4. 2

Preuve de theoreme 2.3.1. Tout d’abord remarquons A 6= 0 puisque

Proj(k[X1, . . . , Xn]/(Xd11 , . . . , Xdn

n )) = ∅

(on peut aussi remarquer l’existence des matrices de Macaulay ici). A present, choisissons un coefficientU := Ui,α et definissons l’anneau de polynomes A′ tel que A = A′[U ] (A′ est aussi un anneau factoriel).Puisque I ∩ A = 0, le corollaire 2.3.5 entraıne que tout 0 6= f ∈ A possede un degre strictement positifcomme polynome en U , i.e. degU (f) ≥ 1. Soit s ≥ 1 le minimum de ces degres parmi tous les 0 6= f ∈ A.

On montre qu’il existe un element premier R ∈ A tel que degU (R) = s. En effet, soit 0 6= f ∈ A telque degU (f) = s. Puisque A′ est un anneau factoriel, il existe une decomposition f = q1 . . . qt ou chaqueqj est un element premier dans A′[U ]. Mais comme A est un ideal premier le lemme 2.3.3, on deduit qu’ilexiste un entier j ∈ 1, . . . , t tel que qj ∈ A. De plus, nous avons 1 ≤ degU (qj) ≤ degU (f) = s et pardefinition de l’entier s on obtient que degU (qj) = s, ce qui entraıne la propriete annoncee de l’elementR := qj .

Montrons a present que l’element R engendre A. Du fait que A′ n’a pas de diviseur de zero on deduitque pour tout g ∈ A

λg = uR+ v with λ ∈ A′ and

v = 0ordegU (v) < s.

Il s’en suit que v = λg−uR ∈ A. Si v 6= 0 alors degU (v) ≥ 1 par la proposition 2.3.5, et donc degU (v) ≥ spar definition de l’entier s ; une contradiction. Par consequent λg = uR. De plus, λ ∈ A′ et U /∈ A′, doncforcement R divise g.

Finalement, R est unique a multiplication pres par un element inversible de A′, donc de k. Cet elementest force d’etre l’element 1 ∈ k par la normalisation donnee dans l’enonce de ce theoreme. 2

Pour definir le resultant de n polynomes homogenes en les variables X1, . . . , Xn on procede commesuit. Soit S un anneau commutatif. Pour tout entier i ∈ 1, . . . , n, supposons donne un polynomehomogene de degre di dans les variables X1, . . . , Xn

gi =∑|α|=di

ui,αXα ∈ S[X1, . . . , Xn]di

39

Journees Nationales de Calcul Formel 2008 page 59

et considerons le morphisme θ : A → S : Uj,α 7→ uj,α correspondant a la specialisation de chaque po-lynome fi en le polynome gi. Alors, pour toute forme d’inertie a ∈ TFm(f1, . . . , fn) on pose a(g1, . . . , gn) :=θ(a). En particulier, le resultant de g1, . . . , gn est par definition

Res(g1, . . . , gn) := θ(Res(f1, . . . , fn)).

Ainsi, si S = A et θ est le morphisme identite (i.e. gi = fi pour tout i), alors on obtient a = a(f1, . . . , fn),ce qui clarifie la notation Res(f1, . . . , fn) pour la forme d’inertie Res ∈ A.

2.4 Quelques proprietes formelles

Le resultant que nous venons de construire possede de tres nombreuses proprietes formelles quipermettent de le calculer, sinon de bien l’apprehender. Nous en rappelons ici quelques unes et renvoyonsle lecteur au monographe [Jou91b, §5] pour plus de details, notamment les preuves. Au passage, onmontre comment l’utilisation des formes d’inerties permet de simplifier l’etablissement de ces proprietes.

Formes lineaires. Si d1 = d2 = · · · = dn = 1 et fi =∑nj=1 Ui,jXj , i = 1, . . . , n, alors

Res(f1, . . . , fn) = det (Ui,j)1≤i≤n1≤j≤n

En effet, dans la situation generique, on verifie aisement que ce determinant est une forme d’inertieet donc que c’est un multiple du resultant. Puisque le degre du resultant par rapport a chaque fi estexactement 1 (au moins 1 par les matrices de Macaulay et au plus 1 par la proposition 2.3.5), on en deduitque ce determinant et le resultant ne different que par une constante multiplicative entiere. Finalementcette constante vaut 1 par specialisation fi 7→ Xi pour tout i = 1, . . . , n.

Divisibilite. Si g1, . . . , gn sont des polynomes homogenes dans S[X] tels que pour tout i = 1, . . . , n onait fi ∈ (g1, . . . , gn)µi , alors Res(g1, . . . , gn) divise Res(f1, . . . , fn) dans S.

En effet, par hypothese on a gi =∑nj=1 hi,jfj pour tout i = 1, . . . , n. Par specialisation, on se

ramene donc a la situation generique (c’est-a-dire on suppose que les coefficients des fj et hi,j sont desindeterminees). On a alors, par definition puis par hypothese,

XNn Res(g1, . . . , gn) ∈ (g1, . . . , gn) ⊂ (f1, . . . , fn)

ou N ∈ N, ce qui montre que Res(g1, . . . , gn) est une forme d’inertie de (f1, . . . , fn), donc un multiple deRes(f1, . . . , fn).

En fait, on peut montrer une version plus fine de ce resultat, a savoir : si g1, . . . , gn sont des polynomeshomogenes dans S[X] tels que pour tout i = 1, . . . , n il existe un entier µi satisfaisant fi ∈ (g1, . . . , gn)µi ,alors Res(g1, . . . , gn)µ1...µn divise Res(f1, . . . , fn) dans S.

Multi-homogeneite. Pour tout i = 1, . . . , n, Res(f1, . . . , fn) est homogene par rapport aux coefficientsdu polynome fi de degre d1 . . . dn/di.

En effet, es determinants de Macaulay montrent deja que degfi(Res) ≤ d1 . . . dn/di pour tout i =

1, . . . , n. Pour montrer l’inegalite dans l’autre sens, on specialise chaque polynome fi en un produit deformes lineaires generiques gi :=

∏di

j=1 li,j(X1, . . . , Xn). Alors, par divisibilite Res(g1, . . . , gn) est divisiblepar ∏

jk=1,...,dkk=1,...,n

Res(l1,j1 , . . . , ln,jn)

Mais alors, degfi(Res(l1,j1 , . . . , ln,jn)) = 1 (car c’est un resultant de formes lineaires generiques) et donc

degfi(Res(g1, . . . , gn)) ≥ d1 . . . dn

di

d’ou le resultat.

40

Journees Nationales de Calcul Formel 2008 page 60

Multiplicativite. Supposons que, pour un i ∈ 1, . . . , n il existe deux polynomes homogenes f ′i etfi” tels que fi = f ′ifi” dans S[X1, . . . , Xn]. Alors

Res(f1, . . . , f ′if′′i , . . . , fn) = Res(f1, . . . , f ′i , . . . , fn)Res(f1, . . . , f ′′i , . . . , fn)

dans S.Par specialisation, on se place dans la situation generique, i.e. les coefficients des polynomes

f1, . . . , fi−1, f′i , fi”, fi+1, . . . , fn

sont des indeterminees. On utilise la divisibilite et la primalite du resultant pour montrer que le produitdes deux resultants ci-dessus divise Res(f1, . . . , f ′if

′′i , . . . , fn). Ensuite, on conclut a l’egalite grace a des

considerations de degre (d’ou une egalite a multiplicatio pres par un entier) puis par specialisation auxpuissance pures fj 7→ X

dj

j .

Permutation des variables. Pour toute permutation σ de l’ensemble 1, . . . , n on a

Res(fσ(1), . . . , fσ(n)) = (E(σ))d1...dnRes(f1, . . . , fn)

ou E(σ) designe la signature de la permutation σ.En effet, par homogeneite dans le cadre generique, on obtient l’egalite au signe pres. La determination

de ce signe se fait par specialisation fi 7→ Xdii puis utilisation de la multiplicativite et enfin du fait que

Res(Xσ(1), . . . , Xσ(n)) = E(σ) (resultant de formes lineaires).

Transformations elementaires.

Res(f1, . . . , fi +∑i 6=j

hjfj , . . . , fn) = Res(f1, . . . , fn)

En effet, en se placant dans le cadre generique, il est clair que l’un divise l’autre comme forme d’inertie,puis que les deux sont egaux a multiplication pres par une constante dans Z par des considerations dedegre. La specialisation hj 7→ 0 pour tout j permet de conclure.

Homogeneite tordue. Res(f1, . . . , fn) est isobare de degre d1 . . . dn si chaque coefficient des po-lynomes f1, . . . , fn est de poids la puissance de la variable Xn de son monome correspondant.

Changement de base. Si g1, . . . , gn sont des polynomes homogenes dans S[X1, . . . , Xn] de memedegre d, alors

Res(f1(g1, . . . , gn), . . . , fn(g1, . . . , gn)) = Res(g1, . . . , gn)d1...dnRes(f1, . . . , fn)dn−1

2.5 Retour sur l’implicitation d’une surface rationnelle

Revenons un instant sur le calcul que nous avons fait en 1.5 afin de comprendre d’ou vient ce facteurparasite. Pour cela, on etablit un lien entre un resultant univarie de deux resultants univaries et unresultant multivarie (voir [BM07] pour ce resultat et d’autres du meme genre).

Supposons donnes quatre entiers strictement positifs d1, d2, d3, d4 et quatre polynomes homogenesgeneriques

Pk(X1, X2, X3) =∑

0≤i,j;i+j≤dk

U(k)i,j X

i1X

j2X

dk−i−j3 ∈ U[X1, X2, X3], k = 1, . . . , 4,

ou U designe l’anneau universel des coefficients

U := Z[U (k)i,j ; 0 ≤ i, j; i+ j ≤ dk, k = 1, . . . , 4].

On note X4 une nouvelle indeterminee.

41

Journees Nationales de Calcul Formel 2008 page 61

Proposition 2.5.1 Posant

R12 := ResX3(P1(1, X2, X3), P2(1, X2, X3)) ∈ U[X2],R34 := ResX3(P3(1, X2, X3), P4(1, X2, X3)) ∈ U[X2],

il vient l’egalite dans U :

ResX2(R12, R34) =ResX1:···:X4(P1(X1, X2, X3), P2(X1, X2, X3), P3(X1, X2, X4), P4(X1, X2, X4)).

De plus, cette quantite est non nulle, irreductible et multi-homogene par rapport aux ensembles de coef-ficients (U (1)

i,j )i,j, (U (2)i,j )i,j, (U (3)

i,j )i,j, (U (4)i,j )i,j de multi-degre (d2d3d4, d1d3d4, d1d2d4, d1d2d3).

Preuve. First of all, we observe that the iterated resultant ResX2(R12, R34) and the resultant

R := Res(P1(X1, X2, X3), P2(X1, X2, X3), P3(X1, X2, X4), P4(X1, X2, X4))

are both non-zero polynomials, for they both specialize to the quantity (−1)d1d2d3d4 if the polynomialsPi(X1, X2, X3), i = 1, . . . , 4, are specialized to Xd1

1 , Xd23 , Xd3

2 and Xd43 respectively. Note also that the

statement about the multi-degree of R follows from the homogeneity property of resultants.To prove the irreducibility ofR, we proceed by induction on the positive integer d := d1+d2+d3+d4 ≥

4. For d = 4, R equals the determinant∣∣∣∣∣∣∣∣∣U

(1)1,0 U

(2)1,0 U

(3)1,0 U

(4)1,0

U(1)0,1 U

(2)0,1 0 0

U(1)0,0 U

(2)0,0 U

(3)0,0 U

(4)0,0

0 0 U(3)0,1 U

(4)0,1

∣∣∣∣∣∣∣∣∣ ∈ U

which is checked to be irreducible. Thus, we assume that R is irreducible up to a given integer p ≥ 4and we will prove that R is irreducible if d = p + 1. To do this, first observe that one of the integersd1, d2, d3, d4 must be greater or equal to 2. We can assume that d1 ≥ 2 without loss of generality. Considerthe specialization φ leaving invariant the polynomials P2, P3 and P4 and sending the polynomial P1 tothe product L1Q1 where L1 and Q1 are both generic forms of respective degree 1 and d1 − 1 ≥ 1. Then,by multiplicativity of resultants we have the equality

φ(R) = Res(L1, P2, P3, P4)Res(Q1, P2, P3, P4),

whose right hand side is a product of two irreducible polynomials by our induction hypothesis. As thespecialization φ is homogeneous (in terms of the coefficients of the Pi’s, L1 and Q1), the number ofirreducible factors of R can not decrease under the specialization φ and we deduce that R is the productof two irreducible polynomials R1 and R2. But then, one of these two factors must depend on thecoefficients of P1, say R1, and therefore φ(R1) must depend on the coefficients of L1 and Q1. Thisimplies that R2 is an invertible element in Z and consequently that R is irreducible.

It remains to prove the claimed equality. To do this, we rewrite Pk(1, X2, X3), for all k = 1, . . . , 4, as

Pk(1, X2, X3) =dk∑i=0

dk−i∑j=0

U(k)i,j X

j2

Xi3 ∈ U[X2, X3],

and we then easily see from well-known properties of the Sylvester resultant that• R12 is bi-homogeneous in the set of coefficients (U (1)

i,j ) and (U (2)i,j ) of bi-degree (d2, d1),

• R12 is a polynomial inU[X2] of degree d1d2,• R12 ∈ (P1(1, X2, X3), P2(1, X2, X3)) ⊂ U[X2, X3].

Of course, completely analogous results hold for R34, in particular

R34 ∈ (P3(1, X2, X4), P4(1, X2, X4)) ⊂ U[X2, X4].

42

Journees Nationales de Calcul Formel 2008 page 62

Again, ResX2(R12, R34) ∈ (R12, R34) ⊂ U[X2] and we deduce that

ResX2(R12, R34) ∈(P1(1, X2, X3), P2(1, X2, X3), P3(1, X2, X4), P4(1, X2, X4)) ⊂ U[X2, X3, X4].

After homogenization with the variable X1, it follows that there exists an integer N such that

XN1 ResX2(R12, R34) ∈

(P1(X1, X2, X3), P2(X1, X2, X3), P3(X1, X2, X4), P4(X1, X2, X4))

in U[X1, X2, X3, X4] (notice that this does not imply directly that ResX2(R12, R34) is an inertia form be-cause P1(X1, X2, X3), P2(X1, X2, X3), P3(X1, X2, X4) and P4(X1, X2, X4) are not generic polynomials).It implies by the divisibility property of resultants, that R = Res(P1(X3), P2(X3), P3(X4), P4(X4)) di-vides the quantity

Res(XN1 ResX2(R12, R34), P1(X1, X2, X3), P2(X1, X2, X3), P3(X1, X2, X4)) =

ResX2(R12, R34)d1d2d3Res(X1, P1(X3), P2(X3), P3(X4))N .

Since R is irreducible and since the second term in the right hand side of the above product does notdepend on the coefficients of P4, we deduce that R divides ResX2(R12, R34). Now, from the degreeproperties of R12 and R13 we deduce that ResX2(R12, R34) is, similarly to R, multi-homogeneous withrespect to the set of coefficients (U (1)

i,j )i,j , (U(2)i,j )i,j , (U

(3)i,j )i,j , (U (4)

i,j )i,j of multi-degree

(d2d3d4, d1d3d4, d1d2d4, d1d2d3).

This shows that ResX2(R12, R34) and R are equal up to multiplication by an invertible element in Z. Todetermine this invertible element, we take again the specialization sending P1 to Xd1

1 , P2 to Xd23 , P3 to

Xd32 , P4 to Xd4

3 , and check that R specializes to (−1)d1d2d3d4 , as well as ResX2(R12, R34). 2

En specialisant la formule que nous venons de montrer, on obtient la factorisation suivante d’unresultant itere particulier.

Corollaire 2.5.2 Supposons que d1 ≥ 2 et posons

R12 := ResX3(P1(1, X2, X3), P2(1, X2, X3)) ∈ U[X2],R13 := ResX3(P1(1, X2, X3), P3(1, X2, X3)) ∈ U[X2].

Alors, notant δ3,4P1(X3, X4) = P1(X4)−P1(X3)X4−X3

, nous avons l’egalite

ResX2(R13, R12) = ResX1:X2:X3(P1, P2, P3)×ResX1:···:X4(P1(X3), P2(X4), P3(X3), δ3,4P1(X3, X4))

ou le membre de droite est le produit de deux polynomes irreductibles dans U.De plus, le resultant itere ResX2(R13, R12) est multi-homogene par rapport aux ensembles de coeffi-

cients (U (1)i,j )i,j , (U

(2)i,j )i,j , (U

(3)i,j )i,j de degre 2d1d2d3, d

21d3 et d2

1d2 respectivement.

Preuve. The claimed equality is easily obtained using formal properties of resultants by specializationof the formula proved in Theorem 2.5.1 :

Res(P1(X3), P3(X3), P1(X4), P2(X4))= Res(P1(X3), P2(X4), P3(X3), P1(X4))= Res(P1(X3), P2(X4), P3(X3), P1(X4)− P1(X3))= Res(P1(X3), P2(X4), P3(X3), (X4 −X3)δ3,4(P1))= Res(P1, P2, P3)Res(P1(X3), P2(X4), P3(X3), δ3,4(P1)).

43

Journees Nationales de Calcul Formel 2008 page 63

The multi-degree computation and the irreducibility of Res(P1, P2, P3) are known properties of resultants.The only point which requires a proof is the irreducibility of the factor (which is easily seen to be non-zeroby a straightforward specialization)

D := Res(P1(X3), P2(X4), P3(X3), δ3,4(P1)(X3, X4)).

To do this, we proceed similarly to what we did in Theorem 2.5.1, that is, by induction on the integerd := d1 + d2 + d3 ≥ 4. We can check by hand (or with a computer) that D is an irreducible polynomialin U if (d1, d2, d3) = (2, 1, 1). We thus assume that D is irreducible up to a given integer p ≥ 4 and wewill prove that D is irreducible if d = p + 1. If d2 ≥ 2 (resp. d3 ≥ 2) then we can specialize P2 (resp.P3) as a product of a generic linear form and a generic form of degree d2 − 1 ≥ 1 (resp. d3 − 1 ≥ 1) andconclude, exactly as we did in Theorem 2.5.1, that D is then irreducible. Otherwise, then d1 ≥ 3 and wespecialize P1 to the product of a generic linear form

L1(X1, X2, X3) := aX1 + bX2 + cX3

and a generic form Q1 of degree d1 − 1 ≥ 2. We call φ the map corresponding to this specialization. Wehave

δ3,4(L1Q1)(X3, X4) = cQ1(X3) + L1(X4) δ3,4(Q1)(X3, X4)

and we deduce after some manipulations on resultants that

φ(D) = Res(L1(X3)Q1(X3), P2(X4), P3(X3), cQ1(X3) + L1(X4)δ3,4(Q1))= Res(Q1(X3), P2(X4), P3(X3), L1(X4)δ3,4(Q1)(X3, X4))×

Res(L1(X3), P2(X4), P3(X3), cQ1(X3) + L1(X4)δ3,4(Q1)(X3, X4))= Res(Q1(X3), P2(X4), P3(X3), δ3,4(Q1)(X3, X4))×

Res(Q1(X3), P2(X4), P3(X3), L1(X4))×Res(L1(X3), P2(X4), P3(X3), (L1(X4)− L1(X3))δ3,4(Q1) + cQ1(X3))

= Res(Q1(X3), P2(X4), P3(X3), δ3,4(Q1)(X3, X4))×Res(Q1(X3), P2(X4), P3(X3), L1(X4))×Res(L1(X3), P2(X4), P3(X3), cQ1(X4))

= cd2d3Res(Q1(X3), P2(X4), P3(X3), δ3,4(Q1)(X3, X4))×Res(Q1(X3), P2(X4), P3(X3), L1(X4))×Res(L1(X3), P2(X4), P3(X3), Q1(X4)).

Either by our induction hypothesis or by Theorem 2.5.1, it turns out that the three resultants involved inthe right hand side of the above computation are irreducible in U. So if D were reducible, say D = D1D2,then each factor should be homogeneous in the coefficients (U (1)

i,j )i,j and hence φ(D1) and φ(D2) shouldbe homogeneous in the coefficients of Q1 and L1 of the same degree. But

degL1,Q1(c) = (1, 0),

degL1,Q1(Res(L1(X3), P2(X4), P3(X3), Q1(X4))) = ((d1 − 1)d2d3, d2d3),

degL1,Q1(Res(Q1(X3), P2(X4), P3(X3), L1(X4))) = ((d1 − 1)d2d3, d2d3),

degL1,Q1(Res(Q1(X3), P2(X4), P3(X3), δ3,4(Q1)(X3, X4))) = (0, 2d1d2d3 − 3d2d3),

which implies that either D1 or D2 is an invertible element in Z. 2

On est maintenant en mesure de comprendre le facteur parasite que nous avions obtenu lors du calculde l’equation implicite d’une surface rationnelle.

Corollaire 2.5.3 Etant donnes trois polynomes fk(x, y, z), k = 1, . . . , 3 de la forme

fk(x, y, z) =∑

|α|+i+j6dk

a(k)α,i,jx

αyizj ∈ S[x][y, z],

44

Journees Nationales de Calcul Formel 2008 page 64

ou x designe la collection de variables (x1, . . . , xn) pour un entier n ≥ 1 et S un anneau commutatif,alors le resultant itere Resy(Resz(f1, f2),Resz(f1, f3)) ∈ S[x] est de degre au plus d2

1d2d3 en les variablesx et on a

Resy(Resz(f1, f2),Resz(f1, f3)) = (−1)d1d2d3×Resy,z(f1(x, y, z), f2(x, y, z), f3(x, y, z))×

Resy,z,z′(f1(x, y, z), f2(x, y, z), f3(x, y, z′), δz,z′(f1)).

De plus, si les polynomes f1, f2, f3 sont suffisamment generiques et n > 1 alors ce resultant itere est dedegre exactement d2

1d2d3 en x et les deux resultants multivaries ci-dessus sont distincts et irreductibles.

Ce corollaire peut s’interpreter geometriquement comme suit. Pour simplifier, supposons que x estune unique variable x et que f1, f2 et f3 sont trois polynomes en x, y, z. Le resultant R12 := Resz(f1, f2)definit la projection de la courbe intersection des deux surfaces f1 = 0 et f2 = 0. De la meme facon,R13 := Resz(f1, f3) definit la projection de la courbe intersection des deux surfaces f1 = 0 et f3 = 0.Ainsi, les racines de Resy(R12, R13) peuvent etre separees en deux ensembles distincts : l’ensemble desracines x0 tel qu’il existe y0 et z0 satisfaisant f1(x0, y0, z0) = f2(x0, y0, z0) = f3(x0, y0, z0), et l’ensembledes racines x1 tel qu’il existe deux points distincts (x1, y1, z1) et (x1, y

′1, z

′1) satisfaisant f1(x1, y1, z1) =

f2(x1, y1, z1) et f1(x1, y′1, z

′1) = f3(x1, y

′1, z

′1). Le premier ensemble fournit le terme Resx,y,z(f1, f2, f3)

dans la factorisation du resultant itere Resy(Res12,Res13), et le second ensemble fournit l’autre facteur.

2.6 Formes d’inerties et representations matricielles

Les formes d’inerties fournissent, nous l’avons vu, un outil efficace pour etablir des proprietes for-melles du resultant. Nous allons maintenant montrer qu’elles permettent egalement de construire desmatrices d’elimination de maniere systematique. D’ailleurs, la grande majorite des matrices connues quipermettent de ”calculer” le resultant sont obtenues de cette facon (voir par exemple [Mac02], [Jou97],[GKZ94a], [CLO98] et leurs references).

Matrices de formes d’inerties. Rappelons qu’une forme d’inertie de degre 0 est toujours un mul-tiple du resultant. De maniere generale, on peut construire des formes d’inerties de degre 0 comme desdeterminants de matrices obtenues a l’aide de formes d’inerties de degre superieur.

Lemme 2.6.1 Supposons donnes un entier ν ≥ 1 et ]Mon(n; ν) formes d’inerties φα, |α| = ν, pourl’ideal (f1, . . . , fn) de degre ν. Le determinant de la matrice

Φ : Mon(n; ν)×Mon(n; ν)→ A

telle que pour tout |α| = ν on ait∑|β|=ν

Φ(Xα, Xβ)Xβ = φα ∈ A[X1, . . . , Xn]

est une forme d’inertie de degre 0, c’est-a-dire un element de A.

Preuve. Par construction, on a l’egalite matricielle

Φ

...Xβ

...

=

...φα...

dont on deduit par multiplication a gauche par le matrice Φ des cofacteurs de Φ que

det(Φ)

...Xβ

...

= Φ

...φα...

45

Journees Nationales de Calcul Formel 2008 page 65

Les formules de Cramer montrent alors que Xβdet(Φ) ∈ (. . . , φα, . . .) pour tout β tel que |β| = ν. Onconclut alors en utilisant le fait que les φα sont des formes d’inerties de (f1, . . . , fn). 2

Ce procede permet de construire des matrices d’elimination personnalisees en utilisant diverses formesd’inerties. Pour aboutir exactement au resultant il faut alors reussir a montrer que le determinantconstruit est non nul (on peut pour cela procede par specialisation) et qu’il a le bon degre par rap-port aux coefficients de chacun des polynomes f1, . . . , fn.

C’est par exemple comme cela que l’on construit les matrices de Macaulay, en utilisant les formesd’inertie les plus simples : des multiples des polynomes f1, . . . , fn.

Formule de Macaulay. Nous avons deja construit les matrices de Macaulay et vu que leur determinantfournissait un multiple du resultant. Il est en fait possible d’en extirper exactement le resultant : c’est laformule de Macaulay [Mac02].

Reprenant les notations precedentes, nous avons montre que det(M(f1, . . . , fn; t)) est une forme d’iner-tie, et donc un multiple de Res(f1, . . . , fn). Il existe donc un polynome H ∈ S[X1, . . . , Xn] tel que

det(M(f1, . . . , fn; t)) = Res(f1, . . . , fn)H(f1, . . . , fn−1; t)

(noter que nous avons montre que H ne depend pas des coefficients du polynome fn).La formule de Macaulay permet de calculer ce polynome H(f1, . . . , fn−1; t) : pour tout entier t ≥∑ni=1(di − 1) + 1, on a

H(f1, . . . , fn−1; t) = det(∆(f1, . . . , fn−1; t))

ou ∆(f1, . . . , fn−1; t) est la sous-matrice de M(f1, . . . , fn; t) indexee par

Dod(n, t)×Dod(n, t) ⊂ Mon(n, t)×Mon(n, t)

avec Dod(n, t) := Xα : ∃i 6= j αi ≥ di, αj ≥ dj. Nous renvoyons le lecteur a [Jou97] pour la preuve decette formule.

Representation matricielle. On ne connaıt pas de matrice carree non triviale dont le determinantsoit le resultant en toute generalite. Il existe bien une liste de cas pour lesquels une telle formulation estconnue (voir par exemple [Jou97]), mais elle est relativement limitee.

Par contre, on sait toujours ”representer” le resultant a l’aide d’une matrice non carree. En effet,nous avons vu au debut de ce chapitre que l’ideal eliminant A est egal a l’annulateur du quotient Ben degre suffisamment grand. En fait, on peut montrer que cette propriete est vraie a partir du degre∑ni=1(di − 1) + 1 =: δ + 1. Ainsi, toute presentation de Bδ+1 fournit une representation du resultant,

c’est-a-dire fournit une matrice a coefficient dans A telle que– la matrice est de generiquement de rang maximal– le PGCD des mineurs maximaux est egal au resultant– le rang de cette matrice chute exactement la ou le resultant s’annule

C’est surtout la derniere propriete qui permet de parler de representation du resultant. Pour etre plusconcret, la matrice de l’application (dans les bases canoniques par exemple)

n⊕i=1

A[X1, . . . , Xn]δ+1−di → A[X1, . . . , Xn]δ+1 : (g1, . . . , gn) 7→n∑i=1

gifi

est une representation du resultant. Notez que les matrices de Macaulay sont des mineurs maximaux decette matrice.

Ce genre de resultat suggere fortement que le calcul formel s’interesse a la manipulation de representationmatricielle des objets, et pas seulement polynomiale. Ce point de vue pourrait permettre dans bien descas d’ameliorer de nombreux algorithmes, notamment en renforcant le l’utilisation d’outils de l’algebrelineaire numerique.

46

Journees Nationales de Calcul Formel 2008 page 66

2.7 La formule de Poisson

Il n’est pas possible de clore ce chapitre sans brievement donner la celebre formule de Poisson [Poi02].Pour un enonce en toute generalite, on renvoie le lecteur a [Jou97].

Soit k un corps algebriquement clos et soient f1, . . . , fn−1 ∈ k[X1, . . . , Xn] des polynomes homogenesde degre d1, . . . , dn ≥ 1 respectivement. On suppose en outre que la variete projective

X = V (f1, . . . , fn−1) ⊂ Pn−1k

definit un nombre fini de points a distance finie (donc qu’elle definit d1 . . . dn−1 points comptes avecmultiplicite a distance finie), l’infini correspondant a la droite V (Xn). Pour tout polynome homogenesf ∈ k[X1, . . . , Xn] de degre d ≥ 1 on a

Res(f1, . . . , fn−1, f)Res(f1, . . . , fn−1)

=∏

ξ=(ξ1:···:ξn−1:1)∈Xf(ξ)µ(ξ)

ou µ(ξ) designe la multiplicite de ξ ∈ X et ou f i := fi(X1, . . . , Xn−1, 0) ∈ k[X1, . . . , Xn−1] pour touti = 1, . . . , n− 1.

Cet enonce montre clairement le lien que l’on peut faire entre resultant et resolution de systemespolynomiaux zero-dimensionnels. Pour en savoir plus, on renvoie le lecteur a [EM07, Chapitre 6], ouencore a [CLO98, Chapitre 3].

Pour finir, mentionnons une autre forme de la formule de Poisson qui se deduit directement de laprecedente et qui permet notamment de montrer des resultats non triviaux de geometrie plane (exposesde Jouanolou au CIRM, janvier 1983).

Soient f et g deux polynomes homogenes de degre d ≥ 1 tels que V (f1, . . . , fn−1, g) = ∅ dans Pn−1k .

AlorsRes(f1, . . . , fn−1, f)Res(f1, . . . , fn−1, g)

=∏

ξ=(ξ1:···:ξn−1:1)∈X

(f(ξ)g(ξ)

)µ(ξ)

(noter que g = Xdn redonne la formule precedente).

47

Journees Nationales de Calcul Formel 2008 page 67

48

Journees Nationales de Calcul Formel 2008 page 68

Chapitre 3Vers une theorie generale du resultant

Bien que de nombreux types de resultants soient connus (Macaulay, toriques, anisotropes, . . . ), il estfort possible qu’aucun d’entres eux ne permette de traiter un systeme lie a une situation geometriquespecifique. Le but de ce qui suit est d’illustrer comment il est possible de construire un ”resultant” adaptea une telle situation. En filigrane, on illustre le lien entre geometrie et relations algebriques (syzygies).La derniere partie est extraite de [BEM03] ou l’on peut egalement trouver plusieurs applications a lamodelisation geometrique.

3.1 Le cas de trois courbes dans le plan

Dans ce qui suit, on se placera toujours dans le plan projectif P2 dont R = k[x, y, z] designe l’anneaudes coordonnees, k etant un corps algebriquement clos.

Soient f0, f1, f2 trois polynomes homogenes dans P2 de degre d0, d1, d2 respectivement. On note Il’ideal (f0, f1, f2). Pour un choix suffisamment generique de f0, f1, f2, on a

√I = R c’est-a-dire que

f0, f1, f2 non pas de racine commune dans P2. En fait, l’existence d’une racine commune se traduit entermes de non-exactitude du complexe de Koszul associe aux polynome f0, f1, f2 dans R. On notera cecomplexe K•(f0, f1, f2) ; il est de la forme

R(−d0 − d1 − d2)∂3−→

⊕0≤i<j≤2

R(−di − dj) ∂2−→ ⊕2i=0R(−di) ∂1−→ R,

ou

∂1 =(f0 f1 f2

), ∂2 =

f1 f2 0−f0 0 f20 −f0 −f1

, ∂3 =

f2−f1f0

.

Il faut remarquer que ce complexe est construit a partir des relations triviales des polynomes f0, f1, f2,c’est-a-dire des relations qui sont toujours vraies quelques soient f0, f1, f2. Elles sont de la forme f2f1 −f1f2, f1f0 − f0f1, etc . . . . Les premieres relations triviales sont au nombre de trois : les 2 × 2-mineurs(identiquement nuls) de la matrice (

f0 f1 f2f0 f1 f2

),

et la troisieme relation (il n’y en a qu’une seule) correspond au determinant de la matrice f0 f1 f2f0 f1 f2f0 f1 f2

.

Proposition 3.1.1 Les proprietes suivantes sont equivalentes :– f0, f1, f2 n’ont pas de racine commune dans P2

–√I = R

49

Journees Nationales de Calcul Formel 2008 page 69

– Isat := (I : (x, y, z)∞) = R– codim(I) = 3– K•(f0, f1, f2) est acyclique– I n’a que des relations triviales

Preuve. Ces resultats sont classiques. Voir par exemple [Eis95]. 2

Remarque 3.1.2 Les resultats du chapitre precedant montrent que l’on aurait pu ajouter la conditionRes(f0, f1, f2) = 0 a cette proposition.

Si notre ideal I possede seulement des relations triviales, son complexe de Koszul associeK•(f0, f1, f2)fournit alors une resolution libre de R-modules de R/I. On peut alors montrer que I est (d0+d1+d2−2)-regulier (au sens de Castelnuovo-Mumford), et donc que I est (d0 +d1 +d2−2)-sature (voir par exemple[Eis05] pour cette notion de regularite). On deduit la propriete suivante :

Corollaire 3.1.3 Soit ν un entier tel que ν ≥ d0 + d1 + d2 − 2, alors les polynomes f0, f1, f2 ont uneracine commune dans P2 si et seulement si l’application ∂1ν n’est pas de rang maximal

(ν+22

).

Preuve. Pour tout entier ν nous avons une suite exacte d’espaces vectoriels

Rν−d0−d1 ⊕Rν−d0−d2 ⊕Rν−d1−d2∂1ν−−→ Rν → Rν/Iν .

Il est clair que si f0, f1, f2 ont une racine commune, alors dim(Rν/Iν) ≥ 1 pour tout entier ν, et donc∂1ν n’est pas surjective.

Maintenant, si f0, f1, f2 n’ont pas de racine commune alors K•(f0, f1, f2) est une resolution libre deR-modules de I et donc I ν-sature pour tout ν ≥ d0 + d1 + d2 − 2. Puisque Isat = R, on en deduit queRν/Iν = 0 pour tout ν ≥ d0 + d1 + d2 − 2, et donc que ∂1ν est surjective. 2

Remarque 3.1.4 La corollaire precedent est une generalisation directe du resultant de Sylvester. Leseule difference notable est qu’ici la representation matricielle n’est pas carree en general, alors qu’ellel’est pour Sylvester pour ν = d1 + d2 − 1 (ensuite elle ne l’est plus).

Il est interessant de specialiser ce corollaire au cas ou f0, f1, f2 sont des formes lineaires et l’entierν est le plus petit possible.

Considerons a present l’exemple de l’intersection de trois cercles dans P2 : f0 = a0z2 + a1xz + a2yz + a3(x2 + y2)

f1 = b0z2 + b1xz + b2yz + b3(x2 + y2)

f2 = c0z2 + c1xz + c2yz + c3(x2 + y2)

(3.1)

ou les ai, bj et ck sont des elements de k. Nous voudrions savoir si ces trois cercles se coupent en un memepoint dans P2, ce qui depend evidemment des parametres ai, bj et ck. Mais ces trois cercles se coupenttoujours a l’infini en les deux points P1 = (1 : i : 0) et P2 = (1 : −i : 0) ; ces deux points sont definis parl’ideal (z, x2 + y2). Par consequent, le complexe de Koszul K•(f0, f1, f2) ne sera jamais acyclique dansce cas. De plus, le resultant de Macaulay de nos trois equations sera toujours identiquement nul (et il enest de meme pour le resultant torique que nous n’avons pas eu le temps d’aborder dans ces notes).

Puisque les points P1 et P2 sont toujours dans l’intersection de nos trois cercles, on peut reformulernotre problematique ainsi : est-ce que nos trois cercles se coupent en dehors des points P1 et P2 ? Cettequestion conduit naturellement a la recherche d’un resultant generalise. Nous allons voir comment l’onpeut repondre a cette question, toujours a l’aide des relations ”triviales”.

Soit G = (g1, . . . , gn) un ideal homogene de R, les gi etant des polynomes homogenes. On notek1 ≥ . . . ≥ kn respectivement, le degre des polynomes g1, . . . , gn. On considere alors trois polynomeshomogenes f0, f1, f2 de degre d0 ≥ d1 ≥ d2 ≥ k1 respectivement, dans l’ideal G, c’est-a-dire que nouspouvons ecrire : f0(x) =

∑ni=1 hi,0(x) gi(x)

f1(x) =∑ni=1 hi,1(x) gi(x)

f2(x) =∑ni=1 hi,2(x) gi(x)

50

Journees Nationales de Calcul Formel 2008 page 70

ou de maniere equivalente

(f0 f1 f2

)=(g1 g2 · · · gn

)

h1,0 h1,1 h1,2

h2,0 h2,1 h2,2

......

...hn,0 hn,1 hn,2

(3.2)

ou hi,j =∑α1+α2+α3=dj−ki

ci,jα xα1yα2zα3 sont des polynomes homogenes de degre dj − ki.La situation geometrique s’interprete comme suit : l’ideal G definit un sous-schema ferme de P2 :=

Proj(R/G) ; on note G son faisceau d’ideaux associe. Le polynomes f0, f1, f2 sont des sections globalesde G(d0),G(d1),G(d2) respectivement (et donc s’annulent le long de Proj(R/G)) et nous voudrions savoirs’ils possedent une racine commune ”en dehors” du sous-schema defini par G. Designant par I le faisceaud’ideaux associe a l’ideal I = (f0, f1, f2), on donne un sens au terme ”en dehors” en demandant quele sous-schema defini par I soit strictement plus gros que le sous-schema defini par G. C’est equivalenta demander que (I : G) OP2 , ou bien V (I : G) 6= ∅, ou bien encore Isat Gsat, ou l’exposant satdesigne la saturation par l’ideal maximal (x, y, z) de R. Notre objectif est ici de construire un complexede relations triviales pour les ideaux de la forme (I : G) ou G est fixe ; un tel ideal est souvent appeleune intersection residuelle.

A partir de maintenant, nous supposerons que l’ideal G = (g1, . . . , gn) est fixe et qu’il est sature decodimension 2. Ainsi, nous avons la

Proposition 3.1.5 (Hilbert-Burch) Toute resolution minimale libre graduee de R-modules de l’ideal Gest de la forme :

0→n−1⊕i=1

R(−li) ψ−→n⊕i=1

R(−ki) γ=(g1,...,gn)−−−−−−−−→ G→ 0,

ou∑n−1i=1 li =

∑ni=1 ki et aIn−1(ψ) = γ, avec a ∈ k \ 0.

Preuve. Ce resultat est classique, voir par exemple [Eis95, Theorem 20.15]. Noter que ce theoreme estvrai dans un contexte plus general : tout ideal Q d’un anneau commutatif A de codimension 2 tel queA/Q est Cohen-Macaulay est de dimension projective 1. 2

De la resolution de G, on peut deja savoir combien de points nous essayons de soustraire de l’inter-section des polynomes f0, f1, f2.

Corollaire 3.1.6 L’ideal G de la proposition 3.1.5 definit exactement∑n−1i=1 l

2i −

∑ni=1 k

2i

2

points (comptes avec multiplicite).

Preuve. Puisque G definit des points isoles, il suffit de calculer la caracteristique d’Euler d’une partiegraduee, disons t, de sa resolution libre. Ainsi, le nombre de points est donnes par la formule (forcementindependante de t) :

N =(t+ 2

2

)−

n∑i=1

(t− ki + 2

2

)+n−1∑i=1

(t− li + 2

2

).

Un calcul direct donne alors le resultat annonce. 2

Exemple 3.1.1 Dans le cas ou G est une intersection complete, i.e. G = (g1, g2), on retrouve bien lenombre de Bezout attendu.

De la proposition 3.1.5 on deduit la presentation graduee de R-modules de l’ideal G/I (rappelons queI ⊂ G) suivante :

n−1⊕i=1

R(−li)2⊕i=0

R(−di) ψ⊕φ−−−→n⊕i=1

R(−ki) γ−→ G/I → 0, (3.3)

51

Journees Nationales de Calcul Formel 2008 page 71

ou φ est la n× 2-matrice (hi,j)1≤i≤n,0≤j≤2 qui apparait dans (3.2). Noter que notre interet pour l’idealG/I est du a l’egalite, facile a verifier,

annR(coker(ψ ⊕ φ)) = annR(G/I) = (I : G)

Cette egalite nous conduit a un theoreme de Buchsbaum et Eisenbud (voir [BE77]) :

Proposition 3.1.7 Soit S un anneau noetherien et α : Sm → Sn un morphisme tel que m ≥ n. Alors

annS(coker(α))n ⊆ In(α) ⊆ annS(coker(α)),

ou In(α) designe l’ideal engendre par les n × n-mineurs de la matrice α. De plus, si depth(In(α)) =m− n+ 1, alors In(α) = annS(coker(α)).

Dans notre contexte, cette proposition montre que si In(ψ ⊕ φ) est de codimension attendue (n +2)− n+ 1 = 3, alors il est egal a l’ideal (I : G). De plus, si tel est le cas, nous connaissons un resolutionlibre de (I : G) :

Proposition 3.1.8 Soit S un anneau noetherien et α : Sm → Sn tel que m ≥ n. Le complexe d’Eagon-Northcott EN(α) de l’application α est exact (et donc fournit une resolution libre de S/In(α)) si etseulement si depth(In(α)) = m− n+ 1, la profondeur attendue.

Arretons-nous un instant sur ce complexe. Noter tout d’abord que si n = 1, ce complexe est simple-ment le complexe de Koszul associe a la suite formee des elements de la matrice-ligne Sm → S. En fait,comme le complexe de Koszul, le complexe d’Eagon-Northcott d’une application α donnee est construita partir des relations triviales de α. Pour l’illustrer, supposons que α est la n× (n+ 1)-matrice

α =

a1,1 · · · a1,n+1

......

an,1 · · · an,n+1

.

La premiere application de EN(α) est ∧nα : ∧n(Sn+1)→ ∧n(Sn) qui, en termes de base, envoie l’elementei1 ∧ . . .∧ ein sur le determinant ∆i1,...,in de la sous-matrice de α correspondant aux colonnes i1, . . . , in.Maintenant, si l’on regarde les relations triviales de ces n determinants, on doit choisir une ligne de α (ily a n possibilites), disons la ligne numero i, et ecrire que le determinant de la matrice (qui est α plus laligne i) ∣∣∣∣∣∣∣∣∣

ai,1 · · · ai,n+1

a1,1 · · · a1,n+1

......

an,1 · · · an,n+1

∣∣∣∣∣∣∣∣∣ = ai,1∆2,...,n+1 − ai,2∆1,3,...,n+1 + . . . = 0.

De cette facon, on obtient n relations triviales sur les determinants ∆ et donc une application S1(Sn∗)→∧n(Sn+1) correspondant a choisir une ligne dans α (ce qui explique le dual ”*”) et lui associer la relationtriviale que l’on vient de decrire. Si l’on respecte les regles de signe sur les determinants, alors il estfacile de constater que la derniere application n’est rien d’autre que la transposee de α. Nous avons ainsiconstruit le complexe d’Eagon-Northcott, qui est souvent appele le complexe d’Hilbert-Burch dans cecas.

Si maintenant l’on suppose que α est de taille n × (n + 2), nous devons alors ajouter une ligne a α(donc on a S1(Sn∗)) et choisir n+1 colonnes dans la nouvelle matrice obtenue a partir de α en ajoutantcette ligne, qui est de taille n× (n+ 1) (cela donne ∧n+1(Sn+2)). Nous obtenons ainsi le complexe

S1(Sn∗)⊗ ∧n+1(Sn+2)→ ∧n(Sn+2) ∧nα−−−→ ∧n(Sn).

La derniere etape est d’ajouter une nouvelle ligne de α a cette derniere matrice, ce qui correspond a unchoix dans S2(Sn∗). Finalement, le complexe d’Eagon-Northcott est donne par :

0→ S2(Sn∗)→ S1(Sn

∗)⊗ ∧n+1(Sn+2)→ ∧n(Sn+2) ∧nα−−−→ ∧n(Sn).

Revenons a notre situation.

52

Journees Nationales de Calcul Formel 2008 page 72

Theoreme 3.1.9 Les proprietes suivantes sont equivalentes :–√

(I : G) = R– Isat = Gsat (c’est-a-dire I = G)– codim((I : G)) = 3– EN(ψ ⊕ φ) est acyclique– (I : G) n’a que des relations triviales

Nous avons ainsi que EN(ψ ⊕ φ) n’est pas acyclique si et seulement si I G, c’est-a-dire que lespolynomes f0, f1, f2 definissent un point qui n’est pas defini par G, au sens des schemas.

Supposons que nous ayons un ideal I tel que codim(I : G) = 3. Par le theoreme precedent, EN(ψ⊕φ)fournit une resolution libre graduee de R-modules de R/(I : G). Il s’en suit que nous pouvons borner saregularite (au sens de Castelnuovo), et donc l’indice de saturation, de (I : G) :

Corollaire 3.1.10 Supposons que codim(I : G) = 3, alors (I : G) est ν-regulier pour tout ν ≥ d0 + d1 +d2 − 2(kn + 1) (rappelons que kn = min ki).

Preuve. Nous avons juste a ecrire les ”shifts” sur les degres du complexe d’Eagon-Northcott EN(ψ ⊕ φ).L’application a considerer est

ψ ⊕ φ : E :=n−1⊕i=1

R(−li)2⊕i=0

R(−di) −→ F :=n⊕i=1

R(−ki),

et EN(ψ ⊕ φ) est le complexe :

0→ ∧n+2E ⊗ S2(F ∗)⊗ ∧nF ∗ → ∧n+1E ⊗ S1(F ∗)⊗ ∧nF ∗

→ ∧nE ⊗ S0(F ∗)⊗ ∧nF ∗ → R→ R/(I : G)→ 0.

Le terme le plus a gauche a un ”shift” de −d0 − d1 − d2 −∑li provenant de ∧n+2E,

∑ki provenant de

∧nF ∗, et aussi kikj provenant de S2(F ∗). Il vient alors que R/(I : G) est (d0+d1+d2−2kn−3)-regulier. 2

Nous sommes maintenant en mesure d’enoncer une generalisation du corollaire 3.1.3 :

Corollaire 3.1.11 Soit ν un entier tel que ν ≥ d0 + d1 + d2 − 2(kn + 1), alors codim(I : G) ≤ 2 si etseulement si l’application ∧n(ψ ⊕ φ)ν n’est pas surjective, c’est-dire n’est pas de rang maximal

(ν+22

).

Preuve. Similaire a la preuve du corollaire 3.1.3. 2

Remarque 3.1.12 Ce corollaire generalise le corollaire 3.1.3 puisqu’on obtient ce dernier en prenantG = R (et donc kn = 0).

Ce corollaire est le point de depart de la definition et du calcul d’une representation matricielle d’unresultant avec point bases fixes dans le plan. Nous y reviendrons a la fin du chapitre.

Pour terminer, nous finissons avec l’exemple (3.1) des trois cercles : f0 = a0z2 + a1xz + a2yz + a3(x2 + y2)

f1 = b0z2 + b1xz + b2yz + b3(x2 + y2)

f2 = c0z2 + c1xz + c2yz + c3(x2 + y2)

L’ideal G est ici G = (z, x2 + y2), deux points en intersection complete. La resolution de G est donnee

par le complexe de Koszul et donc ψ =(x2 + y2

−z)

. La matrice ψ ⊕ φ est donc

(x2 + y2 a0z + a1x+ a2y b0z + b1x+ b2y c0z + c1x+ c2y−z a3 b3 c3

)53

Journees Nationales de Calcul Formel 2008 page 73

La borne de regularite, donc de l’indice de saturation, est ici 6− 4 = 2. et doc la matrice ∧2(ψ⊕ φ)2 estde taille 6× 12 et est de la forme :0BBBBBBBBBBBB@

a0 b0 c0 0 0 0

0 0 0 −b1c3 + c1b3 −b2c3 + c2b3 −c1a3 + a1c3 · · ·a1 b1 c1 0 −c3b0 + b3c0 0

c2 b2 c2 −c3b0 + b3c0 0 a0c3 − c0a3 · · ·a3 b3 c3 0 −b1c3 + c1b3 0

a3 b3 c3 −b2c3 + c2b3 0 −c2a3 + a2c3

1CCCCCCCCCCCCA.

3.2 Resultant general d’un systeme polynomial

The theory of resultant is devoted to the study of conditions on the coefficients of an overdeterminedsystem to have a solution in a fixed variety. The typical situation is the case of a system of n+1 equationsin a projective variety X of dimension n, of the form :

fc :=

f0(x) =

∑k0j=0 c0,j ψ0,j(x)

...fn(x) =

∑kn

j=0 cn,j ψn,j(x)

where c = (ci,j) are parameters, x is a point of X, and such that for all i = 0, . . . , n we have a regularmap (independent of c)

φi : x ∈ X 7→ (ψi,0(x) : . . . : ψi,ki(x)) ∈ Pki .

In the language of modern algebraic geometry, to each map φi is associated an invertible sheaf Li =φ∗(OPki (1)), and a vector subspace Vi = 〈ψi,0, . . . , ψi,ki

〉 of its global sections Γ(X,Li) (see [Har77], II.7).In this way, the K-vector space Vi parameterizes all the polynomials fi that we can obtain by specializingthe coefficients (ci,j)j=0,...,ki in K. As two polynomials fi and gi such that fi = λgi with λ ∈ K∗ definethe same zero locus, it is convenient to identify them, and hence to parameterize polynomials fi by theprojective space P(Vi) ' Pki .

The projection (or elimination) problem consists, in this case, in finding necessary (and sufficient)conditions on c such that the system fc = 0 has a solution in X. Considering a geometric point of view,we look for the values of parameters c = (ci,j) ∈ Pk0 × · · · × Pkn such that there exists x ∈ X withfi(x) =

∑ki

j=0 ci,jψi,j(x) = 0 for i = 0, . . . , n. In other words, c is the first projection of the point (c, x)in the incidence variety

WX = (c, x) ∈ Pk0 × · · · × Pkn ×X : fi(x) = 0, i = 0, . . . , n.We denote by π1 : WX → Pk0 × · · · × Pkn and π2 : WX → X the first and second projections. The

image by π2 of a point of WX is a solution in X of the associated system, and the image of WX by π1 isprecisely the set of values of parameters c for which the system has a root in X. We define the resultantof f0, . . . , fn when π1(WX) is an irreducible hypersurface, and we denote ResV0,...,Vn

its equation (uniqueup to a non-zero multiple in K).

Definition 3.2.1 Let L be an invertible sheaf on X and V be a vector subspace of the vector space ofits global sections H0(X,L).

– The base points of V are the points x ∈ X such that f(x) = 0 for all f ∈ V .– V is said to be very ample if the canonical map

x ∈ X 7→ f ∈ V : f(x) = 0 ∈ P(V )

is an embedding, or equivalently, if V separates the points and the tangent vectors in X (see [GH94]p.180).

– V is said to be very ample almost everywhere if there exists a dense open subset U of X such thatthe restricted map

x ∈ U 7→ f ∈ V : f(x) = 0 ∈ P(V )

is an embedding.

54

Journees Nationales de Calcul Formel 2008 page 74

Theoreme 3.2.2 ([BEM01] proposition 1) Suppose that each Vi is very ample almost everywhere andhas no base points, then π1(WX) is a hypersurface of

∏ni=0 Pki . Its degree in the coefficients of fi (that

is w.r.t. to Pki) is∫X

∏j 6=i c1(Lj), where c1(Lj) denotes the first Chern class of the invertible sheaf Lj.

Remarque 3.2.3 It is clear that if Vi is very ample then Vi has no base points and Vi is very amplealmost everywhere. Consequently the mixed resultant of [GKZ94b] is contained in this theorem.

If the system fc satisfies the hypothesis of theorem 3.2.2, ResV0,...,Vnis a function on

∏ni=0 Pki satis-

fying the property

ResV0,...,Vn(f0, . . . , fn) = 0⇔ ∃ x ∈ X : f0(x) = · · · = fn(x) = 0.

By construction ResV0,...,Vn is multihomogeneous, its degree in the coefficients of fi is given by the“explicit formula”

∫X

∏j 6=i c1(Lj). This number can be seen as the number of solutions of a generic

system x ∈ X : fj(x) = 0 : j = 0, . . . , n, j 6= i.As we will see in the next section, a lot of known resultants as classical resultants, toric resultants or

anisotropic resultants are obtained from theorem 3.2.2 by choosingX and V0, . . . , Vn adequately. Howeverthis construction of resultant degenerates if the system fc has base points (i.e. π1(WX) =

∏ni=0 Pki). Such

systems with base points arise very often in practice, so we now generalize the preceding construction ofresultants, taking into account the possible presence of base points.

From now on, we only suppose that the maps φi are rational and not necessarely regular (i.e. possiblywith base points), each vector space Vi being a subvector space of the global sections of a given invertiblesheaf Li. We will use a standard tool in algebraic geometry to “erase” base points, called the blowing-up.The basic idea is to blow-up X along the base points locus of the system fc, then obtain a new projectivevariety X of the same dimension where the pull-back of our system fc can be seen without base points,and finally apply theorem 3.2.2. Roughly speaking we blow-up the ideal of X associated to the union ofbase points of each Vi, for i = 0, . . . , n. More precisely, we blow-up the ideal sheaf I on X obtained asthe image of the morphism of sheaves (⊕ni=0Vi)⊗K (⊕ni=0L∗i )→ OX , induced by the canonical morphism⊕ni=0Vi ⊗K OX → ⊕ni=0Li. We denote the blow-up of X along I by π : X → X. The new incidencevariety is

WX = (c, x) ∈ Pk0 × · · · × Pkn × X : fi(x) = 0, i = 0, . . . , n,where fi denotes the virtual transform of fi by π, that is the pull-back π∗(fi) of fi seen as a sectionof π∗(Li) ⊗ π−1I.OX . Denoting by π1 : WX → Pk0 × · · · × Pkn and π2 : WX → X the two naturalprojections, we obtain the following corollary of theorem 3.2.2.

Corollaire 3.2.4 ([Bus01a] proposition 2.2.4) Suppose that each Vi is very ample almost everywhere,then π1(WX) is a hypersurface of

∏ni=0 Pki . Its degree in the coefficients of fi (that is w.r.t. to Pki) is

given by∫X

∏j 6=i c1(Lj)⊗ π−1I.OX .

Moreover if there is no base points, then the ideal sheaf I is exactly OX , and π is the identity X → Xso that we recover the construction of resultants of theorem 3.2.2. Consequently, as soon as the Vi’s arevery ample almost everywhere, we construct a resultant for the system fc denoted by ResV0,...,Vn

anddefined as the equation of the hypersurface π1(WX). It is, as usual, multihomogeneous and satisfies

ResV0,...,Vn(f0, . . . , fn) = 0⇔ ∃ x ∈ X : f0(x) = · · · = fn(x) = 0.

Notice that this resultant depend only on the birational equivalent class of X and the vector spacesV0, . . . , Vn (and not on the Li’s ; see [Bus01a] chapter 2 for more details).

We have thus constructed a general resultant which is valid for a very large range of systems fc, butit remains to compute it !

3.3 Exemples de resultants particuliers

In this section we give several examples of resultants as particular cases of the previous constructionand show how to compute them.

55

Journees Nationales de Calcul Formel 2008 page 75

3.3.1 Macaulay resultant

The classical case studied in [Mac02], [VdW48], is the case where X is the projective space Pn andVi, for i = 0, . . . , n, is the vector of all monomials of a fixed degree di. Clearly, when di ≥ 1 eachLi = OX(di) separates the points and the tangent vectors and thus ResV0,...,Vn is well defined. It istraditionally denoted ResPn . By theorem 3.2.2 (or Bezout theorem), its degree with respect to Vi is∏j 6=i dj .The necessary and sufficient condition on c such that f0, . . . , fn have a common root in Pn is

ResPn(fc) = 0. Macaulay’s construction [Mac02] of the classical resultant can be seen as an exten-sion of Sylvester’s method to the multivariate case. We describe it in the affine setting by substitutingx0 = 1, x1 = t1, . . . , xn = tn.

Let ν =∑ni=0 di−n and tF be the set of all monomials in t of degree ≤ ν. It contains (ν+nn ) elements.

Let tdnn tEn be the set of all monomials of tF which are divisible by tdn

n . For i = n − 1, . . . , 1, we defineby induction tdi

i tEi to be the set of all monomials of tF \ (tdnn tEn ∪ . . . ∪ tdi+1

i+1 tEi+1) which are divisibleby tdi

i . The set tF \ (tdnn tEn ∪ . . . ∪ td11 tE1) is denoted by tE0 and is equal to

tE0 = tα11 · · · tαn

n : 0 ≤ αi ≤ di − 1.It has d1 · · · dn monomials.

If E ⊂ Nn, 〈tE〉 denotes the vector subspace generated by the set tE .The resultant matrix S is the matrix in monomial bases of the linear map :

S : 〈tE0〉 × · · · × 〈tEn〉 → 〈tF 〉 (3.4)

(q0, . . . , qn) 7→n∑i=0

qifi.

The determinant of S is generically not 0 (for it does not vanish when we specialize fi to tdii ) and has

the same degree∏ni=1 di as the resultant with respect to V0. Therefore

det(S) = ResPn(fc) ∆(f1, . . . , fn),

where ∆(f1, . . . , fn) is a subminor of S depending only on the coefficients of f1, . . . , fn [Mac02].We remark that, if R = K[t1, . . . , tn], the map (3.4) is in fact connected to the first map of the Koszul

complex of the sequence f0, . . . , fn,

0→ ∧nRn dn−→ ∧n−1Rn −→ · · · −→ Rnd1−→ R,

in degree ν, where dl(ei1∧· · ·∧eil) =∑lj=1(−1)jfijei1∧· · · ei1 · · ·∧eil . Indeed as shown in [Dem84], [Cha]

the determinant of the Koszul complex is the classical resultant of f0, . . . , fn. For other constructions,also related to the Koszul complex and its dual which also yield the classical resultant sometimes in amore compact way, we refer to [Jou97], [WZ94], [DD01].

This resultant has been widely studied, and has a lot of properties ; a quasi-complete list can be foundin [Jou91b]. We recall two of them that we will use later, a weight invariance property and the so-calledPoisson’s formula.

For i = 0 . . . n, let fi =∑

|α|=dicα,ixα be the generic homogeneous polynomial of degree di. The

coefficients cα,i are considered as indeterminates, that is fi ∈ A[x] where A denotes the coefficient ringZ[cα,i, |α| = di].

Lemme 3.3.1 ([Jou91b] 5.13.2) Let m be a fixed integer in 0, 1, . . . , n. We graduate the ring A bysetting deg(cα,i) = αm. Then ResPn(f0, . . . , fn) ∈ Z[cα,i, |α| = di] is isobar (i.e. homogeneous for thisgraduation) of weight

∏ni=0 di in A.

This lemma is a corollary of a more general formula called the “changing basis formula” (see [Jou91b]5.12). We end this section with the well-known Poisson’s formula. For all i = 0, . . . , n, let fi(x1, . . . , xn) :=fi(1, x1, . . . , xn) and f i(x0, . . . , xn−1) := fi(0, x1, . . . , xn).

Lemme 3.3.2 ([Jou91b] 2.7, [CLO98] III.3.5) Let ρ = ResPn−1(f1, . . . , fn) ∈ A. We have

ResPn(f0, . . . , fn) = det(M(f0))ResPn−1(f1, . . . , fn)d0 ,

where M(f0) is the multiplication by f0 in Aρ[x1, . . . , xn]/(f1, . . . , fn−1).

56

Journees Nationales de Calcul Formel 2008 page 76

3.3.2 Anisotropic resultant

This resultant was introduced and studied by Jouanolou in [Jou91b] and [Jou96]. It is a generalizationof the classical resultant, taking into account the possible combinatorial properties of a polynomial systemand giving a more “reduced” eliminant polynomial. Instead of considering all the variables x0, . . . , xn ofthe same degree 1, we consider them with different weights.

Let m0,m1, . . . ,mn in N∗. Set µ = lcm(m0, . . . ,mn), δ = gcd(m0, . . . ,mn), and ∆ =m0m1 . . .mn

δ∈

N. We denote by C the polynomial ring K[x0, . . . , xn] with deg(xi) = 1, and by aC the same polynomialring but with deg(xi) = mi (the exponent a stands for anisotropic). Usually we consider the projectivespace Pn = Proj(C), but here we work on aPn = Proj(aC), that is the anisotropic projective space withweights (m0, . . . ,mn). Notice that from a geometrical point of view we have the canonical morphism

(x0 : · · · : xn) ∈ Pn 7→ (xm00 : · · · : xmn

n ) ∈ aPn.

Let X = aPn and Vi, for all i = 0, . . . , n, be the set of all isobar (i.e. homogeneous in the weightedvariables) monomials of degree di in aC, that is Vi is the vector space of global sections of the invertiblesheaf Li = OaPn

K (di). In section 3.3.1, we required that di ≥ 1 to fulfill the very ampleness condition forthe existence of the resultant. Here we have a similar hypothesis by assuming that µ|di for all i = 0, . . . , n.In this way the resultant ResV0,...,Vn , denoted aResPn , is well defined. It is also multi-homogeneous, and

its degree with respect to the coefficients of the polynomial fi is

∏j 6=i dj∆

(see [Jou91b] 6.3.5(A)).As for the classical resultant, there are different ways to compute it, the more commonly one is the

anisotropic Macaulay’s matrices, coming from the anisotropic Koszul complex (see [Jou96]). Anisotropicresultant and classical resultant are closely related, and almost all the classical resultant properties (asPoisson’s formula) can be extended to the anisotropic situation. We give the following result which showshow the anisotropic situation reduces to the classical one.

Lemme 3.3.3 ([Jou91b] 6.3.5(B)) Let f0, . . . , fn be isobar polynomials in aC of respective degree di,and let f ]i (x0, . . . , xn) = fi(xm0

0 , . . . , xmnn ) ∈ C. We have

ResPn(f ]0, . . . , f]n) = aResPn(f0, . . . , fn)∆.

3.3.3 Toric resultant

The toric (or sparse) resultant has been introduced in [KSZ92], then developed in [GKZ94b]. It takesinto account the monomial support of the input polynomials. Thus it is possible to work with polynomialshaving negative exponents, that is Laurent polynomials. Let fi(t) =

∑α∈Ai

cα,i tα, i = 0 . . . n, be n+ 1Laurent polynomials (where t = (t1, . . . , tn)) with supports into fixed sets Ai ⊂ Zn. To each finite setAi ⊂ Zn we can associate a projective toric variety XAi (not necessary normal, see [GKZ94b] chapter 5)which can be defined as the algebraic closure of the image of the map

σi : t ∈ (K∗)n 7→ (tα)α∈Ai ∈ PNi

where Ni = |Ai| − 1. Each fi(t) can thus be extended globally (by “homogenization”) as a linear formon XAi . In order to apply the previous resultant theory, we consider the projective variety X obtainedas the algebraic closure of the image of the map

σ : (K∗)n → XA0 × . . .×XAn

t 7→ (tα)α∈A0 × . . .× (tα)α∈An .

Denoting by KAi the subspace of polynomials with support in Ai, by construction,X ⊂ XA0×. . .×XAn⊂

P(KA0∗)× . . .× P(KAn

∗). We then define an invertible sheaf Li on X as the inverse image of the sheafO(1) from the factor P(KAi

∗), and set Vi = H0(X,Li). If we suppose that each Ai generates Rn as anaffine space and that all Ai together generate Zn as an affine lattice, then the resultant ResV0,...,Vn is welldefined (see [GKZ94b] VIII.1). Its degree with respect to each fi is the generic number of solutions ofthe system f0 = 0, . . . , fi−1 = 0, fi+1 = 0, . . . , fn = 0. By the BKK theorem [Ber75], this is the mixedvolume of Ajj 6=i, that is the coefficient of

∏j 6=i λj in Vol

(∑j 6=i λi Ai

)= MV(Ajj 6=i)

∏j 6=i λj + · · ·

where Vol denotes the usual Euclidean volume.The methods for constructing a Sylvester-type matrix are based on geometric properties of the sup-

ports Ai ([CP93], [CE93], see also the recent papers [D’A02], [Khe03]).

57

Journees Nationales de Calcul Formel 2008 page 77

3.3.4 Residual resultant

In many situations coming from practical problems, the polynomial system has commons zeroes whichare independent of the parameters, and which we are not interested in. We are going to present here howto compute the resultant in such a situation, under suitable assumptions.

Let g1, . . . , gr be r homogeneous polynomials of degree k1 ≥ . . . ≥ kr ≥ 1 in S = K[x0, . . . , xn], anddenote by G the ideal they generate. Being given n+ 1 integers d0 ≥ . . . ≥ dn greater or equal to k1, wewould like to compute the resultant associated to the system

fc :=

f0(x) =

∑ri=1 hi,0(x) gi(x)

...fn(x) =

∑ri=1 hi,n(x) gi(x)

(3.5)

where hi,j(x) =∑

|α|=dj−kici,jα xα is a homogeneous polynomial of degree dj−ki. For this we setX = Pn,

and Vi = H0(X,G(di)) for all i = 0, . . . , n, where G is the coherent ideal sheaf associated to G. The vectorspace Vi parameterizes all the homogeneous polynomials of degree di which are in the saturation of G.

Proposition 3.3.4 ([BEM01]) Suppose that G is a (projective) local complete intersection, and thatdn ≥ kr + 1. Then ResV0,...,Vn is well defined and satisfies

ResV0,...,Vn(f0, . . . , fn) = 0 ⇔ F sat Gsat ⇔ Z(F : G) 6= ∅.

where both ideals F sat and Gsat denote respectively the saturations of the ideals F = (f0, . . . , fn) and G.

From a geometrical point of view, the vanishing condition can be stated in the blow-up X of X alongthe ideal sheaf G, that we denote by π : X → X. We have

ResV0,...,Vn(f0, . . . , fn) = 0⇔ ∃ x ∈ X : fi(x) = 0 ∀i ∈ 0, . . . , n,

where fi denotes the section π∗(fi) ∈ H0(X,π−1G.OX ⊗ π∗(OX(di))), i.e. the virtual transform of fi byπ. In particular, if there exists a point x ∈ X \ Z(G) such that fi(x) = 0 for all i = 0, . . . , n, then wededuce that ResV0,...,Vn(f0, . . . , fn) = 0.

The explicit computation of ResV0,...,Vn is known in two cases : the case where G is supposed to be acomplete intersection [BEM01] (see also [BKM90, CU02, Bus01a]), and the case where G is supposed tobe a (projective) local complete intersection codimension 2 arithmetically Cohen-Macaulay (abbreviatedACM) ideal [Bus01a]. Since we are interested in applications to CAGD, we present only the second casewhich was originally designed for surface implicitization, taking X = P2 [Bus01b] (point out that asaturated ideal in P2 of codimension 2 is ACM).

The hypothesis G is ACM of codimension 2 is made to have, using Hilbert-Burch theorem (see [Eis95]theorem 20.15), the following free resolution of G :

0→r−1⊕i=1

S[−li] ψ−→r⊕i=1

S[−ki] γ=(g1,...,gr)−−−−−−−−→ G→ 0, (3.6)

with∑r−1i=1 li =

∑ri=1 ki. It follows that the Eagon-Northcott complex associated to the graded map

r−1⊕i=1

S[−li]n⊕i=0

S[−li] ψ⊕φ−−−→r⊕i=1

S[−ki],

where φ is the matrix (hi,j)1≤i≤r,0≤j≤n resolves the ideal (F : G), and hence the determinants of someof its graded parts are exactly ResV0,...,Vn . This result gives a first algorithm to compute ResV0,...,Vn , andalso its multi-degree as an Euler characteristic. A closed formula for all n is difficult to state, but we cando the computation “by hand” in the useful case of P2, and we obtain that ResV0,V1,V2 is homogeneousin the coefficient of each fi, i = 0, 1, 2, of degree

d0d1d2

di−∑n−1j=1 l

2j −

∑nj=1 k

2j

2.

Another consequence of this formulation in terms of determinant of complex is the usual “gcd maximalminors” property of resultants :

58

Journees Nationales de Calcul Formel 2008 page 78

Theoreme 3.3.5 We denote by ∆i1,...,ir the determinant of the submatrix of the map φ⊕ψ correspondingto columns i1, . . . , ir, and by αi1,...,ir its degree. Then, for any ν ≥∑n

i=0 di − n(kr + 1), the morphism

∂ν :⊕

0≤i1<...<ir≤nSν−αi1,...,ir

ei1 ∧ . . . ∧ eir −→ Sν

ei1 ∧ . . . ∧ eir 7→ ∆i1...ir

is surjective if and only if Z(F : G) = ∅ (or F sat = Gsat). In this case, all non-zero maximal minors ofsize dimK(Sν) of the matrix ∂ν is a multiple of ResV0,...,Vn , and the gcd of all these maximal minors isexactly the residual resultant.

3.4 Bezoutien et calcul du resultant

We have seen that we can compute the resultant in presence of base points (if the base points locus isa complete intersection or a local complete intersection ACM of codimension 2) with similar algorithmsto the ones known for the classical resultant.

We have also seen (corollary 3.2.4) that if X = Pn and V0, . . . , Vn are very ample almost everywhere,we can define its resultant ResV0,...,Vn . Let us see now how to compute a non-zero multiple of it in thisgeneral case (see [BEM00] for more details).

Definition 3.4.1 The Bezoutian Θf0,...,fn of f0, . . . , fn ∈ S is the element of S ⊗K S defined by

Θf0,...,fn(t, z):=

∣∣∣∣∣∣∣f0(t) θ1(f0)(t, z) · · · θn(f0)(t, z)

......

......

fn(t) θ1(fn)(t, z) · · · θn(fn)(t, z)

∣∣∣∣∣∣∣,where

θi(fj)(t, z) :=fj(z1, . . . , zi−1, ti, . . . , tn)− fj(z1, . . . , zi, ti+1, . . . , tn)

ti − zi .

Let Θf0,...,fn(t, z) =

∑θαβ tαzβ , θα,β ∈ K. The Bezoutian matrix of f0, . . . , fn is the matrix Bf0,...,fn

=(θαβ)α,β.

The Bezoutian was used by Bezout to construct the resultant of two polynomials in one variable [Bez79].In the multivariate case, we have the following property.

Theoreme 3.4.2 Assume that each Vi is very ample almost everywhere, then any maximal minor ofthe Bezoutian matrix Bf0,...,fn is divisible by the resultant ResV0,...,Vm(f0, . . . , fn).

Remarque 3.4.3 It is possible to use other birational transformations than blowing-up to define theresultant. For instance, in [BEM00] it was proved that this general residual resultant can also be construc-ted with any birational morphism from a dense open subset of X to a projective space. This point ofview generalizes monomial parameterizations used to define the toric resultant to polynomial parame-terizations. We refer to [BEM00] for more details and conditions similar to “very ampleness almosteverywhere”.

59

Journees Nationales de Calcul Formel 2008 page 79

60

Journees Nationales de Calcul Formel 2008 page 80

Bibliographie

[AJ06] Francois Apery and Jean-Pierre Jouanolou. Elimination : le cas d’une variable. Hermann,collection Methodes, 2006.

[BE77] David A. Buchsbaum and David Eisenbud. What annihilates a module ? J. Algebra, 47(2) :231–243, 1977.

[BEM00] Laurent Buse, Mohamed Elkadi, and Bernard Mourrain. Generalized resultants over unirationalalgebraic varieties. J. Symbolic Comput., 29(4-5) :515–526, 2000. Symbolic computation inalgebra, analysis, and geometry (Berkeley, CA, 1998).

[BEM01] L. Buse, M. Elkadi, and B. Mourrain. Resultant over the residual of a complete intersection.J. Pure Appl. Algebra, 164(1-2) :35–57, 2001. Effective methods in algebraic geometry (Bath,2000).

[BEM03] L. Buse, M. Elkadi, and B. Mourrain. Using projection operators in computer aided geometricdesign. In Topics in Algebraic Geometry and Geometric Modeling,, pages 321–342. Contempo-rary Mathematics, 2003.

[Ber75] D. N. Bernstein. The number of roots of a system of equations. Funkcional. Anal. i Prilov zen.,9(3) :1–4, 1975.

[Bez79] E. Bezout. Theorie Generale des Equations Algebriques. Paris : Ph.-D. Pierres, 1779.

[BKM90] W. Bruns, A. R. Kustin, and M. Miller. The resolution of the generic residual intersection ofa complete intersection. Journal of Algebra, 128 :214–239, 1990.

[BM07] L. Buse and B. Mourrain. Explicit factors of some iterated resultants and discriminants. Toappear in Math. Comp. Preprint at http ://hal.inria.fr/inria-00119287/en/, 2007.

[Bou69] Nicolas Bourbaki. Resultant, Discriminant (etat 2). Unpublished appendix of Algebre, Ch. IV,July 1969.

[Bou81] Nicolas Bourbaki. Elements de mathematique. Masson, Paris, 1981. Algebre. Chapitres 4 a 7.[Algebra. Chapters 4–7], Lecture Notes in Mathematics, 864.

[Bou85] Nicolas Bourbaki. Elements de mathematique. Masson, Paris, 1985. Algebre commutative.Chapitres 5 a 7. [Commutative algebra. Chapters 5–7], Reprint.

[Bus01a] Laurent Buse. Etude du resultant sur une variete algebrique. PhD thesis, Universite de NiceSophia Antipolis, 2001.

[Bus01b] Laurent Buse. Residual resultant over the projective plane and the implicitization problem.In Proceedings of the 2001 International Symposium on Symbolic and Algebraic Computation,pages 48–55 (electronic), New York, 2001. ACM.

[CE93] J. Canny and I. Emiris. An efficient algorithm for the sparse mixed resultant. In G. Cohen,T. Mora, and O. Moreno, editors, Proc. Intern. Symp. on Applied Algebra, Algebraic Algorithmsand Error-Corr. Codes (Puerto Rico), volume 673 of Lect. Notes in Comp. Science, pages 89–104. Springer, 1993.

[Cha] Marc Chardin. Implicitization using approximation complexes. To appear andmath.AC/0503180.

61

Journees Nationales de Calcul Formel 2008 page 81

[CLO98] David Cox, John Little, and Donal O’Shea. Using algebraic geometry, volume 185 of GraduateTexts in Mathematics. Springer-Verlag, New York, 1998.

[CP93] J. Canny and P. Pedersen. An algorithm for the Newton resultant. Technical Report 1394,Comp. Science Dept., Cornell University, 1993.

[CT78] P. Cartier and J. Tate. A simple proof of the main theorem of elimination theory in algebraicgeometry. Enseign. Math. (2), 24(3-4) :311–317, 1978.

[CU02] Marc Chardin and Bernd Ulrich. Liaison and Castelnuovo-Mumford regularity. Amer. J. Math.,124(6) :1103–1124, 2002.

[D’A02] Carlos D’Andrea. Macaulay style formulas for sparse resultants. Trans. Amer. Math. Soc.,354 :2595–2629, 2002.

[DD01] Carlos D’Andrea and Alicia Dickenstein. Explicit formulas for the multivariate resultant. J.Pure Appl. Algebra, 164(1-2) :59–86, 2001. Effective methods in algebraic geometry (Bath,2000).

[Dem84] Michel Demazure. Une definition constructive du resultant. Preprint of the ”Notes Informellesde Calcul Formel”, http://www.gage.polytechnique.fr/notes/1984-1994.html, may 1984.

[Eis95] David Eisenbud. Commutative algebra, volume 150 of Graduate Texts in Mathematics. Springer-Verlag, New York, 1995. With a view toward algebraic geometry.

[Eis05] David Eisenbud. The geometry of syzygies, volume 229 of Graduate Texts in Mathematics.Springer-Verlag, New York, 2005. A second course in commutative algebra and algebraic geo-metry.

[EM07] Mohamed Elkadi and Bernard Mourrain. Introduction a la resolution des systemes polynomiaux,volume 59 of Mathematiques & Applications (Berlin) [Mathematics & Applications]. Springer,Berlin, 2007.

[GH94] Phillip Griffiths and Joseph Harris. Principles of algebraic geometry. Wiley Classics Library.John Wiley & Sons Inc., New York, 1994. Reprint of the 1978 original.

[GKZ94a] I. M. Gelfand, M. M. Kapranov, and A. V. Zelevinsky. Discriminants, resultants, and mul-tidimensional determinants. Mathematics : Theory & Applications. Birkhauser Boston Inc.,Boston, MA, 1994.

[GKZ94b] I.M. Gelfand, M.M. Kapranov, and A.V. Zelevinsky. Discriminants, Resultants and Multidi-mensional Determinants. Boston, Birkhauser, 1994.

[GVL96] Gene H. Golub and Charles F. Van Loan. Matrix computations. Johns Hopkins Studies in theMathematical Sciences. Johns Hopkins University Press, Baltimore, MD, third edition, 1996.

[Har77] Robin Hartshorne. Algebraic geometry. Springer-Verlag, New York, 1977. Graduate Texts inMathematics, No. 52.

[Har92] Joe Harris. Algebraic geometry, volume 133 of Graduate Texts in Mathematics. Springer-Verlag,New York, 1992. A first course.

[Jou91a] Jean-Pierre Jouanolou. Le formalisme du resultant. Adv. Math., 90(2) :117–263, 1991.

[Jou91b] Jean-Pierre Jouanolou. Le formalisme du resultant. Adv. Math., 90(2) :117–263, 1991.

[Jou96] Jean-Pierre Jouanolou. Resultant anisotrope, complements et applications. Electron. J. Com-bin., 3(2) :Research Paper 2, approx. 91 pp. (electronic), 1996. The Foata Festschrift.

[Jou97] Jean-Pierre Jouanolou. Formes d’inertie et resultant : un formulaire. Adv. Math., 126(2) :119–250, 1997.

[Khe03] Amit Khetan. The resultant of an unmixed bivariate system. J. Symbolic Comput., 36(3-4) :425–442, 2003. International Symposium on Symbolic and Algebraic Computation (ISSAC’2002)(Lille).

[KSZ92] M. M. Kapranov, B. Sturmfels, and A. V. Zelevinsky. Chow polytopes and general resultants.Duke Math. J., 67(1) :189–218, 1992.

[Lan02] Serge Lang. Algebra, volume 211 of Graduate Texts in Mathematics. Springer-Verlag, New York,third edition, 2002.

[Mac02] F.S. Macaulay. Some formulae in elimination. Proc. London Math. Soc., 1(33) :3–27, 1902.

62

Journees Nationales de Calcul Formel 2008 page 82

[Poi02] Poisson. Memoire sur l’elimination dans les equations algebriques. Journal de l’Ecole Polytech-nique, IV :199–203, 1802.

[VdW48] B. L. Van der Waerden. Modern algebra, Vol. II. New-York, Frederick Ungar Publishing Co,1948.

[WZ94] Jerzy Weyman and Andrei Zelevinsky. Determinantal formulas for multigraded resultants. J.Algebraic Geom., 3(4) :569–597, 1994.

63

Journees Nationales de Calcul Formel 2008 page 83

Les codes algebriques principaux et leur decodage

Daniel Augot

Septembre 2008

Journees Nationales de Calcul Formel 2008 page 85

2

Journees Nationales de Calcul Formel 2008 page 86

Table des matieres

1 Les codes algebriques principaux 51.1 Correction d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Codes de Reed-Solomon . . . . . . . . . . . . . . . . . . . . . . . 71.3 Bornes sur les codes . . . . . . . . . . . . . . . . . . . . . . . . . 91.4 Codes geometriques . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.1 Codes « multivaries » . . . . . . . . . . . . . . . . . . . . 111.4.2 Codes definis par courbes algebriques . . . . . . . . . . . 12

1.5 Diviseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Decodage par syndrome 172.1 Le principe du decodage par syndrome . . . . . . . . . . . . . . . 172.2 Decodage des codes de Reed-Solomon . . . . . . . . . . . . . . . 17

2.2.1 Suites recurrentes lineaires . . . . . . . . . . . . . . . . . 192.2.2 Algorithme de Berlekamp-Massey . . . . . . . . . . . . . . 19

2.3 Decodage des des codes geometriques CΩ . . . . . . . . . . . . . 202.3.1 Preliminaires . . . . . . . . . . . . . . . . . . . . . . . . . 202.3.2 Transformee generalisee . . . . . . . . . . . . . . . . . . . 22

2.4 Algorithme Berlekamp-Massey-Sakata . . . . . . . . . . . . . . . 252.4.1 Ensembles deltas . . . . . . . . . . . . . . . . . . . . . . . 252.4.2 Polynomes valides et invalides . . . . . . . . . . . . . . . . 262.4.3 Predictions . . . . . . . . . . . . . . . . . . . . . . . . . . 272.4.4 L’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 282.4.5 Terminaison dans le cas d’un tableau periodique . . . . . 30

2.5 Procedure de vote pour Berlekamp-Massey-Sakata . . . . . . . . 302.6 Variantes et generalisations . . . . . . . . . . . . . . . . . . . . . 30

3 Decodage par interpolation 333.1 Algorithme de Berlekamp-Welch . . . . . . . . . . . . . . . . . . 33

3.1.1 Cas des codes de Reed-Solomon . . . . . . . . . . . . . . . 333.1.2 Cas des codes geometriques . . . . . . . . . . . . . . . . . 35

3.2 Algorithme de Sudan . . . . . . . . . . . . . . . . . . . . . . . . . 363.3 Generalisation aux codes geometriques . . . . . . . . . . . . . . . 383.4 Algorithme de Guruswami-Sudan . . . . . . . . . . . . . . . . . . 403.5 Generalisation au codes geometriques . . . . . . . . . . . . . . . . 423.6 Retour de l’algorithme Berlekamp-Massey-Sakata . . . . . . . . . 44

3

Journees Nationales de Calcul Formel 2008 page 87

4 TABLE DES MATIERES

A Preuve de l’algorithme BMS 47A.1 Preuve de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 47A.2 Cas de l’algorithme de Berlekamp-Massey . . . . . . . . . . . . . 48

Journees Nationales de Calcul Formel 2008 page 88

Chapitre 1

Les codes algebriquesprincipaux

1.1 Correction d’erreur

Le sujet de la theorie des codes correcteurs d’erreur est la transmission fiabled’informations sur un canal de transmission bruite, en utilisant des objets com-binatoires et algorithmiques appeles codes correcteurs d’erreurs.

Dans un mecanisme de transmission, il y a trois entites : l’emetteur, lerecepteur et le canal de transmission. L’objectif de l’emetteur est de communi-quer au recepteur un message m. Le canal de transmission bruite est capablede communiquer des suites arbitrairement longues de symboles d’un alphabet Σ(un des cas les plus importants etant Σ = 0, 1). Alors l’espace des messages acoder est Σk, l’ensemble des suites de symboles de longueur k. On note les motsm = (m0, . . . ,mk−1) « horizontalement ».

Emetteur et recepteur se mettent d’accord sur la longueur n des suites codeesa transmettre, appelee la longueur du code, les messages echanges appartenantdonc a Σn, que l’on appellera l’espace ambiant. L’emetteur et le recepteur semettent aussi d’accord sur une fonction de codage, E, injective : E : Σk → Σn,utilisee pour coder les messages avant transmission. L’image C = E(m), m ∈M est appele le code. Le rapport k/n, note R, est le taux de transmission ourendement du code, c’est le premier parametre fondamental d’un code.

Prescrivons maintenant une structure de corps fini sur l’alphabet Σ, Σ = Fq,ce qui induit une structure d’espace vectoriel sur Σn. On se restreint aux codeslineaires c’est-a-dire a l’image par une application lineaire de Fkq dans Fnq , quel’on supposera toujours non singuliere. Dans ce cas, un code lineaire est un Fqsous-espace vectoriel de Fnq . On specifiera dorenavant un code lineaire C par samatrice generatrice, qui est une matrice dont les lignes forment une base de C.

Le mot de code c = E(m) etant emis, le canal de transmission produit unvecteur de bruit e ∈ Σn, et que le mot recu est y = E(m)+e. Le recepteur utilisealors une fonction de decodage D : Σn →M. Le decodage D doit etre rapide, etetre tel que D(y) = m, avec grande probabilite. Intuitivement, le code introduitune redondance en augmentant la longueur des messages, et cette redondanceest utilisee pour decoder le message transmis, meme s’il est bruite. Du point devue de la fiabilite de la transmission, la question fondamentale de la theorie de

5

Journees Nationales de Calcul Formel 2008 page 89

6 CHAPITRE 1. LES CODES ALGEBRIQUES PRINCIPAUX

codes est

Etant donnee une distribution de probabilite P sur le canal detransmission (i.e. une distribution de probabilite sur les erreurs detransmission), quelles sont les meilleures fonctions de codage et dedecodage, c’est-a-dire quelle est la plus petite probabilite d’erreur

minE,D

Em∈M

(Pre∈P

[D(E(m) + e) 6= m])

ou E designe l’esperance mathematique.

Shannon [Sha48] a etudie les proprietes asymptotiques de cette quantitequand la distribution du bruit sur Σn est la distribution produit d’une distri-bution sur Σ. Dans ce contexte, il existe une quantite C0 ∈ [0, 1], dependant ducanal, telle que pour tout R < C0 et ε > 0, et, pour n assez grand, il existe tou-jours un couple codage/decodage avec un code de taux R tel que la probabilited’erreur soit au plus ε.

Dans le cadre de cette presentation, nous ne considererons uniquement le casdu canal q-aire symetrique, defini de la maniere suivante : chaque symbole de Σtransmis est preserve avec une certaine probabilite 1− δ, ou bien est transformeen autre symbole parmi les q − 1 autres possible avec probabilite δ/(q − 1), lesevenements etant independants d’un symbole a l’autre.

D’un autre cote, Hamming a defini les notions de code correcteur d’erreuret de code detecteur d’erreur. Definissons le poids de Hamming d’une sequencex ∈ Σn comme le nombre de composantes non nulles de x, et la distance deHamming entre x et y comme le poids de la difference x − y (c’est-a-dire lenombre de composantes ou x et y different). C’est bien une distance. On definitalors la distance minimale d’un code C comme la plus petite distance entredeux mots distincts du code C. Le canal de transmission cree en general unvecteur e de petit poids, par exemple de poids borne par t. On dira qu’un codecorrecteur corrige t erreurs si les boules de rayon t centrees sur les mots de codene s’intersectent pas. En effet si le poids de l’erreur est inferieur a t, alors, siC est t-correcteur, il y a unicite du mot de code le plus proche. Une capacitede correction t implique que la distance minimale entre deux mots distincts ducode est superieure a 2t+ 1.

On parle alors de decodage unique car il y a unicite du mot de code a distancet du mot recu. Si toutefois on considere des rayons τ > t, avec tbd−1

2 c, il n’y aplus unicite des mots de code a distance τ du mot recu. Dans ce cas on demandeau decodeur de retourner la liste des mots a distance τ , et on parle de decodageen liste.

La distance minimale est le deuxieme parametre fondamental d’un code. Onparlera d’un code [n, k, d]q pour un code de longueur n, de dimension k et dedistance minimale d, defini sur le corps Fq. Du point de vue de Hamming, laquestion fondamentale est

Etant donne un alphabet Σ de taille q, et deux entiers n et k, k < n,quelle est la plus grande distance minimale relative d/n d’un codeC ⊆ Σn de taux de transmission k/n ?

En effet, une distance minimale elevee induit que le code est capable de corri-ger des erreurs de poids eleve. L’objectif d’avoir une bonne distance minimale etl’objectif d’avoir une grande dimension sont antagonistes : quand la dimension

Journees Nationales de Calcul Formel 2008 page 90

1.2. CODES DE REED-SOLOMON 7

croıt, le nombre de mots de code augmente, et la distance minimale diminue.Signalons immediatement que le probleme de Hamming n’est pas resolu quandla taille de l’alphabet est petite. Il y a une reponse satisfaisante a la questionquand q > n : les codes de Reed-Solomon.

1.2 Codes de Reed-Solomon

On considere le corps fini Fq, a q elements. Soient x1, . . . , xn, deux a deuxdistincts, avec n < q,

Definition 1. La fonction d’evaluation associee a x1, . . . , xn est

ev : Fq[x] → Fnqf(x) 7→ (f(x1), . . . , f(xn))

Definition 2 (Codes de Reed-Solomon). Soient x1, . . . , xn ∈ Fq, avec n <q, et xi 6= xj si i 6= j, et ev la fonction d’evaluation. Soit

Lk = f ∈ Fq[x]; deg f < k,

l’ensemble des polynomes de degre inferieur a k avec 0 ≤ k ≤ n. Le code deReed-Solomon de dimension k est

C = ev(Lk).

Proposition 1. Le code de Reed-Solomon de longueur n, de dimension k et desupport (x1, . . . , xn) est de distance minimale d = n− k + 1.

Demonstration. Un polynome de degre inferieur a k a au plus k−1 racines. Sonvecteur d’evaluation ev(f) a donc au moins n− k + 1 composantes non nulles.D’autre part, considerons par exemple le polynome f(x) =

∏k−1i=1 (X−xi). Alors

f(x) est tel que le poids de ev f(x) est exactement n− k + 1.

Les codes de Reed-Solomon ont aussi une definition duale, c’est-a-dire, pardes relations lineraires satisfaites par les mots de codes. On considere le code deReed-Solomon defini sur Fq, de longueur n = q − 1, de support x1, . . . , xn, etde dimension k. On suppose que

(x1, . . . , xn) = (α0, α, α2, . . . , αn−1), (1.1)

dans cet ordre exactement. On identifie le mot c = (c0, c1, . . . , cn−1) au po-lynome c(x) = c0 + c1x+ · · ·+ xn−1.

Theoreme 1. Soit n impair et α une racine n-ieme de l’unite sur F2. Un motc = c(x) est dans le code de Reed-Solomon, de longueur n, de dimension k etde support

(α0, α, α2, . . . , αn−1)

si et seulement si c(αi) = 0, pour i ∈ 1 . . . n− k.

Journees Nationales de Calcul Formel 2008 page 91

8 CHAPITRE 1. LES CODES ALGEBRIQUES PRINCIPAUX

Demonstration. Soit c = ev f(x), le polynome correspondant c(x) est

c(x) =n−1∑i=0

f(αi)xi

On a, par les proprietes de la transformee de Fourier discrete :

c(αj) = nfn−j

Puisque f est de degre strictement inferieur a k, les coefficients fk. . .fn−1 sontnuls, et donc c(αj) = 0 pour j = 1 . . . n− k.

Une maniere synthetique d’enoncer la proposition precedente est d’utiliserla notion de dual d’un code. Pour cela, on definit le produit scalaire standardsur Fnq .

Definition 3. Le produit scalaire standard de x, y ∈ Fnq est

x · y =n∑i=1

xiyi.

Pour un code C ⊂ Fnq , le code dual C⊥ de C est

C⊥ = y ∈ Fnq ; x · y = 0; ∀x ∈ C.

Proposition 2. Le dual du code de Reed-Solomon de dimension k de support(α0, α, α2, . . . , αn−1) est le code de Reed-Solomon de dimension n− k de memesupport.

Demonstration. Soit Ck le code de Reed-Solomon de dimension k de support(α0, α, α2, . . . , αn−1). Soit c = (c0, . . . , cn−1) un mot de Ck, on a c(1) = · · · =c(αn−k) = 0, soit matriciellement :

1 . . . 1α1

0 . . . α1n−1

......

αn−k−11 . . . αn−k−1

n−1

ct = 0

Les lignes de cette matrice sont ev(1), . . . ev(xn−k−1) qui forment une basedu code de Reed-Solomon de dimension n− k.

On a donc deux manieres de definir les codes de Reed-Solomon : soit commecodes d’evaluation, ou les mots de code sont des vecteurs d’evaluation de po-lynomes de degre controle, soit comme dual de codes d’evaluation. Cette dualitenous permettra de concevoir des algorithmes de decodage de nature differente,suivant que le code est vu comme code d’evaluation, ou comme codes definispar des syndromes.

La seconde partie de cette presentation portera sur le decodage des codesalgebrique vus comme codes duaux de codes structures (decodage par syn-drome), alors que la troisieme partie presentera le decodage de ces meme codes,vus comme codes d’evaluation (decodage par interpolation).

Journees Nationales de Calcul Formel 2008 page 92

1.3. BORNES SUR LES CODES 9

1.3 Bornes sur les codes

Proposition 3 (Borne de Singleton). Tout code lineaire C de parametres[n, k, d]q verifie k + d ≤ n+ 1.

Demonstration. Soit h1, . . . , hn−k une base de C⊥, et H la matrice (n− k)× ndont les lignes sont h1, . . . , hn−k. Alors, soit x = (x1, . . . , xn) un mot du code C,de poids w, on a Hxt = 0. Autrement dit, les positions i1, . . . , iw non nulles de x,ainsi que les coefficients xi1 , . . . , xiw de x imposent une relation de dependancelineaire sur les colonnes c1, . . . cn de H du type :

xi1ci1 + · · ·+ xiwciw = 0.

On a donc que la distance minimale de C est d si et seulement tout sous ensemblede d − 1 colonnes de H est independant, et s’il existe une famille libre de dcolonnes de H. Maintenant, le rang de H est n−k et c’est une borne superieurele nombre maximal de colonnes independantes. Donc

d− 1 ≤ n− k.

Definition 4. On dit qu’un code [n, k, d]q verifiant k + d = n + 1 est MDS(Maximum Distance Separable).

Les codes de Reed-Solomon atteignent cette borne et sont donc MDS. Est-cela fin de la theorie des codes ? Non, car la borne MDS est tres simple, et faitpas intervenir la taille de l’alphabet. On voit que les codes de Reed-Solomonpresente ici verifient n ≤ q − 1. Ils presentent donc le defaut d’etre de longueurbornee, a alphabet fixe.

Il y a des astuces permettant d’augmenter de deux la longueur des codesde Reed-Solomon sur des corps binaires [MS83, Chapitre 11]. On se sait pas sion peut faire mieux. Les resultats connus sont rassembles dans la « conjectureMDS » :

Proposition 4 (Conjecture MDS). Tous les codes MDS verifient n ≤ q+ 1,sauf si k = 4 et q − 1, auquel cas on a n ≤ q + 2.

Il faut donc des bornes qui fond intervenir la taille de l’alphabet. La plussimple de ces bornes est la borne de Hamming, qui fait intervenir la taille q deFq. Soit Vq(n, t) le nombre de mots dans une boule de rayon t dans Fnq . On a :

Vq(n, t) =t∑i=0

(q − 1)i(n

i

).

Proposition 5 (Borne de Hamming). Soit Aq(n, d) le plus grand cardinald’un code q-aire de longueur n, et de distance minimale d. Alors :

Aq(n, d) ≤ qn

Vq(n, t)

ou t = bd−12 c.

Journees Nationales de Calcul Formel 2008 page 93

10 CHAPITRE 1. LES CODES ALGEBRIQUES PRINCIPAUX

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

GV(2,y)MDS(2,y)Ham(2,y)

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

GV(256,y)MDS(256,y)Ham(256,y)

Fig. 1.1 – Comparaison des bornes asymptotiques de Singleton, de Hamming,et de Varshamov-Gilbert pour les corps a deux elements et a 256 elements. Onvoit que pour le corps a deux elements, ces bornes sont distantes, et que pourle « grand » corps, les bornes de Singleton et de Varshamov-Gilbert s’ecrasent,alors que la borne de Hamming ne devient plus significative

Demonstration. Les boules des rayons t, centrees sur les mots du code sontdisjointes. Il y en a au plus Aq(n, t).

Lorsque le rapport t/n est constant, rappelons qu’on a l’equivalent, quandn croıt :

logq Vq(n, t)n

≈ Hq(t/n),

ou Hq(x) est la fonction d’entropie q-aire, definie par

Hq(x) = x logq(q − 1)− x logq x− (1− x) logq(1− x),

La borne de Hamming prend alors la forme asymptotique suivante :

R ≤ 1−Hq(δ/2)

ou R = k/n est le taux de transmission, et δ = d/n est la distance minimale re-lative. La borne de Singleton donne R ≤ 1−δ. Les graphiques 1.1 montre l’ecartentre ces deux bornes. Il existe d’autres bornes superieures, plus pertinentes quela borne de Hamming et la borne de Singleton (bornes de Bassalygo-Elias, dePlotkin, de McEliece-Rodemich-Rumsey-Welch), voir [MS83].

Pour finir, nous donnons une borne inferieure, c’est-a-dire des valeurs R =k/n, et δ = k/n tel qu’il existe asymptotique-ment des codes de parametres[n, k, d]q quand n est assez grand.

Theoreme 2 (Borne de Varshamov-Gilbert). Si R ≤ 1 −Hq(δ), il existeune famille de codes lineaires de longueur n, de dimension k et de distanceminimale, telle que

limn→∞ k/n = R et lim

n→∞ d/n = δ.

Il est notable que la borne de Varshamov-Gilbert a longtemps ete conjectureecomme une borne superieure. Cependant, il a recemment ete montre dans le casbinaire qu’il existe des codes meilleurs que ceux predits par cette borne [GZ06].Dans le cas de corps de cardinal plus eleve, il existe de codes de parametresau dessus de la borne de Varshamov-Gilbert. Ces codes dit geometriques sontobtenus par la construction de Goppa [Gop77]. geometriques.

Journees Nationales de Calcul Formel 2008 page 94

1.4. CODES GEOMETRIQUES 11

1.4 Codes geometriques

1.4.1 Codes « multivaries »Comme on l’a vu, les codes de Reed-Solomon sont MDS : leur dimension k

et leur distance minimale verifient k + d = n + 1, n etant leur longueur, cesparametres etant les meilleurs possibles. Leur principal defaut est d’etre definisur un alphabet de taille q superieure a n : a alphabet fixe, on ne peut pas avoirdes codes MDS de longueur croissante. Une maniere naturelle est de passer dansun contexte multivarie.

On va donc considerer le corps Fq, et une enumeration P1, . . . , Pqm despoints de Fmq = P1, . . . , Pqm. Dans un premier temps, nous notons n = qm, etnous considerons tous les points de Fmq .

Definition 5. La fonction d’evaluation associee aux points P1, . . . , Pn est

ev : Fq[x1, . . . , xm] → Fqnqf(x1, . . . , xm) 7→ (f(P1), . . . , f(Pn))

Definition 6 (Codes de Reed-Muller generalise). Soit P1, . . . , Pn despoints distincts de Fmq et ev la fonction d’evaluation associee. On considerel’espace

Lr = f ∈ Fq[x]; deg f 6 rl’ensemble des polynomes de degre inferieur a r. Le code de Reed-Muller d’ordrer est

C = ev(Lr),

ou 0 6 r 6 m(q − 1).

En comptant le nombre de monomes de degre inferieur a r, et en utilisant lelemme de Schwartz-Zippel [Zip79, Sch80] sur le nombre de zeros d’un polynomemultivarie sur un corps fini, on peut determiner la dimension et la distanceminimale des codes de Reed-Muller.

Proposition 6 (Lemme de Schwartz-Zippel). Soit f ∈ Fq[x1, . . . , xm] dedegre total au plus egal a r. Alors le nombre de zeros de f sur Fmq est borne parrqm−1.

Corollaire 1. Pour r 6 q−1, le code de Reed-Muller d’ordre r a pour dimension(r+mm

)et (q − r)qm−1 comme distance minimale.

Pour r, plus eleve, la taille du corps intervient en ligne de compte. Soitr = u(q − 1) + s < m(q − 1) la distance minimale du code de Reed-Mullerd’ordre r est (q − s)qm−r−1, et sa dimension est

r∑i=0

m∑k=0

(−1)k(m

k

)(i− kq +m− 1

i− kq)

voir [AK98]. Dans tous les cas, on peut borner comme suit les parametres ducode de Reed-Muller generalise : k 6 (r+ 1)m, et d = qm(1− r

q ). En rapportanttout a la longueur n = qm, on obtient pour taux de transmission

R =k

n6(r + 1q

)m

Journees Nationales de Calcul Formel 2008 page 95

12 CHAPITRE 1. LES CODES ALGEBRIQUES PRINCIPAUX

et, pour distance minimale relative :

δ =d

n= 1− r

q.

On voit que les performances sont tres mauvaises par rapport a la borne deSingleton, qui donnerait R ≈ r

q : quand le nombre de variables augmente, lesperformances se degradent exponentiellement avec le nombre de variables. No-tons toutefois que le code de Reed-Muller binaire d’ordre un en cinq variables(petite dimension, grande distance minimale) a ete utilise en 1972 par la sondespatiale Mariner pour envoyer des photos de Mars [MS83].

1.4.2 Codes definis par courbes algebriques

L’idee naturelle est de considerer des polynomes multivaries que l’on vaevaluer sur des points P1, . . . , Pn de Fmq , avec n < qm, avec les points P1, . . . , Pnbien choisis. Cela revient a considerer des codes plus courts, de longueur n < qm :les parametres n, k et d vont decroitre, mais on on espere que le taux R = k/n, etla distance minimale relative δ = d/n vont devenir bons. On va donc considererla fonction d’evaluation :

ev : Fq[x1, . . . , xm] → Fnqf(x1, . . . , xm) 7→ (f(P1), . . . , f(Pn))

,

et le code associe estC = ev(Lr),

ou Lr = f ∈ Fq[x]; deg f < r. Toute la difficulte est de determiner la distanceminimale et la dimension de ces codes, en fonction des points P1, . . . , Pn choisisdans le support, et de bien choisir ces points. Afin d’avoir de pouvoir se reposersur une theorie mathematique, qui permette d’avoir des theoremes pour obtenirdes bornes, on va prendre les points P1, . . . , Pn sur une courbe C definie sur Fq.On va aussi devoir prendre des espaces differents pour Lr, car la notion de degreva etre aussi modifiee.

Afin de ne pas refaire toute la theorie des varietes algebriques sur les corpsfinis, et en particulier des courbes, on ne considere que des courbes tres parti-culieres, dites en « position speciale ». Cela simplifie grandement la presentation,et permet d’aller tout de suite aux aspects lies au calcul formel des codesgeometriques. De plus, pour les codes consideres en pratique (code de Klein,codes hermitiens), les courbes se presentent naturellement sous cette forme la.Nous supposons connu le livre de Cox, Little et O’Shea [CLO92].

Soit I ⊆ Fq[x1, . . . , xm] un ideal radical et V la variete associe, qui estl’ensemble des zeros communs des polynomes de I. On suppose V irreductible,ce qui permet de definir le corps Fq(V ) = FracFq[V ] des fonctions rationnelles,qui est le corps des fractions de Fq[x1, . . . , xm]/I, note lui meme Fq[V ]. Lavariete V est une courbe affine si le degre de transcendance de Fq(V ) est egala un. L’hypothese cruciale est que la courbe n’a qu’un seul point a l’infini noteQ.

Exemple 1 (Courbe hermitienne). Dans le cas de la courbe definie sur Fqpar xq0+1 = yq0 − y, avec q = q2

0, il y a un point a l’infini Q = (0 : 1 : 0), et q30

points affines dans Fq. Cette courbe est dite hermitienne, car, apres changement

Journees Nationales de Calcul Formel 2008 page 96

1.4. CODES GEOMETRIQUES 13

de variable, elle admet une equation xq0+1 +yq0+1 +zq0+1 = 0, ce qui corresponda un produit scalaire « hermitien » sur Fq2

0, pour l’isomorphisme sur Fq0 x 7→

xq0 .

Nous rappelons le theoreme suivant.

Theoreme 3. Soit C une courbe lisse irreductible projective, et f une fonctionrationnelle sur C. Alors, comptes avec multiplicites, f autant de zeros que depoles (dans la cloture algebrique de Fq).

Ainsi, dans ce contexte simplifie, un polynome p(x1, . . . , xm) definit unefonction f sur la courbe affine C. Comme ce polynome n’a pas de pole sur lacourbe affine, il admet necessairement comme pole le point a l’infini Q. L’ordreau pole de p(x1, . . . , xm) est egal au nombres de zeros affines de p(x1, . . . , xm)sur la courbe.

On peut montrer la proposition suivante.

Proposition 7. Soit C une courbe affine dans Am(Fq) admettant une uniqueplace Q a l’infini. Il existe o1, . . . , om ∈ N \ 0 tel que, pour tout monomem = xi11 · · ·ximm , m admette un pole en Q d’ordre

vQ(xi11 . . . ximm ) = − (o1i1 + · · ·+ omim)

On definit donc l’ordre monomial <o defini par le degre pondere

wdego1,...,om(i1, . . . , im) = o1i1 + · · ·+ omim,

raffine par l’ordre lexicographique x1 < · · · < xm. La proposition suivante nouspermet de representer les fonctions definies sur la courbe affine, ainsi que dedeterminer leur ordre au pole.

Proposition 8. Soit C une courbe en position speciale, et <o l’ordre monomialassocie. Soit f(x1, . . . , xm) ∈ Fq[x1, . . . , xm], et f la fonction associee dansFq[C]. Soit G une base de Grobner de I(C) pour l’ordre <o, et soit N(f) laforme normale de f relativement a G. Alors l’ordre au pole Q de f est egal a

vQ(xi11 · · ·ximm ) = − (o1i1 + · · ·+ omim)

ou cxi11 · · ·ximm est le terme de tete de N(f).

Definition 7. Soit C une courbe en position speciale, et <o l’ordre monomialassocie. Soit m = xi11 · · ·ximm , le poids de m est wdego1,...,om(i1, . . . , im) = o1i1 +· · ·+ omim. Le poids d’un polynome f est le poids du terme de tete de sa formenormale relativement a une base de Grobner definissant I(C).

Exemple 2 (Courbe hermitienne). Soit C la courbe xq0+1 = yq0−y, avec q =q20, une maniere d’avoir des ordres en x et y compatibles est de fixer −vQ(x) = q0

et −vQ(y) = q0 + 1. Soit I = I(C). L’ensemblexiyj + I| 0 6 i, 0 6 j 6 r

est une base de l’espace vectoriel Fq[C]. On definit le degre pondere de xiyj par

wdeg(xiyj) = ri+ (r + 1)j.

Journees Nationales de Calcul Formel 2008 page 97

14 CHAPITRE 1. LES CODES ALGEBRIQUES PRINCIPAUX

Nous pouvons maintenant definir les codes geometriques definis sur de tellescourbes. Tout d’abord nous devons definir les espaces L = L(rQ) des fonctionsa evaluer.

Definition 8. Soit C une courbe affine comme precedemment, et Q la placea l’infini. L’espace associe a rQ, note L(rQ) est l’ensemble des fonctions f ∈Fq(C) n’admettant qu’un unique pole en Q, d’ordre au plus r.

C’est exactement l’espace des formes normales f des polynomes f relative-ment a une base de Grobner de I(C), telles que wdeg(lead(f)) ≤ r.Definition 9. Soit C une courbe affine en position speciale, P1, . . . , Pn, n pointsrationels affines distincts. On definit la fonction d’evaluation

ev : Fq[C] → Fnqf(x1, . . . , xm) 7→ (f(P1), . . . , f(Pn))

.

On note, comme un raccourci, P = P1 + · · · + Pn la somme formelle despoints P1, . . . , Pn.

Definition 10. Soit C une courbe comme precedemment, et Q la place a l’infini,et P = P1 + · · · + Pn, ou P1, . . . , Pn sont n points rationnels affines de C. Lecode geometrique CL(D, rQ) est

ev(L(rQ)).

Le code geometrique CΩ(D, rQ) est le dual de CL(D, rQ).

Soit CL(D, rQ) un code defini sur une courbe C, definissant un ordre mono-mial 6o defini par le degre pondere wdego1,...,om(xi11 . . . ximm ) = o1i1 + · · ·+omimraffine par l’ordre lexicographique. Une base de l’espace L(rQ) est donnee parles formes normales de monomes xi11 . . . ximm tels que wdeg(xi11 . . . ximm ) ≤ r. Cetespace n’est pas de dimension r : il existe des degres w tels qu’il n’existe pas demonomes xi11 · · ·ximm verifiant wdeg(xi11 · · ·ximm ) = w.

Definition 11. Soit C une courbe comme precedemment, Q la place a l’infini,et wdego1,...,om le degre pondere induit par Q. Le semi-groupe de WeierstrassGQ en C est l’ensemble des poids des monomes de Fq[x1, . . . , xm].

C’est bien un semi-groupe, car si u1 = −vQ(f1) et u2 = −vQ(f2), alorsu1 + u1 = −vQ(f1f2). On peut montrer que pour un entier u ∈ N assez grandu+ N ⊂ GQ.

Exemple 3. Soit la courbe hermitienne C definie sur F16 par x5 = y4 +y, on a−vC(x) = 4 et −vC(y) = 5. On voit que le semi-groupe de Weierstrass GQ, quiest egal a 4N+ 5N est

0, 4, 5, 8, 9, 10, 12, 13, 14, 15, 16, 17, . . .et il manque 1, 2, 3, 6, 7, 11.

Definition 12. Soit C une courbe comme precedemment, et Q la place a l’infini.Le genre g de C est le cardinal de N \GQ.

Theoreme 4. Pour r > 2g − 2, on a dimL(rQ) = r − g + 1.

Journees Nationales de Calcul Formel 2008 page 98

1.4. CODES GEOMETRIQUES 15

Proposition 9. Pour r > 2g − 2, le code geometrique CL(D, rQ) est un code[n, k = r − g + 1, d > n − r]q. Le codes geometrique CΩ(D, rQ) est un code[n, n− r + g − 1, d > r − 2g + 2]q.

On voit que les parametres k et d des codes geometriques CL(P, rQ) etCΩ(P, rQ) verifient k+ d > n+ 1− g. Ainsi, le defaut de ces codes par rapporta la borne de Singleton est inferieur ou egal au genre de la courbe C.Exemple 4. Sur l’alphabet F256 = Fq2

0, on a la courbe hermitienne xq0+1 −

yq0 − y = x17 − y16 − y qui a q30 = 212 = 4096 points affines a comparer

avec 255 points pour le code de Reed-Solomon defini sur le meme alphabet. Legenre de la courbe est q0(q0−1)

2 = 120. On obtient une famille de codes [n =4096, k = r + 1 − 120, d > 4096 − r]256 pour r assez grand. La performanced’un tel code est difficile a evaluer, et il faut pour cela faire des simulations.Dans [WJ97, ASKB01], il est indique par simulation qu’on realise un « gain decodage » en utilisant le code hermitien plutot qu’un code de Reed-Solomon dememe taux de transmission R = 0, 6.

A partir, le but sera de construire des courbes avec le plus grand nombre depoints sur Fq, et de petit genre. En particulier, on cherche des courbes maxi-males, relativement au theoreme de Hasse-Weil.

Theoreme 5 (Borne de Hasse-Weil). Soit C une courbe defini sur Fq, degenre g. Le nombre de points Nq(C) sur Fq verifient

|Nq(C)− (q + 1)| ≤ 2g√q (1.2)

Les courbes hermitiennes, la quartique de Klein sont des courbes maximales :pour leur genre, ce sont des courbes qui atteigne la borne superieure de l’inter-valle de Hasse-Weil [Sti93].

Du point de vue asymptotique, pour les codes geometriques CL(D, rQ), ona les rapports suivants :

R =k

n=

(r − g)n

etδ =

d

n=n− rn

= 1− r

n.

DoncR = 1− δ − g

n.

En notant Nq(g) le nombre maximal de points sur Fq d’une courbe de genre g,la quantite asymptotique d’interet est

A(q) = lim supg→∞

Nq(g)g

Un theoreme profond de [TV91] montre que si q est un carre, alors A(q) =√q − 1. On obtient donc

Theoreme 6. Soit q un carre, et R et δ tels que

R+ δ = 1− 1√q − 1

.

Alors il existe une famille de codes [n, k, d]q telle que kn → R et d

n → δ. Cetteborne est meilleure que la borne de Varshamo-Gilbert quand q ≥ 49.

Journees Nationales de Calcul Formel 2008 page 99

16 CHAPITRE 1. LES CODES ALGEBRIQUES PRINCIPAUX

Il est a noter que les codes geometriques permettent aussi de construire debons codes non asymptotiquement longs. A titre d’exemple, on peut obtenir descodes sur F8, de longueur 64 et 65 battant les meilleurs codes connus[CD03].

1.5 Diviseurs

Pour la troisieme partie de ce cours, j’aurai besoin de la notion de diviseur,dont je rappelle la theorie prise dans [Sti93], ou la theorie de corps de fonctionsa une variable sur les corps finis est proprement faite. Soit P ∈ C un point nonsingulier, peut montrer que l’ensemble M des fonctions f ∈ Fq[C] telles quef(P ) = 0 est un ideal principal. Soit t qui engendreM, et soit f telle que f(P )est defini, alors l’ordre en f en P , note vP (f) est l’entier m tel que f = utm,avec u(P ) 6= 0. Si F (P ) n’est pas defini (on dit que P est un pole de f , alorsf−1(P ) est defini, et on definit vP (f) = −vP (f−1).

Un diviseur D est une somme formelle de poinds∑P nPP , ou les nP ∈ Z

sont presque tous nuls. Le degre degD d’un diviseur D =∑P nPP est

∑nD.

On definit alors le diviseur (f)0 des zeros de f qui la somme formelle depoints :

(f)0 =∑

P |f(P )=0

vp(f),

et le diviseur des poles

(f)∞ =∑

P |f−1(P )=0

−vP (f).

Le diviseur (f) associe a f est (f) = (f)0 − (f)∞, et on a deg(f) = 0.

Proposition 10. Dans les diviseurs (f)0 et (f)∞ n’apparaissent qu’un nombrefini de points. De plus (f) = 0 (une fonction a autant de zeros que de poles,comptes avec multiplicite).

On definit la relation d’ordre partiel suivante sur les diviseurs D1 > D2, siD1 =

∑n

(1)P P , et D2 =

∑n

(2)P P , avec n(1)

P > n(2)P pour tout point P .

Definition 13. Soit D un diviseur, l’espace associe a D est l’ensemble de fonc-tions :

L(D) = f ; (f) +D > 0 ∪ 0.Alors, le theoreme de Riemann, dont le theoreme 4 est une version tres

simplifiee est le suivant.

Theoreme 7. La dimension de l’espace L(D) associe au diviseur D est finie,et verifie

dimL(D) ≥ degD + 1− g,ou g est le genre de la courbe. On a egalite quand degD > 2g − 2.

On note aussi que si un diviseur D est de degre negatif alors L(D) = 0.Ceci est du au fait que le degre d’un diviseur de fonction est nul : si degD estnegatif, il ne peut pas y avoir de fonctions (f) telles que (f) +D ≥ 0.

Journees Nationales de Calcul Formel 2008 page 100

Chapitre 2

Decodage par syndrome

2.1 Le principe du decodage par syndrome

Soit C un code lineaire [n, k, d]q, et H une matrice generatrice de son dual.La matrice H a n−k lignes et n colonnes, et elle caracterise les mots de C : Ona

c ∈ C ⇐⇒ Hct = 0.

On suppose que le mot recu est y = c + e, ou c est le mot transmis (inconnu),et e est l’erreur, qui verifie w(e) 6 t. Maintenant on a Hyt = Hct +Het = Het,puisque le mot transmis c est dans C. On appelle Hyt = Het le syndrome (oules syndromes suivant que l’on parle du vecteur ou ses composants) de l’erreure, et une maniere de decoder est d’inversion la fonction

S : B(0, t) → Fn−kq

e 7→ Het,

ou B(0, t) est l’ensemble de mots de poids inferieur a t. C’est helas un problemeNP-complet pour les codes lineaires generaux [BMvT78]. On se sait resoudre ceprobleme que dans des cas tres particuliers, notamment dans le cas des codes deReed-Solomon, et des codes geometriques a un point en position speciale commeceux presentes precedemment.

2.2 Decodage des codes de Reed-Solomon

Soit Fq le corps fini de cardinal q, n = q − 1, et α un racine n-ieme del’unite. Nous considerons un code de Reed-Solomon, de longueur n, de support(α0, . . . , αn−1), de distance minimale 2t + 1, corrigeant donc t erreurs, avec2t = n− k. Un mot de code c = c0 + c1x+ · · ·+ cn−1x

n−1 est transmis, le moty = y0 + y1x+ · · ·+ yn−1x

n−1 est recu, et on considere l’erreur de transmissione = y − c = e0 + · · ·+ en−1x

n−1.

Definition 14. Soit C le code de Reed-Solomon de support (α0, α, . . . , αn−1),de dimension k. Les syndromes S1, . . . , Sn−k de c relativement a C sont

S1 = c(α), S2 = c(α2), . . . , Sn−k = c(αn−k).

On a c ∈ C si et seulement si S1 = S2 = · · · = Sn−k = 0.

17

Journees Nationales de Calcul Formel 2008 page 101

18 CHAPITRE 2. DECODAGE PAR SYNDROME

Definition 15. Soit e = (e0, . . . , en−1) un erreur de poids inferieur ou egal at. On definit

I = i ∈ 0 . . . n− 1|ei 6= 0et on definit

X1, . . . Xw = αi|i ∈ Iqui sont les localisateurs d’erreur de e.

On decrit l’ensemble des localisateurs d’erreur par le polynome localisateurd’erreur, comme suit :

Definition 16. Soit e une erreur de localisateurs X1, . . . , Xw, le polynomelocalisateur de e est

σ(x) =w∏i=1

(1−Xix).

Le polynome evaluateur de e est

ω(x) =∑i∈I

eiαi

∏j∈1...w\i

(1− αjx)

Si w est le nombre d’erreurs, alors deg σ(x) = w, et degω(x) 6 w − 1. Si onconnait ces deux polynomes, alors on retrouve les Xi par factorisation (ou parla recherche de Chien [Chi64]), et ensuite on trouve ei, i ∈ I, par la formule :

ω(α−i

)= eiα

iσ′(α−i),

ou σ′(x) est la derivee de σ(x) (formules de Forney [For65]).Donc nous reduisons le probleme du decodage des codes de Reed-Solomon a

celui de la determination des polynomes σ(x) et ω(x).On calcule :

ω(x)σ(x)

=∑i∈I

eiαi

1− αix

=∑i∈I

eiαi∞∑j=0

(αix)j

=∞∑j=0

xj∑i∈I

ei(αj+1

)i=

∞∑j=0

xje(αj+1)

=∞∑j=1

xj−1e(αj)

Le decodeur est partiellement aveugle : puisque le code est defini par α, . . . , α2t, ilconnait exactement les e(αj) = y(αj) pour j ∈ 1 . . . 2t, mais pas les syndromese(αj) pour j > 2t. Au niveau du decodeur, on peut donc ecrire

ω(x)σ(x)

= S(x) mod x2t+1 (2.1)

avec S(x) =∑2tj=1 e(α

j)xj−1.

Journees Nationales de Calcul Formel 2008 page 102

2.2. DECODAGE DES CODES DE REED-SOLOMON 19

Definition 17. L’equation cle du decodage d’un mot y de serie de syndromesS(x) =

∑2ti=1 Six

i est l’equation

ω(x)σ(x)

= S(x) mod x2t+1, (2.2)

dont les inconnues sont les polynomes σ(x) et ω(x) de degre t et t− 1 respecti-vement, avec σ(x) unitaire.

2.2.1 Suites recurrentes lineaires

L’equation 2.1 peut etre resolue avec l’algorithme d’Euclide, utilise ici pourtrouver un approximant de Pade a l’ordre 2t. Cette methode est presenteedans [vzGG99], et il s’agit de calculer un (t + 1, t) approximant de Pade. Tou-tefois, pour des raisons d’efficacite et d’implantation, les codeurs preferent uti-liser l’algorithme de Berlekamp-Massey [Mas69, Ber68]. Cet algorithme sert aresoudre un probleme legerement different, qui est celui de la synthese d’unesuite lineaire recurrente.

Remarquons que l’equation 2.2 entraıne

t∑i=0

σj−iSi = 0, j = t . . . 2t. (2.3)

Comme σ0 = 1 par construction, on a les formules de recurrence :

Sj = −t∑i=1

σiSj−i, j = t . . . 2t. (2.4)

On voit donc que le polynome σ(x) definit une relation de recurrence satis-faite par la suite S1, . . . , S2t. L’algorithme de Berlekamp-Massey est un algo-rithme qui, etant donne une suite S1, . . . , S2t, produit la plus petite relation derecurrence lineaire satisfaite par cette suite.

2.2.2 Algorithme de Berlekamp-Massey

L’algorithme de Berlekamp-Massey peut etre defini independamment duprobleme de decodage, avec le specification suivante :

Entree Une suite S1, . . . S2t ∈ Fq.Sortie Un polynome σ(x) = 1 +

∑i=1 σix

i de degre minimal, inferieur a t,tel que la suite S1, . . . S2t verifie la recurrence donnee par σ(x) :

Sj = −deg σ∑i=1

σiSj−i, j = deg σ . . . 2t.

L’algorithme de Berlekamp-Massey est de nature incrementale : il produit,pour chaque indice j, un polynome de recurrence f de plus petit degre tel que

Sk = −deg f∑i=1

fiSk−i, k = deg f . . . j

a l’etape j de son execution.

Journees Nationales de Calcul Formel 2008 page 103

20 CHAPITRE 2. DECODAGE PAR SYNDROME

Pour passer de l’etape j a l’etape j + 1, il faut prendre en compte Sj+1. Al’etape j + 1, le polynome courant σ(x) est teste, en calculant

Sj+1 = −deg f∑i=1

σiSj−i,

qui est la prediction du polynome σ(x) pour Sj . Si Sj+1 = Sj+1, la predictionest correcte, et σ(x) est conserve. Sinon, on a une discrepance

δ = Sj+1 − Sj+1,

associe a σ. Dans ce cas, on met a jour f de la maniere suivante :

σ ← σ − δδ−10 xlσ0(x),

ou σ0(x) est un polynome qui a produit une discrepance δ0 6= 0 dans une etapeprececente, et l est la difference de degre de f et g. On verifie bien que σ(x)donne une relation de recurrence pour S1, . . . Sj+1.

Toute la difficulte est de garantir de calculer le polynome σ de plus pe-tit degre. L’algorithme maintient donc deux polynomes σ et σ0, qu’il met ajour au fur et a mesure de sa lecture de la sequence S. L’optimisation du po-lynome σ0(x) auxiliaire est delicate, et la preuve de l’algorithme associe prendgeneralement deux a trois pages, bien qu’elementaire. Le pseudo-code de l’algo-rithme est presente dans l’algorithme 2.2.2

Nous obtiendrons l’algorithme de Berlekamp-Massey ainsi que sa preuvecomme sous produit de l’algorithme Berlekamp-Massey-Sakata (BMS), presenteplus loin, qui est une version multivariee de l’algorithme de Berlekamp-Massey.Cet algorithme s’applique au probleme du decodage des codes geometriques CΩ.

2.3 Decodage des des codes geometriques CΩ

2.3.1 Preliminaires

Toute la presentation de cette partie, ainsi que la presentation de l’algo-rithme Berlekamp-Massey-Sakata, est inspiree de [SH95], qui presente les codesgeometriques comme des codes multivaries ou les poins retenus sont sur unecourbe. L’exposition de l’algorithme de Sakata est particulierement claire.

L’algorithme de decodage que presente ici n’est valide que pour les codesa un point CΩ(D, rQ) ou Q est le point a l’infini d’une courbe en positionspeciale. On a donc une courbe affine Ca dans l’espace affine de dimension m,telle que C est la cloture projective de Ca avec un unique point Q a l’infini, etsoit P = P1, . . . , Pn les autres points rationnels de C, qui sont tous affines.

On definit l’espace L(∞Q) est l’ensemble des fonctions qui admettent unpole seulement en Q, d’ordre quelconque. Soit x1, . . . , xm les fonctions coor-donnees de Am(Fq), et o1, . . . , om les ordres en Q de x1, . . . , xm. On considereFq[x1, . . . , xm], et pour un multi-indice s = (s1, . . . , sm), nous notons xs lemonome xs11 · · ·xsmm . L’anneau Fq[x1, . . . , xm] est muni d’un ordre monomial 6defini par le degre pondere d’un monome :

wdeg(xs) = wdeg(xs11 · · ·xsmm ) = o1s1 + · · ·+ omsm, (2.5)

Journees Nationales de Calcul Formel 2008 page 104

2.3. DECODAGE DES DES CODES GEOMETRIQUES CΩ 21

Algorithme 1 Iteration de l’algorithme de Berlekamp-Massey. On decritcomment passer de la recurrence satisfaite par la sequence S1, . . . , Sj−1 a larecurrence satisfaite par la sequence S1, . . . , Sj . Le programme ci-dessous doitdonc etre encapsule dans une boucle superieureEntree : S1, . . . , Sj

σ le polynome de recurrence valide jusqu’a l’etape j − 1σ0 le dernier polynome de recurrence ayant echoue avant l’etape j − 1.δ0 la discrepance a l’endroit ou σ0 a echoue.l : le nombre de fois ou le polynome courrant σ n’a pas change de degre.L le degre de σ.

Sortie :σ+ : le polynome de recurrence valide jusqu’a l’etape jσ+

0 : le dernier polynome de recurrence ayant echoue avant l’etape j.δ+0 la discrepance ou σ+

0 a echoue.l+ : le nombre de fois ou le polynome σ+ n’a pas change de degre.L+ le degre de σ.

Corps de la boucle :1: δ ← Sj +

∑σiSj−i

2: if δ = 0 then3: l = l + 14: else5: if 2L > j then6: σ+ ← σ − δδ−1

0 xlσ0

7: l← l + 18: else9: σ+ ← σ − δδ−1

0 xlσ0

10: σ+0 ← σ

11: L+ ← j − L//Ligne magique de l’algorithme de Berlekamp-Massey12: δ+

0 ← δ13: l+ ← 114: end if15: end if

Journees Nationales de Calcul Formel 2008 page 105

22 CHAPITRE 2. DECODAGE PAR SYNDROME

raffine par l’ordre lexicographique x1 < . . . , xm. Nous notons aussi wdeg(s) =wdeg(xs).

Dans ce contexte, on construit la somme formelle D = P1 + · · ·+ Pn, et onva decoder le code C = CΩ(D, rQ) = CL(D, rQ)⊥. On rappelle que

C = (f(P1), . . . , f(Pn)) ; f ∈ L(rQ)

Une famille generatrice de L(rQ) est l’ensemble des monomes xs tels quexs ∈ L(rQ). Une famille generatrice de CL(D,P ) est donc

ev(s); s ∈ L(rQ) = (xs(P1), . . . , xs(Pn)); xs ∈ L(rQ).

Donc le code CΩ(D, rQ) = CL(D, rQ)⊥ est l’ensemble des mots c = (cP )P∈Ptels que ∑

P∈PcPx

s(P ) = 0; wdeg(s) 6 r.

Le mot recu est y = (yP )P∈p, avec y = c+e, ou c = (cP )P∈P est le mot de codea recouvrir et e = (eP )P∈P est l’erreur inconnue.

2.3.2 Transformee generalisee

Definition 18. Soit P = P1, . . . , Pn ⊂ Fmq , la transformee generalisee surFPq est la fonction

F : FPq → FNmqe 7→ E = (Es)s∈FNmq

ouEs =

∑P∈P

ePxs(P ), s ∈ Nm. (2.6)

On note que le tableau de la transformee est multi-dimensionnel et infini.Mais, comme nous sommes sur Fq, les polynomes xqi −xi s’annule sur les pointsP ∈ P, et donc le tableau W est cyclique dans chacune de ses dimensions.

Definition 19. Soit I un ideal de Fq[x1, . . . , xm]. Pour un ordre monomialdonne, l’ensemble delta de I est l’ensemble de monomes qui ne sont pas lemonome de tete d’un polynome de I.

Definition 20. Soit P ⊂ Fmq , I l’ideal s’annulant en les points de P, et ∆l’ensemble delta de I. La transformee propre de e ∈ FPq est la restriction E|∆ a∆ de la transformee E definie en (2.6).

Proposition 11. La transformee e 7→ E est injective. La transformee e 7→ E|∆est bijective.

Demonstration. Prouvons que e 7→ E|∆ est injective. Soit P ∈ P un point dusupport du code. Soit e tel que E|∆ est nul. Soit A(x) ∈ Fq[x] qui s’annule atout point de P, sauf P . Soit A′(x) =

∑Arxr la forme normale de f , qui ne

Journees Nationales de Calcul Formel 2008 page 106

2.3. DECODAGE DES DES CODES GEOMETRIQUES CΩ 23

contient que des monomes xr ∈ ∆, nous avons

0 =∑r∈∆

A′rEr

=∑r∈∆

A′r∑Q∈P

eQxr(Q)

=∑Q∈P

eQA′(Q)

= ePA(P ).

Donc eP = 0, pour tout point P ∈ P . La surjectivite provient du fait que FPq etl’espace des E∆ sont de meme dimension.

Rappelons que dans la situation du decodage, on a y = c+ e, ou c est le motde code, e est l’erreur et y est le mot recu. Comme c ∈ CΩ(D, rQ), on a, pours tel que wdeg(s) ≤ r :∑

P∈PyPx

s(P ) =∑P∈P

cP cs(P ) +

∑P∈P

ePxs(P ) =

∑P∈P

ePxs(P ).

Definition 21. Soit C une courbe en position speciale, soit CΩ(D, rQ) le codegeometrique a un point sur cette courbe. Soit y le mot recu, les syndromes del’erreur associee a y sont les Es

Es =∑P∈P

yPxs(P ), wdeg(s) 6 r.

Notons (Es)s∈∆ la transformee de e. Comme dans le cas des codes de Reed-Solomon, le decodeur est partiellement aveugle : il ne qu’une partie de la trans-formee de e : les syndromes. Mais si la distance minimale est 2t+ 1, alors on estgaranti que pour un ensemble de syndromes Es, wdeg(s) 6 r, il existe au plusune erreur de poids t admettant ce jeu de syndromes.

Exemple 5. Soit la courbe hermitienne H ⊂ F216, definie par l’equation x5 −

y4−y = 0 sur F16. Elle admet un seul point a l’infini, et soit P l’ensemble des 64points rationnels. On a que x est d’ordre −4 en l’infini, et y d’ordre −5, de quinous donne l’ordre monomial defini par 4i+5j rafine par l’ordre lexicographiquex < y. Une base de Grobner de P est

y4 − x5 + y, x16 − x,et l’ensemble ∆ est ∆ = (i, j); 0 6 i < 16, 0 6 j < 4. On construit le codegeometrique [64, 46, 13]64 qui est l’orthogonal de CL(D, 23Q). Soit e une errorde poids 6 dont les coefficients non nuls, indexes par les points, sont

e(1,α8) = α11

e(α2,α12) = α14

e(α3,α2) = α2

e(α11,α3) = α

e(α12,α4) = α14

e(α14,α11) = α3

Journees Nationales de Calcul Formel 2008 page 107

24 CHAPITRE 2. DECODAGE PAR SYNDROME

j0 1 2 3 4 5 6 . . .

i

0 0 α6 1 0 α5 * * . . .1 α12 α3 α4 α6 * . . .2 1 α7 1 α2 * . . .3 α α8 α5 * . . .4 0 1 * . . .5 α9 * . . .6 *...

...

Tab. 2.1 – Un exemple de tableau des syndromes, les ∗ sont des « syndromesinconnus ». La courbe est la courbe hermitienne y5 − x4 − x = 0 sur F16, et onconsidere les monomes xiyj tels que 5i+ 4j ≤ 23.

Le tableau des syndromes connus de e E∗ =(E∗ij)

4i+5j623est presente dans

la table 2.1

La transformee propre w 7→ W|∆ est un isomorphisme d’espaces vectorielsde dimension 64 sur F16.

Tous les mots consideres ont leur support indexe par les points P ∈ P.Supposons que le mot de code c a ete transmis, et que le mot y = c + e a eterecu par le decodeur. Le decodeur essaye de retrouver e en essayant de retrouverles localisations des erreurs, c’est-a-dire l’ensemble

supp(e) = P ∈ P; eP 6= 0.

Par definition du code CΩ(P, rQ), si C est la transformee de c, on a Cs = 0,pour s ∈ L(M). On a donc, pour s ∈ L(M), Es = Ys, ou E et Y sont lestransformees de e et de y respectivement. On appelle E∗ le tableau de syndromesconnus, et E, la transformee de e, le tableau de tous les syndromes.

Definition 22. Soitf = f(x) =

∑fsx

s ∈ F[x],

un polynome en x = (x1, . . . , xm). On dit que le tableau m-dimensionnel verifiela relation de recurrence f si∑

s

fsEs+r = 0, pour tout r > 0. (2.7)

On dit aussi que la relation de recurrence m dimensionnelle representee par lepolynome f(x) ∈ F[x1, . . . , xm] est valide pour le tableau E.

Proposition 12. Soit e une erreur de transformee (Es)s∈Nm L’ensemble derelation de recurrence valides pour le tableau E est un ideal, note V (E). Seszeros sont les points P ∈ P tels que eP 6= 0.

Journees Nationales de Calcul Formel 2008 page 108

2.4. ALGORITHME BERLEKAMP-MASSEY-SAKATA 25

Demonstration. On a l’identite, pour tout r ∈ Nm :∑s

fsEs+r =∑

s

fs

∑P∈P

ePxs+r(P ) (2.8)

=∑

P∈P|eP 6=0

ePxr(P )

∑s

fsxs(P ) (2.9)

=∑

P∈P|eP 6=0

eP f(P )xr(P ) (2.10)

Donc si f(P ) = 0, P ∈ P|eP 6= 0, alors f verifie 2.7. Reciproquement, supposonsque f verifie 2.7, alors soit a = (aP )P∈P le mot de composantes aP = eP f(P ).La relation 2.10 entraıne∑

P∈PaPxr(P ) = 0 pour tout r ∈ Nm,

c’est-a-dire que la transformee generalisee de a est nulle. Comme elle injective,on a donc a = 0. Donc f(P ) = 0 chaque fois que eP 6= 0.

Dans le cas des codes de Reed-Solomon, le polynome localisateur d’erreurdefinit une relation de recurrence satisfaite par le tableau des syndromes. Dansle contexte des codes CΩ(D, rQ), on cherche a d’etermine l’ideal localisateurd’erreur, De meme que l’algorithme de Berlekamp-Massey cherche la plus pe-tite recurrence satisfaite par une suite S1, . . . , S2t, l’algorithme de Berlekamp-Massey-Sakata essaye de trouver les polynomes minimaux valides pour le tableaudes syndromes. Comme dans le cas du decodage des codes de Reed-Solomon,nous nous focaliserons sur le probleme de trouver une base de Grobner de l’ideallocalisateur des positions d’erreur.

2.4 Algorithme Berlekamp-Massey-Sakata

2.4.1 Ensembles deltas

On a donc 6 un ordre monomial, qui, dans le cas du decodage des codesgeometriques, est celui induit par le code geometrique CΩ(P, kQ), et la valuationau point Q. Relativement a cet ordre, on definit le terme de tete lead(f), lecoefficient de tete lc(f) d’un polynome f .

On notera | l’ordre partiel de divisibilite entre les monomes : on a r|s sir = (r1, . . . , rm), s = (s1, . . . , sm), et ri ≤ si, 1 6 i 6 m. Tout ordre monomialrespecte l’ordre de divisibilite.

Definition 23. Soit F un sous ensemble de Fq[x], et un ordre monomial fixe.On definit

∆(F) = s ∈ Nm : ∀f ∈ F , lead(f) 66 sDefinition 24. Un ensemble ∆ est un ensemble delta si, pour tout r, s ∈ Nm,s ∈ ∆, r 6 s =⇒ r ∈ ∆.

Definition 25. Soit ∆ ⊂ Nm. Un coin interieur de ∆ est un multi-indice r ∈ ∆maximal pour la relation de divisibilite. Un coin exterieur de ∆ est un multi-indice s 6∈ ∆ minimal pour la relation de divisibilite.

On note Int ∆ l’ensemble des points interieurs, et Ext ∆ l’ensemble despoints exterieurs de ∆.

Journees Nationales de Calcul Formel 2008 page 109

26 CHAPITRE 2. DECODAGE PAR SYNDROME

Fig. 2.1 – Ensemble delta, coins interieurs, coins exterieurs

Un ensemble delta est completement determine par ses coins exterieurs :

∆ = r : ∀u ∈ Ext ∆ u 66 r,

voir Fig.2.1.

2.4.2 Polynomes valides et invalides

Proposition 13. Soit E un tableau m-dimensionnel, et f valide pour le tableauE. Pour un ordre monomial donne, et un indice du tableau u tel que lead(f)|u,la formule (2.7) donne

Eu =−1

lc(f)

∑p<u

flead(f)−u+pEp (2.11)

Demonstration. Une fois l’ordre monomial fixe, l’equation (2.7) donne∑s6lead(f)

fsEr+s = 0.

Le terme d’ordre le plus eleve dans cette somme est u = r + lead(f), ce quidonne ∑

s6lead(f)

fsEu−lead(f)+s = 0,

avec lead(f)|u. Maintenant, on fait le changement d’indice p = u− lead(f) + s.On obtient ∑

p6u

f−u+lead(f)+pEp = 0,

qui donne bien (2.11) une fois le terme de tete isole.

Definition 26. Un polynome f(x) est invalide a la position Eu si lead(f)|u etsi

Eu 6= −1lc(f)

∑p<u

flead(f)−u+pEp.

Autrement, f(x) est valide a la position Eu.

On note qu’un polynome tel que lead(f) 6 |u est automatiquement valide ala position u, et que cette notion depend de l’ordre monomial choisi.

Journees Nationales de Calcul Formel 2008 page 110

2.4. ALGORITHME BERLEKAMP-MASSEY-SAKATA 27

Proposition 14. Si f est valide a la position Eu, alors xpf est valide a laposition Eu.

Definition 27. Un polynome f est valide jusqu’a la position Eu s’il est validea toute les positions r 6 u. On note Vu(E) l’ensemble de polynomes validesjusqu’a la position u.

Soit u un indice du tableau, et u+ l’indice suivant pour l’ordre monomial.On a alors les inclusions suivantes :

0 < u < u+ < ∞Fq[x] ⊇ Vu(E) ⊇ Vu+(E) ⊇ V (E)∅ ⊆ ∆(Vu(E)) ⊆ ∆(Vu + (E)) ⊆ ∆(V (E))

Nous allons d’abord donner une methode pour passer d’un ensemble de po-lynomes valides jusqu’a la position u a un ensemble de positions valides jus-qu’a la position u+, tout en construisant l’ensemble ∆(Vu+(E)). Cette briqueelementaire sera ensuite encapsulee dans une boucle superieure.

2.4.3 Predictions

Definition 28. Soit u un indice du tableau E, et f valide pour toutes les posi-tions r 6 u. La prediction de f a l’indice suivant u+ est :

Pu+(f) =−1

lc(f)

∑p<u+

flead(f)−u++pEp.

Proposition 15. Soit f et g valides jusqu’a u, et tels que lead(f) + lead(g)divise u+. Alors les predictions de f et de g en u+ sont les memes :

Pu+(f) = Pu+(g).

Demonstration. On calcule :

Pu+(f) =−1

lc(f)

∑p<u+

flead(f)−u++pEp.

=−1

lc(f)

∑s<lead(f)

fsEs+u+−lead(f)

=−1

lc(f)

∑s<lead(f)

fsPs+u+−lead(f)(g)

=−1

lc(f) lc(g)

∑s<lead(f)

fs

∑r<lead(g)

grEr+s+u+−lead(f)−lead(g)

=−1

lc(f) lc(g)

∑s<lead(f)r<lead(g)

fsgrEr+s+u+−lead(f)−lead(g).

Cette derniere expression est symetrique en f et g.

Definition 29. Soit g valide jusqu’a la position u et invalide en u+. La portee(span) de g est

span(g) = u+ − lead(g).

Journees Nationales de Calcul Formel 2008 page 111

28 CHAPITRE 2. DECODAGE PAR SYNDROME

Theoreme 8. Soit g 6∈ Vu+(E). Alors span(g) ∈ ∆(Vu+(E)).

Demonstration. Soit r = lead(g) + span(g), r est la premiere position ou gest invalide. Alors g est valide jusqu’a la position r non incluse, avec r 6 u+.Supposons qu’il existe un polynome f ∈ Vu+(E) tel que lead(f) = span(g).Alors comme f et g sont tous deux valides jusqu’a la position r non incluse, ondevrait avoir Pr(f) = Pr(g), ce qui est impossible puisque f est valide en r alorsque g ne l’est pas.

Definition 30. Soit g ∈ F[x] \ V (E). On dit que g est un temoin de span(g).Soit G ∈ F[x] \ V (E), et ∆ un ensemble delta. On dit que F est un ensembletemoin de ∆, si F contient un temoin de chaque sommet interieur de ∆.

Theoreme 9. Soit F ⊂ Vu(E), et G ⊂ F[x] \ Vu(E) un ensemble temoin de∆(F). Alors ∆(F) = ∆(Vu(E).

Demonstration. Puisque F ⊂ Vu(E), on a ∆(Vu(E)) ⊂ ∆(F). D’autre part,comme G est temoin de ∆(F), ∆(G) = ∆(F). Or G ⊂ F[x] \ Vu(E), donc∆(G) ⊂ ∆(Vu(E)).

Theoreme 10. Soit F ⊂ V (E), et G ⊂ F[x] \ V (E) un ensemble temoin de∆(F). Alors ∆(F) = ∆(V (E), ce qui entraıne que F est une base de Grobnerde V (E).

2.4.4 L’algorithme

Pour l’indice courant u, l’algorithme maintient deux ensembles F et F depolynomes :

1. F : un ensemble de polynomes valides jusqu’a la position u : il y en unpar element exterieur dans Ext(∆(Vu(E)))

2. F : un ensemble de polynomes temoins de (∆(Vu(E))).

Pour passer de la position u a la position u+, on contruit d’abord l’ensemble∆(Vu+(E))). Pour cela, on teste les predictions Pu+(f) des polynomes de F , quisont valides en u. On regarde ceux qui echouent et on les ajoute a l’ensembleG pour obtenir G+. Ainsi les « spans » polynomes de G+ forment un ensembletemoin de ∆(Vu+(E))), par le theoreme 8.

Une fois l’ensemble ∆(Vu+(E))) construit, pour chaque sommet exterieurs ∈ ∆(Vu+(E))), on va contruire un polynome valide en s. Il y a trois cas :

1. soit il y a un ancien polynome valide en u qui est toujours valide en u+ :on le recycle ;

2. soit s ne divise pas u+, alors on « decale » un polynome f valide en upour que son terme de tete soit s ; en effet, n’importe quel polynome dontle terme de tete ne divise pas u+ est valide en u+.

3. soit s divise u+ : on a va mettre a jour un polynome f ∈ F en le combinantavec un polynome de G pour avoir une prediction juste en u+.

On a besoin d’une sorte de S-polynome, qui permet de combiner deux po-lynomes dont les predictions sont fausses (« invalides ») pour obtenir un po-lynome dont la prediction est juste (« valide »).

Journees Nationales de Calcul Formel 2008 page 112

2.4. ALGORITHME BERLEKAMP-MASSEY-SAKATA 29

Definition 31. Soit f tel que lead(f)|s, et g tel que (u+ − s)| span(g), avecs|u+, comme dans les lignes 11 et 12 de la description de l’algorithme. On noteSs,u+(f, g) le polynome

Ss,u+(f, g) = xqf − c · xpg.

avec

p = span(g)− u+ + s

q = s− lead(f)

et ou c est le coefficientlc(f) (Eu+ − Pu+(f))lc(g) (Eu+ − Pu+(g))

.

L’algorithme 2 donne l’etape incrementale pour passer d’un ensemble mi-nimal de polynomes valides jusqu’a la position u a un ensemble minimal depolynomes valides jusqu’a la position u+.

Algorithme 2 Principe de l’algorithme Berlekamp-Massey-Sakata. On decritsimplement comment passer d’un element u du tableau a l’element suivant u+.Le programme ci-dessous doit donc etre encapsule dans une boucle superieureEntree :

E, u, u+,F ensemble minimal de Vu(E),G ensemble temoin de Vu(E)

Sortie :F+ ensemble minimal de Vu+(E),G+ ensemble temoin de Vu+(E).

Corps de la boucle :1: N ← les elements de F invalides en u+

2: G+ ← G ∪N3: ∆+ ← span(G+)4: for s ∈ Ext ∆+ do5: if ∃f ∈ F \ N tel que lead(f) = s then6: hs ← f7: else if s 6 |u+ then8: Trouver f ∈ N avec lead(f)|s9: hs ← xs−lead(f)f

10: else11: Trouver f ∈ N , tel que lead(f) | s12: Trouver g ∈ G, tel que (u+ − s) | span(g)13: hs ← Ss,u+(f, g)14: end if15: end for16: F+ = hs; s ∈ Ext ∆+

Journees Nationales de Calcul Formel 2008 page 113

30 CHAPITRE 2. DECODAGE PAR SYNDROME

2.4.5 Terminaison dans le cas d’un tableau periodique

Soit un tableau de taille n pour chacune de ses dimensions, cyclique en-suite. Alors l’algorithme retourne bien une base de Grobner de V (E) quand|∆(V (E))| 6 nm

2m , et il suffit de s’arreter au point au milieu du tableau, decoordonnee n/2 en chacune des dimensions.

Pour le prouver, nous utilisons le theoeme des predictions (proposition 15).Soit u le point au milieu du tableau. Comme on a |∆(V (E))| 6 nm

2m , et que∆(Vu(E)) ⊂ ∆(V (E)), on a aussi |∆(Vu(E))| 6 nm

2m . Soit f ∈ V (E) et g ∈Vu(E), alors par la proposition 15), ils donnent des predictions juste en u + uqui est egal au coin superieur droit du tableau. A partir de la, comme le tableauest periodique, ils prediront toujours les memes valeurs, ce qui entraıne queg ∈ V (E).

2.5 Procedure de vote pour Berlekamp-Massey-Sakata

Dans le probleme du decodage des codes geometriques simplifies, seulementles syndromes Es pour s ∈ Ma sont connus. On ne connait donc pas le ta-bleau total Es, s ∈ Nm des syndromes. Pour remedier a ce probleme, on vadeterminer au fur et a mesure les syndromes inconnus. On encapsule l’etapeelementaire de l’algorithme Berlekamp-Massey-Sakata dans l’algorithem sui-vant : La procedure, non detaillee ici, est basee sur le principe suivant. Sup-

Algorithme 3 Encapsulation de l’etape elementaire de l’algorithme Berlekamp-Massey-SakataEntree : Es, s ∈Ma, le tableau des syndromes connus.Initalisations u = 0, F = 1, G = ∅Repeter

1: if Le syndrome Eu est inconnu then2: Utiliser la procedure de vote pour obtenir Eu.3: end if4: Utiliser l’etape elementaire Berlekamp-Massey-Sakata pour trouver F+, G+

5: F ← F+

6: G ← G+

7: u← u+

Jusqu’a ce que tous les syndromes sont determines.

posons que le sundrome Eu+ soit inconnu. Les polynomes valides f jusqu’a laposition Eu font des predictions Pu+(f). Parmi ces predictions, certaines sontjustes, d’autres sont fausses, mais on peut montrer que le prediction juste a lamajorite relavite parmi toutes les predictions [HP95, HvLP98]. Ce beau resultata ete obtenu initialement par Feng et Rao [FR93].

2.6 Variantes et generalisations

L’algorithme Berlekamp-Massey-Sakata se generalise a un tableau de l ta-bleau m-dimensionnels, E(i), i ∈ 1 . . .M, avec E(i) =

(E

(i)s

)s∈Nm

. On cherche

Journees Nationales de Calcul Formel 2008 page 114

2.6. VARIANTES ET GENERALISATIONS 31

alors des recurrences f = (fs)s∈Nm , telles que∑s

fsE(i)s+r = 0, pour tout r > 0, i ∈ 1 . . .M.

Il existe deja une generalisation de l’algorithme de Berlekamp-Massey pour laconstruction d’une recurrence lineaire satisfaite simultanement par M suiteslineaires, Sakata [Sak88] a construit cette meme generalisation de son algo-rithme, dans le cas multivarie, qui permet de trouver les relations de recurrencede plusieurs tableaux simultanement.

Journees Nationales de Calcul Formel 2008 page 115

32 CHAPITRE 2. DECODAGE PAR SYNDROME

Journees Nationales de Calcul Formel 2008 page 116

Chapitre 3

Decodage par interpolation

Dans ce chapitre nous nous interessons au decodage des codes precedents,codes de Reed-Solomon et codes geometriques, vu ici comme codes d’evaluation.Cela est possible grace aux proprietes de dualite de ces codes : le dual d’un codede Reed-Solomon (de support complet) est un code de Reed-Solomon, et le duald’un code geometrique est un code geometrique.

Cette presentation des codes permet d’augmenter de beaucoup le rayon decorrection τ , par rapport au rayon, note t, qui est obtenu par le decodage clas-sique. L’inconvenient du decodage en liste est qu’il n’y a pas unicite du mot adistance τ du mot recu. Toutefois, on peut montrer que liste est de taille une,avec une forte probabilite, et que les cas ou est la liste est effectivement plusgrande sont rares.

Il y a un parallelisme entre le decodage de codes de Reed-Solomon et ledecodage des codes geometriques. Ce dernier decodage est quasiment une tra-duction du decodage des codes definis sur la droite projective (codes de Reed-Solomon) au genre superieur (codes definis sur des courbes).

De plus la presentation peut se faire progressivement, en partant de l’algo-rithme de Berlekamp-Welsh, qui n’est pas un algorithme de decodage en liste(unicite du mot retourne), jusqu’a l’algorithme de Guruswami-Sudan, en pas-sant par l’algorithme de Sudan.

3.1 Algorithme de Berlekamp-Welch

3.1.1 Cas des codes de Reed-Solomon

Soit Fq le corps fini de cardinal q, n = q − 1, et x1, . . . , xn ∈ Fq distincts.Nous avons la fonction d’evaluation associee a x1, . . . , xn, qui est

ev : Fq[x] → Fnqf(x) 7→ (f(x1), . . . , f(xn))

Le code de Reed-Solomon, de longueur n, de support (x1, . . . , xn), de dimensionk est l’ensemble de ev(f(x)), f(x) ∈ Fq[x], deg f(x) < k. La distance minimaleest d = n − k + 1, et ce code peut corriger t = bn−k2 c erreurs. Pour simplifiernous supposerons que n− k est pair, et donc que t = n−k

2 .

33

Journees Nationales de Calcul Formel 2008 page 117

34 CHAPITRE 3. DECODAGE PAR INTERPOLATION

Soit c = ev(f(x)) le mot transmis, et y = (y1, . . . , yn) le mot recu. Nousconsidererons le probleme du decodage resolu quand f(x) aura ete retrouve.Nous allons utiliser un autre polynome localisateur dont les racines directes sontles xi tels que y 6= f(xi) :

E(x) =∏

i;f(xi) 6=yi(x− xi)

Alors, pour tout i ∈ 1 . . . n deux choses l’une : ou bien

f(xi) = yi,

ou bienE(xi) = 0.

Ce qui se traduit par

f(xi)E(xi) = yiE(xi), i ∈ 1 . . . n. (3.1)

Dans cette equation, les inconnues sont les coefficients de f(x) et les coefficientsde E(x). C’est un systeme non lineaire. Nous le simplifions en introduisons lepolynome F (x) = f(x)E(x), qui est de degre inferieur a t + k. Nous obtenonsdonc les equations

F (xi) = yiE(xi), i ∈ 1 . . . n. (3.2)

Nous avons l’algorithme suivant, dit algorithme de Berlekamp-Welch [WB86].

Algorithme 4 Algorithme de Berlekamp-WelchConstantes :n, k t, tels que n− k est pair, et t = n−k

2 .(x1, . . . , xn) ∈ Fq, tous distincts.

Entree :y = (y1, . . . , yn) le mot recu.

Sortie : f(x) ∈ Fq[x], deg f(x) < k,Interpolation : Trouver E(x) et F (x) tels que

1. F (xi)− yiE(xi) = 0, i ∈ 1 . . . n ;

2. degF (x) < t+ k ;

3. degE(x) ≤ tRecherche de racines : Retourner f(x) = −F (x)

E(x) . Si f(x) n’est pas un po-lynome declarer une erreur de decodage.

Proposition 16 (Preuve de l’algorithme de Berlekamp-Welch). Il existetoujours des polynomes E(x) et F (x) verifiant les conditions 1. 2. et 3. del’algorithme de Berlekamp-Welch. De plus, si le nombre d’erreur est inferieurou egal a t, alors le polynome f(x) = F (x)

E(x) est correct.

Demonstration. Le nombre d’inconnues est t + k + t + 1 = 2t + k + 1 > n + 1alors que le nombre d’equations est n. Maintenant soit c = ev(f(x)) le mot decode, et soit (E1(x), F1(x)) et (E2(x), F2(x)) deux couples de solutions. Commeon a

F1(xi) = yiE1(xi) et F2(xi) = yiE2(xi), i ∈ 1 . . . n,

Journees Nationales de Calcul Formel 2008 page 118

3.1. ALGORITHME DE BERLEKAMP-WELCH 35

on deduit :E2(xi)F1(xi)− E1(xi)F2(xi) = 0 i ∈ 1 . . . n (3.3)

Or le polynome E2(x)F1(x) − E1(x)F2(x) est de degre strictement inferieur ak + t + t = n. Comme il a un n racines, il est identiquement nul. On a doncF1(x)E1(x) = F2(x)

E2(x) . Comme on a en particulier la solution F (x) = f(x)E(x), et E(x),

ou E(x) est le polynome localisateur d’erreur, on a bien F1(x)E1(x) = −f(x) pour

toute solution E1(x), F1(x) du probleme d’interpolation.

3.1.2 Cas des codes geometriques

Nous considerons encore une courbe affine C, en position speciale, c’est-a-direadmettant un unique point a l’infini Q. Ainsi les fonctions de Fq(C) n’admettantqu’un pole a l’infini, sont des polynomes de Fq[x1, . . . , xm]/I ou I designe l’idealde la courbe. On considere les fonctions ayant un pole d’ordre r en Q, et pasde pole ailleurs. L’ordre au pole d’une telle fonction est donnee par un degrepondere wdego1,...,om(i1, . . . , im) = o1i1 + · · · + omim, ou les oi sont les ordresau poles des xi, i ∈ 1 . . . n.

On note P = P1, . . . , Pn les points affines de la courbe, et le code que nousdecodons est CL(P, rQ), qui est l’ensemble

(f(P1), . . . , f(Pn)); f ∈ L(rQ)

des mots de longueur n correspondants aux vecteurs d’evaluation des fonctionsde L(rQ).

On construit une fonction localisateur d’erreur, E ∈ Fq[C], telle que E(Pi) =0, ou les positions d’erreur sont (Pi)i∈I , avec |I| ≤ t. Pour trouver son ordre aupole, il suffit de considerer le diviseur D = (t+ g)Q−∑i∈I Pi. Par le theoremede Riemann, on a

dimL(D) > degD − g + 1 = 1.

Il existe donc E ∈ Fq[C] tel que E(Pi) = 0 et wdego1,...,om(E) ≤ t+ g.Pour tout i ∈ 1 . . . n on a :

f(Pi) = yi,

ouE(Pi) = 0.

Ce qui se traduit par

f(Pi)E(Pi) = yiE(Pi), i ∈ 1 . . . n. (3.4)

De meme que dans le cas de l’algorithme de Berlekamp-Welch, on cherche doncQ(y) = F + yF , dans Fq[C][y] tels que

– F (Pi) + yiE(Pi) = 0, i ∈ 1 . . . n– wdeg(F ) 6 t+ g + r– wdeg(E) 6 t+ g

Proposition 17. Si t < d−g2 , alors la fonction f correspondant au mot de code

le plus proche est f = −EF .

Journees Nationales de Calcul Formel 2008 page 119

36 CHAPITRE 3. DECODAGE PAR INTERPOLATION

Demonstration. Soit f la fonction telle que d(ev f, y) ≤ τ . Si t < d−g2 , alors

2t 6 d− g = n− r− g, soit t+ r+ g < n− t. Le polynome Q(f) admet un degrepondere inferieur a t+ r+ g < n− t. D’autre part, comme f(Pi) = yi en > n− tpoints Pi, on a que la fonction Q(f) a au moins n− t zeros. Elle a plus de zerosque son degre pondere, elle est donc nulle. On a donc F (Pi) + yiE(Pi) = 0, etF (Pi) + f(Pi)E(Pi) = 0, i ∈ 1 . . . n.L’algorithme est presente en Fig. 3.1.2. Notons que cet algorithme ne decodepas bd−1

2 c, il y a une penalite due au genre.

Algorithme 5 Algorithme de Berlekamp-Welch pour les codes geometriquesConstantes :n, r t, C une courbe affine de genre g.(P1, . . . , Pn) ∈ C, tous distincts.wdego1,...,om la fonction de poids au pole Q a l’infini.

Entree :y = (y1, . . . , yn) le mot recu.

Sortie :E ∈ Fq[C], wdeg(E) 6 t+ g, qui s’annule sur les positions d’erreur.

Interpolation : Trouver E,F ∈ Fq[C] tels que

1. F (Pi)− yiE(Pi) = 0, i ∈ 1 . . . n ;

2. wdeg(F ) < t+ g + r ;

3. wdeg(E) ≤ t+ g

Recherche de racines : Retourner une bonne representation de f = −FE .

3.2 Algorithme de Sudan

L’algorithme de decodage de Sudan est un algorithme de decodage en liste,de rayon τ . Cela a la signification suivante : soit y le mot recu, et C le code,l’algorithme doit retourner tous les mots c ∈ C, tels que d(c, y) ≤ τ . Il y a uncompromis entre la taille, notee l, de la la liste et la rayon τ de correction :quand celui ci devient grand, on devrait retourner un grand nombre de mots,voire exponentiel, ce qui n’est pas souhaitable. Nous verrons qu’un tel compromisest exprime bar la borne de Johnson.

L’algorithme de Sudan est une extension de l’algorithme de Berlekamp-Welch : alors que dans l’algorithme de Berlekamp-Welch, on cherche un po-lynome F (x)−yE(X) qui interpole le mot recu ; dans l’algorithme de Berlekamp-Welch, on va monter en degre en Y de sorte a avoir plusieurs solutions [Sud96,Sud97]. Nous verrons alors que l’on gagne en rayon de correction. L’algorithmeest presente d’abord, la preuve ensuite, et le rayon de correction est ensuitecalcule.

Proposition 18. Soit y le mot recu, et Q(x, y) le polynome construit dans l’al-gorithme de Sudan. Alors si c = ev(f(x)) est a distance τ de y, avec deg f(x) <k, alors Q(x, f(x)) = 0.

Demonstration. Comme deg(f(x)) < k, et wdeg(Q(x, y)) < n− τ , on a

degQ(x, f(x)) < n− τ.

Journees Nationales de Calcul Formel 2008 page 120

3.2. ALGORITHME DE SUDAN 37

Algorithme 6 Algorithme de Sudan pour les codes de Reed-SolomonConstantes :n, k t, tels que n− k est pair, et τ le rayon de correction.(x1, . . . , xn) ∈ Fq, tous distincts.

Entree :y = (y1, . . . , yn) le mot recu.

Sortie : f(x) ∈ Fq[x], deg f(x) < k,Interpolation : Trouver un polynome Q(x, y) 6= 0 tels que

1. Q(xi, yi) = 0, i ∈ 1 . . . n ;

2. wdeg1,k−1(Q(x, y)) < n− τ .

Recherche de racines : Retourner les polynomes f(x) tels que– Q(x, f(x)) = 0 ;– deg f(x) < k ;– d(ev(f(x)), y) ≤ τ .

Ensuite, chaque fois que f(xi) = yi, on a Q(xi, f(xi)) = 0, puisque Q(xi, yi) = 0pour tout i. Comme d(ev(f(x)), y) ≤ τ , on a f(xi) = yi pour au moins n − τelements xi du support. Le polynome Q(x, f(x)) a plus de racines que son degre,il est identiquement nul.

Il reste a determiner la capacite de correction τ . L’argument logique pouraffirmer la validite de l’algorithme de Sudan est d’etablir une condition suffisantepour que le polynome Q(x, y) existe quelque soit le mot recu. Cette conditionnous donnera la capacite de correction τ .

Proposition 19. L’algorithme de Sudan corrige jusqu’a n −√2(k − 1)n er-reurs.

Demonstration. Remarquons que le polynome Q(x, y) est solution d’un systemelineaire a n equations. Pour que quelque que soit le mot recu, un polynomeQ(x, y) non nul existe, nous ecrivons la condition suffisante suivante : le systemelineaire doit avoir plus d’inconnues que d’equations, soit

NQ > n,

ou NQ est le nombre de termes de Q(x, y). La condition wdeg1,k−1(Q(x, y))nous permet de borner le nombre de termes de Q(x, y) :

NQ =l∑i=0

(n− τ − (k − 1)) ,

avec l = b τk−1c. On montre que Nq > (n−τ)2

2(k−1) . La condition (n−τ)2

2(k−1) > n est doncsuffisante pour s’assurer de l’existence de Q(x, y) quelque soit le mot recu. Elledonne

τ < n−√

2(k − 1)n.

En notant R = kn ≈ k−1

n , le taux de transmission, et δ = τn , le taux d’erreur

relatif, on obtient les courbes tracees en Fig. 3.2. On voit qu’on decode plus

Journees Nationales de Calcul Formel 2008 page 121

38 CHAPITRE 3. DECODAGE PAR INTERPOLATION

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

(1-x)/21-(2*x)**(.5)

Fig. 3.1 – Rayon δ = τn de decodage de l’algorithme de Sudan

d’erreur que l’algorithme classique lorsque R est petit, et aussi qu’on decode unnombre relatif d’erreurs proche de 1 lorsque le taux de transmission est prochede zero.

3.3 Generalisation aux codes geometriques

L’algorithme se generalise bien aux codes geometriques, en traduisant commed’habitude la notion de degre par celle d’ordre au pole Q. Cette generalisation aete par Shokrollahi et Wasserman [SW99]. Soit C une courbe affine, admettantun unique point a l’infini, Q. Soit P1, . . . , Pn n points de C(Fq). Soit r < n, etsoit L(rQ) l’espace de Riemann-Roch associe a kQ.

On a, par le theoreme de Riemann-Roch :

dimL(rQ) > r − g + 1.

Le code geometrique C = CL(P1 + · · · + Pn, rQ) est defini par la fonctiond’evaluation :

ev : L(rQ) → Fqnf 7→ ev f = (f(P1), . . . , f(Pn))

Decoder ce code revient a trouver toutes les fonctions de L(rQ) telles qued(ev(f), y) ≤ n− τ , ou y est le mot recu.

L’algorithme de Sudan pour les codes geometriques est simplement la traduc-tion en ecrivant le notion de degre en termes d’espaces associes a des diviseursde supports reduits au point Q.

Proposition 20. Soit f ∈ L(rQ), tel que d(ev f, y) ≤ τ , alors Q(f) = 0.

Demonstration. La construction du polynome Q(y) fait que Q(f) ∈ L((n− τ −1)Q). D’un autre cote, comme f(Pi) = yi en au moins n− τ points Pi1 , . . . , Piµ ,

Journees Nationales de Calcul Formel 2008 page 122

3.3. GENERALISATION AUX CODES GEOMETRIQUES 39

Algorithme 7 Algorithme de Sudan pour les codes geometriquesConstantes :C une courbe affine de genre g.PP1, . . . , Pn ⊂ C, ou les Pi sont tous distincts.r un entier definissant le code CL(P, rQ).

Entree :y = (y1, . . . , yn) le mot recu.

Sortie :Interpolation : Trouver Q(y) =

∑li=0Qiy

i ∈ K(y) tel que

1. Q 6= 0 ;

2. Qi ∈ L((n− τ − 1− ri)Q) ;

3. Q(yi)(Pi) = 0, pour i ∈ 1 . . . n.Recherche de racines : : retourner les f ∈ L(rQ) tels que Q(f) = 0, etd(ev f, y) ≤ τ .

avec µ ≥ n− τ , on a

Q(f) ∈ L(−(Pi1 + · · ·+ Piµ)).

DoncQ(f) ∈ L(((n− τ)− 1)Q− (Pi1 + · · ·+ Piµ)),

Or µ > n − τ , donc le degre du diviseur (n − τ) − 1Q − (Pi1 + · · · + Piµ) estnegatif. L’espace associe est nul : Q(f) = 0.

Proposition 21. Pour qu’un polynome Q(T ) existe independamment du motrecu, il suffit que τ < n−√2kn− g.

Demonstration. L’espace des polynomes Q(T ) =∑li=0QiTi tels que Qi ∈

L((n− τ − 1− ri)Q) est de dimension dimQ minoree comme suit :

dimQ =l∑i=0

dimL((n− τ − 1− ri)Q)

>l∑i=0

(n− τ − 1− ri− g + 1)

= (l + 1)(n− τ − g)− r l(l + 1)2

= (l + 1)(n− τ − g − r l

2

)On prend l tel que l est maximal verifiant rl < n− τ − g. Donc

dimQ > (l + 1)(n− τ − g − n− τ − g

2

)= (l + 1)

n− τ − g2

> (n− τ − g)2

2k

Journees Nationales de Calcul Formel 2008 page 123

40 CHAPITRE 3. DECODAGE PAR INTERPOLATION

Fig. 3.2 – Un exemple extreme de solutions au probleme de decodage sur 10points : par chaque point passe deux droites, et chaque droite est « a distance »6 du mot recu (elle passe par 4 points)

Si la dimension de cette espace est superieure au nombre d’equations n, onest assure d’avoir une solution. On ecrit donc dimQ > n, ce qui donne τ <

n−√2kn− g.

On a encore une penalite due au genre de la courbe.

3.4 Algorithme de Guruswami-Sudan

L’algorithme de Guruswami-Sudan est une amelioration de l’algorithme deSudan, qui permet de decoder plus que le rayon de decodage classique dudecodage unique, pour tous les taux de transmission 0 < R < 1. La figure 3.4montre un exemple fictif ou on voit que pour chaque point xi du support ducode, avec yi la composante correspondante, il y a au moins deux droites quipassent par ce point. Un polynome interpolateur tel que y − f(x)|Q(x, y) pourtoute solution f(x) du probleme du decodage aura donc une multiplicite 2 enchaque point, cf Fig 3.4. L’idee de Guruswami et Sudan est exactement dechanger les conditions d’interpolation, et de rajouter des multiplicites dans lescontraintes d’interpolation [GS99].

L’algorithme est presente dans l’algorithme 3.4. Il nous faut definir la notionde multiplicite, comme suit (definition valide pour les corps de caracteristiquepositive).

Definition 32. On dit que le polynome Q(x, y) a une multiplicite superieurea s en (0, 0), s’il ne presente de termes de degre strictement inferieur a s. Ondit que le polynome Q(x, y) a une multiplicite superieure a s en (a, b), si lepolynome Q(x+ a, y + b) a un multiplicite superieure a s en (0, 0).

Journees Nationales de Calcul Formel 2008 page 124

3.4. ALGORITHME DE GURUSWAMI-SUDAN 41

Algorithme 8 Algorithme de Guruswami-Sudan pour les codes de Reed-SolomonConstantes :n, k t, tels que n− k est pair, et τ le rayon de correction.(x1, . . . , xn) ∈ Fq, tous distincts.s un ordre de multiplicite.

Entree :y = (y1, . . . , yn) le mot recu.

Sortie : f(x) ∈ Fq[x], deg f(x) < k,Interpolation : Trouver un polynome Q(x, y) 6= 0 tels que

1. mult(Q, (xi, yi)) > s, i ∈ 1 . . . n ;

2. wdeg1,k−1(Q(x, y)) < s(n− τ).

Recherche de racines : Retourner les polynomes f(x) tels que– Q(x, f(x)) = 0 ;– deg f(x) < k ;– d(ev(f(x)), y) ≤ τ .

Proposition 22. Soit c = ev(f(x)) tel que d(c, y) 6 τ . Alors Q(x, f(x)) = 0.

Demonstration. On a d’abord que, pour chaque indice i tel que f(xi) = yialors (X − xi)s|Q(x, f(x)). Ensuite le nombre d’indice i tels que f(xi) = yiest superieur egal a n − τ . Soit I l’ensemble de ces indices, alors

∏i∈I(X −

xi)s|Q(x, f(x)). La condition wdeg 1, k − 1(Q(x, y)) < s(n − τ entraıne que ledegre de Q(x, f(x)) est au plus s(n− τ). On a donc que Q(x, f(x)) = 0.

Proposition 23. L’algorithme de Sudan corrige jusqu’a n−√(k − 1)n erreurs,quand l’ordre s de multiplicite est assez eleve.

Demonstration. De meme que precedemment, nous ecrivons que le systemelineaire doit avoir plus d’inconnues que d’equations, soit

NQ >

(s

2

)n,

ou NQ est le nombre de termes de Q(x, y). La condition wdeg1,k−1(Q(x, y)) <s(n− τ) nous permet de borner le nombre de termes de Q(x, y) :

NQ > (s(n− τ)− 1)2

2(k − 1)

avec l = b τk−1c. La condition n−τ

2(k−1) >s(s+1)

2 n donne

τ < n−√

(1 +1s

)(k − 1)n− 1s.

Quand s est assez grand, on obtient τ < n−√(k − 1)n.

En terme de rayon relatif et de taux de transmission, la courbe δ = 1−√Rest toujours meilleure que la courbe 1 − √2R, et aussi toujours meilleure quele rayon classique du decodage unique. On remarque aussi que l’algorithme de

Journees Nationales de Calcul Formel 2008 page 125

42 CHAPITRE 3. DECODAGE PAR INTERPOLATION

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

(1-x)/21-sqrt(2*x)

1-sqrt(x)

Fig. 3.3 – Rayons δ = τn de decodage des algorithmes de Sudan et de

Guruswami-Sudan, en fonction du taux de transmission R = kn

Guruswami-Sudan redonne bien le rayon de Sudan pour la multiplicite s = 1.Enfin, il faut souvent prendre de grandes valeurs de s pour atteindre le rayon dedecodage optimal de Guruswami-Sudan, et en pratique, il est preferable souventde decoder une erreur de moins, mais a un cout plus favorable [Mce03]. Lafigure 3.4 donne le rayon de decodage en fonction du taux de transmission.

3.5 Generalisation au codes geometriques

Nous donnons l’algorithme directement dans la Fig. 3.5. Il repose sur lesmeme ingredients :

– recherche d’un polynome de degre pondere pondere borne. Cela se traduirapar l’appartenance de ses coefficients a des espaces L(D) bien choisis ;

– Ce polynome doit passer par les points d’interpolation avec une certainemultiplicite.

La seule difficulte theorique est de definir la multiplicite d’un polynome Q(y) ∈Fq[C][y]. Nous developpons

Q(T ) =∑j

(Y − yi)jQij , Qij ∈ K(T ).

et nous definissons alors :

mult(Q, (yi, Pi)) = minjvPi(Qij) + j.

Proposition 24. Soit Q(y) comme dans l’algorithme 3.5, et f ∈ L(rQ), alorsQ(f) ∈ L((s(n− τ)− 1)Q).

Journees Nationales de Calcul Formel 2008 page 126

3.5. GENERALISATION AU CODES GEOMETRIQUES 43

Algorithme 9 Algorithme de Guruswami-Sudan pour les codes geometriquesConstantes :n, r t, C une courbe affine de genre g.(P1, . . . , Pn) ∈ C, tous distincts.wdego1,...,om la fonction de poids au pole Q a l’infini.s un ordre de multiplicite.

Entree :y = (y1, . . . , yn) le mot recu.

Sortie :Interpolation : Trouver Q(y) =

∑li=0Qiy

i ∈ K(y) tel que

1. Q 6= 0 ;

2. Qi ∈ L((s(n− τ)− 1− ri)Q) ;

3. mult(Q, ((yi, Pi)) > s, pour i ∈ 1 . . . n.Recherche de racines : : retourner les f ∈ L(rQ) tels que Q(f) = 0, etd(ev f, y) ≤ τ .

Demonstration. Pour chaque terme Qi du polynome Q(y), on a

−vQ(Qif 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.

Demonstration. Ecrivons Q(y=Q(f) =∑j y

jQij , avec Qij ∈ Fq[C]. On a

vPi(Q(f)) > minjvPi((f − yi)jGij)

= minj

(jvPi(f − yi) + vPi(Gij))

> minj

(j + vPi(Gij))

> s

Proposition 26. Soit f ∈ L(rQ) telle que d(ev(f), y)) ≤ τ . Alors Q(f) = 0.

Demonstration. Puisque f(Pi) = yi en au moins n− τ points Pi1 , . . . , Pil , on a

Q(f) ∈ L(−s(Pi1 + · · ·+ Piµ)).

DoncQ(f) ∈ L((s(n− τ)− 1)Q− s(Pi1 + · · ·+ Piµ)),

Or µ > n− τ , donc le degre du diviseur s(n− τ)− 1Q− s(Pi1 + · · ·+ Piµ) estnegatif. L’espace associe est nul : Q(f) = 0.

Journees Nationales de Calcul Formel 2008 page 127

44 CHAPITRE 3. DECODAGE PAR INTERPOLATION

Pour finir, il faut determiner une condition suffisante pour le polynome Q(T )existe, independante du mot recu. Pour cela il faut que le nombre de termespossible pour le polynome Q soit superieur au nombre d’equations imposees parles conditions d’interpolation.

Quand nous ecrivons

Q(T ) =∑i

(Y − yi)jQij ,

avec vPiQij > r− j, chaque contrainte vPi(Qij) > r− j impose r− j equationslineaires sur les coefficients de Q. Chaque point donne donc un nombre d’equa-tions

r−1∑j=0

(r − j) =r(r + 1)

2.

Donc en comptant tous les points, nous avons n r(r+1)2 equations sur les coeffi-

cients de Q. Nous devons donc avoir

dimQ > nr(r + 1)

2,

avec, en utilisant le meme calcul que precedemment

dimQ >(s(n− τ)− g)2

2r.

En tirant τ , on obtient

τ ≤ n−√rn(1 +

1s

)− g

s

et quand r croıtτ ≤ n−√rn.

On a, en fonction de la distance minimale τ ≤ n−√n(n− d). Il est notable quedans le cas des codes de Reed-Solomon, et dans le cas des codes geometriques,le rayon de decodage a la meme expression en fonction de la distance minimale.Toutefois, en fonction du taux de transmission k = r − g + 1, on obtient

τ ≤ n−√

(k + g − 1)n,

ou on voit que le genre de la courbe impacte negativement le rayon de decodage.

3.6 Retour de l’algorithme Berlekamp-Massey-Sakata

Soit x1, . . . , xn le support d’un code de Reed-Solomon de dimension k. Ensituation de decodage, soit y = (y1, . . . , yn) le mot recu. Dans l’algorithme deSudan, il faut trouver un polynome Q(X,Y ) de degre pondere wdeg1,k−1 petit,tel que

Q(xl, yl) = 0, l ∈ 1 . . . n.

Journees Nationales de Calcul Formel 2008 page 128

3.6. RETOUR DE L’ALGORITHME BERLEKAMP-MASSEY-SAKATA 45

C’est-a-dire, un polynome Q(X,Y ) =∑qijX

iY j tel que∑qijx

ilyjl = 0, l ∈ 1 . . . n.

A k et l fixes, on peut multiplier une telle equation par xu′i y

v′i , pour n’importe

quel couple (u′, v′). En notant E(l le tableau E(l)u,v = xul y

vl , u′, v′ > 0, on a

S(l)u′,v′ :=

∑quvE

(l)u+u′,v+v′ = 0, ∀u′, v′ ≥ 0, l ∈ 1 . . . n.

C’est-a-dire que Q(X,Y ) =∑qijXiY j definit une relation de recurrence pour

chaque tableau E(l), l ∈ 1 . . . n.Sakata propose l’astuce suivante : soit E=

∑E(l). Alors on a

Proposition 27. Le polynome Q(X,Y ) =∑qijX

iY j est une relation derecurrence pour chaque E(l) si et seulement si il est une relation de recurrencepour E.

Demonstration. Si le polynome Q(X,Y ) =∑quvX

uY v est une relation derecurrence pour chaque E(l), alors il est une relation de recurrence pour E.Reciproquement, supposons que

Su′,v′ :=∑

quvEu+u′,v+v′ = 0, ∀u′, v′ ≥ 0 = 0

Alors on peut ecrire

S =∑uv

quv

n∑l=1

xu+u′l yv+v′

l

=n∑l=1

∑uv

quvxu+u′l yv+v′

l

En substituant u′ = u′ + u′′, on obtient

Su′,v′ =n∑l=1

xu′l

∑uv

quvxu+u′′l yv+v′

l

=n∑l=1

xu′l S

(l)u′′,v′

pour tout u′. Comme les xl, l ∈ 1 . . . n, sont distincts, la matrice de Vander-monde V (x1, . . . , xn) =

(xu′l

)l,u′

associee est de determinant non nul, on a donc

S(l)u′′,v′ = 0 pour u′′, v′ ≥ 0, l ∈ 1 . . . n.

Adaptation a l’algorithme de Guruswami-Sudan Dans l’algorithme, enutilisant la multiplicite s, on obtiendrait, pour tout i, j < s, l tableaux E(i,j,l)

dont le polynome Q(X,Y ) est une relation de recurrence. La meme astuce queprecedemment, qui consiste a sommer sur tous les points du support, nous donne(s2

)tableaux E(i,j) dont on cherche simultanement une relation de recurrence.

Sakata [Sak91, Sak88] a propose une generalisation de son algorithme pourexactement resoudre ce probleme la.

Journees Nationales de Calcul Formel 2008 page 129

46 CHAPITRE 3. DECODAGE PAR INTERPOLATION

Journees Nationales de Calcul Formel 2008 page 130

Annexe A

Preuve de l’algorithmeBMS

A.1 Preuve de l’algorithme

Theoreme 11. Il existe bien un poynome f comme requis dans les etapes 8 et11 de l’algorithme Berlekamp-Massey-Sakata.

Demonstration. Il s’agit de montrer qu’il existe f ∈ N tel que lead(f)|s. Lepoint s est un point exterieur de ∆+, qui contient ∆(F).

Supposons d’abord que s est un point exterieur de ∆(F), alors il existe f ∈ Ftel que lead(f) = s. Comme nous sommes dans l’autre branche que celle du casdu test 5 de l’algorithme, on a f ∈ N .

On considere maintenant le cas ou s n’est pas un coin exterieur de ∆(F). Lepoint s est neammoins un point de l’exterieur de ∆(F), et il existe f(x) ∈ Ftel que lead(f) soit un point exterieur de F . De plus lead(f) ∈ ∆+. Comme∆+ ⊆ ∆(Vu+(E)), on a

lead(f) ∈ ∆(Vu+(E)).

Mais aucun polynome de terme de tete lead(f) ne peut-etre valide en u. Doncf ∈ N .

Proposition 28. Il existe bien un polynome g comme requis dans l’etape 12 del’algorithme BMS.

Demonstration. Supposons que ce ne soit pas possible, comme G est l’ensembletemoin, cela entraıne que u+ − s est a l’exterieur de ∆(F), et il existe un coinexterieur p de ∆(F) tel que p|u+ − s. Il y a donc f ′ ∈ F tel que lead(f ′) = p.On a donc

lead(f ′) + lead(f)|u+,

et par le theoreme des predictions, f et f ′ font la meme prediction en u+. Doncf ′ ∈ N et donc span(f ′) ∈ ∆+, i.e. u+ − p ∈ ∆+. Comme s|u+ − p, on a ques ∈ ∆+, 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 polynomes construits dans les etapes 6, 9 ou 13 sont determe de tete s, et sont valides en u+,

47

Journees Nationales de Calcul Formel 2008 page 131

48 ANNEXE A. PREUVE DE L’ALGORITHME BMS

Demonstration. Le cas de l’etape 6 est clair. Dans le cas 9, hs est de terme detete s, et ne peut etre invalide en u+, puisqu’on ne peut pas faire la prediction(s 6 |u+). D’autre part, comme f est valide jusqu’a u, on a bien f ∈ Vu+(E).

Montrons que le ponyome hs construit en 13 admet s comme terme de tete.Rappelons la formule pour Ss,u+(f, g) :

Ss,u+(f, g) = xs−lead(f)f − cxspan(g)−u++sg

ou c est un coefficient bien choisi.Le terme xs−lead(f)f admet s comme monome de tete.Soit span(g) = u0 − lead(g), avec u0 < u+, car g a bloque precedemment.

Le monome de tete du deuxieme 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 monome de tete.La fait que Ss,u+(f, g) est valide en u+ se verifie par le calcul.

A.2 Cas de l’algorithme de Berlekamp-Massey

Nous presentons comment l’algorithme de Berlekamp-Massey-Sakata redon-ne bien l’algorithme de Berlekamp-Massey, lorsque le tableau est unidimensionel.Nous avons alors les simplifications suivantes :

1. les monomes u sont des entiers ;2. il n’y a qu’un seul ordre monomial, qui coıncide avec la relation de divisi-

bilite ;3. l’ensemble des recurrences minimales est un ideal principal represente par

un polynome ;4. l’ensemble temoin est le polynome de plus haut degre qui n’est pas dans

l’ideal ;5. le span(g) d’un polynome est la difference entre son degre et l’indice ou il

bloque : c’est le nombre de valeurs pendant lesquels il est valide.

Proposition 30. Soit f+ le polynome produit a l’etape 9 de l’algorithme deBerlekamp-Massey, dans le cas ou le polynome prececent f a echoue. On adeg f+ = u+ 1− deg f . Dans l’autre cas, le degre est maintenu.

Demonstration. Il suffit de calculer

Ss,u+(f, g) = xqf − c · xpg.

avec

p = span(g)− u+ + s

q = s− lead(f)s = u+ − deg(f)

Journees Nationales de Calcul Formel 2008 page 132

A.2. CAS DE L’ALGORITHME DE BERLEKAMP-MASSEY 49

Algorithme 10 Algorithme de Berlekamp-Massey, derive de l’algorithme deBerlekamp-Massey-Sakata, a encapsuler dans une boucle superieureEntree :

E, u, u+ = u + 1,F = f ensemble minimal de Vu(E), reduit a f ,G = g ensemble temoin de Vu(E), reduit a g.

Sortie :F+ = f+ ensemble minimal de Vu+(E),G+ = g+ ensemble temoin de Vu+(E).

Corps de la boucle :1: N ← les elements de F invalides en u+, N = f ou ∅,2: if N = ∅ then3: continue4: end if5: G+ ← f,6: s = u+ − deg f // Remplace 3 et 4 de BMS7: // Le cas de la ligne 5 de BMS ne se produit pas8: // Le cas de la ligne 7 de BMS ne se produit pas9: hs ← Ss,u+(f, g)

10: F+ = f+ = hs

Soit

Ss,u+(f, g) = xqf − c · xpg.

= xs−lead(f)f − cxspan(g)−u++sg

Or span(g) = u− deg(g), donc

deg(xspan(g)−u++sg) = 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 tete de Ss,u+(f, g) a bien pour degre u + 1− deg(f).

Journees Nationales de Calcul Formel 2008 page 133

50 ANNEXE A. PREUVE DE L’ALGORITHME BMS

Journees Nationales de Calcul Formel 2008 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, Handbookof 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. InCustom 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 Til-

borg. 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 codesof length 64 and 65 over F8. Information Theory, IEEE Transactionson, 49(5) :1351–1353, 2003.

[Chi64] R. T. Chien. Cyclic decoding procedures for Bose-Chaudhuri-Hocquenghem codes. IEEE Transactions on Information Theory,10(4) :357–363, 1964.

[CLO92] David Cox, John Littel, and Donal O’Shea. Ideals, Varieties andAlgorithms. Springer, 1992.

[For65] G. Forney. On decoding BCH codes. Information Theory, IEEETransactions on, 11(4) :549–557, 1965.

[FR93] G. L. Feng and T. R. N. Rao. Decoding algebraic-geometric codesup to the designed minimum distance. Information Theory, IEEETransactions on, 39(1) :37–45, 1993.

[Gop77] V. D. Goppa. Codes that are associated with divisors. ProblemyPereda ci Informacii, 13(1) :33–39, 1977.

[GS99] Venkatesan Guruswami and Madhu Sudan. Improved decoding ofReed-Solomon and algebraic-geometry codes. IEEE Transactionson Information Theory, 45(6) :1757–1767, 1999.

[GZ06] Philippe Gaborit and Gilles Zemor. Asymptotic improvement ofthe Gilbert-Varshamov bound for binary linear codes. In Informa-tion Theory, 2006 IEEE International Symposium on, pages 287–291, 2006.

[HP95] Tom Høholdt and Ruud Pellikaan. On the decoding of algebraic-geometric codes. IEEE Transactions on Information Theory,41(6) :1589–1614, 1995.

51

Journees Nationales de Calcul Formel 2008 page 135

52 BIBLIOGRAPHIE

[HvLP98] T. Høholdt, J. H. van Lint, and R. Pellikaan. Handbook of CodingTheory, volume I, chapter Algebraic geometry codes, pages 871–961.Elsevier, 1998.

[Mas69] Jim Massey. Shift-register synthesis and BCH decoding. IEEE Tran-sactions on Information Theory, 15(1) :122–127, 1969.

[Mce03] Robert J. Mceliece. The guruswami-sudan decoding algorithm forreed-solomon codes. Technical Report 42-153, JPL InterplanetaryNetwork Progress Report, May 2003.

[MS83] F. J. Macwilliams and N. J. A. Sloane. The Theory of Error-Correcting Codes. North-Holland Mathematical Library. North Hol-land, January 1983.

[Sak88] Shojiro Sakata. N-dimensional berlekamp-massey algorithm for mul-tiple arrays and construction of multivariate polynomials with preas-signed zeros. In Teo Mora, editor, Applied Algebra, Algebraic Al-gorithms 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 vectorof 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 po-lynomial identities. Journal of the ACM, 27(4) :701–717, October1980.

[SH95] K. Saints and C. Heegard. Algebraic-geometric codes and multidi-mensional cyclic codes : a unified theory and algorithms for decodingusing Grobner bases. Information Theory, IEEE Transactions on,41(6) :1733–1751, Nov 1995.

[Sha48] Claude E. Shannon. A mathematical theory of communication. TheBell 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-Solomoncodes. In Proceedings of the 37th Annual Symposium on Founda-tions of Computer Science (FOCS 1996)., pages 164–172, 1996.

[Sud97] Madhu Sudan. Decoding of Reed-Solomon codes beyond the error-correction bound. Journal of Complexity, 13(1) :180–193, March1997.

[SW99] Mohammad A. Shokrollahi and Hal Wasserman. List decodingof algebraic-geometric codes. IEEE Transactions on InformationTheory, 45(2) :432–437, 1999.

[TV91] Michael A. Tsfasman and Serguei G. Vladut. Algebraic-GeometricCodes. Mathematics and its Applications. Kluwer Academic Publi-shers, April 1991.

[vzGG99] Joachim von zur Gathen and Jurgen Gerhard. Modern ComputerAlgebra. Cambridge University Press, 1999.

Journees Nationales de Calcul Formel 2008 page 136

BIBLIOGRAPHIE 53

[WB86] Loyd R. Welch and Elwyn R. Berlekamp. Error correction for alge-braic block codes. US Patent 4 633 470, 1986.

[WJ97] B. E. Wahlen and J. Jimenez. Performance comparison of Hermitianand Reed-Solomon codes. In MILCOM 97 Proceedings, volume 1,pages 15–19 vol.1, 1997.

[Zip79] Richard Zippel. Probabilistic algorithms for sparse polynomials. InEdward W. Ng, editor, Symbolic and Algebraic Computation : EU-ROSAM ’79, volume 72 of Lecture Notes in Computer Science, pages216–226. Springer, 1979.

Journees Nationales de Calcul Formel 2008 page 137

Introduction à la Théorie de Galois EffectiveDraft 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

Journees Nationales de Calcul Formel 2008 page 139

Journees Nationales de Calcul Formel 2008 page 140

Première partie

Prémices et définitions de la théorie de Galois

Journees Nationales de Calcul Formel 2008 page 141

Journees Nationales de Calcul Formel 2008 page 142

Préambule

Dans cette partie nous nous intéressons à la résolution d’équation de la formeP (x) = 0

où P est un polynôme à coefficients dans Q. Le problème principal qui a fait naîtrela théorie de Galois est de savoir si une telle équation peut toujours être résolue enexprimant ses solutions à partir de rationnels et de radicaux successifs. Le problèmeest résolu pour le degré 2 depuis l’antiquité. Celui des degrés 3 et 4 ont été résolu parles géomètres italiens du 16ème siècle (Fontana (dit Tartaglia), Cardan, Ferrari). Larésolution des degrés supérieurs reste inconnue jusqu’àu 18ème siècle où, par les travauxde Vandermonde et Lagrange, on commence à entrevoir une explication que donnera Abeldans 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 restreindreau problème suivant

Problème 1. Étant donnée une équation P (x) = 0 de degré n, est-il possibled’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érosdu polynôme P et des solutions de l’équation P (x) = 0. Ainsi, tout au long de cettepartie nous chercherons à exprimer le corps des racines du polynôme P , c’est-à-dire laplus petite extension de Q qui contient l’ensemble des zéros de P . Pour construire cetteextension, nous allons ajouter successivement des valeurs irrationnelles au corps de baseQ en considérant des extensions successives de ce corps. Ceci nous amènera à définirles objets fondamentaux de la théorie de Galois qui est effective par essence puisqu’ellefournit les méthodes de résolution du problème 1.

Nous commencerons, au chapitre 1, par voir comment les idées de Lagrange, déve-loppées pour la résolution des équations du degré 3 et 4, peuvent être vues comme lessemences de cette théorie. Nous verrons ensuite, au chapitre 2, comment Galois donneune réponse infirmative au problème de la résolution d’équation par radicaux en faisantle lien entre deux catégories d’objets mathématiques : les groupes de permutations et leséquations.

5

Journees Nationales de Calcul Formel 2008 page 143

Journees 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 étu-diant 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. Lagrangeemploie les permutations comme outil de base pour cette étude sans introduire la notionde groupe que Galois donnera 60 ans plus tard. Il développe ainsi un cadre général pourexpliquer la résolution des équations de degré inférieur à 5 et il propose de l’utiliser entoute généralité, sans aller plus loin.

Ainsi, dans son étude sur les méthodes de résolution par radicaux de l’équationP (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 del’équation P (x) = 0 de degré n en essayant d’exhiber des formules qui permettent deconstruire ses solutions en fonctions de celles d’une équation de degré plus petit (voirFigure 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 racinesx1, . . . , xn du polynôme P .

Ainsi, toute son étude se fait à partir de l’équation générale de degré n. Pour cela, onconsidère x1, . . . , xn des variables algébriquement disjointes sur le corps Q et le polynôme

7

Journees Nationales de Calcul Formel 2008 page 145

générique P ayant pour racines les xi sera

P (x) = xn + σ1xn−1 − σ2x

n−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 raisonnementsera donc le corps Q(σ1, . . . , σn).

L’étude que fait Lagrange, sans avoir les objets mathématiques à disposition, est cellede l’extension Q(x1, . . . , xn) sur Q(σ1, . . . , σn) au regard du groupe symétrique Sn. Cecipeut 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 apriori (ceci correspond à la première étape de son principe). Cette étude a priori sefait en étudiant l’action du groupe symétrique Sn de degré n sur les éléments du corpsde 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 permu-tation 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 estdé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 : ρ ∈ GSoient H ⊂ G deux sous-groupes de Sn un ensemble de représentants des classes de G/Hest appelé transversale à gauche.

À partir d’une fonction f dans Q(x1, . . . , x2), Lagrange considère le polynôme

Θf (t) =∏s∈Sn

(t− s · f(x1, . . . , xn))

Par construction, ce polynôme est stable sous l’action du groupe Sn sur les xi, ainsi sescoefficients sont des fonctions symétriques des xi et, d’après les travaux de Newton, bienconnus par Lagrange, ses coefficients sont des éléments de Q(σ1, . . . , σn). En utilisanttoujours ce principe, Lagrange va ramener la résolution de l’équation P (x) = 0 à cellede la résolution de plusieurs équations à coefficients dans ce corps. En des termes plusmodernes, 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 fonctionrationnelle f sous l’action des différentes permutations des racines de P . En des termesplus modernes, il exhibe l’orbite et le stabilisateur de f sous l’action de Sn. Il montrealors, 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èmede Lagrange). Il en déduit que si le stabilisateur de f à un cardinal k > 1 alors le

8

Journees Nationales de Calcul Formel 2008 page 146

polynôme Θf pourra se factoriser puisque des formes identiques vont se répéter lors dela 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

θf (t) =∏

g∈OrbSn (f)

(t− g).

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 ver-rons cela au chapitre suivant.

Il sera donc toujours possible de construire une résolvante à coefficients dans le corpsQ(σ1, . . . , σn) mais qu’en sera-t-il de ses solutions ? Pourrons nous les exprimer à partirde quantités connues ? Le résultat qui suit donne une réponse à ces questions, Lagrangele donne dans [29, Article 104] et ceci peut être vu comme le point de départ à la théoriede 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 dansQ(σ1, . . . , σn)

Une traduction en terme de théorie des corps et des groupes de ce théorème peutse voir comme suit. Posons K = Q(σ1, . . . , σn) et L = Q(x1, . . . , xn), nous avons lediagramme d’inclusion qui suit

K // K(g) // K(f) // L

Sn StabSn(g)? _oo StabSn(f)? _oo 〈Id〉? _oo

Rappelons que les racines des résolvantes que nous considérons sont des fonctionsrationnelles des x1, . . . , xn. Ainsi, ce théorème nous montre qu’il est possible d’exprimerles 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 unesuite décroissante de groupes de Sn et des fonctions de Q(x1, . . . , xn) stables par chacundes éléments de cette suite. On forme les résolvantes correspondant et on les résouten utilisant les racines des précédentes plutôt que de se restreindre au corps de baseQ(σ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 duprocédé. En résumé, on construit des extensions intermédiaires entre Q(σ1, . . . , σn) etQ(x1, . . . , xn) en adjoignant des fonctions rationnelles des racines de l’équation de départjusqu’à atteindre son corps des racines.

La démonstration que nous donnons pour ce théorème est une reformulation de celleLagrange, tout comme la version originelle elle est constructive et se base sur des principesd’interpolation.

Démonstration du théorème 1.4. Soient f = f1, . . . , fr les différentes images dela fonction f sous l’action de Sn, chacun de ces éléments correspond à une classe à gauche

9

Journees 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 cequotient à gauche). D’après les hypothèses faites sur f et g, nous avons r images distinctsde g en considérants les éléments σ1 · g, . . . , σr · g.

Soit la fonction interpolatrice

I(x) = θf (x)

(g1

x− f1

+ · · ·+ gr

x− fr

)Rappelons que la résolvante est stable sous l’action de Sn, ainsi, cette action sur I nefait que permuter les éléments de la somme et donc I reste globalement stable. Ce quiimplique que I est à coefficients dans Q(σ1, . . . , σn).

En évaluant I en f1 on obtient

I(f1) = g1

r∏i=2

(f1 − fi)

et comme θf (x) =∏r

i=1(x− fi) on a θ′f (f1) =∏r

i=2(f1− fi) et finalement on obtient uneexpression de g comme fonction rationnelle d’éléments de Q(σ1, . . . , σn, f)

g =I(f)

θ′f (f).

ce qui termine la démonstration.

Nous avons vu jusque là comment l’adjonction de fonction des racines permet deremonter de proche en proche vers le corps Q(x1, . . . , xn) et donc vers les racines del’équation de départ. Nous allons voir maintenant comment l’adjonction de racines depolynômes indépendants de l’équation de départ permet aussi de la réduire et surtoutcomment 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 enautorisant 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 larésolution par radicaux.

Bézout, dans son article sur la résolution des équations par radicaux, met en avantl’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 nousappelons aujourd’hui les résolvantes de Lagrange et qui interviennent généralement dansla construction des extensions cycliques.

Définition 1.5. Soit ω une racine primitive n-ème de l’unité la résolvante de La-grange est la résolvante absolue qui a pour racine la fonction rationnelle t1 définie par :

t1 = x1 + ωx2 + ω2x3 + · · ·+ ωn−1xn

D’un point de vue des extensions de corps, pour pouvoir considérer de telles résol-vantes, Lagrange a donc effectué une translation par adjonction de ω la racine n-ème de

10

Journees Nationales de Calcul Formel 2008 page 148

l’unité. Ceci peut se résumer comme suit :Q(ω)(x1, . . . , xn)

Q(x1, . . . , xn)

mmmmmmmmmmmm

Q(ω)(σ1, . . . , σn)

Q(σ1, . . . , σn)

mmmmmmmmmmmm

Même si Lagrange a mené une étude générale sur les résolvantes absolues, celles quiportent son nom sont celles qu’il a le plus étudiées. En effet, il a découvert qu’elles sont laclé pour la résolution des équations 3 et 4. Ces résolvantes particulières ont de multiplespropriétés qu’il exhibe et utilise tout au long de son mémoire. Par exemple, puisque cesont des résolvantes absolues, d’après la proposition 1.3, ces résolvantes sont à coefficientsdans Q(ω)(σ1, . . . , σn) et de degré n!, on peut aussi montrer qu’elles sont à coefficientsdans Q(σ1, . . . , σn). Ces résolvantes particulières ont deux propriétés importantes pour cequi est de la résolution de l’équation P (x) = 0 :

(1) les solutions de cette équations peuvent être exprimées en fonctions des racinesde 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 peutfacilement voir que l’action des puissances du cycle σ = (1, 2, . . . , n) sur t1 nous donne

σk · t1 = ωkt1

ainsi tous les ωkt1 seront aussi des racines pour la résolvante de Lagrange et on en conclutque chacun de ses monômes ne pourra être que d’un degré un facteur de n. En faisant unchangement de variable, on peut alors résoudre un polynôme de degré (n− 1)! qui aurapour racine T1 = tn1 . Les autres racines de ce polynômes seront obtenues en permutantles x2, . . . , xn dans T1.

Ainsi, plutôt que de résoudre une équation de degré n! pour retrouver t1, on pourraré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 groupecyclique engendré par le cycle (1, 2, . . . , n). Dès que les ζi sont connues, nous allons voircomment en déduire les racines xi par les formules que l’on construit ci-après.

Notons plus généralement

ti = x1 + ωix2 + ωi2x3 + · · ·+ ω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

xi =1

n(t0 +

n−1∑j=1

ωitj) =1

n(t0 +

n−1∑j=1

ωi n√Tj)

11

Journees Nationales de Calcul Formel 2008 page 149

Pour calculer les Tj (ou de manière équivalente les ζi), Lagrange propose une premièreméthode basée sur l’élimination mais il préfère considérer le polynôme de degré n−1 dontles racines sont T1, T2, . . . , Tn−1. Il montre que dans le cas où n est premier les coefficientsde ce polynôme peuvent être calculés en résolvant une équation de degré (n− 2)! ce quilui fait penser (voir Figure 1.2) qu’il n’y a que très peu de chance de voir ce type deré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 quenous venons de présenter.

1.4.1. Équations de degré 3. Soit à résoudre l’équation générale du troisième de-gré, on peut toujours se ramener, après un changement de variable (transformation deTschirnhaus), à 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éepuisque l’on sait résoudre une équation de degré 2. Soit j la racine primitive du troisièmedegré, plutôt que de considérer la fonction (x1 + jx2 + j2x3) nous allons, pour faciliterl’écriture des solutions, prendre T1 = (1

3(x1 + jx2 + j2x3))

3. T1 étant stable sous l’actiondu groupe cyclique engendré par le cycle (1, 2, 3), la deuxième forme possible de T1 sousl’action de S3 est

T2 = (1, 2)T1 = (1

3(x2 + jx1 + j2x3))

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 ra-tionnelles 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

Journees Nationales de Calcul Formel 2008 page 150

où s est une des deux racines carrées de p3 + q2. 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 valeursde x1, x2, x3 :

xi = ji 3√T1 + ji 3

√T2

Ceci termine la résolution de l’équation générale du degré 3. La résolvante exhibée ici parLagrange permet de retrouver la méthode de Cardan.

1.4.2. Équations de degré 4. Passons maintenant à la résolution de l’équationgénérale de degré 4. Soit à résoudre l’équation générale P (x) = 0 avec

P (x) = x4 − σ1x3 + σ2x

2 − σ3x+ σ4

Dans ce cas (n−1)! = 6, ainsi l’application directe des résolvantes de Lagrange ne suffitpas à résoudre le problème. Soit f la fonction rationnelle x1x2 +x3x4 qui est laissée stablepar le groupe H d’ordre 8 engendré par (1, 2), (3, 4), (1, 3, 2, 4). D’après la proposition1.3, la résolvante correspondante sera de degré 3. Soient y1, y2, y3 ses trois racines :

y1 = x1x2 + x3x4, y2 = x1x3 + x2x4, y3 = x3x2 + x1x4

cette résolvante (y − y1)(y − y2)(y − y3) sera alors à coefficients dans Q(σ1, σ2, σ3, σ4) etpeut être calculée explicitement :

y3 − σ2y2 + (σ1σ3 − 4σ4)y − (σ2

3 + σ21σ

4 − 4σ2σ4)

Ses racines sont calculables par la méthode du degré 3 vue ci-avant, reste alors à pouvoirexprimer 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 solutionsfacilement exprimables à partir des xi et vice versa. Pour utiliser le calcul déjà fait ici etne pas avoir à résoudre une équation de degré 6, il faut pourvoir exprimer les racines decette 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 sous-groupes de S4.

Plutôt que de considérer une racine 4-ème de l’unité, Lagrange propose de découper leproblème selon les facteurs du degré de l’équation de départ. Ici, 4 = 2× 2, il suffit doncde considérer ω une racine carrée primitive de l’unité (donc ω = −1) et de former dessommes de racines. Nous ne ferrons pas ici l’analyse de toute cette théorie, mais le lecteurpourra retrouver ceci dans le mémoire de Lagrange. Soit donc la fonction rationnellet = (x1 + x2)− (x3 + x4), cette dernière est elle aussi laissée stable par le groupe H, ainsipar le théorème 1.4, la fonction rationnelle t peut s’écrire comme fonction rationnelle deQ(σ1, . . . , σ4, y1) et nous obtenons un polynôme de degré 2 à résoudre :

t2 − 4y1 − σ21 + 4σ2

Ainsi, en changeant y1 en y2 et y3 nous avons trois couples de conjugués ti

ti = ±√−4yi − σ2

1 + 4σ2

Reste un problème : comment choisir le conjugué de ti (un par équation de degré 2) afinde reconstruire les racines xi comme vue ci-avant ? Lagrange montre qu’il suffit de choisirdeux racines t1 et t2 et la troisième sera donnée par la relation

t1t2t3 = σ3 − 4σ1σ2 + 8σ3

qui s’obtient en utilisant le fait que la fonction rationnelle t1t2t3 est stable sous l’actionde S4 et peut donc s’écrire dans Q(σ1, . . . , σ4).

13

Journees 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 choi-sies 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’équationsde l’empirisme dans lequel il était plongé depuis l’antiquité. Il a développé les premièresinteractions entre résolution d’équations et étude des permutations des solutions qui vontpermettre à Abel et Galois de donner un cadre théorique satisfaisant à ce problème, c’estce qui va être présenté dans le chapitre suivant.

14

Journees 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 travauxde Lagrange et mettent en relation la théorie des groupes de permutations et celles descorps.

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 sesracines (α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 quede considérer des fonctions des racines de l’équation comme précédemment, nous consi-dé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èresé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 verraque l’on peut toujours construire une résolvante séparable et donc se ramener a ce quel’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 carac-téristique 0, les démonstrations resteront les mêmes.

2.1.1. Résolvante et groupe de Galois. Soit P un polynôme à coefficients dansQ de degré n et supposé séparable. Nous allons construire une résolvante séparable quinous permettra de d’exprimer le n-uplet α = (α1, . . . , αn) des solutions de l’équationP (x) = 0 en fonction de celles de cette dernière. D’après le théorème 1.4 il suffit detrouver 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 cecice traduit par le résultat suivant.

Proposition-Définition 2.1. Il existe un n-uplet d’entiers (k1, . . . , kn) tel que, ennotant V ∈ Q[x1, . . . , xn] le polynôme k1x1 + · · · , knxn et O son orbite sous l’action deSn, l’ensemble

g(α) : g ∈ Osoit de cardinal n!. La résolvante de degré n! correspondant à cet ensemble est appeléerésolvante de Galois.

Démonstration. Puisque le corps Q est infini l’anneau des entiers s’injecte dansce dernier. Comme les αi sont distinctes on pourra toujours trouver un n-uplet d’entiersqui soit à l’extérieur de l’ensemble fini des solutions du système formé des équationsk1(α1 − ασ(1)) + · · ·+ kn(αn − ασ(n)) avec σ ∈ Sn.

15

Journees Nationales de Calcul Formel 2008 page 153

Galois ne donne pas de preuve pour cette proposition qui lui semble immédiate. C’estce qui lui vaudra, en partie, les mauvais commentaires de Poisson lors de la lecture deson 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émentprimitif 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 ilfaut 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]dont le stabilisateur dans G est H est appelé H-invariantG-relatif et sera noté IG

H . LorsqueG = Sn on dira juste H-invariant et on le notera IH .

Un H-invariant G-relatif est dit α-séparant si l’ensemble (σ · IGH)(α) : σ ∈ G est

de cardinal |G||H|

Étant donné IH un H-invariant, pour que la résolvante correspondante soit séparableil faut et il suffit que IH soit α-séparant. Comment pouvons nous être sur qu’un tel H-invariant existe ? En fait il est toujours possible de construire un tel polynôme à partirdu 〈Id〉-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ésolvanterelative. Jusqu’à présent, les résolvantes que nous avons rencontrées étaient construitesen étudiants des orbites de l’action du groupe Sn, nous allons maintenant généraliser ceprincipe pour des sous-groupes de Sn.

Proposition-Définition 2.3. Soient H ⊂ G deux sous-groupes de Sn et I un H-invariant G-relatif. Le polynôme

θI(t) =∏

γ∈OrbG(I)

(t− γ(α))

est appelé résolvante G-relative de α (les résolvantes Sn-relative sont les résolvantes ab-solues).

Le degré de θI est donné par |G||H| , de plus, si l’invariant I est α-séparant alors θI sera

séparable.

Nous venons de définir la résolvante de Galois comme une résolvante absolue construiteà partir d’un 〈Id〉-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

Journees Nationales de Calcul Formel 2008 page 154

au chapitre précédent où les racines de P étaient algébriquement libres). Nous allonsmaintenant chercher à retrouver un facteur irréductible de cette résolvante qui s’annuleen V (α), en fait, nous construisons un polynôme minimal de V (α) à partir d’un sous-groupe G de Sn.

Théorème 2.4. Soit V un 〈Id〉-invariant α-séparant et θV la résolvante de Galoiscorrespondant. Il existe un sous groupe G de Sn tel que

µV (x) =∏g∈G

(x− (g · V )(α))

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

µV =∏g∈G

(x− (g · V )(α))

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 unpolynô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,

ψ(V (α)) =1

k

(∑g∈G

ψ((g · V )(α))

)et la partie de droite de l’expression précédente est une fonction symétrique des racinesdu polynôme µV ψ qui sera rationnel, donc W (α) ∈ Q.

Réciproquement, supposons que W (α) soit rationnelle. Il existe un polynôme ψ telque ψ(V (α)) = W (α) soit rationnel. Ainsi le polynôme ψ(x) −W (α) est à coefficientsdans Q et s’annule en V (α), comme µV est irréductible, ce polynôme s’annule en toutesles racines de µV et donc ψ((e · V )(α)) = W (α) pour tout e dans G. On en conclut queW (α) 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 lescoefficients de µV sont des éléments de Q(α) qui sont rationnels ils doivent être stable sousl’action des éléments de G. En conséquence, le polynôme µV est stable sous l’action de cesmêmes éléments. Pour qu’il en soit ainsi, il faut et il suffit que cette action se traduise parla permutation des facteur binômes entrant dans la définition de ce polynôme. CommeId ∈ G on se rend compte rapidement que pour tout élément g ∈ G son inverse serapré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émentde Q(α) soit rationnel, cette condition se faisant à l’aide d’un groupe, ce théorème est lepoint 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 duchoix 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 parleradonc du groupe de Galois de l’extension Q(α) sur Q et que l’on notera Gal(Q(α)/Q).

17

Journees Nationales de Calcul Formel 2008 page 155

Démonstration. Soit V ′(α) un deuxième élément primitif pour Q(α). Le polynômeminimal µV ′ de cet élément est rationnel ainsi, d’après le théorème 2.4, tous les élémentsdu groupe de Galois G (obtenu à partir de V (α)) doivent le stabiliser. Soit G′ le groupede Galois défini à partir de V ′(α). Par définition, nous avons

µV ′(x) =∏g∈G′

(x− (g · V ′)(α))

et donc pour que les éléments deG stabilisent ce polynôme il faut qu’ils s’identifient à ceuxde G′. En échangeant le rôle de G et G′ 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’ungroupe de permutations. Nous allons maintenant voir comment caractériser ses sous-corps à partir des sous-groupes de Gal(Q(α)/Q) mais avant de donner ces résultats, nousdonnons ici une traduction du théorème de Lagrange (Théorème 1.4) avec ce nouveauregard galoisien.

Théorème 2.6. Soit β1 et β2 deux éléments de Q(α) tels que StabG(β1) soit inclusdans StabG(β2) où G est le groupe de Galois Gal(Q(α)/Q). Alors β2 est un élément deQ(β1)

Démonstration. La démonstration du théorème 1.4 peut être reprise mutatis mu-tandis en utilisant la caractérisation du groupe de Galois.

Les deux lemmes qui suivent nous donnent les premiers résultats de correspondanceentre 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 deQ(α) 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 uncorps.

Lemme 2.8. Soit L une extension intermédiaire entre Q et Q(α). Le groupe de Galoisde 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èdepeut 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 deGal(Q(α)/Q). En d’autres termes, en rajoutant des solutions de l’équation f(x) = 0 auproblème de départ (la résolution de P (x) = 0), ce dernier devient moins difficile puisqueque le groupe à considérer s’affine, et le nombre de permutations à considérer est doncplus petit.

Démonstration. Soit β un élément primitif de L sur Q. L’ensemble des éléments deG = Gal(Q(α)/Q) qui stabilisent β est le sous-groupe de G défini par H = StabG(β). Parla caractérisation du groupe de Galois (voir le théorème 2.4) on a alorsH = 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-groupesde Gal(Q(α)/Q) et K l’ensemble des sous-corps de Q(α). L’application qui fait corres-pondre un élément H de G le sous-corps Q(α)H des éléments de Q(α) laissés stables sousl’action de H est bijective.

18

Journees Nationales de Calcul Formel 2008 page 156

Les lemmes précédents sont très théoriques, ils nous donnent l’existence d’un corpscorrespondant à un sous-groupe du groupe de Galois mais, ils ne donnent aucun moyende le définir explicitement. La proposition qui suit résout ce problème. Ce résultat estfondamental 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

θI(t) =∏

γ∈OrbG(I)

(t− γ(α))

est un polynôme définissant L sur Q. En particulier, le degré [L : Q] est donné par ledegré |G|

|H| de cette résolvante.

En d’autres termes, cette proposition nous donne la définition d’un élément minimalde 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ème2.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//Hcontenant Id tel que

f(t) =∏τ∈E

(t− (τ · I)(α))

soit un polynôme annulateur de I(α) à coefficients dans Q. D’après la caractérisation dugroupe de Galois (voir le théorème 2.4) le polynôme f doit donc être stable sous l’actionG. Ainsi, si on prend un élément τ de G//H en dehors de E, le polynôme τ ·f doit resterinchangé sans pouvoir être annulateur de I(α) puisque I est supposé α-séparant, ce quiest 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, ainsiQ(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 applicationpour la résolution de l’équation P (x) = 0.

2.1.2. Quelques propriétés sur les groupes de permutations finis. Puisquenous allons utiliser des résultats sur les groupes de permutations finis, nous rappelonsici certaines de leurs propriétés et définitions. Dans toute la suite nous étudions l’ac-tion canonique du groupe symétrique sur l’ensemble X = 1 . . . , n. Les définitions quenous donnons ici seront données sur les sous-groupes de Sn plutôt que sur les actionscorrespondantes.

Définition 2.11. Un sous-groupe G de Sn est dit transitif si pour tout entier i de1, . . . , 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 Gstabilise Π dès que, pour tout ensemble e de Π on a g ·e : g ∈ G ∈ Π. Nous appelleronspartition triviale d’un ensemble E la partition réduit au seul élément E et celle composéedes singletons. Il est clair que tout sous-groupe G de Sn stabilise les partitions trivialesde X, les groupes qui ne stabilisent que ceux ci sont :.

19

Journees 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 lespartitions triviales de X. Dans le cas contraire le groupe G sera dit imprimitif. Unepartition de X qui est stable sous l’action de d’un groupe imprimitif est appelé systèmecomplet de bloc (d’imprimitivité).

L’exemple le plus simple de groupe imprimitif est Sn pour n > 0. Les groupes primitifssont rares, par exemple, on ne connaît pas de formule simple qui prédise le nombre detels groupes de permutations pour un degré donné.

Proposition 2.13. Soit G ⊂ Sn un groupe transitif qui soit aussi imprimitif. Toutepartition non triviale de X stable sous l’action de G est formée de sous-ensembles demê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 dedé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 sous-groupe distingué (ou normal) de G s’il est stable par conjugaison de G, c’est-à-dire

∀g ∈ G, g−1Hg = H

Le groupe G sera dit simple s’il ne possède aucun sous-groupe distingué autre que sesgroupes triviaux (celui réduit à l’identité et G tout entier).

La notion de groupe simple est centrale dans la résolution des équations s’appuyantsur 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 surles 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 deGalois. Une première caractérisation du polynôme P à partir du groupe de Galois estcelle de son irréductibilité.

Proposition 2.15. Un polynôme irréductible de degré n a pour groupe de Galois unsous-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 sousl’action de G. Par hypothèse, O est un sous-ensemble strict de 1, . . . , n. Le polynôme∏

α∈O(x− α) est alors stable sous l’action de G et donc à coefficients rationnels d’aprèsle 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 Galois de (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 sous-ensemble strict de 1, . . . , n. Le groupe G étant transitif, on pourra toujours trouverg ∈ G tel que g ·O 6= O ce facteur irréductible n’est pas stable sous l’action de G et doncne peut être à coefficients rationnels, ce qui termine la démonstration.

Nous avons la définition qui suit.20

Journees Nationales de Calcul Formel 2008 page 158

Définition 2.16. Soit α une racine d’un polynôme irréductible µ(x) sur Q. Les ra-cines 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’unde ses polynômes annulateur.

Nous allons maintenant voir comment détecter les sous-corps de Q(α) qui sont euxmê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 ra-cines dans Q(α) alors toutes ses racines sont dans Q(α), plus généralement une extensionde 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ômeW de Q[x1, . . . , xn] tel que β = W (α). Formons le polynôme

Θ(x) =∏g∈G

(x− (g ·W )(α))

qui, par le théorème 2.4, sera à coefficients rationnels et donc un multiple de f , on endéduit alors le résultat.

Corollaire 2.18. En reprenant les mêmes notations que celles utilisées dans ladé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)) = τ1Hτ−11 , . . . ,Gal(Q(α)/Q(βk)) = τ1Hτ

−1k

Démonstration. Pour montrer ce corollaire il suffit de montrer l’assertion sur l’en-semble des racines de f , la deuxième assertion étant obtenue par application directe duthéorème 2.9.

Pour montrer cette première assertion il suffit de remarquer que le polynôme Θ dela preuve précédente peut être factorisé en facteurs irréductibles sur Q de la manièresuivante (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 unquelconque de ses sous-corps. Nous allons voir comment caractériser si un tel sous-corpsest lui même un corps de décomposition.

Proposition 2.19. Une extension intermédiaire L entre Q et Q(α) est le corps dedécomposition d’un polynôme f irréductible à coefficients dans Q (extension normale deQ) si et seulement si le groupe de Galois Gal(Q(α)/L) est un sous groupe distingué deGal(Q(α)/Q).

Démonstration. Soit L = Q(β1, . . . , βk), contenu dans Q(α), le corps de décompo-sition du polynôme f . D’après le corollaire 2.18 et le théorème 2.9, le groupe de Galoisde Q(α) sur L est l’intersection des τiHτ−1

i (en reprenant les mêmes notations que dans21

Journees Nationales de Calcul Formel 2008 page 159

la démonstration du corollaire 2.18). Cet intersection est un groupe qui par constructionest distingué dans Gal(Q(α),Q).

Réciproquement, considérons une extension L de Q telle que le groupe de Galois deQ(α) sur L soit distingué dans Gal(Q(α)/Q) et soit f un polynôme définissant cetteextension. 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ème2.9 nous avons égalité entre les corps Q(βi) définis à partir de chacune des racines def et donc Q(β1, . . . , βk) = Q(β1) = L est un corps de décomposition d’un polynômeirréductible à coefficients dans Q.

Le restant de cette section peut être passé en première lecture. Les résultats suivantsne rentrent pas dans le cadre strict de la résolution de l’équation P (x) = 0 par adjonc-tion d’éléments irrationnels. Les résultats qui suivent permettent d’identifier si l’équationP (x) = 0 peut être décomposée, c’est-à-dire, telle que le polynôme P puisse s’écrireP = f g pour f et g deux polynômes irréductibles, ainsi, le problème de la résolution del’équation P (x) = 0 peut être découpée. Ceci revient à caractériser la présence d’un souscorps non trivial entre Q et le corps de rupture Q(α1) de P . Supposons pour le restantde 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 iet Ki l’ensemble des sous-corps de Q(αi). L’application qui a B ∈ Bi fait correspondre lecorps 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 figuresuivante

Q(α) 〈Id〉

Q(α1)

uuuuuuuuuQ(α2) Q(αn)

IIIIIIIII

StabG(1)

oooooooooooooStabG(2) StabG(n)

PPPPPPPPPPPPP

Q(β1) Q(βi) Q(βj) StabG(B1) StabG(Bi) StabG(Bj)

Q

IIIIIIIIII

uuuuuuuuuuG

PPPPPPPPPPPPPP

nnnnnnnnnnnnnn

Étant donné une décomposition du polynôme P , ou de manière équivalente, d’uncorps K contenu dans Q(α1) nous allons voir comment construire le système completcorrespondant.

Lemme 2.21. Soit Q(β1) un sous-corps de Q(α1), g le polynôme minimal de β dedegré k et h un polynôme tel que h(α1) = β. L’ensemble B1 = i : h(αi) = β1 est le blocd’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 n

k.

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èmecomplet seront donc de la même taille comme le montre la proposition 2.15. Pour obtenir

22

Journees 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édiatpar construction.

Réciproquement, nous allons voir comment construire le sous-corps de Q(α1) corres-pondant à un système complet. Jusqu’à présent, lorsque nous utilisions les résolvantesnous nous sommes restreints à utiliser des résolvantes absolues, pour la construction deces sous-corps, nous allons voir l’utilité des résolvantes relatives.

Lemme 2.22. Soit V le monôme∏

i∈B1xi. 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∏σ∈Gal(Q(α)/Q)// StabGal(Q(α)/Q)(B1)

(x− (σ · V )(α))

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équencesdirectes 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éponsené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ésolvantdes équations de plus petit degré. Rappelons que le problème 1 est de savoir si l’onpeut toujours résoudre l’équation P (x) = 0 avec P un polynôme à coeficients rationnelsde 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 deconstruire L, une extension intermédiaire entre Q et Q(α), qui soit le corps de décom-position d’un polynôme f de degré inférieur à n et telle que l’extension Q(α)/L soit dedegré inférieur à n.

D’après la proposition 2.19 et le théorème de correspondance galoisienne 2.9, cecirevient à se demander s’il existe toujours un sous-groupe distingué H d’un groupe G ⊂ Sn

vérifiant les hypothèses suivantes– |G|

|H| < n

– il existe un polynôme f de degré k < n tel que son corps de décomposition L vérifieGal(Q(α)/Q) = H.

En notant β1, . . . , βk les racines de f , on peut représenter ceci à l’aide la figure suivante.

Q(α)

G

H distingué

Q(β1, . . . , βk)

Q(β1)

Q

k<n

23

Journees Nationales de Calcul Formel 2008 page 161

Le problème 1 se réduit donc à l’analyse des sous-groupes de Sn et on en déduit lerésultat suivant.

Théorème 2.23. Soit K une extension de Q et G le groupe de Galois sur K de Psupposé de degré n. Si G est simple alors l’équation P (x) = 0 ne pourra pas être résolue enutilisant une équation de degré plus petit que n. Plus précisément, cette équation auxiliairesera de degré un facteur de |G|.

Ce théorème est la réponse tant attendue à la résolution des équations. C’est Galoisqui la donna en premier et lui permit de caractériser les équations de degré n qui sontrésolubles à l’aide d’équations auxiliaires de degrés inférieurs. Ceci permet de montrerque l’équation générale de degré n > 4 répond négativement au problème 1 en reprenantles mêmes arguments que ceux que l’on a développés dans le cas des équations définiessur Q.

Théorème 2.24. L’équation générale de degré n a pour groupe de Galois sur le corpsQ(σ1, . . . , σn) le groupe Sn. Pour n > 4 ce groupe ne possède qu’un seul sous-groupe propredistingué, le groupe alterné An qui est simple.

La première assertion de ce théorème est immédiate, la seconde assertion est classiqueet se trouve déjà dans l’ouvrage de Jordan [26]. De ce résultat et de tout ce que nousvenons de développer, on déduit :

Corollaire 2.25. L’équation générale de degré n > 4 ne peut être résolue à l’aided’é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 dedegré 2 (la résolvante correspondant au groupe An). Le groupe de Galois de l’équationde 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!

2puisque 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 pouvonsredonner 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 chapitre1 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èreet alors le groupe de Galois de Q(x1, . . . , x4) sur K1 sera le groupe I = ∩g∈SngHg

−1

(voir la preuve de la proposition 2.19) qui se réduit au groupe d’ordre 4 engendré par lespermutations (1, 2)(3, 4) et (1, 3)(2, 4). Le groupeH ′ engendré par l’élément (1, 2)(3, 4) estun sous-groupe d’ordre 2 distingué dans I. Ainsi, en considérant une résolvante séparableH-relative pour un H ′-invariant H-relatif, ce polynôme sera d’ordre 2 sur K1 et son corpsde décomposition K2 a pour propriété que le groupe de Galois de l’équation de départsur K2 se réduira H ′. Comme H ′ 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’ensembledes solutions de l’équation de départ). Tout ceci peut se résumer par la descente de

24

Journees Nationales de Calcul Formel 2008 page 162

groupes qui suitS4

distingué

3H I

distingué

2H ′ 2 〈Id〉

2.2.2. Résolution par radicaux. Pour caractériser les équations qui sont résolublespar radicaux il faut, en plus de considérer les sous groupes distingués de Sn, étudier lelien entre les groupes abéliens et les extensions de corps obtenues par adjonction de racineprimitive de l’unité. Ce lien se fait à l’aide des résolvantes de Lagrange que nous avonsvues 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 pourraconsulter les articles [3] [47] [24].

25

Journees Nationales de Calcul Formel 2008 page 163

Journees Nationales de Calcul Formel 2008 page 164

Deuxième partie

Calcul du groupe de Galois et du corps dedécomposition

Journees Nationales de Calcul Formel 2008 page 165

Journees 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 etdu corps de décomposition d’un polynôme P permet de construire les différentes relationsentre ses racines et permet ainsi de résoudre l’équation P (x) = 0 formellement. Rappelonsque d’après la correspondance de Galois, l’étude des sous-groupes de groupe de Galoispermet de construire l’ensemble des sous-corps du corps de décomposition qui peuventpossé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. Étantdonné un polynôme f de degré n nous avons, par ordre croissant de difficulté, les pro-blè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 effectuerdes constructions mathématiques, la résolution du premier point ne sera pas d’une trèsgrande utilité. Le troisième problème peut se voir comme le calcul du corps de décompo-sition du polynôme f et du groupe de Galois correspondant et le deuxième comme uneapproxiamtion de cette action. Dans cette partie nous traiterons principalement les deuxderniers points

D’un point de vue historique, la première méthode pour le calcul du groupe de Galoisd’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éthode29

Journees 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 estle degré de l’équation. D’ailleurs c’est pour résoudre formellement ce genre de problèmede 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 sonlivre [43, 44] alors que Jordan donnait déjà dans son ouvrage [26] (voir Figure 2.2), uneméthode qui parait beaucoup plus prometteuse. Ceci c’est révélé être vrai puisque lesalgorithmes utilisés aujourd’hui découlent tous du même principe basé sur le calcul derésolvantes qui ne se résume pas à l’utilisation de celle définie par Galois (de degré n!).

30

Journees 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 retrouverle 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 approximationsdes 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 nousl’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écom-position 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ésentationde ce groupe en passant d’une numérotation à une autre et le lien avec le groupe desQ-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 ensembleE. À une telle action on peut associer un homomorphisme ρ du groupe G dans le groupePerm(E) des permutations de l’ensemble E, où l’image par ρ d’un élément g de G estdéfinie par

ρ(g) : E −→ E

e 7−→ g · eInversement, 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 onconsidè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, ilest donc équivalent de se donner une action d’un groupe G sur un ensemble E ou unereprésentation par permutations du groupe G. Ainsi nous ne distinguerons plus une actionde sa représentation par permutations qui lui est associée. Nous allons maintenant nousconcentrer sur le cas où l’ensemble E est fini.

31

Journees Nationales de Calcul Formel 2008 page 169

Représentation symétrique. Soit G un groupe agissant sur un ensemble fini E decardinal l’entier n. Notons ρ la représentation par permutations qui est associée à cetteaction.

Une numérotation de E peut être vue comme une application bijective de l’ensemble1, . . . , n dans E. Fixons N une telle numérotation de E. Nous avons alors l’isomor-phisme de groupe :

Perm(E) −→ Sn

s 7−→ N−1 s Net nous en déduisons l’homomorphisme de groupe suivant :

φN : G −→ Sn

g 7−→ N−1 ρ(g) NUn tel homomorphisme sera appelé représentation symétrique par rapport à la nu-

mérotation N et lorsque la situation est sans ambiguïté sur N , c’est-à-dire lorsque lanumé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 σ .

Soit G le sous-groupe de Sn image d’une représentation symétrique de G. D’après cequi précède, G peut être représenté par un groupe quelconque de la classe de conjugaisonde G dans Sn mais aucun autre.

L’action du groupe G sur l’ensemble E est dite fidèle si la représentation symétriquecorrespondante 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 finide ses racines (distinctes) dans une clôture de Q. Notons L un corps intermédiaire entre lecorps 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-automorphismesde 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-automorphismessur 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. SoitG l’image dans Sn de cette représentation, alors G est isomorphe à G et, d’après ce quenous avons vu plus haut, nous pouvons construire un isomorphisme entre G et chacundes conjugués de G dans Sn en changeant de numérotation. On a la définition qui suit.

32

Journees 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 stric-tement positif et L un corps intermédiaire entre QP et Q. Nous appellerons groupe deGalois de P sur L, un représentant quelconque de la classe de conjugaison dans Sn dugroupe 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 surQ en f = (x2− 2)(x2− 3)(x2− 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 α nousavons :

φ(α) = −α .Nous obtenons ainsi la définition de chacun des éléments du groupe des Q-automorphismesde 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

alors le groupe AutQ(QP ) est représenté symétriquement par le sous-groupe G de S6 en-gendré par l’ensemble de permutations (12), (34), (56) noté C(2)×C(2)×C(2). Si nousavions 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))qui n’est autre que le conjugué de G par σ−1. Quel que soit la numérotation choisie, nousdirons 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-automorphismesde QP est isomorphe à C(2)×C(2). Si nous choisissons de numéroter l’ensemble α à l’aidede N alors une représentation symétrique de AutL(QP ) sera donnée par le sous-groupede 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 groupede Galois

Dans cette section nous présentons les critères permettant de distinguer les sous-groupes transitifs dans leur ensemble. Ces critères reposent sur le calcul de résolvantes etpermet 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 deGalois de ce polynôme est transitif. Peut on obtenir d’autres types de caractéristiquessur ce groupe lorsque l’hypothèse d’irréductibilité n’est plus vraie ? Supposons que h soitréductible sur Q, séparable et factorisable sous la forme h = fg, où f et g sont des po-lynômes irréductibles à coefficients rationnels. Le groupe de Galois de h, noté G, n’estdonc pas transitif et on peut lui associer un système complet composé de deux blocks detransitivité. En effet, l’action de G sur les racines de h a deux orbites correspondant cha-cune à l’ensemble des racines de f et g car, si ça n’était pas le cas, ces deux polynômes nepourraient être irréductibles à coefficients dans Q (voir la preuve de la proposition 2.15).

33

Journees 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 commeun sous-groupe Tf de Sk où k est le cardinal de cette orbite. On voit immédiatement quele 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 groupesde Galois de chacun de ses facteurs en analysant l’action canonique de son groupe deGalois. Mais le groupe de Galois d’un polynôme réductible n’est pas, en générale, égal auproduit direct des groupes de Galois de ses facteurs.

Plus généralement, nous pouvons appliquer le même genre de raisonnement au résol-vantes séparable. On rappelle que P est un polynôme irréductible sur Q et que l’on noteQ(α) 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)-classedouble est une classe de la relation d’équivalence qui met en relation deux éléments x ety 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)-classesdoubles de U sont de la forme GuH où u ∈ U et U peut être partitionné selon ces classesdoubles. 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 pouvonsmaintenant énoncer le résultat fondamental qui suit.

Théorème 3.4. Soit U ⊂ Sn contenant les deux sous-groupes G = Gal(Q(α),Q) etH. Si F est H-invariant G-relatif alors la résolvante relative à U de F s’écrit

R(x) =∏

τ∈U//H

(x− τ · F (α)) =k∏

i=1

gaii (x)

avec gi irréductible sur Q et si l’on note IR l’ensemble des facteurs ga11 , . . . , g

akk alors

l’application de G\U/H dans IR qui fait correspondre une (G,H)-classe double GuH deU au polynôme

gu(x) =∏

τ∈U//H tq τH⊂GuH

(x− (τ · F )(α))

est bijective. Les éléments τ de U//H rentrant dans la définition du polynôme gu sontexactement ceux définis par τ = u′u avec u′ ∈ G//(G ∩ uHu−1).

Démonstration. La dernière assertion sur l’ensemble des éléments entrant dans ladéfiniton du polynôme est claire, il s’agit uniquement de réécrire l’inclusion qui définit leproduit.

Soit GuH une (G,H)-classe double de U . Commençons par montrer que le polynômegu est à coefficients dans Q. Pour cela il suffit de montrer qu’il est stable sous l’action deG. 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émentsde U//H entrant dans la définition de gu en les échangeant. On en conclut que l’action deG 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 degu sont conjugués sous l’action de G. Soient τ1, τ2 deux éléments de U//H tels queτ1H, τ2H ⊂ GuH alors il existe deux éléments u′1, u′2 dans G tels que τ1 = u′1u etτ2 = u′2u et donc τ1 = u′1u

′−1u2 ce qui nous donne la conjugaison des racines de gu sousl’action de G.

34

Journees 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 ∈ Uet σ ∈ G deux racines de R qui sont conjuguées sous l’action de G. Nous avons alorsτ−12 στ1 ∈ H et donc στ1H = τ2H, on en conclut Gτ1U = Gτ2U .

D’après ce que nous venons de voir, les polynômes de IR sont des produits de puis-sances des facteurs irréductibles de R, sachant que tous ces facteurs irréductibles y ap-paraîtront. Reste à montrer que les puissances maximales des facteurs irréductibles de Rsont exactement les polynômes de IR. Puisque les zéros de gu sont conjugués sous l’ac-tion du groupe de Galois G, gu ne peut être qu’une puissance d’un facteur irréductibleet d’après la correspondance avec les classes doubles, ce facteur irréductible ne peut pasapparaître dans un autre polynôme de IR. Ainsi gu = gbi

i et pour finir la démonstrationde ce théorème, il reste montrer que bi = ai.

Le degré du polynôme gu est donné par

Deg(gu) =|GuH||H| =

|G||G ∩ (uHu−1)|

et comme les (G,H)-classes doubles de U forment une partition de U . On obtient alorsle degré du produit Q des gvi

où vi prend ses valeurs dans l’ensemble des représentantsdes (G,H)-classes doubles de U et donc

Deg(Q) =∑

i

Deg(gvi) =

∑i

|GuH||H| =

|U ||H|

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 valeursqualitatives 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 ennotant m le degré de R. Si la résolvante R est séparable alors la représentation symétriquedans Sm de l’action de G sur la transversale U//H est égale au groupe de Galois sur Qdu 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 groupede Galois Gal(Q(α),Q).

Corollaire 3.6. En reprenant les mêmes notations que dans le théorème 3.4. Larésolvante R possède un facteur linéaire simple correspondant à la classe double GuHsi et seulement si le groupe uHu−1 contient G.

Démonstration. En reprenant les mêmes notations que dans la preuve du théorème3.4. Supposons que gu soit linéaire, alors nous avons

1 = Deg(gu) =|G|

|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 aucunfacteur 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

Journees Nationales de Calcul Formel 2008 page 173

La méthode proposée par Jordan (voir le préambule) repose sur ces résultats et plusparticulièrement sur le corollaire 3.6. En effet il propose de calculer des résolvantes ab-solues et après factorisation de rejeter les groupes correspondants aux résolvantes nepossédant pas de facteur linéaire. De proche en proche on pourra en déduire le groupe deGalois de P . Les algorithmes actuels pour le calcul du groupe de Galois reposent sur lemême genre d’idée mais l’utilisent de meilleure manière

Exemple 3.8. Soit F =∏

i<j(xi − xj). Le polynôme F est un An-invariant, il estimmédiat que la résolvante

RF (x) = (x− F (α))(x− (1, 2) · F (α)) = (x− F (α))(x+ F (α))

est séparable de degré 2 dès que le polynôme f est séparable. Comme ∆(f), le discriminantde f , vérifie ∆(f) = F (α)2, le groupe de Galois d’un polynôme f est contenu dans An

(dans ce cas on dit qu’il est pair) si et seulement si son discriminant est un carré dansQ.

Distinction par résolvantes absolues. L’application du corollaire 3.5 peut se fairede la manière suivante. Comme groupe de base on prend U = Sn ainsi les hypothèsesd’inclusions seront toujours vérifiées et les résolvantes seront absolues. De cette manière,on peut distinguer les groupes transitifs de degré n en fonction des différentes lignesd’un tableau mettant en correspondance les degrés (ou groupes de Galois) des différentsfacteurs irréductibles des résolvantes absolues calculées à partir des sous-groupes de Sn.Un tel tableau est appelé table des partitions et fût utilisées par Girstmair [22], Mc Kay,Soicher, Casperson (voir [40, 7]) pour déterminer les groupes de Galois de polynômes dedegrés modérés. Arnaudiès et Valibouze ont montré que ce moyen de déterminer le groupede Galois d’un polynôme est déterministe (voir [4]) et ont fourni des tables de partitionsjusqu’au degré 11. Cette détermination ne se fait qu’à conjugaison près, ceci permet derésoudre le problème 1 du calcul du groupe de Galois mais, comme nous l’avons dit dansl’introduction, ceci n’a que très peu d’intérêt si l’on veut pouvoir calculer formellementdes actions du groupe de Galois sur le corps de décomposition de P .

Nous allons maintenant présenter des résultats qui permettront de construire uneapproximation de l’action du groupe de Galois sur le corps de décomposition.

Distinction par descente dans l’arbre des sous-groupes. Ici on utilise le corol-laire 3.6 pour descendre dans l’arbre des sous-groupes de Sn jusqu’à obtenir le groupe deGalois du polynôme. On commence par prendre U = Sn en testant tous les sous-groupesmaximaux par une recherche de racine simple de chacune des résolvantes correspondanteset on itère le principe en prenant pour groupe U le premier qui contient le groupe de Ga-lois. On arrête le calcul lorsqu’aucun sous-groupe maximal ne peut contenir le groupe deGalois. On en déduit l’algorithme 1.

Pour mettre en pratique cette méthode il faut donner un ordre particulier au racinesde P et le conserver tout au long du calcul, c’est le rôle que remplit la fonction Ψ. Cettefonction permet de vérifier si l’évaluation d’un polynôme en les racines de f est ration-nelle, l’ordre des racines se raffinant au cours du calcul. De cette manière, le calcul dugroupe de Galois ne se fait pas à conjugaison près, la sortie obtenue en fin de calcul est lareprésentation symétrique de l’action du groupe de Galois sur les racines ordonnées don-nées par Ψ. A priori, pour utiliser Ψ, nous devons connaître les racines de f pour réaliserune telle descente, ce qui est contradictoire. Pour ce faire on peut utiliser des approxi-mations numériques ou p-adiques. Stauduhar est le premier à donner un algorithme etune implantation basée sur cette méthode (voir [41]), il utilise des approximations numé-riques des racines de P pour calculer les racines des résolvantes relatives. L’utilisation des

36

Journees Nationales de Calcul Formel 2008 page 174

Algorithme 1 Stauduhar(f ,Ψ)Entrée : f ∈ Q[X] irréductible de degré n, Ψ une fonction qui vérifie si l’évaluation en les

racines de f d’un polynôme en n variables est rationnelle et la renvoie le cas échéant.Sortie : Le groupe de Galois de f correspond à l’ordre des racines de f donné par Ψ.1: U = Sn

2: Calculer T l’ensemble des sous-groupes transitifs maximaux de U (à conjugaison près dansU)

3: Si T est vide renvoyer U4: Soit T un élément de T . Calculer F un T -invariant U -relatif.5: Calculer S = σ ∈ U//T tq ΨN(σ · F ) est rationnel6: Si S est vide, exclure T de T continuer à l’étape 37: S’il existe σ1 ∈ S tel que pour tout σ2 ∈ S on a ΨN(σ1 ·F ) 6= ΨN(σ2 ·F ), remplacer U parσ1Tσ

−11 et continuer à l’étape 2. Sinon appliquer une transformation de Tschirnhaus sur F

et retourner à l’étape 5

approximations numériques est très efficace pour calculer les racines des résolvantes maisdevient coûteuse lorsqu’il faut certifier les inclusions (voir [17]). C’est pour cette raisonque Yokoyama [46] introduit des approximations p-adiques pour effectuer ce calcul, c’estce type d’approximation que nous retenons, nous présenterons ceci au chapitre suivant.Darmon et Ford (voir [14]) ont aussi utilisé des approximations p-adiques pour calculerle groupe de Galois de deux polynômes mais l’article de Yokoyama établit de nouveauxrésultats et développe complètement la version p-adique de l’algorithme de Stauduhar.

Il reste un problème que nous devons traiter avant de pouvoir mettre en place uneimplantation pour le calcul du groupe de Galois basée sur la stratégie de Stauduhar :comment obtenir une résolvante qui soit séparable ou, au moins, qui possède un facteurlinéaire simple ?

Remarque 3.9. Colin, dans [10, 11], propose une méthode symbolique basée sur l’al-gorithme de Stauduhar. Pour un degré donné n, il calcule les formes génériques des ré-solvantes relatives correspondant aux différentes étapes de la descente dans l’arbre dessous-groupes transitifs de Sn. Les coefficients de ces résolvantes sont des éléments d’an-neaux d’invariants. Pour calculer le groupe de Galois d’un polynôme f irréductible dedegré n, on évalue, au fur et à mesure de la descente, les coefficients des résolvantes àl’aide de ceux de f et de ceux des résolvantes déjà calculées.

3.4. Calcul d’invariant et transformation de Tschirnhaus pour le calcul derésolvante séparable

Dans cette section on introduit un moyen permettant d’obtenir une résolvante quisoit séparable pour un groupe donné. Soit U ⊃ H deux sous-groupes de Sn tel que Ucontienne Gal(Q(α)/Q).

3.4.1. Transformation de Tschirnhaus. Dans un premier temps, nous supposonsconnu F un H-invariant U relatif. Nous utilisons ces données afin d’obtenir une résolvanteU -relative qui soit α-séparant.

Proposition-Définition 3.10. Soit R une résolvante U-relative de F et t un poly-nôme de degré [U : H] − 1. On appelle transformation de Tschirnhaus de R selon t lepolynôme

Rt(x) =∏

τ∈U//H

x− (τ · F )(t(α1), . . . , t(αn)).

37

Journees Nationales de Calcul Formel 2008 page 175

Le polynôme Rt est à coefficients dans Q et est une résolvante U-relative pour le H-invariant U-relatif F (t(x1), . . . , t(xn)).

Démonstration. Cette proposition repose sur le fait que le polynôme F (t(x1), . . . , t(xn))est un H-invariant U -relatif, ce qui est clair.

Étant donné un H-invariant U -relatif, il est donc possible d’obtenir une infinité derésolvantes U -relatives en appliquant des transformations de Tschirnhaus successives.Dans [22], Girstmair montre que ce genre de transformation permet de construire unerésolvante U -relative qui soit α-séparante. Colin détermine dans [10] le nombre maximalde transformations qu’il faudra appliquer avant d’obtenir une telle résolvante séparableen étudiant le degré d’une hypersurface paramétrant l’ensemble des transformations quivérifient cette hypothèse. En pratique, le nombre de transformations de Tschirnhaus àappliquer est très faible en comparaison avec la borne théorique obtenue par Colin.

Proposition 3.11. Il existe toujours une transformation de Tschirnhaus qui permetd’obtenir une résolvante U-relative qui soit α-séparant.

Nous avons donc vu comment obtenir une résolvante séparable à partir d’une résol-vante qui ne l’est pas. Reste à savoir comment construire une résolvante, et en particulier,comment construire un H-invariant U -relatif.

3.4.2. Calcul d’un H-invariant U-relatif. Soit R l’anneau des polynômes en nvariables Q[x1, . . . , xn] et U ⊃ H deux sous-groupes de Sn. L’orbite d’un monôme deR sous l’action de H est un ensemble de monômes de même degré. Ainsi, sans aucuneperte de généralité, nous pouvons considérer des H-invariants qui soient homogènes etconstruits comme une somme des éléments d’une H-orbite d’un monôme m. Pour qu’untel H-invariant soit U -relatif il faut et il suffit que |H ·m| < |U ·m|. On peut facilementconstruire un H-invariant U -relatif en prenant le monôme m = x1

1x22 · · ·xn

n :

F =∑σ∈H

σ · (x11x

22 · · ·xn

n).

En fait, F est un H-invariant G-relatif pour tout sous-groupe G de Sn contenant H. Leproblème de cet invariant est sont degré : n(n−1)

2et aussi son nombre de monômes |G| ce

qui n’est vraiment pas bon dès que l’on veut un tant soit peu calculer !Pour construire des invariants de plus petit degré, nous allons exposer une méthode

reposant sur l’étude de la série de Hilbert des anneaux de polynômes invariants. Cetteméthode repose sur des résultats classiques de la théorie des invariants (voir le livre deDerksen et Kemper [15]) et est, par exemple, exposée dans les articles de Hulpke [25] etaussi de Geissler et Klüners [21].

On note RH le sous-anneau des polynômes de R qui sont stables sous l’action de H.De la décomposition des éléments de R en sommes de composantes homogènes on déduitle même genre de décomposition pour RH :

RH =∞∑

d=0

RHd

où RHd représente l’ensemble des composantes homogènes de RH de degré fixé d. On

associe à cette décomposition une série génératrice dont les coefficients sont les dimensionsdes RH

d en tant que Q-espace vectoriel, elle est appelée série de Hilbert :

Hilb(H, t) =∞∑

d=0

DimQ(RHd )td ∈ Z[[t]]

38

Journees Nationales de Calcul Formel 2008 page 176

Le principe de base pour trouver un H-invariant U -relatif dans le cas où H est unsous-groupe maximal de U repose sur la remarque suivante. Plutôt que de chercher uninvariant quelconque choisissons en un qui soit homogène, dans ce cas nous pouvonsutiliser les résultats qui précèdent. Comme U ⊃ H nous avons RH

d ⊃ RUd pour tout degré

d et donc, si U 6= H, il existe un certain indice minimal d0 tel que les coefficients d’indiced0 des séries de Hilbert de H et U diffèrent. On pourra donc trouver un invariant H-invariant U -relatif homogène de degré d0 qui sera donc minimal. On déduit l’algorithme 2Invariant(H,U) qui calcule un H-invariant U -relatif.

Algorithme 2 Invariant(H,U)Entrée : H ⊂ U ⊂ Sn tel que H soit maximal dans USortie : Un H-invariant U -relatif1: Calculer le plus petit indice d0 qui diffère entre Hilb(H, t) et Hilb(U, t)2: Calculer une base de I = RH

d0

3: Extraire de I les U -invariants4: Renvoyer un H-invariant de I qui ait un nombre minimal de monômes

Chacune des étapes de cet algorithme peut être calculée efficacement (voir [27] et [15])avec les logiciels de calcul formel comme Magma [6] et GAP [19].

Dans le cas où H n’est pas maximal dans U , le d0 que nous venons de calculercorrespond à une chute de dimension dûe à un sous-groupe maximal de U contenant H.Dans ce cas, il faudra utiliser le même principe en recommençant l’étude récursivementsur une chaîne de sous-groupes maximaux allant de H à U .

Pour des familles de groupes particuliers, il est possible de calculer plus efficacementdes invariants, le lecteur intéressé pourra se référer aux articles [23, 25, 21] et ouvrage[15].

3.5. Conclusion

Pour finir l’implantation de l’algorithme 1 il nous faut un moyen de tester si unerésolvante relative possède un facteur linéaire simple sur Q. Pour ce faire nous allonsprésenter une méthode p-adique dans le chapitre 4 qui permet d’approximer ces calculset de les certifier. Pour rendre plus efficace les calculs du groupe de Galois il est nécessaired’utiliser des techniques permettant de réduire le nombre de tests à effectuer lors de ladescente dans l’arbre des sous-groupes (voir [25, 21, 20]).

Une implantation de l’algorithme 1 tel que nous l’avons présenté, nécessite d’avoirpréalablement calculé l’arbre d’inclusion des groupes transitifs d’un degré donné auquelon peut associer un ensemble d’invariants relatifs correspondants aux différentes arrêtes.Une implantation très récente de Fieker et Klüners dans Magma (datant de 2007) permetde se détacher de ce genre de données (tous les calculs étant réalisés dynamiquement), iln’y pas encore d’article correspondant mais leur implantation est stupéfiante d’efficacité.Certaines idées de ce genre sont déjà présentent dans l’article de Hulpke [25].

39

Journees Nationales de Calcul Formel 2008 page 177

Journees Nationales de Calcul Formel 2008 page 178

CHAPITRE 4

Calcul du corps de décomposition

4.1. Introduction

Dans ce chapitre, on montre comment calculer efficacement le corps de décompositiond’un polynôme. Nous commencerons par donner un encodage de ce corps à l’aide d’unensemble triangulaire et nous étudierons quels les propriétés de son image modulo unnombre premier p et ses approximations p-adiques. Nous finirons pas donner des tech-niques de calculs efficaces pour calculer cet ensemble triangulaire.

Dans tout ce chapitre, le polynôme f sera supposé unitaire et à coefficients entiers etnous le supposerons aussi irréductible.

4.2. Représentation du corps de décomposition de f

Dans toute cette section, on considère un corps K parfait tel que si f est vu à co-efficients dans K il reste séparable (pour faire plus simple, K sera soit Q soit Qp soitZ/pZ).

4.2.1. Idéal des relations. Le corps de décomposition de f sur K, noté Kf , estune extension de K et on peut le représenter à l’aide d’un polynôme minimal µ d’unélément primitif comme le faisait Galois (voir section 2.1.1). De cet manière nous avonsl’isomorphisme

Kf ' K[x]/〈µ〉et les racines de f peuvent être représentées par des polynômes de degré au plus N − 1,où N est le degré de µ, par l’intermédiaire de cet isomorphisme.

Dès que l’on voudra faire des calculs avec les racines de f , il faudra donc manipulerdes polynômes de degré N − 1. L’encodage du corps Kf que nous présentons maintenantpermet de réduire ce degré en découpant l’extension simple Kf/K en plusieurs extensionssuccessives.

Soit α = (α1, . . . , αn) les n racines de f dans une clôture algébrique de K donnéesdans un ordre fixé. Nous avons le morphisme surjectif canonique Ψα, appelé morphismed’évaluation :

Ψα : K[x1, . . . , xn] // // Kf

P // P (α)

Le noyau M de ce morphisme est appelé idéal des relations et rassemble, comme sonnom l’indique, toutes les relations algébriques en les racines α de f (attention,M dépenddu choix de l’ordre donné à α). Nous allons voir que cet idéal peut être engendré par unsystème de polynômes de forme particulière.

Définition 4.1. Un ensemble de polynômes S ∈ K[x1, . . . , xn] sera dit triangulairelorsque S est composé de n polynômes f1, |dots, fn vérifiant

– fi ∈ K[x1, . . . , xi] ;41

Journees Nationales de Calcul Formel 2008 page 179

– fi est séparable en tant que polynôme en une variable xi à coefficients dans K[x1, . . . , xi−1.

La proposition qui suit nous donne la forme particulière deM.

Proposition 4.2. L’idéal M est maximal et est engendré par un ensemble triangu-laire T .

Démonstration. Le fait que cet idéal soit maximal est immédiat. Pour voir quecet idéal est engendré par un ensemble triangulaire nous allons procéder par récurrence.Soit K0 = K et Ki = Ki−1[xi]/〈µi〉 avec µi le polynôme minimal de αi sur Ki−1. Lepolynôme µi peut être vu comme un polynôme à coefficients dans K[x1, . . . , xi]. Pourtout 0 < i < n, il existe un idéal Mi tel que Ki[xi+1, . . . , xn]/Mi ' Kf et nous avonsalors M = 〈µ1(x1), . . . , µi(x1, . . . , xi),Mi〉K1[x1, . . . , xn]. L’idéal M est donc engendrépar le système de polynômes de K[x1, . . . , xn]

〈µ1(x1), µ2(x1, x2), . . . , µn(x1, . . . , xn)〉qui est triangulaire.

La preuve qui précède donne un premier algorithme pour construire le système trian-gulaire T de l’idéal M et de cette manière un encodage du corps de décomposition def .

Algorithme 3 Kronecker-Tchebotarev(f)Entrée : f ∈ Z[X] unitaire et irréductible de degré n.Sortie : Un ensemble triangulaire définissant le corps Kf .1: Soit i = 1, µi(xi) un facteur irréductible de f(xi) sur K et Ki = K[xi]/〈µi〉.2: i = i+ 13: Factoriser f

µ1···µi−1sur Ki−1

4: Soit µi un des facteurs irréductibles que nous venons de calculer, il peut être vu comme unpolynôme de Q[x1, . . . , xi]

5: Si i < n on définit Ki = Ki−1[xi]/〈µi〉 et continue à l’étape 26: Renvoyer µ1, . . . , µn.

Nous venons de voir que l’idéal des relations est engendré par l’ensemble triangulaire

µ1(x1), µ2(x1, x2), . . . , µn(x1, . . .)qui est une base de Gröbner pour l’ordre lexicographique x1 < x2 < · · · < xn. Ainsi, pourcalculer dans le corps de décomposition de f , on pourra encoder ce corps à l’aide de cettebase et calculer des formes normales modulo cet ensemble triangulaire pour manipulerses éléments. En particulier, on pourra évaluer en α un polynôme en n variables F encalculant sa forme normale modulo l’ensemble T .

En utilisant une représentation symétrique du groupe de Galois il est immédiat quece groupe est caractérisé par le résultat suivant :

Proposition 4.3. Le groupe de Galois Gal(Kf/K) est donné par

StabSn(M) = σ ∈ Sn tq ∀F ∈M, σ · F ∈MAinsi, étant donné l’idéalM, ou plus exactement un ensemble triangulaire le définis-

sant, on pourra calculer le groupe de Galois correspondant (voir [2], [1] par exemple et[32] pour des améliorations).

42

Journees Nationales de Calcul Formel 2008 page 180

La variété associée à l’idéal des relations est équiprojectable (voir [5]) mais sa natureest encore plus particulière. En effet, il est immédiat de voir qu’elle est définie à partirdu stabilisateur deM et de α, plus exactement nous avons

Z(M) = StabSn(M).α

4.2.2. Variétés galoisiennes. Plus généralement, une variété possédant la pro-priété d’être définie comme l’orbite de α sous l’action d’un sous-groupe U de Sn nepourra être une K-variété que si elle est stable sous l’action de G = Gal(K(α)/K). Ceciest vérifié si et seulement si le groupe U contient G. Un telle K-variété est appelée variétégaloisienne et peut être partitionnée selon les classes à gauche de U dans G, on en déduitla décomposition suivante :

U · α =⋃

τ∈U//G

τG · α

La K-variété U ·α est équirojectable, l’idéal radical sur K sera donc triangulaire (voir[5],[13]) et de la décomposition de la variété ci-avant on en déduit la proposition qui suit.

Proposition 4.4. Soit I un idéal radical sur K de variété galoisienne définie par legroupe de U (le stabilisateur de I) et α, alors

I =⋂

τ∈U//G

τ · M

Dans la décomposition de l’idéal I, les idéaux τ · M sont maximaux de stabilisateurτGτ−1 et sont les idéaux de relations pour l’ordre des racines donné par τ · α.

Remarque 4.5. Tels qu’ils sont définis ici, les idéaux triangulaires sont de dimension0 et le cardinal de leur variété se lit sur les éléments de sa base triangulaire, il est égal auproduit des degrés des monômes initiaux. De cette manière, l’ordre du groupe définissantune variété galoisienne peut être retrouvé facilement à partir des polynômes intervenantdans la base de l’idéal de cette variété.

Les idéaux de variété galoisienne sont aussi appelés idéaux de Galois et sont utiliséspour l’étude de l’idéal des relations (voir [16],[5]). Une étude duale de ce genre de décom-position basée sur les idempotents de l’algèbre de décomposition universel est décrite parPohst et Zassenhaus dans [34].

Nous allons maintenant nous intéresser à l’image de l’idéal des relations de f moduloun nombre premier et aux remontées p-adiques correspondantes.

4.3. Approximations p-adiques des racines de f

L’idéal M est à partir de maintenant l’idéal des relations de f sur Q pour l’ordre αdes racines.

Calculer formellement avec les racines de f revient à calculer modulo l’ensemble tri-angulaire T qui définit l’idéal des relations M. Si l’on veut obtenir une approximationmodulo une puissance d’un nombre premier p d’un tel calcul renvoyant des rationnelsceci revient à renvoyer le résultat de l’opération suivante

(F mod T ) mod pk

Il faut donc savoir dans quelle mesure une telle opération est possible. De plus, on aimeraitpouvoir faire ce calcul sans connaître T . Pour cela nous allons étudier la construction del’idéal des relations de f vu à coefficients dans le corps des nombres p-adiques. Donnonsun bref rappel sur cette structure.

43

Journees Nationales de Calcul Formel 2008 page 181

Soit Zp la limite projective des anneaux Z/pkZ pour la projection canonique, c’est-à-dire l’ensemble des suites (ak)k>0 telles que ak ∈ Z/pkZ et ak+1 mod pk = ak pour toutindice 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 (mmod pk)k>0) et on montre facilement que Zp ne contient pas de diviseur de zéro. On peutdonc 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 〈p〉, c’est une autremanière de le construire, on localise Z en p et on le complète selon la distance définie parla 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

a =∑i>k

aipi

où les ai sont des représentants des classes Zp/〈p〉 ' Z/pZ et l’on choisit de représenterles classes de Z/pkZ par les éléments de −pk+1

2, . . . , pk

2 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 rame-

ner 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 deprojection de Zp dans Z/pZ. Si π(f) s’écrit

π(f) = gh

dans Z/pZ[x] avec g et h premiers entre eux. Alors ils existent g et h uniques dans Zp[x]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’importequel 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 etseulement s’il le reste modulo p. Ce résultat peut être généralisé au cas des extensions deQp 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éalP = pR avec R = Zp[α] est maximal et si un polynôme f ∈ R[x] vérifie

f = gh mod p

pour g et h des polynômes de R/p[x] premiers entre eux alors ils existent g et h uniquesdans R[x] tel que

f = gh et g = g, h = h mod p

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]/〈l, p〉 et en posant l = lmod p on obtient

R/p ' (Z/pZ)[x]/〈l〉44

Journees 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. Ainsil’idéal p est maximal.

Soit pk l’idéal pkR. Nous allons montrer comment construire pour tout k > 1 despolynômes g(k) et hk tels que

f = gkhk mod pk et gk = g, hk = g mod p

ainsi en faisant tendre k vers l’infini on obtiendra le résultat.Fixons k > 1 et supposons que gk et hk existent. Les polynômes gk+1 et hk+1 vérifient

f − gkhk ∈ pkR ainsi t =f − gkhk

pk∈ R.

Comme g et h sont étrangers et à coefficients dans un corps, nous pouvons calculer lesfacteurs de Bézout u et v par l’algorithme d’Euclide dans Fp[x] :

ug + vh = 1

En posant g′ = tv mod h et h′ = tug on peut prendre gk+1 = gk+pkg′ et hk+1 = hk+pkh′.Il suffit de voir que f = gk+1hk+1 mod pk+1 équivaut à tpk = gkpkh′ + hkpkg′

mod pk+1 et en divisant par pk on a t = gkh′ + hkg′ mod pk+1 ce qui nous donne lerésultat.

Corollaire 4.8. Soit f ∈ Z[x] et p un nombre premier. Le polynôme f vu à coeffi-cients 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 à coeffi-cients dans Zp[x] est séparable si et seulement si le discriminant Disc(f) ∈ Z de f n’estpas 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 êtreinclus dans l’anneau Zp. En ce qui nous concerne ici, puisque nous sommes intéressés parreprésenter une approximation des racines d’un polynôme f à coefficients dans Z nousallons 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 . Nousavons

T ⊂ 1

Disc(P )DZ[x1, . . . , xn]

où D > 0 est un entier obtenu à partir de f .

Démonstration. La démonstration de cette proposition découlera d’un résultat surinterpolation 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 quela 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 estengendré 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

Journees 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 desracines 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 quenous pourront relever par le principe de Hensel et d’après le corollaire 4.9 nous pouvonsappliquer les résultats de la section 4.2 avec K = Qp où K = Z/pZ. À partir de cesrésultats, nous allons donc maintenant étudier la décomposition de l’idéal M vu dansQp[x1, . . . , xn] par extension des constantes :

Mp = Qp ⊗QM. L’idéal Mp va nous permettre de représenter les racines α de f modulo une puissancede 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 moduloM pour tout i dans 1, . . . , n il ensera de même pour f(xi) moduloMp ce qui nous donne la première assertion. Nous avonsStab(M) ⊂ Stab(Mp). De plus, commeMp = Qp⊗Q 〈T 〉 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 etGp := StabSn(Np) le groupe de Galois de f sur Qp correspondant à cet idéal maximal.Nous avons

Gp ⊂ G = Gal(Q(α)/Q) et Mp =⋂

σ∈G//Gp

σ · Np

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 laproposition 4.13.

De ce corollaire on tire qu’un idéal des relations de f sur Qp ne peut correspondrequ’un unique idéal M. Nous allons nous servir de cet idéal pour approximer les racinesde f .

Proposition 4.15. Soit f un polynôme à coefficients entiers séparable modulo lepremier p. La base triangulaire T d’un idéal des relations de f mod p peut être remontéeen 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 ouplutôt de sa démonstration en construisant récursivement les éléments de la base selonles puissances croissantes. Plus généralement on pourra se référer à la construction deNewton-Hensel pour les ensembles triangulaires décrite par Schost (voir [39]).

Pour calculer avec des approximations p-adiques des racines de f on commence parcalculer Tp 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

Journees Nationales de Calcul Formel 2008 page 184

Définition 4.16. L’approximation modulo pk+1 de la base Tp ∈ Zp[x1, . . . , xn] estnotée T k

p

4.4. Calcul des racines d’une résolvante et test d’inclusion dans le groupe deGalois

Soit f ∈ Z[x] un polynôme unitaire de degré n et supposé irréductible. Dans cettesection nous allons montrer comment tester l’inclusion du groupe de Galois de f dans unsous-groupe H de Sn en faisant des calculs avec des approximations p-adiques des racinesde f où p est un nombre premier ne divisant pas le discriminant de f . On définit ainsiune fonction Ψ prenant place dans l’algorithme 1.

Ce test d’inclusion, comme décrit dans le chapitre 3, s’effectue en testant si uneré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 toujourspossible), 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 cetest 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 legroupe de Galois de f et I un H-invariant U-relatif à coefficients entiers. SoitM l’idéaldes 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 ∀σ′ 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. Parhypothèse R est à coefficients entiers et est donnée par

R(x) = NF (∏

σU//H

(x− σ · I),M)

Ainsi, en passant au p-adique, nous avons

R(A) = NF (∏

σU//H

(x− σ · I),Mp) = NF (∏

σU//H

(x− σ · I),⋂

τ∈G//Gp

τ · Np)

Comme G est contenu dans U et que R est laissée stable par U par définition, on a égalitédes NF (

∏σU//H(x − σ · I), τ · Np) pour tout τ ∈ U//H. Comme la transversale U//H

contient l’identité et que NF (∏

σU//H(x− σ · I),Np) = 0 par hypothèse, par le théorèmedes restes chinois on a

NF (∏

σU//H

(x− σ · I),⋂

τ∈G//Gp

τ · Np) = 0

et donc A est une racine de R sur Qp et Q. Si cette racine n’était pas simple elle ne leserait 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 legroupe de Galois de f et I un H-invariant U-relatif à coefficients entiers. SoitM l’idéaldes 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 à coefficientsentiers et vérifie

(1) Si R mod p possède une racine dans Z/pZ de multiplicité v alors elle peut êtreremontée en v racine de R sur Qp[x1, . . . , xn]/Np

47

Journees Nationales de Calcul Formel 2008 page 185

(2) Supposons qu’il existe σ ∈ U tel que (σ · I − a mod p) ∈ Np pour a ∈ Z/pZ(a est une racine de R mod p) et tel que la remontée A de la racine a est uneracine entière simple de R sur Qp[x1, . . . , xn]/Np. Alors σHσ−1 contient G. Aucontraire, si aucune des racines de R dans Z/pZ ne peuvent être remontées endes racines dans Z pour R sur Qp alors G ne peut être contenu dans aucun desU-conjugués de H.

Cette proposition et son corollaire nous donne un test d’inclusion sur Qp nécessitantla connaissance de Np qui est aussi dur à calculer que M. Nous avons le corollaire quisuit par application du principe de Hensel.

C’est le point 2 du corollaire précédent que nous allons mettre en pratique pour fairenos tests d’inclusion selon des approximations p-adiques des racines de f . Le point 1permet 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 quepk+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 desU-conjugués de H.

(2) Supposons qu’il existe un sous-ensemble S de U//H tel que pour tout σ ∈ S ilexiste un élément aσ ∈ Z/pZ vérifiant σ · I − aσ ∈ Np. S’il existe σ ∈ S tel queAσ = NF (σ · I, T k+1

p ) vérifie

Aσ ∈ Z/pk+1Z, |Aσ| < M, Aσ 6= NF (σ′ · I, T k)∀σ′ 6= σ ∈ Salors G est contenu dans σHσ−1

Démonstration. Le premier point est immédiat. Comme σ · I − Aσ est à coef-ficients entiers, nous pouvons considérer la réduction modulo pk+1 de cet élément deZp[x1, . . . , xn]. Nous avons σ · I−Aσ mod (Np, p

k+1) = σ · I−Aσ mod (T k+1p , pk+1) = 0.

En appliquant le même raisonnement pour la résolvante R et en posant A = Aσ, nousavons :

R(A) mod pk+1 = NF (∏

σ∈U//H

(A− σ · I),Mp) mod pk+1

Comme

NF (∏

σ∈U//H

(A− σ · I),Np) mod pk+1 = NF (∏

σ∈U//H

(A− σ · I), T kp ) mod pk+1 = 0

en appliquant le même raisonnement que dans la démonstration de la proposition 4.17)on a

R(A) = NF (∏

σ∈U//H

(A− σ · I),∩τ∈G//Gpτ · Np) mod pk+1 = 0

Donc R(x) = (x−A)h(x)+pk+1g(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 deR on fait comme dans la preuve de la proposition 4.17.

De cette proposition on tire tous les instruments permettant de modifier l’algorithmede Stauduhar pour calculer le groupe de Galois à partir d’approximations p-adiques desracines de f . Dans la pratique, on commence par calculer Np et son stabilisateur Gp enfaisant des calculs modulo p. On fixe l’ordre des racines à l’aide de cet idéal : au départ ona Gp ⊂ G ⊂ Sn et au fur et à mesure des tests d’inclusion on trouvera le stabilisateur G de

48

Journees Nationales de Calcul Formel 2008 page 186

M contenu dans Np. L’action de G sur les racines de f dans (Z/pk+1Z[x1, . . . , xn])/〈T kp 〉

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’algorithmede Stauduhar p-adique.

Dans cette section nous allons montrer comment calculer efficacement l’ensemble tri-angulaire T ∈ Q[x1, . . . , xn] d’un idéal des relationsM de f ∈ Z[x] à partir de la sortie del’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 uneformule d’interpolation générale pour chacun des polynômes intervenant dans un ensembletriangulaire 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 peutré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’onsuppose réduit. En effet, puisque fi(α, xi) est le polynôme définissant de l’extensionKi = Q(α1, . . . , αi) sur Ki−1 = Q(α1, . . . , αi−1) dont le degré est donné par |Gal(Q(α)/Ki−1)|

|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 enappliquant [13] ou [31]) pour les éléments de T , c’est à dire un polynôme à coefficientsindéterminés

fi = xdii +

∑cjx

j11 · · ·xjn

n

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é parn!) et l’on aimerait pouvoir le réduire.

Réduction du nombre d’indéterminées : i-relations. Pour réduire ce nombred’indéterminées, nous allons chercher des relations entre les α qui peuvent remplacerfi ∈ 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’en-semble des indéterminée xi : i ∈ E. L’ensemble E est appelé i-relation si max(E) = iet s’il existe un polynôme ri ∈ Q[XE] tel que

αdii + ri(α) avec Degxi

(ri) < di

L’exemple le plus simple de i-relation est donné par l’ensemble 1, . . . , i et dans cecas une relation correspondant pourra être le polynôme fi. Pour ce polynôme nous avonsvu comment identifier les bornes sur les multi-degrés de ses termes. Le résultat qui suitpermet 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 unpolynô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

Journees 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

di =| StabG[1, . . . ,m]|| 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’ensembledes i-relations.

Le problème de calculer une i-relation minimale relève de la combinatoire et il n’y apas d’algorithme efficace connu mais, étant donné un groupe G, ce calcul peut être faitune fois pour toute et stocké.

Les i-relations minimales correspondent aux sous-corps K de Ki = Q(α1, . . . , αi) dedegré absolu minimal et engendrés par des racines de f prises dans α1, . . . , αi−1. Lenombre de coefficients indéterminés à calculer pour retrouver le polynôme définissantl’extension K/Ki est donné par le degré de la i-relation correspondant. Ceci peut serésumer par la figure ??.

4.5.2. Formules de Lagrange et i-relations. Soit Ei une i-relation, nous allonsprésenter une formule permettant de retrouver le polynôme associé à Ei à partir de lavariété équiprojectable deM.

Nous avons vu qu’à une i-relation Ei = e1 < e2 < · · · < es = i on peut associer uneextension. En fait, on peut lui associer un ensemble triangulaire.

En effet, on peut lui associer les polynômes minimaux µj desQ(αe1 , . . . , αes = αi)

Q(αe1 , . . . , αes−1 )

µi=xdii +ri(XEi

)

Q(αe1 , . . . , αes−1 )

µes−1

Q(αe1 )

Q

µ1=f(x1)

extensions successives construites à partir des racines de f d’in-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 , . . . , gessera triangulaire par définition. Le polynôme ges étant celui quipourra remplacer fi dans T . Pour calculer l’ensemble des gj, onpeut appliquer les formules de Lagrange données par Dahan etSchost dans [13] mais comme la variété utilisée ici est définie parun groupe de permutations, nous allons utiliser ce cadre parti-culier pour définir ces formules. Soit σ une permutation de Sn.Nous notons O(j, σ) l’orbite de σ(ej) sous l’action du stabili-sateur point-à-point StabG[σ(e1), . . . , σ(ej−1)] qui est défini parl’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éfinissantgi.

50

Journees 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

∑σ∈Trans

s−1∏

j=1

∏e∈O(j,σ)e6=σ(ej)

xej− αe

ασ(ej) − αe

∏e∈O(s,σ)

xi − αe

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 groupeG sur des approximations des racines de f (nous connaissons une approximation T k

p

de l’ensemble triangulaire engendrant l’idéal maximal Np contenant Mp). En effectuantdes calculs de formes normales modulo l’ensemble triangulaire T k

p , on pourra interpolerune approximation du polynôme gi à l’aide de la formule de la proposition 4.24. Decette 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 lemoment nous allons voir comment éviter le calcul de certains polynômes de T grâce à laconnaissance 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 dedonnées partielles sur le groupe G sont introduits. Dans [38],[36, 37] ces techniques sontexploitées afin de définir un schéma de calcul de T associé au groupe G. Ce schéma decalcul ne dépend que de G et peut être calculé une fois pour toute et stocké pour descalculs ultérieurs.

Étant donné le groupe G ⊂ Sn, on suppose connue une i-relation Ei pour chacun despolynômes gi de l’ensemble triangulaire d’un idéal de relations de stabilisateur G. Nousallons voir comment éviter le calcul de certains polynômes de T par simple analyse dugroupe 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 avonsk = 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ômesdéfinis par c1(gi) = gi et

c2(gi) =Ev(c1, xi2)− Ev(c1, xi1)

(xi2 − xi1), · · · , cdi

(gi) =Ev(cdi−1, xidi

)− Ev(cdi−1, xidi−1)

(xidi− xidi−1

).

Les modules de Cauchy (appelés aussi différences divisées) représentent les facteursgénériques d’un polynôme dans chacune des extensions de la tour qui va jusqu’à soncorps de décomposition. Ils ont été introduit par Cauchy [8] pour définit une base desfonctions symmétriques évaluées en les racines d’un polynôme. Par construction, nousavons le résultat suivant.

Proposition 4.26. Le polynôme cj(gi) est un polynôme de Q[X1,...,ij] unitaire en lavariable xij et de degré di − j + 1 en xij . De plus, ce polynôme est inclus dans M.

51

Journees Nationales de Calcul Formel 2008 page 189

La connaissance de G nous permet de calculer au préalable les degrés en leur variabledominante des polynômes gi et des modules de Cauchy correspondants à chacune desi-relations. Par exemple, si le degré en xij du polynôme gj est le même que celui decj(gi) alors on pourra remplacer gi par ce module de Cauchy dans l’ensemble triangulaireT . Ainsi on remplace l’interpolation d’un polynôme par celui du calcul d’une différencedivisée qui est moins coûteux en général.

Transporteur. Ici nous utilisons le fait que G est le stabilisateur de l’idéalM.

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. Parconstruction nous avons.

Proposition 4.28. Soit σ un (i, j)-transporteur et gi le polynôme à la i-relation Ei.Alors, NF (σ · gi, g1, . . . , gj−1) est un facteur de gj en tant que polynôme sur A =(Q[X1,...,j−1]/〈g1, . . . , gj−1〉)[xj].

Démonstration. Puisque σ est un (i, j)-transporter, le polynômeNF (gσi , 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 minimalde α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érifiantles hypothèses du corollaire 4.29 permet de remplacer l’interpolation de polynôme gj parl’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 parmodules de Cauchy ou transporteurs peut être stocké et forme ainsi un schéma de calculgé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 don-nons ici une borne sur les coefficients de gi obtenue à l’aide de la formule d’interpolationdonnée dans la proposition 4.24. La démonstration faite ici reprend celle de Lederer [31] enl’adaptant aux i-relations (voir [37]). Notons Li la formule définissant gi, il est immédiatque la multiplication par une puissance de Disc(f) permet de ramener Li à coefficientsentiers. Plus exactement, la multiplication de Li par Disc(f) permet de réduire deux dé-nominateurs de la forme

∏e∈O(j,σ)e6=σ(ej)

1ασ(ej)−αe

. Ainsi, l’ensemble des dénominateurs pourront

être réduits par la multiplication de Di = Disc(f)ds2e.

Le polynôme DiLi est donc à coefficients entiers, nous allons donner une borne pourc, le coefficient correspondant au multi-degré (k1, . . . , ks). Soit δ une borne sur les normesdes différences des racines |αi − αj| et ν une borne sur les normes |αi|.

– Le numérateur de DiLi est composé du produit de n(n− 1)d s2e − d1 − . . .− ds + s

éléments de la forme (αj − αi). Ce produit est distribué sur tous les coefficients degi et est borné par B = δn(n−1)d s

2e−d1−...−ds+s.

– La variable xeide degré ki dans Li provient d’un produit de di − 1 éléments de la

forme (xei− αj). Ainsi, la norme de son coefficient est majoré par

(di−1

ki

)νdi−1−ki .

52

Journees 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

|c| 6 d(Ei)

(d1 − 1

k1

)νd1−1−k1 · · ·

(ds

ks

)νds−ksB.

À partir de cette borne, on pourra certifier qu’un calcul fait par approximations p-adiques 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èspessimiste. Nous donnons ci-après un moyen de tester si un ensemble triangulaire candidatT c = h1, . . . , hn obtenue par interpolation selon des approximations p-adiques et desreconstructions rationnelles est bien une base pourM.

Pour ce faire il suffit de vérifier que l’idéal engendré par T c contient les modules deCauchy de f , le résultat suivant montrer ceci.

Proposition 4.30. Nous avons l’égalité hj = gj si et seulement si

NF (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 〈H〉 contientc1(f), . . . , cj(f) qui est une base de Gröbner réduite de l’idéal d’élimination M ∩Q[X1,...,j]. Ainsi, 〈H〉 est contenu dans un idéal maximal M′ de Q[X1,...,j]. Cet idéalmaximal coïncide avec σ · M ∩ Q[X1,...,j] pour un σ ∈ Sn. Mais, en comparant les di-mensions des anneaux quotient correspondant, il vient que〈H〉 =M′ =Mσ∩Q[X1,...,j].Leurs stabilisateurs seront égaux et il vient σ est l’identité et hj = fj.

53

Journees Nationales de Calcul Formel 2008 page 191

Journees Nationales de Calcul Formel 2008 page 192

Bibliographie

[1] I. Abdeljaouad-Tej, S. Orange, G. Renault, and A. Valibouze. Computation of thedecomposition 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 theGalois 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.Surikaisekikenkyusho Kokyuroku, (920) :9–24, 1995. Research on the theory andapplications 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 userlanguage. J. Symbolic Comput., 24(3-4) :235–265, 1997. Computational algebra andnumber 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 fonctionssymétriques des racines d’une équation algébrique donnée. Oeuvres, 5 :473 Extrait108, 1840.

[9] H. Cohen. A course in computational algebraic number theory, volume 138 of Gra-duate Texts in Mathematics. Springer-Verlag, Berlin, 1993.

[10] Antoine Colin. Formal computation of Galois groups with relative resolvents. In Ap-plied algebra, algebraic algorithms and error-correcting codes (Paris, 1995), volume948 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 Com-putation (Kihei, HI), pages 78–84 (electronic), New York, 1997. ACM.

[12] David A. Cox. Galois theory. Pure and Applied Mathematics (New York). Wiley-Interscience [John Wiley & Sons], Hoboken, NJ, 2004.

[13] X. Dahan and É. Schost. Sharp estimates for triangular sets. In ISSAC ’04 : Procee-dings 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 groupsover Q. Comm. Algebra, 17(12) :2941–2943, 1989.

[15] Harm Derksen and Gregor Kemper. Computational invariant theory. InvariantTheory and Algebraic Transformation Groups, I. Springer-Verlag, Berlin, 2002. En-cyclopaedia 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

Journees 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 deDoctorat, 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. Dis-

sertation, 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 AlgebraicComputation, pages 175–182 (electronic), New York, 2001. ACM.

[25] Alexander Hulpke. Galois groups through invariant relations. In Groups St. Andrews1997 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 GrandsClassiques Gauthier-Villars. [Gauthier-Villars Great Classics]. Éditions Jacques Ga-bay, 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écompo-

sition. LIP6 Research Report 005, LIP6, Laboratoire d’Informatique de Paris 6,2003.

[34] M. Pohst and H. Zassenhaus. Algorithmic Algebraic Number Theory. CambridgeUniv. 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 fieldof 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 computingthe splitting field of a polynomial. In J. Rafael Sendra and Laureano González-Vega,editors, ISSAC, pages 247–254. ACM, 2008.

56

Journees Nationales de Calcul Formel 2008 page 194

[38] Guénaël Renault. Computation of the splitting field of a dihedral polynomial. InBarry 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 (IS-SAC’2002) (Lille).

[40] L. Soicher and J. McKay. Computing Galois groups over the rationals. J. NumberTheory, 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 Germanedition by Fred Blum and John R. Schulenberger.

[44] B. L. van der Waerden. Algebra. Vol. II. Springer-Verlag, New York, 1991. Basedin part on lectures by E. Artin and E. Noether, Translated from the fifth Germanedition by John R. Schulenberger.

[45] J. von zur Gathen and J. Gerhard. Modern computer algebra. Cambridge UniversityPress, 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 thesolvability of polynomials. In ISSAC, pages 127–134, 1990.

57

Journees 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1. Un exemple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2. Plan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3. Problème. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Chapitre 2. Systèmes linéaires de dimension finie . . . . . . . . . . . . . . . . . . . . . . . 82.1. Commandabilité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2. Commandabilité linéaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3. Linéarisation par bouclage statique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Chapitre 3. Systèmes plats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1. Équivalence et platitude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2. Bouclage et équivalence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.3. Caractérisation de la platitude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.4. Commande optimale et prédictive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.5. Symétries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Chapitre 4. Systèmes plats de dimension infinie . . . . . . . . . . . . . . . . . . . . . . . . . 454.1. Retards et équations des ondes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2. Diffusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Chapitre 5. Catalogue de systèmes plats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.1. Robots complètement commandés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.2. Systèmes mécaniques non-holonomes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.3. Systèmes pendulaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.4. Divers systèmes mécaniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.5. Systèmes électro-mécaniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.6. Systèmes quantiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.7. Réacteurs chimiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75Références. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Journees Nationales de Calcul Formel 2008 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 per-met de se familiariser avec le langage et les notions de base en dynamique et commande dessystè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 verti-cal autour d’un axe horizontal. Cet axe horizontal est équipé d’un moteur délivrant un couplevariable u, que l’on peut choisir arbitrairement : u est la commande du système (on dit aussicontrô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) Jθ(t) +mlg sin θ(t) = u(t)

où m est la masse du bras, J son moment d’inertie par rapport à l’axe, l la distance du centrede 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 deconditions initiales en position θ(0) = θ0 et en vitesse θ(0) = θ0. L’ensemble des conditionsinitiales 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 dittrajectoire 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 lesystè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 lacommande optimale qui sélectionne la trajectoire en minimisant un certain critère. Citons parexemple le temps minimum pour aller d’une position de repos (θi, ωi = 0) à une autre positionde repos (θf , ωf = 0) sachant que la commande u reste bornée (∀ t, |u(t)| 6 umax où umax est

Journees Nationales de Calcul Formel 2008 page 198

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 3

le couple maximum développé par le moteur. On en déduit ainsi une trajectoire de référence dusystè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 approxi-matif (les paramètres J et m et l sont connus avec une certaine précision, les frottements sont icinégligés, le bras est légèrement flexible et donc des degrés de libertés et leur dynamiques ne sontpas prises en compte, ...), il convient d’ajuster la commande u en temps réel de façon à compenserles écarts à la trajectoire de référence, θ − θr et ω − ωr, qui peuvent apparaître. Il s’agit de lastabilisation autour d’une trajectoire (« tracking » en anglais). Lorsque cette trajectoire est unpoint d’équilibre du système (comme, par exemple (θ, ω, u) = 0 ou (θ, ω, u) = (π, 0, 0)) on parlealors de stabilisation. Une démarche très naturelle consiste à corriger la commande de référenceur(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 souventpar 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èsrapidement (avec une période d’échantillonnage Te bien plus rapide que les échelles de tempsnaturelles du système) la commande u en fonction de la trajectoire de référence et des mesuresde θ 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éveloppementlimité des seconds membres en ne retenant que les termes d’ordre 1 (ceux d’ordre 0 sont nuls,car nous sommes autour d’un point d’équilibre). En notant θ, ω et u les écarts, nous obtenonsles équations du système linéarisé tangent :

(1.3)˙θ = ω˙ω = u/J + (mgl/J)θ.

En remplaçant la dérivée en temps avec la multiplication par s (transformation de Laplace) onobtient la relation entre les transformées de Laplace θ et u de θ et u (conditions initiales nulles) :

(Js2 −mgl)θ = u.

Nous retrouvons bien la fonction de transfert H(s) = 1/(Js2 −mgl), fraction rationnelle en s lavariable de Laplace, fréquemment utilisée par les ingénieurs pour représenter la relation entre lacommande u et la sortie y, y = H(s)u. La stabilité du système (en boucle ouverte) est fonction dela position par rapport à l’axe imaginaire des pôles deH : s’ils sont tous à partie réelle strictementnégative alors le système est stable ; si l’un d’entre eux est à partie réelle strictement positive,

Journees Nationales de Calcul Formel 2008 page 199

4 PHILIPPE MARTIN & PIERRE ROUCHON

alors le système est instable. Ici les pôles étant ±√

mglJ , 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ésentationest impossible pour Jθ = −mgl sin θ+u dès que θ−π n’est plus petit. Les fonctions de transfertne peuvent pas être étendues aux systèmes non linéaires.

Si on pose, comme loi de commande

(1.4) u = −(Jk1 +mgl)θ − Jk2ω,

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 derétro-action) sont

˙θ = ω˙ω = −k1θ − k2ω.

Ce système est asymptotiquement stable : pour toutes conditions initiales, ses solutions tendentvers zéro lorsque t tend vers l’infini. La convergence est même exponentielle : toute solution estune combinaison linéaire de exp(−t/τ1) et exp(−t/τ2) : −1/τ1 et −1/τ2 sont appelés les pôles oumodes 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 coefficientJk2). C’est un simple régulateur "proportionnel-dérivé" sur l’angle θ. Par la commande, nouspouvons 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 alorsla question du comportement du système non linéaire (1.2) avec le bouclage linéaire

u = u = −(Jk1 +mgl)(θ − π)− Jk2ω.

Il est immédiat de voir que le linéarisé tangent autour de l’équilibre (π, 0) du système non linéairebouclé est identique au linéaire tangent bouclé. Un résultat classique sur la stabilité structurelledes 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 localedu 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 versl’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 tauxde convergence, on aura tendance à les choisir aussi proches de zéro que possible. Cependant, ilconvient de ne pas les choisir trop proches de zéro. D’une part des gains trop grands vont fairesaturer les actionneurs. D’autre part, le modèle sur lequel la commande est synthétisée, n’estvalable que pour une certaine gamme d’échelles de temps (on parle en fréquentiel de modèlevalable sur une certaine plage de fréquences). Ici la dynamique du moteur est négligée. Si lemoteur est à courant continu, la commande physique est en fait la tension Um appliquée aumoteur. Elle est reliée au couple u par une équation différentielle du type :

(1.5) LIm +RIm = Um, u = KcIm

(L est l’inductance, R la résistance, Kc la constante de couple du moteur). En pratique ladynamique 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éristiquedu bras τb =

√J/(mlg). Aussi, a-t-on l’approximation suivante dite quasi-statique :

RIm = Um, u = KcIm = (Kc/R)Um

qui relie directement le couple u à la tension Um. Il convient de choisir τ1 et τ2 du même ordrede grandeur que τb, et donc très supérieur à τm, la constante de temps de la dynamique négligée.

Journees 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é dubras. Des résultats classique (théorie de perturbations, systèmes lents/ rapides) assurant qu’avecdes gains k1 et k2 pas trop grands (τ1, τ2 τm), le système non linéaire avec la dynamique dumoteur (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 simpledérivation : on dit que l’état du système est observable à partir de la sortie θ. D’une façon plusgénérale, l’état x d’un système sera dit observable à partir de la sortie y, si l’on peut reconstruirex à 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 ω. Cettesolution fonctionne correctement si la mesure de θ n’est pas trop bruitée. Sinon, l’opération dedérivation est à éviter. Pour cela, nous pouvons utiliser la dynamique du système pour construireun observateur asymptotique, c’est à dire, reconstruire la vitesse ω du système en intégrant (onpeut 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 quan-tités connues la commande u et l’angle θ. L’objectif est de reconstruire à terme ω sans utiliserl’opération de dérivation très sensible au bruit. En revanche nous pouvons utiliser l’intégrationet les changements de variables.

Nous allons montrer comment construire un observateur asymptotique (d’ordre réduit). Soit λun paramètre que nous ajusterons plus tard. Considérons la variable composite ξ = ω + λθ. Sil’on sait reconstruire ξ, on obtient ω avec ω = ξ − λθ(t). Or, grâce à (1.3), ξ vérifie

ξ = u/J − (mgl/J)θ + λω = u/J − (mgl/J + λ2)θ + λξ.

Ainsi recopiant cette équation et en remplaçant la variable ξ non mesurée par ξ, on obtient uneéquation différentielle du premier ordre dépendant des quantités connues u et θ (un filtre passebas d’ordre 1 d’une combinaison linéaire de la mesure θ et de la commande u) :

(1.6) ˙ξ = u(t)/J − (mgl/J + λ2)θ(t) + λξ

Par soustraction avec l’équation différentielle satisfaite par le vrai ξ, les termes sources en uet θ disparaissent. On obtient alors une dynamique de l’erreur ξ − ξ autonome

d

dt(ξ − ξ) = λ(ξ − ξ)

qui converge vers zéro, quelle que soit la condition initiale sur ξ, dès que le paramètre λ = −1/τfest choisi négatif (τf est la constante de temps de l’observateur (1.6)). Là encore, le gain λ del’observateur (1.6) doit être choisi en fonction des niveaux de bruit sur θ et surtout des échellesde temps naturelles du système (prendre, par exemple, τf du même ordre de grandeur queτb =

√J/(mlg)).

Ainsi, en combinant l’observateur (1.6) et la commande (1.4) où ω est remplacé par ξ−λθ, nousobtenons un bouclage qui stabilise localement la position inverse du pendule. Ce bouclage est unbouclage dynamique sur la sortie y = θ : le terme dynamique vient du fait que la commande uest une fonction de θ et de ξ qui est en fait une sorte « d’intégrale » de u et θ :

(1.7)˙ξ = u/J − (mgl/J + λ2)θ + λξ

u = −(Jk1 +mgl)θ − Jk2(ξ − λθ).Il s’agit d’un observateur-contrôleur.

Journees 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èmeset de faire le lien avec les méthodes classiques de synthèse de régulateurs avec les fonctions detransfert (systèmes linéaires à une entrée et une sortie). Dès que le système est non linéaireou 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 desystèmes très souvent rencontrés en pratique, les système plats. Leur commandabilité est parti-culièrement simple. Elle se ramène, via une paramétrisation explicite des trajectoires, à celle dessystèmes linéaires de dimension finie. On en déduit alors des algorithmes fondés sur des calculsexplicites de planification de trajectoires, et, pour les systèmes de dimension finie, de suivi detrajectoires (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 decourtes définitions, nous étudions les systèmes linéaires stationnaires. Nous mettons l’accent surla forme canonique de Brunovsky, la planification de trajectoires, et la stabilisation par placementde pôles. Ce chapitre se termine avec la linéarisation par bouclage statique : il s’agit de reconnaîtresi un système est linéaire après changements de coordonnées (a priori non linéaires) sur l’état etsur la commande.

Dans le chapitre 3, nous abordons les systèmes plats, systèmes gouvernés par des équationsdifférentielles ordinaires et équivalents aux systèmes linéaires commandables. La relation d’équi-valence utilisée est une correspondance entre les trajectoires, correspondance déjà suggérée en1912 par David Hilbert et reprise peu après par Elie Cartan (équivalence absolue) pour les sys-tèmes différentiels sous-déterminés. Avec de tels systèmes la planification et le suivi de trajectoiressont faciles à résoudre. Pour des définitions mathématiques précises et simples, nous utilisonsle langage des diffiétés, une géométrie sur des variétés C∞ de dimension infinie développée parl’école russe autour de Vinogradov. La caractérisation des systèmes plats étant un problèmeouvert, 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 par-tielles est la paramétrisation explicite des trajectoires. Bien que l’on soit loin d’une définitionclaire 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] faitaussi le lien, comme c’est le cas ici, avec les systèmes linéaires de dimension finie, et proposeaussi 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’ob-jectif de commande est d’aller du point d’équilibre θ = 0 au point d’équilibre θ = π pendant letemps T > 0 en ne mesurant que θ. Cette extension non linéaire ne nécessite que très peu decalculs 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+ σ1e+ σ2e = 0avec σ1, σ2 > 0.

Journees Nationales de Calcul Formel 2008 page 202

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 7

(3) On suppose que l’on ne mesure que θ. Montrer que l’observateur non linéaire˙ξ = λξ − λ2θ(t) + u(t)/J − (mgl/J) sin θ(t)

permet de reconstruire asymptotiquement ω par ω = ξ − λθ, 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 ω 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 commandedynamique de sortie par rapport à des dynamiques négligées (rajouter une dynamique pour lemoteur) et par rapport à des erreurs dans le modèle (1.2) (rajouter un petit frottement au niveaude 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 etd’intégrer pour avoir l’angle θ, on se donne l’angle t 7→ θr(t) pour en déduire le couple ur pardérivation

ur(t) = Jθr(t) +mlg sin θr(t)

avec, par exemple, θr(t) = π(

3(tT

)2 − 2(tT

)3) pour t ∈ [0, T ]. En effet la solution du problèmede Cauchy

θ = ω, Jω = −mlg sin θ + ur(t)

de condition initiale nulle est donnée par

θ(t) = θr(t), ω(t) = ωr(t), t ∈ [0, T ]

avec

ωr(t) =6πT

((t

T

)−(t

T

)2).

On a ainsi comme contrôle de référence (boucle ouverte)

ur(t) =6πJT 2

(1− 2

(t

T

))+mlg sin

(3(t

T

)2

− 2(t

T

)3))

.

(2) Il suffit de considérer le bouclage non-linéaire :

u = J

(d2

dt2θr(t)− σ1(ω − ωr(t))− σ2(θ − θr(t)

)+mgl sin θ

(3) En effet la variable composite ξ = ω + λθ vérifie

ξ = λξ − λ2θ(t) + u(t)/J − (mgl/J) sin θ(t).

Ainsi ddt(ξ − ξ) = λ(ξ − ξ) et donc avec λ < 0, ξ converge vers ξ quand t tend vers +∞.

(4) Le feedback devient alors (remplacer ω par ξ − λθ)

u = J

(d2

dt2θr(t)− σ1(ξ − λθ − ωr(t))− σ2(θ − θr(t)

)+mgl sin θ.

En boucle fermée, on est face à un système avec 3 états (θ, ω, ξ). Le changement de variables

(θ, ω, ξ) 7→ (θ − θr(t)︸ ︷︷ ︸e

, ω − ωr(t)︸ ︷︷ ︸e

, ξ − ω − λθ︸ ︷︷ ︸ξ

)

Journees Nationales de Calcul Formel 2008 page 203

8 PHILIPPE MARTIN & PIERRE ROUCHON

conduit à une structure triangulaire avec ˙ξ = λξ qui tend vers 0. Asymptotiquement ξ = 0 et

donc, pour les deux autres états e et e, on a un oscillateur harmonique amorti : e = −σ1e− σ2e.On en déduit la stabilité asymptotique du système bouclé.

(5) Utiliser le logiciel libre Scilab : http ://www.scilab.org/. Comme couple de frottementon pourra prendre −γθ avec γ > 0 et pouvant dépendre de θ et/ou θ. L’ordre de grandeur deγ sera J/T . On pourra aussi modéliser la dynamique du moteur soit comme un retard pur, soitcomme 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éfiniglobalement sur S1. En fait, il faut remplacer θ − θr par sin(θ − θr) et imposer la dynamiquesuivante pour l’erreur de suivi e = θ − θr : e = −σ1e− σ2 sin e. En effet le bouclage qui conduità cette dynamique de suivi,

u = J

(d2

dt2θr(t)− σ1(ω − ωr(t))− σ2 sin(θ − θr(t)

)+mgl sin θ,

est alors globalement défini pour θ, θr ∈ S1. La dynamique de l’erreur e obéit ainsi à celle d’unpendule amortie : e = −σ1e−σ2 sin e. La convergence vers 0 est quasi-globale mathématiquementet 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 (gainsconstants λ1, λ2 > 0)

˙θ = ω − λ1 sin(θ − θ(t)), ˙ω =

u(t)−mgl sin θ(t)J

− λ2 sin(θ − θ(t))globalement défini et dont la convergence est quasi-globale. En effet, les erreurs d’estimationθ = θ − θ et ω = ω − ω vérifient le système autonome

˙θ = ω − λ1 sin θ, ˙ω = −λ2 sin θ

qui admet comme fonction de Lyapounov V = (ω)2 − λ2 cos θ car V = −λ1λ2 sin2 θ 6 0. Cesystè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 rentrantdans 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 ω parleur estimées

u = J

(d2

dt2θr(t)− σ1(ω − ωr(t))− σ2 sin(θ − θr(t)

)+mgl sin θ.

CHAPITRE 2SYSTÈ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 deBrunovsky. Cette dernière permet un paramétrage explicite de toutes les trajectoires en fonctionsde m fonctions scalaires arbitraires t 7→ y(t) et d’un nombre fini de leurs dérivées. Ces quantitésy, dites sorties de Brunovsky, sont des combinaisons linéaires de x. Elles jouent d’une certainefaçon le rôle d’un potentiel. Elles permettent surtout de calculer très simplement les commandesu pour aller d’un état vers un autre (planification de trajectoire). Elles donnent également le

Journees 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

dtx = f(x, u), 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 3t 7→ (x(t), u(t)) ∈ Rn × Rm qui satisfait identiquement sur un intervalle d’intérieur non vide Ide R les équations (2.1).

Définition 2.2 (commandabilité). Le système (2.1) est dit commandable en temps T > 0, si etseulement si, pour p, q ∈ Rn, il existe une loi horaire [0, T ] 3 t 7→ u(t) ∈ Rm, dite commande enboucle ouverte, qui amène le système de l’état x(0) = p à l’état x(T ) = q, c’est à dire, telle quela 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 untemps T > 0.

D’autres définitions sont possibles : elles correspondent toutes à des variantes plus ou moinssubtiles 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 existeune infinité. Cette étape s’appelle planification de trajectoire : calculer t 7→ u(t) à partir de laconnaissance de f , p et q constitue l’une des questions majeures de l’automatique. Cette questionest loin d’être résolue actuellement.

Très souvent, l’absence de commandabilité est due à l’existence d’intégrales premières nontriviales. Ce sont des observables qui restent constantes le long de toute trajectoire et qui ne sontpas 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 équa-tions de bilan matière et énergie donnent alors les équations différentielles suivantes :

(2.2)x1 = D(xin1 − x1)− k0 exp(−E/RT )x1

x2 = −Dx2 + k0 exp(−E/RT )x1

T = D(T in − T ) + α∆H exp(−E/RT )x1 + u.

Journees 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 ther-miques avec l’extérieur

La cinétique est linéaire du premier ordre, les constantes physiques usuelles (D, xin1 , k0, E, T in,α 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îtl’effet non linéaire essentiel de la loi d’Arrhenius k = k0 exp(−E/RT ) qui relie la constante devitesse 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

dt(x1 + x2) = D(xin1 − x1 − x2).

Ainsi donc la quantité ξ = x1 + x2 vérifie une équation différentielle autonome ξ = D(xin1 − ξ).Donc ξ = xin1 + ξ0 exp(−Dt) où ξ0 est la valeur initiale de ξ. Si, dans la définition 2.2, on prendl’état initial p tel que ξ = x1 + x2 = xin1 et q tel que ξ = x1 + x2 = 0, il n’existe pas decommande qui amène le système de p vers q. En effet, pour toute trajectoire démarrant en un telp, la quantité x1 + x2 reste constante et égale à xin1 . Cette partie non commandable du systèmerepré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’existenced’invariants, i.e., à des combinaisons des variables du système (on pourrait les appeler des obser-vables) et éventuellement du temps, qui sont conservées le long de toute trajectoire. Pour (2.2),il s’agit de (x1 + x2 − xin1 ) exp(Dt) correspondant à ξ0. Nous sommes donc conduits à prolongerla 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 estappelée intégrale première du système (2.1), si elle est constante le long de toute trajectoire dusystè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

dth =

∂h

∂t+∂h

∂xx ≡ 0

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 comman-

dable. 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ériodiquedu temps et indépendante de x. Mais alors la dérivée de h le long des trajectoires du systèmecorrespond à ∂

∂th. Comme elle est nulle, h est une constante, ce qui contredit l’hypothèse. Nousavons montré la proposition suivante

Proposition 2.4. Si le système (2.1) est commandable, alors ses intégrales premières sont triviales.

Journees 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égralepremière non triviale (voir par exemple [47, 26]). L’existence de telles intégrales premières estliée à celle de sous-systèmes différentiels autonomes. D’une façon plus précise si, à u fixé, l’algèbrede Lie

L = Lief,∂(α)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 longueurqu’il est possible de faire à partir de f et de ses dérivées partielles en u. Si cette dernière est dedimension 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 moinsl’un des αi non nuls, est de rang n alors il n’existe pas d’intégrale première non triviale dépendantde x et/ou de t. Le système est alors dit fortement accessible (voir [122]). Nous renvoyons aulivre de Jean-Michel Coron [20] pour des énoncés plus détaillés et en rapport direct avec lacommandabilité.

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× net n×m, respectivement.

2.2.a. Matrice de commandabilité. Supposons que (2.3) admette une intégrale premièreh : 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 lelong d’une trajectoire arbitraire t 7→ (z(t), u(t))

l =∂l

∂t+∂l

∂zz = 0.

Comme z = exp(−tA)Bu, pour toute valeur de z et u on a l’identité suivante :∂l

∂t(t, z) +

∂l

∂z(t, z) exp(−tA)Bu ≡ 0.

En prenant, u = 0, z et t arbitraires, on en déduit (prendre, par exemple, la trajectoire dusystème qui passe par z à l’instant t et dont la commande u est nulle) :

∂l

∂t(t, z) ≡ 0.

Donc nécessairement l est uniquement fonction de z. Ainsi∂l

∂z(z) exp(−tA)B ≡ 0.

En dérivant cette relation par rapport à t, on a,∂l

∂z(z) exp(−tA)AB ≡ 0

card

dt(exp(−tA)) = − exp(−tA)A. Plus généralement, une dérivation à n’importe quel ordre

k > 0 donne∂l

∂z(z) exp(−tA)AkB ≡ 0.

Journees Nationales de Calcul Formel 2008 page 207

12 PHILIPPE MARTIN & PIERRE ROUCHON

En prenant t = 0 on obtient∂l

∂z(z)AkB = 0, ∀ k > 0.

Ainsi le vecteur ∂l/∂z(z) appartient à l’intersection des noyaux à gauche de la famille infiniede matrice (AkB)k>0. Le noyau à gauche de AkB n’est autre que Im(AkB)⊥, l’orthogonal del’image de AkB. Donc

∂l

∂z(z) ∈

⋂k>0

Im(AkB)⊥.

Mais ⋂k>0

Im(AkB)⊥ =(

Im(B) + · · ·+ Im(AkB) + · · ·)⊥

.

La suite d’espace vectoriel Ek = Im(B)+ · · ·+Im(AkB) est une suite croissante pour l’inclusion,Ek ⊂ Ek+1. Si pour un certain k, Ek = Ek+1, cela signifie que Im(Ak+1B) ⊂ Ek, donc A(Ek) ⊂Ek. Mais Im(Ak+2B) = Im(AAk+1B) ⊂ A(Ek+1). Ainsi Im(Ak+2B) ⊂ Ek. On voit donc quepour tout r > 0, Im(Ak+rB) ⊂ Ek, d’où Ek+r = Ek. Ainsi la suite des Ek est une suite desous-espaces vectoriels de Rn emboîtés les uns dans les autres. Cette suite stationne dès qu’ellen’est plus, pour un certain k, strictement croissante. Il suffit donc de ne considérer que ses npremiers termes soit E0, . . ., En−1, car automatiquement En−1 = En+r pour tout r > 0.

En revenant à la suite des noyaux à gauche de AkB, nous voyons que ∂l/∂z(z) dans le noyauà gauche de la suite infinie de matrices (AkB)k>0, est équivalent à ∂l/∂z(z) dans le noyau àgauche de la suite finie de matrices (AkB)06k6n−1

(1).Ainsi, pour tout z, ∂l/∂z(z) appartient au noyau à gauche de la matrice n× (nm),

(2.4) C = (B,AB,A2B, . . . , An−1B)

dite matrice de commandabilité de Kalman. Si C est de rang n, son noyau à gauche est nul, doncl 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 unvecteur w ∈ Rn/0, dans le noyau à gauche de (2.4). En remontant les calculs avec l(z, t) = w′zon voit que λ = 0 le long des trajectoires. En passant aux variables (x, u), on obtient une intégralepremière non triviale = h(t, x) = w′ · exp(−tA)x. Toute trajectoire du système se situe dans unhyperplan orthogonal à w.

En résumé, nous avons démontré la

Proposition 2.5. La matrice de commandabilité

C = (B,AB,A2B, . . . , An−1B)

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 decommandabilité est de rang n. Nous allons voir que la réciproque est vraie. Pour cela, nous avonsbesoin 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 matricecarrée est racine de son polynôme caractéristique. Cela veut dire, A étant de taille n, que An est une combinaisonlinéaire des (Ak)06k6n−1 :

An =

n−1∑k=0

pkAk

où les pk sont définis par det(λIn − A) = λn −∑n−1k=0 pkλ

k. Nous avons préféré un argument plus simple avec lasuite des Ek mais qui a l’avantage de passer au non linéaire et qui correspond au calcul de l’algèbre de Lie decommandabilité.

Journees 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 coor-données x 7→ x est défini par une matrice M inversible d’ordre n : x = Mx. Un bouclagestatique régulier u 7→ u est défini par une matrice N inversible d’ordre m et une autre matriceK, m× n : u = Kx+Nu. C’est un changement de variables sur les commandes paramétré parl’état.

L’ensemble des transformations

(2.5)(x

u

)7−→

(x

u

)=(M 0K N

)(x

u

)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 évidentque ˙x = Ax+ Bu obtenu avec (2.5) est commandable (resp. n’admet pas d’intégrale première).

Les notions de commandabilité et d’intégrale première sont intrinsèques, c’est-à-dire, indépen-dantes des coordonnées avec lesquelles les équations du système sont établies. Si la matrice decommandabilité dans les coordonnées (x, u) est de rang n, la matrice de commandabilité dans lescoordonnées (x, u) sera aussi de rang n. Cette simple remarque conduit au résultat non évidentsuivant :

rang(B,AB, . . . , An−1B) = n⇐⇒ rang(B, AB, . . . , An−1B) = n

où A et B s’obtiennent en écrivant x = Ax+Bu dans les coordonnées (x, u) :

˙x = M−1(AM +BK)x+M−1BNu.

Soit A = M−1(AM + BK) et B = M−1BN . En fait, il est possible d’aller beaucoup plus loinet 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,A2B, . . . , AkB). 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 parchangement 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→ (x, u) du type (2.5) forment un groupe. Ce groupe définit une relation d’équivalenceentre deux systèmes ayant même nombre d’états et même nombre de commandes. La proposi-tion précédente signifie simplement que les indices de commandabilité sont les même pour deuxsystèmes appartenant à la même classe d’équivalence, i.e, le même objet géométrique vu dansdeux repères différents. En fait, on peut montrer que les indices de commandabilité sont les seulsinvariants : 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 setrouvent dans la construction de la forme de Brunovsky ci-dessous (voir aussi [49, 121]).

Journees 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 commandede 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 lesfrottements et en supposant le ressort linéaire de raideur k, on est conduit au modèle suivant :

(2.6)

m1x1 = k(x2 − x1) + u

m2x2 = 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èsparticulier (sortie de Brunovsky). Si au lieu de donner t 7→ u(t) et d’intégrer (2.6) à partirde positions et vitesses initiales, on fixe t 7→ x2(t) = y(t). Alors x1 = (m2/k)y + y et doncu = m1x1 +m2x2 = (m1m2/k)y(4) +(m1 +m2)y. Ainsi on peut écrire le système en faisant jouerà x2 un rôle privilégié :

x1 = (m2/k) y + y

x2 = y

u = (m1m2/k) y(4) +m1 +m2)y.On obtient ainsi un paramétrisation explicite de toutes les trajectoires du système. Les relationspré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, v

p1 , x

p2, v

p2) à l’état q = (xq1, v

q1, x

q2, v

q2) (vi correspond à xi). Comme

x1 = (m2/k) y + y

v1 = (m2/k) y(3) + y

x2 = y

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 ent = 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 à laquestion mais il existe bien d’autres possibilités.

Nous allons voir, avec la forme normale de Brunovsky, qu’une telle correspondance entre y etles 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 seulementsi, la matrice de commandabilité C = (B,AB, . . . , An−1B) est de rang n = dim(x).

La paire (A,B) est dite commandable si le rang de la matrice de commandabilité C est maxi-mum.

Journees Nationales de Calcul Formel 2008 page 210

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 15

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 trajectoiresdu 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 dupivot de Gauss.

Théorème 2.10 (forme de Brunovsky). Si la matrice de commandabilité (B,AB, . . . , An−1B) dusystème x = Ax + Bu est de rang n = dim(x) et si B est de rang m = dim(u), alors ilexiste un changement d’état z = Mx (M matrice inversible n × n) et un bouclage statiquerégulier u = Kz +Nv (N matrice inversible m×m), tels que les équations du système dans lesvariables (z, v) admettent la forme suivante (écriture sous la forme de m équations différentiellesd’ordre > 1) :

(2.7) y(α1)1 = v1, . . . , y(αm)

m = vm

avec comme état z = (y1, y(1)1 , . . . , y

(α1−1)1 , . . . , ym, y

(1)m , . . . , y

(αm−1)m ), les αi étant des entiers

positifs.

Les m quantités yj , qui sont des combinaisons linéaires de l’état x, sont appelées sorties deBrunovsky.

Pour une paire (A,B) commandable, les indices de commandabilité σk sont directement reliésaux 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êmesindices de commandabilité admet la même forme de Brunovsky, ils sont donc équivalents. Cen’est plus vrai si ces deux systèmes ne sont plus commandables avec les mêmes indices de com-mandabilité. 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 dynamiquesautonomes des parties non commandables sont semblables et donc admettent la même formenormale 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−1B) 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 unregroupement 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 telleque les équations (2.3) admettent la structure bloc suivante

xr = Arrxr +Aruxu +Bru

xu = Aurxr +Auuxu +Buu

où Bu est une matrice carrée inversible. Cette partition n’est pas unique, bien sûr. En tirant ude la seconde équation et en reportant dans la première, on obtient

xr = Arrxr +Aruxu +BrB−1u (xu −Aurxr −Auuxu)

xu = Aurxr +Auuxu +Buu.

En regroupant les dérivées dans la première équation, on a

xr −BrB−1u xu = (Arr −BrB−1

u Aur)xr + (Aru −BrB−1u Auu)xu

xu = Aurxr +Auuxu +Buu.

Journees Nationales de Calcul Formel 2008 page 211

16 PHILIPPE MARTIN & PIERRE ROUCHON

Avec une transformation (2.5) définie par

xr = xr −BrB−1u xu, xu = xu, u = Aurxr +Auuxu +Buu,

les équations x = Ax+Bu deviennent˙xr = Arxr + Auxu˙xu = u

où Ar = (Arr −BrB−1u Aur) et Au = (Arr −BrB−1

u Aur)BrB−1u + (Aru−BrB−1

u Auu). Dans cettestructure triangulaire où la commande u n’intervient pas dans la première équation, nous voyonsapparaître un système plus petit d’état xr et de commande xu. Cela nous permet de réduire ladimension de x et de raisonner par récurrence.

Invariance. Un simple calcul par blocs nous montre que si (B,AB, . . . , An−1B) est de rang nalors (Au, ArAu, . . . , An−m−1

r Au) est de rang n − m. Du système de taille n on passe ainsi ausystème de taille réduite n−m, ˙xr = Arxr + Auxu (xr l’état, xu la commande).

Récurrence sur le nombre d’états. Supposons donc, le résultat vrai pour toutes les dimensionsd’état inférieures ou égales à n− 1. Considérons un système x = Ax + Bu avec n = dim(x), samatrice 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),

xr = Arxr +Auxuxu = u

avec (Au, ArAu, . . . , An−m−1r Au) de rang n −m < n, où dim(u) = dim(xu) = m et dim(xr) =

n−m (les ˜ ont été enlevés pour alléger les notations). Notons m le rang de Au. Comme m 6 m,un changement de variable sur xu, (xu, xu) = Pxu avec P inversible, permet d’écrire le systèmesous la forme

(2.8)xr = Arxr +Auxuxu = u˙xu = u

avec (u, u) = Pu, dim(xu) = m et Au de rangm. Comme le rang de la matrice de commandabilitéde xr = Arxr +Auxu (xr est l’état et xu la commande) est égal à n−m = dim(xr), l’hypothèsede récurrence assure l’existence d’un changement de variable xr = Mz et d’un bouclage statiquerégulier xu = Kz +Nv (v est la nouvelle commande ici) mettant ce sous système sous forme deBrunovsky. Alors le changement d’état (xr, xu, xu) défini par xr

xuxu

=

M 0 0K N 00 0 1

z

v

xu

et le bouclage statique régulier sur (u, u)

u = KM−1(Arxr +Auxu) +Nv, u = v

transforme alors le système (2.8) sous forme de Brunovsky avec v = (v, v) comme nouvellecommande.

Démonstration du théorème 2.9. La commandabilité est indépendante du choix des variablessur x et d’un bouclage statique régulier sur u. On peut donc supposer le système sous sa formede Brunovsky. Dans ces coordonnées, aller d’un état à un autre est élémentaire. On se ramèneà étudier la commandabilité du système scalaire y(α) = v. L’état initial (ya, . . . , y

(α−1)a ) et l’état

final (yb, . . . , y(α−1)b ) 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

Journees 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éespar

ϕ(r)(0) = y(r)a , ϕ(r)(T ) = y

(r)b , 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’unbouclage statique régulier u = Kz +Nv et d’un changement d’état x = Mz se ramenant àla forme de Brunovsky y(α) = v et z = (y, . . . , y(α−1)) (par abus de notation y = (y1, . . . , ym)et y(α) = (y(α1)

1 , . . . , y(αm)m )). Ainsi

x = M(y, . . . , y(α−1)), u = L(y, . . . , y(α))

où la matrice L est construite avec K, N etM . Lorsque l’on considère une fonction régulièrearbitraire 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étrisentde cette façon, grâce à m fonctions scalaires arbitraires ϕ1(t), . . . , ϕm(t) et un nombre finide 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 msous-systèmes indépendants y(αi)

i = vi. Soient αi valeurs propres, λ1, . . . , λαi , correspondantau 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∏k=1

(X − λk) = Xαi − s1Xαi−1 + s2Xαi−2 + · · ·+ (−1)αisαi

Alors, dès que les λk sont à partie réelle strictement négative, le bouclage

vi = s1y(αi−1)i − s2y(αi−2)

i + · · ·+ (−1)αi−1sαiyi

assure la stabilité de y(αi)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 matriceréelle F n× n, il existe une matrice m× n, K (non nécessairement unique), telle que le spectrede A+BK coïncide avec celui de F .

De retour dans les coordonnées de modélisation, x = Ax+Bu, la planification de trajectoirenous donne une trajectoire du système (par exemple la trajectoire que doit suivre une fusée audécollage, la manœuvre d’atterrissage d’un avion, . . . ). Nous la notons t 7→ (xr(t), ur(t)) avecl’indice r pour référence. En pratique, et à cause des aléas de l’existence, il convient, commel’illustre la figure 2.4, de corriger en fonction de l’écart ∆x, la commande de référence ur (il estrare de piloter un système en aveugle, uniquement en sachant d’où l’on part et où l’on veutaller). Le problème est donc de calculer la correction ∆u à partir de ∆x de façon à revenir surla trajectoire de référence. On peut alors utiliser un bouclage stabilisant en plaçant les pôles surla forme de Brunovsky.

Journees 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 xr = Axr+Bur, on obtient, par différence avec x = Ax+Bul’équation d’erreur suivante

d

dt(∆x) = A ∆x+B ∆u

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 (placementde 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 despoints d’équilibres hyperboliques garantie que toute erreur assez faible (petite incertitude sur Aet B, effets non linéaires faibles, erreurs de mesure, erreurs de troncature dues à la discrétisationde la loi de contrôle obtenue, . . . ) ne sera pas amplifiée au cours du temps : x restera ainsi prochede xr.

Nous terminerons par une constatation d’ordre expérimental : lorsque le modèle dynamiquex = 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 comman-dable. Cet état de fait n’est vraisemblablement pas dû entièrement au hasard : en physique, lesgrandeurs qui admettent une signification intrinsèque, i.e., les grandeurs physiques, sont cellesqui ne dépendent pas du repère de l’observateur. En automatique, le passage d’un repère à unautre correspond, entre autre, à une transformation de type (2.5). Il est alors clair que le « sous-espace » engendré par les sorties de Brunovsky est un invariant. Il a donc toutes les chancesd’avoir un sens physique immédiat. De plus les sorties de Brunovsky admettent un équivalentnon linéaire pour de nombreux systèmes physiques. On les appelle alors sorties plates (voir lechapitre 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 deuxmasses. Ainsi (2.6) devient (a > 0 est le coefficient de frottement)

m1x1 = k(x2 − x1) + a(x2 − x1) + u

m2x2 = k(x1 − x2) + a(x1 − x2).

Montrer que le système reste commandable et calculer sa sortie de Brunovsky.

Journees 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èmelinéaire x = Ax+Bu commandable sous forme de Brunovsky peut être prolongée de la manièresuivante. Au lieu de considérer des transformations du type[

x

u

]7−→

[Mx

Kx+Nu

]avec M et N matrices inversibles, considérons des transformations inversibles plus générales etnon linéaires suivantes [

x

u

]7−→

[z = φ(x)v = k(x, u)

]où φ est un difféomorphisme et à x bloqué, u 7→ k(x, u) également. Il est donc logique deconsidérer maintenant les systèmes non linéaires de la forme x = f(x, u) et leur classificationmodulo le groupe de transformations ci-dessus. La relation d’équivalence qui en résulte est ap-pelée équivalence par bouclage statique régulier et changement de coordonnées (d’une façon plusabrégée équivalence statique). Décider si deux systèmes avec les mêmes nombres d’états et descommandes, x = f(x, u) et z = g(z, v), (f , g régulières) sont équivalents, est un problème degéométrie très compliquée et largement ouvert. En revanche, il existe une caractérisation expli-cite des systèmes non linéaires équivalents aux systèmes linéaires commandables : ces systèmessont 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 issuesde la physique x = f(x, u) sont en général non linéaires dans les coordonnées de modélisation xet u. La question « Existe-t-il des coordonnées, z = φ(x) et v = k(x, u), qui rendent les équationslinéaires, z = Az+Bv avec (A,B) commandable ? » est alors d’importance. En effet, une réponsepositive signifie que le système est faussement non linéaire. Il suffit de changer de « repère » pourque 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

(2.10) x = f(x, u)

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 comman-dable z = Az +Bv, alors

(x, u) = (φ(z), k(z, v)) et u =∂k

∂z(Az +Bv) +

∂k

∂vv

Journees Nationales de Calcul Formel 2008 page 215

20 PHILIPPE MARTIN & PIERRE ROUCHON

transforme (2.9) en

(2.11) z = Az +Bv, 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 comman-

dable peut s’écrire sous la forme (2.11) avec (A,B) commandable, (cf. forme de Brunovsky) ilexiste 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)

∂φ

∂z(z, v)(Az +Bv) +

∂φ

∂vv = f(φ(z, v), ψ(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 toujourssupposer 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 transformationsx = φ(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 crois-santes 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 sontinvariants 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 constantautour 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 rapportau 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, . . . , AiB), les conditions sur les Ei sont donc nécessaires. Leur coté suffisantrepose essentiellement sur le théorème de Frobenius [39]. Si les Ei vérifient les conditions duthé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, xi pour i > σ0 ne dépend pas de lacommande 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

xi = ui, i = 1, . . . , σ0

xi = fi(x), i = σ0 + 1, . . . , n.

Journees Nationales de Calcul Formel 2008 page 216

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 21

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

xi = ui, i = 1, . . . , σ0

xi = fi(x1, . . . , xn), i = σ0 + 1, . . . , σ1

xi = 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 decoordonnées en remplaçant les σ1−σ0 premières composantes de x par (fσ0+1, . . . , fσ1). Dans cesnouvelles coordonnées et après bouclage statique régulier u 7→ β(x)u avec β(x) inversible bienchoisi, nous avons la structure suivante (les notations avec u, x et f sont conservées) :

xi = ui, i = 1, . . . , σ0

xi = xi−σ0 , i = σ0 + 1, . . . , σ1

xi = 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

xi = xi−σ0 , i = σ0 + 1, . . . , σ1

xi = fi(xσ0+1, . . . , xn), i = σ1 + 1, . . . , n

avec (x1, . . . , xσ1−σ0) comme commande. Comme les distributions Ei associées à ce systèmeré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 estpossible 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 cesystème est linéarisable. Quelle est la sortie de Brunovsky du système linéaire équivalent ? Quese 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érentiellesrelatives à 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 lesystème.

2.3.c. Bouclage dynamique. Le lemme 2.14 est trompeur. Il semble suggérer que le faitd’étendre un système en rajoutant des dérivées de la commande dans l’état ne rajoute rienpour la linéarisation. Ceci est vrai si on rajoute le même nombre d’intégrateurs sur toutes lescommandes (« prolongation totale »). Par contre, des nombres différents peuvent permettre degagner 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 θ, z = u1 cos θ − 1, u1 = u1, θ = u2

Journees Nationales de Calcul Formel 2008 page 217

22 PHILIPPE MARTIN & PIERRE ROUCHON

de commande (u1, u2) le soit. Ce fait n’est nullement contraire au lemme 2.14 puisque seulel’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 dimen-sion 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, sontdes compensateurs particuliers. Ils ne permettent pas de linéariser certains systèmes comme celuici (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 u(α1)1 = u1,

u(α2)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éo-métrie). Nous ne savons pas s’il existe des systèmes non linéarisables par bouclage dynamiqueendogè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 bouclagedynamique, le sont par bouclage dynamique endogène.

CHAPITRE 3SYSTÈ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 formentune 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 naturestatique (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 fonctionscalaire arbitraire du temps t 7→ y(t) supposée assez régulière (C2 par morceaux suffit) grâce auxformules explicites suivantes

θ = y, u = Jy +mgl sin y.

Journees 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éca-nique à 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éra-tion en général délicate explicitement), il suffit d’imposer la loi horaire sur les configurations etd’en déduire les forces simplement en dérivant deux fois. Pour le bras de robot, la force est notrecommande en couple, et la configuration est donnée par l’angle θ. Nous dirons que ce systèmemé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. Unsystème est alors vu comme une extension différentielle de degré fini de transcendance différen-tielle. 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 extensiondifférentielle transcendante pure. Les générateurs d’une telle extension forment alors la sortieplate. L’avantage d’une telle approche est sa capacité à traiter les systèmes mixtes, d’équationsdiffé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, decommande 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. Aucours de cette élimination, nous obtenons au passage la fonction h donnant y en fonction de xet u. Ainsi, il est équivalent de se donner (f, h) ou (ϕ, α). Le problème fondamental est alors lesuivant : étant donnée la fonction f , i.e. les équations issues de la physique du système, existe-t-ilh 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 sup-posé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], pourl’équation de Monge du second ordre

d2y

d2x= F

(x, y, z,

dy

dx,dz

dx

),

un système différentiel sous-déterminé (une équation différentielle ordinaire en x reliant deuxfonctions de x, y(x) et z(x)). Hilbert parle alors de « solution sans intégrale » (« integrallosAuflösung »). Hilbert montre aussi que cette question est liée à la classification des systèmes dif-férentiels sous-déterminés via un groupe de transformations, dites « inversibles sans intégrale »

Journees Nationales de Calcul Formel 2008 page 219

24 PHILIPPE MARTIN & PIERRE ROUCHON

(« umkehrbar integrallos »). Hilbert note une analogie suggestive avec les transformations bira-tionnelles 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 descalculs sur les systèmes de Pfaff (le drapeau) permettent de caractériser les équations de Mongedu second ordre qui admettent une solution générale sans intégrale. Il en déduit une descriptionexplicite de toutes les courbes de l’espace Euclidien R3 dont le rapport de la courbure et latorsion est constant. Les résultats d’Élie Cartan sont complets pour les systèmes de Pfaff decodimension 2, c’est à dire les systèmes différentiels sous-déterminés de codimension 1, i.e., nefaisant intervenir qu’une seule fonction arbitraire (pour nous ne faisant intervenir essentiellementqu’une seule commande). Élie Cartan [12] suggère aussi la notion d’équivalence absolue mais nela 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 notreconnaissance, 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 com-mande, des systèmes différentiels ordinaires sous-déterminés résolubles sans intégration. Ce cadrea été pour la première fois proposé en 1993 dans [28]. Il est relié à [3, 96]. D’autres approchesreprenant 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 sys-tè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èmesdynamiques 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. Toutau plus peut-on espérer avoir des critères qui permettent de montrer que certains systèmes nesont pas plats (voir le critère des variétés réglées ci-dessous). Ces critères auront alors un rôleanalogue à celui du théorème de Morales-Ramis [76] qui donne la non-intégrabilité des certainssystè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 C1, 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

dth(x(t)) =

∂h

∂x(x(t)) · x(t) =

∂h

∂x(x(t)) · f(x(t)) ∀ t > 0.

Pour cette raison, la dérivée totale, i.e., l’application

x 7−→ ∂h

∂x(x) · f(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é

(3.2) x = f(x, u),

Journees Nationales de Calcul Formel 2008 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 chaqueu ∈ 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 obtientalors 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 classiquen’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 » solutionset pour lequel le fait de considérer u ou v = u comme entrée ne change rien. Pour cela nousallons 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 × Utelle 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), . . . )

prenant ses valeurs dans X × U × R∞m , où R∞m = Rm × Rm × . . . représente le produit infinidénombrable de Rm. Un point de R∞m est de la forme (u1, u2, . . . ) avec ui ∈ Rm. Cette applicationsatisfait

ξ(t) =(f(x(t), u(t)), u(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 devecteurs.

Avec une telle construction, le système (3.2) est défini par la donnée d’un espace X ×U ×R∞mest d’un champ de vecteurs F sur cet espace. Comme pour un système dynamique classique sanscommande, 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

∂x· f(x, u) +

∂h

∂u· u1 +

∂h

∂u1· u2 + · · · .

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 sepasse 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 infinisU0×U1× . . . d’ouverts de Rm, qu’une fonction de R∞m à valeur dans R est régulière si elle dépend

Journees 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 → R∞nest 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 vecteursne sont plus valables.

Cependant, les notions de sous-variétés de R∞m et aussi de variétés de dimension infinie existentdans ce cadre. Il suffit de recopier les définitions de la dimension finie, en utilisant coordonnéeslocales, cartes et atlas. Un lecteur non intéressé par ces développements techniques ne perdrapas 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éesur 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 trajectoireest alors un application régulière t 7→ ξ(t) telle que ξ(t) = F (ξ(t)).

Nous avons vu qu’une telle définition permet de prendre en compte les systèmes « tradition-nels » x = f(x, u). Elle comporte une différence essentielle : la notion d’état n’existe plus ici. Eneffet

(3.3) x = f(x, u), (x, u) ∈ X × U ⊂ Rn × Rm

et

(3.4) x = f(x, u), 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 bou-clage dynamique ne préserve pas la dimension de l’état. Cependant le nombre de commande estpréservé.

Exemple 3.2 (le système trivial). Le système trivial (R∞m , Fm), avec les coordonnées (y, y1, y2, . . . )et le champs de vecteur

Fm(y, y1, y2, . . . ) = (y1, y2, y3, . . . )

décrit n’importe quel système « traditionnel » composé de m chaînes d’intégrateurs de longueursarbitraires (cf. la forme normale de Brunovski des systèmes linéaires commandables), et en par-ticulier 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 queles notions d’équivalence et de platitude y sont particulièrement naturelles et simples à définir.

Journees 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érentielleclassique, i.e., d’un système différentiel ordinaire déterminé avec autant de variables que d’équa-tions. Dans le cas d’un système x = f(x, u), le système devient sous-déterminé, il comporte plusde 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. Pardéfinition, une diffiété est une paire (M, CTM) où M est une variété régulière, de dimension finieou infinie, est CTM une distribution (dite de Cartan) involutive sur M, i.e., le crochet de Lie dedeux champs de vecteurs appartenant à CTM reste dans CTM. La dimension de CTM est égaleau nombre de variables indépendantes, i.e., au nombre de dérivation. Comme nous considéronsles systèmes gouvernés par des équations différentielles ordinaires, nous utilisons des diffiétés avecdes distributions de Cartan de dimension 1.

3.1.b. Équivalence de systèmes. Nous définissons ici une relation d’équivalence en formali-sant l’idée que deux systèmes sont équivalents s’il existe une transformation inversible qui échangeleur trajectoires. Comme nous le verrons plus loin la pertinence d’une telle d’équivalence vientdu 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 Rappelonsque, 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.,

∀ ξ, ξ(t) = F (ξ(t)),

Alors la composée t 7→ ζ(t) = Ψ(ξ(t)) satisfait

ζ(t) =∂Ψ∂ξ

(ξ(t)) · ξ(t) =∂Ψ∂ξ

(ξ(t)) · F (ξ(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ζ(t) = G(Ψ(ξ(t)) = G(ζ(t)),

signifie que t 7→ ζ(t) = Ψ(ξ(t)) est une trajectoire de (N, G). Si de plus Ψ admet une applicationinverse régulière Φ alors F,G sont également Φ-conjugués. Il existe alors une correspondanceentre 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 seulementsi, 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 ouvertdense de M×N.

Si M et N ont la même dimension finie, les systèmes sont équivalents à cause du théorème deredressement (avec des conditions restrictives évidentes sur les point critiques des deux champsde vecteurs). Ce n’est plus le cas en dimension infinie.

Journees 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 deuxsystèmes

(X × U × R∞m , F ) et (Y × V × R∞s , G)

décrivant les dynamiques

x = f(x, u), (x, u) ∈ X × U ⊂ Rn × Rm(3.5)

y = g(y, v), (y, v) ∈ Y × V ⊂ Rr × Rs.(3.6)

Les champs de vecteurs F,G sont définis par

F (x, u, u1, . . . ) = (f(x, u), u1, u2, . . . )

G(y, v, v1, . . . ) = (g(y, v), v1, v2, . . . ).

Si ces deux systèmes sont équivalents, la transformation endogène Ψ prend la forme suivante

Ψ(x, u, u1, . . . ) = (ψ(x, u), β(x, u), β(x, u), . . . ).

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 enfonction de x, u. De même, l’inverse Φ de Ψ prend la forme

Φ(y, v, v1, . . . ) = (ϕ(y, v), α(y, v), α(y, v), . . . ).

Comme Ψ et Φ sont inverses l’une de l’autre, nous avons

ψ(ϕ(y, v), α(y, v)

)= y

β(ϕ(y, v), α(y, v)

)= v

etϕ(ψ(x, u), β(x, u)

)= x

α(ψ(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, v1, . . . , vk), i.e., une troncature de G pour un entier k assez grand. Inver-sement,

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

y1 = −ξ sin θ, y2 = ξ cos θ − 1,

où ξ et θ sont les commandes. En effet, avec

X := (x, z, x, z, θ, θ)

U := (u1, u2)et

Y := (y1, y2, y1, y2)

V := (ξ, θ)

Journees Nationales de Calcul Formel 2008 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 lesapplications Y = ψ(X,U) et V = β(X,U) par

ψ(X,U) :=

x− ε sin θz + ε cos θx− εθ cos θz − εθ sin θ

et β(X,U) :=(u1 − εθ2

θ

)

pour obtenir la transformation endogène Ψ. La transformation inverse Φ est alors engendrée parX = ϕ(Y, V ) et U = α(Y, V ) comme suit :

ϕ(Y, V ) :=

y1 + ε sin θy2 − ε cos θy1 + εθ cos θy2 − εθ sin θ

θ

θ

et α(Y, V ) :=

(ξ + εθ2

θ

)

Une importante propriété des transformations endogènes est qu’elles préservent le nombre decommandes.

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épartest 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, CTM) et (N, CTN), on dit qu’une application régulière Ψ d’unouvert de M vers N est Lie-Bäcklund ou un un C-morphisme si son application tangente TΨsatisfait TΦ(CTM) ⊂ CTN. Si de plus Ψ admet une inverse régulière Φ telle que TΨ(CTN) ⊂CTM, alors Ψ est un isomorphisme de Lie-Bäcklund ou un C isomorphisme. Lorsqu’un telisomorphisme existe, les diffiétés sont dites équivalentes. Une transformation endogène n’est doncqu’un isomorphisme spécial de Lie-Bäcklund qui préserve le paramétrage en temps des courbesintégrales. Il est possible de définir un concept plus général, l’équivalence orbitale [28, 25] avecles 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 équivalenten p (resp. équivalent) à un système trivial.

Journees 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 endo-gène Ψ prend la forme

(3.7) Ψ(x, u, u1, . . . ) = (h(x, u), h(x, u), h(x, u), . . . ).

En d’autres termes, Ψ est le prolongement infini de l’application h. L’inverse Φ de Ψ prend laforme

Ψ(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., riend’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 sousforme triviale. Le premier bloc des composantes de Ψ, i.e., l’application h dans (3.7), est appeléesortie 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 nombrede 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èsque γ est un difféomorphisme régulier. Pour les systèmes à une seule commande, i.e., une sortieplate scalaire (s = m = 1), il est facile de démontrer de l’on passe d’une sortie plate à une autrepar un simple changement de variable purement statique. Le cas multi-variable est nettementplus complexe. Par exemple pour s = m = 2, il est facile de voir que si (y1, y2) est une sortieplate alors (y1, y2) = (y1, y2 + γ(y(r)

1 )) 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 deplanification et de bouclage (cf. ce qui suit) les plus simples. A ce niveau le sens physique etsurtout 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’inversede Φ 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 θ + y1 cos θ = 0.

Journees Nationales de Calcul Formel 2008 page 226

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 31

Nous résolvons directement x, z, θ,

x = y1 ± εy1√

y21 + (y2 + 1)2

z = y2 ± ε(y2 + 1)√

y21 + (y2 + 1)2

θ = arctan(y2 + 1/y1) mod π.

Il suffit de différentier pour avoir x, z, θ, u en fonctions des dérivées de y. Noter que la seulesingularité est y2

1 + (y2 + 1)2 = 0 ; elle est liée au deux branches de solutions.

3.1.d. Application à la planification de trajectoires. Nous illustrons maintenant commentla platitude peut être utilisée pour résoudre des problèmes de commande. Soit un système nonlinéaire

x = f(x, u) x ∈ Rn, u ∈ Rmavec 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épartet un état d’arrivée. Nous supposons la sortie plate (référence) donnée yi, i = 1, . . . ,m par

(3.8) yi(t) :=∑j

Aijλj(t),

où les λj(t), j = 1, . . . , N sont des fonctions de base. Nous réduisons le problème à trouver unefonction 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 unsystème plat ce problème est très simple. Il suffit de calculer, au départ et à l’arrivée, la sortieplate et ses dérivées à partir des états de départ et d’arrivée. Ensuite les coefficients Aij vérifientles contraintes suivantes :

(3.9)

yi(τ0) =∑

j Aijλj(τ0) yi(τf ) =∑

j Aijλj(τf )...

...y

(q)i (τ0) =

∑j Aijλ

(q)j (τ0) y

(q)i (τf ) =

∑j Aijλ

(q)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 sortieplate le cas mono-dimensionnel. Notons Λ(t) la matrice q + 1 par N d’élément Λij(t) = λ

(i)j (t)

et posons

(3.10)

y0 = (y1(τ0), . . . , y(q)1 (τ0))

yf = (y1(τf ), . . . , y(q)1 (τf ))

y = (y0, yf ).

Alors la contrainte dans l’équation (3.9) s’écrit

(3.11) y =(

Λ(τ0)Λ(τf )

)A =: ΠA.

Journees 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 conditionest que la matrice Π soit de rang plein pour que (3.11) ait toujours une solution. Cela signifieque 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èbrelinéaire élémentaire.

3.1.e. Planification sous contraintes. Nous cherchons maintenant une trajectoire allant de avers 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é ent = 0 et T et surtout vérifiant ∀ t ∈ [0, T ], K(y, . . . , y(ν))(t) 6 0 pour un certain ν et une fonctionK 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. Supposonsaussi qu’un mouvement quasi-statique satisfaisant les contraintes soient possible : il existe unchemin (pas une trajectoire) [0, 1] 3 σ 7→ Y (σ) tel que Y (0) et Y (1) correspondent aux équilibresde 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 etdiηdsi (0, 1) = 0 pour i = 1, . . . ,max(q, ν).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 commeceux 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 causedes contraintes non holonomes la méthode précédente ne marche plus : il n’est plus possible demettre les dérivées de y à zéro car elles ne correspondent plus à des dérivées en temps mais desdérivées en longueur d’arc. Cependant, plusieurs expériences numériques montrent clairementl’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, nousavons toujours supposé que la transformation endogène

Ψ(x, u, u1, . . . ) :=(h(x, u), h(x, u), h(x, u), . . .

)engendrée par la sortie plate y = h(x, u) est partout définie, régulière et inversible de sorte qu’ilest 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 depiloter de système. Comme φ n’est pas définie en un tel point, les calculs précédents deviennentcaduques. Une façon de contourner le problème est d’éclater la singularité en considérant destrajectoires 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écessiteune étude détaillée et au cas par cas de la singularité. Nous allons simplement illustrer cette idéesur un exemple simple. Nous renvoyons le lecteur aux exemples de robots mobiles avec ou sansremorques [111, 112, 30] et à la construction d’une trajectoire de référence pour retourner lependule sphérique du robot 2kπ [55].

Journees Nationales de Calcul Formel 2008 page 228

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 33

Exemple 3.13. Considérons la dynamique plate

x1 = u1, x2 = u2u1, x3 = x2u1,

avec la sortie plate y := (x1, x3). Alors dès que u1 = 0, i.e., y1 = 0 la transformation endogènedéfinie avec la sortie plate est singulière et son inverse

(y, y, y)φ7−→ (x1, x2, x3, u1, u2) =

(y1,

y2

y1, y2, y1,

y2y1 − y1y2

y31

),

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

y2(t)y1(t)

=

dp

(σ(t)

) · σ(t)

σ(t)et

y2y1 − y1y2

y31

=

d2p

dσ2

(σ(t)

) · σ3(t)

σ3(t).

Ainsi, nous pouvons prolonger t 7→ φ(y(t), y(t), y(t)) partout en temps avec

t 7−→(σ(t),

dp

(σ(t)

), p(σ(t)), σ(t),

d2p

dσ2

(σ(t)

)).

La planification de trajectoire se fait alors de la même façon que précédemment : en effet, lesfonctions σ 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

x1 = u1, x2 = u2u1, x3 = x2u1,

sont linéaires en u1 ; la transformation t 7→ t = σ(t) et u1 7→ u1 = u1/σ(t) où seule le temps t etla 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 esttrès naturelle : c’est essentiellement une correspondance entre les trajectoires fondée sur unpoint de vue boucle ouverte. Nous allons maintenant aborder la boucle fermée en interprétantl’équivalence en termes de bouclage. Pour cela considérons deux dynamiques

x = f(x, u), (x, u) ∈ X × U ⊂ Rn × Rmy = 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∞s , G), où F et G sont définis par

F (x, u, u1, . . . ) := (f(x, u), u1, u2, . . . )

G(y, v, v1, . . . ) := (g(y, v), v1, v2, . . . ).

Supposons maintenant que ces deux systèmes soient équivalents, i.e., ils ont les mêmes trajec-toires. Est-ce que cela implique que nous pouvons aller du système x = f(x, u) au systèmey = g(y, v) par un bouclage (dynamique éventuellement),

z = a(x, z, v), z ∈ Z ⊂ Rqu = κ(x, z, v),

et vice versa ? La question peut paraître stupide au premier abord puisque un bouclage ne peutqu’augmenter la dimension de l’état du système. Cependant, nous pouvons lui donner un sens sinous acceptons de travailler « à des intégrateurs purs près » (rappelons que cela ne change pasd’après la définition 3.1 le système).

Journees 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 = v1, v1 = v2, . . . , 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, u1 = u2, . . . , uν = w

pour un entier ν assez grand.

Démonstration [61, 31]. Notons F et G les champs de vecteurs infinis représentant les deuxsystèmes. L’équivalence signifie qu’il existe une application inversible

Φ(y, v) = (ϕ(y, v), α(y, v), α(y, v), . . . )

telle que

(3.12) F (Φ(y, v)) = DΦ(y, v).G(y, v).

Posons y := (y, v, v1, . . . , vµ) et w := vµ+1. Pour µ assez grand, ϕ (resp. α) dépend uniquementde y (resp. de y et w). Avec ces notations, Φ s’écrit

Φ(y, w) = (ϕ(y), α(y, w), α(y, w), . . . ),

et l’équation (3.12) implique en particulier

(3.13) f(ϕ(y), α(y, w)) = Dϕ(y) · g(y, w),

où g := (g, v1, . . . , vk). Comme Φ est inversible, ϕ est de rang plein et donc peut être complétéepar une application π pour obtenir une changement de coordonnées

y 7−→ φ(y) = (ϕ(y), π(y)).

Considérons maintenant le bouclage dynamique

u = α(φ−1(x, z), w))

z = Dπ(φ−1(x, z)) · g(φ−1(x, z), w)),

qui transforme x = f(x, u) en(x

z

)= f(x, z, w) :=

(f(x, α(φ−1(x, z), w))

Dπ(φ−1(x, z)) · g(φ−1(x, z), w))

).

Utilisant (3.13), nous avons

f(φ(y), w

)=(f(ϕ(y), α(y, w)

)Dπ(y) · g(y, w)

)=(Dϕ(y)Dπ(y)

)· g(y, w)

= Dφ(y) · g(y, w).

Ainsi f et g sont φ-conjugués, ce qui termine la preuve. Un échange des rôles entre f et g conduitau bouclage dans l’autre sens.

Comme un système plat est équivalent à un système trivial, on obtient immédiatement lethéorème suivant :

Corollaire 3.15. Une dynamique plate est linéarisable par bouclage (dynamique) et changementde coordonnées.

Journees Nationales de Calcul Formel 2008 page 230

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 35

Remarque 3.16. Comme le montre la preuve du théorème ci-dessus, de nombreux bouclages réa-lisant l’équivalence sont possibles, autant que de fonctions π. Noter que tous ces bouclages nesont 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 avecl’algorithme d’extension dynamique se trouve dans [63]. Noter enfin qu’il est souvent possiblede construire, pour les systèmes plats, des bouclages dits quasi-statiques. Ils ne rajoutent pasd’état supplémentaire et permettent de linéariser la dynamique sans nécessairement passer parune 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 dyna-mique

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

y(4)1 = v1, y

(4)2 = 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

(x, z, θ, x, z, θ, ξ, ξ) 7−→ (y, y, y, y(3)).

La seule singularité de ce bouclage est quand ξ = 0, c’est-à-dire y21 + (y2 + 1)2 = 0 (l’avion est

en chute libre). Notons enfin que l’avion à décollage vertical n’est pas linéarisable par bouclagestatique : 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

(3.14)x = f(x, κ(x, z, w))

z = a(x, z, w).

s’écrit, à un changement de coordonnées près,

(3.15) y = g(y, v), v = v1, . . . , 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)

Journees 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 dynamiqueen 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 certainsens « engendrées » par les variables originales x, u (voir [61, 64] pour plus de détails sur cesbouclages).

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 quasi-statiques 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 seulementsi, x = f(x, u) peut être transformé par bouclage endogène et changement de coordonnées en

(3.16) y = g(y, v), v = v1, . . . , 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 bouclagedynamique 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 dyna-mique 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)

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 sontpréservées par l’ajout d’intégrateurs purs et les changements de coordonnées, en particulier lacommandabilité.

Un bouclage endogène est réellement « réversible », à des intégrateurs purs près. Il est im-portant de mentionner qu’un bouclage qui est inversible dans la terminologie standard — maispeut-ê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 bouclefermée x = v, z = v n’est plus commandable, ce qui est impossible à changer par n’importe quelautre bouclage !

Journees 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 tra-jectoires : étant donnée une dynamique x = f(x, u), nous cherchons un contrôleur capable desuivre 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 dela trajectoire de référence.

Si la dynamique admet comme sortie plate y = h(x, u), nous pouvons utiliser le corollaire3.15 pour la transformer par bouclage dynamique (endogène) et changement de coordonnées eny(µ+1) = w. Avec

v := y(µ+1)r (t)−K∆y

et une matrice gain K dont les valeurs propres sont à parties réelles positives, nous obtenons unedynamique de l’erreur asymptotiquement stable

∆y(µ+1) = −K∆y,

où yr(t) := (xr(t), ur(t))et y := (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, y1, . . . ). De la preuvedu théorème 3.14, cela signifie que

x = ϕ(yr(t) + ∆y)

= ϕ(yr(t)) +Rϕ(yr(t),∆y) ·∆y= xr(t) +Rϕ(yr(t),∆y) ·∆y

et

u = α(yr(t) + ∆y,−K∆y)

= α(yr(t)) +Rα(y(µ+1)r (t),∆y) ·

(∆y−K∆y

)= ur(t) +Rα(yr(t), y(µ+1)

r (t),∆y,∆w) ·(

∆y−K∆y

),

où nous avons utilisé le résultat classique de factorisation

Rϕ(Y,∆Y ) :=∫ 1

0Dϕ(Y + t∆Y )dt

Rα(Y,w,∆Y,∆w) :=∫ 1

0Dα(Y + t∆Y,w + t∆w)dt.

Comme ∆y → 0 quand t → ∞, cela signifie que x → xr(t) et u → ur(t). Il est clair qu’un telalgorithme 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 Φ etdonc de la sortie plate.

Nous terminons cette section par quelques commentaires sur l’utilisation de la linéarisationpar 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’ondésire stabiliser un point d’équilibre. L’application brutale d’un bouclage linéarisant sans plani-fication 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 »

Journees Nationales de Calcul Formel 2008 page 233

38 PHILIPPE MARTIN & PIERRE ROUCHON

ramenant progressivement le système à l’équilibre — i.e., satisfaisant certaines contraintes surl’é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 trajectoireest 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édercomme 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). Lesystème en boucle fermée s’écrit

x′1 = ξ, x′2 = u2ξ, x′3 = x2ξ ξ′ = v1.

avec ′ pour d/dσ. Une formulation équivalente est

x′′1 = v1, x′′3 = u2ξ2 + x2v1.

Pour ξ loin de zéro, le bouclage statique u2 = (v2 − x2v1)/ξ2 linéarise la dynamique,

x′′1 = v1, x′′3 = 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 − σ)

v2 =d2p

dσ2− signe(σ)a1

(x2ξ − dp

)− a2(x3 − p)

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éthodesystématique pour construire une sortie plate. La situation est un peu analogue à celle desfonctions de Lyapounov ou des intégrales premières uniformes pour un système dynamique. Ellessont très utiles à la fois d’un point de vue théorique et pratique bien qu’elles ne soient passystématiquement calculables.

La principale difficulté dans le calcul d’une sortie plate y = h(x, u, . . . , u(r)) réside dans sadépendance par rapport aux dérivées en u d’ordre r arbitrairement grand. Savoir si cet ordre radmet 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 lasuite, nous dirons qu’un système est r-plat s’il admet une sortie plate dépendant de u dérivé auplus 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 :

x(α1)1 = u1, x

(α2)2 = u2, x3 = u1u2

Journees Nationales de Calcul Formel 2008 page 234

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 39

avec α1 > 0 et α2 > 0. Il admet comme sortie plate

y1 = x3 +α1∑i=1

(−1)ix(α1−i)1 u

(i−1)2 , y2 = x2.

Ce système est r-plat avec r := min(α1, α2) − 1. Nous conjecturons qu’il n’existe pas de sortieplate 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-platitudepour 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

dim spandx1, . . . , dxn, du1, . . . , dum, dh

(µ)1 , . . . , 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 aveccomme 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 dh(µ)1 ∧ · · · ∧ dh(µ)

m . Il est en théorie possible de conclure par un critèrecalculable [10, 99], bien que les calculs généraux soient inextricables en pratique. Cependant, onpeut espérer utiliser la structure spéciale du problème pour mettre en évidence des simplificationsmajeures. 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 uneforme 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.15est de nature purement géométrique. Noter qu’un système plat n’est pas, en général, linéarisablepar bouclage statique (cf. l’avion à décollage vertical 3.12) sauf pour les systèmes avec une seulecommande.

Systèmes à une seule commande. Avec une seule commande, la linéarisation par bouclage dy-namique 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∑j=1

ujgj(x), x ∈ Rn,

i.e., avec une commande de moins que d’état est 0-plat dès qu’il est commandable [15] (plusprécisément fortement accessible en x). La situation se complique très sensiblement lorsque ladé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 suffisantesde 1-platitude de tels systèmes se trouvent dans [6, 97]. Elles donnent une bonne idée de ladifficulté calculatoire du test effectif de la r-platitude même pour r petit.

Journees 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 =∑m

i=1 fi(x)ui d’autres résultats sontdisponibles.

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 satisfaisantdes conditions supplémentaires de régularité (voir [81]), peut être mis par bouclage statiquerégulier et changement de coordonnées sous forme chaînée [82]

x1 = u1, x2 = u2, x3 = x2u1, . . . , xn = xn−1u1,

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

x =n−2∑i=1

uifi(x), x ∈ Rn

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 cer-tains travaux d’Élie Cartan.

Certains systèmes mécaniques. Lorsque le nombre des commandes (i.e., de moteurs) est égal auxnombre de degrés de liberté géométrique moins un, une caractérisation très intrinsèque d’unesortie plate ne dépendant que des variables de configuration est disponible. Dans [105] l’existenced’une telle sortie plate est caractérisée à partir de la métrique issue de l’énergie cinétique et dela 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èresuivant donne une condition suffisante simple. Il permet de montrer de façon élémentaire quecertains 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 pro-jection sur le p-espace de la sous-variété d’équation p = f(x, u) dans le (p, u)-espace (x est iciun 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 équationsF (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 Monged2z

dx2=(dy

dx

)2

n’est pas résoluble sans intégrale. Une version restreinte est proposée dans [120] pour des systèmeslinéarisables par des bouclages dynamiques très particuliers (prolongements purs).

Journees Nationales de Calcul Formel 2008 page 236

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 41

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èmeest plat alors

x = ϕ(y, y, . . . , y(q))

où y est une sortie plate et l’application ϕ une submersion. Ainsi, existe (y, y, . . . , y(q)) tel quex = ϕ(y, y, . . . , y(q)). Quelque soit la fonction régulière du temps y, on a l’identité suivante

F(ϕ(y, y, . . . , y(q)), ϕyy + ϕyy + · · ·+ ϕ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

avec ϕy(q) évaluer en (y, y, . . . , y(q)). Par le point (x, p) de F (x, p) = 0, passe l’espace affineparallè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 quecertains systèmes avec plusieurs commandes ne sont pas plats.

Exemple 3.27. Le système

x1 = u1, x2 = u2, x3 = (u1)2 + (u2)3

n’est pas plat, car la sous-variété p3 = p21 + p3

2 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 x3 = x21 + x2

2 ne définit pas une sous-variété réglée de R3 : il n’est pasplat dans R. En revanche, il définit une sous-variété réglée de C3 : il est plat dans C, avec commesortie plate

y =(x3 − (x1 − x2

√−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 θ,

où (r, r, θ, θ) est l’état et τ la commande, En tant que système à une commande, nous savons

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. sous-section 3.3.b). Cependant il est très instructif de le montrer avec le critère des variétés réglées.

Journees 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 commandeest une question résolue.

L’élimination de τ donne

r = vr, vr = −Bg sin θ +Brθ2, θ = vθ

qui définit une sous-variété réglée de l’espace (r, vr, θ, vθ) pour chaque r, vr, θ, vθ. On ne peut pasconclure directement. Cependant le système est équivalent à

r = vr, vr = −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ïn-cident 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 seulessous-variétés réglées de dimension 1 sont des droites. Il est alors toujours possible de faire unechangement de variable sur x pour avoir des droites parallèles à une direction fixe, indépendantede x et ainsi se ramener à un système équivalent avec un état de moins et toujours une seulecommande. 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-dimensionnelrestant. Cette simple procédure montre clairement que le système est linéarisable par bouclagestatique.

Pour un système plat à deux entrées, l’élimination de u conduit à une sous-variété réglée dedimension 2 qui n’est pas en général un plan et donc n’a aucune raison d’être un espace affine. Lefait que la géométrie des variétés réglées de dimension > 2 soit bien plus complexe que celles dedimension 1 explique la différence entre le cas mono-entrée et le cas multi-entrées. Nous donnonsici 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] :

x1 = x2 + (u1 − x1u2)2u2, x2 = u1, x3 = 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

minuJ(u) =

∫ T

0L(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, uneapproximation de dimension finie. Une autre façon consiste à discrétiser la sortie plate. Commedans la section 3.1.d, posons yi(t) =

∑N1 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 programmenon linéaire suivant

minA∈V

J(A) =∫ T

0L(ϕ(y, . . . , y(q)), α(y, . . . , y(q)))dt,

Journees Nationales de Calcul Formel 2008 page 238

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 43

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 importantsen temps de calculs et une meilleure stabilité numérique. En effet, la quadrature exacte de ladynamique — correspondant à la discrétisation exacte de la dynamique grâce à des signaux decommande 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 lessolutions d’un système vers celles d’un autre système. Nous allons maintenant considérer unesous-classe importante de transformations endogènes, celles qui envoient les solutions du systèmesur 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 transforma-tion sur la sortie plate donne lieu à une autre sortie plate. Cependant, nous allons voir sur unexemple que certains choix sont meilleurs que d’autres. Cela tient au fait que certaines sortiesplates admettent alors un sens physique immédiat et donc, d’une certaine manière, préserventles symétries naturelles.

Exemple 3.31 (la voiture). Le système décrivant une voiture (condition de roulement sans glisse-ment à 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éservantl’orientation : chaque translation de vecteur (a, b)′ et rotation d’angle α, conduit à la transfor-mation 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,

X = U1 cos Θ, Y = U1 sin Θ, Θ = U2.

Ce système est plat avec z := (x, y) comme sortie plate. Évidemment, une multitude de sortiesplates est possible comme z := (x, y+ x). Cependant, z est un choix bien plus « naturel » que z,

Journees 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 composantede z n’a physiquement aucun sens en tant que somme d’une position et d’une vitesse. Une façonplus formelle serait de dire que z préserve les symétries alors que z ne les respecte pas. En faitchaque symétrie sur le système induit une transformation sur z :(

z1z2

)7−→

(Z1

Z2

)=(X

Y

)=(z1 cosα− z2 sinα+ a

z1 sinα+ z2 cosα+ b

).

Cette transformation ne fait pas apparaître les dérivées de z : c’est une transformation ponctuelle.Cette transformation engendre une transformation endogène (z, z, . . . ) 7→ (Z, Z, . . . ) par simpleprolongement. Selon [40], nous dirons qu’une telle transformation qui est le prolongement d’unetransformation ponctuelle est holonome.

La transformation induite de façon similaire sur z(z1z2

)7−→

(Z1

Z2

)=(

X

Y + X

)

=

(z1 cosα+ ( ˙z1 − z2) sinα+ a

z1 sinα+ z2 cosα+ ( ¨z1 − ˙z2) sinα+ b

)n’est plus une transformation ponctuelle (elle comporte des dérivées de z). Elle n’est pas holo-nome.

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, h, h, . . . ) la transformation endogène engendrée par h. L’exemple ci-dessus nous suggère ladéfinition suivante.

Définition 3.32 (sortie plate invariante). La sortie plate h est dite invariante par rapport à lasymé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 telgroupe.

Cette question peut être vue comme le cas particulier du problème général suivant : soit unsystème différentiel sous-déterminé x − f(x, u) = 0 avec un groupe de symétries ; peut-il êtreréduit à un système plus petit ? Contrairement au cas déterminé où ce problème a été étudié etré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 sontdes 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 naturellementdans ce cadre.

Les équations de Maxwell dans le vide indique que le champ magnétique H est à divergencenulle,∇·H = 0. En coordonnées euclidiennes (x1, x2, x3), cela conduit au système sous-déterminéaux dérivées partielles suivant

∂H1

∂x1+∂H2

∂x2+∂H3

∂x3= 0.

Une observation clé est que la solution générale de ce système dérive d’un potentiel vecteurH = ∇×A : la contrainte ∇ ·H = 0 est alors automatiquement vérifiée quelque soit le potentielvecteur 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).

Journees 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é deliberté pour définir un potentiel A « naturel » de façon à avoir les calculs les plus simples par lasuite.

La situation est très analogue pour les systèmes plats. La sortie plate est un « potentiel » pourle système différentiel sous-déterminé x−f(x, u) = 0. Les transformations endogènes sur la sortieplate correspondent aux degrés de liberté de jauge. La sortie plate « naturelle » est égalementdéterminée par les symétries « naturelles » du système. Avec une telle sortie plate, les bouclagesdeviennent aussi invariants et donc préservent la physique du système (voir [71] pour le suivi detrajectoire invariant).

Une façon moins ésotérique et plus pragmatique pour se convaincre que la platitude est unenotion 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écessairementgouvernés par des équations différentielles ordinaires. Des prolongements sont possibles pour lessystèmes gouvernés par des équations aux dérivées partielles avec commande sur la frontière. Icila situation est bien moins claire que pour les équations différentielles ordinaires. Cependant destels 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 suiventreste à 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’honneurde 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 desparamétrisations à l’aide de grandeurs jouant le rôle de sorties plates et dont la dépendance entemps 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

x1(t) = x2(t), x2(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 desvaleurs avancées de y. Cette idée est étudiée en détail dans [77], où la classe des systèmes δ-libreest définie (δ est ici l’opérateur de retard). Plus précisément, [77] considère les systèmes linéairesavec 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

Journees 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,

zi(s) =m∑j=1

Kji exp(−sδji )1 + τ ji s

uj(s), i = 1, . . . p

(s est la variable de Laplace, Kji est le gain statique, δji le retard et τ ji 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étrisationexplicite via la sortie plate.

4.1.b. Barre en torsion. D’autres exemples de systèmes δ-libres sont obtenus par l’équationdes ondes. La dynamique en torsion d’une barre élastique [35] avec d’un côté un moteur et del’autre une inertie est en variables réduites (figure 4.1)

∂2t θ(x, t) = ∂2

xθ(x, t), x ∈ [0, 1]

∂xθ(0, t) = −u(t)

∂xθ(1, t) = −∂2t θ(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 ». Nousrenvoyons à [78, 35] pour les calculs et l’application à la planification de trajectoires (démarraged’une machine tournante).

Les paramétrisations précédentes utilisent des retards ponctuels. Sur certains systèmes où lavitesse de propagation des ondes dépend de l’espace, il est utile d’introduire des retards répartiscomme le montre l’exemple d’une chaîne pesante.

Journees 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 ladynamique d’une chaîne pesante (cf. figure 4.2) sont

∂2X

∂t2=

∂z

(gz∂X

∂z

)pour z ∈ [0, L], X(L, t) = D(t)

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. Nousallons montrer que la sortie plate est y(t) := X(0, t) avec

(4.1) X(z, t) =1

∫ 2π

0y(t+ 2

√z/g sin ξ

)dξ.

Une façon de faire est de vérifier a posteriori que, quelque soit la fonction t 7→ y(t) deux foisdérivable, le profil X(z, t) ci-dessus vérifie les équations de la dynamique avec comme commande

D(t) =1

∫ 2π

0y(t+ 2

√L/g sin ξ

)dξ.

Une autre manière de procéder est le calcul symbolique à la Heaviside ou Mikusiński. Formelle-ment, cela revient à utiliser la transformation de Laplace en temps et à remplacer la dérivée entemps avec la multiplication par s, la variable de Laplace (X désigne la transformée de Laplacede X) :

d

dz

(gzdX

dz

)= s2X.

Il est bien connu [124] que la solution fondamentale de cette équation du second ordre qui n’estpas infinie en z = 0 s’exprime avec la fonction de Bessel J0 (il s’agit de la fonction de Clifford) :

J0(−2i√z/gs).

Comme J0(0) = 1, on aX(z, s) = J0(−2i

√z/gs) X(0, s).

Avec la représentation intégrale de Poisson

J0(ξ) =1

∫ 2π

0exp(iξ sin θ) dθ

on obtient

X(z, s)=1

∫ 2π

0exp

(2s√x/g sin θ

)y(s) dθ

avec y = X(0, t). Comme la transformée de Laplace de y(t + a) est exp(as)y, on en déduitdirectement la formule (4.1). L’opérateur qui à y associe le profil X(z, t) est à support compact.

Journees 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 entemps 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 seuleréaction et dont le prototype (ici A −→ B et deux espèces A et B) est décrit sur la figure 4.3où nous avons rajouté un recyclage et une dynamique de transfert thermique représentée parun 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’énergieconduisent aux équations suivantes :

(4.2)

x(t) = D(xF − x(t)) +DR(x(t− τR)− x(t))− r(x(t), T (t))

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 directementproportionnelle à la puissance échangée avec l’extérieur. Les paramètres suivants sont supposésconstants : α, proportionnel à l’enthalpie de réaction ; D, le taux de dilution ; xF et TF , lescomposition 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 estnécessaire de fixer la valeur initiale de x et T non seulement dans le réacteur mais aussi dans lecircuit 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 (lapremière équation de (4.2)) donne une équation implicite définissant la température en fonctionde 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)).

Journees Nationales de Calcul Formel 2008 page 244

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 49

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 transitionvers le nouveau état stationnaire commencera au temps −τQ pour la commande Q, au temps 0pour T et x. Le nouveau régime stationnaire sera alors atteint au temps t∗ pour x, au tempst∗ + τ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 voitureavec 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 lavoiture avec beaucoup de remorques

de considérer l’approximation continue par le « serpent non holonome ». Les remorques sontrepérées par une variable continue, l ∈ [0, L] et un point dans le plan M(l, t). Les équations auxdérivées partielles vérifiées par M sont les suivantes∥∥∥∥∂M∂l

∥∥∥∥ = 1,∂M

∂l∧ ∂M

∂t= 0.

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 deroulement sans glissement, les contraintes non holonomes : la vitesse de la remorque l est parallèlela direction de la remorque l, i.e., la tangent à la courbe l 7→M(l, t). Il est évident que la solutiongé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 dela 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 deremorques. Le lien avec la dimension finie est alors simplement le développement en série deQ(s + l) en s via Q(s + l) =

∑i>0Q

(i)(s)li/i!. La formule avec le retard est cependant bienplus simple et pratique. Avec beaucoup de remorques (typiquement plus de 5), il est économe

Journees 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 dusystè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 sansdiffusion [93]. Elle représente un gaz de particules sans interaction et en mouvement inertiel dans

0

0.5

1

1.5

0

0.2

0.4

0.6

0.8

11

1.5

2

2.5

3

3.5

4

Figure 4.5. Un écoulement obéissant à l’équation de Burger ; transition d’une vitessebasse v ≡ 1 vers une vitesse haute v ≡ 4 sans choc de compression.

un tuyau de longueur l :

(4.3)∂v

∂t+ v

∂v

∂x= 0 x ∈ [0, 1]

v(0, t) = u(t).

Le champ x 7→ v(x, t) est la vitesse des particules en x ∈ [0, l]. La commande est la vitessed’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 estconstant, sa vitesse reste constante tout au long de son trajet dans le tuyau. La particule qui ent 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]

etu(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) > −y2(t).

Cette condition correspond à des solutions régulières sans choc [18]. Il est alors facile degénérer des commandes t 7→ u(t) allant des bases vitesses v(•, 0) ≡ v1 > 0 vers les hautes vitessesv(•, T ) ≡ v2 > v1 en un temps T pas trop court en évitant la formation d’onde de choc (ceproblème est typique des coups de bélier en hydraulique).

Journees 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épendde 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 auxré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 tuyauxsont 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 estpossible de calculer explicitement les trois commandes u = (u1, u2, u3) et les profils de couleursdans les tuyaux α et β avec Y et sa dérivée en temps Y . Les notations sont les suivantes (cf. figure4.6).

– une couleur (ou composition) est un triplet (c1, c2, c3) avec ∀ i = 1, 2, 3 0 6 ci 6 1 etc1 + 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 β à partirde Y . Supposons que t 7→ σ(t) 7→ Y (σ(t)) est donnée avec t 7→ σ(t) une fonction croissante

Journees 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. Lescalculs 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 ( ′ signifie d/dσ) :

(1) résoudre (avec, par exemple, une méthode de Newton) l’équation scalaire3∑i=1

Yi(σβ) =3∑i=1

Yi(σ(t)) + Vβ

avec σβ comme inconnue.

(2) résoudre de même l’équation scalaire

Y1(σα) + Y2(σα) = Y1(σβ) + Y2(σβ) + Vα

avec σα comme inconnue.

(3) poser

α1(t) =Y ′1(σα)

Y ′1(σα) + Y ′2(σα), α2(t) = 1− α1(t).

etβ(t) =

[Y ′

V ′

](sβ)

avec V = Y1 + Y2 + Y3.

(4) poserui(t) = αi(t) (Y ′1(σβ) + Y ′2(σβ)) V ′(σ(t)) σ(t) i = 1, 2

etu3(t) = V ′(σ(t)) σ(t)− u1(t)− u2(t)

Supposons maintenant que nous ayons à produire une série de mélanges de couleurs différentesdéfinies par Qa = (Qa1, Q

a2, Q

a3), Qb = (Qb1, Q

b2, Q

b3), Qc, . . . sans possibilité de purger les tuyaux α

et β entre chaque mélange. Il suffit de définir une courbe croissante pour chaque composante deY , t 7→ σ 7→ Yi comme sur la figure 4.7. La loi horaire t 7→ σ(t) admet des tangentes horizontalesaux 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 sansdiffusion. Nous allons maintenant voir des calculs très différents avec des séries faisant intervenirun nombre infini de dérivées de y. La fonction t 7→ y(t) est alors C∞. Pour assurer la convergencedes 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],

∂tθ(x, t) = ∂2xθ(x, t), x ∈ [0, 1](4.4)

∂xθ(0, t) = 0(4.5)

θ(1, t) = u(t),(4.6)

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 calculformel. Avec la variable de Laplace s, le système s’écrit

sθ(x, s) = θ′′(x, s) avec θ′(0, s) = 0, θ(1, s) = u(s)

Journees 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).

(où ′ signifie ∂x ettransformée de Laplace). La solution est clairement θ(x, s) = cosh(x√s)u(s)/ cosh(

√s).

Comme θ(0, s) = u(s)/ cosh(√s), nous avons

u(s) = cosh(√s) y(s) et θ(x, s) = cosh(x

√s) y(s).

Puisque cosh√s =

∑+∞i=0 s

i/(2i)!, nous avons formellement

θ(x, t) =+∞∑i=1

x2i y(i)(t)(2i)!

(4.7)

u(t) =+∞∑i=1

y(i)(t)(2i)!

.(4.8)

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 fonctionré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 analytiquepartout, si l’on souhaite utiliser ces séries pour aller d’un profil vers une autre. En effet si lesystè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) = ∂itθ(0, t) = ∂2ix θ(0, t),

et en particulier∀ i > 0, y(i)(t0) = ∂2i

x α0(0) et y(i)(t1) = ∂2ix α1(1).

Journees 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) = 0pour tout i > 1, ce qui implique y(t) = c pour tout t si f est analytique. Il est alors impossibleavec 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, ∀ t ∈ [t0, t1], |y(i)(t)| 6 M(Ki)σi

sont connues sous le nom de fonction Gevrey d’ordre σ [103] (elles sont aussi reliées aux fonctionsde 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, commeprototype, 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 defonctions Gevrey d’ordre > 1, 6 2 pour la convergence des séries et dont les séries de Taylor ent0 et t1 sont imposées par les profils initiaux et finaux. Avec de telles fonctions nous pouvonscalculer avec (4.7), la commande en boucle ouverte qui assure la transition d’un profil vers unautre.

Par exemple, la figure 4.8 correspond au passage de θ = 0 en t = 0 à θ = 1 en t = 1 avec lafonction

R 3 t 7−→ y(t) :=

0 si t < 0

1 si t > 1∫ t0 ∆2(τ)dτ∫ 1

0 ∆2

si t ∈ [0, 1].

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.8

10

0.5

1

1.5

2

Figure 4.8. Équation de la chaleur ; profil de température entre deux états stationnairest ∈ [0, 1]

Suite à une discussion avec Jean-Pierre Ramis en octobre 1997, des essais numériques in-diquent 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 desrésultats numériques très encourageants. Les commandes semblent plus douces qu’avec des sériesconvergentes. Ces premiers calculs ont été confirmés par la suite dans [72, 73] sur équations deconvection/diffusion 1D avec des termes sources non-linéaires.

Journees 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 coefficientssont 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 laconcentration 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 (convection-diffusion) :

(4.9)∂

∂t

[x(z, t)T (z, t)

]= Γ

∂2

∂z2

[x(z, t)T (z, t)

]− v ∂

∂z

[x(z, t)T (z, t)

]+[−rx −rTαrx αrT

] [x(z, t)T (z, t)

],

pour z ∈ [0, l], avec les conditions aux bords

v

[x(0, t)T (0, t)

]− Γ

∂z

[x

T

]∣∣∣∣0,t

=[ux(t)uT (t)

]∂

∂z

[x

T

]∣∣∣∣l,t

= 0.

Le système est piloté via les flux totaux ux et uT à l’entrée du réacteur (z = 0). Les flux dediffusion sont nuls à la sortie du réacteur (z = l). La vitesse de l’écoulement est v. La matricede diffusion est Γ ; α est proportionnel à l’enthalpie de réaction. Les dérivées partielles de lacinétique r(x, T ) par rapport à x et T sont notées rx et rT . Il est possible de conduire les calculsavec Γ, α, rx et rT fonctions analytiques en x, et v Gevrey 2 en temps : les récurrences qui suiventsont alors plus complexes mais les séries convergent sous les mêmes hypothèses (cf. [54]). Poursimplifier 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 sortieplate. Notons y(t) le vecteur [x(l, t), T (l, t)]′.

En effet considérons un développement en série de puissances de (z − l) :[x

T

](z, t) =

∞∑i=0

(z − l)ii!

ai(t).

où les ai sont des vecteurs de dimension 2. Ainsi

a0(t) = y(t),

et la condition au bord z = l donnea1(t) = 0.

L’équation (4.9) impose après identification terme à terme la récurrence suivante :

(4.10) ai+2 = Γ−1

[daidt

+ vai+1 +Rai

], i > 0,

Journees 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 , ∂x∂z et

∂T∂z : [

x

T

](0, t) =

∞∑i=0

(−l)ii!

ai(t)

et∂

∂z

[x

T

](0, t) =

∞∑i=0

(−l)ii!

ai+1(t).

Ainsi

(4.11)[ux(t)uT (t)

]=∞∑i=0

(−l)ii!

(vai − Γai+1).

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éesen temps.

Les développements précédents sont formels. Ils doivent être complétés par l’analyse de laconvergence des séries. La classe des fonctions y pour laquelle ces séries admettent un rayon deconvergence non nul est comme pour l’équation de la chaleur, celle des fonctions d’ordre Gevrey6 2.

4.2.c. Poutre en flexion (Euler-Bernoulli). Nous reprenons [2, 36]. Ici le coté calcul sym-bolique 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 Mikusinski. Pour celanous renvoyons à [36]. Nous allons uniquement présenter les calculs symboliques qui consistentcomme toujours à remplacer la dérivée en temps par la multiplication par s. Le cadre formeldonne un sens précis aux calculs que nous allons faire.

Les équations de l’élasticité linéaire conduisent au modèle 1D suivant

∂ttX = −∂xxxxX

X(0, t) = 0, ∂xX(0, t) = θ(t)θ(t) = u(t) + k∂xxX(0, t)

∂xxX(1, t) = −λ∂ttxX(1, t)∂xxxX(1, t) = µ∂ttX(1, t)

2. E(i/2) est la partie entière de i/2.

Journees 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 desparamètres positifs liés aux inerties du moteur et de la masse en r = 1 (t et r sont en échellesréduites sans dimension).

Nous allons démontrer que formellement la solution générale de ce système s’exprime à l’aidede y une fonction scalaire arbitraire C∞ (d’ordre Gevrey 6 2 pour la convergence) :

(4.12) X(x, t) =∑n>0

(−1)n y(2n)(t)(4n)!

Pn(x) +∑n>0

(−1)n y(2n+2)(t)(4n+ 4)!

Qn(x)

avec (ı =√−1, < et = signifient partie réelle et partie imaginaire, respectivement)

Pn(x) =x4n+1

2(4n+ 1)+

(=− <)(1− x+ ı)4n+1

2(4n+ 1)+ µ=(1− x+ ı)4n

et

Qn(x) =λµ

2(4n+ 4)(4n+ 3)(4n+ 2)

((=− <)(1− x+ ı)4n+1 − x4n+1

)− λ(4n+ 4)(4n+ 3)<(1− x+ ı)4n+2.

Noter que les autres quantités θ et u se déduisent sans difficulté de la série (4.12). Il suffit dedériver terme à terme.

Nous allons uniquement montrer la formule pour λ = µ = 0 (pas de masse en r = 1, M =J = 0). La méthode reste la même dans le cas général. La question est alors la suivante : d’oùvient la série

(4.13) X(x, t) =∑n>0

y(2n)(t)(−1)n

(4n)!πn(x)

avec

πn(x) =x4n+1

2(4n+ 1)+

(=− <)(1− x+ ı)4n+1

2(4n+ 1).

Avec la variable de Laplace s, nous avons le système différentiel ordinaire

X(4) = −s2Xoù

X(0) = 0, X(2)(1) = 0, X(3)(1) = 0.

Les dérivées portent sur l’espace et s est ici un paramètre. La solution générale de ce systèmedépend d’une constante arbitraire, i.e., d’une fonction arbitraire de s, puisque nous n’avons que3 conditions aux limites. Avec les quatre solutions élémentaires suivantes

C+(x) = (cosh((1− x)√sξ) + cosh((1− x)

√s/ξ))/2

C−(x) = (cosh((1− x)√sξ)− cosh((1− x)

√s/ξ))/(2ı)

S+(x) = (ı sinh((1− x)√sξ) + sinh((1− x)

√s/ξ))/(2ξ

√s)

S−(x) = ξ(ı sinh((1− x)√sξ)− sinh((1− x)

√s/ξ))/(2

√s)

où ξ = exp(ıπ/4), X s’écrit

X(x) = aC+(x) + bC−(x) + cS+(x) + dS−(x).

Les trois conditions aux limites donnent trois équations reliant les quantités a, b, c et d :

aC+(0) + bC−(0) + cS+(0) + dS−(0) = 0, sb = 0, sc = 0.

Ainsi il nous reste une seule contrainte entre les deux quantités a et d

aC+(0) + dS−(0) = 0.

CommeC+(0) = <(cosh(ξ

√s), S−(0) = =(ξ sinh(ξ

√s/√s)

Journees Nationales de Calcul Formel 2008 page 253

58 PHILIPPE MARTIN & PIERRE ROUCHON

sont des fonctions entières de s très similaires à cosh(√s) et sinh

√s/√s, nous pouvons leur

associer des opérateurs algébriquement indépendants qui commutent

δ+ = C+(0), δ− = S−(0)

(cf. le calcul opérationnel de Mikusiński) (ce sont aussi des ultra-distributions définies commele dual des fonctions d’ordre Gevrey 6 2 à support compact, voir [41])). Nous avons doncun module engendré par les deux éléments (a, d) vérifiant l’équation δ+a + δ−d = 0. C’est unR[δ+, δ−]-module. Ce module n’est pas libre. En revanche, il est δ+-libre [77]. En effet

a = δ−y, d = −δ+yavec y = −δ−1

+ d.La quantité y sert ici de sortie plate. En effet nous avons

X(x) = (S−(0)C+(x)− S−(x)C+(0))y.

Des calculs un peu fastidieux utilisant la trigonométrie hyperbolique conduisent alors à la formule

X(x) = −12

[S−(x) + =(S−(1− x+ ı))]y.

Un simple développement en série de la fonction entière S− donne la formule (4.13).La quantité y qui intervient ici n’a pas de sens physique direct (le module n’était pas libre).

Cependant, nous conjecturons que le y choisi ici doit s’exprimer avec des intégrales en espace deX (sorte de centre de flexion).

4.2.d. Flexion non linéaire. Sur un plan formel, il est possible d’effectuer des calculs simi-laires au linéaire. Considérons la structure flexible déjà étudiée dans [53]. Les équations sont lessuivantes

ρ∂2t u(x, t) = ρω2(t)u(x, t)− EI∂4

xu(x, t), x ∈ [0, 1]

ω(t) =Γ3(t)− 2ω(t)〈u, ∂tu〉(t)

Id + 〈u, u〉(t)avec comme conditions aux limites

u(0, t) = ∂xu(0, t) = 0, ∂2xu(1, t) = Γ1(t), ∂3

xu(1, t) = Γ2(t).

ρ, EI, Id sont des constantes physiques positives, u(x, t) est la déformation de la poutre, ω(t) lavitesse angulaire 〈f, g〉(t) :=

∫ 10 ρf(x, t)g(x, t)dx. Nous avons 3 commandes Γ1(t), Γ2(t), Γ3(t).

Formellement

y(t) :=(∂2xu(0, t), ∂3

xu(0, t), ω(t))

est une « sortie plate ». En effet, considérons le système sous la forme de Cauchy-Kovalevskysuivante

EI∂4xu(x, t) = ρy2

3(t)u(x, t)− ρ∂2t u(x, t) et

u(0, t) = 0

∂xu(0, t) = 0

∂2xu(0, t) = y1(t)

∂3xu(0, t) = y2(t).

Alors, si on pose u(x, t) =∑+∞

i=0 ai(t)xi

i! , les équations ci-dessus donnent

a0 = 0, a1 = 0, a2 = y1, a3 = y2,

Journees Nationales de Calcul Formel 2008 page 254

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 59

et la récurrence ∀ i > 0, EIai+4 = ρy23ai − ρai. Ainsi pour i > 1,

a4i = 0 a4i+2 =ρ

EI(y2

3a4i−2 − a4i−2)

a4i+1 = 0 a4i+3 =ρ

EI(y2

3a4i−1 − a4i−1).

Il s’agit d’une correspondance (formelle) entre les solutions du système et les fonctions arbitrairest 7→ y(t) : ce système est formellement plat.

Pour des calculs similaires avec des simulations numériques sur un modèle non-linéaire depoutre en flexion voir [88].

CHAPITRE 5CATALOGUE DE SYSTÈMES PLATS

Nous donnons ici une liste non exhaustive de systèmes plats rencontrés dans les applications.Nous renvoyons à [57] pour des applications aux systèmes mécaniques.

5.1. Robots complètement commandés

La dynamique d’un système mécanique holonome avec autant de commandes que de degrésde liberté géométrique est

ddt

(∂L

∂q

)− ∂L

∂q= M(q)u+D(q, q),

avec q les variables de configuration, L(q, q) le lagrangien (énergie cinétique — énergie poten-tielle), dim(u) = dim(q) et M(q) inversible. Il admet q comme sortie plate — même si ∂

2L∂q2

estsingulière — : en effet, u s’exprime en fonction de q, q, q par les formules du couple calculé

u = M(q)−1

(ddt

(∂L

∂q

)− ∂L

∂q−D(q, q)

).

5.2. Systèmes mécaniques non-holonomes

De nombreux robots mobiles avec contraintes de roulement sans glissement (contraintes nonholonomes), comme ceux considérés dans [11, 82], sont plats. Nous considérons ici les systèmesdu type voiture avec remorques [112, 30, 111, 25]. L’invariance par le groupe des déplacementsdu plan et l’homogénéité de degré 1 par rapport à la commande u rendent très naturelles lesdérivations avec des formules de Frénet.

Figure 5.1. Cinématique d’une voiture

Journees Nationales de Calcul Formel 2008 page 255

60 PHILIPPE MARTIN & PIERRE ROUCHON

5.2.a. Voiture. Les conditions de roulement sans glissement sont les suivantesx = v cos θy = v sin θθ =

v

ltanϕ

avec v la vitesse et ϕ l’angle de braquage comme commande, l la distance entre les deux essieux.La sortie plate est la position cartésienne de la voiture P = (x, y) :

v = ±‖P‖,(

cos θsin θ

)= P /v, , tanϕ = l det(P P )/v

√|v|.

Ces formules disent simplement que θ est l’angle de la tangente à la courbe suivie par P ettanϕ/l sa courbure.

Figure 5.2. Voiture avec n remorques

5.2.b. Voiture avec n remorques à attaches centrées. Le système de la figure 5.2 admetcomme sortie plate les coordonnées cartésiennes de la dernière remorque Pn = (xn, yn) [111]. Pourmontrer cela, il n’est pas utile d’écrire les équations d’état du système avec comme commandesla vitesse de la voiture et son angle de braquage. Il suffit de faire un dessin. Prenons le cas n = 1(figure 5.3), le cas général s’en déduit aussitôt.

Figure 5.3. Voiture avec une attache centrée, la sortie plate est P1

Supposons donnée la courbe lisse C1 suivie par P1. Prenons s1 → P1(s1) un paramétragenaturel de C1. Alors le roulement sans glissement de la remorque implique que P0 = P1 + d1~τ1(~τ1, tangent unitaire à C1). En dérivant par rapport à s1, on obtient

d

ds1P0 = ~τ1 + d1κ1~ν1

Journees Nationales de Calcul Formel 2008 page 256

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 61

avec ~ν1, normale unitaire à C1 et κ1 sa courbure. Maisd

ds1P0 6= 0 est le vecteur tangent à la

courbe C0 suivie par P0. Donc

tan(θ0 − θ1) = d1κ1, ~τ0 =1√

1 + (d1κ1)2(~τ1 + d1κ1~ν1).

En dérivant par rapport à s0, ds0 =√

1 + (d1κ1)2 ds1, on obtient l’angle de braquage φ :

tanφ = d0κ0 = d01√

1 + (d1κ1)2

(κ1 +

d1

1 + (d1κ1)2dκ1

ds1

).

La vitesse v de la voiture est aussi donnée par

v(t) =√

1 + d21κ

21(s1(t)) s1(t)

pour toute loi horaire C1, t → s1(t). Noter que dans ces calculs, φ et θ0 − θ1 restent toujoursentre −π/2 et π/2.

Figure 5.4. Voiture avec une remorque à attache décentrée

5.2.c. Voiture avec une remorque à attache déportée. Ici la difficulté vient du fait quel’attache le longueur b de la remorque n’est plus fixée sur l’essieu arrière de la voiture mais à unecertaine distance a [112]. Nous supposons l’attache en arrière de l’essieu. Il est possible de faireles mêmes calculs avec une attache devant comme sur certains poids lourds. Les conditions deroulement sans glissement donnent la forme d’état suivante

(5.1)

x = cosα vy = sinα v

α =1l

tanϕ v

β =1b

(al

tanϕ cos(α− β)− sin(α− β))v.

Les notations sont sur la figure 5.4. Les commandes sont la vitesse v de la voiture et l’angle debraquage ϕ.

Le système (5.1) est plat avec comme sortie plate

(5.2)y1 = x+ b cosβ + L(α− β)

b sinβ − a sinα√a2 + b2 − 2ab cos(α− β)

y2 = y + b sinβ + L(α− β)a cosα− b cosβ√

a2 + b2 − 2ab cos(α− β)

(5.3) L(α− β) = ab

∫ 2π+α−β

π

cosσ√a2 + b2 − 2ab cosσ

dσ.

Noter que (y1, y2) sont les coordonnées cartésiennes du point P de la figure 5.4.

Journees Nationales de Calcul Formel 2008 page 257

62 PHILIPPE MARTIN & PIERRE ROUCHON

Pour trouver ces sorties plates, il convient d’utiliser la condition nécessaire et suffisante (théo-rème 3.24) pour les systèmes sans dérive à deux commandes. Les calculs de y1 et y2 se simplifienten utilisant l’invariance du système par rapport au groupe des déplacements du plan.

Figure 5.5. Construction géométrique avec les formules de Frénet

Comme le montre la figure 5.5, le vecteur tangent ~τ à la courbe suivie par P est parallèle à ladroite AB. Sa courbure κ est une fonction de δ = α− β :

(5.4) κ = K(δ) =sin δ

cos δ√a2 + b2 − 2ab cos δ − L(δ) sin δ

Noter que l’invariance par rapport au groupe des déplacements, implique que κ soit une fonctionde α−β uniquement. La fonctionK est une bijection croissante de ]γ, 2π−γ[ vers R. La constanteγ ∈ [0, π/2] est définie par l’équation implicite suivante

cos γ√a2 + b2 − 2ab cos γ = ab sin γ

∫ γ

π

cosσ√a2 + b2 − 2ab cosσ

dσ.

Pour a = 0, γ = π/2 et P coïncide avec B.Des calculs simples montrent que D est donné par D = P − L(δ)~ν avec ~ν le vecteur normal

unitaire. Ainsi (x, y, α, β) est une fonction de (P,~τ , κ). L’angle de braquage ϕ dépend donc de κet dκ/ds où s est la longueur d’arc de la courbe suivie par P . La vitesse v de la voiture s’exprimeen fonction de κ, dκ/ds et s.

Une application du théorème 3.24 montre que la voiture avec plus de deux remorques à attachesdécentrées n’est pas un système plat.

5.2.d. Systèmes mécaniques non-holonomes complètement commandés. Commençonspar l’exemple d’une pièce de monnaie qui roule sans glisser sur un plan.

x = λ sinϕ+ u1 cosϕ

y = −λ cosϕ+ u1 sinϕ

ϕ = u2

x sinϕ = y cosϕ

où x, y, ϕ sont les variables de configuration, λ est le multiplicateur de Lagrange associé à lacontrainte x sinϕ = y cosϕ, u1 et u2 sont les deux commandes. Une sortie plate est (x, y) : avecune paramétrisation en longueur d’arc s de la courbe t 7→ (x(t), y(t)), nous avons

cosϕ =dxds, sinϕ =

dyds, u1 = s, u2 = κ(s) s+

dκds

s2,

où κ est la courbure. Ces formules restent valables même si u1 =u2 =0.Cet exemple est représentatif d’un système mécanique soumis à m contraintes non holonomes

et avec n−m commandes (des forces) indépendantes des efforts de liaisons (n est la dimensionde la variété de configuration). Ces systèmes sont, par définition, les systèmes non holonomes

Journees Nationales de Calcul Formel 2008 page 258

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 63

complètement commandés (voir [11] pour d’autres exemples). Il est alors facile de montrer qu’unsystème non holonome complètement commandé et dont les liaisons non holonomes sont platesest automatiquement plat, les sorties plates étant celles de ses liaisons non holonomes.

Ainsi, à cause du théorème 3.25, les systèmes mécaniques complètement commandés et soumisà deux contraintes non holonomes sont automatiquement plats. Les liaisons non holonomes de lapièce de monnaie (p. 4), de la sphère qui roule (p. 96) et de la bicyclette (p. 330) décrites dansle traité classique russe [83] sont plates. Les systèmes non holonomes complètement commandésqui s’en déduisent restent donc plats.

5.3. Systèmes pendulaires

Les exemples qui suivent sont des systèmes mécaniques holonomes sous-actionnés, c’est-à-direavec moins de commandes que de degrés de liberté géométrique.

5.3.a. Pendule inversé sur un rail. Un pendule inversé sur un rail admet la dynamiquesuivante (approximation des petits angles)

d2

dt2(D + lθ) = gθ, M

d2

dt2D = −mgθ + F

où la commande est la force F appliquée au chariot et l est la distance du centre d’oscillation àl’axe de rotation du pendule. Il est clair que la sortie plate est y = D + lθ. En effet

Figure 5.6. Pendule inversé sur un rail

θ = y/g, D = y − ly/g.Un bouclage grand gain sur le chariot (u est la consigne de position du chariot)

F = −Mk1D −Mk2(D − u)

avec k1 ≈ 10/τ , k2 ≈ 10/τ2 où τ =√l/g est le temps caractéristique du pendule, permet

d’accélérer par la commande le porteur. On obtient ainsi une commande hiérarchisée avec unasservissement rapide en position du porteur et une stabilisation lente du pendule à partir dumodèle lent

d2

dt2(y) = g(y − u)/l =

y − uτ2

.

Le simple bouclageu = −y − τ2yr(t) + τ(y − yr(t)) + (y − yr(t))

assurent le suivi d’une trajectoire de référence t 7→ yr(t) pour l’abscisse du centre d’oscillationdu pendule.

Sans l’approximation des petits angles, le système n’est plus plat.

Journees Nationales de Calcul Formel 2008 page 259

64 PHILIPPE MARTIN & PIERRE ROUCHON

5.3.b. Le double pendule du musée de la Villette. Cet exemple fait partir du parc desexpositions permanentes du musée des sciences et de l’industrie de la Villette, section mathé-matiques. Il s’agit de deux barres homogènes de longueur l l’une au dessus de l’autre, le tout

Figure 5.7. Le double pendule du musée de la Villette

sur un chariot linéaire actionné par un moteur. Avec l’abscisse du chariot D comme commande(commande grand gain du porteur) les équations de la dynamiques, après approximation despetits angles, sont (après quelques transformations qui font intervenir y . . .)

θ1 =y(2)

g− ly(4)

3g2

θ2 =y(2)

g+ly(4)

9g2

D = y − 3536lθ1 − 7

12lθ2

= y − 14ly(2)

9g+

7l2y(4)

27g2.

Comme pour le simple pendule, sans l’approximation des petits angles, ce système n’est pasplat.

5.3.c. Une infinité de pendules inversés. Il s’agit du modèle de la chaîne pesante de lafigure 4.2 avec la gravité dans l’autre sens. Les équations sont

(5.5)∂2X

∂t2= − ∂

∂z

(gz∂X

∂z

)pour z ∈ [0, L], X(L, t) = D(t)

avec la commande au bord D(t), le déplacement du chariot qui se trouve maintenant en bas. Lasortie plate est alors en haut et la formule (4.1) s’écrit avec un « temps complexe » :

X(z, t) =1

∫ π

0

(y(t+ 2ı

√z/g sin ξ) + y(t− 2ı

√z/g sin ξ)

)dξ

avec ı =√−1.

Cette relation signifie que, pour tout fonction holomorphe C 3 ζ 7→ y(ζ) dont la restrictionà l’axe réel est réel, le champ de déplacement X(z, t) calculé par l’intégrale ci-dessus est réel etvérifie identiquement

∂2X

∂t2= − ∂

∂z

(gz∂X

∂z

).

Journees Nationales de Calcul Formel 2008 page 260

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 65

Avec cette formule nous avons la possibilité d’associer à toute fonction holomorphe sur unebande horizontale centrée autour de l’axe des réels et de demie hauteur 2

√L/g une trajectoire

du système. Cette ensemble de trajectoires est suffisamment riche pour obtenir d’une façonapprochée des trajectoires allant d’un état d’équilibre vers un autre. Il suffit par exemple dedéfinir y par convolution avec un gaussienne (σ > 0 donné)

y(µ+ ıν) =∫ +∞

−∞exp(−(µ− τ + ıν)2/σ2) f(τ) dτ

avec R 3 τ 7→ f(τ) ∈ Rmesurable et bornée et de tronquer l’intégrale. Avec une telle constructionil est possible de montrer des propriétés de commandabilité approchée pour ce système.

Il est bien connu que le problème de Cauchy associé à (5.5), une équation elliptique, n’estpas bien posé au sens de Hadamard. Physiquement, c’est tout à fait compréhensible. Nous avonsvu que la constante de temps d’instabilité d’un pendule inversé de longueur l est

√l/g : un

pendule de longueur infiniment petite est instable d’une façon infiniment rapide. Malgré cela,nous pouvons donner un sens à la planification de trajectoires, bien que le système soit un systèmemal posé, en construisant explicitement des familles de trajectoires régulières allant d’un étatvers un autre (d’une façon approchée, cependant).

5.3.d. Grues et ponts roulants. Nous reprenons une exemple traité dans [30]. Les équationsde Newton d’une masse m déplacée par pont roulant sont les suivantes (modèle dans un planvertical) :

mx = −T sin θ x = R sin θ +D

mz = −T cos θ +mg z = R cos θ,

avec x, z, θ les variables de configuration, T la tension du câble d’inertie négligeable et inexten-sible. Les deux commandes sont D, la position du chariot et R la longueur du câble. Ce systèmeest plat avec la position (x, z) de la charge comme sortie plate. Le rajout d’une seconde dimensionhorizontale ne change rien : la sortie plate reste la position de la charge. D’autres types de gruesou de ponts roulants correspondant à diverses géométries du système de levage restent égalementplats, la position de la masse transportée étant la sortie plate (cf. [60, 50]) pour les grues dedébarquement de la marine américaine)

O

X

Y

Z

(x, y, z )Pm

gS(a, b, c)

θ1

u1

θ2 u2

θ 3

u3

pendule

moteur

moteur

moteur

Figure 5.8. Le robot 2kπ.

Journees Nationales de Calcul Formel 2008 page 261

66 PHILIPPE MARTIN & PIERRE ROUCHON

5.3.e. Le robot 2kπ. C’est un robot 3 axes portant un pendule avec 2 axes, cf. figure 5.8.L’objectif est de retourner le pendule et le maintenir en position instable. Parmi les 5 degrés deliberté, seuls 3 sont directement commandés par des moteurs (les angles θ1, θ2, θ3). En revancheles deux degrés de liberté du pendule ne sont pas directement actionnés.

La position P = (x, y, z) du centre d’oscillation du pendule (cf. les travaux de Huyghens surles horloges à pendule) est la sortie plate du système.

En effet, les relations entre P et S = (a, b, c), le point de suspension du pendule, sont lessuivantes

(x− a)(z + g) = x(z − c)(y − b)(z + g) = y(z − c)

(x− a)2 + (y − b)2 + (z − c)2 = l2,

où l est la distance entre S et P . Ces relations viennent simplement des équations de Newton dupendule ponctuel isochrone de même masse m (~T est la tension dans la tige)

mP = m~g + ~T

de la condition de rotation parfaite sans frottement

~T //−→PS

et de la contrainte de rigidité‖PS‖ = l2.

Géométriquement S est à l’intersection de la sphère de centre P de rayon l avec la droite passantpar P et parallèle à P − ~g.

Comme la géométrie du robot implique (a, b, c) = T (θ1, θ2, θ3) (conversion des coordonnéesangulaires en coordonnées cartésiennes), les couples à appliquer aux moteurs s’obtiennent eninversant cette relation algébrique et en dérivant 2 fois de plus. En tout, P apparaît avec sesdérivées jusqu’à l’ordre 4. Pour plus d’information sur la commande du robot voir [55].

Figure 5.9. Un corps solide 2D piloté par deux forces de direction fixes, ~d1 et ~d2, parrapport au solide

5.3.f. Solide plan piloté par deux forces. Soit un corps rigide dans un plan vertical soumisà la gravité et commandé par deux forces ~F1 et ~F2, de directions, ~e1 et ~e2, fixes par rapportau solide (voir figure 5.9). Ces forces sont appliquées à des points S1 et S2 fixes par rapportau solide. Nous supposons que nous avons effectivement deux forces indépendantes, i.e., lorsqueS1 = S2 alors les directions ne sont pas co-linéaires. Enfin le cas où S1 = S2 = G est exclu caralors le système n’est plus commandable, le moment cinétique étant constant.

Journees Nationales de Calcul Formel 2008 page 262

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 67

Soit G le centre de gravité et θ l’orientation du solide. On note ~k le vecteur orthogonal auplan. Notons m la masse, J son inertie par rapport à l’axe parallèle à ~k passant par G et ~g lechamp de gravité.

Les équations de la dynamique sont alors (conservation de la quantité de mouvement et dumoment cinétique)

mG = ~F1 + ~F2 +m~g

Jθ~k =−−→GS1 ∧ ~F1 +

−−→GS2 ∧ ~F2.

Comme le montre la figure 5.9, la sortie plate correspond à P le centre d’oscillation de Huyghenslorsque l’axe de rotation est au point d’intersection des deux droites qui supportent les forces ~F1

et ~F2, le centre de poussée Q sur la figure 5.9 :

P = Q+

√1 +

J

ma2

−−→QG.

avec a = QG. Noter que lorsque les deux droites sont parallèles Q est rejeté à l’infini et Pcoïncide avec G. Comme pour le pendule du robot 2kπ, Le point P est le seul tel que P − ~gsoit co-linéaire à la direction PG, i.e, à l’orientation θ. Avec cette propriété, il est alors facile demontrer que le système est plat. Certains les exemples traités dans [30, 84, 80, 65]. sont de cetype.

Par exemple l’avion à décollage vertical de [65] d’équation

x = −u1 sin θ + εu2 cos θ

z = u1 cos θ + εu2 sin θ − 1

θ = u2.

admet comme sortie plate y = (x− ε sin θ, z+ ε cos θ) où ε ≈ 0 vient du fait que les poussées desréacteurs ne sont pas parfaitement parallèles.

Des prolongement sont possibles pour des corps solides dans l’espace à trois dimension maisavec des symétries. Le pendule de 2kπ en est un exemple avec une symétrie de révolution. Uneautre exemple fort proche avec les mêmes symétries est une fusée ou un missile avec pousséevectorielle. Les équations sont

mG = ~F +m~g

Jd

dt(~b ∧ ~b) = −−→SG ∧ ~F

où ~b =−→SG/SG (les notations sont sur la figure 5.10). La sortie plate est alors

P = S +√SG2 + J/m ~b.

En effet P − ~g est co-linéaire à la direction ~b de la fusée.Notons enfin que la généralisation à la dimension 3 d’espace (sans symétrie) reste un problème

ouvert. Nous ne savons pas si un corps solide dans l’espace à trois dimensions contrôlé par l’actionde trois forces indépendantes, de directions et de points d’application fixes par rapport au solide,est un système plat.

5.3.g. Le câble aéro-tracté. Nous reprenons ici [79] pour ce qui du modèle de dimensionfinie. Le système illustré sur la figure 5.11 est composé d’un avion en vol circulaire qui tracte unlong câble auquel est attaché une charge pesante. Sous certaines conditions, le câble atteint unrégime stabilisé où sa forme ne variant plus admet également un mouvement circulaire. Avec desparamètres correctement choisis, il est possible que le rayon de la trajectoire de la charge qui setrouve bien en dessous de celle de l’avion soit d’un diamètre nettement inférieur. Un tel système

Journees Nationales de Calcul Formel 2008 page 263

68 PHILIPPE MARTIN & PIERRE ROUCHON

Figure 5.10. La fusée et sa sortie plate P

Figure 5.11. Le câble aéro-tracté et son approximation

existe en vraie grandeur. Il a été utilisé par l’armée américaine en Amérique du sud pour desparachutages précis à basse altitude (sans utiliser explicitement le fait que le système soit plat).

Le câble peut être vu comme une succession de petits pendules ponctuels connectés les unsaux autres par leur centres de masse. Les forces agissant sur une petit pendule (tension, traînéeaérodynamique, poids, . . .) sont alors concentrées au centre de masse (confondu ici avec soncentre d’oscillation). L’avion joue ici le rôle commande comme S joue le rôle de commande pourle contrôle du pendule porté par le robot 2kπ.

L’objectif est de générer des trajectoires de transition entre un équilibre relatif et un autre.Ce système est plat avec comme sortie plate la position de la charge. Nous renvoyons à [79] pourdes calculs plus détaillés et d’autres références sur le sujet.

Il est cependant possible formellement de considérer le modèle continu du câble. Pour desraisons de simplicité nous ne considérons que le modèle parfait sans frottement avec uniquementla dynamique inertielle et la gravité ~g. Le câble est décrit à l’instant t par une courbe [0, L] 3s 7→ M(s, t) ∈ R3 paramétrée en longueur d’arc. En notant, T (s, t) ∈ R la tension en s, ρ sa

Journees Nationales de Calcul Formel 2008 page 264

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 69

densité linéaire et m la masse de la charge, les équations de Newton sont

ρ∂2M

∂t2=

∂s

(T∂M

∂s

)+ ρ~g∥∥∥∥∂M∂s

∥∥∥∥ = 1

M(L, t) = u(t)

T (0, t)∂M

∂s(0, t) = m

∂2M

∂t2(0, t)−m~g.

L’avion est en s = L. Vue du câble, sa trajectoire t 7→ u(t) ∈ R3 est ponctuelle et considérée icicomme une entrée. La charge ponctuelle de masse m est en s = 0. Remarquons que ce systèmed’équations aux dérivées partielles n’est pas sous forme involutive : T est défini implicitementpar la contrainte de non extensibilité.

Cependant, en prenant N(s, t) =∫ s0 M(σ, t) dσ au lieu de M(s, t) comme variables (transfor-

mation de Bäcklund) on a avec les inconnues N et T le système suivant

ρ∂2N

∂t2= T (s, t)

∂2N

∂s2(s, t)− T (0, t)

∂2N

∂s2(0, t) + ρs~g∥∥∥∥∂2N

∂s2

∥∥∥∥ = 1

∂N

∂s(L, t) = u(t)

T (0, t)∂2N

∂s2(0, t) = m

∂3N

∂t2∂s(0, t)−m~g

N(0, t) = 0.

Supposons que l’on fixe la trajectoire de la charge t 7→ y(t) = ∂N∂s (0, t) au lieu de la trajectoire

de l’avion. Alors on peut facilement calculer la tension par (nous prenons la valeur positive pourT )

T (s, t) =∥∥∥∥ρ∂2N

∂t2(s, t)− (ρs+m)~g +my(t)

∥∥∥∥ .Ainsi on obtient une forme standard de Cauchy-Kovalevsky :

∂2N

∂s2(s, t) =

1T (s, t)

(ρ∂2N

∂t2(s, t)− (ρs+m)~g +my(t)

)N(0, t) = 0

∂N

∂s(0, t) = y(t).

Pour t 7→ y(t) analytique, le système ci-dessus admet une solution analytique en s autour de 0dès que T (0, t) 6= 0, i.e., y 6= ~g. Ce développement en série est très similaire aux calculs effectuésdans [79] sur un modèle discrétisé avec beaucoup de petits pendules ponctuels. Il n’est pas sûr,compte tenu des calculs sur la chaîne pesante de la figure 4.2, qu’un tel développement soitutilisable en pratique sauf s’il est complété par des techniques de séries divergentes [104].

5.4. Divers systèmes mécaniques

5.4.a. Avion classique. Les modèles représentant des avions conventionnels sont plats dès quel’on néglige certains effets aérodynamiques de faibles amplitudes. La sortie plate est le centre degravité et l’angle de dérapage. Nous renvoyons à [61] pour une étude détaillée.

Journees Nationales de Calcul Formel 2008 page 265

70 PHILIPPE MARTIN & PIERRE ROUCHON

5.4.b. Tige de forage. La dynamique en torsion d’une tige de forage de quelques kilomètresde longueur peut être représentée par une équation des ondes avec une condition aux limites non

Figure 5.12. Tige de forage en torsion

linéaire en fond, condition représentative de l’outil qui taille la roche (cf. figure 5.12). Nous avonsainsi comme dynamique :

(5.6)∂2t θ = ∂2

xθ, x ∈ [0, 1]∂xθ(0, t) = −u(t)∂xθ(1, t) = −F (∂tθ(1, t))− ∂2

t θ(1, t)

où [0, 1] 3 x 7→ θ(x, t) est le profil de torsion à l’instant t, u est la commande le couple exercé parun moteur au sommet du train de tige. Les équations sont normalisées et prennent en comptel’inertie des masses tiges au dessus de l’outil. La loi de comportement de l’outil est donnée parun frottement non linéaire F (v). D’autre lois plus complexes sont possibles, le système restantplat dès qu’elles ne dépendent que de l’angle y = θ(1, t) de l’outil, la sortie plate du système. Uncalcul simple avec les formules de d’Alembert montre que

2θ(x, t) = y(t+ 1− x) + y(t− (1− x)) + y(t+ 1− x)

− y(t− (1− x)) +∫ t+(1−x)

t−(1−x)F (y(τ)) dτ.

5.4.c. Gamelle d’eau. Nous reprenons ici les résultats de commandabilité obtenus sur leséquations de Saint-Venant linéarisées autour d’un équilibre [95]. La commandabilité du modèlenon-linéaire a été démontrée dans [19] avec des techniques très différentes. Il s’agit de transporterhorizontalement un fluide dans un récipient. La question est de contrôler les vagues engendréespar les mouvements du récipient et de trouver des profils d’accélération et de freinage pouraller d’une position fixe à une autre. Un modèle de commande simple issu des équations de la

Journees Nationales de Calcul Formel 2008 page 266

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 71

Figure 5.13. Fluide parfait dans un récipient se déplaçant horizontalement

mécanique des fluides s’obtient avec les équations de Saint-Venant [52]∂h

∂t+

∂x(hv) = 0

∂t(hv) +

∂x

(hv2 +

g

2h2)

= 0

v(t,D(t)− l

2) = D(t)

v(t,D(t) +l

2) = D(t)

et le système linéaire tangent autour d’une profondeur constante h. L’étude de ce linéaire tangentmontre qu’au premier ordre le système n’est pas commandable. En revanche, les points station-naires sont tous sur la même « feuille » de commandabilité, i.e., il est toujours possible d’allerd’un état stationnaire à un autre (au premier ordre). Les formules qui assurent un tel transfertsont les suivantes (pour les détails voir [95]).

v(t, x) =12

[Y(t+

x−D(t)c

) + Y(t− x−D(t)c

)].

h(t, x) =[√

h+1√4g

(Y(t− x−D(t)

c)− Y(t+

x−D(t)c

))]2

D(t) = (Y(t+∆2

) + Y(t− ∆2

))/2

avec t 7→ Y(t) une fonction arbitraire du temps, c =√hg la vitesse de propagation des vagues

et ∆ = l/c le temps que met une vague pour aller d’un bord à l’autre. La sortie plate Y admetune interprétation physique simple. Elle résume la répartition droite/gauche du fluide dans lerécipient. Comme l’illustre la figure 5.14, Y est l’abscisse du centre de gravité de deux masses

M− =∫ D(t)+L

2

D(t)h(t, s)ds, M+ =

∫ D(t)

D(t)−L2

h(t, s)ds

situées aux extrémités.

Figure 5.14. La « sortie plate » du linéaire tangent

Journees Nationales de Calcul Formel 2008 page 267

72 PHILIPPE MARTIN & PIERRE ROUCHON

Figure 5.15. Le problème à frontière libre de Stefan (diffusion et solidification) : la« sortie plate » est y = s(t).

5.4.d. Problème de Stefan. On reprend le problème à frontière libre 1D traité dans [24] etrappelé sur la figure 5.15. Supposons la fonction t 7→ s(t) donnée et C∞. On pose

x =∞∑0

(an(t)/n!)(x− s(t))n.

Alors des calculs simples donnent

a0 = 0, a1 = s, an+2 = an − a1an+1.

On montre que la série ci-dessus converge pour tout x dès que t 7→ s(t) est d’ordre Gevrey < 2(voir [24]). On en déduit des contrôles en boucle ouverte pour aller en temps fini T d’un étatstationnaire de longueur s(t) = L0 > 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 )∂zW (L, t).

5.4.e. Extrusion. Le modèle le plus simple d’un procédé d’extrusion fabriquant des fibresminces est proposé dans [1]. Comme illustré sur la figure 5.16, il s’agit d’un système impliciteaux dérivées partielles sur le domaine z ∈ [0, L]. Il caractérise le diamètre S(z, t) et la vitesseW (z, t) de la fibre (η est un paramètre >0). Usuellement, le contrôle est la vitesse u = W (L, t). Audelà 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 )∂zW (L, t) alors on est face à un problèmede type Cauchy-Kovalevsky en z (comme pour le câble aéro-tracté ci-dessus) et les instabilitésdisparaissent. En effet, de

S∂zW = y(t), ∂tS + ∂z(SW ) = 0

Journees Nationales de Calcul Formel 2008 page 268

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 73

on tire explicitement ∂zS et ∂zW en fonction de y, S, W et ∂tS. On dispose de deux conditionsinitiales en z = 0, S(0, t) = S0 et W (0, t) = W0 issues des conditions en sortie d’extrudeuse. Undéveloppement en série de puissances de z est donc a priori possible bien que son utilisation pourla 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 continupar modulation de largeur d’impulsions (PWM) obéit aux équations suivantes

x1 = (u− 1)x2

L+E

L, x2 = (1− u)

x1

LC− x2

RC,

où u ∈ [0, 1] est la commande, le rapport cyclique. L’énergie électromagnétique y :=x2

1

2C+x2

2

2Lest la sortie plate [118].

5.5.b. Paliers magnétiques. Une solution simple à la planification de trajectoires et à lastabilisation 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 nombred’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 desvariables complexes pour les grandeurs électriques (voir [56] pour plus de détails)

Rsıs + ψs = us ψs = Lsıs +Mejnθır

Rrır + ψr = 0 ψr = Me−jnθıs + Lrır,

où ψs et ıs (resp. ψr et ır) sont valeurs complexes des flux et courants stator (resp. rotor), θ estl’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

Jd2θ

dt2=

n

Rrρ2α− τL(θ, θ),

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 lignedécrite par l’équation des télégraphistes avec une pré-compensation des distorsions dues à la lignedirectement 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]) :

L∂i

∂t= −Ri− ∂v

∂x

C∂v

∂t= − ∂i

∂x−Gv.

avec 0 6 x 6 `. Par unité de longueur, la résistance est R, l’inductance L, la capacité C et laperditance G. L’élimination du courant i donne l’équation des télégraphistes

∂2v(x, t)∂x2

= (R+ L∂

∂t)(G+ C

∂t)v(x, t).(5.7)

Journees 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). Nousallons 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 :

(5.8) v′′(x, s) = $(s)v(x, s),

où $(s) = (R+ Ls)(G+ Cs). Les conditions aux limites donnent

(5.9) v(0, s) = u, (R+ Ls)v(`, s) = Zv′(`, s).

La solution générale de (5.8) est

v(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 deconsidérer la relation entre v et u, regardons la relation entre v et y(s) = v(`, s) :

(5.10) v(x, s) =(

cosh((`− x)√$(s)) +

R+ Ls

Z

sinh((`− x)√$(s))√

$(s)

)y(s).

Noter que le transfert entre v et y est une fonction entière de s. Ainsi y est une sortie plate.Pour x = 0 (5.10) donne

(5.11) u(s) =

cosh(`√$(s)

)+R+ Ls

Z

sinh(`√$(s)

)√$(s)

y(s).

Supposons G = 0 pour plus de simplicité. La formule (5.11) donne, de retour dans le domainetemporel, (λ = `

√LC, α = R/2L, $(s) = RCs+ LCs2)

u(t) =12e−αλ(1− 1

Z

√L

C) y(t− λ) +

12eαλ(1 +

1Z

√L

C) y(t+ λ)

+∫ +λ

−λ

[R

4Z√LC

e−ατJ0

(iα√τ2 − λ2

)+

e−ατ iα2√τ2 − λ2

(λ− 1

Z

√L

)J1

(iα√τ2 − λ2

)]y(t− τ) dτ

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 construireun 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

dt= ωx2,

dx2

dt= −ωx1 + ux3,

dx3

dt= −ux2

avec le contrôle scalaire u (typiquement proportionnel au champ électrique) et ω une pulsationconstante. Comme (x1)2 + (x2)2 + (x3)2 est invariant, la dynamique est restreinte sur la sphère

Journees Nationales de Calcul Formel 2008 page 270

SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 75

unité (sphère de Bloch) : (x1)2 + (x2)2 + (x3)2 = 1. Alors y = x1 est une sortie plate car

x1 = y, x2 = y(1)

ω , x3 = ±√

1− y2 − (y(1))2

ω2 , u = ± y+ y(2)

ω2√1−y2− (y(1))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) maisSU(2) : les calculs y sont alors conduits avec les quaternions. Dans [74], on montre que la partiecommandable 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 étatpropre, 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 retourdécrite dans [20]. Pour d’autres résultats sur la commandabilité d’équations de Schrödinger 1Dayant une structure voisine voir [9, 8]. On trouvera enfin dans [110] plusieurs autres exemplesde dimension finie et infinie.

5.7. Réacteurs chimiques

Le réacteur exothermique parfaitement considéré dans [4] admet la description suivante :dx1

dt= D(xin1 − x1)− kx1e

−T∗x2 ,

dx2

dt= D(xin2 − x2) + cx1e

−T∗x2 + u

avec l’état x = (x1, x2) et le contrôle scalaire u, les autres grandeurs étant des paramètresstrictement 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 etx2. Ainsi, u est une fonction de y, y(1) et y(2). Nous renvoyons à [107] pour des calculs similairesavec des simulations en boucle fermée sur un réacteur plus complexe. Dans [113], on trouveraune 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 Mo-deling. Hanser, 1991.

[2] Y. Aoustin, M. Fliess, H. Mounier, P. Rouchon, and J. Rudolp. Theory and practice in the motionplanning and control of a flexible robot arm using Mikusiński operators. In Proc. of the Fifth IFACSymposium 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 feed-back 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/inria-00071538/en/.

[6] D. Avanessoff and J.-B. Pomet. Flatness and Monge parameterization of two-input systems, control-affine with 4 states or general with 3 states. ESAIM : Control, Optimisation and Calculus ofVariations, 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.

Journees 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 DifferentialSystems. Springer, 1991.

[11] G. Campion, B. d’Andrea Novel, and G. Bastin. Structural properties and classification of kinematicand 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 certainesfamilles 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ürreine 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 waterequations. 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 controlin 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 accessibilityconditions 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érentiellementplats. 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 trans-formations 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 fordriftless 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 andflatness 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 à retardsconstants. C.R. Acad. Sci. Paris, I-319 :289–294, 1994.

[34] M. Fliess and H. Mounier. Controllability and observability of linear delay systems : an algebraicapproach. ESAIM : Control, Optimisation and Calculus of Variations, 3 :301–314, 1998.

Journees 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 lineardelay systems with an application to a flexible rod. In Proc. of the 34th IEEE Conf. on Decisionand 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 Mi-kusiński et commande d’une poutre flexible. In ESAIM Proc. “Élasticité, viscolélasticité et contrôleoptimal”, 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 thecontrol of a tubular reactor : A multi- variable case. In Proc. of the 37th IEEE Conf. on Decisionand Control, pages 439– 442, 1998.

[38] M. Gevrey. La nature analytique des solutions des équation aux dérivées partielles. Ann. Sc. EcoleNorm. 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 ofControl, 81(10) :1645–1663, 2008.

[43] S. Haroche and J.M. Raimond. Exploring the Quantum : Atoms, Cavities and Photons. OxfordUniversity Press, 2006.

[44] J. Hauser, S. Sastry, and P. Kokotović. Nonlinear control via approximated input-output lineariza-tion : 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. Auto-mat. 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.

Journees Nationales de Calcul Formel 2008 page 273

78 PHILIPPE MARTIN & PIERRE ROUCHON

[62] Ph. Martin. A geometric sufficient conditions for flatness of systems withm inputs andm+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 : MarthematicalTheory 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 VTOLaircraft. 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 SignalSyst., 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 statesis 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. IFACWorld Congress, pages 389–394, San Francisco, 1996.

[71] Ph. Martin, P. Rouchon, and J. Rudolph. Invariant tracking. ESAIM : Control, Optimisation andCalculus 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 diffusion-convection-reaction systems using summability methods. Industrial & Engineering Chemistry Re-search, 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 Au-tomatic 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 queles équations aux différences ordinaires pour lesquelles les conditions d’intégrabilité ne sont passatisfaites 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 WorldCongress, 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 andExposition, San Francisco, November 1995.

[81] R.M. Murray. Nilpotent bases for a class on nonintegrable distributions with applications to tra-jectory 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. IEEETrans. Automat. Control, 38 :700–716, 1993.

[83] Iu I. Neimark and N.A. Fufaev. Dynamics of Nonholonomic Systems, volume 33 of Translations ofMathematical Monographs. American Mathematical Society, Providence, Rhode Island, 1972.

[84] M. van Nieuwstadt and R. M. Murray. Approximate trajectory generation for differentially flatsystems with zero dynamics. In Proc. of the 34th IEEE Conf. on Decision and Control, pages4224–4230, New Orleans, 1995.

Journees 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 inMathematics. 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 AutomaticControl, 53(3), 2008.

[92] N. Petit, Y. Creff, and P. Rouchon. δ-freeness of a class of linear delayed systems. In EuropeanControl Conference, Brussels, 1997.

[93] N. Petit, Y. Creff, and P. Rouchon. Motion planning for two classes of nonlinear systems withdelays 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 twoinputs. 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.

Journees 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 withn-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 distil-lation, 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 the-

sis, 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 conver-

ters. 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 Saint-Michel, 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 Saint-Michel, 75272 Paris cédex 06 • E-mail : [email protected]

Journees Nationales de Calcul Formel 2008 page 276

Calculs “exacts” avec une arithmétique approchée

Jean-Michel MullerCNRS - 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 virguleflottante ;Konrad Zuse : Z3 (1941) : base 2, mantisses de 14 bitsexponents de 7 bits. Mémoire de 16 nombres. Voirhttp://www.epemag.com/zuse/

-2-

Virgule flottante

utilisée partout en calcul scientifique ;x = mx × β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 observableLongueur de Planck

≈ 1062

précision : certaines prédictions de la mécanique quantique etde la relativité générale vérifiées avec erreur relative ≈ 10−14

calculs intermédiaires : “quad précision” (113 bits) etalgorithmes sophistiqués pour la stabilité à trèèèès long termedu 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 donnait0.666869 · · · au lieu de 0.666910 · · · ;

Excel, version 3.0 to 7.0, entrez 1.40737488355328, vousobtiendrez 0.64Sur certains ordinateurs Cray on pouvait déclencher unoverflow en multipliant par 1 ;Excel’2007 (premières versions), calculez 65535− 2−37, vousobtiendrez 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 nombrerepré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 : base β ≥ 2précision p ≥ 1exposants 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 quex = 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 nombresous-normal est un zéro.Correspond à ±0.xxxxxxxx × βemin .

-8-

0 βemin βemin+1 βemin+2

0 βemin βemin+1 βemin+2

aa − b b

aa − b b

Figure: En haut : nombres VF normaux. Dans cet ensemble, a− b n’estpas représentable → le calcul a− b donnera 0 en arrondi au plus près. Enbas : on ajoute les sous-normaux.

-9-

Système β p emin emax + grand représ.DEC VAX 2 24 -128 126 1.7 · · · × 1038

( D format ) 2 56 -128 126 1.7 · · · × 1038

HP 28, 48G 10 12 -500 498 9.9 · · · × 10498

IBM 370 16 6 (24 bits) -65 62 7.2 · · · × 1075

et 3090 16 14 (56 bits) -65 62 7.2 · · · × 1075

IEEE-754 2 23+1 -126 127 3.4 · · · × 1038

2 52+1 -1022 1023 1.8 · · · × 10308

IEEE-754-R“binary 128” 2 112+1 -16382 16383 1.2 · · · × 104932

IEEE-754-R“decimal 64” 10 16 -383 384 9.999 · · · 9× 10384

-10-

Norme IEEE-754 pour l’arithmétique flottante (1985, et2008)

a mis fin à une pagaille (très mauvaise portabilité desalgorithmes numérique) ;leader : W. Kahan (père de l’arithmétique des HP35 et Intel8087) ;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 retournerce qu’on obtiendrait en arrondissant le résultat exact.

-12-

Arrondi correct

IEEE-754-1985 : Arrondi correct pour +, −, ×, ÷, √ et certainesconversions. Avantages :

si le résultat d’une opération est exactement représentable, onl’obtient ;si on n’utilise que +, −, ×, ÷ et √, l’arithmétique estdéterministe : on peut élaborer des algorithmes et des preuvesqui utilisent ces spécifications ;précision et portabilité améliorées ;en jouant avec les arrondis vers +∞ et −∞→ bornescertaines sur le résultat d’un calcul.

L’arithmétique VF devient une structure mathématique en ellemê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 deuxnombres VF positifs. Si

a2≤ b ≤ 2a

alors a − b est un nombre VF (→ il est calculé exactement dansn’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)

etr = (a + b)− s.

s’il n’y a pas de dépassement de capacité en calculant s, alors r estun nombre VF.

-15-

Erreur de l’addition VF (Møller, Knuth, Dekker)

Démonstration : Supposons |a| ≥ |b|,1 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|, parconséquent

|r | ≤ |b|.2 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érifientea ≥ 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)

s ← RN (a + b)z ← RN (s − a)r ← RN (b − z)

Programme C 1s = a+b;z = s-a;r = 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 estreprésentable et b − z = r , on trouve RN (b − z) = r .si a et b sont de signes opposés, alors

1 soit |b| ≥ 12 |a|, auquel cas (lemme Sterbenz) a + b est exact,

donc s = a + b, z = b et t = 0 ;2 soit |b| < 1

2 |a|, auquel cas |a + b| > 12 |a|, donc s ≥ 1

2 |a| (base2→ 1

2a est représentable, et l’arrondi est croissant), donc(lemme Sterbenz) z = RN (s − a) = s − a = b − r . Commer = (a + b)− s est représentable et b − z = r , on trouveRN (b − z) = r .

-18-

Algorithme TwoSum (Møller-Knuth)

pas besoin de comparer a et b ;6 opérations au lieu de 3→ moins cher qu’une mauvaiseprédiction de branchement en comparant a et b.

Algorithme 2 (TwoSum)

s ← RN (a + b)a′ ← RN (s − b)b′ ← RN (s − a′)δa ← RN (a − a′)δb ← RN (b − b′)r ← RN (δa + δb)

Knuth : ∀β, en absence d’underflow etd’overflow a + b = s + r , et s est lenombre VF le plus proche de a + b.

Boldo et al : (preuve formelle) en base2, 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 ← x1c ← 0for i = 2 to n doy ← (xi − c)t ← (s + y)c ← ((t − s)− y)s ← t

end forreturn s

-20-

Kahan : compensated summation

Le même, réécrit avec des Fast2Sum.

Algorithme 4

s ← x1c ← 0for i = 2 to n doy ← (xi + c ′)(s, c ′)← Fast2Sum(s, y)

end forreturn 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 unnombre VF ;

obtenu par l’algorithme TwoMultFMA

p = RN (ab)r = RN (ab − p)

→ 2 opérations seulement. p + r = ab.sans fma, algorithme de Dekker : 17 opérations (7 ×, 10 ±).

Itanium 2 PowerPC 5

-22-

Une autre propriété (Kahan)

z =x√

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 laplupart des programmeurs, qui pourront par exemple calculer unefonction de z définie seulement entre −1 et +1.

-23-

L’algorithme de Malcolm-Gentleman

Algorithme 5

A← 1.0B ← 1.0while ((A + 1.0)− A) = 1.0 doA← (2× A)

end whilewhile ((A + B)− A) 6= B doB ← (B + 1.0)

end whilereturn 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.Donctant que 2i ≤ βp − 1,on reste dans la 1ère boucle.Considérons la 1ère itération j t.q. 2j ≥ βp. On aAj = (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 soitAj soit Aj + β donc ((Aj + 1.0)− Aj) vaudra 0 ou β : dans tousles 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 deA est A + β. Donc tant que B < β, (A + B) vaut soit A soitA + β → ((A + B)− A) vaut 0 ou β : dans les 2 cas on restedans 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 queB = β

-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 SylvieBoldo la transcrive en Coq.

-27-

On n’a pas besoin d’ordinateurs pour commettre des sottises

la sonde Mars Climate Orbiters’est écrasée sur Mars en 1999 ;une partie des développeurs deslogiciels supposait que l’unité demesure était le mètre ;l’autre partie croyait que c’étaitle pied.

-28-

ULP : Unit in the Last Place

Base β, precision p. Dans ce qui suit, x est un réel, et X un nombreVF 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 | < 12ulp (x)⇒ X = RN (x).

Pas vrai en base ≥ 3. Pas vrai non plus (même en base 2) si onremplace ulp (x) par ulp (X ).

-29-

Propriété 2

Dans n’importe quelle base,

X = RN (x)⇒ |X − x | ≤ 12ulp (x).

Propriété 3

Dans n’importe quelle base,

X = RN (x)⇒ |X − x | ≤ 12ulp (X ).

-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écisionp, base 2. On veut calculer a/b. On suppose 1 ≤ a < 2 et1 ≤ 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 lespremiers (typiquement 6 à 10) bits de b ;on décompose l’itération en deux fmas :

en = RN (1− byn)yn+1 = RN (yn + enyn)

où RN (x) est l’arrondi au plus près de x .-31-

Propriété 4

Si ∣∣∣∣1b − yn

∣∣∣∣ < α2−k ,

où 1/2 < α ≤ 1 et k ≥ 1, alors∣∣∣∣1b − yn+1

∣∣∣∣ < b(1b− yn

)2

+ 2−k−p + 2−p−1

< 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 − 1b | < 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 envirgule flottante avec une précision de p bits → il est calculéexactement.

⇒∣∣∣∣1b − yn+1

∣∣∣∣ < b(1b− yn

)2

+ 2−p−1.-33-

∣∣∣∣yn − 1b

∣∣∣∣ < α2−p ⇒∣∣∣∣yn+1 − 1

b

∣∣∣∣ < bα22−2p + 2−p−1

(en supposant α < 1)

yn+1

1/b peut être dans cette zone

1/b doit être là pour êtreà plus d’1/2 ulp de 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 debα22−2p < b2−2p du milieu de deux nombres VF consécutifs ;implique que la distance entre yn et 1/b est de la forme2−p−1 + ε, avec |ε| < b2−2p ;implique α < 1

2 + b2−p et donc∣∣∣∣yn+1 − 1b

∣∣∣∣ < (12

+ b2−p)2

b2−2p + 2−p−1

donc pour être à plus d’1/2 ulp de yn+1, 1/b doit être à moinsde(1

2 + b2−p)2 b2−2p du milieu de deux nombres VFconsécutifs.

-35-

b est un nombre VF entre 1 et 2 (strictement) ⇒ il est de laforme 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 formeg = (2G + 1)/2p+1 où G est un entier, 2p−1 ≤ G < 2p − 1 ;on en déduit ∣∣∣∣g − 1

b

∣∣∣∣ = ∣∣∣∣2BG + B − 22p

B.2p+1

∣∣∣∣la distance entre 1/b et le milieu de 2 nombres machines estun multiple de 1/(B.2p+1) = 2−2p/b. Elle n’est pas nulle (saufdans le cas trivial où b = 1).

-36-

Distance entre 1/b et g , en supposant 1/b à plus d’1/2 ulpde yn+1

de la forme k2−2p/b, k ∈ Z ;on doit avoir

|k |2−2p

b<

(12

+ b2−p)2

b2−2p

ce qui entraîne

|k | <(12

+ 2−p+1)2

b2

dès que p ≥ 4, la seule solution est |k | = 1 ;

de plus, pour |k | = 1, la relation 1 <(1

2 + 2−p+1)2 b2 entraineb > 1/

(12 + 2−p+1) soit (b est un nombre VF < 2)

b ∈ 2− 2−p+1, 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 − 32p−1 ≤ G ≤ 2p − 1B(2G + 1) = 22p ± 1

En pratique il n’y en a qu’un : B = 2p − 1 et G = 2p−1 : vientde 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 valeurspossibles de yn à moins d’un ulp de 1/b (i.e. les 2 nombres VFqui encadrent 1/b). La plupart du temps, ça marche (si uneseule marche, essayer de “bricoler” la table qui donne y0).

-38-

Application : double précision (p = 53)

On part de y0 tel que |y0 − 1b | < 2−8. On calcule :

e0 = RN (1− by0)y1 = RN (y0 + e0y0)e1 = RN (1− by1)y2 = RN (y1 + e1y1)e2 = RN (1− by1)y3 = RN (y2 + e2y2) erreur ≤ 0.57 ulpse3 = RN (1− by2)y4 = RN (y3 + e3y3) 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 oncalcule 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 + r0y)

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 plusprès, et si q est à au plus un ulp de a/b, alors en effectuant

r = RN (a − bq)q′ = (q + ry)

On obtient q′ = (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 constanteré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), . . .autre cas fréquent : C = 1

FP number (division par uneconstante) ;

-41-

Méthode naïve

remplacer C par Ch = RN (C ) ;calculer RN (Chx) (instruction y = Ch * x).

p Prop. de résultats-correctement arrondis

5 0.937506 0.781257 0.59375· · · · · ·16 0.8676517 0.73558· · · · · ·24 0.66805

Proportion de nombres VF x pour lesquels RN (Chx) = RN (Cx) pourC = π 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, calculeru1 = RN (C`x),u2 = RN (Chx + 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 unepuissance de 2 ;

-44-

L’algorithme

Algorithme 6

A partir de x, calculeru1 = RN (C`x),u2 = RN (Chx + 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éponsecomplète ;Méthode 2 : donne tous les “mauvais cas”, ou certifie qu’il n’yen 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 | < 12ulp (u2) + 2 ulp (C`).

-46-

Analysons l’algorithme

Rappel : |u2 − Cx | < 12 ulp (u2) + η avec η = 2 ulp (C`).

u2

nombres VF

trouver

Si Cx est ici, alors RN (Cx) = u2

Cx peut-il être là ?

2ηDomaine oùCx peut se

2η12 ulp (u2)

-47-

Analysons l’algorithme

on sait que Cx est à moins de 1/2 ulp (u2) + 2 ulp (C`) dunombre VF u2.Si on montre que Cx ne peut être à une distance≤ η = 2 ulp (C`) du milieu de 2 nombres VF consécutifs, alorsu2 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 = bric ,ri+1 = 1/(ri − ai ).

Si β /∈ Q, ces suites sont définies ∀i , et le nombre rationnel

pi

qi= a0 +

1

a1 +1

a2 +1

a3 +1

. . . +1ai

est la ième réduite de β. Si β ∈ Q, ces suites s’arrêtent pour uncertain 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 que0 ≤ 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∣∣∣∣pq − β∣∣∣∣ < 1

2q2

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 casdistincts (très semblables) ;soit xcut = 2/C . Soient X = 2p−1x et Xcut =

⌊2p−1xcut

⌋.

on ne détaille que le cas x < xcut.

Milieu de deux nombres VF consécutifs au voisinage de Cx : 2A+12p

où A ∈ Z, 2p−1 ≤ A ≤ 2p − 1→ on cherche à savoir s’il peutexister 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 et2p − 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équent1 Si δ ≥ 2pη alors |Cx − A/2p| < η est impossible ⇒

l’algorithme renvoie RN (Cx) pour tout x < xcut ;2 si δ < 2pη, on essaie l’algorithme avec x = qk2−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/562949953421312Cl = 4967757600021511/81129638414606681695789005144064xcut = 1.2732395447351626862, Xcut = 5734161139222658eta = .8069505497e-32pk/qk = 6134899525417045/1952799169684491delta = .9495905771e-16OK for X < 5734161139222658etaprime = .1532072145e-31pkprime/qkprime = 12055686754159438/7674888557167847deltaprime = .6943873667e-16OK for 5734161139222658 <= X < 9007199254740992

⇒ On obtient toujours un arrondi correct pour C = 2kπ et p = 53, avecCh = 2k−48 × 884279719003555 et C` = 2k−105 × 4967757600021511.

Conséquence 1

Multiplication correctement arrondie par π en double précision : unemultiplication et un fma.

-54-

Méthode 2

À nouveau, deux cas. Ici : x > xcut (cas x < xcut = 2/Csimilaire) ;On cherche x = X/2p−1, Xcut ≤ X ≤ 2p − 1 t.q. ∃Asatisfaisant ∣∣∣∣C X

2p−1 −2A + 12p−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

X

∣∣∣∣ < 12X 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 lesX , Xcut ≤ X ≤ 2p − 1 t.q.

X (Ch + C`) +1

2p+1

≤ 1

2p ,

où y est la partie fractionnaire de y : y = y − byc.Algorithme (voir plus loin) pour trouver les entiersX ,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 p Méthode 1 Méthode 21/π 24 pas de réponse marche toujours

1/π 53Ne marche pas

pour6081371451248382

marche toujourssauf siX =

6081371451248382

1/π 64 marche toujours marche toujours1/π 113 pas de réponse marche toujoursln 2 24 marche toujours marche toujoursln 2 53 marche toujours marche toujoursln 2 64 marche toujours marche toujoursln 2 113 marche toujours marche toujours

Table: Les résultats donnés pour la constante C sont valables pour toutesles constantes 2±jC.

-58-

Conclusion sur la multiplication par une constante

Deux méthodes pour tester si la multiplication correctementarrondie par une constante “infiniment précise” peut se faire à coûtréduit (une multiplication et un fma).

méthode 1 : ne permet pas toujours de conclure, mais estsimple et rapide → compilation ?méthode 1 : donne tous les contre-exemples ou certifie quel’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 doubleprécision.

-62-

Le tableau de la honte

Système sin(1022)

résultat exact −0.8522008497671888017727 · · ·HP 48 GX −0.852200849762HP 700 0.0HP 375, 425t (4.3 BSD) −0.65365288 · · ·matlab V.4.2 c.1 pour Macintosh 0.8740matlab V.4.2 c.1 pour SPARC −0.8522SPARC −0.85220084976718879IBM RS/6000 AIX 3005 −0.852200849 · · ·DECstation 3100 NaNCasio fx-8100, fx180p, fx 6910 G ErrorTI 89 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 def (x) dont l’erreur sur la mantisse est ≤ 2−m.peut être fait avec format intermédiaire plus grand, avecTwoSum, TwoMultFMA, etc.obtenir un arrondi correct de f (x) à partir de y : impossible sif (x) est trop proche d’un point où l’arrondi change (en arrondiau plus près : milieu de 2 nombres VF consécutifs).

-64-

Arrondi correct des fonctions élémentaires

Arrondi au + près,

m bitsz | 1.xxxxx · · · xxx| z

p bits

1000000 · · · 000000 xxx · · ·

oum bitsz |

1.xxxxx · · · xxx| z p bits

0111111 · · · 111111 xxx · · · ;

autres modes,m bitsz |

1.xxxxx · · · xxx| z p bits

0000000 · · · 000000 xxx · · ·

oum bitsz |

1.xxxxx · · · xxx| z p bits

1111111 · · · 111111 xxx · · · .

-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 ⇒ ez

transcendant) → à l’exception de quelques cas triviaux (e0,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 grandeurde mmax. Pourrait être trop grand pour être d’un quelconqueinté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écisesur environ

10244 bitsHeureusement, 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× (lnB + ln lnA + 2 ln(E |β|+) + 10)

× (lnA + 2E |β|+ 6 lnE )× (3.3 ln(2) + lnE )× (lnE )−2),

where |β|+ = max(1, |β|).Application : Pour calculer ln et exp en double précision (p = 53), ilfaut 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 :

y = y0.y1y2 · · · yp−1

kbitsz | 01111111 · · · 11 xxxxx · · ·

ou

y = y0.y1y2 · · · yp−1

kbitsz | 10000000 · · · 00 xxxxx · · ·

avec k ≥ 1.

En supposant qu’après le rang p les chiffres “1” et “0” ont lamême probabilité d’apparaître, la “probabilité” d’avoir k ≥ k0est 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 fonctionspour 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 VFet “milieux” ;

mise à l’échelle →entiers ;

est ce que la droiteest très proched’un point de lagrille ?

il est très probableque la réponse est“non”.

très petit an − bmod 1

-71-

an mod 1

0 1

0 1

0 1

0 1

d1 = h1 d2 = `1

d1 d2d3

d3 = `2 d2 = h2

d3 d2 d4

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 ?

0 1

0 1

0 1

0 1

d1 = h1 d2 = `1

d1 d2d3

d3 = `2 d2 = h2

d3 d2 d4

b

b

b

b

on ne construit pas tous les points : on les compte (pours’arrêter dès qu’il y en a plus de T ) ;on ne met à jour que les 2 points qui encadrent b, et onmémorise la distance à celui de gauche ;

-73-

Résultats

Table: Pires cas pour l’exponentielle de nombres double précision.

Interval worst case (binary)

[−∞,−2−30]exp(−1.1110110100110001100011101111101101100010011111101010× 2−27)

= 1.111111111111111111111111100 · · · 0111000100 1 1590001...× 2−1

[−2−30, 0)exp(−1.0000000000000000000000000000000000000000000000000001× 2−51)

= 1.111111111111111 · · · 11111111111111100 0 01001010...× 2−1

(0, +2−30]exp(1.1111111111111111111111111111111111111111111111111111× 2−53)

= 1.0000000000000000000000000000000000000000000000000000 1 11040101...

[2−30, +∞]

exp(1.0111111111111110011111111111111011100000000000100100× 2−32)

= 1.0000000000000000000000000000000101111111111111101000 0 0571101...

exp(1.1000000000000001011111111111111011011111111111011100× 2−32)

= 1.0000000000000000000000000000000110000000000000010111 1 1570010...

exp(1.1001111010011100101110111111110101100000100000001011× 2−31)

= 1.0000000000000000000000000000001100111101001110010111 1 0571010...exp(110.00001111010100101111001101111010111011001111110100)

= 110101100.01010000101101000000100111001000101011101110 0 0571000...

-74-

Résultats

Table: Pires cas pour les logarithmes de nombres double précision.

Interval worst case (binary)

[2−1074, 1)log(1.1110101001110001110110000101110011101110000000100000× 2−509)

= −101100000.00101001011010100110011010110100001011111111 1 1600000...

log(1.1001010001110110111000110000010011001101011111000111× 2−384)

= −100001001.10110110000011001010111101000111101100110101 1 0601010...

log(1.0010011011101001110001001101001100100111100101100000× 2−232)

= −10100000.101010110010110000100101111001101000010000100 0 0601001...

log(1.0110000100111001010101011101110010000000001011111000× 2−35)

= −10111.111100000010111110011011101011110110000000110101 0 1600011...

(1, 21024]log(1.0110001010101000100001100001001101100010100110110110× 2678)

= 111010110.01000111100111101011101001111100100101110001 0 0641110...

-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 ex ;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-