Note de cours en méthodes numériques pour ingénieurs (Version provisoire ! Merci pour toute remarque.) David Jaurès FOTSA MBOGNE Me contacter à david [email protected] Aller à ma page web https://sites.google.com/site/mjdavidfotsa/home 23 février 2017 Table des matières Avant propos iii 1 Résolution de l’équation f (x) = 0 dans RN , N ≥ 1 1.1 La méthode de la bissection (ou Dichotomie) . . . . . . . . . . . . . . . . . . . 1.2 La méthode de la sécante (ou Lagrange) . . . . . . . . . . . . . . . . . . . . . 1.2.1 Racine comme valeur intermédiaire . . . . . . . . . . . . . . . . . . . . 1.2.2 Racine comme extremum d’une fonction localement positive convexe ou calement négative concave . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 La méthode de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Méthode Newton-Côte . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Résolution des équations linéaires . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Pivot de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Méthode de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Méthode LU ou de Crout . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.4 Méthode LLT ou de Choleski . . . . . . . . . . . . . . . . . . . . . . . 1.4.5 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Résolution des équations aux dérivées 2.1 Dérivation numérique . . . . . . . . . . . . . . . . . 2.1.1 Différence finies progressives . . . . . . . . . 2.1.2 Différence finies regressives . . . . . . . . . . 2.1.3 Différence finies centrées . . . . . . . . . . . 2.2 Problèmes aux conditions limites . . . . . . . . . . 2.2.1 Discrétisation . . . . . . . . . . . . . . . . . 2.3 Problèmes de Cauchy . . . . . . . . . . . . . . . . . 2.3.1 Méthode d’Euler . . . . . . . . . . . . . . . 2.3.2 Méthode de Taylor . . . . . . . . . . . . . . 2.3.3 Méthode de Runge-Kutta . . . . . . . . . . 2.3.4 Problèmes de Cauchy aux conditions limites 3 Interpolation et extrapolation 3.1 Matrice de Vandermonde . . . . . . . . . . . 3.2 Polynôme d’interpolation de Lagrange . . . 3.3 Polynôme d’interpolation de Newton . . . . 3.3.1 Différences divisées . . . . . . . . . . 3.3.2 Polynôme d’interpolation de Newton 3.4 Méthode d’interpolation d’Aitken . . . . . . i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 4 4 . . . . . . lo. . . . . . . . . . . . . . . . . . 7 9 10 11 11 14 15 17 19 . . . . . . . . . . . . . . . . . . . . . . 23 23 23 25 26 27 27 28 28 29 30 31 . . . . . . 32 32 33 33 33 34 36 . . . . . . TABLE DES MATIÈRES TABLE DES MATIÈRES 4 Intégration numérique dans R 4.1 Approximation par des aires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Méthode de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Méthode de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii 38 38 40 41 Avant propos Ce polycopié est une tentative de plus, peut-être même de trop, en ce qui concerne l’introduction aux méthodes numériques. Les méthodes numériques constituent un moyen de rentabiliser les grandes capacités de calcul des ordinateurs, pour résoudre le plus précisement possible les problèmes mathématiques rencontrés dans les applications (ingénierie par exemple). Ce document s’adresse en particulier, aux lecteurs non familiés aux méthodes numériques, mais en quête de motivations ; les ingénieurs pourront y porter un certain intérêt. Pour simplifier l’exposé les démonstrations mathématiques sont omises. Cependant, des commentaires (peut-être ennuyeux ...) sont faits pour guider l’éventuel utilisateur, quant aux conditions d’applicabilité efficace des méthodes présentées. Quelques exercices simples sont proposés immédiatement à la suite de la présentation de chaque méthode, ceci pour une facilité une nécessaire familiarisation, à travers le cacul manuel. L’étape du calcul manuel étant incontournable pour la maı̂trise personnelle des instructions, qui plutard, dans les applications (où plus tôt, en travaux pratiques), seront destinées aux ordinateurs, à causes de la grandeurs des données et des calculs. iii Chapitre 1 Résolution de l’équation f (x) = 0 dans RN , N ≥ 1 Soit une fonction f : R → R, une fonction. L’objectif est de retrouvé dans Df , le domaine de définition de la fonction f , s’il existe, un x∞ tel que f (x∞ ) = 0. Le principe général est, lorsqu’on a la garantie de l’existence d’un tel point x∞ , de construire une suite (xn )n∈N∗ de points dans Df qui converge vers x∞ . Dans ce chapitre nous faisons l’hypothèse que la fonction f est continue et s’annule au moins une fois. En pratique, pour s’assurer de la vérification de cette hypothèse, on pourra représenté le graphe de f ; cela contribuera également au choix adéquat des conditions initiales de la suite mentionnée ci-avant, en vue d’accélérer la convergence, pour limiter les coûts de calculs. Voici deux résultats basiques d’analyse dont on peut se servir : Théorème 1.0.1 (des valeurs intermédiaires) Soit une application continue g définie d’un intervalle [a; b] vers R, telle que g (a) < g (b). Alors, il existe au moins un point c ∈ ]a; b[ tel g (a) < g (c) < g (b). Corollaire 1.0.2 Soit une application continue g définie d’un intervalle [a; b] vers R, telle que g (a) g (b) < 0. Alors, il existe au moins un point c ∈ ]a; b[ tel g (c) = 0. 1.1 La méthode de la bissection (ou Dichotomie) La méthode de Dichotomie consiste, à partir de deux points xA et xB vérifiant f (xA ) f (xB ) B . Par la suite strictement inférieur à 0, à obtenir un troisième point xC en général égal à xA +x 2 on trouve un autre point xC à partir de xA et xC , ou de xB et xC , selon qu’on a respectivement f (xA ) f (xC ) < 0, ou f (xB ) f (xC ) < 0. Le diamètre des intervalles contenant la racine, d’après le corollaire 1.0.2, constitue donc une suite géométrique de premier terme |xB − xA | et de raison 12 . On construit ainsi une suite de Cauchy (xn )n∈N∗ qui converge vers une racine x∞ . x1 = a x2 = b n−2 xn = xn−1 +x , n≥3 2 La convergence de la suite (xn )n∈N∗ est obtenue à l’infini ; ceci ne correspond pourtant pas au besoin de finitude (algorithmique). En pratique on supposera que la limite est atteinte au rang n, si |f (xn )| est inférieur ou égale à un réel strictement positif ε. ε est appelé tolérance. Notons 1 2 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 que par souci de limiter le nombre d’itérations (n) et par conséquent le temps de calcul, on utilise plutôt la condition d’arrêt |xn − xn−1 | ≤ ε. Cette condition se justifie par le fait que par continuité de f , et par convergence de (xn )n∈N∗ vers x∞ , (f (xn ))n∈N∗ converge vers f (x∞ ) qui vaut 0. On peut également prendre la condition mixte ”|f (xn )| ≤ εf et |xn − xn−1 | ≤ εx ”. Enfin, on peut fixer le nombre d’itérations, surtout lorsqu’on n’est pas sûre de la convergence, ou qu’on veut calculer manuellement, pour s’habituer par exemple à la méthode. Figure 1.1 – xA = −1, 1, xB = −0, 8 et xC = −0, 95 (point sécant rouge avec l’axe des abscisses) Voici une proposition (non standard) d’algorithme : Algorithme 1.1.1 (Racine Dichotomie) 1. f ←donnée de la fonction f ; // Paramètre de l’utilisateur 2. a ←valeur de a ; // Paramètre de l’utilisateur 3. b ←valeur de b ; // Paramètre de l’utilisateur 4. ε ←valeur de ε ; // Paramètre de l’utilisateur 5. n ← 0 ; // Compteur d’itération 6. c ← a; // la racine peut être a ! 7. Si f (b) = 0 faire // la racine peut être b ! Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 3 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 (a) c ← b ; 8. Finsi 9. Tantque (f (a) f (b) < 0 et |f (c)| > ε) faire // si la racine n’est ni a, ni b ; (a) c ← b+a 2 ; (b) Si f (c) f (b) < 0 faire i. a ← b ; (c) Finsi (d) b ← c ; (e) n ← n + 1 ; 10. FinTantque 11. Afficher (c) ;// ”la racine” 12. Afficher (f (c)) ; l’image de la ”racine” 13. Afficher (n) ; // le nombre d’itérations Exercice 1.1.1 Soit la fonction f : x 7→ x3 − 1. 1. Vérifier que 1 est une racine de f . 2. Exécuter l’algorithme 1.1.1, en prenant a = 0, 8, b = 1, 1 et ε = 0, 1. Quel est le nombre d’itérations ? Quelle est l’erreur absolue |c − 1| ? 3. Exécuter l’algorithme 1.1.1, en prenant a = 0, 8, b = 1, 1, ε = 0, 1, et en remplaçant la condition |f (c)| > ε par une condition d’arrêt de la forme |xn+1 − xn | > ε. Quelle est l’erreur absolue |c − 1| ? 4. Exécuter l’algorithme 1.1.1, en prenant a = 0, 8, b = 1, 1 et en remplaçant la condition |f (c)| > ε par n ≤ 5. Quelle est l’erreur absolue |c − 1| ? Exercice 1.1.2 Soit la fonction f : x 7→ x3 − x. Chercher une approximation d’un point fixe de la fonction f avec une condition d’arrêt de la forme |xn+1 − xn | < 10−2 . On prendra x0 = 0, 8, x1 = 1, 1. Exercice 1.1.3 Donner une approximation d’une solution à l’équation x3 − 0, 75x = −0, 25 avec une condition d’arrêt de la forme |xn+1 − xn | < 10−2 . On prendra x0 = −1, 1, x1 = −0, 8. Exercice 1.1.4 Donner une approximation d’un point de rencontre entre les graphes des fonctions f : x 7→ x2 et g : x 7→ x, avec une condition d’arrêt de la forme |f (xn ) − g (xn )| < 10−2 . On prendra x0 = −1, 1, x1 = 0, 8. Exercice 1.1.5 Ecrire toutes les variantes de l’algorithme 1.1.1, relativement aux différentes conditions d’arrêt abordées ci-avant. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 4 1.2 La méthode de la sécante (ou Lagrange) La méthode de Lagrange consiste, à partir de deux points A (xA , f (xA )) et B (xB , f (xB )) du graphe de f , à obtenir un troisième point C (xC , 0) situé sur l’axe des abscisses. Ce point est le point d’intersection de la droite (AB) avec l’axe des abscisses. Il est évident que l’existence d’un tel C nécessite que les deux droites précédentes ne soient pas parallèles, c’est à dire, de manière équivalente, que f (xA ) − f (xB ) 6= 0. On peut distinguer deux cas de figure : celui où f (xA ) f (xB ) < 0 et celui où f ne change pas de signe et admet pour minimum 0. Ces deux cas donnerons lieu à des variantes légèrement distinctes de la construction de la suite (xn )n∈N∗ . 1.2.1 Racine comme valeur intermédiaire Dans cette sous section on suppose qu’il existe deux points A (xA , f (xA )) et B (xB , f (xB )) du graphe de f , tels que f (xA ) f (xB ) < 0. Le corollaire 1.0.2 garantit qu’une racine de f est contenue dans ]xA , xB [. En utilisant à nouveau le corollaire 1.0.2 pour la droite (AB), on déduit l’existence d’un point C, élément du segment [AB], qui est l’intersection de la droite (AB) avec l’axe des abscisses. Le point C est relativement facile à retrouver, vu que son ordonnée est nulle. Pour son abscisse, il suffit d’écricre de deux façon la pente de la droite (AB). 0 − f (xB ) f (xB ) − f (xA ) = xB − xA xC − xB Ainsi, xC = xB − f (xB ) xB − xA f (xB ) − f (xA ) La donnée du point C partitionne le segment [AB] en deux segments [AC] et [BC], dont l’un au moins contient une racine de f . La garantie de cette existence sera encore le fait d’avoir les extrémités du segment ayant des abscisses d’images des signes contraires. On construit ainsi une suite x1 = a x2 = b x =x xn−1 −xn−2 n n−1 − f (xn−1 ) f (xn−1 )−f (xn−2 ) , n ≥ 3 L’assurance de la convergence de la suite (xn )n∈N∗ vient du fait qu’à chaque fois, l’intervalle est divisé un deux intervalles plus petits. La suite étant de Cauchy, elle converge. Les conditions d’arrêt restent les mêmes. Voici une proposition d’algorithme : Algorithme 1.2.1 (Racine Lagrange) 1. f ←donnée de la fonction f ; // Paramètre de l’utilisateur 2. a ←valeur de a ; // Paramètre de l’utilisateur 3. b ←valeur de b ; // Paramètre de l’utilisateur 4. ε ←valeur de ε ; // Paramètre de l’utilisateur 5. n ← 0 ; // Compteur d’itération 6. c ← a; // la racine peut être a ! 7. Si f (b) = 0 faire // la racine peut être b ! Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 5 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 Figure 1.2 – xA = −1, 1, xB = −0, 9 et xC = −0, 99 (point sécant rouge) Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 6 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 (a) c ← b ; 8. Finsi 9. Tantque (f (a) f (b) < 0 et |f (c)| > ε) faire // si la racine n’est ni a, ni b ; (a) c ← b − f (b) ∗ b−a f (b)−f (a) ; (b) Si f (c) f (b) < 0 faire i. a ← b ; (c) Finsi (d) b ← c ; (e) n ← n + 1 ; 10. FinTantque 11. Afficher (c) ;// ”la racine” 12. Afficher (f (c)) ; l’image de la ”racine” 13. Afficher (n) ; // le nombre d’itérations Remarque 1.2.2 La résolution du problème f (x) = a (respectivement f (x) = x, f (x) = g (x)) revient à résoudre l’équation k (x) = 0, où k (x) = f (x)−a (respectivement f (x)−x, f (x)−g (x)). Exercice 1.2.1 Soit la fonction f : x 7→ x3 − 1. 1. Vérifier que 1 est une racine de f . 2. Exécuter l’algorithme 1.2.1, en prenant a = 0, 9, b = 1, 1 et ε = 0, 1. Quel est le nombre d’itérations ? Quelle est l’erreur absolue |c − 1| ? 3. Exécuter l’algorithme 1.2.1, en prenant a = 0, 9 et b = 1, 1, ε = 0, 1, et en remplaçant la condition |f (c)| > ε par une condition d’arrêt de la forme |xn+1 − xn | > ε. Quelle est l’erreur absolue |c − 1| ? 4. Exécuter l’algorithme 1.2.1, en prenant a = 0, 9 et b = 1, 1 et en remplaçant la condition |f (c)| > ε par n ≤ 5. Quelle est l’erreur absolue |c − 1| ? Exercice 1.2.2 Soit la fonction f : x 7→ x3 − x. Chercher une approximation d’un point fixe de la fonction f avec une condition d’arrêt de la forme |xn+1 − xn | < 10−2 . On prendra x0 = 0, 8, x1 = 1, 1. Exercice 1.2.3 Donner une approximation d’une solution à l’équation x3 − 0, 75x = −0, 25 avec une condition d’arrêt de la forme |xn+1 − xn | < 10−2 . On prendra x0 = −1, 1, x1 = −0, 8. Exercice 1.2.4 Donner une approximation d’un point de rencontre entre les graphes des fonctions f : x 7→ x2 et g : x 7→ x, avec une condition d’arrêt de la forme |f (xn ) − g (xn )| < 10−2 . On prendra x0 = −1, 1, x1 = 0, 8. Exercice 1.2.5 Ecrire toutes les variantes de l’algorithme 1.2.1, relativement aux différentes conditions d’arrêt abordées ci-avant. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 7 1.2.2 Racine comme extremum d’une fonction localement positive convexe ou localement négative concave Dans cette sous section on suppose que la fonction f est localement positive convexe et s’annule. Cela se justifie par le fait que si f est négative concave alors −f est positive convexe, et les deux fonction s’annulent en même temps. La racine x∞ est donc un point où f atteint un extremum (local). Par conséquent d’un côté comme de l’autre de x∞ , au moins localement, f est monotone. Soit S (x∞ , 0). On suppose que A est un point du segment [BS] et que f (xA ) 6= f (xB ). Puisque f (xA ) 6= f (xB ), la pente de la droite (AB) est non nulle ; elle rencontre par conséquent l’axe des abscisses en point C (xC , 0). Grâce à la convexité de f , C appartient également au segment [BS] ; pour s’en convaincre, il faut étudier les positions relatives des droites (AB) et (BS). La monotonie de f de part et d’autre de x∞ implique que xC est plus proche de x∞ que xA et xB . Cela constitue une garantie de la convergence de la suite construite en répétant la méthode. On remarque en observant l’expression de xC , que le rapprochement est plus important lorsque la pente (ou taux (xA ) est plus grande. Cette remarque permet de choisir par la suite s’il d’accroissement) f (xxBB)−f −xA faut déterminer le prochain xC à partir de xA et xC , ou de xB et xC . La relation de récurrence et les conditions d’arrêts demeurent les mêmes. Figure 1.3 – xA = −1, 1, xB = −0, 9 et xC = −0, 99 (point sécant des droites en rouge) Voici une proposition d’algorithme : Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 8 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 Algorithme 1.2.3 (Racine Lagrange2) 1. f ←donnée de la fonction f ; // Paramètre de l’utilisateur 2. a ←valeur de a ; // Paramètre de l’utilisateur 3. b ←valeur de b ; // Paramètre de l’utilisateur 4. ε ←valeur de ε ; // Paramètre de l’utilisateur 5. n ← 0 ; // Compteur d’itération 6. c ← a; // la racine peut être a ! 7. Si f (b) = 0 faire // la racine peut être b ! (a) c ← b ; 8. Finsi 9. Tantque (|f (c)| > ε et f (b) 6= f (a)) faire // si la racine n’est ni a, ni b ; (a) c ← b − f (b) ∗ (b) Si f (c)−f (a) c−a < b−a f (b)−f (a) ; f (c)−f (b) c−b faire //meilleur la pente i. a ← b ; (c) Finsi (d) b ← c ; (e) n ← n + 1 ; 10. FinTantque 11. Afficher (c) ;// ”la racine” 12. Afficher (f (c)) ; l’image de la ”racine” 13. Afficher (n) ; // le nombre d’itérations Remarque 1.2.4 La variante de la méthode de Lagrange utilisée dans cette sous-section, a en réalité tendance à déterminer des points en lesquels f admet des extrema locaux. On pourra dont déterminer un de ces points x∗ , en résolvant f (x) − f (x∗ ) = 0 ; cela suppose qu’on connaı̂t l’extremum local f (x∗ ). Exercice 1.2.6 Soit la fonction f : x 7→ x2 − 2x + 1. 1. Vérifier que 1 est une racine de f . 2. Exécuter l’algorithme 1.2.3, en prenant a = 1, 1, b = 1, 2 et ε = 0, 1. Quel est le nombre d’itérations ? Quelle est l’erreur absolue |c − 1| ? 3. Exécuter l’algorithme 1.2.3, en prenant a = 1, 1 et b = 1, 2, ε = 0, 1, et en remplaçant la condition |f (c)| > ε par une condition d’arrêt de la forme |xn+1 − xn | > ε. Quelle est l’erreur absolue |c − 1| ? 4. Exécuter l’algorithme 1.2.3, en prenant a = 1, 1 et b = 1, 2 et en remplaçant la condition |f (c)| > ε par n ≤ 5. Quelle est l’erreur absolue |c − 1| ? Exercice 1.2.7 Ecrire toutes les variantes de l’algorithme 1.2.3, relativement aux différentes conditions d’arrêt abordées ci-avant. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 9 1.3 La méthode de Newton-Raphson Que faire lorsqu’on ne peut appliquer ni la méthode de Dichotomie, ni celle de Lagrange ? Il y a en effet une alternative. Cependant celle-ci nécessite que la fonction f soit dérivable. Il s’agit de la méthode de Newton. Cette méthode consiste à exploiter la monotonie locale de f pour se rapprocher de la racine. On choisit un point initial A (x1 , f (x1 )) qui n’est pas un extremum local 0 (f (x1 ) 6= 0) et on cherche B (x2 , 0), qui est le point de rencontre entre la tangente au graphe de f passant par A ((TA )), et l’axe des abscisses. Le calcul de la pente de la droite (TA ) donne 0 (x1 ) . On a donc la relation de récurrence f (x1 ) = 0−f x2 −x1 ( x1 = a xn = xn−1 − f (xn−1 ) , f 0 (xn−1 ) n≥2 Figure 1.4 – xA = −1, 1, xB = −0, 9 et xC = −0, 99 (point sécant des droites en rouge) La méthode de Newton présente l’avantage de ne nécessiter qu’un point de départ et de prendre en compte toute les situations précédemment abordées. Son inconvénient est l’exigence par rapport à la régularité de f et la condition sur la dérivée, pour calculer le terme suivant. On risque à tout moment de tomber sur un extremum local. La convergence de la méthode de Newton n’est garantie que dans les cas d’utilisation possible des variantes la méthode de Langrange. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 10 Algorithme 1.3.1 (Racine Newton) f ←donnée de la fonction f ; // Paramètre de l’utilisateur a ←valeur de a ; // Paramètre de l’utilisateur ε ←valeur de ε ; // Paramètre de l’utilisateur n ← 0 ; // Compteur d’itération s ← a; // la racine peut être a ! Tantque (f 0 (s) 6= 0 et |f (s)| > ε) faire // si la racine n’est ni a, ni b ; 1. 2. 3. 4. 5. 6. (a) s ← s − f (s) f 0 (s) ; (b) n ← n + 1 ; 7. 8. 9. 10. FinTantque Afficher (s) ;// ”la racine” Afficher (f (s)) ;// l’image de la ”racine” Afficher (n) ; // le nombre d’itérations Remarque 1.3.2 Ladite méthode tend également à déterminer les minimum locaux et peut donc être exploitée à cet effet. Cepedant le risque est de tomber sur une racine. On pourra alors, lorque l’extremum f (x∗ ) est connu, résoudre f (x) − f (x∗ ) = 0. Exercice 1.3.1 Soit la fonction f : x 7→ x2 − 2x + 1. 1. Vérifier que 1 est une racine de f . 2. Exécuter l’algorithme 1.3.1, en prenant a = 0, 9 et ε = 0.1. Quel est le nombre d’itérations ? Quelle est l’erreur absolue |c − 1| ? 3. Exécuter l’algorithme 1.3.1, en prenant a = 1, 1, ε = 0, 1, et en remplaçant la condition |f (c)| > ε par une condition d’arrêt de la forme |xn+1 − xn | > ε. Quelle est l’erreur absolue |c − 1| ? 4. Exécuter l’algorithme 1.3.1, en prenant a = 1, 2 et en remplaçant la condition |f (c)| > ε par n ≤ 5. Quelle est l’erreur absolue |c − 1| ? Exercice 1.3.2 Ecrire toutes les variantes de l’algorithme 1.3.1, relativement aux différentes conditions d’arrêt abordées ci-avant. Exercice 1.3.3 Ecrire un algorithme de détermination d’un extremum local. Déterminer un minimum local de la fonction f : x 7→ x2 − 1. 1.3.1 Méthode Newton-Côte La méthode de Newton-Côte est l’application de la méthode de newton pour une fonction f définie de RN vers RN . Il s’agit simplement de remplacer la dérivée de la fonction f , par sa différentielle (ou sa matrice jacobienne). Soit x = (x1 , · · · , xN ) ∈ RN tel que f (x) = (f1 (x) , · · · , fN (x)). La matrice jacobienne de f appliquée à x donne ∂f1 ∂f1 (x) · · · (x) ∂x1 ∂xN .. .. Jf (x) = ... . . ∂fN ∂x1 Cameroun, Université de Ngaoundéré (x) · · · ∂fN ∂xN (x) David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 11 On la récurrence xn = xn−1 − [Jf (xn−1 )]−1 · f (xn−1 ) La condition f 0 (s) 6= 0 est remplacée par det [Jf (s)] 6= 0. La condition de non nullité du déterminant de la matrice Jf (s) assure l’inversibilté de ladite matrice. Exercice 1.3.4 Soit la fonction f : (x, y) 7→ (x + y, x − y). Résoudre f (x, y) = 0 ; 1.4 Résolution des équations linéaires Dans cette section on considère le problème AX = B, où A est une matrice carrée d’ordre n, X et B sont des vecteurs colonne de longueur n. Les matrices A et B sont connues, et on recherche l’inconnue X. La solution existe et est unique si et seulement si A est inversible, c’est à dire de déterminant non nul. On supposera, sauf mention explicite du contraire, que det (A) 6= 0. L’inversion d’une matrice est une opération très coûteuse lorsque sa taille devient grande. Pour cela, il faut l’éviter au maximum. Des méthodes alternatives ont donc étés proposées. 1.4.1 Pivot de Gauss Cette méthode consiste à transformer la matrice augmentée M = (A|B) en une matrice augmenté N = (T |C), où T est une matrice triangulaire (supérieure ou inférieure), et C est un vecteur de la même nature que B. La transformation consiste à choisir à chaque fois (n − 1 fois au total) une ligne pivot, et de remplacer chaque ligne précédente ou suivante (selon la forme triangulaire voulue), par une combinaison linéaire d’elle même avec la ligne pivot. Cette transformation a pour objectif d’annuler les coefficients sur la même colonne que le premier coefficient non nul de la ligne pivot. Le choix de la ligne j comme i-ème ligne pivot nécessite le fait ses i − 1 premiers coefficients tous nuls et pas le i-ème. Après obtention de la matrice augmentée (T |C) on résoud plus facilement, par substitution, le nouveau système obtenu. Voici une proposition d’algorithmes respectivement pour les formes triangulaires inférieures et supérieures. Algorithme 1.4.1 (Pivot de Gauss inférieur) 1. A ←valeur de A ; // Paramètre de l’utilisateur 2. B ←valeur de B ; // Paramètre de l’utilisateur 3. M ← (A|B) ; 4. n ←longueur de B ; 5. Pour P ivot ← 1 jusque n − 1 faire (a) BonP ivot ← P ivot (b) Tantque (A (BonP ivot, BonP ivot) = 0) faire i. BonP ivot ← BonP ivot + 1 ; (c) FinTantque (d) Permuter (M (P ivot, .), M (BonP ivot, .)) ; // choix de la bonne ligne pivot (e) Pour Compteur ← P ivot + 1 jusque n faire Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 12 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 i. M (Compteur, .) ← M (P ivot, P ivot) × M (Compteur, .) − A (Compteur, P ivot) × M (P ivot, .) ; // où M (i, ) désigne la ligne i de la matrice augmentée M . (f ) FinPour 6. FinPour 7. Pour Compteur ← n jusque 1 faire (a) X (Compteur) ← M (Compteur, n + 1) ; (b) Si Compteur 6= n faire i. Pour Compteur2 ← n jusque Compteur + 1 faire ii. X (Compteur) ← X (Compteur)−M (Compteur, Compteur2)×X (Compteur2) ; iii. FinPour (c) FinSI (d) X (Compteur) ← X (Compteur) /M (Compteur, Compteur) ; 8. FinPour 9. Afficher (X) ; Algorithme 1.4.2 (Pivot de Gauss supérieur) 1. A ←valeur de A ; // Paramètre de l’utilisateur 2. B ←valeur de B ; // Paramètre de l’utilisateur 3. M ← (A|B) ; 4. n ←longueur de B ; 5. Pour P ivot ← n jusque 2 faire (a) BonP ivot ← P ivot (b) Tantque (A (BonP ivot, BonP ivot) = 0) faire i. BonP ivot ← BonP ivot − 1 ; (c) FinTantque (d) Permuter (M (P ivot, .), M (BonP ivot, .)) ; // choix de la bonne ligne pivot (e) Pour Compteur ← P ivot − 1 jusque 1 faire i. M (Compteur, .) ← M (P ivot, P ivot) × M (Compteur, .) − A (Compteur, P ivot) × M (P ivot, .) ; // où M (i, ) désigne la ligne i de la matrice augmentée M . (f ) FinPour 6. FinPour 7. Pour Compteur ← 1 jusque n faire (a) X (Compteur) ← M (Compteur, n + 1) ; (b) Si Compteur 6= 1 faire i. Pour Compteur2 ← 1 jusque Compteur − 1 faire Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 13 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 X (Compteur) ← X (Compteur)−M (Compteur, Compteur2)×X (Compteur2) ; ii. iii. FinPour (c) FinSI (d) X (Compteur) ← X (Compteur) /M (Compteur, Compteur) ; 8. FinPour 9. Afficher (X) ; 2x − y − z = −1 x − 0, 5y + z = 1 . Utiliser les deux variantes de la méthode Exercice 1.4.1 Résoudre le système x+y+z =4 de Gauss. Calcul du déterminant Le calcul du déterminant se base sur les trois faits suivants : — Le déterminant d’une matrice triangulaire est le produit de ses éléments diagonaux. — L’ajout à une ligne d’une combinaison linéaires des autres ne modifie pas le déterminant. — La permutation de deux lignes multiplie le déterminant par −1. Etant donnée une matrice A, voici un algorithme de calcul du déterminant de A. Algorithme 1.4.3 (Calcul du déterminant) 1. A ←valeur de A ; // Paramètre de l’utilisateur 2. n ←nombre de ligne de A ; 3. determinant ← 1 ; 4. P ivot ← 1 ; 5. BonP ivot ← P ivot ; 6. Tantque (P ivot < n et BonP ivot ≤ n) faire (a) Tantque (A (BonP ivot, BonP ivot) = 0 et BonP ivot ≤ n) faire i. BonP ivot ← BonP ivot + 1 ; (b) FinTantque (c) Si (BonP ivot ≤ n) faire i. Permuter (A(P ivot, .), A(BonP ivot, .)) ; // choix de la bonne ligne pivot ii. determinant ← −determinant ; iii. Pour Compteur ← P ivot + 1 jusque n faire iv. ivot) × A(P ivot, .) ; // où A (i, ) A(Compteur, .) ← A(Compteur, .) − A(Compteur,P A(P ivot,P ivot) désigne la ligne i de la matrice augmentée M . v. FinPour vi. P ivot ← P ivot + 1 ; vii. BonP ivot ← P ivot ; (d) FinSi Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 14 7. FinTantque 8. Pour Compteur ← 1 jusque n faire determinant ← determinant ∗ A (Compteur, Compteur) ; (a) 9. FinPour 10. Afficher (determinant) ; 2 −1 −1 Exercice 1.4.2 Calculer de trois façons distinctes le déterminant de la matrice 2 −1 2 . 1 1 1 1.4.2 Méthode de Gauss-Jordan La méthode de Gauss-Jordan est similaire au pivot de Gauss. La différence fondamentale est qu’au bout de la transformation, au lieu d’une matrice seulement triangulaire, on a la matrice augmentée (Id|X), où Id est la matrice identité et X la solution. Pour arriver à ce résultat, on ne se contente plus de modifier exclusivement les lignes supérieures (respectivement inférieures) ; on modifie toutes les lignes distinctes de la ligne pivot et on normalise cette dernière. Voici une proposition d’algorithme. Algorithme 1.4.4 (Gauss-Jordan) 1. A ←valeur de A ; // Paramètre de l’utilisateur 2. B ←valeur de B ; // Paramètre de l’utilisateur 3. M ← (A|B) ; 4. n ←longueur de B ; 5. Pour P ivot ← 1 jusque n − 1 faire (a) BonP ivot ← P ivot (b) Tantque (A (BonP ivot, BonP ivot) = 0) faire i. BonP ivot ← BonP ivot + 1 ; (c) FinTantque (d) Permuter (M (P ivot, .), M (BonP ivot, .)) ; // choix de la bonne ligne pivot (e) M (P ivot, .) ← 1 M (P ivot,P ivot) × M (P ivot, .) ; (f ) Pour Compteur ← 1 jusque n faire i. Si (Compteur 6= P ivot) faire ii. M (Compteur, .) ← M (Compteur, .) − M (Compteur, P ivot) × M (P ivot, .) ; // où M (i, ) désigne la ligne i de la matrice augmentée M . iii. FinSi (g) FinPour 6. FinPour 7. X (Compteur) ← M (, n + 1) ; // où M (, j) désigne la colonne j de la matrice augmentée M. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 15 8. Afficher (X) ; 2x − y − z = −1 2x − y + 2z = 2 . Exercice 1.4.3 Résoudre par la méthode de Gauss-Jordan le système x+y+z =4 Inversion d’une matrice L’inversion d’une matrice A consiste à appliquer la méthode de Gauss-Jordan augmentée (A|Id). A la fin on obtient la nouvelle matrice augmentée (Id|A−1 ). 2 −1 Exercice 1.4.4 Calculer de deux façons distinctes l’inverse de la matrice 2 −1 3 3 1.4.3 à la matrice −1 2 . 3 Méthode LU ou de Crout La méthode de consiste à écrire la matrice A comme le produit de deux matrices L et U , où L est une matrice triangulaire inférieure (L signifie Lower) ayant tous ses termes diagonaux égaux à 1, et U est une matrice triangulaire supérieure (U signifie Upper). Cette décomposition nous amène à résoudre successivement deux systèmes, en posant Y = U X : LY = B UX = Y Comment se calcule les matrices L et U ? a11 · · · a1N 1 0 0 u11 · · · u1N .. .. = .. .. .. .. .. . . . 0 0 . . . . lN 1 · · · 1 aN 1 · · · aN N 0 0 uN N Pour tout couple (i, j), on a aij = = Xn Xk=1 lik × ukj 1≤k≤min{i,j} lik × ukj Ainsi, lii = 1, 1 ≤ i ≤ n u1i = a1i , li1 = ai1 /a11 , 1 ≤ i ≤ n X uij = aij − lik × ukj , 1 ≤ i ≤ j ≤ n 1≤k≤i−1 h i X lji = aji − ljk × uki /uii , , 1 ≤ i ≤ j ≤ n 1≤k≤i−1 On peut donc implémenter l’agorithme suivant : Algorithme 1.4.5 (Méthode LU) 1. A ←valeur de A ; // Paramètre de l’utilisateur Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 16 2. 3. 4. 5. 6. B ←valeur de B ; // Paramètre de l’utilisateur n ←longueur de B ; L ← 0 ; //Matrice carrée nulle (initialisation) U ← 0 ; //Matrice carrée nulle (initialisation) Pour i ← 1 jusque n faire (a) Pour j ← i jusque n faire i. ii. iii. iv. v. vi. vii. viii. ix. x. xi. U (i, j) ← A (i, j) ; Si (i = 1 ) faire L (j, i) ← A (j, i) /A (1, 1) ; Sinon L (j, i) ← A (j, i) ; Pour k ← 1 jusque i − 1 faire U (i, j) ← U (i, j) − L (i, k) × U (k, j) ; L (j, i) ← L (j, i) − L (j, k) × U (k, i) ; FinPour L (j, i) ← L (j, i) /U (i, i) ; FinSi (b) FinPour 7. FinPour 8. Pour Compteur ← 1 jusque n faire (a) X (Compteur) ← B (Compteur) ; (b) Si Compteur 6= 1 faire i. Pour Compteur2 ← 1 jusque Compteur − 1 faire ii. X (Compteur) ← X (Compteur)−L (Compteur, Compteur2)×X (Compteur2) ; iii. FinPour (c) FinSi 9. FinPour 10. Pour Compteur ← n jusque 1 faire (a) Si Compteur 6= n faire i. Pour Compteur2 ← n jusque Compteur + 1 faire ii. X (Compteur) ← X (Compteur)−U (Compteur, Compteur2)×X (Compteur2) ; iii. FinPour (b) FinSi (c) X (Compteur) ← X (Compteur) /U (Compteur, Compteur) ; 11. FinPour 12. Afficher (X) ; −x + 2y − 3z = 1 −2x + 8y − 11z = 9 Exercice 1.4.5 Résoudre par la méthode LU le système . −3x + 22y − 35z = 25 Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 17 1.4.4 Méthode LLT ou de Choleski La méthode de Choleski est une variante de la méthode de Crout en prenant U égale à la transposée de L et n’imposant plus la diagonale de L. L’avantage de cette méthode est qu’elle réduit la complexité (coût) en temps et en mémoire, vu qu’on ne calcule qu’une seule matrice triangulaire. Cependant la décomposiotion LLT de la matrice A n’est pas toujours possible, par exemple si un élément diagonale est inférieur ou égal à 0. Par contre, si la matrice A est symétrique et à valeurs diagonales toutes positives ou nulles, on peut éspérer la mettre sous la forme LLT . Toutefois, la condition nécessaire et suffisante est que la matrice A soit symétrique et définie positive. Cette décomposition, lorsqu’elle est possible, nous amène à résoudre successivement deux systèmes, en posant Y = LT X : LY = B LT X = Y Comment se calcule les matrices L ? a11 · · · a1N l11 0 0 l11 · · · lN 1 .. .. = .. .. ... .. .. . . . . . 0 0 . aN 1 · · · aN N lN 1 · · · lN N 0 0 lN N Pour tout couple (i, j), on a aij = = Xn Xk=1 lik × lkj 1≤k≤min{i,j} lik × lkj Ainsi, √ l11 = a11 li1 = ai1 /l11 , 1 ≤ i ≤ n r X l2 , 1 ≤ i ≤ n lii = aii − 1≤k≤i−1 ik h i X lij = aij − lik × ljk /lii , 1 < j < i ≤ n 1≤k≤i−1 On peut donc implémenter l’agorithme suivant : Algorithme 1.4.6 (Méthode LLT) 1. A ←valeur de A ; // Paramètre de l’utilisateur 2. B ←valeur de B ; // Paramètre de l’utilisateur 3. n ←longueur de B ; 4. L ← 0 ; //Matrice carrée nulle (initialisation) 5. Pour j ← 1 jusque n faire (a) Pour i ← j jusque n faire i. L (i, j) ← A (i, j) ; ii. Si (j 6= 1) faire Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 18 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 iii. Pour k ← 1 jusque i − 1 faire iv. L (i, j) ← L (i, j) − L (i, k) × L (j, k) ; v. FinPour vi. FinSi vii. Si (i = j) faire viii. L (i, j) ← p L (i, j) ; ix. Sinon x. L (i, j) ← L (i, j) /L (i, i) ; xi. FinSi (b) FinPour 6. FinPour 7. Pour Compteur ← 1 jusque n faire (a) X (Compteur) ← B (Compteur) ; (b) Si Compteur 6= 1 faire i. Pour Compteur2 ← 1 jusque Compteur − 1 faire ii. X (Compteur) ← X (Compteur)−L (Compteur, Compteur2)×X (Compteur2) ; iii. FinPour (c) FinSi (d) X (Compteur) ← X (Compteur) /L (Compteur, Compteur) ; 8. FinPour 9. Pour Compteur ← n jusque 1 faire (a) Si Compteur 6= n faire i. Pour Compteur2 ← n jusque Compteur + 1 faire ii. X (Compteur) ← X (Compteur)−L (Compteur2, Compteur)×X (Compteur2) ; iii. FinPour (b) FinSi (c) X (Compteur) ← X (Compteur) /L (Compteur, Compteur) ; 10. FinPour 11. Afficher (X) ; x − 2y + 3z = 1 T −2x + 20y − 26z = 18 . Exercice 1.4.6 Résoudre par la méthode LL le système 3x − 26y + 70z = 86 Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 19 1.4.5 Méthodes itératives Méthode de Jacobi La méthode de Jacobi consiste à décomposer la matrice A sous la forme D − M , où D est une matrice diagonale inversible (aucun terme diagonal n’est nul) et M est la différence D − A. Une solution s’exprime alors X = D−1 [M X. + B] ; elle est un point fixe d’une l’application affine X 7→ D−1 [M X. + B]. Considérons la suite (Xn )n∈N∗ définie par la relation X1 , avec AX1 6= B Xn = D−1 [M Xn−1 + B] , n ≥ 2 Lorsque ladite suite converge vers une limite X∞ , celle-ci n’est autre qu’un point fixe, et par conséquent une solution. De façon explicite, Xn−1 n−1 k−1 −1 Xn = D−1 M X1 + D−1 M D B k=1 La suite (Xn )n∈N∗ converge donc si et seulement si le rayon spectral ρ (D−1 M ), de la matrice D−1 M est strictement inférieure à 1 ; le rayon spectral étant ici le module maximal des valeurs propres. P Cette condition est vérifiée en particulier, si pour tout entier i compris Pn entre 1 et N , n |M |, ou si pour tout entier i compris entre 1 et N , |D | > |Dii | > ij ii j=1 |Mji |. Cette j=1 affirmation est basée sur le fait que le rayon spectral d’une matrice minore sa norme, et que le maximum des sommes des modules des lignes (ou des colonnes) est une norme. général, lorsque PEn n A est diagonale dominante (pour tout entier P i compris entre 1 et N , 2 |Aii | > j=1 |Aij |, ou si pour tout entier i compris entre 1 et N , 2 |Aii | > nj=1 |Aji |), on choisit la diagonale de D égale à celle de A ; M est par conséquent de diagonale nulle. Très souvent, quitte à transformer le problème sous une forme équivalente, on choisit la matrice D égale à Id la matrice identité, ceci pour éviter l’inversion (qui nous l’avons dit, a un coût). Comme la limite est atteinte à l’infini, il faut une condition d’arrêt. La suite étant convergente, elle est de Cauchy. La condition d’arrêt pourra être de la forme kAXn − Bk ≤ ε, ou kXn − Xn−1 k ≤ ε, ou tout simplement l’atteint d’un rang n choisi. On peut considérer l’algorithme suivant Algorithme 1.4.7 (Méthode Jacobi) 1. A ←valeur de A ; // Paramètre de l’utilisateur 2. B ←valeur de B ; // Paramètre de l’utilisateur 3. M ←valeur de M ; // Paramètre de l’utilisateur 4. D ←valeur de D ; // Paramètre de l’utilisateur 5. ε ←valeur de ε ; // Paramètre de l’utilisateur 6. n ←longueur de B ; 7. X ← X1 ; //Valeur initiale 8. Tantque kAX − Bk > ε faire (a) Pour i ← 1 jusque n faire i. X (i) ← (M (i, .) ∗ X + B (i)) /D (i, i) ; (b) FinPour Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 20 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 9. FinTantque 10. Afficher (X) ; Exercice 1.4.7 Soit le système x+y =2 . x + 5y = 6 1. Vérifier que la solution est (x, y) = (1, 1). 2. Montrer que le système ci-avant est équivalent à 5x + y = 6 . x + 5y = 6 3. Faire 5 itérations de la méthode de Jacobi sur le dernier système en prenant (x1 , y1 ) = (1, 1; 0, 9). Donner l’erreur absolue. 4. Résoudre par la méthode de Jacobi sur le dernier système en prenant (x1 , y1 ) = (1, 1; 0, 9) et une tolérance de 0, 01. Méthode de Gauss-Seidel La méthode de Gauss-Seidel est une variante de la méthode de Jacobi. La matrice diagonale D est alors constituée de la diagonale de la matrice A. La matrice M , est décomposée en une somme L + U , où L est triangulaire inférieure à diagonale nulle ,et U est triangulaire supérieure. On a A = D − L − U et comme pour la méthode de Jacobi on a une récurrence : X1 , avec AX1 6= B Xn = D−1 [LXn + U Xn−1 + B] , n ≥ 2 On calcule les composantes du terme Xn de façon progressive. La méthode de Gauss-Seidel converge si et seulement si ρ (D−1 U ) < 1 ; ce sera le cas si ∀i = 1, · · · , n, |Dii | > |Uii |. On peut considérer l’algorithme suivant Algorithme 1.4.8 (Méthode Gauss-Seidel) 1. A ←valeur de A ; // Paramètre de l’utilisateur 2. B ←valeur de B ; // Paramètre de l’utilisateur 3. L ←valeur de L ; // Paramètre de l’utilisateur 4. U ←valeur de U ; // Paramètre de l’utilisateur 5. D ←valeur de D ; // Paramètre de l’utilisateur 6. ε ←valeur de ε ; // Paramètre de l’utilisateur 7. n ←longueur de B ; 8. X ← X1 ; //Valeur initiale 9. Tantque kAX − Bk > ε faire (a) Y ← X ; i. Pour i ← 1 jusque n faire ii. X (i) ← (L (i, .) ∗ X + U (i, .) ∗ Y + B (i)) /D (i, i) ; iii. FinPour 10. FinTantque Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 21 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 11. Afficher (X) ; Exercice 1.4.8 Soit le système x+y =2 . x + 5y = 6 1. Vérifier que la solution est (x, y) = (1, 1). 2. Faire 5 itérations de la méthode de Gauss-Seidel en prenant (x1 , y1 ) = (1, 1; 0, 9). Donner l’erreur absolue. 3. Résoudre par la méthode de Gauss-Seidel en prenant (x1 , y1 ) = (1, 1; 0, 9) et une tolérance de 0; 01. Méthode de Richardson La méthode de Richardson, aussi connu sur le nom de méthode du gradient est basé sur une récurrence de la forme X1 , avec AX1 6= B pour un α ∈ R. Xn = (I − αA) Xn−1 + αB, n ≥ 2 La méthode de Richardson converge si et seulement si ρ (I − αA) < 1. Posons λmin et λmax les valeurs propres de module minimal et maximal respectivement. La condition ρ (I − αA) < 1 sera satisfaite si et seulement si les conditions suivantes sont satisfaites : — Toutes les valeurs propres de la matrice A sont non-nulles et de même signe ; — Le signe de α est le même que celui de la partie réelle de λmin ; 2 2 avec pour valeur optimale |α∗ | = |λmin +λ . — |α| < |λmax | max | On peut considérer l’algorithme suivant Algorithme 1.4.9 (Méthode de Richardson) 1. A ←valeur de A ; // Paramètre de l’utilisateur 2. B ←valeur de B ; // Paramètre de l’utilisateur 3. α ←valeur de α ; // Paramètre de l’utilisateur 4. ε ←valeur de ε ; // Paramètre de l’utilisateur 5. n ←longueur de B ; 6. X ← X1 ; //Valeur initiale (a) Tantque kAX − Bk > ε faire i. X ← X − α (AX − B) (b) FinTantque 7. Afficher (X) ; Remarque 1.4.10 (Variante généralisée) Comme la détermination des valeurs propres peut être difficile, celles-ci peuvent être de signes distinct, la méthode de Richardson telle que présentée peut être difficile à mettre en oeuvre. Une variante lorsque la matrice A est à diagonale dominante est de considérer une récurrence de la forme X1 , avec AX1 6= B . Xn = (I − DA) Xn−1 + DB, n ≥ 2 Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 22 CHAPITRE 1. RÉSOLUTION DE L’ÉQUATION F (X) = 0 DANS RN , N ≥ 1 Dans cette récurrence, D désigne une matrice (carrée) diagonale inversible telle que ∀i = 1, · · · , n, n P 2 Dii Aii > 0, 2 |Aii | > |Aij | et |Dii | < P . n |Aij | j=1 j=1 Exercice 1.4.9 Soit le système x+y =3 . x + 5y = 7 1. Vérifier que la solution est (x, y) = (2, 1). 2. Faire 5 itérations de la méthode de Richardson en prenant (x1 , y1 ) = (0, 9; 1, 1) et α = 13 . Donner l’erreur absolue. 3. Résoudre par la méthode de Richardson en prenant (x1 , y1 ) = (0, 9; 1, 1) et une tolérance de 0, 01. x + 5y = 7 Exercice 1.4.10 Soit le système . −2x + y = −3 1. Vérifier que la solution est (x, y) = (2, 1). 2. En permutant les équations du système, cela change-t-il la solution ? 3. Appliquer 5 itérations de la variante de la méthode de Richardson donnée en remarque, sans opération préalable allant au delà d’une permutation, en prenant (x1 , y1 ) = (0, 9; 1, 1). 4. Résoudre par la méthode ci-avant en prenant (x1 , y1 ) = (0, 9; 1, 1) et une tolérance de 0, 01. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE Chapitre 2 Résolution des équations aux dérivées La résolution numérique des équations aux dérivées consiste en général à transformer le problème en un problème de la forme AX = B. Lorsqu’il s’agit d’un problème évolutif, on calcule les termes d’une suite, avec la relation de récurrence Xn = AXn−1 + B. Au lieu de chercher l’expression analytique de la solution, on évalue la solution en un nombre fini de points ; l’idée étant qu’en augmentant le nombre de points, l’on atteigne finalement tout l’espace de résolution. Le fait de se restreindre à un nombre fini de points s’appelle discrétisation de l’espace. La distance entre deux points est appelée pas. Le pas peut être régulier ou non. La discrétisation d’un système passe par le choix d’un nombre fini de points et par remplacement des opérateurs de dérivation par des opérateurs discrets, comme ceux des différences finies. Cela passe par des approximation dont la légitimité provient de la régularité supposée de la fonction inconnue (continue, dérivable, continûment dérivable, de classe C k , de classe C ∞ , ...). 2.1 Dérivation numérique Dans cette section, nous présentons quelques opérateurs discrets qui serviront d’approximation pour les opérateurs différentiels. Nous utilisons pour la suite le développement limité à l’ordre n, suivant la formule de Taylor f (x + h) = f (x) + hf (1) (x) + h3 hn (n) h2 (2) (3) f (x) + f (x) + · · · + f (x) + hn O (h) 2×1 3×2×1 n! avec lim O (h) = 0. Nous présenterons la dérivation dans R, sachant que cela peut être facilement h→0 étendu à RN , en choisissant successivement les directions de dérivation. On considère donc une subdivision x1 < x2 < x3 < · · · < xn−1 < xn , avec un pas régulier h = xi+1 − xi . On définit l’opérateur linéaire de dérivation et ses puissances (composées multiples) de la façon suivante D:f → 7 Df = f (1) D0 f = f (k) Dk f = f , k ≥ 1 2.1.1 Différence finies progressives Dans cette sous section, on considère l’opérateur de différence finie progressive (ou croissante) ∆ défini par ∆ : f 7→ ∆f : x 7→ f (x + h) − f (x) , 23 24 CHAPITRE 2. RÉSOLUTION DES ÉQUATIONS AUX DÉRIVÉES où h désigne le pas utilisé ci-avant. On definit en outre les puissances entières de l’opérateur ∆ (au sens de la composition) par ∆0 f (x) = f (x) et ∆k+1 f (x) = ∆ ∆k f (x) . Considérant la subdivision x1 < x2 < x3 < · · · < xn−1 < xn et notant fi+j = f (xi + jh), on peut ainsi construire de manière récursive la matrice des différences finies progressives comme il suit : fi+k fi+k − fi+k−1 · · · M1,k−1 − M2,k−1 M1,k − M2,k fi+k−1 ··· · · · M2,k−1 − M3,k−1 − . · · · · · · · · · − − M = fi+1 fi+1 − fi − − − fi − − − − Proposition 2.1.1 ∆k fi = Exercice 2.1.1 On donne le tableau x −3 −2 −1 0 1 2 f (x) 11 6 3 2 3 6 Dresser la matrice des différences Xk j=0 (−1)j Ckj fi+k−j . de valeurs suivant, pour la fonction x 7→ x2 + 2. 3 11 finies croissantes. D’après la formule de Taylor (∆ + Id ) f (x) = ∆f (x) + f (x) = f (x + h) h3 (3) hn (n) h2 (2) f (x) + f (x) + · · · + f (x) + · · · 2 6 n! 2 3 h 2 h 3 hn n 0 = D f (x) + hDf (x) + D f (x) + D f (x) + · · · + D f (x) + · · · 2 6 n! 2 3 n h h h = D0 + hD + D2 + D3 + · · · + Dn + · · · f (x) 2 6 n! " # 2 3 nn (hD) (hD) (hD) = D0 + hD + + + ··· + + · · · f (x) 2 6 n! = f (x) + hf (1) (x) + = exp (hD) f (x) D’où hD = ln (∆ + Id ). En utilisant le développement limité de la fonction ln (x + 1) au voisinage de 0, il vient que hD = ∆ − ∆2 ∆3 ∆4 + − + ··· 2 3 4 Une approximation de l’opérateur de dérivation à l’orde 1 est D ≈ h1 ∆. Ainsi, f (1) (x) = Df (x) 1 ≈ ∆f (x) h f (x + h) − f (x) = h Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 25 CHAPITRE 2. RÉSOLUTION DES ÉQUATIONS AUX DÉRIVÉES (k) On retrouve l’expression du taux d’accroissement. En posant f (k) (xi ) = fi , et en appliquant à xi , on a fi+1 − fi (1) fi ≈ h 2 Une approximation de l’opérateur de dérivation à l’orde 2 est D ≈ h1 ∆ − ∆2 . Ainsi, f (1) (x) = Df (x) 1 ≈ (2Id − ∆) ∆f (x) 2h (2Id − ∆) (f (x + h) − f (x)) = 2h 2 (f (x + h) − f (x)) − ∆f (x + h) + ∆f (x) = 2h 2 (f (x + h) − f (x)) − (f (x + 2h) − f (x + h)) + (f (x + h) − f (x)) = 2h f (x + 2h) − 4f (x + h) + 3f (x) =− 2h En appliquant à xi , on a fi+2 − 4fi+1 + 3fi 2h On peut de la même façon faire une approximation de la dérivée seconde à l’ordre 2, en estimant D2 . f (1) (xi ) ≈ − ∆2 ∆3 ∆4 (hD) = ∆ − + − + ··· 2 3 4 ≈ ∆2 2 2 D’où, f (2) (x) = D2 f (x) 1 ≈ 2 ∆2 f (x) h ∆ (f (x + h) − f (x)) = h2 f (x + 2h) − 2f (x + h) + f (x) = h2 En appliquant à xi , on a f 2.1.2 (2) (xi ) ≈ fi+2 − 2fi+1 + fi h2 Différence finies regressives Dans cette sous section, on considère l’opérateur de différence finie regressive (ou décroissante) ∇ défini par ∇ : f 7→ E − f : x 7→ f (x) − f (x − h) Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 26 CHAPITRE 2. RÉSOLUTION DES ÉQUATIONS AUX DÉRIVÉES où h désigne le pas utilisé ci-avant. On definit en outre les puissances entières de l’opérateur ∇ (au sens de la composition) par ∇0 f (x) = f (x) et ∇k+1 f (x) = ∇ ∇k f (x) . Considérant la subdivision xn > xn−1 > xn−2 > · · · > x2 > x1 et notant fi−j = f (xi − jh), on peut ainsi construire de manière récursive la matrice des différences finies regressives comme il suit : fi − − − − fi−1 fi − fi−1 − − − . · · · · · · · · · − − N = fi−k+1 ··· · · · Nk−1,k−1 − Nk,k−1 − fi−k fi+k+1 − fi−k · · · Nk,k−1 − Nk+1,k−1 Nk,k − Nk+1,k Proposition 2.1.2 ∇k fi = ∆k fi−k = Exercice 2.1.2 On donne le tableau x −3 −2 −1 0 1 2 f (x) 11 6 3 2 3 6 Dresser la matrice des différences Xk j=0 (−1)j Ckj fi−j . de valeurs suivant, pour la fonction x 7→ x2 + 2. 3 11 finies décroissantes. En utilisant la formule de Taylor, on obtient comme dans la section précédente que hD = ∇ + ∇2 ∇3 ∇4 + + + ··· 2 3 4 A l’ordre 1, on a (1) fi ≈ fi − fi−1 h A l’ordre 2, on a f (1) (xi ) ≈ 3fi − 4fi−1 + fi−2 2h (xi ) ≈ fi − 2fi−1 + fi−2 h2 et f 2.1.3 (2) Différence finies centrées Dans cette sous section, on considère l’opérateur de différences finies regressives δ défini par δ : f 7→ δf : x 7→ f (x + h) − f (x − h) En utilisant la formule de Taylor, il vient que δ = (exp (hD) − exp (−hD)) = 2 sinh (hD) d d dD δ= (2 sinh (hD)) = 2h cosh (hD) dδq dδ dδ √ dD dD = 2h sinh2 (hD) + 1 = h δ2 + 4 dδ dδ 1= Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 27 CHAPITRE 2. RÉSOLUTION DES ÉQUATIONS AUX DÉRIVÉES D’où − 1 1 dD 1 2 = √ δ +4 2 = dδ h h δ2 + 4 On a ainsi le développement 1 1 hD = δ − δ 3 + · · · 2 48 A l’ordre 1, on a (1) fi ≈ fi+1 − fi−1 2h A l’ordre 2, pour la dérivée seconde f (2) (xi ) ≈ fi+2 − 2fi + fi−2 4h2 Cependant, vu que cette formule nécessite un grand nombre de points pour le calcul, on peut reserrer le pas en prenant h2 . De cette façon, on a la formule couramment utilisée f (2) (xi ) ≈ fi+1 − 2fi + fi−1 h2 Proposition 2.1.3 δ k fi = 2.2 Xk j=0 (−1)j Ckj fi+k−2j Problèmes aux conditions limites Les problèmes aux conditions limites interviennent dans plusieurs phénomènes. Pour un apprentissage pratique, nous considérerons dans cette section le problème .. u (x) = 3, x ∈ ]0, 1[ . u (1) = 0 (2.1) u (0) = 1 C’est un problème aux conditions limites mixtes dont la solution est u (x) = (x − 1)2 . L’utilisation d’une méthode numérique pour résoudre un problème, sous-tend qu’on a la preuve théorique (même si abstraite) de l’existence de la solution. Dans le cas général, il est difficile d’obtenir l’expression analytique de la solution ; on l’estime en un nombre fini de points. 2.2.1 Discrétisation On considère la subdivision à pas regulier 0 = x1 < x2 < x3 < · · · < xn−1 < xn = 1. On évalue le problème (2.1) en chaque xi , on remplace les opérateurs de dérivation par leurs approximations (différences centrées d’ordre 2, pour la dérivée seconde, et différences regressives d’ordre 2, pour la dérivée première), et on obtient ui+1 −2ui +ui−1 = 3, 2 ≤ i ≤ n − 1 h2 +un−2 (2.2) − un −2un−1 =0 2h u1 = 1 Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 28 CHAPITRE 2. RÉSOLUTION DES ÉQUATIONS AUX DÉRIVÉES Le système (2.2) correspond à n équations linéaires u1 = 1 u1 − 2u2 + u3 = 3h2 u2 − 2u3 + u4 = 3h2 ··· ui−1 − 2ui + ui+1 = 3h2 ··· un−2 − 2un−1 + un = −2h Comme on connaı̂t que u1 = 1, on se restreint à n − 1 équations, en remplaçant u1 par sa valeur. La seconde équation devient −2u2 + u3 = 3h2 − 1 On peut reécrire le problème sous la forme AU −2 1 0 1 −2 1 0 1 −2 0 0 1 A= 0 0 0 0 0 0 0 0 0 0 0 0 = B en prenant 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 −2 1 0 0 0 .. .. .. . 0 0 . . .. .. .. . 0 . . 0 0 0 1 −2 1 0 0 1 −2 1 T B = 3h2 − 1, 3h2 , 3h2 , · · · , 3h2 , 3h2 , −2h U = [u2 , u3 , · · · , un ]T La résolution du problème linéaire AU = B se fait à l’aide des méthodes étudiées au chapitre 1. La matrice A est dite creuse, relativement à sont grand nombre de zéros. L’un des avantages de l’utilisation des différences finies est d’avoir des matrices creuses, plus facile à inverser. 2.3 Problèmes de Cauchy Les problèmes de Cauchy modélisent les phénomènes qui évoluent dans le temps, et ont une condition initiale. Pour un apprentissage pratique, nous considérerons dans les deux premières sous-sections l’équation .. u (t) − 4u (t) = 3, t ∈ ]0, 5] . (2.3) u (0) = u (0) = 0 2.3.1 Méthode d’Euler Dans cette sous-section l’on s’intéresse aux équations au dérivées de premier ordre. Le problème . (2.3) est du second ordre, mais on peut y remédier en posant u = v. On aura de cette façon le système équivalent . u (t) = v (t) , t ∈ ]0, 5] . (2.4) v (t) = 4u (t) + 3, t ∈ ]0, 5] u (0) = 1, v (0) = 0 Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 29 CHAPITRE 2. RÉSOLUTION DES ÉQUATIONS AUX DÉRIVÉES La méthode d’Euler utilise le développement limité d’ordre 1, ou de façon équivalente les différences finies regressives d’ordre 1. On considère la subdivision de temps, à pas regulier, 0 = t1 < t2 < t3 < · · · < tn−1 < tn = 5. En discrétisant le problème (2.4), on obtient ui −ui−1 = vi , 2 ≤ i ≤ n h vi −vi−1 (2.5) = 4ui + 3, 2 ≤ i ≤ n h u1 = 1, v1 = 0 Le problème (2.5) nous donne la récurrence ( T T u1 v1 = 1 0 T T ui vi = A ui−1 vi−1 + B, n ≥ i ≥ 2 avec 1 h A= 4h 1 et 2.3.2 T B= 0 3 Méthode de Taylor La méthode de taylor généralise la méthode d’Euler. Elle utilise la différentiabilité et les développement limités en séries de Taylor. On obtient à la fin une réccurrence. Pour illustrer, considérons l’équation différentielle ordinaire (EDO) · u = f (t, u) u (0) = u0 où la fonction f est assez régulière. On a hn h2 (2) u + · · · + u(n) + · · · 2 n! h2 ∂ ∂u ∂ = u + hf (t, u) + f (t, u) + × f (t, u) + · · · 2 ∂t ∂t ∂u h2 ∂ ∂ = u + hf (t, u) + f (t, u) + f (t, u) × f (t, u) + · · · 2 ∂t ∂u u (t + h) = u + hu(1) + Si on s’arrête à l’ordre 1, on retrouve la méthode d’Euler. A l’ordre 2, on obtient en ti , h2 ∂ ∂ ui+1 = ui + hf (ti , ui ) + f (ti , ui ) + f (ti , ui ) × f (ti , ui ) 2 ∂t ∂u Exercice 2.3.1 Résoudre par les méthodes d’Euler et de Taylor à l’ordre 2, le problème · u = 2tu + 4t , ]0, 1] u (0) = 1 2 Prendre le pas 0.2, puis 0.1. Evaluer les erreurs relativement à la solution exacte u (t) = 3et − 2. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 30 2.3.3 CHAPITRE 2. RÉSOLUTION DES ÉQUATIONS AUX DÉRIVÉES Méthode de Runge-Kutta La méthode de Runge-Kutta est similaire à la méthode de Taylor, dans l’expression de la relation de récurrence. L’application de la méthode de Runge-Kutta à un ordre n conduit à une expression Xn ui+1 = ui + pj kij j=1 où ( ki1 = hf (ti , ui ) kij = hf ti + αj h, ui + Pj−1 l=1 βjl kil , 2 ≤ j ≤ n Les αj , βjl et pj sont choisis de Pntelle sorte que les dérivées successives, jusqu’à l’ordre n, de l’erreur E (h) = u (t + h) − u (t) − j=1 pj kij , s’annulent toutes. Remarquons qu’au premier ordre, on retrouve la méthode d’Euler. A l’ordre 2, on a la méthode du point milieu, avec β21 = 0, 5 α2 = 0, 5 p1 = 0, p2 = 1 En remplaçant, et ui+1 ki1 = hf (ti , ui ) ki2 = hf ti + h2 , ui + ki1 2 h ki1 = ui + hf ti + , ui + 2 2 La méthode de Runge-Kutta à l’ordre 4 est la plus utilisée. β21 = 0, 5 β31 = 0, β32 = 0, 5 β41 = β42 = 0, β43 = 1 α2 = α3 = 0, 5, α4 = 1 p1 = p4 = 1/6, p2 = p3 = 1/3 En remplaçant, ki1 ki2 k i3 ki4 = hf (ti , ui ) = hf ti + h2 , ui + k2i1 = hf ti + h2 , ui + k2i2 = hf (ti + h, ui + ki3 ) et ui+1 = ui + 1 (ki1 + 2ki2 + 2ki3 + ki4 ) 6 Exercice 2.3.2 Résoudre par les méthodes de Runge-Kutta l’ordre 2 et 4, le problème · u = 3u + 15 , ]0; 1] u (0) = −2 Prendre le pas 0.2, puis 0.1. Evaluer les erreurs relativement à la solution exacte u (t) = 3e3t − 5. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 31 CHAPITRE 2. RÉSOLUTION DES ÉQUATIONS AUX DÉRIVÉES 2.3.4 Problèmes de Cauchy aux conditions limites Les problèmes de Cauchy aux conditions limites modélisent des phénomènes qui évoluent dans le temps, mais avec des conditions limites pour la variable d’espace. Pour des raisons pratiques, nous considérerons le problème de la chaleur sur une barre de fer linéaire, avec les conditions de Dirichlet au bord : 2 ∂x u (t, x) − ∂t u (t, x) = 0, t ∈ ]0; 5] , x ∈ ]0; 2[ u (0, x) = 1 − sin (x) , x ∈ ]0; 2[ (2.6) u (t, 0) = u (t, 2) = 0, t ∈ ]0; 5] On considère avec des pas constants (∆t en temps et ∆x en espace), les subdivisions 0 = t0 < · · · ti < · · · < tn = 5, et 0 = x0 < · · · xj < · · · < xm+1 = 2. Le principe de discrétisation est le même ; nous choisirons la méthode des différences finies centrées d’ordre 2 en espace, et les différences finies progressives d’ordre 1 en temps. La discrétisation produit i ui+1 −uij uj+1 −2uij +uij−1 j − = 0, 0 ≤ i ≤ n − 1, 1 ≤ j ≤ m 2 ∆x ∆t (2.7) u0j = 1 − sin (j∆x) , 1 ≤ j ≤ m ui = ui 0 m+1 = 1, 1 ≤ i ≤ n Pour 0 ≤ i ≤ n − 1 et 2 ≤ j ≤ m − 1, on a i+1 i 2∆t ∆t ∆t i u = 1 − u1 + ∆x 2 2 u2 + ∆x2 1 ∆x i ∆t i 2∆t ∆t i ui+1 = ∆x uj + ∆x 2 uj−1 + 1 − ∆x2 2 uj+1 j i i+1 ∆t i 2∆t ∆t um = ∆x um + ∆x 2 um−1 + 1 − ∆x2 2 T En posant ui = ui1 , ui2 , · · · , uij , · · · , uim , il apparaı̂t la récurrence ui+1 = Aui + B, avec T u0 = u01 , u02 , · · · , u0j , · · · , u0m ∆t ∆t , 0, · · · , 0, · · · , 0, B= 2 ∆x ∆x2 et 2∆t ∆t 1 − ∆x 2 ∆x2 2∆t ∆t2 1 − ∆x 2 ∆x . .. A= 0 0 0 0 0 0 ∆t ∆x2 ... ∆t ∆x2 0 T 0 0 ... 2∆t ∆x2 ∆t ∆x2 0 0 0 1− 1 ∆t ∆x2 2∆t − ∆x 2 Le schéma numérique (2.7) est stable si ρ (A), le rayon spectral de la matrice A est strictement inférieure à 1. La stabilité garantit qu’une éventuelle érreur reste bornée ; elle détermine les ”bons” pas à choisir. Pour le cas présent, la stabilité est vérifiée lorsqu’on a la condition CourantFriedrich-Levy (CFL) 2∆t < ∆x2 . Nous n’abordons pas ici les problèmes de consistance du schéma numérique (voir [1]). Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE Chapitre 3 Interpolation et extrapolation Dans la plupart des cas, on dispose des valeurs prises par une fonction en un nombre fini de points. Celà correspond aux mesures en laboratoires, à la résolution numérique des équations aux dérivées, et à bien d’autres situations. L’interpolation et l’extrapolation on pour but de donner le graphe d’une fonction, sachant quelques points de celui-ci. Ces méthodes sont théoriquement basées sur l’application du théorème de Stone-Weierstrass à la sous-algèbre des polynômes, dans l’algèbre des fonctions continues sur un compact : toute fonction continue sur un intervalle fermé est la limite d’une suite de polynômes. Dans ce chapitre on considère le jeux de points ((xi , fi ))1≤i≤n à partir duquel on construira un polynôme d’approximation. Ce polynôme est de dégré n − 1 et s’exprime f (x) ≈ Pn−1 (x) = a0 + a1 x + a2 x2 + · · · + an−1 xn−1 Les différentes methodes consistent donc à déterminer les coeffitients (ai )0≤i≤n−1 . 3.1 Matrice de Vandermonde Le premier critère d’une interpolation est son exactitude : pour tout indice i, Pn−1 (xi ) = fi . Cela nous conduit au sytème linéaire de n équations à n inconnues n−1 2 a0 + a1 x1 + a2 x1 + · · · + an−1 x1 = f1 ··· 2 a0 + a1 xi + a2 xi + · · · + an−1 xin−1 = fi ··· 2 a0 + a1 xn + a2 xn + · · · + an−1 xnn−1 = fn On pose 1 x1 x21 1 x2 x22 .. .. V = ... . . 2 1 xn−1 xn−1 1 xn x2n ··· ··· .. . ··· ··· x1n−1 x2n−1 .. . n−1 xn−1 xnn−1 F = [f1 , · · · , fi , · · · , fn ]T et A = [a0 , · · · , ai , · · · , an−1 ]T 32 33 CHAPITRE 3. INTERPOLATION ET EXTRAPOLATION La matrice V est appelée matrice de Vandermonde. La suite consiste à résoudre par une méthode le problème V ·A=F Exercice 3.1.1 On donne le tableau de valeurs suivant, pour la fonction x 7→ x2 + 1 x −3 −2 −1 0 1 2 3 f (x) 10 5 2 1 2 5 10 1. Utiliser la méthode de Vandermonde pour interpoler f (0.5). Evaluer les erreurs absolues et relatives. 2. Utiliser la méthode de Vandermonde pour extrapoler f (−4). Evaluer les erreurs absolues et relatives. 3.2 Polynôme d’interpolation de Lagrange La méthode de Lagrange consiste à réaliser une projection de f (x), dans l’espace vectoriel de dimension n engendré par la base (fi )1≤i≤n . Ainsi, f (x) ≈ Pn−1 (x) = a1 (x) f1 + · · · + ai (x) fi + · · · + an (x) fn Les (ai )1≤i≤n sont des polynômes (de dégrés n − 1) choisis de telle sorte que Pn−1 (xi ) = fi . Il faut donc que ai (xi ) = 1 ai (xj ) = 0, si i 6= j L’une des façons de choisir les (ai )1≤i≤n est la suivante ai (x) = Yn j=1,j6=i (x − xj ) (xi − xj ) Exercice 3.2.1 On donne le tableau de valeurs suivant, pour la fonction x 7→ x2 + 2 x −3 −2 −1 0 1 2 3 f (x) 11 6 3 2 3 6 11 1. Utiliser la méthode de Lagrange pour interpoler f (0, 5). Evaluer les erreurs absolues et relatives. 2. Utiliser la méthode de Lagrange pour extrapoler f (−4). Evaluer les erreurs absolues et relatives. 3.3 3.3.1 Polynôme d’interpolation de Newton Différences divisées Soit ((xi , fi ))1≤i≤n une suite finie de points du graphe d’une fontion f . On définit les différences divisées d’un ordre donné par induction, comme suit : [xi ] f = fi , ordre 0 [xi , xj ] f = Cameroun, Université de Ngaoundéré fj − fi , ordre 1 xj − xi David Jaurès FOTSA MBOGNE 34 CHAPITRE 3. INTERPOLATION ET EXTRAPOLATION [xi , xj , xk ] f = [xi , xj , · · · , xm , xn ] f = [xj , xk ] f − [xi , xj ] f , ordre 2 xk − xi [xj , · · · , xm , xn ] f − [xi , xj , · · · , xm ] f xn − xi On parlera de différence divisée croissante (respectivement décroissante) d’orde k, lorsqu’il s’agira de faire le calcul [xi , xi+1 , · · · , xi+k ] f (respectivement [xi+k , xi+k−1 , · · · , xi ] f ). Proposition 3.3.1 [xi , xi+1 , · · · , xi+k ] f = fi+j Xk j=0 Qk (xi+j − xi+l ) l=0,l6=j et [xi+k , xi+k−1 , · · · , xi ] f = fi+k−j Xk j=0 Qk (xi+k−j − xi+k−l ) l=0,l6=j Lorsque le pas est une constante h, [xi , xi+1 , · · · , xi+k ] f = 3.3.2 1 1 ∆k fi et [xi+k , xi+k−1 , · · · , xi ] f = ∇ k fi k k!h k!hk Polynôme d’interpolation de Newton La méthode de newton consiste à remarquer que f (x) ≈ Pn−1 (x) = P0 (x) + (P1 (x) − P0 (x)) + (P2 (x) − P1 (x)) + · · · + (Pn−1 (x) − Pn−2 (x)) où Pi est le polynôme d’interpolation de Lagrange basé sur les points x1 , x2 , · · · , xi+1 . La différence Pi (x) − Pi−1 (x) peut s’exprimer grâce aux différences divisées qui ont fait l’objet de la première sous-section. Il est établit, avec les différences divisées croissantes, que Pi (x) − Pi−1 (x) = [x1 , x2 , · · · , xi , xi+1 ] f Yi j=1 (x − xj ) et f (x) ≈ Pn−1 (x) = P0 (x) + = f0 + Xn−1 i=1 Xn−1 i=1 [x1 , · · · , xi+1 ] f [x1 , · · · , xi+1 ] f Yi Yi j=1 j=1 (x − xj ) (x − xj ) L’utilisation des différences divisées croissantes ne diffère de l’utilisation différences divisées décroissantes, qu’en considérant comme point xi , le point xn−i+1 . Ainsi, Yn Pi (x) − Pi−1 (x) = [xn , xn−1 , · · · , xn−i+1 , xn−i ] f (x − xj ) j=n−i+1 Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 35 CHAPITRE 3. INTERPOLATION ET EXTRAPOLATION et f (x) ≈ Pn−1 (x) = P0 (x) + = fn + Xn−1 i=1 Xn−1 i=1 [xn , · · · , xn−i ] f [xn , · · · , xn−i ] f Yn j=n−i+1 Yn j=n−i+1 (x − xj ) (x − xj ) Lorsque le pas est une constante h, il vient que f (x) ≈ Pn−1 (x) Xn−1 ∆k f1 Yk (x − xj ) = f1 + j=1 k=1 k!hk Xn−1 ∇k fn Yn (x − xj ) k=1 k!hk j=n−k+1 Q Pour simplifier l’écriture, on peut poser ωij (x) = jl=i (x − xl ), et avoir = fn + f (x) ≈ Pn−1 (x) Xn−1 1 ω1k (x) ∆k f1 = f1 + k=1 k!hk = fn + Xn−1 1 n ωn−k+1 (x) ∇k fn k=1 k!hk On remarque que j ωij+1 (x) = ωij (x) (x − xj+1 ) et ωi−1 (x) = ωij (x) (x − xi−1 ) Exercice 3.3.1 On donne le tableau de valeurs suivant, pour la fonction x 7→ x2 + 2. x −3 −2 −1 0 1 2 3 f (x) 11 6 3 2 3 6 11 1. Dresser les matrices des différences finies croissantes et décroissantes. 2. Utiliser succesivement les deux variantes de la méthode de Newton pour interpoler f (0, 5). Evaluer les erreurs absolues et relatives. 3. Utiliser la méthode de Newton pour extrapoler f (−4). Evaluer les erreurs absolues et relatives. Exercice 3.3.2 On donne le tableau de valeurs suivant, pour la fonction x 7→ x2 + 2 x −3 −2 0 2 3 f (x) 11 6 2 6 11 1. Le pas est-il constant ? 2. Dresser les matrices des différences divisées croissantes et décroissantes. 3. Utiliser succesivement les deux variantes de la méthode de Newton pour interpoler f (1). Evaluer les erreurs absolues et relatives. 4. Utiliser la méthode de Newton pour extrapoler f (4). Evaluer les erreurs absolues et relatives. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 36 CHAPITRE 3. INTERPOLATION ET EXTRAPOLATION 3.4 Méthode d’interpolation d’Aitken Dans les sections précédentes on a vu comment déterminer un polynôme d’interpolation de dégré n − 1, à partir d’un jeux de n points du graphe d’une fonction. La méthode d’Aitken permet à partir de deux polynômes d’interpolation de même dégré n − 1, basés sur des jeux de points ayant exactement n − 1 points communs, d’obtenir un autre polynôme de dégré n, basé sur la réunion des deux jeux de points ; cette réunion ayant n + 1 points. Soient l’ensemble de points {(x1 , f1 ) , (x1 , f1 ) , · · · , (xn−1 , fn−1 ) , (a, f (a)) , (b, f (b))}. On a b considère Pn−1 et Pn−1 les polynômes de Lagrange basés respectivement, sur les ensemble de points {(x1 , f1 ) , (x1 , f1 ) , · · · , (xn−1 , fn−1 ) , (a, f (a))} et {(x1 , f1 ) , (x1 , f1 ) , · · · , (xn−1 , fn−1 ) , (b, f (b))}. Alors, on génère un polynôme d’interpolation de dégré n de la façon suivante : Pna,b (x) = a b (b − x) Pn−1 − (a − x) Pn−1 b−a Cette approche permet une détermination progressive des polynômes d’interpolations. Pour un jeux de points ((xi , fi ))1≤i≤n , on peut construire la matrice progressive M (x) donnée par (x−xi+1 )M1,k−1 −(x−xi+k )M2,k−1 (x−xi )M1,k −(x−xi+k )M2,k i+k −(x−xi+k )fi+k−1 · · · fi+k (x−xi+k−1x)fi+k −xi+k−1 xi+k −xi xi+k −xi (x−xi )M2,k−1 −(x−xi+k−1 )M3,k−1 fi+k−1 · · · · · · − xi+k−1 −xi ··· · · · · · · − − (x−xi )fi+1 −(x−xi+1 )fi − − − fi+1 xi+1 −xi fi − − − − avec ∀n + 1 ≥ i + j ≥ 2, ( Mi,j (x) = fn+1−i , si j = 1 (x−xn+2−i−j )Mi,j−1 −(x−xn+1−i )Mi+1,j−1 , xn+1−i −xn+2−i−j De même, on construit la matrice regressive N (x) donnée par fi − − − (x−xi−1 )fi −(x−xi )fi−1 f − − i−1 xi −xi−1 ··· ··· ··· − (x−x )N −(x−xi )Nk,k−1 i−k+1 k−1,k−1 fi−k+1 ··· ··· xi −xi−k+1 fi−k (x−xi−k )fi−k+1 −(x−xi−k+1 )fi−k xi−k+1 −xi−k ··· . sinon (x−xi−k+1 )Nk,k−1 −(x−xi−1 )Nk+1,k−1 xi−1 −xi−k+1 − − − − (x−xi−k )Nk−1,k −(x−xi )Nk+1,k xi −xi−k avec ∀n ≥ i ≥ j ≥ 1, ( Ni,j (x) = fn+1−i , si j = 1 (x−xn+j−i )Ni−1,j−1 −(x−xn+1−i )Ni,j−1 , xn+1−i −xn+2−i−j sinon . Exercice 3.4.1 On donne le tableau de valeurs suivant, pour la fonction x 7→ x4 + 2x3 − 1 x −4 −3 0 2 3 5 f (x) 127 26 −1 31 134 874 1. Utiliser les méthodes d’Aitken croissante et décroissante pour interpoler f (1). Evaluer les erreurs absolues et relatives. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 37 CHAPITRE 3. INTERPOLATION ET EXTRAPOLATION 2. Utiliser les méthodes d’Aitken croissante et décroissante pour interpoler f (2). Evaluer les erreurs absolues et relatives. 3. Utiliser les méthodes d’Aitken croissante et décroissante pour extrapoler f (−5). Evaluer les erreurs absolues et relatives. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE Chapitre 4 Intégration numérique dans R L’intégration numérique d’une fontion (intégrable) f sur un segment borné [a, b], consiste à Rb déterminer une approximtion du réel Ia,b (f ) = a f (x) dx, grâce à une subdivision a = x1 < · · · < xj < · · · < xn = b. Les bases théoriques sont celle de l’intégrale de Riemman et de l’interpolation. Nous présentons quelques technique d’approximation tout au long de ce chapitre. 4.1 Approximation par des aires En réalité les intégrales définies sont des aires de surfaces, ou plus généralement de volumes. Ainsi, Ia,b (f ) représente l’aire du domaine compris entre le graphe de f et l’axe des abscisses. On peut faire l’effort de partitionner ce domaine en rectangles ou en trapèzes (mieux) et sommer les aires de ceux-ci. Selon qu’on aura choisi comme surfaces élémentaires des rectangles ou des trapèzes, on dira qu’on a utilisé, respectivement, la méthode des rectangles ou des trapèzes. La méthode des rectangles présente l’inconvénient de perdre au moins un des points extrêmes (x1 , f1 ) ou (xn , fn ). On a Xn−1 i=1 (xi+1 − xi ) fi ≈ Ia,b (f ) ≈ Si le pas est la constante h = b−a , n h Xn−1 i=1 (xi+1 − xi ) fi+1 on a Xn−1 i=1 fi ≈ Ia,b (f ) ≈ h Xn−1 i=1 fi+1 Par la méthode des trapèzes Ia,b (f ) ≈ Si le pas est la constante h = b−a , n Xn−1 (fi+1 + fi ) (xi+1 − xi ) i=1 2 on a Xn−1 1 Ia,b (f ) ≈ h (f1 + fn ) + fi i=2 2 38 39 CHAPITRE 4. INTÉGRATION NUMÉRIQUE DANS R Figure 4.1 – Methodes des rectangles Figure 4.2 – Méthode des trapèzes Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 40 CHAPITRE 4. INTÉGRATION NUMÉRIQUE DANS R Sur les figures, les zones en rouges représente l’erreur commise lors de l’approximation de l’intégrale. Exercice 4.1.1 On donne le tableau de valeurs suivant, pour la fonction x 7→ x3 x −3 −2 −1 0 1 2 . f (x) −27 −8 −1 0 1 8 R2 1. Utiliser succesivement les deux variantes de la méthode des rectangles pour calculer −3 f (x) dx. Evaluer les erreurs absolues. R2 2. Utiliser la méthode des trapèzes pour calculer −3 f (x) dx. Evaluer l’erreur absolue. R4 3. Que faire pour calculer −5 f (x) dx, en supposant qu’on ne connaı̂t pas l’expression de la fonction f ? Exercice 4.1.2 On donne le tableau de valeurs suivant, pour la fonction x 7→ x3 + 1 x −3 −1 0 1 2 . f (x) −26 0 1 2 9 1. Le pas est-il constant ? R2 2. Utiliser succesivement les deux variantes de la méthode des rectangles pour calculer −3 f (x) dx. Evaluer les erreurs absolues. R2 3. Utiliser la méthode des trapèzes pour calculer −3 f (x) dx. Evaluer l’erreurs absolue. 4.2 Méthode de Simpson La méthode de Simpson est une décomposition de l’intégrale en somme d’intégrales sur des regroupement de points consécutifs, trois à trois. En outre, on intègre les polynômes de Langrange de dégré 2, basés sur trois points consécutifs. En se basant sur un jeux de n = 2k + 1 points, ((xi , fi ))1≤i≤n , et en notant Pi (x), le polynôme d’interpolation basé sur les points xi−1 , xi et xi+1 , il vient que Z xn Ia,b (f ) = f (x) dx x1 = ≈ x2i+1 Xk Z i=1 f (x) dx x2i−1 Xk Z i=1 x2i+1 P2i (x) dx x2i−1 En se basant sur les points xi−1 , xi et xi+1 on a l’interpolation P Qi+1 Xi+1 x2 − x i+1 j=i−1,j6=k xj + j=i−1,j6=k xj Pi (x) = fk . Qi+1 k=i−1 j=i−1,j6=k (xj − xk ) En posant Fi (x) = Xi+1 2x2 − 3x k=i−1 Cameroun, Université de Ngaoundéré Pi+1 Qi+1 x + 6 j j=i−1,j6=k j=i−1,j6=k xj xfk Qi+1 6 j=i−1,j6=k (xj − xk ) David Jaurès FOTSA MBOGNE 41 CHAPITRE 4. INTÉGRATION NUMÉRIQUE DANS R on a Z xi+1 Pi (x) dx = Fi (xi+1 ) − Fi (xi+1 ). xi−1 Pour simplifier, on prend un pas constant h et on utilise la méthode d’interpolation de Newton utilisant les différences finies croissantes pour obtenir x − xi−1 (x − xi−1 ) (x − xi ) 2 ∆fi−1 + ∆ fi−1 . h 2h2 Pi (x) = fi−1 + Z xi+1 Z 2h Pi (x) dx = xi−1 Pi (x + xi−1 ) dx 0 2h x (x − h) 2 x fi−1 + ∆fi−1 + ∆ fi−1 dx = h 2h2 0 x=2h 1 h 1 2 x2 2 x− = xfi−1 + ∆fi−1 + x ∆ fi−1 2h 3 2 2h2 x=0 h 2 = 2hfi−1 + 2h∆fi−1 + ∆ fi−1 3 h = (6fi−1 + 6 (fi − fi−1 ) + (fi+1 − 2fi + fi−1 )) 3 h = (fi−1 + 4fi + fi+1 ) 3 Z D’où Z xn Ia,b (f ) = f (x) dx x1 ≈ h X n−1 2 (f2i−1 + 4f2i + f2i+1 ) i=1 3 X n−1 h 2 = f1 − fn + 2 (2f2i + f2i+1 ) i=1 3 Exercice 4.2.1 On donne le tableau de valeurs suivant, pour la fonction x 7→ x2 + 2 x −3 −2 −1 0 1 2 3 f (x) 11 6 3 2 3 6 11 R3 Calculer par la méthode de Simpson −3 f (x) dx. Evaluer l’erreur absolue. 4.3 Méthode de Romberg La méthode de Romberg est une application de l’interpolation, selon la méthode d’Aitken. Rb Considérons la suite finie (Ia,b (f, hi ))1≤i≤n , des approximations de l’intégrale a f (x) dx, par la méthode des trapèzes, avec des pas constants hi = 2b−a i−1 . On remarque que Ia,b (f, h) = g (h), où g est une fonction de h inconnue définie sur ]0; b − a]. L’objectif est de pouvoir approcher l’image par g (le prolongement par continuité de g sur [0; b − a]) de n’importe quel point h ∈ [0; b − a], Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE 42 CHAPITRE 4. INTÉGRATION NUMÉRIQUE DANS R Rb en particulier pour h valant 0. En effet, a f (x) dx est égale à la limite quand h tend vers zero de g (h). On fera donc une interpolation (ou extrapolation) par la méthode d’Aitken. X2i−1 −1 1 (f (a) + f (b)) + Ii,1 = hi f (a + khi ) k=1 2 X2i−1 −1 b−a b−a 1 f a + k i−1 (f (a) + f (b)) + = i−1 k=1 2 2 2 et pour k ≥ 2, Ii,k = (h − hi ) Ii−1,k−1 − (h − hi−k+1 ) Ii,k−1 . hi−k+1 − hi Dans le cas le plus intéressant, où h vaut 0, on a X2i−1 −1 b−a 1 b−a Ii,1 = i−1 (f (a) + f (b)) + f a + k i−1 k=1 2 2 2 et pour k ≥ 2, hi−k+1 Ii,k−1 − hi Ii−1,k−1 hi−k+1 − hi k−1 2 Ii−1,k−1 − Ii,k−1 = . 2k−1 − 1 Ii,k = La remarque immédiate à faire est qu’on doit avoir une subdivision d’intégration constituée de 2n + 1 points. L’autre remarque utile pour les caculs, est que X2i −1 b−a b−a 1 f a+k i (f (a) + f (b)) + Ii+1,1 = k=1 2i 2 2 1 b − a X2i−1 = Ii,1 + f k=1 2 2i b−a a + (2k − 1) i 2 On peut résumer le calcul successif de l’intégrale par la matrice I (h) donnée par Ii−k,1 − − − (h−hi−k+1 )Ii−k,1 −(h−hi−k )Ii−k+1,1 I − − i−k+1,1 hi−k −hi−k+1 ··· ··· ··· − (h−hi−1 )Ii−k,k−1 −(h−hi−k )Ii−1,k−1 Ii−1,1 ··· ··· hi−k −hi−1 Ii,1 (h−hi )Ii−1,1 −(h−hi−1 )Ii,1 hi−1 −hi ··· (h−hi )Ii−k+1,k−1 −(h−hi−k+1 )Ii,k−1 hi−k+1 −hi − − − − (h−hi )Ii−k,k −(h−hi−k )Ii,k hi−k −hi Exercice 4.3.1 On Rconsidère la fonction x 7→ x2 + 2. Calculer par la méthode de Romberg à 1 l’ordre 3, l’intégrale −2 f (x) dx. On prendra h1 = 1. Evaluer l’erreur absolue. Cameroun, Université de Ngaoundéré David Jaurès FOTSA MBOGNE . Bibliographie [1] ALLAIRE G., CRAIG A., Numerical Analysis and Optimization : An introduction to mathematical modelling, Oxford University Press Inc., New York, 2007. [2] FORTIN André, Analyse Numérique Pour Les Ingénieurs, Deuxième édition, Ecole Polytechnique de Montréal, 2001. [3] JEDRZEJEWSKI F., Introduction Aux Méthodes Numériques, Deuxième Edition, SpringerVerlag France, Paris 2005. 43