Université Abderrahmane Mira de Béjaia Faculté des sciences exactes Département de mathématiques Analyse Numérique Cours, 2ème année licence mathématiques Karima MEBARKI1 . 1 version 1.0 [email protected] pour toute remarque ii Table des matières Introduction vii I Analyse numérique I 1 1 Notions sur les erreurs 3 1.1 1.2 1.3 1.4 1.5 1.6 Introduction . . . . . . . . . . . . . . . . . . . Erreurs absolue et relative . . . . . . . . . . . . 1.2.1 Erreur absolue . . . . . . . . . . . . . . 1.2.2 Erreur relative . . . . . . . . . . . . . . . 1.2.3 Majorants des erreurs absolue et relative Représentation décimale des nombres approchés 1.3.1 Chire signicatif (c.s) . . . . . . . . . . 1.3.2 Chire signicatif exact (c.s.e) . . . . . . Troncature et arrondissement d'un nombre . . . Propagation des erreurs . . . . . . . . . . . . . 1.5.1 Erreurs d'une addition . . . . . . . . . . 1.5.2 Erreurs d'une soustraction . . . . . . . . 1.5.3 Erreurs d'une multiplication . . . . . . . 1.5.4 Erreurs d'une division . . . . . . . . . . 1.5.5 Erreurs d'une puissance . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . 2 Interpolation polynomiale 2.1 2.2 2.3 2.4 2.5 2.6 2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Position du problème d'interpolation . . . . . . . . . . . . . . . . . . . . . . Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interpolation de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Diérences divisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Polynôme d'interpolation de Newton . . . . . . . . . . . . . . . . . . 2.3.3 Cas particulier : points équidistants . . . . . . . . . . . . . . . . . . . Erreur d'interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interpolation de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evaluation des polynômes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.1 Cas d'un polynôme quelconque . . . . . . . . . . . . . . . . . . . . . 2.6.2 Cas d'un polynôme d'interpolation de Newton . . . . . . . . . . . . . 2.6.3 Cas d'un polynôme d'interpolation de Lagrange . . . . . . . . . . . . Complément du cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.1 Interpolation d'Hermite . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.2 Meilleur choix de points d'interpolation et polynômes de Tchebychev iii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 4 5 5 6 7 7 8 8 9 9 9 10 11 11 12 14 14 15 16 20 21 23 23 23 24 24 24 27 iv TABLE DES MATIÈRES 2.8 2.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Approximation au sens des moindres carrés 3.1 3.2 3.3 3.4 3.5 Dénitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Existence et unicité de la meilleure approximation au s.m.c. 3.2.2 Détermination de la meilleure approximation au s.m.c. . . . 3.2.3 Erreur d'approximation . . . . . . . . . . . . . . . . . . . . . 3.2.4 Algorithme de Gram-Schmidt . . . . . . . . . . . . . . . . . Application au cas discret . . . . . . . . . . . . . . . . . . . . . . . Application au cas continu . . . . . . . . . . . . . . . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Intégration numérique 4.1 4.2 4.3 4.4 4.5 4.6 Position du problème . . . Formules de Newton-Côtes . 4.2.1 Méthode des trapèzes 4.2.2 Méthode de Simpson Formules de Gauss . . . . . Complément du cours . . . . Conclusion . . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Dérivation numérique 5.1 5.2 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Position du problème . . . . . . . . . . . . . . . . . . Approximation de la dérivée première . . . . . . . . 5.2.1 Formules à deux points . . . . . . . . . . . . . 5.2.2 Formules à trois points . . . . . . . . . . . . 5.2.3 Approximation de la dérivée seconde . . . . . 5.2.4 Approximation des dérivées d'ordre supérieur Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 32 35 35 36 36 37 38 38 38 39 40 41 41 42 42 45 47 48 49 50 53 53 53 53 55 56 56 57 II Analyse Numérique II 59 6 Résolution des systèmes linéaires 61 6.1 6.2 6.3 6.4 Position du problème . . . . . . . . . . . . . . . . . . . . Méthodes directes . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Systèmes particuliers . . . . . . . . . . . . . . . . . 6.2.2 Méthode d'élimination de Gauss . . . . . . . . . . . 6.2.3 Problème posé par la (quasi) annulation des pivots 6.2.4 Méthode de la décomposition LU . . . . . . . . . . 6.2.5 Méthode de Cholesky . . . . . . . . . . . . . . . . . 6.2.6 Méthode de Gauss-Jordan . . . . . . . . . . . . . . Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Matrice d'itération et les conditions de convergence 6.3.2 Principales méthodes itératives . . . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 62 62 63 67 68 71 73 74 75 76 82 v TABLE DES MATIÈRES 7 Calcul des valeurs et vecteurs propres d'une matrice 7.1 7.2 7.3 Position du problème . . . . . . . . . Méthodes directes . . . . . . . . . . . Méthodes itératives . . . . . . . . . . 7.3.1 Méthode de la puissance itérée 7.3.2 Méthode de Rutishauser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Position du problème . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Séparation des racines . . . . . . . . . . . . . . . . . . Méthode de dichotomie (ou de la bissection) . . . . . . . . . . Méthode du point xe (des approximations successives) . . . . 8.3.1 Ordre de convergence d'une méthode itérative . . . . . (xn ) Méthodes de type xn+1 = φ(xn ) = xn − fg(x . . . . . . . . . . n) 8.4.1 Méthode de Newton-Raphson (méthode de la tangente) 8.4.2 Méthode de la sécante . . . . . . . . . . . . . . . . . . 8.4.3 Méthode de la corde . . . . . . . . . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Résolution des équations non linéaires 8.1 8.2 8.3 8.4 8.5 8.6 9 Résolution des équations diérentielles ordinaires 9.1 9.2 9.3 9.4 9.5 9.6 Position du problème . . . . . . . . . . . . . Méthode d'Euler . . . . . . . . . . . . . . . Méthodes de Taylor . . . . . . . . . . . . . . Méthodes de Runge-Kutta . . . . . . . . . . 9.4.1 Méthodes de Runge-Kutta d'ordre 2 9.4.2 Méthode d'Euler modiée . . . . . . 9.4.3 Méthode du point milieu . . . . . . . 9.4.4 Méthode de Runge-Kutta d'ordre 4 . Méthodes à un pas générique . . . . . . . . 9.5.1 Ordre d'une méthode à un pas . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 89 89 90 90 93 95 95 95 96 97 101 103 103 105 105 106 107 111 111 113 115 117 117 118 119 120 121 122 124 vi TABLE DES MATIÈRES Introduction En analyse numérique, et pour un problème posé (P ), on étudie toutes les méthodes de résolution de (P ), au moyen du calcul arithmétique. L'étude peut englober aussi bien les conditions d'existence et d'unicité de la solution du problème (P ), et aussi les performances et l'ecacité du procédé choisi (précision, convergence, stabilité, rapidité,. . . ). Ordinateur et analyse numérique Les calculatrices et les ordinateurs nous permettent de faire beaucoup d'opérations et ce très rapidement. Mais pour que les machines soient capables de faire ces calculs, il faut les programmer. C'est l'objet essentiel de l'analyse numérique qui s'est développée avec l'apparition des ordinateurs. Les caractéristiques des ordinateurs (délité, rapidité, précision,. . . ect) ont permis d'améliorer plusieurs méthodes numérique connues, et ont facilité la création d'algorithmes relatifs à des problèmes dicilement maîtrisés par l'homme jusque-là. Mais faire beaucoup d'opérations ne veut pas dire faire n'importe quoi : les méthodes ont un coût (nombre d'opérations arithmétiques élémentaires), lié d'une part au temps de calcul, et d'autre part à la capacité de mémoire nécessaire pour stocker les données et les résultats. D'où l'étude de la complexité (ecacité) d'un algorithme. Complexité d'un algorithme Soit (P ) un problème à N variables. On dit d'un algorithme, relatif à une méthode de résolution de (P ), qu'il est de complexité exponentielle si le coût f (N ) nécessaire à sa résolution croit comme : N !, N N , αN ( où α > 1), . . . etc. On écrit simplement : f (N ) = O(N !), f (N ) = O(N N ), f (N ) = O(αN ), . . . etc. D'autre part, un algorithme est de complexité polynômiale si f (N ) = O(N ), f (N ) = O(N 2 ), f (N ) = O(N β ) β > 0, . . . etc. L'intérêt, en analyse numérique, est -entre autres objectifs- de mettre au point des algorithmes de complexité polynômiale. En général, an de choisir le meilleur algorithme possible, il faut choisir l'algorithme : 1. le moins coûteux possible en place mémoire, 2. le moins coûteux possible en temps de calcul : c'est à dire celui qui a de complexité polynômiale. 3. le plus stable possible : c'est à dire le moins sensible aux erreurs d'arrondi, 4. le plus précis possible : c'est à dire celui qui permet d'estimer l'erreur. vii viii INTRODUCTION Ce cours est dispensé depuis 2009 aux étudiants de 2ème année licence mathématiques de l'université Abderrahmane Mira de Béjaia. Il a pour objectif de présenter aux étudiants une variété d'outils numériques (algorithmes) permettant la résolution eective d'un certain nombre de problèmes. Les chapitres de ce cours sont illustrés par des exemples d'applications, et une série d'exercices est proposée à la n de chacun d'entre eux. La plupart de ces exercices étaient proposés lors des séances de travaux dirigés ou des épreuves de moyenne durée. Ce cours se compose de neuf chapitres. Il est divisé en deux parties couvrant le programme des modules d'analyse numérique I et analyse numérique II destinés aux étudiants de 2ème année licence mathématiques. Particulièrement, ce cours traite les sujets suivants : Notions sur les erreurs, Interpolation et approximation polynomiale, Intégration et dérivation numériques, Résolution des systèmes linéaires, Résolution des équations non linéaires, Calcul des valeurs et vecteurs propres, Résolution des équations diérentielles ordinaires. Enn merci de me communiquer toute erreur éventuelle dans le fond ou dans la forme de ce premier essai. Bibliographie 1. Cours de licence de Mathématiques d'Analyse Numérique de N. Akroune (Université Abderrahmane Mira, Béjaia). 2. Cours de licence de Mathématiques d'Analyse Numérique de S. Salmon (Université Louis Pasteur, Strasbourg). 3. Cours d'Analyse Numérique de P. Goatin (Université du Sud Toulon-Var, France). 4. Analyse numérique pour ingénieurs (Deuxième édition). Auteur : André Fortin, Editeur : Presses internationales Polytechnique. 5. Introduction aux méthodes numériques (Deuxième édition). Auteur : Franck Jedrzejewski, Editeur : Springer-Verlag France, Paris 2005. Première partie Analyse numérique I 1 Chapitre 1 Notions sur les erreurs 1.1 Introduction En général, la résolution des problèmes scientiques passe par une représentation mathématique des phénomènes mis en jeu. Ces phénomènes sont en général compliqués et multiples. Pour les représenter, on est amené à négliger certains paramètres et à simplier d'autres. Même avec ces simplications, les équations obtenues sont souvent insolubles par les méthodes analytiques connues. Par exemple, on ne sait pas trouver analytiquement, la solution des équations x5 + 3x4 + 7x + 8 = 0, x = e−x , sin x + ex = 0, ...etc. C'est ici que l'analyse numérique se distingue des autres champs plus classiques des mathématiques. En eet, pour un problème donné, il est possible d'utiliser diérents algorithmes de résolution. Ces algorithmes dépendent de certains paramètres qui inuent sur la précision du résultat. De plus, on utilise en cours de calcul des approximations plus ou moins précises. Par exemple, on peut remplacer une dérivée par une diérence nie de façon à transformer une équation diérentielle en une équation algébrique. Le résultat nal et son degré de précision dépendent des choix que l'on fait. Une partie importante de l'analyse numérique consiste donc à contenir les eets des erreurs ainsi introduites, qui proviennent de trois sources principales : les erreurs de modélisation ; les erreurs de représentation sur ordinateur ; les erreurs de troncature. Ce chapitre traite principalement des erreurs numériques. La première source d'erreurs dans les calculs faits par un ordinateur provient d'abord des erreurs d'arrondi sur les données, puis des opérations eectuées sur les donnés. Il devrait donc permettre au lecteur de mieux gérer les erreurs au sein des processus numériques an d'être en mesure de mieux interpréter les résultats. 1.2 Erreurs absolue et relative dans N : 1, 3, 9; 2 1 10 dans Q : √ , , ; Nombres exacts 3 7 3 dans R : 5, π, e. Soit x un nombre exact et x∗ une valeur approchée de x, on écrit x ' x∗ ou x ≈ x∗ . • Si x∗ > x, x∗ est dite valeur approchée par excès. • Si x∗ < x, x∗ est dite valeur approchée par défaut. 3 4 CHAPITRE 1. 2 Exemples : 3 ' 0, 6666, π ' 3, 14, est une approximation par excès. √ NOTIONS SUR LES ERREURS 5 ' 2, 23, sont des approximations par défaut mais e ' 2, 72 1.2.1 Erreur absolue Dénition 1.1. notée ∆(x), On appelle erreur absolue du nombre approché x∗ de x la quantité réelle positive, dénie par ∆(x) = |x − x∗ | . Commentaire : Plus l'erreur absolue est petite, plus x∗ est précis. Exemple 1.1. 2 Pour la valeur exacte x = 3 , la valeur approchée ∗ précise que la valeur approchée x2 = 0.667. En eet, nous avons : x∗1 = 0.666667 est 1000 fois plus ∆1 (x) = |x − x∗1 | = | 32 − 0.666667| = | 23 − 666667 | = 13 10−6 , 106 | = 13 10−3 . ∆2 (x) = |x − x∗2 | = | 32 − 0.667| = | 32 − 667 103 1.2.2 Erreur relative Dénition 1.2. notée r(x), On appelle erreur relative du nombre approché dénie par r(x) = x∗ de x la quantité réelle positive, |x − x∗ | ∆(x) = |x| |x| Commentaire : l'erreur relative est souvent exprimée en pourcentage (précision relative) par : r% = r(x) × 100 Exemple 1.2. Pour les valeurs exactes x = 23 et y = 151 on considère les valeurs approchées x∗ = 0.67 et y ∗ = 0.07, respectivement. Les erreurs absolues correspondantes sont : ∆(x) = |x − x∗ | = | 23 − 0.67| = | 200−201 | = 13 10−2 , 3.102 | = 13 10−2 . ∆(y) = |y − y ∗ | = | 51 − 0.07| = | 100−105 15.102 Les erreurs relatives correspondantes sont : r(x) = r(y) = |x−x∗ | |x| |y−y ∗ | |y| = = ∆(x) |x| ∆(y) |y| Ainsi, bien que les erreurs absolues soient égales, x que y ∗ l'est pour y. = 0.5 × 10−2 = 0.5%, = 5 × 10−2 = 5%. x∗ est une approximation 10 fois plus précise pour 1.2.3 Majorants des erreurs absolue et relative Si la valeur exacte est connue on peut déterminer les erreurs absolue et relative. Mais dans la majorité des cas, elle ne l'est pas. Les erreurs absolue et relative deviennent alors inconnues, et pour les estimer on introduit la notion de majorant de l'erreur absolue et de l'erreur relative. Dénition 1.3. On appelle majorant de l'erreur absolue d'une valeur approchée x∗ de x tout nombre réel positif noté ∆x vériant : ∆(x) = |x − x∗ | 6 ∆x ou de manière équivalente : x∗ − ∆x 6 x 6 x∗ + ∆x, x = x∗ ± ∆x qui veut dire : et on écrit : x ∈ [x∗ − ∆x, x∗ + ∆x] 1.3. 5 REPRÉSENTATION DÉCIMALE DES NOMBRES APPROCHÉS Remarque 1.1. 1. Plus prend le plus petit 2. Comme x ' x∗ , et on écrit ∆x ∆x est petit, plus l'approximation x∗ est précise. D'où, en pratique, on possible. en pratique on prend rx ' ∆x |x∗ | qui est un majorant de l'erreur relative de x∗ x = x∗ ± |x∗ | rx . 3. A défaut de l'erreur absolue (l'erreur relative) eective, ∗ erreur absolue (erreur relative) de x . ∆x (rx ) est appelé par abus de langage, 1.3 Représentation décimale des nombres approchés On sait que tout nombre réel positif x peut être représenté sous la forme d'une représentation décimale de développement limité ou illimité : x = am 10m + am−1 10m−1 + ... + am−n+1 10m−n+1 + ...... avec ai ∈ {0, 1, 2, ..., 9} pour i 6= m et am 6= 0 où m est le rang supérieur de x (la plus grande puissance de 10 ). Exemple 1.3. 5406, 3080 = 5.103 + 4.102 + 0.101 + 6.100 + 3.10−1 + 0.10−2 + 8.10−3 + 0.10−4 π = 3.14159265358... = 3.100 + 1.10−1 + 4.10−2 + 1.10−3 + 5.10−4 + ... + 5.10−10 + 8.10−11 + ... 68 = 2.101 + 2.100 + 6.10−1 + 6.10−2 + 6.10−3 + 6.10−4 + .... 3 Remarque 1.2. Dans la pratique, les nombres utilisés x ont des représentations décimales limitées (car, en général, ce sont des nombres approchés). i. Tous les chires conservés ai s'appellent chires signicatifs du nombre approché x. ii. Certains des ai peuvent être nuls. 1.3.1 Chire signicatif (c.s) Dénition 1.4. On appelle chire signicatif d'un nombre approché, tout chire dans sa représen- tation décimale diérent de zéro ; et un zéro s'il se trouve entre deux chires signicatifs, ou s'il constitue un chire conservé. Exemple 1.4. Une approximation à 6 décimales de 0.00301045 est : 0.003|{z} 0 1|{z} 0 |{z} (1) (2) (3) (1) : Ne sont pas signicatifs car ils ne servent qu'à indiquer les rangs des autres chires. (2) : Etant placé entre les chires signicatifs 1et 3, zéro est lui même un chire signicatif. (3) : Ce zéro traduit le fait que le nombre approché a conservé la décimale 10−6 est un chire signicatif. Exemple 1.5. Les valeurs approchées Remarque 1.3. x∗ = 0.0301009 , 400357 ont 6 chires signicatifs (6 c.s.). 1. On ne peut pas connaître le nombre de chires signicatifs de x = 45800 donné sous cette forme. Pour savoir, il faut soit sa représentation décimale, ou encore -d'une s façon équivalente- connaître l'écriture sous la forme (p, q) × 10 . En eet ; 4 x = x1 = 4, 58 × 10 (x1 a 3 c.s. ) ou encore x = x2 = 4, 5800 × 104 (x2 a 5 c.s. ). 6 CHAPITRE 1. NOTIONS SUR LES ERREURS 2. Sur un ordinateur, les nombres sont représentés en virgule ottante comme suit : soit x un réel non nul, en virgule ottante x s'écrit sous la forme : x = ±0.a1 ...aN .bE , avec b∈N est la base, a = 0.a1 ...aN l'exposant compris entre deux entiers 0 ≤ ai < b, a1 6= 0, E ∈ Z, N ∈ N le nombre de chires que l'on appelle la mantisse, m et M (−m ≤ E ≤ M ) et signicatifs. 1.3.2 Chire signicatif exact (c.s.e) Soit x un nombre exact, x∗ une valeur approchée de x dont sa représentation décimale (prise de gauche à droite) est : x∗ = am 10m + am−1 10m−1 + ... + am−n+1 10m−n+1 + am−n |{z} | {z } | {z } 1er c.s 2eme c.s neme c.s m−n 10 | {z } ... + ak 10k , am 6= 0, k ∈ Z. rang du(n+1)eme c.s Dénition 1.5. ∗ (importante) On dit que les n premiers chires signicatifs d'un nombre x sont ème chire signicatif. exacts si l'erreur absolue de ce nombre ne dépasse pas la moitié du rang du n c'est à dire 1 ∆x ≤ · 10m−n+1 . 2 Proposition 1.1. Si un nombre approché possède n c.s. exacts alors : rx ≤ 5.10−n . Exercice 1.1. Donner une borne supérieure de l'erreur absolue et estimer l'erreur relative, si tous les chires signicatifs des nombres approchés suivants sont exacts. x1 = 0, 0019, x2 = 99, 200, x3 = −34508, x4 = 0, 000805. Propriétés a. b. Si un chire signicatif est exact, tous les chires à sa gauche sont exacts. Si un chire n'est pas exact, tous ceux à sa droite ne les sont pas. Exemple 1.6. Soit x = 35.97 et x∗ = 36.00, ici m=1 car x∗ = 3.101 + 6.100 + 0.10−1 + 0.10−2 . ∆x = |x − x∗ | = 0, 03 = 0, 3.10−1 < 0, 5.10−1 . Alors m − n + 1 = −1 m=1 =⇒ n = 3. Donc, x∗ est une approximation de x avec trois chires signicatifs exacts. Remarque 1.4. dire que les bien. n La notion de chire signicatif exact est purement mathématique, elle ne veut pas ∗ premiers c.s. de x coïncident avec les n premiers c.s. de x; l'exemple ci-dessus l'illustre 1.4. 7 TRONCATURE ET ARRONDISSEMENT D'UN NOMBRE 1.4 Troncature et arrondissement d'un nombre F Pour approximer π = 3.141592653589...., on peut considérer la valeur approchée 3.14 ou encore 3.14159, etc... et cela selon le besoin. Dans le premier cas on a tronqué ( couper en éliminant une partie ) le nombre π après 2 décimales. Dans le second cas on l'a tronqué après 5 décimales. F Une méthode habituelle pour tronquer un nombre pour ne garder qu'un nombre ni de chires signicatifs est l'arrondi : Règle d'arrondissement : Pour arrondir un nombre jusqu'à n chires signicatifs, il faut éliminer les chires à droite du n chire signicatif conservé si on se trouve après la virgule, sinon on remplace par des zéros : ième 1. Si le (n + 1)ième chire signicatif est > 5, on augmente le nième chire de 1. 2. Si le (n + 1)ième chire signicatif est < 5, les chires retenus restent inchangés. 3. Si le (n + 1)ième chire signicatif est 5, alors deux cas sont possibles : i) ii) Tous les chires rejetés, situés après le (n + 1)ième c.s., sont des zéros : On applique la règle du chire pair, i.e. : le nième chire reste inchangé s'il est pair. On lui ajoute 1 s'il est impair. Parmi les chires rejetés, situés après le (n + 1)ième c.s., il existe au moins un qui soit non nul : On ajoute 1 au nième chire. Remarque 1.5. 1. On n'arrondit que le résultat nal, jamais les résultats intermédiaires. 2. Un résultat nal n'a jamais plus de précision que la précision des données. 3. Un nombre correctement arrondi ne possède que des chires signicatifs exacts. Dénition 1.6. noté ∆arr On appelle la borne supérieure de l'erreur d'arrondi du nombre approché le nombre vériant ∆arr ≤ 0, 5 × 10m−n+1 . après l'arrondissement de la valeur approchée de x on aura x = x∗arr ± [∆x + ∆arr ] . En général, on prend ∆x ' ∆arr . Par suite x = x∗arr ± 2∆x, où x∗arr est le nombre approché arrondi. 2∆x est l'erreur absolue d'arrondi. Exercice 1.2. Arrondir les nombres suivants à 4 c.s.e. et indiquer l'erreur absolue d'arrondi : 33, 789, x2 = 0, 00489001, x3 = 199993, 99, x4 = 0, 0346750060, x5 = 89765, 5000, 9, 007500. et x1 = x6 = 1.5 Propagation des erreurs Soient x et y deux quantités exactes , x∗ et y ∗ des approximations de x et y, respectivement, ∆x et ∆y des erreurs absolues sur x et y respectivement, rx et ry des erreurs relatives sur x et y respectivement. 8 CHAPITRE 1. NOTIONS SUR LES ERREURS 1.5.1 Erreurs d'une addition Erreur absolue : ∆x+y = ∆x + ∆y. Erreur relative : rx+y = Démonstration. ∆x + ∆y ≤ max (rx , ry ) |x∗ + y ∗ | Supposons que x∗ , y ∗ ∈ R∗+ . Nous avons et x∗ − ∆x ≤ x ≤ x∗ + ∆x y ∗ − ∆y ≤ y ≤ y ∗ + ∆y. Donc a) (x∗ + y ∗ ) − (∆x + ∆y) ≤ x + y ≤ (x∗ + y ∗ ) + (∆x + ∆y) c'est à dire (∆x + ∆y) est l'erreur absolue de x + y, d'où ∆(x + y) = ∆x + ∆y. b) rx+y = = ∆x+∆y x∗ +y ∗ ∆x x∗ x∗ x∗ +y ∗ + ∆y y ∗ y ∗ x∗ +y ∗ = rx .λ1 + ry .λ2 , (λ1 = x∗ x∗ +y ∗ > 0, λ2 = y∗ x∗ +y ∗ > 0 et λ1 + λ2 = 1) ≤ max(rx , ry ).λ1 + max(rx , ry ).λ2 ≤ (λ1 + λ2 ) max(rx , ry ) ≤ max(rx , ry ). | {z } =1 1.5.2 Erreurs d'une soustraction Erreur absolue : ∆x−y = ∆x + ∆y. Erreur relative : rx−y = Démonstration. Exercice. Remarque 1.6. Exemple 1.7. Question : ∆x + ∆y x∗ + y ∗ ≤ max (rx , ry ) |x∗ − y ∗ | |x∗ − y ∗ | La soustraction est l'opération qui fait perdre le plus de précision. Soient x∗ = 255 et y ∗ = 250 avec r(x−y) =? ∗ Nous avons d'abord : ∆x = x .rx = 0, 255, ∆y = ∗ ∗ et puis x − y = 5 avec une erreur relative : r(x−y) = On remarque que x − y. rx = ry = 0, 1% = 10−3 . x∗ et y∗ y ∗ .ry = 0, 250. ∆( x − y) ∆x + ∆y = ∗ ) = 10, 1.10−2 = 10, 1%. ∗ ∗ |x − y | |x − y ∗ | sont 101 fois plus précis pour x et y (respectivement) que x∗ − y ∗ l'est pour 1.5. 9 PROPAGATION DES ERREURS 1.5.3 Erreurs d'une multiplication Erreur absolue : ∆xy = |x∗ | ∆y + |y∗ | ∆x. Erreur relative : rxy = rx + ry Démonstration. Supposons que x∗ , y ∗ ∈ R∗+ . Nous avons x∗ − ∆x ≤ x ≤ x∗ + ∆x a) et y ∗ − ∆y ≤ y ≤ y ∗ + ∆y. En supposant x∗ − ∆x > 0 et y ∗ − ∆y > 0, on aura (x∗ − ∆x)(y ∗ − ∆y) ≤ xy ≤ (x∗ + ∆x)(y ∗ + ∆y). Si on néglige l'erreur de second ordre ∆x∆y, on obtient x∗ y ∗ − [x∗ ∆y + y ∗ ∆x] ≤ xy ≤ x∗ y ∗ − [x∗ ∆y + y ∗ ∆x]. b) r(xy) = ∆(xy) x∗ ∆y + y ∗ ∆x ∆x ∆y = = ∗ + ∗· ∗ ∗ ∗ ∗ xy xy x y 1.5.4 Erreurs d'une division Erreur absolue : ∆ Erreur relative : r Démonstration. x y x y = |x∗ | ∆y + |y ∗ | ∆x . |y ∗ |2 = rx + ry . Exercice. 1.5.5 Erreurs d'une puissance Erreur relative : rx = n rx . Erreur absolue : ∆x = n |(x∗ )n−1 |∆x. n n Démonstration. Exercice. 10 CHAPITRE 1. NOTIONS SUR LES ERREURS 1.6 Exercices Exercice 1.3. Soit H la hauteur d'un barrage. Sa valeur mesurée h est 74, 260m. Si l'erreur relative commise sur h est de 0, 3, a, b trouver tels que a ≤ H ≤ b. √ Exercice 1.4. Avec combien de c.s.e. faut-il calculer e 2 pour que l'erreur relative ne dépasse pas 1%? 1 Exercice 1.5. p 3 ∗ On désire approcher I = 0 f (t) dt, où f (t) = t et p ∈ N , par la surface S du 1 1 1 triangle de sommets A(0, 0), B( p , 0), C( p , f ( p )). Déterminer la valeur minimale de p pour que −2 −4 l'erreur absolue d'approximation ne dépasse pas ε = 10 puis ε = 10 . R Exercice 1.6. On considère l'équation (1.1) x2 − 1634x + 2 = 0. 1. Résoudre l'équation (1.1) en eectuant les calculs avec N = 10 chires signicatifs. (Utiliser le discriminant) 2. Commenter le résultat obtenu et proposer une autre méthode de calcul pour contourner le problème posé. Exercice 1.7. Soient les trois nombres réels : x = 8, 22 y = 0, 00317 z = 0, 00432. 1. Représenter les nombres x, y z avec virgule ottante. N = 3 c.s, calculer la somme x + y + z et 2. En eectuant les calculs avec i) (x + y) + z; ii) x + (y + z). en faisant : 3. Commenter les résultats obtenus. Conclure. Exercice 1.8. S = πR2 où R = 2, 3400, π = 3, 1416. En admettant que tous les chires de R et π sont exacts. 1. Estimer les erreurs absolue et relative de S. 2. Calculer S en arrondissant au nombre de chires signicatifs exacts. On veut calculer la surface d'un disque Exercice 1.9. Soit l'approximation ∆x 1. Montrer que ∆ln(x) = x . ∆f (x) ' |df (x)| 2. En déduire l'erreur relative d'une puissance u = xn δu = nδx . √ énième v = n x. est telle que 3. Déterminer l'erreur absolue et l'erreur relative de la racine x = 22, 123002 et y = 1, 252468 q où tous les c.s. sont exacts. x x Calculer ln( y ) en déduire la valeur de 3 y arrondir au dernier c.s.e. 4. Soient Exercice q 1.10. l où g T = 2π l ont donné l Soit T la période des petites oscillations du pendule qui est donnée par est la longueur du pendule et g la gravité. Supposons que les mesures faites sur les résultats suivants : T = T ∗ ± ∆T = 1, 936 ± 0, 002 s 1. Calculer la gravité g et l = l∗ ± ∆l = 92, 95 ± 0, 10 cm en arrondissant au dernier chire signicatif exact. 2. Donner l'erreur relative sur g en pourcentage. T et Chapitre 2 Interpolation polynomiale 2.1 Position du problème d'interpolation Soient (xi , yi ), i = 0, . . . , n, (n + 1) couples de valeurs réelles. Des telles valeurs peuvent être le résultat de mesures eectuées expérimentalement. Le but du problème d'interpolation est de déterminer une fonction F -appartenant à une certaine classe- qui passe par les points (xi , yi ) donnés, c'est à dire F (xi ) = yi , i = 0, . . . , n. Les points (xi , yi ) sont appelés les points d'interpolation. Exemple 2.1. En physique, on mesure expérimentalement la température d'un objet qui refroidit au cours du temps. On obtient une suite de valeurs à diérents temps ti . On cherche alors à tracer la courbe de refroidissement la plus proche possible des points mesurés, et ainsi à estimer des valeurs de la fonction en des points non mesurés. Les fonctions les plus faciles à évaluer numériquement sont les polynômes. Il est donc important de savoir approximer une fonction arbitraire par des polynômes. L'interpolation polynomiale consiste à chercher la fonction F sous forme d'un polynôme. C'est à ce cas qu'on va s'intéresser dans ce chapitre. Existe-t-il un polynôme P tel que P (xi ) = yi , i = 0, . . . , n? Proposition 2.1. Si les xi sont tous distincts alors il existe un unique polynôme Pn de degré inférieur ou égal à n vériant Pn (xi ) = yi , i = 0, . . . , n. Démonstration. On peut écrire le polynôme Pn comme suit : Pn (x) = a0 xn + a1 xn−1 + . . . + an . Du fait que Pn (xi ) = yi , i = 0, n, les coecients ai , i = 0, n vérient le système : a0 xn0 + a1 xn−1 + . . . + an = y 0 0 n−1 n + a x + . . . + an = y 1 a x 0 1 1 1 . (S) . . n n−1 a0 x n + a1 x n + . . . + an = y n , 11 12 CHAPITRE 2. INTERPOLATION POLYNOMIALE (S) est un système linéaire de déterminant ∆= xn0 xn1 . . . xnn xn−1 . . . 0 n−1 x1 . . . . . . xn−1 . . . n xo x1 . . . xn 1 1 . . . 1 = n Y (2.1) (xi − xj ) i=0,j>i (c'est le déterminant de Vandermonde). On a ∆ 6= 0, car les xi , sont tous distincts. Donc, le système (S) admet une et une seule solution (a0 , a1 , . . . , an ), d'où le polynôme d'interpolation existe et il est unique. Exercice 2.1. f (x) = x4 − 2x3 + x. Parmi les qui interpole f aux points d'abscisses x0 = −1, x1 = 0 et x2 = 2 : P1 (x) = 2x4 − x2 − x, P2 (x) = x2 + x + 1, P3 (x) = x3 − 3x, P4 (x) = x2 − x. Soient la fonction Remarque 2.1. polynômes suivants quel est celui Dans le cas général, on montre que la résolution du système plein (S), le calcul des coecients du polynôme d'interpolation, nécessite un nombre d'opérations en utilisera plutôt d'autres méthodes, moins coûteuses en nombre d'opérations, dès que n permettant O(n3 ). On devient grand. Par exemple, l'utilisation des polynômes de Lagrange, présentée ci-dessous, nécessite un nombre 2 d'opérations en O(n ) (voir la section 2.6). 2.2 Interpolation de Lagrange • Résolvons d'abord le problème partiel suivant : Construire un polynôme Li = Li (x) de degré n tel que 1, si j = i Li (xj ) = δi,j = 0, si j 6= i i = 0, . . . , n xé. Le polynôme Li s'annule en x0 , x1 , . . . , xi−1 , xi+1 , . . . , xn , il s'écrit alors sous la forme : Li (x) = Ki (x − x0 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn ), Ki = C te . Donc, pour x = xj : Li (xj ) = 0, (j = 0, n, j 6= i), pour x = xi : Li (xi ) = 1 ⇒ Ki (xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn ) = 1, d'où la valeur de Ki 1 · Ki = (xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn ) Donc, Li (x) = ou encore (x − x0 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn ) , (xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn ) Li (x) = n Y (x − xj ) · (xi − xj ) j=0, j6=i Pour chaque i = 0, n, Li est appelé polynôme élémentaire de Lagrange au point xi . Remarquons que deg(Li ) = n. 2.2. 13 INTERPOLATION DE LAGRANGE Proposition 2.2. Les polynômes L0 , L1 , . . . , Ln forment une base de l'espace vectoriel Pn . Démonstration. La famille {L0 , L1 , . . . , Ln } est composée de (n + 1) éléments. Pour montrer qu'elle forme une base de Pn , qui est de dimension (n+1), il faut et il sut d'établir que les Li, i = 0, n sont linéairement indépendants. Etant donné n + 1 scalaires αi , i = 0, n. n n n P P P Si αi Li (x) = 0, alors en particulier αi Li (xj ) = αi δij = 0, pour tout j = 0, n. i=0 i=0 D'où, α0 = α1 = . . . = αn = 0. i=0 • Passant à la résolution du problème général qui consiste à former Pn vériant les conditions indiquées plus haut. Ce polynôme est de la forme : Pn (x) = n X yi Li (x). i=0 On a bien 1. deg(Pn ) ≤ n, n n P P yi Li (xj ) = yi δij = yj , j = 0, 1, . . . , n. 2. Pn (xj ) = i=0 i=0 Par unicité, le polynôme Pn est le polynôme cherché. Il s'appelle le polynôme d'interpolation de Lagrange1 qui interpole les points (xi , yi ), i = 0, . . . , n. Exemple 2.2. Déterminer le polynôme d'interpolation P3 de la fonction f dont on connait les valeurs suivantes : xi f (xi ) 0 1 3 4 1 3 0 5 Sous la forme de Lagrange, ce polynôme s'écrit P3 (x) = 3 X f (xi )Li(x) = L0 (x) + 3L1 (x) + 5L3 (x) i=0 où L0 (x) = L1 (x) = L3 (x) = Donc, (x−x1 )(x−x2 )(x−x3 ) (x0 −x1 )(x0 −x2 )(x0 −x3 ) (x−x0 )(x−x2 )(x−x3 ) (x1 −x0 )(x1 −x2 )(x1 −x3 ) (x−x0 )(x−x1 )(x−x2 ) (x3 −x0 )(x3 −x1 )(x3 −x2 ) 1 = − 12 (x − 1)(x − 3)(x − 4), = 61 x(x − 3)(x − 4), 1 = 12 x(x − 1)(x − 3). 1 P3 (x) = − 12 (x − 1)(x − 3)(x − 4) + 12 x(x − 3)(x − 4) + Remarque 2.2. 5 x(x 12 − 1)(x − 3). 1. La formule de Lagrange est intéressante du point de vue numérique, car elle ne dépend que des abscisses xi , i = 0, 1, . . . , n. Soit à calculer plusieurs polynômes d'interpolation où les abscisses correspondant à ces polynômes restent xés (il n'y a que les points 0, 1, . . . , n qui changent). Les polynômes Li , i = 0, 1, . . . , n yi , i = sont calculés une fois pour toute et servent ensuite pour tous les polynômes. 2. La méthode d'interpolation de Lagrange présente deux inconvénients majeurs : i) L'erreur d'approximation peut ne pas diminuer si on augmente le nombre de points d'interpolation (voir TP). 1 Joseph-Louis Lagrange, français né en Italie, 1736-1813 14 CHAPITRE 2. ii) INTERPOLATION POLYNOMIALE Pn le polynôme d'interpolation de Lagrange de degré au plus n en les points (xi , yi ), i = 0, n, si on rajoute le point d'interpolation (xn+1 , yn+1 ), il existe un unique polynôme Pn+1 de degré au plus n + 1. Il est impossible de déduire Pn+1 à partir de Pn , car dans la méthode de Lagrange, l'introduction d'un nouveau point xn+1 nécessite un nouveau calcul de tous les polynômes Li de Lagrange aux points xi , i = 0, 1, . . . , n + 1. La méthode n'est pas récurrente : connaissant Il est intéressant de mettre Pn sous une forme récurrente qui permet de compléter les valeurs déja obtenues sans refaire tous les calculs. On arrive donc au polynôme d'interpolation de Newton. 2.3 Interpolation de Newton L'interpolation de Newton2 utilise les diérences divisées ou nies de f aux points donnés. 2.3.1 Diérences divisées Dénition 2.1. Soient x0 , x1 , . . . , xn , (n + 1) [a, b] connue 0, 1, 2, . . . , n par : ordre 0 : ordre 1 : ordre 2 : (I) . . . ordre k : réelle dénie sur successifs uniquement en points (abscisses) distincts de xi [a, b] et f une fonction donnés. On dénit les diérences divisées d'ordres δ 0 [xi ] δ[xi , xi+1 ] δ 2 [xi , xi+1 , xi+2 ] = f (xi ), )−f (xi ) = f (xxi+1 i+1 −xi ]−δ[xi ,xi+1 ] = δ[xi+1 ,xxi+2 i+2 −xi δ k [xi , xi+1 , . . . , xi+k ] = δ k−1 [xi+1 ,...,xi+k ]−δ k−1 [xi ,...,xi+k−1 ] . xi+k −xi La dernière relation est appelée la diérence divisée d'ordre k (k = 0, 1, 2, . . . , n) de la fonction f en xi , xi+1 , . . . , xi+k . Remarque 2.3. f (a)−f (b) = δ[b, a], la diérence divisée de n'importe quel ordre est a−b indépendante de la position des points (abscisses) sur lesquels elle est prise. Comme δ[a, b] = Calcul des diérences divisées Pour calculer la diérence divisée d'ordre n de la fonction f aux points x0 , . . . , xn on forme le tableau suivant, en appliquant les formules (I) colonne après colonne. xi x0 x1 x2 x3 .. . .. . xn 2 Sir f (xi ) f (x0 ) f (x1 ) f (x2 ) f (x3 ) .. . .. . f (xn ) DD1 DD2 δ[x0 , x1 ] δ[x1 , x2 ] δ 2 [x0 , x1 , x2 ] δ[x2 , x3 ] δ 2 [x1 , x2 , x3 ] .. .. . . .. .. . . δ[xn−1 , xn ] δ 2 [xn−2 , xn−1 , xn ] Isaac Newton, anglais, 1643-1727 DD3 DDn δ 3 [x0 , x1 , x2 , x3 ] .. . .. . δ 3 [xn−3 , . . . , xn ] . . . . . . δ n [x0 , x1 , . . . , xn ] 2.3. 15 INTERPOLATION DE NEWTON 2.3.2 Polynôme d'interpolation de Newton Théorème 2.1. Soient d'interpolation de f f : [a, b] → R et x0 , x1 , . . . , xn , (n + 1) points distincts xi i = 0, n peut être mis sous la forme : de [a, b], le polynôme aux points Pn (x) = f (x0 ) + δ[x0 , x1 ](x − x0 ) + δ 2 [x0 , x1 , x2 ](x − x0 )(x − x1 ) + . . . + δ n [x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) . . . (x − xn−1 ), ou encore Pn (x) = f (x0 ) + n X δ i [x0 , x1 , . . . , xi ] i=1 Remarque 2.4. On peut dénir Pn (2.2) j=0 par la relation de récurrence : P0 (x) = f (x0 ), Pn (x) = Pn−1 (x) + δ n [x0 , x1 , . . . , xn ] Démonstration. i−1 Y (x − xj ). n−1 Q (x − xi ), n ≥ 1. i=0 Soit x ∈ [a, b]. D'après la dénition des diérence divisées on peut écrire : δ[x0 , x] = f (x) − f (x0 ) x − x0 alors, f (x) = f (x0 ) + δ[x0 , x](x − x0 ), puis δ 2 [x0 , x1 , x] = δ 2 [x1 , x0 , x] = δ[x0 , x] − δ[x0 , x1 ] x − x1 d'où, f (x) = f (x0 ) + δ[x0 , x1 ](x − x0 ) + δ 2 [x0 , x1 , x](x − x0 )(x − x1 ). En continuant ainsi on obtient la formule des diérences divisées, on aura donc f (x) = f (x0 ) + δ[x0 , x1 ](x − x0 ) + δ 2 [x0 , x1 , x2 ](x − x0 )(x − x1 ) + . . . + δ n [x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) . . . (x − xn−1 ) +δ n+1 [x0 , x1 , . . . , xn , x](x − x0 )(x − x1 ) . . . (x − xn ). Si on pose Pn (x) = f (x0 ) + δ[x0 , x1 ](x − x0 ) + n P δ i [x0 , x1 , . . . , xi ] i=1 i−1 Q (x − xj ), j=0 et E(x) = δ n+1 [x0 , x1 , . . . , xn , x](x − x0 )(x − x1 ) . . . (x − xn ), alors f (x) = Pn (x) + E(x). Montrons que Pn est le polynôme d'interpolation de f en xi , i = 0, n. i) deg(Pn ) ≤ n (évident) ii) f (xi ) = Pn (xi ) + E(xi ) Remarque 2.5. avec E(xi ) = 0, i = 0, n, donc Pn (xi ) = f (xi ) i = 0, n. 1. L'expression (2.4) s'appelle polynôme d'interpolation de Newton de points (abscisses) 2. L'expression de xi , i = 0, n. Pn est aussi valable si les points xi , i = 0, n ne sont pas ordonnés. f aux 16 CHAPITRE 2. 3. Si on rajoute un point d'interpolation aux points xi , i = 0, n + 1 xn+1 INTERPOLATION POLYNOMIALE supplémentaire, le polynôme d'interpolation de f est donné par : Pn+1 (x) = Pn (x) + δ n+1 [x0 , x1 , . . . , xn , xn+1 ](x − x0 )(x − x1 ) . . . (x − xn ). Exemple 2.3. 2. 1. Déterminer P3 (0, 1), (1, 2), (2, 9), (3, 28). En déduire P4 le polynôme (5, 54). le polynôme d'interpolation de la fonction passant par les points d'interpolation passant par les points Solution : On a 4 points, donc deg(P3) ≤ 3. Posons (0, 1), (1, 2), (2, 9), (3, 28) et xi = i, i = 0, 4. P3 (x) = f (x0 ) + δ[x0 , x1 ](x − x0 ) + δ 2 [x0 , x1 , x2 ](x − x0 )(x − x1 ) + δ 3 [x0 , x1 , x2 , x3 ](x − x0 )(x − x1 )(x − x2 ). Le calcul des diérences divisées se fait comme suit : xi x0 x1 x2 x3 On obtient, et =0 =1 =2 =3 f (xi ) f (x0 ) = 1 f (x1 ) = 2 f (x2 ) = 9 f (x3 ) = 28 DD1 DD2 δ[x0 , x1 ] = 1 δ[x1 , x2 ] = 7 δ[x2 , x3 ] = 19 DD3 δ 2 [x0 , x1 , x2 ] = 3 δ 2 [x1 , x2 , x3 ] = 6 δ 3 [x0 , x1 , x2 , x3 ] = 1 P3 (x) = 1 + x + 3x(x − 1) + x(x − 1)(x − 2). P4 (x) = P3 (x) + δ 4 [x0 , x1 , x2 , x3 , x4 ](x − x0 )(x − x1 )(x − x2 )(x − x3 ) = P3 (x) − 53 x(x − 1)(x − 2)(x − 3). 2.3.3 Cas particulier : points équidistants On considère (n + 1) points d'interpolation (xi , yi ) i = 0, n où les xi sont équidistants, soit h la distance entre deux points consécutifs xi0 , xi0 +1 (h est appelé pas d'interpolation). Diérences nies (non divisées) progressives à l'ordre 1 : ∆f (x) = f (x + h) − f (x), alors ∆f (xi ) = f (xi+1 ) − f (xi ), i = 0, n − 1. à l'ordre k > 1 : ∆k f (x) = ∆(∆k−1 f )(x), alors ∆k f (xi ) = ∆k−1 f (xi+1 ) − ∆k−1 f (xi ), i = 0, n − k. Table des diérences nies progressives f (xi ) f (x0 ) f (x1 ) f (x2 ) f (x3 ) .. . .. . f (xn ) ∆f (.) ∆2 f (.) ∆f (x0 ) ∆f (x1 ) ∆f (x2 ) .. . .. . ∆f (xn−1 ) ∆2 f (x0 ) ∆2 f (x1 ) .. . .. . 2 ∆ f (xn−2 ) ∆3 f (.) ∆n f (.) ∆3 f (x0 ) .. . .. . 3 ∆ f (xn−3 ) . . . . . . ∆n f (x0 ) 2.3. 17 INTERPOLATION DE NEWTON Proposition 2.3. Pour tout i = 0, . . . , n, les égalités suivantes sont valables : 1. ∆f (xi ) = f (xi+1 ) − f (xi ), i = 0, . . . , n − 1. 2. ∆2 f (xi ) = f (xi+2 ) − 2f (xi+1 ) + f (xi ), i = 0, . . . , n − 2. 3. ∆3 f (xi ) = f (xi+3 ) − 3f (xi+2 ) + 3f (xi+1 ) − f (xi ), i = 0, . . . , n − 3. 4. En général, les diérences nies progressives satisfont la relation k ∆ f (xi ) = k X (−1)j Ckj f (xi+k−j ), k = 0, . . . , n, i = 0, . . . , n − k. j=0 Démonstration. Exercice. Relation entre les diérences nies progressives et les diérences divisées Lemme 2.1. j ∆ f (xi ) = δ j [xi , xi+1 , . . . , xi+j ], j = 1, n, i = 0, n − 1. j j!h On montre cette relation, pour i = 0, par récurrence : (x0 ) = ∆fh(x0 ) · δ[x0 , x1 ] = f (xx11)−f −x0 Démonstration. Pour j = 1 : Supposons que δ j [x0 , x1 , . . . , xn ] = ∆j f (x0 ) j! hj et montrons que δ j+1 [x0 , . . . , xj+1 ] = δ j+1 [x0 , x1 , x2 , . . . , xj+1 ] = = = = ∆j+1 f (x0 ) · (j+1)! hj+1 On a δ j [x1 ,x2 ...,xj+1 ]−δ j [x0 ,x2 ,...,xj ] i h jxj+1 −x0 j ∆ f (x1 ) ∆ f (x0 ) 1 − (j+1)h j! hj j! hj ∆j f (x1 )−∆j f (x0 ) (j+1)! hj+1 ∆j+1 f (x0 ) · (j+1)! hj+1 Formule de Newton progressive Prenons les points d'interpolation dans l'ordre x0 , x1 , . . . , xn . D'après la formule de Newton avec les diérences divisées et le lemme 2.1, le polynôme d'interpolation de Newton progressif s'écrit : 2 f (x0 ) (x − x0 )(x − x1 ) Pn (x) = f (x0 ) + ∆fh(x0 ) (x − x0 ) + ∆ 2!h 2 n ∆ f (x0 ) + . . . + n!hn (x − x0 )(x − x1 ) . . . (x − xn−1 ), ou encore sous la forme de récurrence P0 (x) = f (x0 ), n f (x ) 0 Pn (x) = Pn−1 (x) + ∆ n!h (x − x0 )(x − x1 ) . . . (x − xn−1 ), n ≥ 1. n Exemple 2.4. Déterminer le polynôme d'interpolation de Newton progressif associé à la fonction passant par les points f (0, 1), (1, 2), (2, 9), (3, 28). Solution : Posons xi = i, i = 0, 1, 2, 3. Remarquons que les points donnés sont équidistants avec le pas d'interpolation de f est donné par : h = 1, alors sous la forme de Newton progressive, le polynôme d'interpolation 18 CHAPITRE 2. INTERPOLATION POLYNOMIALE 2 f (x ) 3 f (x ) ∆f (x0 ) 0 0 (x − x0 ) + ∆ 2!h (x − x0 )(x − x1 ) + ∆ 3!h (x 2 3 h Le calcul des diérences nies progressives se fait comme suit : P3 (x) = f (x0 ) + ∆2 f (.) f (xi ) ∆f (.) f (x0 ) = 1 f (x1 ) = 2 ∆f (x0 ) = 1 f (x2 ) = 9 ∆f (x1 ) = 7 f (x3 ) = 28 ∆f (x2 ) = 19 D'où, − x0 )(x − x1 )(x − x2 ). ∆3 f (.) ∆2 f (x0 ) = 6 ∆2 f (x1 ) = 12 ∆n f (.) ∆3 f (x0 ) = 6 P3 (x) = 1 + x + 3x(x − 1) + x(x − 1)(x − 2). Proposition 2.4. Posons x = x0 + th, le polynôme de Newton progressif s'écrit : P̃n (t) = f (x0 ) + n X t(t − 1) . . . (t − k + 1) k=1 Démonstration. k! ∆k f (x0 ). Exercice. Diérences nies (non divisées) régressives à l'ordre 1 : ∇f (x) = f (x) − f (x − h), alors ∇f (xi ) = f (xi ) − f (xi−1 ), i = 1, n. à l'ordre k > 1 : ∇k f (x) = ∇(∇k−1 f )(x), alors ∇k f (xi ) = ∇k−1 f (xi ) − ∇k−1 f (xi−1 ), i = k, n. Table des diérences nies régressives ∇f (.) f (xi ) f (x0 ) f (x1 ) f (x2 ) f (x3 ) .. . .. . f (xn ) Proposition 2.5. ∇f (x1 ) ∇f (x2 ) ∇f (x3 ) .. . .. . ∇f (xn ) Pour tout ∇2 f (.) ∇2 f (x2 ) ∇2 f (x3 ) .. . .. . 2 ∇ f (xn ) i = 0, . . . , n, ∇3 f (.) ∇n f (.) ∇3 f (x3 ) .. . .. . 3 ∇ f (xn ) . . . . . . ∇n f (xn ) les égalités suivantes sont valables : 1. ∇f (xi ) = f (xi ) − f (xi−1 ), i = 1, . . . , n. 2. ∇2 f (xi ) = f (xi ) − 2f (xi−1 ) + f (xi−2 ), i = 2, . . . , n. 3. ∇3 f (xi ) = f (xi ) − 3f (xi−1 ) + 3f (xi−2 ) − f (xi−3 ), i = 3, . . . , n. 4. En général, les diérences nies progressives satisfont la relation k ∇ f (xi ) = k X j=0 (−1)j+1 Ckj f (xi−k+j ), k = 0, . . . , n, i = k, . . . , n. 2.3. 19 INTERPOLATION DE NEWTON Démonstration. Exercice. Le lemme suivant donne la relation entre les diérences nies (non divisées) régressives et les diérences divisées : Lemme 2.2. ∇j f (xi+j ) = δ j [xi , xi+1 , . . . , xi+j ], j = 1, n, i = 0, n − 1. j! hj Formule de Newton régressive Prenons les points d'interpolation dans l'ordre xn , xn−1 , . . . , x0 . D'après la formule de Newton et le lemme 2.2, en remplaçant les diérences divisées par les différences non divisées régressives et les points {x0 , x1 , . . . , xn } par {xn , xn−1 , . . . , x0 }, le polynôme d'interpolation de Newton régressif s'écrit : 2 Pn (x) = f (xn ) + ∇f h(xn ) (x − xn ) + ∇ 2!f h(x2n ) (x − xn )(x − xn−1 ) n + . . . + ∇n!fh(xnn ) (x − xn )(x − xn−1 ) . . . (x − x1 ). ou encore sous la forme récurrente Exemple 2.5. P0 (x) = f (xn ), Pk (x) = Pk−1 (x) + ∇k f (xn ) (x k!hk − xn ) . . . (x − xn−k+1 ), 1 ≤ k ≤ n. On considère la même fonction donnée dans l'exemple 2.4. Déterminer le polynôme d'interpolation de la fonction f en Solution : Ce polynôme s'écrit : P3 (x) = f (x3 ) + x3 = 3, x2 = 2, x1 = 1, x0 = 0 sous la forme de Newton régressive. ∇2 f (x3 ) ∇3 f (x3 ) ∇f (x3 ) (x − x3 ) + (x − x )(x − x ) + (x − x3 )(x − x2 )(x − x1 ). 3 2 h 2!h2 3!h3 Le calcul des diérences nies progressives se fait comme suit : f (xi ) f (x0 ) = 1 f (x1 ) = 2 f (x2 ) = 9 f (x3 ) = 28 D'où, ∇2 f (.) ∇f (.) ∇f (x1 ) = 1 ∇f (x2 ) = 7 ∇f (x3 ) = 19 ∇3 f (.) ∇2 f (x2 ) = 6 ∇2 f (x3 ) = 12 ∇n f (.) ∇3 f (x3 ) = 6 P3 (x) = 28 + 19(x − 3) + 6(x − 3)(x − 2) + (x − 3)(x − 2)(x − 1). Proposition 2.6. Posons x = xn + th, P̃n (t) = f (xn ) + le polynôme de Newton régressif s'écrit : n X t(t + 1) . . . (t + k − 1) k=1 Démonstration. Exercice. k! ∇k f (xn ). 20 CHAPITRE 2. INTERPOLATION POLYNOMIALE 2.4 Erreur d'interpolation Dans la pratique, l'interpolation polynomiale sert à remplacer une fonction f qui est soit inconnue, soit trop compliquée, par une fonction plus simple, en l'occurrence un polynôme. On dit que l'on approxime f par le polynôme d'interpolation Pn . Comme c'est le cas dans de nombreuses méthodes d'analyse numérique, il est fondamental d'étudier l'erreur d'approximation. Naturellement, sauf cas particulier, l'expression de l'erreur ne permet pas son calcul exact ; elle peut cependant être très utile pour en calculer une majoration. L'erreur d'interpolation E(x) = f (x) − Pn (x), x ∈ [a, b] (a ≤ x0 ≤ . . . ≤ xn ≤ b), en utilisant les diérences divisées, quelle que soit la formule de Pn , puisqu'il est unique est donnée par : E(x) = δ n+1 [x0 , x1 , . . . , xn , x](x − x0 )(x − x1 ) . . . (x − xn ). (2.3) Cette formule générale peut être modiée lorsque la fonction f est (n + 1) fois continument dérivable sur l'intervalle [a, b], qui est le plus petit intervalle contenant les xi , i = 0, n, f ∈ C n+1 ([a, b]). Théorème 2.2. Si f ∈ C n ([a, b]), (n + 1) fois dérivables sur ]a, b[. Alors n ∀ x ∈ [a, b], ∃ ξ = ξ(x) ∈ [a, b]/ E(x) = f (n+1) (ξ) Y (x − xi ). (n + 1)! i=0 Soit x 6= xi , sinon E(x) = f (x) − Pn (x) = 0. D'après (2.3), il sut de montrer que Démonstration. ∀ x ∈ [a, b], ∃ ξ = ξ(x) ∈ [a, b]/ δ n+1 [x0 , x1 , . . . , xn , x] = f (n+1) (ξ) . (n + 1)! On considère sur [a, b] le fonction g dénie par : g(t) = f (t) − Pn (t) − n Y (t − xi )δ n+1 [x0 , x1 , . . . , xn , x]. i=0 La fonction g s'annule pour t ∈ {x0 , x1 , . . . , x}, donc g ∈ C n+1 ([a, b]) et s'annule au moins en (n + 2) points dans [a, b]. Alors, d'après le théorème de Rolle3 , g 0 ∈ C n ([a, b]) et s'annule au moins en (n + 1) points dans [a, b], g (k) a au moins (n − k + 2) racines dans [a, b] avec 0 ≤ k ≤ n + 1, et pour k = n + 1, g (n+1) a au moins une racine dans [a, b]. Notons par ξ cette racine de g (n+1) , on a (n+1) g (ξ) = 0, g (n+1) (t) = f (n+1) (t) − 0 − (n + 1)!δ n+1 [x0 , x1 , . . . , xn , x], car n+1 P (t) n = 0, (deg(Pn ) ≤ n), • d dtn+1 • n Q dn+1 ( (t − xi ) = tn+1 + Qn (t) ⇒ i=0 n Q dn+1 ( (t−xi )) i=0 dtn+1 = n Q tn+1 +Qn (t)) i=0 = (n + 1)!, dtn+1 donc f (n+1) (ξ) − (n + 1)!δ n+1 [x0 , x1 , . . . , xn , x] = 0, d'où δ n+1 [x0 , x1 , . . . , xn , x] = 3 Michel Rolle, français, 1652-1719 f (n+1) (ξ) · (n + 1)! 2.5. 21 INTERPOLATION DE GAUSS Conséquences : Si f (n+1) est continue sur [a, b], alors 1. |E(x)| = |f (n+1) (ξ)| | (n+1)! n Q (x − xi )| ≤ i=0 Mn+1 | (n+1)! n Q (x − xi )| où Mn+1 = max |f (n+1) (t)|. t∈[a,b] i=0 En eet ; une fonction continue sur un compact est bornée est atteint ses bornes. 2. Si f est un polynôme de degré ≤ n, alors f (n+1) (x) = 0 ⇒ E(x) = 0, ∀ x ∈ [a, b] donc, Pn (x) = f (x), ∀ x ∈ [a, b]. Remarque 2.6. (Remarques importantes) | 1. L'erreur est composée de deux termes, le terme le terme max |f (n+1) (t)| t∈[a,b] 2. Estimation grossière : En conclusion, plus 3. Dans la pratique, f f lié à la régularité de n Q (x−xi )| i=0 (n+1)! x donné, ξx xi et f. |a−b|n+1 kf (n+1) k∞ , ∀ x (n+1)! est régulière, moins l'erreur est grande. |f (x) − Pn (x)| ≤ ∈ [a, b]. est rarement connue, et quand elle l'est, son appartenance à n'est pas toujours réalisée, et à fortiori si le nombre 4. Pour qui dépend du choix des points (n + 1) de points (xi , yi )i=0,n C n+1 ([a, b]) est grand !. est souvent dicile à trouver. n+1 5. Dans les conditions "idéales" (f ∈ C ([a, b]) et ξx connu) minimiser |E(x)| revient à faire n Q de même pour (x − xi ) , alors on a intérêt à considérer des abscisses xi , i = 0, n proches i=0 de x (donc réparties -de préférence- de part et d'autre de x). 6. Pratiquement, on peut montrer qu'il existe un choix optimal des points xi qui permet de mini- miser l'erreur d'approximation. Ce choix optimal est de prendre pour points d'interpolation les zéros d'un certain polynôme de Tchebychev (voir section 2.7). 2.5 Interpolation de Gauss Soient (2n + 1) points équidistants x−n , x−(n−1) , . . . , x−1 , x0 , x1 , . . . , xn−1 , xn tels que h = xi+1 − xi , ∀ i Diérences nies (non divisées) centrales On dénit les diérences nies centrales par : à l'ordre 1 : δf (x) = f (x + h2 ) − f (x − h2 ), alors δf (x i+j ) = f (xi ) − f (xj ), i, j = 0, n. 2 à l'ordre k > 1 : δ k f (x) = δ(δ k−1 f )(x), alors δ k f (x i+j ) = δ k−1 f (xi ) − δ k−1 f (xj ), i, j = 0, n. 2 22 CHAPITRE 2. INTERPOLATION POLYNOMIALE Table des diérences nies centrales δ 2 f (.) f (xi ) δf (.) f (xn ) f (x−n+1 ) δf (x −2n+1 ) 2 f (x−n+2 ) δf (x −2n+3 ) 2 .. .. . . f (x−2 ) f (x−1 ) f (x0 ) f (x1 ) f (x2 ) .. . δf (x ) δf (x −1 ) 2 δf (x 1 ) 2 δf (x 3 ) 2 .. . f (xn−2 ) f (xn−1 ) f (xn ) δf (x 2n−3 ) 2 δf (x 2n−1 ) δ 3 f (.) δ 2 f (x−n+1 ) .. . −3 2 δ 2 f (x−1 ) δ 2 f (x0 ) δ 2 f (x1 ) .. . δ 4 f (.) .. . δ 3 f (x− 1 ) 2 δ 3 f (x 1 ) 2 .. δ 2n f (.) ... . δ 4 f (x0 )) . . . . . . δ 2n f (x0 )) δ 2 f (xn−1 ) 2 Le lemme suivant donne la relation entre les trois diérences nies (non divisées) : Lemme 2.3. ∆j f (xi ) = ∇j f (xi+j ) = δ j f (xi+ j ), j = 1, n, i = −n, n − 1. Démonstration. 2 exercice. Formule de Gauss progressive Le 1er pas étant progressif. c'est à dire, en prenant les points d'interpolation dans l'ordre : x0 , x1 , x−1 , x2 , x−2 , . . . , xn , x−n . Le polynôme d'interpolation s'écrit : Pn (x) = f (x0 ) + δf (x 1 ) 2 h δ 3 f (x 1 ) (x − x0 ) + δ 2 f (x0 ) (x 2! h2 − x0 )(x − x1 ) 2 (x − x0 )(x − x1 )(x − x−1 ) + 3! h2 δ 2n f (x0 ) + . . . + (2n)! h2n (x − x0 )(x − x1 )(x − x−1 ) . . . (x − xn ). Formule de Gauss régressive Le 1er pas étant progressif. c'est à dire, en prenant les points d'interpolation dans l'ordre : x0 , x−1 , x1 , x−2 , x2 , . . . , x−n , xn . Le polynôme d'interpolation s'écrit : Pn (x) = f (x0 ) + δf (x− 1 ) δ 3 f (x− 1 ) 2 h (x − x0 ) + δ 2 f (x0 ) (x 2! h2 − x0 )(x − x−1 ) + 3! h2 2 (x − x0 )(x − x−1 )(x − x1 ) δ 2n f (x0 ) + . . . + (2n)! (x − x0 )(x − x−1 )(x − x1 ) . . . (x − x−n ). h2n 2.6. 23 EVALUATION DES POLYNÔMES Remarque 2.7. Soit une table des points (xi )i∈N∗ . An d'avoir une bonne approximation de f en x̄ ∈ [min xi , max xi ], 1. la formule de Newton progressive est adaptée au début de la table, 2. la formule de Newton régressive est adaptée à la n de la table, 3. les formules de Gauss sont adaptées au milieu de la table. Exemple 2.6. Exercice 2.9 2.6 Evaluation des polynômes 2.6.1 Cas d'un polynôme quelconque Il est important de pouvoir évaluer des polynômes rapidement et de la façon la plus stable possible. Pour évaluer un polynôme de la forme : P (x) = an xn + an−1 xn−1 + . . . + a1 x + a0 , chaque terme aj xj nécessite j multiplications. Donc, en tout on a n2 (n + 1) multiplications et n additions. On peut diminuer le nombre d'opérations en stockant le terme xj−1 de sorte que pour calculer aj xj , il sut de multiplier xj−1 par x puis par aj . D'où 2 multiplications pour chaque monôme à partir de a2 x2 , on aura donc, 2n−1 multiplications et n additions. On peut encore diminuer ce coût, en utilisant le schéma d'Horner, qui regroupe les termes de P de la façon suivante : P (x) = (an xn−1 + an−1 xn−2 + . . . + a2 x + a1 )x + a0 = ((an xn−2 + an−1 xn−3 + . . . + a3 x + a2 )x + a1 )x + a0 = (. . . ((an x + an−1 )x + an−2 )x + . . . + a1 )x + a0 . Ce qui donne l'algorithme de récurrence d'Horner : T0 (x) = an T1 (x) = T0 (x)x + an−1 .. . Tk (x) = Tk−1 (x)x + an−k pour k = 1 . . . n, .. . Tn (x) = P (x). 2.6.2 Cas d'un polynôme d'interpolation de Newton Soit P le polynôme d'interpolation de Newton de f aux points xi , i = 0, n. P (x) = f (x0 ) + δ[x0 , x1 ](x − x0 ) + δ 2 [x0 , x1 , x2 ](x − x0 )(x − x1 ) + . . . + δ n [x0 , . . . , xn ](x − x0 )(x − x1 ) . . . (x − xn−1 ) = (. . . (δ n [x0 , . . . , xn ](x − xn−1 ) + δ n−1 [x0 , . . . , xn−1 ]) (x − xn−2 ) + . . . + δ[x0 , x1 ])(x − x0 ) + f (x0 ). 24 CHAPITRE 2. INTERPOLATION POLYNOMIALE Ce qui donne l'algorithme d'Horner : T0 (x) = δ n [x0 , . . . , xn ] T1 (x) = (x − xn−1 )T1 (x) + δ n−1 [x0 , . . . , xn−1 ] .. . Tk (x) = (x − xn−k )Tk−1 (x) + δ n−k [x0 , . . . , xn−k ] .. . pour k = 1, . . . , n, Tn (x) = P (x). 2.6.3 Cas d'un polynôme d'interpolation de Lagrange Neville4 et Aitken5 ont proposé un algorithme récurrent de calcul du polynôme d'interpolation de Lagrange sur n points à partir d'une expression portant sur (n − 1) points. Soit P le polynôme d'interpolation de Lagrange de f aux points xi , i = 0, n. P (x) = n X f (xi ) Li (x), i=0 où Li (x) = n Y (x − xj ) . (x i − xj ) j=0, j6=i Le calcul d'un des polynômes élémentaires de Lagrange de degré n nécessite : 2(n − 1) multiplications, 2n additions et une division. Donc pour évaluer le polynôme P, les opérations nécessaires sont : (n + 1) polynômes élémentaires de Lagrange, (n + 1) multiplications et n additions. D'où, Coût=(2n − 1)(n + 1) (mulitplications)+ (2n(n + 1) + n) (additions) +(n + 1)(divisions). On peut diminuer de moitié ce coût en utilisant l'algorithme de Neville-Aitken suivant : = f (xj ) pour j = 0, . . . , n, P0,j Pi+1,j (x) = Pn,0 (x) (xi+1 −x)Pi,j (x)−(xj −x)Pi,j+1 (x) xi+j+1 −xj pour i = 0, . . . , n − 1 et j = 0, . . . , n − i − 1, = P (x). 2.7 Complément du cours 2.7.1 Interpolation d'Hermite Exercice : Soient f : [a, b] −→ R une fonction dérivable sur [a, b] et x0 , x1 , . . . , xn , (n + 1) points distincts de [a, b]. On pose yi = f (xi ), zi = f 0 (xi ), i = 0, 1, . . . , n. An d'améliorer l'interpolation de Lagrange, on propose de déterminer l'unique polynôme P2n+1 de degré inférieur ou égal à 2n + 1 qui vérie 0 P2n+1 (xi ) = yi et P2n+1 (xi ) = zi , ∀ i ∈ {0, 1, . . . , n}, il s'agit de l'interpolation dite de Hermite. 4 Eric Harold Neville, 1989-1961 5 Alexander Craig Aitken, 1895-1967 (2.4) 2.7. 25 COMPLÉMENT DU COURS 1. On considère les polynômes Hi et Ki , i = 0, 1, . . . , n dénis par : Hi (x) = L2i (x) [1 − 2L0i (xi )(x − xi )] , Ki (x) = L2i (x)(x − xi ), où Li (x) = n Q j=0, j6=i a) (x−xj ) · (xi −xj ) Montrer que i) deg(Hi ) = deg(Ki ) = 2n + 1, ∀ i ∈ {0, 1, . . . , n}. si j = i; ii) Hi (xj ) = 1, Ki (xj ) = 0, ∀ i, j ∈ {0, 1, . . . , n}. 0, si j 6= i, si j = i; 0 Hi0 (xj ) = 0, ∀ i, j ∈ {0, 1, . . . , n}. ii) Ki (xj ) = 1, 0, si j 6= i, b) En déduire que P2n+1 (x) = n X (2.5) [yi Hi (x) + zi Ki (x)] i=0 est un polynôme de degré inférieur ou égal à 2n + 1 vériant (2.4). c) Montrer que P2n+1 donné dans (2.5) est le seul polynôme de P2n+1 qui satisfait (2.4). 2. On pose f ∈ C 2n+1 ([a, b]), dérivable (2n + 2) fois sur ]a, b[. Montrer que ∀ x ∈ [a, b], ∃ ξ ∈]a, b[ tel que n f (2n+2) (ξ) Y E(x) = f (x) − P2n+1 (x) = (x − xi )2 . (2n + 2)! i=0 Indication : pour tout x ∈ [a, b] avec x 6= xi , ψ(t) = f (t) − P2n+1 (t) − n f (x)−P2n+1 (x) Q (t n Q (x−xi )2 i=0 i = 0, . . . , n, on dénit la fonction t 7→ ψ(t) par − xi )2 . i=0 3. Application numérique : Soit f (x) = 1 , 1+x2 x ∈ [0, 1]. i) Déterminer le polynôme d'interpolation de Lagrange de f aux points x0 = 0 et x1 = 1. ii) Déterminer le polynôme d'interpolation d'Hermite de f aux points x0 = 0 et x1 = 1. iii) En déduire deux valeurs approchées de f ( 12 ). Comparer les résultats obtenus et conclure. Solution : 1. On considère les polynômes Hi et Ki , i = 0, 1, . . . , n dénis par : Hi (x) = [Li (x)]2 [1 − 2L0i (xi )(x − xi )] , Ki (x) = [Li (x)]2 (x − xi ), où Li (x) = a) n Y (x − xj ) . (x i − xj ) j=0, j6=i Pour tout i ∈ {0, 1, . . . , n}, on a deg(Li ) = n et Li (xj ) = 1, 0, si j = i; Alors si j 6= i. deg(Hi ) = deg(Ki ) = 2deg(Li ) + 1 = 2n + 1. 26 CHAPITRE 2. INTERPOLATION POLYNOMIALE Hi (xi ) = [Li (xi )]2 [1 − 2L0i (xi )(xi − xi )] = [Li (xi )]2 = 1, Hi (xj ) = [Li (xj )]2 [1 − 2L0i (xi )(xj − xi )] = 0, si j 6= i. 0 Hi (xi ) = 2Li (xi )L0i (xi ) [1 − 2L0i (xi )(xi − xi )] − 2L0i (xi )[Li (xi )]2 = 0, Hi0 (xj ) = Li (xj )L0i (xj ) [1 − 2L0i (xi )(xj − xi )] − 2L0i (xi )[Li (xj )]2 = 0, si j 6= i. Ki (xi ) = [Li (xi )]2 (xi − xi ) = 0, Ki (xj ) = [Li (xj )]2 (xj − xi ) = 0, si j 6= i. Ki0 (xi ) = 2L0i (xi )Li (xi )(xi − xi ) + [Li (xi )]2 = [Li (xi )]2 = 1, Ki0 (xj ) = 2L0i (xj )Li (xj )(xj − xi ) + [Li (xj )]2 = 0, si j 6= i. n P Posons P2n+1 (x) = [yi Hi (x) + zi Ki (x)] . D'après la question précédente, on aura b) i=0 i) deg(P2n+1 ) ≤ 2n + 1, c'est évident car (deg(Hi ) = deg(Ki ) = 2n + 1), n P ii) P2n+1 (xj ) = [yi Hi (xj ) + zi Ki (xj )] = yj Hj (xj ) = yj , ∀ j ∈ {0, 1, . . . , n}, iii) c) i=0 n P 0 (xj ) = P2n+1 [yi Hi0 (xj ) + zi Ki0 (xj )] = zj Kj0 (xj ) = zj , ∀ j ∈ {0, 1, . . . , n}. i=0 On suppose qu'il existe un autre polynôme de degré au plus 2n + 1, noté Q2n+1 , vériant Q2n+1 (xi ) = yi et Q02n+1 (xi ) = zi , ∀ i ∈ {0, 1, . . . , n}. Posons R2n+1 = P2n+1 − Q2n+1 , on obtient R2n+1 (xi ) = P2n+1 (xi ) − Q2n+1 (xi ) = 0, i ∈ {0, 1, . . . , n} 0 0 R2n+1 (xi ) = P2n+1 (xi ) − Q02n+1 (xi ) = 0, i ∈ {0, 1, . . . , n}, donc {x0 , . . . , xn } sont des racines doubles de R2n+1 . D'où R2n+1 est un polynôme de degré au plus 2n + 1 possède au moins 2n + 2 racines , ce qui signie que R est le polynôme nul. ce qui implique que Q2n+1 coïncide avec P2n+1 . 2. On pose f ∈ C 2n+1 ([a, b]), dérivable (2n + 2) fois sur ]a, b[. Montrer que ∀ x ∈ [a, b], ∃ ξ ∈]a, b[ tel que n f (2n+2) (ξ) Y E(x) = f (x) − P2n+1 (x) = (x − xi )2 . (2n + 2)! i=0 Remarquons que E(xi ) = 0, ∀i ∈ {0, 1, . . . , n}. On considère sur [a, b] avec x 6= xi , i = 0, . . . , n, la fonction ψ dénie par : n ψ(t) = f (t) − P2n+1 (t) − f (x) − P2n+1 (x) Y (t − xi )2 . n Q (x − xi )2 i=0 i=0 La fonction ψ s'annule pour t ∈ {x0 , x1 , . . . , xn , x}, donc ψ ∈ C 2n+2 ([a, b]) et s'annule au moins (n + 2) fois dans [a, b]. Alors, d'après le théorème de Rolle a au moins (n + 1) racines dans ]a, b[ diérentes de x0 , x1 , . . . , xn . De plus on ψ 0 (xi ) = 0, ∀i ∈ {0, 1, . . . , n}, donc ψ 0 a au moins (2n + 2) racines dans ]a, b[. En appliquant le théorème de Rolle (2n + 2) fois à la fonction ψ sur [a, b], on trouve ψ (2n+2) a au moins une racine ξ = ξ(x) ∈]a, b[. Par suite on aura (2n+2) (ξ) = 0, ψ 2n+1 (x) (2n+2) ψ (t) = f (2n+2) (t) − 0 − f (x)−P (2n + 2)!, n Q (x−xi )2 i=0 2.7. 27 COMPLÉMENT DU COURS car 2n+2 2n+1 (t) = 0, (deg(P2n+1 ) ≤ 2n + 1), • d dtP2n+2 n Q • (t − xi )2 = t2n+2 + S2n+1 (t), avec S2n+1 ∈ P2n+1 . i=0 D'où, ∀ x ∈ [a, b], ∃ ξ ∈]a, b[: n f (2n+2) (ξ) Y (x − xi )2 . E(x) = f (x) − P2n+1 (x) = (2n + 2)! i=0 3. Application numérique : Soit [a, b] = [0, 1], x0 = 0, x1 = 1(n = 1) et f (x) = alors y0 = f (0) = 1, y1 = f (1) = 12 , z0 = f 0 (0) = 0 et z1 = f 0 (1) L0 (x) = 1 − x, L1 (x) = x et L00 (x) = −1, L01 (x) = 1. −2x , (1+x2 )2 i) 1 , 1+x2 1 = −2. f 0 (x) = De plus Sous la forme de Lagrange P1 s'écrit : 1 x−1 1 1 P1 (x) = L0 (x) + L1 (x) = + x = − x + 1. 2 −1 2 2 ii) Sous la forme de Hermite, P3 s'écrit : P3 (x) = H0 (x) + 21 H1 (x) − 21 K1 (x), où H0 (x) = [L0 (x)]2 (1 − 2L00 (x0 )(x − x0 )) = 2x3 − 3x2 + 1, H1 (x) = [L1 (x)]2 (1 − 2L01 (x1 )(x − x1 )) = −2x3 + 3x2 , K1 (x) = [L1 (x)]2 (x − x1 ) = x3 − x2 . D'où, iii) On a 1 2 1 P3 (x) = x3 − x2 + 1. 2 ∈ [0, 1], d'où les deux approximations de f ( 12 ) 1 3 1 1 4 3 1 f ( ) ' P1 ( ) = avec |f ( ) − P1 ( )| = | − | = 0, 05 2 2 4 2 2 5 4 et 1 1 13 1 1 4 13 f ( ) ' P3 ( ) = avec |f ( ) − P3 ( )| = | − | = 0, 0125 < 0.05. 2 2 16 2 2 5 16 1 Donc, la approximation la plus précise de f ( 2 ) est celle obtenue par l'interpolation de Hermite. 2.7.2 Meilleur choix de points d'interpolation et polynômes de Tchebychev Contrairement aux interpolations précédentes dans lesquelles l'utilisateur peut choisir sa subdivision, l'interpolation de Tchebychev impose une subdivision {x0 , x1 , . . . , xn } de l'intervalle d'interpolation [a, b] en des points appelés points de Tchebychev . Exercice : An de déterminer, pour n donné, la subdivision {x0 , x1 , . . . , xn } de [a, b] pour laquelle la quantité L = max |(x − x0 )(x − x1 ) . . . (x − xn )| soit minimale, x∈[a,b] 28 CHAPITRE 2. INTERPOLATION POLYNOMIALE On propose d'étudier les polynômes de Tchebychev dénis pour tout n ∈ N par : Tn : [−1, 1] −→ R x 7−→ Tn (x) = cos(n arccos x) 1. a) Montrer que pour tout x ∈ [−1, 1], Tn satisfont la relation de récurrence : Tn+1 (x) = 2xTn (x) − Tn−1 (x), n ≥ 1. Indication : poser x = cos θ et utiliser la relation cos((n + 1)θ) + cos((n − 1)θ) = 2 cos θ cos nθ. b) Déterminer les trois premiers termes de la suite (Tn )n . c) En déduire que Tn est un polynôme de degré n dont le coecient de xn est 2n−1 . 2. Montrer que : i) |Tn (x)| ≤ 1 pour tout x ∈ [−1, 1]. ii) Tn (cos( kπn )) = (−1)k pour k = 0, 1, . . . , n. iii) Tn (cos( (2k+1)π )) = 0 pour k = 1, . . . , n − 1. 2n 3. Montrer que pour tout polynôme Q de degré n dont le coecient de xn est 2n−1 , on a max |Q(x)| ≥ max |Tn (x)| = 1. x∈[−1,1] 4. a) x∈[−1,1] Soit {x̄0 , . . . , x̄n } une subdivision de l'intervalle [−1, 1]. Montrer que max |(x − x̄0 )(x − x∈[−1,1] x̄1 ) . . . (x − x̄n )| est minimal si et seulement si (x − x̄0 )(x − x̄1 ) . . . (x − x̄n ) = 2−n Tn+1 (x). b) En déduire que, pour n donné, la subdivision {x̄0 , . . . , x̄n } pour laquelle max |(x − x̄0 )(x − x̄1 ) . . . (x − x̄n )| soit minimal est x∈[−1,1] x̄k = cos( (2k + 1)π ), k = 0, . . . , n. 2(n + 1) 5. Quels subdivision {x0 , . . . , xn } faut-il choisir si l'intervalle d'interpolation est l'intervalle [a, b]? Commenter l'erreur d'interpolation. Indication : utiliser le changement de variable xk = a+b + a−b x̄k . 2 2 Solution : Pour tout n ∈ N, on dénit les polynômes de Tchebychev par : Tn : [−1, 1] −→ R x 7−→ Tn (x) = cos(n arccos x) 2.7. 1. 29 COMPLÉMENT DU COURS a) Posons x = cos θ, alors arccos x = θ ce qui implique que Tn (x) = cos(nθ), ∀ n ∈ N. D'autre part, les formules d'addition des fonctions trigonométriques donnent : cos((n + 1)θ) + cos((n − 1)θ) = 2 cos θ cos(nθ). On en déduit que pour tout x ∈ [−1, 1] et n ∈ N∗ Tn+1 (x) = cos((n + 1)θ) = 2 cos θ cos(nθ) − cos((n − 1)θ) = 2xTn (x) − Tn−1 (x). b) T0 (x) = cos(0) = 1, T1 (x) = cos(arccos x) = x, T2 (x) = 2xT1 (x) − T0 (x) = 2x2 − 1. c) Le degré de Tn et le coecient de xn s'obtiennent par récurrence. 2. Montrer que : i) |Tn (x)| = | cos(n arccos x)| ≤ 1 pour tout x ∈ [−1, 1]. ii) Tn (cos( kπn )) = cos(n arccos(cos( kπn ))) = cos(kπ) = (−1)k , k = 0, 1, . . . , n. C'est à dire Tn atteint son extremum sur l'intervalle [−1, 1] aux (n + 1) points yk = cos( iii) kπ ), k = 0, 1, . . . , n. n pour lesquels il prend alternativement les valeurs 1 et −1. Tn (cos( (2k+1)π )) = cos(n arccos(cos( (2k+1)π ))) = cos( (2k+1)π ) = 0, k = 0, . . . , n − 1. 2n 2n 2 (2k+1)π Constatons que pour k = 0, . . . , n − 1, 2n ∈ [0, π]. C'est à dire Tn s'annule exactement n fois sur l'intervalle [−1, 1] en les points zk = cos( (2k + 1)π ), k = 0, . . . , n − 1. 2n 3. Raisonnons par l'absurde, supposons qu'il existe un polynôme Q de degré n dont le coecient de xn est 2n−1 diérent de Tn tel que max |Q(x)| < max |Tn (x)| = 1. x∈[−1,1] x∈[−1,1] Considérons le polynôme R = Tn − Q. C'est un polynôme de degré (n-1). De plus R(cos( kπ )) = Q(cos( kπ )) − Tn (cos( kπ )) n n n )) − (−1)k = Q(cos( kπ n = Q(cos( kπ )) − 1, si k est pair ; n k = 0, . . . , n. kπ Q(cos( n )) + 1, si k est impair, Comme |Q(x)| < 1, ∀ x ∈ [−1, 1], alors R(cos( kπ )) prend alternativement le signe (+)ou(n ). On en déduit que la fonction R s'annule au moins une fois dans chacun des intervalles [cos( kπ ), cos( (k+1)π )], k = 0, . . . , n − 1. Ainsi R possède n racines dans [−1, 1]. Or R est un n n polynôme de degré (n − 1). Ceci n'est possible que si R ≡ 0, donc Q ≡ Tn . Contradiction. 30 CHAPITRE 2. 4. a) INTERPOLATION POLYNOMIALE Prenons Q(x) = 2n (x − x̄0 )(x − x̄1 ) . . . (x − x̄n ), on a Q est un polynôme de degré n + 1 dont le coecient de xn+1 est 2n , ce qui entraîne, d'après la question précédente, que max |2n (x − x̄0 )(x − x̄1 ) . . . (x̄ − xn )| ≥ max |Tn+1 (x)|. x∈[−1,1] x∈[−1,1] Donc, pour que max |(x − x̄0 )(x − x̄1 ) . . . (x − x̄n )| soit minimal if faut et il sut de x∈[−1,1] prendre 2n (x − x̄0 )(x − x̄1 ) . . . (x − x̄n ) = Tn+1 (x). C'est à dire (2.6) (x − x̄0 )(x − x̄1 ) . . . (x − x̄n ) = 2−n Tn+1 (x). b) De (2.6) on en déduit que, pour n donné, x̄0 , . . . , x̄n sont les (n+1) racines de polynôme de Tchebychev Tn+1 et d'après la question (2.d) ces racines sont données par : x̄k = cos( (2k + 1)π ), k = 0, . . . , n. 2(n + 1) 5. Pour se ramener à un intervalle [a, b] quelconque, on utilise le changement de variable suivant xk = a+b a−b + x̄k . 2 2 D'où pour que la quantité L = max |(x − x0 )(x − x1 ) . . . (x − xn )| soit minimale, il faut et il x∈[a,b] sut de prendre xk = (2k + 1)π a+b b−a + cos( ), k = 0, . . . , n. 2 2 2(n + 1) On obtient la majoration suivante le l'erreur d'interpolation de la fonction f ∈ C (n+1) ([a, b]) par le polynôme Pn |f (x) − Pn (x)| ≤ (b − a)n+1 max |f (n+1) (t)|, x ∈ [a, b]. (n + 1)!22n+1 t∈[a,b] C'est la meilleure majoration globale que l'on puisse obtenir. En eet ; soit Mn+1 = max |f (n+1) (t)|, t∈[a,b] pour tout x ∈ [a, b] on a (n+1) (ξ)| |f (x) − P (x)| = | f (n+1)! | ≤ = = = ≤ n Q (x − xk )|, ξ ∈]a, b[ i=0 Mn+1 |(x − a+b − b−a x̄0 ) . . . (x − a+b − b−a x̄n )|, (n+1)! 2 2 2 2 Mn+1 b−a n+1 2 a+b 2 ( 2 ) |( b−a (x − 2 ) − x̄0 ) . . . ( b−a (x − a+b ) − x̄n )|, (n+1)! 2 Mn+1 b−a n+1 2 ( 2 ) |(y − x̄0 ) . . . (y − x̄n )|, où y = b−a (x − a+b ) (n+1)! 2 Mn+1 (b−a) n+1 −n ) |2 Tn+1 (y)| (n+1)! 2 Mn+1 b−a n+1 −n ( 2 ) 2 . (n+1)! ∈ [−1, 1] 2.8. CONCLUSION 31 2.8 Conclusion En fait, les méthodes d'interpolation polynomiale présentées dans ce cours (Lagrange, Newton, Hermite6 ) sont assez peu utilisées dans la pratique. D'abord, il est dicile d'interpoler avec des polynômes de degré très élevé : on voit alors apparaître un phénomène d'eets de bord dit phénomène de Runge7 . Runge a montré en 1901 que quand le nombre de points d'interpolation croît indéniment, le polynôme d'interpolation ne converge pas toujours vers la fonction interpolée en tous points. La divergence s'observe aux bords de l'intervalle (la convergence n'est pas uniforme). On peut avoir une convergence uniforme, en choisissant judicieusement les points d'interpolation (racines d'un certain polynôme de Tchebychev8 ). Néanmoins, ces méthodes d'interpolation ont un intérêt pour construire des formules de quadrature pour l'intégration numérique et des schémas pour résoudre des équations diérentielles. L'interpolation en utilisant des polynômes de degré élevé introduit aussi une grande sensibilité aux erreurs. On préfère alors faire de l'interpolation par morceaux : c'est à dire découper l'intevalle sur lequel on veut interpoler en petits intervalles et interpoler sur chacun des ces petits intervalles avec des polynômes de degré moindre. c'est la méthode des splines, la méthode d'interpolation la plus utilisée en pratique. 6 Charles 7 Carle Hermite, français, 1822-1901 David Tolmé Runge, allemand, 1856-1927 8 Pafnuty Lvovich Chebyshev, russe, 1821-1894 32 CHAPITRE 2. INTERPOLATION POLYNOMIALE 2.9 Exercices Exercice 2.2. Soient 1. Montrer que, si x 0 , x1 , . . . , x n f ∈ P n (P n (n+1) points distincts. est l'ensemble des polynômes de degré inférieur ou égal à le polynôme d'interpolation de f aux points xi (i = 0, 1, . . . , n) 2. En déduire que, pour tout x réel, on a : n n P P Li (x) = 1 xki Li (x) = xk (0 ≤ k ≤ n) i=0 i=0 n P k (xi − x) Li (x) = δ0k (0 ≤ k ≤ n) où δij = i=0 a. est f n) alors lui même. b. c. 1, 0, si si i = j; i 6= j. Exercice 2.3. x0 , x1 , . . . , xn (n+1) points réels distincts et F, G deux fonctions dénies en On considère P et Q les polynômes d'interpolations de F et G ( respectivement ) x 0 , x1 , . . . , x n . 1. Soient a. b. Montrer que P +Q est le polynôme d'interpolation de PQ Donner une condition nécessaire et susante pour que de FG aux points 2. Soit la fonction f aux points aux points x 0 , x1 , . . . , x n . soit le polynôme d'interpolation x 0 , x1 , . . . , x n . donnée par la table suivante : xi f (xi ) a. b. F +G ces points. 1 2 3 0 1 3 2 16 1 8 Déterminer le polynôme d'interpolation de Newton de f aux points xi (i = 0, 1, 2, 3). En déduire le polynôme d'interpolation de la fonction g dénie par g(x) = xf (x) + x2 points Exercice 2.4. aux xi (i = 0, 1, 2, 3). 1. Soit la fonction réelle f dénie par : 4 +6x3 −11x2 +6x f (x) = (x3 − x2 − 2x)e−x a. Déterminer le polynôme d'interpolation de Newton de f aux points 0, 1, 2, 3 formule de Newton progressive. b. Pouvait-on prévoir ce résultat ? 2. Soit a. g 3. b. a. g Déterminer le polynôme d'interpolation de i. xi 0 f (xi ) -1 points 0, 1, 2 : la fonction réelle donnée par la table suivante : aux ii. sous sous la forme de Lagrange En déduire le polynôme d'interpolation de g 1 2 3 0 1 -2 la forme de Newton aux points 0, 1, 2 et 3. Déduire des questions précédentes, le polynôme d'interpolation de la fonction F =f +g aux points 0, 1, 2 et 3. b. En utilisant l'algorithme de Horner, calculer une valeur approchée de F ( 12 ). c. Estimer le résultat obtenu, sachant que max |F (4) (x)| ≤ 1. x∈[0,3] Exercice 2.5. On considère une fonction impaire f connue aux points x0 = −2, x1 = −1, x2 = 1 et x3 = 2. en utilisant la 2.9. 33 EXERCICES Li (i = 0, 1, 2, 3) en ces points. Calculer L3 (x)−L0 (x) et L2 (x)−L1 (x). En déduire une expression du polynôme d'interpolation P de la fonction f aux points x0 , x1 , x2 , x3 sous la forme : 1. Calculer les polynômes de Lagrange 2. P (x) = R(x)f (1) + S(x)f (2) où R et S sont deux polynômes à déterminer. P est également le polynôme d'interpolation de f aux points −2, −1, 0, 1, 2. f (x) = sin π2 x, en déduire une approximation de f ( 14 ) ainsi que l'erreur absolue commise. 3. Montrer que 4. Pour Exercice 2.6. f : [−a, a] → R une fonction, a ∈ R∗+ et x0 , x1 , . . . , xn des points de [−a, a] tels que : 0 < x0 < x1 < . . . < xn < a. Montrer que le polynôme d'interpolation de f aux points −xn , . . . , −x1 , −x0 , x0 , x1 , . . . , xn est pair si f est paire. 1 , x ∈ [−4, 4]. Déterminer le polynôme d'interpolation de Lagrange de f aux Soit f (x) = |x|+1 1 1 points −3, −1, − 2 , 2 , 1, 3. 1. Soient 2. Exercice 2.7. 1. 2. 3. 4. f (x) = sin(πx), x ∈ [−1, 1]. 1 1 Déterminer le polynôme d'interpolation de f, noté P2 , aux points −1, − 2 , 2 . 1 1 Déterminer le polynôme d'interpolation de f, noté Q2 , aux points − 2 , 2 , 1. 1 Soit le polynôme P (x) = 2 [(x + 1)Q2 (x) − (x − 1)P2 (x)]. a) Montrer que P est le polynôme d'interpolation de f aux points −1, − 21 , 12 , 1. b) Peut-on armer que P est le polynôme d'interpolation de f aux points −1, − 12 , 0, 12 , 1? 1 1 1 Calculer P2 ( 3 ), Q2 ( 3 ) et P ( 3 ) puis comparer les résultats obtenus. Exercice 2.8. On considère la fonction On considère la fonction f dénie par f (x) = 16x et on se donne les points 2 1 3 x0 = 0, x1 = , x2 = 1, x3 = . 2 2 Les valeurs de f en xi sont résumées dans le tableau suivant : xi 0 1/2 f (xi ) 1/2 2 1. Déterminer le polynôme d'interpolation de en utilisant les diérences nies. 2. En déduire une valeur approchée de Exercice 2.9. √ 3 2. f 1 3/2 8 32 sous forme de Newton aux points √ 3 (Indication : On donne la table des valeurs de la fonction xi f (xi ) xi , i = 0, 1, 2, 3, 1 2= f 16 3 ) 2 dénie par -4 − 72 -3 − 25 -2 − 32 -1 − 21 0 1 0 -1 0 1 0 -1 0 1 1 2 0 f (x) = cos(πx) : 1 -1 3 2 0 2 1 5 2 0 En interpolant par un polynôme de degré inférieur ou égal à 4 et en utilisant les formules appropriées, calculer des valeurs approchées de : i) cos π , 10 ii) cos 9π , 10 iii) cos Estimer l'erreur absolue commise dans chacun des cas. 12π , 5 vi) cos 19π · 5 34 CHAPITRE 2. Exercice 2.10. Soit la fonction f donnée par : xi f (xi ) 1. a) b) INTERPOLATION POLYNOMIALE -3 -2 -1 0 1 2 3 1 0 -1 2 1 -2 0 Déterminer le polynôme d'interpolation de Lagrange √ Montrer que ∀ x ∈ [−1, 1] |E(x)| ≤ 273 M ; où E(x) est l'erreur d'interpolation et P de f aux points −1, 0, 1. M = sup |f (3) (x)|. x∈[−1,1] 2. c) a) b) Calculer f ( 31 ) en arrondissant au dernier c.s.e, sachant que Déterminer le polynôme d'interpolation 1 valeur approchée de f ( 3 ). Q de degré 4, M ≤ 10−1 . qui permet de calculer une bonne Calculer cette valeur approchée par l'algorithme d' Horner. Exercice 2.11. On considère la fonction f Dans toute la suite, les expressions seront calculées en 1. Soit P le polynôme d'interpolation de 2 f (x) = cos(πx √ ), x ∈ [−1, 1]. fonction de 2. dénie par : f aux points −1, − 12 , 21 , 1. a) Donner le degré exact de P. b) Faire la table des diérences divisées en ces points. c) Majorer dans [−1, 1] l'erreur d'interpolation E(x) = f (x) − P (x) en fonction de M = sup |f (k) (x)|, k à préciser (on ne calculera pas M ). x∈[−1,1] 2. Soit Q le polynôme d'interpolation de Montrer que Q f aux points −1, − 21 , 0, 21 , 1. s'écrit sous la forme Q(x) = P (x) + H(x) où H est un polynôme à calculer. Exercice 2.12. Soit la fonction dénie par f (x) = √ x + 1, x ∈ [0, 1]. 1. Déterminer le polynôme d'interpolation de Newton P vériant : 1 1 P (0) = f (0), P ( ) = f ( ), P (1) = f (1). 2 2 Calculer P (0.1) et P (0.9). Comparer aux valeurs exactes. 2. Déterminer le polynôme d'interpolation d'Hermite Q vériant : 1 1 Q(0) = f (0), Q( ) = f ( ), Q(1) = f (1). 2 2 Calculer P (0.1) et 1 1 Q0 (0) = f 0 (0), Q0 ( ) = f 0 ( ), Q0 (1) = f 0 (1). 2 2 P (0.9). Comparer aux valeurs exactes. Chapitre 3 Approximation au sens des moindres carrés 3.1 Dénitions Dénition 3.1. Soit E un espace vectoriel réel. 1. L'application < ., . >: E × E −→ R (x, y) 7−→ < x, y > est appelée produit scalaire sur E si elle vérie : i) < x, x >≥ 0, ∀ x ∈ E, ii) < x, x >= 0 ⇐⇒ x = 0E , iii) < x, y >=< y, x >, ∀ x, y ∈ E, vi) < x, αy + βz >= α < y, x > +β < x, z >, ∀ x, y, z ∈ E, α, β ∈ R. 2. L'application k.k : E −→ R+ √ x 7−→ kxk = < x, x > est appelée norme sur E associée au produit scalaire < ., . > . préhilbertien sur R. Un espace préhilbertien complet pour la norme associée à ce produit scalaire est dit espace de Hilbert. 3. Un espace vectoriel réel muni par un produit scalaire est dit 4. 5. Soit a) {ϕ0 , ϕ1 , . . . , ϕn } La famille une base de {ϕ0 , ϕ1 , . . . , ϕn } E. est appelée base orthogonale de < ϕi , ϕj >= 0 ∀ i, j = 0, n b) La famille {ϕ0 , ϕ1 , . . . , ϕn } < ϕi , ϕj >= 1. Soit 0, 1, si si si i 6= j. est appelée base orthonormée de Exemple 3.1. et E E si i 6= j; i = j. E = Rn , x = (x1 , . . . , xn ), y = (y1 , . . . , yn ) ∈ E. L'application < ., . >: Rn × Rn −→ R (x, y) 7−→ < x, y >= n P i=1 35 xi yi 36 CHAPITRE 3. dénit un produit scalaire sur Rn APPROXIMATION AU SENS DES MOINDRES CARRÉS et la norme associée à ce produit scalaire est dénie par : x= √ n X < x, x > = ! 12 x2i . i=1 2. Soit E = C([a, b]), f, g ∈ E. L'application < ., . >: C([a, b]) × C([a, b]) −→ R Rb (x, y) 7−→ < f, g >= a f (x) g(x) dx dénit un produit scalaire sur C([a, b]) et la norme associée à ce produit scalaire est dénie par : x= √ Z 21 b 2 f (x) dx < x, x > = . a 3. La famille {1, x, 12 (3x2 − 1)} est une base orthonormée de Z P2 pour le produit scalaire déni par 1 < f, g >= f (x) g(x) dx. −1 3.2 Position du problème Soit E un espace vectoriel réel tel que Pn ⊂ E, f ∈ E, où Pn est l'espace des polynômes de degré inférieur ou égal à n. L'approximation polynomiale au sens des moindres carrés consiste à déterminer le polynôme P ∗ ∈ Pn qui vérie kf − P ∗ k = min kf − P k. P ∈Pn P ∗ est appelé meilleur approximant au sens des moindres carrés de f dans Pn . 3.2.1 Existence et unicité de la meilleure approximation au s.m.c. Théorème 3.1. (Théorème de la projection) Soient E un espace de Hilbert et F ⊆E un convexe fermé non vide. Alors, ∀ f ∈ E, ∃ ψ ∗ ∈ F : De plus, ψ∗ kf − ψ ∗ k = min kf − ψk. ψ∈F est caractérisé par : < f − ψ ∗ , ψ >= 0 ∀ ψ ∈ F. Dans notre cas : F = Pn et dim(Pn ) = n + 1 < ∞, alors d'une part, F est convexe, et d'autre part, F est complet et donc il est fermé. Donc, le meilleur approximant au sens des moindres carrés de f dans Pn existe et il est unique. 3.2. 37 POSITION DU PROBLÈME 3.2.2 Détermination de la meilleure approximation au s.m.c. Soit {ϕ0 , ϕ1 , . . . , ϕn } une base de Pn , f ∈ E. P ∈ Pn =⇒ P = n X aj ϕj , aj ∈ R. j=0 ∗ ∗ P ∈ Pn =⇒ P = n X a∗k ϕk , a∗k ∈ R. k=0 D'après le théorème de la projection P ∗ vériant < f − P ∗ , P >= 0 ∀ P ∈ Pn n P ⇐⇒ < f − P ∗ , aj ϕj >= 0 ∀ aj ∈ R, j = 0, . . . , n ⇐⇒ n P i=0 aj < f − P ∗ , ϕj >= 0 ∀ aj ∈ R, j = 0, . . . , n j=0 ⇐⇒ < f − P ∗ , ϕj >= 0 ∀ j = 0, . . . , n ⇐⇒ < P ∗ , ϕj >=< f, ϕj > ∀ j = 0, . . . , n n P ⇐⇒ < a∗k ϕk , ϕj >=< f, ϕj > ∀ j = 0, . . . , n j=0 n P a∗ < ϕ , ϕ >=< f, ϕ > k j j k ⇐⇒ j=0 j = 0, . . . , n. C'est un système linéaire de (n + 1) équations à (n + 1) inconnues. On développe ce système, on aura le système matriciel : ∗ < f, ϕ0 > < ϕ 0 , ϕ0 > < ϕ 1 , ϕ0 > · · · · · · < ϕ n , ϕ0 > a0 ∗ < ϕ0 , ϕ1 > < ϕ1 , ϕ1 > · · · · · · < ϕn , ϕ1 > a1 < f, ϕ1 > . .. .. .. .. . = . . . . . . . . . . .. .. .. .. .. < ϕ 0 , ϕn > < ϕ 1 , ϕn > · · · · · · < ϕ n , ϕ n > a∗n < f, ϕn > Remarquons que ce système admet une et une seule solution car P ∗ existe et il est unique. Remarque 3.1. 1. Si la famille {ϕ0 , ϕ1 , . . . , ϕn } forme une base orthogonale de Pn , on obtient le système diagonal < ϕ 0 , ϕ0 > 0 0 ··· < ϕ 1 , ϕ1 > · · · .. . .. . .. . .. . 0 0 ··· ··· 0 0 .. . .. . ··· a∗0 < f, ϕ0 > ∗ a1 < f, ϕ1 > . .. . = . . . . .. .. · · · < ϕ n , ϕn > a∗n < f, ϕn > D'où, a∗k = 2. Si la famille {ϕ0 , ϕ1 , . . . , ϕn } < f, ϕk > < f, ϕk > = , k = 0, . . . , n. < ϕ k , ϕk > kϕk k2 forme une base orthonormale de a∗k =< f, ϕk > k = 0, . . . , n. Pn , on trouve immédiatement 38 CHAPITRE 3. APPROXIMATION AU SENS DES MOINDRES CARRÉS 3.2.3 Erreur d'approximation v u N u X ∗ t 2 kf − P k = kf k − a∗k < f, ϕk >. i=0 En eef ; kf − P ∗ k2 = < f − P ∗ , f − P ∗ > = < f − P ∗, f > − < f − P ∗, P ∗ > = < f, f > − < f, P ∗ > N P = kf k2 − a∗k < f, ϕk > · i=0 Cas particulier : si la base {ϕ0 , ϕ1 , . . . , ϕn } est orthonormale, on obtient v u N u X ∗ t 2 kf − P k = kf k − a∗k 2 . i=0 3.2.4 Algorithme de Gram-Schmidt Soit F un espace de dimension nie. En partant d'une base quelconque de F , notée {ϕ0 , ϕ1 , . . . , ϕn }, on peut déterminer à la fois une base orthonormée de F , notée {u0 , u1 , . . . , un }, et une autre base orthonormée, notée {h0 , h1 , . . . , hn }, à l'aide de l'algorithme de Gram-Schmidt suivant : h0 = kuu00 k , où u0 = ϕ0 ; u1 h1 = ku1 k , où u1 = ϕ1 − < ϕ1 , h0 > h0 ; h2 = kuu22 k , où u2 = ϕ2 − < ϕ2 , h0 > h0 − < ϕ2 , h1 > h1 ; . .. k−1 P uk h = , où u = ϕ − < ϕk , hm > hm , 1 ≤ k ≤ n; k k k kuk k m=0 .. . n−1 P hn = kuunn k , où un = ϕn − < ϕn , hm > hm . m=0 3.3 Application au cas discret Soient E = C([a, b]), x0 , x1 , . . . , xN (N + 1) points distincts de l'intervalle [a, b]. Soit f ∈ E connue seulement aux points xi , i = 0, . . . , N. On dénit sur E le produit scalaire < g, h >= N X ωi g(xi )h(xi ), ∀ g, h ∈ C([a, b])) où ωi sont des poids. i=0 ωi sont des nombres positifs non nuls à la fois. En pratique, on prend des poids égaux. La norme associée à ce produit scalaire est dénie par : kgk = N X i=0 ! 12 ωi (g(xi ))2 , ∀ g ∈ C([a, b])). 3.4. 39 APPLICATION AU CAS CONTINU Posons ϕk (x) = xk , k = 0, . . . , n. Dans la base canonique de Pn , la meilleure approximation au sens des moindres carrés P ∗ de f s'écrit P ∗ (x) = a∗0 + a∗1 x + . . . + a∗n xn , où (a∗0 , a∗1 , . . . , a∗n ) est l'unique solution N N P P ωi ωi xi · · · i=0 i=0 P N N P ω x ωi x2i · · · i i i=0 i=0 .. .. . . .. .. . . N N P P ωi xni ωi xn+1 ··· i i=0 i=0 du système matriciel : N P a∗0 ··· ωi xni i=0 N P ∗ n+1 a1 ··· ωi xi i=0 . .. .. . .. .. . . N P 2n ··· ωi xi a∗n i=0 N P ωi f (xi ) i=0 N P ωi xi f (xi ) i=0 .. = . .. . P N ωi xni f (xi ) . i=0 3.4 Application au cas continu Soient E = C([a, b]) muni du produit scalaire Z b ω(x) g(x)h(x) dx ∀ g, h ∈ E < g, h >= où ω est une fonction poids. a ω : [a, b] −→ R+ s'annule un nombre ni de fois sur [a, b]. En pratique, on prend ω ≡ 1. La norme associée à ce produit scalaire est dénie par : kgk = N X ! 12 ω(x) (g(x))2 , ∀ g ∈ C([a, b])). i=0 Posons ϕk (x) = xk , k = 0, . . . , n. Dans la base canonique de Pn , la meilleure approximation au sens des moindres carrés P ∗ , d'une fonction f ∈ E, s'écrit P ∗ (x) = a∗0 + a∗1 x + . . . + a∗n xn , où (a∗0 , a∗1 , . . . , a∗n ) est l'unique solution du système matriciel : Rb Rb Rb ω(x) dx ω(x) x dx · · · · · · ω(x) xn dx a a a R Rb Rb b ω(x) x dx ω(x) x2 dx · · · · · · a ω(x) xn+1 dx a a .. .. .. . . . .. .. .. . . . Rb Rb Rb n n+1 ω(x) x dx a ω(x) x x dx · · · · · · ω(x) x2n dx a a Rb a∗0 a∗1 .. . .. . a∗n Rb ω(x) x f (x) dx a .. = . .. . Rb ω(x) xn f (x) dx a a ω(x) f (x) dx . 40 CHAPITRE 3. APPROXIMATION AU SENS DES MOINDRES CARRÉS 3.5 Exercices Exercice 3.1. x0 = −1, x1 = − 12 , x2 = 0, x3 = 12 , x4 = 1. ∗ polynôme P ∈ P2 qui réalise le minimum suivant 1. Soient les points Trouver le min P ∈P2 où P2 i=0 1 (|xi | − P (xi ))2 1 + x2i est l'ensemble des polynômes de degé≤ Exercice 3.2. Soient 4 X f (x) = |x| et 4 P < g, h >= : 2. g(xi )h(xi ), ∀ g, h ∈ C([−1, 1], R) où i=0 1 1 x0 = −1, x1 = − , x2 = 0, x3 = 2 2 1. Déterminer le polynôme P de et x4 = 1. P2 qui réalise la meilleure approximation de f au sens des moindres carrés. 2. Vérier que Q(x) = 73 x2 − 43 x4 f, P 3. Dans un même repère, tracer les graphes de Exercice 3.3. f est le polynôme d'interpolation de et Q sur [−1, 1]. E = C([−1, 1]) muni du Z 1 f (x)g(x) dx. < f, g >= On considère l'ensemble aux points xi , i = 0, 4. Commenter. produit scalaire −1 Soit P1 ≤ 1 et f ∈ E. polynôme P1 (x) = a + bx f dans P1 . l'ensemble des polynômes de degré 1. Trouver en fonction de f, le sens des moindres carrés de 2. Montrer que P1 peut se mettre sous la forme : 1 P1 (x) = 2 3. Trouver P1 pour qui réalise la meilleure approximation au f (x) = −x3 − 2x. Z 1 (1 + 3xt)f (t) dt. −1 Tracer les graphes de f et P1 . 4. Evaluer l'erreur et faire sa représentation graphique. Exercice 3.4. On cherche le polynôme Z P2 (x) = a0 + a1 x + a2 x2 1 (f (x) − P2 (x))2 √ −1 qui minimise l'expression dx 1 − x2 1. On considère les polynômes orthogonaux, donnés par la relation T0 (x) = 1, T1 (x) = x, Tn+1 = 2xTn (x) − Tn−1 , n ≥ 1; T2 , T3 , T4 . 3 4 On prend f (x) = 2x + x . Déterminer P2 dans la base {T1 , T2 , T3 } Calculer 2. 3. Evaluer l'erreur commise. et déduire les valeurs de a0 , a1 et a2 . Chapitre 4 Intégration numérique 4.1 Position du problème On veut évaluer l'intégrale d'une fonction F, f sur un intervalle [a, b]. Si l'on connait sa primitive alors b Z f (x) dx = F (b) − F (a) où F 0 = f. a Mais dans de nombreux cas, Exemple 4.1. : Rb a sin x x dx, F Rb a ne peut pas être connue. Rb√ 2 e−x dx, a 1 − k sin x dx, Rb a √ 1 1−sin(x) dx. La plupart des fonctions qui interviennent dans les problèmes physiques sont des fonctions soit trop compliquées pour être intégrées, soit seulement données par une table de valeurs. Nous cherchons donc une valeur approchée à l'aide de sommes nies, qu'on appellera une Z b f (x) dx ' In (f ) = I(f ) = a où les xi , i = 0, . . . , n sont appelés n X formule de quadrature : αi f (xi ), i=0 points d'intégration et les αi, i = 0, . . . , n poids de la formule de quadrature. Dénition 4.1. Une formule de quadrature est dite exacte sur un ensemble V si ∀ f ∈ V, R(f ) = I(f ) − In (f ) = 0. Dénition 4.2. Une formule de quadrature est dite de degré de précision n si elle est exacte pour xk , k = 0, . . . , n et non exacte pour xn+1 . 41 42 CHAPITRE 4. INTÉGRATION NUMÉRIQUE 4.2 Formules de Newton-Côtes 4.2.1 Méthode des trapèzes I(f ) = Pour évaluer numériquement Rb f (x)dx, on divise l'intervalle h = b−a et on considère les n a [x0 , x1 ], [x1 , x2 ], ..., [xn−1 , xn ] de même longueur borné [a, b] en n parties points d'intégration x0 = a, x1 = x0 + h, ..., xi = x0 + ih (i = 0, n), xn = b. Si n = 1, x0 = a, x1 = b, on obtient b Z f (x)dx ' a (b − a) (f (a) + f (b)). 2 C'est la formule simple des trapèzes sur l'intervalle [a, b] et le graphe de f peut trapèzes induits par les points x0 , x1 , ..., xn . Sur chaque intervalle [xi, xi+1], 0 ≤ i ≤ n − 1 : L'aire I(f ) [a, b]. comprise entre Z xi+1 f (x)dx ' xi être approchée par la somme des aires des (xi+1 − xi ) (f (xi ) + f (xi+1 )). 2 Donc I(f ) = Rb a R x1 f (x)dx = a=x0 n−1 PR f (x)dx + xi+1 xi = R x2 x1 f (x)dx + . . . + = xn−1 f (x)dx f (x)dx i=0 n−1 P h (f (xi ) + f (xi+1 )) 2 i=0 h (f (x0 ) + 2f (x1 ) + 2f (x2 ) 2 ' R b=xn + ... + 2f (xn−1 ) + f (xn )). D'où Z In (f ) = a b " # n−1 X h f (x)dx ' f (a) + 2 f (xi ) + f (b) . 2 i=1 C'est la formule des trapèze composite sur l'intervalle [a, b]. n 4.2. 43 FORMULES DE NEWTON-CÔTES Exemple 4.2. 2 Soit f (x) = x , a = 0, b = 1, on prend n = 3 subdivisions. 1 1 2 b−a Donc h = n = 3 , x0 = a = 0, x1 = 3 , x2 = 3 , x3 = b = 1 avec 1 y0 = f (x0 ) = 0, y1 = f (x1 ) = 9 , y2 = f (x2 ) = 49 et y3 = f (x3 ) = 1. 1 Z x2 dx ' I3 (f ) = I(f ) = 0 Erreur d'approximation : I(f ) = R1 0 h 19 (y0 + 2y1 + 2y2 + y3 ) = ' 0, 351 2 54 x2 dx = l'erreur relative Par contre, si n = 6, l'erreur relative 1 3 ' ' 0, 333, d'où, |0,351−0,333| 0,333 = 5, 4%. ' 1, 5%. On remarque numériquement que l'erreur a été divisée-approximativement-par 4 lorsque blé (de n=3 n = 6), à l'erreur dépend donc de n a dou- h. Recherche de l'erreur d'approximation si f ∈ C 2([a, b]) Rappel 1 : Si g : [0, a] → R dérivable sur ]0, a[, alors on peut écrire : a Z g 0 (t) dt. g(a) = g(0) + 0 Rappel 2 : (le théorème de la moyenne) Soit f, g : [a, b] → R continues, si g a un signe constant sur [a, b], alors ∃ ξ ∈ [a, b] tel que : Z b b Z g(t) dt. f (t)g(t) dt = f (ξ) a a Rappel 3 : min m. Alors, (théorème des valeurs intermédiaires) Soit Z R = I(f ) − In (f ) = a b " # n−1 X h f (x) dx − f (x0 ) + 2 f (xi ) + f (xn ) 2 i=1 b−a ) i = 0, 1, . . . , n. n Considérons d'abord R1 l'erreur commise sur le xi = x0 + ih (h = Z x1 R1 = x0 f continue de ∀ y ∈ [m, M ], ∃ x ∈ [a, b]/f (x) = y. Posons avec f : [a, b] → R h f (x) dx − (f (x0 ) + f (x1 )) = 2 étant donnée, on remarque que Dérivons R1 R1 1er Z l'intervalle x0 +h x0 [x0 , x1 ] h f (x) dx − (f (x0 ) + f (x0 + h)), 2 dépend seulement de h, donc R1 = R1 (h). une fois on obtient 1 h R10 (h) = (f (x0 + h) − f (x0 )) − f 0 (x0 + h). 2 2 0 Notons, en passant, que R1 (0) = R1 (0) = 0. 0 2 Dérivons R1 , ceci est permis car f ∈ C ([a, b]), on aura h R100 (h) = − f 00 (x0 + h). 2 max M et 44 CHAPITRE 4. INTÉGRATION NUMÉRIQUE Du rappel 1, on a R10 (h) = R10 (0) Z + h R100 (t) dt 0 ∗ g(t) = t ≥ 0 ∀ t ∈ [0, h], ∃ ξ ∈ [0, h] R10 (h) alors 2 R10 (h) = − h4 f 00 (ξ1 ) ξ1 ∈ [x0 , x1 ], avec f 00 (ξ1 ) =− 2 R10 (t) dt R1 (h) = R1 (0) + 0 R1 (h) et donc ∃ ξ1 ∈ [x0 , x0 + h] : h Z t dt, 0 mais (du rappel 1) : h Z t 00 f (x0 + t) dt, 2 =− 0 et du rappel 2, pour h Z f 00 (ξ1 ) =− 4 est l'erreur d'approximation sur l'intervalle [x0 , x1 ], Z h t2 dt = − 0 h3 00 f (ξ1 ), 12 auquel appartient ξ1 . D'où l'erreur totale : R(h) = n X Ri (h) = − i=1 Réécrivons R(h), h3 00 (f (ξ1 ) + f 00 (ξ2 ) + ... + f 00 (ξn )) 12 en mulipliant et divisant par R(h) = n X i=1 où m est la moyenne arithmétique des n n P f 00 (ξi ) nh3 i=1 nh3 =− =− .m 12 n 12 continue sur [a, b]; alors d'après le théorème des valeurs m = f 00 (ξ); d'où : nh3 00 où M2 = max |f 00 (ξ)|. Comme t∈[a,b] h= 12 ξi ∈ [a, b] ∀ i = 0, n − 1 intermédiaires, ∃ ξ ∈ [a, b] : Comme .f (ξ) ⇒ |R(h)| ≤ et f 00 est nh3 M2 12 (b−a) , on obtient nalement n |R(h)| ≤ (b − a)3 M2 . 12n2 Ceci implique que la formule des trapèzes est exacte si à ξi ∈ [xi , xi+1 ], i = 0, n − 1. : f 00 (ξi ) i = 1, ..., n. R(h) = − où f est un polynôme de degré inférieur ou égal 1. De plus, cette formule est de degré de précision égal à 1. En eet ; 2 pour f (x) = x , n = 1, x0 = a, x1 = b, on a Z b I(f ) = a x3 x dx = 3 2 b = a b−a 2 b−a 2 a + b2 + ab 6= I1 (f ) = a + b2 . 3 2 Remarque 4.1. Cette borne d'erreur conrme notre observation sur l'exemple donné précédemment ; en eet si n est doublé, l'erreur est alors divisée par 4 (approximativement ! !). Mais le cumul d'erreurs I(f ) lorsque n est d'arrondi (dûes au calcul numérique) fait que l'on n'atteint pas la valeur exacte de de plus en plus grand. Exercice 4.1. (exercice d'illustration) Reprendre l'exercice précédent avec un nombre des points (xi , yi ) i = 0, . . . , n, de plus en plus grand et observer la convergence de In (f ) vers I(f ). 4.2. 45 FORMULES DE NEWTON-CÔTES 4.2.2 Méthode de Simpson Dans le cadre de cette méthode, on interpole chaque trois points (xi , yi ), (xi+1 , yi+1 ), (xi+2 , yi+2 ) par un polynôme de degré inférieur ou égal à 2. Comme trois points induisent deux subdivisions, le nombre n (n = 2m). de subdivisions doit être pris pair On peut prendre le polynôme d'interpolation de Lagrange ou celui de Newton. Considérons le polynôme d'interpolation de Newton qui passe par les points (x0 , y0 ), (x1 , y1 ) et (x2 , y2 ), notons le P2 (x). Il s'écrit sous la forme : P2 (x) = y0 + Donc comme y2 − 2y1 + y0 y1 − y0 (x − x0 ) + (x − x0 )(x − x1 ). h 2h2 f (x) ' P2 (x) ∀ x ∈ [x0 , x2 ], on a Z x2 Z x2 h P2 (x) dx = (y0 + 4y1 + y2 ). f (x) dx ' 3 x0 x0 1 C'est la première formule de Simpson simple sur l'intervalle Rb a f (x) dx = R x2 a=x0 ' h (y 3 0 = h 3 = h [y 3 0 f (x) dx + R x4 x2 f (x) dx + . . . + [x0 , x2 ]. R b=x2m x2m−2 D'où f (x) dx + 4y1 + y2 ) + h3 (y2 + 4y3 + y4 ) + ... + h3 (y2m−2 + 4y2m−1 + y2m ) [y0 + y2m=n + 2(y2 + y4 + ... + y2m−2 ) + 4(y1 + y3 + y2m−1 )] P + yn + 2 P yi + 4 i pair yi ]. i impair Donc, Z I(f ) = a b h f (x) dx ' In (f ) = 3 ! y0 + yn=2m + 2 X yi + 4 i pair X yi où i impair h= b−a · n [a, b]. n=4: C'est la première de Simpson composite sur l'intervalle Application à l'exemple précédent, avec f (x) = x2 , a = 0, b = 1, h = 1/4, d'après la formule de Simpson Z 1 h 1 5 1 1 f (x) dx ' I4 (f ) = (y0 + y4 + 2y2 + 4(y1 + y3 )) = 0+1+ + = = I(f ) ?! 3 12 2 2 3 0 Recherche de l'erreur d'approximation si f ∈ C 4([a, b]) En suivant une démarche quasi-analogue au cas de la méthode des trapèzes, on tire que : ∃ ξ ∈ [a, b], R(h) = I(f ) − In (f ) = − n h5 (4) f (ξ). 180 Par consequent, |R(h)| = |I(f ) − In (f )| ≤ 1 Thomas Simpson, anglais, 1710-1761 (b − a)5 M4 , 180n4 où M4 = max |f (4) (t)|. t∈[a,b] (4.1) 46 CHAPITRE 4. Ceci implique que la formule de Simpson est exacte si f INTÉGRATION NUMÉRIQUE est un polynôme de degré inférieur ou égal à 3. De plus, cette formule est de degré de précision égal à 3. En eet ; a+b 4 et x2 = b : pour f (x) = x , n = 2, x0 = a, x1 = 2 Z b x5 x dx = 5 4 I(f ) = a b = a b−a 4 b + ab3 + a2 b2 + a3 b + a4 , 5 alors que b−a I2 (f ) = 6 a4 + 4 a+b 2 4 ! + b4 = b−a 5b4 + 4ab3 + 6a2 b2 + 4a3 b + 5a4 . 24 On voit clairement que I(f ) 6= I2 (f ). Remarque 4.2. a doublé, l'erreur est divisée par 16 (approximativement), donc la présente Si n méthode est plus performante que celle des trapèzes. Exercice 4.2. R1 = R1 (h) Notons par l'erreur commise sur la subdivision [x0 , x2 ] ou encore sur [x1 − h, x1 + h] : Z x1 +h f (x) dx − R1 (h) = x1 −h h (f (x1 − h) + 4f (x1 ) + +f (x1 + h)) . 3 En utilisant, les rappels 1, 2 et 3, démontrer l'inégalité (4.1). Proposition 4.1. 2 Le degré de précision des formules de Newton-Côtes à (n+1) points est n, n + 1, L'erreur dans les formules de Newton-Côtes à Remarque 4.3. hn+2 , hn+3 , si si n n si si n n est impair ; est pair. (n + 1) est impair ; est pair, points est en où h= b−a · n 1. On peut démonter que si le degré de précision est p alors l'erreur est en hp+2 et réciproquement. Comme le degré de précision est facile à évaluer, il est possible d'avoir une idée de l'erreur. 2. On peut construire des formules de Newton-Côtes qui ne comportent pas les bornes d'intégration comme points de la formule de quadrature. sin x Par exemple, pour intégrer la fonction x entre 0 et 1 on peut utiliser : La formule du point milieu : ab f (x) dx ' (b − a)f a+b . 2 Rb b−a b−a La formule variante des trapèzes : a f (x) dx ' (b−a) f a + + f b − . 2 3 3 Rb a+5b b−a 5a+b La formule variante de Simpson : a f (x) dx ' (b−a) 3f + 2f + 3f . 8 6 2 6 R 2 Roger Côtes, anglais, 1682-1716 4.3. 47 FORMULES DE GAUSS 4.3 Formules de Gauss On se pose la question suivante : comment choisir au mieux les points d'intégration xi pour que la formule de quadrature soit de degré de précision le plus élevé possible ? Le problème revient donc à (n) trouver à la fois les poids αi , i = 0, . . . , n et les points xi , i = 0, . . . , n de la formule de quadrature : Z b f (x) dx ' a On a donc 2n + 2 n X i=0 inconnues à déterminer ! On cherche alors une formule de quadrature exacte sur b Z k x dx = a Remarque 4.4. (n) αi f (xi ). n X P2n+1 , ce qui donne les (n) i=0 Le degré de précision de la formule proposée peut-il être Ce polynôme est strictement n P (n) alors que αi Q(xi ) = 0. i=0 Théorème 4.1. équations : αi xki , k = 0, . . . , 2n + 1. non. En eet ; soit le polynôme de degré 2n + 2, La réponse est 2n + 2 2n + 2? Q(x) = (x − x0 )2 (x − x1 )2 . . . (x − xn )2 . Rb positif (si x 6= xi , i = 0, . . . , n) donc a Q(x) dx > 0, 3 Les formules de type Gauss sont stables et convergentes pour toute fonction conti- nue. Remarque 4.5. 1. Stable signie les poids intervenant dans la formule de quadrature sont stric- tement positifs. 2. Convergente signie n P lim n→+∞ i=0 (n) αi f (xi ) = Rb a f (x) dx. 3. Les formules de type Gauss sont souvent utiles pour les intégrales impropres convergentes. Exemple 4.3. Soit la formule de quadrature à Z 2 points : 1 f (x) dx = α0 f (x0 ) + α1 f (x1 ) + R(f ). −1 Déterminons les poids exacte sur P3 . α0 , α1 et les points d'intégration x0 f ≡ 1, f (x) = x, f (x) = x2 , f (x) = x3 , R(f ) = 0 R(f ) = 0 R(f ) = 0 R(f ) = 0 x1 pour que la formule proposée soit R1 ⇐⇒ −1 1 dx = 2 = α0 + α1 , R1 ⇐⇒ −1 x dx = 0 = α0 x0 + α1 x1 , R1 ⇐⇒ −1 x dx2 = 32 = α0 x20 + α1 x21 , R1 ⇐⇒ −1 x dx = 0 = α0 x30 + α1 x31 . D'où, De la dernière équation on tire : 3 Carl et Les quatre équations sont les suivantes : Friedrich Gauss, allemand, 1777-1855 α0 x0 = −α1 x1 , α0 x1 (x21 − x20 ) = 0. 48 CHAPITRE 4. soit soit soit INTÉGRATION NUMÉRIQUE α1 = 0, α0 = 2 et x0 = 0 ce qui est impossible puisque α0 x20 + α1 x21 = 32 , x1 = 0, α0 = 0 ou x0 = 0 ce qui est impossible, x1 = −x0 et dans ce cas, on obtient α0 = α1 = 1 et x20 = 13 · D'où la formule de quadrature : 1 Z 1 1 f (x) dx = f (− √ ) + f ( √ ) + R(f ). 3 3 −1 Remarque 4.6. Il existe des formules de type Gauss où les extrémités de l'intervalle sont des points d'intégration : Formule de Gauss-Radau de degré de précision 2 : Z 1 1 3 1 f (x) dx = f (−1) + f ( ) + R(f ). 2 2 3 −1 Formule de Gauss-Labatto de degré de précision 3 : Z 1 4 1 1 f (x) dx = f (−1) + f (0) + f (1) + R(f ). 3 3 3 −1 Formule de Gauss-Labatto de degré de précision 5 : Z 1 1 5 1 5 1 1 f (x) dx = f (−1) + f (− √ ) + f (− √ ) + f (1) + R(f ). 6 6 6 6 5 5 −1 4.4 Complément du cours Exercice : On se donne une fonction continue f : [a, b] × [c, d] → R. Z bZ Approcher par la méthode des trapèzes d I(f ) = f (x, y) dy dx. a c Solution : Supposons que I(f ) peut être écrit sous la forme Z b Z I(f ) = f (x, y) dy dx. a c Rd f (x, y) dy et divisons, par analogie au cas d'une seule variable, l'intervalle [a, b] c en n parties égales et l'intervalle [c, d] en m parties égales. Ceci induit deux pas de discrétisation d−c h = b−a et k = m , alors n Posons g(x) = d Z I(f ) = a b h g(x) dx ' 2 g(a) + 2 n−1 X i=1 ! g(xi ) + g(b) . (4.2) 4.5. 49 CONCLUSION D'autre part, on applique la formule des trapèzes pour approcher y et g(x) = Rd c f (x, y) dy avec x constante variable, on obtient k g(x) ' 2 f (x, c) + 2 m−1 X ! (4.3) f (x, yj ) + f (x, d) . j=1 En substituant (4.3) dans (4.2), on aura I(f ) ' h k [ (f (a, c) 2 2 +2 n−1 P i=1 +2 hk [f (a, c) 4 n−1 P +2( = f (a, yj ) + f (a, d)) j=1 k (f (xi , c) 2 + k2 (f (b, c) + 2 = m−1 P +2 m−1 P f (xi , yj ) + f (xi , d)) j=1 m−1 P f (b, yj ) + f (b, d))] j=1 + f (a, d) + f (b, c) + f (b, d) + 2( m−1 P f (a, yj ) + j=1 f (xi , c) + i=1 n P m P n−1 P f (xi , d)) + 4 i=1 n−1 P m−1 P m−1 P f (b, yj )) j=1 αi j f (xi , yj )] i=1 j=1 αi j f (xi , yj ) i=0 j=0 où xi = a + ih, xn = b i = 0, n, α00 = αn0 = αm0 = αnm = α0j = αnj = αi0 = αim = αij = hk, Remarque 4.7. yj = c + jk, ym = d j = 0, m hk 4 hk , 2 i = 1, n − 1 j = 1, m − 1 i = 1, n − 1 j = 1, m − 1 Ce procédé peut être adapté au calcul numérique d'intégrales triples ou multiples. 4.5 Conclusion 1. Les formules des trapèzes et de Simpson sont les plus utilisées et souvent sous leurs formes composites. 2. Les formules de Gauss sont néanmoins plus précises et peuvent de la même façon être composées. 3. L'intégration numérique est aussi très utile pour calculer numériquement des intégrales doubles : Z bZ d f (x, y) dx dy. a c 50 CHAPITRE 4. INTÉGRATION NUMÉRIQUE 4.6 Exercices Exercice 4.3. Calculer n=6. Indication : Arctg(x) = Exercice 4.4. s) m/s2 ) (en γ (en Rx 0 par les méthodes d'intégration des trapèzes et de Simpson pour dt · 1+t2 On lance une fusée verticalement du sol et l'on mesure pendant les premières 80 secondes l'accéleration t Arctg(3) Calculer la vitesse V γ: 0 10 20 30 40 50 60 70 80 30 31.63 33.44 35.47 37.75 40.33 43.29 46.70 50.67 de la fusée à l'instant t = 80s, par la méthode des trapèzes puis par Simpson. Exercice 4.5. 1. Déterminer le nombre de subdivisions nécessaires de l'intervalle d'intégration −3 luer à 0.5 × 10 près, par la méthode de Simpson, l'intégrale Z [−π, π] pour éva- π cosx dx· −π 2. Déterminer le nombre de subdivisions nécessaires des intervalles d'intégration pour évaluer à 0, 5 × 10−6 près, par la méthode des trapèzes les intégrales : Z 1 i) 0 Z dx , 1 + ex ii) 0 1 dx · 1 + sin x Exercice 4.6. 1. Construire un polynôme 2. Prendre a) b) n P subdivisions sur Des trapèzes (n = 3); De Simpson (n = 30). Exercice 4.7. Soit f qui passe par les points [0, 1] et approcher R1 0 (0, 0), (1, 0) P (x) dx et (−1, 2). par la méthode : évaluer ensuite l'erreur relative commise. une fonction continue donnée sur l'intervalle de degré deux qui interpole f en les points −1, 0 et 1. R1 1. Exprimer −1 P (t) dt en fonction de f (−1), f (0) et [−1, 1]. Notons par P le polynôme f (1). 2. Vérier que l'expression obtenue coïncide avec une formule d'intégration numérique dont on donnera le nom et la valeur du pas de discrétisation. Exercice 4.8. pour f une fonction réelle continue et dénie sur l'intervalle [a, b]. On pose h = n = 3, x0 = a, x3 = b, xi = x0 + ih (i = 0, 3). On considère la formule de quadrature : Z b I(f ) = f (t) dt ' αf (x1 ) + βf (x2 ). Soit b−a n a 1. Déterminer les deux coecients α et β sachant que la méthode est exacte sur 2. Généraliser l'écriture précédente au cas où n = 3m. 3. Evaluer l'erreur relative commise en utilisant cette méthode pour approcher prenant n=3 subdivisions. P1 . I( ln(x) ) x sur [1, 2] en 4.6. 51 EXERCICES Exercice 4.9. Soit la formule d'intégration numérique suivante : 1. Déterminer a, b, c 1 0 1 2 f (x) dx = af (0) + bf ( ) + cf ( ) + df (1) + R(f ). 3 3 et d Z R(f ) = 0 de sorte que quelle que soit f appartenant à l'espace vectoriel des polynômes de degré inférieur ou égal à 3. 2. Trouver p le degré de précision de la formule proposée. 3. En admettant que l'erreur d'approximation soit de la forme : R(f ) = Kf (p+1) (ξ), ξ ∈ [0, 1], déterminer la constante K. Exercice 4.10. 1. Déterminer le polynôme d'interpolation de Lagrange P d'une fonction f construite sur les points : 1 1 −1, − , , 1. 3 3 2. Par intégration du polynôme obtenu, en déduire la formule d'intégration approchée suivante : 1 Z 1 3 1 3 1 1 f (x) dx ≈ f (−1) + f (− ) + f ( ) + f (1). 4 4 3 4 3 4 −1 3. En déduire la formule d'intégration approchée sur l'intervalle Indication : utiliser le changement de variable y= a+b 2 + [a, b]. b−a x· 2 4. Application : Calculer, à l'aide de la formule de quadrature proposée, les intégrales 1 Z x Z 3 e dx, −1 ex dx. −5 Calculer l' erreur commise dans chaque cas. Exercice 4.11. (Méthode du point mileu) f : [a, b] → R [a, b] en (n = 2m) parties égales de longueur h. On pose x0 = a, xn = b xi = x0 + ih, yi = f (xi ) (i = 0, n). R xi+2 La méthode proposée consiste à remplacer, pour (i = 0, 2, 4, ..., n − 2), l'intégrale x f (x) dx par i l'aire du rectangle de côtés f (xi+1 ) et (xi+2 − xi ). Soit 1. Trouver les une fonction continue. An d'approcher son intégrale sur (n + 1) coecients réels (ai = ai (h)) Z b f (x) dx ' I= a f est susamment R(h) = I − V (h) 2. Si lim R(h) n X ai yi = V (h) i=0 continûment dérivable, déterminer l'expression de l'erreur d'intégration 3. Dans quel(s)cas la méthode est-elle exacte ? 4. Trouver tels que quand h tend vers 0. 52 CHAPITRE 4. INTÉGRATION NUMÉRIQUE 5. Quel est le nombre minimal de subdivisions à eectuer sur l'intervalle 1 −4 absolue commise sur l'intégrale de f (x) = x ne dépasse pas 2 × 10 . [1, 2] pour que l'erreur Exercice 4.12. (Méthode des réctangles) R b a f (x)dx. On se donne une subdivision x0 , x1 , . . . , xn de l'intervalle [a, b] tel b−a que xi = a + ih où h = n . Dans la méthode des rectangles, on remplace la fonction f par une fonction constante par morceaux. Soit g la fonction dénie par On considère lintégrale g(x) = f (xi ) 1. Posons S= Rb a g(x)dx. S=h Montrer que x ∈ [xi , xi+1 ]. pour n−1 P f (a + ih). i=0 f 2. On suppose que la fonction lintervalle ouvert ]a, b[. est continue sur lintervalle [a, b] et continûment dérivable sur On pose Z α+h f (x)dx − hf (α) φ(h) = où a ≤ α < α + h ≤ b. α h2 0 Montrer quil existe un nombre c ∈]0, h[ tel que φ(h) = 2 f (c 0 3. On suppose que |f (x)| ≤ k, ∀ x ∈ [a, b]. Montrer que b Z | f (x)dx − S| ≤ k a Exercice 4.13. Soit + α). (b − a)2 · 2n 1 f ∈ C ([0, 1], R). On considère la formule de quadrature Z 1 f (x) dx ≈ α0 f (0) + α1 f 0 (0) + α2 f (c) 0 où c ∈]0, 1] 1. αi ∈ R, i = 0, 1, 2. Calculer α0 , α1 , α2 et c sachant degré ≤ 3. et que la formule de quadrature soit exacte pour tout polynôme de 2. Construire à partir de cette formule de quadrature sur 3. On subdivise sur [0, 1] une formule de quadrature sur [a, b]. [a, b] en n parties égales de longeur h. Généraliser la formule de quadrature obtenue [a, b] 4. Application numérique. f (x) = ex . Calculer R1 0 ex dx par la formule de quadrature. Estimer son erreur. Exercice 4.14. Soient a et h deux réels donnés, h > 0. On pose a+h Z f (x)dx − αhf (a) − βhf (a + τ h). E(f ) = a 1. Déterminer les valeurs de α, β et τ de sorte que l'on ait ∀ p ∈ P2 , E(p) = 0. 2. Supposons que α = 14 , β = 43 , τ = 23 . 3. Trouver l'ordre de précision de la méthode proposée. 3 Montrer que pour toute fonction f ∈ C (R) il existe a) E(f ) = K h4 f (3) (a + θh) où K tel que est une constante indépendante de Indication : on pourra considérer l'application R : b) θ ∈]0, 1[ [0, h] → R dénie R(h) = E(f ) et on remarque que R(0) = R0 (0) = 0. 3 Calculer K puis l'erreur relative commise lorsque f (x) = (x − a) . par : f Chapitre 5 Dérivation numérique 5.1 Position du problème Comme pour l'intégrale, on voudrait être en mesure d'évaluer numériquement la dérivée d'une fonction lourde à manipuler ou qui n'est connue que en un certain nombre de points. Ce problème de dérivation numérique est très commun en ingénierie et en analyse numérique (c'est la base des méthodes de diérences nies). On considère une fonction f : [a, b] −→ R de classe susamment élevée, On veut approcher (au mieux !) les dérivées de la fonction Or f au point x ∈]a, b[ xé. x. f (x + h) − f (x) , h→0 h f 0 (x) = lim avec h>0 (petit), on obtient f (x + h) − f (x) · h 0 Nous constatons que cette approximation de f (x) fait intervenir la valeur de f en x et x + h, ce 0 00 (n) qui nous conduit à approcher les nombres f (x), f (x), . . . , f (x) en utilisant un ensemble discret f 0 (x) ' de points. Une des méthodes les plus anciennes utilisées pour obtenir des formules de dérivation numérique 1 consiste à construire des quotients diérentiels à l'aide des développements de Taylor . 5.2 Approximation de la dérivée première Fixons h>0 (petit) et introduisons les notations : ∆h f (x) = f (x + h) − f (x), ∇h f (x) = f (x) − f (x − h), δ2h f (x) = f (x + h) − f (x − h). 5.2.1 Formules à deux points Eectuons un premier développement de Taylor d'ordre 1 de f (x + h) = f (x) + hf 0 (x) + 1 Brook Taylor, anglais, 1685-1731 53 f autour de h2 00 f (ξ), ξ ∈ [x, x + h]. 2 x: 54 CHAPITRE 5. DÉRIVATION NUMÉRIQUE On obtient 0 (x) = f 0 (x) ' fhd f (x+h)−f (x) h E = − h2 f 00 (ξ), ξ ∈ [x, x + h] DFP) ∆f (x) , c'est la formule de diérences nies progressives ( h = c'est l'erreur commise Eectuons un deuxième développement de Taylor d'ordre 1 de f (x − h) = f (x) − hf 0 (x) + f autour de x: h2 00 f (ξ), ξ ∈ [x − h, x]. 2 On obtient 0 (x) = f 0 (x) ' fhg f (x)−f (x−h) h E = h2 f 00 (ξ), ξ ∈ [x − h, x] = DFR), ∇f (x) , c'est la formule de diérences nies régressive ( h c'est l'erreur commise. Les formules obtenues sont donc deux approximations d'ordre 1 de la dérivée première et l'erreur à chaque fois tend vers 0 quand h tend vers 0. x: Augmentons l'ordre du développement de Taylor de f autour de f (x + h) = f (x) + hf 0 (x) + h2 00 f (x) 2 + h3 000 f (ξ1 ), 6 ξ1 ∈ [x, x + h], f (x − h) = f (x) − hf 0 (x) + h2 00 f (x) 2 − h3 000 f (ξ2 ), 6 ξ2 ∈ [x − h, x]. En soustrayant membre à membre, on obtient f (x + h) − f (x − h) = 2hf 0 (x) + h3 000 (f (ξ1 ) + f 000 (ξ2 )). 6 Ce qui donne 0 0 (x) = f (x) ' fhc f (x+h)−f (x−h) 2h = 2 DFC), δ2h f (x) , c'est la formule de diérences nies centrées ( 2h 2 E = − h12 (f 000 (ξ1 ) + f 000 (ξ2 )) = − h6 (f 000 (ξ), ξ ∈ [x − h, x + h], c'est l'erreur commise. La formule centrée (symétrique) est une formule d'approximation d'ordre 2 et donc plus précise que les deux premières formules, même si elle nécessite la connaissance de f au même nombre de points. Il faut cependant noter que les points utilisés sont disposés symétriquement par rapport à celui où l'on calcule la dérivée. Remarque 5.1. Supposons que l'intervalle [a, b] est découpé en N introduit les points de grille xi de sorte que xi = a + ih, i = 0, . . . , N. Supposons uniquement en les points de grille xi . Alors pour approcher h = b−a et on N que f est connue intervalles, on pose f 0 (xi ), i = 0, . . . , N : 1. La formule de diérences nies progressive donne : 0 f 0 (xi ) ' fhd (xi ) = On remarque que la relation (5.1) f (xi+1 ) − f (xi ) , i = 0, . . . , N − 1. h i = N, f (xi ). n'est pas dénie pour 0 grille quand on utilise cette relation pour approcher (5.1) on perd donc le dernier point de 5.2. 55 APPROXIMATION DE LA DÉRIVÉE PREMIÈRE 2. La formule de diérences nies régressive donne : 0 f 0 (xi ) ' fhg (xi ) = f (xi ) − f (xi−1 ) , i = 1, . . . , N. h (5.2) n'est pas dénie pour i = 0 grille quand on utilise cette relation pour approcher f (xi ). On remarque que la relation 0, (5.2) on perd donc le premier point de 3. La formule de diérences nies centrées donne : 0 f 0 (xi ) ' fhc (xi ) = On remarque que la relation (5.3) f (xi+1 ) − f (xi−1 ) , i = 1, . . . , N − 1. 2h n'est pas dénie pour i=0 et i = N, (5.3) on perd donc le premier f 0 (xi ). Constatons et le dernier point de grille quand on utilise cette relation pour approcher aussi que 0 fhc (xi ) Exemple 5.1. 0 0 fhg (xi ) + fhd (xi ) = , i = 1, . . . , N − 1. 2 Pour illustrer les trois formules précédentes, considérons la fonction x 7→ f (x) = 2x ,; x ∈ [1, 5] passant par les points (x0 , y0 ) = (1, 2), (x1 , y1 ) = (2, 4), (x2 , y2 ) = (3, 8), (x3 , y3 ) = (4, 16) et (x4 , y4 ) = (5, 32). 0 Nous voulons approcher le nombre f (x2 ) : 1. La formule de DFP : 0 f 0 (x2 ) ' fhd (x2 ) = 2. La formule de DFR :f 0 0 (x2 ) ' fhg (x2 ) = f (x3 )−f (x2 ) = y3 − y2 = 8. h f (x2 )−f (x1 ) = y2 − y1 = 4. h f (x3 )−f (x1 ) 1 = y3 −y = 6. 2h 2 0 x Evaluons les erreurs d'approximation sachant que f (x) = ln 2 2 , x ∈ 3. La formule de DFC :f 0 0 (x2 ) ' fhc (x2 ) = [1, 5] : 0 E1 = |f 0 (x2 ) − fhd (x2 )| = |8 ln 2 − 8| ' 2, 454. 0 0 E2 = |f (x2 ) − fhg (x2 )| = |8 ln 2 − 4| ' 1, 545. 0 E3 = |f 0 (x2 ) − fhc (x2 )| = |8 ln 2 − 6| ' 0, 454. D'où, la meilleure formule pour approcher f 0 (3) est celle de DFC. 5.2.2 Formules à trois points Il est possible de développer d'autres formules, pour cela il sut d'eectuer un développement de Taylor de f autour de x avec un pas 2h par exemple : f (x + 2h) = f (x) + 2hf 0 (x) + 2h2 f 00 (x) + f (x + h) = f (x) + hf 0 (x) + 4h3 000 f (ξ1 ), ξ1 ∈ [x, x + 2h]. 3 h2 00 h3 f (x) + f 000 (ξ2 ), ξ2 ∈ [x, x + h]. 2 6 En combinant ces deux équations de façon à faire disparaître la dérivée seconde, on obtient 0 fhd (x) = 4f (x+h)−3f (x)−f (x+2h) est une approximation de la dérivée première de 2h h2 00 f (ξ), 3 E = ξ ∈ [x, x + 2h] c'est l'erreur commise. f en x; 56 CHAPITRE 5. DÉRIVATION NUMÉRIQUE 5.2.3 Approximation de la dérivée seconde Pour obtenir une approximation de la dérivée seconde, nous procédons de la même façon, mais à partir de développements de Taylor d'ordre 4 : h2 00 h3 000 h4 (4) f (x + h) = f (x) + hf (x) + f (x) + f (x) + f (ξ1 ), ξ1 ∈ [x, x + h]. 2 6 24 0 f (x − h) = f (x) − hf 0 (x) + h3 h4 h2 00 f (x) − f 000 (x) + f (4) (ξ2 ), ξ2 ∈ [x − h, x]. 2 6 24 Après addition, on obtient 00 fhd (x) = f (x+h)−2f (x)+f (x−h) h2 = 2 f (x) δh est une approximation de la dérivée seconde de h2 2 E = − h12 f (4) (ξ), ξ ∈ [x − h, x + h] f en x; c'est l'erreur commise. Cette formule est donc d'ordre 2 (le terme d'erreur tend vers 0 quand h tend vers 0) et est très importante dans la pratique. 5.2.4 Approximation des dérivées d'ordre supérieur On peut évidemment généraliser cette approche et déterminer des approximations des dérivées d'ordre supérieur. f ∆h f ∇h f , h et δ2h approximent la dérivée première de f (en x) avec une précision h 2h 2 proportionnelle à h, h et h respectivement. Ces trois opérateurs sont linéaires par rapport à f et ∗ sont appelés . Pour n ∈ N , on peut généraliser ces concepts On a déja vu que opérateurs aux diérences nies d'opérateurs pour approximer la dérivée d'ordre n de f en un point x ∈]a, b[. Pour cela, on va dénir récursivement : n−1 n−1 n n ∆nh f (x) = ∆h (∆n−1 f )(x). h f )(x), ∇h f (x) = ∇h (∇h f )(x), δh f (x) = δh (δh De manière analogue au cas où n = 1, on peut montrer que ∆nh f , hn sont des approximations de f n+1 dès que f est de classe C , Remarque 5.2. (n) C (en n+1 ∇nh f hn et δhn f hn x) avec une erreur proportionnelle n+2 et C , respectivement. à h, h et f 0 (x) = f (x − h) = f ∗ (x − h) ± e1 et f 0 (x) = Si le pas h respectivement, La dérivation numérique est une opération très instable, c'est à dire très sensible aux erreurs d'arrondi (soustraction entre termes voisins). Prenons par exemple où h2 , f (x + h) − f (x − h) + O(h2 ), 2h f (x + h) = f ∗ (x + h) ± e2 , alors f ∗ (x + h) − f ∗ (x − h) e2 + e1 ± + O(h2 ). 2h 2h est trop réduit il y'aura beaucoup d'erreurs d'arrondi. 5.3. 57 EXERCICES 5.3 Exercices Exercice : Soit nombre f : [a, b] −→ R une fonction de classe au moins C 5 sur l'intervalle [a, b]. (h > 0) "petit" ainsi qu'un point quelconque x ∈]a, b[. Soit le rapport On se xe un f (x + 3h) − 3f (x + h) + 3f (x − h) − f (x − 3h) · 8h3 A= 1. Montrer que le rapport A approche une dérivée de f que l'on déterminera. Donner l'ordre de précision de cette approximation. 2. Vérier que Solution : A coïncide avec une formule de dérivation numérique que l'on donnera. 1. Eectuons les développements de Taylor de 5 en O(h ) : f au voisinage de x jusqu'à l'ordre 4 avec un reste f (x + h) = f (x) + hf 0 (x) + h2 00 f (x) 2 + h3 000 f (x) 6 + h4 (4) f (x) 24 + O(h5 ), (1) f (x − h) = f (x) − hf 0 (x) + h2 00 f (x) 2 − h3 000 f (x) 6 + h4 (4) f (x) 24 + O(h5 ), (2) f (x + 3h) = f (x) + 3hf 0 (x) + 9h2 00 f (x) 2 + 9h3 000 f (x) 2 + 9h4 (4) f (x) 8 + O(h5 ), f (x − 3h) = f (x) − 3hf 0 (x) + 9h2 00 f (x) 2 − 9h3 000 f (x) 2 + 9h4 (4) f (x) 8 + O(h5 ). (4) Le numérateur du rapport A (3) s'écrit alors : (3) − 3 × (1) + 3 × (2) − (4) = 8h3 f 000 (x) + O(h5 ). Autrement dit, D'où, 2. On a A A = f 000 (x) + O(h2 ). approxime la dérivée troisième de f en x, avec une erreur en δ 3 f (x) = f (x + 3h) − 3f (x + h) + 3f (x − h) − f (x − 3h). A= O(h2 ). Alors 3 δ2h f (x) · (2h)3 R n'est autre que la formule des diérences nies centrées (symétriques) d'ordre δ 3 f (x) 2 000 approxime f (x) par 2h avec une erreur en O(h ). (2h)3 D'où, le rapport 3 qui Exercice : Soit nombre f : [a, b] −→ R une fonction de classe au moins C 6 (h > 0) "petit" ainsi qu'un point quelconque x ∈]a, b[. sur l'intervalle [a, b]. On se xe un 1. Montrer que le rapport B= −2f (x + 2h) + 32f (x + h) − 60f (x) + 32f (x − h) − 2f (x − 2h) 24h2 approche une dérivée de f que l'on déterminera. Donner l'ordre de précision de cette approxi- mation. 2. Commenter les résultats obtenus. 58 CHAPITRE 5. DÉRIVATION NUMÉRIQUE Solution : 1. Eectuons les développements de Taylor de 6 en O(h ) : f au voisinage de x 5 jusqu'à l'ordre avec un reste f (x + h) = f (x) + hf 0 (x) + h2 00 f (x) 2 + h3 000 f (x) 6 + h4 (4) f (x) 24 + h5 (5) f (x) 120 + O(h6 ), (1) f (x − h) = f (x) − hf 0 (x) + h2 00 f (x) 2 − h3 000 f (x) 6 + h4 (4) f (x) 24 − h5 (5) f (x) 120 + O(h6 ), (2) f (x + 2h) = f (x) + 2hf 0 (x) + 2h2 f 00 (x) + 4h3 000 f (x) 3 + 2h4 (4) f (x) 3 + 4h5 (5) f (x) 15 + O(h6 ), (3) f (x − 2h) = f (x) − 2hf 0 (x) + 2h2 f 00 (x) − 4h3 000 f (x) 3 + 2h4 (4) f (x) 3 − 4h5 (5) f (x) 15 + O(h6 ). (4) Le numérateur du rapport B s'écrit alors : 32 × [(1) + (2)] − 2 × [(3) + (4)] − 60f (x) = 24h2 f 00 (x) + O(h6 ). Autrement dit, B = f 00 (x) + O(h4 ). 4 approxime la dérivée seconde de f en x, avec une erreur en O(h ). n n n ∆ f ∇ f δh f 00 2. Rappelons que hhn , hhn et (h) en x avec une erreur proportionnelle à n approximent f 2 h (respectivement). Donc le rapport B est beaucoup plus précis. D'où, B h, h et Exercice : Soit nombre f : [a, b] −→ R une fonction de classe au moins C 6 (h > 0) "petit" ainsi qu'un point quelconque x ∈]a, b[. sur l'intervalle [a, b]. On se xe un 1. Montrer que le rapport C= approche une dérivée f (x + 2h) − 4f (x + h) + 6f (x) − 4f (x − h) + f (x − 2h) h4 de f que l'on déterminera. Donner l'ordre de précision de cette approxi- mation. Solution : 1. Eectuons les développements de Taylor de 6 en O(h ) : f au voisinage de x jusqu'à l'ordre 5 avec un reste f (x + h) = f (x) + hf 0 (x) + h2 00 f (x) 2 + h3 000 f (x) 6 + h4 (4) f (x) 24 + h5 (5) f (x) 120 + O(h6 ), (1) f (x − h) = f (x) − hf 0 (x) + h2 00 f (x) 2 − h3 000 f (x) 6 + h4 (4) f (x) 24 − h5 (5) f (x) 120 + O(h6 ), (2) f (x + 2h) = f (x) + 2hf 0 (x) + 2h2 f 00 (x) + 4h3 000 f (x) 3 + 2h4 (4) f (x) 3 + 4h5 (5) f (x) 15 + O(h6 ), (3) f (x − 2h) = f (x) − 2hf 0 (x) + 2h2 f 00 (x) − 4h3 000 f (x) 3 + 2h4 (4) f (x) 3 − 4h5 (5) f (x) 15 + O(h6 ). (4) En combinant ces quatre équations, on obtient [(3) + (4)] − 4 × [(1) + (2)] + 6f (x) = h4 f (4) (x) + O(h6 ). Donc, D'où, C = f (4) (x) + O(h2 ). C est une approximation de la dérivée seconde de f en x, avec une précision en O(h2 ). Deuxième partie Analyse Numérique II 59 Chapitre 6 Résolution des systèmes linéaires 6.1 Position du problème n, (n ∈ N∗ ), On appelle système linéaire d'ordre une expression de la forme (6.1) AX = b, A = (aij ), 1 ≤ i, j ≤ n, désigne une matrice carrée b = (bi ), 1 ≤ i ≤ n, un vecteur colonne réel ou complexe où n de nombres réels ou complexes, X = (xi ), 1 ≤ i ≤ n, est le vecteur des d'ordre et inconnues du système. La relation (6.1) équivaut aux équations n X aij xj = bi , i = 1, . . . , n. j=1 La matrice A est dite régulière (inversible) si si et seulement si la matrice A det(A) 6= 0; on a existence et unicité de la solution X est inversible. On cherche à résoudre le système linéaire (6.1). Théoriquement, si 1 Cramer : A est inversible, la solution du système xi = où Ai AX = b est donnée par la formule de det(Ai ) , i = 1, . . . , n, det(A) est une matrice obtenue à partir de A en remplaçant la iième colonne de A par le vecteur b. Cependant l'application de cette formule est inacceptable pour la résolution pratique des systèmes, car son coût (ou nombre d'opérations) est en O((n + 1)!). Par exemple, sur un ordinateur eectuant 109 opérations par seconde il faudrait au moins 1047 années pour résoudre un système linéaire de seulement 50 équations. Il faut donc développer des algorithmes alternatifs avec un coût raisonnable. Ce problème est un des plus importants de l'analyse numérique. Dans les sections suivantes plusieurs méthodes sont analysées. Ces méthodes se divisent en deux catégories : a) Méthodes directes : Ce sont des méthodes qui permettent d'obtenir la solution si l'ordinateur faisait des calculs exacts, en un nombre ni (en relation avec n) X de (6.1), d'opérations élémentaires. b) Méthodes itératives : X (n) 1 Gabriel Ce sont des méthodes qui consistent à construire une suite de vecteurs convergeant vers la solution X. Cramer, 1704-1752 61 62 CHAPITRE 6. Dans toute la suite de ce chapitre, on suppose que où Mn (R) RÉSOLUTION DES SYSTÈMES LINÉAIRES A est l'ensemble des matrices carrée d'ordre Remarque 6.1. Le fait que les coecients de que l'on veut résoudre (6.1) dans C, A est une matrice inversible de n Mn (R), à coecients réels. soient réels n'est pas restrictif. En eet ; supposons c'est-à-dire (A + iB)(X + iY ) = b + ic, où A, B ∈ Mn (R) and X, Y, a, b ∈ Rn . On peut le réécrire sous la forme : A −B B A X Y = b c ou encore (6.2) A0 X 0 = b 0 avec (6.2) est un système réel de 6.2 (2n) équations à (2n) inconnues. Méthodes directes 6.2.1 Systèmes particuliers Système diagonal A = (aij )1≤i,j≤n où aij = 0, si i 6= j et aii 6= 0 ∀ i = 1, n. t t Posons X = (x1 , x2 , ...., xn ) et b = (b1 , b2 , ....., bn ) . Alors a11 x1 = b1 a22 x2 = b2 bi . AX = b ⇔ =⇒ xi = , i = 1, n, . aii . ann xn = bn Soit donc la solution est X = (x1 , x2 , ...., xn )t Coût : n divisions. où xi = bi avec aii i = 1, n. Système triangulaire supérieur Soit A = (aij )1≤i,j≤n où aij = 0 AX = b ⇔ si i>j et aii 6= 0 ∀ i = 1, n. a11 x1 + a12 x2 + ... + a1n x1 = b1 a22 x2 + ... + a2n xn = b2 .. puis xi = 1 aii . .. . .. . ann xn = bn AX = b se résout par la x1 ; d'où les relations : n , xn = abnn donc le système . .. xn−1 , ..., Alors méthode ascendante, c'est-à-dire on trouve d'abord (bi − n P j=i+1 aij xj ), i = n − 1, ..., 1. xn puis 6.2. 63 MÉTHODES DIRECTES Coût : n(n−1) n(n−1) 2 additions (ou soustractions)+ multiplications+n divisions=n opérations ; en 2 2 eet : Le nombre de divisions étant évident. Pour calculer xi (i = 1, ..., n), coût (+) = on fait coût (n − i) (×) = n X additions et (n − i) (n − i) = n2 − i=1 multiplications, d'où n(n − 1) n(n + 1) = · 2 2 Système triangulaire inférieur Soit A = (aij )1≤i,j≤n où aij = 0 AX = b ⇔ si x2 , ..., puis Coût : xn ; AX = b et aii 6= 0 ∀ i = 1, n. Alors a11 x1 = b1 21 x1 + a22 x2 = b2 a . donc le système i<j .. .. .. . . .. . an1 x1 + an2 x2 + ... + ann xn = bn se résout par la méthode descendante, c'est-à-dire on trouve d'abord puis d'où les relations : x1 = b1 , a11 xi = 1 aii (bi − i−1 P aij xj ), i = 2, . . . , n. j=1 n(n−1) n(n−1) additions (ou soustractions), multiplications et 2 2 Remarque 6.2. machine) pour x1 n n divisions. Les coûts des trois méthodes précédentes sont valables (point de vue calcul sur pas assez grand (≤ 100), on s'eorcera donc -dans toute la suite concernant la catégorie des méthodes directes- de transformer la matrice A du système AX = b an de nous ramener au cas triangulaire (le plus souvent) et même au cas diagonal. 6.2.2 Méthode d'élimination de Gauss Comme les systèmes triangulaires sont faciles et économiques à résoudre, l'objectif est de transformer tout système linéaire en système triangulaire équivalent. Bien que cette méthode soit parmi les plus anciennes qui ont été proposées pour résoudre les systèmes linéaires elle reste encore actuellement la plus utilisée ; en particulier son algorithme est d'exploitation aisée sur micro-ordinateur. Principe de la méthode : Déterminer une matrice M inversible telle que la matrice MA soit triangulaire supérieure. Alors AX = b ⇔ (M A)X = M b, ensuite résoudre le système triangulaire supérieur (M A)X = M b par l'algorithme de remontée. 64 Remarque 6.3. CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES M d'une façon explicite, mais par des transforma- En pratique on ne calcule pas tions équivalentes on ramène le système de départ en un système à matrice triangulaire supérieure. Autrement dit (A, b) où A(n) transformation −→ (A(n) , b(n) ), est une matrice triangulaire supérieure, puis on résout le système triangulaire. A(n) X = b(n) . Algorithme d'élimination de Gauss : On pose A(1) = A et b(1) = b . A(1) .. b(1) = (1) a11 (1) a21 .. . (1) a12 (1) a22 .. . (1) (1) (1) a1n (1) a2n .. . ··· ··· (1) an1 an2 · · · ann A la 1ère étape : Si suivantes : (1) a11 6= 0 (sinon on (2) (1) L1 ←− L1 .. . .. . .. . .. . (1) b1 (1) b2 .. . (1) (1) L1 L(1) 2 . .. (1) bn Ln fait une permutation de lignes) on fait les aectations L(2) ←− L(1) − αi1 L(1) 1 i i (1) où αi1 = ··· (2) a1n (2) a2n .. . ai1 (1) a11 , 2 ≤ i ≤ n. On obtient donc . A(2) .. b(2) où (2) a11 (2) a12 (2) a22 .. . 0 = . .. 0 (2) (2) an2 · · · ann (2) b1 (2) b2 .. . (2) bn (2) (1) (2) (2) a1j = a1j , 1 ≤ j ≤ n; b1 = b1 ; (2) ai1 = 0, 2 ≤ i ≤ n; Remarque 6.4. (2) (1) (1) aij = aij − αi1 a1j , 2 ≤ i, j ≤ n; (2) (1) (1) bi = bi − αi1 b1 , 2 ≤ i ≤ n. Si on pose E (1) A(2) = E (1) .A(1) . 1 −α21 = −α31 . .. −αn1 on aura ··· .. . .. . .. . .. . .. 0 . 1 0 .. . 1 (2) L1 L(2) 2 . .. (2) Ln 6.2. 65 MÉTHODES DIRECTES A la kième étape (1 ≤ k ≤ n − 1) : (k) akk 6= 0 Si (sinon on fait une permutation de lignes) on fait les aectations suivantes : (k+1) (k) ←− Li , 1 ≤ i ≤ k; Li (k) (k) (k) L(k+1) ←− Li − αik Lk i aik αik = où (k) akk , k + 1 ≤ i ≤ n. On obtient donc (k) a11 0 . . . . . A(k+1) .. b(k+1) = .. . . . . .. 0 où (k) a12 ··· ··· ··· ··· (k) a1n a22 (k) ··· ··· ··· ··· a2n 0 .. . .. . ··· ··· akn (k) akk 0 .. . (k+1) (k) (k+1) ak+1,k+1 · · · ak+1,n .. . .. . (k+1) 0 ··· an,k+1 (k+1) an,n .. . .. . .. . .. . .. . .. . (k) b1 (k) b2 (k) bk (k+1) bk+1 (k+1) bn (k+1) (k) = aij , 1 ≤ j ≤ n; aij 1 ≤ i ≤ k; (k) (k+1) = bi , bi (k+1) aij = 0, 1 ≤ j ≤ k, k + 1 ≤ i ≤ n; (k+1) (k) (k) = aij − αik akj , k + 1 ≤ j ≤ n; aij k + 1 ≤ i ≤ n. b(k+1) = b(k) − α b(k) ik k i i Remarque 6.5. Si on pose E (k) = 1 .. 0 . 0 −αk+1,k −αk+2,k .. . .. . 0 A(k+1) = E (k) .A(k) , 1 ≤ k ≤ n − 1. En réitérant (n − 1) 1 −αnk on aura (k) .. . fois l'opération on obtient : AX = b ⇔ A(n) X = b(n) 1 (k+1) L1 (k+1) L 2 .. . .. . .. . .. . (k+1) Ln 66 CHAPITRE 6. avec (1) a12 · · · (2) a22 · · · = A(n) A(n) (1) a11 .. RÉSOLUTION DES SYSTÈMES LINÉAIRES (1) a1n (2) a2n .. . , .. . (n) ann ··· ··· . 0 .. . (n) b1 b(n) 2 . . = . .. . (n) bn b(n) étant une matrice triangulaire supérieure. Remarque 6.6. 1. Pour A(1) = A on a trouvé que A(k+1) = E (k) .A(k) = E (k) .E (k−1) .A(k−1) = E (k) .E (k−1) · · · E (1) .A(1) . Alors (1) A(n) = |E (n−1) .E (n−2) {z · · · E } .A = M A. 2. Les (k) akk , k = 1, n sont appelés "pivots de la méthode de Gauss". 3. La méthode de Gauss permet de calculer j det(A) = (−1) n Y (i) aii det(A) où j par est le nombre de permutations . i=1 4. Si à la k ième étape (k) akk = 0, alors il existe p, k + 1 ≤ p ≤ n (k) akk (1) (2) (k−1) det(A) = a11 × a22 × · · · ak−1,k−1 × .. . (k) ank tel que Lp , k + 1 ≤ p ≤ n dont car (k) · · · akn ··· .. . (k) ann 6= 0. (k) akk = 0, on permute la ligne (k) ième l'élément de la k colonne apk est 5. Au cours de la triangularisation, si l'on trouve que l'un des pivots du pivot avec une ligne supérieure (k) apk 6= 0, non nul. 6. La méthode de Gauss sans permutation de lignes s'appelle "Gauss ordinaire". Exemple 6.1. 2 −5 1 2 −5 3 2 −5 3 A = −1 3 −1 ,→ A(2) = 0 0 −1 ,→ A(3) = Ã(2) = 0 −6 −12 3 −4 2 0 −6 −12 0 0 −1 Coût de la méthode d'élimination de Gauss ordinaire Pour passer de . A(k) .. b (k) à . A(k+1) .. (k+1) (k) = aij − aij (k) b(k+1) = bi − i (1) aik (k) akk b (k+1) (k) akj , on utilise k + 1 ≤ j ≤ n; k + 1 ≤ i ≤ n. (1) aik (k) akk (k) bk 6.2. 67 MÉTHODES DIRECTES k, 1 ≤ k ≤ n−1 on a (n−k+1)(n−k) additions (soustractions), (n−k+1)(n−k) multiplications et (n − k) divisions, donc n−1 n−1 P P Coût total = 2 (n − k + 1)(n − k) + (n − k) = 23 n3 + 21 n2 − 67 n. Alors à chaque étape Rappel : n P k=1 2 k = i=1 k=1 n (n+1)(2n+1). D'où, le coût total de la méthode de Gauss (élimination+résolution 6 2 3 d'un système triangulaire) est 3 n 3 devant n . + 12 n2 − 76 n + n2 = O( 23 n3 ) n car pour grand, n2 est négligeable 6.2.3 Problème posé par la (quasi) annulation des pivots Exemple 6.2. Soit un petit nombre réel et considérons le système linéaire : (S ) Résolvons d'abord le système . A(1) .. b(1) .. . .. . 1 = (S ) 1 1 par la méthode de Gauss ordinaire (sans permutations). ! 1 ,→ (1) 2 x1 + x2 = 1, x1 + x2 = 2. . A(2) .. b(2) = 1 0 1− a11 = 1 .. . .. . ! 1 2− 1 (1) L1 (1) (1) L2 − 1 L1 . x2 : x2 = 1−2 . 1− 1 Par substitution, on obtient x1 : x1 = 1− . Pour = 0, on trouve x1 = x2 = 1. −9 −9 9 9 9 9 Pour = 10 , où 10 est la précision de la machine, on trouve 1 − 10 ≈ −10 et 2 − 10 ≈ −10 sur la machine, d'où x2 = 1 et x1 = 0 qui n'est pas la solution du système donné ! On a donc immédiatement la valeur de Si par contre, on permute les lignes 1 et 2, on obtient : or 1 − 10−9 ≈ 1 et . A(2) .. b(2) 1 − 2.10−9 ≈ 1 = 1 1 0 1 − 10−9 sur la machine, d'où .. . .. . 2 ! , 1 − 2.10−9 x2 = 1 et x1 = 1 qui est la solution du système donné. Conclusion : Il ne faut pas utiliser des pivots trop petits car les erreurs d'arrondi peuvent donner des solutions fausses. Un moyen de contourner le problème d'un pivot nul ou presque est d'utiliser la technique de pivotage. Il existe deux stratégies de pivotage : Pivotage partiel : k ième étape (1 ≤ k ≤ n − 1) d'élimination de Gauss le pivot partiel est (k) (k) choisi parmi les coecients (aik )k≤i≤n tel que sa valeur absolue soit la plus grande, soit ai k cet 0 élément à la (k) (k) |ai0 k | = max ( aik ) . Pivotage total : k≤i≤n On permute ensuite si (i0 6= k) la k ième ligne et la ligne (i0 ). k ième étape (1 ≤ k ≤ n − 1) d'élimination de Gauss le pivot total est choisi (k) (k) parmi les coecients (aij )k≤i,j≤n tel que sa valeur absolue soit la plus grande, soit ai0 j0 cet (k) (k) élément |ai0 j0 | = max ( aij ) puis on fait les permutations des lignes et des colonnes corà la k≤i,j≤n respondantes. Catte technique n'est utilisée que dans de rares cas pratiques. Attention A chaque permutation de colonnes les inconnues changent de places. 68 CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES Remarque 6.7. 1. La méthode de Gauss n'est jamais programmée sans au moins une stratégie de pivot partiel. 2. Les pivots petits ne disparaissent pas, ils sont juste rejetés à la n de l'algorithme où leur inuence est moins grande. 6.2.4 Méthode de la décomposition LU Principe de la méthode : 1. Décomposition de la matrice A de façon à la mettre sous la forme U triangulaire inférieure unitaire et 2. Résolution : Le système AX = b Y Théorème 6.1. est une matrice AX = b LY = b UX = Y revient à la résolution de deux systèmes triangulaires. A[k] = (aij )1≤i,j≤k de 1 ≤ k ≤ n, alors il existe une matrice L = (lij )1≤i,j≤n triangulaire lii = 1, i = 1, n et une matrice triangulaire supérieure U telle que A = LU. Soit A L devient AX = b ⇐⇒ LU X ⇐⇒ |{z} A où est une matrice triangulaire supérieure. donc la résolution du système A = LU une matrice telle que les sous matrices principales soient inversibles pour tous inférieure telle que De plus cette décomposition est unique. Existence : Montrons que tous les pivots d'élimination de Gauss sont non nuls, (k) c'est à dire akk 6= 0 pour 1 ≤ k ≤ n − 1. On le démontre par récurrence. (1) (1) Le premier pivot a11 est forcément non nul car a11 = det(A[1] ) 6= 0. (k) (r) Supposons que akk 6= 0 pour 1 ≤ k ≤ r − 1 et montrons que arr 6= 0. (1) (2) (r−1) (r) On a det(A[r] ) = a11 a22 . . . ar−1,r−1 arr . Or d'une part, par hypothèse det(A[r] ) est diérent de Démonstration. (k) (r) zéro et d'autre part, par hypothèse de récurrence akk 6= 0 pour 1 ≤ k ≤ r − 1. Donc arr est aussi diérent de zéro. Unicité : Soit A = L1 U1 = L2 U2 , d'où U1 U2−1 = L−1 1 L2 = D. −1 Comme U1 U2 est une matrice triangulaire supérieure et L−1 1 L2 est une matrice triangulaire inférieure et D a des 1 sur la diagonale, alors D = In ce qui implique que U1 = U2 et L1 = L2 . Détermination des matrices L et U a) En utilisant l'algorithme d'élimination de Gauss ordinaire : Au premier pas d'élimina- tion de Gauss, on trouve A(2) = E (1) .A(1) où E (1) 1 −α21 = −α31 . .. −αn1 .. 0 . 1 0 .. . 1 6.2. 69 MÉTHODES DIRECTES Au deuxième pas, on trouve A (3) =E de la même manière au (2) .A k -ième (2) où E (2) 1 0 1 .. . −α32 = ... −α 42 . .. . . . 0 −αn2 A =E (k) .A 0 . 0 .. . 1 pas d'élimination, on obtient (k+1) .. (k) où E (k) 1 = .. 0 . 1 0 −αk+1,k −αk+2,k .. .. . −αnk . 0 1 ce qui nous donne A(n) = E (n−1) .A(n−1) = E (n−1) .E (n−2) .A(n−2) = E (n−1) .E (n−2) . . . E (1) .A. U = A(n) U = L−1 A Posons alors L−1 = E (n−1) .E (n−2) · · · E (1) d'où A = LU où et −1 E (n−1) .E (n−2) . . . E (2) .E (1) −1 −1 −1 E (1) . E (2) . . . E (n−1) 1 α21 1 0 . = α31 α32 . . . .. .. .. .. . . . L = = αn1 αn2 · · · αn,n−1 1 et U = A(n) = (1) a11 (1) a12 · · · · · · (2) a22 · · · · · · .. 0 . .. . (1) a1n (2) a2n .. . .. . (n) ann b) En appliquant l'algorithme de la méthode : En connaissant a11 · · · .. . ai1 · · · . .. A = (aij )1≤i,j≤n , on écrit l'égalité A = LU a1j · · · a1n 1 .. .. l21 1 0 . . . .. aij · · · ain = l31 .. .. .. .. ... . . . . an1 · · · an2 · · · ann ln1 · · · ln,n−1 1 u11 u12 · · · · · · u1n u22 · · · · · · u2n .. .. . . .. . .. 0 . unn 70 CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES n(n+1) n(n−1) éléments et L contient éléments). Par identication on obtient un 2 2 2 2 système linéaire de n équations à n inconnues. En résolvant le système obtenu dans des cas (U contient particuliers (n = 2, 3, 4), on constate que la détermination des éléments de L et U cherchés se fait suivant l'algorithme général : lii = 1, 1 ≤ i ≤ n; m−1 P lmk .ukj , u = a − mj mj k=1 u1j = a1j , 1 ≤ j ≤ n; li1 = ai1 , u11 2 ≤ i ≤ n; m ≤ j ≤ n; 2 ≤ m ≤ n. m−1 P lik .ukm /umm , m + 1 ≤ i ≤ n; lim = aim − k=1 Coût de la méthode Calcul de Calcul de U: L: et coût(/)= coût(×)=coût(+)= coût(×)=coût(+)= n P m=1 n−1 P m=1 (n − m) = m=1 D'où, coût total n P = O( 23 n3 )=coût (m − 1)(n − m + 1) = O( 61 n3 ) (m − 1)(n − m) = O( 16 n3 ) n(n−1) . 2 de Gauss. Utilité de la détermination LU Calcul de déterminant Grâce à la factorisation LU, on peut calculer le déterminant d'une matrice carrée avec O( 23 n3 ) opérations, vu que det(A) = det(L) × det(U ) = det(U ) = n Y ukk . k=1 Résolution : AX = b. Décomposons A L(U X) = b. Posons Y = U X, on LU, alors AX = b devient (LU )X = b ou encore cherche alors Y tel que LY = b est un système triangulaire inférieur qu'on résout par la méthode descendante. Y étant trouvé, on cherche X tel que U X = Y est un système triangulaire supérieur qu'on résout Supposons qu'on veut résoudre le système sous forme par la méthode ascendante. Coût total : coût(décomposition LU)+coût(résolution de deux systèmes triangulaires), c'est à O( 32 n3 ) + 2n2 = O( 23 n3 ). Calcul de l'inverse d'une matrice : Soit A une matrice carrée inversible d'ordre n, (1) (n) −1 −1 notons par v , . . . , v les colonnes de sa matrice inverse A , i.e. A = (v (1) , . . . , v (n) ). −1 La relation A.A = In se traduit par les n systèmes linéaires suivants : dire, Coût total= (6.3) Av (k) = e(k) , 1 ≤ k ≤ n, e(k) est le vecteur colonne ayant toutes les composantes nulles sauf la k−ième composonte (k) qui est 1, e = (0, . . . , 1, . . . , 0)t . Une fois connues les matrices L et U qui décomposent la où matrice A, résoudre les n systèmes (6.3) gouvernés par la même matrice A. 6.2. 71 MÉTHODES DIRECTES Exemple 6.3. Soit le système linéaire suivant 2 −5 1 x1 12 −1 3 −1 x2 = −8 3 −4 2 x3 16 A l'aide de la décomposition LU de A: L 1. Résoudre le système donné en déterminant les matrices a) b) et U : En utilisant l'algorithme d'élimination de Gauss ordinaire. En appliquant l'algorithme de la méthode. 2. Calculer l'inverse de A. 6.2.5 Méthode de Cholesky A Dans le cas d'une matrice AX = b symétrique dénie positive, il est possible de résoudre le système avec un nombre d'opérations égal presque à la moitie du nombre d'opérations utilisées dans la méthode de Gauss. Dénition 6.1. Une matrice A ∈ Mn (R) est dite dénie positive si et ssi X t AX > 0, ∀ X ∈ Rn − {0Rn }. Exemple 6.4. Soient A= t X AX = (x1 , x2 ) 1 2 2 8 1 2 2 8 et X= x1 x2 x1 x2 ∈ R2 . On a = (x1 + 2x2 )2 + 4x22 > 0 ∀ X ∈ R2 − {(0, 0)}. Dénition 6.2. A[k] A ∈ Mn (R) est dite dénie positive si et ssi toute sous-matrice = (aij )1≤i,j≤k , k = 1, n de A est de déterminant strictement positif. Théorème 6.2. Si principale A est une matrice symétrique et dénie positive alors, il existe (au moins) une t matrice triangulaire inférieure R telle que A = RR . De plus, si on impose que les éléments diagonaux de R soient tous positifs, alors cette décomposition est unique. On a A dénie positive assure l'existence de la décomposition LU de A où L = (lij )1≤i,j≤n est une matrice triangulaire inférieure unitaire et U = (uij )1≤i,j≤n est une matrice triangulaire supérieure (car toute sous-matrice principale A[k] ), k = 1, n de A est de déterminant non nul). k Q Remarquons que det(A[k] ) = ujj , k = 1, 2, ..., n ce qui implique que uii > 0, i = 1, n. Démonstration. j=1 1 2 Soit D et D les matrices diagonales dénies par √ √ √ 1 D = diag(u11 , u22 , ..., unn ), D 2 = diag( u11 , u22 , ..., unn ) 1 −1 alors D 2 = diag( √u111 , √u122 , ..., √u1nn ). D'une part, on a 1 1 A = LU = LIn U = LD 2 (D 2 )−1 U 72 CHAPITRE 6. Posons 1 R = (rij )1≤i,j≤n = LD 2 , 1 H = (hij )1≤i,j≤n = (D 2 )−1 U, RÉSOLUTION DES SYSTÈMES LINÉAIRES √ matrice triangulaire inférieure avec rii = uii √ matrice triangulaire supérieure avec hii = uii , alors A = RH. D'autre part, on a A est symétrique, alors A = At ⇐⇒ RH = H t Rt −1 −1 ⇐⇒ H (Rt ) = (R)−1 H t ( multiplions les deux côtés à gauche par (R)−1 et à droite par (Rt ) ) −1 −1 =⇒ H (Rt ) = In et (R)−1 H t = In (H (Rt ) est M.T.S. et (R)−1 H t est M.T.I. ) =⇒ H = Rt . Algorithme de Cholesky2 Son principe est le suivant : on écrit la matrice si j > i, A sous la forme RRt où ensuite on identie colonne après colonne on aura Première colonne : (j = 1) √ =⇒ r11 = a11 ( si on impose que r11 > 0) a11 = i1 ai1 = ri1 r11 =⇒ ri1 = ra11 , 2 ≤ i ≤ n. Deuxième colonne : (j = 2)p 2 2 2 ( si on impose que r22 > 0) a22 = r21 + r22 =⇒ r22 = a22 − r21 1 ai2 = ri1 r21 + ri2 r22 =⇒ ri2 = r22 (ai2 − ri1 ri2 ), 3 ≤ i ≤ n. 2 r11 Ainsi on a construit l'algorithme suivant : √ r11 = a11 ; i1 ri1 = ra11 , 2 ≤ i ≤ n; pour 2 ≤ j ≤ n s j−1 P 2 rjk ; r = a − jj jj k=1 j−1 P 1 rij = r aij − rik rjk , j + 1 ≤ i ≤ n. jj k=1 Coût de la méthode n extractions de racines carrés, n P (n − j) = j=1 2 n P (j − 1)(n − j) = j=1 n P j=1 (j − 1) = O( 21 n2 ) n(n−1) (divisions), 2 O( 13 n3 ) (coût(×) et coût(+)) (coût(×) et coût(+) dans les racines carrés). Coût total=O( 31 n3) ≈ la moitié de celui de Gauss. 2 André Louis Cholesky, français, 1875-1918 R = (rij )1≤i,j≤n , rij = 0 6.2. 73 MÉTHODES DIRECTES Conclusion : RRt On peut utiliser la décomposition le système linéaire Remarque 6.8. AX = b 1. Si d'une matrice ou pour inverser A = RRt A, alors, det(A) = (det(R))2 = n Q rii2 . i=1 2. La décomposition A = RRt 2 < 0, rjj rii > 0, i = 1, 2, . . . , n. n'est pas unique si on n'impose pas que 3. Pour une matrice dénie positive on a : on trouve que symétrique dénie positive pour résoudre de la même manière que pour la décomposition (LU). R = (rij )1≤i,j≤n où A A la matrice 2 rjj = ajj − j−1 P 2 rjk > 0, donc, si a une étape de calcul k=1 n'est pas dénie positive. 6.2.6 Méthode de Gauss-Jordan Principe de la méthode : 1. Transformation de la matrice A en la matrice identité : (A, b) où In est la matrice identité dans transformation −→ (In , b(n) ), Mn (R). 2. Résolution du système : AX = b ⇐⇒ In X = b(n) ⇐⇒ X = b(n) . Algorithme de Gauss-Jordan : On pose A(1) = A et b(1) = b . A(1) .. b(1) = (1) a11 (1) a21 .. . (1) a12 (1) a22 .. . (1) (1) ··· ··· (1) a1n (1) a2n .. . (1) an1 an2 · · · ann A la 1ère étape : Si (1) a11 6= 0 .. . .. . .. . .. . (1) b1 (1) b2 .. . (1) (1) L1 L(1) 2 .. . (1) bn Ln (sinon on fait une permutation de lignes) on fait les aectations suivantes : (2) L1 ←− (2) Li (1) 1 (1) a11 L1 (1) (1) (2) ←− Li − ai1 L1 2 ≤ i ≤ n. On obtient (2) (2) 1 a12 · · · a1n (2) (2) . · · · a2n 0 a A(2) .. b(2) = . 22 .. .. .. . . (2) (2) 0 an2 · · · ann .. . .. . .. . .. . (2) b1 (2) b2 .. . (2) bn (2) L1 L(2) 2 .. . (2) Ln 74 CHAPITRE 6. où RÉSOLUTION DES SYSTÈMES LINÉAIRES (1) a (2) (2) a1j = 1j = (1) , 1 ≤ j ≤ n; b1 a11 a(2) = 0, 2 ≤ i ≤ n; i1 (2) b1 (1) a11 ; (2) (1) (1) (2) aij = aij − ai1 a1j , 2 ≤ i, j ≤ n; (2) (1) (1) (2) bi = bi − ai1 b1 , 2 ≤ i ≤ n. A la kième étape (1 ≤ k ≤ n) : (k) akk 6= 0 Si (sinon on fait une permutation de lignes) on fait les aectations suivantes : (k) 1 , (k) L akk i (k+1) ←− Li (k+1) (k) (k) (k+1) ←− Li − aik Lk Li i = 1, n, i 6= k. On obtient donc (k+1) .. (k+1) A .b = 1 0 ··· 0 .. . .. . .. . .. . .. . (k+1) akj = (k+1) = bk Remarque 6.9. 3 O(n ) ··· .. . (k+1) a1,n .. . 1 .. . 0 .. . 0 ak−1,k+1 · · · ak−1,n .. . 1 (k+1) (k+1) ak,k+1 (k+1) ··· (k+1) (k+1) akn (k+1) 0 ak+1,k+1 · · · ak+1,n 0 où (k+1) a1,k+1 .. . .. . 0 an,k+1 (k+1) .. . ··· (k+1) an,n .. . .. . .. . .. . .. . .. . .. . (k+1) b1 (k+1) b2 .. . .. . (k+1) (k+1) L1 L(k+1) 2 .. . .. . .. . .. . bn (k+1) Ln (k) akj (k) akk ; k + 1 ≤ j ≤ n; a(k+1) = a(k) − a(k) a(k+1) , ij ij ik kj i = 1, n, i 6= k, (k) bk (k) akk b(k+1) = b(k) − a(k) b(k+1) i = 1, n, i 6= k. i i ik k 1. Pour résoudre un système d'ordre n, la méthode de Gauss Jordan nécessite opérations (moins rapide que celle de Gauss). 2. Elle est conseillée pour inverser une matrice. (A, In ) transformation −→ (In , A−1 ). 6.3 Méthodes itératives Quand n est assez grand les méthodes directes ne sont plus envisageables vu le nombre très grand d'opérations à eectuer qui engendre la propagation des erreurs d'arrondi. On a alors recours 6.3. 75 MÉTHODES ITÉRATIVES (0) aux méthodes itératives qui consistent à générer -à partir d'un vecteur initial X choisi dans n (n) (n+1) (n) (n) n R - une suite (X )n∈N telle que : X = F (X ) et lim X = X; où F : R → Rn est n→+∞ un opérateur lié à la méthode. Principe des méthodes itératives : Ecrivons d'abord la matrice A sous la forme A=M −N où M est inversible, alors AX = b ⇐⇒ (M − N )X = b ⇐⇒ M X = N X + b. Multiplions les deux côtés par M −1 , on aura X = M −1 N X + M −1 b. Le principe de toutes les méthodes itératives est le suivant : (0) choisir un vecteur X ∈ Rn , (k) générer la suite (X )k∈N telle que X (k+1) = M −1 N X (k) + M −1 b, (k) si la suite (X )k∈N converge vers X ∗ , alors X ∗ est la solution du système Remarque 6.10. successifs X (k) 1. Le critère d'arrêt se fait, en général, sur l'erreur relative de deux itérés (k+1) et X , c'est à dire Test où AX = b. kX (k+1) −X (k) k kX (k+1) k < kX (k+1) k est très petite. (0) si : ∀ X ∈ Rn , X (k) −→ X ∗ choisi petit, ou sur l'erreur absolue si 2. La méthode itérative est dite convergente X ∗ est la solution du système AX = b. quand 6.3.1 Matrice d'itération et les conditions de convergence On appelle, pour M et N choisies, matrice d'itération la matrice B = M −1 N. Condition nécessaire de convergence Notons par E (k) = X (k) − X ∗ le vecteur erreur à l'étape k (k ∈ N), X ∗ = B X ∗ + M −1 b X (k) = B X (k−1) + M −1 b, on a (1) (2) en soustrayant (1) de (2), on aura X (k) − X ∗ = B(X (k−1) − X ∗ ) = B E (k−1) . Alors E (k) = B E (k−1) = B 2 E (k−2) = · · · = B k E (0) où E (0) = X (0) − X ∗ , ou encore X (k) − X ∗ = B k (X (0) − X ∗ ). La méthode converge si ∀ X (0) , lim X (k) = X ∗ , k→+∞ lim B k = 0 (0 k→+∞ ce qui est vraie si au sens matriciel). k → +∞ où 76 CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES Condition nécessaire et susante de convergence Soit ρ(B) = max{|λ|/ λ Théorème 6.3. converge vers valeur propre de La suite X∗ (X si et ssi (k) B} le rayon spectral de B. On a le théorème suivant : )k∈N dénie par (0) X ∈ Rn quelconque X (k+1) = B X (k) + M −1 b, ρ(B) < 1. Condition susante de convergence Rappel X = (x1 , · · · , xn )t ∈ Rn , n P kXk1 = |xi | i=1 12 n P 2 kXk2 = |xi | kXk∞ = max |xi | 1. Soit les normes dénies par : i=1 1≤i≤n sont équivalentes. A = (aij ) ∈Mn (R), les n P kAk1 = max |aij | 1≤j≤n i=1 p kAk2 = ρ(t A.A) ! n P kAk∞ = max |aij | 2. Soit 1≤i≤n normes dénies par : j=1 sont équivalentes. Lemme 6.1. (Relation entre ρ(B) et kBk) ρ(B) ≤ kBki Démonstration. (i = 1 ∨ 2 ∨ ∞). Soit λ une valeur propre de B, alors ∃ X ∈ (R∗ )n : BX = λX et donc kBXki = kλXki =⇒ |λ|kXki ≤ kBki kXki , X ∈ (R∗ )n (kBXki ≤ kBki kXki ). D'où, |λ| ≤ kBki =⇒ ρ(B) ≤ kBki ,; i = 1 ∨ 2 ∨ ∞. D'après le lemme 6.1, on tire que l'existence d'une norme kBki < 1 k.ki , (i = 1 ∨ 2 ∨ ∞) est une condition susante pour la convergence de la méthode itérative. 6.3.2 Principales méthodes itératives On considère la décomposition suivante de la matrice A −F A=D−E−F = D −E où, : D −E : −F : de la diagonale de A, la partie au dessous de la diagonale deA, la partie au dessus de la diagonale de A. B qui vérie 6.3. 77 MÉTHODES ITÉRATIVES a12 a13 a22 a23 alors a32 a33 0 0 0 0 0 , E = −a21 −a31 −a32 0 a11 Exemple 6.5. Soit A = a21 a31 a11 0 0 D = 0 a22 0 , 0 0 a33 ∀ i = 1, 2 · · · , n, aii 6= 0R On suppose que ω = 1, 0 −a12 −a13 0 −a23 . F = 0 0 0 0 (on peut s'y ramener si i) Méthode de Jacobi : M = D, N = E + F ii) Méthode de Gauss-Seidel : M = D − E, iii) Méthode de relaxation : M = ( ω1 )D − E, Remarque 6.11. 1. Si A est inversible). N =F N = ( ω1 − 1)D + F, ω ∈ R∗ . la méthode de relaxation coïncide avec celle de Gauss-Seidel. 2. La matrice M est inversible, car elle possède toujours les aii sur la diagonale. 3. la méthode de relaxation est une variante qui généralise la méthode de Gauss-Seidel. L'introduction du paramètre ω vise à accélérer la convergence de cette dernière. Présentation des algorithmes On va, dans ce qui suit, expliciter les méthodes de Jacobi et Gauss-Seidel, et cela sur un système linéaire à trois équations (n Soit donc les = 3). AX = b où A ∈ M3 (R), b ∈ R3 a11 x1 + a12 x2 + a13 x3 = b1 a21 x1 + a22 x2 + a23 x3 = b2 AX = b ⇐⇒ a31 x1 + a32 x2 + a33 x3 = b3 (aii )i=1,2,...,n étant supposés non nuls ; tirons x1 de (1), x2 de (2) et x1 = (b1 − a12 x2 + a13 x3 )/a11 = f (x2 , x3 ) x2 = (b2 − a21 x1 + a23 x3 )/a22 = g(x1 , x3 ) x3 = (b3 − a31 x1 + a32 x2 )/a33 = h(x1 , x2 ) soit (0) (0) (0) X (0) = (x1 , x2 , x3 )t ∈ R3 (1) (2) (3) x3 (4) (5) (6) quelconque. La méthode de Jacobi revient au processus itératif suivant : 1ère étape : 2ième étape : (1) (1) (0) (0) x1 = f (x2 , x3 ) x1 (1) (1) (0) (0) (1) x2 = g(x1 , x3 ) −→ X = x2 (1) (0) (0) (1) x3 = h(x1 , x2 ) x3 (2) (2) (1) (1) x1 = f (x2 , x3 ) x1 (2) (2) (1) (1) (2) x2 = g(x1 , x3 ) −→ X = x2 (2) (1) (1) (2) x3 = h(x1 , x2 ) x3 de (3), on obtient 78 CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES et ainsi de suite, jusqu'à satisfaction du critère d'arrêt. (Il est évident qu'on ne peut pas calculer le coût de la méthode). 3 La méthode de Gouss-Seidel revient au processus itératif suivant : 1ère étape : (1) (0) (0) x1 = f (x2 , x3 ) ≡ (1) (1) (0) x2 = g(x1 , x3 ) (1) (1) (1) x3 = h(x1 , x2 ) 2ième étape : Jacobi −→ X (1) (1) x1 = x(1) 2 (1) x3 (2) (2) (1) (1) x1 = f (x2 , x3 ) x1 (2) (2) (2) (1) (2) x2 = g(x1 , x3 ) −→ X = x2 (2) (2) (2) (2) x3 = h(x1 , x2 ) x3 (c'est à dire toutes les composantes calculées (x1 , x2 , ..., xi−1 ) sont utilisées pour calculer xi ), et ainsi de suite, jusqu'à satisfaction du critère d'arrêt. Généralisation AX = b un système linéaire d'ordre n où aii 6= 0, ∀ i = 1, 2, · · · , n. (6) précédentes se généralisent comme suit : ! n X aij xj /aii , ∀ i = 1, 2, · · · , n. x i = bi − Soit et Les équations (4), (5) j=1, j6=i Etapes principales de la méthode de Jacobi : (0) et/ou 2. (k+1) xi (0) (0) A, b, X (0) = (x1 , x2 , · · · , xn )t , ( KM ax( le nombre maximal d'itérations ). 1. Etant données = bi − n P la précision ) ! aij xkj /aii , ∀ i = 1, 2, · · · , n. j=1, j6=i A répéter pour k = 0, ..., KM ax. Si kX (k+1) − X (k) k < kX (k+1) k X (k+1) relative . arrêter les itérations, et avec une précision est une solution approchée de X solution du système donné Etapes principales de la méthode de Gauss-Seidel : 1. Etant données 2. (k+1) xi = bi − (0) A, b, X (0) , · · · , xn )t , i−1 P (k+1) aij xj j=1 A répéter pour − n P et/ou KM ax. ! (k) aij xj /aii , ∀ i = 1, 2, · · · , n. j=i+1 k = 0, ..., KM ax. Si kX (k+1) − X (k) k < kX (k+1) k X (k+1) relative . arrêter les itérations, et avec une précision est une solution approchée de X solution du système donné 6.3. 79 MÉTHODES ITÉRATIVES Remarque 6.12. ligne sur A 1. S'il existe (et sur i0 ∈ [1, n] tel que ai0 i0 = 0, on procède à une permutation de b). 2. En général, la convergence de l'une de ces méthodes n'implique pas la convergence de l'autre. 3. Plus que ρ(B) << 1, plus que la convergence du processus itératif vers la solution exacte du système Exemple 6.6. X (0) ∈ Rn donné X (k+1) = BX (k) + C AX = b est plus rapide. Ai X = bi , i = 1, 2, 3, 4. 2 −1 1 2 2 A2 = 2 −1 −1 2 7 6 9 5 −4 A4 = 4 −7 −3 8 Soient les quatre systèmes linéaires 1 2 −2 A1 = 1 1 1 2 2 1 4 1 1 A3 = 2 −9 0 0 −8 −6 Etudier la convergence des méthodes de Jacobi et Gauss-Seidel appliquées à chaque système, (0) pour tout choix de X ∈ R3 , en utilisant le rayon spectral des matrices d'itérations. Conclure. Réponse On trouve les résultats suivants : 1. 0 −2 2 J1 = −1 0 −1 −2 −2 0 avec ρ(J1 ) = 0 < 1, 0 −2 2 G1 = 0 2 −3 0 0 2 ρ(G1 ) = 2 > 1, d'où la méthode de Jacobi converge (0) que celle de Gauss-Seidel ne converge pas ∀ X ∈ R3 . 2. 0 12 − 21 J2 = −1 0 −1 1 1 0 2 2 ∀ X (0) ∈ R3 , alors 0 12 − 12 G2 = 0 − 12 − 12 0 0 − 12 avec ρ(J2 ) = 1, 118 > 1, ρ(G2 ) = 12 < 1, d'où la méthode de Gauss-Seidel converge ∀ X (0) ∈ R3 , alors que celle de Jacobi ne converge pas ∀ X (0) ∈ R3 . 3. 0 − 41 − 14 0 J3 = 29 0 4 0 −3 0 avec ρ(J3 ) = 0, 44 < 1, R3 , mais comme ρ(G3 ) < 0 − 14 − 14 1 G3 = 0 18 8 1 0 − 6 − 16 ρ(G3 ) = 0, 018 < 1, d'où les deux méthodes convergent ∀ X (0) ∈ ρ(J3 ) alors, la méthode qui converge plus rapidement est celle de Gauss-Seidel. 4. 0 − 67 − 97 4 J4 = − 45 0 5 7 3 0 8 8 0 − 67 − 97 64 G4 = 0 24 35 35 69 123 0 − 140 − 280 ρ(J4 ) = 0, 64 < 1, ρ(G3 ) = 0, 77 < 1, d'où les mais comme ρ(J4 ) < ρ(G4 ) alors, la méthode qui avec Jacobi. deux méthodes convergent ∀ X (0) ∈ R3 , converge plus rapidement est celle de 80 CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES D'autres conditions susantes de convergence des méthodes de Jacobi et GaussSeidel Soit le système linéaire AX = b où A ∈ Mn (R) inversible, dénie par : a J = (αij )1≤i,j≤n − aijii , 0, αij = où J la matrice d'itération de Jacobi si si i 6= j; i = j. On a vu qu'une condition susante pour que le processus itératif converge (vers la solution du système (S)) est que Prenons la norme kJkN N où est l'une des trois normes matricielles présentées. n P k.k∞ : kJk∞ = max 1≤i≤n kJk∞ < 1 ⇐⇒ ! |αij | , alors j=1 n X |αij | < 1, ∀ i = 1, 2, · · · , n j=1 et pour i xé, on a ( |αi1 | + |αi2 | + · · · + |αin | ) < 1 ou encore n X 1 |aij | < |aii | (|ai1 | + |ai2 | + · · · + |ain |) < 1 =⇒ aii j=1, j6=i auquel cas on dit que la matrice A est à diagonale dominante stricte. Remarque 6.13. On aboutit à la même conclusion pour la méthode de Gauss-Seidel (exercice). D'où le résultat suivant : Théorème 6.4. Pour que les processus itératifs de Jacobi et de Gauss-Seidel convergent (∀ X (0) ∈ Rn ), il sut que la matrice A du système AX = b soit à diagonale dominante stricte (D.D.S). Proposition 6.1. Si A est symétrique dénie positive, alors le processus itératif de Gauss-Seidel converge ∀ X (0) ∈ Rn . Méthode de relaxation La matrice d'itération est dans ce cas ∗ avec ω un paramètre dans R . On remarque que si ω = 1, B = M −1 N où M = ( ω1 )D − E, N = ( 1−ω )D + F, ω cette méthode coïncide avec celle de Gauss-seidel ; on l'utilise pour accélérer la convergence de Gauss-Seidel : ω>1 ω=1 ω<1 procédé de sur-relaxation, méthode de Gauss-Seidel, procédé de sous-relaxation. En écrivant le processus itératif : X (k+1) = (M −1 N )X (k) + M −1 b, alors la méthode de relaxation consiste en le schéma suivant : (k) (k+1) (k+1) lors du passage de X à X on ne retient pas X pour la suite, mais (k) ω)X . Autrement dit (k+1) (k+1) (k) (k) X ←− X + ω(|{z} X G−S −X ), ωX (k+1) + (1 − 6.3. 81 MÉTHODES ITÉRATIVES et en injectant cette expression dans l'algorithme de Gauss-Seidel, on trouve l'algorithme suivant : (k+1) xi (k) = xi + ω bi − i−1 X (k+1) aij xj − j=1 n X ! (k) aij xj /aii , ∀ i = 1, 2, · · · , n. j=i Convergence de la méthode de relaxation Théorème 6.5. (conditions sur le paramètre ω) Cas d'une matrice A quelconque (mais inversible), méthode de relaxation converge ∀X (0) n ∈R ) Si A est à diagonale dominante sticte, est que une condition nécessaire pour que la ω ∈]0, 2[. alors la condition susante de convergence est que ω ∈]0, 1]. Si A est symétrique dénie positive, gence est que ω ∈]0, 2[. alors la condition nécessaire et susante de conver- 82 CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES 6.4 Exercices Méthodes directes Exercice 6.1. Soient les systèmes d'équations linéaires suivants : x+y−z =3 a) 2x − y + 3z = 0 −x − 2y + z = −5 3x + y − 5z = 14 b) 2x + y − 3z = 5 −x − y − z = 4 3x − y + 2z = −3 c) x − y + z = −4 2x + y − z = −3 2x + 6y + 2z + 8t = 16 10x − y + 2z = 6 9x − z + 3t = 5 x + 4y + 2z + 2t = 5 −x + 11y − z + 3t = 25 2x + 4y + 9z + t = 1 d) e) f) x + y + 2z + 4t = 9 2x − y + 10z − t = −11 x + 2y + 4z − 8t = 3 x+y+z+t=2 3y + 8t − z = 15 x + t − z + 4y = 7 1. Résoudre les systèmes linéaires donnés par la méthode d'élimination de Gauss (lorsque cela est possible). 2. Résoudre les systèmes linéaires donnés avec la technique du pivot total. a) Donner la décomposition L.U des matrices des systèmes a) et e). b) Retrouver les solutions de ces systèmes. Exercice 6.2. Soient αi , i = 1, 2, 3, 4, quatre nombres réels non nuls et distincts deux à deux 3. et soit A ∈ M4 (R) dénie par : 1 α2 /α1 α3 /α1 α4 /α1 1 A= 1 1 On note par ∆ la matrice diagonale 1. Triangulariser le système 1 α4 /α3 α3 /α2 α4 /α2 1 1 1 1 1 ∆ = diag(α1 , α2 , α3 , α4 ). AX = b par la méthode de Gauss ordinaire en justiant pourquoi ceci est possible. 2. Donner alors la décomposition LU de A et en déduire la décomposition D = diag(U ). 3. a) Calculer l'inverse de la matrice L par deux méthodes diérentes. b) Vérier que V = ∆−1 Lt ∆ et en déduire V −1 . c) Pour αi = ia, i = 1, 2, 3, 4 et a ∈ R∗ , écrire A et calculer A−1 . A = LDV où 6.4. 83 EXERCICES Exercice 6.3. H On désire résoudre le système linéaire HX = K où K est un vecteur donné et est une matrice tridiagonale inversible. H= a1 b1 0 0 ... c2 a2 b2 0 ... 0 c3 a3 b3 ... ... ... ... ... ... 0 ... 0 0 0 ... 0 cn−1 an−1 0 cn k1 k2 .. . K= . .. . .. kn 0 0 , ... bn−1 an 1. En appliquant la méthode d'élimination de Gauss ordinaire (les pivots étant supposées tous non nuls), écrire la forme générale de la matrice triangulaire obtenue, ainsi que le vecteur constant. 2. Résoudre ce dernier système. Exercice 6.4. AX = b déni par : α 1 2 A = 1 3 1 α ∈ R et b ∈ R3 . 2 1 3 On considère le système 1. Pour quelles valeurs du paramètre α, la matrice α = 0. Quelle méthode directe AX = b? justier votre réponse. 2. On pose 3. On considère i) A est-elle symétrique dénie positive ? peut-on utiliser pour résoudre le système α = 1. Résoudre les systèmes linéaires 3 base canonique de R . AY [i] = ei (i = 1, 2, 3) où ei est le ième vecteur de la ii) Donner la décomposition LU de A, en justiant son existence. iii) En déduire A−1 puis U −1 . Exercice 6.5. Soit A = (aij )1≤i,j≤3 la matrice dénie par : aij = 1. Donner la décomposition R.Rt de i(4i + 5), 3 min(i, j), A i = j, si i 6= j. si à l'aide de l'algorithme de Cholesky en justiant son existence. 2. En déduire la solution du système AX = b où b = (1, 1, 0)t . 3. Comment peut-on résoudre, avec un minimum d'opérations, le système votre réponse. A2 X = b? Justier 84 CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES Méthodes itératives Exercice 6.6. 1 8 A= 0 1 2 1. A On considère la matrice et le vecteur 0 1 4 1 3 0 , par : 8 b= 1 8 0 b dénis 3 1 3 5 8 a) Résoudre le système AX = b par la méthode d'élimination de Gauss. b) En déduire le déterminant de A. c) Peut-on utiliser les méthodes LU et Cholesky pour retrouver la solution du système AX = b? 2. a) b) c) Ecrire le processus itératif de Jacobi correspondant au système Soit X = ( 12 , 0, 1)t , calculer chacun des cas en norme k.k∞ . (0) X (1) et X (2) . AX = b. Donner l'erreur absolue commise dans Etudier la convergence de cette méthode. 3. Peut-on réécrire le système (0) Jacobi ∀ X ∈ R3 ? AX = b de manière à assurer la convergence de la méthode de 4 3 2 A= 1 2 3 3 1 4 b= 0 1 Exercice 6.7. Soit le système linéaire 1. On note par d'ordre k (k) akk le pivot de la AX = b k ième où 2 2 3 et étape d'élimination de Gauss et A[k] 0 la sous matrice de A . i) Montrer l'équivalence : det(A[k] ) 6= 0, k = 1, ..., n ⇐⇒ a(k) kk 6= 0, k = 1, ..., n ii) Peut-on utiliser les méthodes LU et Cholesky pour résoudre le système AX = b? 2. On considère le processus itératif de Jacobi associé au système AX = b : X (k+1) = JX (k) + C. 3. i) Déterminer J et C . ii) Calculer le polynôme caractéristique P de J. iii) Séparer les racines de P. vi) Que peut-on dire sur la convergence de la méthode de Jacobi. i) Montrer que si tout coecient (αij ) de la matrice de Jacobi J n vérie X (0) ∈ Rn . linéaire d'ordre vecteur initial ii) : |αij | < associée à un système 1 , alors la méthode de Jacobi converge pour tout n En déduire que la méthode de Jacobi associée à la matrice bij = aij , 8aii , si si i 6= j; i = j, converge B = (bij )0≤i,j≤3 ∀X (0) ∈ R3 . où 6.4. 85 EXERCICES Exercice 6.8. I) Soit le système linéaire AX = b où A ∈ Mn (R) et b ∈ Rn . Montrer que si le processus itératif associé à ce système converge vers i) ii) X X (0) ∈ Rn , X (k+1) = BX (k) + C, k ≥ 0. la solution exacte du système kX − X (k) k∗ ≤ kBk∗ kX (k) 1−kBk∗ kX − X (k) k∗ ≤ − X (k−1) k∗ kBkk∗ kX (1) 1−kBk∗ − X (0) k∗ AX = b, alors ( estimation pas à pas ) ( estimation à priori ) (1) : Ax = b déni par 3 1 1 t A = 1 3 1 , et b = (4, 4, 2) . 1 1 3 II) Soit le système d'équations linéaires 1. Vérier que les processus itératifs de Jacobi et Gauss-Seidel associés au système linéaire 3 (1) convergent, quelque soit le vecteur initial de R . On désigne par X la solution exacte du système (1). 2. Dans cette partie, on considère la méthode de Jacobi associée au système (1) On pose a) b) c) d) X (0) ∈ R3 , X (k+1) = JX (k) + f, k ≥ 0, J où et f sont à déterminer X (0) = (0 2 0)t . Calculer X (2) kX (2) − Xk∞ . et estimer l'erreur Quel est le nombre susant d'itérations n1 à partir duquel on a : kX (n) − Xk∞ ≤ 10−2 ? (n) (n) (n) Montrer que : ∀ n ∈ N, x1 + x2 = 2 et x3 = 0. En déduire la solution exacte X du système (1). 3. Dans cette partie, on considère la méthode de Gauss-Seidel associée au système (1) On pose a) b) Y (0) ∈ R3 , Y (k+1) = GY (k) + g, k ≥ 0, où G et g sont à déterminer Y (0) = (0, 2, 0)t . Calculer Y (2) et estimer l'erreur kY (2) − Xk∞ . Quel est le nombre susant d'itérations kY (n) − Xk∞ ≤ 10−2 ? n1 à partir duquel on a 4. Commenter les résultats obtenus. Exercice 6.9. On considère la matrice A et le vecteur 1 1 1 A = 0 2 1 , 1 1 − 12 1. Résoudre le système AX = b b dénis par : 1 b= 1 0 par la méthode d'élimination de Gauss. 86 CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES 0 −1 −1 B = 0 0 − 12 2 2 0 2. Soit la matrice a) Quelle relation y-a-t-il entre les matrice A et B? Ecrire le processus itératif correspon- dant. b) Montrer que P (λ) = det(B − λI3 ) = −λ3 − 3λ + 1. c) Séparer graphiquement les racines de P et vérier 1 1 λ ∈ [ 10 , 3 ]. d) Comment peut-on déterminer l'approximation initiale exacte du système Exercice 6.10. P admet une racine séparée X (0) pour retrouver la solution que Conclure. AX = b (de la question 1) après une étape ? On considère le système d'équations linéaires (S) : Ax = b déni par 2 α 1 A = α 1 β , 1 β 2 1. a) b) P (λ) = det(J − λI3 ) Calculer α, β ∈ R∗ , où J P (−1) < 0 et étudier (0) tout choix de x ∈ R3 . Montrer que (S) pour c) où La matrice A vérient αβ = 1 et b ∈ R3 . est la matrice d'itération de Jacobi associée à A. la convergence de la méthode de Jacobi appliquée à peut-elle être une matrice D.D.S ? 2. On considère la méthode de Gauss-Seidel associée au système (S) Calculer G et g; X (0) ∈ R3 , X (k+1) = GX (k) + g. en déduire l'ensemble des valeurs de α, β pour lesquelles x(0) ∈ R3 . la méthode de Gauss-Seidel appliquée à (S) converge pour tout choix de Exercice 6.11. Ax = b déni b1 b2 b= b3 b4 Soit à résoudre le système d'équations linéaires β −1 0 0 −1 β −1 0 A= 0 −1 β −1 , 0 0 −1 β β ∈ R, par 1. Que peut-on dire de la convergence des méthodes de Jacobi et Gauss-Seidel sans calculer les matrices d'itération si (a) (b) β = 3; β = 2. 2. Dans le cas où β = 3, dénissons b =t (1, 0, 2, 28). i) Calculer la solution exacte du système Ax = b, en utilisant la méthode de Gauss. ii) Calculer les trois premiers itérés des méthodes de Jacobi et Gauss-Seidel en partant de x(0) =t (0, 0, 0, 0). iii) Comparer ces itérés à la solution exacte. les résultats sont-ils cohérents avec ceux de la question 1-(a). 6.4. 87 EXERCICES iv) S'il y a convergence des deux méthodes, déterminer celle qui converge le plus vite. Pourquoi ? Exercice 6.12. A On considère la matrice 1 A= 1 3 1 3 1 1 3 0 et le vecteur 0 1 3 , b dénis par : 0 b= 1 0 1 1. Vérier que les processus itératifs de Jacobi et de Gauss-Seidel associés au système linéaire AX = b convergent, pour tout vecteur initial de R3 . 2. On considère le processus itératif de Jacobi associé au système (1) : On pose a) X (0) ∈ R3 , X (k+1) = JX (k) + f, k ≥ 0, où J et f sont à déterminer . X (0) = 0R3 . Calculer X (2) et estimer l'erreur kX (2) − Xk1 , ρ(J) le rayon spectral de où X est la solution exacte du système (1). b) Calculer J. 3. On considère le processus itératif de Gauss-Seidel associé au système Y (0) ∈ R3 , Y (k+1) = GY (k) + g, k ≥ 0, où G et g AX = b sont à déterminer : . a) Calculer ρ(G) le rayon spectral de G. En déduire que ρ(G) = (ρ(J))2 . b) On pose Y (0) = 0R . Montrer que : ∀ k ∈ N, 3y3(k) + y2(k) = 0. c) En déduire la solution exacte X du système AX = b. Exercice 6.13. 1. Pour une matrice carrée quelconque A montrer que ρ(A) ≤ kAk pour toute 3 norme matricielle. 2. On suppose A 3. Soit symétrique dénie positive. Montrer que 1 α α A = α 1 α , α α 1 ρ(A) ≤ kAk2 . α ∈ R. a) Pour quelles valeurs de α la matrice A est-elle dénie positive ? b) Ecrire la matrice J de l'itération de Jacobi. c) Pour quelles valeurs de α la matrice de Jacobi converge-t-elle ? d) Ecrire la matrice J de l'itération de Gauss-Seidel. e) Calculer ρ(G). pour quelles valeurs de α cette méthode converge-t-elle plus vite que celle de Jacobi ? 88 CHAPITRE 6. RÉSOLUTION DES SYSTÈMES LINÉAIRES Chapitre 7 Calcul des valeurs et vecteurs propres d'une matrice 7.1 Position du problème une matrice carrée à coecients dans K (K = R ou C ). On cherche les valeurs et n ∗ vecteurs propres λ ∈ C, X ∈ (K ) (respectivement) de A tels que : Soit A λ valeur propre de A X Soit P vecteur propre de A le polynôme caractéristique de λ c'est à dire λ ⇐⇒ ∃ X ∈ (Kn )∗ : AX = λX. A. ⇐⇒ ∃λ ∈ C : AX = λX. Alors valeur propre de A ⇐⇒ P (λ) = det(A − λI) = 0, est une racine du polynôme caractéristique P. Les méthodes de recherche des valeurs et vecteurs propres sont classées en deux type : Méthodes directes : elles procèdent, généralement, en trois étapes principales : i) recherche des coecients de P, ii) calcul des racines de P, iii) obtention de vecteurs propres. Méthodes itératives : ce sont des méthodes qui ne consistent pas en la recherche du polynôme caractéristique P. 7.2 Méthodes directes P (λ) = det(A − λI) : n = 2, 3, 4, le déterminant d'une matrice est, relativement, facile à calculer manuellement. Pour n (assez) grand, il faut utiliser un ordinateur, qui fait l'évaluation du déterminant d'une matrice d'ordre n en coût de O(n!) (complexité exponentielle). Par exemple, si n = 20, un ordinateur très puissant mettra des années pour calculer det(A). 1. Calcul direct de Pour 2. Méthode de Krylov : Rappelons d'abord le théorème important suivant : Théorème 7.1. (Théorème de Cayley-Hamiltion) Si l'on note par ristique d'une martice carrée d'ordre n A. Alors 89 P (A) = 0Mn (K) . P (λ) le polynôme caracté- 90 CHAPITRE 7. On a CALCUL DES VALEURS ET VECTEURS PROPRES D'UNE MATRICE n n−2 P (λ) = (−1)n (λ r(A)λn−1 + αn−3 λn−3 . . . + det(A)) + αn−2 λ − Tn−1 P où α0 = det(A), αn−1 = −T r(A). = (−1)n λn + αk λk k=0 Cette méthode permet le calcul des coecients du polynôme P comme suit : D'une part, d'après le théorème précédent, on a n n P (A) = (−1) [A + n−1 X k n αk A ] = 0Mn (K) =⇒ A = k=0 D'autre part, soient Y0 βk Ak , où βk = −αk . k=0 Rn ,B β0 β2 . .. . βn−1 un vecteur non nul de B = [Y0 , AY0 , A2 Y0 , . . . , An−1 Y0 ], n−1 X et X= une matrice carrée d'ordre n dénie par : On trouve, BX = α0 Y0 + β1 A Y0 + . . . + βn−1 An−1 Y0 = n−1 X ! βk Ak Y 0 = An Y 0 . X qui contient les symétriques des coecients n système linéaire BX = b où b = A Y0 . Remarque 7.1. 1. Il faut choisir Y0 de sorte que B soit régulière. du polynôme k=0 C'est à dire le vecteur P vérie le 2. La résolution du système linéaire obtenu peut se faire par l'une des méthodes étudiées dans le chapitre précédent. Exemple 7.1. et b = A2 Y 0 = d'où Soient A= 1 2 3 4 , Y0 = 1 1 . Alors, B = [Y0 , AY0 ] = 1 1 3 , 7 17 . Donc le vecteur X = (β0 , β1 )t vériant le sysème linéaire 37 1 3 β0 17 β0 = 2 α0 = −2 = =⇒ =⇒ 1 7 β1 37 β1 = 5 α1 = −5 : P (λ) = λ2 − 5λ − 2. Remarque 7.2. D'autres méthodes de recherche des coecients de P existent(Faddeev, Lever- rier,. . . ), mais l'inconvénient des méthodes directes réside dans le fait qu'il faut chercher les racines de P, ce qui nécessite l'emploi de méthodes de résolution d'équations non linéaires. 7.3 Méthodes itératives 7.3.1 Méthode de la puissance itérée Cette méthode permet d'obtenir par itération la valeur propre de plus grand module d'une ma- A ainsi que le vecteur propre correspondant. Soit A une matrice réelle d'ordre n. On suppose, pour simplier, que toute les valeurs propres λ1 , . . . , λn de A sont distinctes, de sorte que les vecteurs propres correspondants V1 , . . . , Vn n forment une base de R . Posons trice |λ1 | > |λ2 | ≥ . . . ≥ |λn | (i.e. λ1 ∈ R). 7.3. 91 MÉTHODES ITÉRATIVES Soit X (0) Rn∗ , un vecteur quelconque dans alors ∃ αi ∈ R, i = 1, n tel que X (0) = n X αi Vi . i=1 Appliquons la matrice A au vecteur X (0) , AX (0) = on obtient n X αi AVi = n X i=1 Appliquons de nouveau αi λi Vi . i=1 A 2 AX (0) = n X 2 αi A Vi = i=1 n X αi λ2i Vi , i=1 et ainsi de suite, on aura Ak X (0) = n P αi λki Vi αi λki Vi = α1 λk1 V1 + i=2 i=1 k n P k = λ1 α1 V1 + αi λλ1i Vi . n P i=2 n P k λi λ1 Vi tend vers α1 V1 . αi i=2 Par conséquent, au bout d'un nombre susamment grand d'itérations, on peut écrire On voit que lorsque k tend vers +∞, α1 V1 + X (k) = Ak X (0) ' λk1 α1 V1 , d'où à l'itération suivante : (k) X (k+1) = AX (k) = Ak+1 X (0) ' λk+1 · 1 α1 V1 ' λ1 X Par conséquent, |λ1 | ' kX (k+1) k · kX (k) k En pratique, on utilise cette procédure comme suit : Dans le but d'éviter la manipulation (éventuelle) de nombres assez grands, on a intérêt à nor(k) maliser chaque vecteur X pour k ≥ 1, c'est à dire qu'on n'applique pas la matrice A au (k) (k) X (k) (k) vecteur X , mais au vecteur Y (k) = kX (k) k . Donc si on suppose que |xp | = max |xi |, i ième (k) la p composante de Y vaut 1, ième ième (k) la valeur propre λ1 estimée à la k itérations est la p composante du vecteur X . ième quand k est assez grand et la p composante de V1 est non nulle, on aura En eet ; (k+1) xp (k) xp ' λk+1 1 α1 v1,p = λ1 . λk1 α1 v1,p 92 CHAPITRE 7. CALCUL DES VALEURS ET VECTEURS PROPRES D'UNE MATRICE L'algorithme relatif à la méthode de la puissance itérée se présente comme suit : 1. Etant données 2. On pose (0) (0) A, X (0) = (x1 , . . . , xn ) Y (0) = X (0) , pour (k ≥ 1), vecteur arbitraire dans on calcule le vecteur Rn∗ , une précision sur (k) (k) X (k) = (x1 , . . . , xn ) λ. tel que X (k) = A Y (k−1) , puis le vecteur (k) x1 ,..., (k) xp Y (k) = (k) xn (k) xp ! , (k) |xp(k) | = max |xi |. où i Alors, (k) λ1 = x(k) p et (k) V1 = Y (k) . 3. Répéter l'étape (2) tant que (k) (k−1) |λ1 − λ1 | ≥ . 4. λ1 ' x̃p(k) Remarque 7.3. matrice A−1 , et V1 ' Ỹ (k) . Lorsque l'algorithme de la méthode de la puissance itérée est appliqué à la il détermine la plus petite valeur propre de A, c'est la méthode de la puissance itérée inverse. Exemple 7.2. Soit 1 1 0 A= 0 2 0 0 −1 3 A sont λ1 = 3, λ2 = 2, λ3 = 1 et les vecteurs propres correspondants sont V1 = (0, 0, 1), V2 = (1, 1, 1) et V3 = (1, 0, 0). Montrons que la méthode de (0) la puissance permet de recalculer λ1 et V1 . Posons X = (0, 1, 0) =⇒ Y (0) = (0, 1, 0) alors Les valeurs propres de la matrice X (1) = AY (0) = (1, 2, −1) =⇒ p = 2, λ(1) = 2 et 1 −1 Y (1) = ( , 1, ) 2 2 −5 −5 −3 −4 3 (2) X (2) = AY (1) = ( , 2, ) =⇒ p = 3, λ(2) = et Y =( , , 1) 2 2 2 5 5 19 −7 −8 −7 −8 19 (3) , ) =⇒ p = 3, λ(3) = et Y =( , , 1) X (3) = AY (2) = ( , 5 5 5 5 19 19 −15 −16 65 65 −15 −16 (4) X (4) = AY (3) = ( , , ) =⇒ p = 3, λ(4) = et Y =( , , 1) 19 19 19 19 65 65 −31 −32 211 211 −31 −32 (4) X (5) = AY (4) = ( , , ) =⇒ p = 3, λ(5) = et Y =( , , 1) 65 65 65 65 211 211 −63 −64 665 665 −63 −64 (4) X (6) = AY (5) = ( , , ) =⇒ p = 3, λ(6) = et Y =( , , 1). 211 211 211 211 665 665 Remarquons que la suite Remarque 7.4. (λ(k) ) converge vers λ1 = 3 et (Y (k) ) Si on choisit un vecteur propre de la matrice converge vers A V1 = (0, 0, 1). comme vecteur initial la méthode, on risque de ne pas avoir la plus grande des valeurs propres. X (0) de 7.3. 93 MÉTHODES ITÉRATIVES 7.3.2 Méthode de Rutishauser Principe de la méthode : Construction d'une suite de matrices semblables à A, et qui converge vers une matrice triangulaire (ou diagonale si Rappels : B est dite semblable B = P −1 AP. 1. Une matrice telle que : A est symétrique). à une matrice A, si elle existe une matrice inversible P 2. Deux matrices semblables ont mêmes valeurs propres. 3. Les valeurs propres d'une matrice triangulaire (ou diagonale) sont situées sur sa diagonale. 4. Une matrice A est dite diagonalisable si toutes les valeurs propres de cette matrice sont simples. 5. Si toutes les sous matrices principales d'une matrice pose sous la forme A = LU où L A sont inversibles, alors elle se décom- est triangulaire inférieure unitaire et U est triangulaire supérieure. La méthode de Rutishauser utilise cette décomposition plusieurs fois de suite. On supposera, dans le cadre de cette méthode, que toutes les décompositions Soit A2 LU sont possibles. A1 = A = LU = L1 U1 , est calculée comme suit : de même : A3 = U2 L2 , A2 = U1 L1 , qu'on décompose encore en qu'on décompose encore en et ainsi de suite, on obtient une suite de matrices A1 = A = L1 U1 , Ak+1 = Uk Lk , qu'on A3 = L 3 U 3 , (Ak )k∈N∗ dénie décompose encore en A2 = L2 U2 , par : Ak+1 = Lk+1 Uk+1 . Réécrivons −1 A2 = U1 L1 = (L1−1 L1 )U1 L1 = L−1 1 (L1 U1 )L1 = L1 A1 L1 , ce qui implique que A2 est semblable à A. De plus, on a −1 Ak+1 = Uk Lk = L−1 k (Lk Uk )Lk = Lk Ak Lk , et −1 −1 −1 Ak+1 = L−1 k (Lk Uk )Lk = Lk (Uk−1 Lk−1 )Lk = Lk Lk−1 Ak−1 Lk−1 Lk , donc de proche en proche, on obtient −1 −1 −1 Ak+1 = L−1 k Lk−1 . . . L2 L1 A L1 L2 . . . Lk−1 Lk . Lk = L1 L2 . . . Lk , alors on a Lk et L−1 sont des matrices k −1 ∗ unitaires pour tout k ∈ N et Ak+1 = Lk ALk . Donc d'une part, on a Ak est semblable à A pour tout k ≥ 2, Posons triangulaires inférieures et d'autre part, lim Ak = lim L−1 AL, k→+∞ où L et L−1 k→+∞ (7.1) sont des matrices triangulaires inférieures unitaires. P −1 AP = D où D est ∗ une matrice diagonale, alors on a Ak est semblable à A pour tout k ∈ N et A est semblable à D, ce qui entraîne que Ak est semblable à D, ∀ k ∈ N∗ . Faisons tendre k vers +∞, elle existe une matrice Q inversible telle que Or si A est diagonalisable, elle existe une matrice P inversible telle que lim Ak = Q−1 DQ = Q−1 P −1 AP Q = (P Q)−1 AP Q. k→+∞ 94 CHAPITRE 7. CALCUL DES VALEURS ET VECTEURS PROPRES D'UNE MATRICE D'après (7.1), on tire que les matrices (Ak )k∈N∗ P et Q sont triangulaires, ce qui implique que la suite converge vers une matrice triangulaire, elle a donc les mêmes valeurs propres que et donc que D A. Dans la pratique, on se donne (très petit>0) puis on construit la suite ∃ k0 ∈ N∗ tel que Ak0 soit approximativement triangulaire à près. (Ak ) jusqu'à ce que Chapitre 8 Résolution des équations non linéaires 8.1 Position du problème f : [a, b] ⊆ R −→ R une fonction au moins continue c'est à dire les points x ∈ [a, b] tels que f (x) = 0. Soit sur [a, b]. On cherche les racines de f Ce problème est important en particulier en optimisation où l'on cherche à minimiser (ou maximiser) une fonction, car on cherche les points où la dérivée s'annule. f (a).f (b) < 0, alors par le théorème des valeurs intermédiaires, il existe au moins une racine α de f dans l'intervalle [a, b]. Si de plus, f est strictement monotone alors f est une bijection et cette racine α est unique dans [a, b]. Nous supposerons que α est l'unique racine de f dans l'intervalle [a, b]. En général, les méthodes de résolution numérique de f (x) = 0 sont des méthodes itératives. Elles consistent à construire une suite (xn )n convergente (le plus rapidement possible) vers α. Si 8.1.1 Séparation des racines La plupart des méthodes de résolution nécessitent la séparation des racines, c'est à dire celles qui consistent en la détermination d'un (ou des) intervalle(s) fermé(s) et borné(s) de le(s)quel(s) f [a, b] dans admet une et une seule racine. La séparation des racines s'eectue, en général, en utilisant deux types de méthodes : i.Méthode graphique : Soit le graphe de la fonction f on trace (expérimentalement ou par étude de variations de f) et on cherche son intersection avec l'axe (Ox). Soit on décompose f en deux fonctions f1 et f2 simples à étudier, telles que f = f1 −f2, et on cherche les points d'intersection des graphes de les racines de f1 et f2 , dont les abscisses sont exactement f. Remarque 8.1. On choisit souvent f1 et f2 de façon que leurs courbes soient des courbes connues. Exemple 8.1. La fonction f f (x) = ln x − x1 , x ∈]0, +∞[ a f1 (x) = ln x et f2 (x) = x1 . Alors dénie par : 5 5 dans l'intervalle [ 4 , 2 ]. En eet ; posons f (x) = 0 ⇔ f1 (x) = f2 (x) et d'après le graphe 5 5 G(f1 ) ∩ G(f2 ) = (α, f (α)), α ∈ [ , ] . 4 2 95 une racine unique 96 CHAPITRE 8. ii. Méthode de balayage : valeurs de x existe entre RÉSOLUTION DES ÉQUATIONS NON LINÉAIRES réparties sur l'intervalle xi et xi+1 {xi , i = 0, 1, . . . , n} de f (xi )f (xi+1 ) < 0, alors il On considère une suite croissante nie [a, b]. Si f au moins une racine de est continue et f (c'est le théorème des valeurs intermé- diaires). Exemple 8.2. P déni par : P (x) = x4 − x3 − x2 + 7x − 6 a au moins deux racines réelles α1 ∈] − 3, −1[, α2 ∈]0, 2[ car : P (−4) = 270, p(−3) = 72, P (−1) = −12, P (0) = −6, P (2) = 12 et P (3) = 60, . . . , ect. Le polynôme 8.2 Méthode de dichotomie (ou de la bissection) f : R → R. S'il racine α de f dans Cette méthode est utilisée pour approcher les racines d'une fonction continue existe a, b (a < b) avec f (a)f (b) < 0, on sait alors qu'il existe au moins une 0 · ]a, b[. Posons a0 = a, b0 = b, I0 =]a0 , b0 [ et x0 = a0 +b 2 n ≥ 1, on choisit le sous-intervalle In =]an , bn [ de l'intervalle ]an−1 , bn−1 [ l'intervalle Pour de la façon suivante : a) posons xn−1 = a +b , 2 b) si f (xn−1 ) = 0, alors α = xn−1 et la méthode est terminée, c) si f (xn−1 ) 6= 0, alors i) si f (an−1 ).f (xn−1 ) < 0, alors α ∈]an−1 , xn−1 [ et on pose an = an−1 , bn = xn−1 ; ii) si f (xn−1 ).f (bn−1 ) < 0, alors α ∈]xn−1 , bn−1 [ et on pose an = xn−1 , bn = bn−1 ; d) on dénit l'intervalle In =]an , bn [; on augmente n de 1 et on recommence du point a). n−1 n−1 On obtient donc une suite de valeurs approchées de x0 = α: a0 + b 0 a1 + b 1 an + b n , x1 = , . . . , xn = ,... 2 2 2 telle que |xn − α| ≤ b−a · 2n+1 (8.1) Exercice 8.1. Retrouver l'inégalité (8.1). Remarque 8.2. L'inégalité (8.1) nous permet d'estimer le nombre susant d'itérations n pour approcher à n. α avec une précision donnée , b−a il sura de résoudre l'inégalité : 2n+1 ≤ par rapport 8.3. 97 MÉTHODE DU POINT FIXE (DES APPROXIMATIONS SUCCESSIVES) 8.3 Méthode du point xe (des approximations successives) On suppose que f ne possède qu'une seule racine, notée α, dans [a, b]. Principe de la méthode des approximations successives : On remplace l'équation f (x) = 0 par une équation équivalente x = φ(x) où φ est continue, et on construit la suite récurrente dénie par avec l'espoir que la suite (xn ) x0 xé dans [a, b]; xn+1 = φ(xn ), n ≥ 0, converge vers la solution Interprétation géométrique : Chercher α (8.2) du problème posé. α tel que f (α) = 0 revient à chercher l'intersection du graphe de f avec l'axe des α tel que φ(α) = α revient à chercher l'intersection du graphe de f avec la droite abscisses. Chercher y = x, c'est à dire à trouver le point xe de φ, d'où le nom de la méthode. Exemples : On peut remplacer l'équation f (x) = 0 par l'équation x = x − f (x) = φ(x) ou par x=x− f (x) a = φ(x), a 6= 0. Questions : La suite (xn )n converge-t-elle ? Si oui, converge-t-elle vers α? α, à quelle vitesse α? xn ∈ [a, b], ∀ n ∈ N. En eét ; Question d'analyse numérique : s'il y a convergence vers converge-t-on ? Peut-on estimer l'erreur commise sur l'approximation de La réponse à la deuxième question est oui, si Soit x = lim xn . n→+∞ Alors comme φ est continue on a xn+1 = φ(xn ) ↓ ↓ x = φ(x) (xn )n vérie x = φ(x), et si x ∈ [a, b] on obtient x = α. (xn )n converge vers α, il sut que (xn ) converge et que xn ∈ [a, b], ∀ n ∈ N. donc la limite de Donc pour que Dénition 8.1. Soit I un sous-intervalle de R et φ : I −→ I une application continue. 98 CHAPITRE 8. 1. On dit que α∈I 2. On dit que φ RÉSOLUTION DES ÉQUATIONS NON LINÉAIRES est un point xe de est contractante si c'est à dire s'il existe K ∈]0, 1[ φ φ dans I si φ(α) = α. est Lipschitzienne du rapport K avec 0 < K < 1, tel que ∀ x, y ∈ I, |φ(x) − φ(y)| ≤ K|x − y|. Théorème 8.1. 1. φ Soit φ : [a,b] ⊂ R −→ [a,b] admet un point xe unique 2. La suite dénie par : une application contractante. Alors α ∈ [a, b]. xn+1 = φ(xn ), n ≥ 0 converge vers α, ∀ x0 ∈ [a, b], et on a l'estimation suivante de l'erreur Kn |x1 − x0 | 1−K |α − xn | ≤ où K (8.3) est la constante de Lipschitz. i. Existence : on a |xn+1 − xn | ≤ K n |x1 − x0 |, ∀ n ∈ N. En eet ; puisque xi+1 − xi = φ(xi ) − φ(xi−1 ), i = 1, . . . , n et φ est K − Lipschitzienne, alors Démonstration. |xn+1 − xn | ≤ K|xn − xn−1 | ≤ K 2 |xn−1 − xn−2 | ≤ . . . ≤ K n |x1 − x0 |. D'où, ∀ n, p ∈ N on aura |xn+p − xn | ≤ ≤ = = ≤ |xn+p − xn+p−1 | + |xn+p−1 − xn+p−2 | + . . . + |xn+1 − xn | (K n+p−1 + K n+p−2 + . . . + K n ) |x1 − x0 | K n (1 + K + K 2 + . . . + K p−1 ) |x1 − x0 | p K n 1−K |x1 − x0 | ( car : 1 − K p < 1) 1−K n K |x − x0 | −→ 0 quand n → +∞ ( car : 0 < K < 1). 1−K 1 La suite (xn )n est donc de Cauchy dans R, donc convergente dans R (car R est complet). Soit α la limite de cette suite ; par continuité de φ, φ(α) = α, d'où l'existence du point xe. De plus, si on xe n et en faisant tendre p vers +∞ on obtient |α − xn | ≤ ii. Unicité : Kn |x1 − x0 |. 1−K soient α1 et α2 , deux points xes de φ. On a : |α1 − α2 | = |φ(α1 ) − φ(α2 )| ≤ K|α1 − α2 |, et par suite, K < 1 =⇒ α1 = α2 . Remarque 8.3. 1. φ est contractante sur 2. Plus la constante de Lipschitz K [a, b] =⇒ φ est continue sur [a, b]. est petite, plus la convergence est rapide. 3. Dans la pratique, il faut d'abord déterminer l'intervalle sur lequel la fonction tante (si elle l'est !) puis éventuellement le réduire pour que 4. L'inégalité (8.3) nous permet d'estimer le nombre susant d'itérations avec une précision donnée, il sura de prendre n= ln (1−K) |x1 −x0 | ln K + 1. φ est contrac- φ([a, b]) ⊂ [a, b]. n pour approcher α 8.3. 99 MÉTHODE DU POINT FIXE (DES APPROXIMATIONS SUCCESSIVES) −xn | xn+1 = φ(xn ) si l'erreur relative |xn+1 ≤ 0 |xn+1 | l'erreur absolue |xn+1 − xn | ≤ lorsque xn+1 ' 0). 5. En pratique, on arrête le processus la précision relative, (ou si Il est important d'avoir un critère pratique assurant qu'une fonction φ où 0 est est contractante (Lip- 0 < K < 1). Proposition 8.1. Soit φ une fonction dérivable sur [a, b] ⊂ R. 0 Si |φ (x)| ≤ K ∀ x ∈ [a, b], alors φ est K−Lipschitzienne sur [a, b]. schitzienne, avec Soient x, y ∈ [a, b]. Puisque [x, y] ⊆ [a, b], on a Z y Z 1 0 φ(y) − φ(x) = φ (s)ds = φ0 (x + t(y − x))(y − x)dt ( posons s = x + t(y − x)) Démonstration. x 0 donc, |φ(y) − φ(x)| = ≤ R1 R 10 0 φ0 (x + t(y − x))(y − x)dt |φ0 (x + t(y − x))||(y − x)|dt ≤ K|y − x|. Ou bien, on utilise la formule des accroissements nis : φ(y) − φ(x) = φ0 (ξ)(y − x), où ξ ∈]x, y[, donc |φ(y) − φ(x)| = |φ0 (ξ)||y − x| ≤ K|y − x|. Remarque 8.4. 1. Si f ∈ C 1 ([a, b]), max |φ0 (x)| < 1 =⇒ φ x∈[a,b] alors est contractante sur [a, b] avec K = max |φ0 (x)|. x∈[a,b] 2. Cette proposition est bien utile car il est beaucoup plus facile de regarder le max de de vérier que 3. Attention : φ φ0 que est contractante. φ(x) = x + x1 |φ0 (x)| < 1, ∀ x ∈ [1, +∞[ mais sup |φ0 (x)| = 1 pour soit la fonction x ≥ 1. On a φ0 (x) = 1 − 1 , alors x2 et x≥1 |φ(x) − φ(y)| < |x − y|. x = φ(x) ⇔ x1 = 0! Proposition 8.2. L'image d'un intervalle fermé borné [a, b] par une fonction intervalle fermé borné. Autrement dit : si φ est continue sur [a, b] alors Pourtant φ n'a pas de point xe, en eet φ([a, b]) = [m, M ] où m = min φ(x) x∈[a,b] et continue est un M = max φ(x). x∈[a,b] De plus, =⇒ φ([a, b]) = [φ(a), φ(b)]. 2. est décroissante =⇒ φ([a, b]) = [φ(b), φ(a)]. Proposition 8.3. Soit φ une fonction continue au voisinage de α tel que φ(α) = α. 0 1. Si |φ (α)| < 1, alors il existe un intervalle [a, b] contenant α pour lequel la suite (xn )n dénie par (8.2) converge vers α, ∀ x0 ∈ [a, b] 0 2. Si |φ (α)| > 1, alors pour tout intervalle réel [a, b] contenant α, soit ∀ x0 ∈ [a, b] (x0 6= α), la suite (xn)n dénie par (8.2) ne converge pas vers α (on dit que la suite (xn ) diverge), soit elle est stationnaire en α à partir d'un certain rang. On dit alors de α qu'il est un point xe répulsif. 1. φ φ est croissante 100 CHAPITRE 8. RÉSOLUTION DES ÉQUATIONS NON LINÉAIRES Etude de quelques cas (suivant φ) Les exemples qui suivent montrent que les transformations en x = φ(x) aboutissent à des com- portements diérents : 1. Si f (x) = x2 + 3ex − 12 = 0, on peut l'écrire sous les diérentes formes : ♣ x = x + f (x) = φ1 (x), x ∈ R. ♣ x = x − f (x) = φ2 (x), x ∈ R. √ ♣ x = 12 − 3ex = φ3 (x), x ≥ ln 4. √ √ 2 ♣ x = ln( 12−x ) = φ4 (x), −2 3 < x < 2 3. 3 f (x) = tan x − x. Cette fonction admet une seule l'équation f (x) = 0 sous les deux formes suivantes : a) x = tan x = φ1 (x) et b) x = arctan x = φ2 (x). 2. Soit Cas a) : ], |φ01 (x)| = 1 + tan2 x > 1, ∀ x ∈ [π, 3π 2 racine α dans [π, 3π ]. 2 On peut écrire alors la méthode du point xe correspondante diverge. Cas b) : la 1 3π |φ02 (x)| = 1+x 2 < 1, ∀ x ∈ [π, 2 ], alors 3π fonction φ2 est contractante sur [π, 2 ]. f (x) = x2 − 6x + 8 = 0. Cette fonction admet deux racines : α1 = 2 On peut écrire l'équation f (x) = 0 sous les deux formes suivantes : √ 2 i) x = x 6+8 = φ1 (x) et ii) x = 6x − 8 = φ2 (x). 3. Soit Cas i) : |x| < 1 =⇒ |x| < 3, alors 3 la méthode du point xe correspondante converge vers [a, b] = [1, 25 ]. 3 |φ02 (x)| = | √6x−8 | < 1 =⇒ x > 17 ' 2.82, alors 6 la méthode du point xe correspondante converge vers et α2 = 4. |φ01 (x)| = α1 = 2 si on prend, par exemple α2 = 4 si on prend, par exemple Cas ii) : [a, b] = [3, 5]. Interprétation géométrique φ0 (α) < 1 8.3. 101 MÉTHODE DU POINT FIXE (DES APPROXIMATIONS SUCCESSIVES) φ0 (α) > 1 −1 < φ0 (α) < 0 8.3.1 Ordre de convergence d'une méthode itérative En plus de la convergence d'une méthode itérative xn+1 = φ(xn ), x0 donné ; il est important de connaître la rapidité de cette convergence. On souhaite savoir la relation entre l'erreur d'approximation d'une étape Dénition 8.2. n et celle de l'étape (n + 1), Une méthode itérative dénie par ceci nous conduit à la dénition suivante : xn+1 = φ(xn ) est d'ordre p ssi ∃ k ∈ R∗+ telles que |en+1 | |xn+1 − α| = lim = k, p n→+∞ |en |p n→+∞ |xn − α| lim où le terme en = xn − α Dans le cas où φ est p est l'erreur à l'étape fois dérivables sur xn+1 − α = φ(xn ) − φ(α) = (xn − α)φ0 (α) + avec lim n (xn − α) = 0. n→+∞ n. [a, b], (xn −α)2 00 φ (α) 2! le développement de Taylor autour de + ... + (xn −α)p (p) φ (α) p! α donne : + (xn − α)p n (xn − α), 102 CHAPITRE 8. RÉSOLUTION DES ÉQUATIONS NON LINÉAIRES φ0 (α) 6= 0, on obtient xn+1 −α ≈ φ0 (α)(xn −α) ((xn −α)a , a ≥ 2 | α) quad n grand), d'où lim |e|en+1 = |φ0 (α)| = 6 0 =⇒ p = 1. n| Si est assez petit devant (xn − n→+∞ Si 0 φ (α) = 0 00 φ (α) 6= 0, et on obtient xn+1 − α ≈ (xn −α)2 00 φ (α), d'où 2 |en+1 | 1 6 0 =⇒ p = 2. = |φ00 (α)| = 2 n→+∞ |en | 2 lim La méthode est dite d'ordre (p) p si et seulement si φ0 (α) = φ00 (α) = . . . = φ(p−1) (α) = 0 et φ (α) 6= 0. Remarque 8.5. Si p = 1, la convergence est dite linéaire. Ce qui est le cas général des méthodes d'aproxima- tions successives. Si Si p = 2, p = 3, la convergence est dite quadratique. la convergence est dite cubique. Ordre et rapidité de convergence. Supposons qu'on a deux méthodes telles que : |xn+1 −α| |xn −α| |xn+1 −α| Méthode (2) : |x −α|2 n Méthode (1) : Méthode (1) : = 0.75. = 0.75. |xn+1 − α| = 0.75|xn − α| = (0.75)2 |xn−1 − α| = ... = (0.75)n |x0 − α|. Méthode (2) : |xn+1 − α| = 0.75|xn − α|2 = (0.75)(0.75|xn−1 − α|2 )2 = (0.75)3 |xn−1 − α|4 = (0.75)2 Question : n+1 −1 |x0 − α|2 n+1 . Quel est pour chacune des deux méthodes, le nombre minimal d'itérations pour ≤ 10−8 , en supposant que |x0 − α| = 0.5 n −8 méthode (1) : |xn+1 − α| = (0.75) |x0 − α| ≤ 10 ⇒ n ≥ 62. 2n+1 −1 2n+1 méthode (2) : |xn+1 − α| = (0.75) |x0 − α| ≤ 10−8 ⇒ n ≥ 4. ? avoir une erreur Donc la deuxième méthode converge plus rapidement que la première. D'où, plus l'ordre p est grand, plus vite l'erreur décroît. 8.4. MÉTHODES DE TYPE XN +1 = φ(XN ) = XN − F (XN ) G(XN ) 103 (xn ) 8.4 Méthodes de type xn+1 = φ(xn) = xn − fg(x n) Dans cette catégorie de méthodes, certaines conditions sur g, φ (x) φ(x) = x − fg(x) . racine de f. a la forme particulière un point xe α de φ est une Il est clair que, sous 8.4.1 Méthode de Newton-Raphson (méthode de la tangente) La méthode de Newton-Raphson est une méthode de type point xe pour la fonction φ(x) = x − Supposons qu'on a déterminé un intervalle [a, b] f (x) · f 0 (x) dans lequel f admet une racine séparée α. Interprétation géométrique Graphiquement la méthode de Newton-Raphson fonctionne comme suit : à partir d'un point tangente de graphe x0 bien choisi dans [a, b], x1 est l'abscisse du point d'intersection de f au point (x0 , f (x0 )) avec l'axe des abscisses. D'où f 0 (x0 ) = −f (x0 ) f (x0 ) 0 − f (x0 ) = =⇒ x1 = x0 − 0 ( x1 − x0 x1 − x0 f (x0 ) en répétant le processus sur Les points (xn )n∈N x1 on obtient un point x2 , si f 0 (x0 ) 6= 0), et ainsi de suite. vérient donc la relation de récurrence : xn+1 = xn − f (xn ) , n ≥ 0, f 0 (xn ) 1 c'est la formule de Newton-Raphson la plus utilisée dans la recherche des racines de Théorème 8.2. Soit f ∈ C 2 ([a, b]) vériant 1. f (a).f (b) < 0; 2. f 0 (x) 6= 0 ∀ x ∈ [a, b], ( c.à.d : 3. f 00 (x) 6= 0 ∀ x ∈ [a, b], ( c.à.d :f 1 Joseph Raphson 1648-1715 f0 ne change pas de signe dans [a, b]) ; 00 ne change pas de signe dans [a, b]). f. de la 104 CHAPITRE 8. RÉSOLUTION DES ÉQUATIONS NON LINÉAIRES Alors a) b) f admet une racine unique dans la suite (xn )n converge vers [a, b], α ∀x0 ∈ [a, b] vériant f (x0 )f 00 (x0 ) > 0. De plus, cette conver- gence est quadratique tel que xn+1 − α f 00 (α) · = n→+∞ (xn − α)2 2f 0 (α) lim Démonstration. a) D'après le théorème des valeurs intermédiaires, les conditions (1) et (2) impliquent l'existence et l'unicité de α ∈ [a, b] telle que f (α) = 0. b) Montrons la convergence de (xn )n vers α. i) Etudions la bornitude de la suite (xn )n On a xn+1 = xn − xn+1 − α = xn − α − = xn − α + f (xn ) f 0 (xn ) f (α)−f (xn ) f 0 (xn ) f (xn ) , f 0 (xn ) alors (f (α) = 0). (1) Le développement de Taylor de f au voisinage de xn à l'ordre 2 donne f (α) = f (xn ) + (α − xn )f 0 (xn ) + (α − xn )2 00 f (ξn ), min(xn , α) ≤ ξn ≤ max(xn , α). 2! En substituant l'expression de f (α) dans (1), on obtient (α−x )2 xn+1 − α = xn − α + = n f (xn )+(α−xn )f 0 (xn )+ 2! 0 f (xn ) f 00 (ξn )−f (xn ) (α−xn )2 f 00 (ξn ) · 2! f 0 (xn ) D'où les deux cas suivants : 1. f 0 et f 00 sont de même signe =⇒ xn+1 > α, ∀ n ∈ N, c.à.d. (xn ) est minorée par α. 2. f 0 et f 00 sont de signes diérents =⇒ xn+1 < α, ∀ n ∈ N, c.à.d. (xn ) est majorée par α. ii) Etudions la monotonie de la suite (xn )n∈N . On distingue quatre cas : Cas (1) Cas (2) Cas (3) Cas (4) Cas (1) f 0 (x) > 0 et f 00 (x) > 0 ∀x ∈ [a, b]. f 0 (x) > 0 et f 00 (x) < 0 ∀x ∈ [a, b]. f 0 (x) < 0 et f 00 (x) < 0 ∀x ∈ [a, b]. f 0 (x) < 0 et f 00 (x) > 0 ∀x ∈ [a, b]. Soit f 0 (x) > 0 et f 00 (x) > 0, ∀x ∈ [a, b], alors xn > α, ∀ n ∈ N. Supposons que x0 est choisi de sorte que f (x0 ).f 00 (x0 ) > 0 et montrons que (xn )n est décroissante. On raisonne par récurrence : Pour n = 0 : x1 = x0 − ff0(x(x00)) ⇒ x1 − x0 = − ff0(x(x00)) < 0; en eet on choisit x0 tel que f (x0 ) > 0 car f 00 (x0 ) > 0. Donc x1 − x0 < 0 ⇒ x1 < x0 . Pour n ∈ N∗ : xn+1 − xn = − ff0(x(xnn)) < 0; en eet xn > α, ∀ n ∈ N∗ ⇒ f (xn ) > f (α) = 0, ∀ n ∈ N∗ , f croissante sur [a, b] 8.4. MÉTHODES DE TYPE XN +1 = φ(XN ) = XN − F (XN ) G(XN ) 105 donc xn+1 − xn < 0 ⇒ xn+1 < xn ∀ n ∈ N∗ . Conclusion ∀ n ∈ N, xn+1 < xn , donc la suite (xn )n∈N est décroissante minorée, d'où elle est convergente. Cas (2) Soit f 0 (x) > 0 et f 00 (x) < 0, ∀x ∈ [a, b], alors xn < α, ∀ n ∈ N. Supposons que x0 est choisi de sorte que f (x0 ).f 00 (x0 ) > 0 et montrons que (xn )n est croissante. Pour n = 0 : x1 = x0 − ff0(x(x00)) ⇒ x1 − x0 = − ff0(x(x00)) >; en eet, on choisit x0 tel que f (x0 ) < 0 car f 00 (x0 ) < 0. Donc x1 − x0 > 0 ⇒ x1 > x0 . Pour n ∈ N∗ : xn+1 − xn = − ff0(x(xnn)) > 0; en eet, xn < α, ∀ n ∈ N∗ ⇒ f (xn ) < f (α) = 0, ∀ n ∈ N∗ , f croissante sur [a, b] donc xn+1 − xn > 0 ⇒ xn+1 > xn ∀ n ∈ N∗ . Conclusion ∀ n ∈ N, xn+1 > xn , donc la suite (xn )n∈N est croissante majorée, d'où elle est convergente. De la même manière on traite les deux autres cas. Commentaires : seulement la suite Il est très important de choisir (xn )n∈N x0 aussi proche que possible de α, sinon, non peut converger vers une autre racine, mais peut aussi diverger. Conclusion sur la méthode de Newton-Raphson 1. Avantage principal : en règle générale, la convergence de cette méthode (si elle a lieu) |xn+1 − α| = k|xn − α|2 , k ∈ R, |xn+1 − α| = k|xn − α|, k ∈ R). est quadratique (d'ordre 2) telle que quelconque est, en général, d'ordre 1 2. Inconvénients : a) b) x0 pour 0 de f (xn ) choix du point de départ avoir la convergence, calcul, à chaque étape, en plus de (celle du point xe f (xn ). 8.4.2 Méthode de la sécante Dans certaines situations, la dérivée de f0 est très compliquée ou même impossible à expliciter. On ne peut pas alors utiliser telle qu'elle la méthode de Newton-Raphson. L'idée est de remplacer f 0 par le taux d'accroissement de f sur un petit intervalle [xn−1 , xn ] : xn+1 = xn − f (xn ) Remarque 8.6. xn − xn−1 , n ≥ 1. f (xn ) − f (xn−1 ) On notera que l'algorithme itératif ne peut démarrer que si on dispose déjà de deux valeurs approchées x 0 , x1 de α. 8.4.3 Méthode de la corde Cette méthode est obtenue en remplaçant f 0 (xn ) par une constante Q xée dans la formule de Newton-Raphson : xn+1 = xn − On peut prendre par exemple racine dans l'intervalle [a, b]. Q = f 0 (x0 ), f (xn ) , n ≥ 0. Q ou bien Q= f (b)−f (a) , dans le cas où l'on cherche une b−a 106 CHAPITRE 8. RÉSOLUTION DES ÉQUATIONS NON LINÉAIRES 8.5 Conclusion 1. L'avantage de la méthode du point xe est que si elle converge, elle convergera quelle que soit la valeur initiale choisie dans l'intervalle de convergence. Son inconvénient principal est sa lenteur de convergence, on peut néanmoins l'accélérer. 2. La méthode de Newton-Raphson est plus rapide car la vitesse de convergence est d'ordre au moins 2 ; la diculté réside dans le choix de la valeur initiale ! 3. Les diérentes méthodes proposées ont leurs avantages et leurs inconvénients, on choisira celle qui convient le mieux au problème posé ! On voit qu'il est donc nécessaire d'étudier correctement les algorithmes avant de se lancer dans la programmation ! C'est la démarche obligatoire en analyse numérique. 8.6. 107 EXERCICES 8.6 Exercices Exercice 8.2. On considère la fonction 1. Séparer les racines de 1 que α ∈ [ 2 , 1]. f, f f (x) = x3 − e−x , x ∈ R. f (x) = 0 admet une solution réelle dénie par puis montrer que 2. Déterminer, par la dichotomie, une approximation de d'arrêt α à 5.10−2 unique α et près en utilisant le test |xn+1 −xn | ≤ ε. Déterminer le nombre d'itérations susant pour avoir cette précision en utilisant la formule de l'erreur. Commenter. Exercice 8.3. On considère l'équation : x = f (x) = 1. a) 1 (e−λx + λx), x ∈ [0, 1], λ ∈ R∗+ . λ+1 (8.4) Montrer que les hypothèses du théorème du point xe sont vériées par f dans l'intervalle [0, 1]. b) En déduire que l'équation (8.4) admet une solution séparée 1 α ∈ [ λ+1 , 1]. 2. Soit l'équation : (8.5) F (x) = e−x − x = 0. a) Quelle relation y a t-il entre les équations (8.4) et (8.5) ? b) Les hypothèses du théorème de Newton sont elles vériées dans l'intervalle [0,1] ? c) Trouver un sous intervalle I fermé de [0, 1] dans lequel l'algorithme de Newton appliqué à l'équation (8.5) converge Exercice 8.4. ∀x0 ∈ I. f (x) = 0 où f (x) = x2 ex + 2x − 1, x ∈ R. f (x) = 0 admet une seule solution réelle positive s. Soit l'équation 1. Montrer que l'équation 3 1 , 2 ]. s ∈ [ 10 2. Montrer que la méthode de Newton est applicable sur 3. Approcher s à 0, 5.10−3 Vérier que 3 1 [ 10 , 2 ]. près, par cette méthode. Exercice 8.5. On considère la matrice A dénis par : 0 −1 −1 A = 0 0 − 12 2 2 0 a) Montrer que P (λ) = det(A − λI3 ) = −λ3 − 3λ + 1. b) Séparer graphiquement les racines de P et vérier que P admet une racine séparée λ ∈ [ 101 , 31 ]. c) Déterminer une fonction φ telle que la suite dénie par : λn+1 = φ(λn ), n ≥ 0 converge vers d) a) 1 1 λ, ∀ λ0 ∈ [ 10 , 3 ]. Pour λ0 = 13 , calculer λ1 et λ2 avec 5 chires signicatifs, puis estimer l'erreur Montrer que l'algorithme de Newton associé à l'équation λn+1 b) 1 = 3 2λ3n + 1 λ2n + 1 s'écrit : Montrer que l'algorithme de Newton converge vers condition à préciser. P (λ) = 0 |λ2 − λ|. , n ≥ 0. 1 1 λ, ∀ λ0 ∈ [ 10 , 3] vériant une certaine 108 CHAPITRE 8. c) RÉSOLUTION DES ÉQUATIONS NON LINÉAIRES ( [λn+1 , λ ]) et le développement de Taylor de la fonction f (λn+1 ) = f (λn ) + (λn+1 − λn )f 0 (λn ) + où ξn ∈]λn+1 , λn [ ]λn , λn+1 [ ). (ou où M = max |P 00 (λ)|, 1 1 λ0 = 13 , calculer à l'ordre 2 en λn [λ, λn+1 ] ou suivant : (λn+1 − λn )2 0 f (ξn ) 2! M |λn+1 − λn |2 2m m = min |P 0 (λ)|. 1 1 x∈[ 10 , 3 ] Pour P sur l'intervalle Montrer que |λn+1 − λ| ≤ d) P En utilisant le théorème des accroissement nis à la fonction x∈[ 10 , 3 ] λ1 λ2 et |λ2 − λ|. avec 5 chires signicatifs, puis estimer l'erreur Comparer la rapidité de convergence des deux méthodes (Newton et point xe). Exercice 8.6. f Soit la fonction dénie par : f (x) = 0 1. Montrer que l'équation f (x) = −e−1 x + 43 − e−x , x ∈ R. admet deux racines réelles positives α et β où α ∈ [0, 1] et β ∈ [1, e]. 2. a) Montrer que l'équation ϕ(x) = 34 e − e1−x · f (x) = 0 est équivalente sur [1, e] à l'équation ϕ(x) = x où b) La fonction ϕ vérie-t-elle les conditions du théorème du point xe sur l'intervalle [1, e]? c) Montrer que la suite itérative xn+1 = ϕ(xn ), n ≥ 0 converge vers la racine β ∀ x0 ∈ [1 + d) 1 , e]. 10 En prenant (Indication : −e e Exercice 8.7. x0 = 1, 1; = 0, 0660 et calculer 1−e e Soit la fonction f x2 et estimer l'erreur |x2 − β|. = 0, 1794) dénie par : f (x) = e−x − x + 1, x ∈ R. 1. Montrer que l'équation f (x) = 0 2. Déterminer un intervalle la solution Exercice 8.8. α, en prenant admet une solution séparée I et une x0 = 1. fonction On considère la fonction 1. Montrer graphiquement que 1 et que α ∈ [ 2 , 1]. 2. Montrer que l'équation 3. Montrer que 4. En prenant φ1 f (x) = 0 f (x) = 0 dans l'intervalle dénie par : f (x) = x2 − ln(x + 1), x ∈ I = [ 21 , 1]. admet une seule solution réelle strictement positive p x2 ln(x + 1), φ2 (x) = e x = φi (x), i = 1, 2 dans I, 5. La suite itérative déterminer le nombre d'itérations susant pour approcher Exercice 8.9. x0 ∈ I, xn+1 = φ2 (xn ), n ≥ 0, Montrer que la suite où (xn )n converge-t-elle, converge vers ∀ n ∈ N∗ , xn = 1 2 √ 2 ∀ x0 ∈ I? pour tout xn−1 + I. conclure. α près, par la méthode des approximations successives, calculer cette approximation. α − 1, x ∈ I. vérie les hypothèses du théorème du point xe dans x0 = 0, [1, 2]. tels que la méthode du point xe converge vers est équivalente aux équations φ1 (x) = où f ϕ α 2 xn−1 . x0 ∈ [1, +∞[, à 10−1 8.6. 109 EXERCICES Exercice 8.10. 1. 2. 3. f (x) = x3 − e−x . 1 Montrer que l'équation f (x) = 0 admet une seule solution réelle α puis vérier que α ∈ [ 2 , 1]. a) b) a) Soit f dénie par x0 ∈ [ 12 , 1], xn+1 = e− Montrer que la suite Pour x0 = 1, converge vers Calculer α à 5.10−2 α. |xn − α| ≤ 5.10−2 . le nombre d'itérations minimal pour que Peut-on appliquer la méthode de Newton dans précisant le choix de b) n déterminer xn 3 [ 12 , 1]? Donner l'expression de (xn )n en x0 . prés, partant de x0 = 1. Exprimer le résultat au dernier c.s.e. 4. Conclure. Exercice 8.11. Soit f 1. Montrer que la fonction a) admet une Montrer que la fonction valle b) f f (x) = 0 2. Montrer que l'équation 3. f (x) = x + sin x − 1, x ∈ R. racine séparée α dans l'intervalle [0, π]. la fonction dénie par : φ est équivalente à l'équation x = φ(x) où φ(x) = 1 − sin x vérie les hypothèses du théorème du point xe dans l'inter- [0, 39, 0, 65] Quel est le nombre d'itérations susant pour approcher α à 10−2 prés en partant de x0 = 0, 39. 4. Montrer que l'équation αφ(x) + (1 − α)x, α f (x) = 0 est un paramètre réel et 5. Dans cette question on prend a) Montrer que la fonction valle b) est aussi équivalente à l'équation ψ φ x = ψ(x) où ψ(x) = est la fonction donnée en deuxième question. α = 0, 6. vérie les hypothèses du théorème du point xe dans l'inter- [0, 39, 0, 65] Quel est le nombre d'itérations susant pour avoir une valeur approchée de près en partant de α à 10−2 x0 = 0, 39. 6. Avec quelle fonction est-il préférable de travailler, justier votre réponse 7. a) b) Montrer que la méthode de Newton est applicable dans l'intervalle Calculer une valeur approchée de α à 10−2 [0, 39, 0, 65] près par la méthode de Newton. 8. Quelle méthode est-il préférable d'utiliser. Exercice 8.12. I. (Méthode de la sécante) : Soit f : [a, b] → R une fonction de classe C 2 dans [a, b]. On fait de plus les hypothèses suivantes (H1) : f (a)f (b) < 0, (H2) : f 0 (x) > 0, ∀ x ∈ [a, b], (H3) : f 00 (x) > 0, ∀ x ∈ [a, b]. On considère le processus itératif xn+1 = xn − b − xn f (xn ) f (b) − f (xn ) et x0 = a. 1. Donner une interprétation géométrique de ce processus. 2. Montrer que (xn )n converge vers x solution exacte de II. On considère le processus itératif xn+1 = ϕ(xn), ϕ(x) = − f (x) = 0. x0 ∈ [1, α] 1 2 1 x +x+ , 2α 2 où α > 1. 110 CHAPITRE 8. 1. Montrer que ϕ RÉSOLUTION DES ÉQUATIONS NON LINÉAIRES est contractante dans [1, α] 2. En déduire que le processus converge vers 3. Montrer que si x0 = 1, et que ξ [1, α] est stable par ϕ. à calculer. alors 1 1 |xn − ξ| ≤ α(1 − )n+1 . 2 α III. Application numérique : Soient 1. Montrer que 1 1 f (x) = x2 − , [a, b] = [1, 2], α = 2, x0 = 1. 4 2 l'équation ϕ(x) = x est équivalente à l'équation f (x) = 0. ξ1 2. Déterminer, par la méthode de la sécante, une approximation de la solution exacte −1 l'équation f (x) = 0 à ε = 10 près en utilisant le test d'arrêt |xn+1 − xn | ≤ ε. 3. Déterminer le nombre d'itérations permettant de calculer une valeur approchée de ξ1 à de 10−1 près, par la méthode du point xe. Calculer cette approximation. 4. Quelle est la méthode la plus avantageuse ? Exercice 8.13. On considère la fonction g 1. Montrer que l'équation 2. Calculer α à 5 × 10−3 dénie par : g(x) = x g(x) = x 2 + x1 , x > 0. admet une solution unique α dans [1, 3]. près en arrondissant au nombre de chires signicatifs exacts. Jus- tier le choix de la méthode d'approximation. 3. Montrer que la fonction g est la fonction de Newton-Raphson d'une certaine fonction f que l'on explicitera. 4. En déduire que la méthode du point xe pour la fonction 0 (A > 0), est un moyen de déterminer √ A. φ dénie par φ(x) = x 2 + A , 2x x> Chapitre 9 Résolution des équations diérentielles ordinaires 9.1 Position du problème On appelle équation diérentielle une équation reliant une fonction et ses dérivées successives. Si l'équation ne fait intervenir que la fonction et sa dérivée, on parle d'équation du premier ordre. Nous prenons comme point de départ, une équation diérentielle du premier ordre avec condition initiale. Soient f : [t0 , T ] × R → R une fonction susamment diérentiable et La tâche consiste à déterminer une fonction 0 y (t) = f (t, y(t)), y(t0 ) = y0 ( y0 ∈ R. y : [t0 , T ] → R solution du problème de Cauchy : t ∈ [t0 , T ] condition initiale ou condition de Cauchy ). (9.1) La résolution numérique des équations diérentielles est probablement le domaine de l'analyse numérique où les applications sont les plus nombreuses. Que ce soit en mécanique des uides, en transfert de chaleur ou en analyse de structures, on aboutit souvent à la résolution d'équations diérentielles, de systèmes d'équations diérentielles ou plus généralement d'équations aux dérivées partielles. La précision des diverses méthodes de résolution proposées dans ce cours est proportionnelle à l'ordre de ces méthodes. Nous commençons le cours par des méthodes relativement simples ayant une interprétation géométrique. Elles nous conduiront progressivement à des méthodes plus complexes telles les méthodes de Runge-Kutta d'ordre 4, qui permettent d'obtenir des résultats d'une grande précision. Remarque 9.1. La variable indépendante temps. La condition initiale y(t0 ) = y0 t représente très souvent (mais pas toujours) le est en quelque sorte l'état de la solution au moment où on commence à s'y intéresser. Il s'agit d'obtenir solution analytique, ou une approximation de y(t), y(t) pour t ∈ [t0 , T ] si on cherche une si on utilise une méthode numérique. Commençons par présenter quelques exemples des problèmes de Cauchy qu'on peut résoudre analytiquement : Exemple 9.1. Soit le problème de Cauchy suivant : 0 y (t) = t, y(0) = 1. 111 t ∈ [0, 1] 112 CHAPITRE 9. RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES Cet exemple est l'un des exemples les plus simples que l'on puisse imaginer. En intégrant de 2 chaque côté, on aura y(t) = t2 + c où c est une constante réelle, pour déterminer cette constante, il sut d'imposer la codition initiale, y(0) = 1. On obtient y(t) = Exemple 9.2. t2 + 1, t ∈ [0, 1]. 2 Soit le problème de Cauchy : 0 √ y, y (t) = t ∈ [0, 1] y(0) = 0. Il sut pas dans ce cas d'intégrer les deux côtes de l'équation pour obtenir la solution. On doit d'abord séparer les variables en écrivant par exemple : dy √ = dt, y y 6= 0 on peut maintenant faire l'intégration de deux côtes on aura √ 2 y = t + c ⇒ y(t) = t+c 2 2 2 y(0) = 0 ⇒ c = 0. Donc y(t) = t4 est une solution du problème Remarquons aussi que y ≡ 0 est une solution de notre problème. puis, Exemple 9.3. donné. Soit le problème de Cauchy : = − t lny t + 0 y 1 , ln t t ∈ [e, 5] y(e) = e. L'équation diérentielle de ce problème est linéaire du premier ordre. En appliquant la méthode élémentaire pour résoudre ce type des équations, on obtient y(t) = t+c ln t puis la codition initiale donne c où c = 1. est une constante réelle arbitraire, La solution du problème donné est alors y(t) = t . ln t Le théorème suivant nous donne des conditions susantes qui assurent l'existence et l'unicité de la solution (théorique) du problème Théorème 9.1. Soit (9.1). f : [t0 , T ] × R → R une fonction telle que [t0 , T ] × R. 1. f 2. f est Lipschitzienne par rapport à la deuxième variable, c'est L > 0 telle que pour tout t ∈ [t0 , T ] et y1 , y2 ∈ R, on ait : est continue sur à dire il existe une constante |f (t, y1 ) − f (t, y2 )| ≤ L|y1 − y2 |. 1 Alors, le problème de Cauchy (9.1) admet une unique solution 1 Augustin Louis Cauchy, français, 1789-1857 y ∈ C 1 ([t0 , T ], R). 9.2. 113 MÉTHODE D'EULER Remarque 9.2. 1. Remarquons que la fonction f (t, y) = − t lny t + ln1 t est continue sur ]0, +∞[×R, [e, 5] × R. De plus, L = 1e . En eet ; donc elle est continue sur l'intervalle sur [e, 5] |f (t, y1 ) − f (t, y2 )| = | − y1 t ln t = 1 |y t ln t 1 ≤ 1 |y e 1 + y elle est Lipschitzienne par rapport à pour tout avec la constante de Lipschitz 1 ln t + y2 t ln t t ∈ [e, 5] − et y 1 , y2 ∈ R on a 1 | ln t − y2 | − y2 |, ce qui justie l'unicité de la solution du troisième problème qu'on a trouvé analytiquement. √ f (t, y) = y n'est Pour y1 ∈ R quelconque et y2 = 0 on a √ √ |f (t, y1 ) − f (t, y2 )| = | y1 − 0| = y1 ≥ y1 . 2. Par contre le second membre du deuxième problème rapport à y. En eet ; pas Lipschitzien par D'où, la possibilité d'avoir plus d'une solution de ce problème, (analytiquement on a trouvé deux t2 solutions y1 (t) = 0 et y2 (t) = 4 sur [0, 1]). On peut résoudre analytiquement que quelques types d' équations diérentielles (par exemple les équations à variables séparables, linéaire, Bernoulli, Riccati...) mais il y a une large classe d'équations diérentielles non résolubles analytiquement. La résolution numérique est ici essentielle. Dans la suite, nous nous placerons dans les conditions du théorème 9.1. Remarque 9.3. 1. Avec les outils numériques de résolution d'équations diérentielles il n'est pas possible d'obtenir une solution pour toutes les valeurs de la variable t. On obtient plutôt une approximation de la solution analytique seulement pour certaines valeurs de hi = ti+1 − ti . Dans les méthodes présentées, h. On l'appelle le pas de temps. et distancées d'une valeur constante pour tout 2. On note y(ti ) i t notées ti cette distance est et est notée la solution analytique de l'équation diérentielle solution approximative en t = ti (9.1) en t = ti , et yi la à l'aide d'une méthode numérique. Méthodes numériques à un pas 9.2 Méthode d'Euler (9.1) et la condition initiale y(t0 ) = y0 . Le but est d'obtenir une approximation de la solution en t = t1 = t0 + h. Avant d'eectuer la première itération, il faut déterminer dans quelle direction on doit avancer à partir du point (t0 , y0 ) pour obtenir le point (t1 , y1 ), qui est une approximation du point (t1 , y(t1 )). L'équation diérentielle (9.1) assure que : Reprenons l'équation diérentielle de y 0 (t0 ) = f (t0 , y(t0 )) = f (t0 , y0 ). On peut donc suivre la droite passant par notée d0 (t), (t0 , y0 ) et de pente f (t0 , y0 ). L'équation de cette droite, est : d0 (t) = f (t0 , y0 )(t − t0 ) + y0 et est illustrée par la gure (A) 114 CHAPITRE 9. En t = t1 , RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES on a : d0 (t1 ) = f (t0 , y0 )(t1 − t0 ) + y0 = y0 + hf (t0 , y0 )) = y1 . En d'autres termes, d0 (t1 ) est proche de la solution analytique y(t1 ), c'est à dire y(t1 ) ' y1 = d0 (t1 ) = y0 + hf (t0 , y0 ). y1 6= y(t1 ). Donc si on souhaite faire une deuxième itération et obtenir une approximation de y(t2 ), on peut refaire l'analyse précédente à partir du point (t1 , y1 ). on remarque cependant que la pente de la solution analytique en t = t1 est : Il est important de noter que, le plus souvent, y 0 (t1 ) = f (t1 , y(t1 )). On ne connaît pas exactement y(t1 ), mais nous possédons l'approximation y1 de y(t1 ). On doit alors utiliser l'expression : y0(t1 ) = f (t1 , y(t1 )) ' f (t1 , y1 ) et construire la droite d1 (t) = f (t1 , y1 )(t − t1 ) + y1 , qui permettra d'estimer y(t2 ). On a alors y(t2 ) ' y2 = y1 + hf (t1 , y1 ). On remarque que l'erreur commise à la première itération est réintroduite dans les calculs de la deuxième itération. 9.3. 115 MÉTHODES DE TAYLOR Algorithme d'Euler2 (1) Etant donné un pas h, une condition initiale (t0 , y0 ), et un nombre maximal d'itérations N. (2) Pour 0≤n≤N yn+1 = yn + hf (tn , yn ) et tn+1 = tn + h écrire tn+1 et yn+1 . (3) Arrêt. Remarque 9.4. La méthode d'Euler est de loin la méthode la plus simple de résolution numé- rique d'équations diérentielles ordinaires. Elle possède une belle interprétation géométrique et son emploi est facile. Toutefois, elle est relativement peu utilisée en raison de sa précision. Exemple 9.4. Soit l'équation diérentielle On prend h = 0, 1 et y 0 (t) = −y(t) + t + 1 y(0) = 1. f (t, y) = −y + t + 1. Le tableau suivant rassemble les résultats des dix premières itérations. On peut montrer que la solution analytique de cette équation est : y(t) = e−t + t, ce qui permet de comparer les solutions numérique et analytique et de constater la croissance de l'erreur ti 0, 0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1, 0 y(ti ) 1, 000000 1, 004837 1, 018731 1, 040818 1, 070302 1, 106531 1, 148812 1, 196580 1, 249329 1, 306570 1, 367879 yi 1, 000000 1, 000000 1, 010000 1, 029000 1, 056100 1, 090490 1, 131441 1, 178297 1, 230467 1, 287420 1, 348678 |y(ti ) − yi | 0, 000000 0, 004837 0, 008731 0, 011818 0, 014220 0, 016041 0, 017371 0, 018288 0, 018862 0, 019150 0, 019201 9.3 Méthodes de Taylor Le développement de Taylor autorise une généralisation immédiate de la méthode d'Euler, qui permet de diminuer l'erreur d'approximation. Nous nous limitons cependant à la méthode de Taylor du second ordre. On cherche, au temps t = tn+1 . t = tn , On a immédiatement : y(tn+1 ) = y(tn + h) = y(tn ) + y 0 (tn )h + 2 Leonhard une approximation de la solution en Euler, 1707-1783 y 00 (tn ) 2 h 2 + o(h2 ). 116 CHAPITRE 9. RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES En se servant de l'équation diérentielle (9.1), on trouve : y(tn+1 ) = y(tn ) + f (tn , y(tn ))h + f 0 (tn , y(tn ))h2 + o(h2 ) et on a : f 0 (t, y(t)) = donc f 0 (t, y(t)) = ∂f (t, y(t)) ∂f (t, y(t)) 0 + y (t), ∂t ∂y ∂f (t, y(t)) ∂f (t, y(t)) + f (t, y(t)). ∂t ∂y Ainsi, on obtient h2 ∂f (tn , y(tn )) ∂f (tn , y(tn )) ( + f (tn , y(tn ))) + o(h2 ), (9.2) 2 ∂t ∂y y(tn+1 ) = y(tn ) + hf (tn , y(tn )) + en négligeant les termes d'ordres supérieurs ou égaux à y(tn+1 ) ' y(tn ) + hf (tn , y(tn )) + 3. D'où h2 ∂f (tn , y(tn )) ∂f (tn , y(tn )) ( + f (tn , y(tn ))). 2 ∂t ∂y (9.3) Cette relation sera la base de la méthode de Taylor. Commentaire En fait, la méthode de Taylor consiste à approcher la solution de l'équation (9.1) par des arcs de paraboles au lieu des segments de droites (des tangentes) utilisés dans la méthode d'Euler. Algorithme de Taylor d'ordre 2 (1) Etant donné un pas de temps d'itérations h, une condition initiale (t0 , y0 ), et un nombre maximal N. (2) Pour 0≤n≤N yn+1 = yn + hf (tn , yn ) + et tn+1 = tn + h écrire tn+1 et h2 ∂f (tn ,yn ) ( ∂t 2 + ∂f (tn ,yn ) f (tn , yn )) ∂y yn+1 . (3) Arrêt. Remarque 9.5. Dans cet algorithme, on a remplacé la solution analytique y(tn ) par son approximation yn dans la relation (9.3). On en conclut que les erreurs se propagent d'une itération à une autre. Exemple 9.5. Soit l'équation diérentielle déjà résolue par la méthode d'Euler y 0 (t) = −y(t) + t + 1 y(0) = 1. ∂f ∂f et ∂t (t, y) = 1, ∂ty (t, y) = −1. Le tableau suivant rassemble les résultats des dix premières itérations ce qui permet de comparer les On prend h = 0, 1. Dans ce cas f (t, y) = −y + t + 1 9.4. 117 MÉTHODES DE RUNGE-KUTTA solutions numérique et analytique et de constater la croissance de l'erreur et la comparer avec la méthode d'Euler ti 0, 0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1, 0 Remarque 9.6. y(ti ) 1, 000000 1, 004837 1, 018731 1, 040818 1, 070302 1, 106531 1, 148812 1, 196580 1, 249329 1, 306570 1, 367879 yi 1, 000000 1, 005000 1, 019025 1, 041218 1, 070802 1, 107075 1, 149404 1, 197210 1, 249975 1, 307228 1, 368541 |y(ti ) − yi | 0, 000000 0, 000163 0, 000400 0, 000482 0, 000482 0, 000544 0, 000592 0, 000625 0, 000646 0, 000658 0, 000662 On remarque que l'erreur est plus petite avec la méthode de Taylor d'ordre 2 qu'avec la méthode d'Euler. Remarque 9.7. Si l'on veut encore réduire la marge d'erreur, on poursuive le développement de Taylor dans (9.2) jusqu'à des termes d'ordre élevé. On doit alors évaluer les dérivées de la fonction f (t, y(t)) d'ordre de plus en plus élevé, ce qui nécessite le calcul supplémentaire de : ∂ i+j f ∂2f ∂2f ∂2f , , , ..., . ∂t2 ∂y 2 ∂t∂y ∂ti ∂ j Pour cette raison, les méthodes obtenues sont diciles à utiliser. pour contourner cette diculté on développe les méthodes de Runge-Kutta. 9.4 Méthodes de Runge-Kutta Il serait avantageux de disposer de méthodes d'ordres de plus en plus élevées tout en évitant les inconvénients des méthodes de Taylor, qui nécessitent l'évaluation des dérivées partielles de la 3 4 fonction f (t, y(t)). Une voie est tracée par les méthodes de Runge -Kutta , qui sont calquées sur les méthodes de Taylor du même ordre. 9.4.1 Méthodes de Runge-Kutta d'ordre 2 On a vu que le développement de la méthode de Taylor passe par la relation : y(tn+1 ) = y(tn ) + hf (tn , y(tn )) + h2 ∂f (tn , y(tn )) ∂f (tn , y(tn )) ( + f (tn , y(tn ))) + o(h2 ) 2 ∂t ∂y (9.4) Le but est de remplacer cette dernière relation par une expression équivalente possédant le même 2 ordre de précision (o(h )). On propose la forme : y(tn+1 ) = y(tn ) + a1 hf (tn , y(tn )) + a2 hf (tn + a3 h, y(tn ) + a4 h) 3 Carle 4 Runge, 1856-1927 Martin Kutta, 1867-1944 (9.5) 118 CHAPITRE 9. RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES a1 , a2 , a3 et a4 de telle sorte que les expressions (9.4) et (9.5) aient toutes les deux une erreur en o(h2 ). Pour y arriver, on doit utiliser le développement de Taylor en deux variables autour du point (tn , y(tn )). On a ainsi : où on doit déterminer les paramètres f (tn + a3 h, y(tn ) + a4 h) = f (tn , y(tn )) + a3 h La relation (9.5) ∂f (tn , y(tn )) ∂f (tn , y(tn )) + a4 h + o(h) ∂t ∂y devient alors : y(tn+1 ) = y(tn ) + (a1 + a2 )hf (tn , y(tn )) + a2 a3 h2 ∂f (tn∂t,y(tn )) ,y(tn )) + a2 a4 h2 ∂f (tn∂y + o(h2 ) On voit immédiatement que les expressions les coecients ai , i = 1, 2, 3, 4, (9.4) et (9.6) (9.6) sont de même ordre. Pour déterminer il sut de comparer ces deux expressions terme à terme. On obtient un système non linéaire de 3 équations à 4 inconnues : a1 + a2 = 1 a2 a3 = 21 n) a2 a4 = f (tn ,y(t 2 Le système (9.7) (9.7) a moins d'équations que d'inconnues et donc n'a pas de solution unique. Cela ore une marge de manoeuvre qui favorise la mise au point de plusieurs variantes de la méthode de Runge-Kutta. Voici le choix le plus couramment utilisé. 9.4.2 Méthode d'Euler modiée Cette méthode correspond au choix suivant des coecients ai : 1 a1 = a2 = , a3 = 1, et a4 = f (tn , y(tn ) 2 Il sut ensuite de remplacer ces valeurs dans l'équation (9.5). Pour ce faire, on néglige le terme 2 en o(h ) et on remplace y(tn ) par son approximation yn . On obtient alors l'algorithme suivant : Algorithme d'Euler modié (1) Etant donné un pas de temps d'itérations h, une condition initiale (t0 , y0 ) , et un nombre maximal N. (2) Pour 0≤n≤N yb = yn + hf (tn , yn ) yn+1 = yn + h2 [f (tn , yn ) + f (tn+1 , yb)] (3) Arrêt. et tn+1 = tn + h écrire tn+1 et yn+1 . 9.4. 119 MÉTHODES DE RUNGE-KUTTA Remarque 9.8. Pour faciliter les calculs, l'évaluation de yn+1 est faite en deux étapes. La variable temporaire yb correspond tout simplement à une itération de la méthode d'Euler. On fait ainsi une prédiction yb de la solution en Exemple 9.6. tn+1 qui est corrigée (et améliorée) à la deuxième étape de l'algorithme. Soit le problème de cauchy : y 0 (t) = −y(t) + t + 1 y(0) = 1. h = 0, 1. yb = hf (t0 , y0 ) = 1 On choisit le pas de temps Itération 1 : qui est le résultat obtenu à l'aide de la méthode d'Euler. La deuxième étape donne : h y1 = y0 + [f (t0 , y0 ) + f (t1 , yb)] = 1, 005. 2 Itération 2 : yb = hf (t1 , y1 ) = 1, 0145 La correction conduit à son tour à : h y2 = y1 + [f (t1 , y1 ) + f (t2 , yb)] = 1, 019025. 2 9.4.3 Méthode du point milieu Une autre méthode de Runge-Kutta d'ordre 2 qui est très utilisée est la méthode du point milieu, qui correspond au choix suivant des coecients En remplaçant ces ai . 1 f (tn , y(tn ) a1 = 0, a2 = 1, a3 = , et a4 = . 2 2 valeurs des coecients ai dans l'équation (9.6), on obtient alors l'algorithme suivant : Algorithme du point milieu (1) Etant donné un pas de temps d'itérations h, une condition initiale (t0 , y0 ) , et un nombre maximal N. (2) Pour 0≤n≤N K = hf (tn , yn ) yn+1 = yn + h[f (tn + h2 , yn + et tn+1 = tn + h écrire tn+1 et K )] 2 yn+1 . (3) Arrêt. Remarque 9.9. La méthode est dite du point milieu car la fonction f (t, y) est évaluée au point milieu de l'intervalle Remarque 9.10. [tn , tn+1 ]. Les méthodes d'Euler modiée et du point milieu étant du même ordre de troncature locale, leur précision est semblable. D'autre choix sont possibles pour les coecients ai , mais nous nous limitons aux deux méthodes précédentes. 120 CHAPITRE 9. RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES 9.4.4 Méthode de Runge-Kutta d'ordre 4 En reprenant le développement de Taylor de la fonction f, mais cette fois à l'ordre 5, un rai- sonnement similaire à celui qui a mené aux méthodes de Runge-Kutta d'ordre 2 aboutit à un système de 8 équations non linéaires comprenant 10 inconnues. Le résultat nal est la méthode de Runge-Kutta d'ordre 4, qui représente un outil d'une grande utilité. Algorithme de Runge-Kutta d'ordre 4 (1) Etant donné un pas de temps d'itération h, une condition initiale (t0 , y0 ) , et un nombre maximal N (2) Pour 0≤n≤N K 1 = hf (tn , yn ) K 2 = hf (tn + h2 , yn + K1 ) 2 K 3 = hf (tn + h2 , yn + K2 ) 2 K 4 = hf (tn + h, yn + K3 ) yn+1 = yn + 16 [K1 + 2K2 + 2K3 + K4 ] et tn+1 = tn + h écrire tn+1 et yn+1 . (3) Arrêt. Remarque 9.11. La méthode de Rung-Kutta d'ordre 4 est très fréquemment utilisée en raison de sa grande précision qui est mise en évidence dans l'exemple suivant : Exemple 9.7. Soit l'équation diérentielle déjà résolue par la méthode d'Euler On prend h = 0, 1 Itération 1 : et y 0 (t) = −y(t) + t + 1 y(0) = 1. f (t, y) = −y + t + 1. ce qui entraîne que : Itération 2 : ce qui entraîne que : K K K K 1 2 3 4 = = = = hf (t0 , y0 ) = 0 hf (t0 + h2 , y0 + K1 ) = 0, 005 2 hf (t0 + h2 , y0 + K22 ) = 0, 00475 hf (t0 + h, y0 + K3 ) = 0, 009525 y1 = y0 + 61 [K1 + 2K2 + 2K3 + K4 ] = 1, 0048375. K K K K 1 2 3 4 = = = = hf (t1 , y1 ) = 0, 00951625 hf (t1 + h2 , y1 + K21 ) = 0, 014040438 hf (t1 + h2 , y1 + K22 ) = 0, 0138142281 hf (t1 + h, y1 + K3 ) = 0, 0187309014 y2 = y1 + 61 [K1 + 2K2 + 2K3 + K4 ] = 1, 0187309014. 9.5. 121 MÉTHODES À UN PAS GÉNÉRIQUE Le tableau suivant rassemble les résultats des dix premières itérations ce qui permet de comparer les solutions numérique et analytique et de constater la croissance de l'erreur, et la comparer avec les méthodes (Euler, Taylor). ti 0, 0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1, 0 y(ti ) 1, 0000000000 1, 0048374180 1, 0187307798 1, 0408182207 1, 0703200460 1, 1065306597 1, 1488116361 1, 1965853034 1, 2493289641 1, 3065696598 1, 3678794412 yi 1, 000000 1, 0048375000 1, 0187309014 1, 0408184220 1, 0703202889 1, 1065309344 1, 1488119343 1, 1965856186 1, 2493292897 1, 3065799912 1, 3678797744 Remarque 9.12. On constate que l'erreur se situe autour de 10−6 , |y(ti ) − yi | 0 0, 819 × 10−7 0, 148 × 10−6 0, 210 × 10−6 0, 242 × 10−6 0, 274 × 10−6 0, 298 × 10−6 0, 314 × 10−6 0, 325 × 10−6 0, 331 × 10−6 0, 333 × 10−6 ce qui se compare avantageusement avec les erreurs obtenues à l'aide de méthodes d'ordre moins élevé (Euler, Taylor, Runge-Kutta d'ordre 2). 9.5 Méthodes à un pas générique Une méthode de résolution numérique d'équations diérentielles est dite à un pas si elle est de la forme : yi+1 = yi + hφ(ti , yi , h), ti+1 = ti + h, i = 0, 1, . . . , n, y0 = y(0), où n est le nombre de subdivisions de l'intervalle (9.8) [t0 , T ], φ : [a, b] × R × R+ → R une fonction que l'on supposera continue par rapport aux trois variables. Choisir une méthode revient à choisir la fonction φ. Quelles conditions imposer à φ pour que la méthode fonctionne ? Exemple 9.8. 1. Méthode d'Euler :φ(t, y, h) 2. Méthode du point milieu : = f (t, y). φ(t, y, h) = f (t + h2 , y + h2 f (t, y)). Dénition 9.1. (La convergence) quelle que soit y0 Une méthode à un pas est dite convergente sur [t0 , T ] si condition initiale on a lim max |y(ti ) − yi | = 0. h→0 0≤i≤n i = 0, . . . , n ti , y(ti ). C'est à dire, pour tout exacte au point on a convergence de la solution approchée yi vers la solution Dénition 9.2. (La consistance) Une méthode à un pas est dite consistante si pour tout y solution de y 0 = f (t, y) on a lim max h→0 0≤i≤n 1 (y(ti+1 ) − y(ti )) − φ(ti , y(ti ), h) = 0. h 122 CHAPITRE 9. RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES C'est à dire, la méthode approche bien l'équation diérentielle. Dénition 9.3. (La stabilité) Une méthode à un pas est dite stable s'il existe une constante K h indépendante de telle que, pour tout ŷi+1 = ŷi + φ(ti , y(ti ), h) + i y0 , ŷ0 vériant et yi+1 = yi + φ(ti , y(ti ), h) |yi − ŷi | ≤ K|y0 − ŷ0 | + i−1 X on a |i | ∀i = 0, . . . , n. i=0 C'est à dire, on peut contrôler la répercussion des erreurs d'arrondi. Proposition 9.1. Pour une méthode à un pas, la convergence implique la consistance. Proposition 9.2. Si une méthode à un pas est consistante et stable, alors elle est convergente. 9.5.1 Ordre d'une méthode à un pas Il est intéressant de disposer d'un critère, valable dans le cas général, qui nous indiquera si telle méthode est meilleure qu'une autre (au sens qu'elle approche mieux la solution exacte). Pour cela, on introduit les dénitions suivantes : Dénition 9.4. Soit M (Erreur de Troncature locale) une méthode de résolution à un pas d'un problème de Cauchy, son algorithme est donc de la forme : yi+1 = yi + hφ(ti , yi , h), On appelle " erreur de troncature locale au point ei = Soit f Cp de classe sur [t0 , T ] × R. ∃ C ∈ R∗+ / La méthode p M convergera (yn 0 ≤ i ≤ n. t = ti " de M la quantité y(ti+1 ) − y(ti ) − φ(ti , yi , h). h La méthode M est d'ordre p ei = O(hp ) si c.à.d y(i + 1) − y(i) − φ(ti , yi , h) ≤ C.hp ∀ i ∈ (0, n). h → y(n) quand h → 0 ∀ i ∈ (0, n)), donc d'autant plus vite que sera grand. Condition nécessaire et susante pour que M soit d'ordre p(p ≥ 1) ? On suppose que pas doit être au f ∈ C p ([t0 , T ], R) voisinage de 0. Théorème 9.2. M est d'ordre et φ de classe p≥1⇔φ Cp par rapport à h. D'après ce qui précède, le est choisie telle que : ∂k 1 φ(t, y, h)|h=0 = f (k) (x, y), 0 ≤ k ≤ p − 1. k ∂h k+1 Ordres respectifs des méthodes d'Euler et du point milieu Méthode d'Euler : p≥1 Déterminons 1. 2. Dans ce cas tel que φ(t, y, h) = f (t, y) (f supposée de classe C 1 ) ∂k 1 φ(t, y, h)|h=0 = k+1 f (k) (x, y), 0 ≤ k ≤ p − 1. ∂hk k = 0 : φ(t, y, 0) = f (t, y) k=1: ∂ ∂h vériée φ(t, y, h)|h=0 = 0 6= 12 f 0 (t, y) = 21 ( ∂f + ∂t ∂f f ). ∂y 9.5. 123 MÉTHODES À UN PAS GÉNÉRIQUE On en tire que p = 1, donc la méthode d'Euler est d'ordre 1. Méthode du point milieu : classe C 2 ). Déterminons Dans ce cas p≥1 φ(t, y, h) = f (t + h2 , y + h2 f (t, y)) (f supposée de tel que ∂k 1 f (k) (x, y), 0 ≤ k ≤ p − 1. φ(t, y, h)|h=0 = k ∂h k+1 1. 2. k = 0 : φ(t, y, 0) = f (t, y) k=1: ∂ ∂h φ(t, y, h)|h=0 = vériée 1 0 f (t, y) 2 = 21 ( ∂f + ∂t ∂f f ). En eet ; ∂y ∂f ∂(t + h2 ) ∂f ∂(y + h2 f (t, y)) ∂ φ(t, y, h) = + ∂h ∂t ∂h ∂y ∂h ∂ 1 ∂f (t, y) 1 ∂f (t, y) ⇒ φ(t, y, h)|h=0 = + f (t, y) . ∂h 2 ∂t 2 ∂y On montrera de même que, pour k = 2, donc la méthode d'Euler est d'ordre 2. l'égalité n'a pas lieu. On en tire que p = 2, 124 CHAPITRE 9. RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES 9.6 Exercices Exercice 9.1. Faire trois itérations avec le pas h = 0, 1 des méthodes d'Euler, d'Euler modiée, du point milieu et de Runge-Kutta d'ordre 4 pour les équations diérentielles suivantes : a) y0 (t) = tsin(y(t)) avec y(0) = 2. b) y0 (t) = t2 + (y(t))2 + 1 avec y(1) = 0. c) y0 (t) = (y(t)et avec y(0) = 2. Exercice 9.2. Soit le problème de Cauchy suivant : y 0 (t) = 2y(t) t ∈ [0, 1] y(0) = 1. 1. Trouver la solution exacte de ce problème. 2. Prendre cinq subdivisions sur l'intervalle [0, 1] et appliquer les méthodes : d'Euler, Euler modiée, point milieu. Ecrire les valeurs obtenues, dans un tableau et comparer chacune avec la valeur exacte (en calculant l'erreur relative correspondante). 3. Quelle est la méthode qui donne de meilleures valeurs approchées de la solution exacte ? Exercice 9.3. Soit le problème de Cauchy suivant : y 0 (t) = t + y(t) t ∈ [0, 2] y(0) = 1, 24, qui possède la solution analytique : y(t) = 2, 24et − (t − 1) I. Résoudre numériquement le même problème à l'aide de la méthode : 1. d'Euler, avec un pas h = 0, 2. 2. de Runge-Kutta d'ordre 4, avec le pas II. Comparer au point t = 1, h = 1. les valeurs numériques à la valeur analytique et donner (en %) l'erreur relative commise par chacune des deux méthodes. Exercice 9.4. Soit le problème de Cauchy suivant : (P ) 2 0 t y (t) − ty(t) + 1 = 0, t ∈ [2, 3] y(2) = 0. 1. Résoudre numériquement le problème (P) à l'aide de la méthode : i) du point milieu, avec un pas h = 13 . ii) de Runge-Kutta d'ordre 4, avec un pas h = 1. Ecrire les valeurs obtenues (de la question (i)) dans un tableau et comparer chacune d'elles t 1 avec la valeur exacte, sachant que la solution analytique de (P) est y(t) = − 8 + 2t , t ∈ [2, 3]. 2. Quelle est la méthode qui donne la meilleure valeur approchée de la solution exacte au point t = 3? 9.6. 125 EXERCICES Exercice 9.5. Soit l'équation diérentielle : y 0 (t) = t(y(t)) la solution exacte : 2 −1)/2 y(t) = 2e(t 1. En prenant successivement Approcher dans chaque cas avec y(1) = 2, dont on connaît . h = 0, 5, h = 0, 25, h = 0, 125 et h = 0, 0625. y(2) en appliquant la méthode de Taylor d'ordre 2 et calculer l'erreur absolue commise dans chaque cas en comparant les résultats obtenus avec la valeur exacte y(2). 2. Conclure Exercice 9.6. Etant données trois méthodes de résolution numérique problème de Cauchy du premier ordre, de même pas de discrétisation M1 , M2 et M3 d'un h. 1. Comparer la précision de ces trois méthodes sachant que les erreurs absolues respectives sont de la forme : E1 = o(h), E2 = o(h2 ) E3 = o(h4 ). 2. Proposer trois méthodes de résolution dont les erreurs absolues sont E1 , E2 et E3 , en donnant leurs algorithmes. 3. Soit le problème de Cauchy : (P ) (1 + et )yy 0 = et , a. On pose t=1 b. h = 21 . t ∈ [0, 1] y(0) = 1. Calculer deux approximations de la solution exacte du problème avec quatre décimales. Comparer chaque approximation avec la solution exacte que l'on déterminera. (P ) en