Cours_Methode_numerique

Embed Size (px)

Citation preview

  • 8/6/2019 Cours_Methode_numerique

    1/110

    DEA Astrophysique & Methodes associees 2002/2003Ecole doctorale dIle-de-France

    Universites Paris 7 et 11 Observatoire de Paris

    METHODES NUM ERIQUESElements dun premier parcours

    Jean-Marc HureLUTh/Observatoire de Paris-Meudon, et Universite Paris 7 Denis Diderot

    ([email protected] )

    Didier Pelat

    LUTh/Observatoire de Paris-Meudon([email protected] )

    9 10 11

    -1

    0

    1

    0

    +1

    +2

    -1

    -2

  • 8/6/2019 Cours_Methode_numerique

    2/110

    J.-M. HureMatre de Conferences ` a lUniversite Paris 7,

    LUTh/Observatoire de Paris-Meudon, Section de Meudon,Place Jules Janssen, F-92195 Meudon

    etUniversite Paris 7 Denis Diderot, Place Jussieu, F-75251 Paris Cedex 05

    e-mail: [email protected]: (33) 01 45 07 75 14fax: (33) 01 45 07 74 69

    Didier PelatAstronome a lObservatoire de Paris-Meudon

    LUTh/Observatoire de Paris-Meudon, Section de Meudon,Place Jules Janssen, F-92195 Meudon

    e-mail: [email protected]: (33) 01 45 07 74 37fax: (33) 01 45 07 74 69

    Illustration de couverture: composante verticale du champ electrostatique ge-nere par un tore axi-symmetrique de section carree, contenant selon sa sec-tion une double distribution sinusodale de charge. Le champ est calcule parintegration du noyau de Poisson avec traitement des singularites.

  • 8/6/2019 Cours_Methode_numerique

    3/110

    METHODES NUM ERIQUES

    Elements dun premier parcours

    Version 2, Novembre 2002

    Jean-Marc Hure

    LUTh/Observatoire de Paris-Meudon, et Universite Paris 7 Denis Diderot([email protected] )

    Didier Pelat

    LUTh/Observatoire de Paris-Meudon([email protected] )

  • 8/6/2019 Cours_Methode_numerique

    4/110

    4

    Mise en garde

    Ce cours est dispense depuis lannee universitaire 2001 aux etudiants desDEA dAstrophysique de lEcole Doctorale dIle-de-France dans le cadre deloption methodologique intitulee Methodes numeriques. Il aborde les themes

    suivants (chapitres 2 ` a 7 inclus): quelques generalites sur le calcul, la derivation,les polynomes, linterpolation et les ajustements, les quadratures, la recherchedes zeros de fonctions et de systemes non-lineaires et les equations aux deriveesordinaires. Chaque chapitre contient des exercices et des problemes qui per-mettront dillustrer ou dapprofondir les notions rencontrees. Dans le cadre duDEA, ce cours est complete par un enseignement pratique couvrant une soix-antaine dheures et durant lequel les etudiants sont charges de mettre en placeun outil numerique able resolvant un probleme astrophysique particulier. Ontrouvera au chapitre 8 quelques exemples de projets proposes.

    Le contenu de ce manuscript ne pretend pas etre exhaustif et couvrir lensem-ble des techniques relevant des methodes numeriques. Bien au contraire, il restetres succint et ne donne que quelques elements dun premier parcours. Ilsadresse essentiellement aux etudiants des deuxieme et troisieme cycles univer-sitaires des disciplines scientiques souhaitant se familiariser avec le vocabulaireet les methodes de base, et ne necessite aucune connaissance prealable. Pourceux qui souhaitent aller plus loin, il existe de nombreux ouvrages specialises

    Le calcul numerique est un domaine de recherche ` a lui seul. Une abondantelitterature lui est dediee (voir le chapitre 2 et les references bibliographiques):des livres, des revues periodiques et des bibliotheques de programmes. Commedans de nombreux domaines, la pratique joue un r ole essentiel dans la matrisedu sujet. On ne peut raisonnablement pas esperer assimiler les methodes sansles manipuler sur des exemples concrets et connus.

  • 8/6/2019 Cours_Methode_numerique

    5/110

    5

    Le calcul numerique est aussi un art difficile. On peut sy perdre et oublierquil nest pour nous quun outil. Beaucoup ont tendance ` a vouloir tout re-inventer et perdent beaucoup de temps ` a re-ecrire, souvent mal, les methodes

    standards. Si cette demarche est legitime voire necessaire pour un apprentis-sage, on ne doit pas en faire une habitude, au risque de devenir Numericien;cest un choix. Pour le Physicien, il est essentiel de savoir estimer la placereelle du calcul numerique dans la modelisation et de trouver un juste equilibre.Ainsi, il ne faudra pas hesiter ` a utiliser des outils dej` a existants, mis au pointpar des professionnels. An de bien manipuler les methodes et les routines quevous pourrez trouver ca-et-l a et que vous implementerez dans votre programmeet celles, plus speciques, que vous produirez vous-meme, il est fondamentalde connatre un minimum de concepts. Cest lobjectif de ce cours introductif.Ceci pourra dune part vous aider ` a faire des choix judicieux dans la consultationdarbres de decision et dautre part, vous permettre de mieux faire interagir lesmethodes entre-elles. En tous cas, vous ne pourrez quameliorer la qualite devotre programme, donc de votre modele physique et aussi mieux le comprendre.

    J.-M. Hure et D. Pelat

  • 8/6/2019 Cours_Methode_numerique

    6/110

    6

  • 8/6/2019 Cours_Methode_numerique

    7/110

    Table des matieres

    1 Un peu dhistoire . . . 11

    2 Generalites 152.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2 Philosophie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3 Precision et temps de calcul . . . . . . . . . . . . . . . . . . . . . 16

    2.3.1 Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3.2 Temps de calcul . . . . . . . . . . . . . . . . . . . . . . . 17

    2.4 Les erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4.1 Le schema . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4.2 La representation machine . . . . . . . . . . . . . . . . . . 192.4.3 La perte dinformation . . . . . . . . . . . . . . . . . . . . 19

    2.5 Conditionnement et sensibilite . . . . . . . . . . . . . . . . . . . 192.5.1 Propagation des erreurs . . . . . . . . . . . . . . . . . . . 192.5.2 Nombre de conditionnement . . . . . . . . . . . . . . . . . 20

    2.6 Du modele physique au modele numerique . . . . . . . . . . . . . 21

    2.6.1 Adimensionnement des equations . . . . . . . . . . . . . . 212.6.2 Choix des variables . . . . . . . . . . . . . . . . . . . . . . 212.6.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.7 Bibliotheques numeriques . . . . . . . . . . . . . . . . . . . . . . 232.8 Exercices et problemes . . . . . . . . . . . . . . . . . . . . . . . . 25

    3 Derivation 273.1 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Differences nies . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.2.1 Developpement de Taylor . . . . . . . . . . . . . . . . . . 273.2.2 Differences excentrees . . . . . . . . . . . . . . . . . . . . 283.2.3 Differences centrees . . . . . . . . . . . . . . . . . . . . . 29

    3.2.4 Schemas dordres eleves . . . . . . . . . . . . . . . . . . . 293.2.5 Echantillonage quelconque . . . . . . . . . . . . . . . . . . 303.3 Methode generale . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4 Pas optimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.5 Extrapolation de Richardson . . . . . . . . . . . . . . . . . . . . 323.6 Exercices et problemes . . . . . . . . . . . . . . . . . . . . . . . . 32

    4 Polyn omes, interpolations et ajustements 354.1 Formes polyn omiales remarquables . . . . . . . . . . . . . . . . . 35

    4.1.1 Forme de Taylor . . . . . . . . . . . . . . . . . . . . . . . 354.1.2 Forme de Lagrange . . . . . . . . . . . . . . . . . . . . . . 364.1.3 Forme de Newton . . . . . . . . . . . . . . . . . . . . . . . 36

    7

  • 8/6/2019 Cours_Methode_numerique

    8/110

    8 TABLE DES MATI ERES

    4.2 Quelques polyn omes remarquables . . . . . . . . . . . . . . . . . 364.2.1 Polyn omes de Chebyshev . . . . . . . . . . . . . . . . . . 364.2.2 Polyn omes de Legendre . . . . . . . . . . . . . . . . . . . 37

    4.2.3 Polyn omes de Hermite . . . . . . . . . . . . . . . . . . . . 374.3 Evaluation dun polyn ome . . . . . . . . . . . . . . . . . . . . . 374.4 Interpolations et extrapolation . . . . . . . . . . . . . . . . . . . 39

    4.4.1 Interpolation lineaire . . . . . . . . . . . . . . . . . . . . . 394.4.2 Approximations polynomiales . . . . . . . . . . . . . . . . 394.4.3 Phenomeme de Runge . . . . . . . . . . . . . . . . . . . . 414.4.4 Methode generale . . . . . . . . . . . . . . . . . . . . . . . 42

    4.5 Principes de lajustement . . . . . . . . . . . . . . . . . . . . . . 424.6 Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.7 Exercices et problemes . . . . . . . . . . . . . . . . . . . . . . . . 44

    5 Quadratures 475.1 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475.2 Methode des trapezes . . . . . . . . . . . . . . . . . . . . . . . . 48

    5.2.1 Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.2.2 Version composee . . . . . . . . . . . . . . . . . . . . . . . 495.2.3 Decoupage adaptatif . . . . . . . . . . . . . . . . . . . . . 495.2.4 Schemas ouvert et semi-ouvert . . . . . . . . . . . . . . . 50

    5.3 Methodes de Simpson . . . . . . . . . . . . . . . . . . . . . . . . 505.4 Formules de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . 515.5 Schemas recursifs . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.6 Methode generale . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.7 Noyaux singuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.8 Exercices et problemes . . . . . . . . . . . . . . . . . . . . . . . . 54

    6 Zero dune fonction. Systemes non-lineaires 576.1 Existence des solutions et convergence . . . . . . . . . . . . . . . 57

    6.1.1 Condition dexistence . . . . . . . . . . . . . . . . . . . . 576.1.2 Critere de convergence . . . . . . . . . . . . . . . . . . . . 586.1.3 Sensibilite . . . . . . . . . . . . . . . . . . . . . . . . . . . 606.1.4 Taux de convergence . . . . . . . . . . . . . . . . . . . . . 60

    6.2 Problemes `a une dimension . . . . . . . . . . . . . . . . . . . . . 616.2.1 Methode de bissection . . . . . . . . . . . . . . . . . . . . 616.2.2 Methode des fausses positions . . . . . . . . . . . . . . 626.2.3 Methode du point xe . . . . . . . . . . . . . . . . . . . 626.2.4 Methode des gradients . . . . . . . . . . . . . . . . . . . . 636.2.5 Methode des secantes . . . . . . . . . . . . . . . . . . . . 65

    6.2.6 Methode de Muller . . . . . . . . . . . . . . . . . . . . . . 656.3 Systemes non-lineaires . . . . . . . . . . . . . . . . . . . . . . . . 666.3.1 Generalisation de la methode du point xe . . . . . . . . 666.3.2 Methode de Seidel . . . . . . . . . . . . . . . . . . . . . . 676.3.3 Methode de Newton generalisee . . . . . . . . . . . . . . . 67

    6.4 Exercices et problemes . . . . . . . . . . . . . . . . . . . . . . . . 67

    7 Equations aux derivees ordinaires 697.1 Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697.2 Le splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717.3 Les conditions aux limites . . . . . . . . . . . . . . . . . . . . . . 71

    7.3.1 Valeurs initiales et conditions aux contours . . . . . . . . 71

  • 8/6/2019 Cours_Methode_numerique

    9/110

    TABLE DES MATI ERES 9

    7.3.2 Conditions de Dirichlet et de Neumann . . . . . . . . . . 737.4 Methodes mono-pas . . . . . . . . . . . . . . . . . . . . . . . . 73

    7.4.1 Methode dEuler . . . . . . . . . . . . . . . . . . . . . . . 73

    7.4.2 Methode de Heun . . . . . . . . . . . . . . . . . . . . . . 747.4.3 Methode des series entieres . . . . . . . . . . . . . . . . . 767.4.4 Methodes de Runge-Kutta . . . . . . . . . . . . . . . . . . 767.4.5 Methode de Burlish-Stoer . . . . . . . . . . . . . . . . . . 78

    7.5 Methodes multi-pas . . . . . . . . . . . . . . . . . . . . . . . . 807.6 Methodes de tir . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817.7 Schemas aux differences nies . . . . . . . . . . . . . . . . . . . . 827.8 Exercices et problemes . . . . . . . . . . . . . . . . . . . . . . . . 83

    8 Applications astrophysiques 858.1 Structure interne des etoiles . . . . . . . . . . . . . . . . . . . . . 858.2 Image et spectre dun disque autour dun trou noir de Schwarzschild 858.3 Instabilite thermique dun disque daccretion de Sakura-Sunyaev 868.4 Vent solaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878.5 Equation de Saha . . . . . . . . . . . . . . . . . . . . . . . . . . . 878.6 Dynamique des disques stellaires . . . . . . . . . . . . . . . . . . 888.7 Fluide cosmologique et formation des grandes structures . . . . . 89

    A GAMS: Project Summary 93

    B Quadrature de Gauss-Legendre 95

    C Formule de Peano 101

    D Formules dAdams-Bashforth-Moulton 103

  • 8/6/2019 Cours_Methode_numerique

    10/110

    10 TABLE DES MATI ERES

  • 8/6/2019 Cours_Methode_numerique

    11/110

    Chapitre 1

    Un peu dhistoire . . .

    Dapres les historiens, le calcul numerique remonte au moins au troisiememillenaire avant notre ere. Il est ` a lorigine favorise par le besoin deffectuerdes mesures dans differents domaines de la vie courante, notamment en agricul-ture, commerce, architecture, geographie et navigation ainsi quen astronomie.Il semble que les Babyloniens (qui peuplaient lactuelle Syrie/Iraq) sont parmiles premiers a realiser des calculs algebriques et geometriques alliant complexiteet haute precision. Surtout, ils donnent une importance et un sens au placementrelatif des chiffres constituant un nombre, cest-` a-dire a introduire la notion debase de denombrement, en loccurrence, la base sexagesimale que nous avons nipar adopter dans certains domaines. Ils se distinguent ainsi dautres civilisa-tions, meme bien plus recentes, qui developpent des methodes plus lourdes, enintroduisant une plethore de symboles. Il y a environ 3500 ans, les populationsde la vallee de lIndus (regions de lInde et du Pakistan) introduisent les notions

    de zero et emploient les nombres negatifs. Il adaptent egalement le systeme decomptage Babylonien au systeme decimal qui est le n otre aujourdhui. Ces pre-miers outils de calcul sont largement developpe par la suite par les Grecs, puistransmis en Europe par lintermediaire des civilisations mulsumanes peuplantle bassin mediteranneen.

    Le calcul numerique tel que nous le concevons pratiquement aujourdhuiconnat son premier veritable essor ` a partir du XVIIeme siecle avec les progresfulgurants des Mathematiques et de la Physique, plus ou moins lies aux obser-vations et aux calculs astronomiques. Plusieurs machines de calcul sont en effetconstruites, comme la Pascaline inventee par B. Pascal en 1643, la DENO(Difference Engine Number One; voir la gure 1.2) de C. Babbage en 1834

    mais qui fonctionnait mal, ou encore le tabulateur de H. Hollerith specialementconcu pour recenser la population americaine, vers 1890. Il sagit bien-entendude machines mecaniques imposantes et dutilisation assez limitee. Le manquede moyens de calcul performants limite en fait lexpansion et la validation decertaines theories du debut du XXeme siecle. Ce fut le cas en particulier de latheorie de la Relativite Generale due ` a A. Einstein.

    La Seconde Guerre Mondiale et les progres technologiques quelle engendreva permettre au calcul numerique damorcer un second envol. Les anglais met-tent au point le premier ordinateur en 1939, Colossus , dont la mission estde decripter les messages codes envoyes par lemetteur Enigma de lAllemagnenazie. Cette machine introduit les concepts revolutionnaires emis par A. Tur-

    11

  • 8/6/2019 Cours_Methode_numerique

    12/110

    12 CHAPITRE 1. UN PEU DHISTOIRE . . .

    Figure 1.1: Charles Babbage ( a gauche ), lune des grandes gures de lhistoirede lordinateur. Il fut linventeur de la DENO (Difference Engine NumberOne) dont une copie est exposee dans un musee de Londres ( a droite ).

    ing dans les annees 1936 concernant lautomatisation des calculs. Les calcu-lateurs sont desormais entierement electroniques. Autre machine qui fait datedans lhistoire, le ENIAC (Electronic Numerical Integrator And Computer)construit en 1946. Malheureusement, ce type de machine ne dispose pas dememoire interne et doit etre en permanence reprogrammee.

    A la n des annees 1940, un certain J. von Neumann (voir la gure 1.3)repense larchitecture des ordinateurs et introduit, entre autres, les memoirespermettant de sauvegarder les programmes, et les concepts de hardware (ma-teriel) et de software (logiciel). La premiere machine de calcul incluant lesconcepts de von Neumann (et ceux de Turing) est ainsi produite par la rmeamericaine IBM ; elle sappelle Mark I et pese 5 tonnes. Les premieres appli-cations concernent tous les domaines scientiques et techniques. Le FortranI , un langage de programmation destine aux scientiques, est con cu des 1954. . . mais il lui manque un vrai compilateur.

    Vers la n des annees 1960, lapparition progressive des transitors et deleur assemblage massif sur des surfaces de plus en plus reduites augmente con-siderablement les performance des machines et permet des simulations numeri-

    ques de realisme croissant. Cet effort de miniaturisation est dailleurs imposepar la course a la conquete de lespace. Apparaissent ainsi en 1970 les fameuxmicroprocesseurs mis au point par les rmes Intel et Motorola qui equipentla ma jeure partie des sondes spatiales de lepoque. Le calcul numerique devientrapidement une science ` a part entiere. Les annees 70 marquent aussi le tour-nant pour les langages de programmation: certains sont denitivement produitsa des ns scientiques, alors que dautres seront penses pour la gestion, commele Cobol . Au debut des annees 1980, lordinateur le plus puissant du mondesappelle Cray I (voir la gure 1.3). Sa forme est specialement choisie pouroptimiser la rapidite des calculs. Cest aussi le debut de linformatique familialeavec la mise sur le marche des Personal Computers dIBM.

  • 8/6/2019 Cours_Methode_numerique

    13/110

    13

    Figure 1.2: Alan Turing ( a gauche ) donnera aux premiers ordinateurs les moyensde penser et de travailler de maniere autonome. Sa theorie sera lune des piecesmaitresses de Colossus (a droite ), le premier calculateur mis au point par lesanglais a laube de la Seconde Guerre Mondiale pour decrypter les messagessecrets emis par la machine Enigma (en medaillon ) des Nazis.

    Figure 1.3: John L. von Neumann ( a gauche ), enfant prodige de linformatiquede lapres-guerre. Le Cray I (a droite ) construit dans les annees 1980 disposedune puissance de calcul de 160 millions doperations ` a la seconde. Sa con-ception en forme de cylindre devaient assurer une transmission optimale delinformation.

  • 8/6/2019 Cours_Methode_numerique

    14/110

    14 CHAPITRE 1. UN PEU DHISTOIRE . . .

    En une quinzaine dannees, la rapidite des calculateurs a ete multipliee parplus de 10000. La vitesse dexecution des operations elementaires se comptemaintenant en dizaines de millions de millions doperations ` a la seconde (ou

    dizaines de tera-ops , a comparer a la centaine de mega-ops duCray I

    ). Lescapacites de stockage ont gagne 7 ordres de grandeur au moins. Aujourdhui,toutes ces performances doublent tous les ans. Pour le monde scientique, celuide la Recherche Fondamentale et de lIndustrie, les calculateurs et le deve-loppement de techniques de programmation speciques (comme la program-mation parallele ) sont devenus des outils incontournables ` a la connaissance etouvrent de nouveaux horizons pour la modelisation et la comprehension desphenomenes complexes et la mise au point de nouvelles technologies.

  • 8/6/2019 Cours_Methode_numerique

    15/110

    Chapitre 2

    Generalites

    2.1 ObjectifsOn regroupe sous le terme generique de methodes numeriques, toutes les tech-niques de calcul qui permettent de resoudre de maniere exacte ou, le plus sou-vent, de maniere approchee un probleme donne. Le concept de calcul est assezvaste et doit etre pris au sens large. Il peut sagir de determiner linconnue duneequation, de calculer la valeur dune fonction en un point ou sur un intervalle,dintegrer une fonction, dinverser une matrice, etc. Bien que la mise en equationdun probleme et sa resolution passent naturellement par les Mathematiques,les problematiques sous-jacentes concernent des disciplines aussi variees que laPhysique, lAstrophysique, la Biologie, la Medecine, lEconomie, etc. Il existeainsi une grande variete de problemes possibles avec pour chacun deux, desmethodes tres speciques. De fait, le nombre total de methodes numeriquesdont nous disposons `a lheure actuelle est vraisemblablement gigantesque.

    Une methode numerique met en oeuvre une certaine procedure, une suitedoperations, generalement en tres grand nombre, que lon transcrira ensuitedans un langage de programmation. Bien quune methode numerique puisseseffectuer mentalement (du moins avec un crayon et un papier) comme inverserune matrice 2 2, resoudre tan x 1 = 0, ou calculer 2, elle necessite dansla majorite des cas un ordinateur qui a lavantage de la rapidite (mais pas dela precision). Il convient ` a ce niveau de bien differencier la partie methodenumerique, souvent independante du calculateur et du langage, et la partieprogrammation qui met en oeuvre dune part lalgorithme et dautre part unesuite dinstructions ecrites dans un langage de programmation. Bien-s ur, une

    methode numerique pourra dependre de larchitecture dun ordinateur et dulangage utilise. Toutefois, lun des soucis majeurs de lutilisateur et du pro-grammeur est dassurer ` a son programme une certaine portabilite , cest-a-direde pouvoir lexecuter sur des machines differentes sans avoir besoin dadapations(trop) speciques.

    Les methodes numeriques sont indispensables ` a la realisation de programmesde calculs ou codes de calcul . En particulier, pour les astrophysiciens qui nebenecient pas dun laboratoire permettant de valider leurs theories ` a partirdexperiences renouvelables ` a loisir et controlables, ces outils sont le seul moyende simuler ou de modeliser les phenomenes que nous observons, de les interpreteret de les comprendre. Rappelons que les methodes numeriques sont en effet

    15

  • 8/6/2019 Cours_Methode_numerique

    16/110

    16 CHAPITRE 2. G EN ERALIT ES

    presentent dans toutes les disciplines de lAstrophysique moderne: la cosmologie,linstrumentation, le traitement de donnees, la planetologie, la physique solaire,la physique des galaxies, la physique extragalactique, etc. Sil est vrai quil existe

    une tres grande diversite de methodes numeriques avec lesquelles ont peut, enpratique, quasiment tout faire, certains problemes (par exemple en traitementdu signal, en mecanique celeste ou en mecanique des uides) ont necessite lamise au point de methodes tres speciques.

    2.2 Philosophie

    Letat desprit dans lequel travaille le numericien est davantage celui quelon connat en Physique, avec ses multiples approximations (parfois difficile-ment justiables) et hypotheses simplicatrices, plut ot que celui que lon doitdevelopper en Mathematiques. Une certaine rigueur est toutefois indispensable.Ainsi serons-nous le plus souvent amenes ` a changer assez signicativement le

    probleme initial, ` a le simplier dans une certaine mesure, ` a le rendre lineaire,plus academique aussi, condition sine qua non au traitement numeriquement.Une etape ma jeure sera alors de critiquer les solutions obtenues et de les inter-preter par rapport au probleme initialement pose. Une bonne illustration est lependule pesant de longueur l dont lequation du mouvement dans un champ depesanteur g est

    l2 lg sin = 0 (2.1)Lharmonicite tant recherche nest pas reelle; elle nest que le pur produit duneserie dapproximations, notamment celle des petits angles qui permet de posersin . Lequation precedente devient alors

    l2 lg = 0 (2.2)et lon concoit facilement que ses solutions soient differentes.

    Numeriquement par contre, il sera possible de decrire assez naturellement sonmouvement an-harmonique quelque soit lamplitude initiale de son mouvement,soit par un developpement limite de la fonction sinus ` a lordre 2 ou plus, soit parintegration directe de lequation differentielle (2.1). Mais dans les deux cas, lasolution obtenue, aussi precise soit-elle, ne sera quapprochee, soit en raison dela troncature exercee sur le developpement de Taylor, soit en raison des erreursincontournables faites en integrant lequation differentielle ci-dessus.

    2.3 Precision et temps de calcul

    Deux aspects fondamentaux sous-tendent lutilisation ou la mise en place detoute methode numerique: la precision souhaitee (ou disponible) dune part,et le temps de calcul dautre part. Disposer de beaucoup de precision est con-fortable voire indispensable lorsque lon etudie certains phenomemes, commeles systemes chaotiques dont les proprietes affichent une forte sensibilite auxconditions initiales et `a la precision. Mais lorsque lon est trop gourmand surcet aspect, le temps de calcul se trouve accru, parfois de maniere prohibitive. Ilnest pas inutile de garder ` a lesprit la relation dincertitude de Numerics

    t (2.3)ou t exprime un temps de calcul (par exemple 13 min), la precision relativede la methode (par exemple 10 4; voir ci-dessous) et est une constante pour

  • 8/6/2019 Cours_Methode_numerique

    17/110

    2.3. PR ECISION ET TEMPS DE CALCUL 17

    la methode consideree. Cette relation rappelle limpossibilite dallier precisionet rapidite.

    2.3.1 PrecisionLa precision est limitee par les machines. Inevitablement, elle se trouve deterio-ree au l des calculs. Sans entrez dans le detail, il faut savoir quun ordinateurfonctionne en effet avec un nombre limite de chiffres signicatifs, au maximum14, 15 voire 16 pour les plus performants, ces chiffres etant ranges en memoiredans des boites virtuelles ou bits, apres transcription en base 2 . Certains bitssont reserves pour affecter un signe (+ ou ) au nombre et dautres pourlexposant . En ce sens, les machines classiques ne pourront generalement pas dis-tinguer 3.1415926535897931 de 3.1415926535897932 , a moins dun traitementspecique de la mantisse a la charge de lutilisateur. Dans la memoire, seul lespremiers chiffres dun nombre seront enregistres (voir le tableau 2.1), les autresseront denitivement perdus. La plupart des langages permettent de choisir lenombre de decimales au niveau de la procedure declarative, comme les anciennesinstructions REAL*4 ou REAL*8 du langage Fortran 77 , dont les equivalentssont respectivement REAL(KIND=1) et REAL(KIND=2) en Fortran 90 .

    bits minimum (positif, non nul) maximum precision32 2.938736E-39 1.701412E+38 10

    7

    48 2.9387358771E-39 1.7014118346E+38 1012

    64 5.562684646268003E-309 8.988465674311580E+308 1016

    Table 2.1: Mimimum et maximum reels adressables et precision relative possibleen fonction du nombre de bits de la machine.

    2.3.2 Temps de calcul

    Le temps de calcul est limite par la capacite des ordinateurs, par la duree de viedu materiel, par des facteurs exterieurs (comme les coupures delectricite), etpar lutilisation que lon souhaite classiquement faire des programmes de simu-lations. La plupart du temps, il sagit dune utilisation intensive o` u lon balayelespace des parametres dun modele. Ceci impose de rechercher toujours lesmethodes les plus rapides. Il est de plus en plus frequent de travailler sur desproblemes complexes dont la resolution necessite des heures, des jours, parfois

    meme des semaines de calculs sans interruption. Le choix sorientera alors versune methode numerique rapide. Mais la rapidite se fera forcement au detrimentde la precision (voir Eq.(2.3)). Quand les calculs sont intrinsequement rapideset que le temps de calcul nest pas un facteur determinant, on aura tout loisir de(et peut-etre interet ` a) choisir une methode plus lente mais plus precise. Notonsegalement un fait souvent oublie: les acces aux peripheriques sont tres couteuxen temps, en particulier les acces aux disques durs et les impressions ` a lecran.

    Pour une methode numerique donnee, on peut toujours estimer le tempsde calcul en comptant le nombre total N doperations queffectue la machine.On peut ensuite eventuellement multiplier ce nombre par le temps de calcul erelatif a une operation elementaire, mais cela na de valeur qu` a titre comparatif

  • 8/6/2019 Cours_Methode_numerique

    18/110

    18 CHAPITRE 2. G EN ERALIT ES

    (car ce temps e varie dune machine `a lautre et depend aussi de la nature desoperations). Par exemple, pour calculer la force dinteraction gravitationnellesubie par une particule de masse m i sous linuence dune particule de masse

    m j situee `a la distance rij = x ij ux + yij uy , soit F =

    m i m jr 3ij

    rij (2.4)

    il faut effectuer N = 6 12 (N 1)N operations elementaires sil y a N particulesau total, soit un temps de calcul egal ` a 3(N 1)N e . En effet, le schema associea la relation (2.4) pourra etre transcris sous la formea m(i )/ r (i , j ) m(j )/ r (i , j )/ r (i , j )Fx(i , j ) ax(i , j )Fy(i , j ) ay(i , j )

    et met en jeu 3 multiplications et 3 divisions. On dira alors que l ordre de la methode est(N 1)N , soitN 2 lorsque N est grand. Nous voyons que surune machine parallele qui pourra traiter simultanement linteraction de chaqueparticule (soit une machine dotee de N processeurs independants), lordre esttres inferieur: il varie comme ( N 1). Cest donc un gain de temps colossalpour N grand.

    2.4 Les erreurs

    Outre les erreurs de programmation (celles que le compilateur detectera et quevous corrigerez, et celles que vous ne trouverez jamais), il existe trois sourcesderreur quil convient davoir present ` a lesprit: lerreur de schema, lerreur de

    representation et lerreur par perte dinformation.

    2.4.1 Le schema

    Lerreur de schema est generee lorsque lon remplace une relation exacte parune autre, plus simple ou plus facilement manipulable. Cest par exemple lecas dune serie de Taylor tronquee (on parle ici plus precisement d erreur detroncature ), comme

    ex 1 + x2 , (2.5)ou le cas de lapproximation dune derivee par une difference nie (comme nousle verrons au chapitre suivant) comme

    f (x) f (x + h) f (x)h (2.6)ou encore de lestimation dune quadrature

    b

    af (x)dx f (a)(ba) (2.7)

    Lerreur de schema est generalement lerreur dominante. Elle est en principeincontournable car toutes les methodes numeriques sont basees sur des schemas.Il est important quelle soit connue ou appreciable. Notez que tous les schemasne generent pas les memes erreurs. On choisira donc, quand cest possible, lesschemas les plus precis.

  • 8/6/2019 Cours_Methode_numerique

    19/110

    2.5. CONDITIONNEMENT ET SENSIBILIT E 19

    2.4.2 La representation machine

    Lerreur de representation est liee aux modes de representation, de stockageet de calcul des ordinateurs. Par exemple, supposons que lon veuille effectuerloperation 13 23 13 sur une machine fonctionnant avec 4 chiffres signicatifs.En interne, la machine effectuera dabord 23 13 , ce qui pourra donner

    0.6667 0.3333 = 0.3334Ici, 23 a ete remplace par 0.6667 ; cest une erreur de representation (erreurdarrondi). Reste `a effectuer 13 0.3334, dou le resultat faux (ou vrai ` a 104pres) : +0.0001 . Certaines machines peuvent dailleurs fournir 0.6666 pour23 16 et nalement donner, par concidence, un resultat exact.Lerreur de representation est generalement negligeable devant les autres,sauf dans certains cas particuliers o` u, sans precaution, lon manipule des nom-bres tres differents ou tres proches.

    2.4.3 La perte dinformation

    La perte dinformation est une consesquence de la representation machine. Ellese produit lorsque lon soustrait deux nombres tres proches; le resultat est alorsun nombre comportant peu de chiffres signicatifs. Soit ` a effectuer 71500 17 ,toujours sur une machine travaillant avec 4 chiffres signicatifs en mantisse. Enpratique, la machine donne

    0.1420 0.1429 = 0.0009contre 33500 8.5714104 . Ce resultat, compte-tenu de larrondi, est cor-rect. Toutefois, il ne comporte plus quun seul chiffre signicatif alors que lesdeux nombres initiaux en possedaient quatre.

    Lerreur par perte dinformation peut etre devastatrice (par exemple losquelon veut calculer numeriquement une derivee). Souvent, on ne la soup conne pas.Elle survient aussi lorsque lon effectue beaucoup dadditions et soustractions ` ala queue leu-leu mettant en jeu des termes de meme amplitude (cest la cas parexemple du calcul de series alternees).

    2.5 Conditionnement et sensibilite

    2.5.1 Propagation des erreurs

    Dans toute methode numerique, il y a au moins un parametre permettant deregler (cest-`a-dire dimposer) ou de contr oler le bon deroulement du processuset la precision du resultat. Il sagit generalement dun critere faisant appela lerreur absolue ou a lerreur relative sur une quantite y par rapport ` a unequantite de reference y. Ces erreurs sont denies respectivement par

    ( y) = y y (2.8)et par

    (y) =y y

    y, y= 0 (2.9)

    Un fait est incontournable: les erreurs, quelque soit leur origine, se propagent etsamplient. On peut le comprendre sur un exemple simple. Si une quantite x

  • 8/6/2019 Cours_Methode_numerique

    20/110

    20 CHAPITRE 2. G EN ERALIT ES

    est connue avec une precision relative (x) 1, alors son image par une fonctionf est aussi entachee dune erreur

    f (x + (x)x) f (x) + (x)xf (x) (2.10)et lerreur relative sur f vaut

    (f ) =f (x + (x)x) f (x)

    f (x) (x)xf (x)f (x)

    (2.11)

    On voit donc que si f (x) est important et f (x) faible, a la fois ( f ) et (f )peuvent etre grands. Notez que lon peut aussi ecrire la relation precedente sousla forme

    (f ) = (x) (2.12)

    ou est le nombre de conditionnement (voir ci-dessous).

    Ajoutons quil faudrait en toute rigueur etre capable de mettre une barrederreur sur les resultats issus dune methode ou plus generalement dune simu-lation, en tenant compte de toutes les sources derreur possibles. Il est navrantde constater que la notion de barre derreur ne semble concerner que les physi-ciens experimentateurs. Cest un tort, car une simulation numerique est uneexperience comme une autre. . .

    2.5.2 Nombre de conditionnement

    Une methode numerique travaille generalement avec un certain nombre de pa-rametres, les parametres dentree , et renvoie des resultats, que lon peut as-similer a des parametres de sortie . Un objectif (souvent difficile `a atteindre)que recherchera le Physicien est de produire des resultats qui ne dependentpas (ou peu) de la methode choisie. Laspect qui guidera son choix sur unemethode plut ot quun autre est la stabilite , cest-a-dire une certaine garantieque la procedure naura pas la facheuse propriete damplier et/ou de generersans limites les erreurs.

    La sensibilte (ou la stabilite) peut etre quantifee gr ace au nombre de con-ditionnement (ou nombre de condition). Prenons le cas o` u dune methode qui,pour une quantite x donnee fournit une quantite y. On denit ce nombre pourdeux couples ( x, y ) et (x , y ) par

    =y yyx xx (x) (2.13)

    Ce nombre rend compte du pouvoir amplicateur dune methode. Ainsi unemethode numerique est tres sensible (ou instable) si 1, peu sensible (stable)si 1 et est insensible si 1.

    Notez que si x et x son tres proches, alors

    xf (x)

    f (2.14)

    La sensibilte peut donc etre importante lorsque f 0 et/ou f et/oux .

  • 8/6/2019 Cours_Methode_numerique

    21/110

    2.6. DU MOD ELE PHYSIQUE AU MOD ELE NUM ERIQUE 21

    x y

    x

    Mthodenumrique

    Figure 2.1: La sensibilte dune methode se mesure avec le nombre de condition-nement.

    2.6 Du modele physique au modele numerique

    Lorsque lon met un systeme physique ou un modele en equations et que lonaborde letape numerique, plusieurs questions simples mais indispensables doi-vent etre posees . . . et resolues. Parmi ces questions/reponses, qui peuvent plusou moins conditionner le choix dune methode particuliere, on trouve: monvoisin de palier aurait-il dej` a travaille sur un probleme similaire ? les incon-nues de probleme physique sont-elles bien identiees ? quel est le domaine devariation des variables (temps, espace, . . . ) ? les variables physiques sont-ellesaussi les bonnes variables numeriques ? quelle est precision souhaitee sur lasolution cherchee ? quelle est lechelle de temps dexecution de mon programme? la precision est-elle determinante ? la temps de calcul est-il un facteur cri-tique ? etc. Deux aspects generalement absents des manuels (ou implicitementevoques) mais qui constituent une etape-cle dans le passage du modele physiqueau modele numerique sont ladimensionnement des equations et le choix desvariables numeriques.

    2.6.1 Adimensionnement des equations

    Ladimensionnement des equations est une etape qui permet de reduire la dy-namique des variables numeriques. Il est en effet preferable de travailler surun domaine numerique raisonnablement restreint et de manipuler des nom-bre de lordre de lunite. Toutefois, une dynamique trop faible peut engen-drer une perte dinformation. Cette procedure vise donc ` a transformer lesequations du probleme en des equations souvent plus lisibles dun point de vuemathematique (et donc numerique) o` u les nouvelles variables (les variables adi-mensionnees) apparassent alors comme des corrections. Comme sous-produitde ladimensionnement, on obtiendra naturellement des equations les echelles

    caracteristiques du probleme (par exemple une ou des echelles de longueur, desechelles de vitesses, des echelles de temps, etc.).

    2.6.2 Choix des variables

    Concernant le choix des variables numeriques maintenant, il faut rappeler que,dans beaucoup de problemes, les variables possedent des dynamiques complementdifferentes. Meme adimensionnees, des variables peuvent beaucoup varier. Cesvariables obeissent forcement ` a une certaine loi en fonction des parametres oudautres variables et il peut etre astucieux dinclure ces lois dans les variablesnumeriques. Cela rendra la partie numerique beaucoup stable.

  • 8/6/2019 Cours_Methode_numerique

    22/110

    22 CHAPITRE 2. G EN ERALIT ES

    104

    105

    106

    107

    RR O

    1016

    1014

    1012

    1010

    108

    106

    104

    102

    R=104

    R=103

    x=0.1

    (R)

    ()

    Figure 2.2: Illustration des effets beneques dadimensionnement et de choixdes variables numeriques. Solution analytique (R) de lequation (2.16) ( gras )et erreurs relatives sur la solution en integrant la relation (2.16) par la methodedEuler, en variables ( R, ) pour deux pas dintegrations differents ( pointil les )et par la meme methode mais en variables ( x, f ). Dans ce dernier cas, lerreur(proche de la precision machine) est essentiellement due ` a des erreurs de

    representation et ` a leur propagation.

    2.6.3 Exemple

    Prenons un exemple concret qui resumera lensemble des notions evoquees ci-dessus. Considerons lequation qui regit lequilibre hydrostatique ` a une dimen-sion dune atmosphere statique et sans masse entourant un corps solide de rayonR

    . En prenant en compte le changement de gravite avec laltitude R, cetteequation secrit

    c 2s

    ddR

    = gR2

    R2(2.15)

    et supposons que lon connaisse la densite a la base de latmosphere R = R

    ,soit (R). On peut evidemment choisir et R comme variables numeriques,mais ce choix nest pas tres judicieux. On doit dabord adimensionner lequation(2.16) en posant par exemple

    r =R

    R

    =

    (R

    )

    douc 2s

    ddr

    = g1r 2

    (2.16)

  • 8/6/2019 Cours_Methode_numerique

    23/110

    2.7. BIBLIOTH EQUES NUM ERIQUES 23

    Cest un bon debut. Mais cela ne change pas le fait que varie exponentiellementavec linverse de laltitude et quil reste des termes de grande amplitude c2s et g,sans oublier r et surtour qui peut varier de plusieurs ordres de grandeurs sur le

    domaine dintegration choise. An de reduire au maximum les risques derreursnumeriques, il faut reduire la dynamique de ces variables et de lequation par unchoix judicieux de variables avec lesquelles le programme travaillera nalement.Pour cela, on peut poser

    f = ln

    x =Lr

    ou Lc 2s R2= GM (ou g= GM /R2

    ). Lequation (2.16) devient alors

    df dx

    = 1 (2.17)

    Cette forme presente deux avantages: dune part, elle est dune extreme sim-plicite et dautre part, elle met en evidence lexistence dune echelle caracteristiquede la densite, la longueur L. La gure 2.2 montre lerreur produite sur la solu-tion exacte (R) en variables ( R, ) et en variables ( x, f ); le resultat est plut otconvainquant.

    Figure 2.3: Page daccueil du site Internet du GAMS, permettant lacces ` a un

    large catalogue de routines en majorite disponibles en ligne.

    2.7 Bibliotheques numeriques

    Gr ace aux capacites de stockage dont nous disposons ` a lheure actuelle, il a etepossible de construire de veritables bibliotheques virtuelles reunissant un grandnombre de programmes ou routines de base que lon peut maintenant facilementconsulter via Internet. Ces routines sont generalement ecrites en Fortran 77 ,Fortran 90 et C . Dans la ma jorite des cas, elles sont ecrites et maintenues par

  • 8/6/2019 Cours_Methode_numerique

    24/110

    24 CHAPITRE 2. G EN ERALIT ES

    classe contenuA Arithmetic, error analysisB Number theory

    C Elementary and special functions (search also class L5)D Linear AlgebraE InterpolationF Solution of nonlinear equationsG Optimization (search also classes K, L8)H Differentiation, integrationI Differential and integral equationsJ Integral transformsK Approximation (search also class L8)L Statistics, probabilityM Simulation, stochastic modeling (search also classes L6 and L10)N Data handling (search also class L2)O Symbolic computationP Computational geometry (search also classes G and Q)Q Graphics (search also class L3)R Service routinesS Software development toolsZ Other

    Table 2.2: Les 20 entrees principales de larbre de decision du Guide to Avail-able Mathematical Software (GAMS) project.

    des numericiens et mathematiciens. Lutilisation de ces routines est ` a la respon-sabilite de lutilisateur. Il sera necessaire detre vigilant et de garder un esprit

    critique quant aux resultats que vous obtiendrez avec ces routines. Toutefois,leur utilisation intensive par lensemble de la communaute scientique offre unereelle garantie de abilite. En bref, meez vous plut ot des routines que vousecrirez vous-meme et qui naurons ete testees que, au mieux, par vous meme !

    Un site Internet donnant acces ` a ces routines est le serveur GAMS (Guideto Available Mathematical Software) du NIST (National Institue for Stan-dard Technology) que lon peut consulter ` a ladresse http://gams.nist.gov/ .Le GAMS est un projet de service public dirige par R.F. Boisvert (on trou-vera en appendice un extrait des motivations du projet). Il repertorie quelques8800 modules de calcul repartis ` a travers 111 bibliotheques ou packages . Cer-taines bibliotheques de programmes sont malheureusement payantes (cest-` a-dire quil vous faudra acheter les routines precompilees, souvent contre quelquescentaines deuros). Dautres (une majorite) appartiennent au domaine pub-lic et peuvent etre telechargees en quelques secondes, avec un guide succintdimplementation. Lune des force de ce serveur est quil offre en ligne, gr ace ason arbre de decision, un moyen rapide de selectionner la ou les routines que loncherche. Les 20 entrees principales de cet arbre sont donnees dans le tableau 2.2.Lutilisation de ces routines numeriques necessite un minimum dinvestissementet de precaution, cest pourquoi on prendra toujours soin deffectuer un certainnombre de tests prealables, sur des exemples connus, avant de se lancer danslinconnu . . .

    Il existe aussi les (tres nombreux) sites associes aux laboratoires de recherche

  • 8/6/2019 Cours_Methode_numerique

    25/110

    2.8. EXERCICES ET PROBL EMES 25

    en Mathematiques Appliquees, Analyse Numerique, Physique, etc. qui souventrendent publiques leurs programmes.

    2.8 Exercices et problemes

    Calculez N i=1 i3 et 1i= N i

    3 pour N = 1000 et 10 6 . Comparez.

    Calculez N i=11

    i ( i+1) pour N = 99, 999 et 9999 de 1 a N , puis a rebours.Dans les deux cas, comparez `a la valeur exacte.

    Developpez ex en serie entieres ` a lordre N et calculez la serie. Compareza la valeur exacte.

    Comment calculez precisement, sur une machine dotee de 4 chiffres signi-catifs, les deux racines de lequation x2 + 100 x + 1 = 0 ?

    Quel est le nombre de conditionnement de la methode qui consiste ` aremplacer sin x par x x

    3

    3! , au voisinage de 0 ? de2 . Meme question avec le

    developpement de Taylor de la fonction tan x.

  • 8/6/2019 Cours_Methode_numerique

    26/110

    26 CHAPITRE 2. G EN ERALIT ES

  • 8/6/2019 Cours_Methode_numerique

    27/110

    Chapitre 3

    Derivation

    3.1 RappelsCalculer en un point la derivee f dune fonction f de la variable x donton connat une expression analytique ne pose aucune difficulte particuliere silon admet quelques regles mathematiques simples. On peut meme envisagerlutilisation dun logiciel ou de routines de calcul symbolique ou formel. Plusdelicat est lestimation de la derivee dune fonction non-analytique, par exempleune fonction denie par un ensemble de N points de mesure {(x i , yi = f (x i ))}N ,quil sagisse de la derivee en lun des points x i ou bien de la derivee quelquepart entre deux points de lechantillon.

    Rappelons quune derivee est une information locale, denie par passage ` ala limite du taux daccroissement de f en x0 , soit

    f (x0) = lim h0f (x0 + h) f (x0)

    h(3.1)

    Une estimation precise de cette quantite est generalement assez delicate etdifficle a partir dinformations de nature discrete. Cela necessite un echantil-lonage extremement pousse de la fonction, comme cela est illustre ` a la gure3.1. Un tel echantillonage nest pas toujours disponible.

    3.2 Differences nies

    3.2.1 Developpement de Taylor

    Le developpement de Taylor est un outil fondamental de lanalyse et du calculnumerique. Pour une fonction f , il secrit au voisinage de x0

    f (x) = f (x0) +

    1a i (x x0 )i (3.2)

    = a0 + a1(x x0 ) + a2(x x0 )2 + + aN (x x0 )N + . . . (3.3)ou les coefficients ak de la serie sont donnes par

    ak =f (k ) (x0 )

    k!, k = 0 , (3.4)

    27

  • 8/6/2019 Cours_Methode_numerique

    28/110

    28 CHAPITRE 3. D ERIVATION

    x

    y

    mauvais echantillonage

    bon echantillonage

    derivee ?

    Figure 3.1: Dans le calcul numerique des derivees, lechantillonage de la fonction joue un role majeur.

    et f (k ) designe la derivee dordre k de f . Lorsque la serie est tronquee ` a lordreN inclus, lordre de grandeur de lerreur faite sur le developpement est donneepar le terme f

    ( N +1) (x 0 )(N +1)! (x x0)N +1 et lon ecrit alors

    f (x) = a0 + a1(x x0) + + aN (x x0 )N + O (x x0 )N +1 (3.5)3.2.2 Differences excentrees

    En utilisant le resultat ci-dessus, on peut essayer de transcrire lexpression (3.1).A lordre 1 inclus et en posant x x0 = h, le taux daccroissement au pointconsidere secrit

    f (x0 + h) f (x0)h

    f (1) (x0 )1!

    +

    2a i h i1 (3.6)

    Tronquee ` a lordre 1, cette relation donne

    f (x0 + h) f (x0)h f (x0) + O(h) (3.7)

    soit une representation de la derivee premiere de la fonction f , precise alordre h. Il y a donc confusion (volontaire) entre la derivee de la fonction etson taux daccroissement. La relation (3.7) est une difference nie `a 2 points ,dite en avant ou FDF en anglais (pour forward difference formula), car elle

    fait appel a deux evaluations de la fonction, lune au point considere et lautreun peu plus loin, en x = x0 + h. On peut construire une difference nie ` a 2points en arriere ou BDF en anglais (pour backward difference formula), enchangeant h en h dans les relations precedentes, soit

    f (x0 h) f (x0)h

    f (1) (x0 )1!

    +

    2a i (h)i1 (3.8)

    f (x0) + O(h) (3.9)Notez que lordre est le meme, et que ces relations donnent des demi-derivees.De fait, une meme formule ne permet pas de calculer la derivee pour le premierpoint de lechantillon et pour le dernier point. Il y a un effet de bord .

  • 8/6/2019 Cours_Methode_numerique

    29/110

    3.2. DIFF ERENCES FINIES 29

    Dun point de vue numerique, on ecrira plut ot ces schemas

    f i =f i1 f i

    h(3.10)

    pour un point xi quelconque de lechantillon.

    3.2.3 Differences centrees

    En combinant les schemas excentres avant et arriere ci-dessus, on parvient facile-ment a eliminer le terme dordre h. Reste alors une relation donnant la deriveepremiere `a lordre superieur, soit

    f (x0 ) =f (x0 + h) f (x0 h)

    2h+ O(h2) (3.11)

    que lon ecrira au point x i

    f i =f i+1 f i1

    2h(3.12)

    Ce schema est appele difference nie centre ` a trois points . Il met en jeules 2 points immediatement ` a gauche et a droite du point o`u lon calcule laderivee (ainsi que le point en question mais avec un poids nul). Une conbinai-son differente des deux schemas excentres precedents donne acces ` a un schemadordre h2 pour la derivee seconde de f , soit

    f (x0) =f (x0 + h) 2f (x0) + f (x0 h)

    h2+ O(h2 ) (3.13)

    que lon ecrira

    f i = f i+1 2f i + f i1h2 (3.14)Ces deux schemas sont tres courants dans les problemes aux derivees ordinaireset aux derivees partielles. Il est important de remarquer quils imposent unechantil lonnage regulier des points denissant f .

    3.2.4 Schemas dordres eleves

    La relation (3.11) introduit deux effets de bords, lun ` a gauche pour et lautre ` adroite. On peut bien-s ur utiliser les differences en avant et en arriere donnees parla relation (3.10) mais elles sont dordre inferieur. Pour que lordre soit le memepartout `a linterieur de lintervalle comme sur les bords, on peut construire des

    schemas excentres dordre h2. Ils sont donnes au point x i par

    f i = 3f i + 4 f i1 f i2

    2h(3.15)

    ou le signe + vaut pour la difference en avant (pour i = 1) et le signe pourla difference en arriere (en i = N ). Des schemas dordres plus eleves existent,avec des effets de bords encore plus etendus, comme cette formule

    f i = f i+2 + 8 f i1 8f i1 + f i212h (3.16)precise a lordre 4.

  • 8/6/2019 Cours_Methode_numerique

    30/110

    30 CHAPITRE 3. D ERIVATION

    x

    x x1 2 x 3

    y

    y

    y 1

    2

    3

    f(x)

    approximationyde Lagrange: y=P (x) 2

    Figure 3.2: Lapproximation polyn omiale permet de calculer les derivees suc-cessive dune fonction en tout point dun intervalle.

    3.2.5 Echantillonage quelconque

    On peut bien-sur etendre ces schemas au cas dune fonction irregulierementechantillonee. Par exemple, pour trois points consecutifs x i1 , xi et x i+1 , telsque h = x i x i1 et h = x i+1 xi avec h = h , on montre que les deriveespremiere et seconde peuvent sexprimer par les schemas

    f i =hf i+1 + ( h h )f i h f i1

    2hh(3.17)

    et

    f i =(h + h )(hf i+1 + h f i1) + ( h h )2f i

    2h2h 2(3.18)

    respectivement.

    3.3 Methode generale

    Lune des difficultes liee `a lutilisation des schemas ci-dessus est que lon nepeut pas calculer la derivee en dehors des points de lechantillon. Un methodeplus generale simpose. Classiquement, on remplace, au moins localement, lafonction f par une fonction analytique simple que lon derivera par la suite.Il sagit le plus souvent dun polyn ome P N (x) de degre N . Pour construire cepolyn ome, il faudra N +1 points, au moins (dans certains cas, on pourra prefererrealiser un ajustement ). On peut partir des polyn omes de Lagrange et de New-

    ton, particulierement bien adaptes ` a linterpolation, et on prendra garde de nepas utiliser des polynomes de degres trop eleves au risque de voir apparatre lephenomene de Runge (des oscillations; voir le chapitre 4). Lestimation la plussimple de la derivee sera obtenue en assimilant la fonction ` a une droite, soitf (x) P 1 (x), construite `a partir de 2 points de lechantillon, ce qui redonne lesschemas excentres dordre h etablis plus haut.

    Lutilisation des approximants (polynomiaux) permet egalement le calculdes derivees seconde, troisieme, etc. de f de maniere completement analytique.Cest tres pratique, bien quil ny ait pas de garantie de precision sur des deriveesdordre eleve.

  • 8/6/2019 Cours_Methode_numerique

    31/110

    3.4. PAS OPTIMUM 31

    i+1pas h=x -x i

    precision

    h opt

    Figure 3.3: La precision sur la derivee numerique dune fonction depend forte-ment du pas. En general, il existe un pas optimum hopt qui correspond `a laprecision la plus grande possible copmpte-tenu des erreurs de troncature desschemas et des erreurs darrondis.

    Enn, mentionnons quil existe des methodes qui emploient non seulementdes informations sur la fonction mais aussi sur sa ou ses derivees en x i , comme lesmethodes de Bernouilli, de Bessel, de Aitken ou de Everett. Ces methodes sontaussi utilisees dans les interpolations et les quadratures. Ici, elles permettraientdestimer la derivee en x = x i avec une precision bien superieure ` a celle obtenuepar les seules differences nies sur f . Dans lobjectif dutiliser ces methodes quenous nexposerons pas ici, il donc est recommander de generer une table pluscomplete, du type {(x i , f (x i ), f (xi ), . . . )}N .

    3.4 Pas optimum

    La precision du calcul de derivee se trouve limitee par deux effets cumulatifs:lun est lie au schema utilise et lautre vient des erreurs de representation demachines. De ce fait, et contrairement ` a ce que lon pourrait penser, fairetendre le pas h vers zero ne donne pas une precision innie. En dautres termes,il existe un choix optimum hopt pour h qui correspond `a une precision-seuil quilest impossible de franchir. Cet effet est illustre ` a la gure 3.3. Par exemple,pour le schema (3.11), lerreur de troncature varie comme h2 , alors que lerreurde representation varie comme 1 /h . On peut dans ce cas montrer que le pasoptimum est approximativement donne par

    hopt E M

    1/ 3

    (3.19)

    ou E correspond aux erreurs darrondis dans le calcul de f (cest souvent unpeu plus que la precision machine) et o` u M correspond a lerreur de troncature(cest en fait le majorant de la derivee troisieme sur lintervalle). Pour les fonc-tions simples, hopt pourra etre tres petit et approcher la precision machine. Unexemple est donne ` a la gure 3.4.

  • 8/6/2019 Cours_Methode_numerique

    32/110

    32 CHAPITRE 3. D ERIVATION

    1016

    1014

    1012

    1010

    108

    106

    104

    102

    h

    1013

    1011

    109

    107

    105

    103

    101

    101

    103

    y

    ( x

    ) = | y ( x

    ) e

    x|

    x=10

    x=0

    Figure 3.4: Exemple illustrant lexistence dun pas optimum hopt pour le calculde la derivee de la fonction ex en x = 0 et x = 10. Ici, hopt 10

    9 .

    3.5 Extrapolation de Richardson

    Une methode puissante pour accrotre lordre dun schema de derivation estlextrapolation de Richardson . Par cette methode, lamelioration de la precisionest obtenue en considerant, quand cest possible, la derivee pour differents pas

    h0 h, h 1 h02

    , h2 h022

    , . . . , h n h02n

    et en combinant les derivees obtenues pour chacun de ces pas. Ainsi, si f [hk ]designe la derivee en un point obtenue pour le pas hk = h 02k , alors une meilleureapproximation est donnee par

    f 2k f [hk+1 ]f [hk ]

    2k 1(3.20)

    En pratique, on gagne au moins un ordre, comme le montre lexemple de lagure 3.5.

    3.6 Exercices et problemes

    Trouvez les schemas de differences nies centrees, en avant et en arrierepour les derivees seconde et troisieme.

    Retrouvez les relations (3.17) et (3.18). Quel est leur ordre ?

    Retrouvez la relation (3.16) en utilisant uniquement le schema de derivationcentree.

    Etablissez le schema (3.11) ` a laide de lapproximation polynomiale deLagrange.

  • 8/6/2019 Cours_Methode_numerique

    33/110

    3.6. EXERCICES ET PROBL EMES 33

    0 10 20 30k

    10 15

    10 13

    10 11

    10 9

    10 710

    5

    10 3

    10 1

    y ( 0 ) = | y ( 0 ) 1 |

    difference avant (FDF)difference centreeextrapolation de Richardson (diff. centree)

    Figure 3.5: Calcul de la derivee de ex en x = 0 pour differents pas hk = 2 k .

    Generez un ensemble de N points {(x i , f i )}N pour une fonction f connueet calculez la derivee en chaque point x i de lechantillon pour differentes largeursdintervalle et comparez ` a la valeur vraie. Quel intervalle conduit ` a la meilleureestimation ?

    Tracez lerreur commise sur la derivee dune fonction connue, par exemplef (x) = sin x, en fonction de la largeur h de lintervalle. Deduisez la largeur laplus pertinente. Comparez les resultats avec les derivees estimees par un ensem-ble de p points {(x i , f (x i ))} p . Reprennez ces questions avec un schema dordreplus eleve.

    Quelle est lordre de grandeur du pas optimum permettant de calculerau mieux la derivee premiere par le schema centre ` a 5 points ? et la deriveeseconde par le shema centre ` a 3 points ?

    Dans quelle(s) condition(s) les schemas centres ` a 3 et a 5 points donnent-ils des resultats similaires ?

    Demontrez la relation (3.20)

  • 8/6/2019 Cours_Methode_numerique

    34/110

    34 CHAPITRE 3. D ERIVATION

  • 8/6/2019 Cours_Methode_numerique

    35/110

    Chapitre 4

    Polyn omes, interpolationset ajustements

    Les polynomes constituent une famille de fonctions tout ` a fait remarquableen Mathematiques. Ils sont aussi un outil essentiel du calcul et de lanalysenumerique, notamment dans levaluation ou lapproximation des fonctions, dansles problemes dinterpolation et dextrapolation, dans la resolution dequationsdifferentielles, etc. Rappelons quun polyn ome de degre N , note P N , est de laforme

    P N (x) = a0 + a1x + a2x2 + a3x3 + + aN 1xN 1 + aN xN (4.1)ou aN = 0. Il a au plus N racines distinctes r k , reelles ou imaginaires, tellesque P N (rk ) = 0. Ses derivees successives sont aussi des polyn omes, avec

    P N (x) = a1x + 2 a2x + 3 a3x2 + + ( N 1)aN 1xN 2 + Na N xN 1 (4.2)

    P N (x) = a1 + 2 a2 + 6 a3x + . . .

    + ( N 1)(N 2)aN 1xN 3 + N (N 1)aN xN 2 (4.3). . .

    P (N )N (x) = aN N ! (4.4)et

    P (N + j )N (x) = 0 , j 1, pour tout x. (4.5)

    4.1 Formes polyn omiales remarquables

    On peut ecrire un polyn ome de plusieurs fa cons, selon lutilisation que lon enfait. Parmi les formes les plus interessantes, on trouve les formes de Taylor, deLagrange et de Newton.

    4.1.1 Forme de Taylor

    Elle est construite `a partir de la forme (4.1), soit

    E N (x) = P N (x x0 )= a0 + a1(x x0) + a2(x x0 )2 + + aN (x x0 )N (4.6)

    35

  • 8/6/2019 Cours_Methode_numerique

    36/110

    36 CHAPITRE 4. POLYN OMES, INTERPOLATIONS ET AJUSTEMENTS

    Pour toute fonction f (x), on peut en principe contruire le Polyn ome de Taylorassocie E N (x) tel que f (x) P N (x). Il suffit de connatre les derivees de f jusqua lordre N , soient f (x), f (x), . . . , f (N 1) et f (N ) . Les coefficients akde la serie sont alors donnes par

    ak =f (k ) (x0)

    k!, k = 0 , N (4.7)

    et lerreur faite sur lapproximation est de lordre de f ( N +1) (x 0 )(N +1)! (x x0)N +1 .

    4.1.2 Forme de Lagrange

    Elle secrit

    LN (x) =N

    k=0

    yk LN,k (x) (4.8)

    ou LN,k (x) sont les coefficients de Lagrange denis par

    LN,k (x) =(x x0) . . . (x xk1 )(x xk+1 ) . . . (x xN )

    (xk x0) . . . (xk xk1 )(xk xk+1 ) . . . (xk xN )(4.9)

    et yk = P N (xk ). Notez que ces coefficients sont en fait des polyn omes.

    4.1.3 Forme de Newton

    Elle secrit

    N N (x) = a0 + a1(x x0 ) + a2(x x0)(x x1) + . . .+ aN (x x0 )(x x1 ) . . . (x xN 1) (4.10)

    ou les xk sont les centres . En particulier, on voit que

    N N (x) = N N 1(x) + aN (x x0)(x x1) . . . (x xN 1 ) (4.11)

    4.2 Quelques polyn omes remarquables

    Les polynomes de Legendre, de Chebyshev et de Hermite dont nous donnons ci-dessous une forme generatrice forment une famille de polyn omes orthogonaux.Ils jouissent dun certain nombre de proprietes interessantes que lon retrouveradans des ouvrages specialises.

    4.2.1 Polyn omes de Chebyshev

    Ils sont denis par la relation de recurrence

    T k (x) = 2 xT k1 (x) T k2 (x) (4.12)avec T 0(x) = 1 et T 1(x) = x. En particulier, les polynomes sont pairs pour k pairet impairs pour k impair. Sur lintervalle [ 1, 1] sur lequel ils sont essentielle-ment utilises (voir la gure 4.1), ils sont de norme nie avec |T k (x)| 1. Lesk racines de T k (encore appelees noeuds ) sont donnes par r j = cos 2N (2 j + 1), j = 0 , k 1.

  • 8/6/2019 Cours_Methode_numerique

    37/110

    4.3. EVALUATION DUN POLYN OME 37

    1.0 0.5 0.0 0.5 1.0

    x

    1.0

    0.5

    0.0

    0.5

    1.0

    T k

    ( x )

    k=1

    k=2

    k=10

    k=50

    Figure 4.1: Polynome de Chebyshev de premiere espece T k (x) sur [1, 1] pourk = 1 , 2, 10 et 50.

    1.0 0.5 0.0 0.5 1.0

    x

    1.0

    0.5

    0.0

    0.5

    1.0

    P k

    ( x )

    k=2

    k=3

    k=10

    k=50

    Figure 4.2: Polynome de Legendre P k (x) sur [1, 1] pour k = 2 , 3, 10 et 50.

    4.2.2 Polyn omes de Legendre

    Ils sont denis par la relation de recurrence

    (k + 1) P k+1 (x) = (2 k + 1) xP k (x) kP k1(x) (4.13)avec P 0(x) = 1 et P 1(x) = x. Leur parite est celle k. Sur lintervalle [1, 1](voir la gure 4.2), ils satisfont |P k (x)| 1.

    4.2.3 Polyn omes de HermiteIls sont denis par la relation de recurrence

    Hk+1 (x) = 2 xHk (x) 2kHk1(x) (4.14)avec H0(x) = 1 et H1 (x) = 2 x (voir la gure 4.3). Il ont la meme parite que k.

    4.3 Evaluation dun polyn ome

    Calculer la valeur P N (x) dun polyn ome en un point x nest pas aussi immediatquon pourrait le penser, en particulier lorsque les coefficients a k sont tres

  • 8/6/2019 Cours_Methode_numerique

    38/110

    38 CHAPITRE 4. POLYN OMES, INTERPOLATIONS ET AJUSTEMENTS

    2 1 0 1 2

    x

    20

    10

    0

    10

    20

    H k

    ( x )

    k=2

    k=3

    k=4

    k=102 1 0 1 2

    x

    200000

    100000

    0

    100000

    200000

    H 1 0

    ( x ) e

    t H

    1 1

    ( x )

    Figure 4.3: Polynome de Hermite Hk (x) sur [2, 2] pour k = 2 , 3, 4, 10 et 11.

    differents les uns des autres, ou quand lordre du polyn ome est eleve (dis-ons N 5). Comme pour levaluation de nimporte quelle fonction simple,on sattend navement ` a ce P N (x) soit connu a la precision de la machine;mais les erreurs numeriques (representation et annulation soustractive) peu-

    vent etre importantes sans precautions particulieres, notamment ` a cause deloperation delevation ` a la puissance. Plut ot que dappliquer stricto sensu leschema suggere par la relation (4.1), cest-` a-dire

    Ya 0 + a 1 x + a 2 x2 + + a NxN, (4.15)il est preferable de faire appel, si possible, ` a la forme imbriquee , ou encore formede Horner ou P N (x) est re-ecrit de la fa con suivante

    P N (x) = a0 + x(a1 + x(a2 + x(a3 + + x(aN 1 + aN x))))) (4.16)Sous cette nouvelle forme, lalgorithme devient recursif avec

    YxY

    a Nk + a Nk + 1 Y, k = 1, N,

    et il donc tres facile `a programmer. A la n du cycle, la valeur du polyn ome estcontenue dans la variable intermediaire Y. Alors que le schema (4.15) compteenviron N

    2

    2 operations (essentiellement des multiplications), celui-ci nen compteplus que 2N environ (multiplications et additions). Il est donc plus rapide, maissurtout, il diminue les risques derreurs.

    On voit que les formes de Taylor et de Newton sont particulierement bienadaptees au calcul numerique de ce type. Pour les polyn omes qui peuvent etredirectement denis par une relation de recurrence, comme les polyn omes de Leg-endre, de Chebyshev, de Hermite ou autre, la methode de Horner ne presentepas dinteret, car on utilisera evidemment le schema recursif associe.

  • 8/6/2019 Cours_Methode_numerique

    39/110

    4.4. INTERPOLATIONS ET EXTRAPOLATION 39

    0 10 20 30 40 50ordre k du polynome de Legendre

    15

    10

    5

    0

    l o g

    1 0

    [ 1

    P k

    ( 1 ) ]

    Figure 4.4: Exemple derreur commise sur le calcul de P 2k (1) lorsque lon utiliseun developpement en serie des polyn ome de Legendre plutot que la relation derecurrence (qui donne P 2k (1) = 1 a la precision de la machine, pour tout k).

    4.4 Interpolations et extrapolation

    On designe par interpolation , loperation qui consite ` a estimer la valeur dunefonction f en un point dabscisse x = c de lintervalle [ x1 , xN ], sachant que f estuniquement connue sous forme tabulee {(x i , f i )}N . Lorsque c < x 1 ou c > x N ,on parle dextrapolation .

    4.4.1 Interpolation lineaire

    Linterpolation la plus simple est linterpolation lineaire qui secrit ` a une dimen-sion

    f (c) = pf j + (1 p)f j +1 , 1 j N 1 (4.17)ou [x j , x j +1 ] est le sous-intervalle contenant c et

    p =x j +1 xx j +1 x j

    (4.18)

    Cette methode est imparable. Non seulement elle est rapide et ne pre-supposepas un espacement regulier des points, mais elle assure que f (c) est toujourssitue dans le rectangle deni par les points diametralement opposes ( x j , f j ) et(x j +1 , f j +1 ). Son inconvenient ma jeur, surtout si lechantillonnage est diffus,est illustre `a la gure 4.5: elle produit une fonction dapparence non lissee,plut ot en ligne brisee. Ceci peut etre tres genant (en particulier, la deriveepremiere est discontinue).

    4.4.2 Approximations polynomiales

    On remedie au probleme ci-dessus gr ace a un polyn ome dordre N > 1. Commela fonction est tabulee en N points, il existe toujours un polyn ome de degre

  • 8/6/2019 Cours_Methode_numerique

    40/110

    40 CHAPITRE 4. POLYN OMES, INTERPOLATIONS ET AJUSTEMENTS

    x

    y

    interpolation lineaire

    Figure 4.5: Linterpolation lineaire produit toujours une fonction en ligne brisee(sauf lorsque les points sont exactement alignes!).

    N 1 qui passe par ces N points. En pratique, on cherche N coefficients a k ,tels que P N 1(x i ) = f (x i ), puis lon estime f (c) via P N 1 . On obtient alors unsysteme lineaire de N equations o`u les N inconnus sont les coefficients a k de ladecomposition que lon peut en principe resoudre par les methodes standards.Il sagira dinverser la matrice de Vandermonde V associee

    V =

    1 x1 x21 . . . xN 11

    1 x2 x22 . . . x

    N

    1

    2

    1 x2 x23 . . . xN 13

    . . . . . . . . . . . . . . .

    1 xN x2N . . . xN 1N

    (4.19)

    Une methode beaucoup plus rapide, car plus directe consiste ` a utiliser lespolyn omes de Lagrange (voir la gure 4.6) dont la construction est tres ingeni-euse. Nous voyons en effet que pour x = xk , tous les coefficients de Lagrangesont nuls sauf LN,k (xk ) qui vaut 1. Autrement dit, en imposant LN (x) = f (x)en tous les points de collocation, le probleme de linterpolation se resumera aucalcul de ces coefficients donnes par la formule (4.8) et ` a lapplication de la re-lation (4.9) avec x = c. On realise alors une approximation de Lagrange . Notezque lorsque les points sont regulierement espaces, le calcul des coefficients deLagrange se simplie: leur denominateur vaut hN 1 , ou h est lespacemententre les points. Cette methode est donc tres efficace, ` a condition que les ab-scisses soient xes.

    Autre methode efficace, celle qui consiste ` a construire les polynomes deNewton. Comme le montre la relation (4.10), N N 1(x0 ) = a0 = f (x0). Par

  • 8/6/2019 Cours_Methode_numerique

    41/110

    4.4. INTERPOLATIONS ET EXTRAPOLATION 41

    x

    x x1 2 x 3

    y

    y

    y 1

    2

    3

    f(x)

    approximationyde Lagrange: y=P (x)2

    Figure 4.6: Lapproximation de Lagrange consiste ` a faire passer un polynomede degre N 1 par N points tabules ( x i , f (x i ))N .

    consequent N N 1 (x 0 )a 0xx 0 est un polyn ome de Newton. Il secrit

    N N 1(x0 ) a0x x0

    = a1 + a2(x x1) + + aN (x x1) . . . (x xN 1)

    N ( I )N 2(x) (4.20)

    En particulier, en x = x1 , il fournit a1 = f (x1). A son tour, N ( I )

    N 2 (x 1 )

    a 1

    xx 1 estun polyn ome de Newton qui permet de calculer a 2 , etc. En poursuivant ceprocede que lon appelle processus des differences divisees , on trouve tous lescoefficients du polyn ome de Newton, donc le polynome interpolant. On auradonc f (c) = N N 1(c). On realise alors une approximation de Newton .

    4.4.3 Phenomeme de Runge

    Si lon peut toujours faire passer un polyn ome par un ensemble de N points,la fonction interpolante na pas le r ole de lissage que lon pourrait lui preterintuitivement ou que lon souhaiterait. Comme lindique la gure 4.8, le resultat

    peut donner des oscillations, ou phenomene de Runge , en particulier lorsque N est grand. Autrement dit, si lerreur dinterpolation est nulle sur les points decollocation par construction, elle peut etre grande entre eux. Lordre nest passeul en cause: le phenomene peut disparatre avec un espacement irregulier.

    Mentionnons `a ce propos que linterpolation est un processus qui generede linformation l a ou elle nest en principe pas disponible. Il faudra doncgarder a lesprit que toute operation qui pourra etre effectuee ` a partir dunevaleur ou dune fonction interpolee (par exemple les operations de derivation)sera entachee dune erreur pouvant etre tres importante. De ce point de vue,lextrapolation, dont nous navons pas parle, doit etre manipulee avec uneextreme prudence, surtout si le point c est loin de lintervalle de tabulation.On peut trouver ` a peu pres nimporte quoi.

  • 8/6/2019 Cours_Methode_numerique

    42/110

    42 CHAPITRE 4. POLYN OMES, INTERPOLATIONS ET AJUSTEMENTS

    x

    x x1 x

    y

    y 1

    y f(x)

    5 9

    9

    approximation

    Figure 4.7: Oscillations apparaissant quand on tente de faire passer un polyn omede degre eleve par un ensemble de points.

    4.4.4 Methode generale

    Enn, les polyn omes comme base de fonctions interpolantes nest evidemmentpas le seul choix possible; on peut en pratique utiliser dautres types de fonctionsf k (x) (voir 4.6). Le principe reste le meme. On cherchera a representer lafonction tabulee par une fonction analytique du type

    f (x) k

    ak f k (x) = I (x) (4.21)

    ou lon imposera f i

    =

    I ipour touts les points tabules. Lecriture des N con-

    traintes fournira les coefficients ak .Signalons quil existe des methodes qui utilisent des informations sur la ou les

    derivees successives de la fonction ` a interpoler (comme les formules de Bessel etde Everett). Rares toutefois sont les cas o` u lon dispose de ce type dinformation.Autrement dit, si des donnees doivent etre re-utilisees et extrapolees, il peut etre judicieux de generer en meme temps que f , sa derivee premiere (au moins) etdappliquer ces methodes speciques.

    4.5 Principes de lajustement

    Dans le processus dinterpolation, on utilise tous les points de mesure pour con-

    struire un polynome P N ou une fonction interpolante I (x). Comme nous lavonsmentionne, cette operation peut saverer numeriquement risquee pour N grand.Elle peut egalement etre denuee de sens physique, par exemple si les pointstabulees decrivent une loi lineaire tout en affichant une certaine dispersion. Ilest frequent de rencontrer ce type de situation lorsque les points sont issus duneexperience o`u chaque mesure est entachee dune erreur. On peut alors souhaiterextraire une correlation simple entre deux variables x et y dun echantillon sanspour autant vouloir une fonction interpolante qui passe par tous les points. Oncherche alors a realiser un ajustement (ou curve tting en anglais). Cet ajuste-ment peut mettre en jeu une fonction tout-` a-fait quelconque. Le plus souvent,on travaille avec un polyn ome P k de degre k tel que k + 1 < N , N etant lenombre de points de collocation. La question qui se pose alors est la suivante:

  • 8/6/2019 Cours_Methode_numerique

    43/110

    4.6. SPLINES 43

    x

    y

    f(x)=ax+bregression lineaire

    Figure 4.8: Dans les problemes dajustement, on cherche ` a minimiser la distanceentre les points de collocation et la fonction dajustement f .

    comment, une fois la fonction selectionnee, trouver ses parametres de manierea realiser le meilleur ajustement ? Le procede est quasiment toujours le meme.On commence par calculer, pour chaque point de lechantillon, la distance di ala courbe de la fonction, ce qui se solde par lecriture de N equations. Puis, lonimpose que la distance totale i |di | soit la plus petite possible.Par exemple, pour trouver la droite moyenne dequation y = ax + b (aet b etant les parametres de la fonction ` a determiner) passant au mieux unechantillon contenant N points ( x i , yi ), on peut montrer quil faut en fait resoudreles deux equations suivantes

    aN

    i

    x2i + bN x N

    i

    xi yi = 0

    a x b y = 0ou x est la moyenne des {x i}, et y celle des {yi}. La solution de ce systeme(les coefficients a et b) est generalement triviale ` a calculer. Toutes les calculatri-ces scientiques sont equipees dun petit programme de ce type que lon invoqueen appuyant sur la touche regression lineaire .

    4.6 Splines

    Recapitulons: lapproximation polynomiale devient critique lorsque le nombrede points de mesure est grand et lajustement par un polyn ome de bas degrepeut etre insatisfaisant. Une premiere alternative est donne par linterpolationlineaire mais elle conduit ` a une fonction interpolee en ligne brisee. Commentfaire alors pour arrondir les angles ? La reponse est proposee par la constructiondune fonction spline cubique S (x): cest une fonction denie par morceaux,comme linterpolant lineaire, mais elle possede les caracteristiques suivantes

    sur chaque intevalle [ x i , x i+1 ], la fonction S (x) est un polyn ome du troisiemedegre. On le note P 3; i,i +1 (x) la fonction S (x) passe par tous les points de lechantillon, quelque soit leurnombre. Cest-`a-dire que P 3; i,i +1 (x i+1 ) = P 3; i+1 ,i +2 (x i+1 ).

  • 8/6/2019 Cours_Methode_numerique

    44/110

    44 CHAPITRE 4. POLYN OMES, INTERPOLATIONS ET AJUSTEMENTS

    y

    x

    x x x

    y

    y 1

    y

    5 9

    9

    Spline cubique

    approximation

    polynomiale

    regressionlineaire

    1

    Figure 4.9: Regression, approximation polynomiale et spline cubique.

    S (x) est continue sur chaque noeuds, soit P 3; i,i +1 (x i+1 ) = P 3; i+1 ,i +2 (x i+1 ) S (x) est continue sur chaque noeuds, soit P 3; i,i +1 (x i+1 ) = P 3; i+1 ,i +2 (x i+1 )

    Lensemble de ces contraintes denit un certain nombre de relations entre lesN 1 polynomes P 3; i,i +1 (x) qui permettent en principe de les caracterisercompletement, cest-` a-dire de trouver les 4( N 1) coefficients. Le resultat estgeneralement assez spectaculaire: le spline passe par tous les points tabules etpresente les caracteristiques (au moins visuelles) dune fonction de lissage sansproduire doscillations pour N eleve. Cest probablement lune des meilleuresmethodes qui existe (voir la gure 4.9).

    4.7 Exercices et problemes

    Ecrivez un algorithme de calcul dun polyn ome de Lagrange mettant enoeuvre un schema recursif de type Horner.

    Ecrivez les polyn omes de Legendre sous la forme de Horner.

    Calculer les valeurs du polyn ome de Legendre P 10 (x) sur [1, 1] de troismanieres differentes: (i) sous la forme developpee du type (4.1), (ii) en utilisantla relation de recurrence (4.13) et (iii) ` a partir de la forme de Horner (4.16).Comparer le nombre doperation et la precision obtenue.

    Retrouver la relation (4.17).

    Retrouvez par lapproximation de Lagrange, lequation de la parabole quipasse par les points ( 1, 1), (0, 0) et (1 , 1).

    Comparez, en terme de nombdre doperationselementaires, lapproximationde Lagrange et la methode des differences divisees de Newton.

  • 8/6/2019 Cours_Methode_numerique

    45/110

    4.7. EXERCICES ET PROBL EMES 45

    Etablissez la formule dinterpolation lineaire ` a 2 dimensions.

    Retrouvez les 2 equations ci-dessus. Comment se transforment-elles si laregression est quadratique en x ? en y ? si elle est en loi de puissance ?

    Dressez le bilan des contraintes sur les coefficients de S (x) et montrer quele systeme est, en fait, indetermine.

  • 8/6/2019 Cours_Methode_numerique

    46/110

    46 CHAPITRE 4. POLYN OMES, INTERPOLATIONS ET AJUSTEMENTS

  • 8/6/2019 Cours_Methode_numerique

    47/110

    Chapitre 5

    Quadratures

    5.1 RappelsRappelons que lintegrale denie I dune fonction f de la variable x sur un inter-valle [a, b] represente laire, comptee algebriquement, comprise entre la courberepresentative de la fonction, laxe des abscisses et les droites dequations x = aet x = b (voir la gure 5.1), soit la quantite

    I = b

    af (x)dx = F (b) F (a) =

    b

    a

    dF dx

    dx (5.1)

    Cest une integrale denie dont le resultat est un scalaire . On pourra doncfacilement former une nouvelle fonction F de la variable b, primitive de f (ouencore integrale indenie ), telle que

    F (b) = b

    af (x)dx + F (a) (5.2)

    Le recouvrement des techniques presentees ici avec celles dediees ` a la resolutiondes equations differentielles ordinaires (voir le chapitre 7) est immediat puisqueF est solution de lequation

    dF dx

    = f (x) (5.3)

    A

    B

    y

    D x

    a b

    C

    f(x)

    Figure 5.1: Integrale denie dune fonction f (surface hachuree ). Dans lamethode dintegration des trapezes, on assimile cette fonction ` a une fonctionlineaire et lintegrale est donne par laire du trapeze ABCD ( surface grisee ).

    47

  • 8/6/2019 Cours_Methode_numerique

    48/110

    48 CHAPITRE 5. QUADRATURES

    ou la primitive prend la valeur F (a) en x = a. En pratique, lapproximation deI seffectue le plus souvent a laide de combinaisons lineaires des valeurs de f ,et eventuellement de ses derivees, calculees dans lintervalle [ a, b].

    Il est important dajouter que lintegrale o` u la primitive dune fonction an-alytique peut ne pas etre analytique, contrairement au calcul des derivees. Lesmethodes presentees ici concernent de telles situations, incluant les cas tresfrequents o`u la fonction est denie par un ensemble de points {(x i , yi = f (x i ))},par exemple issus de mesures experimentales.

    5.2 Methode des trapezes

    La methode la plus directe est la methode des trapezes qui se resume au schemasuivant

    I

    ba

    2(f (a) + f (b)) , (5.4)

    explicite ici a un seul et unique trapeze dont les aretes sont les quatre pointsA(a, 0), B(a, f (a)), C( b, f (b)) et D( b,0). Comme le montre la gure 5.1, celarevient a assimiler la fonction `a une droite. De ce fait, la methode des trapezesne donne un resultat exact que lorsque la fonction est une fonction lineaire.On peut aisement se convaincre (au moins graphiquement) que lapproximation(5.4) sera dautant meilleure que la fonction f aura un gradient essentiellementconstant sur lintervalle [ a, b]. Tout depend de la precision souhaitee.

    La relation approchee (5.4) peut-etre interpretee legerement differemment.En supposant que f est constante sur lintervalle, on a

    b

    af (x)dx = f (x)

    b

    adx = f (c)(ba), (5.5)

    ou c est a determiner. On retrouve le resultat precedent en choisissant c tel quef (c) = 12 (f (a) + f (b)) (cest la valeur moyenne de f pour lechantillon ` a deuxpoints).

    Notez quil ny a aucune raison des privilegier les bords. En dautres termes,on peut tres bien considerer le schema suivant

    b

    af (x)dx = f (m)(ba), (5.6)

    ou m est le milieu de lintervalle, soit m = a +b

    a

    2 . Cest la methodes desrectangles .

    5.2.1 Precision

    La methode des trapezes necessite deux evaluations de la fonction, aux pointsx1 = a et xN = b. Cest un schema `a 2 points . Il est dordre h3 (avec h = ba),ce qui signie que lerreur commise sur I est proportionnelle ` a h3 . On peutsen convaincre en considerant b inniment proche de a, de tel sorte quundeveloppement de Taylor autour de a donne

    f (x) = f (a) + ( x a)f (a) + O((x a)2 ) (5.7)

  • 8/6/2019 Cours_Methode_numerique

    49/110

    5.2. M ETHODE DES TRAP EZES 49

    A

    B

    y

    D x

    a b

    C

    f(x)

    A

    B

    y

    D x

    a b

    f(x)C

    Figure 5.2: Pour les fonctions qui presentent de fortes variations sur lintervalledintegration ou si lintervalle est trop grand, la methode des trapezes peutdonner nimporte quoi, a moins quelle ne soit utilisee sur des sous-intervallesreguliers ( methode composee ) ou irreguliers o`u lon concentre le decoupage dansles zones de forts gradients ( methode composee adaptative ).

    pour x[a, b]. En reportant cette expression dans la relation (5.5), on trouve

    b

    af (x)dx =

    ba2

    (f (a) + f (b)) + b

    a O (x a)2 dx (5.8)

    ba

    2(f (a) + f (b)) + O(h3) (5.9)

    Notez quil y a une difference essentielle entre derivation et dintegration: pourun schema `a deux points, la premiere est dordre h alors que la seconde estdordre h3 .

    5.2.2 Version composee

    On peut augmenter lordre de la methode, cest-` a-dire reduire lerreur, gr acea la methode des trapezes composee qui consiste a decouper lintervalle [ a, b]en 2, 3, . . . ou N 1 sous-intervalles de largeur constante h = x i+1 xi , aveci[1, N 1]. Dans ces conditions, on montre facilement que

    I h2

    (f (a) + f (b)) + hN 1

    i=2

    f i (5.10)

    ou f i f (x i ). Formellement, lordre na pas change: cest toujours h3 , maish est plus petit. On voit donc que si N 1, alors h ba et la precision estmeilleure. Une autre facon de sen convaincre est de remarquer que h =

    b

    a

    N 1 ,cest-a-dire que pour un intervalle donne, la precision varie approximativementcomme N 3 . Notez que ce gain nest pas sans efforts: il faudra ` a present N + 1evaluations de la fonction, ce qui se solde par un temps de calcul plus grand.

    5.2.3 Decoupage adaptatif

    On peut proceder ` a un decoupage adaptatif de lintervalle en sous-intervallesde largeurs inegales, par exemple dans les zones o` u la fonction presente deforts gradients. Cest un peu plus difficile ` a gerer car il faut savoir reperernumeriquement de telles zones. On peut ` a cet effet, faire appel a la deriveeseconde de f .

  • 8/6/2019 Cours_Methode_numerique

    50/110

    50 CHAPITRE 5. QUADRATURES

    A x

    a

    CB

    f(x)

    b

    D

    y

    Figure 5.3: Quand une fonction est singuliere, on peut, en premiere approxima-tion, utiliser une formule ouverte ou semi-ouverte.

    5.2.4 Schemas ouvert et semi-ouvert

    Rien noblige a utiliser tous les points de lechantillon. On peut en effet ecarterun ou plusieurs point(s) particulierement genant(s). Par exemple, si f divergeen b (voir la gure 5.3), on pourra remplacer le schema (5.4) par

    I hf (a) (5.11)Cest ce que lon appelle un schema semi-ouvert . Dans un schema ouvert ,

    deux points sont laisses de cote. Bien-s ur, dans ce genre de traitement, il nefaut pas sattendre ` a un resultat precis. Il existe des techniques permettant detraiter correctement les singularites.

    5.3 Methodes de Simpson

    La methode des trapezes est simple et efficace, mais elle necessite souvent unechantillonnage tres dense. On peut avoir recours utilise ` a des schemas plusprecis, comme par exemple au premier schema de Simpson

    I h3

    (f (a) + 4 f 2 + f (b)) , (5.12)

    ou f 2 f (x2 ), h = x3 x2 = x2 x1 , a x1 et b x3 . Cest unschema `a 3 points . Il est dordre h5 et suppose un echantillonnage regulier.On pourrait montrer quil correspond en fait ` a lapproximation de la fonction

    par un polynome de degre 2, passant par les points dabscisses x1 , x2 et x3 .Le schema de Simpson est, de fait, rigoureusement exact pour une fonction dutype: y(x) = x 2 + x + .

    Comme pour la methode des trapezes, on peut proceder ` a un decoupage delintervalle dintegration en N 1 sous-intervalles egaux et appliquer le schemaelementaire ci-dessus sur chaque sous-intervalle. On realise alors un schema deSimpson compose . Le decoupage peut egalement etre adaptatif.

    Il existe une seconde regle de Simpson , dordre h5 egalement. Le schema est

    I =3h8

    (f 1 + 3 f 2 + 3 f 3 + f 4) , (5.13)

  • 8/6/2019 Cours_Methode_numerique

    51/110

    5.4. FORMULES DE NEWTON-COTES 51

    Cest donc un schema `a 4 points . Il est obtenu par un polyn ome interpolant dedegre 3.

    5.4 Formules de Newton-CotesOn peut construire des schemas encore plus precis gr ace a linterpolation poly-nomiale. La regle generale est la suivante: un schema ` a k+1 points regulierementespaces doit donner un resultat exact pour tout polyn ome P k (x) de degre k. Les schemas associes font partie de ce que lon appelle classiquement lesquadratures de Newton-Cotes . La methode des trapezes correspond ` a k = 1,celles de Simpson a k = 2 et 3. Le schema de Boole

    I =2h45

    (7f 1 + 32 f 2 + 12 f 3 + 32 f 4 + 7 f 4) , (5.14)

    est obtenu avec k = 4, etc. Plus le degre du polyn ome est eleve, plus lordre duschema est eleve et donc, plus la precision est grande. La seule limitation est lenombre p de points disponibles dans lechantillon: il doit satisfaire k p 1.On evitera toutefois de construire des schemas mettant en jeu des polyn omesde degres tres eleves.

    5.5 Schemas recursifs

    Pour les formules de Newton-Cotes, on peut mettre en place des methodesrecursives qui permettent dune part de limiter le nombre devaluation de lafonction et dautre part de contr oler la precision de lintegration. Prenons parexemple la methode des trapezes et notons I [h] lapproximation de lintegrale def obtenue en decoupant [ a, b] en J = N

    1 sous-intervalles de largeur h = baJ .

    Pour calculer I [h], il aura ete necessaire devaluer la fonction en J + 1 pointsx1 , . . . , xN . On peut alors montrer que si lon decoupe chaque intervalle en 2faisant apparatre J nouveaux points f newj (il y en a maintenant 2 J au total),