CALCUL FORMEL POUR L’AGRÉGATION Coursàl’UniversitédeRennes1(2008–2009) Antoine Chambert-Loir AntoineChambert-Loir IRMAR,UniversitédeRennes1,CampusdeBeaulieu,35042RennesCedex. E-mail:[email protected] Url:http://perso.univ-rennes1.fr/antoine.chambert-loir Versiondu24mars2009 LaversionlaplusàjourestdisponiblesurleWebàl’adressehttp://perso.univ-rennes.fr/ antoine.chambert-loir/2008-09/cf/ SOMMAIRE Introduction ................................................................ 1 Bibliographie .............................................................. 3 1. Nombresentiers ........................................................ 5 Représentationdesentiers,5; Lesquatreopérations,7. 2. Algorithmed’Euclide .................................................... 11 L’algorithmed’Euclideétendu,11; Complexitédel’algorithmed’Euclide pourlesentiers,13; Complexitédanslecasdespolynômes,15. 3. Nombrespremiers,factorisation .......................................... 17 Nombrespremiers,17; Factorisation,25. 4. Corpsfinis .............................................................. 29 Rappels sur les corps finis, 29; Polynômes à coeficients dans un corps fini,31; Extractionderacinesm-ièmes,37. INTRODUCTION Programmespécifiquedel’optionC. a) Représentation et manipulation des entiers longs, flottants multiprécision, nombres complexes, polynômes, éléments de Z/nZ et des corps finis. Addition, multiplication, division, extrac- tionderacinecarrée. b) Algorithmes algébriques élémentaires. Exponentiation (n (cid:55)→ an,pourn ∈N),algorithmed’Euclideétendu.Testdeprimalitéde Fermat. c) Matrices à coefficients dans un corps. Méthode du pivot de Gauss, décomposition LU. Calcul du rang, du déterminant. Exemples de codes correcteurs linéaires : codes de répétition, codesdeHammingbinaires. d) Matrices à coefficients entiers. Opérations élémentaires sur les lignes et les colonnes. Application aux systèmes linéaires sur Z etauxgroupesabéliensdetypefini. e) Polynômes à une indéterminée. Évaluation (schéma de Hor- ner), interpolation (Lagrange, différences finies). Localisation des racinesdansRouC:majorationenfonctiondescoefficients. f) Polynômes à plusieurs indéterminées. Résultants, élimina- tion; intersection ensembliste de courbes et de surfaces algé- briquesusuelles. g) Estimationdelacomplexitédesalgorithmesprécitésdansle cas le pire. Aucune formalisation d’un modèle de calcul n’est exi- gée. BIBLIOGRAPHIE [1] E. BACH&J. SHALLIT–Algorithmicnumbertheory.Vol.1,FoundationsofCompu- tingSeries,MITPress,Cambridge,MA,1996,Efficientalgorithms. [2] J. VON ZUR GATHEN & J. GERHARD – Modern computer algebra, second éd., Cam- bridgeUniversityPress,Cambridge,2003. [3] C.K. YAP–Fundamentalproblemsofalgorithmicalgebra,OxfordUniversityPress, NewYork,2000. CHAPITRE 1 NOMBRES ENTIERS §1.1. Représentationdesentiers A. Numération THÉORÈME 1.1.1. — Soit b un nombre entier tel que b >1. Pour tout entier n (cid:62)0, il existe une unique suite (a ,...,a ) d’entiers vérifiant 0(cid:54)a <b pour tout i ∈{0,...,r}, r 0 i ar (cid:54)=0etn=arbr +ar−1br−1+···+a1b+a0. Cette suite s’appelle le développement en base b de l’entier n. Lorsque b =10, cela correspondàl’écritureusuelle,parexemple25=2·10+5.Onécriraainsin=[a ...a ] r 0 b poursignifierque(a ,...,a )estledéveloppementenbaseb del’entiern. r 0 L’entier0correspondàlasuitevide();pourcetteraison,etpourseconforteràl’ha- bitudedenoterlezéro,onautoriseparfoisa =0lorsquer =0.Saufdanscecas,ona r r (cid:62)0etlenombredechiffresdudéveloppementden estégalàr +1. La présence ou l’absence de zéros en tête du développement en base b n’est de toutesfaçonsqu’uneconventiondenotation.Silechoixdumathématiciendenepas lesinclurepermetd’énoncerunthéorèmeélégantcommeceluici-dessus(:-)),lechoix contrairepeutêtreutileenpratique. Lesbaseslespluscourammentutiliséessontb=10(systèmedécimal)b=2(numé- rationbinaire),b=16(notationhexadécimale(1)),b=28 (dutempsoùl’unitédebase d’unordinateurétaitl’octet),b=264(maintenantquelesordinateursont64bits)Mais sil’onnepeututiliserqu’unecalculatrice«8chiffres»poureffectuerdegroscalculs,la base104s’avéreratrèspratique. Onpeutreprésenterunentierrelatifparsavaleurabsolueetsonsigne. B. Conversiond’unebaseàuneautre Demanièregénérale,oncalculedansunebaseprivilégiée(pournous,labase10)et ils’agitdeconvertirunentiersdepuis,ouvers,unebaseb auxiliaire. 1. «Theword“hexadecimal,”whichhascreptintoourlanguageevenmorerecently,isamixtureof GreekandLatinstems;morepropertermswouldbe“senidenary”or“sedecimal”oreven“sexadecimal,” butthelatterisperhapstoorisquéforcomputerprogrammers.»([?]) 6 CHAPITRE1.NOMBRESENTIERS Un certain nombre de conversions sont très faciles à faire en pratique, il s’agit de passer d’une base b à une base qui en est une puissance, disons bk. En effet, on re- groupe juste les termes k par k. Dans l’autre sens, chaque «chiffre» en base bk doit être remplacé par son développement en base b, éventuellement complété avec des zérosentêtepouroccupperexactementk chiffresenbaseb. Pour convertir depuis une autre base b, il s’agit essentiellement d’évaluer le poly- nôme à coefficients entiers P =a Xr +···+a en b. Le schéma de Hörner représente r 0 cetteexpressioncomme P =(((arX +ar−1)X +ar−2)+···+a1)X +a0 qu’onévaluedel’intérieurversl’extérieur. PROPOSITION 1.1.2(SchémadeHörner). — Ondéfinitunesuite(ur,...,u0)parrécur- rencedescendanteenposant ur =ar, ui =ui+1b+aipour0(cid:54)i <r. Alors,u =[a ...a ] . 0 r 0 b Dansl’autresens,onprocèdepardivisionseuclidiennessuccessivesparb : PROPOSITION 1.1.3. — Soitnunentiernaturelstrictementpositif.Ondéfinitdessuites (u ) et (a ) par récurrence en posant u =n puis, si u ,...,u sont définis et u >0, on i i 0 0 i i poseai lerestedeladivisioneuclidiennedeui parb etui+1sonquotient.Sir estleplus grandentiertelqueu soitdéfini,onaalorsn=[a ...a ] . r r 0 b C. Tailledesdonnées Discutonsrapidementdelataillemémoirerequisepourstockerunentierlorsqu’on l’écrit en base b. Si n =[a ...a ] , on doit connaître les r +1 entiers a ,...,a . Dans r 0 b 0 r l’hypothèseoùlastructuredel’ordinateurluipermetdemanipulernaturellementun entierentre0etb−1,lareprésentationden occupedoncr+1mots.Puisquen vérifie l’encadrement br (cid:54)n(cid:54)(b−1)br +···+(b−1)b+(b−1)=br+1−1, ona rlogb(cid:54)logn<(r +1)logb, soitencore r =(cid:98)log n(cid:99),oùl’onnotelog lelogarithmeenbaseb. b b Ilfautretenirdecelaquelataillemémoirerequiseparlestockaged’unentiern est del’ordredelogn.C’estaussiletempsrequispourlelire,oupourl’écrire. Ilfautréfléchircinqminutesàl’efficacitédelanotationmathématiquequipeutre- présenter avec un mot de longueur (cid:96) des objets d’une taille exponentiellement plus grande.Onestimeà1080lenombred’atomesdansl’univers,maisilsuffiraitd’uneligne pourl’écrireenbase10.