J.-M. Huré1,2 - Laboratoire d`Astrophysique de Bordeaux
Transcription
J.-M. Huré1,2 - Laboratoire d`Astrophysique de Bordeaux
DEA Astrophysique & Méthodes associées Ecole doctorale d’Ile-de-France Universités Paris 7 et 11 — Observatoire de Paris J.-M. Huré1,2 1 LUTh/FRE 2 Université ([email protected]) 2462 CNRS, Observatoire de Paris-Meudon, Place Jules Janssen, F-92195 Meudon Cedex Paris 7 Denis Diderot, 2 Place Jussieu, F-75251 Paris Cedex 05 1 PLAN 1. Quelques références (ouvrages, périodiques, on-line) 2. Généralités sur le calcul numérique (objectifs, erreurs, etc.) 3. Dérivées et différentiations 4. Polynômes, interpolation et ajustements 5. Quadratures 6. Zéro d’une fonction. Systèmes non-linéaires 7. Equations aux dérivées ordinaires (ODEs) 2 1. QUELQUES REFERENCES 3 BIBLIOGRAPHIE • Scientific Computing. An Introductory Survey, M.T. Heath, 2nd Ed McGraw Hill 2002 ? • Numerical methods for Mathematics, Science and Engineering, 1992, J.H. Mathews, Press-Hall International Inc., 2nd edition • Numerical methods that work, 1970, ?? F. S. Acton, ed. Harper Int., New-York, Evanston, and London • Numerical receipes, the art of scientific computing, 1992, W.H. Press et al., CUP, 2nd edition • Analyse numérique pour ingénieurs, 1995, ♥?? A. Fortin, Ed. de l’Ecole Polytechnique de Montréal 4 ? ? ?? ♥ ? ?? BIBLIOGRAPHIE (2) • Introduction to numerical analysis, 1956, F.B. Hildebrand, McGraw-Hill ??? • Numerical analysis, 1961, ? ? ?? Z. Kopal, Chapman & Hall LTD • Computing methods. Vols. I & II, 1965, ? ? ?? I.S. Berezin & N.P. Zhidkov, Pergamon Press LTD • ... 5 REVUES PERIODIQUES • Computer Physics Communications • Computing in Science and Engineering • Journal of Computational Physics • Journal of Mathematical Physics • Mathematics of Computation 6 ON-LINE Guide to Available Mathematical Software ex: le serveur GAMS A cross-index and virtual repository of mathematical and statistical software components of use in computational science and engineering. More Math and Statistics at NIST Do you find this service useful? Help us justify it. (http://gams.nist.gov/) Mathematical Software Cross Index Search for software according to . . . donne accès à • une centaine de packages (∼ 8800 routines) • un arbre de décision what problem it solves. package name. module name. text in module abstracts. Go straight to the problem decision tree. Try HotGAMS, a Java interface to GAMS with additional search features. If you cannot find what you need in the cross index, you might try some of these other sources of information about mathematical software. Background Information NB. A manipuler avec précaution! Project summary. Glossary of terms. Repositories Indexed. References, credits and disclaimers. News. Other NIST projects related to applied mathematics and statistics. Address comments and questions to [email protected] . 7 ON-LINE (2) The Numerical Analysis Section Home People Research PG Study Events Department Head of the Numerical Analysis Section : Barrett Prof J W Section Secretary : Vacant Welcome to the Imperial College Numerical Analysis Section Home Page The Numerical Analysis Section, along with Applied Mathematics, Statistics, Mathematical Physics, Financial Mathematics and Pure Mathematics make up the Department of Mathematics at Imperial College. . . . voir aussi les (très nombreux) sites associés aux laboratoires de recherche en maths appliquées, analyse numérique, physique, etc. Software for Initial Value Problems Software for Boundary Value Problems Some useful Web resources Mirror of the Spline Bibliography by Carl de Boor and Larry Schumaker. Mathematical Resources on the WWW HENSA mirror of Netlib Numerical Software Archive. Numerical Analysis FAQ To find us: we are situated in Level 6, Huxley Building.[Details] exemple: Dep. of Mathematics, Imperial College of STM (http://www.ma.ic.ac.uk/) Address and contact information 8 2. GENERALITES SUR LE CALCUL NUMERIQUE 9 CALCULS ET METHODES NUMERIQUES, KESAKO ? Les calculs et les méthodes numérique, • c’est très utile (voire indispensable) — pour faire des calculs difficiles à effectuer à la main, — pour la recherche fondamentale et appliquée moderne, — pour comprendre certains aspects en Physique • ça ne s’improvise pas (ou rarement); il y a un minimum de choses à connaı̂tre; il y a souvent des règles (parfois il n’y en a pas); • ça nécessite de la rigueur, et un esprit très critique; • c’est presqu’une science, un art surement, et ça n’a (presque) rien a voir avec la programmation; • la pratique est essentielle; • c’est passionnant, mais attention à la spirale infernale . . . 10 PHILOSOPHIE Outre la recherche de solution(s), la mise en oeuvre d’une méthode numérique rend un problème • compliqué, plus simple; • mal posé, bien posé (ou inversement!); • différentiel, algébrique; • non-linéaire, linéaire; • réel, académique (ex: le pendule harmonique); • ... Le calcul numérique implique des approximations en amont, et ne peut de fait que fournir des solutions approchées au problème posé. NB: il est indispensable de savoir contrôler la précision des résultats, et de reconnaı̂tre les effets d’origine numérique et ceux d’origine physique. 11 SOURCES D’ERREURS Trois origines: • le schéma (troncature, discrétisation, etc.) exemple: remplacer une fonction par son développement de Taylor; • les opérations (perte d’information) P1000 2 P1 2 2 i = 6 i , racines de ax + bx + c = 0; . . . exemples: 1 1000 • la machine (erreurs de représentation, d’arrondis) exemple: peu d’ordinateurs peuvent donner π avec plus de 16 décimales; Les erreurs se propagent et généralement s’amplifient. Il donc est indispensable de les contrôler et, si possible, d’essayer de les réduire (minimiser le nombre d’opèrations). NB. Dans bien des cas, c’est l’erreur de schéma qui domine. 12 OPERATEURS DE CONTROLE D’ERREUR, ∆ et Soient y ∗ une mesure exacte (ou de référence), et y la mesure approchée (par la méthode numérique); on définit: • l’erreur absolue ∆(y) = y − y ∗ • l’erreur relative (y) = 1 − y y∗ (y ∗ 6= 0) NB: y ∗ n’est généralement pas connue, et donc l’erreur ne peut être estimé que sur la mesure approchée y. → attention à la fiabilité de l’estimation de l’erreur . . . 13 NOMBRE DE CONDITIONNEMENT η x y Méthode numérique x’ y’ Si x → y et x0 → y 0 , on définit le nombre de conditionnement par η= y 0 −y y x0 −x x (y) ∼ (x) Il rend compte du pouvoir amplificateur d’une méthode. 14 SENSIBILITE/STABILITE • une méthode numérique est très sensible (instable) si η 1 • une méthode numérique est peu sensible (stable) si η . 1 • une méthode numérique est insensible si η 1 y exemple: soit l’approximation sin x ≈ x − x’ x x3 3! . 15 Au voisinage de 0, η ∼ x tan−1 x → 1 DU MODELE PHYSIQUE AU MODELE NUMERIQUE Deux étapes indispensables: • l’adimensionnement des variables et des équations exemple: l ˜ l→l= , l0 v v → ṽ = v0 • le choix des variables exemple: ṽ 2 x ≡ ln p ˜l y ≡ sin ˜l . . . qui permettent de faire émerger les échelles pertinentes (physiques), et de réduire la dynamique des variables (numériques). 16 DU MODELE PHYSIQUE AU MODELE NUMERIQUE (2) exemple: équilibre hydrostatique d’une sphère statique isotherme en gravité constante. 10 −2 ∆R=10 10 4 −4 ∆R=10 10 −6 10 −8 3 ρ(R) Soit à résoudre 1 ∇R P = g ρ . . . que l’on peut astucieusement convertir en 10 −10 10 −12 10 −14 10 −16 ∇x f = 1 ε(ρ) ∆x=0.1 10 4 10 5 10 R−RO 17 6 10 7 PRECISION vs. TEMPS DE CALCUL L’une des difficultés majeures du calcul numérique en général tient dans la recherche d’un compromis à trouver entre • le temps de calcul τ • la précision ∆, . . . tous deux limités par • les performances des ordinateurs, • les contraintes “humaines” (durée de vie d’un chercheur, durée d’une thèse, coupures d’électricté, etc.) NB. Lorsque ↓ , τ ↑ 18 3. DERIVEES ET DIFFERENTIATIONS 19 RAPPEL: LE TAUX D’ACCROISSEMENT . . . de f au voisinage de x, f (x + h) − f (x) f (x) = limh→0 h 0 C’est une information locale, très difficile à estimer pour une fonction définie par {(xi , fi )}N , en raison du passage continu/discontinu. La précision dépend donc très fortement de l’échantillonage. y derivee ? bon echantillonage mauvais echantillonage x 20 DIFFERENCE FINIE A 2 POINTS On écrit littéralement le taux d’accroissement. On obtient une forme discrétisée (sans passage à la limite), soit f (xi+j ) − f (xi ) 0 f (xi ) ≈ xi+j − xi C’est une différence finie à 2 points en xi . Précision: O(h), avec h = xi+j − xi • si j > 0, différence finie en “avant” (FDF) • si j < 0, différence finie en “arrière” (BDF) NB. Ce sont formellement des demi-dérivées 21 EFFET DE BORD Le schéma précédent ne permet pas calculer la dérivée sur les bords: • à droite pour j ≥ 1 • à gauche pour j ≤ −1 Solution: on change alors le signe de j ! 22 SCHEMA CENTRÉ En combinant les shémas excentrés, on obtient (avec ici j = 1) fi0 fi+1 − fi−1 = xi+1 − xi−1 C’est une différence finie, centrée à 3 points. Précision: O(h2 ) NB. Ce shéma implique un échantillonage régulier h = xi+1 − xi = xi − xi−1 et introduit 2 effets de bord. 23 exemple: erreur asbolue sur la dérivée de y(x) = ex en x = 0 pour h = 2−k . −1 10 −3 ∆y’(0)=|y’(0)−1| 10 −5 10 −7 10 −9 difference avant (FDF) difference centree extrapolation de Richardson (diff. centree) 10 −11 10 −13 10 −15 10 0 10 20 k 24 30 SCHEMAS D’ORDRES ELEVES • excentrés à 3 points: • centré à 5 points: i±1 −fi±2 fi0 = ± −3fi +4f2h , fi0 = −fi+2 +8fi−1 −8fi−1 +fi−2 , 12h O(h2 ) O(h4 ) • ... NB. Avec ces schémas construits sur le développement de Taylor tronqués, on ne peut pas calculer la dérivée en x 6= xi ! 25 SCHEMA CENTRE POUR LA DERIVEE SECONDE Sur le même principe, on montre que fi00 = fi−1 − 2fi + fi+1 h2 Précision: O(h2 ) NB. Très utilisé dans les problèmes aux dérivées partielles 26 METHODE GENERALE On remplace, au moins localement, la fonction f tabulée par une fonction analytique (simple), généralement un polynôme PN (x) de degré N , que l’on dérivera ensuite. → on se ramène alors à un problème d’interpolation. y approximation de Lagrange: y=P2 (x) y3 y2 f(x) y1 x x1 x2 x3 NB. Si la fonction est très “bruitée” ou oscillante, alors cette technique n’a aucun sens. On se dirigera plutôt vers une technique d’ajustement/lissage. 27 METHODE GENERALE (2) Pour construire PN (x), il faudra N + 1 points. — f (x) ≈ P1 (x), schémas excentrés d’ordre 1 — f (x) ≈ P2 (x), schémas (ex)centrés d’ordre 2 — etc. 28 PHENOMENE DE RUNGE Attention aux polynômes de degrés élevés ! y f(x) approximation y9 y1 x x1 x9 x5 29 PAS OPTIMAL La précision de la dérivée numérique est limitée par 3 effets cumulatifs precision • le schéma utilisé • les erreurs de représentation • les erreurs par perte d’information NB. Quand h → 0, (y 0 ) 9 0. → Il existe un pas optimum hopt qui donne une précision en deça de laquelle il n’est pas possible de descendre. h opt 30 pas h=xi+1 -x i PAS OPTIMAL (2) ∆ 1/3 , M 2 hopt ≈ Par exemple, pour le schéma centré d’ordre h : d’arrondi et M est l’erreur de troncature (M & |f (3) |). où ∆ est l’erreur exemple: dérivée de y(x) = ex en x = 0 et x = 10 3 10 1 10 −1 x ∆y’(x)=|y’(x)−e | 10 −3 10 −5 10 −7 x=10 x=0 10 −9 10 −11 10 −13 10 −16 10 −14 10 −12 10 −10 −8 10 10 h 31 −6 10 10 −4 −2 10 EXTRAPOLATION DE RICHARDSON On peut nettement améliorer la précision sur la dérivée en considérant différents pas h0 ≡ h, h1 ≡ h0 , 2 h2 ≡ h0 22 ..., hn ≡ h0 2n Comment ? Si f 0 [hk ] désigne la dérivée pour le pas hk = approximation de f 0 (x) est donnée par h0 , 2k alors on peut montrer qu’une meilleure 2k f 0 [hk+1 ] − f 0 [hk ] f ≈ 2k − 1 0 32 EXTRAPOLATION DE RICHARDSON (2) exemple: erreur asbolue sur la dérivée de y(x) = ex en x = 0 pour h = 2−k . −1 10 −3 ∆y’(0)=|y’(0)−1| 10 −5 10 −7 10 −9 difference avant (FDF) difference centree extrapolation de Richardson (diff. centree) 10 −11 10 −13 10 −15 10 0 10 20 k 33 30 4. POLYNÔMES, INTERPOLATIONS ET AJUSTEMENTS 34 FORMES REMARQUABLES On peut écrire un polynôme PN (x) de plusieurs façons, selon l’utilisation. . . • Forme de Taylor EN (x) = PN (x − x0 ) = a0 + a1 (x − x0 ) + a2 (x − x0 )2 + · · · + aN (x − x0 )N NB. Développement de Taylor: f (k) (x0 ) , ak = k! 35 k = 0, N • Forme de Lagrange LN (x) = N X yk LN,k (x) k=0 où LN,k (x) = (x − x0 ) . . . (x − xk−1 )(x − xk+1 ) . . . (x − xN ) (xk − x0 ) . . . (xk − xk−1 )(xk − xk+1 ) . . . (xk − xN ) et yk = PN (xk ). • Forme de Newton NN (x) = a0 + a1 (x − c0 ) + a2 (x − c0 )(x − c1 ) + ... + aN (x − c0 )(x − x1 ) . . . (x − cN −1 ) 36 EVALUATION Calculer la valeur PN (x) n’est pas aussi immédiat qu’on pourrait le penser, surtout lorsque: • les coefficients ak sont très différents, • l’ordre du polynôme est élevé 37 EVALUATION (2) On préfèrera la forme de Horner (ou imbriquée) où PN (x) est ré-écrit sous la forme PN (x) = a0 + x(a1 + x(a2 + x(a3 + · · · + x(aN −1 + aN x))))) Ainsi • il y moins d’opérations (donc moins d’erreurs) • l’algorithme associé est récursif (donc simple à écrire) 38 EXEMPLE Erreur relative sur la valeur du polynôme de Legendre Pk (x) d’ordre k en x = 1 calculée par l’intermédiaire de la forme développée. 0 log10[1−Pk(1)] −5 −10 −15 0 10 20 30 ordre k du polynome de Legendre 39 40 50 INTERPOLATIONS Comment estimer la valeur d’une fonction f définie par N couples de points {(xi , fi )} en x = c de l’intervalle [x1 , xN ] ? y points de mesure fN ??? f1 x x1 c xN 40 NOTA BENE Par principe, l’interpolation génère de l’information là où il n’y en a pas, donc • il y a incertitude assez grande sur le résultat, • les dérivées successives sont généralement douteuses, • l’échantillonnage joue un rôle clé y points de mesure fN ??? f1 x x1 c xN 41 INTERPOLATION LINÉAIRE On assimile la courbe a une ligne brisée faite de N − 1 segments joignant deux points consécutifs. On a ainsi f (c) = pfi + (1 − p)fi+1 , 1≤i≤N −1 où [xi , xi+1 ] est le sous-intervalle contenant c. y interpolation lineaire x NB. Ligne brisée et dérivée(s) discontinue(s) . . . 42 FONCTIONS INTERPOLANTES On remplace la fonction “discrete” par une fonction continue X ak bk (x) f (x) ≈ k où les bk (x) représentent une certaine base de fonctions. 43 INTERPOLANTS POLYNOMIAUX Par les N points de mesure, on fait passer un polynôme PN −1 (x) de degré N − 1. Ces contraintes définissent un système linéaire de N équations où les N inconnues sont les coefficients ak définissant le polynôme. y approximation de Lagrange: y=P2 (x) y3 y2 f(x) y1 x x1 x2 x3 NB. Le calcul est assez direct par les formes de Lagrange et de Newton. 44 INTERPOLANTS POLYNOMIAUX (2) Attention aux polynômes de degrés élevés: → phénomène de Runge y f(x) approximation y9 y1 x x1 x9 x5 45 AJUSTEMENTS (ou curve fitting, en anglais) Même type de démarche que pour les interpolants, mais le polynôme Pk est de degré k tel que k < N − 1. ex: faire passer une droite (de regression) par un ensemble de points pour traduire une corrélation. y f(x)=ax+b regression lineaire x 46 AJUSTEMENTS (2) Méthode: pour déterminer les coefficients de Pk , on cherche à minimiser la distance P i |di |, où di est la distance du points i à la fonction d’ajustement. exemple: pour une régression linéaire par la fonction y = ax + b passant “au mieux” par un échantillon de N points {(xi , yi )}, on a N N X X x2i + bN hxi − xi y i = 0 a i i ahxi − b − hyi = 0 47 SPLINES Comment combiner interpolation, ajustement et lissage lorsqu’il y a beaucoup de points (i.e. pour N grand) ? regression lineaire y approximation polynomiale y9 y1 y x x1 x5 x9 48 SPLINES (cubiques) On construit une fonction spline cubique S(x), définie par morceaux, telle que • sur chaque intevalle [xi , xi+1 ], la fonction S(x) est un polynôme du troisième degré. • la fonction S(x) passe par tous les points de l’échantillon, quelque soit leur nombre. • S 0 (x) est continue sur chaque noeuds • S 00 (x) est continue sur chaque noeuds Ces contraintes définissent un certain nombre de relations entre les N − 1 polynômes qui permettent en principe de les caractériser, c’est-à-dire de trouver 4(N − 1) coefficients. 49 Spline cubique y regression lineaire approximation polynomiale y9 y1 y x x1 x5 x9 NB. A deux dimensions, on parle de splines bi-cubiques. 50 5. QUADRATURES 51 Comment calculer l’intégrale définie I I= Z b f (x)dx a y f(x) B C D A a x b . . . lorsqu’il n’y a pas d’expression analytique pour la primitive de f ? 52 IDÉE L’approximation de I s’effectue le plus souvent à l’aide de combinaisons linéaires des valeurs de f , et éventuellement de ses dérivées, calculées dans l’intervalle [a, b], soit I= Z b g(x)f (x)dx ≈ a N X i=1 NB. Les xi sont les noeuds et les wi sont les poids 53 wi f i TRAPÈZES ET RECTANGLES C’est la méthode la plus directe Z b a b−a (f (a) + f (b)) f (x)dx ≈ 2 ou Z b f (x)dx ≈ (b − a)f (c) a Précision: ordre h3 (avec h = b − a) 54 MÉTHODES COMPOSÉES ET ADAPTATIVES On peut essayer de minimiser cette erreur grâce à: • la méthode composée: on découpe l’intervalle [a, b] en 2, 3, . . . ou N − 1 sous-intervalles de largeur h = xi+1 − xi , avec i ∈ [1, N ]. On a Z b a N −1 X h f (x)dx ≈ (f (a) + f (b)) + h fi 2 i=2 où fi ≡ f (xi ), a ≡ x1 et b ≡ xN . • un pas adaptatif (e.g., zones de forts gradients). y y f(x) B B C D A a C x D A b a 55 b f(x) x SCHÉMAS (SEMI-)OUVERTS On peut choisir d’“écarter” un ou plusieurs point(s) singulier(s). Par exemple, si f diverge en b, on pourra utiliser Z b f (x)dx ≈ hf (a) a C’est un schéma semi-ouvert. y f(x) B C D A a x b NB. Précision très mauvaise en général (il existe des techniques de régularisation d’intégrales à noyaux singuliers). 56 METHODES DE SIMPSON Plus précis (ordre h5 ), le premier schéma de Simpson Z b h f (x)dx ≈ [f (a) + 4f1 + f (b)] 3 a où f1 ≡ f (x1 ), h = x3 − x2 = x2 − x1 , a ≡ x1 et b ≡ x3 . C’est un schéma à 3 points. Il correspond à l’approximation f (x) = P2 (x) avec x1 , x2 et x3 comme points de collocation (pas constant). Variantes: schéma composé, pas adaptatif, etc. 57 FORMULES DE NEWTON-COTES Pour N points régulièrement espacés, on construit un schéma telle que l’intégrale doit être exacte pour tout polynôme Pk−1 de degré N ≤ k. NB. Attention aux problèmes pour N grand ! 58 SCHÉMAS RECURSIFS Ils permettent de limiter le nombre d’évaluation de f et de contrôler la précision. Si I[h] est l’approximation de I obtenue en découpant [a, b] en J = N − 1 sous-intervalles de largeur h = b−a J , on a J 1 h X new h = I[h] + fj I 2 2 2 j=1 où les fjnew sont les ordonnées des nouveaux points intermédiaires. NB. Il y a seulement J nouvelles évaluations de la fonction et on gagne à chaque étape un facteur 8 en précision. 59 MÉTHODE GÉNÉRALE Calculer les N poids wi tels que I= Z b g(x)f (x)dx ≈ a N X wi f i i=1 soit exacte pour un certain ensemble de fonctions. La plupart du temps, c’est l’espace Pk des polynômes de degré k. Méthodes des trapèzes: Méthode de Simpson: g(x) = 1, wi = { 12 , 1, 1, . . . , 1, 12 } g(x) = 1, wi = { 13 , 43 , 23 , 43 , . . . , 12 } Ces deux méthodes sont exactes pour les polynômes Pk de degré k ≤ N − 1 pourvu que les xi soient disposés régulièrement. 60 QUADRATURES STANDARDS Quadrature conditions Gauss-Legendre g(x) = 1, Gauss-Laguerre g(x) = e−x ou g(x) = xp e−x Gauss logarithmique g(x) = ln x, a=0=b−1 ??? g(x) = ln x, a = 0 et b = ∞ Newton-Cotes g(x) = 1, Tchebysheff g(x) = 1 et wi = C te , Tchebysheff-Radau g(x) = x ou Radau g(x) = 1, Filon g(x) = sin kx “Monte-carlo” 61 a = −b = −1 a = −b = −1 √ x , 1−x2 a = −b = −1 a = −b = −1 a = −b = −1 MÉTHODE DE GAUSS-LEGENDRE Cette méthode est exacte pour les polynômes Pk de degré k ≤ 2N − 1 (→ plus précise). Contraintes: les abscisses ne sont pas libres (racines des polynômes de Legendre) . ex: pour N = 2, on a x1 = √ − 33 = −x2 et w1 = w2 = 1 y f(x) C B A -1 D x1 0 x2 62 +1 x NOYAU SINGULIER: UN EXEMPLE Comment intégrer I(a) = logarithmique en x = 1 ? On sait que R1 a xK(x)dx, sachant que K présente une singularité limx→1 K(x) = − 12 ln (1−x2 ) 16 3 2 1/2 ~ ln 4-ln (1-x ) K(x) 2 π/2 K reg (x) ln 4 xK(x) 1 0 0.5 x 63 1 NOYAU SINGULIER: UN EXEMPLE (2) Astuce: on retranche cette singularité (implicite), que l’on intègre analytiquement. . . d’où Z 1 Z 1 xKreg (x)dx + x ln(1 − x2 )dx I(a) = a a . intégration numérique & intégration analytique 64 6. ZERO D’UNE FONCTION. SYSTÈMES NON-LINÉAIRES. 65 ~ = {ri }N d’une équation vectorielle du type . . . ou trouver la racine R ~ = ~0 F~ (X) ~ désigne un vecteur à N composantes xi et F~ est un ensemble de N fonctions fi où X des N variables x1 , x2 , . . . , xN . Soit à une dimension f (x) = 0 66 IDÉE GÉNÉRALE On procède à partir d’un intervalle de recherche donné [a, b], ou bien à partir d’un point de départ x(0) , par des méthodes itératives. y points de depart f(x) x r2 r1 C’est assez simple à une dimension. C’est plus difficile pour N ≥ 2. NB. Il y a bien souvent une forte sensibilité à x(0) et aux propriétés de la fonction aux voisinage de f (x(0) ) et de f (r). 67 RACINES MULTIPLES Une racine est de multiplicité n si f (r) = 0, f 0 (r) ≡ f (1) (r) = 0, f (2) (r) = 0, . . . , f (n−1) (r) = 0, mais f (n) (r) 6= 0 racine exemple r simple (n = 1) f (r) = 0 mais f 0 (r) 6= 0 f (x) = x2 − 1 ±1 double (n = 2) f (r) = f 0 (r) = 0 f (x) = x2 0 triple (n = 3) f (r) = f 0 (r) = f 00 (r) = 0 f (x) = x3 0 f (r) = · · · = f (n) (r) = 0 f (x) = xn 0 ... n-uple NB. Les racines de multiplicité double (au moins) peuvent être problématiques à traiter numériquement. 68 CONDITION D’EXISTENCE ? A une dimension: si f est ontinue sur [a, b] et que f (a) × f (b) ≤ 0, alors il existe au moins une racine réelle r ∈ [a, b] (en nombre impair). NB. Ce n’est pas une condition nécessaire. y y f(x) f(x) r1 a r2 r2 x b a 69 r1 b r3 x TAUX DE CONVERGENCE Rappel: on procède par itérations (1, 2, . . . , k, . . . , n) pour approcher au mieux la racine. Comment varie l’erreur (une estimation) d’une étape à l’autre. On forme, à l’étape k (k) (k−1) (k) et non ∆k (x) = x − r ∆k (x) = x − x On appelle taux de convergence, le nombre ζ tel que ∆k (x) ∼ C|∆k−1 (x)|ζ−1 avec |C| ≤ 1 ∆k−1 (x) • ζ = 1, convergence simple (la plupart des méthodes) • ζ = 2, convergence double (i.e. le nombre de “digits” double à chaque étape) • ζ = 3, convergence triple (situations rares . . . ) 70 MÉTHODE DE BISSECTION Rappel: si l’on sait trouver un intervalle [a, b] tel que f (a) × f (b) < 0 alors r ∈ [a, b]. On coupe l’intervalle en 2 (→ x = c), et l’on teste le signe de f (a) × f (c) r ∈ [a, c] . . . et ainsi de suite. r ∈ [c, b] si f (a) × f (c) < 0 si f (a) × f (c) > 0 Après k bissections, l’intervalle courant a une largeur A l’étape n, r ≈ a ≈ b. 71 b−a 2k et la racine y est contenue. Exemple de codage: epsilon=1.00D-04 WHILE (relerror>=epsilon) DO midvalue=a+b(-a)/2 IF (f(a)*f(midvalue)<=0) THEN a=midvalue ELSE b=midvalue ENDIF relerror=ABS(b-a)/MAX(ABS(a),ABS(b)) ENDDO PRINT*,’ROOT,ABS. & REL. ERROR::’,(a+b)/2,relerror,(b-a)/2 72 NB. Ce type de méthode est • généralement très efficace (il garantit toujours de trouver une racine) • très lent à converger (ζ = 1). Par exemple, le nombre d’itérations nécessaire pour obtenir la precision relative Ex est b−a n ≈ 1.4 × ln Ex • inefficace dans certains cas (racine double, divergences, etc.) 73 exemple: soit à résoudre sin x − cos x = 0 (r =+7.8539816339744828D-01) A la précision de la machine (i.e. Ex ∼ 10−16 ), convergence attendue à n ∼ 50 INIT: a,F(b):: +0.0000000000000000D+00 -1.0000000000000000D+00 b,F(b):: +1.0000000000000000D+00 +3.0116867893975678D-01 n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 a +5.0000000000000000D-01 +7.5000000000000000D-01 +7.5000000000000000D-01 +7.5000000000000000D-01 +7.8125000000000000D-01 +7.8125000000000000D-01 +7.8125000000000000D-01 +7.8515625000000000D-01 +7.8515625000000000D-01 +7.8515625000000000D-01 +7.8515625000000000D-01 +7.8515625000000000D-01 +7.8527832031250000D-01 +7.8533935546875000D-01 b +1.0000000000000000D+00 +1.0000000000000000D+00 +8.7500000000000000D-01 +8.1250000000000000D-01 +8.1250000000000000D-01 +7.9687500000000000D-01 +7.8906250000000000D-01 +7.8906250000000000D-01 +7.8710937500000000D-01 +7.8613281250000000D-01 +7.8564453125000000D-01 +7.8540039062500000D-01 +7.8540039062500000D-01 +7.8540039062500000D-01 74 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 +7.8536987304687500D-01 +7.8538513183593750D-01 +7.8539276123046875D-01 +7.8539657592773438D-01 +7.8539657592773438D-01 +7.8539752960205078D-01 +7.8539800643920898D-01 +7.8539800643920898D-01 +7.8539812564849854D-01 +7.8539812564849854D-01 +7.8539815545082092D-01 +7.8539815545082092D-01 +7.8539816290140152D-01 +7.8539816290140152D-01 +7.8539816290140152D-01 +7.8539816290140152D-01 +7.8539816336706281D-01 +7.8539816336706281D-01 +7.8539816336706281D-01 +7.8539816336706281D-01 +7.8539816339616664D-01 +7.8539816339616664D-01 +7.8540039062500000D-01 +7.8540039062500000D-01 +7.8540039062500000D-01 +7.8540039062500000D-01 +7.8539848327636719D-01 +7.8539848327636719D-01 +7.8539848327636719D-01 +7.8539824485778809D-01 +7.8539824485778809D-01 +7.8539818525314331D-01 +7.8539818525314331D-01 +7.8539817035198212D-01 +7.8539817035198212D-01 +7.8539816662669182D-01 +7.8539816476404667D-01 +7.8539816383272409D-01 +7.8539816383272409D-01 +7.8539816359989345D-01 +7.8539816348347813D-01 +7.8539816342527047D-01 +7.8539816342527047D-01 +7.8539816341071855D-01 75 37 +7.8539816339616664D-01 38 +7.8539816339616664D-01 39 +7.8539816339616664D-01 40 +7.8539816339707613D-01 41 +7.8539816339707613D-01 42 +7.8539816339730351D-01 43 +7.8539816339741719D-01 44 +7.8539816339741719D-01 45 +7.8539816339744561D-01 46 +7.8539816339744561D-01 47 +7.8539816339744561D-01 48 +7.8539816339744561D-01 49 +7.8539816339744739D-01 50 +7.8539816339744828D-01 51 +7.8539816339744828D-01 52 +7.8539816339744828D-01 53 +7.8539816339744828D-01 54 +7.8539816339744828D-01 55 +7.8539816339744828D-01 ... On retient: +7.8539816340344260D-01 +7.8539816339980462D-01 +7.8539816339798563D-01 +7.8539816339798563D-01 +7.8539816339753088D-01 +7.8539816339753088D-01 +7.8539816339753088D-01 +7.8539816339747404D-01 +7.8539816339747404D-01 +7.8539816339745983D-01 +7.8539816339745272D-01 +7.8539816339744917D-01 +7.8539816339744917D-01 +7.8539816339744917D-01 +7.8539816339744872D-01 +7.8539816339744846D-01 +7.8539816339744837D-01 *** a et b ne varient plus +7.8539816339744837D-01 +7.8539816339744837D-01 r ∼ +7.8539816339744828D-01 (+/-5.5511151231257827D-17) 76 MÉTHODE DES “FAUSSES POSITIONS” Identique, mais on choisit l’intersection du segment [AB] joingnant les points A(a, f (a)) et B(b, f (b)) et l’axe des abscisses. y y ETAPE n-1 ETAPE n racine f(x) f(c) B f(x) B f(c) b x a c x a A A 77 c b MÉTHODE DES INTERPOLANTS On fait passer un polynôme PN −1 (x) par N points, puis on résoud PN −1 (x) = 0 (si possible analytiquement). • méthode des sécantes: la fonction interpolante est linéaire en x, x(n+1) y (n) (n) (n−1) f (x )(x − x ) (n) =x − f (x(n) ) − f (x(n−1) ) y ETAPE n-1 ETAPE n f(x) f(x) B B A x c c f(c) f(c) A racine 78 x • Méthode de Müller: la fonction interpolante est quadratique en x (i.e. P2 (x) = 0) • Méthode de Van Wijngaarden-Bekker: la fonction interpolante est quadratique en y (i.e. x = P2 (y)) NB. Les points n’encadrent pas nécessairement la racine ! 79 MÉTHODE DU POINT FIXE Elle concerne les équations du type g(x) − x = 0 Beaucoup d’équations sont de ce type ou peuvent s’y ramener. Le schéma est x(k+1) = g x(k) . . . jusqu’à k = n où r ≈ x(n) NB. Le schéma ne converge que si −1 ≤ g 0 (r) ≤ 1 80 y y point fixe g(x) g(x) x x y y g(x) g(x) x x 81 MÉTHODE DES GRADIENTS (OU DE NEWTON) On “pose” f (x) g(x) = x − 0 f (x) où g est la fonction de Newton-Raphson et l’on se ramène ainsi à l’itération du point fixe. Le schéma est f (x(n) ) (n+1) (n) = x − 0 (n) x f (x ) La condition de convergence du schéma devient f (x)f 00 (x) <1 f 0 2 (x) x=r L’ordre de la méthode est généralement quadratique (i.e. ζ = 2, sauf pour une racine double!). 82 y y ETAPE n-1 ETAPE n racine A A f(x) f(x) f(c) x x c c tangeante tangeante 83 exemple: soit à résoudre sin x − cos x = 0 (r =+7.8539816339744828D-01) A la précision de la machine (i.e. Ex ∼ 10−16 ), convergence attendue à n ∼??? INIT: x=+0.0000000000000000D+00 n 0 1 2 3 4 5 x +0.0000000000000000D+00 +1.0000000000000000D+00 +7.8204190153913800D-01 +7.8539817599970183D-01 +7.8539816339744828D-01 +7.8539816339744828D-01 On retient: f(x) +0.0000000000000000D+00 (unassigned f-value) -1.0000000000000000D+00 +3.0116867893975678D-01 -4.7464621278041701D-03 +1.7822277877512036D-08 -4.3313876790795902D-17 *** x ne varie plus r ∼ +7.8539816339744828D-01 (+/-Ex) 84 BILAN méthode η bissection 1 fausses positions 1 (?) sécante ∼ 1.62 Müller/Van Wijngaarden-Bekker ∼ 1.84 point fixe 1 Newton (gradients) 85 ≥2 si g 0 (r) = 0 2 racine simple 1 racine double SYSTÈMES NON-LINÉAIRES: généralisation de la méthode du point fixe Pour une équation vectorielle du type ~ X) ~ = X, ~ G( le schéma est (n+1) (n) (n) (n) (n) = g (x , x , x , . . . , x x 1 1 1 2 3 N ) (n+1) (n) (n) (n) (n) = g (x , x , x , . . . , x x 2 1 2 2 3 N ) (n+1) (n) (n) (n) (n) = g (x , x , x , . . . , x x 3 3 1 2 3 N ) ... (n+1) (n) (n) (n) (n) = gN (x1 , x2 , x3 , . . . , xN ) xN la condition de convergence étant X ∂gi ∂xk < 1, k=1,N 86 i = 1, N NB. On peut améliorer le schéma par la méthode de Seidel (n+1) On calcule xj (n+1) à partir de x<j , soit (n+1) (n) (n) (n) (n) = g (x , x , x , . . . , x x 1 1 1 2 3 N ) (n+1) (n+1) (n) (n) (n) = g (x , x , x , . . . , x x 2 1 2 2 3 N ) (n+1) (n+1) (n+1) (n) (n) = g (x , x , x , . . . , x x 3 3 1 2 3 N ) ... (n+1) (n+1) (n+1) (n+1) (n) = gN (x1 , x2 , . . . , xN −1 , xN ) xN 87 SYSTÈMES NON-LINÉAIRES: généralisation de la méthode des gradients ~ (n) ) du système Elle fait intervenir la matrice Jacobienne JF (X ∂f1 ∂f1 ∂f1 . . . ∂xN ∂x ∂x 1 2 (n) ∂f2 ∂f2 ∂f2 ~ Jf (X ) = ∂x . . . ∂xN ∂x2 1 ∂fN ∂fN ∂fN . . . ∂x1 ∂x2 ∂xN ~ (n) X Le schéma itératif est ~ (n+1) = X ~ (n) − J −1 (X ~ (n) )F~ (n) X F NB. Deux difficultés potentielles: il faut inverser une matrice (cas kJk = 0 ?) et avoir accès aux dérivées (analytiques). 88 SENSIBILITE Ici le nombre de conditionnement η = xf 0 (x) f (x) n’est pas défini. Dans la recherche de zéros, on recherche une forte sensibilité. Le bon “nombre”, c’est donc plutôt 1 |f 0 (r)| → le conditionnement est mauvais lorsque f a une tangente quasi-horizontale en x = r (i.e. racine double au moins) 89 A plusieurs dimensions, 1 ~ ||Jf (R)|| ~ est la matrice jacobienne associée à f . où Jf (R) ∂f1 ∂f1 ... ∂x ∂x 1 2 ∂f ∂f2 2 ~ J(R) = ∂x1 ∂x2 . . . ∂fN ∂fN ... ∂x1 ∂x2 90 ∂f1 ∂xN ∂f2 ∂xN ∂fN ∂xN ~ R (1) critere sur x y f(x) critere sur f(x) y ∆ (f) 2∆ (x) 2∆ (f) f(x) x x r r CRITERE DE CONVERGENCE 2∆ (x) Comment le définir ? critere sur x et sur f(x) y f(x) 2∆ (x) x 2∆ (f) r 91 Classiquement, le critère se définit sur la racine r elle-même (i.e. sur ses estimations successives) |x(n) − x(n−1) | ≤ Cx ou (n) x − x(n−1) ≤ Ex (n−1) x NB. L’image par f de l’intervalle contenant la racine (i.e. ∼ [r(1 − Ex ), r(1 + Ex )]) dépend du gradient de la fonction en r. C’est pourquoi on applique (parfois) un critère supplémentaire sur f du type f (x(n) ) − f (x(n−1) ) ≤ Cf ou encore f (x(n) ) − f (x(n−1) ) ≤ Ef f (x(n−1) ) 92 7. EQUATIONS AUX DERIVEES ORDINAIRES (ODEs) 93 DEFINITIONS Les équations aux dérivées ordinaires (ODEs) sont de la forme F n n−1 dy y d y d 0 , y, g(x), x , ,...,y ≡ dxn dxn−1 dx =0 et ne mettent en jeu qu’une seule variable x. • y est l’inconnue; c’est une fonction de x. • n est l’ordre de l’équation (n ≥ 1). Le cas le plus simple est l’équation différentielle du premier ordre (i.e. n = 1) dy , y, g(x), x = 0 F y0 ≡ dx 94 → dy = f (y, x) dx CHAMP DES PENTES Dans l’équation dy = f (y, x) dx la fonction f représente le champ des pentes de la fonction y dans le plan (x, y). solutions y x 95 “SPLITTING” En pratique, quand n > 1, on remplace l’équation par un système de n ODEs du premier ordre. D’où la définition de n − 1 fonctions intermédiaires yj , en posant dyj−1 ≡ yj , dx j = 1, n − 1 avec y0 ≡ y. exemple: F = mẍ devient ( F = mv̇ v = ẋ 96 SOLUTION La détermination de la solution d’une équation d’ordre n (ou d’un système de n équations d’ordre 1) nécessite n conditions aux limites NB. Les solutions mathématiques/numériques ne correspondent pas forcément aux solutions physiques. 97 SYSTEME On peut avoir à faire à un système de N équations aux dérivées ordinaires (couplées) n1 n1 −1 dy1 y1 d y1 d 0 , y1 , g1 (x), x = 0 , , . . . , y ≡ F 1 1 n n −1 1 1 dx dx dx n2 n2 −1 dy2 y2 0 F2 d y 2 , d , y2 , g2 (x), x = 0 , . . . , y ≡ 2 n n −1 2 2 dx dx dx ... nN nN −1 dyN yN d yN d 0 FN , yN , gN (x), x = 0 , , . . . , y ≡ N n n −1 N N dx dx dx Ne doit apparaı̂tre qu’une seule variable commune, x. Sinon, c’est un problème aux dérivées partielles. L’ordre du système est: SUP{n1 , n2 , . . . , nN } NB. Par splitting, on obtient un système de ΣN 1 (ni − 1) équations du premier ordre. 98 CLASSES • problèmes aux valeurs/conditions initiales (ou IVPs pour “Initial Value Problems”). Les conditions aux limites sont données au même endroit, en x = a ou en x = b. Conditions initiales y solution calculee y(b) solution exacte y(a) f(y(a),a) x a b 99 CLASSES (2) • problèmes aux conditions aux (deux) contours (ou (T)BVPs pour “(Two) Boundary Value problems”). Les conditions sont données en x = a et en x = b. Conditions aux contours y y(b) y(a) x a b 100 CLASSES (3) • problèmes avec condition au contour intermédiaire où une condition est donnée à l’intérieur de l’intervalle d’intégration, en un point appelé matching point. Condition au contour intermediaire matching point y y(b) y(a) x a c b 101 TYPES DE CONDITIONS Les conditions aux contours/limites sont du type • Dirichlet, quand elles portent sur la fonction ex: y = 0 en x = 0 • Neumann, quand elles portent sur la dérivée ex: ẏ = 0 en x = 0 • Miller??? ou mixtes, quand elles portent sur la dérivée et sur la fonction ex: ẏ = 0 et y = 0 en x = 0 Les conditions aux contours s’écrivent en général dy C y, , x dx en x = a, b ou c. 102 =0 DIFFICULTE GENERALE Il s’agit de calculer y(x) = Z x f (x0 , y)dx0 + y(a) a La forme implicite de cette équation ne permet pas de trouver y directement. Ici, la fonction y n’est pas connue au préalable, mais doit être calculée de proche en proche, par exemple à partir d’un point de départ (a, y(a)). NB. Ce n’est donc pas un problème de quadrature ! 103 L’INCREMENT La construction de la fonction inconnue y se fait de proche en proche yi+1 = yi + δi Comment calculer le plus précisément possible l’incrément δi ? 104 EULER C’est la méthode la plus intuitive, la plus simple, la plus imprécise . . . Le schéma est yi+1 = yi + hf (yi , xi ) où h = xi+1 − xi . Echantillonage libre en x (→ pas adaptatif) NB. La méthode d’Euler propage très bien les erreurs et les amplifie généreusement. 105 HEUN On évalue l’incrément en deux étapes: 1. on estime la pente f (yi+1 , xi+1 ) en xi+1 par la méthode d’Euler pi+1 = yi + hf (yi , xi ) ≈ yi+1 → d’où la pente f (yi+1 , xi+1 ) ≈ f (pi+1 , xi+1 ) 2. on estime l’incrément par la méthode des trapèzes, d’où yi+1 = yi + h (f (yi , xi ) + f (pi+1 , xi+1 )) 2 C’est un schéma de type prédicteur/correcteur. 106 y p i+1 Euler y i+1 f(y i , xi ) solution calculee solution exacte y i x xi x i+1 107 SERIES ENTIERES On calcule l’incrément par les série de Taylor d’ordre > 1 ∞ 2 n n X h df h d y + δi = f (yi , xi )h + 2 dx xi ,yi n=3 n! dxn xi ,yi Comme f est une fonction de y, f 0 est une fonction de y 0 , donc de f que l’on connaı̂t. De même, f 00 est une fonction de y 0 et de f 0 , donc de f . De manière générale, on a n d f = dxn ∂ ∂ +f dx dy n f (y, x) NB. On maı̂trise l’ordre, mais il faut calculer les dérivées 108 SERIES ENTIERES (2) exemple: Pour résoudre y 0 = x sin y par cette méthode, on calcule d’abord f 0 = y 00 , soit y 00 = sin y + xy 0 cos y = sin y + x(x sin y) cos y = sin y(1 + x2 cos y) ≡ f 0 (x, y) (2) où l’on a remplacé y 0 par son expression, puis f 00 = y (3) . De la même façon, on trouve 3 (3) 3 (3) y = sin y x sin y + (3x + x ) cos y ≡ f 00 (x, y) et aisni de suite jusqu’à l’ordre voulu. Reste à écrire le développement de Taylor associé. En l’occurrence, à l’ordre 3 inclus, on obtient le schéma suivant yi+1 h2 sin yi (1 + x2i cos yi ) = yi + hxi sin yi + 2 3 h3 3 sin yi xi sin yi + (3xi + xi ) cos yi + 6 109 (4) COMPARAISON ∆yi=yi−e x 0.00 −0.05 Euler (Taylor ordre 1) Taylor ordre 2 Taylor ordre 3 −0.10 0.0 0.1 0.2 0.3 0.4 0.5 xi 0.6 0.7 0.8 0.9 1.0 Solution de f (y, x) = y, avec y(0) = 1. Est donné ici l’erreur absolue par rapport à la solution exacte y = ex sur [0,1] pour une pas h = 0.1 110 RUNGE-KUTTA L’idée générale des méthodes de Runge-Kutta d’ordre N repose sur la possibilité d’exprimer l’incrément sous la forme yi+1 − yi = h N X wj f j j=1 où fj = f (Yj , xi + hαj ), avec 0 ≤ αj ≤ 1 et Yj = y i + j−1 X βjk Yk k=1 Les coefficients αj , βjk et les poids wi sont déterminés en imposant que la méthode soit équivalente à la méthode des séries entières. NB. Il n’y a pas de dérivée à calculer ! 111 RUNGE-KUTTA (2) ordre 2: c’est la méthode de Heun ordre 4: le schéma est yi+1 où h = yi + [f (yi , xi ) + 2f1 + 2f2 + f3 ] 6 h h f1 = f (yi + f (yi , xi ), xi + ) 2 2 h h f2 = f (yi + f1 , xi + ) 2 2 f3 = f (yi + hf2 , xi + h) 112 1 Calcul de la pente en x=a, et estimation 2 Premiere estimation de la pente en x=c, de y(c) a partir de l’estimation de y(c) y y pente f(y(c),c)=f1 pente f(y(a),a) y(a) c a y(a) x b c a 3 Seconde estimation de y(c) et de la pente x b 4 premiere estimation de y(b) et de la pente en x=c a partir de f(y(c),c) en x=b a partir de f2 pente f 3 y y pente f(y(c),c)=f 2 y(a) f1 a y(a) x c f2 b 113 a x c b COMPARAISON (2) 0 −1 x log10|∆yi=yi−e | −2 −3 −4 Euler (Taylor ordre 1) Taylor ordre 2 (Heun) Taylor ordre 3 Taylor ordre 4 (Runge−Kutta) −5 −6 −7 −8 0.1 0.2 0.3 0.4 0.5 xi 0.6 (Même conditions de calcul que précédemment) 114 0.7 0.8 0.9 1.0 BURLISH-STOER C’est probablement l’une des méthodes les plus fiables (i.e. précise). Pour un intervalle d’intégration donné [xi , xi+1 ], l’incrément est calculé pour différents pas h1 = h, h2 = h2 , h3 = h4 , h4 = h6 , . . . , hn , . . . puis l’on cherche la limite de la série {δ(hn )} quand le pas tends vers zéro (i.e. n → ∞). y y i+1 -y i y i+1 n=1 n=2 n=3 n=4 f(y i , xi ) xi y increment exact solution exacte i n x x i+1 1 2 115 3 4 ”MULTI-PAS” On calcule l’incrément à partir de yi , yi−1 , etc. de manière explicite. L’idée est de représenter la fonction f par un polynôme PN de degré N . Ainsi dy = f (y, x) ≈ PN (x) dx devient intégrable analytiquement: yi+1 = yi + Z xi+1 PN (x0 )dx0 xi NB. Ces méthodes sont très précises, parfois instables, pas “self-starting”. 116 FORMULES D’ADAMS-BASHFORTH • pour N = 2 yi+1 = yi + h (3fi − fi−1 ) 2 O(h2 ) • pour N = 3 yi+1 = yi + h (23fi − 16fi−1 + 5fi−2 ) 12 O(h3 ) • pour N = 4 yi+1 = yi + h (5fi − 59fi−1 + 37fi−2 − 9fi−3 ) 24 117 O(h4 ) PREDICTEUR/CORRECTEUR On utilise ces formules comme prédicteurs. Reste à construire un schéma correcteur associé. ex: pour N = 4, le prédicteur est (formule d’Adams-Bashforth) pi+1 = yi + h (55fi − 59fi−1 + 37fi−2 − 9fi−3 ) 24 On construit alors un second polynôme qui met en jeu les 4 points (xi−2 , fi−2 ), (xi−1 , fi−1 ), (xi , fi ) et (xi+1 , fi+1 ) où fi+1 ≡ f (pi+1 , xi+1 ). D’où yi+1 = yi + h (fi−2 − 5fi−1 + 19fi + 55fi+1 ) 24 (formules d’Adams-Bashforth-Moulton) 118 TIR Le problème de condition aux contours est transformé en un problème aux valeurs initiales (n ≥ 2). → algorithme itératif dont l’objectif est de trouver la bonne condition sur l’autre contour. ex: pour une ODE(n = 2) avec conditions de Dirichlet, on cherche ẏ(a) donnant y BC (b). solution y solution tir 2 y y(b) tir 2 y(b) tir 3 tir 1 tir 2 tir 1 tir 1 y(a) y(a) x a b x a 119 b TIR (2) En pratique, on retombe sur un problème de recherche de racine ou de minimisation (y + (b) − y BC (b))(y − (b) − y BC (b)) ≤ 0 BC solution y’ (a) 0 y’+(a) y’(a) 120 SCHEMAS AUX DIFFERENCES On écrit le schéma aux différencex finies en N points de grille xi (régulièrement distribués). On aboutit alors à un système d’équations linéaires (matrice tridiagonale pour les schémas de bas ordre). NB. C’est beaucoup plus rapide, mais beaucoup moins précis. 121