Mathematiques et Technologie

Document Sample
Mathematiques et Technologie Powered By Docstoc
					  Springer Undergraduate Texts
in Mathematics and Technology
  Directeurs de collection
Jonathan M. Borwein
      Helge Holden

       Comité de Lecture
       Lisa Goldberg
          Armin Iske
 Palle E.T. Jorgensen
Stephen M. Robinson
Christiane Rousseau
Yvan Saint-Aubin



Mathématiques et Technologie

Avec la participation d’Hélène Antaya et d’Isabelle Ascah-Coallier




123
Christiane Rousseau                                                          Yvan Saint-Aubin
Département de mathématiques                                                 Département de mathématiques
     et de statistique                                                            et de statistique
Université de Montréal                                                       Université de Montréal
C.P. 6128, Succursale Centre-ville                                           C.P. 6128, Succursale Centre-ville
Montréal, Québec H3C 3J7                                                     Montréal, Québec H3C 3J7
Canada                                                                       Canada
rousseac@dms.umontreal.ca                                                    saint@dms.umontreal.ca



Directeurs de collection

Jonathan M. Borwein                                                          Helge Holden
Faculty of Computer Science                                                  Department of Mathematical Sciences
Dalhousie University                                                         Norwegian University Science and
Halifax, Nova Scotia B3H 1W5                                                      Technology
Canada                                                                       Alfred Getz vei 1
jborwein@cs.dal.ca                                                           NO-7491 Trondheim
                                                                             Norway
                                                                             holden@math.ntnu.no



ISBN: 978-0-387-69212-8                   e-ISBN: 978-0-387-69213-5

Library of Congress Control Number: 2007942237

Mathematics Subject Classi cation (2000): 00-01, 03-01, 42-01, 49-01, 94-01, 97-01

© 2008 Springer Science+ Business Media, LLC

All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the
publisher (Springer Science+ Business Media, LLC, 233 Spring Street, New York, NY 10013, USA) and the author,
except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or
hereafter developed is forbidden.
The use in this publication of trade names, trademarks, service marks and similar terms, even if they are not identi ed
as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.

Tous droits réservés. Aucune partie du présent ouvrage ne peut être traduite ou reproduite sans l’autorisation écrite de
l’éditeur (Springer Science+ Business Media, LLC, 233 Spring Street, New York, NY 10013, USA), exception faite de
courts extraits dans le cadre d’une critique ou d’un ouvrage savant. Son exploitation par tout procédé de stockage et
d’extraction de données, d’éditique ou de traitement informatique, ou par tout autre moyen, semblable ou différent,
connu ou à venir, est strictement interdite.
Dans cette publication, l’emploi d’appellations commerciales, de marques de commerce ou de service et d’autres
termes de même nature ne représente pas l’expression d’un avis sur leur assujettissement potentiel à des droits de
propriété intellectuelle.

Printed on acid-free paper. / Imprimé sur papier non acide.

987654321

springer.com
  e
Pr´face




     `                        e                            ee       e         e
     A quoi servent les math´matiques ? Tout n’a-t-il pas ´t´ trouv´ en math´matiques ?
                                                    e                             e
Voici des questions bien naturelles pour de jeunes ´tudiants universitaires. Les r´ponses
de leurs professeurs sont, la plupart du temps, rapides. En effet, les cours, structur´se
          e
et charg´s, s’accomodent mal de digressions qui permettraient de donner des exemples
d’applications.
            e                       e          e
     Les mˆmes questions sont pos´es dans les ´coles d’enseignement secondaire, par plus
   e
d’´tudiants et avec plus d’insistance. Les maˆ              e          e
                                               ıtres de ces ´coles ont ´videmment la vie
                                          e               e             c         e
plus dure que les professeurs d’universit´. S’ils savent r´pondre de fa¸on comp´tente ` a
                           e                           e                            e
ces questions, c’est peut-ˆtre qu’ils l’ont appris aupr`s de ceux qui les ont form´s. Et
                        a
s’ils ne le savent pas, ` qui la faute ?
           e
La gen`se du livre
                                         e                  e                   u
    Il est impossible d’introduire le pr´sent livre sans pr´senter le cours d’o` il tire ses
                           e                           e e ee a             e
origines. Le cours Math´matiques et technologie a ´t´ cr´´ ` l’Universit´ de Montr´al     e
           e               e
et donn´ pour la premi`re fois au trimestre d’hiver 2001, pour pallier le fait que trop
                        e    e         e     e                              e
peu d’applications r´elles ´taient pr´sent´es dans nos cours. Depuis le d´but, le cours
      e                                        e          e
Math´matiques et technologie de l’Universit´ de Montr´al s’adresse principalement aux
futurs maˆ                                       e                a           e
             ıtres au secondaire, quoiqu’il soit ´galement ouvert ` tous les ´tudiants de
       e
math´matiques.
                                           e                             e
    Il n’existait pas de manuel appropri´ pour ce que nous voulions r´aliser. Ceci nous
         e                           a e
a incit´, dans un premier temps, ` ´crire des notes de cours. Nous nous sommes pris
                                                                e
au jeu, si bien que ce livre contient maintenant plus de mat´riel que ce qui peut ˆtre  e
          e                                                                  e
enseign´ en un seul trimestre. Et, quoique nous soyons tous deux des math´maticiens de
      e                                                                  e
carri`re, nous devons avouer que nous ne connaissions pas ou peu les d´tails de plusieurs
                             e
des applications qui sont d´crites dans les chapitres qui suivent.
VI        e
        Pr´face

Les objectifs d’un cours Math´matiques et technologie
                             e
                                                          e                     e
    Les objectifs d’un tel cours sont de montrer le caract`re vivant des math´matiques
               e                 e                                           e
et leur omnipr´sence dans le d´veloppement des technologies, et d’initier l’´tudiant au
                   e                        e
processus de mod´lisation conduisant au d´veloppement de certaines applications des
      e
math´matiques.
    Quoique quelques-uns des sujets couverts sortent maintenant du cadre strict des
                         e                                         e
technologies, nous esp´rons faire comprendre que, oui, les math´matiques servent, et
elles servent dans plusieurs applications de la vie de tous les jours. De plus, certains
                 e                 e                                      e
des sujets abord´s sont en plein d´veloppement et permettent donc aux ´tudiants de se
                                       e                    e                    e
rendre compte, souvent pour la premi`re fois, que les math´matiques sont en ´volution
et que de nombreuses questions demeurent ouvertes.
    Puisque le cours accueille un nombre important de futurs maˆıtres au secondaire, il est
important de souligner que le but n’est pas de leur fournir des exemples d’applications
                                         `      ee                            e
qu’ils pourront enseigner directement a leurs ´l`ves, mais bien de leur pr´senter des
exemples tangibles d’applications et de leur donner des outils pour qu’ils puissent eux-
  e                   e                                  a                       ee
mˆmes, plus tard, pr´parer des exemples d’applications ` l’intention de leurs ´l`ves. Ils
                                            e                        e
doivent sentir qu’ils enseigneront une mati`re d’une grande beaut´, certes, mais dont
                        c   e                                      e
les applications ont fa¸onn´ l’environnement humain et sa compr´hension.
Le choix des sujets
                                                        e                         e
    En choisissant les applications, nous avons port´ une attention particuli`re aux points
suivants.
    • Les applications sont modernes ou touchent le quotidien des ´tudiants. De plus,
                                                                            e
                                    e             u            e
      contrairement aux math´matiques mˆ res enseign´es dans les autres cours, les
             e                e                              `                e
      math´matiques utilis´es ici appartiennent parfois a des chapitres r´cents ou mˆme,   e
                    e
      encore en d´veloppement.
    • Les math´matiques demeurent relativement ´l´mentaires et, si elles d´passent
                  e                                       ee                           e
                                                            e       e                 e
      les premiers cours du premier cycle (calcul, alg`bre lin´aire, probabilit´s) et les
             e
      math´matiques du secondaire, les aspects manquants sont couverts dans le cadre
                                   e                                      e
      du chapitre. Un effort sp´cial est fait pour donner aux math´matiques du secon-
                                  e e                                               e
      daire, en particulier la g´om´trie, une place de choix. Le bagage math´matique de
                        ıte a                       `
      base est une boˆ ` outils remarquable, a condition de bien connaˆ et maˆ ıtre      ıtriser
                                      a
      ces outils, de se laisser aller ` explorer leur polyvalence et, souvent pour la premi`re
                                                                                             e
                e                                                                   e
      fois, de d´couvrir combien ils deviennent puissants lorsqu’ils sont utilis´s ensemble.
    • Les applications choisies font ressortir la puissance de l’outil math´matique : pour
                                                                              e
                               e                               e                 e
      le scientifique, les id´es sont la chose la plus pr´cieuse et, derri`re la plupart
            e                                          e                e
      des r´ussites technologiques, il y a une id´e brillante, mˆme si elle est parfois
      ee
      ´l´mentaire.
                                             e e         e                     e
   Les sujets sont choisis tant pour leur int´rˆt intrins`que que pour les math´matiques
auxquelles ils font appel.
   • La droite et le plan apparaissent sous toutes leurs formes (´quation r´guli`re,
                                                                      e          e   e
     e                e                                         c
     ´quation param´trique, droite de l’espace), parfois de fa¸on inattendue (les plans
                                                                              e
                                                                            Pr´face     VII

                                                                          ea
       qui s’intersectent pour permettre la lecture d’un message encod´ ` l’aide du code
       de Reed–Solomon).
   •           e                                            e          e e
       Un tr`s grand nombre de sujets font appel aux d´finitions g´om´triques d’objets
         e e                                     e
       g´om´triques usuels : le cercle, la sph`re, les coniques. De plus, le concept de
               e e                 ` e e                                    e      u
       lieu g´om´trique revient a r´p´titions, par exemple pour les probl`mes o` on cal-
       cule la position d’un objet par triangulation (chapitre 1 sur le positionnement et
       chapitre 15 des flashs-science).
   •             e
       Les diff´rents types de transformations affines du plan ou de l’espace, en particu-
                    e                                          e    e
       lier les sym´tries et les rotations apparaissent de mani`re r´currente : compression
       d’images avec les fractales (chapitre 11), frises et mosa¨ıques (chapitre 2), mouve-
       ment des robots (chapitre 3).
   •                                                           e
       Les groupes finis apparaissent comme groupes de sym´trie des frises et mosa¨    ıques
                                                           e
       (chapitre 2), mais aussi pour les tests de primalit´ en cryptographie (chapitre 7).
   •   Les corps finis apparaissent aussi bien dans le chapitre sur les codes correcteurs
                                             e                e e e
       d’erreurs (chapitre 6) que dans l’´tude du signal g´n´r´ par les satellites dans
                e                                    e e                      e
       le syst`me GPS (chapitre 1) et dans les g´n´rateurs de nombres al´atoires (cha-
       pitre 8).
   •                                           e e                      e
       La cryptographie (chapitre 7) et les g´n´rateurs de nombres al´atoires (chapitre 8)
                   `          e                                  e
       font appel a l’arithm´tique modulo n, alors que l’arithm´tique modulo 2 intervient
       dans les codes correcteurs d’erreurs (chapitre 6).
   •                    e                                           e
       Les probabilit´s apparaissent dans des contextes inusit´s : l’algorithme Page-
       Rank pour le fonctionnement de Google (chapitre 9), ainsi que dans la construc-
       tion de grands nombres premiers (chapitre 7), alors que leur utilisation dans les
         e e                        e
       g´n´rateurs de nombres al´atoires est plus classique (chapitre 8).
   •          e       e                 e
       L’alg`bre lin´aire est omnipr´sente : codes de Hamming et de Reed–Solomon
       (chapitre 6), algorithme PageRank (chapitre 9), robotique (chapitre 3), frises et
       mosa¨  ıques (chapitre 2), fonctionnement du GPS (chapitre 1), standard JPEG
       (chapitre 12), etc.

Le livre comme manuel d’un cours
                          `   e                   ıtris´                     a
    Le livre s’adresse a des ´tudiants ayant maˆ e les cours de calcul ` plusieurs va-
               e        e                   e ee
riables, d’alg`bre lin´aire et de probabilit´s ´l´mentaires, et ayant des connaissances de
 e e
g´om´rie euclidienne. Nous esp´rons n’avoir rien tenu d’autre pour acquis. La lecture
                                   e
                    e           e                                   e
du livre est malgr´ tout un d´fi et requiert une certaine maturit´ scientifique : elle de-
                                            e
mande de pouvoir sortir les acquis math´matiques des manuels originaux. En effet, la
                                  e e   e              e
plupart des applications consid´r´es n´cessitent l’int´gration d’une multitude de notions
      e                                                                         e
math´matiques. Pour cette raison, nous recommandons ce livre pour des ´tudiants de
      e              e       e
deuxi`me ou troisi`me ann´e universitaire.
                     e
    Le texte se pr´sente sous deux formes : les chapitres principaux, plus longs et
  e     e
d´taill´s, et les flashs-science (chapitre 15), courts et bien circonscrits. Le lecteur verra
                   e                                           e               e
une certaine unit´ dans les chapitres plus longs : les premi`res sections d´crivent l’ap-
                       e        e                        e                       ee
plication et le probl`me math´matique qui est soulev´. Suit une description ´l´mentaire
                   e e e                           e             e
de cas simples pr´c´d´e, si besoin est, des compl´ments math´matiques. Nous appelons
VIII      e
        Pr´face

                     e     ee
cette partie la th´orie ´l´mentaire. Enfin, une ou quelques sections couvrent en plus
       e                          e                            e
de d´tails les aspects math´matiques fins ou des d´tails technologiques o` inter-       u
                                    e
viennent encore plus de math´matiques ou, simplement, mettent en relief le fait que
            e
les math´matiques seules ne suffisent pas toujours ! Nous avons pris l’habitude d’appe-
                  e             e             e                                  e  e
ler cette derni`re partie la th´orie avanc´e. Chacune des applications est ´tudi´e pendant
                                        e      ee
environ cinq heures : d’abord la th´orie ´l´mentaire (une ou deux heures), des exercices
                                                     e           e
(deux heures) et, si le temps le permet, la th´orie avanc´e (une ou deux heures). Il ar-
       e       e                             e                     e
rive r´guli`rement que la partie avanc´e ne soit qu’effleur´e. Les flashs-science peuvent
e            e                                     e
ˆtre trait´s en une heure de cours ou donn´s en exercice, sans avoir vu de th´orie au  e
   e
pr´alable. Durant un trimestre, en plus de quelques flashs-science, nous parvenons `           a
                                              `
couvrir une partie importante de huit a 12 chapitres. Un autre choix naturel serait de
 e                 e
r´duire consid´rablement le nombre de chapitres couverts et de s’aventurer plus pro-
      e
fond´ment dans les parties avanc´es.  e
            e                                     e
     Le pr´sent recueil contient trop de mat´riel pour un cours d’un trimestre : on peut
                                                ee e                               e e
donc se permettre de choisir les sujets pr´f´r´s, soit en fonction de leur int´rˆt comme
                                           e
tel, soit encore en fonction des math´matiques qu’ils font travailler. Les chapitres non
      e                       e            e                               e
trait´s ou les sections de th´orie avanc´e peuvent servir de point de d´part pour un projet
de session. Quant au lecteur qui explorerait ce livre pour parfaire ses connaissances
       e               e                                                       `
math´matiques et ´largir ses horizons, il pourra aller d’un chapitre a l’autre selon sa
                                           e                    e
fantaisie. Chaque chapitre est (math´matiquement) ind´pendant (ou presque), et tous
les liens avec les autres chapitres sont explicites.
     Une note, maintenant, pour les professeurs qui utiliseront ce manuel. L’enseigne-
                                  ea e                  e         e
ment de ce cours nous a forc´ ` r´viser nos m´thodes p´dagogiques : ici, aucun sujet
                e                                    e               e e
n’est un pr´alable pour un autre cours, les d´finitions et th´or`mes ne sont pas le but
                                                                         e
ultime du cours, et les recettes ne sont pas suffisantes pour r´soudre les probl`mes.       e
                                          ee            e
Tous ces facteurs sont source d’anxi´t´ pour les ´tudiants. De plus, nous ne sommes pas
         e
des sp´cialistes des technologies que nous examinons. Nous multiplions les liens aves la
                                                             e
technologie. Nous encourageons la participation des ´tudiants ; ceci permet de v´rifier    e
          e
leur pr´paration relativement aux outils math´matiques utilis´s. Quant aux examens,
                                                       e               e
                         e     e                 `
nous les rassurons d`s le d´part : ils sont a livre ouvert, non cumulatifs et limit´s auxe
           ee                                                    e                    e
parties ´l´mentaires. Ils mettent ainsi l’accent sur la mod´lisation simple et la r´solution
            e                                                              e
de probl`mes. Nos ensembles d’exercices mettent l’accent sur le d´veloppement de ces
                   e
aptitudes. Les ´tudiants maˆ                              ee                 e
                               ıtrisent donc la partie ´l´mentaire travaill´e au moyen d’exer-
              e                                                                             e
cices, et d´couvrent, sans pression, le plaisir de se cultiver en explorant la partie avanc´e.

Le livre pour le lecteur solitaire
                              e     e
    Pendant toutes ces ann´es d’´criture du livre, nous nous sommes pris au jeu de
  e                                     e
d´cortiquer et comprendre les math´matiques sous-jacentes aux applications techno-
                  e                             e            e
logiques propos´es ici et de mettre en lumi`re la beaut´ et la puissance des outils
     e                                                 e
math´matiques. Nous croyons que ce manuel peut int´resser tout lecteur, du jeune scien-
                 e                    e                                 e
tifique au math´maticien chevronn´ curieux de comprendre les math´matiques cach´es      e
     e        e                           `       e
derri`re les r´alisations technologiques. A son gr´, ce lecteur peut se promener entre les
                                                                              e
                                                                            Pr´face     IX

        ee                   e                                                  e
parties ´l´mentaires et avanc´es, tirer parti du fait que les chapitres sont ind´pendants,
                                                                     e
profiter des notes historiques et, qui sait, regarder quelques probl`mes.
                     ee
Les contributions d’H´l`ne Antaya et Isabelle Ascah-Coallier
                                                  e ee           ee
    Le chapitre 14 sur le calcul des variations a ´t´ ´crit par H´l`ne Antaya alors qu’elle
                       e ea               e                                     `
effectuait un stage d’´t´ ` la fin de son c´gep. Le chapitre 13 sur l’ordinateur a l’ADN a
e ee        ee               ee                                              e
´t´ ´crit l’´t´ suivant par H´l`ne Antaya et Isabelle Ascah-Coallier, alors d´tentrices de
bourses de recherche du premier cycle du Conseil de recherches en sciences naturelles
       e
et en g´nie du Canada.
Mode d’emploi des chapitres
    `                    e                         e           e
    A peu de choses pr`s, les chapitres sont ind´pendants. Au d´but de chacun, un court
                   e                                       e           e
mode d’emploi d´crit les connaissances de base utilis´es ainsi que la d´pendance entre
                                             e
les sections et, s’il y a lieu, leurs difficult´s relatives.



Christiane Rousseau
Yvan Saint-Aubin
 e                   e
D´partement de math´matiques et de statistique
         e         e
Universit´ de Montr´al
Mai 2008
Remerciements




           e                 e
    La gen`se du cours Math´matiques et technologie et des notes de cours ayant donn´   e
           a                 `
naissance ` ce livre remonte a l’hiver 2001. Il nous a fallu apprendre de nouveaux sujets
que nous ne connaissions pas ou peu, composer des exercices et encadrer des projets
  e                                        e
d’´tudiants dans des domaines qui nous ´taient inconnus. Pendant toutes ces ann´es    e
                 e                                e      e
nous avons pos´ beaucoup de questions et qu´mand´ beaucoup d’explications. Nous
                                                                       e
voulons remercier les nombreuses personnes qui nous ont support´ scientifiquement.
                        e            e                                e
Leur aide aura aussi r´duit consid´rablement le nombre des impr´cisions et erreurs ;
                   e
nous demeurons ´videmment responsables de celles qui demeurent et nous invitons les
         `
lecteurs a nous les rapporter.
    Nous avons appris beaucoup de Jean-Claude Rizzi, Martin Vachon et Annie Boily,
                  e                                  e
tous d’Hydro-Qu´bec, sur le suivi des orages, de St´phane Durand et Anne Bourlioux
                                                                                  e
sur des points fins concernant le GPS, d’Andrew Granville sur les algorithmes r´cents
                                              e
de factorisation des nombres entiers, de Val´rie Poulin et Isabelle Ascah-Coallier sur
                                                           ´                e e
le fonctionnement de l’ordinateur quantique, de Pierre L’Ecuyer sur les g´n´rateurs de
           e
nombres al´atoires, de Mehran Sahami sur Google, de Serge Robert, Jean LeTourneux et
           e                              e
Anik Souli`re sur les liens entre les math´matiques et le son musical, de Paul Rousseau
et Pierre Beaudry sur les circuits fondamentaux des ordinateurs, de Mark Goresky
                  a e                     ee                      e e
sur les registres ` d´calage et les propri´t´s des suites qu’ils g´n`rent. David Austin,
Robert Calderbank, Brigitte Jaumard, Jean LeTourneux, Robert Moody, Pierre Poulin,
                                         ıc                               ee
Robert Roussarie, Kaleem Siddiqi et Lo¨ Teyssier nous ont fourni des r´f´rences et des
                  e
commentaires pr´cieux.
                                    e
    Beaucoup de nos amis et coll`gues ont lu des portions du manuscrit et nous ont
fait des commentaires, dont Pierre Bouchard, Michel Boyer, Raymond Elmahdaoui,
Alexandre Girouard, Martin Goldstein, Jean LeTourneux, Francis Loranger, Marie Lu-
quette, Robert Owens, Serge Robert, Olivier Rousseau. Nicolas Beauchemin et Andr´      e
                         e                               e
Montpetit nous ont aid´s plus d’une fois lors de probl`mes de graphisme et nous ont
 e ee               e
r´v´l´ des subtilit´s de TeX. Les conseils typographiques et linguistiques de Mireille
  o e           ee
Cˆt´ nous ont ´t´ fort utiles.
XII      e
       Pr´face

      e           e
    D`s les premi`res esquisses, nous avons fait circuler notre manuscrit. Beaucoup de
        e                                  e
nos coll`gues et amis nous ont encourag´s dans notre aventure, dont John Ball, Jonathan
Borwein, Bill Casselman, Carmen Chicone, Karl Dilcher, Freddy Dumortier, St´phanee
                                                                e e
Durand, Ivar Ekeland, Bernard Hodgson, Nassif Ghoussoub, Fr´d´ric Gourdeau, Jacques
Hurtubise, Louis Marchildon, Odile Marcotte et Pierre Mathieu.
                     e                  a                             e
    Nous sommes tr`s reconnaissants ` Chris Hamilton, qui a travaill´ pendant des mois
a
` faire la traduction anglaise. Ses commentaires judicieux et sa traque des erreurs ont
      a      e                             c
servi ` l’am´lioration de la version fran¸aise du livre.
                                                                           e   e e
    Nous remercions chaleureusement Dominique Bouchard d’avoir accept´ si g´n´reuse-
ment de relire notre manuscrit ; son travail aura permis une uniformisation de la typo-
graphie et de relever plusieurs coquilles.
                                   a                                         e
    Nous sommes reconnaissants ` Ann Kostant et Springer, qui ont montr´ un grand
   e e                                e                  a
int´rˆt pour notre livre, de la premi`re version jusqu’` la version finale.
                             e                                    e
    Nous voulons remercier ´galement nos proches, Manuel Gim´nez, Serge Robert, Oli-
                       e
vier Rousseau et Val´rie Poulin, Ana¨     ıgue Robert et Chi-Thanh Quach qui nous ont
longuement entendus parler de notre livre et soutenus dans notre projet.
              e
Table des mati`res




  e
Pr´face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   V

1      Positionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              1
       1.1   Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              1
       1.2   Le GPS (Global Positioning System) . . . . . . . . . . . . . . . . . . . . . . . . . .                                        2
                                                                           e
             1.2.1 Quelques informations sur le syst`me de GPS . . . . . . . . . . . . . . .                                               2
                           e
             1.2.2 La th´orie du GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         3
             1.2.3 L’adaptation aux contraintes pratiques . . . . . . . . . . . . . . . . . . . . .                                        6
       1.3   Coups de foudre et orages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      12
             1.3.1 La localisation des coups de foudre . . . . . . . . . . . . . . . . . . . . . . . . .                                  12
                                          e              e
             1.3.2 Seuil et qualit´ de la d´tection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                             15
                                                 `
             1.3.3 Gestion du risque a long terme . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                 18
       1.4                  a e
             Les registres ` d´calage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   19
             1.4.1 La structure de corps sur F2r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                              22
                                        e e
             1.4.2 Preuve du th´or`me 1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                             25
       1.5   La cartographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              27
       1.6   Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          36

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      43

2      Frises et mosa¨ ıques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              45
       2.1                  e
             Frises et sym´tries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                48
       2.2                     e
             Groupe de sym´trie et transformation affine . . . . . . . . . . . . . . . . . . . . . . .                                      53
       2.3   La classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               59
       2.4   Mosa¨ ıques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          65
       2.5   Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          69

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      85
XIV                      e
           Table des mati`res

3      Les mouvements d’un robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
       3.1  Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
            3.1.1 Les mouvements d’un solide dans le plan . . . . . . . . . . . . . . . . . . . 90
                     e                                                  e                  e
            3.1.2 R´flexion sur le nombre de degr´s de libert´ . . . . . . . . . . . . . . . . . 92
       3.2                            e
            Mouvements qui pr´servent distances et angles . . . . . . . . . . . . . . . . . . . . 93
       3.3        ee
            Propri´t´s des matrices orthogonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
       3.4  Les changements de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
       3.5         e              e                 e a
            Les diff´rents rep`res associ´s ` un robot . . . . . . . . . . . . . . . . . . . . . . . . . . 108
       3.6  Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

 ee
R´f´rence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

4      Squelette et chirurgie aux rayons gamma . . . . . . . . . . . . . . . . . . . . . . . . . .                                 123
       4.1   Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      123
       4.2     e                                  e
             D´finition de squelette. R´gions bidimensionnelles . . . . . . . . . . . . . . . . . .                                 124
       4.3     e
             R´gions tridimensionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                134
       4.4   L’algorithme optimal pour la chirurgie . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        137
       4.5                             e
             Un algorithme num´rique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 139
                            e
             4.5.1 Premi`re partie de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         140
                           e
             4.5.2 Deuxi`me partie de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . .                           143
             4.5.3 Preuve de la proposition 4.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       144
       4.6   Les autres applications du squelette en science . . . . . . . . . . . . . . . . . . . . .                             146
       4.7             ee
             La propri´t´ fondamentale du squelette . . . . . . . . . . . . . . . . . . . . . . . . . . .                          147
       4.8   Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   151

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5      ´
       Epargner et emprunter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               159
       5.1  Vocabulaire bancaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             159
       5.2                             e e
            Composition des int´rˆts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               160
       5.3             e
            Un plan d’´pargne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            163
       5.4  Emprunter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      165
       5.5  Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    169
       5.6                                     e                 e
            Appendice : tables de prˆts hypoth´caires . . . . . . . . . . . . . . . . . . . . . . . . .                            171

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

6      Codes correcteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         177
       6.1                          e             e
            Introduction : num´riser, d´tecter et corriger . . . . . . . . . . . . . . . . . . . . . .                             177
       6.2  Le corps F2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      181
       6.3  Le code de Hamming C(7, 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     183
       6.4  Les codes de Hamming C(2k − 1, 2k − k − 1) . . . . . . . . . . . . . . . . . . . . . .                                 186
       6.5  Corps finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     189
       6.6  Les codes de Reed et Solomon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     198
                                                                                                                e
                                                                                                  Table des mati`res               XV

       6.7        Appendice : le produit scalaire et les corps finis . . . . . . . . . . . . . . . . . . . . 203
       6.8        Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

7                            a e
       La cryptographie ` cl´ publique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       213
       7.1   Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      213
       7.2                                e
             Quelques outils de th´orie des nombres . . . . . . . . . . . . . . . . . . . . . . . . . . .                          214
       7.3   Le principe du code RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 217
       7.4   Construire de grands nombres premiers . . . . . . . . . . . . . . . . . . . . . . . . . . .                           225
       7.5   L’algorithme de Shor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            235
       7.6   Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   238

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

8        e e                                   e
       G´n´rateurs de nombres al´atoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         247
       8.1   Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      247
       8.2               ` e
             Le registre a d´calage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            252
       8.3   G´n´rateurs Fp -lin´aires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
               e e                   e                                                                                             254
             8.3.1 Le cas p = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            254
                            c
             8.3.2 Une le¸on pour les jeux de hasard . . . . . . . . . . . . . . . . . . . . . . . . . .                           259
                               e e
             8.3.3 Le cas g´n´ral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            260
       8.4     e e         e                                        e
             G´n´rateur r´cursif multiple combin´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        261
       8.5   Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    263
       8.6   Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   264

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

9      Google et l’algorithme PageRank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         273
       9.1  Les moteurs de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 273
       9.2              ınes de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            Toile et chaˆ                                                                                                          277
       9.3                  e e
            PageRank am´lior´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            286
       9.4        e e
            Le th´or`me de Frobenius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 289
       9.5  Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    292

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

                                        a
10 Pourquoi 44 100 nombres ` la seconde ? . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                  299
   10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           299
   10.2 La gamme musicale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  300
                e                                     `
   10.3 La derni`re note (introduction a l’analyse de Fourier) . . . . . . . . . . . . . . .                                       304
             e
   10.4 La fr´quence de Nyquist et le pourquoi du 44 100 . . . . . . . . . . . . . . . . . .                                       315
   10.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        325
XVI                      e
           Table des mati`res

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

                                                                 e e
11 Compression d’images par fonctions it´r´es . . . . . . . . . . . . . . . . . . . . . . . .                                     335
   11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          335
   11.2 Les transformations affines du plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           337
                e                                e e
   11.3 Les syst`mes de fonctions it´r´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       340
          e
   11.4 It´ration d’une contraction et point fixe . . . . . . . . . . . . . . . . . . . . . . . . . . .                            347
   11.5 La distance de Hausdorff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   351
   11.6 La dimension des attracteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      356
   11.7 Une photographie comme attracteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                             361
   11.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       372

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

12 Compression d’images : le standard JPEG . . . . . . . . . . . . . . . . . . . . . . . . .                                      379
   12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          379
                                                               e
   12.2 Un zoom sur une photographie num´rique en format JPEG . . . . . . . . .                                                   382
   12.3 Le cas du carr´ de 2 × 2 pixels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                         e                                                                                                        383
   12.4 Le cas du carr´ de N × N pixels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                         e                                                                                                        389
   12.5 Le standard JPEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                399
   12.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       407

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

                 a
13 L’ordinateur ` ADN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               415
   13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          416
                 e                                                e
   13.2 Le probl`me du chemin hamiltonien r´solu par Adleman . . . . . . . . . . . .                                              418
                                                           e
   13.3 Machines de Turing et fonctions r´cursives . . . . . . . . . . . . . . . . . . . . . . . .                                421
         13.3.1 Le fonctionnement d’une machine de Turing . . . . . . . . . . . . . . . . .                                       421
                                                  e
         13.3.2 Fonctions primitives r´cursives et fonctions r´cursives . . . . . . . .   e                                       428
                                                            e
   13.4 Les machines de Turing et les syst`mes d’insertion–d´l´tion . . . . . . . . .       ee                                    439
                  e
   13.5 Les probl`mes NP-complets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       443
                           e
         13.5.1 Le probl`me du chemin hamiltonien . . . . . . . . . . . . . . . . . . . . . . . .                                 443
                           e                                        e
         13.5.2 Le probl`me de la satisfaisabilit´ . . . . . . . . . . . . . . . . . . . . . . . . . . .                          444
                                               `
   13.6 Retour sur les ordinateurs a ADN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          447
                      e
         13.6.1 Probl`me du chemin hamiltonien et insertion–d´l´tion . . . . . . . .           ee                                 447
         13.6.2 Les limites actuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 448
         13.6.3 Quelques explications biologiques sur la r´plication des bases . .  e                                             450
   13.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       454

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
                                                                                                                  e
                                                                                                    Table des mati`res               XVII

14 Le calcul des variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    461
                 e
   14.1 Le probl`me fondamental du calcul des variations . . . . . . . . . . . . . . . . . .                                           462
           e
   14.2 L’´quation d’Euler–Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                            466
   14.3 Le principe de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      470
                                                     a
   14.4 La meilleure piste de planche ` roulettes . . . . . . . . . . . . . . . . . . . . . . . . . .                                  471
   14.5 Le tunnel le plus rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     474
                   ee                                                        ıde
   14.6 La propri´t´ tautochrone de la courbe cyclo¨ . . . . . . . . . . . . . . . . . . . .                                           480
   14.7 Un dispositif isochrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      483
   14.8 Pellicules de savon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  485
   14.9 Le principe de Hamilton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        490
                     e               e       e
   14.10 Deux probl`mes isop´rim´triques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                               493
   14.11 Le miroir liquide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               500
   14.12 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           505

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

15 Flashs-science . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            515
                      e                         e                                 e
   15.1 Les lois de r´flexion et de r´fraction de la lumi`re . . . . . . . . . . . . . . . . . .                                        515
   15.2 Quelques applications des coniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                               522
                                ee
         15.2.1 Une propri´t´ remarquable de la parabole . . . . . . . . . . . . . . . . . . .                                         522
         15.2.2 L’ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              532
         15.2.3 L’hyperbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  534
                                     e
         15.2.4 Des outils ing´nieux pour tracer les coniques . . . . . . . . . . . . . . . .                                          535
   15.3 Les quadriques en architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           535
   15.4 La disposition optimale des antennes . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                   542
                                                ı
   15.5 Les diagrammes de Vorono¨ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                            546
   15.6 La vision des ordinateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        551
   15.7 Un bref coup d’œil sur l’architecture d’un ordinateur . . . . . . . . . . . . . . .                                            553
                     e            `                                  e
   15.8 Le pavage r´gulier a 12 pentagones sph´riques . . . . . . . . . . . . . . . . . . . . .                                        558
   15.9 Le piquetage d’une route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       565
   15.10 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           566

 ee
R´f´rences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
1
Le positionnement
sur la Terre et dans l’espace




                                                                          e
    Ce chapitre est la meilleure illustration dans le livre de la diversit´ des applications des
         e          a
    math´matiques ` une seule question technique : comment localiser les personnes, objets
       e e                     e                                 e        e
    et ´v´nements sur la plan`te. Cette surprenante diversit´ peut m´riter qu’on consacre
    plus d’une semaine au chapitre.
                                                 e
    En deux heures, on peut traiter de la th´orie du GPS (section 1.2) et discuter tr`s     e
       e                          `
    bri`vement les applications a la localisation des orages (section 1.3). Ensuite il faut
    faire un choix. Si l’on a introduit les corps finis dans le chapitre 6 sur les codes cor-
                                               e                                e e
    recteurs d’erreurs ou qu’on les a utilis´s dans le chapitre 8 sur les g´n´rateurs de
                e
    nombres al´atoires, alors on peut traiter le signal du GPS en un peu plus d’une heure
    (section 1.4), parce qu’on peut sauter les rappels sur les corps. Si le temps est limit´ e
                               e                                                    e
    et qu’on n’a pas vu les pr´alables sur les corps finis, on peut se contenter d’´noncer le
      e e
    th´or`me 1.4 et de l’illustrer sur des exemples comme l’exemple 1.5. Il faut compter
                                 e                                                    e
    presque deux heures pour pr´senter la cartographie (section 1.5), sauf si les ´tudiants
                   ea
    connaissent d´j` la notion de transformation conforme. La section 1.2 ne requiert que
            e e                               e      e
    de la g´om´trie euclidienne et de l’alg`bre lin´aire de base, alors que la section 1.3
               `                            ee
    fait appel a des concepts probabilistes ´l´mentaires. La section 1.4 est plus difficile sauf
                                    e
    si on a une certaine familiarit´ avec les corps finis. La section 1.5 utilise le calcul ` a
    plusieurs variables.



1.1 Introduction

                                            ıtre
    De tout temps, l’homme a voulu connaˆ sa position sur la Terre. Il a commenc´     e
                         ee
par utiliser des moyens ´l´mentaires comme le sextant en navigation, la boussole pour
                       e                       e
indiquer le nord magn´tique, le compas magn´tique pour tenir un cap. Depuis peu, on
                                          e
dispose d’outils beaucoup plus sophistiqu´s comme le GPS (Global Positioning System).
                                                                         e         e
Dans ce chapitre, nous remonterons le temps : nous commencerons par d´crire en d´tail
       e                              e     e
le syst`me GPS pour ensuite parler, tr`s bri`vement, des moyens anciens, principalement
sous forme d’exercices.
2      1 Positionnement

    Comme ces moyens ne sont utiles que si on dispose de cartes du monde, nous accor-
                   a                                    e             e
derons une section ` la cartographie. En effet, la Terre ´tant une sph`re, il est impossible
          e
de la repr´senter sur un plan en respectant les angles, les rapports de longueur et les
                                              e                                   e
rapports de surface. Des compromis doivent ˆtre faits. Les compromis choisis d´pendent
            e
de la probl´matique. L’Atlas de Peters a fait le choix d’utiliser des projections qui
  e
pr´servent le rapport des surfaces [3]. Dans les cartes marines, on fait le choix d’utiliser
                      e
une projection qui pr´serve les angles.


1.2 Le GPS (Global Positioning System)
                                       e
1.2.1 Quelques informations sur le syst`me de GPS

            e            ee        e          e     e                         e
    Le syst`me GPS a ´t´ compl`tement d´ploy´ en juillet 1995 par le d´partement de
      e           ´                                    a              ` e
la D´fense des Etats-Unis, qui autorise le public ` s’en servir. A l’´poque, il y avait
24 satellites, dont 21 au minimum fonctionnaient au moins 98 % du temps. En 2005, il
y avait 32 satellites, dont 24 au moins en fonctionnement, les autres pouvant prendre la
   e                                                          e a
rel`ve en cas de panne de satellites. Les satellites sont situ´s ` une altitude de 20 200 km
                       e                                                              e
de la Terre. Ils sont r´partis dans six plans orbitaux faisant des angles de 55 degr´s avec
               e
le plan de l’´quateur (figure 1.1). On a au moins quatre satellites par plan orbital,
     e           ae
situ´s environ ` ´gale distance les uns des autres. Les satellites ont une orbite circulaire
            e
avec une p´riode de 11 heures et 58 minutes. La disposition des satellites est telle qu’`  a
                  `
tout instant et a tout endroit sur la Terre, on peut capter le signal d’au moins quatre
satellites.




                      Fig. 1.1. Les 24 satellites sur six plans orbitaux



                      e                        e ee e
   Les 24 satellites ´mettent des signaux r´p´t´s p´riodiquement. Les signaux sont
    e a                e                        e                    e       e
capt´s ` l’aide d’un r´cepteur. Lorsqu’on ach`te un GPS, on ach`te un r´cepteur qui
                                                               e               e
captera le signal des satellites et calculera sa position. Le r´cepteur a en m´moire un
                                         1.2 Le GPS (Global Positioning System)            3

                                           e                  a
almanach, lequel contient la position pr´vue des satellites ` chaque instant. Cependant,
                                                 e                           `
comme des petites erreurs sur l’orbite sont in´vitables, les corrections a apporter a la   `
                                e                                       `
position du satellite sont cod´es dans le signal du satellite (la mise a jour de la position
                                                              e                        u
des satellites est faite toutes les heures). Chaque satellite ´met son signal continˆment.
      e                                              e
La p´riode du signal est fixe, et les instants de d´but du cycle du signal sont inscrits
                                       e     e                            e
dans l’almanach. Les satellites sont ´quip´s d’horloges atomiques extrˆmement pr´cises   e
                                                                                   e
permettant que le signal soit parfaitement en phase avec ce qui est annonc´ dans l’al-
                         e                                                     e     a e e
manach. Lorsque le r´cepteur capte le signal d’un satellite, il se met lui-mˆme ` g´n´rer
                     e                                                      c          e e
les signaux des diff´rents satellites et il les compare avec les signaux re¸us. En g´n´ral,
                                                                     e e            a
les signaux ne concordent pas. Il translate alors les signaux qu’il g´n`re jusqu’` ce qu’un
                     e e                                          c
des signaux qu’il g´n`re soit en accord parfait avec le signal re¸u (il mesure ceci en cal-
               e
culant la corr´lation entre les deux signaux). Il peut alors calculer le temps de parcours
                                                       e
du signal depuis le satellite. On discutera ceci en d´tail dans la section 1.4.
         e
    On d´crira ci-dessous le fonctionnement d’un GPS commun. Son algorithme de calcul
                 e                            e       a       e       e          e
lui permet de d´terminer la position du r´cepteur ` 20 m`tres pr`s. La pr´cision de la
           ee         e                          e                   e             ´
mesure a ´t´ brouill´e jusqu’en mai 2000 par d´partement de la D´fense des Etats-Unis,
                                             e                  e
si bien qu’on obtenait seulement une pr´cision de 100 m`tres au lieu des 20 m`tres        e
                       e                e
possibles par le syst`me de mesure d´crit ci-dessous.


           e
1.2.2 La th´orie du GPS

                  e
Comment le r´cepteur calcule-t-il sa position ? Nous ferons tout d’abord l’hy-
    e                                                    e
poth`se que les horloges de tous les satellites et du r´cepteur sont parfaitement syn-
       e         e
chronis´es. Le r´cepteur calcule sa position par triangulation. Le principe de base de
        e
toute m´thode de triangulation est que, pour calculer la position d’un objet ou d’une
               e               e
personne, on d´crit des caract´ristiques de sa position (une distance, un angle, etc.) par
         `                                                              e
rapport a des objets dont la position est connue. Dans le cas d’un r´cepteur GPS, les
                                                                    e
objets dont la position est connue sont les satellites. Voyons le d´tail :
   • Le r´cepteur mesure le temps t1 mis par le signal ´mis par un premier satellite
           e                                                e
                                             e                   ´          e
      P1 pour parcourir la distance qui le s´pare du satellite. Etant donn´ que le signal
             `                      e          e
      voyage a la vitesse de la lumi`re c, le r´cepteur calcule la distance

                                              r1 = ct1

                e                                                                     e a
      entre le r´cepteur et le satellite P1 . L’ensemble des points de l’espace situ´s ` la
      distance r1 du satellite P1 est la sph`re S1 centr´e en P1 de rayon r1 . On sait
                                                  e           e
      donc que le r´cepteur est situ´ sur la sph`re S1 . Prenons un syst`me cart´sien de
                    e                    e          e                       e       e
                e                                                  e
      coordonn´es. Soient (x, y, z) la position (inconnue) du r´cepteur et (a1 , b1 , c1 ) la
      position (connue) du satellite P1 . Alors (x, y, z) satisfait l’´quation des points de
                                                                      e
      la sph`re de centre (a1 , b1 , c1 ) et de rayon r1 ` savoir
            e                                            a

                         (x − a1 )2 + (y − b1 )2 + (z − c1 )2 = r1 = c2 t2 .
                                                                 2
                                                                         1             (1.1)
4        1 Positionnement

     • Cette donn´e ne suffit pas ` connaˆ
                        e                  a                e e                        e
                                                    ıtre pr´cis´ment la position du r´cepteur. Le
        e                                                    e
       r´cepteur capte donc le signal d’un deuxi`me satellite P2 , mesure son temps
                                     e
       de parcours t2 et en d´duit la distance r2 = ct2 de P2 au r´cepteur. Comme e
          e e                                e                e
       pr´c´demment, on peut en d´duire que le r´cepteur se trouve sur la sph`re S2           e
              e                                                          e
       centr´e en P2 de rayon r2 . En supposant que le deuxi`me satellite est situ´ au          e
                                                          e                            e
       point (a2 , b2 , c2 ), alors (x, y, z) satisfait l’´quation des points de la sph`re de centre
       (a2 , b2 , c2 ) et de rayon r2 ` savoir
                                        a

                            (x − a2 )2 + (y − b2 )2 + (z − c2 )2 = r2 = c2 t2 .
                                                                    2
                                                                            2                 (1.2)

                       e                  e
       On a progress´, car deux sph`res s’intersectent sur un cercle : on connaˆ main-  ıt
       tenant un cercle C1,2 sur lequel se trouve le r´cepteur, mais cela ne suffit pas a
                                                           e                                   `
              ıtre e e
       connaˆ pr´cis´ment la position du r´cepteur.e
     • Pour que le r´cepteur puisse calculer compl`tement sa position, il suffit qu’il capte
                     e                                 e
       le signal d’un troisi`me satellite P3 et mesure son temps de parcours t3 . Alors, le
                               e
       r´cepteur est situ´ sur la sph`re S3 centr´e en P3 de rayon r3 = ct3 . Si (a3 , b3 , c3 )
        e                   e            e           e
                            e
       sont les coordonn´es de P3 , alors (x, y, z) satisfait l’´quation des points de la sph`re
                                                                e                            e
       de centre (a3 , b3 , c3 ) et de rayon r3 ` savoir
                                                a

                            (x − a3 )2 + (y − b3 )2 + (z − c3 )2 = r3 = c2 t2 .
                                                                    2
                                                                            3                 (1.3)

            e
       Le r´cepteur est donc sur l’intersection du cercle C1,2 et de la sph`re S3 . Un
                                                                                  e
                        e
       cercle et une sph`re s’intersectant en deux points, il semblerait qu’il nous manque
                                            ıtre                               e
       encore de l’information pour connaˆ exactement la position du r´cepteur. Fort
                                                                                      e
       heureusement, il n’en est rien. En effet, la position des satellites est arrang´e pour
                                                 e         e                     e
       que l’une des deux solutions soit compl`tement irr´aliste parce que tr`s loin de la
                                                                        e           e
       surface de la Terre. En cherchant les deux solutions du syst`me ( ) d’´quations
            e      e                                    e                           e
       form´ des ´quations (1.1), (1.2), (1.3) et en ´liminant la solution irr´aliste, le
        e            e       e e e
       r´cepteur a d´termin´ pr´cis´ment sa position.
                        e               e                 e
La solution du syst`me ( ) Les ´quations du syst`me ( ) sont quadratiques (non
   e
lin´aires), ce qui complique la solution. On peut cependant remarquer que, si on soustrait
a            e                            e     e
` une des ´quations de ( ) une deuxi`me ´quation de ( ), on obtient une ´quation e
lin´aire, car les termes en x2 , y 2 et z 2 s’annulent. On remplace donc le syst`me ( )
   e                                                                              e
             e    e                                     e   e                       c
par un syst`me ´quivalent obtenu en gardant la troisi`me ´quation et en rempla¸ant la
      e e
premi`re ´quation par (1.1)−(1.3) et la seconde par (1.2)−(1.3). On obtient le syst`mee

                   2(a3 − a1 )x + 2(b3 − b1 )y + 2(c3 − c1 )z     = A1 ,
                   2(a3 − a2 )x + 2(b3 − b2 )y + 2(c3 − c2 )z     = A2 ,                      (1.4)
                   (x − a3 )2 + (y − b3 )2 + (z − c3 )2 = r3
                                                           2
                                                                  = c2 t 2 ,
                                                                         3

 u
o`
                A1    = c2 (t2 − t2 ) + (a2 − a2 ) + (b2 − b2 ) + (c2 − c2 ),
                             1    3       3    1       3    1       3    1
                                                                                              (1.5)
                A2    = c2 (t2 − t2 ) + (a2 − a2 ) + (b2 − b2 ) + (c2 − c2 ).
                             2    3       3    2       3    2       3    2
                                              1.2 Le GPS (Global Positioning System)              5

                          e                                                           e
Les satellites sont dispos´s de telle sorte que jamais trois d’entre eux ne sont align´s.
Ceci garantit qu’au moins un des trois d´terminants 2 × 2
                                           e
                a 3 − a1       b3 − b1     a3 − a1    c 3 − c1     b3 − b1   c 3 − c1
                                       ,                       ,                      ,
                a 3 − a2       b3 − b2     a 3 − a2   c 3 − c2     b3 − b2   c 3 − c2
est non nul. En effet, si ces trois d´terminants sont nuls, alors les vecteurs (a3 − a1 , b3 −
                                          e
b1 , c3 − c1 ) et (a3 − a2 , b3 − b2 , c3 − c2 ) sont collin´aires (leur produit vectoriel est nul),
                                                            e
        a
c’est-`-dire que les trois points P1 , P2 et P3 sont align´s.    e
                                                        e
     Supposons, par exemple, que le premier d´terminant soit non nul. En utilisant la
 e                                                                                  e
r`gle de Cramer, on peut tirer x et y en fonction de z dans les deux premi`res ´quations e
de (1.4) :
                                      A1 − 2(c3 − c1 )z 2(b3 − b1 )
                                      A2 − 2(c3 − c2 )z 2(b3 − b2 )
                           x    =                                   ,
                                         2(a3 − a1 ) 2(b3 − b1 )
                                         2(a3 − a2 ) 2(b3 − b2 )
                                                                                              (1.6)
                                      2(a3 − a1 ) A1 − 2(c3 − c1 )z
                                      2(a3 − a2 ) A2 − 2(c3 − c2 )z
                           y    =                                   .
                                         2(a3 − a1 ) 2(b3 − b1 )
                                         2(a3 − a2 ) 2(b3 − b2 )
           c                                        e   e
En rempla¸ant x et y par ces valeurs dans la troisi`me ´quation de (1.4), on obtient une
e
´quation quadratique en z dont on peut calculer les deux solutions z1 et z2 . En rem-
    c
pla¸ant z successivement par z1 et z2 dans (1.6), on obtient les valeurs correspondantes
x1 , x2 et y1 , y2 . Un logiciel de manipulations symboliques peut facilement donner les
                                                                      e e
formules, mais ces formules sont trop grosses pour avoir quelque int´rˆt.
                                   e                                   e e
Un choix d’axes de coordonn´es Nulle part dans le calcul pr´c´dent n’avons-nous
    `                               e
eu a choisir explicitement le syst`me d’axes. Mais, pour faire le lien avec la position
        e a
exprim´e ` l’aide de la longitude, la latitude et l’altitude, nous faisons le choix suivant :
    • le centre des coordonn´es est le centre de la Terre ;
                              e
    • l’axe z passe par les pˆles et est orient´ vers le pˆle Nord ;
                              o                 e         o
    • les axes x et y sont dans le plan de l’´quateur ;
                                              e
    • le demi-axe x positif (respectivement demi-axe y positif) pointe a la longitude 0
                                                                            `
                                e
       (respectivement 90 degr´s ouest).
                          e
Le rayon de la Terre ´tant R (R est environ 6365 km), une solution (xi , yi , zi ) est
acceptable si x2 + yi + zi ≈ (6365 ± 50)2 . L’incertitude de 50 km permet de pallier
                 i
                      2     2

                                                                        e
largement l’altitude en montagne ou pour un avion. Des coordonn´es naturelles sur la
                  e
Terre sont donn´es par la longitude L, la latitude l et la distance h au centre de la Terre
(l’altitude par rapport au niveau de la mer est alors h − R). La longitude et la latitude
                                               e                                      e
sont des angles que l’on va mesurer en degr´s. Si un point (x, y, z) est sur la sph`re de
                 a      `
rayon R, c’est-`-dire a l’altitude 0, alors sa longitude et sa latitude sont obtenues en
 e                 e     e
r´solvant le syst`me d’´quations
6      1 Positionnement

                                x    = R cos L cos l,
                                y    = R sin L cos l,                                 (1.7)
                                z    = R sin l.

Comme l ∈ [−90 ◦ , 90 ◦ ], on obtient
                                                     z
                                        l = arcsin     ,                              (1.8)
                                                     R
                                                                      e      e
ce qui permet de calculer cos l. La longitude L est alors uniquement d´termin´e par les
     e
deux ´quations :
                                 ⎧            x
                                 ⎪cos L =
                                 ⎪                 ,
                                 ⎨         R cos l
                                                                                  (1.9)
                                 ⎪
                                 ⎪           y
                                 ⎩sin L =          .
                                           R cos l

                              e                                           e
Calcul de la position du r´cepteur Soit (x, y, z) la position du r´cepteur. On
                                                                            e
commence par calculer sa distance h au centre de la Terre. Celle-ci est donn´e par

                                    h=     x2 + y 2 + z 2 .

On a maintenant deux choix pour calculer sa latitude et sa longitude : adapter les
                                   c                                  e              e
formules (1.8) et (1.9) en rempla¸ant R par h ou encore, dire que le r´cepteur a la mˆme
                                                    e
longitude et latitude que sa projection sur la sph`re correspondant au niveau de la mer,
` savoir le point :
a
                                                 R R R
                              (x0 , y0 , z0 ) = x , y , z   .
                                                 h h h
L’altitude du r´cepteur est h − R.
               e

1.2.3 L’adaptation aux contraintes pratiques

                        e            e
    Nous venons de pr´senter la th´orie. Malheureusement, en pratique, les choses sont
                       e                        e        e
un peu plus compliqu´es, car les temps mesur´s sont tr`s petits, et il faut donc faire des
            e    e                         e     e                          e    u
mesures tr`s pr´cises. Les satellites sont ´quip´s d’horloges atomiques tr`s coˆ teuses et
                          e                e                                  e
parfaitement synchronis´es alors que le r´cepteur a une horloge de qualit´ moindre, ce
                   e   `       e
qui lui permet d’ˆtre a la port´e de toutes les bourses. Cette horloge de moindre qualit´ e
                e                                                       e      e
peut quand mˆme calculer le temps de parcours du signal de mani`re ad´quate, mais
                               e
elle ne peut rester synchronis´e avec les horloges des satellites. Comment contourne-t-
              e
on la difficult´ ? Auparavant, nous avions trois inconnues x, y, z. Pour les trouver, nous
                                                e
avons donc eu besoin de mesurer trois quantit´s t1 , t2 et t3 . Maintenant, notre r´cepteur
                                                                                   e
mesure bien des temps T1 , T2 et T3 , mais ce sont des temps de parcours fictifs, car le
 e                                                   e
r´cepteur ne sait pas si son horloge est synchronis´e avec celle des satellites. Le temps
          e          e                      e
Ti mesur´ par le r´cepteur est donc donn´ par
                                               1.2 Le GPS (Global Positioning System)          7

           Ti                    e                              e
                 = (heure d’arriv´e du signal sur l’horloge du r´cepteur)
                       − (heure de d´part du signal sur l’horloge du satellite).
                                     e

La solution vient du fait que l’erreur entre les temps de parcours r´els ti et les temps
                                                                     e
de parcours fictifs Ti est la mˆme pour chaque satellite : Ti = τ + ti , i = 1, 2, 3, o`
                              e                                                       u

            ti                   e
                 = (heure d’arriv´e du signal sur l’horloge du satellite)
                       − (heure de d´part du signal sur l’horloge du satellite)
                                     e

             e
et τ est donn´ par

       τ     =                  e                              e
                  (heure d’arriv´e du signal sur l’horloge du r´cepteur)
                                                                                           (1.10)
                      − (heure d’arriv´e du signal sur l’horloge du satellite).
                                       e

                                e           e
La constante τ ainsi calcul´e est le d´calage entre l’horloge des satellites et l’horloge
     e                             e
du r´cepteur. C’est une quatri`me inconnue, τ , qui s’ajoute aux trois inconnues x, y, z,
                           e                       e
que sont les coordonn´es de la position du r´cepteur. Pour obtenir un nombre fini de
                           e   a                                   e e        e
solutions pour un syst`me ` quatre inconnues, il nous faut en g´n´ral quatre ´quations.
         e                                 e     e             e                     e
Il est tr`s simple d’obtenir une quatri`me ´quation : le r´cepteur mesure un quatri`me
temps de parcours (fictif) T4 du signal ´mis par un quatri`me satellite P4 . En notant
                                              e                  e
que pour i = 1, . . . , 4, on a ti = Ti − τ , on a donc le syst`me
                                                               e

                      (x − a1 )2 + (y − b1 )2 + (z − c1 )2   =   c2 (T1 − τ )2 ,
                      (x − a2 )2 + (y − b2 )2 + (z − c2 )2   =   c2 (T2 − τ )2 ,
                                                                                           (1.11)
                      (x − a3 )2 + (y − b3 )2 + (z − c3 )2   =   c2 (T3 − τ )2 ,
                      (x − a4 )2 + (y − b4 )2 + (z − c4 )2   =   c2 (T4 − τ )2 ,

                                               e                        e e
aux quatre inconnues x, y, z, τ . Dans ce syst`me, on peut, comme pr´c´demment, faire
       e       ee                                                  e
des op´rations ´l´mentaires permettant de remplacer trois des ´quations quadratiques
         e           e                                            e   e        `
par des ´quations lin´aires. Pour ce faire, on soustrait la quatri`me ´quation a chacune
               e                        e    e
des trois premi`res. On obtient le syst`me ´quivalent :

           2(a4 − a1 )x + 2(b4 − b1 )y + 2(c4 − c1 )z        =   2c2 τ (T4 − T1 ) + B1 ,
           2(a4 − a2 )x + 2(b4 − b2 )y + 2(c4 − c2 )z        =   2c2 τ (T4 − T2 ) + B2 ,
                                                                                           (1.12)
           2(a4 − a3 )x + 2(b4 − b3 )y + 2(c4 − c3 )z        =   2c2 τ (T4 − T3 ) + B3 ,
           (x − a4 )2 + (y − b4 )2 + (z − c4 )2              =   c2 (T4 − τ )2 ,

 u
o`

                 B1     =   c2 (T1 − T4 ) + (a2 − a2 ) + (b2 − b2 ) + (c2 − c2 ),
                                 2    2
                                              4    1       4    1       4    1
                 B2     =   c (T2 − T4 ) + (a2 − a2 ) + (b2 − b2 ) + (c2 − c2 ),
                             2   2    2
                                              4    2       4    2       4    2             (1.13)
                 B3     =   c2 (T3 − T4 ) + (a2 − a2 ) + (b2 − b2 ) + (c2 − c2 ).
                                 2    2
                                              4    3       4    3       4    3

            e                  e                  e                 e    e
Dans le syst`me (1.12), la r`gle de Cramer appliqu´e aux trois premi`res ´quations
permet de tirer x, y, z en fonction de τ :
8       1 Positionnement

                         2c2 τ (T4 − T1 ) + B1 2(b4 − b1 ) 2(c4 − c1 )
                         2c2 τ (T4 − T2 ) + B2 2(b4 − b2 ) 2(c4 − c2 )
                         2c2 τ (T4 − T3 ) + B3 2(b4 − b3 ) 2(c4 − c3 )
               x =                                                     ,
                               2(a4 − a1 ) 2(b4 − b1 ) 2(c4 − c1 )
                               2(a4 − a2 ) 2(b4 − b2 ) 2(c4 − c2 )
                               2(a4 − a3 ) 2(b4 − b3 ) 2(c4 − c3 )

                         2(a4 − a1 ) 2c2 τ (T4 − T1 ) + B1 2(c4 − c1 )
                         2(a4 − a2 ) 2c2 τ (T4 − T2 ) + B2 2(c4 − c2 )
                         2(a4 − a3 ) 2c2 τ (T4 − T3 ) + B3 2(c4 − c3 )
               y    =                                                  ,                   (1.14)
                              2(a4 − a1 ) 2(b4 − b1 ) 2(c4 − c1 )
                              2(a4 − a2 ) 2(b4 − b2 ) 2(c4 − c2 )
                              2(a4 − a3 ) 2(b4 − b3 ) 2(c4 − c3 )

                         2(a4 − a1 ) 2(b4 − b1 ) 2c2 τ (T4 − T1 ) + B1
                         2(a4 − a2 ) 2(b4 − b2 ) 2c2 τ (T4 − T2 ) + B2
                         2(a4 − a3 ) 2(b4 − b3 ) 2c2 τ (T4 − T3 ) + B3
               z    =                                                  .
                              2(a4 − a1 ) 2(b4 − b1 ) 2(c4 − c1 )
                              2(a4 − a2 ) 2(b4 − b2 ) 2(c4 − c2 )
                              2(a4 − a3 ) 2(b4 − b3 ) 2(c4 − c3 )
                                      e                                  e
Ceci n’a de sens que si le d´nominateur est non nul. Or, le d´nominateur est nul si
                                                       e             e
et seulement si les quatre satellites sont situ´s dans un mˆme plan (voir l’exercice 1).
Lorsqu’on dispose les satellites sur leurs orbites, il faut donc s’assurer qu’en aucun
                                                                   e
instant, on ne puisse avoir quatre satellites visibles d’un mˆme point de la Terre et situ´s     e
               e                                                                e
dans un mˆme plan. On remplace les solutions de (1.14) dans la quatri`me ´quation du e
     e
syst`me (1.12). On obtient une solution quadratique en τ qui admet deux racines τ1 et
τ2 . On remplace ces valeurs dans (1.14), ce qui nous donne deux ensembles de valeurs
(x1 , y1 , z1 ) et (x2 , y2 , z2 ) pour la position du r´cepteur. On ´limine la valeur irr´aliste.
                                                        e             e                   e
                                        e
Quels satellites doit choisir le r´cepteur s’il en capte plus de quatre ? Dans ce
          e                              e
cas, le r´cepteur a le choix des donn´es qu’il va utiliser pour calculer sa position. Pour
cela, il doit choisir les satellites avec lesquels l’erreur de calcul sera minimale. En effet,
les temps de parcours des signaux sont approximatifs. Cela signifie que les distances des
               e
satellites au r´cepteur ne sont connues qu’approximativement. Graphiquement, on peut
     e           e                         e                                 e
repr´senter la r´gion d’incertitude en ´paississant la surface de la sph`re. L’intersection
         e e                                                  e a
des sph`res ´paissies est un ensemble dont la taille est reli´e ` l’incertitude sur la solution.
                                                                            e
On peut facilement se convaincre que plus l’angle avec lequel les sph`res se coupent est
                                                                             e
grand, plus la zone d’incertitude est petite. Au contraire, plus les sph`res s’intersectent
                                                                                   `
tangentiellement, plus la zone d’incertitude est grande. On a donc avantage a choisir les
                                        e
satellites qui sont les centres de sph`res Si se coupant avec le plus grand angle possible
(figure 1.2).
                    e     e e                                   e
    C’est la mani`re g´om´trique de voir les choses. Alg´briquement on voit que les
valeurs de x, y, z en fonction de τ dans (1.14) sont obtenues en divisant par
                                         1.2 Le GPS (Global Positioning System)         9




                               `                    e                       a
         Fig. 1.2. Petit angle a gauche (perte de pr´cision) et grand angle ` droite



                           2(a4 − a1 ) 2(b4 − b1 ) 2(c4 − c1 )
                           2(a4 − a2 ) 2(b4 − b2 ) 2(c4 − c2 ) .
                           2(a4 − a3 ) 2(b4 − b3 ) 2(c4 − c3 )

         e                                                      e
Plus ce d´nominateur est petit, plus les erreurs sont accentu´es dans le calcul. On a
        e e a                                           e
donc int´rˆt ` choisir des satellites pour lesquels ce d´nominateur est maximal.

                        e          e    e    e
   Des sujets plus avanc´s peuvent ˆtre ´tudi´s dans le cadre d’un projet.

Quelques exemples de raffinements
  • GPS diff´rentiels (DGPS) Une source d’impr´cision vient du fait que les
                e                                            e
                                                                                  e
    calculs utilisent la constante c qui est la vitesse de propagation de la lumi`re dans
                                      e             e           e e
    le vide. En pratique une onde ´lectromagn´tique est d´fl´chie par l’atmosph`re,     e
    ce qui allonge sa trajectoire et son temps de parcours. Pour obtenir une meilleure
                                                                                       e
    approximation de la vitesse du signal le long de sa trajectoire, on utilise un syst`me
                  e
    de GPS diff´rentiels. On compare le temps de parcours du signal du satellite au
     e         a                                    e            a          e     e
    r´cepteur ` celui du temps de parcours du mˆme satellite ` un deuxi`me r´cepteur
         e            e     e
    situ´ dans la mˆme r´gion et dont la position est connue. Ceci permet de calculer
    la vitesse de propagation du signal puisque celui-ci ne voyage pas dans le vide. On
                                 e                      `
    peut augmenter alors la pr´cision des mesures a l’ordre du centim`tre.e
  • Le signal envoy´ par chaque satellite est un signal al´atoire, mais qui est r´p´t´ `
                      e                                      e                      e e ea
                       e                                   e
    des intervalles r´guliers parfaitement connus. La p´riode est relativement courte,
                          e
    si bien qu’en une p´riode, le signal parcourt seulement quelques centaines de ki-
         e                  e         c         e             e
    lom`tres. Quand le r´cepteur re¸oit le d´but d’une p´riode du signal du satellite,
                  e           a                   e          e       ee         e
    il lui faut d´terminer ` quel moment ce d´but de p´riode a ´t´ envoy´. A priori
                                                      e
    on a une incertitude d’un nombre entier de p´riodes.
  • GPS en mouvement rapide Installer des GPS sur des objets en mouvement
                                                                        e
    rapide (par exemple, un avion) et les faire calculer en temps r´el constitue une
    application naturelle : si un avion doit par exemple atterrir dans le brouillard, il
    doit connaˆ                     e     a
                ıtre sa position pr´cise ` chaque instant, et le temps de calcul de la
                    e    e
    position doit ˆtre r´duit au minimum.
10       1 Positionnement

     • La Terre n’est pas sph´rique ! La Terre n’est pas exactement une sph`re, mais
                                  e                                                 e
            o              ıde              o                                      o
       plutˆt un ellipso¨ aplati aux pˆles. Son rayon est de 6356 km aux pˆles et de
                  a e                                       e
       6378 km ` l’´quateur. Il faut ajuster les coordonn´es de longitude, de latitude et
                                                               e
       d’altitude dans lesquelles on transforme les coordonn´es (x, y, z).
     • Corrections relativistes Les vitesses des satellites sont suffisamment impor-
                                                         e e
       tantes pour qu’il faille apporter aux calculs pr´c´dents des corrections, prenant
                         e                    e
       en compte la th´orie de la relativit´ restreinte. En effet, les horloges des satellites
                                                                                  e
       sont en mouvement rapide par rapport aux horloges terrestres. La th´orie de la
                e               e
       relativit´ restreinte pr´dit donc qu’elles sont au ralenti par rapport aux horloges
       terrestres. D’autre part, les satellites sont au voisinage de la Terre, qui a une
                                         e e e       e                         ee
       masse importante. La relativit´ g´n´rale pr´voit dans ce cas une acc´l´ration des
       horloges des satellites. Dans un premier temps, on peut assimiler la Terre a un  `
                           e                                     e
       objet massif, sph´rique, non en rotation et sans charge ´lectrique. Alors, le calcul
                                 e     `               e                                e
       se fait relativement ais´ment a l’aide de la m´trique de Schwarzschild, qui d´crit
                               e e e                      e
       l’effet de la relativit´ g´n´rale sous ces hypoth`ses simplificatrices. Il se trouve
                                                                                    e
       que cette simplification suffit pour obtenir une bonne localisation du r´cepteur.
                                       e                            e e e
       Les deux effets de la relativit´ restreinte et de la relativit´ g´n´rale vont en sens
       contraire l’un de l’autre, mais ils ne se compensent que partiellement, et on ne peut
                                                                 e e
       donc se passer d’une correction relativiste aux calculs pr´c´dents pour obtenir une
                       e            e                  e
       localisation ad´quate du r´cepteur. Plus de d´tails dans [6].

Applications du GPS Elles sont nombreuses. En voici quelques-unes :
  • Un r´cepteur GPS permet de retrouver son chemin dans la nature. C’est utile pour
         e
                                        `                                      e
    les randonneurs, les navigateurs a voile, les kayakistes de mer, etc. Le r´cepteur
                                           e                                 e
    permet d’enregistrer des points rep`res. On enregistre un point rep`re, soit au
                u                                     e                e
    moment o` on passe sur le point, auquel cas le r´cepteur a calcul´ sa position, soit
                                e
    en rentrant ses coordonn´es prises sur une carte. En joignant des points rep`rese
    par des segments de droite, on peut enregistrer des « routes ». Le r´cepteur peut
                                                                           e
                              e                                  `               e
    ensuite afficher sur son ´cran notre position par rapport a ces points rep`res ou
                                                                       e
    nous diriger pour suivre une route. Parmi les options plus avanc´es, on peut aussi
                        e                                                      e
    installer dans le r´cepteur des banques de cartes topographiques. Le r´cepteur
                                                     e
    affiche alors une portion de la carte sur son ´cran et sa propre position sur la
                                                            e
    carte. Il peut aussi afficher sur la carte les points rep`res et les routes que l’on a
       e                     e
    pr´alablement enregistr´s.
  • De plus en plus de v´hicules, principalement des taxis, sont munis de GPS pour
                          e
           `                                                             e
    aider a trouver une adresse. Il existe en Europe de l’Ouest et en Am´rique du Nord
    des logiciels fonctionnant avec un GPS et donnant les instructions pour trouver
    presque n’importe quelle adresse.
  • Vous ˆtes muni d’une ancienne carte topographique sur laquelle le chemin que
           e
    nous parcourez n’est pas inscrit ? Parcourez le chemin avec votre GPS ouvert qui
    enregistre votre trajet et branchez-vous ensuite sur un ordinateur avec un logiciel
              e                                   e
    appropri´ : vous pourrez superposer le trac´ du chemin parcouru sur votre carte.
                                               e e                 ee
    Si vous ne disposez pas d’une carte num´ris´e vous pouvez t´l´charger votre carte
                                          1.2 Le GPS (Global Positioning System)           11

                                         e                                e
       papier et rentrer les coordonn´es de trois points non align´s de la carte, ce qui
                                                         e                  e
       permet au logiciel de munir la carte d’un syst`me de coordonn´es (voir exercice 5).
   •           e                                                 e
       La pr´sence de GPS dans les avions a permis de r´duire la largeur des couloirs
         e
       a´riens.
   •             e                            `                             e
       Le syst`me GPS permet de suivre a la trace la position des v´hicules d’une flotte
            e                                                                e e
       de v´hicules de livraison. Par exemple, les taxis parisiens sont g´r´s par GPS. Dans
                                              e               a    e
       ces applications, il faut coupler le r´cepteur GPS ` un ´metteur : par exemple, un
                                                                            e
       GSM (Global System for Mobile Communications). Un tel syst`me est aussi utilis´       e
                                             a                   e
       pour suivre des animaux sauvages ` la trace dans des ´tudes environnementales. Et
                                                         `            e
       on voit tout de suite les atteintes possibles a la vie priv´e lorsqu’une compagnie
                               e                                               e
       de location d’autos d´cide de cacher un GPS-GSM dans un v´hicule lou´ pour       e
         e
       v´rifier si le client respecte les limites de territoire apparaissant au contrat !
   •          e                 e                                   a
       On d´veloppe des syst`mes pour aider les non-voyants ` se localiser.
   •          e                               e
       Les g´ographes se servent du syst`me GPS pour mesurer la croissance du mont
                                                 a     ıtre           `
       Everest : en effet, ce dernier continue ` croˆ au fur et a mesure que son glacier,
                                                             e
       le Khumbu, descend. Tous les deux ans, des exp´ditions munies de GPS mettent
              `                                                                        e
       aussi a jour l’altitude officielle du mont Blanc. De plus, il y a quelques ann´es, les
         e                            e           e               e e                   a
       g´ographes se sont demand´ si le K2 n’´tait pas plus ´lev´ que l’Everest. Grˆce au
                   e              e         e                           e          e
       GPS utilis´ lors de l’exp´dition g´ographique de 1998, le d´bat est d´finitivement
                                  e
       clos, et on sait de mani`re certaine que l’Everest est la plus haute montagne du
                   ee a             e                       e
       globe. Il s’´l`ve ` 8830 m`tres. Le calcul effectu´ en 1954 par B. L. Gulatee avait
                 a                        e                            ee         e a e
       conclu ` une hauteur de 8848 m`tres. Les mesures avaient ´t´ effectu´es ` l’´poque
       ` partir de six stations dans la plaine indienne en utilisant un th´odolite (appareil
       a                                                                       e
             e      e e                                        a
       utilis´ en g´od´sie, muni d’une lunette et servant ` mesurer les angles).
   •   Il y a bien sˆ r les applications militaires lorsque le GPS est utilis´ pour t´l´guider
                     u                                                          e    ee
       des bombes.


                                        a                       e
Le futur : GPS et Galileo Jusqu’` maintenant, les Am´ricains ont occup´ seuls ce e
       e             o                                      e        e
march´ qu’ils contrˆlent totalement. Ils peuvent donc d´cider, si n´cessaire, de brouiller
                                     e
les signaux accessibles dans une r´gion pour des raisons militaires (programme NAV-
                                                   e                  e
WAR pour Navigational Warfare). Les Europ´ens ont donc lanc´ le 26 mars 2002 la
             e                                                  e         ea
phase de d´veloppement et de validation de Galileo, un syst`me destin´ ` concurrencer
                               ee e        e
le GPS. Deux satellites ont ´t´ d´ploy´s en 2005, et l’ensemble des satellites devrait
e      e      e
ˆtre d´ploy´ en 2010. Le GPS dans sa forme actuelle ne diffuse pas d’information sur
     e    e              e              e                                            e
l’int´grit´ des signaux ´mis. Il peut s’´couler quelques heures avant que l’on ne r´alise
                           e                          e
qu’un satellite est tomb´ en panne, avec les cons´quences que l’on peut imaginer. En
                                         e                  e
particulier, on n’ose pas se fier compl`tement au syst`me GPS pour piloter un avion
                                                        e     e
dans le brouillard. Avec Galileo, un message d’int´grit´ accompagnera chaque signal
e           e            e                                             e
´mis et pr´viendra le r´cepteur de ne pas utiliser un message fauss´ en raison du mau-
                                                          e a            e
vais fonctionnement d’un satellite. Ceci sera effectu´ ` l’aide d’un r´seau de stations
                       e                          e
de surveillance qui v´rifieront si la position r´elle des satellites est bien celle qu’elles
                                                                            e
calculent en utilisant le signal du satellite. Cette information sera renvoy´e rapidement
12       1 Positionnement

                                                                            e
aux satellites, qui la diffuseront aux usagers comme partie du signal. Les Am´ricains
   e                                  e                      e
esp`rent aussi introduire une telle am´lioration pour le syst`me GPS.


                                a         e
1.3 Gestion des coups de foudre ` Hydro-Qu´bec
                           a               e
    De nouvelles solutions ` certains probl`mes techniques apparaissent souvent lors-
                                                                               `
qu’une nouvelle technologie devient disponible. La gestion des coups de foudre a Hydro-
Qu´bec1 repose aujourd’hui partiellement sur l’existence du syst`me GPS. Mais, comme
    e                                                           e
                              e                         `
c’est souvent le cas, les math´matiques interviennent a plus d’un endroit dans cette
  e                                                                                e
m´thode de gestion des coups de foudre. Ainsi, cette section n’est pas seulement l’´tude
                                                 e
d’une application (inattendue) du GPS, mais l’´tude de quelques-unes des m´thodese
      e                                  e
math´matiques intervenant dans ce probl`me technique.

1.3.1 La localisation des coups de foudre

               e             e                 e
    Hydro-Qu´bec a install´ en 1992 un syst`me de localisation des coups de foudre
                             e                          `
sur son territoire. La probl´matique globale consiste a circonscrire les zones orageuses
         e a                                      e               e
de mani`re ` diminuer le transit sur les lignes ´lectriques situ´es dans ces zones et ` a
                                                e
rediriger le transit sur d’autres lignes. On att´nue ainsi l’impact potentiel de la perte
                                    e                                       e
de lignes : en cas de pannes caus´es par la foudre tombant sur une ligne ´lectrique, le
                 e        e                                 e     e
nombre d’abonn´s touch´s est alors minimal, et la fiabilit´ du r´seau, augment´e.  e
                          e                  e            e         e
    Pour cela, Hydro-Qu´bec utilise un syst`me de 13 d´tecteurs r´partis dans les deux
                                e                                             e
tiers sud de la province de Qu´bec, soit le territoire couvert par des lignes ´lectriques.
                                                                          e     e
Leur position est connue, mais, comme on doit mesurer des temps tr`s pr´cis, tous
     e                  e                            e
les d´tecteurs doivent ˆtre parfaitement synchronis´s. Ils utilisent pour cela chacun un
 e
r´cepteur GPS.
        e                              ee
Le r´cepteur GPS : une r´f´rence de temps Cela peut paraˆ                     ıtre un peu sur-
                                              e             e
prenant. Nous avons justement not´ le fait qu’un r´cepteur GPS est muni d’une hor-
                   u                         e
loge peu coˆ teuse et donc, peu pr´cise. Mais nous avons aussi vu que, pour calculer
                        e                                 e                      e
sa position, le r´cepteur GPS solutionne le syst`me (1.11) de quatre ´quations aux
                                                        e       e            ıt
quatre inconnues x, y, z, τ . Lorsqu’il a solutionn´ le syst`me, il connaˆ donc τ , qui est
      e
le d´calage entre son horloge interne et l’horloge des satellites. Il peut donc calculer
                                                                                  e
l’heure exacte, et l’heure qu’il affiche est en fait l’heure des satellites. Le r´cepteur GPS
                             `             e      e                e
calcule une position a quelques m`tres pr`s, avec une impr´cision correspondante dans
                     e                    e          e                e
le calcul du d´calage. On peut am´liorer la pr´cision quand le r´cepteur est stationnaire.
                                      e
On remplace les valeurs calcul´es x, y, z et τ par les moyennes de plusieurs valeurs cal-
cul´es (xi , yi , zi , τi )N ` diff´rents temps. En effet, il y a une erreur dans chaque calcul
    e                      i=1 a    e
(xi , yi , zi , τi ). Les erreurs dans l’espace peuvent ˆtre dans n’importe quelle direction, et
                                                        e
     1
               e                                                                e         e
     Hydro-Qu´bec est le plus grand producteur, transporteur et distributeur d’´lectricit´ dans
                  e                                                         e         e
la province de Qu´bec. Son nom s’explique par le fait que plus de 95 % de l’´lectricit´ produite
est d’origine hydraulique.
                                                      1.3 Coups de foudre et orages      13

        e       a                                                                     e
elles ob´issent ` une loi statistique bien connue. (Elles sont gaussiennes et uniform´ment
 e                                            e                               e
r´parties dans toutes les directions.) De mˆme, l’erreur dans le calcul du d´calage τ peut
e                  e                               e              e                  e
ˆtre positive ou n´gative. Alors, la position du r´cepteur et le d´calage sont estim´s plus
                    1    N        1   N      1  N       1     N
   e e
pr´cis´ment par ( N i=1 xi , N i=1 yi , N i=1 zi , N i=1 τi ).
                      e
    Comme chaque r´cepteur GPS peut synchroniser son horloge sur celle des satellites,
        e                           e
cette m´thode permet aux 13 d´tecteurs de synchroniser leurs horloges entre elles a 100`
                  e                                         e
nanosecondes pr`s. (Une nanoseconde est un milliardi`me de seconde.) Une fois que
les r´cepteurs GPS se sont synchronis´s, ils peuvent « battre la seconde », c’est-`-dire
     e                                    e                                           a
                                e                                              e
envoyer une pulsation rythm´e toutes les secondes. Cette pulsation rythm´e est utilis´e  e
pour d’autres mesures.
                                                                      ee
Localisation des coups de foudre En plus de maintenir une r´f´rence de temps tr`s        e
   e              e                                                       e           e
pr´cise, les 13 d´tecteurs sont aussi responsables de relever toute onde ´lectromagn´tique
                                                                                   e
inhabituelle et d’identifier celles qui sont dues aux coups de foudre. Hydro-Qu´bec les
                e                 e
a donc localis´s loin des lignes ´lectriques, car le champ produit par les lignes brouille-
                                                e                   a
rait les lectures. Typiquement ils sont situ´s sur le toit de bˆtiments administratifs
                                e          e                                     a
de la compagnie et de mani`re la plus ´quidistante possible sur le territore ` couvrir.
                                                              e
Lorsqu’un coup de foudre affecte le territoire d’Hydro-Qu´bec et que son amplitude est
                               e                                      e
suffisante pour menacer le r´seau, il est habituellement enregistr´ par un minimum de
        e                              e     e
cinq d´tecteurs. Ceux-ci peuvent mˆme d´tecter de gros coups de foudre qui tombent
                          e
au Mexique, mais la pr´cision de la localisation est moindre.
                           e e             e           e
     Le coup de foudre g´n`re une onde ´lectromagn´tique qui se propage dans l’espace
` la vitesse de la lumi`re. Les d´tecteurs doivent noter l’instant pr´cis o` ils per¸oivent
a                       e         e                                     e   u       c
             e            e
cette onde ´lectromagn´tique. Pour cela, ils utilisent un oscillateur rapide (par exemple,
                                           e                                 e
un cristal de quartz) qui est synchronis´ sur la pulsation du GPS. La fr´quence de cet
                               `     e            a                            `
oscillateur peut varier de 4 a 16 m´gahertz (4 ` 16 millions d’oscillations a la seconde).
       e                                e                       e      u         c
Les d´tecteurs relaient alors au syst`me central l’instant pr´cis o` ils ont re¸u l’onde.
                                                                               a
Ce dernier calcule la position du coup de foudre par triangulation (c’est-`-dire en uti-
           e                                  e             e        e
lisant le d´calage entre les temps enregistr´s par les diff´rents d´tecteurs, comme dans
l’exercice 2).
L’identification des coups de foudre Il existe trois types de coups de foudre :
    • les coups de foudre entre nuages. Ceux-ci forment la majorit´ des coups de foudre.
                                                                     e
                        e
       Ils ne sont pas d´tect´s, mais ils n’affectent pas le r´seau ;
                              e                              e
    • les coups de foudre n´gatifs. Le nuage est charg´ n´gativement, et le coup de foudre
                            e                          e e
                                       e
       consiste en une migration des ´lectrons vers le sol ;
    • les coups de foudre positifs. Le nuage est charg´ positivement, et le coup de foudre
                                                       e
                                    e                                                e
       consiste en une migration d’´lectrons du sol vers le nuage. L’onde enregistr´e pour
                                                                                     e
       un coup de foudre positif est alors l’onde miroir de celle qui est enregistr´e pour
                            e
       un coup de foudre n´gatif.
      e                             e
Les d´tecteurs peuvent faire la diff´rence entre les coups de foudre positifs et les coups de
          e
foudre n´gatifs. Si on se limite aux coups de foudre entre des nuages et le sol, en temps
                                           e
normal, 90 % des coups de foudre sont n´gatifs. Mais lors d’orages forts, cette proportion
           e
est invers´e, et 90 % des coups de foudre sont positifs. On pourrait donc croire que, si un
14     1 Positionnement

  e                                                                   e
d´tecteur observe une onde de coup de foudre positif et un autre d´tecteur, une onde de
                   e                                                    e
coup de foudre n´gatif, alors ces ondes ne peuvent appartenir au mˆme coup de foudre.
                              e
C’est un peu plus compliqu´ que cela. Lorsque l’onde a parcouru plus de 300 km depuis
                       e   e e                  e                                  e
sa source, elle peut ˆtre r´fl´chie sur l’ionosph`re, ce qui inverse le signal. Un d´tecteur
    ea                                                                       e e
situ´ ` plus de 600 km d’un coup de foudre peut donc capter un signal r´fl´chi.
    Pour reconnaˆ                                                         e          e
                   ıtre un coup de foudre et pour savoir si une onde ´lectromagn´tique
                                      e
provient d’un coup de foudre, le d´tecteur analyse la forme de l’onde par filtrage de
                                        e                                          e
signal : il doit trouver la signature sp´cifique de la foudre. En particulier, le d´tecteur
          e
note le d´but du signal, l’amplitude maximale, le nombre de pics, la vitesse de mont´e   e
                      e          e
et envoie ces donn´es au syst`me central. L’analyse de signal est un beau sujet des
      e
math´matiques, mais nous n’en traiterons pas ici.
           e      a                            e                           e
De la th´orie ` la pratique Des consid´rations pratiques peuvent ´galement aider
a
` porter le bon diagnostic.
   • Soient P et Q les deux points les plus ´loign´s l’un de l’autre du territoire d’Hydro-
                                              e     e
          e                                       e                   a
      Qu´bec, et soit T le temps mis par la lumi`re pour aller de P ` Q. Alors, on est sˆru
                                                                      e         e
      que, si un coup de foudre tombe sur le territoire d’Hydro-Qu´bec, le d´calage des
                       e             e                e     a                      e
      temps enregistr´s par deux d´tecteurs est inf´rieur ` T . Donc, si deux d´tecteurs
      ont enregistr´ des ondes de coups de foudre ` des instants t1 et t2 tels que t1 − t2 >
                    e                               a
                                                      e
      T , alors ces ondes ne peuvent provenir du mˆme coup de foudre.
   • L’amplitude de l’onde g´n´r´e par le coup de foudre est inversement proportion-
                                e e e
                    e
      nelle au carr´ de la distance depuis la source. Pour que des ondes proviennent d’un
        e
      mˆme coup de foudre, il faut que les amplitudes de ces ondes soient compatibles
      avec la localisation potentielle du coup de foudre que l’on vient de calculer.
   • Si un coup de foudre tombe a moins de 20 km d’un d´tecteur, on ´limine ce
                                       `                           e             e
       e                                                                        e
      d´tecteur pour le calcul. En effet, l’amplitude est trop grande, et le d´tecteur ne
      pourra pas faire la distinction entre un gros coup de foudre et la superposition de
                                 e
      deux coups de foudre diff´rents.
             e                                          a       e       e
Avec ces m´thodes, on localise les coups de foudre ` 500 m`tres pr`s sur le territoire
                                            e
desservi. En dehors de ce territoire, la pr´cision diminue.
                       e
Localisation des d´fauts sur une ligne de transmission On se sert d’une m´thode    e
                               e
similaire pour localiser les d´fauts sur une ligne de transmission : par exemple, lorsque
                                       e                                 u         e
la foudre a effectivement endommag´ une ligne et qu’il faut savoir o` aller la r´parer.
A chaque extr´mit´ de la ligne ` prot´ger, on installe un « oscilloperturbographe »,
`              e     e             a      e
                             e
lequel est aussi synchronis´ par GPS. L’appareil mesure la forme d’onde du signal `      a
                       e               e
60 hertz. Selon le d´faut, on a diff´rents types de perturbation. La perturbation se
                             `                     e
propage le long de la ligne a la vitesse de la lumi`re. On note les temps t1 et t2 o` elle
                                                                                     u
est enregistr´e aux deux bouts de la ligne. En utilisant la diff´rence t1 − t2 , on peut
             e                                                    e
                                        u           ee             e        e
localiser approximativement le lieu o` la ligne a ´t´ endommag´e. La pr´cision est de
                           e                             e
quelques centaines de m`tres seulement, mais au Qu´bec, les lignes sont parfois tr`s    e
                                           e             e              e
longues, et de longues sections sont situ´es dans des r´gions inhabit´es, donc une telle
                e         e           e     e                       e e         e
information, mˆme impr´cise, est tr`s pr´cieuse. On peut alors d´pˆcher une ´quipe de
 e
r´paration sur les lieux.
                                                        1.3 Coups de foudre et orages       15

      e                                  e         e
La r´partition du transport de l’´lectricit´ On utilise les localisations des coups
de foudre pour circonscrire les zones orageuses. Comme les coups de foudre tombent de
      e     e                          e
mani`re al´atoire, on utilise des mod`les statistiques. Pour cela, on quadrille le territoire
                         e
et on utilise une densit´ spatio-temporelle de coups de foudre. Par exemple, un orage
                                      e        e
avec deux coups de foudre par kilom`tre carr´ aux dix minutes est un orage intense. Avec
                         e
un tel quadrillage, on d´finit un cœur de l’orage (un centro¨  ıde). On refait le quadrillage
                                                          e                      e
toutes les cinq minutes. On doit se servir de cela pour ´valuer la vitesse de d´placement
                                   `                   e
de l’orage (elle peut aller de 0 a 200 km/h) et pr´voir les zones qui seront affect´es.    e
                  e           e       a                              e               e
Parmi les probl´matiques d´licates ` traiter qui sont de beaux d´fis pour les ing´nieurs
                                                                   e
se trouve l’analyse du cas de deux orages proches : ils doivent d´cider si deux centro¨  ıdes
                                   ıde     `
sont distincts ou si le vrai centro¨ est a mi-chemin entre les deux centro¨   ıdes observ´s.e
                                    e                            e
    Muni de ces informations, le r´partiteur peut prendre la d´cision, sur la base de son
    e                                                              a          e
exp´rience, de diminuer le transit d’une ligne de transmission ` proximit´ du cœur de
           e                  e     e                    e         e e
l’orage. L’´quilibrage d’un r´seau ´lectrique est une op´ration tr`s d´licate. On doit avoir
                      e                              e        e            e
en tout temps un ´quilibre entre la production d’´lectricit´, la quantit´ transport´e ete
la demande. Pour pouvoir diminuer le transit sur une ligne, il faut avoir de la capacit´      e
                    e
de transport exc´dentaire sur une autre ligne. Donc, pour pouvoir prendre de telles
  e             e
d´cisions, le r´partiteur doit avoir une marge de manœuvre. En effet, chaque ligne a
              e
une quantit´ maximale de transit, mais les normes de contingence de premier niveau
                                                                          e        a
sont telles que toutes les lignes ne doivent jamais fonctionner simultan´ment ` capacit´      e
maximale et qu’on doit toujours pouvoir supporter la perte d’une ligne.

                     e        e
1.3.2 Seuil et qualit´ de la d´tection des coups de foudre

         e                   e            e          e          `
     Les ´quipements install´s aux sites d´tecteurs r´pondent a des normes minimales de
  e                                                                              e e
d´tection, mais ils peuvent faire mieux. Il est donc utile de tester leur capacit´ r´elle et,
           e                               o    e
ici, les m´thodes statistiques jouent un rˆle cl´.
     `                                           e                                e
     A cette fin, on utilise une loi de probabilit´ empirique pour la variable al´atoire X
                     e                             o                             e
qui donne l’intensit´ des coups de foudre. Plutˆt que la fonction de densit´ f (I) des
                                                              e
coups de foudre, on utilise une variante de la fonction de r´partition
                                                           1
                            P (I) = Prob(X > I) =                 .                     (1.15)
                                                            I K
                                                      1+    M

                                                                       e    e
 On a donc bien P (0) = Prob(X > 0) = 1. Les valeurs de M et K utilis´es d´pendent des
        e                                   e                                  e     e
zones g´ographiques et de leurs particularit´s environnementales. Elles sont d´termin´es
                                         e                 e
empiriquement. La valeur de I est donn´e en kA (kiloamp`res). Certaines valeurs sont
      e
utilis´es suffisamment souvent pour porter un nom. Ainsi, la fonction P de (1.15) est
      e                                                                       e
appel´e fonction de Popolansky quand M = 25 et K = 2. Elle est appel´e fonction
                                                                      e
d’Anderson–Erikson quand M = 31 et K = 2,6. La figure 1.3 repr´sente la fonction
                                                       e                             e
de Popolansky, et la figure 1.4, la fonction de densit´ f (I) de la variable X associ´e.
                         ∞
Rappelons que P (I) = I f (J)dJ et donc, que f (I) = −P (I).
    Voyons comment nous pouvons utiliser cette loi pour faire des calculs.
16      1 Positionnement




                             Fig. 1.3. La fonction de Popolansky




                                            e       e a
             Fig. 1.4. La fonction de densit´ associ´e ` la fonction de Popolansky



Exemple 1.1 La fonction de Popolansky
                e                                          e        e      `
1. La probabilit´ qu’un coup de foudre au hasard ait un amp´rage sup´rieur a 50 kA
   est
                                          1       1
                             P (50) =           = = 0,2.                     (1.16)
                                           50 2   5
                                      1 + 25
       e
2. La m´diane de cette distribution est la valeur Im de I telle que
                                                                    1
                                  Prob(X > Im ) = P (Im ) =           .                     (1.17)
                                                                    2
                                        1           1                 Im 2
                       e
     Ceci nous donne l’´quation             2   =   2.   Donc 1 +                                `
                                                                             = 2, ce qui revient a
                                    1+( Im )
                                        25
                                                                      25
      Im 2
      25             u
             = 1. D’o` Im = 25.
                                                            1.3 Coups de foudre et orages        17

                           e
Calcul du taux de d´tection des coups de foudre En pratique, on ne d´tecte           e
                                                                          e e
jamais tous les coups de foudre, mais seulement ceux dont l’intensit´ d´passe un cer-
                        e
tain seuil. Ce seuil d´pend de la position des coups de foudre par rapport au r´seau  e
     e                 ee                                    a           e      e
de d´tection et des ´l´ments perturbateurs qui nuisent ` la qualit´ de r´ception de
        e            e                   e         a                   e
l’onde ´lectromagn´tique pour chaque d´tecteur ` un moment donn´. Voyons comment
  e                                              e     e
d´terminer le pourcentage des coups de foudre d´tect´s. Dans notre exemple, nous avons
  e       e                                           e         e      a
d´termin´ que 50 % des coups de foudre ont un amp´rage sup´rieur ` 25 kA. Supposons
                          e                e                               e     e
maintenant que dans l’´chantillon observ´, 60 % des coups de foudre d´tect´s aient un
amp´rage sup´rieur ` Im = 25 kA. Soit E l’´v´nement : « le coup de foudre est d´tect´ ».
     e         e      a                      e e                                   e    e
                                        ıt               e
Alors, on cherche Prob(E). On connaˆ la probabilit´ qu’un coup de foudre d´tect´     e    e
(c’est-`-dire que l’´v´nement E s’est produit) ait un amp´rage sup´rieur ` Im = 25 kA
       a            e e                                     e         e      a
       a                                    e                                 e
(c’est-`-dire X > 25) : c’est une probabilit´ conditionnelle, car on a suppos´ que le coup
             ee e       e              e e
de foudre a ´t´ d´tect´, et donc que l’´v´nement E a eu lieu. On note cette probabilit´   e
conditionnelle :
                                 Prob(X > 25 | E) = 0,6.                             (1.18)
                                       e                     e e
D’autre part, on sait que la probabilit´ conditionnelle de l’´v´nement X > 25, sachant
      e e
que l’´v´nement E s’est produit, se calcule comme
                                                     Prob(X > 25 et E)
                           Prob(X > 25 | E) =                          .                     (1.19)
                                                          Prob(E)
                                                             e             e
Comme telle, cette expression ne nous avance pas, car le num´rateur et le d´nominateur
                                                                        e
sont tous deux inconnus. Mais supposons que l’on puisse faire l’hypoth`se que tous les
                              e        e     a               e   e           e e
coups de foudre ayant un amp´rage sup´rieur ` 25 kA sont d´tect´s. Alors, l’´v´nement
« X > 25 et E » devient simplement X > 25, dont la probabilit´ est connue. D’o`
                                                                     e                u
finalement
                                Prob(X > 25)        0,5    5
                   Prob(E) =                     =       = = 0,83.               (1.20)
                               Prob(X > 25 | E)     0,6    6
                                                  e                  e
    Supposons maintenant que, dans une zone g´ographique limit´e, on puisse faire
        e
l’hypoth`se (avec une marge d’erreur raisonnable) que les seuls coups de foudre non
  e   e                                e                          e
d´tect´s sont ceux de plus faible amp´rage. On peut vouloir d´terminer le seuil I0
           e            ca                                               e    e
pour l’amp´rage, en de¸` duquel les coups de foudre ne sont pas d´tect´s. Alors,
l’´v´nement E devient : X > I0 . On a vu que Prob(E) = 5 = 0,83. Comme
  e e                                                               6
                                               e
Prob(E) = Prob(X > I0 ) = P (I0 ) ceci donne l’´quation
                                                     0,5  5
                                         P (I0 ) =       = ,                                 (1.21)
                                                     0,6  6
                                    1                                 I0 2
ce qui revient a solutionner
               `                     I0 2                a
                                            = 5/6, c’est-`-dire 1 +   25     = 6 . Donc I0 satisfait
                                                                               5
                                 1+( 25 )
 I0 2       1
 25     =   5   = 0,2, ce qui donne :
                                        I0 = 25 0,2 = 11,18.                                 (1.22)
On en conclut que le seuil de d´tection est I0 = 11,18 kA et que les coups de foudre
                                e
          e                                    e    e
dont l’amp´rage est sous ce seuil ne sont pas d´tect´s.
18     1 Positionnement

                        a
1.3.3 Gestion du risque ` long terme

                                                     e a
    La gestion des coups de foudre n’est pas limit´e ` la localisation des orages. Hydro-
    e                     e a                          `                         e
Qu´bec garde des donn´es ` long terme servant a construire les cartes isok´roniques
                        e                                e
qui donnent la densit´ de coups de foudre pour une p´riode de cinq ans. On peut ainsi
                      `                                   ea
identifier les zones a risques. Dans le cas de lignes d´j` construites, on peut investir
          e
pour prot´ger certaines sections. Cela permet aussi de bien choisir les parcours lors de
la construction de nouvelles lignes. Ces choix s’inscrivent dans un cadre de gestion du
risque.
    Les risques dus aux orages violents ne sont qu’une partie des nombreux risques
                                                                                e        e
auxquels fait face une compagnie produisant, transportant et distribuant de l’´lectricit´.
                       e
Ainsi, toutes ces op´rations de localisation des coups de foudre, de suivi des orages,
                             `               e                    e e
d’identification des zones a risques, s’ins`rent dans le cadre g´n´ral de la gestion du
                  e                               e
risque. La probl´matique est de rendre le r´seau de transport le plus fiable possible.
                                      e      e            u                  e
Cependant, investir dans la fiabilit´ repr´sente des coˆ ts. Donc, il faut ´valuer quand
                                                 e e       a
ces investissements sont rentables. Plus un ´v´nement ` risque est dangereux, plus son
                u                          e a                          e
impact est coˆ teux, et plus on est prˆt ` investir pour s’en prot´ger ou en limiter
           `                                u
l’impact. A condition toutefois que le coˆt de la protection ne soit pas exorbitant ! On
introduit donc trois variables :
    • la probabilit´ de l’´v´nement ` risque, p ;
                    e     e e         a
    • le coˆ t projet´ de l’impact Ci , c’est-`-dire le montant que l’on risque de payer si
            u         e                        a
        e e                                               e e
      l’´v´nement se produit et qu’on ne s’est pas prot´g´ ;
    • le coˆ t d’att´nuation Ca , c’est-`-dire le montant que l’on paie pour prot´ger les
            u       e                   a                                          e
      e                                         e e
      ´quipements et limiter l’impact d’un ´v´nement.
On introduit un indice
                                             pCi
                                                   .                                 (1.23)
                                             Ca
        e                               e            e           e             u
En sch´matisant, on voit que le num´rateur repr´sente l’esp´rance du coˆ t que l’on
                    e                                u
devra payer pour r´parer, que l’on compare au coˆ t de la protection. A priori, il faut
                              e    `                   e
que cet indice soit au moins ´gal a 1 pour que l’on d´cide d’investir dans la protection.
                                     e          e e                     e
Des facteurs additionnels doivent ˆtre consid´r´s pour prendre la d´cision finale. Par
                          e         e        e
exemple, on est plus tent´ de prot´ger les ´quipements si on paie une seule fois pour la
                                                             e e
protection et que cette protection est valide pour plusieurs ´v´nements. Un autre facteur
                                                           `
dont il faut tenir compte est si la protection est totale, a savoir qu’on n’encoure aucun
  u        e e                                                    a
coˆ t si l’´v´nement se produit, ou seulement partielle, c’est-`-dire que la protection
               e a a e               e              e
diminue les d´gˆts (` d´faut de les ´liminer compl`tement). Dans le dernier cas, il reste
      u
un coˆ t encouru, mais il est moindre que quand on n’a pas de protection.
                                                                            a e
                                                          1.4 Les registres ` d´calage      19

                  a e
1.4 Les registres ` d´calage et le signal du GPS
                        a e                           e e           e
    Les registres ` d´calage permettent de g´n´rer des s´quences de caract`res qui     e
                               ee                        e              e
ont d’excellentes propri´t´s pour synchroniser l’´coute d’un r´cepteur. Ces appareils
           a                                                                e
simples ` bricoler (on pourrait en fabriquer un avec des composantes ´lectriques simples)
 e e                               e             a                            e         e
g´n`rent un signal pseudo-al´atoire, c’est-`-dire un signal qui a l’air al´atoire mˆme s’il
      e e e                           e
est g´n´r´ par un algorithme d´terministe.
                                        a e             e e               e
    On va construire un registre ` d´calage qui g´n`re un signal p´riodique de longueur
2r − 1. Il aura la propri´t´ d’ˆtre tr`s mal corr´l´ avec toute translation de lui-mˆme et
                              ee e         e          ee                                 e
                             e                           e             a e
avec un autre signal p´riodique produit par le mˆme registre ` d´calage avec d’autres
                                ee               e                  ee
coefficients. Cette propri´t´ d’avoir une s´quence mal corr´l´e avec ses translat´es ou     e
                                     e a                   e        e
avec un autre signal engendr´ ` partir de param`tres diff´rents permet entre autres
     e                                                                          c
au r´cepteur GPS d’identifier sans risque d’erreur le satellite dont il re¸oit le signal et
de mesurer le temps de parcours du signal du satellite en se synchronisant au signal
  c                                                          ` e
re¸u du satellite. Le signal produit par un registre a d´calage est une suite de 0 et
                        a e                  e
de 1. Le registre ` d´calage est donn´ par un ruban de r cases contenant des entr´es          e
                                                                  `
an−1 , . . . , an−r , lesquelles sont des 0 ou des 1 (figure 1.5). A chaque case est associ´e un
                                                                                            e




                                                     ` e
                               Fig. 1.5. Un registre a d´calage



nombre qi ∈ {0, 1}. Ces r nombres qi sont fix´s et sont propres ` un satellite donn´. On
                                                e                  a                e
 e e                       e                c
g´n`re une suite pseudo-al´atoire de la fa¸on suivante :
   • On se donne des nombres initiaux a0 , . . . , ar−1 ∈ {0, 1} non tous nuls.
   • Etant donn´ an−r , . . . , an−1 , le registre calcule l’´l´ment suivant dans la suite
     ´           e                                           ee
     comme suit
                                                            r−1
           an ≡ an−r q0 + an−r+1 q1 + · · · + an−1 qr−1 =         an−r+i qi (mod 2).     (1.24)
                                                            i=0

                                                                 e
      (Pour calculer modulo 2, on fait le calcul habituel. Le r´sultat est 0 si le nombre
      est pair et 1 s’il est impair. On ´crit a ≡ 0 (mod 2) si a est pair et a ≡ 1 (mod 2)
                                        e
      si a est impair.)
20      1 Positionnement

    • On d´cale chacune des entr´es vers la droite en oubliant le an−r . Le an calcul´
             e                            e                                                            e
       occupe donc la case de gauche.
    • On it`re le proc´d´.
             e           e e
                  e e                         e
Comme le proc´d´ est parfaitement d´terministe et que le nombre de conditions initiales
               e e                                    e
est fini, on g´n`re une suite qui va devenir p´riodique et on voit tout de suite que sa
p´riode est inf´rieure ou ´gale a 2r , car on a au maximum 2r suites distinctes de longueur
  e             e             e       `
r. En fait, on peut se convaincre que, si ` un moment donn´, on a an−r = · · · = an−1 = 0,
                                                a                 e
alors, pour tout m ≥ n, on a am = 0. Donc, une suite p´riodique int´ressante ne
                                                                        e                 e
                                            e             e
doit jamais contenir une suite cons´cutive de r z´ros. Par suite, elle aura une p´riode         e
maximale de 2r − 1. Pour g´n´rer une suite qui ait des propri´t´s int´ressantes, il suffit
                                   e e                                  ee       e
de bien choisir les q0 , . . . , qr−1 ∈ {0, 1} et les conditions initiales a0 , . . . , ar−1 ∈ {0, 1}.
    Nous ne regardons jamais toute la suite, mais une fenˆtre de M = 2r − 1 nombres
                                                                    e
cons´cutifs {an }n=m+M−1 , que nous pouvons appeler B = {b1 , . . . , bM }. Nous voulons
     e             n=m
la comparer avec une autre fenˆtre C = {c1 , . . . , cM } de la forme {an }n=p+M−1 . Par
                                        e                                               n=p
                                    e
exemple, la suite B est envoy´e par le satellite, et la suite C est une permutation cyclique
         e            e e e               e                e               e
de la mˆme suite g´n´r´e par le r´cepteur. Pour d´terminer le d´calage entre les deux,
le r´cepteur translate (d´cale) d’une entr´e la suite qu’il g´n`re (en faisant p → p + 1)
    e                         e                   e                  e e
         e     e ee              a
de mani`re r´p´t´e jusqu’` ce qu’elle soit identique a B.    `

  e                               e
D´finition 1.2 On appellera corr´lation entre les deux suites B et C de longueur M
                                                       e      u
le nombre d’entr´es i o` bi = ci moins le nombre d’entr´es i o` bi = ci . On la notera
                e      u
Cor(B, C).


                                        e                       e
Remarque Si le registre est constitu´ de r-tuples, alors la corr´lation de toute paire
de suites B et C satisfait −M ≤ Cor(B, C) ≤ +M avec M = 2r − 1. Nous dirons que
                        ee
les suites sont mal corr´l´es si Cor(B, C) est proche de 0.

                       e                                     e
Proposition 1.3 La corr´lation entre les deux suites est donn´e par

                                                  M
                                  Cor(B, C) =           (−1)bi (−1)ci .                         (1.25)
                                                  i=1


                                           e
Preuve Le nombre Cor(B, C) est calcul´ ainsi : chaque fois que bi = ci , on doit
additionner 1. Chaque fois que bi = ci , on doit soustraire 1. Rappelons que les bi et
ci ne prennent que les valeurs 0 ou 1. Si bi = ci , alors soit (−1)bi = (−1)ci = 1, soit
(−1)bi = (−1)ci = −1. Dans les deux cas, (−1)bi (−1)ci = 1. De mˆme, si bi = ci ,
                                                                        e
exactement un des nombres (−1)bi et (−1)ci est ´gal a 1, et l’autre est ´gal a −1. Donc
                                                e      `                e    `
(−1)bi (−1)ci = −1.

         e e                                                       ` e               e
    Le th´or`me qui suit montre qu’on peut initialiser un registre a d´calage de mani`re
` ce qu’il g´n`re une suite tr`s mal corr´l´e avec une translation d’elle-mˆme.
a           e e               e          ee                                e
                                                                                 a e
                                                               1.4 Les registres ` d´calage         21

    e e                ´           e             a e
Th´or`me 1.4 Etant donn´ un registre ` d´calage comme sur la figure 1.5, il existe
des q0 , . . . , qr−1 ∈ {0, 1} et des conditions initiales a0 , . . . , ar−1 ∈ {0, 1} tels que la suite
g´n´r´e par le registre est p´riodique de longueur 2r − 1. On consid`re deux fenˆtres de
 e e e                            e                                              e            e
cette suite de mˆme longueur M = 2r −1, soit B = {an }n=m+M−1 et C = {an }n=p+M−1
                     e                                            n=m                        n=p
avec p > m. Si M ne divise pas p − m alors
                                          Cor(B, C) = −1,                                       (1.26)
      a                                e
c’est-`-dire que le nombre de bits en d´saccord est toujours exactement 1 de plus que le
nombre de bits en accord.
                    e e
    La preuve du th´or`me fait appel aux corps finis. Nous allons donc commencer par
                                                     e e
illustrer au moyen d’un exemple la signification du th´or`me. La preuve suivra dans la
section 1.4.2.

Exemple 1.5 Dans notre exemple, r = 4, (q0 , q1 , q2 , q3 ) = (1, 1, 0, 0) et (a0 , a1 , a2 , a3 ) =
                                        e                   e e                    e
(0, 0, 0, 1). Nous laissons le lecteur v´rifier que ceci g´n`re une suite p´riodique de
p´riode 24 − 1 = 15 dans laquelle on r´p`te le bloc
 e                                      e e
                      0 0     0 1     0 0     1 1     0 1      0 1     1   1 1
                                                          a
Si l’on fait une translation de 1, on envoie le premier 0 ` la fin, ce qui donne le bloc
                      0 0     1 0     0 1     1 0     1 0      1 1     1   1 0
                                        e
On voit que les deux suites (blocs) diff`rent aux positions 3, 4, 6, 8, 9, 10, 11, 15, soit en
huit positions et concordent aux sept positions restantes, soit une corr´lation de −1.
                                                                          e
                         e                                                         e
    Pour calculer la corr´lation avec les autres translations, nous allons les ´crire di-
                                  e                               e
rectement en dessous de la premi`re suite et laisser le lecteur v´rifier que deux lignes
                e                             e
quelconques diff`rent en exactement huit entr´es :
                      0   0   0   1   0   0   1   1   0   1    0   1   1   1   1
                      0   0   1   0   0   1   1   0   1   0    1   1   1   1   0
                      0   1   0   0   1   1   0   1   0   1    1   1   1   0   0
                      1   0   0   1   1   0   1   0   1   1    1   1   0   0   0
                      0   0   1   1   0   1   0   1   1   1    1   0   0   0   1
                      0   1   1   0   1   0   1   1   1   1    0   0   0   1   0
                      1   1   0   1   0   1   1   1   1   0    0   0   1   0   0
                      1   0   1   0   1   1   1   1   0   0    0   1   0   0   1
                      0   1   0   1   1   1   1   0   0   0    1   0   0   1   1
                      1   0   1   1   1   1   0   0   0   1    0   0   1   1   0
                      0   1   1   1   1   0   0   0   1   0    0   1   1   0   1
                      1   1   1   1   0   0   0   1   0   0    1   1   0   1   0
                      1   1   1   0   0   0   1   0   0   1    1   0   1   0   1
                      1   1   0   0   0   1   0   0   1   1    0   1   0   1   1
                      1   0   0   0   1   0   0   1   1   0    1   0   1   1   1
22      1 Positionnement

                                                    e                           e
     Dans l’exemple, nous n’avons pas expliqu´ comment nous avions trouv´ les q0 , q1 ,
q2 , q3 et a0 , a1 , a2 , a3 . Pour le faire et pour la d´monstration du th´or`me 1.4, nous
                                                         e                 e e
aurons besoin des corps finis, plus particuli`rement du corps F2r ` 2r ´l´ments. Dans le
                                                  e                   a    ee
cas r = 1, le corps F2 est le corps ` deux ´l´ments {0, 1} avec addition et multiplication
                                        a       ee
modulo 2.

1.4.1 La structure de corps sur F2r

    La structure de corps et la construction des corps finis d’ordre pn sont d´crites aux
                                                                                     e
                                                                  e
sections 6.2 et 6.5 du chapitre 6. Ces sections peuvent ˆtre lues sans lire les autres
                                                    e
sections du chapitre, et leur contenu est suppos´ connu.
    Les ´l´ments de F2r sont des r-tuples (b0 , . . . , br−1 ) de 0 et de 1. L’addition de deux
        ee
                                           e
tels r-tuples est l’addition modulo 2, entr´e par entr´e.  e
                      (b0 , . . . , br−1 ) + (c0 , . . . , cr−1 ) = (d0 , . . . , dr−1 )   (1.27)
o` di ≡ bi + ci (mod 2). Pour d´finir une multiplication, on commence par se donner un
 u                             e
      o       e
polynˆme irr´ductible
                           P (x) = xr + pr−1 xr−1 + · · · + p1 x + p0                      (1.28)
sur F2 . On identifie chaque r-tuple (b0 , . . . , br−1 ) ` un polynˆme de degr´ r − 1 :
                                                         a         o          e
                                    br−1 xr−1 + · · · + b1 x + b0 .                        (1.29)
                                                             o          e
    Pour multiplier les deux r-tuples, on multiplie les polynˆmes associ´s. Le produit
est a priori un polynˆme de degr´ 2(r − 1). On le r´duit ` un polynˆme de degr´ r − 1
                      o             e              e     a         o            e
                 e                     a
en utilisant la r`gle P (x) = 0, c’est-`-dire
                                xr = pr−1 xr−1 + · · · + p1 x + p0                         (1.30)
(se rappeler que −pi = pi dans F2 ), que l’on it`re.
                                                e
                          o                                         e e
    On identifie le polynˆme x au r-tuple (0, 1, 0, . . . , 0). Le th´or`me suivant est clas-
           e                                                        ee
sique en th´orie des corps finis. Nous ne donnerons que quelques ´l´ments de preuve, sans
                    e           e
faire de rappels alg´briques pr´alables. Le lecteur peu familier avec ceux-ci peut sauter
                                                                                 e e
cette preuve et regarder l’exemple 1.8 pour comprendre la signification du th´or`me et
        e
la mani`re de l’utiliser.

Th´or`me 1.6 1. F2r muni de l’addition des polynˆmes modulo 2 et de cette multi-
  e e                                                o
   plication est un corps.
2. Il existe un ´l´ment α tel que les ´l´ments non nuls de F2r sont pr´cis´ment les
                 ee                          ee                       e e
   ´l´ments αi , i = 0, . . . , 2r − 2, c’est-`-dire
   ee                                         a
                                                                          r
                                                                              −2
                                  F2r \ {0} = {1, α, α2 , . . . , α2               }.      (1.31)
     `                      ee              e                                        a
     A cause de cette propri´t´, α est appel´ racine primitive du corps et satisfait `
       r
     α2 −1 = 1.
                                                                           a e
                                                         1.4 Les registres ` d´calage    23

3. {1, α, . . . , αr−1 } sont lin´airement ind´pendants comme ´l´ments de l’espace vecto-
                                 e            e               ee
   riel Fr sur F2 (qui est isomorphe a notre corps F2r ).
         2                               `
4. Une racine primitive α du corps F2r est racine d’un polynˆme irr´ductible sur F2
                                                            o      e

                           Q(x) = xr + qr−1 xr−1 + · · · + q1 x + q0 .

                                    o
    Le corps construit avec le polynˆme Q est isomorphe au corps construit avec le
         o
    polynˆme P .

D´finition 1.7 Un polynˆme Q(x) ` coefficients dans F2 est primitif s’il est irr´ductible
  e                         o         a                                            e
et si le polynˆme x est racine primitive du corps F2r construit ` l’aide du polynˆme Q(x).
              o                                                 a                o

                                          e                      e e
Exemple 1.8 Avant de donner une id´e de la preuve du th´or`me 1.6, regardons le
polynˆme P (x) = x4 + x + 1 sur F2 . Nous allons nous convaincre qu’il est primitif et
      o
                          o            e     e         e    a
que l’ensemble des polynˆmes de degr´ inf´rieur ou ´gal ` 3 muni de la multiplication
modulo P (x) est un corps que nous noterons F24 . La seule propri´t´ qui est difficile
                                                                       ee
a                                                                   o
` montrer est l’existence de l’inverse multiplicatif de tout polynˆme non nul de degr´    e
   e         e    `
inf´rieur ou ´gal a 3. Dire qu’on travaille modulo P (x), c’est dire que P (x) = 0 et donc,
x4 = x + 1 (dans F2 on a −x = x). Calculons maintenant les puissances xn pour n > 4.

           x5 = x(x + 1) = x2 + x,
           x6 = x(x2 + x) = x3 + x2 ,
           x7 = x(x3 + x2 ) = (x + 1) + x3 = x3 + x + 1,
           x8 = x(x3 + x + 1) = (x + 1) + x2 + x = x2 + 1,
           x9 = x(x2 + 1) = x3 + x,
           x10 = x(x3 + x) = (x + 1) + x2 = x2 + x + 1,
           x11 = x(x2 + x + 1) = x3 + x2 + x,
           x12 = x(x3 + x2 + x) = (x + 1) + x3 + x2 = x3 + x2 + x + 1,
           x13 = x(x3 + x2 + x + 1) = (x + 1) + x3 + x2 + x = x3 + x2 + 1,
           x14 = x(x3 + x2 + 1) = (x + 1) + x3 + x = x3 + 1,
           x15 = x(x3 + 1) = (x + 1) + x = 1.

On voit donc que toutes les puissances {x, x2 , . . . , x15 = 1} co¨ncident pr´cis´ment avec
                                                                   ı          e e
les polynˆmes non nuls a coefficients dans F2 de degr´ inf´rieur ou ´gal ` 3. Ceci nous
         o              `                                  e   e         e    a
montre que chaque ´l´ment non nul de F24 a un inverse multiplicatif. En effet, un tel
                    ee
´l´ment est de la forme xn avec n ≤ 15. Puisque x15 = 1, son inverse multiplicatif est
ee
x15−n .
             e                                                            e
    Une cons´quence de ce que nous avons fait est que P (x) est irr´ductible. En effet,
                                                                     o     `
supposons que P (x) = Q(x)R(x), avec Q(x) et R(x) deux polynˆmes a coefficients dans
F2 de degr´ inf´rieur a 4. On a donc Q(x) = xn et R(x) = xm pour m, n ∈ {1, . . . , 15}.
           e   e      `
Alors Q(x)R(x) = xm+n = 0 dans F24 . Contradiction, car P (x) = 0 dans F24 .

Id´e de la preuve du th´or`me 1.6
  e                    e e
24     1 Positionnement

1. La preuve est identique ` la preuve du fait que Fp (aussi appel´ Zp ) est un corps
                            a                                       e
   si p est premier (voir exercice 24 du chapitre 6). On utilise pour cela l’algorithme
                            o
   d’Euclide pour les polynˆmes qui permet de trouver le plus grand diviseur commun
                 o
   de deux polynˆmes.
2. Les ´l´ments non nuls de F2r forment un groupe multiplicatif G dont le nombre
         ee
   d’´l´ments est 2r − 1. Chaque ´l´ment non nul y engendre un sous-groupe fini H =
     ee                             ee
   {y i | i ∈ N}. (H est fini puisque sous-groupe de G fini.) Le th´or`me de Lagrange
                                                                            e e
       e e                                                     ee
   (th´or`me 7.18 du chapitre 7) dit que le nombre d’´l´ments de H divise le nombre
   d’´l´ments de G. De plus, comme H est fini, il existe s minimum tel que y s = 1. Ce
     ee
             e                   e                  ee
   s, appel´ l’ordre de y, est ´gal au nombre d’´l´ments de H. Donc, y est racine du
                                                                                         r
   polynˆme xs + 1 = 0. Comme s | 2r − 1, alors y est racine de R(x) = x2 −1 + 1.
          o
                                                                        ee
   (exercice : pourquoi ?) On vient donc de montrer que tout ´l´ment de G est racine
                             r
   du polynˆme R(x) = x2 −1 + 1. Supposons maintenant qu’il existe m, un diviseur
              o
   strict de 2r − 1 tel que l’ordre de tout ´l´ment de G divise m. Alors, tout ´l´ment
                                            ee                                            ee
   de G est racine du polynˆme xm + 1 = 0. Contradiction, car ce polynˆme n’a que m
                             o                                                    o
   racines. Donc, il existe des yi d’ordre mi , i = 1, . . . , n, tels que le plus petit commun
   multiple des mi soit ´gal a 2r − 1. Alors, le produit y1 . . . yn = α est d’ordre 2r − 1
                          e    `
   (voir lemme 7.23 du chapitre 7).
3. Nous admettrons que les ´l´ments {1, α, . . . , αr−1 } sont lin´airement ind´pendants
                              ee                                  e            e
   dans l’espace vectoriel Fr qui est isomorphe ` F2r .
                            2                     a
4. Les vecteurs {1, α, . . . , αr } sont lin´airement d´pendants, car un ensemble de r + 1
                                             e               e
                                                                    e            e
   vecteurs dans un espace de dimension r est toujours lin´airement d´pendant. Comme
   les vecteurs {1, α, . . . , αr−1 } sont lin´airement ind´pendants, il existe des coefficients
                                              e                e
   q0 , . . . , qr−1 tels que αr = q0 + q1 α + · · · + qr−1 αr−1 . Donc, α est racine du polynˆme
                                                                                              o
   Q(x) = xr + qr−1 xr−1 + · · · + q1 x + q0 . Ce polynˆme est irr´ductible sur F2 . Sinon,
                                                               o          e
                                   o                e e         a
   α serait racine d’un polynˆme de degr´ inf´rieur ` r, ce qui serait en contradiction
   avec le fait que {1, α, . . . , αr−1 } sont lin´airement ind´pendants dans Fr .
                                                      e             e                  2

Cons´quence On aurait pu choisir de d´crire le corps F2r avec le polynˆme Q(x)
      e                                   e                                o
    o                  o                                   e
plutˆt qu’avec le polynˆme P (x). L’avantage de cette derni`re description est qu’elle
nous permet de prendre α = x comme racine primitive. Attention : les puissances xi ,
i ≥ r, ne sont pas d´finies de la mˆme mani`re suivant qu’on utilise la multiplication
                    e             e         e
modulo P (x) ou modulo Q(x) !

D´finition 1.9 La fonction trace du corps F2r est la fonction T : F2r → F2 d´finie par
  e                                                                        e
T (br−1 xr−1 + · · · + b1 x + b0 ) = br−1 .


                                        e
Proposition 1.10 La fonction T est lin´aire et surjective. Elle prend la valeur 0 sur
exactement la moiti´ des ´l´ments de F2r et la valeur 1 sur l’autre moiti´.
                   e     ee                                              e

Preuve Exercice !
                                                                               a e
                                                             1.4 Les registres ` d´calage       25

                  e e
1.4.2 Preuve du th´or`me 1.4

   Nous choisissons un polynˆme P (x) primitif de degr´ r sur F2
                            o                         e

                          P (x) = xr + qr−1 xr−1 + · · · + q1 x + q0

qui nous permet de construire le corps F2r .
                      ` e                                        o
   Les qi du registre a d´calage sont les coefficients du polynˆme P (x). Pour construire
de bonnes conditions initiales, on prend un r-tuple b = (b0 , . . . , br−1 ) ∈ Fr \ {0} que l’on
                                                                                2
identifie au polynˆme br−1 xr−1 + · · · + b1 x + b0 . On prend comme ´l´ments initiaux
                  o                                                        ee

                              a0      = T (b)            =    br−1 ,
                              a1      = T (xb),
                                      .                                                      (1.32)
                                      .
                                      .
                              ar−1    = T (xr−1 b).

Voyons comment calculer a1 .

  a1 = T (bx) =       T (br−1 xr + br−2 xr−1 + · · · + b0 x)
              =       T (br−1 (qr−1 xr−1 + · · · + q1 x + q0 ) + br−2 xr−1 + · · · + b0 x)
                                                                                             (1.33)
              =       T ((br−1 qr−1 + br−2 )xr−1 + . . . )
              =       br−1 qr−1 + br−2 .

Un calcul similaire permet de calculer a2 , . . . , ar−1 . Les formules deviennent vite ´normes
                                                                                        e
                         e                                     e
mais le calcul se fait tr`s bien dans les exemples num´riques quand on remplace les qi
et les bi par des valeurs 0 ou 1.

Exemple 1.11 Dans l’exemple 1.5, le polynˆme consid´r´ est P (x) = x4 + x + 1. On
                                            o           e e
     `                           o                         o
a vu a l’exemple 1.8 que ce polynˆme est primitif. Le polynˆme b choisi est simplement
b = 1. Alors, on doit prendre a0 = T (1) = 0, a1 = T (x) = 0, a2 = T (x2 ) = 0 et
a3 = T (x3 ) = 1.

                                                       ` e
Proposition 1.12 Choisissons pour les qi d’un registre a d´calage les coefficients d’un
polynˆme primitif de degr´ r sur F2
     o                   e

                          P (x) = xr + qr−1 xr−1 + · · · + q1 x + q0 .

Soit b = br−1 xr−1 + · · · + b1 x + b0 . On prend comme ´l´ments initiaux (a0 , . . . , ar−1 )
                                                          ee
donn´s en (1.32). Alors, la suite g´n´r´e par le registre a d´calage est la suite {an },
     e                                 e e e                 ` e
avec an = T (xn b). Elle est p´riodique, et sa p´riode divise 2r − 1.
                               e                e


Preuve On utilise que P (x) = 0, c’est-`-dire le fait que xr = qr−1 xr−1 + · · ·+ q1 x+ q0 .
                                       a
Alors,
26       1 Positionnement

                      T (xr b) = T ((qr−1 xr−1 + · · · + q1 x + q0 )b)
                               = qr−1 T (xr−1 b) + · · · + q1 T (xb) + q0 T (b)
                                                                                            (1.34)
                               = qr−1 ar−1 + · · · + q1 a1 + q0 a0
                               = ar .
                                             ee                    e e e e
Supposons maintenant, par induction, que les ´l´ments de la suite g´n´r´e v´rifient tous
ai = T (xi b) pour i ≤ n − 1. Alors :

     T (xn b) = T (xr xn−r b) = T ((qr−1 xr−1 + · · · + q1 x + q0 )xn−r b)
                              = qr−1 T (xn−1 b) + · · · + q1 T (xn−r+1 b) + q0 T (xn−r b)
                                                                                            (1.35)
                              = qr−1 an−1 + · · · + q1 an−r+1 + q0 an−r
                              = an .

                                                       a                   a e
Donc, la multiplication par x correspond exactement ` l’action du registre ` d´calage.
                                                                r
On voit que la suite est p´riodique de p´riode 2r − 1 puisque x2 −1 = 1.
                          e             e

                                           e
    On peut se demander quelle est la p´riode minimale de cette suite. A priori, ce
pourrait ˆtre un diviseur de 2r − 1 (voir exercice 11). En fait, nous allons montrer que,
          e
si P est primitif, la p´riode minimale est exactement 2r − 1. La preuve sera indirecte.
                       e
Si la p´riode ´tait donn´e par s ∈ N tel que 2r − 1 = sm et 1 < s < 2r − 1, alors la
        e      e          e
suite infinie {an }n≥0 et la suite {an+s }n≥0 devraient ˆtre identiques. Nous montrerons
                                                        e
                                                       e e                         e
qu’il n’en est rien. N’oublions pas que nous voulons g´n´rer des suites qui sont tr`s mal
     ee                                  e                                    e
corr´l´es avec une translation d’elles mˆmes. Nous allons donc calculer en mˆme temps
la corr´lation entre deux fenˆtres B = {an }n=m+M−1 et C = {an }n=p+M−1 de longueur
       e                     e              n=m                     n=p
M = 2r − 1.

Proposition 1.13 Si B = {an }n=m+M−1 et C = {an }n=p+M−1 , alors Cor(B, C) =
                             n=m                 n=p
−1 si M ne divise pas p − m.

Preuve On peut supposer m ≤ p.
                                            M−1     am+i
                      Cor(B, C)     =       i=0 (−1)      (−1)ap+i
                                            M−1          m+i              p+i
                                                    T (x     b)
                                    =       i=0 (−1)            (−1)T (x b)
                                            M−1          m+i         p+i
                                                    T (x     b)+T (x     b)
                                    =       i=0 (−1)
                                            M−1     T (xm+i b+xp+i b)
                                                                                            (1.36)
                                    =       i=0 (−1)
                                            M−1     T (bxi+m (1+xp−m ))
                                    =       i=0 (−1)
                                            M−1     T (xi+m β)
                                    =       i=0 (−1)            ,

o` β = b(1 + xp−m ). On sait que, dans notre corps, x est une racine primitive et donc,
 u
que xM = 1 et xN = 1 si 1 ≤ N < M . On en d´duit que xN = 1 si et seulement si M
                                               e
divise N . Si M divise p − m, alors xp−m = 1 et β = b(1 + 1) = b · 0 = 0. Dans ce cas,
Cor(B, C) = M . Si M ne divise pas p−m, le polynˆme (1+xp−m ) n’est pas le polynˆme
                                                  o                                 o
nul ; ainsi β = b(1 + xp−m ) est non nul comme ´l´ment de F2r , puisqu’il est le produit
                                               ee
                                                               1.5 La cartographie      27

de deux ´l´ments non nuls du corps. Donc β est de la forme xk o` k ∈ {0, . . . 2r − 2},
         ee                                                           u
ce qui entraˆ que l’ensemble {βxi+m , 0 ≤ i ≤ M − 1} forme une permutation de
             ıne
                             r
F2r \ {0} = {1, x, . . . , x2 −2 }. La fonction trace T prend la valeur 1 sur la moiti´ des
                                                                                      e
´l´ments de F2r et 0 sur l’autre moiti´. Comme elle prend la valeur 0 en 0, elle prend la
ee                                        e
valeur 1 sur 2r−1 des ´l´ments de F2r \ {0} et la valeur 0 sur 2r−1 − 1 des ´l´ments de
                          ee                                                    ee
F2r \ {0}. D’o` Cor(B, C) = −1.
               u

                     e                          e        e e e                  ` e
Corollaire 1.14 La p´riode de la suite pseudo-al´atoire g´n´r´e par le registre a d´ca-
lage est exactement M = 2r − 1.

                 e     e    e    `                          ınciderait avec sa translat´e
Preuve Si la p´riode ´tait ´gale a K < M , alors la suite co¨                          e
                                               e       e     `
de K composantes, et les deux auraient une corr´lation ´gale a M , en contradiction avec
la proposition 1.13.

                             e e                             e             e
    Si, maintenant, on veut g´n´rer d’autres suites pseudo-al´atoires de mˆme longueur
                                                                        e
correspondant aux signaux des autres satellites, on peut utiliser le mˆme principe et
                   o                                  e
changer de polynˆme P (x). (On veut une suite diff´rente pour chaque satellite !) La
  e                                                            e
th´orie de Galois permet dans certains cas de calculer la corr´lation de cette nouvelle
                 e e                    e           e
suite avec la pr´c´dente et ses translat´es. Les ing´nieurs pour leur part se contentent
d’utiliser des tables.


1.5 La cartographie

                                    e
    Comme nous l’avons mentionn´ dans l’introduction, la cartographie pose des probl`-   e
                                     e          e
mes non triviaux si l’on veut repr´senter fid`lement la Terre. En effet, une carte doit
             a                                              e                   e
nous servir ` nous diriger. On pourrait vouloir qu’elle pr´serve les distances r´elles pour
que, si l’on choisit sur la carte le plus court chemin entre deux points, ce chemin soit
effectivement le plus court. Pour une carte terrestre, ce genre de contrainte a un peu
                                            `
moins d’importance, car on est soumis a la contrainte de demeurer sur une route si
               e        e               e                  e a
l’on se prom`ne en v´hicule motoris´. Si l’on se prom`ne ` pied, les distortions sont
                              e     e     e
suffisamment petites pour ˆtre n´glig´es. Par contre, pour choisir la trajectoire d’un
                                                 e        e
avion, ou encore, pour un navigateur, le probl`me est r´el. De plus, pour un navigateur
a
` la voile qui dispose d’outils rudimentaires, il ne suffit pas de dessiner un chemin sur la
                                                a       e e                   e
carte. Encore faut-il pouvoir s’y tenir. Jusqu’` l’arriv´e r´cente du GPS, il ´tait courant
                                e
de se servir du champ magn´tique terrestre. En utilisant un compas magn´tique, one
peut s’assurer que le bateau suive une trajectoire qui fait un angle constant avec les
                         e                                                e
lignes du champ magn´tique terrestre. Une telle trajectoire n’est pas n´cessairement le
plus court chemin entre deux points, mais, comme c’est une trajectoire naturelle, ce
                                                     e    e
serait commode qu’une telle trajectoire soit repr´sent´e par une droite sur une carte.
                                       ee
Les cartes marines ont cette propri´t´. Par contre, sur une carte marine, les aires ne
             e     e            e                              e
sont pas pr´serv´es : deux r´gions du globe qui ont la mˆme superficie ne sont pas
  e                   e    e                                                 e
n´cessairement repr´sent´es sur la carte par des portions de surface de mˆme aire.
28       1 Positionnement

                              e                  e e        e e         e
    Fixons tout de suite les r`gles du jeu. Un th´or`me de g´om´trie diff´rentielle assure
                                                         e
qu’il est impossible de cartographier une portion de sph`re par une portion de plan en
  e
pr´servant les distances et les angles. (Pour ceux qui connaissent le jargon, une telle
                                   e        e
transformation serait une isom´trie et pr´serverait donc la courbure de Gauss. Or, la
courbure de Gauss d’une sph`re de rayon R est 1/R2 , alors que les courbures de Gauss
                               e
du plan et du cylindre sont toutes deux nulles.) On doit donc faire des compromis.
           e                     e
Ceux-ci d´pendent de la probl´matique.
                 e
    Toutes les m´thodes de cartographie sont des projections de divers types.
                                       a         e             e              ee
Projection sur un plan tangent ` la sph`re C’est la m´thode la plus ´l´mentaire `          a
                                        e
laquelle on puisse songer. Il existe diff´rents types de projection suivant que l’on projette
                        e
par le centre de la sph`re (projection gnomonique), par le point antipodal au point de
                        e e
tangence (projection st´r´ographique), ou encore, par des droites orthogonales au plan de
projection (projection orthographique) (voir figure 1.6). Ce type de cartographie donne
     e                                                              e               e
des r´sultats acceptables si on veut cartographier une petite r´gion de la sph`re. Par
             e                                       e         e
contre, les d´formations deviennent importantes d`s qu’on s’´loigne du point de tangence
             e                                 e                               e
entre la sph`re et le plan. Sur le plan math´matique, ces projections ne pr´sentent pas
              e e                        e e                  e a
un grand int´rˆt (sauf la projection st´r´ographique discut´e ` l’exercice 24), et nous ne
      e
nous ´tendrons pas plus dessus.




     (a) Projection   gnomoni-                     ee
                                  (b) Projection st´r´ogra-      (c) Projection   orthogra-
     que                          phique                         phique

                        Fig. 1.6. Trois types de projection sur un plan



    D’ici la fin de la section, nous allons nous concentrer sur des projections sur un
                                       e                                                ea
cylindre. En effet, on peut ensuite d´rouler le cyclindre et obtenir une carte plane. D´j`,
                       e              e                  e                e    e         e
on a fait un gros progr`s : toute la r´gion voisine de l’´quateur est repr´sent´e de mani`re
                                                                          1.5 La cartographie      29

         e                                            e       o                          e e
assez fid`le. Par contre, on a de fortes distortions pr`s des pˆles. Nous n’avons pas pr´cis´
comment se fait la projection sur le cylindre. En fait, il n’existe pas un choix unique et,
                                                          e             ee
selon le type de projection choisi, la carte obtenue a diff´rentes propri´t´s. Il y a un grand
   e e a                                                  e
int´rˆt ` choisir des projections qui envoient les parall`les sur des lignes horizontales et
      e                                                         e      e
les m´ridiens sur des lignes verticales. Ainsi, nos coordonn´es cart´siennes sur la carte
                       `                  a
plane correspondront a la longitude et ` la latitude (mais on pourra avoir distortion des
    e
unit´s de latitude).
                                                              e
Projection sur le cylindre par le centre de la sph`re L’image de la sph`re             e
                                                                o e             e
par cette projection est le cylindre infini, les voisinages des pˆles ´tant envoy´s sur les
    e    e                                                              e e
extr´mit´s infinies du cylindre. C’est une projection qui a peu d’int´rˆt, sinon que sa
formule est simple.
Projection horizontale sur le cylindre Cette projection est couramment appel´e              e
    e                                                                       e ee     e
en g´ographie projection cylindrique de Lambert alors qu’elle a en fait ´t´ ´tudi´e pour la
premi`re fois par Archim`de ! Soit la sph`re S de rayon R et d’´quation x2 +y 2 +z 2 = R2 .
      e                     e              e                        e
On veut la projeter sur le cyclindre C d’´quation x2 + y 2 = R2 . La projection associe
                                             e
` un point (x0 , y0 , z0 ) de la sph`re un point (x1 , y1 , z1 ) du cylindre. La formule de la
a                                    e
projection P : S → C est donn´e pare

                                             Rx                Ry
                         P (x, y, z) =                    ,              ,z                     (1.37)
                                            x2   +   y2       x2 + y 2
(figure 1.7). Le point P (x0 , y0 , z0 ) est donc le point d’intersection avec le cylindre de la
demi-droite d’origine (0, 0, z0 ) passant par (x0 , y0 , z0 ). (Exercice : v´rifier.)
                                                                            e




                     Fig. 1.7. La projection horizontale sur le cylindre
30     1 Positionnement




          Fig. 1.8. La carte du monde avec la projection cylindrique de Lambert



    Quoique ayant une moins grande distortion que la projection par le centre de la
    e                                                              e          e
sph`re, cette projection ne respecte pas du tout les distances d`s qu’on s’´loigne trop
      e                                        ee                         e
de l’´quateur. Par contre, elle a une propri´t´ remarquable : elle pr´serve les aires.
      e                         ee          `         e
La d´couverte de cette propri´t´ revient a Archim`de. C’est cette projection qui a ´t´ ee
      e            e
utilis´e pour la r´alisation de l’Atlas de Peters [3] (voir figure 1.8). Alors que dans les
autres atlas, les pays nordiques paraissent plus grands que nature par rapport aux autres
pays, dans l’Atlas de Peters, des pays comme le Canada ou la Russie ont exactement
                     e
la surface qu’ils m´ritent en comparaison des autres pays. Ils paraissent par contre
                                e                       ee
plus larges et moins hauts. D´montrons cette propri´t´ remarquable de la projection
horizontale sur le cylindre.

Th´or`me 1.15 La projection P : S → C donn´e par la formule (1.37) pr´serve les
    e e                                            e                 e
            e                                          e
aires. (En g´ographie, on dit que cette projection est ´quivalente.)

                                                                e
Preuve Pour faire la preuve, nous allons changer de coordonn´es et param´trisere
      e a                           e                         e
la sph`re ` l’aide de deux coordonn´es angulaires. Pour la sph`re, nous utilisons les
         e       e
coordonn´es sph´riques que l’on peut voir comme une application
        F : (−π, π] × [ −π , π ] → S
                         2   2                                                     (1.38)
        (θ, φ) → F (θ, φ) = (x, y, z) = (R cos θ cos φ, R sin θ cos φ, R sin φ).
              `                             e                o            e
On pensera a θ comme la longitude (exprim´e en radians plutˆt qu’en degr´s) : θ = 0 est
     e                                        `                          `
le m´ridien de Greenwich, θ > 0 correspond a la longitude est, et θ < 0, a la longitude
ouest. φ est la latitude, et φ > 0 correspond aux latitudes nordiques. Pour le cylindre,
comme on ne projette la sph`re que sur la zone du cylindre comprise dans |z| ≤ R, on
                               e
                e              e                 e
utilisera les mˆmes coordonn´es (θ, φ). La param´trisation est une application
                                                                   1.5 La cartographie      31

                 G : (−π, π] × [− π , π ] → C
                                  2 2                                                    (1.39)
                 (θ, φ) → G(θ, φ) = (x, y, z) = (R cos θ, R sin θ, R sin φ).

Dans ces coordonn´es, la projection P se lit : (θ, φ) → (θ, φ) ! Soient A une r´gion de la
                   e                                                           e
    e                                                            e
sph`re et P (A) sa projection sur le cylindre. Alors, ces deux r´gions sont l’image d’une
  e    e
mˆme r´gion
                                                   π π
                                B ⊂ (−π, π] × [− , ].
                                                   2 2
                     e
Nous justifierons bri`vement ci-dessous cette formule classique pour l’aire de A :

                                                   ∂F ∂F
                            Aire(A) =                 ∧    dθ dφ                         (1.40)
                                           B       ∂θ   ∂φ

o` le symbole v ∧ w repr´sente le produit vectoriel de v et w, et |v ∧ w| repr´sente sa
 u                      e                                                       e
                                                       `
longueur (voir, par exemple, [1] ou un livre de calcul a plusieurs variables). On a pour
      e
la sph`re
                    ∂F
                    ∂θ    = (−R sin θ cos φ, R cos θ cos φ, 0),
                    ∂F
                    ∂φ    = (−R cos θ sin φ, −R sin θ sin φ, R cos φ),
               ∂θ ∧ ∂φ
               ∂F   ∂F
                          = (R2 cos θ cos2 φ, R2 sin θ cos2 φ, R2 sin φ cos φ),
              ∂θ ∧ ∂φ     = R2 | cos φ|.
              ∂F   ∂F



    e
De mˆme, pour le cylindre

                                                    ∂G ∂G
                         Aire(P (A)) =                 ∧    dθ dφ.                       (1.41)
                                               B    ∂θ   ∂φ

Ici, on a
                           ∂G
                           ∂θ    =    (−R sin θ, R cos θ, 0),
                           ∂G
                           ∂φ    =    (0, 0, R cos φ),
                      ∂θ ∧ ∂φ
                      ∂G   ∂G
                                 =    (R2 cos θ cos φ, R2 sin θ cos φ, 0),
                     ∂θ ∧ ∂φ          R2 | cos φ|.
                     ∂G   ∂G
                                 =

                                                                     e          e
On voit sans peine que les aires de A et de P (A) s’obtiennent en int´grant la mˆme
                 e                                        e
fonction sur le mˆme domaine B. Donc, ces deux aires sont ´gales.

Justification des formules (1.40) et (1.41) Ceci est un rappel rapide de comment on
obtient la formule donnant l’aire d’une surface. Vous avez probablement vu cela dans un
                a                          e                      ee
cours de calcul ` plusieurs variables. On d´coupe l’ensemble B en ´l´ments rectangulaires
      e              o e
infinit´simaux de cˆt´s dθ et dφ. L’aire de A (resp. de P (A)) est la somme des aires
de leurs images par F (resp. par G). Concentrons-nous sur l’aire de A. On peut penser
     ee                          a                     e
aux ´l´ments dθ et dφ comme ` des segments infinit´simaux des tangentes aux courbes
                                                                   e
φ = φ0 et θ = θ0 . Donc, leurs images sont des segments infinit´simaux tangents aux
images de ces courbes : ce sont les vecteurs ∂F dθ et ∂F dφ. Ces vecteurs engendrent en
                                              ∂θ         ∂φ
32      1 Positionnement

g´n´ral un parall´logramme dont l’aire est pr´cis´ment ∂F ∧ ∂F dθ dφ, soit le produit
 e e             e                            e e         ∂θ    ∂φ
                                     e
des longueurs des vecteurs, multipli´ par le sinus de l’angle entre les deux vecteurs.
                     e                           ee                             a
   Dans notre probl`me, l’image par F de cet ´l´ment de surface ressemble ` un rec-
             e          o e                                                a
tangle infinit´simal de cˆt´s Rdθ| cos φ| et Rdφ. L’image par G ressemble ` un rectangle
      e           o e                                                  ee
infinit´simal de cˆt´s Rdθ et R| cos φ|dφ. Dans les deux cas, cet ´l´ment de surface
infinit´simal a pour aire R2 | cos φ|dθ dφ.
      e
                                                    e e         e
La projection de Mercator La projection pr´c´dente pr´serve les aires, mais pas
                                                  ee                             e
les angles. Dans les cartes marines, on va lui pr´f´rer une projection qui pr´serve les
angles : ce sera la projection de Mercator M : S → C. Dans ce cas, on projette la sph`re
                                                                                      e
                                 e e                                e       e
sur tout le cylindre. Comme pr´c´demment, on utilise les coordonn´es sph´riques (1.38)
          e                            e
pour repr´senter un point Q de la sph`re, lequel est donc de la forme F (θ, φ). Son image
par M est :

             M (Q) = M (F (θ, φ)) = R cos θ, R sin θ, R log tan 1 (φ + π )
                                                                2      2         .       (1.42)

                e                                         e
Une autre mani`re de regarder cette projection est de d´rouler le cyclindre. Comme
          e                                                   e
coordonn´es, on prend θ comme abscisse et z comme ordonn´e. On obtient donc une
application N : S → R2 . Alors, si (θ, φ) sont les coordonn´es sph´riques de Q, on lui
                                                            e     e
fait correspondre
                        N (F (θ, φ)) = θ, log tan 1 (φ + π )
                                                    2    2                      (1.43)
                                                 e
(Voir la figure 1.9 et la figure 1.10 pour une repr´sentation du monde avec cette projec-
tion.)




                                                                               e
Fig. 1.9. La projection de Mercator : on projette sur le cylindre et on le d´roule. Pour une
  e                             e             e                                           ıt
mˆme distance le long d’un m´ridien sur la sph`re, la distance verticale sur la carte paraˆ plus
                                e
longue si on est plus loin de l’´quateur.
                                                                 1.5 La cartographie   33




Fig. 1.10. La carte du monde avec la projection de Mercator. Comme la carte a une hauteur
infinie, on n’a repr´sent´ que la r´gion situ´e entre les latitudes 85 ◦ S et 85 ◦ N.
                   e    e         e         e




D´finition 1.16 Une transformation N : S1 → S2 d’une surface S1 dans une surface
  e
S2 est conforme si elle pr´serve les angles, c’est-`-dire si, chaque fois que deux courbes
                          e                        a
de S1 se coupent sous un angle α en un point Q, leurs images par N se coupent dans
S2 sous le mˆme angle α en N (Q).
             e


   e e                                         e
Th´or`me 1.17 Les deux transformations M et N d´finies en (1.42) et (1.43) sont
conformes.
Preuve Nous nous contenterons de donner la preuve pour le cas de N . Le cas de
                                                        e
M suit si l’on se convainc que, lorsqu’on enroule ou d´roule un cylindre, on ne change
                                                          e
pas les angles des courbes inscrites sur sa surface. On pr´serve ensuite les angles quand
                                e
on compose avec une homoth´tie de rapport R. Comme deux courbes tangentes sont
      e
envoy´es sur deux courbes tangentes, il suffit de travailler avec des segments de droite
auxquels on peut penser comme des morceaux des droites tangentes aux courbes. Pre-
nons un point (θ0 , φ0 ) et deux petits segments de droite passant par ce point, que l’on
            e
peut consid´rer comme les courbes
                          v(t)   =   (θ0 + t cos α, φ0 + t sin α)
                          w(t)   =   (θ0 + t cos β, φ0 + t sin β).
34      1 Positionnement

On va consid´rer les vecteurs tangents en Q = F (θ0 , φ0 ) de F ◦ v = v1 et F ◦ w = w1
              e
                                     e
et montrer qu’ils sous-tendent le mˆme angle que les vecteurs tangents en N (Q) de
N ◦ F ◦ v = v2 et N ◦ F ◦ w = w2 . Le calcul de ces vecteurs tangents se fait en utilisant
    e           ıne
la r`gle de chaˆ et donne

           v1 (0)    =    R(− sin θ0 cos φ0 cos α − cos θ0 sin φ0 sin α,
                               cos θ0 cos φ0 cos α − sin θ0 sin φ0 sin α, cos φ0 sin α)
           w1 (0) =       R(− sin θ0 cos φ0 cos β − cos θ0 sin φ0 sin β,
                               cos θ0 cos φ0 cos β − sin θ0 sin φ0 sin β, cos φ0 sin β)
                                   sin α
           v2 (0) =       (cos α, cos φ0 )
                                   sin β
           w2 (0) =       (cos β, cos φ0 ).

                                                                       e
Pour montrer que la transformation est conforme, nous utilisons le crit`re suivant :

Lemme 1.18 La transformation est conforme si pour tout (θ0 , φ0 ), il existe une
constante positive λ(θ0 , φ0 ) telle que, pour tous α, β, on a la relation suivante pour
les produits scalaires de vi (0) et wi (0) :

                            v1 (0), w1 (0) = λ(θ0 , φ0 ) v2 (0), w2 (0) .                         (1.44)

Preuve Soit ψi l’angle entre vi (0) et wi (0) pour i = 1, 2. On veut montrer que cos ψ1 =
cos ψ2 . Si (1.44) est satisfait, on a
                                   v1 (0),w1 (0)
                 cos ψ1    =      |v1 (0)| |w1 (0)|
                                               v1 (0),w1 (0)
                           =       v1 (0),v1 (0) 1/2 w1 (0),w1 (0) 1/2
                                                     λ(θ0 ,φ0 ) v2 (0),w2 (0)
                           =      (λ(θ0 ,φ0 ) v2 (0),v2 (0) )1/2 (λ(θ0 ,φ0 ) w2 (0),w2 (0) )1/2
                                               v2 (0),w2 (0)
                           =       v2 (0),v2 (0) 1/2 w2 (0),w2 (0) 1/2
                                   v2 (0),w2 (0)
                           =      |v2 (0)| |w2 (0)|
                           =    cos ψ2 .

La condition λ(θ0 , φ0 ) > 0 assure qu’on ne divise pas par z´ro et que les racines carr´es
                                                             e                          e
      e
sont r´elles.

        e
   La v´rification de (1.44) pour la projection de Mercator est un peu longue, mais se
simplifie bien. On obtient

                    v1 (0), w1 (0)     =     R2 (cos2 φ0 cos α cos β + sin α sin β)
                    v2 (0), w2 (0)     =     cos α cos β + sin α2sin β .
                                                             cos φ0

D’o` λ(θ0 , φ0 ) = R2 cos2 φ0 .
   u
                                                       e              e
Le plus court chemin entre deux points sur la sph`re On consid`re deux points
Q1 et Q2 sur la sph`re. S’ils ne sont pas antipodaux, ils ne sont pas align´s avec le
                   e                                                       e
                                                             1.5 La cartographie     35

                e       e
centre de la sph`re et d´terminent donc avec celui-ci un unique plan. Ce plan coupe la
    e
sph`re suivant un grand cercle. Sur ce cercle, Q1 et Q2 d´coupent deux arcs de cercle.
                                                          e
Le plus court de ces arcs est le plus court chemin sur la sph`re entre Q1 et Q2 . Soit
                                                                e
O le centre de la sph`re. La longueur de cet arc est Rα, o` α ∈ [0, π) est l’angle entre
                      e                                     u
OQ1 et OQ2 , et R est le rayon de la sph`re. En navigation maritime, la route la plus
                                          e
                                  e                           e
courte entre deux points est appel´e l’orthodromie. En math´matiques, quand on parle
                                                                       o      e e
du plus court chemin sur une surface entre deux points, on parle plutˆt de g´od´sique.
       e e                 e
Les g´od´siques de la sph`re sont donc des arcs de grands cercles. Si l’on consid`re  e
une carte construite avec la projection de Mercator, l’orthodromie entre deux points
repr´sentant Q1 et Q2 n’est pas le segment de droite joignant ces deux points, sauf si
     e
                     a      e
ces deux points sont ` la mˆme longitude. Dans le vocabulaire maritime, la loxodromie
                                                                  e
de deux points est la route qui les joint en coupant tous les m´ridiens sous un mˆmee
angle. Sur la projection de Mercator, cette route est le segment de droite joignant les
deux points. Ceci nous montre donc qu’une telle route existe ! La distance loxodromique
est plus longue que la distance orthodromique, quoiqu’on observe l’ordre de grandeur
inverse pour leurs projections de Mercator (figure 1.11).




       Fig. 1.11. Routes orthodromique et loxodromique entre deux points A et B




Suivre une trajectoire pour un navigateur Si on veut aller d’un point A ` un       a
point B avec les moyens traditionnels de navigation, donc sans GPS, il est plus facile
                                         a                       ıt
de suivre la route loxodromique, c’est-`-dire celle qui apparaˆ comme le segment de
droite entre A et B sur la projection de Mercator. Cette droite fait un angle constant
                 e                                                            e
avec tous les m´ridiens. L’outil de navigation traditionnel est le compas magn´tique. Il
                       e                                e                          a
indique le nord magn´tique. Les lignes du champ magn´tique terrestre ressemblent ` un
              e                            e                   e
faisceau de m´ridiens allant du nord magn´tique au sud magn´tique. Cependant, le nord
      e                      e                      e       o              o
magn´tique et le sud magn´tique ne sont pas situ´s au pˆle Nord et au pˆle Sud. Et,
                                                                                 e
de plus, leur position est variable. Donc, en pratique, les lignes du champ magn´tique
                                       e
terrestre forment un angle avec les m´ridiens, et cet angle n’est pas constant partout
                                                       e a
sur la Terre. Il n’est pas non plus constant d’une ann´e ` l’autre. On peut trouver cet
                                       e
angle dans des tables. Si on est ancr´ dans un endroit connu et qu’on peut observer
        e                                    `
des rep`res fixes, on peut aussi le calculer a l’aide de mesures d’angles entre le nord
36     1 Positionnement

      e                                `            e     e
magn´tique et la droite qui nous joint a des objets ´loign´s de position connue (comme
                                                 o                                 a
un phare). Si on navigue suffisamment loin des pˆles, on peut supposer cet angle ` peu
  e                                                                   e
pr`s constant. Pour suivre une route loxodromique, il suffit alors de r´gler notre compas
      e                                                         e
magn´tique de telle sorte qu’on fasse route avec un angle donn´ par rapport aux lignes
                e                                e
de champ magn´tique dont la direction est donn´e par les aimants du compas.
                                         o
Cartographie du voisinage des pˆles Si l’on veut cartographier le voisinage des
  o                       e e                                                e
pˆles, les projections pr´c´dentes ne conviennent pas. On va alors privil´gier des pro-
                                                          o
jections sur des cylindres obliques ou encore sur des cˆnes. Si l’on veut une projection
conforme, on peut, par exemple, utiliser une projection de Mercator sur un cylindre
                                   ee                    e                   e
oblique. On perd alors la propri´t´ qui fait que les m´ridiens et les parall`les sont pro-
    e
jet´s sur des droites. On utilise aussi des cartes obtenues par projection conforme sur un
  o
cˆne. De telles projections portent le nom de projections de Lambert (voir, par exemple,
l’exercice 26 sur une projection de Lambert).
         e                     e
Le syst`me de coordonn´es MTU Lorsqu’on veut rentrer un point dans un
 e                                              e
r´cepteur GPS, on doit calculer ses coordonn´es sur une carte. Beaucoup de cartes
sont quadrill´es ` l’aide du syst`me de coordonn´es MTU venant de la « projection de
             e a                 e                e
Mercator transverse universelle ». Dans ce syst`me, on utilise 60 projections du mˆme
                                                e                                   e
                                           e
type que la projection de Mercator. La diff´rence est que le cylindre n’est plus vertical,
                                   `                         e
mais horizontal, et donc tangent a la Terre le long d’un m´ridien. Une zone de longi-
                                                                    e          e      ee
tude couvre un intervalle de longitude dont la largeur est de 6 degr´s. Ce syst`me a ´t´
e     e                              e
´labor´ par l’Organisation du Trait´ de l’Atlantique Nord (OTAN) en 1947.


1.6 Exercices
Le GPS (Global positioning system)

                    e
1. Montrer que le d´nominateur de (1.14) s’annule si et seulement si les quatre satellites
                   e
   sont dans un mˆme plan.

2. Le syst`me Loran (pour « Long Range ») a longtemps ´t´ utilis´ en navigation,
           e                                                  ee      e
                           o       e
   en particulier sur la cˆte am´ricaine. Comme plusieurs bateaux ont encore des
    e                        e                   ee e        e e
   r´cepteurs Loran, le syst`me n’a pas encore ´t´ d´mantel´, mˆme si de plus en plus
                                                      e                     e
   de bateaux ont maintenant des GPS. Les stations ´mettrices pour le syst`me Loran
                 e
   sont regroup´es par chaˆ                a                 ıne
                             ınes de trois ` cinq. Chaque chaˆ comporte une station
      ıtre
   maˆ ou principale M et plusieurs stations asservies ou secondaires : W , X, Y , Z.
      • La station principale envoie un signal.
      • La station W re¸oit le signal, attend une dur´e pr´-´tablie et renvoie le mˆme
                         c                             e   ee                      e
         signal.
      • La station X re¸oit le signal, attend une dur´e pr´-´tablie et renvoie le mˆme
                         c                            e    ee                      e
         signal.
      • etc.
                                                                     1.6 Exercices     37

             e     ee
    Les dur´es pr´-´tablies sont choisies de telle sorte que l’on ne puisse avoir de doute
                                               e
    sur la station d’origine des signaux capt´s dans la zone couverte par ces stations.
                                 e                c                             e
    Ici, le principe est que le r´cepteur Loran re¸oit les signaux des stations ´mettrices
                    e
    et mesure le d´phasage entre les signaux. Comme on a entre trois et cinq signaux,
                             e            e
    on a au moins deux d´phasages ind´pendants.
                                                       e                     e
    a) Expliquer comment, en connaissant deux d´phasages, on peut d´terminer sa
    position.
                             e                       e                       e
    b) En pratique, le d´phasage entre la premi`re antenne et la deuxi`me antenne
                               e
    permet de localiser le r´cepteur sur une branche d’hyperbole. Pourquoi ?
                                                                         e
    Commentaire Ces lignes hyperboliques de position sont dessin´es sur les cartes
                          ıt
    marines. On connaˆ donc sa position sur une carte marine comme point d’inter-
                                                    e
    section de deux branches d’hyperboles dessin´es sur la carte.

                                                   ıtre
3. Le fonctionnement du GPS requiert de connaˆ le temps de parcours des signaux
                                    e
   de quatre satellites jusqu’au r´cepteur. Si, cependant, on met la contrainte que le
    e            a                               `                                e a
   r´cepteur est ` l’altitude 0, soit exactement a la surface de la Terre (identifi´e ` une
       e                                                    ıtre
   sph`re de rayon R), montrer qu’alors, il suffit de connaˆ le temps de parcours des
                                           e
   signaux de trois satellites jusqu’au r´cepteur pour calculer exactement la position
        e
   du r´cepteur. Expliquer comment le GPS fait les calculs.

                     ee                                e      e    e
4. Beaucoup de m´t´orites rentrant dans l’atmosph`re se d´sint`grent dans une vio-
                                                 e e
   lente explosion terminale. Cette explosion g´n`re une onde de choc se propageant
                              a                                          e     e
   dans toutes les directions ` la vitesse du son v. L’onde de choc est d´tect´e par des
    e                     e
   s´ismographes install´s dans des stations au sol.
                                e                                            e
       Si quatre stations (poss´dant des horloges parfaitement synchronis´es) notent
                   e
   l’heure d’arriv´e de l’onde de choc, expliquer comment on peut trouver la position
   et l’heure de l’explosion.

5. Lorsque vous rentrez une carte dans un GPS ou dans un logiciel, elle n’est pas
    e                               e                 e
   n´cessairement munie d’un syst`me de coordonn´es. Vous ne savez pas non plus
    e
   n´cessairement dans quelle direction est le nord. Expliquer pourquoi, pour munir
                       e                 e                     e
   une carte d’un syst`me de coordonn´es permettant de rep´rer des points, il suffit
                          e                             e               e
   de rentrer les coordonn´es de trois points non align´s. Quelle hypoth`se faites-vous
         e               e
   pour r´soudre le probl`me ?
Coups de foudre et orages

                                        e
6. Quel est le nombre minimum de d´tecteurs qui doivent capter le coup de foudre
                                                   e     e                   e
   pour pouvoir localiser celui-ci ? Donner le syst`me d’´quations que doit r´soudre le
       e
   syst`me central.

   `
7. A partir des temps t1 et t2 enregistr´s par les oscilloperturbographes situ´s aux deux
                                        e                                     e
                      e                                                          e
   bouts d’une ligne ´lectrique de longueur L et signalant l’occurrence d’un d´faut sur
               e                  e
   une ligne, d´crire le lieu du d´faut sur la ligne.
38      1 Positionnement

                                   e
8. Une nanoseconde est un milliardi`me de seconde. Calculer la distance parcourue par
          e                               e          e             e
   la lumi`re en 100 nanosecondes et en d´duire la pr´cision donn´e par une mesure
                                     `                    e
   de temps de parcours d’un signal a 100 nanosecondes pr`s.

                                   e                                e         e
9. Calculer la fonction de densit´ f (I) de la variable X qui repr´sente l’amp´rage des
   coups de foudre lorsque P (I) est la fonction de Popolansky. Quel est le mode de
                             a                      u             e
   cette distribution, c’est-`-dire la valeur de I o` cette densit´ est maximum ?

                     e                       o
10. Dans d’autres r´gions, on utilise plutˆt la fonction d’Anderson–Erikson pour la
                      e             `
    fonction P donn´e en (1.15), a savoir M = 31 et K = 2, 6. Contrairement a la        `
                                                                      e
    fonction de Popolansky, elle exige d’utiliser des outils num´riques.
                       e
    a) Calculer la m´diane de cette nouvelle distribution.
    b) Calculer le 90e percentile, c’est-`-dire la valeur de I telle que Prob(X ≤ I) = 0, 9.
                                         a
                                        e    e                e          e     a
    c) Si 58 % des coups de foudre d´tect´s ont un amp´rage sup´rieur ` la m´diane, e
                                                           e      e
    calculer le pourcentage de coups de foudre non d´tect´s. En faisant l’hypoth`se       e
          e                        e              e e
    suppl´mentaire que, dans la r´gion consid´r´e, ce sont les coups de foudre de plus
               e                       e     e                          e             a
    faible amp´rage qui ne sont pas d´tect´s, calculer le seuil de d´tection, c’est-`-dire
    la valeur I0 de l’amp´rage au del` de laquelle les coups de foudre sont d´tect´s.
                         e             a                                          e     e
    d) Calculer le mode de cette distribution.
              ` e
Les registres a d´calage

11. Montrer que, si une suite {an } est p´riodique de p´riode N , c’est-`-dire que
                                         e             e                a
    an+N = an , alors sa p´riode minimale, soit le plus petit entier M tel que
                           e
    an+M = an pour tout n, est un diviseur de N .

12. a) Montrer que le polynˆme x4 + x3 + 1 est primitif sur F2 .
                               o
    b) Calculer la suite g´n´r´e par le registre ` d´calage si on prend (q0 , q1 , q2 , q3 ) =
                            e e e                 a e
    (1, 0, 0, 1) et les conditions initiales (a0 , a1 , a2 , a3 ) = (T (b), T (xb), T (x2 b),
    T (x3 b)) avec b = 1. V´rifier qu’elle a la p´riode 15.
                            e                   e
           e                                    e
    c) V´rifier que cette suite n’est pas la mˆme que celle de l’exemple 1.5.
                          e                                             e
    d) Calculer la corr´lation entre cette suite et les suites translat´es de la suite de
    l’exemple 1.5.

13. Montrer que le polynˆme x4 + x3 + x2 + x + 1 est irr´ductible, mais n’est
                                  o                                        e
    pas primitif sur F2 . Calculer la suite g´n´r´e par le registre ` d´calage si on
                                                       e e e                      a e
    prend (q0 , q1 , q2 , q3 ) = (1, 0, 0, 1) et les conditions initiales (a0 , a1 , a2 , a3 ) = (T (b),
    T (xb), T (x2 b), T (x3 b)) avec b = 1. V´rifier que sa p´riode est inf´rieure ` 15.
                                                   e              e                 e          a
                       e     ee
     Quelques mani`res ´l´mentaires de connaˆ          ıtre sa position
                                                        e              e
     Avant l’invention du GPS, l’homme utilisait des m´thodes (math´matiques !) et outils
     ee                        ıtre                           e
     ´l´mentaires pour connaˆ sa position : la position de l’´toile polaire, la position du
            `                                             `e           e
     soleil a midi, le sextant, etc. Certaines continuent a ˆtre utilis´es aujourd’hui. En
              e                                                 e
     effet, mˆme si le GPS est un instrument beaucoup plus pr´cis et facile d’utilisation,
                                                                        1.6 Exercices      39

      on ne peut jamais exclure qu’il tombe en panne ou encore, qu’on manque de piles de
                   u
      rechange. D’o` l’importance de moyens d’appoint.

       e                      e
14. L’´toile polaire est situ´e sur l’axe de rotation de la Terre si bien qu’on ne peut
                                             e      e
    l’apercevoir que lorsqu’on est dans l’h´misph`re nord.
    a) Si l’on est situ´ au 45e parall`le, avec quel angle au-dessus de l’horizon voit-on
                        e               e
    l’´toile polaire ? Et si on est situ´ au 60e parall`le ?
      e                                 e              e
                                      e
    b) Supposez que vous voyez l’´toile polaire avec un angle θ au-dessus de l’horizon.
    `
    A quelle latitude vous trouvez-vous ?

15.                                                  e                              e
        L’axe de la Terre fait un angle de 23,5 degr´s avec la normale au plan de l’´cliptique
                  u                     e
       (le plan o` gravitent les plan`tes autour du soleil).
                                      ea           e                            e
       a) Le cercle polaire est situ´ ` 66,5 degr´s de latitude nord. Si vous ˆtes au cercle
                                                       a                       e
       polaire, avec quel angle voyez-vous le soleil ` midi au moment de l’´quinoxe ? Au
                   ee                                                            e
       solstice d’´t´ ? Au solstice d’hiver ? (Commentaire : c’est cette derni`re propri´t´ ee
                       `                   `           e
       qui a conduit a donner son nom a ce parall`le particulier.)
               e                      e   ` e
       b) Mˆme question si vous ˆtes a l’´quateur.
       c) Mˆme question si vous ˆtes au 45e degr´ de latitude nord.
              e                      e                 e
                                             ea            e
       d) Le tropique du Cancer est situ´ ` 23,5 degr´s de latitude nord. Montrer que
                              a                                                 ee
       le soleil est vertical ` midi au tropique du Cancer lors du solstice d’´t´.
                                   a
       e) Quels sont les points ` la surface de la Terre pour lesquels le soleil est vertical
       a
       ` midi au moins un jour par an ?

16.                                                  `
        On peut aussi utiliser la hauteur du soleil a midi pour calculer sa latitude. Si le
                                                     `                    ee
       soleil fait un angle θ au-dessus de l’horizon a midi au solstice d’´t´, calculez votre
                    e                    e     ` e
       latitude. Mˆme question si vous ˆtes a l’´quinoxe ou au solstice d’hiver.

17.            e
        Pour d´terminer approximativement votre longitude, vous pouvez utiliser le prin-
                                                a              e
       cipe suivant. Vous mettez votre montre ` l’heure du m´ridien de Greenwich. Vous
                                                  u                 e
       notez l’heure qu’elle indique au moment o` le soleil est au z´nith. Expliquez com-
                                                  e                  e    e
       ment vous calculez votre longitude. (La m´thode n’est pas tr`s pr´cise, car il n’est
                                        a                               e
       pas facile de savoir exactement ` quel moment le soleil est au z´nith.) Les marins
                         o
       fonctionnent plutˆt avec deux mesures de l’angle que fait le soleil, une avant le
        e                e
       z´nith et une apr`s, et font une interpolation.

18.                                                     e
        Le fonctionnement du sextant Comme d´crit dans les exercices 14 et 17, nous
       connaissons notre longitude ou notre latitude en mesurant l’angle que fait la droite
                                                  e
       entre nous et le soleil ou entre nous et l’´toile polaire avec le plan horizontal. Ceci
             e            e
       est tr`s beau en th´orie, mais, en pratique, comment mesurer des angles de mani`re  e
         e                                           e                        a
       pr´cise si on se trouve sur un bateau secou´ par la houle ? C’est l` que le sextant
                                                          e
       nous vient en aide. Le sextant utilise un syst`me de deux miroirs. L’utilisateur
       peut ajuster l’angle entre les deux miroirs. Il ajuste l’angle entre les miroirs de
40     1 Positionnement




                  Fig. 1.12. Le fonctionnement du sextant (exercice 18)



            e a                          e e                     e
      mani`re ` ce qu’il voie l’image r´fl´chie du soleil ou de l’´toile polaire exactement
      au niveau de l’horizon comme sur la figure 1.12.
      a) Montrer que, si l’angle entre les deux miroirs est θ, alors l’angle que fait le
                  e
      soleil ou l’´toile polaire avec l’horizon est de 2θ.
                                          e                          a
      b) Vous convaincre que ce syst`me n’est pas trop sensible ` la houle.
La cartographie

19.                   `                                        e
       On se donne a la surface de la Terre (soit une sph`re de rayon R) deux points
      Q1 = (x1 , y1 , z1 ) et Q2 = (x2 , y2 , z2 ) de longitudes respectives θ1 et θ2 et de
      latitudes respectives φ1 et φ2 . Calculer la distance minimale ` parcourir sur la
                                                                          a
                               a
      Terre pour aller de Q1 ` Q2 .

20.                                                                  e
       Sur une carte obtenue par projection de Mercator, calculer l’´quation de l’ortho-
      dromie joignant le point de longitude 0 et latitude 0 avec le point de longitude 90
          e                              e
      degr´s ouest et de latitude 60 degr´s nord.

21.                                                                             e
       Sur une carte obtenue par projection cylindrique orthogonale, calculer l’´quation
      de l’orthodromie joignant le point de longitude 0 et latitude 0 avec le point de
                       e                              e
      longitude 90 degr´s ouest et de latitude 60 degr´s nord.
                                                                            1.6 Exercices   41

22.                      e
       On projette la sph`re sur le cylindre infini vertical en passant par le centre de la
         e
      sph`re.
      a) Donner la formule de la projection.
                                   e                     e
      b) Quelle est l’image des m´ridiens ? Des parall`les ?
      c) Quelle est l’image d’un grand cercle ?
23.                                                   o                 e      a
       Dans les projections coniques, on utilise des cˆnes tangents ou s´cants ` la Terre et
      on projette en passant par le centre de la Terre. Imaginer des projections coniques
          e          e         e                      e
      et d´crire le r´seau de m´ridiens et de parall`les sur la projection.
                      e e                                 e
24. Projection st´r´ographique On projette la sph`re sur un plan tangent a la         `
        e
    sph`re en un point P . Soit P le point diam´tralement oppos´ ` P . La projection
                                                  e                 ea
                                                e
    se fait ainsi : si Q est un point de la sph`re, sa projection est l’intersection de la
                                       `       e
    droite P Q avec le plan tangent a la sph`re en P .
                                                               u            o
    a) Donner la formule de cette projection dans le cas o` P est le pˆle Sud et o`      u
    on consid`re la sph`re x2 + y 2 + z 2 = 1 de rayon 1. (Alors, le point P est le pˆle
               e          e                                                            o
    Nord, et le plan tangent est le plan z = −1.)
    b) Montrer que cette projection est conforme.
25.                                                      o     e
       Pour faire de la bonne cartographie, on doit plutˆt repr´senter la Terre comme
                                    2   2      2
      un ellipso¨ de r´volution x2 + y2 + z2 = 1. En g´n´ralisant un ´quivalent des
                ıde      e        a    a     b             e e           e
                e      e                             ıde         e
      coordonn´es sph´riques, les points de l’ellipso¨ peuvent s’´crire comme
                          (x, y, z) = (a cos θ cos φ, a sin θ cos φ, b sin φ).
                                       e                   e                    e
      La notion de longitude est la mˆme que pour la sph`re, soit θ, mais les g´ographes
                    o               e e         e                               e e
      utilisent plutˆt la latitude g´od´sique d´finie comme suit : la latitude g´od´sique
                                ıde                           `          ıde
      d’un point P de l’ellipso¨ est l’angle entre la normale a l’ellipso¨ en P et le plan
           e                                               e e
      de l’´quateur (le plan z = 0). Calculer la latitude g´od´sique en fonction de φ.
26. Une projection conique conforme de Lambert On consid`re la sph`re x2 + e          e
    y 2 + z 2 = 1 et un cˆne d’axe z, centr´ en un point de l’axe z au-dessus du pˆle Nord.
                         o                   e                                       o
                                       e                      o          o
    a) Quelles sont les coordonn´es du sommet du cˆne si le cˆne est tangent ` la         a
    sph`re le long du parall`le φ = φ0 .
         e                     e
                   e          o                                              e
    b) Si on d´coupe le cˆne le long du demi-plan contenant le m´ridien θ = π et
                 e
    qu’on le d´roule, on obtient un secteur. Montrer que l’angle au sommet de ce
    secteur est 2π sin φ0 .
                                                                o
    c) Montrer que la distance ρ0 entre le sommet du cˆne et un point de tangence
               o             e
    entre le cˆne et la sph`re est ρ0 = cot φ0 .
                                                                   e
    d) Plus difficile ! On suppose que le secteur est dispos´ comme sur la figure 1.13.
                                                   e                       e
         La projection de Lambert de la sph`re sur ce secteur est d´finie comme suit.
                                                                         e
    Soit (x, y, z) = (cos θ cos φ, sin θ cos φ, sin φ) un point de la sph`re. On lui associe le
    point :
                                         X = ρ sin ψ
                                         Y = ρ0 − ρ cos ψ
42     1 Positionnement




Fig. 1.13. Le d´roulement du cˆne dans l’exercice 26 : si P est un point, alors ρ = |AP | et ψ
                e             o
est l’angle OAP .



o`
 u                            ⎧
                              ⎨             tan 1 ( π −φ)
                                                2 2
                                                             sin φ0
                                  ρ = ρ0   tan 1 ( π −φ0 )
                                               2 2
                              ⎩ψ = θ sin φ .
                                          0

V´rifier que la projection donn´e par (x, y, z) → (X, Y ) est conforme.
 e                            e
 ee
R´f´rences




[1] Do Carmo, Manfredo. Differential geometry of curves and surfaces, Englewood Cliffs, New
    Jersey, Prentice Hall, 1976, 503 p.
                                   o e                       ´
[2] Leiffet, Bernard. Navigation cˆti`re au Canada, Montr´al, Editions du Tr´carr´, 1989.
                                                        e                  e    e
[3] Atlas de Peters, Larousse, 1990.
[4] Richardus, Peter et Ron Kazimierz Adler. Map projections for geodesists, cartographers and
    geographers, Amsterdam, North-Holland, 1972, 174 p.
[5] Reignier, Fran¸ois. Les syst`mes de projection et leurs applications a la g´ographie, a la
                    c            e                                            `     e         `
                  `         e
    cartographie, a la topom´trie, etc., Paris, Publications techniques de l’Institut G´ographique
                                                                                       e
    National, 1957.
[6] Taylor, Edwin F. et John Archibald Wheeler. Exploring Black Holes, Introduction to Ge-
    neral Relativity, San Francisco, Montreal, Addison Wesley Longman, 2000 (chapitres 1 et
    2 et projet sur le GPS), 321 p.
2
              ıques
Frises et mosa¨




                    e                                                            e
    Ce chapitre pr´sente la classification des frises et quelques concepts reli´s aux mosa¨   ı-
                    e                           e                                   e      c
    ques. La premi`re section introduit les op´rations laissant une frise inchang´e de fa¸on
                  e e                  e                      e                        e e
    intuitive et g´om´trique. Elle pr´sente ce que seront les ´tapes de la preuve du th´or`me
    de classification des frises. La section 2.2 introduit les transformations affines (et
              e                                   e
    leur repr´sentation matricielle) et les isom´tries. La section 2.3 conclut la preuve du
       e e                                  e                         c
    th´or`me de classification. La derni`re section parle, d’une fa¸on beaucoup plus suc-
    cincte, des mosa¨                         e e
                      ıques. La preuve du th´or`me de classification (section 2.3) est la sec-
                                                           e
    tion la plus difficile. Les sections 2.1 et 2.4 peuvent ˆtre couvertes en trois heures ; les
                                    e e               e                        e
    outils seront alors purement g´om´triques, et les ´tudiants auront une id´e de la preuve.
                                                                e
    Il faut au moins quatre heures pour couvrir les trois premi`res sections. Quel que soit le
         e                          e
    mat´riel choisi, il est conseill´ de se munir de deux copies sur support transparent des
                                                    e
    frises de la figure 2.2 ; leur projection sur un ´cran permet de comprendre rapidement
                    e                e                                             e     e
    les diverses op´rations de sym´trie en jeu. Seules des connaissances en alg`bre lin´aire
            e e                           e         `
    et en g´om´trie euclidienne sont n´cessaires a la lecture de ce chapitre. La preuve du
       e e
    th´or`me de classification requiert une habitude du raisonnement abstrait.
    Ce sujet offre plusieurs pistes attrayantes pour poursuivre l’exploration : les pavages
      e
    ap´riodiques (fin de la section 2.4) en sont une, les exercices 13, 14, 15 et 16 en
    proposent d’autres.

    Les frises et les mosa¨               ee               e
                           ıques sont des ´l´ments de d´coration architecturaux qui sont
       e                       e                                         e         e
utilis´s depuis quelques mill´naires. Les grandes civilisations sum´rienne, ´gyptienne
                                                     e
et maya les utilisaient avec brio. Inutile de pr´tendre dans ce cas que ce sont les
math´matiques qui ont contribu´ ` l’´tablissement de cette « technologie ». L’´tude des
       e                          ea e                                               e
frises et mosa¨                            e                               e
                ıques, comme sujet math´matique, est relativement r´cente ; son d´but     e
                         e           e
date d’au plus deux si`cles. Le m´moire de Bravais [1] est probablement le premier
                    `
texte scientifique a en faire l’analyse.
              e                                                   e
    Les math´matiques peuvent cependant revendiquer une ´tude et une classification
     e
syst´matique des patrons que l’on retrouve en architecture. Ces classifications ont amen´      e
         e            a e          e                                 a
les math´maticiens ` pr´ciser les r`gles. Ce faisant, ils ont permis ` ceux qui les utilisaient
                             e
de mieux comprendre ces r`gles et donc, de pouvoir les enfreindre pour innover.
46                      ıques
        2 Frises et mosa¨




                                                                 a                         e
Fig. 2.1. Sept frises (Pour chaque frise ci-dessus, la frise vis-`-vis de la figure 2.2 poss`de les
 e         e
mˆmes sym´tries.)
                                                                                 ıques
                                                                 2 Frises et mosa¨           47




                                                                           a
Fig. 2.2. A nouveau sept frises (Pour chaque frise ci-dessus, la frise vis-`-vis de la figure 2.1
    e        e       e
poss`de les mˆmes sym´tries.)
48                     ıques
       2 Frises et mosa¨

                                 e                         e                       e
    Classifier des objets math´matiques est une activit´ que le lecteur a peut-ˆtre d´j`  ea
          e                                      e       a
rencontr´e. S’il a suivi un cours de calcul diff´rentiel ` plusieurs variables, il se rappel-
lera la classification des extrema d’une fonction de deux variables. Si, en un extremum,
                                e e                              e
la matrice (hessienne) des d´riv´es secondes est non singuli`re, l’extremum peut ˆtre   e
        e
classifi´ en un des trois types suivants : un minimum local, un maximum local ou un
                                                   e e
point de selle. Si le lecteur a suivi un cours de g´om´trie euclidienne ou un cours avanc´ e
      e       e                    e   e
d’alg`bre lin´aire, il aura peut-ˆtre ´galement vu la classification des coniques. Et celui
                                                                   e e
qui a lu le chapitre 6 sur les codes correcteurs notera que les th´or`mes 6.17 et 6.18 clas-
                                                                             e     e
sifient les corps finis. Ces exemples classifient des objets abstraits. Il peut ˆtre ´tonnant
    e                      e                   e
de r´aliser que les math´matiques peuvent ´galement classifier des objets aussi concrets
que des patrons architecturaux. Voici comment ceci se fait.


                 e
2.1 Frises et sym´tries
                        e
     Le Petit Robert d´finit frise comme suit : bordure ornementale en forme de bandeau
                                     e
continu (d’un mur, d’une chemin´e, d’un chambranle, d’un meuble, etc.). La figure 2.1
   e                         e              e
pr´sente sept frises. Pour ´tudier math´matiquement ces objets, nous ajouterons ` la      a
  e                       ee                                      e
d´finition du Robert les ´l´ments suivants : (i) une frise poss´dera une largeur constante
finie (la hauteur des frises dans la figure 2.1) et elle sera infinie dans la direction per-
                                                    e                 a
pendiculaire (l’horizontale ici) ; (ii) elle sera p´riodique, c’est-`-dire qu’il existera une
distance minimale L non nulle telle qu’une translation de longueur L de la frise dans la
             u                                  e                            e    e
direction o` elle est infinie la laisse inchang´e. Le nombre L sera appel´ la p´riode de la
                 e                                e
frise. Cette d´finition ne colle donc pas imm´diatement aux frises de la figure puisque
           e                                                                    `
ces derni`res ne sont pas infinies. Mais il n’est pas difficile de coller, a l’aide de son
                                                                 `              c a
imagination, un nombre infini de copies d’une frise bout a bout de fa¸on ` produire
             e e          e e                                   e a
une frise id´alis´e. (La g´om´trie euclidienne nous a habitu´s ` cet exercice mental : les
         e e
points g´om´triques n’y ont pas de dimension, et les droites y sont infinies.)
                      e       e                                                e   e
     La figure 2.2 pr´sente ´galement sept frises. Leur dessin est plus ´pur´, et il est
       e                        e                                  e    e
peut-ˆtre plus simple de les ´tudier. Ces sept frises ont la mˆme p´riode L, la distance
entre deux barres verticales. Dans ce qui suit, ces barres verticales seront consid´r´es e e
                                                                    ee     e
comme ne faisant pas partie du patron de la frise. Elles n’ont ´t´ trac´es que pour aider
                                                                    e         e e
l’œil. Certaines de ces frises sont invariantes sous d’autres op´rations g´om´triques que
                                                                          e
la translation par une distance L. Par exemple, si on bascule la troisi`me ou la septi`me e
         e                                                                    e
frise en ´changeant le bas et le haut, ces deux frises demeurent inchang´es. Nous dirons
                                       e            e
qu’elles sont invariantes sous l’op´ration de r´flexion dans un miroir horizontal. La
                   e
seconde, la sixi`me et la septi`me sont invariantes sous une r´flexion dans un miroir
                                  e                                   e
               e                                                                     e
vertical qui ´change la gauche et la droite. Ces distinctions entre frises soul`vent une
                                                                                       e
question naturelle : est-il possible de classifier les frises selon l’ensemble des op´rations
  e e                                    e                                  e
g´om´triques qui les laissent inchang´es ? Par exemple, l’ensemble d’op´rations qui laisse
          e                 e
la premi`re frise inchang´e n’inclut ni le miroir horizontal ni le miroir vertical. Cet
                                                                e                  e
ensemble est donc distinct de l’ensemble laissant la troisi`me frise inchang´e. Notons
                                             ee         e         c a
que les frises des figures 2.1 et 2.2 ont ´t´ ordonn´es de fa¸on ` ce que leur vis-`-vis  a
                                                                               e
                                                              2.1 Frises et sym´tries     49

                     e             e        e                              e
demeure inchang´ sous les mˆmes op´rations. Par exemple, la troisi`me frise de la figure
                  e                                            e
2.1 et la troisi`me de la figure 2.2 demeurent inchang´es sous les translations et la
 e
r´flexion dans un miroir horizontal.
                                       e e           e
    Lorsqu’une transformation g´om´trique pr´servant les longueurs (comme les trans-
                e                                                    e
lations et les r´flexions dans un miroir) laisse une frise inchang´e, on dit de cette trans-
                                   e             e                           c
formation qu’elle est une op´ration de sym´trie pour la frise ou, de fa¸on plus courte,
          e                                              e         e
une sym´trie de la frise. Dresser une liste compl`te des op´rations de sym´trie pour e
                 e
une frise donn´e est parfois fastidieux ; notons, par exemple, que nous aimerions dis-
tinguer la translation d’une distance L de celles d’une distance 2L, 3L, etc., et que ces
                       ea                                       e                    e
translations sont d´j` en nombre infini. L’ensemble des op´rations contiendra ´galement
                                                           e              e
les inverses de ces translations. L’inverse d’une op´ration de sym´trie est l’inverse au
                                                 e                                       e
sens des fonctions : la composition d’une op´ration et de son inverse est l’identit´ sur le
                             u            e
plan (ou sur la bande o` est dessin´e la frise). Par exemple, l’inverse d’une translation
                                                                                 e
vers la droite d’une distance L est une translation vers la gauche de la mˆme distance.
                                          e                    `
(Exercice : quel est l’inverse d’une r´flexion par rapport a un miroir ? Et d’une rotation
                                                                     `
d’un angle θ ?) Ainsi, si nous associons une distance positive a une translation vers la
                               e        `                                          e
droite et une distance n´gative a une translation vers la gauche, les sym´tries d’une
frise de p´riode L incluent les translations d’une distance nL pour tout n ∈ Z. Claire-
           e
                                e                                                   e
ment, l’ensemble des sym´tries d’une frise contiendra un nombre infini d’op´rations de
translation. Un bon compromis est de donner un sous-ensemble dont la composition et
                  ee
l’inversion des ´l´ments permettent de construire tous les autres. Un tel sous-ensemble
           e                        e e
est appel´ un ensemble de g´n´rateurs. C’est ce que nous essaierons d’obtenir par la
                    e                ee
suite. (Les math´maticiens pr´f`rent que ce sous-ensemble soit le plus petit possible. Ils
                             e                        ee
le disent minimal si, apr`s le retrait d’un de ses ´l´ments, il ne suffit plus pour engendrer
                e
toutes les sym´tries.)
                                                          e                         e e
    Notre but dans le reste de cette section est de d´velopper une intuition g´om´trique
                       e
de certaines des id´es maˆ                          e e                                  e e
                              ıtresses menant au th´or`me de classification 2.12. Ce th´or`me
                          e                          e e
dresse la liste compl`te des ensembles de g´n´rateurs qui peuvent caract´riser les    e
     e                                                                   e
sym´tries d’une frise. Mais, avant de commencer, nous vous sugg´rons de faire une co-
                                                             e
pie sur support transparent de la figure 2.2 et de la d´couper en sept bandes, une pour
                                            e
chaque frise. Vous pourrez ainsi exp´rimenter et vous familiariser avec les affirmations
qui suivent.
Les trois g´n´rateurs t L , r h et r v Nous avons d´j` introduit quelques op´rations
              e e                                            ea                         e
        e                                                                        e
de sym´trie possibles : les translations (par tout multiple entier de la p´riode L), les
 e                          `
r´flexions par rapport a des miroirs horizontal et vertical. Nous noterons ces types de
r´flexion par rh et rv respectivement. Quant ` l’ensemble de toutes les translations,
 e                                                    a
il est engendr´ par l’unique translation tL d’une p´riode L. (L’inversion nous permet
                e                                          e
d’engendrer t−L , la translation d’une distance nL est la composition tL ◦ tL ◦ · · · ◦ tL de
      e
n op´rations tL , etc.)
    Une subtilit´ doit ˆtre ´claircie imm´diatement. Pour que la r´flexion rh par rapport
                  e       e      e            e                        e
a                                                                              e
` un miroir horizontal laisse une frise invariante, il faut que l’axe de r´flexion soit la
                                                  e              e
ligne horizontale au centre de la frise (trac´e en pointill´ sur la figure 2.2). Donc, la
                                    e         e       e
position du miroir est compl`tement d´termin´e par l’exigence que l’image de la frise
50                      ıques
        2 Frises et mosa¨

        e                                            e       e
par la r´flexion soit la frise. Il n’en est pas de mˆme des r´flexions par un miroir vertical.
                                               e
La position d’un miroir vertical doit, elle, ˆtre choisie selon le patron de la frise. La frise
                                                       e              e
2 (la seconde de la figure 2.2), par exemple, poss`de une infinit´ de miroirs verticaux.
                       e                                                            e
Tous les miroirs situ´s en chacun des segments verticaux qui indiquent la p´riodicit´         e
                                        e                      ea
du patron laissent la frise inchang´e. Ces miroirs sont d´j` en nombre infini. Mais il
                                                       e   e e         a
y en a un autre ensemble infini : les miroirs situ´s pr´cis´ment ` mi-chemin entre ces
  e                                             a
mˆmes segments verticaux. Nous verrons ` l’exercice 7 que, si une frise de p´riode L e
            e            e                       `                             e
est inchang´e sous la r´flexion par rapport a un miroir vertical, elle l’est ´galement par
rapport a une infinit´ d’autres miroirs verticaux, tous a distance n L du premier, o` n est
         `            e                                  `              2               u
un entier (∈ Z). La notation rv sous-entend donc un choix donn´ pour la position d’un
                                                                     e
miroir vertical et tous ses translat´s par un multiple entier de L . (Exercice : identifier
                                       e                             2
                                                   e
quelles autres frises de la figure sont inchang´es sous un miroir vertical.)
                                  e                 e            e
Notation La composition d’op´rations de sym´trie sera utilis´e souvent, et nous omet-
trons le symbole « ◦ » par la suite. Ainsi rh ◦ rv sera simplement not´ rh rv . Nous verrons
                                                                      e
e                            e                                      e             a
´galement que l’ordre des op´rations est important. Elles sont not´es de droite ` gauche ;
                            e          e
ainsi la composition rh rv d´note l’op´ration rv suivie de rh .
La rotation r h r v La frise 5 nous force ` introduire un nouveau g´n´rateur dans
                                               a                             e e
                          e
notre liste. Elle ne poss`de ni rh ni rv comme sym´trie, mais si rv , puis rh lui sont
                                                         e
appliqu´es (avec le miroir de rv le long d’un des segments verticaux), la frise demeure
         e
                            e
invariante. (Exercice : le v´rifier !) Donc, il peut se produire que ni rh ni rv ne soient
des g´n´rateurs, mais que leur composition (rh rv ) le soit. Ce g´n´rateur rh rv obtenu
       e e                                                           e e
de deux r´flexions est une rotation de 180◦ . Pour s’en convaincre, il suffit de remarquer
           e
que rh rv ´change simultan´ment le haut et le bas, ainsi que la gauche et la droite, sans
           e                e
   e                                         e                  e
alt´rer les distances. (En termes d’un syst`me de coordonn´es dont l’origine est situ´e    e
sur une des barres verticales, un point (x, y) de la frise deviendra le point (−x, −y) sous
cette transformation.) Ceci est exactement l’action de la rotation de 180◦ aussi appel´e   e
     e                 a                                                e e
sym´trie par rapport ` l’origine. (L’exercice 8 donnera une preuve g´om´trique de cette
        ee
propri´t´.)
    Les propri´t´s suivantes des trois g´n´rateurs rh , rv et rh rv se v´rifient ais´ment
                ee                        e e                              e           e
a
` l’aide de la copie sur support transparent que vous aurez faite. Elles pourront ˆtre   e
e            e e a                    e                                          `
´galement v´rifi´es ` l’aide de la repr´sentation matricielle qui sera introduite a la section
2.2. (Voir l’exercice 6.)

                               e
Proposition 2.1 1. Les op´rations rh et rv commutent, c’est-`-dire que les composi-
                                                                     a
                          e
tions rh rv et rv rh sont ´gales.
        e
2. L’op´ration inverse de rh est rh , celle de rv est rv , celle de rh rv est rh rv .
3. La composition de rh et rh rv donne rv . Celle de rv et rh rv donne rh . (On en conclut
                           e
que, si deux des trois op´rations rh , rv et rh rv sont des sym´tries d’une frise, les trois
                                                                  e
le sont.)
    `                       ee                       e                            e
   A l’aide de ces propri´t´s, il vous sera facile d’´tablir, pour une frise donn´e de
                                             e
la figure 2.2, lesquelles parmi les trois op´rations rh , rv et rh rv sont des sym´tries.
                                                                                 e
(Exercice : le faire pour les sept frises !)
                                                                                   e
                                                                  2.1 Frises et sym´tries      51




                  e        e                                      a
Fig. 2.3. La sym´trie gliss´e. La frise 4 telle qu’on la retrouve ` la figure 2.2 (en haut), la
mˆme frise apr`s l’op´ration rh (au centre), puis apr`s la translation d’une demi-p´riode (en
  e           e      e                                e                             e
bas).



         e             e                           e
La sym´trie gliss´e sg = tL/2 rh Cette derni`re proposition nous permet de tracer un
                                        e e
premier bilan : chacun des quatre g´n´rateurs tL , rh , rv et rh rv est une sym´trie d’au
                                                                                     e
                                                                                    e
moins une frise. De plus, chacun des trois rh , rv et rh rv est absent des sym´tries d’au
                                  a
moins une frise. Un coup d’œil ` la frise 4 nous montre que cette liste ne suffit pas. Aucun
           e e
des trois g´n´rateurs rh , rv et rh rv n’est une sym´trie de cette frise. Cependant, une
                                                         e
r´flexion rh suivie d’une translation d’une demi-p´riode L laisse cette frise invariante,
 e                                                      e      2
                      e                    a
comme on peut ais´ment le constater ` la figure 2.3 ! (Attention : les barres verticales
  e              e
d´limitant les p´riodes ne font pas partie du patron.) Nous allons nommer cette nouvelle
    e
op´ration sg pour sym´trie gliss´e. En utilisant la notion de composition, nous pouvons
                         e          e
e
´crire sg = tL/2 rh . (Exercice : une seule autre frise parmi les sept de la figure 2.2 poss`de
                                                                                           e
               e e
sg parmi ses g´n´rateurs. Laquelle ?)

              e e
Vers le th´or`me de classification Nous avons maintenant identifi´ cinq g´n´ra-       e       e e
teurs (tL , rh , rv , rh rv , sg ) ` partir de l’observation des sept frises de la figure 2.2. Pour
                                   a
                                e                          e
obtenir une liste compl`te des ensembles de sym´trie des frises, nous devons avoir une
                       e e                                        e
liste de tous les g´n´rateurs possibles. Or, nous avons d´couvert les cinq de notre liste
en observant sept exemples bien particuliers de frises. Y a-t-il une frise autre que ces
      a                    e          `                                             e e
sept-l` qui nous am`nerait a allonger cette liste ? Existe-t-il d’autres g´n´rateurs que
                                    e                             e
les cinq que nous avons d´couverts ? Ce sont les premi`res questions auxquelles nous
           e                           e             e e
devrons r´pondre avant de d´montrer le th´or`me de classification.
                                                e                        e     e
   Si nous admettons que cette liste est compl`te, nous pouvons alors ´num´rer les en-
               e                                   e                            e    e
sembles de sym´trie potentiels pour les frises de p´riode L. Nous le ferons en ´num´rant
              e e                   e                          e
une liste de g´n´rateurs. Par la d´finition de frise, les sym´tries incluent toujours la
translation tL d’une p´riode L et aucune autre translation d’une distance inf´rieure.
                      e                                                            e
                                 e e                                              e
Nous savons de plus que, si les g´n´rateurs d’une frise incluent deux des trois op´rations
52                       ıques
         2 Frises et mosa¨

rh , rv et rh rv , alors ils incluent les trois. Nous pouvons donc dresser la liste d’ensembles
      e e
de g´n´rateurs suivante.
1. tL
2. tL , rv
3. tL , rh
4. tL , sg
5. tL , rh rv
6. tL , sg , rh rv
7. tL , rh , rv
8. tL , sg , rh
9. tL , sg , rv
10. tL , sg , rh , rv
Comme nous l’avons dit, chacun de ces ensembles contient la translation tL . Les en-
                                                      e e
sembles 1 et 4 ne contiennent aucun des g´n´rateurs rh , rv et rh rv . Les ensembles 2,
3, 5, 6, 8 et 9 contiennent un et un seul des g´n´rateurs rh , rv et rh rv ; les ensembles
                                                          e e
                              e                e          e
6, 8, 9 contiennent ´galement la sym´trie gliss´e sg , mais les ensembles 2, 3, 5 ne la
                                                                           e e
contiennent pas. Les ensembles 7 et 10 contiennent deux des g´n´rateurs rh , rv et rh rv
                                               e          e
(et donc les trois), sans et avec la sym´trie gliss´e sg respectivement. Voici donc la liste
        e                                                   e e                    ıtre
compl`te des ensembles possibles, si la liste des g´n´rateurs pouvant apparaˆ est bien
{tL , rh , rv , rh rv , sg }.
            e e                                           a
    Le th´or`me de classification devra faire face ` deux autres questions. La premi`re este
                                   e e
la suivante : y a-t-il des r´p´titions dans la liste ci-dessus ? Puisque nous avons choisi de
                                                e e
ne dresser que la liste d’ensembles de g´n´rateurs, il se peut bien que certains ensembles
  e e               e                    e
g´n`rent la mˆme liste de sym´tries. La seconde est : y a-t-il des ensembles parmi ceux
                                                                     e e
de la liste ci-dessus qui ne sont pas des ensembles de g´n´rateurs pour des frises de
  e                               e
p´riode L ? Cette derni`re question peut sembler surprenante. Mais nous pouvons y
 e                                     e
r´pondre partiellement imm´diatement : l’ensemble 8 n’engendre pas un ensemble de
     e                              e
sym´tries d’une frise de p´riode L ! En voici la raison.
                                                    e          e
    Il est crucial de se rappeler que la sym´trie gliss´e sg est la composition de rh et de
tL/2 . On peut en d´duire ais´ment que, pour une frise de p´riode L, il est impossible que
                           e          e                              e
                                              e
sg et rh soient toutes les deux des sym´tries de cette frise. Pourquoi ? Nous avons observ´ e
                              e
que l’inverse de l’op´ration rh est l’op´ration rh elle-mˆme. On en d´duit que sg rh =
                                                e                  e             e
tL/2 rh rh = tL/2 (id) = tL/2 . Puisque la composition de sym´tries est une sym´trie, la
                                                                        e               e
                                    e    e                   e
translation tL/2 devrait ˆtre ´galement une sym´trie de la frise. Mais la p´riode de  e
                                   e           e
cette frise est L et, par d´finition de p´riode, la translation d’une distance L est la plus
                                            e
courte qui laisse la frise inchang´e. Donc tL/2 ne peut ˆtre une sym´trie, et sg et rh ne
                                                                 e             e
            e                   e         e                              e
peuvent ˆtre simultan´ment pr´sents dans l’ensemble des sym´tries. Donc, l’ensemble 8
        e             e                                            e
devra ˆtre rejet´. (Notez que cet ensemble engendre le mˆme ensemble de sym´tries que e
l’ensemble de g´n´rateurs tL/2 , rh , c’est-`-dire l’ensemble 3 de la liste ci-dessus pour
                      e e                           a
                    e                                e e
les frises de p´riode L/2.) (Exercice : le th´or`me de classification ne gardera que sept
                                                     e
                                    2.2 Groupe de sym´trie et transformation affine        53

                   e e
des dix listes de g´n´rateurs. Nous venons de donner l’argument pour rejeter la liste 8.
                                        e        e
Deux autres listes doivent donc encore ˆtre rejet´es. Pouvez-vous dire lesquelles ?)
                e                      e e                        e
   Nous compl´terons la preuve du th´or`me de classification apr`s avoir introduit un
                   e            e             e         e e                  e
puissant outil alg´brique pour ´tudier ces op´rations g´om´triques : la repr´sentation
matricielle des transformations affines1 .


                 e
2.2 Groupe de sym´trie et transformation affine
            e                                                                    e
   La repr´sentation matricielle des transformations affines est l’outil math´matique
                             e           e
que nous utiliserons pour d´crire les op´rations laissant les frises invariantes. (Si vous
                                           ea         e
avez lu les chapitres 3 ou 11, vous avez d´j` rencontr´ les transformations affines.)

D´finition 2.2 Une transformation affine du plan est une transformation R2 → R2 de
  e
la forme (x, y) → (x , y ) telle que

                                    x = ax + by + p,
                                     y = cx + dy + q.

Une transformation affine est dite propre si elle est bijective.
                          e    e
Cette transformation peut ˆtre ´crite sous forme matricielle

                                x       a   b    x   p
                                    =              +   .                               (2.1)
                                y       c   d    y   q
                b
La matrice a d est une transformation lin´aire, et les p et q repr´sentent les transla-
              c                               e                       e
                                                                                 e
tions dans les directions x et y respectivement. Dans ce qui suit, nous ne consid´rons que
                                            e   e           a
des transformations affines propres (ou r´guli`res), c’est-`-dire les transformations af-
                                                                 ee      e
fines bijectives. Comme nous le verrons sous peu, cette propri´t´ suppl´mentaire ajoute
                                                               b
la condition d’inversibilit´ de la transformation lin´aire a d . Remarquons que la no-
                           e                         e       c
                               e         e
tation matricielle suivante d´crit la mˆme transformation affine :
                                 ⎛ ⎞ ⎛            ⎞⎛ ⎞
                                  x        a b p       x
                                 ⎝y ⎠ = ⎝ c d q ⎠ ⎝y ⎠ .                             (2.2)
                                   1       0 0 1       1

                                                                                ee
Dans cette nouvelle forme, une correspondance biunivoque est faite entre les ´l´ments
(x, y) du plan R2 et les ´l´ments (x, y, 1)t du plan bidimensionnel dans R3 constitu´ des
                         ee                                                         e
                     e
points dont la troisi`me composante est 1. La correspondance entre les transformations
affines (2.1) et les matrices 3 × 3

   1
                                                    e e             e e
     Il est possible de donner une preuve purement g´om´trique du th´or`me de classification.
Voir, par exemple, [2] ou [4].
54                     ıques
       2 Frises et mosa¨
                                         ⎛         ⎞
                                          a    b p
                                         ⎝c    d q⎠
                                          0    0 1
              e
dont la troisi`me ligne est (0 0 1) est aussi biunivoque.
   Si on compose deux transformations affines (x, y) → (x , y ) et (x , y ) → (x , y )
     e
donn´es par

                                    x = a1 x + b 1 y + p 1 ,
                                    y = c1 x + d1 y + q1 ,

et

                                   x = a2 x + b 2 y + p 2 ,
                                   y = c2 x + d2 y + q2 ,

    e                       e
le r´sultat sur (x, y) peut ˆtre obtenu comme suit

              x = a2 x + b 2 y + p 2
                  = a2 (a1 x + b1 y + p1 ) + b2 (c1 x + d1 y + q1 ) + p2
                  = (a2 a1 + b2 c1 )x + (a2 b1 + b2 d1 )y + (a2 p1 + b2 q1 + p2 )

et

              y = c2 x + d2 y + q2
                = c2 (a1 x + b1 y + p1 ) + d2 (c1 x + d1 y + q1 ) + q2
                  = (c2 a1 + d2 c1 )x + (c2 b1 + d2 d1 )y + (c2 p1 + d2 q1 + q2 ).

             a                                      e   e
Notons qu’` nouveau, cette transformation peut ˆtre ´crite sous forme de produit ma-
triciel ` l’aide d’une matrice 3 × 3
        a
              ⎛ ⎞ ⎛                                                    ⎞⎛ ⎞
                x       a2 a1 + b2 c1 a2 b1 + b2 d1 a2 p1 + b2 q1 + p2   x
              ⎝y ⎠ = ⎝c2 a1 + d2 c1 c2 b1 + d2 d1 c2 p1 + d2 q1 + q2 ⎠ ⎝y ⎠ .
                 1            0             0               1            1

           e e           e e
Cette derni`re ´criture r´v`le la puissance de la notation matricielle, car le produit
des deux matrices 3 × 3 repr´sentant les deux transformations affines originales est
                              e
  e e
pr´cis´ment la matrice ci-dessus :
  ⎛            ⎞⎛              ⎞ ⎛                                                   ⎞
    a2 b 2 p 2      a1 b 1 p 1        a2 a1 + b2 c1 a2 b1 + b2 d1 a2 p1 + b2 q1 + p2
  ⎝ c2 d2 q2 ⎠ ⎝ c1 d1 q1 ⎠ = ⎝c2 a1 + d2 c1 c2 b1 + d2 d1 c2 p1 + d2 q1 + q2 ⎠ .
     0 0 1          0 0 1                   0             0               1

              ee                         e
Cette propri´t´ remarquable permet d’´tudier les transformations affines et leur com-
position ` l’aide de cette repr´sentation matricielle 3 × 3 et de la simple multiplication
         a                     e
                                                        e
                                       2.2 Groupe de sym´trie et transformation affine    55

matricielle. Le probl`me g´om´trique est donc remplac´ par un probl`me matriciel. A
                     e     e e                            e             e             `
                                                                   e
cause de cette correspondance, nous utiliserons souvent la repr´sentation matricielle
pour parler d’une transformation affine. Il faut cependant noter qu’une transforma-
                  e    e                     a         e                e
tion affine peut ˆtre d´finie sans recours ` un syst`me de coordonn´es, mais que sa
     e                                                     e    ee
repr´sentation matricielle n’existe que lorsqu’un tel syst`me a ´t´ choisi.
                                            e
    Pour montrer la puissance de la repr´sentation matricielle, nous calculerons l’in-
verse d’une transformation affine propre. Cet inverse est la transformation qui associe
(x , y ) → (x, y) o` x = ax + by + p et y = cx + dy + q. Puisque la composition des
                   u
                                 e    e
transformations affines est repr´sent´e par la multiplication matricielle, il faut que la
                                        e     e                                  e
transformation affine inverse soit repr´sent´e par l’inverse matriciel, qui est ais´ment
       e
calcul´ :                  ⎛                                 ⎞
                              d/D −b/D (−dp + bq)/D
                           ⎝−c/D a/D            (cp − aq)/D ⎠ ,
                               0        0            1
o` D = det a d = ad − bc. C’est encore la matrice d’une transformation affine propre.
 u            c
                b

                            e
(Exercice : que devez-vous v´rifier pour vous assurer qu’elle est propre ? Faites-le. Cet
                                          o
exercice confirme l’affirmation faite plus tˆt : une transformation affine est propre si et
                          b
seulement si la matrice a d associ´e est inversible.) Si on ´crit la matrice repr´sentant
                        c          e                        e                    e
la transformation affine originale sous la forme

                                                  A t
                                        B=            ,
                                                  0 1

 u
o`
                          a   b                                            p
                     A=         ,       0= 0          0         et   t=      ,
                          c   d                                            q
                       e    e
alors son inverse peut ˆtre ´crit comme
                                             −1
                                      A t                 A−1   −A−1 t
                          B −1 =                  =                    .
                                      0 1                  0      1

Notons que B −1 est du mˆme type que B, c’est-`-dire que sa troisi`me ligne est
                           e                      a                     e
 0 0 1 et que la partie transformation lin´aire (A−1 ) est aussi inversible.
                                          e
   L’ensemble des transformations affines propres forme un groupe.

D´finition 2.3 Un ensemble E muni d’une op´ration multiplicative E × E → E est un
  e                                              e
              e                           ee
groupe si l’op´ration satisfait aux propri´t´s suivantes :
i) associativit´ :
               e     (ab)c = a(bc),      ∀a, b, c ∈ E ;
ii) existence d’un ´l´ment neutre :
                   ee                       il existe un ´l´ment e ∈ E tel que ea = ae = a,
                                                         ee
     ∀a ∈ E ;
iii) existence d’´l´ments inverses :
                 ee                      ∀a ∈ E, ∃b ∈ E tel que ab = ba = e.
L’inverse de l’´l´ment a est habituellement not´ a−1 .
               ee                              e
56                     ıques
       2 Frises et mosa¨

                   e                          e        o
La structure math´matique de groupe joue ´galement un rˆle important dans d’autres
chapitres. Voir, par exemple, les sections 1.4 et 7.4.

                                               e
Proposition 2.4 L’ensemble des matrices repr´sentant les transformations affines pro-
pres forme un groupe sous la multiplication matricielle. L’ensemble des transformations
                      e                                e
affines propres forme ´galement un groupe lorsque l’op´ration multiplicative est la com-
                              e
position. Ce dernier est appel´ le groupe affin.

Preuve Une matrice
                                              A t
                                       B=
                                              0 1
repr´sentant une transformation affine propre est telle que A est une matrice 2 × 2
     e
                                               e             e                ´
inversible et donc, que la matrice B associ´e est elle-mˆme inversible. Etant du mˆme     e
        −1
type, B repr´sente ´galement une transformation affine propre, et la condition (iii) est
                e       e
       e e                ee                            e
donc v´rifi´e. La propri´t´ (i) n’est que l’associativit´ de la multiplication matricielle, et
         ee            e e                              e                               e
la propri´t´ (ii) est v´rifi´e puisque la matrice identit´ (le neutre multiplicatif) repr´sente
la transformation affine suivante :
                           ⎛          ⎞
                              1 0 0
                           ⎝0 1 0⎠                        x = x,
                                             ←→
                              0 0 1                       y = y.

                                     e
Donc, l’ensemble des matrices repr´sentant les transformations affines propres forme
                           ea          e
un groupe. Nous avons d´j` constat´ qu’il y a une correspondance biunivoque entre
les matrices et les transformations. De plus, la composition de transformations affines
             a                                                              e
correspond ` la multiplication matricielle dans cette correspondance. La v´rification
            e           a
ci-dessus s’´tend donc ` l’ensemble des transformations affines propres.

                                  o      e                         `
    Nous avons introduit plus tˆt les r´flexions par rapport a des miroirs horizontal
                `                                                     e
et vertical et, a titre d’exemple, nous allons en obtenir la repr´sentation matricielle.
        e                                                                             `e
Pour d´finir ces matrices, nous devons fixer l’origine. Nous la placerons toujours a ´gale
                       e    e     e            e
distance entre les extr´mit´s sup´rieure et inf´rieure de la frise. (Voir la figure 2.4.) Ceci
                 e              e
laisse tout de mˆme un choix ´norme pour l’origine : tout point sur l’axe horizontal au
                                                ea         e              e
centre de la frise est possible. (Nous avons d´j` soulign´ cette libert´ lors de l’examen
                         `                                                         e
du miroir par rapport a un axe vertical. Nous utiliserons cette grande libert´ dans la
  e                                               e     e
d´monstration du lemme 2.10.) Cette origine fix´e, la r´flexion dans un miroir horizontal
     e                                a          e
qui ´change le haut et le bas (c’est-`-dire qui ´change le demi-axe vertical positif avec
              e
le demi-axe n´gatif) est
                           ⎛         ⎞
                                    0
                           ⎝ rh                         1 0
                                    0⎠ ,    o` rh =
                                              u                   ,
                                                        0 −1
                            0 0 1

       e                                   e
et la r´flexion dans un miroir vertical qui ´change la gauche et la droite est
                                                     e
                                    2.2 Groupe de sym´trie et transformation affine        57
                         ⎛          ⎞
                              0
                         ⎝ rv                           −1 0
                              0⎠ ,           o` rv =
                                              u              ,
                                                        0 1
                          0 0 1

                                                                   e    e
si l’origine est sur un miroir. (Exercice : vous convaincre de ces ´nonc´s !) Notons enfin
que
                                  1 0       −1 0         −1 0
                        rh rv =                      =             .
                                  0 −1       0 1         0 −1
                                                 ea
Nous retrouvons l’observation que nous avons d´j` faite : une rotation d’un angle π (ou
de 180◦ ) peut ˆtre obtenue par composition d’une r´flexion par rapport a un axe vertical
               e                                    e                  `
           e                    `                                    e
et d’une r´flexion par rapport a un axe horizontal. (Exercice : d´terminer les matrices
3 × 3 qui repr´sentent la translation tL et la sym´trie gliss´e sg .)
               e                                  e          e




                                            e              e
                           Fig. 2.4. Le syst`me de coordonn´es


    Notre d´finition de transformation affine en fait une fonction de R2 → R2 . Nous
            e
                      e
voulons cependant ´tudier les transformations qui laissent une frise invariante. Ceci
restreindra donc l’ensemble des transformations affines. Une seconde restriction sera
            e                                   e
faite qui pr´cise, en fait, les frises que nous ´tudions.

  e                            e                    e
D´finition 2.5 Une isom´trie du plan (ou d’une r´gion du plan) est une fonction T :
R2 → R2 (ou T : F ⊂ R2 → R2 ) qui pr´serve les longueurs. Ainsi, si (x1 , y1 ) et (x2 , y2 )
                                        e
                                                                 e     `
sont deux points du plan, alors la distance entre ces points est ´gale a celle entre leurs
images T (x1 , y1 ) et T (x2 , y2 ).

   e                 e                             e
D´finition 2.6 Une sym´trie d’une frise est une isom´trie qui envoie la frise sur la
frise.
                 e                            e
   L’exercice 9 d´montrera que toute isom´trie est une transformation affine. Le
                                                                     e
lemme 2.7 montre que cette restriction aux transformations affines isom´triques limite
                         e                              e
grandement les possibilit´s pour les transformations lin´aires A.
58                     ıques
       2 Frises et mosa¨

Lemme 2.7 Soit
                                             A 0
                                             0 1
        e                                              e         e
une sym´trie d’une frise qui est une transformation lin´aire isom´trique. Alors, le bloc
A (2 × 2) est une des quatre matrices suivantes :

       1 0              1   0                 −1 0                          −1 0
           ,     rh =          ,      rv =                     et rh rv =        .    (2.3)
       0 1              0   −1                0 1                           0 −1

                                  e               e          e      e
Preuve Une transformation lin´aire est compl`tement d´termin´e par son action sur
une base. Nous choisirons la base {u, v} o` u et v sont des vecteurs horizontal et vertical
                                          u
             e     `          e
de longueur ´gale a la moiti´ de la largeur de la frise. Notons que tout point de la frise
peut ˆtre rep´r´ dans cette base et que (x, y) = αu + βv appartient a la frise si α ∈ R et
     e        e e                                                     `
β ∈ [−1, 1]. (La contrainte β ∈ [−1, 1] assure que le point (x, y) est bien dans la frise.)
Le choix de base assure que u ⊥ v, c’est-`-dire que le produit scalaire des deux vecteurs
                                          a
de base est nul : (u, v) = 0.
                          A 0
    Pour s’assurer que               e                e                         e
                                 repr´sente une isom´trie, il est suffisant de v´rifier que
                          0 1

                     |Au| = |u|,      |Av| = |v|          et      Au ⊥ Av.            (2.4)

En effet, si P et Q sont deux points de la frise et que Q − P = αu + βv est le vecteur
         e                e                                                        e
qui les s´pare, alors, apr`s transformation, ce vecteur sera A(αu + βv), et le carr´ de sa
                 a                                            e
longueur (c’est-`-dire la distance entre les points transform´s) sera

                  |A(αu + βv)|2 = (αAu + βAv, αAu + βAv)
                                   = α2 |Au|2 + 2αβ(Au, Av) + β 2 |Av|2
                                   = α2 |u|2 + β 2 |v|2
                                   = (αu + βv, αu + βv)
                                   = |αu + βv|2 ,

  u                  e                       e    e     e
o` nous avons utilis´, pour obtenir la troisi`me ´galit´, les trois relations (2.4) et, pour
         e                  e
la quatri`me, l’orthogonalit´ des vecteurs de la base ((u, v) = 0). Ainsi, la distance entre
                                     e    e
toute paire de points P et Q sera pr´serv´e si A satisfait aux relations (2.4). (Exercice :
                                e            e
montrer que ces relations sont ´galement n´cessaires.)
    Soit Au = γu + δv l’image de u par A. Puisque la transformation est lin´aire,      e
A(βu) = β(γu+δv). Si δ est non nul, alors il est possible de prendre β ∈ R suffisamment
grand pour que |βδ| > 1. Ceci veut dire que le point A(βu) repr´sentera un point en
                                                                      e
dehors de la frise. Il faut donc que δ = 0. (En d’autres mots, une transformation A
telle que le facteur δ est non nul est une transformation qui incline la frise hors de
l’horizontale.) Donc, Au = γu et, si |Au| = |u|, il faut que γ = ±1.
    Soit maintenant Av = ρu + σv l’image de v par A. Il faut que Au ⊥ Av et donc,
que
                                                                 2.3 La classification     59

                         0 = (Au, Av) = (γu, ρu + σv) = γρ|u|2 .
Puisque ni γ ni |u| ne sont nuls, il faut que ρ le soit. Et, a nouveau, la derni`re condition
                                                             `                  e
|Av| = |v| exige que σ = ±1. Donc, la matrice A repr´sentant l’isom´trie dans la base
                                                            e              e
{u, v} a la forme γ σ . Puisqu’il y a deux choix pour γ et σ, il y en a quatre pour A.
                    0
                      0

                                                         e
Ce sont les quatre matrices qui apparaissent dans l’´nonc´.    e

                                   e                              e
    La composition de deux isom´tries et l’inverse d’une isom´trie sont aussi des
     e                                                        e
isom´tries. Ainsi, le sous-ensemble des transformations isom´triques du groupe affin
            e                                                     e
forme lui-mˆme un groupe que nous appellerons le groupe des isom´tries. Enfin, puisque
                             e                              e               e
la composition de deux isom´tries laissant une frise inchang´e laisse elle-mˆme la frise
        e                                          e
inchang´e, l’ensemble de ces transformations isom´triques forme un sous-ensemble du
                e                                    u    e
groupe des isom´tries qui est encore un groupe. D’o` la d´finition suivante.

  e                              e                                              e
D´finition 2.8 Le groupe de sym´trie d’une frise est le groupe de toutes les isom´tries
                             e
qui laissent la frise inchang´e.


         e e
2.3 Le th´or`me de classification

                                                      e
    La formalisation des transformations isom´triques permet de dresser une liste
       e                                                           e ´
compl`te des transformations qui peuvent laisser une frise inchang´e. Etablir cette liste
              e e                                              a
sera la premi`re ´tape de cette section. La seconde consistera ` utiliser cette liste pour
e     e                              e
´num´rer tous les groupes de sym´trie de frise possibles.
                   e                               ıtre                     e
    Plusieurs isom´tries ne peuvent pas apparaˆ dans les groupes de sym´trie de frise.
               ea       e
Nous avons d´j` rejet´, lors de la preuve du lemme 2.7, les transformations lin´airese
      e
qui d´formaient la frise ou la tournaient hors de son domaine (la contrainte δ = 0
                                                                 e                   e
de cette preuve). Les deux lemmes suivants terminent la caract´risation des isom´tries
                 ıtre                            e
pouvant apparaˆ dans les groupes de sym´trie d’une frise. Le lemme suivant d´crit      e
                       e a
les translations parall`les ` l’axe de la frise.

                          e
Lemme 2.9 Le groupe de sym´trie                          e
                                      de toute frise de p´riode L contient les translations
                           ⎛                 ⎞
                             1         0 nL
                           ⎝0          1 0 ⎠ , n ∈ Z,
                             0         0 1

et ce sont les seules translations de ce groupe.

Preuve La translation                     ⎛           ⎞
                                           1    0   L
                                     tL = ⎝0    1   0⎠
                                           0    0   1
60                      ıques
        2 Frises et mosa¨

                      e
laisse les frises de p´riode L invariantes. Remarquons que l’inverse de cette translation
est                                       ⎛         ⎞
                                            1 0 −L
                                   t−L = ⎝0 1 0 ⎠
                                            0 0 1
                                      e
et que son produit n fois avec elle-mˆme donne
                                        ⎛       ⎞
                                          1 0 nL
                                  tnL = ⎝0 1 0 ⎠ .
                                          0 0 1

(Exercice !) Les translations tnL sont donc   dans le groupe de sym´trie pour tout n ∈ Z.
                                                                   e
Aucune translation de la forme         ⎛          ⎞
                                         1    0 a
                                       ⎝0     1 b⎠
                                         0    0 1
                                               e
avec b = 0 ne peut laisser une frise inchang´e, car certains points de la frise seront
     e
amen´s hors de la frise par la partie verticale de la translation. Il ne reste plus que la
          e
possibilit´ de translations de la forme
                                      ⎛          ⎞
                                        1 0 a
                                      ⎝0 1 0⎠ ,
                                        0 0 1

  u                                                      e              e
o` a n’est pas un multiple entier de L. Supposons qu’apr`s avoir effectu´ cette translation
par a, nous translations la frise de fa¸on r´p´t´e par L ou par −L jusqu’` ramener la
                                        c    e ee                            a
frise ` une distance (horizontale) de sa position originale qui soit a avec 0 ≤ a < L. Si
      a
0 < a < L, cette translation r´sultante, qui est aussi une sym´trie de la frise, est plus
                                e                                 e
                e                           e          e            e
petite que la p´riode, ce qui contredit la d´finition mˆme de la p´riode. Si a = 0, alors
a est un multiple entier de L, ce qui est aussi une contradiction. Les seules translations
                                e     e
possibles sont donc celles de l’´nonc´.

     Existe-t-il d’autres transformations de la forme
                                           A t
                                           0 1

  u                     e                 e                                        e
o` A est une matrice diff´rant de l’identit´, et t est non nul ? Le lemme qui suit r´pond
` cette question.
a

                           e                                         e
Lemme 2.10 Par une red´finition de l’origine, il est possible de r´duire la liste des
                                                                      t
transformations isom´triques d’un groupe de sym´trie de la forme ( A 1 ) avec t non nul
                    e                          e                   0
aux transformations de la forme
                                                               2.3 La classification     61
     ⎛           ⎞           ⎛                    ⎞                ⎛                 ⎞
              nL             1 0 L/2 + nL                           −1 0     L/2 + nL
      A                                                                              ⎠,
(i) ⎝          0 ⎠,    (ii) ⎝0 −1    0    ⎠            et    (iii) ⎝ 0 1         0
     0 0       1             0 0     1                               0 0         1

o` n ∈ Z et A est une des quatre matrices permises par le lemme 2.7. La forme (iii) ne
 u
     e      e
peut ˆtre pr´sente que si la rotation rh rv est aussi une sym´trie.
                                                             e

                               e                                        e     e
Preuve La condition d’isom´trie requiert que les longueurs soient pr´serv´es. Puisque
                                            `                                   e
la distance entre deux points est identique a celle entre leurs images par la mˆme trans-
                                                                                      e
lation, il faudra encore que la matrice A soit l’une des quatre matrices (2.3) trouv´es
au lemme 2.7. De plus, si ty = 0 dans
                                      ⎛          ⎞
                                        a b tx
                                      ⎝ c d ty ⎠ ,
                                        0 0 1

alors y = cx + dy + ty quittera la frise pour certains x et y. Pour le voir, notons d’abord
que l’image du carr´ [−1, 1] × [−1, 1] par chacune des quatre matrices A permises est le
                    e
     e      e
carr´ lui-mˆme. Toute translation avec ty = 0 m`nera cette image plus haut (si ty > 0)
                                                   e
ou plus bas que sa position originale et donc, en dehors de la frise. Donc, ty doit ˆtree
nul.
                               e
    Puisqu’un groupe de sym´trie contient les translations par un multiple entier de L
                                  e
le long de l’axe horizontal, la pr´sence de
                                       ⎛           ⎞
                                          a 0 tx
                                       ⎝0 d 0 ⎠
                                          0 0 1

dans le groupe implique la     e
                             pr´sence de
                  ⎛              ⎞⎛            ⎞ ⎛                  ⎞
                    1 0      nL     a 0     tx     a     0   tx + nL
                  ⎝0 1        0 ⎠ ⎝0 d      0 ⎠ = ⎝0     d      0 ⎠
                    0 0       1      0 0    1      0     0      1

pour tout n ∈ Z. De l’ensemble des ´l´ments de cette forme, un ´l´ment sera tel que
                                        ee                            ee
0 ≤ tx = tx + nL < L.
                                      e
     Nous devons maintenant consid´rer les quatre cas possibles pour A. Si A est l’iden-
   e
tit´, alors le lemme 2.9 force tx ` ˆtre nul, et la matrice devient du type (i).
                                   ae
     Soit A = rh . Alors, le carr´ de
                                 e
                                        ⎛           ⎞
                                                 tx
                                        ⎝  rh
                                                  0⎠
                                          0 0 1

     e    e
doit ˆtre ´galement dans le groupe de la frise. Or,
62                     ıques
       2 Frises et mosa¨
                            ⎛       ⎞2 ⎛                   ⎞
                             1 0 tx      1           0 2tx
                            ⎝0 −1 0 ⎠ = ⎝0           1 0 ⎠
                             0 0  1      0           0 1

est une translation et donc, il existe m ∈ Z tel que 2tx = mL. Puisque 0 ≤ tx < L,
on a que 0 ≤ 2tx < 2L. Si tx = 0, la partie translation est triviale. Sinon, il faut que
tx = L/2, et la transformation est
                                    ⎛            ⎞
                                      1 0 L/2
                                    ⎝0 −1     0 ⎠.                                  (2.5)
                                      0 0     1

    Restent les deux cas A = −1 −1 et A = −1 0 . Nous allons utiliser ici la libert´
                                 0
                                    0
                                                 0 1                                     e
                             e
du choix de l’origine. Consid´rons un changement de l’origine par une translation le long
                              e                                           e
de l’axe des x par la quantit´ a. La matrice de changement de coordonn´es est donn´e   e
par                                    ⎛           ⎞
                                         1 0 −a
                                   S = ⎝0 1 0 ⎠ .
                                         0 0 1
                         e                                               e
Si T est la matrice repr´sentant une transformation affine dans le syst`me de coor-
       e                                                    e                  e
donn´es (x, y) et S, la matrice permettant de passer du syst`me de coordonn´es (x, y)
                 e
au nouveau syst`me (x , y ), la mˆme transformation affine sera repr´sent´e dans le
                                   e                                  e      e
nouveau syst`me par la matrice ST S −1. Pour comprendre cette relation, il faut la
              e
lire de droite a gauche comme d’habitude. La matrice S −1 remet les nouvelles coor-
               `
       e
donn´es (x , y ) du point ´tudi´ dans le syst`me de coordonn´es original, la matrice T
                          e    e             e               e
         e                                         e                             e
qui repr´sente la transformation affine dans le syst`me original est alors appliqu´e et,
                         e                      e                e
finalement, les coordonn´es du point transform´ sont retransform´es dans le nouveau
     e                e     a a                                        e     e
syst`me de coordonn´es grˆce ` la matrice S. La transformation repr´sent´e dans le
     e
syst`me original par               ⎛              ⎞
                                     −1 0 tx
                                   ⎝ 0 ±1 0 ⎠                                     (2.6)
                                      0     0   1
sera alors       e    e
             repr´sent´e par la matrice
       ⎛             ⎞⎛               ⎞⎛        ⎞
         1     0 −a      −1 0 tx          1 0 a
       ⎝0      1 0 ⎠ ⎝ 0 ±1 0 ⎠ ⎝0 1 0⎠
         0     0 1        0     0   1     0 0 1
                          ⎛                ⎞⎛       ⎞ ⎛             ⎞
                            −1 0 tx − a       1 0 a     −1 0 tx − 2a
                        = ⎝ 0 ±1        0 ⎠ ⎝0 1 0⎠ = ⎝ 0 ±1    0 ⎠
                             0    0     1     0 0 1     0  0    1

                    e              e
dans le nouveau syst`me de coordonn´es. (Exercice : il est crucial de s’assurer que le
                  e              e       e                                 e
changement de syst`me de coordonn´es ne d´truit pas la forme des autres op´rations de
                                                                    2.3 La classification       63

                                                                     t
sym´trie. Montrer que les transformations repr´sent´es par ( A 1 ) avec A ´gal a ( 1 0 ) ou
     e                                               e    e                   e    ` 01
                                                                   0
a
` rh sont toujours repr´sent´es par les mˆmes matrices apr`s une translation horizontale
                          e    e             e                  e
de l’origine.) Si a est choisi ´gal a tx /2, alors la transformation repr´sent´e par (2.6) est
                               e    `                                    e    e
                  e     e
maintenant repr´sent´e dans le nouveau syst`me par e
                                        ⎛        ⎞
                                         −1 0 0
                                        ⎝ 0 ±1 0⎠                                           (2.7)
                                          0  0 1

qui est du type (i).
    Notons enfin que, si le groupe de la frise contient deux transformations de type (2.6)
avec tx1 , tx2 ∈ [0, L) distincts, alors le d´placement de l’origine assure que celle avec tx1
                                             e
      e
peut ˆtre mise sous la forme (2.7). La seconde transformation demeure de la forme (2.6)
avec tx2 remplac´ par tx2 = tx2 − tx1 . Si les deux transformations ont le mˆme A, alors
                   e                                                            e
leur composition sera une translation par tx2 , ce qui force tx2 ` ˆtre un multiple entier
                                                                    ae
de L. (Dans ce cas, le changement d’origine aura mis les deux transformations sous la
                                                 e
forme (i).) Si, cependant, le bloc A est diff´rent pour ces deux transformations, nous
pouvons supposer que la premi`re a un A = −1 −1 et qu’elle est donc une rotation
                                    e               0
                                                        0

rh rv de 180◦ . La composition des deux est alors
                                        ⎛        ⎞
                                         1 0 tx2
                                        ⎝0 −1 0 ⎠
                                         0 0  1

et, par les arguments pr´c´dents, tx2 doit ˆtre nL ou nL + L pour un certain entier n.
                         e e               e                 2
La seconde transformation est donc de la forme (i) si tx2 est un multiple entier de L ou
de la forme (iii) sinon.


                      e
    Les deux premi`res formes permises par le lemme 2.10 sont donc (i), soit la com-
position d’une transformation lin´aire (lemme 2.7) et d’une translation tnL par un
                                      e
multiple entier de la p´riode L (ii), soit la composition de la sym´trie gliss´e sg et
                          e                                                e          e
d’une translation tnL . La troisi`me forme, (iii), ne peut ˆtre pr´sente que si rh rv l’est
                                   e                            e     e
e
´galement, et alors, il est possible d’utiliser rh rv et l’isom´trie de la forme (ii) (avec
                                                                  e
                   e e
n = 0) comme g´n´rateurs. Les trois lemmes montrent qu’il est possible d’engendrer
le groupe de sym´trie de toute frise ` l’aide des cinq g´n´rateurs tL , rh , rv , rh rv , sg . Ils
                   e                     a                   e e
 e                a                           e               a
r´pondent donc ` une des questions laiss´es en suspens ` la fin de la section 2.1.
    Les lemmes ci-dessus permettent maintenant de terminer la classification des groupes
        e                      e                           `
de sym´trie des frises et de r´pondre par l’affirmative a la question que nous nous ´tions  e
    e                                                                   e        e e
pos´e : est-il possible de classifier les frises selon l’ensemble des op´rations g´om´triques
                          e                                                        e
qui les laissent inchang´es ? Dans chaque cas, pour donner le groupe de sym´trie d’une
                e                               e e
frise, nous sp´cifierons un ensemble de g´n´rateurs. Nous rappelons formellement la
  e                              e e
d´finition d’un ensemble de g´n´rateurs.
64                       ıques
         2 Frises et mosa¨

D´finition 2.11 Soit {a, b, . . . , c} un sous-ensemble d’un groupe G. Cet ensemble est
  e
                 e e                           e
un ensemble de g´n´rateurs de G, et alors on ´crit a, b, . . . , c = G, si G est l’ensemble
de toutes les compositions d’un nombre fini d’´l´ments de {a, b, . . . , c} et de leurs in-
                                                 ee
verses.

   e e                                                               e
Th´or`me 2.12 (classification des groupes des frises) Le groupe de sym´trie
d’une frise est l’un des sept suivants :
1. tL
2. tL , rv
3. tL , rh
4. tL , sg
5. tL , rh rv
6. tL , sg , rh rv
7. tL , rh , rv
                   e                         e e                    e
Ces groupes sont d´crits par un ensemble de g´n´rateurs et sont donn´s dans l’ordre des
frises apparaissant aux figures 2.1 et 2.2.

            e
Preuve D´signons par tL la translation par L le long de l’axe horizontal. Tous les
                                                                         e
groupes contiendront les translations par un multiple entier de L, la p´riode de la frise
e     e                            e                              e e
´tudi´e. Par un choix appropri´ de l’origine, les seuls autres g´n´rateurs des groupes
de sym´trie seront les transformations lin´aires d´crites par A = rh , rv ou rh rv et
        e                                      e      e
la sym´trie gliss´e sg du lemme 2.10. Notons que, si un groupe poss`de deux des
        e        e                                                          e
         e
trois op´rations rh , rv et rh rv , il poss`de automatiquement les trois. (Les op´rations
                                           e                                     e
         e
de sym´trie forment un groupe !) La liste de toutes les combinaisons possibles de
  e e                                                   e    e
g´n´rateurs contient donc les sept qui figurent dans l’´nonc´ ainsi que
8. tL , sg , rh
9. tL , sg , rv
10. tL , sg , rh , rv
                                                  a
(Revoir au besoin la description de cette liste ` la fin de la section 2.1.) Pour le cas
                                        e e
8, notons que l’existence parmi les g´n´rateurs de sg = tL/2 rh et rh implique que le
groupe contiendra ´galement leur produit (tL/2 rh ) × rh = tL/2 (rh ) = tL/2 , c’est-`-dire
                      e                                               2
                                                                                        a
                              2
la translation par L/2 (car rh = Id), ce qui contredit le fait que la frise est p´riodique de
                                                                                 e
  e                                       e        e                    ea
p´riode (minimale) L. Ce cas doit donc ˆtre rejet´. (Nous avions d´j` fait cet argument
a
` la fin de la section 2.1.)
    Pour le cas 9, notons que le produit des g´n´rateurs sg = tL/2 rh et rv est de la
                                                 e e
forme tL/2 rh rv examin´e dans le lemme 2.10. Par translation de l’origine (par a = L ),
                          e                                                                4
                   e
ce produit peut ˆtre mis sous la forme (2.7) avec A = rh rv . Un calcul simple montre que
les g´n´rateurs tL et sg demeurent inchang´s par cette translation, mais que rv devient
     e e                                      e
tL/2 rv . Ainsi, le sous-groupe 9 peut ˆtre ´galement engendr´ par tL , sg , tL/2 rv , rh rv .
                                       e    e                   e
                                                                              ıques
                                                                      2.4 Mosa¨           65

                   e e                         `
Trois de ces g´n´rateurs appartiennent a la liste engendrant le cas 6 alors que le qua-
    e        e e
tri`me g´n´rateur (tL/2 rv ) est simplement le produit de sg = tL/2 rh et de rh rv . Donc,
le cas 9 est identique au cas 6, et nous pouvons l’omettre.
                                                 e e                                ae
     Le dernier cas, 10, contient parmi ses g´n´rateurs ceux du cas 8 et est donc ` ´liminer
              e
pour la mˆme raison.
                                 e                                    e      e
     Ainsi, le groupe de sym´trie d’une frise est l’un des sept de l’´nonc´. Y a-t-il des re-
dondances dans cette liste ? Non, et la liste de la figure 2.2 permet de nous en convaincre.
      e                                                                       `
La d´monstration est quelque peu fastidieuse, et nous la restreindrons a la frise 4 dont
                                     e                                 e e
le groupe est tL , sg . La premi`re observation est que les deux g´n´rateurs tL et sg du
                                  e
sous-groupe 4 sont des sym´tries de cette frise. Le groupe qu’ils engendrent est donc un
                                    e                                         e e
sous-groupe du groupe de sym´trie de la frise 4. Peut-on ajouter des g´n´rateurs a ces  `
         a                                                                        e
deux-l` ? Un rapide coup d’œil montre qu’aucun ajout (parmi les possibilit´s restantes
rh , rv , rh rv ) n’est possible. Donc, tL , sg est bien le groupe de sym´trie de la frise 4.
                                                                           e
Enfin, puisque le groupe 1 est distinct du groupe 4 et que les cinq autres groupes de
l’´nonc´ poss`dent au moins un des g´n´rateurs rh , rv ou rh rv que le groupe 4 n’a pas,
  e        e      e                        e e
                                                   e e
le groupe 4 est distinct des six autres. En r´p´tant cet argument pour les autres paires
                                                        e      e
frise / sous-groupe, on se convainc que la liste de l’´nonc´ est exhaustive et ne contient
pas de redondance.



        ıques
2.4 Mosa¨
    Les mosa¨  ıques sont aussi populaires, sinon plus, que les frises en architecture.
Une mosa¨                                                                 e
            ıque sera pour nous un patron remplissant le plan, qui poss`de deux direc-
tions lin´airement ind´pendantes de p´riodicit´. Ainsi, il existe deux vecteurs t1 et t2
          e             e               e        e
   e              e
lin´airement ind´pendants le long desquels une translation de la mosa¨   ıque la laisse in-
       e
chang´e.
    Comme pour les frises, les mosa¨                e    e   e     a            e
                                     ıques peuvent ˆtre ´tudi´es grˆce aux op´rations de
     e                           e
sym´trie qui les laissent inchang´es. Et, comme pour les groupes des frises, il est possible
de classifier les groupes de mosa¨       `
                                 ıques. A cause de leur importance en physique et dans la
chimie des cristaux, ils portent le nom de groupes cristallographiques. Il y a 17 groupes
cristallographiques. Nous n’obtiendrons pas cette classification. Notre travail se limitera
ae       e                                                           e
` ´num´rer les rotations pouvant intervenir dans les groupes de sym´trie des mosa¨    ıques
   `
et a comprendre la description de la classification.

                                          ı           e
Lemme 2.13 Les rotations laissant une mosa¨que inchang´e font partie des rotations
d’angle π, 2π , π et π .
            3 2      3


Preuve Soit un point O d’une mosa¨     ıque qui est le centre d’une rotation laissant la
mosa¨ıque inchang´e. Soit θ = 2π le plus petit angle de rotation en ce centre. Puisque
                   e            n
la mosa¨          e                                 e            e
        ıque est p´riodique dans deux directions lin´airement ind´pendantes, il existera
une infinit´ de points poss´dant la mˆme propri´t´. Soit f un vecteur joignant O ` un
           e               e         e           ee                                a
66                     ıques
       2 Frises et mosa¨




              Fig. 2.5. Le point O et deux de ses images A, B par translation


point A parmi les points les plus proches de O qui peuvent ˆtre obtenus de O par des
                                                                e
translations laissant la mosa¨              e
                              ıque inchang´e. La translation le long de f appartient donc
au groupe de la mosa¨   ıque.
    En faisant tourner la mosa¨   ıque autour de O de l’angle θ, on obtient un point B,
et le vecteur f joignant O ` B est le vecteur d’une translation qui est ´galement une
                              a                                              e
sym´trie de la mosa¨
     e                ıque (figure 2.5). (Exercice : pourquoi ?) La distance entre B et A
est la longueur du vecteur f − f et, puisque f − f est ´galement une translation laissant
                                                        e
la mosa¨              e                           e                     e      `
         ıque inchang´e, cette distance doit donc ˆtre plus grande ou ´gale a la longueur
de f par hypoth`se. (A est une des images par translation de O les plus proches de
                  e
O.) Puisque f et f sont de mˆme longueur, il faut donc que l’angle θ = 2π soit plus
                                 e                                               n
grand ou ´gal a 2π = π , c’est-`-dire a 60◦ . En effet, π est l’angle qui est tel que f , f et
           e    ` 6      3      a      `               3
f − f soient tous les trois de mˆme longueur. Ce premier argument restreint les angles
                                  e
possibles ` 2π = π, 2π , 2π = π , 2π et 2π = π .
           a 2         3   4    2   5     6    3
    La valeur 2π ne peut cependant pas ˆtre l’angle d’une rotation d’une mosa¨
                5                           e                                      ıque. La
figure 2.6 montre f et son image f par une rotation de 4π . La translation le long de f +f
                                                          5
                    e
sera aussi une sym´trie, mais elle est plus courte que f , ce qui est une contradiction. Il
faut donc rejeter cet angle.


          ee                                                           `
     Les ´l´ments des groupes cristallographiques sont semblables a ceux que l’on re-
                                                            e                e          e
trouve dans les groupes de frises : les translations, les r´flexions, les sym´tries gliss´es
           e
(telle l’op´ration sg pour les frises) et les rotations. Plutˆt que de dresser une liste de
                                                             o
  e e
g´n´rateurs pour les 17 groupes cristallographiques, nous reproduisons, aux figures 2.17
` 2.22 (p. 78 et suivantes), des exemples de chacun et de leurs sym´tries. Pour chaque
a                                                                      e
                    `
groupe, on trouve a gauche une mosa¨                          e
                                         ıque avec un parall´logramme indiquant par ses
   e                                      e              e
arˆtes deux vecteurs de translation lin´airement ind´pendants. Ces deux vecteurs ont
ee                            e                                   e             `
´t´ choisis pour que le parall´logramme couvre la plus petite r´gion du plan a partir de
                                                                                ıques
                                                                        2.4 Mosa¨          67




                                                                   2π
                         Fig. 2.6. Le cas d’une rotation d’angle    5




                                                                       e
laquelle il est possible de couvrir le plan par translation. Cette r´gion n’est pas unique.
                      `                  e
Nous reproduisons a sa droite cette mˆme mosa¨                       a
                                                     ıque, en plus pˆle, sur laquelle nous su-
                                e                    e          e
perposons les rotations, les r´flexions et les sym´tries gliss´es qui font partie du groupe
de la mosa¨                        e
             ıque. Enfin, dans la l´gende, le symbole international du groupe associ´ est e
      e                                         e
donn´ [4]. Voici la liste des conventions utilis´es. Un trait plein indique un miroir (un axe
         e                             e                    e         e
de sym´trie). Une droite en pointill´ indique une sym´trie gliss´e. Les autres symboles
        e                                                                          e
sont d´finis ainsi. Lorsqu’un centre de rotation tombe hors d’un axe de sym´trie, nous
utilisons les symboles suivants :
  pour le centre d’une rotation d’angle π,
                                            2π
   pour le centre d’une rotation d’angle     3 ,
                                            π
   pour le centre d’une rotation d’angle    2,
                                                          π
et un hexagone pour le centre d’une rotation d’angle      3.
                                                           e
Lorsque le centre de rotation tombe sur un axe de sym´trie, les symboles pleins ( , ,
                  e                         e
etc.) sont utilis´s ; la rotation est du mˆme angle que le symbole vide correspondant.
                                 e
    L’Alhambra, ancienne cit´ du gouvernement des princes arabes de Grenade, au sud
de l’Espagne contemporaine, contient des mosa¨               e
                                                   ıques qui ´tonnent, tant par leur nombre
                          e                   e       a
que par leur complexit´. On a longtemps d´battu ` savoir si les 17 groupes de mosa¨     ıques
  e             e     e                 e
y ´taient repr´sent´s. Des travaux r´cents [3] montrent cependant que ce n’est pas le
cas. Mais on peut se demander si les architectes maures avaient reconnu la possibilit´      e
d’une telle classification.
                             e            e
    La formulation des d´finitions pr´cises des frises et des mosa¨      ıques a permis aux
      e                                                                          ee
math´maticiens d’explorer de nouvelles structures en omettant certains des ´l´ments de
      e                            e
ces d´finitions. Les pavages ap´riodiques sont un exemple de ces nouvelles structures.
           e
Une premi`re exigence des mosa¨                                                    a
                                     ıques est qu’elles remplissent le plan, c’est-`-dire que
68                     ıques
       2 Frises et mosa¨




                               Fig. 2.7. Les tuiles de Penrose




                                             e
                       Fig. 2.8. Un pavage ap´riodique de Penrose



les r´p´titions du patron couvrent tous les points de R2 sans laisser d’interstices et
     e e
                                                                           e
sans chevauchement. Cette exigence est maintenue pour les pavages ap´riodiques. Par
exemple, il est possible de paver le plan R2 avec les deux tuiles de la figure 2.7 dues
a                 e                                 e
` Penrose [4]. Mˆme s’il est possible de paver p´riodiquement le plan avec ces tuiles,
                                                         e                           a
il est aussi possible de le faire sans qu’il y ait de sym´trie de translation, c’est-`-dire
   e                      `                                               e
ap´riodiquement. Voici, a la figure 2.8, un fragment d’un tel pavage ap´riodique. Peut-
e
ˆtre retrouverons-nous un jour ces nouvelles structures en architecture. . . (D’autres
                    e                                                   e
tuiles, introduites ´galement par Penrose avant celles qui sont illustr´es ci-contre, per-
                         e                                e
mettent des pavages ap´riodiques, mais aucun pavage p´riodique !)
                                                                          2.5 Exercices       69

2.5 Exercices


1. On    dit que deux op´rations de sym´trie a, b ∈ E commutent si ab = ba.
                          e              e
   a)                       e
         Est-ce que les op´rations de translation commutent ?
   b)    Est-ce que rh , rv et rh rv commutent entre elles ?
   c)    Est-ce que rh , rv et rh rv commutent avec les translations ?

                                                        e
2. Trouver les conditions pour qu’une transformation lin´aire
                                     ⎛         ⎞
                                        a b 0
                                     ⎝ c d 0⎠
                                        0 0 1

     et une translation                     ⎛         ⎞
                                             1    0 p
                                            ⎝0    1 q⎠
                                             0    0 1
     commutent entre elles.




                               Fig. 2.9. La frise de l’exercice 3

3.                                                   e
     a) Indiquer sur la frise de la figure 2.9 la p´riode L du patron.
     b) Lesquelles des transformations tL , rh , sg , rv , rh rv laissent la frise invariante ?
                                   e
     c) Quel est le groupe de sym´trie de cette frise parmi les sept groupes de frises ?
     d) Ajouter un point par p´riode ` la frise de fa¸on ` r´duire le groupe a tL et a
                                e      a                   c a e                      `         `
                        e
     ne pas changer la p´riode.

4.
                                      e
     a) Les frises sont souvent utilis´es en architecture. Le livre [5] en donne des
                          e
     exemples fameux. D´terminer auquel des sept groupes de frise appartiennent
     quelques-uns des exemples qui s’y trouvent.
                                 e e
     b) L’artiste M. Escher a r´alis´ beaucoup de mosa¨   ıques remarquables. Le livre
                                             e
     [6] en rassemble un nombre important. D´terminer auquel des groupes cristallogra-
                          `
     phiques (figures 2.17 a 2.22) appartiennent quelques-unes des mosa¨ıques d’Escher.

5.                                   e
     a) Identifiez le groupe de sym´trie de la frise de la figure 2.10.
                                               e                        e
     b) En retirant deux triangles de chaque p´riode de la frise propos´e en a), construi-
                                        e
     sez une frise dont le groupe de sym´trie est le groupe 5 de la classification.
70                     ıques
       2 Frises et mosa¨




                               Fig. 2.10. Frise pour l’exercice 5

     e                  e     e                                              e
6. D´montrer les trois ´nonc´s de la proposition 2.1. Suggestion : on peut d´montrer
             ee                                  e e
   ces propri´t´s en se servant seulement de la g´om´trie euclidienne ou en utilisant la
       e                                                                       e
   repr´sentation matricielle des transformations affines. Explorer les deux m´thodes.

                                              e a
7. a) Soient m1 et m2 deux droites parall`les ` une distance d, et soient rm1 et rm2
        e                    `
   les r´flexions par rapport a ces droites. Montrer que la composition rm2 rm1 est une
   translation d’une distance 2d dans la direction perpendiculaire aux droites (miroirs)
                             e              e     ea               e e
   m1 et m2 . Suggestion : d´montrer cet ´nonc´ ` l’aide de la g´om´trie euclidienne
                    a                           `               e
   seulement, c’est-`-dire sans avoir recours a des coordonn´es. L’utilisation de la
   distance (ou de la longueur d’un segment) est permise.
                          e                           e
   b) Soit une frise de p´riode L invariante sous la r´flexion rv par un miroir vertical.
                       e                                e
   Montrer qu’elle est ´galement invariante sous une r´flexion par un miroir vertical ` a
   distance L du premier. Suggestion : ´tudier la composition de la r´flexion et de la
             2                           e                             e
   translation tL .

8. Soient m1 et m2 deux droites s’intersectant en un point P , et soient rm1 et rm2
        e                     `
   les r´flexions par rapport a ces droites. Montrer que la composition rm2 rm1 est une
   rotation de deux fois l’angle entre les miroirs m1 et m2 et de centre P . Suggestion :
   soit Q un point hors des droites m1 et m2 . D´montrer d’abord que les images rm1 Q
                                                  e
   et Q = rm2 rm1 Q sont sur le cercle de centre P et de rayon |P Q|. Il faudra alors
   ´tudier les angles que font les segments P Q et P Q avec une droite donn´e, par
   e                                                                             e
   exemple m1 .

                                                            e
9. Le but de cet exercice est de montrer qu’une isom´trie est la composition d’une
                      e
   transformation lin´aire et d’une translation et donc, une transformation affine. (Une
             e             e            e                                   e
   de ces op´rations peut ˆtre l’identit´.) Rappel : une transformation lin´aire du plan est
   une fonction T : R2 → R2 satisfaisant aux deux conditions : (i) T (u+v) = T (u)+T (v)
   et (ii) T (cu) = cT (u) pour tous les points u, v ∈ R2 et toute constante c ∈ R.
   a) Montrer qu’une isom´trie T : R2 → R2 pr´serve les angles. Suggestion : choisir
                              e                      e
                                   e
   trois points P, Q, R non colin´aires. Si P , Q , R sont leurs images respectives par
   T , montrer que les triangles P QR et P Q R sont congruents.
   b) Montrer qu’une translation est une isom´trie. e
                                   e
   c) Montrer que, si une isom´trie S n’a pas de point fixe et que S(P ) = Q, alors
                         u                               e                 e
   la composition T S o` T est la translation qui am`ne Q sur P poss`de au moins un
   point fixe.
                        e
   d) Soit S une isom´trie ayant au moins un point fixe O. Soit P, Q, R choisis tels que
   OP QR soit un parall´logramme. Soient P , Q , R leur image par S. Montrer que la
                          e
   somme des vecteurs OP et OR est OQ . (Donc, S(OP + OR) = S(OP ) + S(OR).)
                                                                           2.5 Exercices   71

                           e
    e) Soit S une isom´trie ayant un point fixe O, et soient P et Q deux points
                                                                 e
    distincts, et distincts de O, tels que O, P et Q soient colin´aires. Montrer que

                                               |OP |
                                    S(OP ) =         S(OQ).
                                               |OQ|

                                   e                                      e
    f ) En conclure que toute isom´trie du plan est une transformation lin´aire suivie
                                                                              e
    d’une translation et donc, une transformation affine. (Une de ces deux op´rations
         e             e
    peut ˆtre l’identit´.)

                                           e
10. a) Le patron de la figure 2.11 poss`de une ellipse le long de l’axe des x centr´e    e
    en (2i , 0). En ce point, les axes principaux de l’ellipse sont rx = 2i−2 , ry = 1. Ce
    patron est donc dessin´ dans la demi-bande infinie (0, ∞)×[− 2 , 1 ]. Ce patron n’est
                            e                                        1
                                                                       2
                                         e
    pas une frise puisqu’il n’est pas p´riodique. Sauriez-vous remplacer la condition
         e         e
    de p´riodicit´ par une autre condition d’invariance pour que ce patron soit une
    « frise » ?
                        e
    b) Sauriez-vous ´crire la transformation qui envoie une ellipse sur sa voisine
         e                     e
    imm´diate ? Est-elle lin´aire ? L’ensemble de ces transformations forme-t-il un
    groupe ?




                                                 e
             Fig. 2.11. Un patron qui n’est pas p´riodique (voir l’exercice 10)


                          e
11. Soit r > 1 un nombre r´el et




                     Fig. 2.12. Une frise annulaire (voir l’exercice 11)
72                     ıques
       2 Frises et mosa¨

                                                  1
                          Ar =    (x, y) ∈ R2       ≤       x2 + y 2 ≤ r ,
                                                  r

     l’anneau centr´ ` l’origine du plan et d´limit´ par les cercles de rayon r et 1 .
                   ea                        e     e                               r
     a) Montrer que l’ensemble Ar est invariant sous les rotations
                                         cos θ    − sin θ
                                         sin θ     cos θ
     pour tout θ ∈ [0, 2π). (L’invariance de Ar signifie que la restriction ` Ar de la
                                                                              a
                    e     e
     transformation ´tudi´e, ici la rotation, est inversible et que l’image de Ar par la
     transformation est exactement Ar .)
     b) Soit la transformation R2 \ {(0, 0)} → R2 \ {(0, 0)} d´finie par
                                                                 e
                                               x
                                         x =        ,
                                               + y2
                                                 x2
                                               y
                                         y = 2      .
                                            x + y2
     Cette transformation est appel´e inversion. Montrer que Ar est invariant sous
                                       e
     cette transformation. Montrer que A2 est l’identit´. Est-ce que l’inversion est une
                                             r            e
                         e
     transformation lin´aire ?
                               e
     c) La figure 2.12 repr´sente une frise annulaire peinte sur un anneau Ar . La
                         e
     courbe en pointill´ est le cercle de rayon 1. Contrairement aux frises introduites
        e e                                            e
     pr´c´demment, les frises annulaires sont born´es. Il est facile de faire une corres-
                              e                                            e
     pondance entre les sym´tries des frises de la section 2.2 et les sym´tries possibles
     d’une frise annulaire. Les translations des frises deviennent les rotations des frises
                                                                        e
     annulaires, et le miroir rh devient l’inversion introduite en b). D´finir, pour la frise
     annulaire, la transformation correspondant au miroir rv . Nous nommerons cette
                                   e                          e
     nouvelle transformation la r´flexion. Est-ce que la r´flexion est une transforma-
             e                   e e                                           e
     tion lin´aire ? (Comme pr´c´demment, cette transformation ne peut ˆtre d´finie    e
            e
     qu’apr`s le choix d’une origine. Il vous faudra choisir un point particulier de Ar
     par lequel faire passer le miroir.)
          `                    e e                                  e
     d) A l’aide des trois g´n´rateurs rotation, inversion et r´flexion, construire un
                     e e                                  e
     ensemble de g´n´rateurs pour le groupe de sym´trie de la frise annulaire de la
     figure 2.12.

                                    e e
12. a) Cet exercice poursuit le pr´c´dent. Soit n le plus grand entier tel que la rotation
    d’une frise annulaire peinte sur Ar soit invariante sous une rotation d’angle 2π .  n
    On supposera n ≥ 2. Faites la classification des groupes de sym´tries des frises
                                                                         e
                                 e                                 e
    annulaires pour un n donn´. Est-ce que cette classification d´pend de n ?
                                                 ee
    b) L’ordre d’un groupe est le nombre d’´l´ments dans un groupe. L’ordre des
                     e
    groupes de sym´tries des frises est infini, mais celui des groupes des frises annu-
    laires est fini. Calculer l’ordre des groupes que vous avez obtenus en a).

     e
13. D´terminer auquel des 17 groupes des mosa¨ ıques (groupes cristallographiques) ap-
                                  e                 a
    partiennent les pavages archim´diens reproduits ` la figure 2.13. (Certains pavages
                                                     2.5 Exercices   73




                             e
Fig. 2.13. Les pavages archim´diens (voir l’exercice 13)
74                     ıques
       2 Frises et mosa¨

                                       e                               e
      pourraient correspondre au mˆme groupe.) Un pavage archim´dien est un pavage
                        e                  e
      du plan constitu´ de polygones r´guliers tels que chaque sommet est du mˆme      e
                                                    e
      type. Pour que deux sommets soient du mˆme type, il faut que les polygones qui
                                     e
      s’y rencontrent soient les mˆmes aux deux sommets et qu’ils apparaissent dans
           e                                                          e
      le mˆme ordre si on tourne autour des sommets dans le mˆme sens ou dans le
                                                                               e
      sens inverse. Il peut arriver que l’image miroir d’un pavage ne puisse ˆtre obtenue
      par translation et rotation du pavage original. Si on confond un pavage et son
      image miroir (lorsqu’elle est distincte), il existe exactement 11 familles de pavages
             e
      archim´diens. L’image miroir est distincte du pavage original pour une seule de
      ces familles. Pourriez-vous l’identifier ?

14.                e                                     e
       Un petit d´fi : la classification des pavages archim´diens (voir l’exercice 13).
             e                          e       `    o e                e
      a) D´notons par n le polygone r´gulier a n cˆt´s. Ses angles int´rieurs sont tous
                (n−2)π
      e       `
      ´gaux a n . (Le montrer !) Soit un pavage archim´dien, et soit (n1 , n2 , . . . , nm )
                                                           e
      la liste des m polygones se rencontrant en un sommet de ce pavage. La somme des
                                 e
      angles en ce sommet doit ˆtre 2π et donc,

                               (n1 − 2)π   (n2 − 2)π        (nm − 2)π
                        2π =             +           + ···+           .
                                   n1          n2              nm
                                         e
      Par exemple, pour le pavage archim´dien de la figure 2.14, les polygones qui se
                                    e      e                                            e e
      rencontrent en un sommet sont ´tiquet´s par la liste (4, 3, 3, 4, 3) et, tel que d´sir´,

                 (4 − 2)π (3 − 2)π (3 − 2)π   (4 − 2)π   (3 − 2)π
                         +        +         +          +          = 2π.
                     4        3        3          4          3
      ´     e
      Enum´rer toutes les listes (n1 , n2 , . . . , nm ) de polygones se rencontrant en un som-
             e
      met. R´ponse partielle : il y en a 17 si on ne distingue pas deux listes ne diff´rant  e
                                  ee
      que par l’ordre de leurs ´l´ments.
                                                              e
      b) Pourquoi la liste de polygones (5, 5, 10) ne d´finit-elle pas un pavage du plan ?
                          ee                 e      e                         e
      c) Pour tous les ´l´ments de l’´num´ration obtenue en a), v´rifier si l’ensemble
      des polygones (n1 , n2 , . . . , nm ) en un sommet permet d’engendrer un pavage du
      plan. Attention : l’ordre des ´l´ments dans la liste (n1 , n2 , . . . , nm ) est important !
                                        ee

           e                                         e
15. Un d´fi : la classification des pavages archim´diens sur la sph`re.  e
                          e     e          e e                       e            e
        A chaque poly`dre r´gulier (le t´tra`dre, le cube, l’octa`dre, l’icosa`dre et le
         e e                               e                 e
    dod´ca`dre) correspond un pavage r´gulier de la sph`re. Cette correspondance se
    fait comme suit :
       • le poly`dre est centr´ en l’origine. Les distances entre l’origine et les sommets
                   e             e
                            e                 e        e
           sont alors les mˆmes, et on consid`re la sph`re passant par tous ces sommets ;
       • on joint par des arcs de grands cercles sur la sph`re deux sommets du poly`dre
                                                            e                           e
               e              e
           reli´s par une arˆte.
         e                              e    e e                                      e
    Le r´sultat est le pavage de la sph`re d´sir´. (Cette correspondance est aussi d´crite
    dans la section 15.8.) La figure 2.15 montre cette construction pour l’icosa`dre.   e
                                  e                                 e         e
    Cette construction peut ˆtre faite chaque fois qu’un poly`dre poss`de tous ses
                                                                         2.5 Exercices      75




                                            e
Fig. 2.14. Un zoom sur un des pavages archim´diens (voir l’exercice 14). La liste des polygones
                                 e e
se rencontrant en un sommet est d´not´e par (4, 3, 3, 4, 3).




                          e                          e
       Fig. 2.15. Un icosa`dre et le pavage de la sph`re correspondant (exercice 15).


                                  e                                            e
      sommets sur une sph`re. (On dit qu’il est inscrit dans la sph`re.) C’est le cas
                e                e
      des poly`dres archim´diens : toutes leurs faces sont des polygones r´guliers dee
        e        e                                       e                   e
      mˆme arˆte, et tous les sommets ont les mˆmes polygones. Mˆme si les poly`dres      e
      r´guliers, dits platoniques, respectent ces conditions, on restreint l’adjectif « ar-
       e
      chim´dien » aux poly`dres dont les faces contiennent au moins deux types de
           e                      e
                                                       e           e
      polygones distincts. Un exemple de poly`dre archim´dien est le ballon de soccer
                e             e                                                `
      ou icosa`dre tronqu´ (figure 2.16). Chaque sommet appartient a deux hexagones
         `                              e
      et a un pentagone. On le d´notera donc par (5, 6, 6). La classification des pavages
              e                    e        e
      archim´diens de la sph`re se d´compose en trois listes : les prismes, les antiprismes
      et les 13 pavages exceptionnels. (Certains auteurs n’accordent le nom de pavage
                          e              a
      (ou solide) archim´dien qu’` ces 13 derniers.)
      a) La liste (n1 , n2 , . . . , nm ) des polygones se rencontrant en un sommet du poly`dre
                                                                                           e
      doit remplir deux conditions simples. Pour que chaque sommet soit convexe (et non
                                                                    e
      plan), il faut que la somme des angles internes soit inf´rieure ` 2π :a
76                       ıques
         2 Frises et mosa¨




                        e          e                       e
     Fig. 2.16. Un icosa`dre tronqu´ et le pavage de la sph`re correspondant (exercice 15).


                                              m
                                                    ni − 2
                                          π                < 2π.
                                              i=0
                                                      ni

                          e                                                     e e
        C’est la premi`re condition. La seconde repose sur le th´or`me de Descartes.
        Chaque sommet du poly`dre porte un d´ficit d’angle d´fini par Δ = 2π−π i (ni −
                                   e                  e                 e
                        e e                                                      e
        2)/ni . Le th´or`me de Descartes affirme que la somme des d´ficits en chacun des
                            e         e e         `
        sommets du poly`dre doit ˆtre ´gale a 4π. Puisque tous les sommets d’un poly`dre      e
                 e
        archim´dien sont identiques, il faut donc que 4π/Δ, qui est le nombre de sommets,
                                                                e
        soit un entier. Ceci est la seconde condition. V´rifier que le ballon de soccer satis-
             a
        fait ` ces deux conditions. (Nous verrons en d) qu’elles ne sont pas suffisantes.)
                                        e           e
        b) Un prisme est un poly`dre poss´dant deux faces polygonales identiques et
               e            e                                    e                 e
        parall`les. Les arˆtes de ces deux faces sont reli´es par des carr´s. Ils forment une
        famille infinie et sont d´not´s par (4, 4, n), n ≥ 3. Convainquez-vous que tous
                                    e e
                               e
        les sommets sont d´crits par la liste (4, 4, n) et dessinez un prisme, par exemple
                      e                                                      e
        (4, 4, 5). V´rifiez que la liste (4, 4, n) passe les deux tests d´crits en a) quel que soit
                                                              e                a
        n. (Lorsque n est assez grand, la forme est tr`s semblable ` celle d’un tambour.)
                                           e            e                           e a
        c) Un antiprisme est un poly`dre poss´dant deux faces parall`les ` n cˆt´s. La    o e
        seconde face est tourn´e d’un angle π par rapport a la premi`re, de telle sorte
                                 e                  n                  `            e
                     e                                  e         e                   e     e
        que les arˆtes de ces deux faces puissent ˆtre reli´es par des triangles ´quilat´raux.
        Les antiprismes forment une famille infinie et sont d´not´s par (3, 3, 3, n), n ≥ 4.
                                                                       e e
          e                                 e
        R´pondre aux questions soulev´es ci-dessus pour les prismes.
                                                                            e
        d) Montrer que la liste (3, 4, 12) passe les deux tests d´crits en a). Pourtant, il
                                                 e        e        `
        est impossible de construire un poly`dre r´gulier a partir de cette liste. Pourquoi ?
                                                                          e             `
        Indice : commencer par rassembler un triangle, un carr´ et un polygone a 12 cˆt´s     o e
                   e                                                 e
        (un dod´cagone) en un de leurs sommets. Consid´rer alors les autres sommets
                                                            e
        de ces trois faces. Est-il possible que la mˆme configuration de trois polygones
                e
        impos´e par la liste (3, 4, 12) s’y retrouve ? (Ceci est la question la plus difficile de
        cette classification !)
                                                              e
        e) Montrer qu’il existe 13 pavages archim´diens de la sph`re (ou encore 13 e
             e               e
        poly`dres archim´diens) n’appartenant pas aux listes des prismes et des anti-
        prismes. (Le ballon de soccer est l’un de ces 13 pavages.)
                                                                     2.5 Exercices     77

16.              e                                    ıques, c’est-`-dire la classification
      Un grand d´fi : obtenir la classification des mosa¨            a
      des groupes cristallographiques (figures 2.17–2.22).
78                       ıques
         2 Frises et mosa¨




     Fig. 2.17. Les 17 groupes cristallographiques. De haut en bas : les groupes p1, pg, pm.
                                                                          2.5 Exercices      79




Fig. 2.18. Les 17 groupes cristallographiques (suite). De haut en bas : les groupes cm, p2, pgg.
80                     ıques
       2 Frises et mosa¨




Fig. 2.19. Les 17 groupes cristallographiques (suite). De haut en bas : les groupes pmg, pmm,
cmm.
                                                                       2.5 Exercices      81




Fig. 2.20. Les 17 groupes cristallographiques (suite). De haut en bas : les groupes p3, p31m,
p3m1.
82                     ıques
       2 Frises et mosa¨




Fig. 2.21. Les 17 groupes cristallographiques (suite). De haut en bas : les groupes p4, p4g,
p4m.
                                                                       2.5 Exercices      83




Fig. 2.22. Les 17 groupes cristallographiques (suite). De haut en bas : les groupes p6, p6m.
 ee
R´f´rences




[1] Bravais, A. « M´moire sur les syst`mes form´s par des points distribu´s r´guli`rement sur
                   e                  e          e                        e e       e
    un plan ou dans l’espace », Journal de l’Ecole Polytechnique, 1850, vol. 19, p. 1–128.
                                             ´
[2] Coxeter, H. S. M. Introduction to geometry, New York, Wiley, 1969.
[3] Gr¨nbaum, B., Z. Gr¨nbaum et G. C. Shephard. « Symmetry in Moorish and other orna-
      u                 u
    ments », Computers and Mathematics with Applications, 1985, vol. 12, p. 641–653.
[4] Gr¨nbaum, B. et G. C. Shephard. Tilings and patterns, New York, W. H. Freeman, 1987.
      u
[5] Arabic Art in Color, ´dit´ par Prisse d’Avennes, Dover, 1978. (Ce livre pr´sente quelques
                          e e                                                 e
    reproductions de l’œuvre monumentale de Prisse d’Avennes, « L’art arabe d’apr`s les mo-
                                                                                     e
    numents du Kaire depuis le VIIe si`cle jusqu’` la fin du XVIIe si`cle », qu’il r´alisa entre
                                        e         a                 e              e
                                 e         a
    1869 et 1877 et qui fut publi´ en 1877 ` Paris par Morel.)
[6] Escher, M. C. Visions of Symmetry : Notebooks, Periodic Drawings, and Related Work of
    M. C. Escher, avec texte et commentaires de D. Schattschneider, New York, W. H. Freeman,
    1990.
3
Les mouvements d’un robot




    Ce chapitre peut se traiter en une semaine de cours. On commence la premi`re heuree
    en d´crivant le robot de la figure 3.1. On insiste sur la notion de « dimension » du
          e
          e                          e         e
    probl`me (ou nombre de degr´s de libert´), en illustrant le concept par des exemples
    plus simples. Assez rapidement, on se concentre sur les rotations dans l’espace et leur
         e                                                                    e       e
    repr´sentation par des matrices orthogonales dans des bases orthonorm´es en ´non¸ant   c
                                    e                                  e
    et examinant les principaux r´sultats de la section 3.3. La derni`re heure est consacr´e e
         e        a       e                       e          e
    enti`rement ` la pr´sentation des sept rep`res associ´s au robot de la figure 3.1 et
                                         e                                e          e
    au calcul de la position des diff´rentes articulations dans les diff´rents rep`res (sec-
    tion 3.5). Puisqu’il faut garder toute une heure pour cette partie, on ne peut traiter
                                                                            e           e e
    toute la partie sur les transformations orthogonales et faire tous les d´tails du th´or`me
    fondamental (th´or`me 3.20) ´non¸ant que toute transformation orthogonale dans R3
                     e e             e      c
          e                                                         e
    de d´terminant 1 est une rotation. On doit se contenter d’´noncer et d’illustrer les
                 e                                                               e
    principaux r´sultats. Le message important est que choisir une base ad´quate permet
                                           e
    de comprendre et de visualiser ad´quatement la transformation. Le choix du mat´riel    e
       e     e                                        e               e               e
    pr´sent´ sur les transformations orthogonales d´pend de la pr´paration des ´tudiants
            e      e                   e                              `
    en alg`bre lin´aire. On peut d´cider de seulement travailler a partir d’exemples, ou
    encore, de faire quelques preuves.



3.1 Introduction
                                                                       e
   Regardons le robot tridimensionnel de la figure 3.1. Il est compos´ de trois bras,
                                          e   e                                  e e
puis d’une pince. Sur la figure, on a repr´sent´ six mouvements de rotation num´rot´s
     `                       ea
de 1 a 6. Le robot est attach´ ` un mur. Le premier bras du robot est perpendiculaire
au mur. Par contre, il peut pivoter autour de son axe par la rotation 1. Au bout du
                        e         e
premier bras est attach´ un deuxi`me bras. Une articulation permet de changer l’angle
                                                   `
entre les deux bras. Cette articulation, semblable a celle du coude, ne fonctionne que
dans un plan (rotation 2). Mais, si on la combine avec la rotation 1, on voit que ce
plan de l’articulation tourne autour du premier bras. Finalement, en combinant ces
88      3 Les mouvements d’un robot

                                                 e
deux mouvements, on peut placer le deuxi`me bras dans n’importe quelle direction.
                     e                  e            e
Regardons le troisi`me bras. Il peut ˆtre actionn´ par deux mouvements de rotation : la
                                                       e
rotation 3 s’effectue dans un plan, comme la deuxi`me et, avec la rotation 4, le bras peut
                                                    e                           e
tourner autour de son axe. L’articulation de l’´paule peut servir de mod`le : on peut
                            e
lever le bras, ce qui est l’´quivalent de la rotation 3, et on peut tourner le bras autour de
                       e                                                             e
son axe, ce qui est l’´quivalent de la rotation 4. (En pratique, l’articulation de l’´paule a
          e                     e
un troisi`me mouvement ind´pendant puisqu’on peut bouger le bras de gauche ` droite ;a
donc, elle est plus polyvalente que l’articulation entre nos bras de robot.) Finalement,
                   e                     e
au bout du troisi`me bras est attach´e une pince, elle aussi mue par deux rotations : la
                                                                              e
rotation 5 agit dans un plan et change l’angle entre la pince et le troisi`me bras, alors
que la pince tourne autour de son axe avec la rotation 6.
                               ee      c
    Pourquoi ce robot a-t-il ´t´ con¸u avec six mouvements de rotation ? Nous verrons
que ce n’est pas un hasard et que, si nous avions eu moins de mouvements de rotation,
                     ee e
notre robot aurait ´t´ tr`s limit´. e
    Prenons un exemple simple avec des translations.

Exemple 3.1 Soit P = (x0 , y0 , z0 ) un point de d´part dans l’espace. Regardons quelles
                                                    e
sont les positions Q que nous pouvons atteindre si nous permettons des translations de P
dans la direction des vecteurs unitaires v1 = (a1 , b1 , c1 ) et v2 = (a2 , b2 , c2 ). L’ensemble
des positions que nous pouvons atteindre est

                             {Q = P + t1 v1 + t2 v2 | t1 , t2 ∈ R}.

Cet ensemble est un plan passant par P si v1 = ±v2 . (Exercice : pouvez-vous le mon-
trer ?)
                                                                                 e
    Par contre, si on rajoute des translations dans la direction d’un troisi`me vecteur
unitaire v3 choisi tel que {v1 , v2 , v3 } soient lin´airement ind´pendants, alors l’ensemble
                                                     e            e
des positions Q que nous pouvons atteindre est tout l’espace.
    Pourquoi nous a-t-il fallu trois directions de translation ? Parce que la « dimension »
         e
du probl`me est trois. Ce qui se traduit en pratique par le fait qu’il nous faut trois
                  e                                                   e
nombres pour sp´cifier la position de Q. On dira que le probl`me a trois degr´s de       e
      e
libert´.
                                 e a
   Essayons d’adapter cette id´e ` notre robot : de combien de nombres avons-nous
                e
besoin pour d´crire sa position ? Pour un travailleur qui veut utiliser le robot pour saisir
un objet, l’important est de bien positionner la pince. Il choisit donc :
   • la position de P . Elle est d´finie par les trois coordonn´es (x, y, z) de P dans
                                    e                             e
      l’espace.
   • la direction de l’axe de la pince. On peut se donner une direction en se donnant un
      vecteur. A priori, on semble avoir besoin de trois nombres. Cependant, il existe une
             e                    e             e              a
      infinit´ de vecteurs qui sp´cifient une mˆme direction, ` savoir tous les multiples
               e                      e       e
      d’un mˆme vecteur. Une mani`re plus ´conomique de se donner une direction est
                           e                     e a
      d’imaginer une sph`re de rayon 1 centr´e ` l’origine (ici notre point P ) et de
                                        e                                 e
      se donner un point Q de la sph`re. La direction est alors donn´e par le vecteur
                                                                        3.1 Introduction   89




                                                                    e           e
          Fig. 3.1. Exemple d’un robot tridimensionnel avec six degr´s de libert´



                         `     e                                                  a
      joignant l’origine a Q. R´ciproquement, si on se donne une direction, c’est-`-dire
                                                    e        e
      une demi-droite issue de P , elle coupe la sph`re centr´e en P de rayon 1 en un
                                                          e
      point. On a une bijection entre les points de la sph`re et les directions. Pour se
                                               e                        e
      donner une direction, il suffit donc de pr´ciser un point de la sph`re. Ceci se fait
              e e                                       e      e
      de mani`re ´conomique en utilisant les coordonn´es sph´riques : les points de la
          e
      sph`re de rayon 1 sont les points

                            (a, b, c) = (cos θ cos φ, sin θ cos φ, sin φ),

      avec θ ∈ [0, 2π) et φ ∈ [− π , π ]. Donc, les deux nombres θ et φ suffisent pour
                                     2 2
        e
      d´crire la position de l’axe de la pince.
    • l’angle de la pince autour de son axe. En effet, la pince peut pivoter autour de son
                                                                      e       e
      axe par un mouvement de rotation, lequel est uniquement d´termin´ par un angle
      de rotation α.
                                                                     e
Au total, on a eu besoin des six nombres (x, y, z, θ, φ, α) pour sp´cifier la position de la
pince du robot pour le travailleur. Par analogie avec l’exemple 3.1, on dira que le robot
                           e           e                              e        a
de la figure 3.1 a six degr´s de libert´. Les rotations 1, 2 et 3 am`nent P ` sa position,
      a                      e
c’est-`-dire permettent de r´aliser la position (x, y, z). Les rotations 4 et 5 placent l’axe
de la pince dans la bonne direction, soit la direction (a, b, c), alors que la rotation 6
                                   e            a
autour de l’axe de la pince am`ne celle-ci ` sa position finale. Ces six mouvements
                             e           e
correspondent aux six degr´s de libert´ du robot.
                      e
    Regardons la diff´rence entre le point Q de l’exemple 3.1 et la pince de notre robot.
                                                  e
Nous avons besoin de trois nombres pour sp´cifier la position de Q, alors que nous
                                 e
en avons besoin de six pour sp´cifier la position de la pince. La pince est un exemple
de ce qu’on appelle un « solide » dans l’espace, et nous allons voir que nous aurons
                                          e
toujours besoin de six nombres pour sp´cifier la position d’un solide dans l’espace. Pour
 e
d´velopper notre intuition, nous allons commencer par nous concentrer sur le cas d’un
solide dans le plan.
90     3 Les mouvements d’un robot

3.1.1 Les mouvements d’un solide dans le plan

     e
   D´coupons une forme en carton, par exemple un triangle dont les trois angles sont
   e                               e                        e
diff´rents (et donc, sans aucune sym´trie). Le carton est ind´formable, et la forme doit




                    Fig. 3.2. Les mouvements d’un solide dans le plan



rester constamment dans le plan : elle ne peut donc que glisser sur le plan. Nous voulons
 e
d´crire toutes les positions que peut prendre le triangle (voir figure 3.2). Pour cela nous
                                                                      e
choisissons un des sommets du triangle, soit A (mais ce pourrait ˆtre n’importe quel
autre point du triangle).
    • Nous devons commencer par sp´cifier la position de A. Ceci se fait a l’aide des
                                       e                                       `
                      e
      deux coordonn´es (x, y) de A dans le plan.
    • Nous devons ensuite pr´ciser la position du triangle par rapport a son point A. Si
                               e                                         `
               e
      A est fix´, les seuls mouvements que peut faire le triangle sont des rotations autour
                              e                                              e       e
      de A. Si B est un deuxi`me sommet, la position du triangle est alors d´termin´e par
                                    −
                                    −→
      l’angle α que fait le vecteur AB avec une direction fixe, par exemple la direction
      horizontale vers la droite.
                                                                 e
Nous avons donc besoin des trois nombres (x, y, α) pour d´terminer uniquement la
position d’un solide dans le plan.
                                                                  3.1 Introduction     91

                                                              e                       ea
    Regardons maintenant la figure 3.2 et supposons qu’au d´part, le point A est situ´ `
                          −
                          −→
l’origine avec le vecteur AB dans la direction horizontale vers la droite. Pour l’amener
a               e
` la position d´crite par les nombres (x, y, α), nous pouvons commencer par appliquer
une translation de (x, 0) dans la direction de e1 = (1, 0), puis une translation de (0, y)
dans la direction de e2 = (0, 1) pour finalement lui faire subir une rotation d’angle α
autour de (x, y).
                     e                                         e
    On a fait une ´quivalence entre les nombres (x, y, α) d´terminant la position du
triangle et les mouvements qui permettent d’amener le triangle de la position (0, 0, 0) a`
                                                      e e
la position (x, y, α). Nous donnons sans preuve le th´or`me suivant.

    e e
Th´or`me 3.2 Les mouvements d’un solide dans le plan sont des compositions de
                                                           e
translations et de rotations. Ce sont des mouvements qui pr´servent les longueurs et
                    e
les angles et qui pr´servent l’orientation.

                                                   e
Exemple 3.3 Imaginons maintenant un robot r´alisant les mouvements que nous ve-
          e                 ea                                                       e
nons de d´crire. Il est donn´ ` la figure 3.3 dans un plan vertical : au bout du deuxi`me
bras se trouve une pince perpendiculaire au plan de mouvement du robot et actionn´e    e
              e                            e           e                  e
par une troisi`me rotation. Si un triangle ´tait attach´ au bout du deuxi`me bras en un




                                 Fig. 3.3. Un robot plan



point A, le mouvement de rotation le ferait tourner autour de A (figure 3.4). Quelles
                                            e e             e
sont les positions que peut atteindre l’extr´mit´ du deuxi`me bras ? Tous les points du
                  e                             e                                  e
plan ne peuvent ˆtre atteints, car on est limit´ par la longueur des bras et la pr´sence
du mur. Mais on peut atteindre beaucoup de positions, soit un ensemble de dimension
                                                                     e `
2, alors que si on avait un unique bras, les positions seraient limit´es a un ensemble de
dimension 1, en l’occurrence un arc de cercle. Les positions exactes que peut atteindre
le point A font l’objet de l’exercice 13.
92     3 Les mouvements d’un robot




                                                                                         π
           (a) La position initiale                                 e
                                                 (b) La position apr`s une rotation de   3
                                                                                             de
                                                 la pince

                                                  e
                               Fig. 3.4. La troisi`me rotation



                                           e           e
   Cet exemple illustre bien les trois degr´s de libert´ pour le mouvement d’un solide
                            c                o
dans le plan et un robot con¸u pour les contrˆler.


       e                            e           e
3.1.2 R´flexion sur le nombre de degr´s de libert´

    La construction du robot dans l’espace tridimensionnel n’est pas unique, mais six
     e          e                                      e                 e
degr´s de libert´ (donc, au moins six mouvements ind´pendants) sont n´cessaires pour
                             e          e                           e
atteindre tout point d’une r´gion donn´e avec la pince bien orient´e. Donc, six degr´s e
         e        e
de libert´ sont n´cessaires pour les manettes qui permettent de manier le robot.
                                                   e
    Vous pourriez essayer d’ajouter des bras suppl´mentaires au robot et de l’installer
                                             e                   e
sur un rail mobile. Vous augmenteriez peut-ˆtre la taille de la r´gion atteignable, mais
vous n’augmenteriez pas la « dimension » de l’ensemble des positions finales de la pince.
Ce qui n’exclut pas que votre robot puisse avoir d’autres avantages dont nous parlerons
plus loin.
                                                           e          e
    Par contre, construisez un robot qui n’a que cinq degr´s de libert´. Quelle que soit
        e                                              e           e
la mani`re dont vous choisissez cinq mouvements ind´pendants d´crits chacun par un
seul nombre, il y aura des positions de la pince qui seront interdites. En fait, seul un
                                                               e               e
petit ensemble de positions seront permises contre une majorit´ de positions d´fendues.
    Le robot de la figure 3.1 n’a que des rotations. Vous pourriez essayer de remplacer
certaines des rotations par d’autres mouvements : translation le long d’un rail, bras
           e                   a
de robot t´lescopiques (c’est-`-dire dont la longueur peut varier). Essayez d’imaginer
              e                           e          e
d’autres mod`les de robots avec six degr´s de libert´.
           e                                          e      a e
Les math´matiques sous-jacentes Lorsqu’on s’int´resse ` d´crire les mouvements
du robot, on doit se pencher sur les mouvements d’un solide dans l’espace. Comme dans
                                                        e
                                   3.2 Mouvements qui pr´servent distances et angles         93

le cas du plan, ces mouvements seront des compositions de translations et de rotations
                           e                             e e
autour d’un axe. Les diff´rentes rotations auront en g´n´ral des axes distincts.
    • Si on choisit un syst`me d’axes dont l’origine se trouve sur l’axe d’une rotation,
                             e
                         e                                                  e
      alors dans ce syst`me d’axes, la rotation est une transformation lin´aire. Sa matrice
                                                                           e
      est plus simple si l’axe de rotation est l’un des axes de coordonn´es.
    • Comme les diff´rents axes de rotation sont distincts, il nous faudra ´tudier ensuite
                      e                                                       e
                                e                  e               ıt
      les changements de syst`mes de coordonn´es. Si on connaˆ les coordonn´es d’un  e
                     e               e                 e
      point Q donn´ dans un syst`me de coordonn´es, cela permettra de calculer ses
                e                          e
      coordonn´es dans un nouveau syst`me de coordonn´es.    e
    • Pour l’exemple de la figure 3.1 on apprendra a calculer la position de l’extr´mit´
                                                      `                                  e     e
      de la pince apr`s application des rotations Ri (θi ) d’angles θi , i ∈ {1, 2, 3, 4, 5, 6},
                       e
                                  e
      avec les six mouvements d´crits.


                         e
3.2 Mouvements qui pr´servent les distances
et les angles dans le plan ou dans l’espace

                                       e                          e            e
    Nous allons commencer par consid´rer les transformations lin´aires qui pr´servent
                                        e e                               e
les distances et les angles : ce sont pr´cis´ment les transformations lin´aires dont la
                                e
matrice est orthogonale, appel´es transformations orthogonales. Ce sera le cas d’une
rotation autour d’un axe passant par l’origine.
                                                                     e
    Nous avons besoin de quelques rappels sur les transformations lin´aires. Nous allons
donner les d´finitions pour les transformations lin´aires dans Rn , mais nous serons en
             e                                     e
            e    e
pratique int´ress´s aux cas n = 2 ou n = 3. Tout d’abord un peu de notation.
Notation Nous allons faire la distinction entre les vecteurs de Rn qui sont des objets
g´om´triques et que l’on notera v, w, . . . et les matrices colonnes n × 1 qui repr´sentent
  e e                                                                              e
leurs coordonn´es dans la base canonique C = {e1 , . . . , en }, o`
              e                                                   u

                                   e1   = (1, 0, . . . , 0),
                                   e2   = (0, 1, 0, . . . , 0),
                                   .                                                      (3.1)
                                   .
                                   .
                                   en   = (0, . . . , 0, 1).

                                             e
On notera la matrice colonne des coordonn´es du vecteur v comme [v] ou encore [v]C .
Nous faisons cette distinction parce que nous aurons besoin de regarder des changements
de bases.

Th´or`me 3.4 Soit T : Rn → Rn une transformation lin´aire, c’est-`-dire une trans-
   e e                                              e            a
                          ee
formation qui a les propri´t´s suivantes :

               T (v + w)    =   T (v) + T (w),          ∀v, w ∈ Rn ,
                                                                                          (3.2)
               T (αv)       =   αT (v),                 ∀v ∈ Rn , ∀α ∈ R.
94      3 Les mouvements d’un robot

 1. Il existe une unique matrice A, n × n, telle que la matrice verticale [T (v)] des
    coordonn´es de T (v) est donn´e par A[v] pour tout v ∈ Rn :
              e                  e

                                           [T (v)] = A[v].                                   (3.3)

                                           e
 2. La matrice A de la transformation lin´aire est construite ainsi : les colonnes de A
    sont les images des vecteurs de la base standard de Rn .

Preuve On commencera par prouver la                  e
                                                deuxi`me partie. Calculons [T (e1 )] :
                          ⎛                          ⎞
                            a11 . . .            a1n ⎛1⎞ ⎛ a11 ⎞
                          ⎜                          ⎟⎜ ⎟ ⎜ ⎟
                          ⎜ a21 . . .            a2n ⎟ ⎜0⎟ ⎜ a21 ⎟
              [T (e1 )] = ⎜ .
                          ⎜
                                                     ⎟
                                                  . ⎟ ⎜.⎟ = ⎜ . ⎟ ,
                          ⎝ ..
                                 ..
                                    .             . ⎠ ⎝.⎠ ⎝ . ⎠
                                                  .     .         .
                            an1 . . .            αnn    0        an1

        e
et de mˆme pour les autres vecteurs de la base standard.
                   e                              e
    Pour la premi`re partie, la matrice A cherch´e est la matrice dont les colonnes sont
             e
les coordonn´es des vecteurs T (ei ) dans la base standard. Elle a bien la propri´t´ (3.3).
                                                                                 ee
                                                      e
    Le fait que les colonnes de A soient les coordonn´es des vecteurs T (ei ) dans la base
                          e
standard garantit l’unicit´ de A.


D´finition 3.5 1. Soit A = (aij ) une matrice n × n. La matrice transpos´e de A est
 e                                                                     e
   la matrice At = (bij ), o`
                            u
                                     bij = aji .


 2. Une matrice A est orthogonale si son inverse est sa transpos´e, c’est-`-dire At =
                                                                e         a
    A−1 ou encore
                                   AAt = At A = I,
     o` I est la matrice identit´ n × n.
      u                         e
                          e
 3. Une transformation lin´aire est orthogonale si sa matrice dans la base standard est
    une matrice orthogonale.

D´finition 3.6 Le produit scalaire de deux vecteurs v = (x1 , . . . , xn ) et w = (y1 , . . . , yn )
  e
est
                             v, w = x1 y1 + · · · + xn yn .
                                                    e
     La proposition suivante est classique et rappel´e sans preuve :

Proposition 3.7 1. Si A est une matrice m × n et B, une matrice n × p, alors

                                           (AB)t = B t At .
                                                        e
                                   3.2 Mouvements qui pr´servent distances et angles            95

2. Le produit scalaire de deux vecteurs v et w peut se calculer comme suit :

                                          v, w = [v]t [w].

  e e
Th´or`me 3.8 1. Une matrice est orthogonale si et seulement si ses colonnes forment
   une base orthonormale de Rn .
                          e      e
2. Une transformation lin´aire pr´serve les distances et les angles si et seulement si sa
   matrice est orthogonale.

Preuve 1. Remarquons que les colonnes de A sont donn´es par Xi = A[ei ], i =
                                                              e
   1, . . . , n, o` les Xi sont des matrices n × 1. On ´crira
                  u                                    e

                                  A = X1        X2     ...   Xn .
                            t        t
   Alors, les transpos´es X1 , . . .Xn sont des vecteurs lignes, c’est-`-dire des matrices
                      e                                                a
   1 × n. Si on repr´sente la matrice At par ses lignes, elle a la forme
                    e
                                             ⎛ t⎞
                                                X1
                                          t  ⎜ . ⎟
                                        A = ⎝ . ⎠.
                                                 .
                                                      t
                                                     Xn

   Calculons le produit matriciel At A en utilisant cette         forme :
                                                 ⎛ t                                        ⎞
                ⎛ t⎞                               X1 X1            t
                                                                   X1 X2      ...     t
                                                                                     X1 X n
                  X1                             ⎜ X2 X1
                ⎜ . ⎟
                                                     t              t
                                                                   X2 X2      ...    X2 X n ⎟
                                                                                      t
          t
        AA=⎝ .     . ⎠ X1 X 2 . . . Xn = ⎜ .     ⎜ .                 .        ..       . ⎟.
                                                                                            ⎟
                    t
                                                 ⎝ .                 .
                                                                     .           .     . ⎠
                                                                                       .
                  Xn                                 t              t                 t
                                                  Xn X1            Xn X2      ...    Xn X n

                               e
   Soit T la transformation lin´aire de matrice A. Nous avons

                 Xit Xj = (A[ei ])t A[ej ] = [T (ei )]t [T (ej )] = T (ei ), T (ej ) .

   La matrice A est orthogonale si et seulement si la matrice At A est ´gale a la matrice
                                                                          e     `
            e          e                             e      a
   identit´. Les entr´es sur la diagonale sont ´gales ` 1 si et seulement si le produit
                                 e                                                  e
   scalaire de T (ei ) avec lui-mˆme est de longueur 1. Ce produit scalaire est ´gal au
   carr´ de la longueur du vecteur T (ei ). Donc, les entr´es sur la diagonale sont ´gales
        e                                                     e                       e
   ` 1 si et seulement si chaque vecteur T (ei ) est de longueur 1. Les entr´es de At A qui
   a                                                                         e
   ne sont pas sur la diagonale sont nulles si et seulement si, pour tout i = j, le produit
   scalaire du vecteur T (ei ) avec le vecteur T (ej ) est nul. Donc, A est orthogonale si
   et seulement si les vecteurs T (e1 ), . . . , T (en ) sont orthogonaux et de longueur 1,
   c’est-`-dire qu’ils forment une base orthonormale de Rn .
          a
             c                      e          a
2. Commen¸ons par prouver la r´ciproque, ` savoir que si T est une transformation
      e                                                  e
   lin´aire dont la matrice A est orthogonale, alors T pr´serve les distances et les angles.
         e           e
   D’apr`s la premi`re partie, les images des vecteurs de la base standard (qui sont
96      3 Les mouvements d’un robot

     les vecteurs colonnes de A) forment une base orthonormale. Donc, leur longueur est
        e    e                                     e   e                             e
     pr´serv´e, et leurs angles respectifs sont pr´serv´s. On peut se convaincre ais´ment
                                e        e
     qu’une transformation lin´aire pr´serve les distances et les angles si et seulement si
            e                                 a
     elle pr´serve le produit scalaire, c’est-`-dire T (v), T (w) = v, w pour tous v, w.
                                                                       e      e
     Soit v, w deux vecteurs. Voyons que leur produit scalaire est pr´serv´ si A est or-
     thogonale :
                                  T (v), T (w) = (A[v])t (A[w])
                                                    = ([v]t At )(A[w])
                                                    = [v]t (At A)[w]
                                                    = [v]t I[w]
                                                    = [v]t [w]
                                                    = v, w .
                                     e               e
     Pour la partie directe, l’hypoth`se est que T pr´serve les distances et les angles.
     Supposons que At A = (bij ). Prenons v = ei et w = ej . On a [T (v)] = A[v] et
     [T (w)] = A[w]. Alors

                      T (v), T (w) = ([v]t (At A))[w] = (bi1 · · · bin )[w] = bij .

     D’autre part, [v]t [w] = δij o`
                                   u

                                                1     si i = j,
                                       δij =
                                                0     si i = j.

     Donc, ∀i, j, bij = δij , ce qui revient a At A = I, c’est-`-dire que A est orthogonale.
                                             `                 a

Th´or`me 3.9 Les mouvements qui pr´servent les distances et les angles dans Rn sont
   e e                                  e
des compositions de translations et de transformations orthogonales. (Ces mouvements
                e          e
sont aussi appel´s des isom´tries.)

Preuve Consid´rons un mouvement F : Rn → Rn qui pr´serve les distances et les
                  e                                          e
angles. Soit F (0) = Q, et soit T la translation T (v) = v − Q. Alors T (Q) = 0. Donc,
T ◦ F (0) = 0. Soit G = T ◦ F . C’est une transformation qui pr´serve les distances et
                                                                 e
                                   a                                         e
les angles et qui a un point fixe ` l’origine. Nous admettrons qu’elle est lin´aire (voir
           `                         e e      e e                                  e
la preuve a l’exercice 4). Par le th´or`me pr´c´dent, G est une transformation lin´aire
orthogonale. Or, F = T −1 ◦ G. Comme T −1 est encore une translation, on a bien ´crit
                                                                                   e
                                                  e
F comme composition d’une transformation lin´aire orthogonale avec une translation.
                                                      ee
                                            3.3 Propri´t´s des matrices orthogonales     97

          e e
3.3 Propri´t´s des matrices orthogonales

   Regardons la matrice orthogonale suivante :
                                ⎛                  ⎞
                                  1/3 2/3      2/3
                            A = ⎝2/3 −2/3 1/3 ⎠ .                                      (3.4)
                                  2/3 1/3 −2/3

                e       e e
Pouvons-nous d´crire g´om´triquement la transformation orthogonale dont c’est la ma-
trice ? En regardant cette matrice, il est difficile de visualiser l’action de T sur R3 . Nous
                                                                            e          e
savons seulement qu’elle est orthogonale, donc que la transformation lin´aire T pr´serve
                                                                    e e
les distances et les angles. Comment peut-on comprendre la g´om´trie de T ? L’outil
  e                                                       e e
tr`s puissant qui nous permet de comprendre cette g´om´trie est la diagonalisation.
                                                                        e
En pratique, quand on diagonalise une matrice, on change de syst`me d’axes de coor-
      e                            e                          e
donn´es. On se place dans un syst`me d’axes de coordonn´es dans lequel la matrice de
                      e                      a
la transformation lin´aire est simple, c’est-` dire dans lequel on comprend la structure
                         e
de la transformation lin´aire. Avant de faire les calculs pour cette matrice, nous allons
              e
rappeler les d´finitions pertinentes.

D´finition 3.10 Soit T : Rn → Rn une transformation lin´aire de matrice A. Un
  e                                                             e
nombre λ ∈ C est une valeur propre de T (ou de A) s’il existe un vecteur non nul
v ∈ Cn tel que T (v) = λv. Tout vecteur v ayant cette propri´t´ est appel´ vecteur propre
                                                            ee           e
de la valeur propre λ.

Remarques
 1. Il est essentiel dans le contexte des transformations orthogonales de regarder des
                                                                               e
    valeurs propres complexes. En effet, lorsqu’on a un vecteur propre r´el v d’une
                     e
    valeur propre r´elle λ non nulle, alors l’ensemble E des multiples de v forme un
    sous-espace de dimension 1 (une droite) de Rn qui est invariant par T , c’est-`-dire
                                                                                    a
    T (E) = E. Prenons le cas d’une rotation de R2 . Visiblement il n’y a pas de droite
                                                                        e
    invariante. Donc, les valeurs propres et les vecteurs propres associ´s sont complexes.
 2. Comment calcule-t-on T (v) si v ∈ Cn ? La base canonique (3.1) est aussi une base
    de Cn . Cela a donc du sens de d´finir [T (v)] = A[v]. Donc, T (v) est le vecteur de
                                    e
    Cn dont les coordonn´es dans la base canonique de Cn sont A[v].
                         e
 3. Prenons dans R3 une rotation autour d’un axe : c’est une transformation orthogonale
    dont l’axe de rotation est une droite invariante. Donc, nous allons trouver cet axe
    lorsque nous diagonaliserons la transformation.
                                 e e
   Nous donnons sans preuve le th´or`me suivant.

Th´or`me 3.11 Soit T : Rn → Rn une transformation lin´aire de matrice A.
  e e                                                e
1. L’ensemble des vecteurs propres de la valeur propre λ forme un sous-espace vectoriel
   de Rn appel´ le sous-espace propre de la valeur propre λ.
              e
98      3 Les mouvements d’un robot

                                                o
2. Les valeurs propres sont les racines du polynˆme

                                      P (λ) = det(λI − A)

            e            o                  e      o         e
     de degr´ n. Le polynˆme P (λ) est appel´ polynˆme caract´ristique de T (ou de A).
3. Soit v ∈ Rn \ {0}. Alors, v est vecteur propre de λ si et seulement si [v] est solution
          e      e            e
   du syst`me d’´quations lin´aires homog`nee

                                       (λI − A)[v] = 0.


                                          e                                   e
Exemple 3.12 Soit la transformation lin´aire orthogonale de matrice A donn´e en
                                                                                o
(3.4). Pour diagonaliser la matrice A, on doit commencer par calculer son polynˆme
       e
caract´ristique

                                           λ − 1/3 −2/3   −2/3
                 P (λ) = det(λI − A) =      −2/3 λ + 2/3  −1/3 .
                                            −2/3   −1/3  λ + 2/3

On a
                      P (λ) = λ3 + λ2 − λ − 1 = (λ + 1)2 (λ − 1).
La matrice a donc les deux valeurs propres 1 et −1. Calculons leurs vecteurs propres.
Vecteurs propres de +1 Soit v un vecteur propre de 1. Alors [v] est solution du
syst`me lin´aire homog`ne (I − A)[v] = 0. Pour trouver les solutions, on ´chelonne la
    e      e          e                                                  e
matrice
                        ⎛                   ⎞ ⎛                        ⎞
                          2/3 −2/3 −2/3            2/3 −2/3 −2/3
             I − A = ⎝−2/3 5/3 −1/3⎠ ∼ ⎝ 0                  1      −1 ⎠
                          −2/3 −1/3 5/3              0     −1       1
                           ⎛          ⎞ ⎛               ⎞
                            1    −1 −1    1         0 −2
                         ∼ ⎝0    1 −1⎠ ∼ ⎝0         1 −1⎠ .
                            0    0  0     0         0 0

Toutes les solutions sont donc des multiples du vecteur propre v1 = (2, 1, 1).
Vecteurs propres de −1 Ce sont les solutions du syst`me homog`ne (−I − A)[v] = 0
                                                        e           e
                 e   e                                                         e
ou encore du syst`me ´quivalent (I + A)[v] = 0. Pour trouver les solutions, on ´chelonne
la matrice                 ⎛                 ⎞ ⎛                  ⎞
                             4/3 2/3 2/3            1 1/2 1/2
                   I + A = ⎝2/3 1/3 1/3⎠ ∼ ⎝0 0                0 ⎠.
                             2/3 1/3 1/3            0 0        0
                                                         e
Ici, l’ensemble des solutions est un plan. Il est engendr´ par les deux vecteurs v2 =
(1, −2, 0) et v3 = (1, 0, −2).
                                                       e e
                                             3.3 Propri´t´s des matrices orthogonales      99

                                                                     ee
   Il est utile de travailler avec des bases orthonormales. On pr´f`re donc remplacer v3
                                           `                       `                      e
par un vecteur v3 = (x, y, z) orthogonal a v2 . Il doit satisfaire a 2x + y + z = 0, soit ˆtre
un vecteur propre de −1, et ` x − 2y = 0, soit ˆtre orthogonal ` v2 . On peut prendre
                                a                   e                 a
v3 = (−2, −1, 5) qui est solution du syst`me
                                           e

                                      2x + y + z = 0,
                                          x − 2y = 0.

             `
Pour passer a une base orthonormale, on divise chacun des vecteurs par sa longueur.
On obtient la base orthonormale
                2   1  1                 1     2                    2    1   5
 B=     w1 =    √ ,√ ,√         , w2 =   √ , − √ , 0 , w3 =       −√ , −√ , √              .
                 6   6  6                 5     5                   30   30   30

Dans cette base, la matrice de la transformation             e
                                                     est donn´e par
                                        ⎛                ⎞
                                          1 0         0
                                [T ]B = ⎝0 −1         0 ⎠.
                                          0 0        −1

G´om´triquement, on a T (w1 ) = w1 , T (w2 ) = −w2 et T (w3 ) = −w3 . On voit que cette
  e e
transformation est la sym´trie par rapport ` la droite de vecteur directeur w1 ; cette
                          e                  a
                          e
transformation peut aussi ˆtre vue comme la rotation d’angle π autour de l’axe w1 . On
voit donc comment la diagonalisation nous a permis de « comprendre » la g´om´trie de
                                                                           e e
la transformation.

Quelques caract´ristiques de l’exemple 3.12 Les valeurs propres 1 et −1 ont
                    e
                                   e     `
toutes deux une valeur absolue ´gale a 1. Ce n’est pas un hasard puisqu’une trans-
                           e
formation orthogonale pr´serve les distances. On ne peut donc avoir T (v) = λv avec
|λ| = 1. De plus, tous les vecteurs propres de la valeur propre −1 sont orthogonaux aux
vecteurs propres de la valeur propre 1. Ici non plus, ce n’est pas un hasard. Nous allons
e                  ee           e
´noncer les propri´t´s particuli`res des transformations orthogonales en ce qui concerne
la diagonalisation.
                            ea           e
    Comme nous l’avons d´j` mentionn´, les valeurs propres d’une matrice orthogonale
                       e
ne sont pas toujours r´elles. Regardons l’exemple suivant.

Exemple 3.13 La matrice                 ⎛            ⎞
                                         0      −1 0
                                    B = ⎝1      0 0⎠
                                         0      0 1
                                                                                               π
                                                               e
d’une transformation T est orthogonale (exercice). Elle repr´sente une rotation de             2
                           e
autour de l’axe z : on le v´rifie en regardant l’image des trois vecteurs de la base
100      3 Les mouvements d’un robot
             ⎛ ⎞ ⎛ ⎞                  ⎛ ⎞ ⎛ ⎞                       ⎛ ⎞ ⎛ ⎞
              1     0                  0     −1                      0     0
           T ⎝0⎠ = ⎝1⎠              T ⎝1⎠ = ⎝ 0 ⎠                 T ⎝0⎠ = ⎝0⎠ .
              0     0                  0      0                      1     1
                                          e
Sous l’action de T , on voit que le troisi`me vecteur e3 est rest´ inchang´ alors que les
                                                                 e        e
deux vecteurs e1 et e2 ont tourn´ de π dans le plan (x, y). Le polynˆme caract´ristique
                                 e     2                              o         e
est
                             det(λI − B) = (λ2 + 1)(λ − 1),
qui a les trois racines 1, i, −i. Les deux valeurs propres complexes i et −i sont les
       e
conjugu´es l’une de l’autre et ont pour module 1.
      On rappelle sans preuve la proposition suivante.

Proposition 3.14 1. Soit A une matrice n × n. Alors,

                                        det At = det A.

2. Soient A et B deux matrices n × n. Alors

                                    det AB = det A det B.

Th´or`me 3.15 Une matrice orthogonale a pour d´terminant +1 ou −1.
  e e                                         e

            e
Preuve D’apr`s la proposition 3.14, on a

                            det AAt = det A det At = (det A)2 .

D’autre part, AAt = I, d’o` det AAt = 1. Donc, (det A)2 = 1, c’est-`-dire det A = ±1.
                          u                                        a


On voit qu’on a deux cas pour une matrice orthogonale :
   • det A = 1. Dans ce cas-ci, la transformation orthogonale correspond au mouvement
     d’un solide ayant un point fixe. Nous allons voir que les seuls mouvements de ce
     type sont les rotations.
   • det A = −1. Dans ce cas-ci, la transformation « renverse l’orientation ». Un tel ex-
                                          e              `
     emple de transformation est la sym´trie par rapport a un plan. Prenez un objet dis-
          e
     sym´trique, par exemple votre main droite, et son image dans un miroir : vous ne
                                                                               `
     pourrez jamais transporter l’objet dans l’espace pour aller le superposer a l’image
                                    e                                        e
     initiale que vous avez observ´e. Les transformations orthogonales de d´terminant
     −1 ne sont pas des mouvements du solide. Par contre, on peut montrer que toute
     transformation orthogonale de d´terminant −1 peut s’´crire comme la composition
                                       e                   e
                                   e                `
     d’une rotation et d’une sym´trie par rapport a un plan (exercice 10).
                                                      e e
                                            3.3 Propri´t´s des matrices orthogonales    101

Rappel sur les nombres complexes
  • Le conjugu´ d’un nombre complexe z = x + iy est le nombre complexe z = x − iy.
               e
    De plus, on v´rifie facilement que si z1 et z2 sont deux nombres complexes, alors
                 e

                                       z1 + z2 = z 1 + z 2
                                                                                       (3.5)
                                       z1 z2 = z 1 z 2 .

   • z est r´el si et seulement si z = z.
            e                                                                  √
   • Le module d’un nombre complexe z = x + iy est |z| =          x2 + y 2 =    zz.

                                          e
Proposition 3.16 Si A est une matrice r´elle et si λ = a + ib, b = 0, est une valeur
propre complexe de A de vecteur propre v, alors λ = a − ib est aussi une valeur propre
de A de vecteur propre v.

Preuve Soit v un vecteur propre complexe de λ. On a A[v] = λ[v]. Prenons le conjugu´ e
                          e
de cette expression. D’apr`s (3.5), on obtient A[v] = A[v] = λ[v]. Comme A est r´elle,
                                                                                e
alors A = A. D’o`u
                                      A[v] = λ[v],
ce qui entraˆ que λ est une valeur propre de A de vecteur propre v.
            ıne

        e
    Le r´sultat principal que nous voulons montrer est que toute matrice orthogonale A,
3 × 3, avec det A = 1, est la matrice d’une rotation d’angle θ autour d’un axe. Parmi
     e              e                                   e
les r´sultats interm´diaires, nous commencerons par le r´sultat correspondant pour une
matrice 2 × 2.

Proposition 3.17 Si A est une matrice 2 × 2 orthogonale telle que det A = 1, alors A
est la matrice d’une rotation d’angle θ,

                                        cos θ    − sin θ
                                 A=                      ,
                                        sin θ     cos θ

pour un θ ∈ [0, 2π). Les valeurs propres sont λ1 = a + ib et λ2 = a − ib, pour a = cos θ
                          e
et b = sin θ. Elles sont r´elles si et seulement si θ = 0, π. Dans le cas θ = 0, on obtient
a = 1, b = 0, et A est la matrice identit´ ; dans le cas θ = π on obtient a = −1, b = 0,
                                            e
                                              e     e                 `
et A est la rotation d’angle π (aussi appel´e sym´trie par rapport a l’origine).

Preuve Soit
                                             a   c
                                      A=           .
                                             b   d
Comme les colonnes sont de longueur 1, on doit avoir a2 +b2 = 1, ce qui permet de poser
                                                                      e
a = cos θ et b = sin θ. Puisque les deux colonnes sont orthogonales, n´cessairement

                                   c cos θ + d sin θ = 0.
102     3 Les mouvements d’un robot

Donc,
                                      c = −C sin θ
                                      d = C cos θ
pour un C ∈ R. Puisque la deuxi`me colonne est un vecteur de longueur 1, soit c2 +d2 =
                                 e
1, ceci nous donne C 2 = 1, soit C = ±1. Finalement, puisque det A = C, on doit avoir
C = 1.
    Le polynˆme caract´ristique est alors det(λI − A) = λ2 − 2aλ + 1, dont les racines
          √ o          e
sont a ± a2 − 1. La conclusion suit puisque

           ±   a2 − 1 = ± cos2 θ − 1 = ±       −(1 − cos2 θ) = ±i sin θ = ±ib.



                                       e                                       e
Lemme 3.18 Toutes les valeurs propres r´elles d’une matrice orthogonale A sont ´gales
` ±1.
a
                                   e
Preuve Soit λ une valeur propre r´elle et v, un vecteur propre correspondant. Soit
                                                           e
T la transformation orthogonale de matrice A. Comme T pr´serve les longueurs, on
a T (v), T (v) = v, v . Mais T (v) = λv. Donc, T (v), T (v) = λv, λv = λ2 v, v .
Finalement λ2 = 1.

Proposition 3.19 Si A est une matrice orthogonale 3 × 3 avec det A = 1, alors 1 est
toujours une valeur propre. De plus, toute valeur propre complexe λ = a + ib est de
module 1.
Preuve Le polynˆme caract´ristique de A, det(λI − A), est de degr´ 3, donc il a
                     o           e                                            e
toujours une racine r´elle λ1 , qui ne peut ˆtre que 1 ou −1 d’apr`s la proposition 3.18.
                       e                     e                        e
Quant aux deux autres valeurs propres λ2 et λ3 , soit elles sont r´elles, soit elles sont
                                                                        e
complexes de la forme a ± ib. Le d´terminant est le produit des valeurs propres. Donc,
                                     e
1 = λ1 λ2 λ3 . Si λ2 et λ3 sont r´elles, alors λ1 , λ2 , λ3 ∈ {1, −1} de par le lemme 3.18.
                                  e
Pour que le produit soit 1, on ne peut avoir que 0 ou deux valeurs propres ´gales ` −1,
                                                                                e    a
et donc, au moins une des valeurs propres est ´gale a 1. Si λ2 et λ3 sont complexes, alors
                                                e        `
λ2 = a + ib et λ3 = λ2 = a − ib, d’o` λ2 λ3 = |λ2 |2 = a2 + b2 . Comme 1 = λ1 λ2 λ3 > 0,
                                       u
alors λ1 = 1 et a2 + b2 = 1.

Th´or`me 3.20 Si A est une matrice 3 × 3 orthogonale telle que det A = 1, alors A
    e e
est la matrice d’une rotation T d’angle θ autour d’un axe. Si A n’est pas la matrice
       e
identit´, alors la direction de l’axe de rotation est la direction du vecteur propre de la
valeur propre +1.
Preuve Soit v1 un vecteur propre unitaire de la valeur propre 1. On consid`re le
                                                                          e
                       `
sous-espace orthogonal a v1 :

                               E = {w ∈ R3 | v1 , w = 0}.
                                                      e e
                                            3.3 Propri´t´s des matrices orthogonales   103

                                               e
E est un sous-espace de dimension 2. Consid´rons la transformation orthogonale T
de matrice A. Comme T pr´serve le produit scalaire et T (v1 ) = v1 , si w ∈ E, alors
                           e
T (w) ∈ E, car
                      T (w), T (v1 ) = T (w), v1 = w, v1 = 0.
Consid´rons la restriction TE de T ` E. Soit B = {v2 , v3 } une base orthonormale de E.
      e                            a
Regardons la matrice B de TE dans la base B . Si
                                            b22    b23
                                    B=
                                            b32    b33
ceci signifie
                                 T (v2 ) = b22 v2 + b32 v3
                                 T (v3 ) = b23 v2 + b33 v3 .
Comme TE pr´serve le produit scalaire, B doit ˆtre une matrice orthogonale. Regar-
             e                                  e
dons maintenant la matrice [T ]B de T dans la base B = {v1 , v2 , v3 } (qui est une base
orthonormale de R3 ) :                ⎛            ⎞
                                        1     0
                                      ⎜            ⎟
                              [T ]B = ⎜
                                      ⎝ 0
                                                   ⎟.
                                                   ⎠
                                              B

     e                                e   `                           e
Le d´terminant de cette matrice est ´gal a det B. (Rappelons que le d´terminant de
                                    e
la matrice d’une transformation lin´aire ne change pas si on change de base.) Donc,
                          e
det B = det A = 1. D’apr`s la proposition 3.17, la matrice B est la matrice d’une
             u
rotation. D’o`                      ⎛                 ⎞
                                      1   0       0
                            [T ]B = ⎝0 cos θ − sin θ⎠ .
                                      0 sin θ   cos θ
                                                                           e
Regardons cette matrice : elle nous dit que tous les vecteurs de l’axe port´ par v1 sont
      e            e
envoy´s sur eux-mˆmes par T , et que tous les vecteurs dans le plan E subissent une
rotation d’angle θ. Si maintenant on d´compose un vecteur v en v = Cv1 + w avec
                                         e
w ∈ E, alors T (v) = Cv1 + TE (w), o` TE est la rotation d’angle θ dans le plan E. C’est
                                     u
                                                           e
bien l’action d’une rotation d’angle θ autour de l’axe port´ par v1 .

Corollaire 3.21 Si A est une matrice orthogonale 3 × 3 telle que det A = 1 et toutes
                                e                                          e
les valeurs propres de A sont r´elles, alors, soit A est la matrice identit´, soit A a les
trois valeurs propres 1, −1, −1. Dans ce dernier cas, A est la matrice d’une sym´triee
             `
par rapport a la droite qui a la direction d’un vecteur propre de +1. (On peut aussi
visualiser cette transformation comme une rotation d’angle π autour de l’axe qui a la
direction d’un vecteur propre de +1.)
         e e
    Le th´or`me 3.20 dit qu’une matrice orthogonale A telle que det A = 1 est la matrice
d’une rotation. Comment calculer en pratique l’angle de la rotation ? Pour cela nous
introduisons la trace d’une matrice.
104      3 Les mouvements d’un robot

D´finition 3.22 Soit A = (aij ) une matrice n × n. Alors, la trace de la matrice A est
  e
             ee
la somme des ´l´ments sur la diagonale :

                                  tr(A) = a11 + · · · + ann .

           e   c                         ee
      Nous ´non¸ons sans preuve la propri´t´ suivante de la trace d’une matrice.

  e e
Th´or`me 3.23 La trace d’une matrice est la somme de ses valeurs propres.

Proposition 3.24 Soit T : R3 → R3 une rotation de matrice A. Alors, l’angle θ de la
rotation est tel que
                                       tr(A) − 1
                               cos θ =           .                            (3.6)
                                           2

                                        e e                                   o
Preuve Regardons la preuve du th´or`me 3.20. En calculant le polynˆme caract´risti-       e
que de [T ]B , on voit que les valeurs propres de T sont 1 et cos θ ± i sin θ. Donc, la somme
                                             e       e e
des valeurs propres est 1 + 2 cos θ. D’apr`s le th´or`me 3.23, cette somme est ´gale a  e   `
tr(A).

Analyse d’une transformation orthogonale dans R3 Le th´or`me 3.20 et la e e
                           e                e
proposition 3.24 nous sugg`rent une strat´gie.
   • On commence par calculer det A. Si det A = 1, alors 1 est une des valeurs propres
     et la transformation est une rotation. Si det A = −1, alors −1 est une valeur
     propre (voir l’exercice 10). Nous allons nous limiter au cas det A = 1 et laisser le
     cas det A = −1 pour l’exercice 10.
   • Pour d´terminer l’axe de la rotation, on cherche un vecteur propre unitaire v1 de
            e
     la valeur propre 1.
   • On calcule l’angle de la rotation par la formule (3.6). On a deux solutions possibles,
     car cos θ = cos(−θ). On ne peut trancher sans faire un test. Pour cela on choisit
                                          `
     un vecteur unitaire w orthogonal a v1 et on calcule T (w). On calcule le produit
                                        e
     vectoriel de w et T (w) (voir la d´finition 3.25 ci-dessous). C’est un multiple Cv1
     de v1 tel que |C| = | sin θ|. L’angle θ est celui pour lequel C = sin θ.

  e
D´finition 3.25 Le produit vectoriel de deux vecteurs v = (x1 , y1 , z1 ) et w = (x2 , y2 , z2 )
est le vecteur v ∧ w de coordonn´es
                                e
                                 y1   z1         x1   z1        x1   y1
                     v∧w =                 ,−              ,              .
                                 y2   z2         x2   z2        x2   y2

                                            e       e        e
Remarque L’angle de la rotation est d´termin´ par la r`gle de la main droite : avec
                          e
la main droite positionn´e pour que le pouce pointe dans la direction de v1 , on am`nee
                                                                  e      e
w sur T (w) : l’angle θ de la rotation est l’angle dont on a tourn´. Il d´pend donc de la
                                                                                        e
direction qu’on a choisie pour l’axe de rotation. En particulier, la rotation d’axe port´
par v1 et d’angle θ co¨ıncide avec la rotation d’axe port´ par −v1 et d’angle −θ.
                                                         e
                                                             3.4 Les changements de base          105

                            ee             e         e
   On a maintenant tous les ´l´ments pour d´finir et d´crire les mouvements d’un solide
dans l’espace.

  e
D´finition 3.26 Une transformation F est un mouvement d’un solide dans l’espace si
     e
F pr´serve les distances et les angles, et si, pour chaque ensemble de vecteurs de mˆme e
origine P formant un rep`re orthonorm´ {v1 , v2 , v3 } de R3 tel que v3 = v1 ∧ v2 , alors
                                e             e
{F (v1 ), F (v2 ), F (v3 )} est un rep`re orthonorm´ de R3 avec origine en F (P ) et tel que
                                      e            e
F (v3 ) = F (v1 ) ∧ F (v2 ).
    La condition additionnelle que F envoie v1 ∧ v2 sur F (v1 ) ∧ F (v2 ) est ´quivalente a
                                                                              e           `
              e
dire que F pr´serve l’orientation.

   e e
Th´or`me 3.27 Tout mouvement d’un solide dans l’espace est la composition d’une
translation avec une rotation autour d’un axe.

Preuve Soit F une transformation de l’espace qui est un mouvement du solide. Elle
pr´serve les distances et les angles. On consid`re un point du solide. Soient P0 =
  e                                                          e
                                                                                          −→
                                                                                         −−
(x0 , y0 , z0 ) sa position initiale et P1 = (x1 , y1 , z1 ) sa position finale. Soit v = P0 P1 et soit
G la translation par v. Posons T = F ◦ G−1 . Alors, T (P1 ) = F (P1 − v) = F (P0 ) = P1 .
Donc, P1 est un point fixe de T . Comme T pr´serve les distances et les angles et qu’elle
                                                        e
a un point fixe, c’est une transformation orthogonale de matrice A (voir l’exercice 4
pour le fait que la transformation est lin´aire). De plus, on a vu que si det A = −1, alors
                                               e
                e
A ne peut ˆtre une transformation du solide (voir aussi l’exercice 10). Donc, det A = 1,
et T est une rotation.


3.4 Les changements de base
Rappel sur la matrice d’une transformation lin´aire dans une base B On
                                                       e
consid`re une transformation lin´aire T : Rn → Rn . On ne s’int´ressera qu’aux cas
      e                         e                                   e
n = 2 ou n = 3. Soit B une base de l’espace. On repr´sente un vecteur v ` l’aide de ses
                                                    e                    a
                                                                                    x
coordonn´es dans la base B par une matrice colonne [v]B = ( y ) si n = 2 et [v]B = y
         e                                                  x
                                                                                                  z
si n = 3. Limitons-nous maintenant au cas n = 3. Si B = {v1 , v2 , v3 }, alors l’´criture
                                                                                 e
        x
[v]B = y signifie v = xv1 + yv2 + zv3 . Soit A la matrice de la transformation T dans
          z
la base B. On ´crira A = [T ]B . Les coordonn´es de T (v) dans la base B sont donn´es
               e                              e                                   e
par le produit matriciel
                             [T (v)]B = A[v]B = [T ]B [v]B .
                                                                  e
Comme dans le cas de la base standard, les colonnes de A sont donn´es par les coor-
donn´es dans la base B des images par T des vecteurs de B.
    e
106      3 Les mouvements d’un robot

Rappel sur les changements de base et les matrices de changement de base
1. Si on a deux bases B1 et B2 de l’espace, alors

                                       [v]B2 = P [v]B1 ,

      o` P est la matrice de changement de base de B1 ` B2 . La matrice P est aussi
       u                                              a
      appel´e matrice de passage de B1 ` B2 .
           e                           a
2. Les colonnes de la matrice P sont les coordonn´es des vecteurs de B1 ´crits dans
                                                     e                       e
   la base B2 . Dans le cas particulier o` les deux bases sont orthonormales (c’est-`-
                                         u                                            a
   dire que les vecteurs sont perpendiculaires et de longueur 1), alors la matrice P est
   orthogonale.
3. Si Q est la matrice de changement de base de B2 ` B1 , alors Q = P −1 . Les colonnes
                                                      a
   de la matrice Q sont les coordonn´es des vecteurs de B2 ´crits dans la base B1 .
                                        e                      e
   Dans le cas particulier o` les deux bases sont orthonormales, alors Q = P t , donc les
                            u
   colonnes de Q sont les lignes de P .

Th´or`me 3.28 Soit T une transformation lin´aire et soient B1 et B2 deux bases de
    e e                                        e
l’espace. Soit P la matrice de changement de base de B1 ` B2 . Alors
                                                        a

                                  [T ]B2 = P [T ]B1 P −1 .

Preuve Soit v un vecteur. Alors, on a d’une part

                                 [T (v)]B2 = [T ]B2 [v]B2 .

D’autre part,
                           [T (v)]B2   =   P [T (v)]B1
                                       =   P ([T ]B1 [v]B1 )
                                       =   P [T ]B1 (P −1 [v]B2 )
                                       =   (P [T ]B1 P −1 )[v]B2 ,
   u     e                                                   e
d’o` le r´sultat, puisque la matrice d’une transformation lin´aire dans une base est
unique.

                                      e                 e
Jouer avec plusieurs bases permet de r´soudre des probl`mes difficiles. Nous avons vu
comment la diagonalisation nous permettait de comprendre la structure d’une trans-
             e                          e               e
formation lin´aire. Nous pouvons aussi r´soudre le probl`me inverse et reconstruire la
                                                             ee
matrice d’une transformation dont nous connaissons les propri´t´s. Illustrons-le sur un
exemple.

                                                                          e
Exemple 3.29 On se donne le cube dont les huit sommets sont situ´s aux points
(±1, ±1, ±1) (figure 3.5). On cherche les matrices des deux rotations d’angle ± 2π dont
                                                                                3
l’axe est la droite joignant les sommets (−1, −1, −1) et (1, 1, 1) : remarquons que ces
deux rotations envoient le cube sur le cube.
                                                        3.4 Les changements de base       107




                             Fig. 3.5. Le cube de l’exemple 3.29



    Pour cela, on commence par choisir une base B bien adapt´e au probl`me. La direc-
                                                               e           e
                                    e
tion du premier vecteur sera donn´e par la direction de la droite, soit la direction du
vecteur w1 = (2, 2, 2). Pour les deux autres vecteurs de la base, w2 et w3 , nous pren-
                                   `
drons deux vecteurs orthogonaux a w1 . Leurs coordonn´es (x, y, z) satisferont donc `
                                                         e                             a
x + y + z = 0. Un premier vecteur est donn´ par exemple par w2 = (−1, 0, 1). On vou-
                                             e
                        e
drait bien que le troisi`me vecteur w3 soit aussi perpendiculaire ` w2 . Ses coordonn´es
                                                                  a                  e
                   `
doivent satisfaire a
                                      x+y+z =0
                                      x − z = 0,
et une solution est donc donn´e par w3 = (1, −2, 1). Maintenant, on travaille avec des
                             e
                                                                                  w
bases orthonormales. Donc, on divise chacun des vecteurs par sa longueur : vi = ||wi || .
                                                                                   i
               e
La base cherch´e est
                               1  1  1           1       1         1    2    1
     B = {v1 , v2 , v2 } =    √ ,√ ,√        , − √ , 0, √      ,   √ , −√ , √         .
                                3  3  3           2       2         6    6    6
Dans cette base, les deux transformations sont des rotations d’axe de rotation donn´   e
par le premier vecteur de la base et d’angle ± 2π . Remarquons que cos(− 2π ) = cos 2π =
                                   √             3                        3          3
− 1 et sin(− 2π ) = − sin 2π = − 23 . Les deux rotations, qui sont des transformations
   2           3           3
lin´aires T± , ont donc comme matrice dans la base B
    e
                       ⎛                           ⎞ ⎛                  ⎞
                         1      0          0            1    0      0
                                                                    √
                                                      ⎜                 ⎟
              [T± ]B = ⎝ 0 cos 2π 3    ∓ sin 2π ⎠ = ⎝ 0 −√
                                               3
                                                              1
                                                              2   ∓ 23 ⎠ .
                         0 ± sin 32π
                                        cos 32π
                                                        0 ± 23 − 1   2
108     3 Les mouvements d’un robot

Cherchons maintenant la matrice de T± dans la base standard C. En appliquant le
  e e      e e                                     e        e
th´or`me pr´c´dent, on voit que cette matrice doit ˆtre donn´e par

                                       [T± ]C = P −1 [T± ]B P,

o` P est la matrice de passage de C ` B. Alors P −1 est la matrice de passage de B
 u                                   a
` C. Donc, les colonnes de P −1 sont les vecteurs de B ´crits dans la base C. Ce sont
a                                                      e
  e e                                                   e
pr´cis´ment les vecteurs colonnes donnant les coordonn´es de v1 , v2 , v3 dans la base
standard. Comme P −1 = P t on a
               ⎛ 1                 ⎞                 ⎛ 1                    ⎞
                   √
                     3
                       − √2
                          1    √1
                                 6
                                                          √
                                                            3
                                                                √1
                                                                  3
                                                                        √1
                                                                          3
               ⎜ 1            − √6 ⎟ ,               ⎜                  √ ⎟.
        P −1 = ⎝ √3      0       2
                                   ⎠             P = ⎝ − √2 1
                                                                 0       1
                                                                          2 ⎠
                   1
                   √
                     3
                        √1
                          2
                               √1
                                 6
                                                          √1
                                                            6
                                                               − √6 √6
                                                                  2      1


   u
D’o`                       ⎛          ⎞                           ⎛             ⎞
                            0     0 1                              0 1        0
                 [T+ ]C = ⎝ 1     0 0 ⎠,                [T− ]C = ⎝ 0 0        1 ⎠.
                            0     1 0                              1 0        0
On voit bien que la premi`re transformation T+ est la rotation d’angle 2π autour de
                             e                                               3
l’axe de vecteur directeur v1 (figure 3.5). Elle fait la permutation des trois sommets du
cube (1, 1, −1) → (−1, 1, 1) → (1, −1, 1). De mˆme, on a aussi la permutation des trois
                                                 e
autres sommets (−1, −1, 1) → (1, −1, −1) → (−1, 1, −1), alors que les deux sommets
(1, 1, 1) et (−1, −1, −1) restent fixes dans la rotation.
Remarque                                        −1
                [T+ ]C est orthogonale et T− = T+ . Donc, [T− ]C = [T+ ]−1 = [T+ ]t .
                                                                        C         C




           e         e          e a
3.5 Les diff´rents rep`res associ´s ` un robot

  e                      e                               e                          e
D´finition 3.30 Un rep`re dans l’espace est la donn´e d’un point P de l’espace, appel´
origine du rep`re, et d’une base B = {v1 , v2 , v3 } de R3 .
              e

                              e          `                                        e
     Se donner un rep`re revient a se donner trois axes de coordonn´es passant par P et
         e                                              e
orient´s suivant les vecteurs de la base. Les unit´s sur les axes sont choisies de telle sorte
                                                 e
que les vecteurs vi aient pour coordonn´es v1 = (1, 0, 0), v2 = (0, 1, 0) et v3 = (0, 0, 1).
                                                                            `
     Regardons le robot de la figure 3.1 que l’on reproduit a la figure 3.6 en position
         e      a                     e                                                e
allong´e et ` la figure 3.8 apr`s quelques rotations. On se donne sept rep`res R0 , . . . , R6 ,
ayant leur origine respective en P0 , . . . , P6 . Pour chaque rep`re, on se donne des axes
                                                                             e
xi , yi , zi , i = 0, . . . , 6, d´termin´s par des bases B0 , . . . , B6 . Les directions des axes du
                                  e      e
rep`re Ri sont celles des vecteurs de la base Bi , et les unit´s de longueur sur les axes
     e                                                                     e
sont d´termin´es par le fait que les vecteurs de Bi ont la longueur 1. Le rep`re B0 est
         e         e                                                                        e
le rep`re de base. Il est fixe et centr´ en P0 = (0, 0, 0). Le rep`re Ri est centr´ en Pi
         e                                    e                                e               e
                                       e                         e             e
(figures 3.6, 3.7 et 3.8). Au d´part, en position allong´e, les rep`res ont tous leurs axes
                                                  e         e          e a
                                       3.5 Les diff´rents rep`res associ´s ` un robot    109

         e                                            e
parall`les comme sur la figure 3.6. Ensuite, les rep`res bougent lorsqu’on effectue des
rotations. Puisque bouger une articulation affecte la position des bras et articulations
situ´s plus loin le long du robot, alors la position du rep`re Ri d´pend des rotations 1,
       e                                                   e         e
                       e             e
. . ., i qu’on a effectu´es et est ind´pendante des rotations i + 1, . . ., 6.




                                          e         e
                         Fig. 3.6. Les diff´rents rep`res du robot




 Fig. 3.7. Le rep`re R1 obtenu a partir du rep`re R0 apr`s une rotation autour de l’axe y0
                 e             `              e         e



                                                   a
Voici la suite de mouvements de ce robot l’amenant ` la position de la figure 3.1 :

 (i) Le premier mouvement est une rotation T1 d’angle θ1 autour de l’axe y0 . Dans le
    rep`re R0 , c’est une transformation lin´aire puisque l’origine est un point fixe. Elle
       e                                    e
    a donc pour matrice dans la base B0
110      3 Les mouvements d’un robot




Fig. 3.8. Les diff´rents rep`res du robot apr`s les rotations 2, 3, 5 et 6. Le rep`re R1 co¨
                   e          e                  e                                  e        ıncide
avec le rep`re R0 , et le rep`re R4 , avec le rep`re R3 . C’est pourquoi ils ne sont pas dessin´s.
           e                 e                    e                                            e


                                        ⎛                      ⎞
                                       cos θ1       0 − sin θ1
                                 A1 = ⎝ 0           1    0     ⎠.
                                       sin θ1       0 cos θ1

      Le deuxi`me rep`re est un rep`re mobile R1 , obtenu par application de T1 ` R0 . En
               e       e             e                                          a
      particulier la base B1 est donn´e par l’image de B0 par T1 .
                                      e
              e
 (ii) Le deuxi`me mouvement est une rotation T2 d’angle θ2 autour de l’axe x2 , de
     matrice                    ⎛                    ⎞
                                  1     0       0
                          A2 = ⎝ 0 cos θ2 − sin θ2 ⎠ .
                                  0 sin θ2    cos θ2

 (iii) Le troisi`me mouvement est, par exemple, une rotation T3 d’angle θ3 autour de
                e
     l’axe x3 de matrice           ⎛                    ⎞
                                     1    0        0
                            A3 = ⎝ 0 cos θ3 − sin θ3 ⎠ .
                                     0 sin θ3    cos θ3
      En fait, il est difficile de trancher simplement au vu de la figure 3.1 s’il s’agit d’une
                                                                    `
      rotation autour de l’axe x3 ou autour de l’axe z3 . Ce qui, a l’œil, peut paraˆ    ıtre
                                                       o
      comme une rotation autour de l’axe x3 ou, plutˆt, comme une rotation autour de
      l’axe z3 d´pend de la rotation T1 que l’on a effectu´e.
                 e                                       e
               e
 (iv) Le quatri`me mouvement est une rotation T4 d’angle θ4 autour de l’axe y4 de
    matrice                     ⎛                    ⎞
                                  cos θ4 0 − sin θ4
                          A4 = ⎝ 0        1     0    ⎠.
                                   sin θ4 0 cos θ4
                                                     e         e          e a
                                          3.5 Les diff´rents rep`res associ´s ` un robot     111

              e
 (v) Le cinqui`me mouvement est une rotation T5 d’angle θ5 autour de l’axe x5 de
    matrice                    ⎛                     ⎞
                                  1    0        0
                         A5 = ⎝ 0 cos θ5 − sin θ5 ⎠ .
                                  0 sin θ5    cos θ5

 (vi) Le sixi`me mouvement est une rotation T6 d’angle θ6 autour de l’axe y6 de matrice
             e
                                      ⎛                       ⎞
                                      cos θ6       0 − sin θ6
                                A6 = ⎝ 0           1    0     ⎠.
                                      sin θ6       0 cos θ6

                                                                          e
On veut calculer la position d’un point du robot par rapport aux diff´rents rep`res.  e
                                                             e
Pour cela, on commence par calculer comment sont modifi´es les directions quand on
passe d’un rep`re ` un autre. Ceci permet de trouver l’« orientation » de la base Bi+k
                e a
dans la base Bi . Les colonnes de la matrice Ai donnent les coordonn´es des vecteurs de
                                                                      e
la base Bi+1 dans la base Bi . C’est donc la matrice de passage de la base Bi+1 ` la base
                                                                                a
Bi . Pour cette raison, on la notera Mii+1 .

Matrice de changement de base de la base Bi+k ` la base Bi
                                                     a                                  e
                                                                                 On en d´duit
                e
qu’elle est donn´e par
                                      i+2        i+k
                       Mii+k = Mii+1 Mi+1 . . . Mi+k−1 .

    Soit Q un point de l’espace. Pr´ciser sa position dans le rep`re Ri , c’est se donner le
                                    e                               e
          −
         −→                                   −
                                             −→
vecteur Pi Q dans la base Bi , c’est-`-dire [Pi Q]Bi . Alors sa position dans le rep`re Ri−1
                                     a                                              e
         e
est donn´e par
                        −−
                       −−→               −−
                                        −−→               −
                                                         −→
                      [Pi−1 Q]Bi−1   = [Pi−1 Pi ]Bi−1 + [Pi Q]Bi−1
                                         −−
                                        −−→                i    −
                                                               −→
                                     = [Pi−1 Pi ]Bi−1 + Mi−1 [Pi Q]Bi .


                           e                                                              e
    On va utiliser ceci et ´crire chacun des changements pour i = 1, . . . , 6. On en d´duira
la position de l’extr´mit´ du robot dans l’espace et son orientation dans la base B0 , sa-
                     e     e
chant qu’on a effectu´ dans l’ordre six rotations d’angles respectifs θ1 , . . . , θ6 . Supposons
                      e
                                                                   −
                                                                  −→
                                                 e
que l’on connaisse la position de Q dans le rep`re R6 , a savoir [P6 Q]B6 .
                                                        `
    • Soit l5 la longueur de la pince. Alors
                                −
                               −→             −→
                                             −−           −
                                                         −→
                              [P5 Q]B5    = [P5 P6 ]⎞ + [P6 Q]B5
                                            ⎛       B5
                                                0
                                                             −
                                                          6 −→
                                          = ⎝ l5 ⎠ + M5 [P6 Q]B6 .
                                                0
112      3 Les mouvements d’un robot

      • Soit l4 la longueur du troisi`me bras de robot. Alors
                                     e
                       −
                      −→              −→
                                      −−           −
                                                  −→
                     [P4 Q]B4    =   [P4 P5 ]⎞ + [P5 Q]⎛
                                     ⎛       B4      ⎛ B4   ⎞          ⎞
                                         0                0
                                                                   −
                                                                  −→ ⎠
                                     ⎝ l4 ⎠ + M4 ⎝⎝ l5 ⎠ + M5 [P6 Q]B6
                                                   5            6
                                 =
                                     ⎛ 0 ⎞           ⎛    0
                                                          ⎞
                                         0              0
                                 =                            6 −
                                     ⎝ l4 ⎠ + M4 ⎝ l5 ⎠ + M4 [−6→ B6 .
                                                   5
                                                               P Q]
                                         0              0

      • Le rep`re R3 a la mˆme origine que R4 : P3 = P4 . Donc, dans le rep`re R3
               e           e                                               e
                                          ⎛⎛     ⎞         ⎛    ⎞               ⎞
                                              0               0
                −
               −→            −
                            −→                                            −
                                                                       6 −→
              [P3 Q]B3 = [P4 Q]B3 = M3 ⎝⎝ l4 ⎠ + M4 ⎝ l5 ⎠ + M4 [P6 Q]B6 ⎠
                                        4                5

                               ⎛    ⎞        ⎛0 ⎞             0
                                  0             0
                                                              −
                                                           6 −→
                       = M3 ⎝ l4 ⎠ + M3 ⎝ l5 ⎠ + M3 [P6 Q]B6 .
                             4             5

                                  0             0

      • Soit l2 la longueur du deuxi`me bras de robot. Alors
                                    e
                 −
                −→               −→
                                 −−           −
                                             −→
               [P2 Q]B2   =     [P2 P3 ]⎞ + [P3 Q]B2 ⎞
                                ⎛       B2      ⎛        ⎛   ⎞
                                    0              0       0
                          =                                       6 −
                                ⎝ l2 ⎠ + M2 ⎝ l4 ⎠ + M2 ⎝ l5 ⎠ + M2 [−6→ B6 .
                                              4        5
                                                                     P Q]
                                    0              0       0

      • Soit l1 la longueur du premier bras de robot. Alors
           −
          −→          −→
                     −−           −
                                 −→
                    [P
         [P1 Q]B1 = ⎛ 1 P2 ]⎞ + [P2 Q]B1 ⎞
                            B1      ⎛        ⎛   ⎞      ⎛    ⎞
                        0              0       0          0
                                                                  6 −→−
                  = ⎝ l1 ⎠ + M1 ⎝ l2 ⎠ + M1 ⎝ l4 ⎠ + M1 ⎝ l5 ⎠ + M1 [P6 Q]B6 .
                                  2        4          5

                        0              0       0          0

   • Finalement, dans le rep`re fixe sur le mur, comme P0 = P1 , on a
                              e
                     ⎛     ⎞        ⎛      ⎞      ⎛      ⎞       ⎛   ⎞
                        0              0             0             0
       −
      −→                                                                  −
                                                                       6 −→
     [P0 Q]B0 = M0 ⎝ l1 ⎠ + M0 ⎝ l2 ⎠ + M0 ⎝ l4 ⎠ + M0 ⎝ l5 ⎠ + M0 [P6 Q]B6 .
                   1              2             4             5

                        0              0             0             0
                                                                            (3.7)
En posant l3 = 0, on peut r´´crire (3.7) comme suit :
                            ee
                                           ⎛   ⎞
                                    5        0
                         −
                        −→                                −
                                                       6 −→
                       [P0 Q]B0 =      M0 ⎝ li ⎠ + M0 [P6 Q]B6 .
                                         i

                                   i=1       0
                                                  e         e          e a
                                       3.5 Les diff´rents rep`res associ´s ` un robot   113

   Inversement,                                          ⎛     ⎞
                                                   5        0
                         −
                        −→         0 −→−
                       [P6 Q]B6 = M6 [P0 Q]B0 −       M 6 ⎝ li ⎠ ,
                                                        i

                                                  i=1       0
o` M6 est la matrice de passage de Bi ` B6 . On a M6 = (Mi6 )−1 = (Mi6 )t . On peut
 u i                                        a              i
                                 −
                                −→                       −
                                                        −→
           e
aussi, si n´cessaire, calculer [Pi Q]Bi en fonction de [P0 Q]B0 .
Applications
 1. Le bras canadien ou Canadarm pour la station spatiale internationale. Au d´part,e
                     e        e                                      e
    le bras canadien ´tait fix´ sur la station. Depuis, on a ajout´ des rails pour qu’il
    puisse se promener le long de la station. Ceci facilite le travail des astronautes lors
                                                       e
    de l’assemblage de nouveaux modules ou lors de r´parations.
                      ee
    Le Canadarm ou t´l´manipulateur de la station spatiale internationale (Shuttle Re-
                                                        `          e           e
    mote Manipulator System ou SRMS) est un robot a six degr´s de libert´. Semblable
                                                                           e
    au bras humain, il a seulement deux segments ; au bout du deuxi`me segment se
                                          e                e
    trouve un poignet. Le segment sup´rieur est amarr´ sur un rail sur la station. Il
    peut faire un angle quelconque avec la surface de la station. On a donc besoin de
              e          e
    deux degr´s de libert´ pour cela : un mouvement de tangage (de haut en bas) et
                                         `
    un mouvement de lacet (de gauche a droite). L’articulation entre les deux segments
                   e         e a       c
    n’a qu’un degr´ de libert´, ` la fa¸on d’un coude : seul un mouvement de haut en
                                                             e            e
    bas est permis. L’articulation du poignet a trois degr´s de libert´ : on peut faire
                                                                          e
    prendre au poignet n’importe quelle direction par rapport au deuxi`me bras par des
    mouvements de tangage et de lacet. De plus, il peut tourner sur son axe par un
                                                                        e
    mouvement de roulis. (Voir aussi l’exercice 16.) Le segment sup´rieur mesure cinq
      e                                        e
    m`tres de longueur et l’avant-bras, 5, 8 m`tres.
                      e                                        e
    Depuis, on a raffin´ le Canadarm : le Canadarm2 a 17 m`tres de long et est mainte-
    nant pourvu de sept articulations, ceci lui donnant plus de souplesse pour atteindre
                                                  e               e
    des endroits difficilement accessibles. Il peut ˆtre command´ depuis le sol.
                     e
 2. Les robots utilis´s en chirurgie. Ils permettent des chirurgies non invasives, car on
                e                                                        e
    peut les ins´rer par une fente minuscule et les manipuler de l’ext´rieur du corps.
                            e                 e          e   e
    Ils ont beaucoup de tr`s petits bras pr`s de l’extr´mit´ du robot pour permettre
                                                 e       e
    beaucoup de petits mouvements dans une r´gion tr`s petite.

                     e
La suite des math´matiques du robot Nous sommes loin d’avoir fait le tour de
              e
tous les probl`mes que rencontre le concepteur ou l’utilisateur d’un robot, en particulier
          e
des probl`mes pratiques. En voici quelques-uns :
                                                        e                `
 (i) Il existe plusieurs suites de mouvements qui am`nent le robot a sa position fi-
     nale. Laquelle est la meilleure ? Certains « petits » mouvements conduisent ` de a
     « grands » d´placements de la pince, alors que d’autres « grands » mouvements
                   e
     conduisent a de « petits » d´placements de la pince. Ces derniers sont pr´f´rables
                 `                e                                               ee
                                                            e
     lorsqu’on veut faire effectuer au robot du travail de pr´cision, ce qui est le cas, par
     exemple, pour un robot en chirurgie.
114      3 Les mouvements d’un robot

                                            e
(ii) On peut ajouter des bras de robot suppl´mentaires et augmenter le nombre de mou-
     vements possibles pour permettre au robot de contourner des obstacles. Quel est
     l’effet d’ajouter des morceaux et d’augmenter le nombre de mouvements possibles ?
                                                    e
(iii) Quel est l’effet de changer la longueur des diff´rents bras ?
             e                          e        e
(iv) Le probl`me inverse (difficile !) : ´tant donn´ la position finale de la pince du robot,
                                                          a                       e
     donner une suite de mouvements amenant la pince ` cette position. Pour r´pondre
     ` la question, on doit r´soudre un syst`me d’´quations non lin´aires.
     a                       e               e      e                 e
     `
 (v) A vous d’inventer les suivants. . .


3.6 Exercices


1. a) Calculer la matrice de la rotation d’angle θ dans le plan pour la base stan-
   dard {e1 = (1, 0), e2 = (0, 1)}, en utilisant le fait que les colonnes de A sont les
   coordonn´es des images des vecteurs e1 et e2 .
             e
                                                                                a
   b) Soit z = x + iy. Faire tourner le vecteur (x, y) d’un angle θ revient ` faire
   l’op´ration z → eiθ z. Utiliser cette propri´t´ pour calculer la matrice A.
       e                                       ee

2.     Si on compose deux transformations lin´aires T1 et T2 de matrices respectives A1
                                                 e
      et A2 , alors la matrice de T1 ◦ T2 est A1 A2 . On travaille avec n = 2.
      a) V´rifier que la composition d’une rotation d’angle θ1 avec une rotation d’angle
             e
      θ2 est une rotation d’angle θ1 + θ2 .
             e              e                                             e
      b) V´rifier que le d´terminant de la matrice d’une rotation est ´gal a 1. `
             e
      c) V´rifier que la matrice inverse de la matrice A d’une rotation est la matrice
      transpos´e At de la matrice A.
                e

3.                     e     ea                                            o e
       Le triangle repr´sent´ ` la figure 3.2 est un triangle rectangle de cˆt´s 3, 4 et 5.
           e                         e    o e                    `           `
      Au d´part, le sommet oppos´ au cˆt´ de longueur 3 est a l’origine ; a la fin des
                              e                                e
      mouvements, il est situ´ en (7, 5). Donner les coordonn´es du sommet oppos´ au e
      cˆt´ de longueur 4 si la rotation finale est d’angle π .
       o e                                                7


                                                                 e
4. Montrer que toute transformation T du plan ou de l’espace pr´servant les distances
                                                                 e
   et les angles et ayant un point fixe est une transformation lin´aire. Suggestion :
                                                            e
   a) Commencer par montrer que la transformation pr´serve la somme de deux
   vecteurs, en utilisant le fait que la somme v1 + v2 des deux vecteurs v1 et v2 est
   construite comme la diagonale du parall´logramme de cˆt´s v1 et v2 .
                                             e             o e
   b) Il faut maintenant montrer que pour tout vecteur v et tout c ∈ R, alors T (cv) =
                                        e
   cT (v). Faire la preuve en plusieurs ´tapes :
        • montrer l’affirmation pour c ∈ N ;
        • montrer l’affirmation pour c ∈ Q ;
                                                                      3.6 Exercices    115

         • montrer que T est uniform´ment continue. En d´duire que T (cv) = cT (v)
                                      e                    e
           pour c ∈ R. En effet, si c = limn→∞ cn , cn ∈ Q, et si T est continue, alors
           T (c) = limn→∞ T (cn ).

5.    Montrer que toute transformation orthogonale dans R2 de d´terminant ´gal a −1
                                                                    e     e    `
               e                 `
     est la sym´trie par rapport a une droite passant par l’origine.

6.                                                    e          e    `
     On donne les matrices orthogonales suivantes de d´terminant ´gal a 1
               ⎛                   ⎞                 ⎛                    ⎞
                 2/3 −1/3 −2/3                          1/3   2/3     2/3
          A = ⎝2/3 2/3         1/3 ⎠ ,          B = ⎝−2/3 2/3 −1/3⎠ .
                 1/3 −2/3 2/3                          −2/3 −1/3 2/3

     Pour chacune, donner la direction de l’axe de rotation et calculer l’angle de rotation
                 e
     (au signe pr`s).

7.    Montrer que le produit de deux matrices orthogonales A1 et A2 telles que det A1 =
     det A2 = 1 est encore une matrice orthogonale telle que det A1 A2 = 1. En conclure
     que la composition de deux rotations dans l’espace est encore une rotation dans
                e                                                 e
     l’espace (mˆme si les deux axes de rotation ne sont pas les mˆmes !).

8.                                                                       e
      On se donne une rotation d’angle +π/4 autour de l’axe engendr´ par v1 =
     (1/3, 2/3, 2/3). En utilisant la base B = {v1 , v2 , v3 } o` v1 = (1/3, 2/3, 2/3),
                                                                u
     v2 = (2/3, −2/3, 1/3) et v3 = (2/3, 1/3, −2/3) pour faire les calculs, donner la
     matrice de cette rotation dans la base standard.

9. a) Soient Π un plan passant par l’origine dans R3 et v un vecteur unitaire perpen-
                      `                  e                `               e e
   diculaire au plan a l’origine. La sym´trie par rapport a Π (aussi appel´e r´flexion par
   rapport a Π) est l’op´ration qui, a un vecteur x ∈ R3 associe RΠ (x) = x − 2 x, v v.
            `             e            `
                                                                        e
   Montrer que RΠ est une transformation orthogonale. Quel est le d´terminant de la
                  e a
   matrice associ´e ` RΠ ?
                                                   e                 `
   b) Montrer que la composition de deux sym´tries par rapport a deux plans passant
                                                                           e
   par l’origine est une rotation autour d’un axe passant par l’origine. V´rifier que cet
   axe est la droite d’intersection des deux plans.

10. a) Montrer que, si une matrice orthogonale 3 × 3 a un d´terminant ´gal a −1,
                                                               e            e    `
    alors −1 est une valeur propre.
    b) Montrer que toute transformation orthogonale dans R3 dont la matrice a le
    d´terminant −1 est la composition d’une r´flexion par rapport a un plan passant
     e                                         e                    `
    par l’origine avec une rotation autour d’un axe passant par l’origine et perpendi-
    culaire au plan.
    c) En conclure qu’une transformation orthogonale dans R3 de d´terminant −1
                                                                       e
                 e
    ne peut repr´senter un mouvement d’un solide dans l’espace.
116    3 Les mouvements d’un robot

11. On se donne le robot suivant (figure 3.9) dans un plan vertical : au bout du
          e
    deuxi`me bras se trouve une pince perpendiculaire au plan de mouvement du
                    e                 e
    robot et actionn´e par une troisi`me rotation (nous ignorerons cette troisi`mee
                                                                e
    rotation). On suppose que les deux bras du robot ont la mˆme longueur l.
                    e    e         e
    a) Soit Q l’extr´mit´ du deuxi`me bras du robot. Calculer la position de Q si le
                          e
    premier bras a effectu´ une rotation d’angle θ1 , et le deuxi`me bras, une rotation
                                                                e
    d’angle θ2 .




                            Fig. 3.9. Le robot de l’exercice 11


                                                                                  e
      b) Calculer l’angle θ2 de chacune des deux rotations possibles du deuxi`me bras
                                                                  l
                        e  e                     e a
      pour que l’extr´mit´ du robot soit situ´e ` la distance 2 du point d’attache du
      robot.
                                                                                  e    e
      c) Calculer les deux couples d’angles (θ1 , θ2 ) possibles pour que l’extr´mit´ du
                                   l
                      e
      robot soit situ´e au point ( 2 , 0).
                                                             e
      d) On suppose maintenant que le robot est mont´ sur un rail vertical. Choisir
                e                          e
      un syst`me d’axes et, dans ce syst`me d’axes, calculer la position de Q si on a
                e                                                    e
      translat´ le robot d’une hauteur h, si le premier bras a effectu´ une rotation d’angle
      θ1 , et le deuxi`me bras, une rotation d’angle θ2 .
                      e

12.    Dans R3 , soient Rx la rotation autour de l’axe x d’angle π/2, Ry , la rotation
      autour de l’axe y d’angle π/2, et Rz , la rotation autour de l’axe z d’angle π/2.
      a) La composition Ry ◦ Rz est une rotation. Donner son axe et son angle.
      b) Montrer que Rx = (Ry )−1 ◦ Rz ◦ Ry .

                                                  ea
13. Dans un plan, on se donne un robot attach´ ` un point fixe et muni de deux bras
                                                     e
    de longueur l1 et l2 . Le premier bras est attach´ au point fixe et peut effectuer des
                                           e                   ea       e   e
    rotations autour de ce point. Le deuxi`me bras est attach´ ` l’extr´mit´ du premier
                                                     e
    et peut pivoter autour du point d’attache. D´terminer l’ensemble des positions
                            e    e         e
    atteignables par l’extr´mit´ du deuxi`me bras suivant les valeurs de l1 et l2 .
                                                                       3.6 Exercices    117

14.                                   ea
       On se donne un robot attach´ ` un mur et muni de deux bras de longueur l1 et l2
                                               e                                      a
      avec l2 < l1 . Le premier bras est attach´ au mur par un joint universel (c’est-`-dire
                                                                          e
      qui peut tourner dans toutes les directions), et les deux bras sont ´galement reli´se
                                           e
      entre eux par un joint universel. D´terminer l’ensemble des positions atteignables
                e     e         e
      par l’extr´mit´ du deuxi`me bras du robot.

15. Voici un robot se mouvant dans le plan vertical (figure 3.10) :
        • le premier bras est fix´ en P0 = P1 de longueur 1 .
                                  e
        • le deuxi`me bras est fix´ au bout du premier bras en P2 . Sa longueur est
                    e                e
          variable : sa longueur minimum est 2 , et sa longueur maximum est L2 =
                     `         e    e          e
           2 + d2 . A son extr´mit´ P3 est fix´e la pince.
        • la pince est de longueur d3 , et on a d3 < 1 , 2 .
                                                                e     e
    a) Donner les conditions sur 1 , 2 , d2 , d3 pour que l’extr´mit´ P4 de la pince
                                e
    puisse saisir un objet situ´ en P0 .
    b) Choisir un syst`me d’axes fixes centr´ en P0 . Dans ce syst`me d’axes, donner
                        e                       e                   e
                         e    e
    la position de l’extr´mit´ P4 de la pince si on a effectu´ des rotations θ1 , θ2 , θ3
                                                             e
                                             e           ee       e
    comme sur la figure 3.10, et si le deuxi`me bras a ´t´ allong´ de r par rapport a   `
    sa longueur minimum.




                            Fig. 3.10. Le robot de l’exercice 15




                       ee
16. Le Canadarm ou t´l´manipulateur de la station spatiale (Shuttle Remote Manipu-
                                          `         e          e                e
    lator System ou SRMS) est un robot a six degr´s de libert´. Le segment sup´rieur
              e
    est amarr´ sur un rail sur la station. Il peut faire un angle quelconque avec la
    surface de la station par un mouvement de tangage (de haut en bas) et un mou-
                                  a
    vement de lacet (de gauche ` droite). L’articulation entre les deux segments n’a
               e          e
    qu’un degr´ de libert´ : seul un mouvement de tangage est permis. L’articulation
                            e          e
    du poignet a trois degr´s de libert´ : on peut faire prendre au poignet n’importe
118    3 Les mouvements d’un robot

                                             e
      quelle direction par rapport au deuxi`me bras par des mouvements de tangage et
      de lacet. De plus, il peut tourner sur son axe par un mouvement de roulis.
                e
      a) En n´gligeant les mouvements de translation sur le rail le long de la station,
                                     e     e
      dessiner un ensemble de rep`res ad´quat pour calculer la position de l’extr´mit´e    e
                                         e             e
      du poignet et donner, dans les rep`res appropri´s, les six mouvements de rotation
                                   e
      correspondant aux six degr´s de libert´. e
           ´           e
      b) Etant donn´ une suite de six rotations d’angle θ1 , . . . , θ6 , donner la position
               e    e                        e
      de l’extr´mit´ du poignet dans le rep`re initial.

17.                              e                                  o
       Essayer d’imaginer un syst`me de manettes permettant de contrˆler les six mou-
      vements d’un robot comme celui de la figure 3.1.




                                                              e
       Fig. 3.11. Les deux rotations permettant d’aligner un t´lescope (exercice 18)



18. Lorsqu’ils veulent faire des observations, les astronomes doivent orienter leur
     e                       e
    t´lescope. La base du t´lescope est fixe.
                                           e
    a) Montrer que deux rotations ind´pendantes sont suffisantes pour pointer le
     e
    t´lescope dans n’importe quelle direction.
    b) Les astronomes ont une autre contrainte quand ils veulent observer des objets
     e         e e      e
    c´lestes tr`s ´loign´s et peu lumineux : ils doivent pouvoir faire une observation
             e                                 e e
    prolong´e, ou encore, prendre une photo ´tal´e sur plusieurs heures. Or, la Terre
                                         e
    tourne pendant ce temps. Donc, le t´lescope doit pouvoir bouger pendant ce temps
                      e              e                               e
    pour rester align´ avec l’objet c´leste. Voici comment le syst`me fonctionne : on
                                      e                                          e
    installe un axe parfaitement align´ sur l’axe de la Terre, autour duquel le t´lescope
    peut pivoter par un premier mouvement de rotation. On appelle cet axe le premier
                                                                   e     e
    axe (figure 3.11). Pour quelqu’un qui regarde le ciel dans l’h´misph`re Nord, l’axe
                           e      e                               o
    de la Terre est align´ sur l’´toile Polaire. Si on est au pˆle Nord, cet axe est
                                                              3.6 Exercices    119

                                            e             e            e
vertical, mais ailleurs il est oblique. Le t´lescope lui mˆme est align´ sur un axe
                           a                   e
transversal au premier : ` l’aide d’une deuxi`me rotation, on peut changer l’angle
                e                                                        `
entre l’axe du t´lescope et le premier axe. Montrer qu’on peut ainsi, a l’aide des
                                             e                   e e
deux mouvements de rotation, aligner le t´lescope sur l’objet d´sir´.
                                      e             e             e
c) Montrer qu’on peut garder le t´lescope align´ sur l’objet c´leste en utilisant
une rotation uniforme autour du premier axe seulement.
d) Montrer qu’au au 45e parall`le, l’axe de la Terre fait un angle de 45 degr´s
                                    e                                            e
avec l’horizontale.
 ee
R´f´rence




                                             e
[1] Coiffet, Philippe. Les robots, Tome 1, Mod´lisation et commande, Neuilly, Herm`s Publi-
                                                                                 e
    shing, 1986.
4
Squelette et chirurgie aux rayons gamma




                                                                   e
    Le concept de squelette intervient dans la conception de strat´gies optimales dans la
    chirurgie radioactive au « scalpel ` rayons gamma » ([5] et [4]). C’est une notion im-
                                       a
    portante dans de nombreux chapitres des sciences. Si le chapitre fait l’objet de trois
                                                                                    e
    heures de cours et de deux heures de travaux pratiques, nous recommandons d’´noncer
            e                   `
    la probl´matique du scalpel a rayons gamma et de traiter les sections 4.2 et 4.3 conte-
              e
    nant la d´finition de squelette et les exemples en deux et trois dimensions. La sec-
                  e     e   e    e      e        a
    tion 4.4 peut ˆtre ´tudi´e tr`s bri`vement, ` simple titre d’information. Si l’on peut
                         e
    compter une quatri`me heure, il faut faire un choix : par exemple, entre l’algorithme
         e                                   ee
    num´rique de la section 4.5 ou la propri´t´ fondamentale du squelette de la section 4.7.
                       e                      e               e                   e
    On pourrait privil´gier l’algorithme num´rique pour des ´tudiants de math´matiques
            e              ee                                       e
    appliqu´es et la propri´t´ fondamentale du squelette pour des ´tudiants en enseigne-
                                                                                     e
    ment. Le reste du chapitre est de l’enrichissement et peut servir de point de d´part ` a
    un projet de session.



4.1 Introduction
                 a                                                     e
   Le scalpel ` rayons gamma est une technique de chirurgie utilis´e pour traiter des
                              e
tumeurs au cerveau. L’unit´ de traitement focalise 201 sources radioactives de cobalt
           e                                      e a
60 dispos´es sur un casque focalisant, de mani`re ` ce qu’elles s’intersectent sur une
   e           e                 e                e a
sph`re. La r´gion de forme sph´rique est expos´e ` une forte dose que l’on appellera
« dose de radiation ». L’appareil peut distribuer des doses de quatre rayons diff´rents
                                                                                  e
(2 mm, 4 mm, 7 mm, 9 mm). Chaque casque produit des doses d’un seul rayon. Il faut
                                                                              e
donc changer de casque lorsqu’on change de rayon. Comme chaque casque p`se environ
225 kilos, il est important pendant le traitement de minimiser le nombre de changements
de casques.
              e                          e
   Le probl`me qui se pose aux math´maticiens est de trouver un algorithme de pla-
nification du traitement permettant de traiter l’ensemble de la tumeur en un temps
                                            u        e               e              e
optimal : ceci permet de diminuer les coˆ ts, mais ´galement d’am´liorer la qualit´ du
124    4 Squelette et chirurgie aux rayons gamma

                                                        e                  e
traitement pour le patient pour qui d’interminables s´ances de radioth´rapie sont tr`s   e
  e                   e
p´nibles. Le probl`me est facile pour une tumeur de petite taille qui peut souvent ˆtree
      e                                                                              a
trait´e par une seule dose de radiation, mais devient complexe lorsqu’on a affaire ` une
                                          e    e                             e
tumeur de grand volume et de forme irr´guli`re. Les algorithmes recherch´s permettent
     e e                                       `                               e
en g´n´ral de planifier un traitement de 1 a 15 doses. L’algorithme doit ˆtre le plus
                         a                                                  a e        e
robuste possible, c’est-`-dire donner des solutions au moins acceptables, ` d´faut d’ˆtre
                                                 e
optimales, pour presque toutes les formes de r´gions.
                                               e            e            e
    On voit qu’on peut comparer le probl`me au probl`me math´matique d’empi-
lement des sph`res. On doit remplir au maximum une r´gion R ⊂ R3 avec des
                   e                                            e
    e                e a
sph`res, de mani`re ` ce que le volume non couvert soit, en proportion, inf´rieur `e      a
un seuil de tol´rance : si on utilise des boules (ou sph`res pleines) B(Xi , ri ) ⊂ R,
                  e                                         e
i = 1, . . . N , de centres respectifs Xi et de rayons respectifs ri , la zone irradi´e est
                                                                                     e
PN (R) = ∪N B(Xi , ri ). En notant V (S) le volume d’une r´gion S on demande :
              i=1                                             e
                                 V (R) − V (PN (R))
                                                    ≤ .                               (4.1)
                                       V (R)
                                                  e
    Pour obtenir un algorithme optimal, la premi`re chose est de bien choisir le centre
des sph`res. En effet, il faut choisir des sph`res qui « collent » le mieux possible ` la
        e                                    e                                      a
               e                               e
surface de la r´gion. Ce sont a priori des sph`res qui ont le plus de points de contact
                                   e          e                          e
(points de tangence) avec la fronti`re de la r´gion. Les centres des sph`res seront pris
sur le « squelette » de la r´gion.
                            e


     e                       e
4.2 D´finition de squelette. R´gions bidimensionnelles
    Le concept de squelette d’une r´gion de R2 ou R3 est un concept math´matique qui est
                                   e                                     e
                   e
couramment utilis´ en analyse de formes et en reconnaissance de formes. Commen¸ons   c
                     e
par en donner une d´finition intuitive.
                         e              e          e
    Supposons que la r´gion soit form´e de mati`re combustible uniforme et qu’on al-
                      e                                     e                       e
lume le feu simultan´ment en tous les points de la fronti`re (par exemple, une r´gion
              e                                             u           e
plane gazonn´e). Les points du squelette sont les points o` le feu va s’´teindre faute de
combustible (voir, par exemple, la figure 4.1).
                        a
    Nous reviendrons ` cette description intuitive du squelette qui doit nous servir
                  e                                                             e
de guide pour d´velopper notre intuition. Mais pour l’instant, voici les d´finitions
     e                  e
math´matiques. Une r´gion R est un sous-ensemble ouvert du plan ou de l’espace. Une
 e                            e                                     e
r´gion exclut donc sa fronti`re que nous noterons par ∂R. Les d´finitions qui suivent
                            e
valent aussi bien pour les r´gions en deux dimensions qu’en trois dimensions. Parfois, le
mot usuel pour un concept varie selon la dimension ; par exemple, on parle de cercle ou
                                          e
de disque en deux dimensions et de sph`res ou de boules en trois dimensions. Lorsque
le vocabulaire varie, nous mettrons le mot pour la description tridimensionnelle entre
        e
parenth`ses.

D´finition 4.1 On note par |X −Y | la distance entre deux points du plan ou de l’espace.
 e
                                   e                       e
                              4.2 D´finition de squelette. R´gions bidimensionnelles    125




                                                         e
                           Fig. 4.1. Le squelette d’une r´gion



Ainsi, si les deux points X et Y ∈ R2 ont comme composantes (x1 , y1 ) et (x2 , y2 )
respectivement, leur distance est simplement |X − Y | = (x1 − x2 )2 + (y1 − y2 )2 .

  e                               e                                     e
D´finition 4.2 Soient R une r´gion du plan ou de l’espace et ∂R sa fronti`re. Le
                   e
squelette de R, not´ Σ(R), est l’ensemble de points suivant :

             Σ(R) = {X ∗ ∈ R | ∃X1 , X2 ∈ ∂R tels que X1 = X2 et
                          |X ∗ − X1 | = |X ∗ − X2 | = minY ∈∂R |X ∗ − Y |}.

            e                                                        ee
    Cette d´finition est quelque peu rebutante. Expliquons-en les ´l´ments. La quantit´   e
minY ∈∂R |X ∗ − Y | donne la distance entre le point X ∗ et la fronti`re ∂R de R. Contrai-
                                                                     e
         a                                                                  e
rement ` la distance entre deux points, il n’existe pas d’expression alg´brique simple
                           o                      e
pour cette distance. Plutˆt, celle-ci est exprim´e comme le minimum d’une fonction,
f (Y ) = |X ∗ − Y |, vue comme fonction de Y (X ∗ ´tant constant). On cherche donc le
                                                     e
segment le plus court parmi tous ceux qui joignent X ∗ ` un point Y de la fronti`re. La
                                                          a                         e
longueur du segment le plus court est minY ∈∂R |X ∗ − Y |. Dans le cas d’une r´gion du
                                                                                  e
plan, la figure 4.2 trace plusieurs de ces segments pour un X ∗ donn´ ; le segment le plus
                                                                       e
               e     e
court est repr´sent´ par un trait gras.
    Supposons que l’on trace un cercle (une sph`re) de centre X ∗ et de rayon
                                                 e

                                  d = min |X ∗ − Y |,                                 (4.2)
                                       Y ∈∂R

que l’on notera
                      S(X, d) = {Y ∈ R2 (ou R3 ) | |X − Y | = d}.
Pour que X ∗ soit dans le squelette Σ(R), la d´finition ci-dessus requiert que S(X ∗ , d)
                                              e
intersecte ∂R en (au moins) deux points X1 et X2 . Donc, S(X ∗ , d) et la fronti`re e
∂R doivent avoir au moins deux points en commun. Puisque le rayon de S(X ∗ , d) est
126       4 Squelette et chirurgie aux rayons gamma




           Fig. 4.2. La recherche de la distance entre un point X ∗ et la fronti`re ∂R
                                                                                e



pr´cis´ment minY ∈∂R |X ∗ − Y |, il faut que l’int´rieur de S(X ∗ , d) soit inclus dans R.
  e e                                             e
                                                            e
Pour le voir, choisissons Z, un point quelconque du compl´mentaire C(R) de R (c’est-
`-dire Z ∈ C(R) = R2 \ R ou Z ∈ C(R) = R3 \ R) et tra¸ons le segment joignant X ∗ `
a                                                         c                              a
Z. Puisque X ∗ ∈ R et Z ∈ C(R), le segment doit croiser la fronti`re ∂R en un certain
                                                                     e
point que nous appellerons Y . Par d´finition de la distance entre X ∗ et la fronti`re,
                                      e                                              e

                           min |X ∗ − Y | ≤ |X ∗ − Y | < |X ∗ − Z|,
                          Y ∈∂R

le point Z du compl´mentaire de R est ` l’ext´rieur de S(X ∗ , d). Ainsi, aucun point
                     e                   a      e
du compl´mentaire de R n’est a l’int´rieur de S(X ∗ , d), et l’int´rieur de S(X ∗ , d) est
          e                     `    e                            e
        e                         e
constitu´ de points de R. Si on d´finit le disque (ou la boule) de centre X et de rayon
r par
                       B(X, r) = {Y ∈ R2 (ou R3 ) | |X − Y | < r},
alors les ´l´ments X ∗ du squelette Σ(R) sont tels que
          ee

                                        B(X ∗ , d) ⊂ R.

       e                           e     a
    Mˆme si le rayon d est d´fini ` l’aide d’un minimum (voir (4.2)), c’est aussi un
maximum ! C’est le rayon maximal que peut avoir un disque (une boule) centr´(e) en  e
X ∗ , B(X ∗ , r), si B(X ∗ , r) ne doit contenir que des points de R. (Tout disque B(X ∗ , r)
                                                                      e
tel que r > d contiendra automatiquement un point Z du compl´mentaire C(R). Pour
le voir, tra¸ons un segment de X ∗ au point X1 de la fronti`re qui est le plus proche
             c                                                    e
de X ∗1 . Alors |X1 − X ∗ | = d. Si r > d, alors le segment de longueur r issu de X ∗ et
                                        e                                      e
passant par X1 traversera la fronti`re ∂R et contiendra donc un point ext´rieur.)
      1
     Le lecteur plus avanc´ remarquera que des hypoth`ses sont sous-entendues sur R et sa
                          e                              e
fronti`re. En effet, nous supposons que R a une fronti`re ∂R continˆment diff´rentiable par
      e                                                e              u          e
                                                    a                          e     e
morceaux. Les autres lecteurs peuvent s’en remettre ` leur intuition en toute s´curit´ !
                                   e                       e
                              4.2 D´finition de squelette. R´gions bidimensionnelles    127

                e    e                                              e        e
    On a donc d´montr´ la proposition suivante, qui nous donne une d´finition ´quiva-
lente du squelette.

Proposition 4.3 Soient X ∗ ∈ R et d = minY ∈∂R |X ∗ − Y |. Le nombre d est le rayon
maximal pour que B(X ∗ , d) soit inclus(e) dans R. Le point X ∗ est dans le squelette
Σ(R) si et seulement si B(X ∗ , d) ⊂ R et S(X ∗ , d) ∩ ∂R contient au moins deux points.

   Il devient clair que, pour un point du squelette, cette distance d = minY ∈∂R |X ∗ −Y |,
qui d´pend de X ∗ , est un objet cl´, et la d´finition suivante lui donne un nom.
     e                             e         e

  e                          e
D´finition 4.4 Soit R une r´gion du plan (de l’espace). Pour chaque point X du sque-
lette Σ(R) de R, on note d(X) le rayon maximum du disque (de la boule) B(X, d(X))
      e
centr´(e) en X et inclus(e) dans R. On sait que

                                 d(X) = min |X − Y |.
                                          Y ∈∂R

                   e                                  e
   Voici enfin une d´finition dont nous verrons l’utilit´ technologique sous peu.

D´finition 4.5 Soit r ≥ 0. Le r-squelette d’une r´gion, not´ Σr (R), est l’ensemble des
  e                                                 e        e
                                 e a                  e          e     `               e
points du squelette qui sont situ´s ` une distance sup´rieure ou ´gale a r de la fronti`re
       e
de la r´gion :
                        Σr (R) = {X ∈ Σ(R)|d(X) ≥ r} ⊂ Σ(R).
On remarque que Σ(R) = Σ0 (R).

     e                                    e                                       a
    Mˆme avec cette reformulation, la d´finition de squelette n’est pas facile ` utiliser
                                                                        ıtre
pour trouver en pratique le squelette parce qu’elle suppose de connaˆ la distance de
                          e           a                               e
chacun des points de l’int´rieur de R ` chacun des points de la fronti`re. Elle peut quand
  e   e         e             e                e e
mˆme ˆtre utilis´e pour des r´gions de forme g´om´trique simple. Pour cela, les lemmes
suivants seront utiles.

                         e         e                     e    e
Lemme 4.6 1. On consid`re une r´gion angulaire R d´limit´e par deux demi-droites
               e                                       e
  issues d’un mˆme point O. Alors, le squelette de la r´gion est la bissectrice de l’angle
       e
  form´ par les deux demi-droites (figure 4.3a).
             e                   e    e                        e
2. On consid`re une bande R d´limit´e par deux droites parall`les (D1 ) et (D2 ) ` une
                                                                                  a
                                                           e                         e
   distance h l’une de l’autre. Alors, le squelette de la r´gion est la droite parall`le
   ´quidistante ` (D1 ) et (D2 ) (figure 4.3b).
   e            a

                                                              e
Preuve Nous ferons seulement la preuve dans le cas d’une r´gion angulaire. Soit P un
point du squelette. Regardons la figure 4.4. Par hypoth`se, |P A| = |P B| puisque P est
                                                         e
` ´gale distance des deux cˆt´s de l’angle. De plus, P AO = P BO = π . On doit montrer
ae                         o e                                      2
que P OA = P OB. Pour cela, on montrera que les deux triangles P OA et P OB sont
                                       o e e
congrus, en montrant qu’ils ont trois cˆt´s ´gaux. Ce sont deux triangles rectangles. Ils
128    4 Squelette et chirurgie aux rayons gamma




               (a) Squelette d’un angle            (b) Squelette d’une bande

                           Fig. 4.3. Les exemples du lemme 4.6




                            Fig. 4.4. La preuve du lemme 4.6



ont mˆme hypot´nuse c = |OP |. De plus, |P A| = |P B|. Finalement, de par le th´or`me
     e        e                                                                e e
de Pythagore,
                  |OA| = c2 − |P A|2 = c2 − |P B|2 = |OB|.
                                                  ` e       e
Comme les deux triangles sont congrus, on conclut a l’´galit´ des angles correspondants
P OA = P OB.

                                                  a
Lemme 4.7 1. Une droite tangente en un point P ` un cercle de centre O est perpen-
                                 e                                      a          e
  diculaire au rayon OP . En cons´quence, si ce cercle est tangent en P ` la fronti`re
              e                                                    e
  ∂R d’une r´gion R du plan, alors le centre O du cercle est situ´ sur la normale a  `
  ∂R en P .
2. Soit P un point d’un cercle S(O, r). Pour toute droite autre que la tangente au cercle
   en P , un segment de cette droite est inclus dans le disque B(O, r).

                                                    e
Preuve Pour faire la preuve, il nous faut une d´finition de la tangente. Regardons la
                         a                                        e
figure 4.5. Une tangente ` un cercle est la position limite d’une s´cante au cercle en deux
points A et B lorsque les points sont confondus. Comme |OA| = |OB|, le triangle OAB
        e
est isoc`le. On en conclut que OAB = OBA. Comme OAB + α = π et OBA + β = π,
                                    e                       e
                               4.2 D´finition de squelette. R´gions bidimensionnelles     129




                                    `
               Fig. 4.5. La normale a un cercle passe par le centre du cercle.



                      `
on conclut que α = β. A la limite, lorsque A et B sont confondus, on aura les deux
conditions
                                    α=β
                                    α + β = π.
                                     π
              a
On conclut qu’` la limite, α = β =   2.                         e
                                          Nous laissons la deuxi`me partie comme exercice.


Exemple 4.8 (le rectangle) Nous allons obtenir le squelette d’un rectangle R de base
                                           e
b et de hauteur h tel que b > h. D’apr`s le lemme 4.6, il est naturel de construire les
                                                                           oe
six droites qui peuvent contenir des points du squelette en prenant les cˆt´s du rectangle
      a                                                         e        oe
deux ` deux : les quatre droites bissectrices, la droite parall`le aux cˆt´s verticaux et la
              e        oe
droite parall`le aux cˆt´s horizontaux (voir la figure 4.6).
    On peut rapidement exclure tout segment de la droite verticale. En effet, prenons un
                                   e                                     oe
point sur cette droite qui soit int´rieur au rectangle. Sa distance aux cˆt´s verticaux sera
                                             oe
toujours plus grande que sa distance au cˆt´ horizontal le plus proche, car b > h. Et `     a
          e ae                        oe     e            e                              e
moins d’ˆtre ` ´gale distance des cˆt´s sup´rieur et inf´rieur, le cercle qui y est centr´ ne
touchera au rectangle qu’en un point. Un segment I de la droite horizontale appartient
 u                         `                                                       e
sˆrement au squelette. A nouveau, soit un point sur cette droite qui est int´rieur au
rectangle ; le cercle qui est de rayon h touche aux deux cˆt´s horizontaux. La seule
                                           2                     oe
restriction pour que ce point appartienne au squelette est que ce point ne soit pas trop
              oe                     a                   `                  e           e
proche des cˆt´s verticaux, c’est-`-dire qu’il en soit a une distance sup´rieure ou ´gale
` h . Si l’origine des coordonn´es cart´siennes co¨ncide avec le sommet inf´rieur gauche
a 2                              e       e          ı                          e
et si la base est le long de l’axe horizontal, alors les deux disques de rayon h avec trois
                                                                                 2
points de tangence sont centr´s en ( h , h ) et (b − h , h ). Nous venons donc d’identifier
                                 e       2 2           2 2
un segment qui sera un sous-ensemble du squelette du rectangle : I = {(x, h ) ∈ R2 | h ≤
                                                                              2           2
x ≤ b − h } ⊂ Σ(rectangle). Par un argument semblable, il est ais´ de se convaincre que
          2                                                          e
130    4 Squelette et chirurgie aux rayons gamma




      Fig. 4.6. Les six droites pouvant contenir des points du squelette d’un rectangle




les segments des bissectrices qui appartiennent au squelette Σ(rectangle) sont ceux qui
                                                                                e
vont des sommets jusqu’au segment I. Le squelette est donc, dans ce cas, la r´union
                                   e    e `
de ces cinq segments, et il est pr´sent´ a la figure 4.7a. Quelques disques maximaux
             a
apparaissent ` la figure 4.7b.




              (a) Le squelette                        (b) Quelques disques maximaux




                      h                                                                   h
             (c) Le   4
                        -squelette               (d) Quelques disques maximaux du         4
                                                                                            -
                                                 squelette

         Fig. 4.7. Le squelette d’un rectangle de base b sup´rieure ` la hauteur h
                                                            e       a
                                    e                       e
                               4.2 D´finition de squelette. R´gions bidimensionnelles    131

    Sur la figure 4.7c, on trouve un exemple de r-squelette. Nous avons choisi r = h .   4
Pour obtenir ce h -squelette, nous n’avons conserv´ que les centres des disques qui ont
                  4                                 e
un rayon sup´rieur ou ´gal ` h . La moiti´ des segments sur les bissectrices a ainsi
               e          e    a 4           e
ee       e
´t´ rejet´e. Le concept de r-squelette est utile pour la raison suivante : puisque les
                                                                                  e
doses d’une solution optimale pour une chirurgie aux rayons gamma sont centr´es sur
le squelette et que les doses attaquent une boule de rayon minimal r0 (r0 = 2 mm dans
                                            e         e `
la technologie actuelle), ces doses devront ˆtre centr´es a distance r0 de la fronti`re et
                                                                                    e
donc appartenir au r0 -squelette.
                                                     a     e
    Avant de donner un second exemple, revenons ` la d´finition intuitive du squelette
               e e                      u e                     e          e
comme lieu g´om´trique des points o` s’´teint un feu allum´ simultan´ment en tous
                        e
les points de la fronti`re ∂R. Dans cette analogie, chacun des points de la fronti`re  e
                                                                     a         e
est un foyer du feu. Le feu se propage de chacun de ces foyers ` vitesse ´gale dans
                          e       a        a
toutes les directions int´rieures ` R et, ` chaque instant, dessine un front qui est un
                                         e
arc de cercle. Nous dirons que le feu s’´teint en un point X de R si ce point est atteint
               e                e
pour la premi`re fois simultan´ment par deux fronts. La relation entre cette analogie
        e
et la d´finition formelle du squelette est alors limpide. Puisque X est atteint pour la
premi`re fois par les fronts issus de deux points X1 et X2 ∈ ∂R, c’est que ces points
      e
                      e
sont ceux de la fronti`re qui sont les plus proches de X ; puisque leurs fronts atteignent
            e                        ae
X simultan´ment, c’est qu’ils sont ` ´gale distance de X. Ainsi X est tel que

                         |X1 − X| = |X2 − X| = min |Y − X|,
                                                   Y ∈∂R

              e e
ce qui est pr´cis´ment la condition pour que X appartienne au squelette. Notons que
la condition que nous proposons pour que « le feu s’´teigne en X » n’est qu’intuitive.
                                                           e
Par exemple, lorsque deux fronts atteignent un point X sur la bissectrice issue d’un
                                   e
sommet du rectangle, le feu s’´teindra en ce point, mais poursuivra sa route le long
                                                   a
de la bissectrice. La figure 4.8 capture le feu ` deux instants, lorsque le feu a couvert
une distance de h (en (a)) et lorsqu’il a parcouru une distance de h (en (b)). Plusieurs
                   4                                                  2
                                     e            e
fronts issus des foyers sur la fronti`re sont trac´s pour ces deux moments. Seuls les quatre
points indiqu´s sur la figure 4.8a s’« ´teindront » au premier instant dessin´. Cependant,
               e                        e                                     e
                                                               e
au second instant choisi (figure 4.8b), tout l’intervalle I d´crit dans l’exemple ci-dessus
  e
s’´teindra. Cette analogie est fort riche et elle nous permettra d’obtenir le squelette pour
      e       e      e                        e        u          e
une r´gion d´limit´e par une courbe ferm´e continˆ ment diff´rentiable.
                 e                  e
Remarque Mˆme si le feu allum´ en un point se propage dans toutes les directions,
                                 e                                   e
lorsqu’on allume le feu simultan´ment en tous les points de la fronti`re, on voit le front
        a                                          a         e
avancer ` vitesse constante le long de la normale ` la fronti`re. Cela vient du fait que,
                                      e
dans les autres directions, le feu s’´teint parce qu’il rencontre le feu issu des autres
                   e
points de la fronti`re.

                                                            e
Exemple 4.9 (l’ellipse) Nous allumons le feu simultan´ment en chaque point de l’el-
                        `                   a      e
lipse, et il se propage a vitesse constante ` l’int´rieur de l’ellipse. En chaque point de
         e                                              `           e            `
la fronti`re, le feu se propage le long de la normale a la fronti`re. De plus, a chaque
132      4 Squelette et chirurgie aux rayons gamma




                                            h                                                h
        e
 (a) apr`s avoir parcouru une distance de   4
                                                         e
                                                  (b) apr`s avoir parcouru une distance de   2


                                 e                ea           e
               Fig. 4.8. Le progr`s d’un feu allum´ ` la fronti`re d’un rectangle



                                                                        `
instant il avance le long de la normale au front de feu en cet instant. A l’aide d’un logi-
                                             e                 e
ciel on peut faire tracer la ligne de feu apr`s un temps donn´ comme sur la figure 4.9.
      e                                `                               e
Au d´but, la ligne de feu ressemble a une ellipse (sans toutefois en ˆtre une). On voit
               ı
ensuite apparaˆtre des coins : c’est lorsque les premiers coins apparaissent que le feu
            ` e
commence a s’´teindre.




                      (a)                                            (b)

                     Fig. 4.9. Avance de la ligne de feu pour une ellipse



                                            e
      Supposons que notre ellipse ait comme ´quation

                                         x2   y2
                                           2
                                             + 2 = 1,
                                         a    b
                                                      u          e
avec a > b. Alors on remarque que les points o` le feu s’´teint sont les points o`       u
              `
la normale a l’ellipse en un point (x0 , y0 ) rencontre la normale a l’ellipse au point
                                                                       `
(x0 , −y0 ). Pour des raisons de sym´trie, ce sont pr´cis´ment les points o` ces normales
                                    e                 e e                   u
                                               e        e e
coupent l’axe des x (ces points sont bien d´termin´s d`s que y0 = 0). D´terminons
                                                                               e
                                                                 ´
l’ensemble de ces points. Soit (x0 , y0 ) un point de l’ellipse. Ecrivons l’´quation de la
                                                                            e
           `                                                        `
normale a l’ellipse en ce point : pour cela, on assimile l’ellipse a la courbe de niveau
F (x, y) = 1 de la fonction
                                               x2   y2
                                   F (x, y) = 2 + 2 .
                                               a     b
                                          e                       e
                                     4.2 D´finition de squelette. R´gions bidimensionnelles   133

Le vecteur gradient
                                            ∂F ∂F                     2x0 2y0
                          ∇F (x0 , y0 ) =     ,        (x0 , y0 ) =      ,
                                            ∂x ∂y                      a2 b 2
             `
est normal a l’ellipse en (x0 , y0 ). (Rappelez-vous : le gradient d’une fonction a plu-
                                                                                       `
sieurs variables est perpendiculaire aux courbes (ou aux surfaces) de niveau !) La nor-
      `
male a l’ellipse en (x0 , y0 ) est donc la droite passant par (x0 , y0 ) et parall`le au vec-
                                                                                  e
teur ∇F (x0 , y0 ) = 2x0 , 2y0 . Pour trouver son ´quation, on ´crit que le vecteur
                          a2   b2                        e              e
(x − x0 , y − y0 ) est parall`le au vecteur 2x0 , 2y0 , ce qui donne
                             e               a2    b2

                                   2y0            2x0
                                       (x − x0 ) − 2 (y − y0 ) = 0.
                                    b2             a
Pour trouver le point d’intersection de cette droite avec l’axe des x, on pose y = 0. On
obtient
                              b2 2x0 y0             b2        a2 − b 2
                   x = x0 −         2
                                        = x0 1 − 2 = x0                .
                             2y0 a                  a            a2
(On voit qu’on a dˆ utiliser dans ce calcul le fait que y0 = 0.) Si x0 ∈ (−a, a), alors
                  u
         2
             −b2 a2 −b2
x ∈ −a       a ,    a      . Le squelette est donc le segment

                                                   a2 − b 2 a 2 − b 2
                                  y = 0,    x∈ −           ,          .
                                                      a         a
                     e                     e
Nous avons ajout´ les deux points extrˆmes, car il est naturel que le squelette soit un
                 e
ensemble ferm´. Notons cependant que le disque tangent en chacun de ces deux points
     e                                                         e e
extrˆmes ne touche l’ellipse qu’en un point (une des extr´mit´s du grand axe). Malgr´        e
                                                                                e
cette observation, l’inclusion de ces deux points dans Σ(ellipse) est justifi´e. L’exercice
16 explique pourquoi (ces points sont des points multiples de tangence).
                                        e e
    On aurait pu penser que les extr´mit´s du squelette seraient les foyers de l’ellipse.
  e
V´rifions que ce n’est pas le cas. Pour cela, nous allons recalculer la position des foyers
                                   e                                       ee
de l’ellipse. Ceux-ci sont situ´s aux points (±c, 0). Ils ont la propri´t´ que, pour tout
point (x0 , y0 ) de l’ellipse, la somme des distances de (x0 , y0 ) aux deux foyers (−c, 0) et
(c, 0) est constante. Prenons les point particuliers (a, 0) et (0, b). Pour le premier point
(a, 0), la somme de ses distances aux foyers est

                                        (a + c) + (a − c) = 2a.

             e
Pour le deuxi`me point (0, b), la somme de ses distances aux foyers est

                                              2 b 2 + c2 .
                         √
On doit donc avoir 2a = 2 b2 + c2 ce qui donne

                                            c=      a2 − b 2 .
134       4 Squelette et chirurgie aux rayons gamma




Fig. 4.10. Squelette de l’ellipse. Les rayons des cercles inscrits relient le point X du squelette
aux deux points sur la fronti`re d’o` originent les feux qui s’´teindront en X.
                              e      u                          e



     e
4.3 R´gions tridimensionnelles
         e             e                                               e
    La d´finition donn´e plus haut s’applique sans changement aux r´gions tridimen-
                                                                                  e
sionnelles. On peut cependant distinguer certains points du squelette Σ(R) d’une r´gion
tridimensionnelle selon le nombre de points de tangence d’une boule maximale avec la
      e
fronti`re de R.

D´finition 4.10 Soient R une r´gion de l’espace et ∂R sa fronti`re. La partie « lin´-
  e                               e                           e                   e
aire » du squelette est d´finie comme suit :
                         e

      Σ1 (R) = {X ∗ ∈ R | ∃ X1 , X2 , X3 ∈ ∂R tels que X1 = X2 = X3 = X1 et tels que
                            |X ∗ − X1 | = |X ∗ − X2 | = |X ∗ − X3 | = min |X ∗ − X|}.
                                                                        X∈∂R

La partie « surface » du squelette de R est

                                   Σ2 (R) = Σ(R) \ Σ1 (R).



                  o                                  o             e
Exemple 4.11 (le cˆne de section circulaire) Le cˆne plein est la r´gion de l’es-
         e
pace donn´e par
                        {(x, y, z) ∈ R3 |z > x2 + y 2 }.
Les boules qui ont deux points de tangence en ont automatiquement une infinit´, et     e
                                 o                                                  o
leur centre est sur l’axe du cˆne. Le squelette est donc l’axe des z positifs, Σ(cˆne) =
{(0, 0, z), z > 0}, et le squelette du cˆne ne contient qu’une partie lin´aire. Comme nous
                                         o                               e
             `                         e                                   e            e
le verrons a l’instant, ce cas est tr`s particulier. La figure 4.11a repr´sente la fronti`re
     o                                     e
du cˆne, son squelette (son axe de sym´trie) et une boule tangente.
                                                                e
                                                           4.3 R´gions tridimensionnelles        135




                             o
    (a) Le squelette d’un cˆne plein de                                              e
                                                       (b) Le squelette d’un angle di`dre est
                               e
    section circulaire est donn´ par son                    e
                                                       donn´ par le demi-plan bissecteur.
    axe.

                                   e                            e               e
Fig. 4.11. Squelettes de deux r´gions simples. En (a), la r´gion est l’int´rieur d’un cˆne deo
section circulaire. (Le cˆne est plein mˆme si seule sa fronti`re est ici trac´e.) L’axe vertical est
                         o              e                     e               e
son squelette, et une des boules tangentes est repr´sent´e avec son cercle de tangence ` ∂R.
                                                      e    e                                   a
En (b), la r´gion R est l’angle di`dre, c’est-`-dire le sous-ensemble de R3 compris entre deux
            e                       e         a
                               e
demi-plans infinis ayant la mˆme droite commune comme fronti`re.     e



                              e                 e       e e
Exemple 4.12 (l’angle di`dre) Une autre r´gion g´om´trique simple est la r´gion     e
     e                e     e      e                        e
limit´e par l’angle di`dre d´termin´ par deux demi-plans s´cants. Alors, le squelette est
le demi-plan bissecteur. Le squelette n’a, dans ce cas, qu’une partie surface. La figure
                                 e                                                     e
4.11b trace les deux demi-plans s´cants en blanc ; le squelette est le demi-plan ombrag´.
                                               e                e
Une boule et ses deux points de tangence sont ´galement repr´sent´s.  e

                         e e      e
   Les deux exemples pr´c´dents ´taient intuitivement fort simples. Leur squelette n’est
                                   e e                          e
cependant pas typique, car, en g´n´ral, le squelette d’une r´gion de l’espace poss`de  e
              e                                                                    e
une partie lin´aire et une partie surface. Dans beaucoup de cas, la partie lin´aire du
                                                   e
squelette (ou une partie de celle-ci) est la fronti`re de la partie surface. Voici donc un
                        e
autre exemple plus repr´sentatif.

                          ee      e
Exemple 4.13 (le parall´l´pip`de rectangle avec deux faces carr´es)      e
La r´gion R est maintenant un parall´l´pip`de R = [0, b] × [0, h] × [0, h] ⊂ R3 tel que
    e                                 ee e
                                                                      e
b > h. Pour simplifier la visualisation, nous avons choisi deux des arˆtes orthogonales
136      4 Squelette et chirurgie aux rayons gamma

              e
de longueur ´gale. Comme pour le cas du rectangle, nous devons trouver des boules
                                                        e
ayant au moins deux points de tangence avec la fronti`re de R. Ces deux points devront
  e                          a
n´cessairement appartenir ` des faces distinctes. Pour toute une famille de ces boules,
elles touchent simultan´ment aux quatre faces d’aire b × h. Elles sont de rayon h , et
                         e                                                           2
le segment J = {(x, 2 , 2 ) ∈ R3 , h ≤ x ≤ b − h } sera un sous-ensemble de la partie
                       h h
                                    2              2
    e                                                e
lin´aire du squelette. Comme pour les disques coll´s au coin du rectangle, des boules de
rayon inf´rieur ou ´gal a h peuvent, dans le cas pr´sent, toucher ` trois faces contigu¨s.
          e         e    ` 2                         e             a                   e
                    e                           ee e                   e
Ainsi, la partie lin´aire du squelette du parall´l´pip`de sera constitu´e du segment J et
                                                                 e            e    e a
de segments de droite issus des huit sommets. Cette partie lin´aire est repr´sent´e ` la
figure 4.12a.
                                u                            e
     On peut diminuer continˆment le rayon d’une sph`re touchant quatre faces en
   e                                                        e           e
pr´servant au moins deux points de tangence. On peut ´galement d´placer une sph`re      e
     e                                                                e
coll´e aux trois faces d’un sommet vers un autre sommet tout en pr´servant deux points
                                                 e             e
de tangence. Les centres de ces nouvelles sph`res sont situ´s maintenant sur des po-
                      e                                        e               e
lygones dont les arˆtes sont des segments du squelette lin´aire ou des arˆtes du pa-
     ee e                                     e
rall´l´pip`de initial. Ces polygones sont situ´s dans les demi-plans bissecteurs des angles
   e          e                          ee e
di`dres form´s par deux faces du parall´l´pip`de. Deux angles de vue du squelette entier
        e     e                  e                                        e            e `
sont pr´sent´s sur la ligne inf´rieure de la figure 4.12. La partie lin´aire est situ´e a
                           u
l’intersection des plans o` se trouve la partie surface.




                       e
      (a) La partie lin´aire du                      e
                                    (b) Une premi`re vue du                       e
                                                                   (c) Une deuxi`me vue
      squelette                     squelette entier               du squelette entier

        Fig. 4.12. Squelette du parall´l´pip`de rectangle (b > h) avec deux faces carr´es
                                      ee e                                            e




    Ces exemples sont loin des cas pratiques. Seul un ordinateur peut attaquer le cas
     e
des r´gions complexes qu’on retrouve en chirurgie. Cependant, comme le squelette est
              e
un concept tr`s important en sciences (voir la section 4.6), il se fait beaucoup de re-
                                              e
cherche pour trouver de bons algorithmes num´riques permettant de le calculer (voir la
section 4.5).
                                           4.4 L’algorithme optimal pour la chirurgie     137

4.4 L’algorithme optimal pour la chirurgie

                               e           e             ee
    Dans cette section, nous d´crivons bri`vement les ´l´ments de base d’un algorithme
                                                           `
optimal pour la chirurgie au scalpel gamma. Il fait appel a la programmation dynamique
([4] et [5]).
           e                                                                     e
    Au d´part, il faut se rappeler qu’on n’a pas besoin d’irradier toute la r´gion, mais
seulement une fraction 1 − de celle-ci (voir (4.1)). Pourquoi cela ? Rappelons-nous
             e                                                                       e
que l’unit´ de traitement focalise 201 sources radioactives de cobalt 60 dispos´es sur
                              e a                                           e
un casque focalisant de mani`re ` ce qu’elles s’intersectent sur une sph`re. Comme ces
                                                                 e          e
sources viennent de toutes les directions, il est clair que les r´gions situ´es au voisinage
         e        e     c                                                     e
des sph`res irradi´es re¸oivent aussi une bonne dose de radiation. L’exp´rience montre
qu’on n’a pas besoin que les doses se recouvrent, tant qu’elles sont suffisamment serr´es  e
                                                                      e
les unes contre les autres. L’autre chose qu’il faut garder en m´moire est qu’on n’a
besoin que d’une solution « raisonnablement optimale ». Enfin, la troisi`me consid´ration
                                                                          e          e
pratique est qu’on ne dispose que de quatre rayons pour les doses de radiation.
       e
   L’id´e de base d’un algorithme de programmation dynamique est qu’on ne pro-
                                   e                     e         e
gramme pas d’un coup toute la strat´gie, mais qu’on y va ´tape par ´tape.
                                  e
Le principe de base de la strat´gie Supposons qu’une solution optimale pour une
r´gion R soit donn´e par ∪N B(Xi∗ , ri ). Alors, si I ⊂ {1, . . . , N }, ∪i∈I B(Xi∗ , ri ) est
 e                 e       i=1                                             /
forc´ment une solution optimale pour R \ ∪i∈I B(Xi∗ , ri ) (voir l’exercice 8).
    e
         ıf                                  e
    Si na¨ qu’il paraisse, ce principe est tr`s puissant. Il nous permet d’appliquer un
     e e e            o                                          e
proc´d´ it´ratif. Plutˆt que de calculer l’ensemble des doses n´cessaires pour irradier
      e                                 e                   e
une r´gion R, on en choisit une premi`re que l’on consid`re raisonnablement optimale
                              ∗
et qui couvre une boule B(X1 , r1 ).
                         e
Le choix de la premi`re dose Une dose d’une solution optimale est une dose centr´e          e
sur le squelette. On se rappellera que les doses des appareils ont quatre rayons possibles
r1 < r2 < r3 < r4 ; il est donc naturel de travailler avec les ri -squelettes. Raisonnons
           e                                 e                          e
pour une r´gion plane. La dose sera centr´e soit en un point extrˆme d’un ri -squelette,
soit en un point d’intersection de plusieurs branches du squelette (figure 4.13). (Dans le
            e                   e
cas d’une r´gion de l’espace, l’´quivalent d’un point d’intersection de plusieurs branches
                                             e                                e
du squelette est un point de la partie lin´aire du squelette. Il peut mˆme exister des
                                                     e
points d’intersection de branches de la partie lin´aire du squelette en lesquels une boule
                         a         e
maximale est tangente ` la fronti`re en au moins quatre points.) Dans le cas d’une dose
      e                   e
centr´e en un point extrˆme d’un ri -squelette, on remplit un bout de la r´gion. Dans le
                                                                                e
      e                            e                                             `
deuxi`me cas, on irradie une sph`re qui touche en au moins trois points a la fronti`re.   e
                              e e a
Comment choisir ? On a int´rˆt ` utiliser le plus de grosses doses possibles. Mais on
                                                            e
ne dispose pas de tous les rayons possibles. La deuxi`me option est bonne si on peut
trouver un point d’intersection, X, de branches du squelette pour lequel on a une dose
              e
de rayon ad´quat : il faut pour cela que le rayon d(X) du disque maximal B(X, d(X))
centr´ en X soit ` peu pr`s l’un des ri , i = 1, 2, 3, 4. Alors, un tel disque sera tangent en
      e           a        e
              a         e
trois points ` la fronti`re de R. Dans le cas contraire, il vaut mieux choisir de centrer
138     4 Squelette et chirurgie aux rayons gamma




                  e
      (a) La premi`re dose de      (b) Le squelette de la                 e
                                                                (c) La r´gion irradi´ee
      rayon 4 mm                    e                  e
                                   r´gion restante apr`s        avec des doses de rayons
                                   deux doses de rayons 4       2, 4, 7 et 9 mm
                                   et 7 mm

                            e       e                           e
          Fig. 4.13. Les diff´rentes ´tapes d’irradiation de la r´gion de la figure 4.1



                                                                               e
un disque en un bout d’un ri -squelette. Dans ce cas, il faut choisir le ri ad´quat. Ceci
d´pend de la forme de la r´gion au voisinage du point extrˆme du ri -squelette. Si la
 e                          e                                  e
 e
r´gion a une forme assez pointue, alors on doit choisir un ri petit pour que l’extr´mit´
                                                                                      e   e
          e                  e                             e         a                c
non irradi´e ne soit pas situ´e trop loin de la zone irradi´e, c’est-`-dire qu’elle re¸oive
         e                                         e
quand mˆme des radiations (figure 4.14). Si la r´gion est moins pointue, on peut se
permettre un ri plus grand.




                     (a) Un petit rayon               (b) un plus grand rayon

                                                   e                  e
      Fig. 4.14. Le choix du rayon d’une dose centr´e en un point extrˆme du squelette




                                                                    ∗
                                                   e                            e
La suite de l’algorithme Une fois qu’on a appliqu´ une dose B(X1 , r1 ), on it`re, tout
                                                  ∗
simplement : on consid`re la r´gion R1 = R \ B(X1 , r1 ). On cherche son squelette, et
                      e       e
    e                                                                             e
on d´termine une dose raisonnablement optimale, et ainsi de suite. Le seuil de tol´rance
                                                                            e
                                                       4.5 Un algorithme num´rique      139

            e                e                      e
permet de d´cider quand arrˆter. Si l’on veut am´liorer l’algorithme, on lui fait choisir
                             ∗
plusieurs doses initiales B(X1 , r1 ) et, pour chacune, plusieurs doses subs´quentes.
                                                                            e


                     e
4.5 Un algorithme num´rique pour trouver le squelette

                    e
    C’est un probl`me non trivial que de programmer un bon algorithme pour trouver le
                  e                              `                    e             e
squelette d’une r´gion. Nous nous limiterons ici a examiner le probl`me pour une r´gion
                                                           e
plane R. Nous admettrons sans preuve que, si notre r´gion est simplement connexe
       a
(c’est-`-dire d’un seul tenant et sans trou), alors le squelette est un graphe particulier
      e
appel´ arbre.
          e                                           e
    Les d´finitions de graphe varient dans la litt´rature. Dans cette section, nous
       e                            e
consid´rons des graphes non orient´s.

 e                                                e          e
D´finition 4.14 1. Un graphe (non orient´) est form´ d’un ensemble de sommets
   S1 , . . . , Sn et d’arˆtes joignant deux sommets. Pour chaque paire de sommets
                          e
   {Si , Sj } distincts, i = j ∈ {1, . . . , n}, on a au plus une arˆte de sommets Si et
                                                                    e
   Sj .
                                    e
2. On dit que deux graphes sont ´quivalents si les deux conditions suivantes sont sa-
   tisfaites :
   • on a une bijection h entre les sommets du premier graphe et ceux du second
      graphe ;
   • il y a une arˆte entre Si et Sj dans le premier graphe si et seulement si il y a une
                  e
        e
      arˆte entre h(Si ) et h(Sj ) dans le second graphe.

 e
D´finition 4.15 1. Un graphe est connexe si, pour toute paire de sommets Si et Sj , il
   existe des sommets T1 = Si , T2 , . . . , Tn−1 , Tn = Sj tels que chaque paire de sommets
   cons´cutifs {Tm , Tm+1 } est connect´e par une arˆte. La suite {T1 , . . . Tn } est un
        e                                    e              e
   chemin entre Si et Sj .
   ´           e                                 e
2. Etant donn´ un graphe, un ensemble d’arˆtes distinctes Ai , i = 1, . . . , n, de sommets
   respectifs Si et Si+1 , est un cycle si S1 = Sn+1 .
3. Un graphe est un arbre s’il est connexe et n’a pas de cycle.

        e                                   e              e
   Num´riquement, on teste si les points int´rieurs d’une r´gion sont sur le squelette.
               e                        `                      e
Les erreurs num´riques peuvent conduire a deux types de probl`mes :
                                                        e
 (i) Le squelette peut devenir non connexe si on a manqu´ certains points.
                                                   e
 (ii) Au contraire, on peut voir des branches suppl´mentaires si on a faussement inclus
     des points dans le squelette.
Dans tous les cas, on a chang´ la « topologie » du squelette. D’o` l’importance d’un
                               e                                 u
algorithme « robuste », c’est-`-dire qui ne produise pas de tels d´fauts. Nous allons
                              a                                   e
 e
d´crire un algorithme de [2].
140    4 Squelette et chirurgie aux rayons gamma

                                                     e
    L’algorithme comprend deux parties : une premi`re partie utilise l’analogie avec la
                           e            e          e
propagation du feu allum´ sur la fronti`re de la r´gion. Le feu se propage le long des
                                                            e
lignes de flot d’un champ de vecteurs. Ceci permet de d´limiter approximativement
                                                              e
l’emplacement des points du squelette comme des discontinuit´s du champ de vecteurs,
             e                  e       e    e e                      e
mais ne rem´die pas aux inconv´nients ´num´r´s ci-dessus. La deuxi`me partie de l’al-
gorithme veut pallier ces inconv´nients en pr´servant la « topologie » du squelette.
                                e            e


           e
4.5.1 Premi`re partie de l’algorithme

         e               e                                               e        e
    L’id´e est de consid´rer l’analogie avec la propagation du feu allum´ simultan´ment
en tout point de ∂R. A partir de chaque point de X ∈ ∂R, le feu se propage ` une vitesse
                       `                                                    a
                                    e     `             e
constante (que l’on va supposer ´gale a 1) vers l’int´rieur le long de la normale en X
` ∂R. Si un point X se trouve sur la normale ` ∂R en un point X1 ∈ ∂R, le vecteur
a                                                  a
                                                                   `
vitesse en X est de longueur 1, dans la direction de la normale a ∂R en X1 , pointant
           e                     e
vers l’int´rieur de R. La donn´e de ce vecteur vitesse en chaque point de R nous donne
un champ de vecteurs V (X) sur R (figure 4.15). Mais attention : si on a un point X sur
                          a                             `
le squelette de R, il est ` l’intersection des normales a ∂R en au moins deux points X1
                                       e
et X2 . Donc, V (X) n’est pas bien d´fini aux points de Σ(R), et V (X) est discontinu au
                                            ee                          e
voisinage d’un tel X. C’est cette propri´t´ qu’on veut utiliser pour d´tecter les points
du squelette.




                (a) rectangle                                    (b) ellipse

        Fig. 4.15. Le champ de vecteurs V (X) et le squelette en trait pointill´ gris
                                                                               e



   Pour cela, il nous faut pouvoir manipuler analytiquement le champ de vecteurs
                 e
V (X) : on consid`re sur R la fonction

                                  d(X) = min |X − Y |                                   (4.3)
                                           Y ∈∂R

qui est la distance de X ∈ R ` la fronti`re ∂R. C’est la g´n´ralisation ` toute la r´gion R
                              a         e                 e e           a           e
                                      a     e                              e
de la fonction d introduite sur Σ(R) ` la d´finition 4.4. Cette fonction d´pend des deux
variables qui sont les coordonn´es de X. On va ensuite montrer que V (X) = ∇d(X).
                                e
                                                                                   e
                                                              4.5 Un algorithme num´rique            141

D´finition 4.16 1. Soient U un ouvert de Rn et r ≥ 1. Une fonction
 e
   F = (f1 , . . . , fm ) : U → Rm est de classe C r si pour tout (i1 , . . . , ir ) ∈ {1, . . . , n}r et
                                                         ∂ r fj
   pour tout j ∈ {1, . . . , m} la d´riv´e partielle ∂xi ···∂xi existe et est continue. Dans
                                    e e
                                                         1      r
           u                                                      u
   le cas o` r = 1, on dit aussi que la fonction est continˆment diff´rentiable.  e
 2. On dit qu’une courbe C de R2 est de classe C r si pour tout point X0 de C, il existe
    un voisinage U de X0 dans R2 et une fonction F : U → R de classe C r tels que
    C ∩ U = {X ∈ U |F (X) = 0}, et que le gradient de F ne s’annule pas sur U .


Proposition 4.17 Soit R une r´gion telle que ∂R est de classe C 2 . Alors, la fonction
                                   e
d(X) est de classe C 1 aux points de R\Σ(R). Le champ ∇d(X) est continu sur R\Σ(R).
Si, de plus, ∂R est de classe C 3 , alors ∇d(X) est de classe C 1 sur R \ Σ(R).

                               e e                                                   e e
   La preuve fait appel au th´or`me des fonctions implicites qui est d’un niveau ´lev´.
                               e                  a                                  e
Pour ne pas couper le fil des id´es, on la retarde ` la section 4.5.3. On peut aussi d´cider
d’accepter la preuve et se concentrer sur le reste de l’algorithme qui est d’un niveau
     ee
plus ´l´mentaire.
                                  e                   e
    Examinons, par contre, la cons´quence qui nous int´resse.

Proposition 4.18 En un point X ∈ R \ Σ(R), le champ de vecteurs V (X) est le
gradient ∇d(X) de la fonction d(X) d´finie en (4.3). C’est un vecteur de longueur 1.
                                    e

Preuve Regardons un point X0 ∈ R\Σ(R). Alors, B(X0 , d(X0 )) ⊂ R, et S(X0 , d(X0 ))
est tangent a ∂R en un unique point X1 . Le gradient de d(X) en X0 , ∇d(X0 ), est dirig´
             `                                                                              e
                    u
dans la direction o` le taux de croissance de d(X) est le plus rapide. Nous allons nous
                                                          a                         e
convaincre que cette direction est celle de la normale ` ∂R, pointant vers l’int´rieur de
R, soit la direction de la droite X1 X0 . En effet, la d´riv´e directionnelle de d dans la
                                                          e e
direction d’un vecteur unitaire u est donn´e par ∇d(X0 ), u , o` ., . d´note le produit
                                             e                      u       e
           ` e              e
scalaire. A l’´chelle infinit´simale, on peut identifier un petit morceau de la fronti`re   e
                      a
au voisinage de X1 ` un petit segment dans la direction du vecteur tangent v(X1 ) ` la   a
      e
fronti`re en X1 . Donc, si on bouge X0 dans la direction parall`le ` v(X1 ), la d´riv´e
                                                                     e a               e e
directionnelle de d(X0 ) dans cette direction est nulle, puisque la fonction d est constante.
Alors, ∇d(X0 ) est orthogonal ` v(X1 ), et donc, ∇d(X0 ) est un multiple de X0 − X1 .
                                a
La longueur du vecteur ∇d(X0 ) est donn´e par la d´riv´e directionnelle de d(X) en X0
                                            e           e e
dans la direction du vecteur X0 − X1 . Sur cette droite, on a d(X) = |X − X1 | tant que
X n’est pas sur le squelette. Comme on peut supposer X1 constant, il est facile de faire
le calcul, et on voit que ∇d(X0 ) = |X0 −X1 | , qui est bien de longueur 1.
                                      X
                                        0 −X1




  e                           e                                   e
D´finition 4.19 On consid`re un champ de vecteurs V (X) d´fini sur une r´gion R et e
un cercle S(X0 , r) param´tr´ par θ ∈ [0, 2π] : X(θ) = X0 + r(cos θ, sin θ), tel que le
                           e e
disque B(X0 , r) soit inclus dans R. Soit N (θ) = (cos θ, sin θ) le vecteur unitaire normal
142    4 Squelette et chirurgie aux rayons gamma

a                                                                                 e
` S(X0 , r) en X(θ). Le flux du champ V (X) le long d’un cercle S(X0 , r) est l’int´grale
de ligne
                                                2π
                                  I=                 V (X(θ)), N (θ) dθ,               (4.4)
                                            0
 u                     e
o` V (X(θ)), N (θ) repr´sente le produit scalaire de V (X(θ)) et N (θ).

Lemme 4.20 Le flux d’un champ de vecteurs constant V (X) = (v1 , v2 ) le long de tout
cercle S(X0 , r) est nul.
Preuve
                                                2π
                              I       =         0
                                                 V (X(θ)), N (θ) dθ
                                                2π
                                      =         v1 cos θ + v2 sin θ dθ
                                                0
                                                                    2π
                                      =      (−v1 sin θ + v2 cos θ) 0
                                      =      0.


                                               e
    Le lemme 4.20 nous fournit la clef pour d´terminer approximativement les points du
squelette. En effet, lorsqu’on est dans le voisinage d’un point X0 loin du squelette et
qu’on prend de petits disques de fronti`re S(X0 , r), le champ de vecteurs V (X) sur le
                                          e
disque B(X0 , r) est presque constant. On peut donc se convaincre que son flux le long
                          e
du cercle S(X0 , r) est tr`s petit. Par contre, il est facile de se convaincre que le flux est
important si le disque contient des points du squelette (exemple 4.21 ci-dessous).
    Ce d´faut nous fournit notre test : pour d´cider si un point X ∈ R est sur le squelette,
         e                                     e
                                                                                   e
on calcule (4.4) sur un petit cercle entourant X et contenu dans R. Si l’int´grale est
      ca
en de¸` d’un certain seuil, on conclut que X n’est pas sur le squelette. Si l’int´gralee
 e                                                                 e e
d´passe le seuil, on se doute que le petit cercle qu’on a consid´r´ contient des points du
squelette et on raffine la recherche.

Exemple 4.21 Les morceaux de courbes du squelette peuvent ressembler, a petite `
e        `
´chelle, a des segments de droite. Prenons le cas d’une portion de squelette qui est un
                                                                  e
segment, par exemple un morceau de l’axe des x. Alors, on peut v´rifier que le champ
                e
V (X) est donn´ par
                                         (0, −1), y > 0,
                             V (x, y) =
                                         (0, 1),   y < 0.
Si on regarde un cercle S(X0 , r) centr´ sur l’axe des x, on a
                                       e
                                      π                     2π
                         I=               − sin θ dθ +           sin θ dθ = −4.
                                  0                        π

           e             e                                                 e
On peut v´rifier que l’int´grale est encore non nulle si le cercle est centr´ en dehors de
l’axe des x, mais contient des points de l’axe des x. Le calcul est seulement un peu plus
         e      e                           a                                  e
compliqu´. L’int´grale diminue au fur et ` mesure que le centre du cercle s’´loigne de
l’axe des x.
                                                                                 e
                                                            4.5 Un algorithme num´rique    143

                                         e
Implantation pratique de la premi`re partie Supposons que la fonction d de
                             eae e         e       e                  e a
(4.3) et son gradient aient d´j` ´t´ calcul´s. La r´gion R est identifi´e ` un ensemble
                       a                              e
de pixels appartenant ` R. Prenons un pixel P et d´cidons si ce point appartient ou
                                          a
non au squelette. Ses huit voisins, c’est-` dire les pixels qui le touchent par le coin
             o e          e     e                                             o e
ou par un cˆt´, sont repr´sent´s sur la figure 4.16a. Soit δ la longueur du cˆt´ d’un




        (a) Les huit voisins           (b) On enl`ve P
                                                 e                    (c) On        e
                                                                               n’enl`ve
        de P                                                          pas P

Fig. 4.16. Les huit pixels voisins du pixel P et les graphes permettant de d´cider si on enl`ve
                                                                            e               e
P



                  e                             e
pixel. Consid´rons le cercle S(P, δ) centr´ en P de rayon δ et prenons huit points Pi ,
                                                  e            e                             e
i = 1, . . . , 8, divisant ce cercle en huit arcs ´gaux et situ´s respectivement dans le carr´
                                                                          a
repr´sentant le pixel i. On calcule le vecteur unitaire Ni normal ` S(P, δ) en Pi . On
    e
                 a                   e       e
approxime (` une constante pr`s) l’int´grale (4.4) par la quantit´      e
                                                8
                                          2π
                                I(P ) =              Ni , ∇d(Pi ) .
                                           8   i=1


Le point P peut ˆtre exclu si |I(P )| < , o` est un seuil ad´quatement choisi. Si le
                    e                            u                  e
                e e        e      a
seuil est assez ´lev´, on r´ussit ` enlever les branches qui ne font pas partie du squelette.
Par contre, on risque d’en enlever trop et de se retrouver avec un squelette en plusieurs
morceaux.


           e
4.5.2 Deuxi`me partie de l’algorithme

                 e
   Comment pr´venir ce fractionnement du squelette ? Et comment peut-on conserver
                                                                        `
au squelette sa forme d’arbre ? Pour cela, on construit le squelette a petits pas. Pour
                        e                                                e     e
chaque pixel, on doit d´cider s’il est ou non dans le squelette. On proc`de d´licatement,
en enlevant les pixels non compris dans le squelette. On y va, couche par couche, en
                    e                       e                                 `
partant de la fronti`re et on obtient une r´gion de plus en plus petite, qui, a la fin, n’est
                               e              e               ` e
que le squelette suffisamment ´paissi pour ˆtre bien visible a l’´cran. Chaque fois qu’on
                            e            e
doit enlever un pixel, on v´rifie que la r´gion restante, qui devient de plus en plus mince
144     4 Squelette et chirurgie aux rayons gamma

                                                              e
et qui se rapproche d’un graphe, reste connexe, et qu’on ne cr´e pas de cycle dans le
                               e
graphe. Voyons maintenant les d´tails.
                                                e
Implantation pratique de la deuxi`me partie On commence par d´cider que les          e
                      e
pixels de la fronti`re ne font pas partie du squelette. On analyse ensuite les pixels un
                                     e
par un, en partant de la fronti`re. Pour un pixel P , on commence par calculer I(P ). Si
|I(P )| < , le pixel P peut ˆtre enlev´. Pour d´cider si on l’enl`ve, on regarde l’´tat de
                                 e            e           e                e                e
                                                                        ee        e
ses huit voisins de la figure 4.16a. Si aucun des voisins n’a ´t´ enlev´, on n’enl`ve pas    e
              e                                                    ee        e
P , car on cr´erait un trou. Si au moins un des voisins a ´t´ enlev´, alors on construit un
                                      e                     e
graphe sur les voisins non enlev´s. On met une arˆte entre i et j si i et j sont voisins par
     o e
un cˆt´ ou par un coin. Les paires de voisins possibles sont : (1, 2), (2, 3), (3, 4), (4, 5),
                                                                                              e
(5, 6), (6, 7), (7, 8), (8, 1), (2, 4), (4, 6), (6, 8), (8, 2). Par contre, on ne veut pas cr´er de
                                                         e
cycle dans le graphe. De tels cycles sont donn´s par les triplets d’arˆtes      e
                                      ⎧
                                      ⎪{(1, 2), (8, 1), (8, 2)},
                                      ⎪
                                      ⎪
                                      ⎨{(2, 3), (3, 4), (2, 4)},
                                      ⎪{(4, 5), (5, 6), (4, 6)},
                                      ⎪
                                      ⎪
                                      ⎩
                                         {(6, 7), (7, 8), (6, 8)}.
                        e                   e       e
Si un tel triplet est pr´sent, alors on enl`ve l’arˆte diagonale. Par exemple, on remplace le
triplet d’arˆtes {(1, 2), (8, 1), (8, 2)} par le couple d’arˆtes {(1, 2), (8, 1)}. Une fois qu’on
             e                                              e
                                                                                      ee
a construit ce graphe dont les sommets sont les voisins de P qui n’ont pas ´t´ enlev´s,         e
       e
on enl`ve P si et seulement si ce graphe est un arbre (voir figure 4.16b et c). Une fois
           e e             e                                                        e
qu’on a d´cid´ si on enl`ve P ou non, on s’occupe du pixel suivant de la mˆme mani`re.        e
                    e                                                          e a
Notons qu’une m´thode pour tester si ce graphe est un arbre est donn´e ` l’exercice 15.
                e           e     e e     e            e
Remarque Cette m´thode peut ˆtre g´n´ralis´e pour des r´gions tridimensionnelles.

4.5.3 Preuve de la proposition 4.17
                                                                  e
     Rappelons que la proposition 4.17 affirme que, si R est une r´gion telle que ∂R est de
classe C 2 (respectivement C 3 ), alors la fonction d(X) est de classe C 1 (respectivement
C 2 ) aux points de R \ Σ(R), et le champ ∇d(X) est continu (respectivement C 1 ) sur
R \ Σ(R).
     Pour montrer cela, il nous faut « calculer » d(X). Ceci se fait par le th´or`me des
                                                                                e e
fonctions implicites que nous rappelons :

Th´or`me 4.22 Soit F = (f1 , . . . , fn ) : U → Rn une fonction de classe C r , r ≥ 1, sur
   e e
un ouvert U ⊂ Rn+k . On note les points de U comme des couples (X, Y ), avec X ∈ Rn
et Y ∈ Rk , et on note X = (x1 , . . . , xn ). Soit (X0 , Y0 ) ∈ U tel que F (X0 , Y0 ) = 0 et tel
que la matrice jacobienne partielle
                                      ⎛ ∂f1             ∂f1 ⎞
                                           ∂x1   . . . ∂xn
                                      ⎜ .                 . ⎟ (X , Y )
                      J(X0 , Y0 ) = ⎝ .      .   ...      . ⎠ 0 0
                                                          .
                                           ∂fn          ∂fn
                                           ∂x1    ...   ∂xn
                                                                                  e
                                                             4.5 Un algorithme num´rique          145

est inversible. Alors, il existe un voisinage V de Y0 , une fonction unique g : V → Rn et
un voisinage W de (X0 , Y0 ) tels que
 (i) g est de classe C r sur V , et son graphe est inclus dans W .
 (ii) g(Y0 ) = X0 .
 (iii) sur W on a F (X, Y ) = 0 si et seulement si X = g(Y ).

Preuve de la proposition 4.17 Soit X0 = (x0 , y0 ) un point de R qui n’est pas sur le
squelette. Sa distance ` la fronti`re est donn´e par d(X0 ) = |X0 − X1 |, o` X1 = (x1 , y1 )
                        a         e            e                             u
est un point de ∂R tel que le vecteur X0 − X1 est normal ` ∂R. On veut montrer que
                                                                a
d(X) est de classe C 1 au voisinage de X0 . La principale difficult´ est de calculer d(X).
                                                                    e
                                                               e
Pour cela, on doit trouver le point Y = (x, y) de la fronti`re qui est le plus proche de
                                         e e                                   e e
X = (x, y). On va le trouver par le th´or`me des fonctions implicites (th´or`me 4.22).
       e      e                                               e
D’apr`s la d´finition 4.16, on peut supposer que la fronti`re est une courbe de niveau
f1 (Y ) = 0 d’une fonction f1 de classe C 2 ` valeurs dans R. De plus, il faut que le vecteur
                                            a
X − Y soit normal a la fronti`re en Y . Comme la normale ` la fronti`re a la direction
                     `          e                                a         e
du gradient ∇f1 (Y ) de f1 , le vecteur X − Y doit ˆtre parall`le au vecteur ∇f1 (Y ), qui
                                                      e          e
s’exprime comme suit :
                                                 x−x      ∂f1
                                                          ∂x (Y   )
                            f2 (x, y, x, y) =                         = 0.
                                                 y−y      ∂f1
                                                          ∂y (Y   )

On cherche donc les solutions de F (x, y, x, y) = 0, o` F = (f1 , f2 ). Si f1 est de classe
                                                         u
C 2 , alors f2 , donc F , est de classe C 1 . D’apr`s le th´or`me des fonctions implicites
                                                   e       e e
    e e                                                    e
(th´or`me 4.22), les solutions de F = 0 seront donn´es sous la forme d’une unique
fonction (x, y) = g(x, y) = g(X), de classe C 1 , si on montre que
                                                 ∂f1   ∂f1
                                                 ∂x    ∂y
                       J(x1 , y1 , x0 , y0 ) =   ∂f2   ∂f2     (x1 , y1 , x0 , y0 )
                                                 ∂x    ∂y

est inversible. On a
                                                         ∂ 2 f1                     ∂ 2 f1
                                    ∂y (X1 ) − (y1 − y0 ) ∂x2 (X1 ) + (x1 − x0 ) ∂x∂y (X1 )
                      ∂f1           ∂f1
            t         ∂x (X1 )
 J(X1 , X0 ) =                                               2
                                                                                     ∂ 2 f1
                                                                                                  .
                      ∂f1
                      ∂y (X1 )     − ∂f1 (X1 ) + (x1 − x0 ) ∂ f21 (X1 ) − (y1 − y0 ) ∂x∂y (X1 )
                                     ∂x                     ∂y
                                                                                         (4.5)
                                                                  e e
Que signifie la condition det(J(x1 , y1 , x0 , y0 )) = 0 ? C’est pr´cis´ment la condition pour
laquelle le cercle S(X0 , |X1 − X0 |) a un contact d’ordre sup´rieur ` 1 en X0 tel que
                                                                    e     a
  e    a
d´crit ` l’exercice 16. Un tel point X0 correspond a une extr´mit´ du squelette. Nous
                                                          `         e   e
              e                                    e
laissons la v´rification de ce point un peu d´licat pour l’exercice 17. (Un changement
de variables nous permet de consid´rer le cas plus facile o` f1 (x, y) = y − f (x) pour
                                      e                           u
une fonction f de classe C 2 .) Donc, si X0 n’est pas sur le squelette, alors J(X1 , X0 ) est
inversible, ce qui assure l’existence d’un unique g de classe C 1 .
    Maintenant on sait que d(x, y) = |X − g(X)| est de classe C 1 . Alors ∇d est continu.
Si on avait suppos´ que f1 ´tait de classe C 3 , on aurait obtenu que ∇d est de classe C 1 .
                    e        e
146    4 Squelette et chirurgie aux rayons gamma

Remarque sur la preuve Examinons un peu plus la structure de cette preuve. On a
pris un point X0 ∈ R \ Σ(R). On s’est seulement servi de cette hypoth`se pour affirmer
                                                                         e
qu’il existe un unique point de la fronti`re, X1 , qui est le plus proche de X0 . Mais
                                           e
             e              e e                       e
cette hypoth`se est aussi v´rifi´e par les points extrˆmes du squelette, par exemple les
    e    e
extr´mit´s du squelette de l’ellipse (voir l’exemple 4.9). On veut montrer que, pour
chaque X voisin de X0 , il existe un unique point Y de la fronti`re dont il est le plus
                                                                   e
                    ee                                       e
proche. Cette propri´t´ n’est plus vraie pour les points extrˆmes du squelette. En effet,
                 e
un tel point extrˆme du squelette a des voisins sur le squelette pour lesquels la distance
           a        e        e e
minimale ` la fronti`re est r´alis´e en plusieurs points Y .
                        e                                            e
Remarque sur l’utilit´ de la proposition 4.17 On a rencontr´ beaucoup d’exemples
de domaines dont la fronti`re est continue et seulement C 3 par morceaux, par exemple
                           e
                                            e
des domaines polygonaux. Donc, l’hypoth`se de la proposition 4.17 n’est pas v´rifi´e. e e
                 e e e                              e                      e
Si on arrondit tr`s l´g`rement les coins d’une r´gion dont la fronti`re est de classe
C 3 par morceaux, alors la fronti`re de la nouvelle r´gion devient de classe C 3 , et la
                                  e                     e
m´thode s’applique. Il faut se convaincre que le « lissage » de la fronti`re n’a pas chang´
  e                                                                      e                e
                                     e
significativement le squelette de la r´gion, (voir l’exercice 18).




4.6 Les autres applications du squelette en science

                                                                     e         ee
Le squelette en morphologie La notion de squelette d’une r´gion a ´t´ introduite
                                    e                                  e
dans le contexte de la biologie th´orique par Harry Blum [1] pour d´crire les formes de
la nature ou morphologie. Blum appelait le squelette « axe de sym´trie » de la figure.
                                                                       e
                                          e                                           e     e
En effet, lorsque les biologistes veulent d´crire les formes de la nature, ils sont int´ress´s
a e               e                                     e        `     e
` d´crire les diff´rences de formes entre deux esp`ces. Or, a l’int´rieur d’une mˆme       e
    e                  ea         e                     e
esp`ce, on observe d´j` une tr`s grande variabilit´ de formes. On a donc besoin de
                    ee         e
trouver des propri´t´s caract´ristiques de la forme de tous les individus d’une mˆme      e
    e                                                      e
esp`ce. Rappelons, par exemple, que le squelette d’une r´gion plane est un graphe (voir
     e                          ee                            e               e
la d´finition 4.14). Les propri´t´s de ce graphe peuvent d´crire une esp`ce animale si
                                           e         e
les graphes de tous les individus de l’esp`ce sont ´quivalents. Dans ce cas, on dira que
le graphe du squelette est un « invariant » de l’esp`ce.
                                                      e
                                                   `                            e
    Pour une forme plane, on associe un graphe a son squelette de la mani`re suivante :
                                        e    e
un sommet du graphe est, soit une extr´mit´ d’une branche du squelette, soit un point de
                                             e
jonction de plusieurs branches. On a une arˆte entre deux sommets si les deux points du
                                               e
squelette auxquels ils correspondent sont reli´s par un morceau de courbe du squelette
sans autre sommet.
    Dans l’analyse morphologique des formes planes, on voudra classifier comme diff´-         e
                                                                     e
rentes les formes planes dont les graphes de squelette sont non ´quivalents. L’id´e de  e
                            e                      e e             e a
Blum est qu’on devrait d´finir une nouvelle g´om´trie adapt´e ` la description des
formes de la nature et bas´e sur la notion de point et de « croissance ». La croissance
                            e
a                    e           e                    a
` partir de la fronti`re nous am`ne naturellement ` la notion de squelette de la forme.
                                                      ee
                                         4.7 La propri´t´ fondamentale du squelette      147

               a                                                 e e e               a
La croissance ` partir du squelette et de la fonction d(X) associ´e g´n`re une forme `
partir de son cœur.
            e                                                      e
    Cette id´e de Blum est suffisamment puissante pour qu’on lui r´serve la section 4.7
                    e           e                        e
ci-dessous. On va d´crire une r´gion, non par sa fronti`re, mais par son squelette et
                                                                  ee
son volume autour du squelette : c’est ce qu’on appelle la propri´t´ fondamentale du
squelette.
                                                                            e
Quelques autres applications du squelette La notion de squelette ´tait connue
                                                        e
depuis longtemps des physiciens. Elle intervient dans l’´tude des fronts d’onde, en par-
                      e e
ticulier en optique g´om´trique. Par exemple, il est connu depuis longtemps que le
squelette d’une ellipse est un segment de droite.
                                  ıt       e
    La notion de squelette apparaˆ dans l’´tude de la forme des dunes de sable : comme
                        a        e                                 e
celles-ci ont une pente ` peu pr`s constante, la projection de l’arˆte sommitale sur la
          a       e
base est ` peu pr`s le squelette de la base [3].
                                                                     e
    Le squelette d’une forme est un concept couramment utilis´ par les informaticiens
                   e
qui font de la mod´lisation en trois dimensions. Si l’on se donne une courbe dans l’espace
X(t) = (x(t), y(t), z(t)), t ∈ [a, b], et, en chaque point de la courbe, un rayon d(t), alors
                                          e
on engendre un volume comme la r´union des boules B(X(t), d(t)) centr´es en X(t)e
                                                             e e     e
de rayon d(t). Ce volume est un genre de cyclindre g´n´ralis´, car son axe est une
             o
courbe plutˆt qu’une droite, et son rayon est variable. Les informaticiens approximent
                                e
le volume qu’ils veulent mod´liser par un nombre fini de tels cylindres g´n´ralis´s. On
                                                                              e e     e
        e                                    e e                  e
voit ais´ment que cela donne une mani`re ´conomique de sp´cifier un volume donn´.         e


             e e                                  e
4.7 La propri´t´ fondamentale du squelette d’une r´gion

                       e                                      e
    Nous allons caract´riser les points du squelette d’une r´gion R par une propri´t´ ee
fondamentale. Toutes les preuves de cette section seront intuitives, en ce sens que nous
                          e                 e
supposerons que la fronti`re ∂R de R poss`de une tangente en tout point. Il est possible
     e e       a            e                              e
de g´n´raliser ` d’autres r´gions, mais au prix de subtilit´s d’analyse que nous voulons
e
´viter.
                   e                                                                e
    Pour cela, on d´finit la notion de disque (boule) maximal(e) inclus(e) dans une r´gion
R de R2 (de R3 ). Nous allons montrer que les points du squelette sont pr´cis´ment les
                                                                            e e
centres des disques maximaux (boules maximales).

D´finition 4.23 Soit R une r´gion du plan R2 (de l’espace R3 ). Notons par B(X, r)
  e                           e
                           e
un disque (une boule) centr´(e) en X de rayon r. Le disque (la boule) B(X, r) est un
disque (une boule) maximal(e) de la r´gion R si B(X, r) ⊂ R et B(X, r) n’est inclus
                                     e
                                  e
dans aucun disque (aucune boule) ´galement inclus(e) dans R.

             c       e
    Commen¸ons par d´velopper l’intuition de ce nouveau concept en nous convainquant
     e    e
de l’´nonc´ suivant.
148    4 Squelette et chirurgie aux rayons gamma

                                     e                  a
Proposition 4.24 Tout point X d’une r´gion R appartient ` un disque maximal.

Preuve Nous ´crirons la preuve dans le cas d’une r´gion de R2 et invitons le lecteur
                 e                                      e
` faire les changements n´cessaires pour le cas d’une r´gion de R3 .
a                          e                            e
    Pour cela, nous allons « gonfler » un disque autour de X jusqu’` ce qu’il soit maximal.
                                                                  a




                                                a
                 (a) On augmente le rayon jusqu’` ce que le disque touche
                          e
                 la fronti`re.




                                                         a
                 (b) On recule le centre du disque jusqu’` ce que le disque
                 soit tangent ` ∂R en 2 points.
                              a

                                                   e
Fig. 4.17. La construction d’un disque maximal proc`de par deux processus de gonflement.



                   a     e
   Puisque X est ` l’int´rieur de R, on peut choisir un rayon suffisamment petit
                                               e
pour que le (petit) disque B(X, ) soit compl`tement inclus dans R. Augmentons le
                         a                             e
rayon de ce disque jusqu’` ce qu’il rencontre la fronti`re. Le rayon du disque est alors
                                                      ee
                                         4.7 La propri´t´ fondamentale du squelette    149

minY ∈∂R |X − Y |. Quelques ´tapes du « gonflement » du disque sont repr´sent´es ` la
                              e                                                e  e a
                                                                           e
figure 4.17a. Le disque initial B(X, ) est en trait gras, les disques subs´quents sont en
                                                    e
trait fin. Le premier point de contact X1 est indiqu´. La droite joignant X et X1 contient
         e                               a
un diam`tre du cercle. Elle est normale ` la tangente au cercle en X1 . Comme le cercle
             `
est tangent a ∂R en X1 , cette droite est normale ` la fronti`re (voir le lemme 4.7).
                                                    a         e
    Le disque B(X, minY ∈∂R |X − Y |) contient X, mais n’est pas n´cessairement maxi-
                                                                      e
                        c
mal. Pour le voir, tra¸ons une droite passant par le centre de X et le premier point
de contact X1 . Cette droite est normale ` la fronti`re, et nous savons que le centre
                                            a          e
                      `                                              e
d’un disque tangent a ∂R doit se trouver sur cette droite (ceci d´coule du fait que R
                                                                      c
et le disque ont la mˆme tangente en X1 et du lemme 4.7). Tra¸ons maintenant de
                        e
                                                                          c a
nouveaux disques dont le centre est sur cette droite et choisis de fa¸on ` ce que X1
          a           e                                             e     a
demeure ` leur fronti`re. Ce second processus de gonflement est d´crit ` la figure 4.17b.
Le disque B(X, minY ∈∂R |X − Y |) obtenu a la premi`re ´tape est trac´ en gras, les
                                              `          e e                 e
              e                                      e
disques subs´quents le sont en trait fin. Nous arrˆtons ce processus lorsqu’un second
                                                                        e
point de contact X2 est obtenu. (Le second point de contact peut ˆtre confondu avec
X1 (voir l’exercice 16).) Le disque B(X , r) ainsi trac´ contient le point X original. Les
                                                       e
deux lemmes suivants nous convaincront qu’il est maximal.

Lemme 4.25 Si B(X, r) ⊂ R et si son cercle fronti`re S(X, r) contient un point X1
                                                    e
de ∂R, alors X1 est un point de tangence de S(X, r) et ∂R.
Preuve Puisque B(X, r) ⊂ R et que S(X, r) contient un point X1 de ∂R, il faut que
r = minY ∈∂R |X − Y |. Regardons la tangente ` ∂R en X1 . Si elle ne co¨
                                                a                           ıncide pas avec
la tangente au cercle S(X, r) en X1 , alors un segment de la tangente est inclus dans le
                                                       e                  a
disque B(X, r) (voir le lemme 4.7). Comme la fronti`re est tangente ` ce segment, un
                       e          ea     e
morceau de la fronti`re est situ´ ` l’int´rieur de B(X, r). B(X, r) contient donc aussi
des points situ´s ` l’ext´rieur de R (figure 4.18). Ceci contredit le fait que B(X, r) ⊂ R.
               e a       e



Lemme 4.26 Si B(X, r) ⊂ R et S(X, r) contient deux points distincts X1 et X2 de
                                                                         e e
∂R, alors B(X, r) est un disque maximal de R. (Nous pourrions aussi g´n´raliser au
cas d’un point de contact entre S(X, r) et ∂R avec un ordre de contact plus grand que
1. Voir l’exercice 16.)
                        `                      e
Preuve La question a laquelle nous devons r´pondre est la suivante : existe-t-il un
disque B(X , r ) (distinct de B(X, r)) tel que

                               B(X, r) ⊂ B(X , r ) ⊂ R ?                              (4.6)

S’il n’y en a pas, B(X, r) sera maximal. Essayons donc de construire un tel B(X , r ).
    Puisque X1 , X2 ∈ S(X, r), il faut donc que le cercle S(X , r ) entourant B(X , r )
           e                                      `        e
contienne ´galement ces points. Puisqu’ils sont a la fronti`re de ∂R et que B(X , r ) doit
ˆtre inclus dans R, il est impossible de choisir X = X et r > r car, alors, B(X = X, r )
e
                          a     e
contiendrait des points ` l’ext´rieur de R.
150    4 Squelette et chirurgie aux rayons gamma




Fig. 4.18. Un disque B(X, r) inclus dans R et dont la fronti`re S(X, r) touche ∂R en X1 doit
                                                            e
ˆtre tangent a ∂R en X1 .
e            `




               Fig. 4.19. A la recherche du disque B(X , r ) du lemme 4.26.
                          `




                                e                                      e `e
    Puisque X1 et X2 doivent ˆtre sur le cercle S(X , r ), ils doivent ˆtre a ´gale distance
                                                              e
du centre X . Il faut donc que ce centre X soit sur la m´diatrice de X1 X2 . Mais, en
construisant un cercle S(X , r ) dont le centre est sur cette droite et qui contient X1 et
X2 , nous voyons que S(X , r ) et S(X, r) ne sont tangents ni en X1 ni en X2 (sauf si
                                                                               e
X = X et r = r). Ces nouveaux cercles S(X , r ) ne peuvent donc pas ˆtre tangents
` ∂R (voir la figure 4.19), et les disques B(X , r ) qu’ils d´limitent ne peuvent pas
a                                                                e
ˆtre inclus dans R par la contrapos´e du lemme 4.25. Il n’existe donc pas de B(X , r )
e                                    e
             `
satisfaisant a (4.6), et le disque B(X, r) est maximal.
                                                                    4.8 Exercices   151

                        ee                                       e
   Voici enfin la propri´t´ fondamentale du squelette Σ(R) d’une r´gion R qui en est
                   e
une nouvelle caract´risation.

Th´or`me 4.27 Le squelette d’une r´gion R du plan R2 (respectivement de l’espace
    e e                                e
R3 ) est l’ensemble des centres des disques maximaux (boules maximales) de la r´gion
                                                                               e
R.


                         e e                                e            e e
Preuve Bien que le th´or`me soit valide sous des hypoth`ses plus g´n´rales, nous
          e                 e e                        u         e
ne consid´rons, comme pr´c´demment, que le cas o` la fronti`re est continˆ ment  u
diff´rentiable, et nous nous limitons a une r´gion de R2 .
   e                                 `      e
                                                                 e     e
   Soit E l’ensemble des centres des disques maximaux. Montrer l’´galit´ entre les deux
 e                  a
d´finitions consiste ` montrer les deux inclusions suivantes

                                        Σ(R) ⊂ E
                                        Σ(R) ⊃ E.

    Si X ∈ Σ(R) et d(X) = minY ∈∂R |X − Y |, alors le cercle S(X, d(X)) contient deux
points X1 et X2 de ∂R, B(X, d(X)) ⊂ R par d´finition du squelette, et B(X, d(X)) est
                                             e
donc maximal de par le lemme 4.26. L’inclusion Σ(R) ⊂ E est donc d´montr´e.
                                                                     e       e
    Pour d´montrer l’inclusion Σ(R) ⊃ E, choisissons X ∈ E et r tels que B(X, r)
           e
est un disque maximal. Alors B(X, r) ⊂ R. Le cercle S(X, r) doit contenir un point
X1 ∈ ∂R ; sinon, nous pourrions utiliser le premier processus de gonflement d´peint
                                                                                e
` la figure 4.17a, et B(X, r) ne serait pas maximal. Il doit avoir, en fait, un second
a
point de tangence ; sinon, nous pourrions utiliser le second processus de gonflement
d´peint a la figure 4.17b. Ainsi, B(X, r) ⊂ R est de rayon maximal (c’est-`-dire r =
  e     `                                                                   a
minY ∈∂R |X − Y |) et touche ∂R en deux points. Ces deux propri´t´s sont pr´cis´ment
                                                                ee           e e
les conditions pour que X ∈ Σ(R).

     Nous laissons la preuve du corollaire suivant en exercice.

                       e                                                    e
Corollaire 4.28 Une r´gion R du plan (respectivement de l’espace) est compl`tement
d´termin´e par son squelette Σ(R) et la fonction d(X) d´finie pour X ∈ Σ(R).
 e      e                                              e




4.8 Exercices


1.                                           e
     a) Trouver le squelette d’un triangle. D´terminer son r-squelette.
                                                     e
     b) Montrer que le squelette du triangle est la r´union de trois segments de droite.
             e e                    e e
     Quel th´or`me classique de la g´om´trie euclidienne assure que ces trois segments
     se rencontrent en un point ?
152      4 Squelette et chirurgie aux rayons gamma

2.                                                                                     e
       Cet exercice poursuit l’analogie entre le r-squelette et les feux de gazon allum´s
      simultan´ment en tous les points de la fronti`re d’une r´gion R ⊂ R2 . Soit v la
               e                                     e           e
                                                          `
      vitesse de propagation du feu. Pourriez-vous dire a quoi correspondent les points
      du r-squelette dans cette analogie ?

3.                               e
       Pouvez-vous imaginer une r´gion R dont le squelette
      a) est un seul point ?
                                   a
      b) est un segment de droite (` part l’ellipse) ?

4.                                    e                               e
       L’exemple du rectangle a montr´ que son squelette est constitu´ de cinq segments
      de droite.
                                          e
      a) Quel est le squelette d’un carrr´ (b = h) ? Montrer que ce squelette n’est
              e
      constitu´ que de deux segments.
                               e         e                         e
      b) Est-ce que d’autres r´gions poss`dent le squelette du carr´ ?

    e
5. D´terminer le squelette d’une parabole (voir la figure 4.20).




             Fig. 4.20. Avance de la ligne de feu pour une parabole (exercice 5).




6. a) Soit R la r´gion de R2 repr´sent´e ` gauche de la figure 4.21. Les deux courbes
                  e                 e     e a
                                                         e
   sont des demi-cercles. Tracez le squelette de cette r´gion.
   b) Soit L la r´gion de R2 repr´sent´e ` droite de la figure 4.21. Quels sont le rayon
                  e                e     e a
                                               e                       e
   et le centre du plus grand cercle qui peut ˆtre inscrit dans cette r´gion L ? (Note :
                                        e                                 a
   les deux bras de L sont de largeur ´gale (h = 1), et les courbes sont ` nouveau des
   demi-cercles.)
                                    e                   e e
   c) Tracez le squelette de la r´gion L le plus pr´cis´ment possible et expliquez
           e                                   e
   votre r´ponse. (Si ce squelette est constitu´ de plusieurs courbes ou segments, leurs
                           e                      e
   intersections devraient ˆtre clairement indiqu´es.)
                                                                       4.8 Exercices    153




                          Fig. 4.21. R´gions R et L de l’exercice 6.
                                      e



7.           a
      Penser ` un algorithme permettant de tracer le squelette d’un polygone convexe ou
               e
      non. En d´duire un algorithme permettant de calculer le r-squelette du polygone.

                                                            `
8. Dans le cadre de la chirurgie radioactive au scalpel a rayons gamma, supposons
   qu’une solution optimale pour une r´gion R soit donn´e par ∪N B(Xi∗ , ri ). Expli-
                                       e                     e       i=1
   quer pourquoi il est naturel que, si I ⊂ {1, . . . , N }, alors ∪i∈I B(Xi∗ , ri ) est une
                                                                     /
   solution optimale pour R \ ∪i∈I B(Xi∗ , ri ).

                   e e
9. La preuve du th´or`me 4.27 ne s’applique pas au squelette du triangle puisque les
                                                     e
   vecteurs tangents aux sommets ne sont pas bien d´finis. Montrez (par une autre
     e                e e                e
   m´thode) que ce th´or`me est quand mˆme valide pour les triangles.

10.                                      ee e                          e
        Trouver le squelette d’un parall´l´pip`de rectangle avec des arˆtes de trois lon-
       gueurs distinctes ? Quel est son r-squelette ?

11.                                 e e
        Quel est le squelette d’un t´tra`dre ? Trouver son r-squelette.

12.                                 o
        Quel est le squelette d’un cˆne dont la section est une ellipse ?

13.                           ıde   e
        On se donne un ellipso¨ de r´volution
                                        x2  y2  z2
                                           + 2 + 2 = 1,
                                        a2  b   b
                                                         e
       avec b < a. Donner son squelette. Justifier votre r´ponse.

14.     Quel est le squelette d’un cylindre dont la base est un disque de rayon r et la
                                   e
       hauteur est h. Vous devrez ´tudier les trois cas : (i) h > 2r, (ii) h = 2r et (iii)
       h < 2r.

                                                                             e
15. a) Montrer qu’un graphe connexe est un arbre si et seulement si sa caract´ristique
              e                                                         e
    d’Euler, d´finie comme le nombre de sommets moins le nombre d’arˆtes, est 1.
154    4 Squelette et chirurgie aux rayons gamma

      b) Montrer qu’un graphe sans cycle est connexe, donc est un arbre, si et seule-
                       e
      ment si sa caract´ristique d’Euler est 1.
                                                                  2   2
16. Les points extrˆmes du squelette de l’ellipse x2 + y2 = 1 quand b < a
                      e                                    a      b
                                                                     ee e
    Cet exercice poursuit l’exemple 4.9. Les points du squelette ont ´t´ d´finis comme
    e                   e
    ´tant les points int´rieurs de l’ellipse qui sont atteints par deux feux allum´se
             e                  e
    simultan´ment sur la fronti`re. Le squelette est un segment du grand axe. Ses
              e   e
    deux extr´mit´s
                           a2 − b 2                   a2 − b 2
                                    ,0      et      −          ,0
                              a                          a
      ne sont cependant pas atteintes par les feux issus de deux foyers distincts. Par
                                                                                  2   2
      exemple, en ´tudiant la figure 4.10, on voit que, pour le point extrˆme ( a −b , 0),
                    e                                                     e         a
      c’est le feu issu du point (a, 0) au bout du grand axe de l’ellipse qui l’atteint le
                                               e
      premier. Pourquoi ces deux points extrˆmes appartiennent-ils donc au squelette ?
            e                                     e e          e           e
      La th´orie des contacts de courbes de la g´om´trie diff´rentielle y r´pond.
          Soient α(x) = (x, y1 (x)) et β(x) = (x, y2 (x)) deux courbes dans le plan qui se
      touchent en x = 0 :
                                          α(0) = β(0).
      Soit p ≥ 1. On dit que les deux courbes α et β ont un contact d’ordre sup´rieur
                                                                               e
         e    `
      ou ´gal a p si              ⎧d
                                  ⎪ dx α(0) = d β(0),
                                  ⎪
                                  ⎪ d2
                                  ⎪
                                              dx
                                  ⎨ 2 α(0) = d2 2 β(0),
                                    dx         dx
                                  ⎪.
                                  ⎪..
                                  ⎪
                                  ⎪
                                  ⎩ dp         dp
                                    dxp α(0) = dxp β(0).
                                                     p+1          p
                                                                 p+1
      Le contact est d’ordre exactement p si d p+1 α(0) = ddxp+1 β(0). Intuitivement,
                                                 dx
                           e e
      un contact d’ordre ´lev´ entre deux courbes indique qu’elles demeurent proches
      « longtemps » lorsqu’on s’approche ou qu’on s’´loigne du point commun, ou encore,
                                                      e
      que leur « degr´ de tangence » est plus intime. On peut faire le lien avec la notion
                      e
                    e                       e
      de multiplicit´ d’une racine d’une ´quation. Quand on a une racine double (ou
                                 e                      e
      une racine de multiplicit´ p), on peut la consid´rer comme le cas limite de deux
      racines (p racines) qui se confondent. Ici on peut voir un point de contact d’ordre
      p comme le cas limite de p points de tangence qui se confondent.
          Nous allons calculer l’ordre du contact du disque maximal avec l’ellipse au bout
                              a                                                      a
      de l’axe mineur (c’est-`-dire en (0, b)), puis au bout de l’axe majeur (c’est-`-dire
      en (a, 0)).
                         e                        e
      a) Montrer que l’´quation du cercle fronti`re du disque maximal tangent au point
      (0, b) est
                                      α(x) = (x, b2 − x2 )
               e
      et que l’´quation de l’ellipse est
                                                 b
                                   β(x) =   x,        a2 − x2 .
                                                 a
                                                                    4.8 Exercices    155

     Montrer que ces deux courbes se touchent en x = 0. Montrer que le contact est
     d’ordre 1 en ce point, mais pas d’ordre 2.
               e                                                  e           o
     b) Pour ´tudier le contact au point (a, 0), il est utile d’´changer le rˆle de x et
                   e                            e
     de y dans la d´finition ci-dessus. Ainsi, l’´quation de l’ellipse prendra la forme
                                            a
                                  β(y) =        b2 − y 2 , y .
                                            b
                               ´        e                        e
     (Vous en convaincre !) Ecrire l’´quation du cercle fronti`re du disque maximal
     tangent au point (a, 0) sous la forme α(y) = (f (y), y) pour une bonne fonction
     f (y). Vous assurer que α(0) = β(0) = (a, 0). Quel est l’ordre du contact des deux
                                                            e e                `
     courbes en ce point ? (On l’obtiendra en prenant les d´riv´es par rapport a y.) En
     conclure qu’il est raisonnable d’inclure les deux points extrˆmes (−(a2 − b2 )/a, 0)
                                                                   e
     et ((a2 − b2 )/a, 0) dans le squelette Σ(ellipse).

17. Dans le cas o` la fonction f1 (x, y) de la preuve de la proposition 4.17 est de la
                   u
    forme f1 (x, y) = y − f (x), montrer que la condition J non inversible (c’est-`-dire
                                                                                    a
                    u                         e                 e            `
    det(J) = 0), o` la matrice J est donn´e par (4.5), est ´quivalente a dire que la
                                                  e           e    `
    courbe y = f (x) a un contact d’ordre sup´rieur ou ´gal a 2 en (x1 , y1 ) avec le
    cercle (x − x0 )2 + (y − y0 )2 = r2 , o` r2 = (x1 − x0 )2 + (y1 − y0 )2 . (Vous devez
                                           u
    montrer que si vous ´crivez l’´quation du cercle sous la forme y = g(x), et si vous
                          e        e
    supposez f (x1 ) = g(x1 ) = y1 et f (x1 ) = g (x1 ), alors det(J) = 0 si et seulement
                                                                   ee e
    si f (x1 ) = g (x1 ).) (Le concept de contact d’ordre p a ´t´ d´fini et explor´ `  ea
    l’exercice 16.)




                         Fig. 4.22. La r´gion R de l’exercice 18
                                        e



              e        e
18. On consid`re une r´gion R qui est un rectangle R dans lequel on a remplac´ les e
    coins par des quarts de cercle de rayon (voir la figure 4.22). Donner le squelette
                           ıncide avec le r-squelette de R pour un certain r. Lequel ?
    de R . Montrer qu’il co¨
    (Remarque : ici, la fronti`re de R n’est que C 1 . Pour obtenir une fronti`re C 3
                              e                                                  e
    par morceaux, il aurait fallu remplacer les quarts de cercle par des arcs de courbe
    ayant un contact d’ordre 3 avec les segments de droite. Mais l’exercice illustre
156    4 Squelette et chirurgie aux rayons gamma

      bien que, dans le cas d’un domaine convexe, il existe r0 tel que, pour r > r0 , il
                      e
      n’y a pas de diff´rence entre le r-squelette du domaine initial et le r-squelette du
      domaine « liss´ ». Pour un domaine qui n’est pas convexe, la conclusion n’est pas
                    e
                                             e
      aussi simple, mais on peut quand mˆme obtenir une approximation raisonnable
                                       e
      du squelette en lissant la fronti`re.)

19. Lien avec les diagrammes de Voronoi (voir la section 15.5) Montrer que
                                                     e               e
    le squelette d’un ensemble S de n points est donn´ par les fronti`res des cellules de
    Voronoi du diagramme de Voronoi de S. Dans cet exercice, la r´gion R = R2 \ S
                                                                      e
                    e
    est le plan priv´ d’un ensemble de points, et ∂R = S.
 ee
R´f´rences




[1] Blum, H., « Biological shape and visual science (Part I) », J. Theoretical Biology, 1973, vol.
    38, 1973, p. 205–287.
[2] Dimitrov, P., C. Phillips et K. Siddiqi, « Robust and efficient skeletal graphs », Proceedings
    of the IEEE Computer Science Conference on Computer Vision and Pattern Recognition,
    2000.
[3] Jamm, F. et D. Parlongue, « Les tas de sable », Gazette des math´maticiens, 2002, vol. 93,
                                                                    e
    p. 65–82.
[4] Wu, Q.J. et J. D. Bourland, « Morphology-guided radiosurgery treatment planning and
    optimization for multiple isocenters », Medical Physics, 1999, vol. 26, p. 2151–2160.
[5] Wu, Q.J., « Sphere packing using morphological analysis », DIMACS Series in Discrete
    Mathematics and Theoretical Computer Science, 2000, vol. 55, p. 45–54.
5
´
Epargner et emprunter




                     e                               e    e e                     e      e
    Ce chapitre ne n´cessite que les concepts de s´rie g´om´trique, de suite d´finie r´cur-
                                   e
    sivement et de limite. Il peut ˆtre couvert en deux heures de cours. Il ne contient qu’une
           ee                       e
    partie ´l´mentaire (voir la pr´face).

                           e     e           e
    Rien ne semble plus ´loign´ des math´matiques que d’acheter une maison ou de
        `                                  a e                        e
penser a sa retraite, surtout quand on est ˆg´ de 20 ans. Pourtant, ´pargner et emprunter
               a      e               e        e             e
sont soumis ` des r`gles qui se mod´lisent tr`s bien math´matiquement. C’est une des
                    e                                               e
technologies math´matiques les plus vieilles. Leibniz a consacr´ de nombreux articles
                         e            e e                               c
scientifiques aux probl`mes des int´rˆts, des assurances et, de fa¸on plus large, aux
      e                  e                                                    e a e
math´matiques financi`res [1]. Mais notre civilisation n’est pas la premi`re ` ´tudier
           e                       e
ces probl`mes. Une mission arch´ologique en Iran, sous la direction de Contenau et
                           e                                                e     ee
de Mecquenem, a ramass´ en 1933 des tablettes babyloniennes dont l’´tude a ´t´ faite
             e
dans les d´cennies qui ont suivi. Quelques-unes de ces tablettes avaient un contenu
      e                                                e
math´matique ; elles seraient de la fin de la premi`re dynastie de Babylone, un peu
     e         a
post´rieures ` Hammourabi (1793–1750 av. J.-C.), et une d’entre elles porte sur le calcul
        e e           e             e                      e      e      e
de l’int´rˆt compos´ et des annuit´s [2]. Ainsi, les probl`mes ´tudi´s dans ce chapitre
               u                                              e            a
constituent sˆrement la plus vieille des applications math´matiques ` la vie courante
        e              e
examin´e dans le pr´sent recueil !
                e                                      e
    Les math´matiques intervenant dans ces probl`mes bancaires sont relativement
                                                   e e          e
simples. Pourtant, l’homme de la rue est en g´n´ral rebut´ par le jargon des prˆts    e
        e
hypoth´caires et est souvent suspicieux devant les promesses presque faramineuses des
         e
plans d’´pargne-retraite. Il vaut donc la peine d’apprendre le vocabulaire et les bases
      e
math´matiques de ce sujet.


5.1 Vocabulaire bancaire

                                   u         e               ee             e
   Comme dans plusieurs sujets o` les math´matiques ont ´t´ ou sont utilis´es, le voca-
                e e ee               e
bulaire n’a pas ´t´ cr´´ par les math´maticiens. Il est souvent flou. Heureusement, dans
160        ´
         5 Epargner et emprunter

     e                               e
le pr´sent sujet, il est simple et pr´cis. Deux exemples nous permettront d’introduire ce
vocabulaire.
                                            e                 `              e
    Le premier exemple est celui d’une ´pargnante. Elle va a la banque d´poser 1000 $
le jour de son anniversaire dans le but de retirer cette somme dans cinq ans, jour pour
                             a
jour. La banque s’engage ` lui verser 5 % par an. Le solde initial ou principal est le
                e
montant que l’´pargnante met en banque ; dans l’exemple ci-dessus, le solde initial est
de 1000 $. Les 5 % que lui donne la banque sont le taux d’int´rˆt1 .
                                                               e e
                                                                        e           ee
    Le second exemple est celui d’un emprunteur. Vous avez travaill´ plusieurs ´t´s et
                                                          e                    a
il ne vous manque que 5000 $ pour acheter votre premi`re auto. Vous allez ` la banque
pour emprunter cette somme. La banque vous demandera de rembourser cette somme en
                                                         e          e ea
donnant 156,38 $ par mois pendant trois ans, car le prˆt est conc´d´ ` 8 %. Le montant
      e
du prˆt ou solde initial est la somme de 5000 $ que la banque vous remet initialement,
             e
la mensualit´ est le montant de 156,38 $ que vous paierez mensuellement, la p´riode  e
                                                                                    `
d’amortissement est les trois ans pendant lesquels vous paierez votre emprunt. A tout
                                                            e       a
moment durant ces trois ans, le solde sera la partie du prˆt (c’est-`-dire du solde initial)
                  a                                                                  e
qu’il vous reste ` payer. Dans trois ans, ce solde sera (enfin) 0 $, et vous poss´derez
       e
compl`tement votre auto !


                       e e
5.2 Composition des int´rˆts
                           e e                                e
    Il y a deux types d’int´rˆts : les simples et les compos´s. Nous commencerons par
 e             e e         e                             e
d´crire les int´rˆts compos´s qui sont de loin les plus r´pandus.
    Les int´rˆts compos´s ne « s’additionnent » pas, mais ils se. . . « composent ». Voyons
           e e          e
                                                                 e e              e e
ce que ceci veut dire. Dans le premier exemple de la section pr´c´dente, les int´rˆts sont
de 5 % (sous-entendu par an). Le principal de 1000 $ vaudra au premier anniversaire

                                               5
      1000 $ + (5 % de 1000 $) =   1000 $ +       × 1000 $ = (1000 $ + 50 $) = 1050 $.
                                              100

Mais attention, au second anniversaire, le principal vaudra plus que (1000 $ + 50 $ +
                                                                                        e e
50 $) = 1100 $. En effet, au premier anniversaire, le principal est de 1050 $, et les int´rˆts
que vous verse la banque sont alors calcul´s sur ce « nouveau » principal. A la fin de la
                                          e                                   `
            e        a                                    e o                           e e
seconde ann´e, c’est-`-dire au second anniversaire du d´pˆt, le principal et les int´rˆts
vaudront
                                            5
1050 $ + (5 % de 1050 $) =      1050 $ +       × 1050 $ = (1050 $ + 52,50 $) = 1102,50 $.
                                           100

                      e
Le petit 2,50 $ de diff´rence est pratiquement insignifiant ? Vous verrez que cette petite
   e                      o
diff´rence joue un grand rˆle. Refaisons le calcul pour les autres anniversaires :
    1
      Les mots « 5 % » ou « n % » signifient des fractions multiples de centi`mes. Ainsi « 5 % »
                                                                            e
          5
signifie 100 et « n % » signifie 100 .
                                n
                                                                                  e e
                                                           5.2 Composition des int´rˆts    161

                                 e
                           troisi`me anniversaire : 1157, 63 $
                                e
                          quatri`me anniversaire : 1215, 51 $
                                e
                          cinqui`me anniversaire : 1276, 28 $.

           e e                                     ee e       `                   e
Si les int´rˆts aux cinq anniversaires avaient ´t´ ´gaux a ceux de la premi`re ann´e      e
(50 $), le principal au cinqui`me anniversaire aurait valu (1000 $ + 5 × 50 $) = 1250 $.
                                e
                e e                e                                 e
Puisque les int´rˆts sont compos´s annuellement, le principal apr`s cinq ans vaut plutˆt  o
1276,28 $.
                                                                                  e
    Il est temps de formaliser ce calcul. Soient pi la valeur du principal au i-i`me anni-
                                                     e e
versaire et p0 le solde initial. Soit r le taux d’int´rˆt. Dans l’exemple ci-dessus, le taux
           5
est r = 100 . Le solde pi ` l’anniversaire i peut ˆtre calcul´ ` partir du solde pi−1 un an
                          a                        e         ea
avant. En effet, il suffit d’ajouter a ce dernier r × pi−1 :
                                     `

                      pi = pi−1 + r · pi−1 = pi−1 (1 + r),        i ≥ 1.

`
A l’aide de cette formule r´cursive, on d´duit que pi est reli´ ` p0 par
                           e             e                    ea

                        pi = pi−1 (1 + r)
                           = (pi−2 (1 + r)) (1 + r) = pi−2 (1 + r)2
                           = ···
                           = p0 (1 + r)i ,    i ≥ 1.                                      (5.1)

                             e e          e            e
Ceci est la formule des int´rˆts compos´s. Un math´maticien lirait cette formule en
disant que « le principal d’un placement croˆ g´om´triquement », c’est-`-dire qu’il croˆ
                                              ıt e e                    a              ıt
comme la puissance du nombre 1 + r (qui est plus grand que 1).
                                                                          e e
    Certaines banques veulent avantager les clients et composent les int´rˆts selon un
                           e                                    e e           e e
cycle plus court que l’ann´e. Supposons que, dans l’exemple pr´c´dent, les int´rˆts sont
        e                           a
compos´s trimestriellement, c’est-`-dire aux trois mois. Puisqu’il y a quatre cycles de
                                                          r
trois mois dans un an, la banque versera des int´rˆts de 4 % = 5 % tous les trois mois.
                                                  e e            4
    e                                              e e
Apr`s un an, il y aura eu quatre versements d’int´rˆts, et leur composition produira un
                     e                      e
taux annuel reff sup´rieur au taux annonc´ de 5 %. En effet,

                                                       r   4
                                    1 + reff = 1 +
                                                       4
et
                                      reff = 5, 095 %,
                                                                              e e a
ce qui est donc avantageux pour le client ! Lorsqu’une banque verse les int´rˆts ` in-
                       e            e               e e        e
tervalles plus rapproch´s que l’ann´e, le taux d’int´rˆt annonc´ (par exemple, 5 %) est
                                                        e
le taux nominal. Dans les faits, le taux annuel, appel´ taux effectif, est celui que vous
                                      e e            e                 e
observerez aux anniversaires et est l´g`rement sup´rieur. Dans le pr´sent exemple, le
taux nominal est de 5 % alors que le taux effectif est de 5,095%.
162       ´
        5 Epargner et emprunter

                                                      ıt            e
   Comme on peut l’imaginer, le taux effectif croˆ lorsque la p´riode de composition
       e e                                      e e            e
des int´rˆts raccourcit. Par exemple, si les int´rˆts sont vers´s quotidiennement, le taux
              ea
effectif associ´ ` r = 5 % est
                                         r    365
                           reff = 1 +                − 1 = 5,126 75 %.
                                        365
                  e e         e a                                      e
Que dire des int´rˆts compos´s ` l’heure ? A la seconde ? Au milli`me de seconde ?
´                           e
Evidemment, seul un math´maticien peut poser la question : existe-t-il une limite au
                         e                  e
taux effectif lorsque la p´riode tend vers z´ro ? Mais c’est une fort jolie question ! Si
                                                                               e
l’ann´e est divis´e en n parties ´gales, alors le taux effectif reff (n) est reli´ au taux
     e           e                e
nominal r par
                                                   r n
                               1 + reff (n) = 1 +       .
                                                   n
             e                           e e                e
Selon cette r`gle, le banquier le plus g´n´reux de la plan`te composera ses int´rˆtse e
       u
continˆ ment, et son taux effectif sera
                                                                        r   n
                 1 + reff (∞) = lim (1 + reff (n)) = lim             1+           = er .
                                  n→∞                       n→∞         n
        e e
La derni`re ´tape utilise la relation
                                                        n
                                                    1
                                       lim    1+            =e
                                       n→∞          n

                        e      e
qui est habituellement d´montr´e dans un premier cours d’analyse. En faisant le chan-
gement de variable m = n , on obtient
                         r

                                                 mr                              m   r
                       r   n                 1                              1
           lim    1+           = lim    1+              =    lim    1+                   = er .
           n→∞         n        m→∞          m              m→∞             m

                                  ıtre                            e e
    Il est amusant de voir apparaˆ la base e des logarithmes n´p´riens dans ce calcul
                         e
simple. (Puisque les prˆts sont vieux comme le monde, les banquiers auraient pu ˆtree
              a                                                o
les premiers ` introduire ce nombre.) Si r = 5 % comme plus tˆt, 20 ans permettront de
                                                                          e e         e
multiplier le principal par le nombre e. En effet, selon la formule des int´rˆts compos´s
                               e
(5.1), le principal vaudra apr`s 20 ans
                                                                   5
                  p20 = p0 (1 + reff (∞))20 = p0 (er )20 = p0 e 100 ×20 = p0 e.

                              e
Il n’y a pas une grande diff´rence entre le taux nominal de r = 5 % et le taux effectif
reff (∞) correspondant : reff (∞) = er − 1 = 5, 127 11 . . . %. Les banquiers n’utilisent
donc pas ce concept de composition limite (un peu abstrait) comme outil de marketing.
           e e                  e                                          e
    Les int´rˆts simples sont tr`s rares et ne sont presque jamais utilis´s dans les milieux
                          a                 e e
bancaires. Ils consistent ` calculer les int´rˆts sur le solde initial quel que soit l’anniver-
saire du placement. Dans l’exemple d’un placement initial p0 = 1000 $ et r = 5 %, les
                                                                             e
                                                               5.3 Un plan d’´pargne   163

int´rˆts (simples) seront de 1000 × 100 $= 50 $ chaque ann´e. Le principal et les int´rˆts
   e e                               5
                                                          e                          e e
des cinq premiers anniversaires vaudront ensemble :
                                       p1 = 1050 $,
                                       p2 = 1100 $,
                                       p3 = 1150 $,
                                       p4 = 1200 $,
                                       p5 = 1250 $.
                                 e                            e        e
Cette progression est dite arithm´tique, car l’accroissement d´pend lin´airement du
             e
nombre d’ann´es en banque :
                                    pi − p0 = ir.
         e                          a                            e e
Si vous d´sirez placer votre argent ` la banque, refusez les int´rˆts simples. Et si vos
                  e           e `    e e                      e e e
parents vous conc`dent un prˆt a int´rˆts simples, ils sont tr`s g´n´reux !


              e
5.3 Un plan d’´pargne
                             e                                  a        o
    Les institutions financi`res recommandent de commencer ` investir tˆt pour la re-
                                             e
traite. Elles proposent plusieurs plans d’´pargne, certains vous promettant de pouvoir
prendre votre retraite d`s votre 55e anniversaire dans un confort financier assur´. Pour
                          e                                                     e
            e                                                  ıtre        e
une jeune ´tudiante, ceci semble bien loin, et il peut lui paraˆ appropri´ de retarder
                  e       e                    e
de quelques ann´es le d´but de son plan d’´pargne pour la retraite. Mais les banques
                      o
ont raison : le plus tˆt sera le mieux !
                e                          `         a e                 e
    Un plan d’´pargne invite un client a s’engager ` d´poser chaque ann´e une somme
                             e                      e
Δ $ et ce, pendant N ann´es. Durant ces N ann´es, la banque offrira un taux r que
                                         e
nous supposerons constant et compos´ annuellement. Les variables sont donc
              Δ:       e o              e
                      d´pˆt annuel de l’´pargnant
              r:                e e                         e
                      taux d’int´rˆt constant pour les N ann´es
              N:         e            e
                      dur´e du plan d’´pargne
              pi :                        e
                      solde du plan au i-i`me anniversaire, i = 0, 1, . . . , N.
  e          e
L’´pargnant d´pose Δ $ le jour de la signature du contrat et
                                          p0 = Δ.
    e               e e                                                     `        e e
Apr`s un an, les int´rˆts ont couru, et la banque les verse dans le compte. A ces int´rˆts,
  e
l’´pargnant ajoute une nouvelle tranche de Δ $. Ainsi, au premier anniversaire, le solde
est
                                   p1 = p0 + rp0 + Δ
                                      = p0 (1 + r) + Δ.
164       ´
        5 Epargner et emprunter

                     e     e ee                      e                           e
Ce raisonnement peut ˆtre r´p´t´ pour toutes les ann´es suivantes. Ainsi, pi se d´duit
de pi−1 par
                               pi = pi−1 (1 + r) + Δ.
                                                          e
   Il est possible d’obtenir pi en fonction de p0 . En exp´rimentant un peu, nous devi-
           e
nerons la r´ponse :

                       p2 = p1 (1 + r) + Δ
                          = (p0 (1 + r) + Δ) (1 + r) + Δ
                         = p0 (1 + r)2 + Δ(1 + (1 + r))

et

                       p3 = p2 (1 + r) + Δ
                         = p0 (1 + r)2 + Δ(1 + (1 + r)) (1 + r) + Δ
                         = p0 (1 + r)3 + Δ 1 + (1 + r) + (1 + r)2 .

                                       e e
Il est tentant de proposer la formule g´n´rale

             pi = p0 (1 + r)i + Δ 1 + (1 + r) + (1 + r)2 + · · · + (1 + r)i−1
                                      i−1
               = p0 (1 + r)i + Δ            (1 + r)j .                            (5.2)
                                      j=0

                        e a
Cette formule sera prouv´e ` l’exercice 1.
                                           e
   En se rappelant que la somme des i premi`res puissances d’un nombre x est
                                            i−1
                                                          xi − 1
                                                  xj =
                                            j=0
                                                          x−1

si x = 1, on obtient
                                                  i−1
                                       i
                       pi = Δ(1 + r) + Δ                (1 + r)j ,   car p0 = Δ
                                                  j=0
                               i
                         =Δ         (1 + r)j
                              j=0

                             (1 + r)i+1 − 1
                         =Δ
                               (1 + r) − 1
                           Δ
                         =     (1 + r)i+1 − 1 .
                           r
Donc,
                                                                    5.4 Emprunter      165

                                      Δ
                                pi =      (1 + r)i+1 − 1 ,                            (5.3)
                                      r
et, apr`s N ann´es, pN = Δ((1 + r)N +1 − 1)/r. Remarquez que, si l’´pargnant prend sa
        e         e                                                    e
                 e                        e
retraite au N -i`me anniversaire, il ne d´posera sans doute pas le montant de Δ $, car
c’est le jour o` il prend possession de ses placements. Si c’est le cas, pN devient plutˆt
               u                                                                         o

                             qN = pN   −Δ
                                  Δ
                                =      (1 + r)N +1 − 1 − Δ
                                   r
                                  Δ
                                =      (1 + r)N +1 − 1 − r
                                   r
                                  Δ
                                =      (1 + r)N +1 − (1 + r) .                        (5.4)
                                   r
                                         o            `
Nous utiliserons cette formule (5.4) plutˆt que (5.3) a l’avenir.

                                     e                    e
Exemple 5.1 a) Voici un exemple num´rique qui donne une id´e des sommes en jeu.
Supposons des placements annuels de Δ = 1000 $ pendant N = 25 ans. Si le taux
     e e
d’int´rˆt est de 8 %, alors
                             Δ
                      qN =     (1 + r)N +1 − 1 − Δ = 78 954,42 $
                             r
alors que l’´pargnant a d´bours´ 25 000 $.
             e             e     e
                                 e                             e
     b) Supposons qu’un second ´pargnant retarde d’un an le d´but de ses contributions,
                              e                e                          e
mais prend sa retraite en mˆme temps que l’´pargnant de a). Quelle diff´rence y aura-
                                                      e
t-il entre les deux soldes terminaux ? Pour le second ´pargnant, N = 24 alors que toutes
                                 e
les autres variables sont les mˆmes. Donc, q24 = 72 105,94 $, et la diff´rence entre les
                                                                        e
deux soldes est de 6848,48 $. Pour avoir contribu´ 1000 $ de moins lors de la premi`re
                                                   e                                 e
     e             e                             e
ann´e, le second ´pargnant se retrouve avec pr`s de 10 % de moins que le premier. Les
                                   o ae
banques ont raison : commencez tˆt ` ´pargner pour vos vieux jours !
                              e            e                   e e
    Nous avons fait au tout d´but l’hypoth`se que le taux d’int´rˆt offert au cours des N
    e e                              e             e
ann´es ´tait constant. Cette hypoth`se n’est pas r´aliste ! La figure 5.1 montre le taux
             e           e      a
moyen des prˆts hypoth´caires ` l’habitation des principales banques canadiennes pour
        e        e      e                                                e e
la derni`re moiti´ de si`cle. Lorsque les banques exigent des taux d’int´rˆt importants
                                                             e
de leurs emprunteurs, elles peuvent offrir de bons taux aux ´pargnants.


5.4 Emprunter
    Beaucoup de gens empruntent de l’argent pour s’acheter de gros objets tels une auto
        e      e                                   e
ou des ´lectrom´nagers, d’autres, pour payer leurs ´tudes, et presque tous emprunteront
` la banque pour s’acheter une maison. Il est donc utile de comprendre la « dynamique »
a
       e
des prˆts.
166      ´
       5 Epargner et emprunter

    `                                                               e
    A l’achat d’une maison, une personne utilise une partie de ses ´conomies pour faire
                         a                                                    a
une mise de fond, c’est-`-dire que cette personne paie en partie sa maison ` l’aide de
    e                                    e         a
ses ´pargnes. Elle emprunte la somme r´siduelle ` la banque et elle donne cette somme
                               e       e e
et sa mise de fonds au propri´taire pr´c´dent de la maison. L’acheteur n’aura donc une
             e        e           e
responsabilit´ financi`re qu’aupr`s de la banque.
                                       `             e
    La banque invitera l’emprunteur a choisir la p´riode d’amortissement de son prˆt, e
                   e e                   e            e                     e          a
fixera le taux d’int´rˆt r (le taux hypoth´caire) et d´terminera la mensualit´ Δ, c’est-`-
                                             `
dire la somme que l’emprunteur devra payer a la banque tous les mois. Voici les variables
en jeu.

               pi :            e                         e       e
                        solde r´siduel du capital emprunt´ au i-i`me mois
               Δ:       mensualit´e
               rm :               e e
                        taux d’int´rˆt mensuel effectif
                N:       e                             e
                        p´riode d’amortissement (en ann´es).

La quantit´ p0 repr´sente l’emprunt contract´ par l’acheteur. Il est important de re-
           e        e                       e
marquer que le « i » de cette section compte les mois alors que celui de la section
  e e       e                e                        e e
pr´c´dente ´tiquetait les ann´es. Chaque mois, les int´rˆts courent et augmentent la
somme due, mais l’emprunteur remet Δ $. Donc, s’il doit encore pi au i-i`me mois, il
                                                                         e
                  e
devra au (i + 1)-i`me mois :

                                 pi+1 = pi (1 + rm ) − Δ.




                                e           e      a
Fig. 5.1. Le taux moyen des prˆts hypoth´caires ` l’habitation des principales banques cana-
diennes au cours des ans (source : site internet de la Banque du Canada).
                                                                      5.4 Emprunter     167

Le signe « − » devant Δ indique que l’emprunteur r´duit sa dette chaque mois alors que
                                                      e
        e e
les int´rˆts mensuels rm pi l’augmentent. (Il n’a donc une chance de payer sa dette que
                                                               e
si pi rm < Δ.) Puisqu’il a choisi de payer cette dette en N ann´es, et donc en 12N mois,
il faudra que
                                         p12N = 0.
                                     e e
En copiant le calcul de la section pr´c´dente (exercice !), on peut exprimer pi en fonction
de p0 . On trouve
                                                   i−1
                           pi = p0 (1 + rm ) − Δ
                                            i
                                                         (1 + rm )j
                                                   j=0

                                                 (1 + rm )i − 1
                             = p0 (1 + rm )i − Δ                .                      (5.5)
                                                      rm
                                       e
Puisque la banque fixe le taux hypoth´caire (et donc rm ) et que le client choisit le
                 e
montant emprunt´ p0 et la p´riode d’amortissement, la seule inconnue est Δ. En utilisant
                           e
p12N = 0, on trouve
                                                   Δ
                   0 = p12N = p0 (1 + rm )12N −       (1 + rm )12N − 1
                                                   rm
et donc,
                                             (1 + rm )12N
                              Δ = rm p0                      .                         (5.6)
                                          ((1 + rm )12N − 1)




                     e                     e      e a
Fig. 5.2. Le solde r´siduel durant la premi`re ann´e (` gauche) et durant les 20 ans d’amor-
           a
tissement (` droite). Voir l’exemple 5.2.



Exemple 5.2 Pour un emprunt de 100 000 $ pay´ sur 20 ans et contract´ a un taux
                                                e                       e `
mensuel de 2 % (donc, a un taux annuel nominal de 12 × 2 % = 8 %), un acheteur devra
           3          `                                3
 e                     e
d´bourser des mensualit´s de
                                                2
                        2                (1 + 300 )240
                 Δ=        × 100 000 ×                   $ = 836,44 $.
                       300             (1 + 300 )240 − 1
                                             2
168      ´
       5 Epargner et emprunter

Ses 240 mensualit´s de 836,44 $ totaliseront 240 × 836,44 $ = 200 746 $, plus de deux fois
                   e
                     e                                                       e
le montant emprunt´. En utilisant la formule (5.5), on peut tracer le solde r´siduel pi au
                 e                                e
cours des 20 ann´es. La figure 5.2 montre le progr`s du paiement de la dette de l’emprun-
                      e     e                                               e
teur durant la premi`re ann´e (graphique de gauche) et durant les 20 ann´es suivantes
jusqu’au remboursement complet (graphique de droite). Vous remarquerez qu’au cours
de la premi`re ann´e, le solde n’a pas mˆme baiss´ de 3000 $ alors que l’acheteur a
            e        e                     e         e
donn´ a la banque 12 × 836,44 $ = 10 037,28 $. Les hypoth`ques sont bien frustrantes.
      e`                                                   e
              e                        e                            o
    Si nous d´sirions rembourser le mˆme emprunt en 15 ans plutˆt qu’en 20, les ver-
sements mensuels seraient de 955,65 $, pour un total de 172 017 $ au terme de ces 15
ann´es. Cette diff´rence de plus de 28 000 $ entre les totaux sur 20 et sur 15 ans en fera
    e              e
                                   u                                e
songer plusieurs. Vous y penserez sˆrement encore quand vous ach`terez votre premi`re  e
 e
r´sidence.
                  a          e
   Nous avons vu ` la premi`re section la distinction entre taux nominal et taux effectif.
                                 ıt                      e                      e
Une distinction similaire apparaˆ pour les taux hypoth´caires. Les banques pr´sentent
                           e
toujours leur taux hypoth´caire r (annuel) sans expliquer comment elles calculent le
taux mensuel rm . Est-ce que
                                              r
                                      rm =      ?                                  (rm1 )
                                             12
                       e       e
Ou est-ce que rm est d´termin´ par

                                   (1 + r) = (1 + rm )12 ?                              (rm2 )

Dans le premier cas, le taux annuel effectif sera
                                                           r   12
                        reff1 = (1 + rm1 )12 − 1 = 1 +               −1
                                                          12
alors que, dans le second, il sera reff2 = r. Il est clair que (1 + 12 )12 − 1 > r (pourquoi ?)
                                                                    r

                                         e e
et que les banques recevront plus d’int´rˆts avec rm1 qu’avec rm2 . Ainsi, rm1 avantage
les banques, rm2 , les emprunteurs. Alors, comment rm est-il calcul´ ?    e
        e        e                    e           e
    La r´ponse d´pend des pays ! Mˆme en Am´rique du Nord, les rm sont calcul´s diff´- e     e
                               ´
remment au Canada et aux Etats-Unis. C’est la formule (rm1 ) qu’utilisent les banques
am´ricaines. Les banques canadiennes n’utilisent ni (rm1 ) ni (rm2 ). Elles d´terminent
    e                                                                              e
     o                           a
plutˆt le taux mensuel effectif ` l’aide de
                                         r
                                    1+     = (1 + rm )6 ,                           (rmCAN )
                                         2
      a
c’est-`-dire que le taux rm compos´ mensuellement sur six mois doit reproduire la moiti´
                                  e                                                    e
                                  e
du taux annuel. Avec ces rm (am´ricain ou canadien), il est possible de reproduire les
                                e
calculs des banquiers au cent pr`s !
                                                                   5.5 Exercices    169

5.5 Exercices

              e e              e               a
Note : les int´rˆts sont compos´s annuellement ` moins d’indication contraire.

                                                         e
1. Prouver la formule (5.2). (Suggestion : par induction ´videmment !)

2. a) La formule (5.4) est-elle lin´aire en Δ ? En d’autres mots, si le d´pˆt annuel
                                    e                                       e o
                  e                                              e
   Δ est multipli´ par x, est-ce que le solde du placement au i-i`me anniversaire sera
   ´galement multipli´ par x ? (L’homme de la rue et les banquiers parleront de « r`gle
   e                  e                                                             e
   de trois » plutˆt que de « lin´arit´ ».)
                  o              e    e
              e                      e
   b) La mˆme formule est-elle lin´aire en r ?
   c) Si l’´pargnante verse plutˆt Δ tous les six mois, est-ce qu’elle retirera la mˆme
            e                     o 2                                               e
                e       e
   somme apr`s N ann´es ?

                                             e
3. La plupart des compagnies de cartes de cr´dit affichent des pourcentages annuels
     e                            e e
   mˆme si elles composent les int´rˆts mensuellement. Si le taux effectif annuel d’une
   compagnie est de 18 %, quel pourcentage mensuel celle-ci doit-elle utiliser ? Avant
   de commencer l’exercice : ce pourcentage mensuel sera-t-il plus petit ou plus grand
   que 18 % = 1,5 % ?
       12

4. a) Une ´tudiante de 20 ans place 1000 $ ` 5 %. Elle a l’intention de laisser ce
              e                               a
                               a            a
   placement fructifier jusqu’` sa retraite ` 65 ans. On suppose que le rendement
                                            e
   (5 %) ne changera pas pendant sa carri`re. Que vaudra alors le placement si les
                                                                               5
   int´rˆts sont compos´s (i) annuellement ou (ii) mensuellement au taux de 12 % ?
      e e                e
            e              e  a        e              e                              a
   b) Un ´tudiant du mˆme ˆge que l’´tudiante de a) d´cide de ne rien investir jusqu’`
                      e          e                                 a              e
   45 ans. Alors, il d´cide de d´poser une somme qui lui donnera, ` 65 ans, le mˆme
                                   e
   montant que le placement de l’´tudiante de a). Quelle est cette somme si les deux
                              e
   placements profitent du mˆme taux ?

5. a) Une somme de 1000 $ est plac´e pour dix ans. Que vaudra-t-elle si le rendement
                                     e
   annuel est de 6 %, de 8 %, de 10 % ?
   b) Combien faut-il attendre de temps pour que ce placement de 1000 $ double de
   valeur pour les rendements annuels de a) ?
                            e                     e e                    o
   c) Que deviennent les r´ponses de b) si les int´rˆts sont simples plutˆt que com-
       e
   pos´s ?
                            e
   d) Que deviennent les r´ponses de b) si le placement initial est de 2000 $ ?

              e          e           e                a               e
6. Une hypoth`que est pay´e sur une p´riode de 20 ans ` un taux hypoth´caire constant
              e                           e                                   e
   de 8 %. Apr`s combien de mois la moiti´ de l’emprunt sera-t-elle rembours´e ?

7. a) Une ´tudiante de 20 ans d´couvre une banque lui offrant 10 % par an si elle
            e                      e
            a                       e                                   a
   s’engage ` placer 1000 $ par ann´e le jour de son anniversaire jusqu’` ce qu’elle ait
   65 ans. Que vaudra le magot ` son 65e anniversaire ?
                                 a
                    e       e o             e
   b) Que devrait ˆtre le d´pˆt annuel si l’´tudiante veut prendre sa retraite million-
   naire ?
170      ´
       5 Epargner et emprunter

       e
8. Un ´tudiant veut emprunter une somme d’argent. Il sait qu’il ne pourra pas remettre
                                  e                a          e             e         e
   un sou avant cinq ans. Deux sc´narios s’offrent ` lui. Premi`rement, son p`re est prˆt
   a       e             a           e e                                      e
   ` lui prˆter l’argent ` 10 % d’int´rˆt simple pendant ces cinq ans. Deuxi`mement,
                   a      e            a          e e         e             e
   un ami s’offre ` lui prˆter l’argent ` 7 % d’int´rˆt compos´. Que lui sugg´rez-vous ?

                e                  e        e                 e                 e
9. Lors de la n´gociation d’un prˆt hypoth´caire, les param`tres suivants sont ´tablis :
                               e     e                            e
   le taux, le montant du prˆt, la p´riode d’amortissement, la p´riode des versements
                                                                           e
   (habituellement un mois, mais aussi une ou deux semaines) et la dur´e du contrat.
   Cette dur´e est toujours plus petite ou ´gale a la p´riode d’amortissement. A la
              e                               e     `     e                        `
                                                   e                   e
   fin du contrat, l’emprunteur et la banque ren´gocient les param`tres ; le nouveau
                   e                        e      `
   montant du prˆt est alors le montant r´siduel a payer.
                        e
   a) Un couple ach`te une maison et doit emprunter 100 000 $ pour en assurer le
   paiement. Ils optent pour un remboursement sur 25 ans. Puisque les taux d’int´rˆte e
        e e                                        e
   sont ´lev´s au moment de l’achat (12 %), ils d´cident de fixer leur premier contrat
   avec la banque pour trois ans. Quel sera leur versement mensuel ? Quel sera le solde
   a                  e
   ` la fin de cette p´riode de trois ans ?
            e                   e      e                        e        e
   b) Apr`s ces trois premi`res ann´es, les taux ont baiss´, et ils d´sirent toujours
                                                 e
   s’acquitter de leur dette au cours des 22 ann´es restantes. Ils s’engagent donc pour
         e                    a
   une p´riode de cinq ans ` 8 %. Quel sera leur nouveau versement mensuel ? Quel
                  e       `                        e        e
   sera le solde r´siduel a la fin de ces huit premi`res ann´es ?

             e          e                 e                     e
10. Deux prˆts hypoth´caires sont accord´s pour des sommes ´gales. Ils seront rem-
          e                                 e                              a
    bours´s sur 20 ans. Si les taux sont diff´rents, quel sera le taux qui, ` mi-terme
                                                                            e
    (dix ans), aura permis de payer la plus grande partie du capital : le prˆt au plus
    petit taux ou celui au plus grand ?

                                                                             e
11. Dans presque toutes les librairies, on peut acheter des Tables de prˆts hy-
         e
    poth´caires. Vous trouverez en appendice (p. 171) les pages correspondant aux
                                                          ee         e          e
    taux de 8 % et de 12 %. Le taux mensuel effectif a ´t´ calcul´ selon les r`gles
    canadiennes.
                                                                   e       e
    a) Selon ces tables, quel sera le versement mensuel sur un prˆt hypoth´caire de
             a                       e
    40 000 $ ` 8 % qui sera rembours´ sur 15 ans ?
                     e                   e                 e
    b) Et sur un prˆt de 42 000 $ au mˆme taux rembours´ aussi sur 15 ans ?
                                     e                              e
    c) Calculer le montant demand´ en a) sans utiliser la table. (D´terminer d’abord
    le taux effectif mensuel rm utilis´ par les banques.)
                                     e

                                         e
12. Plusieurs banques offrent des hypoth`ques dont les versements sont faits aux deux
    semaines. Ces banques calculent le montant que l’emprunteur devrait payer s’il y
                                 e
    avait 24 versements par ann´e et l’utilisent comme paiement aux deux semaines.
                                                            e
    Supposons qu’il y ait exactement 26 paiements par ann´e. Si la banque consent
          e
    un prˆt de 7 % sur 20 ans, ces versements aux deux semaines permettront de rem-
                 e                                            e                    e
    bourser le prˆt plus rapidement. En combien de temps le prˆt sera-t-il rembours´ ?
    (Vous devrez trouver une fa¸on raisonnable de d´terminer le taux r2s aux deux
                                 c                     e
    semaines. Essayez de copier la relation (rmCAN ).)
                                                                 e         e
                                     5.6 Appendice : tables de prˆts hypoth´caires   171

                              ee e       e
13. Utiliser votre logiciel pr´f´r´ pour ´crire un programme reproduisant les tables de
    l’appendice.


                            e         e
5.6 Appendice : tables de prˆts hypoth´caires
   Les deux pages qui suivent contiennent respectivement les tables pour un taux annuel
                                                                                      e
de 8 % et de 12 %. Ce sont ces tables que l’on retrouve dans les petits livres intitul´s
             e         e                   e                 e
Tables de prˆts hypoth´caires. La ligne sup´rieure donne la p´riode d’amortissement en
    e                                                 e                       e a
ann´es, et la colonne de gauche, le montant emprunt´. Ces tables sont donn´es ` titre
d’exemple et comme outil pour certains des exercices. Le taux mensuel effectif a ´t´  ee
 e       e           e
d´termin´ selon les r`gles canadiennes.
                                                                                                                                         172
             1         2         3         4         5         6         7         8         9         10       15       20       25
                                                                                                                                           ´




  1000      86,93     45,17     31,28     24,35     20,21     17,47     15,52     14,07     12,95     12,06     9,48     8,28     7,63
  2000     173,86     90,34     62,55     48,70     40,43     34,94     31,04     28,14     25,90     24,13    18,96    16,57    15,26
  3000     260,78    135,50     93,83     73,06     60,64     52,41     46,56     42,21     38,85     36,19    28,44    24,85    22,90
  4000     347,71    180,67    125,11     97,41     80,86     69,88     62,09     56,28     51,81     48,26    37,93    33,13    30,53
  5000     434,64    225,84    156,38    121,76    101,07     87,35     77,61     70,35     64,76     60,32    47,41    41,42    38,16
  6000     521,57    271,01    187,66    146,11    121,28    104,82     93,13     84,42     77,71     72,38    56,89    49,70    45,79
  7000     608,50    316,18    218,93    170,46    141,50    122,29    108,65     98,49     90,66     84,45    66,37    57,99    53,42
  8000     695,43    361,34    250,21    194,81    161,71    139,76    124,17    112,56    103,61     96,51    75,85    66,27    61,06
                                                                                                                                         5 Epargner et emprunter




  9000     782,35    406,51    281,49    219,17    181,93    157,23    139,69    126,64    116,56    108,58    85,33    74,55    68,69
 10 000    869,28    451,68    312,76    243,52    202,14    174,70    155,21    140,71    129,51    120,64    94,82    82,84    76,32
 15 000   1303,92    677,52    469,15    365,28    303,21    262,05    232,82    211,06    194,27    180,96   142,22   124,25   114,48
 20 000   1738,57    903,36    625,53    487,04    404,28    349,40    310,43    281,41    259,03    241,28   189,63   165,67   152,64
 25 000   2173,21   1129,20    781,91    608,80    505,35    436,74    388,04    351,77    323,78    301,60   237,04   207,09   190,80
 30 000   2607,85   1355,04    938,29    730,56    606,42    524,09    465,64    422,12    388,54    361,92   284,45   248,51   228,96
 35 000   3042,49   1580,88   1094,67    852,32    707,50    611,44    543,25    492,47    453,30    422,24   331,85   289,93   267,12
 40 000   3477,13   1806,72   1251,05    974,07    808,57    698,79    620,86    562,82    518,05    482,56   379,26   331,34   305,29
 45 000   3911,77   2032,56   1407,44   1095,83    909,64    786,14    698,46    633,18    582,81    542,88   426,67   372,76   343,45
 50 000   4346,41   2258,40   1563,82   1217,59   1010,71    873,49    776,07    703,53    647,57    603,20   474,08   414,18   381,61
 60 000   5215,70   2710,08   1876,58   1461,11   1212,85   1048,19    931,29    844,24    777,08    723,85   568,89   497,01   457,93
 70 000   6084,98   3161,76   2189,34   1704,63   1414,99   1222,88   1086,50    984,94    906,59    844,49   663,71   579,85   534,25
 80 000   6954,26   3613,44   2502,11   1948,15   1617,13   1397,58   1241,72   1125,65   1036,11    965,13   758,52   662,69   610,57
 90 000   7823,54   4065,12   2814,87   2191,67   1819,27   1572,28   1396,93   1266,36   1165,62   1085,77   853,34   745,52   686,89
100 000   8692,83   4516,79   3127,64   2435,19   2021,42   1746,98   1552,14   1407,06   1295,13   1206,41   948,15   828,36   763,21


                                        e             e         e       a
           Tab. 5.1. Table des mensualit´s pour des prˆts hypoth´caires ` un taux annuel de 8 %
             1         2         3         4         5         6         7         8         9         10        15        20        25


 1000       88,71     46,94     33,08     26,19     22,10     19,40     17,50     16,09     15,02     14,18     11,82     10,81     10,32
 2000      177,43     93,88     66,15     52,38     44,20     38,80     35,00     32,19     30,04     28,36     23,63     21,62     20,64
 3000      266,14    140,82     99,23     78,58     66,30     58,20     52,49     48,28     45,06     42,54     35,45     32,43     30,96
 4000      354,85    187,75    132,30    104,77     88,39     77,60     69,99     64,38     60,09     56,72     47,26     43,24     41,28
 5000      443,57    234,69    165,38    130,96    110,49     97,00     87,49     80,47     75,11     70,90     59,08     54,05     51,59
 6000      532,28    281,63    198,46    157,15    132,59    116,40    104,99     96,57     90,13     85,08     70,90     64,86     61,91
 7000      620,99    328,57    231,53    183,34    154,69    135,80    122,49    112,66    105,15     99,26     82,71     75,67     72,23
 8000      709,71    375,51    264,61    209,54    176,79    155,20    139,99    128,75    120,17    113,44     94,53     86,48     82,55
 9000      798,42    422,45    297,69    235,73    198,89    174,60    157,48    144,85    135,19    127,62    106,34     97,29     92,87
10 000     887,13    469,38    330,76    261,92    220,98    194,00    174,98    160,94    150,21    141,80    118,16    108,10    103,19
15 000    1330,70    704,08    496,14    392,88    331,48    291,00    262,47    241,41    225,32    212,70    177,24    162,15    154,78
20 000    1774,27    938,77    661,52    523,84    441,97    388,00    349,97    321,88    300,43    283,61    236,32    216,19    206,38
25 000    2217,84   1173,46    826,91    654,80    552,46    485,00    437,46    402,36    375,54    354,51    295,40    270,24    257,97
30 000    2661,40   1408,15    992,29    785,76    662,95    582,00    524,95    482,83    450,64    425,41    354,48    324,29    309,57
35 000    3104,97   1642,84   1157,67    916,72    773,45    679,00    612,44    563,30    525,75    496,31    413,56    378,34    361,16
40 000    3548,54   1877,54   1323,05   1047,68    883,94    776,00    699,93    643,77    600,86    567,21    472,64    432,39    412,76
45 000    3992,10   2112,23   1488,43   1178,64    994,43    873,00    787,42    724,24    675,97    638,11    531,72    486,44    464,35
                                                                                                                                                                        e




50 000    4435,67   2346,92   1653,81   1309,60   1104,92    970,00    874,92    804,71    751,07    709,01    590,80    540,49    515,95
60 000    5322,81   2816,30   1984,57   1571,52   1325,91   1164,00   1049,90    965,65    901,29    850,82    708,97    648,58    619,14
70 000    6209,94   3285,69   2315,34   1833,44   1546,89   1358,00   1224,88   1126,60   1051,50    992,62    827,13    756,68    722,33
80 000    7097,08   3755,07   2646,10   2095,36   1767,88   1552,00   1399,87   1287,54   1201,72   1134,42    945,29    864,78    825,52
                                                                                                                                                                                  e




90 000    7984,21   4224,46   2976,86   2357,27   1988,86   1746,00   1574,85   1448,48   1351,93   1276,22   1063,45    972,88    928,71
100 000   8871,34   4693,84   3307,62   2619,19   2209,85   1940,00   1749,83   1609,42   1502,15   1418,03   1181,61   1080,97   1031,90
                                                                                                                                            5.6 Appendice : tables de prˆts hypoth´caires




                                         e             e         e       a
            Tab. 5.2. Table des mensualit´s pour des prˆts hypoth´caires ` un taux annuel de 12 %
                                                                                                                                            173
 ee
R´f´rences




[1] Leibniz, G. W. Hauptschriften zur Versicherungs- und Finanzmathematik, dir. E. Knobloch
    et J.-M. Graf von der Schulenburg, Akademie Verlag, 2000, 686 p.
[2] Bruins, E. M. et M. Rutten. « Textes math´matiques de Suse », M´moires de la Mission
                                              e                        e
        e
    arch´ologique en Iran, tome XXXIV, Paris, Librairie orientaliste Paul Geuthner, 1961.
6
Codes correcteurs




               ee                       e                    a                           e
    La partie ´l´mentaire est constitu´e des sections 6.1 ` 6.4. Elle explique la n´cessit´     e
    des codes correcteurs, introduit le corps fini F2 de deux ´l´ments et d´crit une famille
                                                               ee              e
    de codes correcteurs non triviaux, les codes de Hamming. L’arithm´tique du corps F2
                                                                             e
                                                                  ee
    sera nouvelle pour la plupart des lecteurs, mais la partie ´l´mentaire n’utilise que les
    concepts relatifs aux espaces vectoriels et a l’alg`bre matricielle (sur F2 ). Elle peut ˆtre
                                                `      e                                     e
                                                                                   e
    couverte en trois heures. Les sections 6.5 et 6.6 forment la partie avanc´e. Les corps
    finis Fpr , o` p est premier, sont construits par l’introduction sur les polynˆmes de
                 u                                                                      o
    degr´ inf´rieur a r d’une multiplication modulo un polynˆme irr´ductible. La pratique
         e   e       `                                          o        e
    sur quelques exemples permet d’assimiler facilement ce concept qui peut, au premier
                      e                                                    e     e `
    abord, sembler d´routant. Les codes de Reed–Solomon sont enfin pr´sent´s a la derni`re     e
                                                  e
    section. Il faut au moins trois heures suppl´mentaires pour couvrir la partie avanc´e.   e



                      e        e
6.1 Introduction : num´riser, d´tecter et corriger

                                        `           ee        e    e o
    La transmission d’information a distance a ´t´ utilis´e tr`s tˆt dans l’histoire de
l’humanit´1 . La d´couverte des lois physiques de l’´lectromagn´tisme et de leurs appli-
            e       e                                  e           e
                                                         e           e
cations a permis d’envoyer des messages sous forme ´lectrique d`s la seconde moiti´ du  e
XIXe si`cle. Que la communication se fasse directement a l’aide d’une langue humaine
          e                                                  `
             c                            e                e                `
(tel le fran¸ais ou l’anglais) ou soit pr´alablement encod´e (par exemple, a l’aide du code
                         e              e
Morse (1836)), l’utilit´ de pouvoir d´tecter et corriger des erreurs lors de la transmission
se fait rapidement sentir.
                 e     e                         e            e e
    Une premi`re m´thode permettant d’am´liorer la fid´lit´ de la transmission d’un
                e                                      e            ee
message poss`de une importance historique. Au d´but de la t´l´phonie (avec ou sans
               e                                      a e          e                  e
fil), la qualit´ de la transmission laissait beaucoup ` d´sirer. Il ´tait donc usuel d’´peler

    1
               e                      e                                 e
     Selon la l´gende, le soldat charg´ de rapporter la victoire des Ath´niens sur les Perses en
                                                         e                    e            a
l’an 490 aurait couru la distance entre Marathon et Ath`nes et serait mort d’´puisement ` son
     e
arriv´e. La longueur du marathon olympique est maintenant de 41,195 km.
178       6 Codes correcteurs

                     c
un mot en rempla¸ant chaque lettre par un mot dont la premi`re lettre co¨   e           ıncidait avec
la lettre ` ´peler. Ainsi, pour transmettre le mot « erreur », l’interlocuteur aurait dit
             a e
les mots « Echo, Rom´o, Rom´o, Echo, Uniforme, Rom´o ». Les arm´es am´ricaine et
               ´           e          e ´                               e          e      e
britannique avaient de tels « alphabets » d`s la Premi`re Guerre mondiale. Ce code
                                                       e                e
             e
pour am´liorer la transmission d’un message multiplie l’information ; on esp`re que          e
    e                                                 e ´
le r´cepteur puisse extraire du message cod´ (Echo, Rom´o, Rom´o, Echo, Uniforme,
                                                                          e      e ´
Rom´o) le message original (« erreur »), et ce, avec plus de constance et de pr´cision
      e                                                                                       e
que si le mot « erreur » avait ´t´ simplement dit ou ´pel´. Cette « multiplication de
                                       ee                             e e
l’information » ou redondance est la cl´ de tout code d´tecteur et correcteur.
                                                 e                    e
                                                              e
    Notre second exemple sera celui d’un code d´tecteur : il permet de diagnostiquer
                    ee
qu’une erreur a ´t´ commise lors de la transmission, mais pas de corriger cette erreur.
                                                                    e
En informatique, il est usuel de remplacer les caract`res de notre alphabet ´tendu (a,    e
b, c, . . . , A, B, C, . . . , 0, 1, 2, . . . , +, −, :, ;, . . . ) par un chiffre entre 0 et 127. En
     e                                             e                            e
repr´sentation binaire, il faut sept caract`res 0 ou 1 (chacun appel´ bit, une contraction
de binary digit) pour ´tiqueter ces 27 = 128 caract`res. Par exemple, supposons que la
                           e                                     e
lettre a corresponde au nombre 97. Puisque 97 = 64 + 32 + 1 = 1 · 26 + 1 · 25 + 1 · 20 ,
                        e
la lettre a est encod´e comme 1100001. Ainsi, une correspondance possible est donn´e               e
par le tableau suivant.

            e
           d´cimal     binaire          e
                                   parit´+binaire


      A       65      1000001         01000001
      B       66      1000010         01000010
      C       67      1000011         11000011
      .
      .        .
               .         .
                         .                .
                                          .
      .        .         .                .
      a       97      1100001         11100001
      b       98      1100010         11100010
      c       99      1100011         01100011
      .
      .        .
               .         .
                         .                .
                                          .
      .        .         .                .


        e                                                             e
Pour d´tecter une erreur, on ajoute au code de sept bits un huiti`me bit, dit bit de parit´.e
           ea                                            e                        c a
Il est plac´ ` gauche des sept bits initiaux. Ce huiti`me bit est choisi de fa¸on ` ce que
la somme des huit bits du code soit paire. Par exemple, la somme des sept bits de « A »
est 1 + 0 + 0 + 0 + 0 + 0 + 1 = 2, le bit de parit´ sera alors 0, et « A » sera repr´sent´ par
                                                  e                                 e    e
01000001. Cependant, la somme des sept bits de « a » est 1 + 1 + 0 + 0 + 0 + 0 + 1 = 3, et
« a » sera repr´sent´ par les huit bits 11100001. Ce bit de parit´ est un code de d´tection.
               e     e                                              e                 e
                e                          ee
Il permet de d´tecter qu’une erreur a ´t´ commise lors de la transmission, mais il ne
                                    e
permet pas de la corriger, car le r´cepteur ne sait pas lequel des huit bits est le bit fautif.
     e                                                            `                 e
Le r´cepteur, constatant l’erreur, peut cependant demander a ce que le caract`re lui soit
                                    e                              e
retransmis. Notons que ce code d´tecteur repose sur l’hypoth`se qu’au maximum un bit
                                                            e        e
                                      6.1 Introduction : num´riser, d´tecter et corriger       179

           e                  e
est erron´. Cette hypoth`se est raisonnable si la transmission est presque parfaite et que
               e
la probabilit´ de deux erreurs au sein d’une transmission de huit bits est presque nulle.
               e                   e            e
     Le troisi`me exemple pr´sente une id´e simple pour construire un code correcteur,
      a                                     e                                             a e e
c’est-`-dire un code permettant de d´tecter et de corriger une erreur. Il consiste ` r´p´ter
           e                                                                      e
la totalit´ du message suffisamment de fois. Par exemple, tous les caract`res d’un texte
pourraient ˆtre r´p´t´s deux fois. Ainsi, le mot « erreur » pourrait ˆtre transmis sous
              e      e ee                                                    e
la forme « eerrrreeuurr ». Cette premi`re version de ce code simple n’est cependant pas
                                              e
                                 e
un code correcteur, car, mˆme si on suppose qu’au plus une lettre par paire puisse ˆtre        e
      e                                                        e
erron´e, il ne permet pas la correction des erreurs. Quel ´tait le message original si nous
recevons « ˆˆgmee » ? Etait-ce « ˆge » ou « ˆme » ? Pour faire de cette id´e simple un
              aa            ´            a           a                               e
                                   e e                                         e
code correcteur, il suffit de r´p´ter trois fois chaque lettre. Si l’hypoth`se d’au plus une
erreur par groupe de trois lettres est raisonnable, alors « ˆˆˆgmmeee » sera d´cod´ en
                                                                 aaa                      e    e
« ˆme ». En effet, mˆme si les trois lettres « gmm » ne co¨
   a                      e                                        ıncident pas, une seule est
erron´e, par hypoth`se, et les trois lettres originales ne peuvent donc ˆtre que « mmm ».
      e                 e                                                    e
Voici donc un premier exemple de code correcteur ! Ce code est peu utilis´, car il est e
   u
coˆ teux : il demande que toute l’information soit transmise en triple. Les codes que
nous pr´senterons dans ce chapitre sont beaucoup plus ´conomiques. Comme pour tous
         e                                                    e
les codes, il n’est pas impossible que, dans un groupe de trois lettres, deux ou mˆme          e
                     e                     e             e e                   e
trois soient erron´es ; notre hypoth`se est que ces ´v´nements sont tr`s peu probables.
                                                                                    e
Comme l’exercice 8 le montre, ce code fort simple conserve cependant un l´ger avantage
                                                   `
sur le code de Hamming qui sera introduit a la section 6.3.
                  e
     Les codes d´tecteurs et correcteurs existent donc depuis longtemps. Avec la num´ri-        e
                                                                           e
sation de l’information, ces codes sont devenus de plus en plus n´cessaires et ais´s `         e a
                               e       e          a
mettre en œuvre. Leur n´cessit´ est facile ` comprendre quand on connaˆ la grandeurıt
                                                                            a
des fichiers typiques contenant des photos et de la musique. Voici, ` la figure 6.1, une
                            e e                        e
toute petite photo num´ris´e : les deux copies repr´sentent le sommet de la tour d’un des
  a                           e            e `
bˆtiments de l’Universit´ de Montr´al. A gauche, la photo est dans son format original.
`                e               ee
A droite, la mˆme photo a ´t´ agrandie huit fois horizontalement et verticalement : on y
                                      a             e
voit clairement les pixels, c’est-`-dire les carr´s de gris constant. En fait, ces deux photos
     ee             e                    e
ont ´t´ fractionn´es en 72×72 carr´s de gris constant (les pixels), et la profondeur du gris
a ´t´ rep´r´e sur une ´chelle de 256 = 28 niveaux de gris (le blanc ´tant a une extr´mit´
   ee      e e            e                                              e       `           e    e
          e                 e       `
de cette ´chelle, le noir ´tant a l’autre). Il faut donc transmettre 72×72×8 = 41,472 bits
pour transmettre cette petite photo en noir et blanc. Et nous sommes fort loin d’une
                                                    e       e
photo couleur grand format puisque les cam´ras num´riques actuelles ont des capteurs
de plus de 2000 × 3000 pixels couleur2 !
     Le son et, en particulier, la musique sont de plus en plus souvent num´ris´s. Par   e e
           `          e                                                           `
rapport a la num´risation des images, celle du son est plus difficile ... a visualiser. Il
faut savoir que le son est une onde. Les vagues sur la mer sont une onde qui se propage

   2
                    e        a                           e a
    Ceux qui s’int´ressent ` l’informatique sont habitu´s ` voir les grandeurs de fichier et les
       e                             e                                     a
capacit´s des espaces-disques mesur´es en octets, en kilooctets (Ko, c’est-`-dire 1000 octets),
en m´gaoctets (1 Mo = 106 octets), en gigaoctets (1 Go = 109 octets), etc. Un octet est ´gal
     e                                                                                    e
a
` huit bits, et notre petite photo noir et blanc occupe 41 472/8 o = 5184 o = 5,184 Ko.
180     6 Codes correcteurs




Fig. 6.1. Une photo num´ris´e : ` gauche, l’« original » et a droite, la photo agrandie huit fois
                          e e a                             `
en hauteur et en largeur.



` la surface de l’eau, la lumi`re est une onde des champs ´lectrique et magn´tique,
a                               e                                  e                 e
                                       e
et le son est une onde de la densit´ de l’air. Si nous pouvions mesurer la densit´ en   e
                            e
un point fixe de l’air pr`s d’un piano qui sonne la note la au centre du clavier, nous
                        e
verrions que la densit´ de l’air augmente et diminue environ 440 fois par seconde. La
                                               e                                 e
variation est minuscule, mais nos oreilles la d´tectent, la transforment en onde ´lectrique,
transmettent cette onde ` notre cerveau, qui l’analyse et la « per¸oit » comme le la au
                            a                                          c
                                                                 e
centre du clavier d’un piano. La figure 6.2 donne une repr´sentation de cette onde de
       e                        e
densit´. (L’axe horizontal rep`re le temps alors que le vertical donne l’amplitude de
                 e
l’onde. Les unit´s importent peu pour ce qui suit.) Lorsque la fonction est positive, la
       e        e        a                                 a
densit´ est sup´rieure ` celle de l’air au repos (c’est-`-dire dans le silence absolu), et
                          e                e        e                e
lorsque la fonction est n´gative, la densit´ est inf´rieure. La num´risation du son consiste
a
` remplacer cette fonction continue par une fonction en escalier. Pour chaque p´riode e
tr`s courte de Δ seconde, la fonction « son » est remplac´e pour toute cette p´riode par
  e                                                           e                   e
la valeur au centre de cet intervalle de temps. Si Δ est assez court, l’approximation par
la fonction escalier sera suffisamment bonne pour que l’oreille ne puisse pas percevoir
                                                                     6.2 Le corps F2      181

       e
de diff´rence entre la fonction son et la fonction escalier. (Une paire de fonctions son
                    e    e a                       e      e e                e   e
et escalier est repr´sent´e ` la figure 6.3.) Cette ´tape r´alis´e, il suffit d’´num´rer les
                                                   e
valeurs de la fonction escalier pour chacune des p´riodes Δ.




       Fig. 6.2. La fonction « onde de densit´ » pendant une courte fraction de seconde
                                             e


                                           e                                   e
    Sur un disque compact, le son est hach´ en 44 100 morceaux par seconde (l’´quivalent
des pixels de l’image ci-dessus), et la valeur de la fonction escalier durant chacune de
ces Δ = 44 1 seconde est rep´r´e sur une ´chelle de 65 536 = 216 intensit´s3 . Si on
             100                e e            e                               e
                                                                 e e
se rappelle que les disques compacts reproduisent le son en st´r´o, chaque seconde de
musique demande 44 100 × 16 × 2 = 1 411 200 bits, et un disque d’environ 70 minutes
devra transmettre fid`lement 1 411 200 × 60 × 70 = 5 927 040 000 bits = 740 880 000
                       e
                                                         e     e
octets, soit approximativement 740 Mo. La possibilit´ de d´tecter et de corriger les
erreurs semble attrayante.
                                                      e    e
    Dans ce qui suit, deux codes classiques sont pr´sent´s, celui de Hamming et celui
                                     ee                      ee
de Reed et Solomon. Le premier a ´t´ retenu par France T´l´com pour la transmission
                            e
du signal du Minitel, un pr´curseur d’Internet tel que nous le connaissons aujourd’hui.
                                 e
Le code de Reed–Solomon conf`re, aux disques compacts, leur grande robustesse. Le
                                                     ee
Consultative Committee for Space Data System, cr´´ en 1982 pour harmoniser les pra-
               e                                        e
tiques des diff´rentes agences spatiales, recommande ´galement ce code pour la trans-
                 e
mission de donn´es par satellite.


6.2 Le corps F2
   Pour comprendre le code de Hamming, nous devons connaˆ                 e
                                                                ıtre les r`gles de calcul
applicables au corps ` deux ´l´ments F2 . Un corps est un ensemble de nombres sur lequel
                     a      ee
sont d´finies deux op´rations appel´es « addition » et « multiplication », op´rations qui
      e              e             e                                         e
                              ee                        e
doivent satisfaire aux propri´t´s qui nous sont famili`res pour les nombres rationnels
   3
                                                         e
     Sony et Philips sont les deux compagnies qui ont ´tabli conjointement le standard du
disque compact. Apr`s avoir h´sit´ entre une ´chelle fragment´e en 214 ou en 216 niveaux, les
                      e       e e            e               e
ing´nieurs des deux compagnies ont opt´ pour l’´chelle la plus fine, celle de 216 niveaux [1].
   e                                    e       e
Voir aussi le chapitre 10.
182     6 Codes correcteurs




            Fig. 6.3. La fonction « son » et une fonction « escalier » qui l’approche


     e                 e              e               e
et r´els : associativit´, commutativit´, distributivit´ de la multiplication sur l’addition,
existence de neutres pour l’addition et la multiplication, existence d’un inverse addi-
                                                      ee
tif, existence d’un inverse multiplicatif pour tout ´l´ment non nul. Le lecteur connaˆ    ıt
sˆ rement l’ensemble des rationnels Q, celui des r´els R et probablement celui des com-
 u                                                  e
plexes C. Ces trois ensembles, munis des op´rations + et × usuelles, sont des corps.
                                                e
Mais il existe beaucoup d’autres corps que ceux-ci !
                                            e                                    e
     Nous examinerons la structure math´matique d’un corps en plus de d´tails a la      `
                                        e                                e
section 6.5 ; il nous suffira, pour le pr´sent exemple, de donner les r`gles de l’addition
+ et de la multiplication × qui sont d´finies sur cet ensemble de deux ´l´ments {0, 1}.
                                        e                                  ee
Les tables d’addition et de multiplication se lisent comme suit

                              +     0    1                    ×    0    1
                              0     0    1                    0    0    0                          (6.1)
                              1     1    0                    1    0    1

Ces op´rations r´pondent aux r`gles que l’on connaˆ pour les nombres rationnels Q, les
       e          e              e                     ıt
r´els R et les complexes C : associativit´, commutativit´ et distributivit´, existence des
 e                                       e                  e                e
neutres et des inverses. Par exemple, en utilisant les tables d’addition et de multiplication
ci-dessus, on v´rifie que, pour tout x, y, z ∈ F2 , la distributivit´
                e                                                  e

                                   x × (y + z) = x × y + x × z

      e e
est v´rifi´e. Puisque x, y et z prennent chacun deux valeurs, la distributivit´ repr´sente    e     e
huit relations correspondant aux huit valeurs possibles du triplet (x, y, z) ∈ {(0, 0, 0),
                                                                                        e
(1, 0, 0), (0, 1, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1), (0, 1, 1), (1, 1, 1)}. Voici la v´rification expli-
                             e
cite de la distributivit´ pour le triplet (x, y, z) = (1, 0, 1) :

                             x × (y + z) = 1 × (0 + 1) = 1 × 1 = 1
                                                             6.3 Le code de Hamming C(7, 4)           183

et
                          x × y + x × z = 1 × 0 + 1 × 1 = 0 + 1 = 1.
Comme dans Q, R et C, 0 est le neutre pour + et 1, le neutre pour ×. Tous les ´l´ments
                                                                                 ee
     e
poss`dent un inverse additif. (Exercice : quel est l’inverse additif de 1 ?) Et tous les
´l´ments de F2 \{0} poss`dent un inverse multiplicatif. Dans ce dernier cas, l’affirmation
ee                         e
est tr`s simple, car il n’y a qu’un ´l´ment dans F2 \ {0} = {1}, et l’inverse multiplicatif
       e                            ee
de 1 est 1 puisque 1 × 1 = 1.
    Tout comme il est possible de d´finir des espaces vectoriels R3 , Rn ou C2 , il est
                                       e
                                          a                                          e
possible de parler des espaces vectoriels ` trois composantes, chacune d’entre elles ´tant
un ´l´ment de F2 . Il est possible d’additionner deux vecteurs de F3 et d’en faire des
    ee                                                                 2
combinaisons lin´aires (avec coefficients dans F2 ´videmment !). Par exemple :
                  e                                 e

                                                (1, 0, 1) + (0, 1, 0) = (1, 1, 1),
                                                (1, 0, 1) + (0, 1, 1) = (1, 1, 0),

et

                       0 · (1, 0, 1) + 1 · (0, 1, 1) + 1 · (1, 1, 0) = (1, 0, 1).

Puisque les composantes doivent ˆtre dans F2 et que seules les combinaisons lin´aires
                                   e                                           e
avec coefficients dans F2 sont permises, le nombre de vecteurs dans F3 (et dans tout
                                                                     2
Fn , n < ∞) est fini ! Attention, mˆme si la dimension de R3 est 3 (et donc finie), le
  2                                  e
nombre de vecteurs dans R3 est infini. Pour F3 , ce nombre de vecteurs est huit, et la
                                                2
           e
liste compl`te des vecteurs de cet espace vectoriel est

          {(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 1, 1), (1, 0, 1), (1, 1, 0), (1, 1, 1)}.

                         e
(Exercice : rappeler la d´finition de dimension d’un espace vectoriel et calculer la di-
mension de F3 .) Les espaces vectoriels sur des corps finis tel F2 sont d´routants, car
              2                                                          e
                                                     e       e
leurs vecteurs sont en nombre fini, et les cours d’alg`bre lin´aire n’en parlent pas ou
       e                      e                   e      e
peu mˆme si beaucoup des m´thodes qui y sont d´velopp´es (le calcul matriciel, entre
                     a
autres) s’appliquent ` eux.


6.3 Le code de Hamming C(7, 4)
                                                                       o
    Voici un premier exemple de code correcteur moderne. Plutˆt que les lettres usuelles
                                                 e
(a, b, c, ...), il utilise un alphabet constitu´ de deux lettres (F2 ) que nous d´signerons par
                                                                                 e
0 et 14 . Nous nous limiterons de plus a transmettre des mots ayant pr´cis´ment quatre
                                             `                                e e
lettres (u1 , u2 , u3 , u4 ). (Exercice : est-ce une restriction grave ?) Notre vocabulaire ou
   4
     Comme nous l’avons vu dans l’introduction, ceci n’est pas une restriction puisqu’il existe
des « dictionnaires » traduisant notre alphabet latin en une s´rie de caract`res 0 et 1.
                                                              e             e
184     6 Codes correcteurs

code C ⊂ F4 ne contiendra donc que 16 mots ou ´l´ments. Plutˆt que de transmettre
            2                                       ee              o
ces quatre lettres, nous transmettrons les sept lettres suivantes :
                                         v1 = u1 ,
                                         v2 = u2 ,
                                         v3 = u3 ,
                                         v4 = u4 ,
                                         v5 = u1 + u2 + u4 ,
                                         v6 = u1 + u3 + u4 ,
                                         v7 = u2 + u3 + u4 .
Ainsi, pour transmettre le mot (1, 0, 1, 1), nous enverrons le message
                         (v1 , v2 , v3 , v4 , v5 , v6 , v7 ) = (1, 0, 1, 1, 0, 1, 0)
puisque
                              v5 =u1 + u2 + u4 =1 + 0 + 1 = 0,
                              v6 =u1 + u3 + u4 =1 + 1 + 1 = 1,
                              v7 =u2 + u3 + u4 =0 + 1 + 1 = 0.
(Attention : « + » est l’addition dans F2 .)
                                e
    Puisque les quatre premi`res composantes de (v1 , v2 , . . . , v7 ) sont pr´cis´ment les
                                                                                  e e
                        a              `
quatre lettres du mot ` transmettre, a quoi peuvent bien servir les trois autres lettres ?
                                                                            e
Ces lettres sont redondantes et permettent de corriger une lettre erron´e, quelle qu’elle
soit. Comment ce « miracle » peut-il ˆtre accompli ?
                                        e
                                 e         c
    En voici un exemple. Le r´cepteur re¸oit les sept lettres (w1 , w2 , . . . , w7 ) = (1, 1, 1,
1, 1, 0, 0). Nous distinguons les vi des wi , car, lors de la transmission, une des lettres,
                                                        `
disons vj , peut avoir ´t´ corrompue. Alors vj = wj . A cause de la qualit´ de son canal de
                       ee                                                   e
                   e                                                             e
transmission, le r´cepteur peut, avec une bonne assurance, faire l’hypoth`se qu’aucune
                                  e      e
ou au plus une lettre est erron´e. Le r´cepteur calcule donc
                                        W5 = w1 + w2 + w4 ,
                                        W6 = w1 + w3 + w4 ,
                                        W7 = w2 + w3 + w4 ,
et les compare avec les w5 , w6 et w7 qu’il a re¸us. S’il n’y a pas eu d’erreur lors de
                                                c
la transmission, W5 , W6 , W7 devraient co¨
                                          ıncider avec w5 , w6 , w7 . Voici ce calcul pour
            e
l’exemple pr´sent :
                        W5 = w1 + w2 + w4 = 1 + 1 + 1 = 1 = w5 ,
                        W6 = w1 + w3 + w4 = 1 + 1 + 1 = 1 = w6 ,                           (6.2)
                        W7 = w2 + w3 + w4 = 1 + 1 + 1 = 1 = w7 .
                                                          6.3 Le code de Hamming C(7, 4)            185

     e                                              u
Le r´cepteur constate qu’une erreur a dˆ se produire, car deux des trois lettres re¸ues,           c
w5 , w6 et w7 , ne reproduisent pas celles qu’il calcule, c’est-`-dire W5 , W6 , W7 . Mais
                                                                           a
  u                                                            e
o` est l’erreur ? Touche-t-elle une des quatre premi`res lettres du message original ou
une des trois lettres ajout´es ? Il est facile d’exclure la possibilit´ que w5 ou w6 ou w7
                                 e                                              e
            e
soit erron´e. Si nous changeons une seule de ces trois lettres, au moins une des trois
e      e                                                                         e
´galit´s (6.2) ne sera pas satisfaite. Il faut donc que la lettre erron´e soit une des quatre
premi`res. Quelle lettre, parmi w1 , w2 , w3 et w4 , peut-on changer de fa¸on ` corriger
       e                                                                                   c a
          e                          e e          e                                 e
simultan´ment les deux derni`res ´galit´s fausses de (6.2) tout en pr´servant la premi`re             e
qui est juste ? La r´ponse est simple : la lettre a corriger est w3 . En effet, la premi`re
                      e                                     `                                         e
somme ne contient pas w3 et ne sera pas affect´e par le changement de cette lettre. Les
                                                          e
deux autres changeront et seront donc « corrig´es ». Ainsi, mˆme si les quatre premi`res
                                                         e              e                            e
lettres re¸ues par le r´cepteur sont (w1 , w2 , w3 , w4 ) = (1, 1, 1, 1), le message original
           c               e
                   e
(correct) devait ˆtre (v1 , v2 , v3 , v4 ) = (1, 1, 0, 1).
                                                                   e
     Dressons maintenant la liste de toutes les possibilit´s. Supposons que le r´cepteur        e
re¸oive les lettres (w1 , w2 , . . . , w7 ). La seule chose dont ce r´cepteur est assur´ est que ces
   c                                                                 e                      e
sept lettres wi , i = 1, . . . , 7 co¨                                              `
                                       ıncident avec les lettres vi = i, . . . , 7, a l’exception, peut-
e                                                ıt
ˆtre, d’une seule lettre (qu’il ne connaˆ cependant pas). Huit possibilit´s se pr´sentente      e
     e
au r´cepteur. Les voici :
                                e
(0) il n’y a aucune lettre erron´e ;
(1) w1 est erron´e ;
                e
(2) w2 est erron´e ;
                e
(3) w3 est erron´e ;
                e
(4) w4 est erron´e ;
                e
(5) w5 est erron´e ;
                e
(6) w6 est erron´e ;
                e
(7) w7 est erron´e.    e
` l’aide des lettres redondantes, le r´cepteur peut d´terminer laquelle est juste. En effet,
A                                          e              e
en calculant W5 , W6 et W7 comme ci-dessus, il pourra diagnostiquer lequel des huit cas
                                  `
(i), i = 0, . . . , 7, est le bon a l’aide du tableau suivant :
(0) si w5 = W5 et w6 = W6 et w7 = W7 ;
(1) si w5 = W5 et w6 = W6 ;
(2) si w5 = W5 et w7 = W7 ;
(3) si w6 = W6 et w7 = W7 ;
(4) si w5 = W5 et w6 = W6 et w7 = W7 ;
(5) si w5 = W5 ;
(6) si w6 = W6 ;
(7) si w7 = W7 .
186     6 Codes correcteurs

         e                                         e
L’hypoth`se qu’au maximum une lettre est erron´e est cruciale. Si deux lettres pouvaient
ˆtre erron´es, alors le r´cepteur ne pourrait distinguer, par exemple, entre « w1 est
e          e             e
erron´e » et « w5 et w6 sont toutes les deux erron´es » et ne pourrait donc effectuer
     e                                                 e
                                   e e                       e
de correction. Connaissant, le cas ´ch´ant, la lettre erron´e, il la corrigera, tronquera le
                           e                                                   `       u
message de ses trois derni`res lettres, et les quatre lettres restantes seront a coup sˆ r le
               e
message que l’´metteur voulait transmettre. Le processus est donc symbolis´ par  e
      (u1 , u2 , u3 , u4 ) ∈ C ⊂ F4    −−−−
                                       −− − −→            (v1 , v2 , v3 , v4 , v5 , v6 , v7 ) ∈ F7
                                  2         encodage                                             2

             −−−−−
             −− − − −→          (w1 , w2 , w3 , w4 , w5 , w6 , w7 ) ∈ F7
              transmission                                             2

                 −−−−−−−−
                 −− − − − − − −→                (w1 , w2 , w3 , w4 ) ∈ C ⊂ F4
                   correction et d´codage
                                  e                                         2

   Comment le code de Hamming C(7, 4) se compare-t-il aux autres codes correcteurs ?
                                                     e                     e      e
Cette question est trop vague. En effet, la qualit´ d’un code ne peut ˆtre jug´e qu’en
fonction des besoins : le taux d’erreur du canal de transmission, la longueur moyenne des
          ae                    e                      e
messages ` ´mettre, la rapidit´ d’encodage et de d´codage requise, etc. Nous pouvons
           e                                           a               e e
tout de mˆme le comparer au code qui consiste ` simplement r´p´ter l’information
      e
envoy´e. Par exemple, chacune des lettres ui , i = 1, 2, 3, 4, peut ˆtre envoy´e de fa¸on
                                                                     e         e        c
 e ee          a
r´p´t´e jusqu’` ce qu’un bon niveau de confiance soit atteint. Reprenons l’hypoth`se     e
qu’une seule erreur puisse se produire dans quelques bits (< 15 bits). Alors, chacune
                         e     e ee                           ea
des quatre lettres peut ˆtre r´p´t´e. Comme nous l’avons d´j` vu, si chacune des ui est
      e                         e                        e
envoy´e deux fois, seule une d´tection d’erreur peut ˆtre accomplie. Il faut transmettre
chaque lettre trois fois pour assurer la correction d’une erreur. Transmettre trois fois les
quatre lettres requiert 12 bits, et le code de Hamming en requiert sept. Il s’agit d’une
   e
am´lioration significative.


6.4 Les codes de Hamming C(2k − 1, 2k − k − 1)
                                                     e
    Le code de Hamming C(7, 4) que nous venons d’´tudier est le premier d’une famille
de codes de Hamming C(2k − 1, 2k − k − 1) que nous allons maintenant introduire. Tous
ces codes ne permettent la correction que d’une erreur. Les deux nombres 2k − 1 et
2k − k − 1 indiquent respectivement la longueur des mots du code et la dimension du
                 e
sous-espace form´ par les mots transmis. Ainsi, pour k = 3, on retrouve le code C(7, 4)
o` 7 est la longueur des mots transmis, c’est-`-dire que les mots transmis ∈ F7 , alors
 u                                              a                                2
que les mots (sans erreur) forment un sous-espace de dimension 4 isomorphe ` F4 .
                                                                               a 2
                               o
    Deux matrices jouent un rˆle important dans la description du code de Hamming (et
                          e
de tous les codes dits lin´aires, dont le code de Reed–Solomon fait partie) : la matrice
 e e                                  o                   e e
g´n´ratrice G et la matrice de contrˆle H. La matrice g´n´ratrice Gk est une matrice
(2k − k − 1) × (2k − 1) et poss`de comme lignes une base du sous-espace isomorphe `
                                 e                                                     a
 (2k −k−1)
F2                                   a
         des mots du code C, c’est-`-dire des mots sans erreur. Tout mot du code sera
une combinaison lin´aire de ces lignes. Pour C(7, 4), la matrice G3 peut ˆtre choisie sous
                   e                                                     e
la forme
                                        6.4 Les codes de Hamming C(2k − 1, 2k − k − 1)          187
                                    ⎛                                     ⎞
                                   1          0       0    0   1   1     0
                                 ⎜0           1       0    0   1   0     1⎟
                            G3 = ⎜
                                 ⎝0
                                                                           ⎟.
                                              0       1    0   0   1     1⎠
                                   0          0       0    1   1   1     1
                        e
Par exemple, la premi`re ligne de G3 correspond au mot du code tel que u1 = 1 et
u2 = u3 = u4 = 0. Alors, par les r`gles que nous avons choisies, v1 = 1, v2 = v3 = v4 = 0,
                                    e
et v5 = u1 + u2 + u4 = 1, v6 = u1 + u3 + u4 = 1 et v7 = u2 + u3 + u4 = 0. Ce sont les
ee                    e                                           e                 e
´l´ments de la premi`re ligne. Les 16 mots du code C seront d´duits des 16 diff´rentes
                  e
combinaisons lin´aires possibles des quatre lignes de G3 . Puisque G est d´finie a l’aide
                                                                               e    `
                                       e
du choix d’une base, G n’est pas d´finie uniquement.
    La matrice de contrˆle H est une matrice k × (2k − 1) dont les k lignes forment une
                         o
                e                                           e
base du compl´ment orthogonal du sous-espace engendr´ par les lignes de G. Le produit
                                                                n
scalaire est le produit usuel : si v, w ∈ Fn , alors (v, w) = i=1 vi wi ∈ F2 . (L’appendice
                                           2
a                                     e                                             e
` la fin de ce chapitre rappelle la d´finition de produit scalaire et souligne les diff´rences
importantes entre cette structure sur les corps usuels (Q, R et C) et sur les corps finis.
                     e                        e
Certaines de ces diff´rences ne sont pas tr`s intuitives !) Pour C(7, 4) et le choix de G3
                               o             e
ci-dessus, la matrice de contrˆle H3 peut ˆtre choisie ainsi :
                                    ⎛                         ⎞
                                       1 1 0 1 1 0 0
                            H3 = ⎝1 0 1 1 0 1 0⎠ .
                                       0 1 1 1 0 0 1

                                                       `
Puisque les lignes de G et de H sont orthogonales deux a deux, les matrices G et H
          `
satisfont a
                                     GH t = 0.                                (6.3)
Par exemple, pour k = 3 :
                                                               ⎛          ⎞
                                                               1   1     0
                     ⎛                                     ⎞ ⎜1    0     1⎟ ⎛
                                                                          ⎟
                                                                                           ⎞
                      1     0   0   0     1       1       0 ⎜                  0   0     0
                    ⎜0
                                                             ⎜0    1     1⎟ ⎜
                                                                          ⎟
                t   ⎜       1   0   0     1       0       1⎟ ⎜
                                                           ⎟ ⎜1           ⎟ = ⎜0   0     0⎟⎟.
            G3 H3 = ⎝                                              1     1⎟ ⎝
                      0     0   1   0     0       1       1⎠ ⎜                 0   0     0⎠
                                                             ⎜1    0     0⎟
                                                                          ⎟
                      0     0   0   1     1       1       1 ⎜                  0   0     0
                                                             ⎝0    1     0⎠
                                    4×7                        0   0     1         4×3

                                                                   7×3

    Le code de Hamming g´n´ral C(2k − 1, 2k − k − 1) est d´fini par la donn´e de la
                            e e                               e                e
                 o                       e
matrice de contrˆle H. Cette matrice poss`de comme vecteurs colonnes tous les vecteurs
non nuls de Fk . Puisque Fk contient 2k vecteurs (dont le vecteur nul), H est bien une
              2            2
matrice k × (2k − 1). La matrice H3 en est un exemple. Comme nous l’avons dit, les
                       e e                              e
lignes de la matrice g´n´ratrice G engendrent le compl´ment orthogonal des lignes de
H. Ceci termine la d´finition du code de Hamming C(2k − 1, 2k − k − 1).
                     e
                                    e
    Voici comment l’encodage et le d´codage sont faits.
188     6 Codes correcteurs

   Dans le choix de la matrice G3 que nous avons fait, chacune des lignes correspond a            `
             a
un des mots ` transmettre suivants : (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0) et (0, 0, 0, 1). Pour
obtenir le mot g´n´ral (u1 , u2 , u3 , u4 ), il suffit de faire une combinaison lin´aire des
                 e e                                                                     e
quatre lignes de G3 :
                                u1 u2 u3 u4 G3 ∈ F7 .        2

(Exercice : v´rifier que le produit matriciel u1
             e                                        u2           u3       u4 G3 donne bien une matrice
                                k
1 × 7.) L’encodage de u ∈     F2 −k−1
                               2        du code C(2 − 1, 2 − k − 1) se fait exactement de
                                                      k                 k

    e      c
la mˆme fa¸on :
                                                      k
                                                          −1
                                        v = uG ∈ F2
                                                  2            .
                                                                         a     ee
L’encodage est donc une simple multiplication matricielle sur le corps ` deux ´l´ments
F2 .
         e
     Le d´codage est plus subtil ! Les deux observations suivantes sont au cœur de cette
                                                              k
´tape. La premi`re est assez directe : un mot du code v ∈ F2 −1 sans erreur est annihil´
e               e                                            2                         e
                        o
par la matrice de contrˆle :

                         Hv t = H(uG)t = HGt ut = (GH t )t ut = 0

                          e
du fait de l’orthogonalit´ des lignes de G et H.
                                                                k
   La seconde observation est plus difficile. Soit v ∈ F2 −1 un mot (sans erreur) du
                                                               2
                   k
code et v (i) ∈ F2 −1 le mot obtenu de v en additionnant 1 a la i-i`me composante de v.
                  2                                               `       e
Ainsi, v (i) est un mot erron´ en position i. Notons que H(v (i) )t ∈ Fk est ind´pendant
                                e                                           2   e
de v ! En effet,
                          v (i) = v + (0, 0, . . . , 0, 1 , 0, . . . , 0)
                                                    position i

et                                        ⎛ ⎞     ⎛ ⎞
                                            0      0
                                          ⎜0 ⎟    ⎜0⎟
                                          ⎜ ⎟     ⎜ ⎟
                                          ⎜.⎟     ⎜.⎟
                                          ⎜.⎟     ⎜.⎟
                                          ⎜ .⎟    ⎜.⎟
                                          ⎜0 ⎟    ⎜0⎟
                    H(v (i) )t = Hv t + H ⎜ ⎟ = H ⎜ ⎟
                                          ⎜1 ⎟    ⎜1⎟ ← position i,
                                          ⎜ ⎟     ⎜ ⎟
                                          ⎜0 ⎟    ⎜0⎟
                                          ⎜ ⎟     ⎜ ⎟
                                          ⎜.⎟     ⎜.⎟
                                          ⎝.⎠
                                            .     ⎝.⎠
                                                   .
                                            0      0
puisque v est un mot du code. Ainsi, H(v (i) )t est la i-i`me colonne de H. Puisque toutes
                                                          e
                                        e
les colonnes de H sont distinctes, par d´finition de H, une erreur sur la lettre i dans le
                 k
mot re¸u w ∈ F2 −1 revient ` obtenir la i-i`me colonne de H par le produit Hwt .
       c        2            a               e
                                                                          6.5 Corps finis    189

       e
   Le d´codage fonctionne comme suit :
        k
            −1
 w ∈ F2
      2          re¸u
                   c        −→   calcul du produit Hwt ∈ Fk
                                                          2




                            Hwt est nul                      ⇒ w passe ` l’´tape suivante
                                                                        a e
            −→          t
                   Hw est ´gal a la colonne i de H
                          e    `                             ⇒                        e
                                                                la lettre wi est chang´e


                                                                 e
                                  recherche de la combinaison lin´aire
                             −→
                                                                     e
                                  des lignes de G donnant le w corrig´

                                                            e e
   Quoique ces codes ne corrigent qu’une erreur, ils sont tr`s ´conomiques pour k suf-
                                                                        `
fisamment grand. Par exemple, pour k = 7, il suffit d’ajouter sept bits a un message
                 e     u                                          e e
de 120 bits pour ˆtre sˆr de pouvoir corriger une erreur. C’est pr´cis´ment le code de
Hamming C(2k − 1, 2k − k − 1), k = 7, qui est utilis´ pour le Minitel.
                                                    e


6.5 Corps finis

           e                                                          ıtre
   Pour pr´senter le code de Reed–Solomon, nous aurons besoin de connaˆ quelques
      ee                                            ee
propri´t´s des corps finis. Cette section couvre les ´l´ments requis.

D´finition 6.1 Un corps F est un ensemble muni de deux op´rations + et × et conte-
  e                                                       e
nant au moins deux ´l´ments not´s 0 et 1 ∈ F, tel que les cinq propri´t´s suivantes
                     ee        e                                     ee
soient satisfaites :
                  e
 (P1) commutativit´
   a + b = b + a et          a × b = b × a,      ∀a, b ∈ F
                  e
 (P2) associativit´
   (a + b) + c = a + (b + c)         et   (a × b) × c = a × (b × c),     ∀a, b, c ∈ F
                   e
 (P3) distributivit´
   (a + b) × c = (a × c) + (b × c),           ∀a, b, c ∈ F
 (P4) neutres additif et multiplicatif
   a + 0 = a et a × 1 = a,           ∀a ∈ F
 (P5) existence des inverses additif et multiplicatif
   ∀ a ∈ F, ∃ a ∈ F tel que a + a = 0,
   ∀ a ∈ F \ {0}, ∃ a ∈ F tel que a × a = 1.

D´finition 6.2 Un corps F est dit fini si le nombre d’´l´ments dans F est fini.
 e                                                  ee
190    6 Codes correcteurs

Exemple 6.3 Les trois corps les plus familiers sont Q, R et C, c’est-`-dire les nombres
                                                                      a
             e                                                            ee
rationnels, r´els et complexes. Ils ne sont pas finis. La liste des propri´t´s ci-dessus
                       e                                     e
est probablement famili`re au lecteur. Le but de donner la d´finition de corps est donc
                        ee                                                     e       a
d’axiomatiser les propri´t´s de ces trois ensembles. L’avantage est de pouvoir ´tendre `
des corps moins intuitifs les techniques de calcul d´velopp´es pour Q, R et C et qui ne
                                                    e      e
reposent que sur (P1), (P2), (P3), (P4) et (P5).

Exemple 6.4 F2 muni des op´rations + et × donn´es ` la section 6.2 est un corps.
                                 e                     e a
                           e
Les calculs faits durant l’´tude des codes de Hamming vous ont sans doute convaincu
que (F2 , +, ×) est bien un corps. Une v´rification syst´matique est propos´e ` l’exercice
                                        e              e                  e a
4 en fin de chapitre.

Exemple 6.5 F2 n’est que le premier d’une famille de corps finis. Soit p un nombre
premier. On dit que deux nombres a et b sont congrus modulo p si p divise a − b. La
                                e
congruence est une relation d’´quivalence sur les entiers. On a exactement p classes
d’´quivalence repr´sent´es par ¯ ¯ . . . , p − 1. Par exemple, pour p = 3, les entiers Z
  e               e     e       0, 1,
               e
sont partitionn´s en trois sous-ensembles :
                               ¯ = {. . . , −6, −3, 0, 3, 6, . . .},
                               0
                               ¯ = {. . . , −5, −2, 1, 4, 7, . . .},
                               1
                               ¯ = {. . . , −4, −1, 2, 5, 8, . . .}.
                               2
L’ensemble Zp = {¯ ¯ ¯ . . . , p − 1} est l’ensemble de ces classes d’´quivalence. On
                      0, 1, 2,                                           e
d´finit, entre ces classes, les op´rations + et × comme l’addition et la multiplication
  e                               e
modulo p. Pour faire l’addition modulo p des classes a et ¯ on choisit un ´l´ment de la
                                                        ¯ b,                 ee
classe a et un autre de la classe ¯ Le r´sultat de a + ¯ est a + b, c’est-`-dire la classe
        ¯                          b.     e          ¯ b                   a
de Zp ` laquelle appartient la somme des deux ´l´ments choisis. (Exercice : pourquoi
        a                                          ee
                 e                             ee
cette classe ne d´pend-elle pas du choix des ´l´ments, mais seulement des classes a et¯
¯ ? Cette d´finition co¨ncide-t-elle avec celle donn´e pr´c´demment en 6.2 pour le cas
b           e           ı                            e    e e
F2 ?) La multiplication entre classes est d´finie de la mˆme fa¸on. Il est usuel d’omettre
                                            e            e     c
le « ¯ » qui d´note la classe d’´quivalence. L’exercice 24 d´montre que (Zp , +, ×) est un
              e                 e                           e
corps.

Exemple 6.6 L’ensemble des entiers Z n’est pas un corps, car l’´l´ment 2, par exemple,
                                                               ee
n’y a pas d’inverse multiplicatif.

Exemple 6.7 Soit F un corps. D´notons par F l’ensemble de tous les quotients de
                                      e             ˜
                                                                                  ˜
polynˆmes en une variable x ` coefficients dans F ; ainsi, tous les ´l´ments de F sont de la
      o                        a                                    ee
        p(x)
forme q(x) , p(x) et q(x) ´tant des polynˆmes (de degr´ fini par d´finition) ` coefficients
                          e               o              e           e          a
dans F et q ´tant diff´rent du polynˆme identiquement nul. Si nous munissons F de
              e         e               o                                               ˜
l’addition et de la multiplication usuelles pour les fonctions, alors (F, +, ×) est un corps.
                                                                       ˜
                       o                     a
Les quotients de polynˆmes 0/1 = 0 (c’est-`-dire le quotient tel que p(x) = 0 et q(x) = 1)
              a
et 1/1 (c’est-`-dire tel que p(x) = q(x) = 1) sont les neutres additif et multiplicatif. On
         e       e                ee         a
peut ais´ment v´rifier les propri´t´s (P1) ` (P5).
                                                                                                 6.5 Corps finis    191

   L’ensemble Zp ci-dessus m´rite d’ˆtre ´tudi´ de plus pr`s. Les tables d’addition et
                              e     e    e    e           e
de multiplication dans Z3 sont

                           +       0       1       2                 ×       0       1       2
                           0       0       1       2                 0       0       0       0
                                                                                                                  (6.4)
                           1       1       2       0                 1       0       1       2
                           2       2       0       1                 2       0       2       1
et celles de Z5 sont

                 +     0       1       2       3       4         ×       0       1       2       3   4
                 0     0       1       2       3       4         0       0       0       0       0   0
                 1     1       2       3       4       0         1       0       1       2       3   4
                                                                                                                  (6.5)
                 2     2       3       4       0       1         2       0       2       4       1   3
                 3     3       4       0       1       2         3       0       3       1       4   2
                 4     4       0       1       2       3         4       0       4       3       2   1


             e                         e
(Exercice : v´rifier que ces tables repr´sentent bien l’addition et la multiplication mo-
dulo 3 et 5 respectivement.) L’exemple introduisant le corps Zp stipule que p doit ˆtre
                                                                                     e
un nombre premier. Qu’arrive-t-il si p ne l’est pas ? Voici les tables d’addition et de
multiplication modulo 6 d´finies sur l’ensemble {0, 1, 2, 3, 4, 5} :
                          e

            +    0     1       2       3       4       5         ×       0       1       2       3   4   5
            0    0     1       2       3       4       5         0       0       0       0       0   0   0
            1    1     2       3       4       5       0         1       0       1       2       3   4   5
            2    2     3       4       5       0       1         2       0       2       4       0   2   4        (6.6)
            3    3     4       5       0       1       2         3       0       3       0       3   0   3
            4    4     5       0       1       2       3         4       0       4       2       0   4   2
            5    5     0       1       2       3       4         5       0       5       4       3   2   1

Comment prouver que {0, 1, 2, 3, 4, 5} muni de ces tables ne forme pas un corps ? A      `
            e             e
l’aide des z´ros en caract`re gras dans la table de multiplication ci-dessus ! En voici la
preuve.
    Nous savons que 0 × a = 0 dans Q et dans R. Est-ce vrai pour tout ´l´ment non nul
                                                                         ee
a dans un corps quelconque F ? Oui ! La preuve qui suit est ´l´mentaire. (En la lisant,
                                                              ee
noter que chaque ´tape d´coule directement d’une des propri´t´s du corps F.) Soit a un
                   e      e                                   ee
´l´ment quelconque de F. Alors
ee

                               0×a             =       (0 + 0) × a           (P4)
                                               =       0×a+0×a               (P3).

Par (P5), tout ´l´ment de F poss`de un inverse additif. Soit b l’inverse additif de (0 × a).
               ee               e
             ee                               e
Ajoutons cet ´l´ment aux deux membres de l’´quation ci-dessus :
192    6 Codes correcteurs

                             (0 × a) + b = (0 × a + 0 × a) + b.

                                  e                                             e
Le membre de gauche est nul (par d´finition de b) alors que celui de droite peut ˆtre
 ee
r´´crit
                     0 = 0 × a + ((0 × a) + b)          (P2)
                        = 0×a+0
                        = 0×a                           (P4)
` cause du choix de b. Ainsi, 0 × a est nul quel que soit a ∈ F. Revenons maintenant a
a                                                                                    `
la table de multiplication d’un corps F. Soient a et b ∈ F deux ´l´ments non nuls de F
                                                                 ee
tels que
                                       a × b = 0.
En multipliant les deux membres de cette ´quation par l’inverse multiplicatif b de b qui
                                         e
existe de par (P5), on a
                                a × (b × b ) = 0 × b ,
                 ee              e     e     e
et, par la propri´t´ qui vient d’ˆtre d´montr´e,

                                         a×1=0

ou, par (P4),
                                          a = 0,
ce qui est une contradiction, car a est non nul. Donc, dans un corps F, le produit
d’´l´ments non nuls est non nul. Ainsi, (Z6 , +, ×) n’est pas un corps. . . ` cause des
  ee                                                                          a
 e               e
z´ros en caract`re gras.
    Si p n’est pas un nombre premier, il existe q1 et q2 non nuls et diff´rents de 1 tels
                                                                          e
que p = q1 q2 . Dans Zp , on aura q1 × q2 = p = 0 (mod p). Ainsi, si p n’est pas premier,
Zp muni de l’addition et de la multiplication modulo p ne peut ˆtre un corps. Nous
                                                                    e
                                          e     e                       e
allons utiliser cette observation (ainsi d´montr´e) pour introduire un r´sultat que nous
ne prouverons pas.
    On d´note par F[x] l’ensemble des polynˆmes en une variable x ` coefficients dans F.
         e                                   o                      a
                     e
Cet ensemble peut ˆtre muni de l’addition et de la multiplication polynomiales usuelles.
Attention : F[x] n’est pas un corps. Par exemple, l’´l´ment non nul (x + 1) n’a pas
                                                       ee
d’inverse multiplicatif.

Exemple 6.8 F2 [x] est l’ensemble de tous les polynˆmes ` coefficients dans F2 . Voici
                                                   o    a
un exemple de multiplication dans F2 [x] :

       (x + 1) × (x + 1) = x2 + x + x + 1 = x2 + (1 + 1)x + 1 = x2 + 1 ∈ F2 [x].

    De la mˆme fa¸on que nous avons appris ` calculer « modulo p, » il est possible de
            e    c                          a
calculer « modulo un polynˆme p(x). » Soit p(x) ∈ F[x] un polynˆme de degr´ n ≥ 1
                          o                                    o            e

                      p(x) = an xn + an−1 xn−1 + · · · + a1 x + a0 ,
                                                                    6.5 Corps finis     193

tel que ai ∈ F, 0 ≤ i ≤ n et an = 0. On choisira, par la suite, un polynˆme o` an = 1.
                                                                         o     u
Les op´rations + et × modulo p(x) consistent ` faire les op´rations + et × polyno-
       e                                          a             e
miales usuelles sur F[x], puis a utiliser de fa¸on r´p´titive des multiples polynomiaux
                               `               c    e e
               e         e       `          o            e e       a
de p(x) pour r´duire le r´sultat a un polynˆme de degr´ inf´rieur ` n. Cette phrase est
         e
compliqu´e, mais deux exemples la clarifieront.

Exemple 6.9 Soit p(x) = x2 + 1 ∈ Q[x] et soient (x + 1) et (x2 + 2x), deux polynˆmes
                                                                                o
appartenant ´galement a Q[x], que nous d´sirons multiplier modulo p(x). Les ´galit´s
             e           `                e                                   e    e
                             e     e                o        e
qui suivent sont donc des ´galit´s entre des polynˆmes diff´rant par un multiple du
polynˆme p(x). Ce ne sont pas des ´galit´s strictes comme l’indique le « (mod p(x)) »
      o                               e e
a         e                    e
` la derni`re ligne. Voici les ´tapes :

                    (x + 1) × (x2 + 2x) = x3 + 2x2 + x2 + 2x
                                        = x3 + 3x2 + 2x − x(x2 + 1)
                                        = x3 − x3 + 3x2 + 2x − x
                                        = 3x2 + x
                                        = 3x2 + x − 3(x2 + 1)
                                        = 3x2 − 3x2 + x − 3
                                        = x − 3 (mod p(x)).

Il est ais´ de v´rifier que le polynˆme (x − 3) est ´galement le reste de la division de
          e     e                  o                e
(x+ 1)× (x2 + 2x) par p(x). Ceci n’est pas une co¨ncidence ! C’est une propri´t´ g´n´rale
                                                 ı                           ee e e
                        e
qui donne une autre m´thode pour calculer q(x) (mod p(x)). Voir l’exercice 14.

Exemple 6.10 Soit p(x) = x2 + x + 1 ∈ F2 [x]. Le carr´ du polynˆme (x2 + 1) modulo
                                                     e         o
p(x) est

        (x2 + 1) × (x2 + 1) = x4 + 1 = x4 + 1 − x2 (x2 + x + 1) = x3 + x2 + 1
                             = x3 + x2 + 1 − x(x2 + x + 1) = x + 1 (mod p(x)).

    On peut engendrer tous les corps finis ` partir des ensembles de polynˆmes F[x] en
                                            a                                o
copiant la construction des Zp munis de + et × modulo p o` , rappelons-le, p doit ˆtre
                                                             u                        e
premier. Pour F[x], les op´rations + et × se feront modulo un polynˆme p(x). N’importe
                          e                                          o
quel polynˆme ? Non ! De mˆme que p doit ˆtre un nombre premier dans le cas de Zp , de
           o                 e              e
  e            o                          `                        e    e        e
mˆme le polynˆme p(x) devra satisfaire a une condition particuli`re : ˆtre irr´ductible.
Un polynˆme non nul p(x) ∈ F[x] est irr´ductible si, pour tous q1 (x) et q2 (x) ∈ F[x] tels
         o                               e
que
                                   p(x) = q1 (x)q2 (x),
alors q1 (x) ou q2 (x) est un polynˆme constant. En d’autres mots, p(x) n’est pas le
                                   o
produit de deux polynˆmes ∈ F[x] de degr´ inf´rieur ` celui de p(x).
                        o                e e        a
194    6 Codes correcteurs

Exemple 6.11 Le polynˆme x2 + x − 1 peut ˆtre factoris´ sur R. En effet, soient
                     o                   e            e
                            √                      √
                    x1 = 1 ( 5 − 1) et x2 = − 1 ( 5 + 1),
                         2                      2

les racines de ce polynˆme. Ces deux nombres appartiennent a R et
                       o                                   `

                              x2 + x − 1 = (x − x1 )(x − x2 ).

Ainsi, x2 + x − 1 ∈ R[x] n’est pas irr´ductible sur R. Ce mˆme polynˆme est cependant
                                      e                    e        o
irr´ductible sur Q[x], car ni x1 ni x2 n’appartiennent ` Q et x2 + x − 1 ne peut ˆtre
   e                                                    a                         e
factoris´ sur Q.
        e

Exemple 6.12 Le polynˆme x2 +1 est irr´ductible sur R, mais sur F2 , il peut ˆtre ´crit
                       o                  e                                  e e
comme x2 + 1 = (x + 1) × (x + 1), et il n’est donc pas irr´ductible sur F2 .
                                                          e

   On d´notera par F[x]/(p(x)) l’ensemble des polynˆmes ` coefficients dans F muni
        e                                             o     a
des op´rations + et × modulo p(x). Voici le r´sultat central dont nous aurons besoin.
      e                                      e

Proposition 6.13 (i) Soit p(x) un polynˆme de degr´ n. Le quotient F[x]/p(x) peut
                                            o            e
ˆtre identifi´ a {q(x) ∈ F[x] | degr´ q < n} muni de l’addition et de la multiplication
e           e `                      e
modulo p(x).
(ii) F[x]/(p(x)) est un corps si et seulement si p(x) est irr´ductible sur F.
                                                             e

          e                     e
Nous ne d´montrerons pas ce r´sultat, mais nous l’utiliserons pour donner un exemple
de construction explicite d’un corps fini qui ne soit pas un des corps Zp avec p premier.

Exemple 6.14 Construction de F9 , le corps ` neuf ´l´ments. Soit Z3 le corps
                                                   a         ee
` trois ´l´ments dont les tables ont ´t´ donn´es ci-dessus. Soit Z3 [x] l’ensemble des
a       ee                           ee        e
polynˆmes ` coefficients dans Z3 et soit p(x) = x2 + x + 2.
      o     a
                                               e
    Convainquons-nous d’abord que p(x) est irr´ductible. S’il ne l’est pas, alors il existe
           o
deux polynˆmes non constants q1 et q2 dont le produit est p. Ces deux polynˆmes doivent
                                                                            o
e            e
ˆtre de degr´ 1. Ainsi,
                                p(x) = (x + a)(bx + c)                                (6.7)
pour certains a, b, c ∈ Z3 . Si tel est le cas, p(x) s’annulera pour l’inverse additif du
nombre a ∈ Z3 . Mais

                             p(0) = 02 + 0 + 2 = 2,
                             p(1) = 12 + 1 + 2 = 1,
                             p(2) = 22 + 2 + 2 = 1 + 2 + 2 = 2;

donc p(x) ne s’annule pour aucun des trois ´l´ments de Z3 . (Attention : les calculs
                                               ee
sont faits dans Z3 !) Ainsi, p(x) ne peut ˆtre mis sous la forme (6.7), et p(x) est donc
                                          e
   e
irr´ductible.
                                                                               6.5 Corps finis        195

    Commen¸ons par trouver le nombre d’´l´ments du corps Z3 [x]/(p(x)). Puisque tous
             c                               ee
    ee                                    o            e e              e
les ´l´ments de ce corps sont des polynˆmes de degr´ inf´rieur au degr´ de p(x), ils sont
tous de la forme a1 x + a0 . Puisque a0 , a1 ∈ Z3 et que chacun peut prendre trois valeurs,
il y aura donc 32 = 9 ´l´ments distincts dans Z3 [x]/(p(x)).
                       ee
    Cherchons maintenant la table de multiplication. Deux exemples montrent comment
faire :

           (x + 1)2 = x2 + 2x + 1 = (x2 + 2x + 1) − (x2 + x + 2) = x − 1 = x + 2
           x(x + 2) = x2 + 2x = x2 + 2x − (x2 + x + 2) = x − 2 = x + 1.

                                e
La table de multiplication compl`te est

    ×        0      1          2         x        x+1         x+2          2x2x + 2 2x + 1
     0       0      0          0          0          0           0          0    0     0
     1       0      1          2         x        x+1         x+2          2x2x + 2 2x + 1
     2       0      2          1         2x       2x + 2      2x + 1       x  x+1    x+2
    x        0      x         2x       2x + 1        1        x+1        x+2     2  2x + 2
  x+1        0   x+1        2x + 2        1       x+2           2x          22x + 1    x
   x+2       0   x+2        2x + 1     x+1          2x           2       2x + 2 x      1
    2x       0     2x         x        x+2           2        2x + 2     2x + 1  1   x+1
  2x + 1     0   2x + 1     x+2        2x + 2        x           1       x+1    2x     2
  2x + 2     0   2x + 2     x+1           2       2x + 1         x          1 x+2     2x
                                                                                  (6.8)
                e                                       e
   Mais cette m´thode est fastidieuse. Y a-t-il une mani`re de simplifier les calculs ?
´     e        o                        o               `                     e
Enum´rons plutˆt les puissances du polynˆme q(x) = x. A nouveau, toutes les ´galit´s e
sont modulo p(x). On a

                  q = x,
                 q 2 = x2 = x2 − (x2 + x + 2) = −x − 2 = 2x + 1,
                 q 3 = q × q 2 = 2x2 + x = 2x2 + x − 2(x2 + x + 2) = 2x + 2,
                 q 4 = q × q 3 = 2x2 + 2x = 2x2 + 2x − 2(x2 + x + 2) = 2,
                 q 5 = q × q 4 = 2x,
                 q 6 = q × q 5 = 2x2 = 2x2 − 2(x2 + x + 2) = x + 2,
                 q 7 = q × q 6 = x2 + 2x = x2 + 2x − (x2 + x + 2) = x + 1,
                 q 8 = q × q 7 = x2 + x = x2 + x − (x2 + x + 2) = 1.

                                     o
En prenant les puissances du polynˆme q(x) = x, on obtient donc les huit polynˆmes non        o
nuls de Z3 [x]/(p(x)). La multiplication des ´l´ments {0, q, q 2 , q 3 , q 4 , q 5 , q 6 , q 7 , q 8 = 1}
                                               ee
est ais´e puisque q i × q j = q k o` k = i + j (mod 8) car q 8 = 1. Ceci nous donne une
       e                           u
     e
mani`re simple de calculer la table de multiplication. On transforme tout polynˆme en             o
                                                      ee                e          `
une puissance de q. Alors, la multiplication de deux ´l´ments se r´duit a l’addition des
                                                e
exposants modulo 8. Nous pouvons refaire ais´ment les deux exemples ci-dessus
196    6 Codes correcteurs

                          (x + 1)2 = q 7 × q 7 = q 14 = q 6 = x + 2,
                          x(x + 2) = q × q 6 = q 7 = x + 1.

            e     e                    e            e
Cette deuxi`me m´thode nous permet ´galement de v´rifier nos calculs. Nous redonnons
                                                                o
donc la table de multiplication ci-dessus en renommant les polynˆmes par leur puissance
de q.

                     ×     0   1     q4   q1   q7    q6   q5   q2      q3
                     0     0   0     0    0    0     0    0    0       0
                     1     0   1     q4   q    q7    q6   q5   q2      q3
                     q4    0   q4    1    q5   q3    q2   q    q6      q7
                     q1    0   q     q5   q2   1     q7   q6   q3      q4
                                                                                    (6.9)
                     q7    0   q7    q3   1    q6    q5   q4   q       q2
                     q6    0   q6    q2   q7   q5    q4   q3   1       q
                     q5    0   q5    q    q6   q4    q3   q2   q7      1
                     q2    0   q2    q6   q3   q     1    q7   q4      q5
                     q3    0   q3    q7   q4   q2    q    1    q5      q6

                                    e                e
Avec ces nouveaux noms, il est peut-ˆtre naturel de r´ordonner les lignes et les colonnes
     c a                                                                e
de fa¸on ` ce que les exposants de q croissent. Revoici donc une troisi`me fois la table
de multiplication de F9 !

                     ×     0   q1    q2   q3   q4    q5   q6   q7      1
                     0     0   0     0    0    0     0    0    0       0
                     q1    0   q2    q3   q4   q5    q6   q7   1       q
                     q2    0   q3    q4   q5   q6    q7   1    q       q2
                     q3    0   q4    q5   q6   q7    1    q    q2      q3
                                                                                   (6.10)
                     q4    0   q5    q6   q7   1     q    q2   q3      q4
                     q5    0   q6    q7   1    q     q2   q3   q4      q5
                     q6    0   q7    1    q    q2    q3   q4   q5      q6
                     q7    0   1     q    q2   q3    q4   q5   q6      q7
                     1     0   q     q2   q3   q4    q5   q6   q7      1


                             e         e
    La table d’addition peut ´galement ˆtre obtenue facilement. Voici deux exemples de
calcul :

              q 2 + q 4 = (2x + 1) + (2) = 2x + (2 + 1) = 2x = q 5 ,
              q 3 + q 6 = (2x + 2) + (x + 2) = (2 + 1)x + (2 + 2) = 1 = q 8 .

Voici la table d’addition compl`te de F9 . (Exercice : v´rifier quelques ´l´ments de cette
                               e                        e               ee
table d’addition.)
                                                                            6.5 Corps finis     197

                      +    0     q1    q2   q3    q4    q5     q6     q7   1
                      0    0     q1    q2   q3    q4    q5     q6     q7   1
                      q1   q1    q5    1    q4    q6    0      q3     q2   q7
                      q2   q2    1     q6   q1    q5    q7     0      q4   q3
                      q3   q3    q4    q1   q7    q2    q6     1      0    q5
                                                                                             (6.11)
                      q4   q4    q6    q5   q2    1     q3     q7     q1   0
                      q5   q5    0     q7   q6    q3    q1     q4     1    q2
                      q6   q6    q3    0    1     q7    q4     q2     q5   q1
                      q7   q7    q2    q4   0     q1    1      q5     q3   q6
                      1    1     q7    q3   q5    0     q2     q1     q6   q4


  e                   ee                                                 ee
D´finition 6.15 Un ´l´ment non nul d’un corps tel que tous les autres ´l´ments non
             e                                                    e ee
nuls peuvent ˆtre obtenus de celui-ci par exponentiation est appel´ ´l´ment primitif ou
racine primitive.

    Tous les ´l´ments ne sont pas primitifs. Par exemple, dans F9 , l’´l´ment q 4 n’est
              ee                                                            ee
pas primitif ; les seuls ´l´ments distincts qu’il engendre sont q 4 et q 4 × q 4 = q 8 = 1. A
                          ee                                                                `
l’exercice 13, vous trouverez tous les ´l´ments (non nuls) primitifs de F9 . Dans l’exemple
                                       ee
                     o
ci-dessus, le polynˆme q(x) = x est primitif puisqu’il nous a permis de construire les
huit polynˆmes non nuls sous la forme q i , i = 1, . . . , 8. Mais q(x) = x n’est pas primitif
            o
pour tous les choix du corps de base F et du polynˆme irr´ductible p(x). Nous en
                                                              o      e
                                      a                                         a
donnons deux exemples, le premier ` l’exercice 17 ci-dessous et le second ` l’exercice 6
                        e                                    e e
du chapitre 8. Nous r´sumons cette analyse dans le th´or`me suivant.

Th´or`me 6.16 Tout corps fini Fpr poss`de une racine primitive, c’est-`-dire qu’il
   e e                                  e                               a
          ee                                                 ı
existe un ´l´ment non nul α dont l’ensemble des puissances co¨ncide avec l’ensemble
des ´l´ments non nuls de Fpr :
    ee
                                                          r
                                                              −1
                            Fpr \ {0} = {α, α2 , . . . , αp        = 1}.

Il est usuel de choisir la lettre α pour une racine primitive ; dans cette section, nous
            e               e                o                                       a
avons utilis´ la lettre q, d´crivant le polynˆme q(x) = x, mais nous utiliserons α ` la
prochaine section. (Les lecteurs qui connaissent la structure de groupe noteront qu’un
ee                                e e                                  ee
´l´ment primitif est en fait un g´n´rateur du groupe multiplicatif des ´l´ments non nuls
                                  ee
du corps. Ceci indique que ces ´l´ments forment un groupe cyclique. Nous n’utilisons
                                  e
cependant pas ce fait dans le pr´sent chapitre.)
                                                                  e
    Avant de terminer notre introduction aux corps finis, nous ´noncerons deux th´o-   e
 e
r`mes sans les prouver.

  e e                     ee
Th´or`me 6.17 Le nombre d’´l´ments dans un corps fini est une puissance d’un
nombre premier.
198          6 Codes correcteurs

   e e                                      e           e              ee
Th´or`me 6.18 Si deux corps finis poss`dent le mˆme nombre d’´l´ments, alors ils
                         a                        e                  ee
sont isomorphes, c’est-`-dire qu’il existe un r´ordonnement des ´l´ments du premier
                                                                          ı
corps tel que les tables d’addition et de multiplication des deux corps co¨ncident. Un tel
 e
r´ordonnement s’appelle un isomorphisme entre les deux corps.



6.6 Les codes de Reed et Solomon
   Les codes de Reed et Solomon sont plus complexes que les codes de Hamming.
                            e                      e
Nous allons tout d’abord d´crire l’encodage et le d´codage. Puis nous prouverons trois
      ee             e
propri´t´s qui caract´risent ces codes.
   Soient F2m le corps ` 2m ´l´ments et α une racine primitive. Les 2m − 1 ´l´ments
                         a     ee                                            ee
non nuls de F2m sont donc de la forme
                                                         m
                                                             −1
                                       {α, α2 , . . . , α2        = 1},
                                                                  m
et alors, tous ces ´l´ments non nuls satisfont ` x2 −1 = 1.
                   ee                                 a
    Les mots ` encoder seront des mots de k lettres (chacune ´tant un ´l´ment de F2m )
              a                                                       e       ee
o` k < 2m − 2. (Nous expliquerons sous peu comment cet entier k est choisi.) Ainsi,
 u
ce seront des ´l´ments (u0 , u1 , u2 , . . . , uk−1 ) ∈ Fkm . A chacun de ces mots nous ferons
               ee                                        2
                                                              `
                       o
correspondre le polynˆme

                       p(x) = u0 + u1 x + u2 x2 + · · · + uk−1 xk−1 ∈ F2m [x].
                                                                                     m
Ces mots seront encod´s dans un vecteur v = (v0 , v1 , v2 , . . . , v2m −2 ) ∈ F2m −1 dont les
                     e                                                          2
                       e
composantes seront donn´es par

                               vi = p(αi ),        i = 0, 1, 2, . . . , 2m − 2

 u                                       e                                 a
o` α est la racine primitive choisie au d´part. Ainsi, l’encodage consiste ` calculer

        v0     =    p(1)    = u0 + u1 + u2 + · · · + uk−1 ,
        v1     =   p(α)     = u0 + u1 α + u2 α2 + · · · + uk−1 αk−1 ,
        v2     =   p(α2 )   = u0 + u1 α2 + u2 α4 + · · · + uk−1 α2(k−1) ,                    (6.12)
         .
         .            .
                      .           .
                                  .
         .   =        .     =     .
                   m                 m            m                           m
      v2m −2 = p(α2 −2 ) = u0 + u1 α2 −2 + u2 α2(2 −2) + · · · + uk−1 α(k−1)(2 −2) .
                                                                                         m
Le code de Reed–Solomon C(2m − 1, k) est l’ensemble des vecteurs v ∈ F2m −1 ainsi
                                                                           2
                                                                         e
obtenu. Une des conditions de base de tout encodage est que des mots diff´rents aient
                 e                                          ee
des formes encod´es distinctes. C’est ce qu’assure la propri´t´ suivante du code de
Reed–Solomon.
                                                                                 m
Propri´t´ 6.19 L’encodage u → v tel que u ∈ Fkm et v ∈ F2m −1 , est une application
        e e                                         2           2
lin´aire dont le noyau est nul, c’est-`-dire ´gal ` {0} ⊂ Fkm .
   e                                  a      e    a        2
                                                           6.6 Les codes de Reed et Solomon            199

                                      ee                              e a
     (Les preuves des propri´t´s 6.19 et 6.20 sont donn´es ` la fin de la section.)
     La transmission peut introduire des erreurs dans le message encod´ v. Ainsi, le
                               m
                                                                                                e
message re¸u w ∈ F2m −1 pourrait diff´rer de v par une composante ou mˆme plus. Le
             c                2                   e                                               e
  e                        a                             e
d´codage consiste ` remplacer, dans le syst`me (6.12), les vi par les composantes wi de w
    a                                     e      e
et ` extraire de ce nouveau syst`me lin´aire les composantes uj du message original et ce,
        e
malgr´ les erreurs possibles dans w. Pour comprendre comment ceci peut ˆtre fait, nous          e
  e                                e             e e
d´crivons d’abord le syst`me (6.12) g´om´triquement. Chacune des ´quations de (6.12)      e
repr´sente un plan dans l’espace Fk param´tris´ par les coordonn´es (u0 , u1 , . . . , uk−1 ).
      e                                        2          e e                          e
Il y a donc 2m −1 plans, plus que k, le nombre d’inconnues uj . Utilisons notre intuition de
R3 pour dessiner une repr´sentation g´om´trique de la situation. La figure 6.4a pr´sente
                                    e            e e                                                  e
cinq plans (plutˆt que 2m −1) dans R3 (plutˆt que dans Fk ). S’il n’y a aucune erreur lors
                       o                                   o               2
de la transmission (et alors, chacune des composantes wi co¨                      ıncide avec la composante
correspondante vi ), alors les plans s’intersectent tous en un seul point u qui correspond
au message original. De plus, chaque choix de trois plans parmi les cinq d´termine                  e
uniquement la solution u. En d’autres mots, deux des cinq plans sont redondants et,
                                                                         c
dans cette transmission sans erreur, il y a plusieurs fa¸ons de reconstruire le message
original u. Supposons maintenant qu’une des composantes de w soit erron´e. L’´quation           e   e
                                                                                e
qui la contient sera fausse, et le plan correspondant sera d´plac´ par rapport au plane
                                     e                           u
original. C’est ce que repr´sente la figure 6.4b o` le plan horizontal a ´t´ d´plac´ vers      ee e    e
              e
le haut. Mˆme si les quatre plans justes (sans erreur) s’intersectent encore en u, un
                                                           e                 e
choix de trois plans qui inclut le plan erron´ donne une d´termination u erron´e. Dans        ¯     e
R3 , trois plans sont n´cessaires pour d´terminer u (justement ou erron´ment). Dans le
                                e                  e                                          e
      e                                      e
syst`me (6.12), il faut k plans (= ´quations) pour obtenir une valeur de u. Nous pouvons
donc penser ` un choix de k plans « votant » pour la valeur u o` ils s’intersectent. Si
                  a                                                                    u
quelques wi sont faux, nous pouvons nous demander sous quelles conditions la valeur
                                                                                   a
correcte de u obtiendra le plus grand nombre de votes. C’est ` cette question que nous
          e                                             e
allons r´pondre maintenant. (Exercice : v´rifier que, pour l’exemple de la figure 6.4b, la
 e               c                                         e              e ¯
r´ponse u re¸oit quatre votes alors que la r´ponse erron´e u n’en re¸oit qu’un.)          c
     Supposons qu’une fois le message transmis, nous recevions les 2m − 1 lettres de w =
                                        m
(w0 , w1 , w2 , . . . , w2m −2 ) ∈ F2m −1 . Si toutes ces lettres sont exactes, on peut retrouver le
                                       2
message original u en choisissant dans (6.12) n’importe quel sous-ensemble de k lignes
                          e                 e        e
(= plans) et en r´solvant le syst`me lin´aire correspondant. Supposons qu’on choisisse
les lignes i0 , i1 , . . . , ik−1 , tels que 0 ≤ i0 < i1 < · · · < ik−1 ≤ 2m − 2, et que αj d´note     e
αij . Alors, le syst`me lin´aire se lit
                           e       e
                 ⎛           ⎞ ⎛                                                    ⎞⎛        ⎞
                       wi0            1    α0      α2 0       α30  . . . αk−1  0          u0
                 ⎜ wi1 ⎟ ⎜1                α1      α2         α3   . . . αk−1 ⎟ ⎜ u1 ⎟
                 ⎜           ⎟ ⎜                      1         1              1    ⎟⎜        ⎟
                 ⎜ wi2 ⎟ ⎜1                α2      α2 2
                                                              α23
                                                                   . . . αk−1 ⎟ ⎜ u2 ⎟ ,
                 ⎜           ⎟=⎜                                               2    ⎟⎜        ⎟       (6.13)
                 ⎜ . ⎟ ⎜.                   .        .         .    ..          . ⎟⎜ . ⎟
                 ⎝ . ⎠ ⎝..            .     .
                                            .        .
                                                     .         .
                                                               .       .        . ⎠⎝ . ⎠
                                                                                .           .
                     wik−1            1 αk−1 α2    k−1       α3
                                                              k−1  . . . αk−1  k−1
                                                                                         uk−1

et on peut obtenir le message original u en inversant la matrice {αj }0≤i,j≤k−1 , pour
                                                                   i
autant qu’elle soit inversible.
200    6 Codes correcteurs




       (a) Ensemble des plans sans erreur        (b) Ensemble des plans avec un plan
                                                      e
                                                 erron´

                                                     e
                          Fig. 6.4. Les plans du syst`me (6.12)



Propri´t´ 6.20 Pour tout choix 0 ≤ i0 < i1 < i2 < · · · < ik−1 ≤ 2m − 2, la matrice
        e e
{αj } ci-dessus est inversible.
  i

                             c                                                c
Ainsi, lorsque le message re¸u ne contient aucune erreur, il y a autant de fa¸ons de
d´terminer le message original que de choix de k ´quations parmi les 2m − 1 ´quations
 e                                               e                          e
        e                a
du syst`me (6.12), c’est-`-dire
                               2m − 1          (2m − 1)!
                                        =                   .
                                 k          k!(2m − 1 − k)!
    Supposons maintenant que s composantes parmi les 2m −1 de w soient erron´es. Alors
                                                                                e
                                                               m
seules (2m − s− 1) ´quations de (6.12) sont justes, et seules 2 −s−1 d´terminations de
                    e                                             k
                                                                         e
               m
u parmi les 2 k−1 possibilit´s seront justes. Les autres seront erron´es ; il y aura donc
                              e                                        e
             e                            e                    ¯
plusieurs d´terminations de u, une seule ´tant la bonne. Soit u une des valeurs fautives
                                            e
qu’on obtient en choisissant certaines des ´quations fausses de (6.12). Combien de fois
                  ¯                    e                               ¯
peut-on obtenir u en changeant les ´quations retenues ? La solution u est l’intersection
des k plans que repr´sentent les k ´quations de (6.12) choisies. Au maximum s + k − 1
                      e              e
                        ¯
plans s’intersectent en u, car s’il y en avait un seul de plus, il y aurait parmi ceux-ci
           e             e                           ¯
k plans d´crits par des ´quations justes, et alors, u = u. Il y aura donc au maximum
  s+k−1
    k       e                      `¯
          d´terminations menant a u. La valeur juste u obtiendra le plus de votes (c’est-
a                   e
`-dire le plus de d´terminations) si
                               2m − s − 1         s+k−1
                                             >
                                   k                k
                                                    6.6 Les codes de Reed et Solomon     201

         c e
ou, de fa¸on ´quivalente si
                                  2m − s − 1 > s + k − 1.
       e
On en d´duit que
                                         2m − k > 2s.
                                                     e     e      e         e    e
Puisque le nombre d’erreurs s est un entier, cette in´galit´ peut ´galement ˆtre ´crite

                                      2m − k − 1 ≥ 2s.

En d’autres termes, tant que le nombre d’erreurs s est plus petit ou ´gal ` 1 (2m − k − 1),
                                                                     e    a2
                                                       e
la valeur juste u obtiendra le plus grand nombre de d´terminations, et nous venons de
                 e        ee
prouver la derni`re propri´t´.

Propri´t´ 6.21 Le code de Reed–Solomon peut corriger [ 1 (2m − k − 1)] erreurs o` la
       e e                                             2                        u
                                   e
notation [x] signifie la partie enti`re de x.

    e                              a                        e                  a
Le d´codage de w consiste donc ` choisir, parmi toutes les d´terminations de u ` l’aide
de (6.12), celle qui obtient le plus de votes.
                                                       ee
   Nous terminons cette section en prouvant les propri´t´s 6.19 et 6.20.
Preuve de la propri´t´ 6.19 Remarquons que chacune des composantes vj de
                                 e e
v, j = 0, 1, . . . , 2m − 2, d´pend lin´airement des composantes ui . Ainsi, l’encodage u → v
                               e       e         m
est une application lin´aire de Fkm dans F2m −1 .
                             e         2        2
    Pour montrer que le noyau de cette application est trivial, il suffit de se convaincre
                                                       m
que seul le polynˆme nul sera envoy´ dans 0 ∈ F2m −1 . Si p est un polynˆme non nul de
                       o                  e           2                        o
degr´ k − 1 ou inf´rieur, il ne peut pas s’annuler pour plus de k − 1 valeurs. Les vi sont
      e                 e
les ´valuations du polynˆme p pour les puissances αi , i = 0, 1, 2, . . . , 2m − 2. Puisque α
    e                           o
est une racine primitive, toutes les 2m − 1 valeurs αi sont distinctes. Et puisque p n’a
pas plus de k − 1 racines distinctes, seules k − 1 des 2m − 1 valeurs vi = p(αi ) peuvent
e                                    o                    e
ˆtre nulles. Ainsi, tout polynˆme p non nul est envoy´ sur un vecteur v non nul.
            ee        e                                 e
   La propri´t´ 6.20 d´coule du lemme suivant que nous d´montrerons tout d’abord.

                 e
Lemme 6.22 (d´terminant de Vandermonde) Soient x1 , x2 , . . . , xn des ´l´ments
                                                                        ee
quelconques d’un corps F. Alors

                       1   x1   x21   ...    xn−1
                                              1
                       1   x2   x22   ...    xn−1
                                              2
                       1   x3   x23   ...    xn−1 =
                                              3             (xj − xi ).
                       .
                       .    .
                            .    .
                                 .    ..       .
                                               .    1≤i<j≤n
                       .    .    .       .     .
                       1 xn     x2
                                 n    ...    xn−1
                                              n
202    6 Codes correcteurs

                                                               e
Preuve Si on soustrait la ligne j de la ligne i, la valeur du d´terminant n’est pas
     e
chang´e, et la ligne i devient

                   0   xi − xj   x2 − x2
                                  i    j   x3 − x3
                                            i    j        ...   xn−1 − xn−1 .
                                                                 i      j

Puisque
                                                    k−1
                             xk − xk = (xi − xj )
                              i    j                      xl xk−l−1 ,
                                                           i j
                                                    l=0

tous les ´l´ments de cette nouvelle ligne i poss`dent (xi − xj ) comme facteur. Le
         ee                                     e
d´terminant, vu comme polynˆme en les variables x1 , x2 , . . . , xn , poss`de donc (xi − xj )
 e                           o                                             e
                                    e
comme facteur pour tout i et j. Le d´terminant est donc le produit de

                                               (xj − xi )
                                     1≤i<j≤n

et d’un polynˆme demeurant a d´terminer. Notons que, dans 1≤i<j≤n (xj − xi ), la
              o                ` e
puissance maximale de xn est n − 1, car il y a (n − 1) termes tels que j = n. Dans le
d´terminant, la puissance maximale de xn est ´galement n − 1, car les termes incluant
  e                                               e
xn sont tous dans la mˆme ligne, et c’est xn−1 qui, dans cette ligne, a la plus grande
                         e                    n
puissance. Ainsi, le polynˆme multipliant 1≤i<j≤n (xj − xi ) ne peut pas d´pendre de
                           o                                                    e
              e e
xn . On peut r´p´ter cet argument pour tous les autres xi ; on conclut que le polynˆme  o
multipliant 1≤i<j≤n (xj − xi ) est une constante. Le terme x0 x1 x2 · · · xn−1 dans le
                                                                    1 2 3     n
  e
d´terminant vient du produit de tous les termes diagonaux et a donc pour coefficient
+1. Dans le produit 1≤i<j≤n (xj − xi ), ce mˆme terme x0 x1 x2 · · · xn−1 est obtenu par
                                                e           1 2 3       n
multiplication des premiers termes de tous les monˆmes (xj − xi ) et a ´galement pour
                                                     o                     e
coefficient +1. (Pourquoi les premiers termes ? Il y a pr´cis´ment n − 1 monˆmes du
                                                           e e                     o
produit 1≤i<j≤n (xj − xi ) qui contiennent le terme xn , et dans tous ces monˆmes, la
                                                                                   o
variable xn est le premier terme de (xj − xi ) puisque i < j. Il faut donc choisir les n − 1
                             o                     o                        e e
premiers termes de ces monˆmes. Parmi les monˆmes restants, il y en a pr´cis´ment n−2
                                `                                o
qui contiennent le terme xn−1 . A nouveau, dans tous ces monˆmes, la variable xn−1 est
                        e e                            a e        e             e
le premier terme. En r´p´tant l’argument, on arrive ` l’´nonc´.) Donc, le d´terminant
           o          e
et le polynˆme sont ´gaux.
                                                        ea
Preuve de la propri´t´ 6.20 Le lemme appliqu´ ` la matrice du syst`me (6.13)
                         e e                                                  e
montre que son d´terminant est ´gal a i<j (αj − αi ). Rappelons que les αi sont des
                    e              e   `
puissances distinctes de la racine primitive α et inf´rieures ` 2m − 1. Donc, tous ces αi
                                                     e        a
                     e
sont distincts, le d´terminant est non nul et la matrice inversible.
                                                 e
   Voici un exemple concret des divers param`tres k, m et s du code. Nous avons vu
           e
au tout d´but de ce chapitre qu’il est usuel d’utiliser sept ou huit bits pour coder
chacun des symboles de typographie (lettres, chiffres, signes de ponctuation, etc.). Si
m est fix´ ` huit, alors chacune des lettres (∈ F2m ) pourra repr´senter pr´cis´ment
          e a                                                        e         e e
                                            e
une lettre de notre alphabet ou un caract`re de ponctuation. Ainsi, la correspondance
entre « lettre de l’alphabet » et « lettre dans F2m » est biunivoque. Si nous choisissons
                                  6.7 Appendice : le produit scalaire et les corps finis   203

m = 8, le nombre k de lettres est born´ par 2m − 2 = 254. Supposons maintenant que
                                        e
le canal de transmission soit assez fiable et qu’il soit pratiquement toujours suffisant
                                                                                 e
de pouvoir corriger deux lettres. Puisque le nombre d’erreurs corrigibles s est ´gal a`
[ 1 (2m − k − 1)], il faut donc que (2m − k − 1) soit sup´rieur ou ´gal a 2s = 4. Nous
  2                                                       e         e   `
pouvons donc transmettre le texte par blocs de k = 28 − 4 − 1 = 251 lettres. Notons
                                           e
qu’il pourrait y avoir plus d’un bit erron´ au sein de chaque lettre transmise. Le code
de Reed–Solomon corrige les lettres (et non les bits individuels).
                                                                   e
     La technologie du disque compact ne transmet pas des caract`res latins, mais bien
  u                          e e                   e
sˆ r un signal musical num´ris´. Elle utilise malgr´ tout le code de Reed–Solomon avec
           e                        e
les param`tres que nous venons d’´tudier, soit m = 8 et un maximum de deux erreurs.
                                                         e            e
Notons enfin qu’il existe des algorithmes efficaces de d´codage qui ´vitent la solution
       m
de 2 k−1 syst`mes lin´aires de k ´quations en k inconnues [2, 8]. Ces algorithmes
                 e         e          e
     ee           e               e
acc´l`rent consid´rablement le d´codage.



6.7 Appendice : le produit scalaire et les corps finis

                                             e       e          e
   Il est fort probable que votre cours d’alg`bre lin´aire ait d´fini le produit scalaire
sur un espace vectoriel V sur le corps R comme une fonction not´e (·, ·) qui associe `
                                                                  e                    a
             ee                        e
une paire d’´l´ments de V un nombre r´el et telle que
 (i) (x, y) = (y, x), pour tout x, y ∈ V ;
 (ii) (x + y, z) = (x, z) + (y, z) pour tout x, y, z ∈ V ;
 (iii) (cx, y) = c(x, y) pour tout x, y ∈ V et c ∈ R ;
 (iv) (x, x) ≥ 0 et (x, x) = 0 seulement pour x = 0.
Si le corps R des nombres r´els est remplac´ par un corps fini, cette d´finition est
                              e                e                      e
        e a                        e
conserv´e ` l’exception de la derni`re exigence qui devient
 (iv)fini si (x, y) = 0 pour tout y ∈ V , alors x = 0.
                                                                       e            e
C’est donc avec cette modification que le produit scalaire est utilis´ dans le pr´sent
chapitre. Notons que la condition (iv) originale n’a pas de sens dans un corps fini, car
il n’y a pas de relation d’ordre (« < ») pr´serv´e par l’addition. Par exemple, dans F2 ,
                                           e    e
                                                          e     e         e    e
nous pourrions proposer que 0 < 1. Cependant, cette in´galit´ ne peut ˆtre r´concili´ee
                                     e
avec l’affirmation usuelle dans les r´els qui dit que, si a < b, alors a + c < b + c pour
tout nombre c. En effet, si le nombre 1 ∈ F2 est ajout´ aux deux membres de 0 < 1,
                                                         e
                                    a
nous obtenons 0 + 1 < 1 + 1, c’est-`-dire 1 < 0, ce qui contredit clairement 0 < 1 !
         e                  e                               e
    La d´finition de compl´ment orthogonal demeure la mˆme pour le produit scalaire
avec (iv)fini . Nous la rappelons.

D´finition 6.23 Si W ⊂ V est un sous-ensemble de V , alors le compl´ment orthogonal
 e                                                                e
W ⊥ est d´fini par W ⊥ = {v ∈ V |(v, w) = 0 pour tout w ∈ W }.
         e
204      6 Codes correcteurs

C’est un sous-espace vectoriel de V . La modification (iv) → (iv)fini a une cons´quence
                                                                                   e
inattendue. Rappelons que, si W ⊂ Rn est un sous-espace vectoriel, alors lui et son
compl´ment n’ont que l’origine en commun : W ∩ W ⊥ = {0}. Dans un espace vectoriel
      e
                                                                       e
sur un corps fini, ceci n’est plus toujours le cas ! Par exemple, consid´rons le sous-espace
           e
W engendr´ par le vecteur               ⎛ ⎞
                                          1
                                        ⎝ 1 ⎠ ∈ F3 .2
                                          0
Les ´l´ments w = (w1 , w2 , w3 )t ∈ F3 du compl´ment orthogonal W ⊥ devront satisfaire
    ee                               2         e
a
`                                              ⎛ ⎞
                                                 1
                                  w1 w2 w3 ⎝1⎠ = 0
                                                 0
        a
et donc ` w1 + w2 = 0. Ainsi,         ⎧⎛ ⎞ ⎛ ⎞⎫
                                      ⎨ 1      0 ⎬
                                        ⎝1⎠ , ⎝0⎠
                                      ⎩          ⎭
                                         0     1
forme une base de W ⊥ et             ⎛ ⎞
                                      1
                                     ⎝1⎠ ∈ W ∩ W ⊥ .
                                      0
                                                   e
Nous devons donc utiliser notre intuition des compl´ments orthogonaux avec prudence !


6.8 Exercices


1. a) Dans le code de Hamming C(7, 4), que sont les vecteurs a envoyer (∈ F7 ) si on
                                                                        `            2
    e
   d´sire transmettre les mots (0, 0, 0, 0), (0, 0, 1, 0) ou (0, 1, 1, 1) ?
              e              c
   b) Le r´cepteur re¸oit les mots : (1, 1, 1, 1, 1, 1, 1), (1, 0, 1, 1, 1, 1, 1), (0, 0, 0, 0,
                                            e
   1, 1, 1) et (1, 1, 1, 1, 0, 0, 0). Quels ´taient les mots transmis ?

2. a) On utilise le code de     Hamming C(15, 11) pour corriger des messages contenant
                       e
   au plus un bit erron´. Si                       o
                                la matrice de contrˆle est
                    ⎛                                                    ⎞
                      1 0        1 1 1 0 0 0 1 1 1 1 0 0 0
                    ⎜1 1         0 1 1 0 1 1 0 0 1 0 1 0 0⎟
               H=⎜  ⎝1 1
                                                                         ⎟
                                 1 0 1 1 0 1 0 1 0 0 0 1 0⎠
                      1 1        1 1 0 1 1 0 1 0 0 0 0 0 1
                      c
      et le message re¸u est
                                                                       6.8 Exercices     205

                  w= 1      0 1    0 1     0 1    0 1     0 1    0 1    0 1 ,

     y a-t-il eu une erreur lors de la transmission ?
     b) On d´sire utiliser le code de Hamming C(2k − 1, 2k − k − 1) pour un certain
                e
     k, mais on ne veut pas ajouter plus de 10 % de bits au mot original. Quelle est la
                                                              e               a
     longueur minimale du mot original et quel est le k caract´risant le code ` utiliser ?

3. Les questions suivantes portent sur le code de Hamming C(2k − 1, 2k − k − 1).
                                                           a
   a) Dans ce code, combien de lettres ont les mots u ` transmettre ? Combien y
   a-t-il de mots distincts que l’on peut transmettre ?
                                               e
   b) Combien de lettres ont les mots encod´s v ?
                             c                     e                   e    e
   c) Combien de mots re¸us w distincts (erron´s ou non) seront d´cod´s comme le
     e
   mˆme message u ?
                                    c                        e      e    e
   d) Existe-t-il des messages re¸us qui ne peuvent pas ˆtre d´cod´s ? (Une autre
                                                            2k −1
   fa¸on de poser cette question est : existe-t-il un w ∈ F2
     c                                                                             a
                                                                  qui ne soit pas, ` une
                                                          k
   erreur possible pr`s, l’encodage v d’un message u ∈ F2 −k−1 ?)
                      e                                  2


4. V´rifier que l’addition + et la multiplication × dans F2 d´finies par les tables de la
     e                                                        e
                                                                    e
   section 6.2 remplissent les conditions de la structure de corps d´finie en 6.5.

5.    Soit (F, +, ×) un corps fini. Montrer que la table de multiplication des ´l´ments non
                                                                                ee
     nuls de F a la propri´t´ suivante : toutes les lignes et toutes les colonnes contiennent
                          ee
     tous les ´l´ments non nuls de F une et une seule fois.
               ee

6. a) Dans le code de Hamming C(7, 4), existe-t-il un message re¸u (w1 , w2 , w3 , w4 ,
                                                                     c
   w5 , w6 , w7 ) ∈ F7 qu’il est impossible de d´coder comme un des 16 ´l´ments (mots)
                     2                          e                      ee
   ∈ F4 lorsqu’on fait l’hypoth`se d’un maximum d’une lettre erron´e (voir aussi l’exer-
        2                         e                                 e
   cice 3 d)) ?
                                     e
   b) Montrer qu’un code du mˆme type qu’un code de Hamming transformant un
   mot de trois bits en un mot de huit bits ne peut corriger deux erreurs.
   c) Construire un code transformant un mot de trois bits en un mot de dix bits et
   corrigeant deux erreurs.

7. a) Soit H une matrice k × n, n > k, dont les ´l´ments appartiennent ` F2 . Soit
                                                 ee                       a
   G une matrice (n − k) × n dont les ´l´ments appartiennent ` F2 , qu’obtient de H
                                      ee                     a
   en demandant que G soit de rang maximal et que ses lignes soient orthogonales ` a
   celles de H. Si H a la forme

                                    H=        M       | Ik×k
                                            k×(n−k)

     o` M est une matrice k × (n − k) et Ik×k est la matrice identit´ k × k, montrer que
      u                                                             e
            e
     G peut ˆtre choisie comme
206      6 Codes correcteurs

                                G=    I(n−k)×(n−k) |         Mt    .
                                                         (n−k)×k


          ´
      b) Ecrire G4 et H4 pour le code de Hamming C(15, 11), c’est-`-dire pour k = 4.
                                                                                  a
      (Commencer par H4 .)
                                       e
      c) Quel est le message u que l’´metteur voulait envoyer si celui-ci utilisait le code
                                   c
      C(15, 11) et si le message re¸u se lit (1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1)?
               1
8. Soit p = 1000 la probabilit´ qu’un bit soit transmis erron´ment.
                               e                             e
                                 e          e e
   a) Quelle est la probabilit´ d’avoir pr´cis´ment deux bits fautifs lors de la trans-
   mission de sept bits, comme lors de la transmission d’un mot du code de Hamming
   C(7, 4) ?
                                  e
   b) Quelle est la probabilit´ d’avoir plus d’une erreur lors de la transmission de
   sept bits ?
             o                                                       e e
   c) Plutˆt que le code de Hamming, on transmet un bit en le r´p´tant trois fois.
        e        a          e                        e        e
   On d´code ` la majorit´. Calculer la probabilit´ qu’on d´code correctement le bit
         e
   envoy´.
                                      e e
   d) On transmet quatre bits en r´p´tant chacun trois fois. Quelle est la probabilit´ e
                               e    e                                   e
   que les quatre bits soient d´cod´s correctement ? En comparant les r´sultats de cette
                                                              e       e
   question avec b) ci-dessus, on voit que le code simple poss`de un l´ger avantage sur
                                                                           o
   le code de Hamming C(7, 4), mais au prix de transmettre 12 bits plutˆt que sept.

9. Chaque livre a un code ISBN (pour International Standard Book Number) qui lui
                                          e
   est propre. Celui-ci est compos´ de dix chiffres. Par exemple, ISBN 2-12345-678-0.
   Les trois premiers segments identifient le groupe linguistique, la maison d’´dition e
                                                               e
   et le volume. Le dernier symbole est un symbole d´tecteur d’erreur choisi parmi
   {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, X}, o` X repr´sente 10 en chiffres romains. Appelons ai ,
                                       u       e
   i = 1, . . . , 10, les 10 symboles. Alors, a10 est choisi comme le reste de la division de
           9
   b = i=1 iai par 11. Ainsi, dans notre exemple, b = 1 × 2 + 2 × 1 + 3 × 2 + 4 × 3 +
   5 × 4 + 6 × 5 + 7 × 6 + 8 × 7 + 9 × 8 = 242 = 11 × 22 + 0.
                                     e
   a) Montrer que ce code d´tecte une erreur.
   b) Montrer que la somme 10 iai est divisible par 11.
                                         i=1
   c) Trouver le dernier chiffre du code ISBN commen¸ant par    c

                                     ISBN 0-7267-3514- ?.

      d) Un type d’erreur commun est l’inversion de deux chiffres. Par exemple, le code
                               e      e
      0-1311-0362-8 sera entr´ erron´ment comme 0-1311-0326-8. Montrer que le code
                  e                                               e
      permet de d´tecter une telle erreur si les deux chiffres cons´cutifs ne sont pas iden-
      tiques (auquel cas l’inversion n’est pas une erreur !).
      e) Dans d’autres r´f´rences, on dit que a10 est choisi de telle sorte que la somme
                          ee
                                          10
                                                (11 − i)ai
                                          i=1
                                                                       6.8 Exercices     207

                                                         e            e           `
      soit divisible par 11. Montrer que cette nouvelle d´finition est ´quivalente a celle
                    e
      qui est donn´e ci-dessus.
           e                        ee
10. La m´thode suivante a ´t´ introduite par IBM pour construire un num´ro de         e
                   e                            e                              e
    carte de cr´dit. Elle est aussi utilis´e au Canada dans les num´ros de carte
    d’assurance sociale. On construit des num´ros de n chiffres, a1 , . . . , an , o` ai ∈
                                                      e                               u
    {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Le num´ro est valide si le nombre b construit comme suit
                                          e
    est un multiple de 10 :
         • si i est impair on pose ci = ai ;
         • si i est pair et 2ai < 10, on pose ci = 2ai ;
         • si i est pair et 2ai ≥ 10, alors 2ai = 10 + di. On pose ci = 1 + di , c’est-`-dire
                                                                                       a
            la somme des chiffres de 2ai ;
         • alors
                                                 n
                                            b=         ci .
                                                 i=1

      a) Montrer que, si i est pair, alors ci est le reste de la division de 2ai par 9.
      b) Les 15 premiers chiffres d’une carte sont 1234 5678 1234 567. Calculer le 16e
      chiffre.
                                e         e
      c) Montrer que cette m´thode d´tecte une erreur dans un des chiffres.
      d) Un type d’erreur commun est l’inversion de deux chiffres cons´cutifs. La  e
        e                e
      m´thode IBM ne d´tecte pas toujours ce genre d’erreur. Montrer cependant qu’elle
                  e                                                  e
      permet de d´tecter une telle erreur si les deux chiffres cons´cutifs ne sont pas iden-
      tiques (auquel cas l’inversion n’est pas une erreur) et s’ils ne sont pas tous les deux
      dans l’ensemble {0, 9}.
                                           e
11. Le code suivant est construit sur le mˆme principe que le code de Hamming. On
    veut envoyer un mot de quatre bits (x1 , x2 , x3 , x4 ) o` les xi = 0, 1. On l’allonge a
                                                               u                           `
    un mot de 11 lettres en ajoutant les bits x5 , . . . , x11 d´finis comme suit (on utilise
                                                                e
    l’addition sur F2 ) :
                                   x5 = x1 + x4 ,
                                       x6 = x1 + x3 ,
                                       x7 = x1 + x2 ,
                                       x8 = x1 + x2 + x3 ,
                                       x9 = x2 + x4 ,
                                       x10 = x2 + x3 + x4 ,
                                       x11 = x3 + x4 .
                           e
      Montrer que ce code d´tecte deux erreurs.
12. Construire le corps fini F4 ` quatre ´l´ments. (Donner explicitement les tables
                                 a      ee
    d’addition et de multiplication.)
13. Donner tous les ´l´ments primitifs du corps F9 de l’exemple 6.14 construit ` l’aide
                    ee                                                         a
    du polynˆme p(x) = x2 + x + 2.
            o
208    6 Codes correcteurs

14. a) Soient q(x) et p(x) deux polynˆmes de F[x]. Montrer qu’il existe des po-
                                         o
    lynˆmes s(x) et r(x) ∈ F[x] tels que q(x) = s(x)p(x) + r(x) avec 0 ≤ degr´ de r <
       o                                                                     e
         e
    degr´ de p.
    b) En conclure que q(x) = r(x) (mod p(x)).
15. Soit Mn l’ensemble des matrices n × n, et d´notons par + et · l’addition et la
                                                    e
    multiplication matricielles usuelles. Est-ce que (Mn , +, ·) est un corps ? Justifier.
16. Soient E un ensemble fini et U (E) l’ensemble de ses sous-ensembles. Par exemple,
    si E = {a, b, c}, alors U (E) = {∅, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}. On
    d´finit sur U (E) des op´rations + et × respectivement par l’union et par l’inter-
      e                     e
    section ensemblistes usuelles. Pour +, le neutre est ∅, et pour ×, le neutre est E.
    Est-ce que U (E) muni de + et de × forme un corps ? Le montrer ou donner les
          ee
    propri´t´s qui ne sont pas satisfaites.
17. a) Soit F3 le corps ` trois ´l´ments. Il y a neuf polynˆmes de degr´ 2 de la forme
                          a         ee                          o          e
    x2 +ax+b o` a, b ∈ F3 . Enum´rer ces neuf polynˆmes et identifier les trois qui sont
                 u            ´          e                o
        e                                             e     e           o
    irr´ductibles. (Suggestion : commencer par ´num´rer les polynˆmes de la forme
    (x + c)(x + d).)
    b) Afin de construire le corps a neuf ´l´ments, on consid`re le quotient F3 [x]/q(x)
                                           `    ee                e
    o` q(x) = x2 + 2x + 2. Montrer que x est une racine primitive en exprimant les
      u
    huit ´l´ments xi , i = 1, 2, . . . , 8, comme polynˆmes de degr´ un ou z´ro.
          ee                                           o            e        e
    c) Dans la notation de b), pour quel i l’´galit´ x3 + x5 = xi est-elle juste ?
                                                   e     e
    d) Le corps F9 a maintenant ´t´ construit de deux fa¸ons diff´rentes, la premi`re
                                          ee                    c     e              e
                           a                                  a
    dans l’exemple 6.14 ` la section 6.5 et ci-dessus ` la question b). Pouvez-vous
                                                e
    construire l’isomorphisme entre le r´sultat de ces deux constructions (voir le
       e e                     e
    th´or`me 6.18 pour la d´finition d’isomorphisme) ?
                                       e           o        e
    e) En a), vous avez identifi´ trois polynˆmes irr´ductibles. Soient p(x) celui qui
              e
    est utilis´ dans l’exemple 6.14, q(x) celui qui l’est ci-dessus en b), et r(x), le
    troisi`me. Est-ce que le polynˆme i(x) = x est une racine primitive de F3 [x]/r(x) ?
          e                             o
    Que faudrait-il faire pour obtenir les tables d’addition et de multiplication de
    F3 [x]/r(x) ?
18. a) Trouver le seul polynˆme irr´ductible sur F2 de degr´ 2, les deux de degr´ 3
                             o     e                       e                    e
                        e
    et les trois de degr´ 4.
    b) Construire les tables d’addition et de multiplication du corps F8 ` huit
                                                                             a
    ee
    ´l´ments.
19. a) Pour les ambitieux : construire F16 .
         ´                                            o      e                e
    b) Egalement pour les ambitieux : trouver un polynˆme irr´ductible de degr´
    8 sur F2 . Ce polynˆme vous permettrait de construire un corps ` combien
                       o                                             a
      ee
    d’´l´ments ?
                  e                                           a e e
20. a) On consid`re le code correcteur d’erreurs qui consiste ` r´p´ter trois fois
                                                                             `
    chaque bit. Pour envoyer un mot de sept bits, on commence par l’allonger a 21
    bits. Par exemple, pour envoyer 0100111 on envoie
                              000 111 000 000 111 111 111
                                                                    6.8 Exercices    209

     Ce code corrige au minimum une erreur. Mais il peut en corriger plus si les erreurs
                      e
     sont bien plac´es. Quel est le nombre maximum d’erreurs qu’il peut corriger ? Sous
     quelle condition ?
                       e
     b) On consid`re maintenant le code de Reed–Solomon C(7, 3). Les lettres sont
     des ´l´ments du corps ` huit ´l´ments, F23 , identifi´ ` {0, 1}3, sur lequel on a une
         ee                  a      ee                   ea
                                           e
     addition et une multiplication. On d´crit chaque lettre comme une suite de trois
     bits b0 b1 b2 . Combien de bits au maximum ce code peut-il corriger ? Sous quelle
     condition ?
                e                    e         a
21. Soit le syst`me suivant de trois ´quations ` trois inconnues

                                       2x − 1 y
                                            2     = 1,
                                      −x + 2y − z = 0,                               ( )
                                          − y + 2z = 1.

     a) R´soudre ce syst`me sur le corps F3 ` trois ´l´ments. (Le nombre 1 est l’inverse
          e              e                    a      ee                     2
     multiplicatif du nombre 2.)
     b) Consid´rons le syst`me ( ) sur le corps Fp ` p ´l´ments o` p est un nombre
                 e           e                        a ee            u
                                                   e       e
     premier plus grand que 2. Pour quels p le syst`me poss`de-t-il une solution unique ?
22. a) Calculer, dans le corps des r´els R, le d´terminant d suivant
                                    e           e

                                        2 −1 0
                                    d = −1 2 −1 .
                                        0 −1 2
                               e
     b) Expliquer pourquoi le d´terminant d2 de la matrice
                                  ⎛        ⎞
                                    0 1 0
                                  ⎝1 0 1⎠ ∈ F3×3  2
                                    0 1 0

         e    `
     est ´gal a d mod 2.
     c) Calculer dans F3 le d´terminant d3 de la matrice
                             e
                                  ⎛        ⎞
                                    2 2 0
                                  ⎝2 2 2⎠ ∈ F3×3 .3
                                    0 2 2

                             e          `               e
     Pouvez-vous obtenir ce d´terminant a partir de la r´ponse de a) ?
                    e
     d) Soit le syst`me

                                     2a − b         = 1,
                                    −a + 2b − c = 1,                                 ( )
                                       − b + 2c = 1.
210    6 Codes correcteurs

      Dans quels corps, parmi R, F2 , F3 , ce syst`me poss`de-t-il une unique solution ?
                                                  e       e
                                      e                                        e
      (Les coefficients entiers du syst`me sont compris modulo 2 ou 3 si la r´solution
      est dans F2 ou F3 respectivement.)
      e) R´soudre ( ) dans F3 .
            e

                                                   e                    a
23. Cet exercice a pour but d’encoder et de d´coder un message ` l’aide du code de
    Reed–Solomon avec m = 3 et k = 3. On doit avoir construit le corps F8 auparavant
    (voir l’exercice 18 ci-dessus). Les calculs sont assez directs, mais ils sont nombreux :
                  e                                                    e
    travaillez en ´quipe. (Tous les participants doivent choisir la mˆme racine primitive
    α et avoir les mˆmes tables de F8 !)
                      e
    a) Combien d’erreurs au maximum le code de Reed–Solomon C(7, 3) peut-il cor-
    riger ?
    b) Quel est l’encodage du mot (0, 1, α) ∈ F3 ?   2
            e                     e     ee
    c) L’´quation (6.12) peut ˆtre r´´crite

                                                p = Cu,
                 m                            (2m −1)×k
      o` p ∈ F2m −1 , u ∈ Fkm et C ∈ F2m
       u       2
                           2                              . Obtenir la matrice C pour le code
      C(7, 3).
                                    c
      d) Supposons que le message re¸u soit
                                                                       m
                             w = (1, α4 , α2 , α4 , α2 , α4 , α2 ) ∈ F2m −1 .
                                                                      2

                                          e              e
      Choisir les lignes 0, 1 et 4 du syst`me (6.12) et r´soudre afin de trouver le vecteur
      (u0 , u1 , u2 ) ∈ F3 .
                         8
                                                          e
      e) Combien y a-t-il de choix possibles de trois ´quations distinctes parmi celles
                                          e              e
      de (6.12) ? Combien faudra-t-il r´soudre de syst`mes comme celui de la question
         e e                 e u          e        e e
      pr´c´dente pour ˆtre sˆr que la r´ponse pr´c´dente est le message original ?
      f ) Est-ce que la solution de d) est le message original ?

24.    Soit p un nombre premier. Cet exercice prouve que Zp est un corps. On dit que
      a et b sont congrus modulo p si leur diff´rence a − b est un multiple entier de p
                                                   e
      (voir l’exemple 6.5).
      a) Montrer que « ˆtre congru » est une relation d’´quivalence, appel´e congruence
                           e                             e                 e
      modulo p.
      b) On identifie Zp ` l’ensemble des classes d’´quivalence des entiers modulo p.
                             a                         e
      Soit a, ¯ ∈ Zp . Soient i, j ∈ a et m, n ∈ ¯ Montrer que si i + m ∈ c et j + n ∈ d,
           ¯ b                       ¯           b.                       ¯            ¯
            ¯     ¯ Mˆme question pour i × m et j × n. Cet exercice montre que les
      alors c = d. e
      d´finitions de + et de × donn´es ` l’exemple 6.5 ne d´pendent pas de l’´l´ment
       e                                e a                   e                  ee
      des classes a et ¯ choisi.
                  ¯     b
      c) Montrer que la classe ¯ est le neutre pour + et que ¯ est le neutre pour ×.
                                   0                            1
      d) Soit a ∈ Zp un ´l´ment diff´rent de ¯ Utiliser l’algorithme d’Euclide (corollaire
                ¯          ee           e       0.
      7.4 du chapitre 7) pour montrer qu’il existe ¯ ∈ Zp tel que a¯ = ¯
                                                     b              ¯b 1.
      e) Finir de d´montrer que Zp est un corps.
                      e
 ee
R´f´rences




[1] Pohlmann, K.C. The compact disc handbook, 2e ´dition, Madison, A-R Editions, 1992.
                                                 e
                                  e         e
[2] Papini, O. et J. Wolfmann. Alg`bre discr`te et codes correcteurs, Berlin, Springer, 1995.
[3] Lang, S. Undergraduate algebra, 2e ´dition, New York, Springer, 1990.
                                       e
[4] Monforte, J. « The digital reproduction of sound », Scientific American, no d´cembre 1984,
                                                                                e
    p. 78–84.
[5] Arnoux, P. « Minitel, codage et corps finis », Pour la Science, no mars 1988.
[6] Lachaud, D. et S. Vladut. « Les codes correcteurs d’erreurs », La Recherche, no hors-s´rie
                                                                                          e
      u
    aoˆt 1999.
[7] Reed, I.S. et G. Solomon. « Polynomial codes over certain finite fields », J. Soc. Ind. Appl.
    Math., vol. 8, p. 300–304, 1960. (Cet article est contenu dans le recueil de Berlekamp.)
[8] Berlekamp, E.R., dir. Key papers in the development of coding theory, IEEE Press, 1974.
7
                 a e
La cryptographie ` cl´ publique : le code RSA (1978)




                                       e
    Ce chapitre contient plus de mati`re que ce qu’on peut traiter en une semaine. Les
                     e
    rappels sur la th´orie des nombres autour de l’algorithme d’Euclide sont optionnels
                         e                   e              e
    (section 7.2) : ils d´pendent de la pr´paration des ´tudiants. Une partie de cette
      e
    pr´paration peut faire l’objet d’exercices. Par contre, il faut prendre le temps de
    pr´senter bri`vement l’arithm´tique modulo n. On traite ensuite la section 7.3 : on
      e          e                e
      e                                                                     e e
    pr´sente le fonctionnement du code RSA et on fait la preuve du th´or`me d’Euler,
                                    e
    ce qui permet de justifier compl`tement et rigoureusement le fonctionnement du code
                                                                   e
    RSA. On explique comment signer un message. Cette premi`re partie peut se traiter
                                                                  e                 e
    en deux heures environ, sauf s’il a fallu faire beaucoup de pr´alables sur la th´orie des
                               e                       e a                 e
    nombres. Ensuite, la derni`re heure est consacr´e ` la partie avanc´e. Par exemple,
    on peut expliquer le principe d’un algorithme probabiliste permettant de tester si un
                           e
    nombre est premier (d´but de la section 7.4). Si on ne dispose que d’une heure, on n’a
                                    e                     e
    pas le temps de faire tous les d´tails du test lui-mˆme. On peut seulement l’illustrer
    par des exemples.
                                                                  e
    Le reste du chapitre est d’un niveau nettement plus avanc´. Pour pouvoir le traiter
                        ee                     `     e                                e
    en classe, il est pr´f´rable de s’adresser a des ´tudiants ayant des notions de th´orie
                                            e             e                               e
    des groupes. Ces notions seront utilis´es dans les d´tails de l’algorithme de primalit´
    (section 7.4) ou encore, dans ceux de l’algorithme de Shor pour la factorisation de
                                                                e
    grands nombres entiers (section 7.5). Ces sections avanc´es peuvent aussi servir de
              e      a
    point de d´part ` un projet de session.



7.1 Introduction
    La cryptographie est un sujet vieux comme le monde. De tout temps, l’homme a
       e
invent´ des codes secrets permettant de transmettre des messages sans qu’ils puissent
e                                                    e            e
ˆtre compris par un intercepteur. L’histoire a montr´ qu’il est tr`s difficile de trouver des
                   e
codes secrets qui r´sistent longtemps et que des scientifiques astucieux finissent toujours
                                                               u
par percer les codes secrets. Prenons, par exemple, un code o` on permuterait les lettres
                               e            e                    e
de l’alphabet, chaque lettre ´tant remplac´e par la lettre situ´e trois places plus loin :
214                       a e
       7 La cryptographie ` cl´ publique

                              e                                        c
par exemple, a est remplac´ par d, b par e, c par f , etc. En fran¸ais, la lettre la plus
  e                                                                       e
fr´quente est le e : en regardant les textes transmis, on finirait par d´duire que le e a
ee         e                                                   e
´t´ chang´ en h, et, de proche en proche, on finirait par d´duire le code. La deuxi`me   e
                                                  e                    e
raison pour laquelle les codes secrets sont vuln´rables est que l’exp´diteur et le receveur
doivent se communiquer le mode de fonctionnement du code. Comme avec tout ´change   e
d’information, il est possible qu’il y ait une fuite lors de cette communication.
                            e
    Dans ce chapitre, nous ´tudions le code RSA, du nom de ses concepteurs Rivest, Sha-
                                  ` e                                  e
mir et Adleman. C’est un code a cl´ publique. Ce qui est particuli`rement remarquable
                                                e
dans ce code, c’est qu’il tient depuis 1978, mˆme si, depuis plus de 29 ans, les meilleurs
                               ee    e                    e          a
scientifiques savent que la c´l´brit´ les attend s’ils r´ussissent ` le casser. Le fait est
d’autant plus surprenant que le mode de fonctionnement du code est compl`tement     e
                      e
public. Nous allons ´tudier ci-dessous le fonctionnement de ce code et voir qu’il suffit
               `                `
d’apprendre a un ordinateur a factoriser de grands nombres pour le casser. C’est donc
         e                                 a e         e
cette op´ration que nous avons apprise ` l’´cole, d´composer un entier en ses facteurs
                        e
premiers, qui tient en ´chec les super-ordinateurs et les meilleurs scientifiques, pour peu
que l’entier soit assez grand !
           e                                      e                                 e
    L’ingr´dient de base du code RSA est la th´orie des nombres, plus particuli`rement
         e                                                 e e                e e     e
l’arithm´tique (+, .) modulo n, et on utilise le petit th´or`me de Fermat g´n´ralis´ par
             e                  `                                                  e
Euler. La m´thode fonctionne a cause des trois faits suivants, bien connus des th´oriciens
des nombres :
    • il est difficile pour un ordinateur de factoriser un grand nombre ;
    • il est facile pour un ordinateur de construire de grands nombres premiers ;
    • il est facile pour un ordinateur de d´cider si un grand nombre est premier.
                                            e
                        e    a e                            e
Avantages d’un syst`me ` cl´ publique Ils sont tr`s importants. Pour que deux
personnes communiquent avec un syst`me cryptographique, il faut que les deux soient
                                       e
                       e                                                   e
en possession de la m´thode : c’est au moment de ce partage de la m´thode que le
                                                                       ` e
danger d’interception est grand. Dans le cas de la cryptographie a cl´ publique, ce
danger n’existe plus : le code est public ! C’est aussi le seul type de codage qui puisse
fonctionner lorsqu’il y a des millions d’utilisateurs, par exemple, lorsque vous voulez
                e                  e
envoyer un num´ro de carte de cr´dit sur Internet.
    Nous verrons que le code RSA a un autre avantage : il est possible de « signer »
                                        u                                     u
un message de telle sorte qu’on soit sˆ r de sa provenance. De nos jours o` il se fait
                                 e                                          e
beaucoup d’usurpation d’identit´ sur Internet ou dans les messageries ´lectroniques,
                    e
c’est un avantage tr`s important.


                         e
7.2 Quelques outils de th´orie des nombres
  e
D´finition 7.1 (i) Soient a et b deux entiers. On dit que a divise b s’il existe un entier
    q tel que b = aq. On note a | b. (La d´finition est valable aussi bien pour a, b, q ∈ N
                                          e
    que pour a, b, q ∈ Z.)
                                                               e
 (ii) Le plus grand diviseur commun (PGCD) de a et b, not´ (a, b), satisfait aux deux
           ee
    propri´t´s suivantes :
                                                                      e
                                             7.2 Quelques outils de th´orie des nombres   215

    • (a, b) | a et (a, b) | b ;
    • Si d | a et d | b, alors d | (a, b).
 (iii) On dit que a est congru ` b modulo n si n | (a − b), c’est-`-dire s’il existe x ∈ Z
                                a                                 a
     tel que (a − b) = nx. On note a ≡ b (mod n). La relation « ≡ (mod n) » est une
                e                e
     relation d’´quivalence appel´e congruence modulo n.

Proposition 7.2 Soient a, b, c, d, x, y ∈ Z. Alors,

         a ≡ c (mod n)     et   b ≡ d (mod n) =⇒         a + b ≡ c + d (mod n),
         a ≡ c (mod n)     et   b ≡ d (mod n) =⇒ ab ≡ cd (mod n),
         a ≡ c (mod n)     et   b ≡ d (mod n) =⇒ ax + by ≡ cx + dy (mod n).

           e                                                         e
Preuve D´montrons la seconde implication. Les autres sont laiss´es en exercice.
   Puisque a ≡ c (mod n), alors n | a − c. Donc, il existe un entier x tel que a − c = nx.
De mˆme, il existe y tel que b − d = ny. Pour montrer que ab ≡ cd (mod n), on doit
    e
montrer que n | ab − cd. Or,

                             ab − cd =       (ab − ad) + (ad − cd)
                                     =       a(b − d) + d(a − c)
                                     =       nay + nxd
                                     =       n(ay + xd).

D’o` n | (ab − cd), ce qui est ´quivalent a la conclusion.
   u                           e          `

   L’algorithme d’Euclide permet de trouver le PGCD, (a, b), de deux entiers a et b.
                                e                                            `
Son fonctionnement est explicit´ dans la proposition suivante. Il fait appel a la notion
de division avec reste de deux entiers.

Proposition 7.3 (Algorithme d’Euclide) Soient a et b deux entiers positifs tels que
a ≥ b et soit la suite d’entiers {ri } construite de la fa¸on suivante. On fait la division
                                                          c
avec reste de a par b : on nomme q1 le quotient et r1 le reste. On a

                                 a = bq1 + r1 ,     0 ≤ r1 < b.

De la mˆme mani`re, on fait maintenant la division avec reste de b par r1 :
       e       e

                                b = r1 q2 + r2 ,    0 ≤ r2 < r1 .

     e
On it`re. . .
                          ri−1 = ri qi+1 + ri+1 ,      0 ≤ ri+1 < ri .
La suite {ri } est strictement d´croissante. Donc, il existe un entier n tel que rn+1 = 0.
                                e
Alors rn = (a, b).
216                        a e
        7 La cryptographie ` cl´ publique

Preuve Montrons d’abord que rn | a et rn | b. Puisque rn+1 = 0, la derni`re ´quation
                                                                                 e e
s’´crit rn−1 = qn+1 rn . Donc, rn | rn−1 . L’avant-derni`re ´quation est : rn−2 = qn rn−1 +
  e                                                       e e
rn . Comme rn | rn−1 , alors rn | qn rn−1 + rn . Donc, rn | rn−2 . On it`re en remontant les
                                                                        e
´quations une a une. On obtient finalement que rn | ri pour tout i. Donc, rn | r1 q2 +r2 =
e                 `
b. Finalement, puisque rn | b et rn | r1 , alors rn | bq1 + r1 = a. Donc, rn | a et rn | b, ce
qui entraˆ que rn | (a, b).
            ıne
     Soit maintenant d un diviseur de a et de b. On doit montrer que d divise rn . Dans
ce cas-ci, on proc`de en sens inverse. Puisque d | a et d | b, alors d | r1 = a − bq1 . Dans
                    e
la deuxi`me ´quation, on a d | b et d | r1 , donc d | r2 = b − r1 q2 . On it`re et on obtient
          e     e                                                           e
d | ri pour tout i. En particulier, d | rn .
     On peut donc conclure que rn = (a, b).

Corollaire 7.4 Soient a et b deux entiers et c = (a, b). Il existe x, y ∈ Z tels que
c = ax + by.

Preuve La preuve utilise la preuve de la proposition 7.3. On sait que c = rn . On
            e             a
remonte les ´quations une ` une. Comme rn−2 = qn rn−1 + rn , alors

                                    rn = rn−2 − qn rn−1 .                               (7.1)

Dans cette ´quation, on substitue rn−1 = rn−3 − qn−1 rn−2 . L’´quation (7.1) devient
           e                                                  e

                             rn = rn−2 (1 + qn−1 qn ) − qn rn−3 .                       (7.2)

Dans cette ´quation, on substitue rn−2 = rn−4 − qn−2 rn−3 . On it`re. . . On obtient
           e                                                          e
finalement rn = r1 x1 + r2 y1 pour x1 , y1 ∈ Z. On substitue r2 = b − r1 q2 , ce qui donne

                                 rn = r1 (x1 − q2 y1 ) + by1 .

On substitue r1 = a − bq1 pour finalement obtenir

                 rn = a(x1 − q2 y1 ) + b(−q1 x1 + q1 q2 y1 + y1 ) = ax + by,

o` x = x1 − q2 y1 et y = −q1 x1 + q1 q2 y1 + y1 .
 u

                                                   e
Remarque La preuve du corollaire 7.4 est tr`s importante. Elle donne la m´thode     e
                                                                     e
pour trouver les entiers x et y tels que (a, b) = ax + by. Cette m´thode peut sembler
                                 a                                        e
fastidieuse lorsqu’on l’applique ` la main, mais elle se programme et s’ex´cute facilement
                      e                                e
sur un ordinateur, mˆme si a et b sont grands. De mˆme, il est facile pour un ordinateur
                                                                 a
de trouver le plus grand commun diviseur de deux nombres ` l’aide de l’algorithme
              e    ea
d’Euclide pr´sent´ ` la proposition 7.3.

                                                       e e                ee
Proposition 7.5 1. Soit c = (a, b). Alors, c est caract´ris´ par la propri´t´ suivante :

                           c = min{ax + by | x, y ∈ Z, ax + by > 0}.
                                                         7.3 Le principe du code RSA   217

2. Soient a, b, m ∈ N. Alors,
                                      (ma, mb) = m(a, b).

3. Soient a, b, c ∈ N. Si c | ab et (c, b) = 1, alors c | a.
4. Si p est premier et p | ab, alors p | a ou p | b.

Preuve 1. Soit F = {ax + by | x, y ∈ Z, ax + by > 0} et soit c = (a, b). Alors, c ∈ F
    par le corollaire 7.4. Supposons que d = ax + by ∈ F est tel que d > 0 et d < c.
    Comme c | a et c | b, alors c | ax + by . Donc, c | d. Mais 0 < d < c. Contradiction.
    `
 2. A cause de 1., on a

                (ma, mb) = min{max + mby | x, y ∈ Z, max + mby > 0}
                         = m min{ax + by | x, y ∈ Z, ax + by > 0}
                         = m(a, b).

 3. Comme (c, b) = 1, de par le corollaire 7.4, il existe x, y ∈ Z tels que cx + by = 1.
    Multiplions cette ´galit´ par a. On obtient acx + aby = a. On a c | acx et c | aby.
                      e     e
    Donc, c | (acx + aby), c’est-`-dire c | a.
                                 a
 4. On applique 3. a c = p premier. Si (p, b) = 1, on obtient p | a en vertu de 3. Sinon,
                      `
    (p, b) = d > 1. Mais les seuls diviseurs de p sont 1 et p. Donc, d = p = (p, b),
    c’est-`-dire p | b.
          a

                               e
   Le corollaire suivant est tr`s utile.

Corollaire 7.6 Soient a et n deux entiers tels que a < n. Si (a, n) = 1, alors il existe
un x ∈ {1, . . . , n − 1} unique tel que ax ≡ 1 (mod n).

                        c
Preuve Commen¸ons par l’existence. Puisque (a, n) = 1, le corollaire 7.4 assure l’exis-
tence de x, y ∈ Z tels que ax + ny = (a, n) = 1. Donc, ax = 1 − ny ou encore,
ax ≡ 1 (mod n). Si x ∈ {1, . . . , n − 1}, alors on peut lui ajouter ou retrancher un
                             /
multiple de n pour l’y ramener sans pour cela changer la congruence ax ≡ 1 (mod n).
Donc, l’existence est prouv´e. e
    Passons ` l’unicit´. Supposons maintenant qu’il existe une deuxi`me solution x ∈
               a          e                                             e
{1, . . . , n−1} telle que ax ≡ 1 (mod n). Alors, a(x−x ) ≡ 0 (mod n). Donc, n | a(x−x ).
Comme (n, a) = 1, alors n | x − x . Mais x − x ∈ {−(n − 1), . . . , n − 1}. Donc, la seule
possibilit´ est x − x = 0.
             e


7.3 Le principe du code RSA

           e             e
   Nous pr´sentons la m´thode cryptographique RSA en suivant l’article original [7].
             c                                              e                   e
Nous commen¸ons par rapidement faire le tour de toutes les ´tapes. Dans un deuxi`me
                              e          a                    e
temps, nous reviendrons les pr´ciser une ` une et donner des d´tails.
218                       a e
       7 La cryptographie ` cl´ publique

               e                     a e
     Un syst`me de cryptographie ` cl´ publique est mis sur pied par une personne ou
une organisation (que nous appellerons le receveur) qui veut recevoir des messages de
       e e                                            e                  e
mani`re s´curitaire. C’est elle qui construit le syst`me et publie la m´thode transmission
des messages.
          e e
Premi`re ´tape Le receveur choisit p et q deux grands nombres premiers (plus de
100 chiffres). Il calcule n = pq. Ce nombre, la « cl´ », a pr`s de 200 chiffres. Il est
                                                          e       e
                                     e
public, alors que p et q sont gard´s secrets. Les ordinateurs ne peuvent, en un temps
                                a
raisonnable, retrouver p et q ` partir de n .
          e
Deuxi`me ´tape   e                                      u                             e
                          Le receveur calcule φ(n), o` φ est la fonction d’Euler d´finie
comme suit : φ(n) est le nombre d’entiers dans {1, 2, . . . , n − 1} qui sont relativement
premiers avec n, pour n > 1 et φ(1) = 1. On montrera dans la proposition 7.8 que
φ(n) = (p − 1)(q − 1). Remarquons que cette formule fait appel aux facteurs inconnus p
                                       ıtre
et q de n. Calculer φ(n) sans connaˆ p et q semble aussi difficile que de factoriser n
                                                              e
(quoiqu’il n’y ait pas de preuve rigoureuse que les deux op´rations soient aussi difficiles
l’une que l’autre).
Troisi`me ´tape : choix d’une cl´ de cryptage Le receveur choisit e ∈ {1, . . . , n−
         e      e                      e
                                                            e
1} relativement premier avec φ(n). Le nombre e est la cl´ de cryptage. Elle est publique.
        e                                                                         e
L’exp´diteur s’en sert pour encoder son message suivant les instructions publi´es par le
receveur.
Quatri`me ´tape : construction d’une cl´ de d´cryptage Il existe d ∈ {1, . . . , n−
           e     e                              e       e
1} tel que ed ≡ 1 (mod φ(n)) (c’est-`-dire que le reste de la division de ed par φ(n)
                                          a
                             e
est 1). L’existence de d d´coule du corollaire 7.6. La preuve du corollaire 7.6 et des
                                                                                 e
propositions sur lesquelles il repose, dont l’algorithme d’Euclide, donne la m´thode de
                                                                       e    e
construction de d. Le nombre d, construit par le receveur, est la cl´ de d´cryptage. Elle
           e                              e
est secr`te et permet au receveur de d´crypter les messages re¸us.c
           e     e                                   a                  e
Cinqui`me ´tape : cryptage d’un message ` envoyer L’exp´diteur veut envoyer
un message qui est un nombre m appartenant a {1, . . . , n − 1}, relativement premier
                                                     `
avec n. Pour l’encoder, il calcule le reste a de la division de me par n. On a donc
me ≡ a (mod n), o` a ∈ {1, . . . , n − 1}. Le a qu’il a calcul´ est le message crypt´.
                        u                                         e                        e
        e
L’exp´diteur envoie a. Nous verrons ci-dessous qu’il est facile pour un ordinateur de
                 e                      e
calculer a, mˆme si m, e et n sont tr`s grands.
      e      e        e                            c                 c
Sixi`me ´tape : d´cryptage du message re¸u Le receveur re¸oit a. Pour d´crypter,   e
il calcule ad (mod n). Nous allons montrer a la proposition 7.10 que le reste de la division
                                             `
de ad par n est pr´cis´ment le message initial m.
                     e e
                   e           e       e
     Avant de d´tailler les diff´rentes ´tapes, regardons un exemple simple avec des petits
nombres.

Exemple 7.7 On prend p = 7 et q = 13. Alors, n = pq = 91. Quels sont les entiers
de E = {1, . . . , 90} qui ne sont pas relativement premiers avec 91 ? Ce sont 7, 13, 14,
21, 26, 28, 35, 39, 42, 49, 52, 56, 63, 65, 70, 77, 78, 84, soit 18 entiers. Il y a donc
90 − 18 = 72 entiers de E relativement premiers avec 91, ce qui donne φ(91) = 72.
Choisissons e = 29. On a bien (e, φ(n)) = 1. Appliquons l’algorithme d’Euclide pour
trouver d :
                                                          7.3 Le principe du code RSA       219

                                       72   = 29 × 2 + 14,
                                       29   = 14 × 2 + 1.
                                e
Maintenant, nous remontons pour ´crire 1 en fonction de 29 et de 72 :

                     1   = 29 − 14 × 2
                         = 29 − (72 − 29 × 2) × 2 = 29 × 5 − 72 × 2.

On a donc 29 × 5 ≡ 1 (mod 72), ce qui donne d = 5. Soit m = 59 notre message.
On a bien (59, 91) = 1. Pour encoder, nous devons calculer 5929 (mod 91). Comme
5929 est un tr`s grand nombre, il faut ˆtre astucieux pour faire ce calcul. On va calculer
               e                        e
successivement 592 , 594 , 598 et 5916 modulo 91, et utiliser que 5929 = 5916 × 598 × 594 ×
59. Allons-y !
                       592 = 3481 ≡ 23 (mod 91),
                       594 = (592 )2 ≡ 232 = 529 ≡ 74 (mod 91),
                       598 = (594 )2 ≡ 742 = 5476 ≡ 16 (mod 91),
                       5916 = (598 )2 ≡ 162 = 256 ≡ 74 (mod 91).
Donc, finalement,

                         5929     =    5916 × 598 × 594 × 59 (mod 91)
                                  ≡    (74 × 16) × 74 × 59 (mod 91)
                                  ≡    1 × 74 × 59 = 4366 (mod 91)
                                  ≡    89 (mod 91).

      e                                  e   e
La m´thode de calcul que nous avons pr´sent´e est celle qu’utilisent les ordinateurs. Le
                e                                      e
message encod´ est a = 89. Nous l’envoyons. Pour le d´coder, le receveur doit calculer
le reste de la division de 895 par 91. La mˆme m´thode permet de faire le calcul et de
                                           e     e
 e    e
r´cup´rer le message initial, soit m = 59. En effet,

                                892 = 7921 ≡ 4 (mod 91),
                                894 = (892 )2 ≡ 42 = 16 (mod 91),

ce qui permet de calculer

                     895 = 894 × 89 ≡ 16 × 89 = 1424 ≡ 59 (mod 91).

      e   e e
On a r´cup´r´ le message m !

Proposition 7.8 Soient p et q deux nombres premiers distincts. Alors,

                                      φ(pq) = (p − 1)(q − 1).

Preuve On doit compter le nombre d’entiers de E = {1, 2, . . . , pq − 1} qui sont rela-
tivement premiers avec pq. Les seuls entiers qui ne sont pas relativement premiers avec
pq sont les multiples de p, soit P = {p, 2p, . . . (q − 1)p} (on en a q − 1) et les multiples de
q, soit Q = {q, 2q, (p − 1)q} (on en a p − 1). Notons que P ∩ Q = ∅ puisque, si np = mq
220                        a e
        7 La cryptographie ` cl´ publique

avec m < p, alors p | np = mq, et de par la proposition 7.5(4), soit p | m, soit p | q, ce
qui est absurde. Au total, le nombre d’entiers de S qui sont relativement premiers avec
pq est
             pq − 1 − (p − 1) − (q − 1) = pq − p − q + 1 = (p − 1)(q − 1).



    e e              e e                           e e
Th´or`me 7.9 (th´or`me d’Euler et petit th´or`me de Fermat) Si m < n
est relativement premier avec n, alors mφ(n) ≡ 1 (mod n). (Quand n est premier, le
r´sultat, prouv´ par Fermat et qui se lit mn−1 ≡ 1 (mod n), est appel´ petit th´or`me
 e             e                                                     e         e e
de Fermat.)

Preuve Commen¸ons par le cas o` n est premier. Dans ce cas φ(n) = n − 1, car les
                        c                u
nombres 1, 2, . . . , n − 1 sont relativement premiers avec n. Soit m ∈ E = {1, . . . , n − 1}.
Prenons les produits
                               1 · m, 2 · m, . . . , (n − 1) · m.                         (7.3)
Les restes ri , i = 1, . . . , n − 1, de la division de ces produits par n (i · m ≡ ri (mod n))
forment une permutation de 1, . . . , n − 1. En effet, le reste rk de la division de k · m par
           e                                                                   `
n ne peut ˆtre nul si n est premier et k, m < n. Donc, il appartient a E. De plus, les
nombres rj sont deux a deux distincts. En effet, supposons que k1 · m et k2 · m ont le
                            `
mˆme reste lorsqu’on les divise par n. On peut supposer k1 ≥ k2 . Alors,
  e

                        k1 · m = q1 · n + r,        k2 · m = q2 · n + r.

   u
D’o`
                                 (k1 − k2 ) · m = (q1 − q2 ) · n
Donc, n divise (k1 − k2 ) · m. Comme n est premier et 0 ≤ k1 − k2 < n et m < n, la seule
          e
possibilit´ est k1 = k2 .
   En multipliant tous les restes ri et en travaillant modulo n, on obtient donc

                  (n − 1)! = 1 · 2 · 3 · · · (n − 1) = r1 · r2 · · · · · rn−1
                             ≡ (m · 1) · (m · 2) · · · (m · (n − 1)) (mod n)
                             = mn−1 · (n − 1)!.

Ceci entraˆ que n | (mn−1 − 1) · (n − 1)!. Comme n est premier, on a (n, (n − 1)!) = 1.
           ıne
Donc, n | mn−1 − 1, ce qui est ´quivalent au r´sultat mn−1 ≡ 1 (mod n).
                               e                     e
                                                        u
    La preuve est presque identique dans le cas o` n n’est pas premier. Dans ce cas, au
lieu de prendre tous les nombres 1, 2, . . . , n − 1, on prend seulement le sous-ensemble des
                                                                                  e e
nombres k qui sont relativement premiers avec n. Il y en a φ(n). Comme pr´c´demment
on les multiplie par m et on prend le reste de la division de ces produits k · m par n.
            e e
Comme pr´c´demment, ces restes sont non nuls. Si m est relativement premier avec
                                                      e e
n, on obtient une permutation des nombres pr´c´dents. En effet, si on suppose comme
                                                              7.3 Le principe du code RSA   221

ci-dessus que k1 · m et k2 · m ont le mˆme reste lorsqu’on les divise par n et que k1 ≥ k2 ,
                                       e
alors on obtient encore (k1 − k2 ) · m = (q1 − q2 ) · n. Donc, n doit diviser le produit
(k1 − k2 ) · m. Comme n est relativement premier avec m, on doit avoir n | k1 − k2 . Mais
0 ≤ k1 − k2 ≤ n − 1. Donc, finalement, la seule possibilit´ est k1 − k2 = 0, c’est-`-dire
                                                            e                        a
k1 = k2 .
    En multipliant tous ces nombres, on obtient

                                     k ≡ mφ(n) ·             k (mod n).
                           (k,n)=1                 (k,n)=1
                             k<n                     k<n


Le r´sultat suit comme pr´c´demment, par « simplification » de (k,n)=1,k<n k, qui est
     e                     e e
relativement premier avec n, de par la proposition 7.5(3). En effet, si a = (k,n)=1,k<n k
et b = mφ(n) − 1, on a n | ab et (n, a) = 1, ce qui entraˆ n | b, c’est-`-dire la conclusion
                                                         ıne            a
       e
cherch´e.

                                e
Proposition 7.10 Le cryptage-d´cryptage du code RSA fonctionne : si on encode un
message m tel que (m, n) = 1 comme a, o` me ≡ a (mod n), alors le d´cryptage redonne
                                       u                           e
le message m : ad ≡ m (mod n).

Preuve Si me ≡ a (mod n), alors

             ad    ≡   (me )d = med = mkφ(n)+1 = mkφ(n) .m = (mφ(n) )k .m
                   ≡   1k .m = 1.m = m (mod n).



                                                      e
Exemple 7.11 Une compagnie veut monter un syst`me de commandes sur Internet.
                                 ` e                                       e
Elle instaure donc un cryptage a cl´ publique pour la transmission du num´ro de carte
      e            e                 e
de cr´dit. Le num´ro de carte de cr´dit est un nombre de 16 chiffres auquel on ajoute
                                 `
les 4 chiffres qui correspondent a la date d’expiration, pour un total de 20 chiffres. La
compagnie choisit p et q, deux grands nombres premiers. Nous fonctionnerons dans notre
exemple avec des nombres de 25 chiffres, ce qui donne pour n un nombre de 50 chiffres
environ. Prenons
                            p = 12345679801994567990089459
et
                            q = 8369567977777368712343087.
Ceci donne

         n = pq = 103328006334666582188478564007333624855622630219933

et
          φ(n) = (p − 1)(q − 1)
                  = 103328006334666582188478543292085845083685927787388.
222                        a e
        7 La cryptographie ` cl´ publique

La compagnie choisit ensuite
                                       e = 115670849
              `
qui satisfait a (e, φ(n)) = 1, et utilise le corollaire 7.6 pour calculer :

             d = 34113931743910925784483561065442183977516731202177.

                                                                e                e    `
   Le d de notre exemple est un grand nombre. On doit s’en f´liciter, car cela r´duit a
 e                 e        e                                `
n´ant la possibilit´ de le d´couvrir par hasard en cherchant a l’aveuglette.
   A priori, on ne peut envoyer que des messages relativement premiers avec n. Ici,
           e
aucun probl`me : les seuls diviseurs de n ont au moins 25 chiffres, et donc, tout nombre
                                                                   e                e
de 20 chiffres est relativement premier avec n. Un client a le num´ro de carte de cr´dit
4540 3204 4567 8231, et la date d’expiration de sa carte est le 10/02. On doit donc
envoyer le message m = 45403204456782311002. Avant d’envoyer, le logiciel calcule

      me ≡ a ≡ 49329085221791275793017511397395566847998886183308 (mod n).

                               e
Le nombre a est transmis. Sur r´ception, la compagnie calcule

                        ad ≡ 45403204456782311002 = m (mod n).

Dans cet exemple, les entiers p et q choisis ne sont pas assez grands, et un ordinateur
pourrait factoriser n.
    Que se passerait-il s’il y avait une erreur de transmission ? On pourrait facilement
                                         e
s’en rendre compte : le message erron´ n’a a priori aucune raison d’avoir 20 chiffres
          e e
une fois d´cod´.

                                       a e
Signature d’un message Jusqu’` pr´sent, on a vu qu’une personne, que nous ap-
             e                                     e                     ` e
pellerons B´atrice, peut mettre sur pied un syst`me de cryptographie a cl´ publique lui
                 e                           c
permettant de d´crypter des messages re¸us de n’importe qui. Supposons que B´atrice e
  c                                  e
re¸oive un message de son associ´ Alain lui demandant de faire un virement de fonds
                                                              e
dans un compte en banque dont il lui donne les coordonn´es. Qu’est-ce qui lui prouve
                            e
que ce message provient r´ellement d’Alain et non d’un fraudeur qui se fait passer pour
           e                       e
son associ´ ? On voit qu’il est n´cessaire qu’Alain puisse prouver qu’il est bien l’auteur
                   e           c
du message que B´atrice re¸oit. C’est ce qu’on appelle signer un message.
                              e                e                            e    a e
    Dans ce cas, tant l’exp´diteur que le r´cepteur se fabriquent un syst`me ` cl´ pu-
                                          e                  e
blique, soit un triplet (n, e, d). Deux cl´s publiques sont n´cessaires.
    • l’exp´diteur (ici Alain) publie nA , eA et garde dA secr`te ;
            e                                                   e
    • le receveur (ici B´atrice) publie nB , eB et garde dB secr`te.
                         e                                        e
Transmission d’un message sign´     e
   • Pour envoyer un message m relativement premier avec nA , l’exp´diteur commence
                                                                   e
     par apposer sa signature en calculant

                                      m1 ≡ mdA (mod nA ).
                                                      7.3 Le principe du code RSA    223

                                                                          e
     Si m1 est relativement premier avec nB , il encode ensuite avec la cl´ de cryptage
     du receveur
                                  m2 ≡ meB (mod nB ).
                                          1

                                                           e                          e
     Il envoie m2 . Si jamais (m1 , nB ) = 1, ce qui est tr`s peu probable car nB a tr`s
                                                               a
     peu de diviseurs, il change un peu le message m jusqu’` ce qu’il ait un m tel que
     (m, nA ) = 1 et (m1 , nB ) = 1.
   • Pour d´crypter le message, le receveur commence par r´cup´rer m1 puisqu’il est
             e                                                  e   e
             a       ıtre
     le seul ` connaˆ dB . Pour cela, il calcule

                                   m1 ≡ mdB (mod nB ).
                                         2

     En effet,
                                 k φ(nB )+1            φ(nB ) k1
              mdB ≡ meB dB ≡ m11
               2     1                        = m1 · (m1    )      ≡ m1 (mod nB ).

                  e   e
     Ensuite, il r´cup`re le message m en utilisant eA qui est public

                                    m ≡ meA (mod nA ).
                                         1

     En effet,

                meA ≡ mdA eA ≡ mk2 φ(nA )+1 = m · (mφ(nA ) )k2 ≡ m (mod nA ).
                 1

                     ee        e                                             e
     Si le message a ´t´ envoy´ par un imposteur, cela devient visible sur r´ception,
         e e                                                   ee      e
     apr`s d´codage. Dans l’exemple 7.11, si le message avait ´t´ envoy´ par un frau-
               e
     deur, le d´codage ne donnerait presque jamais un nombre de 20 chiffres, donc un
          e                               e                            u
     num´ro possible pour une carte de cr´dit. Dans un autre contexte o` on utiliserait
                                                           e
     le code RSA pour transmettre un morceau de texte, pr´alablement transform´ en e
                                           c                 e
     une suite de nombres, les nombres re¸us et retransform´s en lettres n’auraient a
                                                  e
     priori aucune chance de faire des phrases coh´rentes.
                                     e      e                                  e
Applications Le code RSA est tr`s utilis´ sur Internet, par exemple, pour s´curiser un
                 c            e                   e           e                 e
site lorsqu’il re¸oit des num´ros de cartes de cr´dit. Le syst`me bancaire est ´galement
     e e                                    e                    e
prot´g´ par le code RSA. Par contre, la m´thode de cryptage-d´cryptage du code RSA
                                   e
est longue et fastidieuse. Le syst`me perd donc son avantage lorsqu’on veut transmettre
                                ee             e
de longs textes, et on lui pr´f`re d’autres m´thodes, surtout quand le texte transmis
                   e                              e          e                    e
n’a pas besoin d’ˆtre tenu secret pendant de tr`s longues p´riodes. Parmi les m´thodes
plus rapides, on trouve le code DES (Data Encryption Standard) ou encore le code
AES (Advanced Encryption Standard) (voir, par exemple, [2]). Les codes DES et AES
               e                       a e      e             a              e
sont des syst`mes cryptographiques ` cl´ sym´trique, c’est-`-dire que l’exp´diteur et le
                          e      e                               e
receveur partagent la mˆme cl´ et s’en servent pour crypter et d´crypter le message. La
  e                                                                e
cl´ est typiquement beaucoup plus courte que le message. L’exp´diteur et le receveur
                                                          e
peuvent utiliser le code RSA pour se transmettre la cl´ qui, dans ce cas-ci, n’est pas
publique.
224                          a e
          7 La cryptographie ` cl´ publique

                                                                     ee
Discussion de la valeur du code RSA Le code RSA a ´t´ introduit en 1978.
            e               `
Il a incit´ les chercheurs a trouver de meilleurs algorithmes pour factoriser de grands
                                         e        e
nombres entiers, mais sans grand succ`s : la m´thode tient toujours si l’entier n est assez
                               e                    e           e
grand. En fait, on ne sait mˆme pas si toute m´thode de d´cryptage de RSA ne serait
                                                                   e
pas aussi complexe que la factorisation de n. Les efforts pour d´crypter le code par une
   e                                                                              e e
m´thode plus simple (pour un ordinateur) que la factorisation de n se sont av´r´s vains
        a e
jusqu’` pr´sent.
                                     e        a
     En 1978, l’article original [7] ´valuait ` 74 ans le temps requis pour factoriser un
nombre de 100 chiffres, a 3,8 × 109 ann´es le temps n´cessaire pour factoriser un nombre
                          `               e             e
de 200 chiffres et ` 4,2×1025 ann´es le temps qu’il faudrait pour factoriser un nombre de
                     a             e
                  u                           e                      ´         e
500 chiffres. O` en est-on par rapport aux ´valuations de 1978 ? Etant donn´ l’augmen-
                                                e                               e       e
tation de la puissance des ordinateurs, une cl´ de 100 chiffres est totalement d´conseill´e.
         e                            ea                             a
Une cl´ de 200 chiffres ne tenait d´j` plus le coup en 2005 face ` des professionnels du
  e             e    e                                                   e
d´cryptage ´quip´s d’ordinateurs puissants (voir ci-dessous). Les am´liorations sont de
deux ordres : la puissance des ordinateurs et l’efficacit´ des algorithmes. La « loi » de
                                                            e
                                                              e
Moore (du nom de Gordon Moore, cofondateur d’Intel) pr´disait en 1965 que la densit´      e
                                                          e ee e
des transistors doublerait tous les 18-24 mois et s’est r´v´l´e ´tonnamment exacte. Quel
                                            e
rapport avec la vitesse de calcul ? Les pr´cisions suivantes viennent de Paul Rousseau,
qui travaille chez TSMC : la vitesse des transistors augmente d’un facteur de 1,4 tous
            a            e
les deux ` trois ans. Mˆme si les compagnies annoncent que la vitesse de l’horloge d’un
                       e
circuit est multipli´e par deux, le circuit fait moins de travail par cycle, et ce facteur
est donc artificiel. La vraie mesure est la capacit´ de faire du « vrai travail ». Pour
                                                      e
                                                                  e
un algorithme de factorisation permettant le travail en parall`le, l’augmentation de la
          e
capacit´ de travail est de l’ordre de 2,8, soit 1,4 par transistor et un facteur 2 dˆ au `
                                                                           e
l’augmentation du nombre de transistors. En 2005, 27 ans avaient pass´ depuis 1978. Si
                    e e                                   e                     e e
l’on prend des g´n´rations ayant en moyenne 2,5 ann´es, cela donne 10,8 g´n´rations,
soit un facteur de 67 500 qui est inf´rieur ` 105 .
                                       e     a
     L’am´lioration des algorithmes n’est pas moins spectaculaire. D´j`, Gauss au XIXe
            e                                                           ea
  e                    e        e
si`cle avait qualifi´ le probl`me pratique de la factorisation de grands nombres de
       e                      e
probl`me fondamental en th´orie des nombres. Les algorithmes les plus importants sont
     • le crible quadratique de Pomerance,
     • la m´thode des courbes elliptiques de Lenstra,
              e
     • le crible g´n´ral des corps de nombres de Pollard, Adleman, Buhler, Lenstra et
                    e e
       Pomerance.
Un bon article sur le sujet est l’article de Carl Pomerance [6].
     En 1996, on factorisait des nombres de 130 chiffres et en 1999, des nombres de
155 chiffres. En 2005, F. Bahr, M. Boehm, J. Franke et T. Kleinjung annoncent la
factorisation d’un nombre de 200 chiffres,
 n    =    2799783391122132787082946763872260162107044678695542853756000992932
           6128400107609345671052955360856061822351910951365788637105954482006
           576775098580557613579098734950144178863178946295187237869221823983,
                                                     e
qui est produit des deux nombres premiers p et q donn´s par
                                        7.4 Construire de grands nombres premiers    225

           p =     35324619344027701212726049781984643686711974001976
                   25023649303468776121253679423200058547956528088349,
           q   =   79258699544783330333470858414800596877379758573642
                   19960734330341455767872818152135381409304740185467.
                   ee                    e                 e e
La factorisation a ´t´ obtenue par la m´thode du crible g´n´ral des corps de nombres,
    e
qui ´tait encore en 2005 le meilleur algorithme de factorisation connu.
          e              e                                                     e
    Malgr´ toutes ces am´liorations, le code RSA ne semble pas encore menac´, mais il
                                   e
faut augmenter la longueur des cl´s. Dans l’article de Jean-Paul Delahaye [4] en 2000, il
                e                e                              e
est recommand´ d’utiliser une cl´ de 232 chiffres pour les donn´es pas trop importantes,
       e                                                      e
une cl´ de 309 chiffres pour les usages commerciaux et une cl´ de 617 chiffres si on veut
                                             e
une garantie de protection sur une longue p´riode de temps.
                                                    a        e
Nombres de Carmichael Dans le code RSA ` une cl´ publique n = pq, le mes-
                                                            e                  e
sage m doit remplir la condition (m, n) = 1 pour que l’op´ration cryptage-d´cryptage
fonctionne. En fait, si on fait des tests avec des messages m qui ne sont pas relative-
                             a                     a       e
ment premiers avec n, c’est-`-dire qu’on applique ` m l’op´ration de cryptage suivie de
    e            e              e    e
l’op´ration de d´cryptage, on r´cup`re souvent le message m. La question se pose donc
                                                       e
de savoir si la condition (m, n) = 1 est inutile. La r´ponse est connue : la condition
est inutile si n est un nombre de Carmichael. Mais il n’existe que peu de nombres de
Carmichael, et tous ont au moins trois facteurs. Donc, quand on utilise le code RSA, on
                `
doit continuer a s’assurer que (m, n) = 1.


7.4 Construire de grands nombres premiers
                      e
    Nous avons affirm´ qu’il est facile de construire de grands nombres premiers. C’est
          e             e e
une cons´quence du th´or`me des nombres premiers : en mots simples, ce th´or`me   e e
                    e
donne la probabilit´ qu’un grand entier de N chiffres choisi au hasard soit premier.
                                                             e e
Pour construire un nombre premier de 100 chiffres, on g´n`re au hasard des nombres
                                                             e e
entiers de 100 chiffres et on teste s’ils sont premiers. Le th´or`me des nombres premiers
              e
assure qu’apr`s en moyenne 115 essais, on devrait obtenir un nombre premier (si on
 e e                                              e e
g´n`re seulement des nombres impairs). Ce th´or`me des nombres premiers donne la
distribution « asymptotique » des nombres premiers parmi les entiers, c’est-` dire, pour
                                                                            a
                                                                 e        e      `
un grand entier N , la proportion approximative des entiers inf´rieurs ou ´gaux a N qui
sont premiers.

  e e            e e
Th´or`me 7.12 (th´or`me des nombres premiers) Soit
                             π(N ) = #{p ≤ N | p premier}
       a                                           e          e     `
(c’est-`-dire que π(N ) est le nombre d’entiers inf´rieurs ou ´gaux a N qui sont pre-
miers). Alors, si N est grand, on a
                                                N
                                     π(N ) ≈        .
                                               ln N
226                       a e
       7 La cryptographie ` cl´ publique

                           e e                      e       e
Remarque La preuve de ce th´or`me est d’un niveau tr`s avanc´ et ne sera pas
  e    e
pr´sent´e ici.

   On veut construire de grands nombres premiers. Supposons pour le moment qu’on
                                 e
connaisse un test permettant de d´terminer si un grand nombre est premier. On pourrait
vouloir choisir au hasard un grand nombre n et tester s’il est premier. S’il n’est pas
                                                     a
premier, on testera si n + 1 est premier, etc. jusqu’` ce qu’on tombe sur un nombre
                                                           e
premier. Nous allons montrer que ce n’est pas une bonne m´thode.

   e e                                                                           e
Th´or`me 7.13 Il existe des suites arbitrairement longues de nombres entiers cons´-
cutifs qui ne sont pas premiers.

Preuve Soit n ∈ N. La suite

                                 n! + 2, n! + 3, . . . , n! + n

est une suite de n − 1 nombres cons´cutifs non premiers. En effet, soit 1 < m ≤ n. Alors,
                                   e
m | n!. Donc, m | n! + m.

                                  o
     La bonne technique est plutˆt de choisir au hasard des grands nombres et de tester
                          e                   e                                   e
s’ils sont premiers. La th´orie des probabilit´s assure que, si les choix sont ind´pendants,
on va tomber sur un nombre premier en un nombre raisonnable d’essais.
     Consid´rons l’ensemble des entiers F = {1, . . . , N } tel que N est grand. Si on veut
            e
obtenir des entiers de 100 (respectivement 200) chiffres, on va prendre N = 10100 (res-
pectivement N = 10200 ). Par le th´or`me des nombres premiers, le nombre d’entiers de
                                     e e
                                                    N
F qui sont premiers est de l’ordre de π(N ) = ln N . Donc, si on choisit au hasard un
                                                                        e
nombre n dans F , on peut calculer approximativement la probabilit´ que n soit premier.
On a
                                                   N
                                                             1
                             Prob(n premier) ≈ ln N =           .
                                                   N       ln N
Si N = 10100 , alors ln N = 100 ln 10 = 100 × 2,30259 = 230,259. Donc, en prenant au
hasard un nombre de 100 chiffres, on a environ une chance sur 230 d’obtenir un nombre
                      e
premier. On peut am´liorer grandement ces chances en choisissant au hasard un nombre
impair (il suffit de choisir au hasard le dernier chiffre dans l’ensemble {1, 3, 5, 7, 9}). La
           e
probabilit´ de trouver un nombre premier est alors d’une sur 115. Si on avait choisi le
dernier chiffre dans {1, 3, 7, 9} (on aurait ´limin´ ainsi les multiples de 5), elle serait
                                            e     e
devenue d’une sur 92.
    Soit B l’ensemble des nombres impairs de F qui ne sont pas divisibles par 5. Cet
                                                      5
ensemble contient environ 2N ´l´ments. Soit p = 2 ln N . Chaque fois qu’on choisit au
                              5 e e
                                              e
hasard un nombre de B, on a une probabilit´ p que le nombre soit premier. On appelle
« exp´rience al´atoire » le fait de choisir au hasard un nombre de B et de tester s’il
      e         e
                  e e        e        e               e       e                a
est premier. On r´p`te l’exp´rience al´atoire de mani`re ind´pendante jusqu’` ce qu’on
                                                        e         e
tombe sur un nombre premier. Soit X le nombre d’exp´riences n´cessaires. Alors, X est
               e                 e e                  e
une variable al´atoire de type g´om´trique de param`tre p. On a donc
                                           7.4 Construire de grands nombres premiers      227

                                 Prob(X = k) = (1 − p)k−1 p.

En effet, on a une probabilit´ 1 − p de tirer un entier non premier a chacun des k − 1
                              e                                     `
                                     e                                      e
premiers tirages et une probabilit´ p de tirer un nombre premier au k-i`me tirage.
      e                      e                                  e
L’esp´rance de la variable al´atoire X est le nombre moyen d’exp´riences qu’on s’attend
a                                      e        a     e e
` faire pour obtenir un premier succ`s, c’est-`-dire g´n´rer un nombre premier. Pour
              e e                    e
une variable g´om´trique de param`tre p, on a
                             ∞                        ∞
                                                                              1
                   E(X) =         kProb(X = k) =           k(1 − p)k−1 p =      .
                                                                              p
                            k=1                      k=1

                  ∞
(Montrer que k=1 k(1 − p)k−1 p = 1 demande un peu d’astuce. Ce calcul se trouve
                                            p
                               e
dans tout livre de probabilit´.)
    Dans notre cas, si le dernier chiffre appartient ` {1, 3, 7, 9} et donc que p ≈ 92 , alors
                                                        a                             1

                                                          e                   e e
E(X) = 92 ; il faudra donc faire en moyenne 92 exp´riences avant de g´n´rer un nombre
premier.
                                        a e
    Ce que nous avons fait jusqu’` pr´sent suppose qu’il existe un moyen de tester
si un nombre entier n est premier, qui soit plus simple que de factoriser n. Un tel
                                    e                                       e
test s’appelle test de primalit´. Il en existe plusieurs dans la litt´rature. Tous font
       `                                    e                                e
appel a un certain raffinement math´matique. Le test que nous pr´sentons ici est le
test apparaissant dans l’article original du code RSA, [7]. Il est technique et utilise
le symbole de Jacobi, introduit ci-dessous et peu intuitif. Le principe sous-jacent est
que n laisse ses « empreintes » partout si bien que, si n n’est pas premier, au moins
la moiti´ des nombres de l’ensemble {1, . . . , n} « savent » que n n’est pas premier. Si
         e
k nombres m1 , . . . mk ∈ {1, . . . , n} r´ussissent le test, alors n a une grande probabilit´
                                          e                                                  e
  e
d’ˆtre premier : c’est un exercice avec la formule de Bayes.
                                      e
Un test probabiliste de primalit´ Nous introduisons, pour des entiers m et n
relativement premiers, le symbole de Jacobi J(m, n) ∈ {−1, 1}. La d´finition technique
                                                                   e
                    e
de J(m, n) sera donn´e plus bas. Soit

                                     E = {1, . . . , n − 1}.

Si n est un nombre premier et si a ∈ E, alors

                                  (a, n) = 1,
                                              n−1                                       (7.4)
                                  J(a, n) ≡ a 2 (mod n).

                                                 e
Si n n’est pas premier, alors au moins la moiti´ des nombres de E ne satisfont pas a`
(7.4). On dira qu’ils « ´chouent au test ». D`s qu’un nombre a ∈ E ´choue au test, on
                        e                     e                      e
sait que n n’est pas premier. Si on choisit a ∈ E au hasard, on a donc
                                                                        1
                      Prob(a r´ussit le test | n est non premier) ≤
                              e                                           .
                                                                        2
228                        a e
        7 La cryptographie ` cl´ publique

                                                                                              e
On choisit a1 , . . . , ak au hasard dans E et on fait passer le test. Calculons la probabilit´
que n soit premier sachant que a1 , . . . , ak ont r´ussi le test. Donnons des noms aux
                                                       e
´v´nements : Ai est l’´v´nement « ai a r´ussi le test ». Soit P (n) l’´v´nement « n est
e e                         e e               e                             e e
premier » et Q(n) son compl´mentaire, c’est-`-dire « n n’est pas premier ». Notons
                                   e                a
A = A1 ∩ · · · ∩ Ak . A est donc l’´v´nement « tous les ´l´ments a1 , . . . , ak ont r´ussi le
                                      e e                   ee                         e
test ». La formule de Bayes donne

                                           Prob(A | P (n))Prob(P (n))
      Prob(P (n) | A) =                                                           .
                            Prob(A | P (n))Prob(P (n)) + Prob(A | Q(n))Prob(Q(n))

Comme
                                       Prob(A | P (n)) = 1,
                                       Prob(A | Q(n)) ≤ 21 ,
                                                          k


et qu’on peut calculer approximativement Prob(P (n)) et Prob(Q(n)) par le th´or`mee e
                                                                        e
des nombres premiers, on peut calculer approximativement la probabilit´ que n soit pre-
mier (ou plutˆt, donner une borne inf´rieure ` cette probabilit´) sachant que a1 , . . . , ak
              o                       e      a                 e
        e
ont pass´ le test.
                 e                     a
    En effet, le d´nominateur satisfait `

              Prob(A | P (n))Prob(P (n)) + Prob(A | Q(n))Prob(Q(n))

                                                ≤ Prob(P (n)) +    1
                                                                  2k
                                                                     Prob(Q(n)).

       e                                                                    u
Le num´rateur vaut simplement Prob(P (n)). Prenons maintenant le cas o` n est un
                                                        a         ee
nombre impair de 100 chiffres non divisible par 5 (c’est-`-dire un ´l´ment de B). Alors,
on a vu que
                                                  1
                                 Prob(P (n)) ≈
                                                 92
et Prob(Q(n)) ≈    91
                   92 .   Ceci donne

                                                       1
                               Prob(P (n) | A) ≥             = pk .
                                                   1 + 91 21
                                                           k



                                e               e
Faisons maintenant des tests num´riques avec diff´rentes valeurs de k.

                      p10    =   0,9184 = 1 − 0,816 × 10−1 ,
                      p20    =   0,999913 = 1 − 0,868 × 10−4 ,
                      p30    =   0,9999999152 = 1 − 0,848 × 10−7 ,
                      p40    =   0,9999999999172 = 1 − 0,828 × 10−10 .

                                           e                                e
On voit que le nombre k n’a pas besoin d’ˆtre grand pour qu’il y ait une tr`s grande
          e
probabilit´ que n soit premier.
                             a e                             `
   Il nous reste maintenant ` d´finir le symbole de Jacobi et a montrer que, si n n’est
pas premier, moins de la moiti´ des nombres a ∈ E r´ussissent le test, c’est-`-dire
                                e                      e                        a
                                            7.4 Construire de grands nombres premiers                   229

          `
satisfont a (7.4). On doit aussi montrer que, si n est premier, alors tous les nombres
a ∈ E r´ussissent le test.
        e
Le symbole de Jacobi Soient a, b ∈ N relativement premiers. Le symbole de Jacobi
J(a, b) prend ses valeurs dans {1, −1}. Si b est premier, on pose

                                  1,        si ∃x ∈ N      x2 ≡ a (mod b),
                    J(a, b) =
                                  −1,       sinon.

                                      e
Si b n’est pas premier, on peut alors ´crire b = p1 . . . pr (les pi ne sont pas n´cessairement
                                                                                  e
                            e
distincts), et J(a, b) est d´fini par
                                                                 r
                        J(a, b) = J(a, p1 ) · · · J(a, pr ) =         J(a, pi ).
                                                                i=1

(Le symbole de Jacobi J(a, b) est aussi not´ a dans certains livres de th´orie des
                                               e b                                e
                                      e
nombres.) On voit bien que cette d´finition est un peu obscure et, de plus, difficile `      a
manipuler. En effet, comment v´rifie-t-on s’il existe x tel que x2 ≡ a (mod b), c’est-
                                  e
a                          e               e
`-dire que a est un carr´ dans l’arithm´tique modulo b (on dit que a est un r´sidu    e
                             e
quadratique) ? De plus, la d´finition suppose que l’on connaisse la factorisation de b. On a
                                                                         e
donc l’impression de tourner en rond ! Il existe heureusement une mani`re algorithmique
                                        e
de calculer J(a, b) sans passer par la d´finition. Nous illustrerons son utilisation sur des
exemples.
         e e                                                                  e
   Le th´or`me suivant que nous citerons sans preuve donne cette mani`re algorith-
                                                                 e
mique de calculer J(a, b). Remarquons que, pour notre probl`me, nous pouvons nous
limiter au cas a ≤ b et b impair.

Th´or`me 7.14 Si (a, b) = 1, pour a ≤ b et b impair, alors on a
  e e
              ⎧
              ⎪1,
              ⎨                                  si a = 1,
                            b2 −1
                  a
     J(a, b) = J( 2 , b)(−1) 8 ,                                                                       (7.5)
                                                 si a pair,
              ⎪
              ⎩                     (a−1)(b−1)
                J(b (mod a), a)(−1)     4      , si a impair et                        a > 1.

                                                                     b2 −1        (a−1)(b−1)
   Dans la formule (7.5), remarquons que les exposants                 8     et       4        sont toujours
des entiers (exercice 16).

Exemple 7.15 Prenons a = 130 et b = 207. Alors,
                                                   42848
             J(130, 207) =       J(65, 207)(−1) 8 = J(65, 207)(−1)5356
                                                            64×206
                         =       J(65, 207) = J(12, 65)(−1) 4 = J(12, 65)
                                              4224
                         =       J(6, 65)(−1) 8 = J(6, 65)(−1)528 = J(6, 65)
                                                                          2×64
                         =       J(3, 65)(−1)528 = J(3, 65) = J(2, 3)(−1) 4
                                                       8
                         =       J(2, 3) = J(1, 3)(−1) 8 = −J(1, 3) = −1.
230                         a e
         7 La cryptographie ` cl´ publique

Le calcul peut sembler long et fastidieux. Mais ce qui est important c’est que, pour un
ordinateur, c’est un calcul simple.
                                                                    b−1
           e
    Pour v´rifier si a passe le test, on doit maintenant calculer a 2 (mod b). On a
b−1
                          ea
 2 = 103. Nous avons d´j` vu comment ´valuer 130
                                           e          103
                                                          . On d´compose b−1 = 103 en
                                                                e           2
                                                    1
puissances de 2 : 103 = 64 + 32 + 4 + 2 + 1 = 1 + 2 + 22 + 25 + 26 . On calcule

                  1302    =   16900 ≡ 133 (mod 207),
                  1304    =   (1302 )2 ≡ 1332 = 17689 ≡ 94 (mod 207),
                  1308    =   (1304 )2 ≡ 942 = 8836 ≡ 142 (mod 207),
                  13016   =   (1308 )2 ≡ 1422 = 20164 ≡ 85 (mod 207),
                  13032   =   (13016 )2 ≡ 852 = 7225 ≡ 187 (mod 207),
                  13064   =   (13032 )2 ≡ 1872 = 34969 ≡ 193 (mod 207).

Maintenant
                    130103    =    13064 × 13032 × 1304 × 1302 × 130
                              ≡    193 × 187 × 94 × 133 × 130 (mod 207)
                              ≡    67 (mod 207).
                                   207−1
On voit que J(130, 207) = 130        2                                                       e
                                           . On en conclut que 207 n’est pas premier. Ici, c’´tait
facile a voir : 207 = 32 · 23.
       `

              e                                    e                    e
    Dans la pr´sentation de notre test de primalit´, nous avons affirm´ que, si n n’est
                                      e     ee              e
pas premier, alors moins de la moiti´ des ´l´ments de E r´ussissent le test, tandis que
                            e     ee
si n est premier, la totalit´ des ´l´ments de E passent le test. Nous allons esquisser la
                     e                          e                            e
preuve du premier r´sultat et montrer le deuxi`me. Cette partie est avanc´e. Elle fait
       `                   e
appel a des notions de th´orie des groupes finis.

D´finition 7.16 1. Un ensemble G muni d’une op´ration ∗ est un groupe si
 e                                               e
   • l’op´ration ∗ est associative, c’est-`-dire
         e                                a

                              ∀a, b, c ∈ G,        (a ∗ b) ∗ c = a ∗ (b ∗ c);

      • il existe un ´l´ment neutre 1 ∈ G tel que
                     ee

                                      ∀a ∈ G,      1 ∗ a = a ∗ 1 = a;

      • tout ´l´ment a un inverse, c’est-`-dire
             ee                          a

                                  ∀a ∈ G, ∃b ∈ G,       a ∗ b = b ∗ a = 1.

2. Un sous-ensemble H ⊂ G de G est un sous-groupe de G si H, muni de l’op´ration
                                                                         e
   ∗, est un groupe.
3. Un groupe est cyclique s’il existe un ´l´ment g ∈ G tel que tout ´l´ment a du groupe
                                         ee                         ee
   est de la forme a = g m pour un entier m ∈ Z, o` on note
                                                    u
                                          7.4 Construire de grands nombres premiers       231
                                  ⎧
                                  ⎪g ∗ g ∗ · · · ∗ g
                                  ⎪                          m>0
                                  ⎪
                                  ⎪
                                  ⎪
                                  ⎨      m
                            gm   = 1                         m=0
                                  ⎪ −1
                                  ⎪g ∗ g −1 ∗ · · · ∗ g −1
                                  ⎪
                                  ⎪                          m < 0.
                                  ⎪
                                  ⎩
                                              |m|

                                            ee
    Dans le cas d’un groupe fini de n ´l´ments, on peut se convaincre que le groupe est
    de la forme G = {1, g, g 2, . . . , g n−1 } et que g n = 1.

Exemple 7.17 Soient p un nombre premier et G = {1, 2, . . . , p − 1}. Sur G, on d´finit   e
a ∗ b = c si c est le reste de la division de ab par p. Autrement dit, ∗ est la multiplication
                            e                                                     e
modulo p. Avec cette op´ration, G est un groupe. Nous laissons le lecteur v´rifier que
∗ est associative. Il est ´vident que 1 est un ´l´ment neutre. Finalement, l’existence de
                           e                      ee
            e                                                            e e
l’inverse d´coule du corollaire 7.6. Nous verrons ci-dessous au th´or`me 7.22 que ce
groupe est cyclique.
    On peut d´j` le v´rifier pour p = 7 puisque si g = 3, alors g 2 = 2, g 3 = 6, g 4 = 4,
                ea      e
  5
g = 5 et g 6 = 1.
Notation Dans l’exemple ci-dessus et les exemples de groupe que nous rencontre-
                     e
rons ci-dessous, l’op´ration sera toujours la multiplication modulo n. Dans ce cas, nous
laisserons tomber le signe ∗ pour l’op´ration et noterons simplement ab au lieu de a ∗ b.
                                       e
                  e      e      e e
    Lagrange a d´montr´ le th´or`me suivant.

   e e                e e
Th´or`me 7.18 (th´or`me de Lagrange) Soient G un groupe fini et H un sous-
groupe de G. Alors, le nombre d’´l´ments de H, not´ |H|, divise le nombre d’´l´ments
                                ee                e                         ee
de G, not´ |G|.
         e
Preuve Si H = G, on a fini. Sinon, il existe a1 ∈ G \ H.
    Soit a1 H = {a1 ∗ h | h ∈ H}. Alors, |a1 H| = |H|. En effet, si h = h alors a1 ∗ h =
a1 ∗ h . Donc, f : H → a1 H, d´finie par h → a1 ∗ h, est une bijection.
                                e
    De plus, a1 H ∩ H = ∅. En effet, si h ∈ a1 H ∩ H, alors h = a1 ∗ h pour h ∈ H.
Donc, a1 = h ∗ (h )−1 ∈ H. Contradiction.
    Deux cas peuvent maintenant se produire. Si a1 H ∪ H = G, alors |G| = 2|H|. Sinon,
il existe a2 ∈ G \ (H ∪ a1 H). On consid`re a2 H = {a2 ∗ h | h ∈ H}. On it`re le proc´d´.
                                           e                               e         e e
Comme |G| est fini, on peut ´crire G = H ∪ a1 H ∪ a2 H ∪ · · · ∪ an H o` H et les ai H
                               e                                          u
sont disjoints et |H| = |a1 H| = · · · = |an H|. Alors, |G| = (n + 1)|H|.

Th´or`me 7.19 Si n n’est pas premier, moins de la moiti´ des nombres a ∈ E =
    e e                                                               e
{1, . . . , n − 1} r´ussissent le test, c’est-`-dire satisfont a (7.4).
                    e                         a                `
                                                                 ee
Id´e de la preuve La preuve utilise l’astuce suivante. Les ´l´ments de E qui sont
   e
relativement premiers avec n forment un groupe G sous la multiplication modulo n.
En effet, remarquons d’abord que le produit aa de deux nombres a et a relativement
                                                              a
premiers avec n est encore relativement premier avec n, c’est-`-dire (aa , n) = 1. Soit a
232                         a e
         7 La cryptographie ` cl´ publique

le reste de la division de aa par n. C’est encore un nombre de E relativement premier
avec n. Notre op´ration de groupe est a ∗ a = a : c’est la multiplication modulo n, et G
                  e
         e               e                        e
est ferm´ sous cette op´ration. Il est facile de v´rifier qu’elle est associative et que 1 est
    ee                               ee                                  e
un ´l´ment neutre. Le fait que tout ´l´ment a un inverse est une cons´quence imm´diatee
du corollaire 7.6.
                                 ee                                        e    ee
    Le groupe G a moins de n−1 ´l´ments. Le sous-ensemble de G form´ des ´l´ments qui
           `          e       e
satisfont a la deuxi`me moiti´ de (7.4) est un sous-groupe H de G ; nous ne prouverons
                                                                    e e
pas cette affirmation. G et H sont des groupes finis. Par le th´or`me de Lagrange, le
            ee                                 ee
nombre d’´l´ments de H divise le nombre d’´l´ments de G. Deux cas sont possibles. Soit
H = G, auquel cas |H| = |G|. Sinon, |H| est un diviseur strict de |G|. En particulier,
|H| ≤ |G| . On peut cependant montrer qu’il existe a ∈ G tel que J(a, n) n’est pas
          2
             n−1
congru a a 2 modulo n, ce qui exclut le cas |H| = |G|. Cette preuve est avanc´e et
         `                                                                              e
nous ne la ferons pas ici.
    Alors, |H| ≤ |G| < n−1 .
                    2      2


Th´or`me 7.20 Si n est un nombre premier impair, alors tous les nombres a ∈ E =
    e e
{1, . . . , n − 1} r´ussissent le test, c’est-`-dire satisfont a (7.4).
                    e                         a                `

                      e                        e
   Nous mettons en ´vidence sous forme de r´sultats distincts des parties de la preuve
qui nous seront utiles dans d’autres chapitres.

Lemme 7.21 1. Soient n un nombre premier, S = {0, 1, . . . , n − 1} et P (x) un po-
      o
   lynˆme
                     P (x) = xr + ar−1 xr−1 + · · · + a1 x + a0
      tel que ai ∈ S. Alors, il existe au plus r solutions xi ∈ S de la congruence

                                       P (x) ≡ 0 (mod n).

2. Dans le cas particulier du polynˆme Pd (x) = xd − 1 pour d | n − 1, la congruence
                                   o
   Pd (x) ≡ 0 (mod n) a exactement d solutions distinctes dans E = S \ {0}.

Preuve 1. La preuve se fait par induction sur r. C’est vrai pour r = 1. Supposons
                                   o            e                              o
   que ce soit vrai pour tout polynˆme de degr´ r et montrons-le pour un polynˆme
   P (x) de degr´ r + 1. Supposons qu’il existe a1 ∈ E tel que P (a1 ) ≡ 0 (mod n).
                 e
   Divisons le polynˆme P (x) par x − a1 . Nous obtenons
                     o

                                   P (x) = (x − a1 )Q(x) + β,

      o` Q(x) est un polynˆme de degr´ r ` coefficients dans Z. Soit
       u                  o          e a

                            Q(x) = xr + br−1 xr−1 + · · · + b1 x + b0 ,

      et soient bi ≡ ci (mod n) et β ≡ γ (mod n) pour ci , γ ∈ S. Posons
                                           7.4 Construire de grands nombres premiers         233

                            Q (x) = xr + cr−1 xr−1 + · · · + c1 x + c0 .

       Alors, si x ∈ S, Q(x) ≡ Q (x) (mod n). Donc, si x ∈ S,

                               P (x) ≡ (x − a1 )Q (x) + γ (mod n).

       Evaluons en a1 . Nous obtenons P (a1 ) ≡ γ (mod n). Donc, γ = 0 et
       ´

                                 P (x) ≡ (x − a1 )Q (x) (mod n).

       Alors, P (x) ≡ 0 (mod n) si et seulement si n | (x − a1 )Q (x). Comme n est premier,
       ceci est vrai si et seulement si x ≡ a1 (mod n) ou Q (x) ≡ 0 (mod n). De par
       l’hypoth`se d’induction, Q (x) ≡ 0 (mod n) a au plus r solutions. Donc, P (x) ≡
                e
       0 (mod n) a au plus r + 1 solutions.
 2. D’apr`s le petit th´or`me de Fermat (th´or`me 7.9), tout x ∈ S \ {0} est une
          e              e e                    e e
    solution de Pn−1 (x) ≡ 0 (mod n). Donc, cette congruence a exactement n − 1
    solutions distinctes. Soit d un diviseur de n − 1 : n − 1 = dk. Alors on peut ´crire
                                                                                   e
                                               k−1
    Pn−1 (x) = (xd − 1)Q(x) pour Q(x) = i=0 xid . Comme, en vertu de 1., Pd (x) =
    xd − 1 ≡ 0 (mod n) a au plus d solutions et que Q(x) ≡ 0 (mod n) a au plus
    (k − 1)d solutions, si Pd (x) ≡ 0 (mod n) a moins de d solutions, cela donnera moins
    de d + (k − 1)d = n − 1 solutions pour Pn−1 (x) ≡ 0 (mod n), soit une contradiction.
    Donc, Pd (x) ≡ 0 (mod n) a exactement d solutions distinctes dans S \ {0} = E.

Th´or`me 7.22 Si n est premier, l’ensemble E = {1, . . . , n − 1}, muni de la multipli-
    e e
cation modulo n est un groupe cyclique. Si g ∈ E est tel que E = {g, g 2 , . . . , g n−1 = 1},
                 e
alors g est appel´ racine primitive de E.


Preuve Commen¸ons par remarquer que E = {1, . . . , n − 1} est un groupe sous la
                     c
multiplication modulo n. En effet, comme n est premier, tout a ∈ E est relativement
                                  e
premier avec n. La conclusion d´coule du corollaire 7.6.
    D’apr`s le petit th´or`me de Fermat (th´or`me 7.9), pour tout a dans E, on a an−1 =
          e            e e                   e e
1. (an−1 = 1 est une ´galit´ d’´l´ments d’un groupe. Elle signifie an−1 ≡ 1 (mod n).)
                        e      e ee
Soit r ≥ 1 l’entier minimum tel que ar = 1. On sait qu’un tel r existe puisque an−1 = 1.
Ce r est appel´ l’ordre de a. Regardons l’ensemble F = {a, a2 , . . . , ar = 1}. Il est facile de
               e
 e                                                    ee
v´rifier que c’est un sous-groupe de E qui contient r ´l´ments. Alors, de par le th´or`me e e
de Lagrange, r | n − 1. On doit montrer qu’il existe un a dont l’ordre est exactement
n − 1. Soit d un diviseur propre de n − 1. D´montrons qu’on a exactement d ´l´ments
                                               e                                       ee
                                           ee
de G dont l’ordre divise d. En effet, tout ´l´ment a dont l’ordre divise d est une solution
de la congruence xd − 1 ≡ 0 (mod n). Le r´sultat d´coule de la partie 2 du Lemme 7.21.
                                            e       e
    D´composons n − 1 en facteurs premiers : n − 1 = pk1 . . . pks , et consid´rons les
      e                                                     1           s              e
                           k
                          pi i
polynˆmes Qpki (x) = x −1. En vertu de la partie 2 du Lemme 7.21, chaque congruence
      o
                 i

Qpki (x) ≡ 0 (mod n) a exactement pki solutions dans E : toutes ces solutions sont des
                                   i
   i
234                       a e
       7 La cryptographie ` cl´ publique

´l´ments de E dont l’ordre divise pki . Si toutes les solutions de Qpki (x) ≡ 0 (mod n) dans
ee                                 i
                                                                          i

E correspondaient ` des ´l´ments du groupe d’ordre inf´rieur ` pki , leur ordre diviserait
                    a     ee                             e     a i
                                                                                   ki −1
 ki −1
pi     . Ces ´l´ments seraient donc des solutions de la congruence Qpki −1 (x) = xpi
             ee                                                                          −
                                                                              i

1 ≡ 0 (mod n). Il y aurait contradiction, car Qpki −1 (x) ≡ 0 (mod n) a exactement pki −1
                                                                                    i
                                                i
solutions dans E. Soit donc gi ∈ E, une solution de Qpki (x) ≡ 0 (mod n) correspondant
                                                               i

` un ´l´ment du groupe d’ordre pki . Alors, on v´rifie facilement que
a    ee                         i               e

                                       g = g1 . . . gs

est d’ordre pk1 . . . pks = n − 1. Ceci est une cons´quence du lemme suivant.
             1         s                            e

Lemme 7.23 Soit G un groupe fini dans lequel l’op´ration est commutative. Si g1 est
                                                      e
d’ordre m1 , que g2 est d’ordre m2 et que (m1 , m2 ) = 1, alors g1 g2 est d’ordre m1 m2 .
                                                             m       m
Preuve Soit m l’ordre de g1 g2 . On a (g1 g2 )m1 m2 = (g1 1 )m2 (g2 2 )m1 = 1. Donc,
m | m1 m2 . Puisque m | m1 m2 , on peut ´crire m comme suit : m = n1 n2 pour n1 =
                                         e
(m1 , m) | m1 et n2 = (m2 , m) | m2 (exercice : v´rifier !). Ceci permet d’´crire mi sous
                                                 e                        e
la forme mi = ni ri . On a
                              mr     n             m
                             g1 1 = g1 1 n2 r1 = (g1 1 )n2 = 1.
                                   −m                       −mr
                             m
Puisque (g1 g2 )m = 1, on a g1 = g2 , donc on a aussi g2 1 = 1, ce qui entraˆ
                                                                            ıne
 mr1
g2 = 1. Mais
                               mr     n            m
                              g2 1 = g2 1 n2 r1 = g2 1 n2 .
On doit donc avoir m2 | m1 n2 . Puisque (m2 , m1 ) = 1, ceci entraˆ m2 | n2 . Comme
                                                                  ıne
d´j` n2 | m2 , on a finalement m2 = n2 . De mˆme, on peut v´rifier que m1 = n1 . Donc,
 ea                                         e               e
m = m1 m2 .
Preuve du theoreme 7.20 Il suffit de v´rifier que tous les a satisfont a J(a, n) ≡
                        ´ `                        e                             `
  n−1
a 2 (mod n). Pour a, on a deux possibilit´s.     e
    Si a est un r´sidu quadratique, c’est-`-dire qu’il existe x ∈ E tel que x2 ≡ a (mod n),
                       e                     a
                                                      n−1
alors par d´finition J(a, n) = 1. D’autre part, a 2 ≡ xn−1 ≡ 1 (mod n) de par le petit
                  e
   e e                          e e
th´or`me de Fermat (th´or`me 7.9).
                    e                     e
    Le deuxi`me cas (a n’est pas un r´sidu quadratique) demande un peu plus de travail.
                                                                         n−1
Dans ce cas, on a J(a, n) = −1 par d´finition. On va montrer que a 2 ≡ −1 (mod n).
                                           e
    Nous avons montr´ au th´or`me 7.22 qu’il existe un ´l´ment g ∈ E tel que E =
                              e     e e                         ee
{g, g 2 , . . . , g n−1 = 1}. Comme g n−1 = 1, alors chaque ´l´ment a ∈ E satisfait ` an−1 =
                                                            ee                      a
1, c’est-`-dire est solution de la congruence xn−1 − 1 ≡ 0 (mod n). Remarquons que
            a
                                           n−1               n−1
                          xn−1 − 1 = x      2    −1      x    2    +1 .

Nous avons vu dans la preuve du th´or`me 7.22 qu’une congruence P (x) ≡ 0 (mod n)
                                  e e
a au plus n−1 racines dans E quand P (x) est un polynˆme de degr´ n−1 .
           2                                         o          e 2
                                                                 7.5 L’algorithme de Shor         235

     Il est ´vident que 1, g 2 , g 4 , . . . , g 2k , . . . sont des r´sidus quadratiques. Ce sont les
            e                                                         e
                 n−1
solutions de x    2  − 1 ≡ 0 (mod n). Donc, les nombres g, g 3 , . . . , g 2k+1 , . . . sont les
                n−1
solutions de x 2 ≡ −1 (mod n). V´rifions que ces nombres ne peuvent ˆtre des r´sidus
                                               e                                       e        e
                                                                                                n−1
quadratiques. En effet, si g 2k+1 ≡ y 2 (mod n) pour y ∈ E, on aurait (g 2k+1 ) 2 ≡
      n−1                                                                          n−1
(y 2 ) 2 ≡ y n−1 ≡ 1 (mod n). Ceci est une contradiction, car (g 2k+1 ) 2 ≡ −1 (mod n).

                     e                        e
Un algorithme d´terministe de primalit´ L’algorithme que nous venons de d´crire       e
pour tester si un nombre est premier est un algorithme probabiliste. En effet, il permet de
  e                                                                     e          e
d´terminer si un nombre n’est pas premier, mais il ne permet jamais d’ˆtre compl`tement
certain en un temps raisonnable qu’un nombre est premier : il faudrait faire le test sur
                   e             e       `
plus de la moiti´ des entiers inf´rieurs a n.
                                               c                              e
    En 2003, Agrawal, Kayal et Saxena annon¸aient un nouvel algorithme d´terministe,
      e
appel´ algorithme AKS, permettant de tester si un nombre est premier en un temps
raisonnable : l’article n’est paru qu’en 2004 [1]. Cet algorithme est beaucoup moins
                                                      e e    e                       e
rapide que les algorithmes probabilistes, mais son int´rˆt th´orique est grand : il r´pond
a                    e                                                e
` une question pos´e par Gauss il y a 200 ans. Il est difficile de le r´sumer en quelques
                 e           e                                   `
lignes, mais l’´tudier en d´tail est un bon projet de session a condition d’avoir des
               e
notions de th´orie des nombres.


7.5 Casser le code RSA : l’algorithme de Shor pour factoriser
de grands nombres
                           ea          e
    Comme nous l’avons d´j` mentionn´, il se fait beaucoup de recherche pour trouver de
meilleurs algorithmes pour factoriser de grands entiers. Pour les informaticiens, un bon
algorithme est un algorithme qui fonctionne en « temps polynomial » (nous d´finirons
                                                                                e
ce concept ci-dessous). L’introduction par Shor en 1997 d’un algorithme pouvant facto-
riser de grands nombres entiers en temps polynomial a eu beaucoup de retentissement.
                                                                      e
Mais . . . cet algorithme fonctionne sur un ordinateur quantique ; mˆme si l’ordinateur
                             e                                           e e
quantique n’est plus compl`tement une fiction, il n’est pas encore une r´alit´ non plus.
    Avant d’examiner cet algorithme, parlons un peu de la taille d’un algorithme.
             e                                   ea
Complexit´ d’un algorithme appliqu´ ` un entier n de m chiffres On a alors
n ≈ 10m .
    Le nombre m est la « taille » de notre entier. La complexit´ de l’algorithme est
                                                                       e
                e                                                    e
le nombre d’op´rations que doit effectuer l’ordinateur pour ex´cuter l’algorithme. Ce
             e           e
nombre d’op´rations d´pend de la taille de l’entier.
    Si le nombre d’op´rations est de l’ordre de Cmr o` r est un entier, on dit que
                        e                                    u
l’algorithme fonctionne en temps polynomial.
    L’algorithme classique de factorisation fonctionne en temps exponentiel. En effet, il
                                                    √
requiert de tester si les nombres 1, 2, . . . , d ≤ n sont des diviseurs de n. Le nombre de
                                m/2
tests est donc de l’ordre de 10     . Si m est grand, ce nombre devient vite trop grand
pour l’ordinateur.
236                       a e
       7 La cryptographie ` cl´ publique

     `                                                   e          e e
    A titre d’information, l’algorithme probabiliste d´crit pr´c´demment fonctionne en
                           e
temps polynomial, de mˆme que le nouvel algorithme AKS. C’est pourquoi il est beau-
coup plus facile pour un ordinateur de construire de grands nombres premiers que de
factoriser de grands nombres entiers.
    Nous allons commencer par nous convaincre que les raffinements de l’algorithme
classique de factorisation ne permettent pas de diminuer significativement le temps de
                          e                                        a
factorisation. On consid`re un nombre n de 200 chiffres, c’est-`-dire un nombre de l’ordre
                                                                                  √
de 10200 . L’algorithme classique consiste ` chercher s’il existe un diviseur d ≤ n. On
                                             a
doit donc faire de l’ordre de 10100 essais. Essayons quelques astuces :
                                                              100
    • Si on se limite aux nombres impairs, on a m1 ≈ 102 tests ` faire. a
    • Si on se limite a des grands diviseurs (des nombres de 100 chiffres), alors on a
                        `
               9
                          a
        m2 = 10 m1 tests ` faire (exercice).
    • Si on met en parall`le un milliard d’ordinateurs, on a m3 = 10−9 m2 tests ` faire.
                            e                                                      a
    • Si on met en parall`le un milliard de superordinateurs de 5000 processeurs pou-
                             e
                           e                 e     e
        vant faire 5000 op´rations en parall`le (c’´tait la puissance maximum des super-
                                                                                     m3
                                                        e                   a
        ordinateurs en 2004), on limite le nombre d’op´rations successives ` m4 = 5000 .
    • Dans ce dernier cas, on aurait encore m5 ≥ 10 op´rations successives ` faire.
                                                           86
                                                                  e                a
        Trop !
                            a
Supposons qu’on arrive ` s’approcher avec d’autres astuces d’une factorisation de la
  e                                e
cl´, alors il suffit d’allonger la cl´ de quelques dizaines de chiffres pour voir ces efforts
   e
an´antis.
    On voit donc que, pour factoriser des grands nombres, il nous faut absolument de
                                             e
meilleurs algorithmes. Tel que mentionn´ plus haut, il existe de bien meilleurs algo-
rithmes, et certains fonctionnent en temps sous-exponentiel. L’algorithme de Shor in-
troduit en 1997 permet de factoriser des nombres entiers. Cet algorithme fonctionne en
temps exponentiel sur un ordinateur classique, mais en temps polynomial sur un ordi-
nateur quantique. C’est un algorithme probabiliste : si n n’est pas premier, l’algorithme
          e                    e
a une tr`s grande probabilit´ de trouver un diviseur d de n en temps polynomial. Nous
nous contenterons de donner les grandes lignes de cet algorithme, sans en montrer tous
      e
les d´tails.

                                                            e
Le principe de l’algorithme de Shor ([5], [8]) L’id´e de base de l’algorithme est
                                                       e
de trouver un diviseur d de n. Une fois qu’on a pu ´crire n = dm, on teste si d et m
                                                                    e      e
sont premiers. Si au moins un des deux n’est pas premier, on it`re en r´appliquant la
  e     e       a      a             e
mˆme m´thode ` d et ` m. On s’arrˆte quand tous les facteurs sont premiers. Au fur et
` mesure qu’on it`re, les calculs deviennent plus faciles, car d et m sont plus petits que
a                 e
n.

La m´thode On cherche un entier r tel que n | r2 − 1, mais tel que ni r − 1, ni r + 1
     e
ne soient divisibles par n.
    Trouver un tel r permet de trouver un diviseur propre de n. En effet, r2 − 1 ≡
0 (mod n), ce qui implique que (r − 1)(r + 1) = mn pour un entier m. Alors, si p
est un facteur premier de n, n´cessairement p | r − 1 ou p | r + 1. Si p | r − 1, alors
                              e
                                                              7.5 L’algorithme de Shor    237

(r − 1, n) = d > 1. Puisque n ne divise pas r − 1, d est un diviseur de n diff´rent de n.
                                                                                   e
De mˆme si p | r + 1.
      e
Exemple Si n = 65 et r = 14, alors r2 = 196 = 3 × 65 + 1 ≡ 1 (mod 65) et r − 1 = 13
est un diviseur de 65.
Par contre, si on prend s = 64 ≡ −1 (mod 65), alors s2 ≡ (−1)2 = 1 (mod 65). On voit
que s + 1 = 65 est divisible par 65. Donc, ce s ne nous est d’aucun secours pour trouver
un diviseur propre de 65.
Comment trouver r ? On prend a au hasard dans E = {1, . . . , n − 1}.
    • On commence par calculer (a, n).
    • Si (a, n) = d, on a trouv´ un diviseur de n.
                                e
    • Si (a, n) = 1, on calcule les puissances de a : a, a2 , a3 , . . . On les r´duit modulo
                                                                                 e
      n : ak ≡ ak (mod n), o` ak ∈ E.
                              u
    • Comme E est fini, il existe k et l tels que ak = al . On peut supposer k > l. Alors,
      ak−l ≡ ak−l ≡ 1 (mod n).
    • Donc, il existe s minimum tel que as ≡ 1 (mod n). Ce nombre s est appel´ l’ordree
      de a. On a s ≤ n.
    • Si s est impair, a n’´tait pas un bon choix. On recommence avec a = a choisi au
                           e
      hasard dans E.
    • Si s est pair, s = 2m. On prend r ≡ am (mod n), o` r ∈ E. Alors, r2 ≡ a2m =
                                                              u
      as ≡ 1 (mod n).
    • Si ni r − 1 ni r + 1 ne sont divisibles par n, on a termin´. Sinon, on recommence
                                                                    e
      avec a = a choisi au hasard dans E.
    On peut montrer qu’il y a beaucoup de a ∈ E d’ordre pair qui font l’affaire ; donc,
c’est un bon algorithme.
          e
Rapidit´ de l’algorithme        La seule partie de l’algorithme qui ne s’effectue pas
en temps polynomial est le calcul de l’ordre de a. C’est pour cette seule partie de
                                                    e
l’algorithme qu’un ordinateur quantique prend la rel`ve.
Calcul de l’ordre de a modulo n avec un ordinateur quantique Nous nous
                                       e  e                                   e
contenterons de donner quelques id´es. On ´crit les nombres en base 2. Si n s’´crit
avec m chiffres dans {0, 1}, alors n < 2m et donc, a < 2m . En base 2, les entiers
k ∈ E = {1, . . . , 2m − 1} deviennent

         k = [jm−1 jm−2 . . . j1 j0 ] = jm−1 2m−1 + jm−2 2m−2 + · · · + j1 21 + j0 20 .

Se donner k revient donc a se donner m bits jm−1 , . . . , j0 dans {0, 1}. Pour calculer
                               `
l’ordre de a, on voudrait pouvoir calculer ak pour tous les k simultan´ment, c’est-`-dire
                                                                       e             a
pour tous les [jm−1 . . . j0 ] ∈ {0, 1}m. Essayer tous les k ∈ E, c’est essayer toutes les
possibilit´s ji = 0 et ji = 1, pour i = 0, . . . m − 1, soit 2m possibilit´s. C’est l` que
          e                                                               e          a
l’ordinateur quantique vient a la rescousse. On remplace les bits classiques ji par des
                                 `
bits quantiques .
                                                    ee                              e
Les bits quantiques Un bit quantique a la propri´t´ de pouvoir se mettre dans un ´tat
superpos´. Il est dans l’´tat |0 avec probabilit´ |α|2 et dans l’´tat |1 avec probabilit´
        e                e                      e                e                      e
238                         a e
         7 La cryptographie ` cl´ publique

|β|2 , α et β ´tant des nombres complexes tels que |α|2 + |β|2 = 1. En m´canique
              e                                                                e
                            e
quantique, on dira que son ´tat est α|0 + β|1 . Pour nous donner une analogie, pensons
a
` un sou : il a une chance sur deux de tomber pile et une chance sur deux de tomber
                                                     e           e
face. Avant le lancer, notre sou est donc dans un ´tat superpos´. Par contre, quand on
                                                      e
le lance, on observe soit pile, soit face. C’est la mˆme chose pour un bit quantique. Si
on le mesure, on obtient 0 avec probabilit´ |α|2 et 1 avec probabilit´ |β|2 .
                                             e                       e
                       e
Le grand parall´lisme d’un ordinateur quantique                  Si on met tous les bits
jm−1 , . . . , j0 dans un ´tat superpos´ en mˆme temps, alors, en calculant a|k (mod n),
                          e            e     e
o` |k est une superposition de tous les k ∈ E, on fait le calcul ak pour tous les k ∈ E
  u
            e                                            e        e
simultan´ment ! Comme le calcul quantique est lin´aire et r´versible, on peut voir
a|k (mod n) comme une superposition de tous les ak ≡ ak (mod n), chacun ´tant li´ e      e
` la valeur de k ∈ E associ´e. Toute l’information qui nous est n´cessaire se retrouve
a                               e                                    e
                          e                          e
maintenant dans cet ´tat, mais on ne peut y acc´der sans le mesurer. La difficult´ est e
    e       e        e                             e
de r´cup´rer le r´sultat. Ici, cela devient de la m´canique quantique, et nous n’irons pas
plus loin.
                      ea        e                   e e
Remarque On a d´j` montr´ dans la section pr´c´dente qu’il n’est pas difficile pour
un ordinateur classique de calculer ak (mod n) . En effet, si k = jm−1 2m−1 + · · · + j0 20 ,
                        i                                i
alors ak = {i|ji =1} a2 . Il suffit donc de calculer les a2 (mod n) pour i = 0, . . . , m − 1.
Ce calcul se fait de proche en proche :
    • a = a0 ;
    • a2 ≡ a1 (mod n), o` a1 ∈ E ;
                          u
    • a4 ≡ (a1 )2 ≡ a2 (mod n), o` a2 ∈ E ;
                                  u
      .
    • .
      .
         m−1
   • a2    ≡ (am−2 )2 ≡ am−1 (mod n), o` am−1 ∈ E.
                                       u
Finalement, ak ≡ {i|ji =1} ai (mod n).
  u
O` en est l’ordinateur quantique ? Quoique l’ordinateur quantique ne pr´sente       e
                a                                                                 e
aucune menace ` la cryptographie RSA pour l’instant, des montages physiques r´els ont
  ea                              e                                          ee          e
d´j` permis la factorisation de tr`s petits nombres (en 2002, le nombre 15 a ´t´ factoris´
a                         `                               e               e
` l’aide d’un ordinateur a sept bits quantiques simultan´ment dans un ´tat superpos´     e
      e
par l’´quipe d’Isaac Chuang.)


7.6 Exercices

1.     Soient a, b, c, d, x, y ∈ Z. Montrer que :
      a) a ≡ c (mod n) et b ≡ d (mod n)             =⇒       a + b ≡ c + d (mod n).
      b) a ≡ c (mod n) et b ≡ d (mod n)             =⇒       ax + by ≡ cx + dy (mod n).

2.     La fonction d’Euler φ : N → N est d´finie comme suit : si m ∈ N alors φ(m) est
                                            e
      le nombre d’entiers de l’ensemble {1, 2, . . . , m − 1} qui sont relativement premiers
      avec m.
                                                                         7.6 Exercices     239

                                           u
     a) Montrer que si m = p1 . . . pk o` p1 , . . . , pk sont des nombres premiers distincts,
     alors φ(m) = (p1 − 1) . . . (pk − 1).
     b) Soit p un nombre premier. Montrer que

                                       φ(pn ) = pn − pn−1 .


3.                                      ` e
      Le principe de la cryptographie a cl´ publique fonctionne pour un entier n =
          u
     pq, o` p et q sont deux grands nombres premiers distincts. Est-ce que le principe
     fonctionnerait aussi pour un entier de la forme n = p1 p2 p3 o` p1 , p2 , p3 sont trois
                                                                   u
     nombres premiers distincts ?

4.    Soit p un nombre premier.
     a) Calculer φ(p2 ), o` φ est la fonction d’Euler.
                            u
                                            ` e
     b) Le principe de la cryptographie a cl´ publique fonctionne pour un entier n =
          u
     pq, o` p et q sont deux grands nombres premiers distincts. Est-ce que le principe
     fonctionnerait aussi avec l’entier n = p2 ? Si oui, d´crire les ´tapes a suivre. Pourquoi
                                                          e          e      `
     alors ne l’utiliserait-on pas ? On aurait en effet seulement un nombre premier a         `
     trouver.

5.    Dans un article « grand public » la revue La Recherche donne l’exemple suivant
                              ` e
     pour la cryptographie a cl´ publique. On choisit deux nombres premiers p et q
     distincts tels que p, q ≡ 2 (mod 3). Soit n = pq. Alice veut envoyer un message a       `
     Bob. Son message est un nombre x dans {1, . . . , n − 1} tel que (x, n) = 1 (ce dernier
      e              ıt
     d´tail n’apparaˆ pas dans La Recherche !) Pour envoyer son message, Alice calcule
     x3 et divise ensuite ce nombre par n. Soit y ∈ {1, . . . , n − 1} le reste de la division
     de x3 par n (c’est-`-dire x3 ≡ y (mod n)). Bob d´code avec
                        a                               e

                                         2(p − 1)(q − 1) + 1
                                    d=                       .
                                                  3
     Il calcule y d et le reste z de la division de y d par n (c’est-`-dire y d ≡ z (mod n)) o`
                                                                     a                        u
     z ∈ {1, . . . , n − 1}.
              e
     a) V´rifier que d est bien un entier.
     b) Expliquer pourquoi y et z ne peuvent s’annuler, c’est-`-dire qu’on a bien y, z ∈
                                                                      a
     {1, . . . , n − 1}.
                                       a                         e    e
     c) Montrer que z = x, c’est-`-dire que Bob a bien d´cod´ le message d’Alice.

6.                                   e                     ` e
      Vous voulez vulgariser le syst`me de cryptographie a cl´ publique. Voici comment
     vous vous y prenez : vous choisissez un entier premier p, tel que p ≡ 2 (mod 7) et un
     entier premier q, tel que q ≡ 3 (mod 7). Ceci vous permet de calculer n = pq. Vous
                                                                  ` e
     expliquez alors comment Alain peut envoyer un message a B´atrice. Son message
     est un nombre m de {1, . . . , n − 1} tel que (m, n) = 1. Pour envoyer son message,
     Alain calcule m7 et divise ensuite ce nombre par n. Soit a ∈ {1, . . . , n−1} le reste de
240                         a e
         7 La cryptographie ` cl´ publique

      la division de m7 par n (c’est-`-dire m7 ≡ a (mod n)). Vous expliquez que B´atrice
                                     a                                           e
        e              e     e
      d´code avec la cl´ de d´cryptage
                                                3(p − 1)(q − 1) + 1
                                       d=                           .
                                                         7
      Elle calcule ad et le reste m1 de la division de ad par n (c’est-`-dire ad ≡
                                                                          a
      m1 (mod n)), o` m1 ∈ {1, . . . , n − 1}. Vous affirmez que ce reste est le message
                          u
      d’Alain.
            e
      a) V´rifiez que d est bien un entier.
      b) Expliquez pourquoi a et m1 ne peuvent s’annuler, c’est-`-dire qu’on a bien
                                                                  a
      a, m1 ∈ {1, . . . , n − 1}.
      c) Montrez que m1 = m, c’est-`-dire que B´atrice d´codera bien le message
                                         a           e       e
      d’Alain.

7. Voici un principe simple de cryptographie. Le carr´ blanc e                   e    e
                                                                         est repr´sent´ par le
   chiffre 0. Les lettres A, . . . , Z par les nombres 1, . . . , 26. Le nombre 27 correspond
                                 `                                     e
   au point et le nombre 28, a la virgule. La table ci-dessous r´sume ceci :
              a
      Symbole ` coder        A    B    C        D        E       F   G    H    I    J        K     L     M     N
                   e
      Nombre associ´    0    1    2    3        4        5       6   7    8    9    10       11    12    13    14

              a
      Symbole ` coder   O    P    Q        R        S        T       U    V    W        X     Y     Z     .     ,
                   e
      Nombre associ´    15   16   17       18       19       20      21   22   23       24    25    26    27    28

      Voici comment on code un mot :
           • on remplace les symboles par leurs nombres associ´s ;  e
           • on multiplie par 2 le nombre associ´ ` chaque symbole ;
                                                  ea
           • on r´duit le r´sultat obtenu modulo 29 ;
                  e        e
           • on trouve les symboles correspondant aux nombres obtenus : ceci nous donne
                        e
             le mot cod´.
      Par exemple, pour coder le mot « LA » on remplace ses lettres par les nombres
                                                                      e
      12, 1. On les multiplie par 2 et on obtient 24, 2. On les r´duit modulo 29 (ici, ce
                  e                          e a                         e a
      n’est pas n´cessaire). La lettre associ´e ` 24 est X ; celle associ´e ` 2 est B. Le mot
      cod´ repr´sentant « LA » est « XB ».
          e     e
      a) Coder le mot « OUI ».
                                                                                 e
      b) Expliquer pourquoi le code est inversible et comment on s’y prend pour d´coder.
      c) D´coder le mot « XMF ».
          e

8.                 e           e                    e e
       On consid`re ici une it´ration du principe pr´c´dent. On utilise les 29 symboles de
                                                        e
      l’exercice 7. Voici comment on code un mot form´ de tels symboles :
          • on remplace les symboles par leurs nombres associ´s ;
                                                              e
          • on multiplie par 3 le nombre associ´ ` chaque symbole et on ajoute 4 ;
                                                ea
          • on r´duit le r´sultat obtenu modulo 29 ;
                 e         e
          • on trouve les symboles correspondant aux nombres obtenus. Ceci nous donne
                       e
            le mot cod´.
                                                                        7.6 Exercices     241

      a) Coder le mot « MATHS ».
                                                                                 e
      b) Expliquer pourquoi le code est inversible et comment on s’y prend pour d´coder.
      c) D´coder le mot « CODE ».
          e

9.                                         e                 e          e
       La preuve par 9 est une ancienne m´thode pour v´rifier le r´sultat de la multiplica-
                                 e                               e
      tion de deux entiers. Elle ´tait abondamment enseign´e lorsqu’on ne disposait pas
      encore de calculatrices. On multiplie deux nombres m et n. Soit N = mn. On veut
        e         e                                                       e
      v´rifier le r´sultat obtenu. Pour cela, on utilise la notation d´cimale d’un nombre
      M ∈ N : M = ap . . . a0 o` ai ∈ {0, 1, . . . 9}. Ceci revient ` l’´criture
                               u                                    a e
                                                   p
                                            M=          ai 10i .
                                                  i=0

      Au nombre M , on associe le nombre F (M ) ∈ {0, 1, . . . 8}, o` F (M ) est le reste de
                                                                    u
      la division de                p
                                            a i = a 0 + · · · + ap
                                      i=0
      par 9. Donnons un exemple. Soit M = 2857. Alors 2 + 8 + 5 + 7 = 22 ≡ 4 (mod 9).
      Donc, F (2857) = 4.
          Dans la preuve par 9, on calcule F (N ) d’une part. D’autre part, on calcule
      F (m), F (n) et le produit r = F (m)F (n). On calcule ensuite F (r).
                                                                                      a
      a) Montrer que, s’il n’y a pas d’erreur de calcul dans la multiplication (c’est-`-dire
      si N = mn), alors on doit avoir
                                            F (N ) = F (r).
                                                                               a
      Sinon, on conclut qu’il y a une erreur de calcul dans la multiplication (` condition,
            u                                                       e
      bien sˆr, qu’on n’ait pas fait d’erreur dans le calcul des diff´rents F (M ) !)
      b) Donner un exemple simple.
      c) Que peut-on dire si F (N ) = F (r) ? Peut-on conclure qu’il n’y a pas eu d’erreur
      dans la multiplication N = mn ?

10.                                  ` e                        e
        Construire un code RSA a cl´ publique avec une cl´ n = p.q de 60 chiffres. Pour
       cela, p et q seront des nombres premiers de 30 chiffres.
              e e
       a) G´n´rer des nombres de 30 chiffres et tester s’ils sont premiers avec un logiciel
       de manipulations symboliques.
              e
       b) V´rifier si ces nombres sont premiers en faisant le test de Jacobi ` l’aide de
                                                                                    a
       nombres a1 , . . . , ak de moins de 30 chiffres. Faire le test dans le cas d’un nombre
                                                                 e                   e
       premier et dans le cas d’un nombre non premier. D`s que le test est n´gatif, on
          e
       arrˆte et on conclut que le nombre est non premier. Si le test est positif, on continue
       pour obtenir une plus grande certitude que le nombre est premier.

11.     On se donne un code RSA avec cl´ n = 23 × 37 = 851 et cl´ de cryptage e = 47.
                                          e                     e
                    e     e                         a
       Trouver la cl´ de d´cryptage d qui satisfait `
242                       a e
       7 La cryptographie ` cl´ publique

                                       e · d ≡ 1 (mod φ(n)).


12.                                                                             e
       On se donne un nombre entier de N chiffres. Soit aN −1 . . . a1 a0 sa repr´sentation
       e              a
      d´cimale, c’est-`-dire

                        N = aN −1 10N −1 + aN −2 10N −2 · · · + a1 10 + a0 .

      a) Montrer que N est divisible par 11 si et seulement si

           a0 − a1 + a2 − a3 + · · · + (−1)N −2 aN −2 + (−1)N −1 aN −1 ≡ 0 (mod 11).

      (Suggestion : consid´rer 10i (mod 11).)
                          e

                                                                         e
      Remarque : lors de la recherche de nombres premiers, ceci permet d’´crire un test
                           e
      simple permettant d’´liminer tous les multiples de 11.
      b) Montrer que N est divisible par 101 si et seulement si

          −(a0 + 10a1 ) + (a2 + 10a3 ) − (a4 + 10a5 ) + (a6 + 10a7 ) · · · ≡ 0 (mod 101)


13.   Montrer que n est premier si et seulement si

                                   (x + 1)n ≡ xn + 1 (mod n).

                                            e
      Remarque : cet exercice constitue l’id´e centrale de l’algorithme AKS [1].

14.    On consid`re les ensembles En = {0, 1, . . . , n − 1} pour n ∈ N. Soient p et q tels
                  e
      que (p, q) = 1. On d´finit la fonction : F : Epq → Ep × Eq par F (n) = (n1 , n2 ) o`
                          e                                                              u
      n ≡ n1 (mod p) et n ≡ n2 (mod q). Montrer que F est une bijection. (Ce r´sultat
                                                                                   e
      est la formulation moderne de ce qu’on appelle le « th´or`me chinois des restes ».)
                                                              e e

15.      e                  e e
       D´montrer le th´or`me de Wilson : n est premier si et seulement si n divise
      (n − 1)! + 1. (Un sens est plus difficile. Si n est premier, il faut se servir du fait que
      {1, . . . , n−1} est un groupe pour la multiplication pour montrer que n | (n−1)!+1.)

                         e e                          e
      Remarque : ce th´or`me donne un test pour d´cider si n est premier. Cependant,
      ce test n’est pas int´ressant en pratique parce que le calcul de (n − 1)! est hors de
                           e
           e
      port´e des ordinateurs si n est un grand nombre.

                                   2
                                 −1
16. Montrer que les exposants b 8 et (a−1)(b−1) dans la formule (7.5) donnant J(a, b)
                                           4
    sont toujours des entiers pour a, b impairs.
                                                                       7.6 Exercices     243

17.    Soit En = {1, . . . , n − 1}.
                                                                     n−1
                             e
      a) Soit n = 13. V´rifier en calculant explicitement J(a, n) et a 2 (mod n) que
      tout a ∈ En satisfait ` (7.4).
                               a
      b) Soit maintenant n = 15. Combien de a ∈ En ne satisfont pas au test ?

18.    On veut utiliser l’algorithme de Shor pour trouver un diviseur de 91. Pour cela,
      on choisit a = 15.
      a) Calculer l’ordre de a, c’est-`-dire le plus petit exposant entier s tel que as ≡
                                      a
                    e
      1 (mod 91). V´rifier que s est pair.
                             s
      b) Construire r ≡ a 2 (mod 91) et montrer que ni r − 1 ni r + 1 ne sont divisibles
      par 91.
                      e
      c) Suivre la d´marche de l’algorithme de Shor pour trouver un diviseur de 91 a    `
      partir de r.

19.   On veut utiliser l’algorithme de Shor pour factoriser 30. Pour cela, on choisit a au
      hasard dans {1, 2, . . . , 29} et on applique la proc´dure. Donner les a qui permettent
                                                           e
                                                                       e
      de trouver un diviseur propre de 30 et, dans chaque cas, d´crire quelle a ´t´ la ee
        e           e
      m´thode utilis´e.
 ee
R´f´rences




[1] Agrawal M., N. Kayal et N. Saxena, « PRIMES is in P », Annals of Mathematics, vo-
    lume 160, 2004, p. 781–793. Aussi « PRIMES is in P : A breakthrough for everyman »,
    Bornemann F., Notices de l’American Mathematical Society, vol. 50, no 5, 2003, p. 545–552.
[2] Buchmann, Johannes A. Introduction to cryptography, deuxi`me ´dition, New York, Sprin-
                                                             e   e
    ger, 2001, 335p.
                                                          a      e
[3] de Koninck, Jean-Marie et Armel Mercier. Introduction ` la th´orie des nombres, Mont-
             e
    Royal, Qu´bec, Modulo Editeur, 1994, 254p.
[4] Delahaye J.-P., « La cryptographie RSA 20 ans apr`s », Pour la Science, 2000.
                                                     e
[5] Knill E., R. Laflamme, H. Barnum, D. Dalvit, J. Dziarmaga, J. Gubernatis, L. Gurvits,
    G. Ortiz, L. Viola and W. H. Zurek, « Quantum Information Processing : A Hands-on
    Primer »et « From Factoring to Phase Estimation—A Discussion of Shor’s Algorithm »,
    Los Alamos Science, vol. 27, 2002, p. 2–45.
[6] Pomerance C., « A tale of two sieves », Notices de l’American Mathematical Society, vol.
    43, no 12, 1996, p. 1473–1485.
[7] Rivest R.L., A. Shamir et L. Adleman, « A method for obtaining digital signatures and
    public key cryptosystems », Communications of the ACM, vol. 21, no 2, 1978, p. 120–126.
[8] Shor P.W., « Polynomial-time algorithms for prime factorization and discrete logarithms
    on a quantum computer », SIAM J. Computation, vol. 26, 1997, p. 1484–1509.
8
 e e                     e
G´n´rateurs de nombres al´atoires




                      e          e              e
    Ce chapitre peut ˆtre utilis´ de deux mani`res : on peut soit en tirer une ou deux heures
    de « flash-science », avec un bagage minimum comprenant n´anmoins une certaine fa-
                                                                    e
    miliarit´ avec l’arithm´tique modulo p, soit traiter le sujet plus en profondeur. Dans ce
             e              e
                  ee         e     ea
    cas, il est pr´f´rable d’ˆtre d´j` familier avec les corps finis ou la congruence modulo
                            e             e
    2, parce qu’on a au pr´alable regard´ le chapitre 6 (ou le chapitre 7), par exemple. Les
                       ee        a                                      e
    sections faisant r´f´rence ` ces chapitres sont clairement indiqu´es. Dans ce chapitre,
                                                  a e                        e    e a
    nous traiterons longuement des registres ` d´calage qui sont aussi ´tudi´s ` la sec-
                                                                e
    tion 1.4 du chapitre 1, mais les deux traitements sont ind´pendants. Certains exercices
                               e             e        e
    font appel aux probabilit´s et peuvent ˆtre saut´s si on n’a pas de bagage suffisant de
        oe a
    ce cˆt´-l`.



8.1 Introduction
                                          e      e
    Le 10 avril 1994, un joueur est appr´hend´ par la police au Casino de Montr´al.  e
Son crime ? Il vient de battre toutes les statistiques possibles en remportant trois lots
cons´cutifs au jeu de keno, amassant ainsi plus d’un demi-million de dollars1 . Il est
     e
                  c    e
clairement soup¸onn´ d’avoir enfreint les lois des jeux de hasard interdisant la collu-
                      e                                           e
sion avec les employ´s du casino, la manipulation des appareils ´lectroniques, etc. Une
      e           e         e                                     a e
enquˆte est men´e et, apr`s quelques semaines, le joueur est relˆch´ et son lot, capital
       e e                                         e                  c
et int´rˆts, lui est remis. Et le Casino de Montr´al a appris une le¸on rapide sur les
 e e                        e
g´n´rateurs de nombres al´atoires.
                                   e                                                 e
    Il reste fort peu d’appareils m´caniques dans les casinos modernes. Seule peut-ˆtre
                                         ee           e
la roulette demeure. Les autres jeux ont ´t´ remplac´s par des ordinateurs qui simulent
    1
     Au keno, le joueur doit choisir une dizaine de nombres dans l’ensemble {1, 2, . . . , 80}. Le
                                                   e e         a                      e
casino tire alors 20 boules parmi 80 boules num´rot´es de 1 ` 80. Ce tirage peut ´galement
e         e
ˆtre fait ´lectroniquement, comme c’est le cas maintenant dans la plupart des casinos. Le lot
     e e
gagn´ d´pend de la mise du joueur et du nombre de co¨  ıncidences entre les nombres choisis par
                     e                 e
le joueur et les num´ros des boules tir´es au sort.
248       e e                     e
       8 G´n´rateurs de nombres al´atoires

le hasard. Tous ont, dans leur programme, un segment produisant des nombres qui
                   e       a                                    e       c            e
apparaissent al´atoires ` l’utilisateur, mais qui sont engendr´s de fa¸on compl`tement
  e                                       e e                     e
d´terministe. Ces algorithmes, les g´n´rateurs de nombres al´atoires, jouent un rˆle     o
                                                                                 e
important dans plusieurs appareils. Outre les jeux de casino, les jeux vid´o en font
                                                    e                e
grand usage. Si le comportement de ces jeux ´tait toujours le mˆme chaque fois que
                   e     e
l’appareil est d´marr´, le joueur s’en lasserait rapidement.
             e e                        e
     Les g´n´rateurs de nombres al´atoires sont aussi importants dans la vie de tous
                                     e
les jours qu’en science. La mod´lisation sur ordinateur des cours boursiers ou de la
propagation de virus (humains ou informatiques !) et le choix des quelques (malheu-
                                                             e                    e
reux) contribuables dont le gouvernement scrutera la d´claration utilisent ´galement
        e e              c          e                                               e
ces g´n´rateurs de fa¸on routini`re. En science, il est parfois difficile de mod´liser un
      e                                                                     e
syst`me dont le comportement n’est connu qu’avec certaines probabilit´s. Un exemple
                 e
d’un tel syst`me est le promeneur impartial se baladant sur la grande toile du Web
  e        a                    e                         e e                        e
d´crite ` la section 9.2. On pr´suppose l’existence de g´n´rateurs de nombres al´atoires
              e
lorsqu’on ´tudie les algorithmes probabilistes dans le chapitre 7 sur la cryptographie.
        e e                     e                    e
Les g´n´rateurs de nombres al´atoires sont utilis´s explicitement (!) dans la construction
                       a              e                  e e
d’images fractales ` l’aide de syst`mes de fonctions it´r´es (voir le chapitre 11) et dans
                                e
le signal des satellites du syst`me de positionnement GPS (voir le chapitre 1).
             e e
     Ces g´n´rateurs ont donc de nombreuses applications dans notre soci´t´, et il ee
n’est pas ´tonnant qu’il se fasse beaucoup de recherche pour trouver de « meilleurs »
              e
g´n´rateurs de nombres al´atoires. Que signifie « meilleurs » ? Cela d´pend du contexte.
  e e                        e                                         e
                e e                        e
Quand les g´n´rateurs de nombres al´atoires servent dans les casinos, on veut que les
                                                                                e
joueurs ne puissent pas deviner leur fonctionnement pour ajuster leur strat´gie de jeu.
         e
Les g´rants de casinos veulent aussi que les distributions probabilistes des nombres
   e                                         e                              e          e
al´atoires suivent des lois de probabilit´ choisies a priori pour ne pas ˆtre accus´s de
                             e
fraude et d’offrir un jeu in´quitable.
     Introduisons d’abord un g´n´rateur « m´canique » de nombres al´atoires. Quoique
                                 e e             e                       e
                                     `         e                           e
son utilisation soit impraticable a grande ´chelle, il illustre tous les d´fis que devront
                                                e e                      `
relever les algorithmes informatiques de g´n´rateurs. Jouons donc a pile ou face en
     c             e
lan¸ant une pi`ce de monnaie un grand nombre de fois : en notant 0 pour PILE et
                                                e                          a
1 pour FACE, nous obtenons une suite al´atoire de 0 et de 1, c’est-`-dire une suite
                     e a          e                             e e           e
qui semble n’ob´ir ` aucune r`gle. Si plusieurs personnes r´p`tent l’exp´rience, elles
                    e e                             `
obtiennent en g´n´ral des suites qui n’ont rien a voir les unes avec les autres.
                                                     e e
     Supposons maintenant que nous voulions g´n´rer une suite de nombres al´atoires  e
de l’ensemble S = {0, . . . , 31}. Etant donn´ que 32 = 25 , chacun des nombres n ∈ S
                                    ´           e
devient en base 2
                                                                4
                      n = a0 + 2a1 + 22 a2 + 23 a3 + 24 a4 =         ai 2 i
                                                               i=0


o` ai ∈ {0, 1}. On le repr´sente par le quintuple (a0 , a1 , a2 , a3 , a4 ). Par exemple, le
 u                             e
                              e
quintuple (0, 1, 1, 0, 1) repr´sente 2 + 4 + 16 = 22.
                                                                                        8.1 Introduction              249

           e e                                   c          e
   Si on g´n`re une suite de 0 et de 1 en lan¸ant une pi`ce, on peut ensuite regrouper
ceux-ci en quintuples de bits dans {0, 1} et les transformer en nombres de S. Par exemple,
supposons qu’on ait obtenu la suite

                             10000 00101 11110 01001 01001 11011.                                                    (8.1)

      e e
Elle g´n`re la suite

                            10000 00101 11110 01001 01001 11011,
                               1       20           15       18        18          27

soit
                                            1, 20, 15, 18, 18, 27
de nombres de S.
     Si, au lieu de 31, on avait pris N = 2r −1 et S = {0, . . . , N }, on aurait pu transformer
               e                                   e          ee
une suite al´atoire de 0 et de 1 en une suite al´atoire d’´l´ments de S.
     Mais, pour peu que r soit grand ou que l’on veuille une longue suite de nombres
  e                                          e               a                        e
al´atoires, on voit bien que le processus d´crit ci-dessus, ` savoir lancer la pi`ce un grand
nombre de fois, ne convient plus. La solution retenue est de programmer un ordinateur
               e e                                                                        e
pour qu’il g´n`re une suite de 0 et de 1 de telle sorte que la suite ait l’air aussi al´atoire
                          e
qu’une vraie suite de r´sultats du jeu de pile ou face. Un tel programme ou algorithme
           e e                        e
est un g´n´rateur de nombres al´atoires. En fait, comme l’algorithme qui g´n`re ces     e e
                 e                                   e e e
nombres est d´terministe, la suite de nombres g´n´r´e n’a que l’apparence d’une suite
                 e                                   e
de nombres al´atoires. C’est pour cela que les sp´cialistes appellent ces algorithmes des
 e e                                   e
g´n´rateurs de nombres pseudo-al´atoires.
                           e             e e
     Leur utilisation est ´galement tr`s r´pandue dans des simulations de toutes sortes.
                                          e e                                 e
Dans beaucoup de ces cas, on veut g´n´rer au hasard des nombres r´els de l’intervalle
                                 e                 e              a                 e
[0, 1]. Dans ce cas-ci, on peut ´crire un nombre r´el de [0, 1] ` l’aide de son d´veloppement
                     e            e                            e                  e
binaire. Pour diff´rencier le d´veloppement binaire du d´veloppement d´cimal, on met
               `            e
un indice 2 a la fin de l’´criture du nombre. Ainsi, (0,a1 a2 . . . an )2 repr´sente
                                                                                e
                                                                                            n
                                               −1            −2                    −n             ai
                  (0a1 a2 . . . an )2 = a1 2        + a2 2        + · · · + an 2        =            .
                                                                                            i=1
                                                                                                  2i

     e e                e          e
En g´n´ral, un nombre r´el a un d´veloppement binaire infini, mais comme un ordinateur
                              e                             `    e
ne peut calculer avec une pr´cision infinie, on se limite a un d´veloppement fini ayant
     e                                      e e
la pr´cision voulue. Ainsi, la suite (8.1) g´n`re la suite de nombres de [0, 1]

       0,100002        0,001012        0,111102              0,010012          0,010012                  0,110112.
250         e e                     e
         8 G´n´rateurs de nombres al´atoires

      Les nombres de cette suite sont
                   ⎧
                   ⎪0,100002 = 2−1 = 1 = 0,5,
                   ⎪
                   ⎪
                   ⎪
                                       2
                   ⎪0,001012 = 2−3 + 2−5 = 0,15625,
                   ⎪
                   ⎪
                   ⎪
                   ⎨0,11110 = 2−1 + 2−2 + 2−3 + 2−4 = 0,9375,
                              2
                   ⎪0,010012 = 2−2 + 2−5 = 0,28125,
                   ⎪
                   ⎪
                   ⎪
                   ⎪0,010012 = 2−2 + 2−5 = 0,28125,
                   ⎪
                   ⎪
                   ⎪
                   ⎩
                      0,110112 = 2−1 + 2−2 + 2−4 + 2−5 = 0,84375,

         e e         e       e         e
la derni`re ´criture ´tant l’´criture d´cimale.
                            e e                       e      `           e
    Qu’est-ce qu’un bon g´n´rateur de nombres al´atoires ? A quels crit`res doit-il sa-
                                    e                      e
tisfaire ? Lorsqu’on lance une pi`ce plusieurs fois, le r´sultat de chaque lancer est
    e                e e                               e
ind´pendant des pr´c´dents, et chacun des deux r´sultats possibles a une probabilit´   e
de 1 . Cela a comme cons´quence que, si on lance un grand nombre de fois, on devrait
    2                      e
                 e                        a       e               e
avoir PILE (not´ 0) une fois sur deux ` peu pr`s et FACE (not´e 1) environ une fois
                                                         e                   o a
sur deux : c’est la loi des grands nombres. Si notre exp´rience consiste plutˆt ` lancer
      e                           e
la pi`ce deux fois, on a quatre r´sultats possibles :

                                     00 01 10 11.

       e e                      e                            e                 a
Si on r´p`te souvent cette exp´rience de deux lancers cons´cutifs, on s’attend ` obtenir
         e                                            e           e             a
chaque r´sultat environ une fois sur quatre. De mˆme, si l’exp´rience consiste ` lancer
la pi`ce trois fois, on a 23 = 8 r´sultats possibles ´quiprobables :
     e                            e                  e

                       000 001 010 011 100 101 110 111.

                     e e                       e                                e
Dans le cas d’un g´n´rateur de nombres al´atoires, on voudrait que les mˆmes pro-
   ee                  e          e                e e                        e
pri´t´s soient respect´es. Pour v´rifier que les g´n´rateurs de nombres al´atoires que
                                  ee                  a
l’on construit ont bien ces propri´t´s, on les soumet ` une batterie de tests statistiques.
               e e                              e                                  e e
    Tous les g´n´rateurs de nombres pseudo-al´atoires sont des algorithmes qui g´n`rent
              e                        a
des suites p´riodiques de nombres ` partir de conditions initiales en nombre fini.
Penchons-nous sur ces suites.

D´finition 8.1 Une suite {an }n≥0 est p´riodique s’il existe un entier M > 0 tel que,
  e                                       e
pour tout n ∈ N, an = an+M . Le nombre N > 0 minimum ayant cette propri´t´ est  ee
     e      e                                                                   ee
appel´ la p´riode de la suite. Lorsqu’on voudra mettre l’accent sur cette propri´t´, on
        `                           e
pourra, a l’occasion, appeler N la p´riode minimale de la suite.

Lemme 8.2 Soit {an }n∈N∪{0} une suite p´riodique de p´riode minimale N et soit M ∈
                                         e             e
N tel que, pour tout n ∈ N, an = an+M . Alors, N divise M .

Preuve Divisons M par N : il existe des entiers q et r tels que M = qN + r et
0 ≤ r < N . Montrons que, pour tout n, on a an = an+r .
   En effet,
                                                                     8.1 Introduction     251

                             an = an+M = an+qN +r = an+r .
Comme N est le plus petit entier tel que an = an+N , n´cessairement r = 0. Donc, N
                                                      e
divise M .

                     e e                     e         e                       e e
Exemple 8.3 Un g´n´rateur de nombres al´atoires tr`s populaire est le g´n´rateur
lin´aire congruentiel. Il g´n`re des nombres appartenant ` E = {1, . . . , p − 1} par la
    e                      e e                           a
  e
r`gle
                                  xn = axn−1 (mod p),
o` p premier et a est une racine primitive de Fp , c’est-`-dire un ´l´ment de E tel que
 u                                                       a         ee

                               ak ≡ 1 (mod p),       k < p − 1,
                               ap−1 ≡ 1.

(Rappelons que Fp (aussi appel´ Zp au chapitre 7) est l’ensemble des entiers {0, . . . , p−1}
                                e
muni de l’addition et de la multiplication modulo p. Fp est un corps si p est premier ;
                       e
ceci signifie (voir la d´finition 6.1 du chapitre 6) que l’addition et la multiplication sont
                                                 ee
commutatives et associatives et ont chacune un ´l´ment neutre, que la multiplication est
                                      ee                                       ee
distributive sur l’addition, que tout ´l´ment a un inverse additif et que tout ´l´ment non
                                                                                    ee
nul a un inverse multiplicatif. L’existence d’un inverse multiplicatif pour tout ´l´ment
                       ee               e                e      e a
non nul est la propri´t´ qui nous int´resse : elle est d´montr´e ` l’exercice 24 du cha-
pitre 6, mais on peut l’admettre pour comprendre la suite.)
    Prenons comme exemple le cas p = 7. Alors, 2 n’est pas une racine primitive, car
23 = 8 ≡ 1 (mod 7), mais 3 en est une, car
                                 ⎧
                                 ⎪32 ≡ 2 (mod 7),
                                 ⎪
                                 ⎪
                                 ⎪ 3
                                 ⎪3 ≡ 6 (mod 7),
                                 ⎪
                                 ⎨
                                   34 ≡ 18 ≡ 4 (mod 7),
                                 ⎪ 5
                                 ⎪
                                 ⎪
                                 ⎪3 ≡ 12 ≡ 5 (mod 7),
                                 ⎪
                                 ⎪ 6
                                 ⎩3 ≡ 15 ≡ 1 (mod 7).

                                                                             e e
La preuve qu’une racine primitive a existe toujours se trouve au th´or`me 7.22 du
              `                                    e
chapitre 7. (A nouveau, vous pouvez tenir ce r´sultat pour acquis et poursuivre votre
lecture.)
    Ce g´n´rateur produit une suite p´riodique de p´riode exactement p − 1. Les g´n´ra-
         e e                           e              e                                e e
          e                                e
teurs lin´aires congruentiels sont employ´s dans de nombreux logiciels et, par exemple,
on utilise souvent p = 231 − 1 et a = 16 807, mais ces g´n´rateurs ne sont pas jug´s tr`s
                                                           e e                         e e
fiables par les experts, car ils ne passent pas les tests statistiques (voir les exercices 2 et
4).
                 e                                                  e    e
    D’autres crit`res entrent en ligne de compte, notamment des crit`res ´conomiques.
                                    a                                          e
Dans nombre de cas, on cherche ` minimiser le temps de calcul et l’espace-m´moire.
                            e e                     e
On se contentera alors de g´n´rateurs de nombres al´atoires imparfaits du point de vue
                                            e
statistique, mais suffisants pour les buts vis´s.
252        e e                     e
        8 G´n´rateurs de nombres al´atoires

                a e
8.2 Le registre ` d´calage
                 a e              e    e                            e e
    Le registre ` d´calage (aussi ´tudi´ au chapitre 1) est un bon g´n´rateur de nombres
  e                        e                                          e
al´atoires. Il est constitu´ d’un ruban de r cases contenant des entr´es an−1 , . . . , an−r ,
lesquelles sont des 0 ou des 1 (figure 8.1). Sur chacune de ces cases op`re un qi ∈ {0, 1}
                                                                        e




                                                       ` e
                                 Fig. 8.1. Un registre a d´calage



                            e                                   e                       e
par multiplication, et les r´sultats sont ensuite additionn´s modulo 2. Les qi sont fix´s et
       e          e e                          e               e e                    e
caract´risent le g´n´rateur de nombres al´atoires. On g´n`re une suite pseudo-al´atoire
         c
de la fa¸on suivante.
    • On se donne des nombres initiaux a0 , . . . , ar−1 ∈ {0, 1} non tous nuls.
    • Etant donn´ an−r , . . . , an−1 , le registre calcule l’´l´ment suivant comme suit :
      ´           e                                           ee
                                                                r−1
            an ≡ an−r q0 + an−r+1 q1 + · · · + an−1 qr−1 =            an−r+i qi (mod 2).       (8.2)
                                                                i=0

   • On d´cale chacune des entr´es vers la droite en oubliant an−r . Le an calcul´ occupe
          e                              e                                             e
      donc la case de gauche.
   • On it`re le proc´d´.
           e           e e
   Dans la section 1.4 du chapitre 1, on montre que, si on choisit bien les qi et les
conditions initiales a0 , a1 , . . . , ar−1 , alors on g´n`re une suite de p´riode 2r − 1. Nous
                                                        e e                 e
reviendrons plus bas sur cette propri´t´ pour montrer comment on choisit les qi .
                                              ee

                                      a e
Exemple 8.4 Prenons le registre ` d´calage de quatre cases tel que (q0 , q1 , q2 , q3 ) =
(1, 1, 0, 0). Posons les conditions initiales (a0 , a1 , a2 , a3 ) = (0, 0, 0, 1). Alors, le registre
 e e                  e
g´n`re la suite de p´riode 15
                                   000100110101111 0001 . . .
                                            15

                          e
Dans ce cycle de 15 entr´es, 0 est sorti sept fois et 1, huit fois. Regardons maintenant
                                         e
les 15 sous-suites possibles de deux entr´es : 00 est sortie trois fois
                                                                               a e
                                                               8.2 Le registre ` d´calage      253
                                   ⎧
                                   ⎪ 00 0100110101111
                                   ⎪
                                   ⎪
                                   ⎨
                                   ⎪0 00 100110101111
                                   ⎪
                                   ⎪
                                   ⎩0001 00 110101111,

et les trois autres, soit 01, 10 et 11, sont sorties exactement quatre fois. Dans le cas de
                            e                    `                  e
la sous-suite 10, la quatri`me occurrence est a cheval sur deux p´riodes :
                              ⎧
                              ⎪000 10 0110101111
                              ⎪
                              ⎪
                              ⎪
                              ⎪
                              ⎪
                              ⎨0001001 10 101111
                               ⎪000100110 10 1111
                               ⎪
                               ⎪
                               ⎪
                               ⎪
                               ⎪
                               ⎩00010011010111 1 0 001 . . .

      e                               e
De mˆme, nous laissons le lecteur v´rifier que chaque sous-suite de trois symboles est
sortie deux fois sauf 000 qui n’est sortie qu’une fois. Quant aux sous-suites de quatre
symboles, elles sont toutes sorties exactement une fois sauf 0000. Pouvons-nous conti-
nuer avec des sous-suites de cinq symboles ? Non, notre registre n’a que quatre cases, si
                                                               e      e            e
bien que chaque fois que les quatre premiers symboles sont d´termin´s, le cinqui`me et
les suivants le sont aussi. Nous pouvons aussi expliquer pourquoi les sous-suites n’ayant
que des 0 apparaissent moins souvent : nous ne pouvons nous permettre d’avoir une
                                           e                                   ` e
sous-suite de la forme 0000 parce que la r`gle de fonctionnement du registre a d´calage
                                                 `e          e
forcerait tous les symboles suivants de la suite a ˆtre des z´ros.
                                                            ee
    Cet exemple montre que ce registre a de bonnes propri´t´s statistiques tant qu’on ne
       e                                                       `
consid`re pas des sous-suites trop longues (ici, on se limite a des sous-suites de quatre
                                                                           e e
symboles). Ceci n’est pas un hasard, et nous le montrerons plus bas au th´or`me 8.13.
                           e e                        ee
    Si l’on veut pouvoir b´n´ficier des bonnes propri´t´s de ce type de registre pour des
sous-suites plus longues, il faudra prendre un nombre r de cases assez grand.
                         e                                          ` e
    Nous allons d´crire le fonctionnement du registre a d´calage sous une autre forme
               e       a       e e              `                     e
qui se prˆtera ` des g´n´ralisations. A un instant donn´, que l’on appellera l’instant
j, les entr´es dans les cases sont aj , . . . , aj+r−1 . R´´crivons ces entr´es sous la forme
                 e                                              ee               e
xj,0 , . . . , xj,r−1 , o` xj,i = ai+j . L’avantage de cette ´criture est que l’indice j indique
                         u                                        e
l’instant et l’indice i, la case o` se trouve le symbole. Appelons xj le vecteur-colonne
                                        u
                   e
dont les entr´es sont xj,0 , . . . , xj,r−1 , c’est-`-dire les symboles apparaissant dans les cases
                                                    a
a
` l’instant j. Soit A la matrice
                                     ⎛                                  ⎞
                                          0 1 0 0 ...                 0
                                     ⎜ 0 0 1 0 ...                    0 ⎟
                                     ⎜                                  ⎟
                                     ⎜ 0 0 0 1 ...                    0 ⎟
                                     ⎜                                  ⎟
                                 A=⎜ .         .    .    . ..         . ⎟                     (8.3)
                                     ⎜ .  .    .
                                               .    .
                                                    .    .
                                                         .      .     . ⎟
                                                                      . ⎟
                                     ⎜
                                     ⎝ 0 0 0 0 ...                    1 ⎠
                                         q0 q1 q2 q3 . . . qr−1
254       e e                     e
       8 G´n´rateurs de nombres al´atoires

 u              e                     e                                 e
o` toutes les op´rations sont effectu´es modulo 2. Alors, le vecteur repr´sentant les
                   a                         e
symboles des cases ` l’instant j + 1 est donn´ par
                                        xj+1 = Axj .                                  (8.4)
              e
(Exercice : v´rifier !)
                       `     e e                       ea
     Avant de passer a des g´n´ralisations, voyons d´j` un avantage de cette nouvelle
   e
pr´sentation. Supposons que l’on veuille passer directement de xj ` xj+k sans calculer
                                                                      a
les ´tapes interm´diaires. On a xj+k = Ak xj . Donc, si on calcule la matrice Ak , on peut
     e           e
automatiser le calcul de xj+k en fonction de xj . Le fait de pouvoir automatiser avec des
                                      a                       ee         e
calculs raisonnables le passage de xj ` xj+k est une propri´t´ recherch´e dans les bons
  e e                      e
g´n´rateurs de nombres al´atoires.
Comment calculer Ak si k est grand ? En g´n´ral, si on prend une matrice A `
                                                    e e                                   a
coefficients r´els, les coefficients de Ak peuvent devenir tr`s grands en valeur absolue.
              e                                               e
Ici, toutes les entr´es de A sont des ´l´ments de {0, 1}, et les op´rations sont l’addition
                    e                 ee                           e
et la multiplication modulo 2. Donc, les entr´es de Ak sont aussi des ´l´ments de {0, 1}.
                                             e                          ee
Mais si k est grand, il faut user d’astuce pour faire les calculs en temps raisonnable.
  e
D´composons k en base 2 :
                            k = b0 + b1 2 + b2 2 2 + · · · + bs 2 s .
Alors, on pose A0 = A et on calcule
                                  A1     = A2 ,
                                  A2     = A4 = A2 ,
                                                 1
                                         .
                                         .
                                         .
                                                 s
                                  As     = A2 = A2 ,
                                                 s−1

et finalement
                                      Ak =               Ai .
                                             {i|bi =1}

Remarquons que chacune des Ai est le produit de deux matrices. Il faudra donc faire
s produits matriciels pour calculer toutes les matrices Ai . Finalement, {i|bi =1} Ai
contient au plus s + 1 facteurs. Ainsi, Ak peut ˆtre calcul´ en au plus 2s ≤ 2 log2 k
                                                e          e
produits matriciels.
                                               e e                    e
   On voit aussi qu’on peut obtenir d’autres g´n´rateurs de nombres al´atoires en gar-
       e         e
dant l’´tape de r´currence (8.4) et en permettant d’autres formes de matrice A.


8.3 Le contexte g´n´ral des g´n´rateurs Fp-lin´aires
                 e e         e e              e
8.3.1 Le cas p = 2
   Commen¸ons par le cas p = 2. Le corps F2 est l’ensemble {0, 1} muni des op´rations
            c                                                                e
d’addition et de multiplication modulo 2.
                                                                              8.3 G´n´rateurs Fp -lin´aires
                                                                                   e e               e         255

D´finition 8.5 Un g´n´rateur F2 -lin´aire est un g´n´rateur de la forme
 e                e e              e             e e

                                             xn+1 = Axn ,
                                                  yn = xn ,
                                                             k
                                                  un =           yn,i 2−i ,
                                                         i=1

o` A et B sont des matrices ` coefficients dans F2 , A est une matrice r × r et B est une
  u                              a
matrice k × r. La matrice A est la matrice de transition pour passer de xn ` xn+1 , alors
                                                                                a
que la matrice B transforme le vecteur xn de longueur r en un vecteur de sortie yn de
longueur k, yn = (yn,1 , . . . , yn,k ), dont les entr´es sont les ´l´ments du d´veloppement
                                                      e            ee           e
en binaire d’un nombre un ∈ [0, 1]. La derni`re ´tape transforme le vecteur yn en le
                                                    e e
nombre un .


                                                 a e                   e e
Exemple 8.6 On peut agencer le registre ` d´calage consid´r´ ci-dessus avec un tel
g´n´rateur. Pour cela, il faut transformer des sous-suites de longueur k de la suite an ,
 e e
          ee                                                                 `
k < r, en ´l´ments de [0, 1]. Prendre des sous-suites de longueur k revient a prendre la
matrice B dont les k lignes sont les k premi`res lignes de la matrice identit´ r × r.
                                                 e                            e
       e
   Apr`s application de B, toutes les sous-suites de longueur k deviennent des sorties.
Ainsi,
                     yn = (xn,0 , . . . , xn,k−1 ) = (an , . . . , an+k−1 ).
                     a                                 ` e
     Revenons ` l’exemple 8.4, soit le registre a d´calage de quatre cases, de coefficients
(q0 , q1 , q2 , q3 ) = (1, 1, 0, 0), et dot´ des conditions initiales (a0 , a1 , a2 , a3 ) = (0, 0, 0, 1),
                                           e
       e e                                              e
qui g´n`re la suite 000100110101111 . . . de p´riode 15, et prenons k = 2. Alors, les
                                                                 e ee
sorties seront les sous-suites (an , an+1 ) de longueur 2 r´p´t´es selon une une p´riode de   e
15, soit

           00    00   01       10       00   01    11    10       01       10       01   11   11   11    10.

On peut maintenant transformer chacune de ces sous-suites de longueur 2, (yn,1 , yn,2 ),
                                               y    y
en un nombre un ∈ {0, 1 , 1 , 3 } tel que un = n,1 + n,2 . Ceci nous donne la suite de
                              4 2 4              2    4
 e
p´riode 15 u0 , . . . , u14 :
                           1        1        1     3     1       1     1        1    3    3   3    1
                  0   0                  0                                                           .
                           4        2        4     4     2       4     2        4    4    4   4    2
Tout ´l´ment de {0, 1 , 1 , 3 } apparaˆt quatre fois sauf 0 qui apparaˆt trois fois.
     ee             4 2 4             ı                               ı
   La grande particularit´ des g´n´rateurs F2 -lin´aires est qu’ils sont tr`s ´conomiques.
                          e       e e              e                        e e
                          e                   ee                                     e
Par contre, si on veut am´liorer leurs propri´t´s statistiques, il faut allonger la p´riode,
                                        e
ce qui leur fait perdre leur avantage ´conomique. Dans ce cas, on peut faire mieux.
Nous allons commencer par ´tudier en d´tail les g´n´rateurs F2 -lin´aires pour ensuite les
                            e            e         e e               e
g´n´raliser aux g´n´rateurs Fp -lin´aires. Ensuite, plutˆt que de prendre des g´n´rateurs
 e e             e e               e                    o                        e e
256        e e                     e
        8 G´n´rateurs de nombres al´atoires

              e                                           e e
de grande p´riode, nous obtiendrons de meilleurs g´n´rateurs en combinant plusieurs
g´n´rateurs Fp -lin´aires de p´riodes ind´pendantes.
 e e                 e          e           e
                               a e
   Revenons sur le registre ` d´calage et montrons comment sont choisis les coefficients
pour que la suite g´n´r´e soit de p´riode 2r − 1. Quoique cela ne soit pas absolument
                       e e e           e
 e                   ee
n´cessaire, il est pr´f´rable d’avoir vu la section 1.4 du chapitre 1 pour lire la preuve de ce
r´sultat (th´or`me 8.9 ci-dessous). Pour m´moire, le corps Fp est l’ensemble {0, 1, . . . , p−
 e          e e                               e
                  e
1} muni des op´rations d’addition et de multiplication modulo p. C’est un corps si et
seulement si p est premier.

 e                    o
D´finition 8.7 Un polynˆme

                          Q(x) = xr + qr−1 xr−1 + · · · + q1 x + q0

` coefficients dans Fp est primitif s’il est irr´ductible et si l’ensemble des ´l´ments non
a                                             e                              ee
nuls de
                     Fpr = {b0 + b1 x + · · · + br−1 xr−1 | bi ∈ Fp }
       e
peut s’´crire comme
                             Fpr \ {0} = {xi | i = 0, . . . , pr − 2}
o` les puissances xi de x sont prises modulo Q(x).
 u


Exemple 8.8 Prenons p = 2. On va montrer que le polynˆme Q(x) = x3 + x + 1 est
                                                               o
irr´ductible sur F2 . En effet, supposons que Q(x) = Q1 (x)Q2 (x). Puisque Q(x) est de
   e
degr´ 3, soit Q1 (x) soit Q2 (x) est de degr´ 1 et appartient ` l’ensemble {x, x + 1}. Si x
     e                                      e                 a
divise Q(x), alors on devrait avoir Q(0) = 0, ce qui n’est pas vrai. Si x + 1 divise Q(x),
alors on devrait avoir Q(1) = 0, ce qui n’est pas vrai non plus. Donc, ni x ni x + 1 ne
divise Q(x). Par cons´quent, Q(x) est irr´ductible. Les ´l´ments non nuls de F23 sont
                       e                     e             ee
donn´s par {1, x, x + 1, x2 , x2 + 1, x2 + x, x2 + x + 1}. V´rifions que ce sont tous des
      e                                                      e
puissances de x. En effet, Q(x) = 0 donne x3 = x + 1, donc

             x4   = x(x + 1) = x2 + x,
             x5   = x(x2 + x) = x3 + x2 = (x + 1) + x2 = x2 + x + 1,
             x6   = x(x2 + x + 1) = x3 + x2 + x = (x + 1) + x2 + x = x2 + 1,
             x7   = x(x2 + 1) = x3 + x = (x + 1) + x = 1.

   e e
Th´or`me 8.9 Si les coefficients q0 , . . . , qr−1 d’un registre a d´calage sont choisis tels
                                                               ` e
            o
que le polynˆme
                     Q(x) = xr + qr−1 xr−1 + · · · + q1 x + q0                       (8.5)
est primitif sur F2 , alors, pour toute suite (a0 , . . . , ar−1 ) de conditions initiales, telle
                                            e e e                          e              e
que les ai ne sont pas tous nuls, la suite g´n´r´e par le registre est p´riodique de p´riode
2r − 1.
                                                                  8.3 G´n´rateurs Fp -lin´aires
                                                                       e e               e        257

Preuve On a vu au chapitre 6 que l’ensemble

                          F2r = {b0 + b1 x + · · · + br−1 xr−1 | bi ∈ {0, 1}}

                                                                                      o
muni de l’addition et de la multiplication modulo Q(x) est un corps lorsque le polynˆme
            e
Q(x) est irr´ductible. On a aussi vu (section 1.4 du chapitre 1) que, pour la construction
du corps F2r , il est toujours possible de choisir un polynˆme Q(x) primitif, c’est-`-dire
                                                           o                        a
                         ee                  e
tel que l’ensemble des ´l´ments non nuls s’´crit

                                        {xi | i = 0, . . . , 2r − 2}
          r
              −1
et que x2          = 1. Introduisons la fonction (lin´aire) T : F2r → F2 d´finie par
                                                     e                    e

                               T (b0 + b1 x + · · · + br−1 xr−1 ) = br−1 .

Nous allons montrer dans le lemme 8.10 ci-dessous que, pour toute suite non nulle
(a0 , . . . , ar−1 ), il existe un unique b = b0 + b1 x + . . . br−1 xr−1 tel que ai = T (bxi ),
i = 0, . . . , r − 1. La proposition 1.12 du chapitre 1 nous dit que, si an est la suite g´n´r´e
                                                                                           e e e
par le registre ` d´calage avec les conditions initiales ai = T (bxi ), alors, pour tout
                      a e
                                        r
n, on a an = T (bxn ). Puisque x2 −1 = 1, la suite an est p´riodique et, pour tout n,
                                                                      e
an = an+2r −1 .
    Mais N = 2r − 1 est-il la p´riode minimale ? Supposons qu’il existe m < 2r − 1 tel
                                     e
                                                                                 e
que an = an+m pour tout n. Alors, a0 = am , . . . , ar−1 = ar+m−1 . D’apr`s le lemme 8.10
ci-dessous, il existe b tel que ai+m = T (b xi ), i = 0, . . . , r − 1, et a cause de l’unicit´ de
                                                                           `                  e
b dans ce mˆme lemme, on a b = b, et d’autre part, b = bxm (cette ´galit´ est bien sˆ r
                 e                                                            e     e           u
modulo Q(x)). D’o` b(xm − 1) = 0 et, comme b = 0, xm = 1. Comme x est une racine
                          u
primitive, on a xm = 1 pour m < 2r − 1, d’o` la contradiction.
                                                  u


                    e
Lemme 8.10 On consid`re le corps

                          F2r = {b0 + b1 x + · · · + br−1 xr−1 | bi ∈ {0, 1}}

                                                                         u
muni de l’addition et de la multiplication modulo Q(x), o` Q(x) est le polynˆme           o
irr´ductible donn´ en (8.5). Alors, pour toute suite (a0 , . . . , ar−1 ), il existe un unique
   e                e
b = b0 + b1 x + . . . br−1 xr−1 tel que ai = T (bxi ), i = 0, . . . , r − 1.

Preuve On consid`re le syst`me d’´quations lin´aires T (bxi ) = ai , i = 0, . . . , r − 1,
                        e           e     e             e
                                                    e e
aux inconnues b0 , . . . , br−1 . Regardons la premi`re ´quation

                                          T (b) = br−1 = a0 .

Elle nous permet de trouver br−1 . Maintenant,

          bx =         (b0 + b1 x + · · · + br−1 xr−1 )x
             =         b0 x + b1 x2 + · · · + br−2 xr−1 + br−1 (q0 + q1 x + . . . qr−1 xr−1 ).
258        e e                     e
        8 G´n´rateurs de nombres al´atoires

                                                       ea
Ainsi T (bx) = br−2 + qr−1 br−1 = a1 . Comme br−1 est d´j` connu, cela nous permet de
trouver br−2 .
                                                                                   ea e e
   On trouve ainsi tous les bi . En effet, supposons que bi+1 , . . . , br−1 aient d´j` ´t´
trouv´s. Consid´rons bxr−1−i . Alors,
     e          e

        bxr−1−i     =    (b0 + b1 x + · · · + br−1 xr−1 )xr−1−i
                    =    b0 xr−1−i + b1 xr−i + · · · + bi xr−1 + xr P (x, bi+1 , . . . , br−1 ),

o` P (x, bi+1 , . . . , br−1 ) est un polynˆme en x dont les coefficients d´pendent seulement
 u                                          o                            e
de bi+1 , . . . , br−1 , c’est-`-dire des coefficients d´j` connus. Alors,
                               a                      ea

                              T (bxr−1−i ) = bi + R(bi+1 , . . . br−1 ).

La formule de R(bi+1 , . . . br−1 ) n’est pas simple, mais ce qui est important, c’est que cette
                e
expression ne d´pend que des bi+1 , . . . , br−1 d´j` connus. Alors, on peut trouver le bi de
                                                   ea
l’´quation T (bxr−1−i ) = ar−1−i , et ce processus d´termine uniquement le polynˆme b.
  e                                                     e                                o


   e                               e                 ` e
D´finition 8.11 On consid`re un registre a d´calage de r cases dont les coefficients
q0 , . . . , qr−1 et les conditions initiales sont choisis de telle sorte que la suite g´n´r´e soit
                                                                                        e e e
p´riodique de p´riode 2r − 1. Alors, on apelle fenˆtre une sous-suite de longueur 2r − 1
 e                    e                                   e
              e ee e
qui est r´p´t´e p´riodiquement.

                               e                  ` e
Corollaire 8.12 Consid´rons un registre a d´calage de r cases dont les coefficients
q0 , . . . , qr−1 sont choisis tels que le polynˆme Q(x) de (8.5) est primitif sur F2 . Alors,
                                                o
e               e
´tant donn´ des conditions initiales (a0 , . . . , ar−1 ) telles que les ai ne sont pas tous nuls,
toutes les sous-suites de longueur r apparaissent exactement une fois dans la fenˆtre de   e
longueur 2r − 1, sauf la sous-suite nulle. (Dans ce contexte, on regarde la fenˆtre comme
                                                                                      e
une suite cyclique, en identifiant l’indice n + 2r − 1 ` l’indice n : ceci veut dire qu’on
                                                              a
                                    a                  e
permet aussi des sous-suites ` cheval sur deux p´riodes.)

Preuve Etant donn´ une fenˆtre a0 , . . . a2r −2 de longueur 2r − 1 repr´sentant une
            ´           e         e                                                         e
p´riode de la suite, il existe 2r − 1 sous-suites de longueur r commen¸ant chacune en
  e                                                                                      c
un ai distinct. (Si i ≥ 2r − r, alors en utilisant la p´riodicit´, la sous-suite de la suite
                                                               e             e
                 c
initiale commen¸ant en ai co¨ ıncide avec ai , . . . , a2r −2 , a0 , . . . , ai−2r +r .) On a exactement
2r suites distinctes de longueur r, car on a deux choix pour chaque entr´e. Parmi celles-e
ci, on en a exactement 2r − 1 dont au moins un ´l´ment est non nul. Donc, chaque
                                                            ee
sous-suite de longueur r apparaˆ                                                      ıt
                                  ıtra au moins une fois si elle apparaˆ au plus une fois.
Supposons qu’une sous-suite de longueur r apparaisse deux fois et commence en ai et
en aj , 0 < j − i < 2r − 1. Alors, comme l’´tat du registre est le mˆme en ai et en aj ,
                                                e                                    e
on aura, pour tout n ≥ j, an = an−j+i , ce qui contredit le fait que la p´riode minimale e
de la suite {an } est 2r − 1. Donc, chaque sous-suite non nulle de longueur r apparaˆ                 ıt
exactement une fois dans une fenˆtre de longueur 2r − 1.
                                    e
                                                            8.3 G´n´rateurs Fp -lin´aires
                                                                 e e               e           259

         e e                                   a e                         ee
    Le th´or`me suivant montre qu’un registre ` d´calage a de bonnes propri´t´s statis-
tiques quand on consid`re des sous-suites de longueur k telles que k ≤ r.
                      e

     e e                        e                  ` e
Th´or`me 8.13 Consid´rons un registre a d´calage de r cases dont les coefficients
q0 , . . . , qr−1 sont choisis tels que le polynˆme Q(x) de (8.5) est primitif sur F2 . Soit
                                                 o
(a0 , . . . , ar−1 ) une suite de conditions initiales telle que les ai ne sont pas tous nuls et
soit k ≤ r. Alors, dans une fenˆtre de longueur 2r − 1 de la suite g´n´r´e par le registre
                                     e                                     e e e
            e    e            e e
(la fenˆtre ´tant consid´r´e comme une suite cyclique), toute sous-suite de longueur k
apparaˆt 2r−k fois, sauf la sous-suite nulle qui apparaˆt (2r−k − 1) fois.
            ı                                                 ı
                                                        e
Preuve Dans le corollaire 8.12, on a montr´ que toutes les sous-suites de longueur
r apparaissent exactement une fois, sauf la sous-suite nulle. Prenons une sous-suite
                                         e                           e
b0 , . . . , bk−1 de longueur k et consid´rons toutes les mani`res de la transformer en une
sous-suite de longueur r en ajoutant des symboles bk , . . . , br−1 ` sa droite : il existe
                                                                             a
2r−k mani`res diff´rentes de l’allonger, puisqu’on a deux choix pour chacun des bj ,
                e        e
j = k, . . . , r − 1. Si au moins un des bi , i = 0, . . . , k − 1 est non nul, toutes ces mani`res
                                                                                               e
d’allonger la sous-suite existent dans la suite cyclique, puisque toutes les sous-suites
non identiquement nulles de longueur r existent. De plus, chacune de ces 2r−k mani`res         e
             ıt
apparaˆ exactement une fois, puisque chaque sous-suite non identiquement nulle de
                        ıt
longueur r apparaˆ exactement une fois. Ainsi la sous-suite b0 , . . . , bk−1 apparaˆ exac- ıt
tement 2r−k fois.
      Au contraire, si la sous-suite b0 , . . . , bk−1 est la sous-suite nulle, on doit exclure la
transformation en sous-suite nulle de longueur r. Toutes les autres mani`res d’allon-  e
ger la sous-suite apparaissent exactement une fois. Donc, la sous-suite nulle apparaˆ            ıt
exactement 2r−k − 1 fois.

            c
8.3.2 Une le¸on pour les jeux de hasard
          e e                                     e                            e     e
    Les th´or`mes 8.9 et 8.13 nous offrent la cl´ de l’histoire du joueur appr´hend´ au
                 e                                                               e
Casino de Montr´al. Le joueur en question connaissait, de par son travail, le m´canisme
      e e                        e
des g´n´rateurs de nombres al´atoires. Il savait que les algorithmes sous-jacents sont
  e                                             e
d´terministes et donc, qu’un algorithme donn´, pour des conditions initiales identiques,
  e e                                       e e                                 e
g´n`re des suites identiques. Lors de pr´c´dentes visites, il avait remarqu´ que les
                                                    e                 e
nombres des appareils de keno sortaient, soir apr`s soir, dans le mˆme ordre. Il nota
                                      e          e       e
donc ces nombres et les joua avec le r´sultat d´crit au d´but du chapitre. Mais sachant
             e                                          e               e      e
que ce probl`me existe, pourquoi le Casino de Montr´al a-t-il accept´ de r´ouvrir le
                                              ee                            ee
jeu sur ces machines ? La raison officielle a ´t´ que ces machines avaient ´t´ mal pro-
        e                        ee       e
gramm´es et que l’erreur avait ´t´ corrig´e. Une autre raison (moins honorable pour le
             e                                         e        e
casino, mais ´galement possible) est que les machines ´taient ´teintes tous les soirs par
           e                                  e                                e
un employ´, par exemple celui qui fait le m´nage. Alors, au moment du red´marrage,
               e                  e
les machines r´utilisaient les mˆmes conditions initiales ai , produisant soir apr`s soir
                                                                                   e
      e                        e
les mˆmes nombres dans le mˆme ordre.
                       e
    Cette histoire soul`ve en fait une autre question ! Comment peut-on changer les
conditions initiales pour que les suites ai ne soient pas toujours les mˆmes ` chaque
                                                                          e      a
260         e e                     e
         8 G´n´rateurs de nombres al´atoires

  e                                                                e
d´marrage du programme ? Doit-on laisser les machines de keno ´ternellement allum´es ? e
                                e
Et comment font les jeux vid´os ? Voici deux solutions assez communes. La premi`re       e
fa¸on n´cessite que l’appareil soit ´teint « convenablement ». Si on l’´teint en pressant
   c    e                           e                                     e
                                     e               a                      e
le bouton d’allumage (et non en d´branchant le cˆble d’alimentation ´lectrique), l’ap-
                                    e
pareil enregistre, juste avant de s’´teindre, les derniers ai qu’il vient de g´n´rer sur un
                                                                              e e
                        e
disque ou une carte-m´moire ; ils serviront alors comme conditions initiales au prochain
                    e                                             e e
allumage. La deuxi`me solution suppose qu’une horloge soit int´gr´e aux circuits de l’ap-
             e
pareil. Au d´marrage, le programme demande le nombre de secondes (ou de milli`mes      e
de secondes) ´coul´ depuis une date fix´e, disons depuis minuit le 1er janvier de l’an
               e    e                     e
                 e     e                                   e
2000. Les derni`res d´cimales de ce nombre seront utilis´es comme conditions initiales.

              e e
8.3.3 Le cas g´n´ral

    Ici, nous supposerons que le lecteur connaˆ le corps Fpr (voir, par exemple, la sec-
                                              ıt
tion 6.5 du chapitre 6).

 e                                              e e                    e
D´finition 8.14 1. Soit p un entier premier. Un g´n´rateur de nombres al´atoires
   Fp -lin´aire est un g´n´rateur de la forme
          e             e e

                          an = q0 an−r + q1 a1 + · · · + qr−1 an−1 (mod p),                (8.6)

       u
      o` les q0 , . . . , qr−1 et les conditions initiales a0 , . . . , ar−1 sont des entiers de
      {0, 1, . . . , p − 1}, et les op´rations sont celles de Fp , c’est-`-dire modulo p.
                                      e                                  a
       e e        e                     e            e            e
2. Un g´n´rateur r´cursif multiple est d´fini par la r´currence lin´aire

                         an = q0 an−r + q1 a1 + · · · + qr−1 an−1 (mod p),
                         un = ap .
                               n




    On voit que, si on prend p = 2, alors un g´n´rateur de nombres al´atoires F2 -lin´aire
                                              e e                       e             e
est simplement un registre a d´calage. Un g´n´rateur de nombres al´atoires Fp -lin´aire
                              ` e             e e                       e             e
g´n`re des nombres al´atoires an ∈ {0, 1, . . . , p − 1}, alors que le g´n´rateur r´cursif
 e e                      e                                               e e       e
multiple associ´ g´n`re des nombres al´atoires un ∈ [0, 1].
                  e e e                  e
    Les th´or`mes 8.9 et 8.13 se g´n´ralisent ` un g´n´rateur Fp -lin´aire. Dans le cas de
            e e                     e e        a     e e              e
F2 , le fait de travailler modulo le polynˆme Q(x) donn´ en (8.5) permet d’´crire
                                          o               e                   e

                                xr = q0 + q1 x + · · · + qr−1 xr−1                         (8.7)

parce que qi = −qi . Comme ceci n’est plus vrai dans Fp , il faut adapter le polynˆme
                                                                                  o
Q(x) pour que la relation (8.7) reste valable.

Th´or`me 8.15 Si p est premier et que q0 , . . . , qr−1 ∈ {0, 1, . . . , p − 1} sont choisis tels
   e