You are on page 1of 207

Analyse numérique

Recueil d’exercices corrigés et aide-mémoire.

L2 MATH & MASS

Licence Sciences et Techniques

M33

Gloria Faccanoni
i http://faccanoni.univ-tln.fr/enseignements.html

Année 2013 – 2014

Dernière mise-à-jour
Jeudi 5 juin 2014

Ce fascicule est un support au cours d’analyse numérique en deuxième année d’une Licence de Mathématiques. Il
aborde : la recherche de racines d’une fonction réelle de variable réelle, l’interpolation polynomiale, l’intégration numériques, l’intégration d’équations différentielles et la résolution de systèmes linéaires. Les applications se font avec le langage Python dont la documentation et les sources peuvent être téléchargées à l’adresse http://www.python.org. Les
notions supposées connues correspondent au programme des cours de Mathématiques (Analyse mathématique des fonctions réelles d’une variable réelle et Algèbre Linéaire) et Informatiques (Initiation à l’algorithmique et au langage Python)
de la première année de Licence.
L’objet de ce aide-mémoire est de proposer une explication succincte des concepts vu en cours. De nombreux livres,
parfois très fournis, existent. Ici on a cherché, compte tenu des contraintes de volume horaire, des acquis des étudiants
à la première année et des exigences pour la suite du cursus, à dégager les points clés permettant de structurer le travail
personnel de l’étudiant voire de faciliter la lecture d’autres ouvrages. Ce polycopiée ne dispense pas des séances de cours
et de TD ni de prendre des notes complémentaires. Il est d’ailleurs important de comprendre et apprendre le cours au fur
et à mesure. Ce polycopié est là pour éviter un travail de copie qui empêche parfois de se concentrer sur les explications
données oralement mais ce n’est pas un livre auto-suffisant (il est loin d’être exhaustif ) ! De plus, ne vous étonnez pas si
vous découvrez des erreurs (merci de me les communiquer).
On a inclus dans ce texte nombreux exercices corrigés. Ceux-ci, de difficulté variée, répondent à une double nécessitée.
Il est important de jongler avec les différents concepts introduits en cours et même de faire certaines erreurs une fois
pour bien identifier les pièges. Les exercices permettent d’orienter les raisonnements vers d’autres domaines (physique,
économie, etc.), cela afin d’exhiber l’intérêt et l’omniprésence de l’analyse numérique au sens large (modélisation, analyse
mathématique, discrétisation, résolution numérique et interprétation des résultats). Cependant, veuillez noter que vous
n’obtiendrez pas grande chose si vous vous limitez à choisir un exercice, y réfléchir une minute et aller vite voir le début de
la correction en passant tout le temps à essayer de comprendre la correction qui va paraitre incompréhensible. Pour que
la méthode d’étude soit vraiment efficace, il faut d’abord vraiment essayer de chercher la solution. En particulier, il faut
avoir un papier brouillon à coté de soi et un crayon. La première étape consiste alors à traduire l’énoncé (pas le recopier),
en particulier s’il est constitué de beaucoup de jargon mathématique. Ensuite il faut essayer de rapprocher les hypothèses
de la conclusion souhaitée, et pour cela faire quelques calculs ou transformer les hypothèses pour appliquer un théorème
dont on aura vérifier que les hypothèses sont bien satisfaites. C’est ici que l’intuition joue un grand rôle et il ne faut pas
hésiter à remplir des pages pour s’apercevoir que l’idée qu’on a eu n’est pas la bonne. Elle pourra toujours resservir dans
une autre situation. Quand finalement on pense tenir le bon bout, il faut rédiger soigneusement en s’interrogeant à chaque
pas sur la validité (logique, mathématique) de ce qu’on a écrit. Si l’étape précédente ne donne rien, il faut chercher de l’aide
(voir le début de la correction, en parler à un autre étudiant, etc.).

Gloria FACCANONI
IMATH Bâtiment U-318
Université du Sud Toulon-Var
Avenue de l’université
83957 LA GARDE - FRANCE

2

T 0033 (0)4 94 14 23 81
B gloria.faccanoni@univ-tln.fr
i http://faccanoni.univ-tln.fr

Table des matières
Notations

5

Introduction au calcul scientifique

7

1. Résolution d’équations non linéaires
1.1. Étape ¬ : localisation des zéros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Étape ­ : construction d’une suite convergente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1. Méthodes de dichotomie (ou bissection), de L AGRANGE (ou Regula falsi) . . . . . . . . . . . . . . . . . .
1.2.2. Méthode de la sécante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3. Méthodes de point fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Interpolation

11
12
12
12
15
15

61

2.1. Interpolation polynomiale . . . . . . . . . . . . .
2.1.1. Méthode directe (ou “naïve”) . . . . . . .
2.1.2. Méthode de L AGRANGE . . . . . . . . . .
2.1.3. Stabilité de l’interpolation polynomiale .
2.1.4. Méthode de N EWTON . . . . . . . . . . .
2.2. Polynôme d’H ERMITE ou polynôme osculateur
2.3. Splines : interpolation par morceaux . . . . . . .
2.3.1. Interpolation linéaire composite . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

3. Quadrature

61
61
62
66
67
71
74
74

93

3.1. Principes généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.2. Exemples de formules de quadrature interpolatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.3. Approximation de dérivées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

4. Équations différentielles ordinaires

129

4.1. Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1. Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2. Condition initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3. Représentation graphique . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.4. Théorème d’existence et unicité, intervalle de vie et solution maximale
4.2. Schémas numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1. Schémas numériques classiques . . . . . . . . . . . . . . . . . . . . . . .
4.2.2. Schémas numériques d’A DAMS . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3. Schémas multi-pas de type predictor-corrector . . . . . . . . . . . . . . .
4.3. Conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1. A-Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5. Systèmes linéaires

129
129
129
130
130
132
132
134
136
136
136
137

163

5.1. Systèmes mal conditionnés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
5.2. Méthode (directe) d’élimination de G AUSS et factorisation LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
5.3. Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

A. Python : guide de survie pour les TP
A.1. Obtenir Python et son éditeur I DLE
A.1.1. Utilisation de base d’I DLE . .
A.2. Notions de base de Python . . . . .
A.3. Fonctions et Modules . . . . . . . . .
A.3.1. Fonctions . . . . . . . . . . .
A.3.2. Modules . . . . . . . . . . . .
A.4. Structure conditionnelle . . . . . . .
A.5. Boucles . . . . . . . . . . . . . . . . .

189
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

189
189
192
198
198
200
204
205

3

−a[∪]a. +∞[= R \ { a } Représentations graphique a b a b a b a b a b a b a b a b a a a a b b b b −a a −a a −a a −a a −a a −a a −a a −a a a a Symboles utilisés dans le document définition théorème. négatifs ou nuls) Z∗ l’ensemble des entiers 6= 0 Q l’ensemble des nombres rationnels ³ p q. b] x <b ] − ∞. p ∈ Z. b] a <x <b ]a. q ∈ Z∗ ´ R l’ensemble des réels R∗ l’ensemble des réels autres que 0 C l’ensemble des nombres complexes Rn [x] l’espace vectoriel des polynômes en x de degré inférieur ou égal à n Intervalles Inégalité Notation ensembliste a ≤x ≤b [a. b[ a ≤x <b [a. a[∪]a. a] |x| < a avec a ≥ 0 ] − a. +∞[ x ≤b ] − ∞. +∞[ ] − ∞. b[ |x| ≤ a avec a ≥ 0 [−a. proposition propriété(s) astuce attention remarque 5 . +∞[ x 6= a ] − ∞. corollaire. +∞[ x>a ]a.Notations Ensembles usuels en mathématiques On désigne généralement les ensemble les plus usuels par une lettre à double barre : N l’ensemble des entiers naturels N∗ l’ensemble des entiers strictement positifs Z l’ensemble des entiers relatifs (positifs. b] x≥a [a. +∞[ |x| > a avec a ≥ 0 ∀x ∈ R ] − ∞. b[ a <x ≤b ]a. a[ |x| ≥ a avec a ≥ 0 ] − ∞. −a] ∪ [a.

on utilise deux présentations : ¬ les instructions précédées de chevrons dans une boite grisée sont à saisir dans une session interactive 1 2 >>> 1 + 1 2 ­ les instructions sans chevrons dans une boite grisée sont des bouts de code à écrire dans un fichier 1 6 print(’Coucou!’) © G.e. . dx Df symboles de dérivée domaine de définition d’une fonction f Conventions pour la présentation du code Pour l’écriture du code. équivaut à 1 × 2 × · · · × n g◦f f puis g f 0 df . . équivaut à a 0 × a 1 × · · · × a n n! n factoriel. Faccanoni . C A (B) le complémentaire de B dans A . algorithme.Notations Jeudi 5 juin 2014 méthode. cas particulier exercice de base exercice exemple curiosité ≡ égal par définition > strictement supérieur < strictement inférieur ≥ supérieur ou égal ≤ inférieur ou égal différent 6= { } ensemble A\B ensemble A privé de l’ensemble B. i. équivaut à a 0 + a 1 + · · · + a n ai produit par rapport à l’indice i . alors ⇐⇒ si et seulement si ssi si et seulement si ln logarithme de base e loga logarithme de base a ∞ R infini symbole d’intégrale n P i =0 n Q i =0 ai somme par rapport à l’indice i . ensemble vide | tel que ∈ appartient 6∈ n’appartient pas ∀ pour tout (quantificateur universel) ∃ il existe (quantificateur universel) 6∃ il n’existe pas ∃! il existe un et un seul ⊂ est sous-ensemble (est contenu) ∪ union d’ensembles ∩ intersection d’ensembles =⇒ si .

physique. précis : l’algorithme doit savoir contenir les effets des erreurs qui sont inhérentes à tout calcul numérique (ces erreurs peuvent être dues à la modélisation. P ROGRAMMATION A NALYSE NUMÉRIQUE Langage de programmation (C. Observation expérimentale Modèle conceptuel C ALCULS M ODÈLE MATHÉMATIQUE Bien posé Bien conditionné Propriétés de la solution (stabilité. On verra qu’il existe souvent plusieurs approches pour résoudre un même problème. . stochastiques. en fluidodynamique.Introduction au calcul scientifique On peut définir le CALCUL SCIENTIFIQUE comme la discipline qui permet de reproduire sur un ordinateur un phénomène ou un processus décrit par un modèle mathématique. . les numériciens résolvent des systèmes frisant le milliard d’inconnues. Un des objectifs de ce cours est de fournir des bases rigoureuses pour développer quelques algorithmes utiles dans la résolution de problèmes en mathématique. intégrales. . .) Solutions analytiques Mise en équations : équations différentielles. A NALYSE MATHÉMATIQUE P HÉNOMÈNE PHYSIQUE . Scilab. Octave. . C++. Java.. . L’expérience montre qu’entre une approche numérique standard et une approche soigneusement réfléchie 7 . que pour les calculs de référence pour lesquels la seule limite est la patience de celui qui les fait. économie. Matlab. BIOLOGIQUE . Nous sommes habitués à résoudre les problèmes de façon analytique. mais il faut encore savoir exprimer nos problèmes (physiques. Le choix et l’optimisation des algorithmes numériques mis en pratique sont absolument cruciaux tant pour les calculs de type industriel souvent très répétitifs et devant donc pouvoir être exécutés en un temps très court. à la représentation sur ordinateur ou encore à la troncature) . précision. alors que l’ordinateur ne travaille que sur des suites de nombres. pour être utile.) Structure des données Implémentation de l’algorithme Optimisation Méthodes de discrétisation Analyse des algorithmes (rapidité. économiques. . Python. . Fortran. . . . souplesse) Estimation des erreurs P OST P ROCESSING Visualisation Analyse des résultats C ALCUL SCIENTIFIQUE L’ordinateur est aujourd’hui un outil incontournable pour simuler et modéliser des systèmes complexes. ce qui conduit à des algorithmes différents. .). Un algorithme. doit satisfaire un certain nombre de conditions. en laissant tourner une station de travail pendant quelques jours.) en langage formalisé des mathématiques pures sous la forme d’équations mathématiques (différentielles. . intégrales. ÉCO NOMIQUE . Par exemple. souple : l’algorithme doit être facilement transposable à des problèmes différents. . aux données. biologiques. Il doit être : rapide : le nombre d’opérations de calcul pour arriver au résultat escompté doit être aussi réduit que possible .

Faccanoni .2360679779 2. leurs avantages et leurs limites. Il existe pour cela divers algorithmes.0000431336 0..Introduction au calcul scientifique Jeudi 5 juin 2014 et optimisée un gain de temps de calcul d’un facteur 100. alors x 0 = 13 car 132 = 169 < 178 et 142 = 196 > 178) et par ε0 l’erreur associée : p A = x 0 + ε0 . Tant que l’erreur est supérieure à un seuil fixé. par exemple. Calculer l’erreur associée ε0k+1 = 2x k+1 .2361111111 2. Généralement. est souvent observé. Il est clair qu’on peut passer ainsi. etc.0000000000 On voit que l’algorithme converge très rapidement et permet donc d’estimer la racine carrée d’un nombre moyennant un nombre limité d’opérations élémentaires (additions. k A−x 2 3. d’un calcul totalement déraisonnable à un calcul parfaitement banal : tout l’enjeu de l’analyse numériques est là ! C’est dire l’importance pour tous scientifique de bien connaître ces méthodes. On peut donc définir une suite. puis x 2 . rien ne nous empêche de recommencer les calculs avec x 1 .0000000004 0. on peut identifier plusieurs niveaux d’erreur dans l’approximation et la résolution d’un problème physique. On procède alors par approximations successives jusqu’à converger vers la solution souhaitée. Par conséquent.2500000000 2. qui à partir d’une estimation initiale x 0 devrait en principe converger vers la solution recherchée. de telle sorte que A = x 02 + 2x 0 ε00 . Démarrer avec une première approximation x 0 > 0 de A. qui en est une approximation. Les erreurs Le simple fait d’utiliser un ordinateur pour représenter des nombres réels induit des erreurs. multiplications). l’addition de deux entiers peut se faire de façon exacte mais non le calcul d’une racine carrée. k+1 4. À chaque itération k. grâce à cet effort. plutôt que de tenter d’éliminer les erreurs. ´ ³ 2. p Exemple Calcul de A Sur ordinateur. jusqu’à ce que la précision de la machine ne permette plus de distinguer le résultat final de la véritable solution. Cherchons une approximation de ε0 . 8 © G. ce qui permet de négliger le terme en ε20 : A ' x 02 + 2x 0 ε0 . Remplaçons l’erreur ε0 par un ε00 . il vaut mieux chercher à contrôler leur effet. L’analyse numérique est une discipline proche des mathématiques appliquées.0139320225 0. recommencer au point 2 Le tableau ci-dessous illustre quelques itérations de cet algorithme pour le cas où A = 5 : k xk ε0k 0 1 2 3 4 2. Soit A un nombre réel positif dont on cherche la racine carrée. Cette suite est ¶ µ 1 A x k+1 = + xk . divisions. calculer la nouvelle approximation x k+1 = 21 xA + x k .0000000000 2. Désignons par x 0 la première estimation de cette racine (généralement le plus grand entier dont le carré est inférieur à A . x 0 > 0. On a A = (x 0 + ε0 )2 = x 02 + 2x 0 ε0 + ε20 . On en déduit que ε00 = A − x 02 2x 0 donc la quantité ¶ µ 1 A + x0 2 x0 constitue une meilleure approximation de la racine que x 0 (sous réserve que le développement soit convergent). si A = 178. 2 xk x 1 ≡ x 0 + ε00 = L’algorithme du calcul de la racine carrée devient donc p 1. soustractions. qui a pour objectif de répondre à ces questions de façon rigoureuse.2360679775 0. Supposons que l’erreur soit petite face à x 0 . voire davantage. Il reste encore à savoir si cet algorithme converge toujours et à déterminer la rapidité de sa convergence. De plus. Le suivant est connu depuis l’antiquité (mais ce n’est pas celui que les ordinateurs utilisent).2360679775 0.

Faccanoni 9 . De plus. on peut remplacer le symbole ≤ par '. De telles erreurs limitent l’application du modèle mathématique à certaines situations et ne sont pas dans le champ du contrôle du Calcul Scientifique. Si de plus. dont la solution diffère de la solution mathématique exacte d’une erreur. L’erreur de calcul absolue est la différence entre x. que nous noterons h et que nous supposerons positif. tandis que (si x 6= 0) l’erreur de calcul relative mathématique. l’erreur (absolue ou relative) peut être majorée par une fonction de C h p où C est indépendante de h et où p est un nombre positif. Le calcul numérique consiste généralement à approcher le modèle mathématique en faisant intervenir un paramètre de discrétisation. Si. La somme des erreurs d’arrondis et de troncature constitue l’erreur de calcul.Jeudi 5 juin 2014 Au niveau le plus élevé. il est souvent nécessaire d’introduire d’autres erreurs liées au fait qu’un ordinateur ne peut effectuer que de manière approximative des calculs impliquant un nombre infini d’opérations arithmétiques. et x. appelée erreur de troncature. Par exemple. un système linéaire ou non linéaire). nous dirons que la méthode est convergente d’ordre p. On doit donc définir un problème numérique. en plus d’un majorant. le calcul de la somme d’une série ne pourra être accompli qu’en procédant à une troncature convenable. on trouve l’erreur qui provient du fait qu’on a réduit la réalité physique à un modèle mathématique. La résolution par des algorithmes numériques entraîne immanquablement l’introduction et la propagation d’erreurs d’arrondi. la solution exacte du modèle ˜ la solution obtenue à la fin de la résolution numérique. on dispose d’un minorant C 1 h p (C 1 étant une autre constante (≤ C ) indépendante de h et p). quand h tend vers 0. la solution du calcul numérique tend vers celle du modèle mathématique. nous dirons que le calcul numérique est convergent. est définie par l’erreur de calcul absolue divisé par x. On ne peut généralement pas donner la solution explicite d’un modèle mathématique (qu’il soit exprimé par une intégrale. © G. Quand. une équation algébrique ou différentielle.

.

1. Résolution d’équations non linéaires
Recherche des solutions de l’équation non linéaire f (x) = 0 où f est une fonction donnée

Un des problèmes classiques en mathématiques appliquées est celui de la recherche des valeurs pour lesquelles une
fonction donnée s’annule. Dans certains cas bien particuliers, comme pour les fonctions x 7→ x + 1, x 7→ cos(2x) ou encore
x 7→ x 2 − 2x + 1, le problème est simple car il existe pour ces fonctions des formules qui donnent les zéros explicitement.
Toutefois, pour la plupart des fonctions f : R → R il n’est pas possible de résoudre l’équation f (x) = 0 explicitement et il faut
recourir à des méthodes numériques. Ainsi par exemple une brève étude de la fonction f (x) = cos(x) − x montre qu’elle
possède un zéro à proximité de 0.7 mais ce zéro ne s’exprime pas au moyen de fonctions usuelles et pour en obtenir une
valeur approchée il faut recourir à des méthodes numériques.
Plusieurs méthodes existent et elles différent pas leur vitesse de convergence et par leur robustesse. Lorsqu’il s’agit de
calculer les zéros d’une seule fonction, la vitesse de la méthode utilisée n’est souvent pas cruciale. Cependant, dans certains
applications il est nécessaire de calculer les zéros de plusieurs milliers de fonctions et la vitesse devient alors un élément
stratégique. Par exemple, si on veut représenter graphiquement l’ensemble de points (x, y) du plan pour lequel x 2 sin(y) +
e x+y − 7 = 0, on peut procéder comme suit : pour une valeur donnée de x, on cherche l’ensemble des valeurs de y pour
lesquelles x 2 sin(y)+e x+y −7 = 0, i.e. l’ensemble des zéros de la fonction f (y) = x 2 sin(y)+e x+y −7 = 0, et on représente tous
les couples obtenus. On choisit une nouvelle valeur pour x et on répète l’opération. Pour obtenir une courbe suffisamment
précise, il faut procéder à la recherche des zéros d’un très grand nombre de fonction et il est alors préférable de disposer
d’une méthode rapide.
Soit f : R → R une fonction continue donnée dont on veut évaluer numériquement un ou plusieurs zéros xb, c’est-à-dire
qu’on cherche tous les xb tels que f (b
x ) = 0. Les méthodes numériques pour approcher xb consistent à :

¬ localiser grossièrement le (ou les) zéro(s) de f en procédant à l’étude du graphe de f et/ou à des évaluations qui sont
souvent de type graphique ; on note x 0 cette solution grossière ;

­ construire, à partir de x 0 , une suite x 1 , x 2 , x 3 , . . . telle que limk→∞ x k = xb où f (b
x ) = 0. On dit alors que la méthode est
convergente.

Définition Méthode itérative à deux niveaux
On appelle méthode itérative à deux niveaux un procédé de calcul de la forme
x k+1 = G(x k ),

k = 0, 1, 2, . . .

dans lequel on part d’une valeur donnée x 0 pour calculer x 1 , puis à l’aide de x 1 on calcul x 2 etc. La formule même est
dite formule de récurrence. Le procédé est appelé convergent si x k tend vers un nombre fini lorsque k tend vers +∞. Il
est bien évident qu’une méthode itérative n’est utile que s’il y a convergence vers les valeurs cherchées.
On peut parfaitement envisager des méthodes itératives multi-niveaux, comme par exemples les schémas à trois niveaux
dans lesquels on part de deux valeurs données x 0 et x 1 pour calculer x 2 , puis à l’aide de x 1 et x 2 on calcule x 3 etc.

Définition Ordre de convergence
Soit p un entier positif. On dit qu’une méthode (à deux niveaux) convergente est d’ordre p s’il existe une constante C
telle que
|b
x − x k+1 | ≤ C |b
x − x k |p .
ou encore
lim

k→∞

x k+1 − xb
= C.
(x k − xb)p

Si p = 1 (et C < 1) on parle de convergence linéaire, si p = 2 on parle de convergence quadratique.

11

1. Résolution d’équations non linéaires

Jeudi 5 juin 2014

1.1. Étape ¬ : localisation des zéros
Définition
Soit f : R → R une fonction. On dit que xb est un zéro de f si f (b
x ) = 0. Il est dit simple si f 0 (b
x ) 6= 0, multiple sinon.
p
Si f est de classe C avec p ∈ N, on dit que xb est un zéro de multiplicité p si
(

f (i ) (b
x) = 0
f

(p)

∀i = 0, . . . , p − 1

(b
x ) 6= 0.

Pour localiser grossièrement le (ou les) zéro(s) de f on va d’abord étudier de la fonction f , puis on va essayer d’utiliser un
corollaire du théorème des valeurs intermédiaires et le théorème de la bijection afin de trouver un intervalle qui contient
un et un seul zéro.

Théorème des valeurs intermédiaires

Soit f une fonction continue sur un intervalle I = [a; b] de R. Alors f atteint toutes les valeurs intermédiaires entre f (a)
et f (b). Autrement dit :
? si f (a) ≤ f (b) alors pour tout d ∈ [ f (a), f (b)] il existe c ∈ [a; b] tel que f (c) = d ;
? si f (a) ≥ f (b) alors pour tout d ∈ [ f (b), f (a)] il existe c ∈ [a; b] tel que f (c) = d .
Ce théorème donne alors le corollaire immédiat suivant.
Corollaire des zéros d’une fonction continue
Soit une fonction continue f : [a, b] → R. Si f (a) · f (b) < 0, alors il existe (au moins un) xb ∈]a, b[ tel que f (b
x ) = 0.
Ce théorème garantit juste l’existence d’un zéro. Pour l’unicité on essayera d’appliquer le théorème de la bijection dont
l’énoncé est rappelé ci-dessous.

Théorème de la bijection

Soit f une fonction continue et strictement monotone sur un intervalle I de R, alors f induit une bijection de I dans
f (I ). De plus, sa bijection réciproque est continue sur I , monotone sur I et de même sens de variation que f .

1.2. Étape ­ : construction d’une suite convergente
Ayant encadré les zéros de f , la construction de suites qui convergent vers ces zéros peut se faire à l’aide de plusieurs
méthodes numériques. Ci-dessous on décrit les méthodes les plus connues et on étudie leurs propriétés (convergence
locale vs globale, vitesse de convergence, etc.).

1.2.1. Méthodes de dichotomie (ou bissection), de Lagrange (ou Regula falsi )
Dans les méthodes de dichotomie et de L AGRANGE, à chaque pas d’itération on divise en deux un intervalle donné et on
choisit le sous-intervalle où f change de signe.
Concrètement, soit f : [a; b] → R une fonction strictement monotone sur un intervalle [a, b]. On suppose que l’équation
f (x) = 0 n’a qu’une et une seule solution dans cet intervalle. On se propose de déterminer cette valeur avec une précision
donnée. Soit [a 0 , b 0 ] un intervalle dans lequel f (a 0 ) f (b 0 ) < 0 et soit c 0 ∈]a 0 , b 0 [. Si f (a 0 ) f (c 0 ) < 0, alors la racine appartient
à l’intervalle [a 0 , c 0 ] et on reprend le procédé avec a 1 = a 0 et b 1 = c 0 . Sinon, c’est-à-dire si f (a 0 ) f (c 0 ) ≥ 0 on pose a 1 = c 0
et b 1 = b 0 . On construit ainsi une suite d’intervalles emboîtés [a k , b k ]. Les suites a k et b k sont adjacentes 1 et convergent
vers xb.

Définition Méthodes de dichotomie et de L AGRANGE
Soit deux points a 0 et b 0 (avec a 0 < b 0 ) d’images par f de signe contraire (i.e. f (a 0 )· f (b 0 ) < 0). En partant de I 0 = [a 0 , b 0 ],
les méthodes de dichotomie et de L AGRANGE produisent une suite de sous-intervalles I k = [a k , b k ], k ≥ 0, avec I k ⊂ I k−1
pour k ≥ 1 et tels que f (a k ) · f (b k ) < 0.
? Dans la méthode de dichotomie, on découpe l’intervalle [a k ; b k ] en deux intervalles de même longueur, i.e. on divise

1. Deux suites (u n )n∈N et (v n )n∈N sont adjacentes si
? (u n ) est croissante,
? (v n ) est décroissante,
? limn (u n − v n ) = 0.
Si deux suites sont adjacentes, elles convergent et ont la même limite.

12

© G. Faccanoni

Jeudi 5 juin 2014

1. Résolution d’équations non linéaires

[a k ; b k ] en [a k ; c k ] et [c k ; b k ] où c k est
ck =
?

ak + bk
.
2

Dans la méthode de L AGRANGE, plutôt que de diviser l’intervalle [a k ; b k ] en deux intervalles de même longueur, on
découpe [a k ; b k ] en [a k ; c k ] et [c k ; b k ] où c k est l’abscisse du point d’intersection de la droite passant par (a k , f (a k ))
et (b k , f (b k )) et l’axe des abscisses, autrement dit c k est solution de l’équation
f (b k ) − f (a k )
(c − b k ) + f (b k ) = 0
bk − ak
qui est
ck = bk −

bk − ak
a k f (b k ) − b k f (a k )
f (b k ) =
.
f (b k ) − f (a k )
f (b k ) − f (a k )

Dans les deux cas, pour l’itération suivante, on pose soit [a k+1 ; b k+1 ] = [a k ; c k ] soit [a k+1 ; b k+1 ] = [c k ; b k ] de sorte à ce que
f (a k+1 )· f (b k+1 ) < 0. La suite (c k )k∈N converge vers xb puisque la longueur de ces intervalles tend vers 0 quand k tend vers
+∞.
Soit ε l’erreur maximale qu’on peut commettre, les algorithmes s’écrivent alors comme suit :
D ICHOTOMIE :
Require: a, b > a, ε, f : [a, b] → R
k ←0
ak ← a
bk ← b
ak + bk
xk ←
2
while b k − a k > ε or | f (x k )| > ε do
if f (a k ) f (x k ) < 0 then
a k+1 ← a k
b k+1 ← x k
else
a k+1 ← x k
b k+1 ← b k
end if
a k+1 + b k+1
x k+1 ←
2
k ← k +1
end while

L AGRANGE :
Require: a, b > a, ε, f : [a, b] → R
k ←0
ak ← a
bk ← b
bk − ak
f (a k )
xk ← ak −
f (b k ) − f (a k )
while b k − a k > ε or | f (x k )| > ε do
if f (a k ) f (x k ) < 0 then
a k+1 ← a k
b k+1 ← x k
else
a k+1 ← x k
b k+1 ← b k
end if
b k+1 − a k+1
f (a k+1 )
x k+1 ← a k+1 −
f (b k+1 ) − f (a k+1 )
k ← k +1
end while

On n’est pas obligé de stoker tous les intervalles et les itérées, on peut gagner de la mémoire en les écrasant à chaque
étape :
D ICHOTOMIE :
Require: a, b > a, ε, f : [a, b] → R
a +b
x←
2
while b − a > ε or | f (x)| > ε do
if f (a) f (x) < 0 then
b←x
else
a←x
end if
a +b
x←
2
end while

L AGRANGE :
Require: a, b > a, ε, f : [a, b] → R
b−a
x ←a−
f (a)
f (b) − f (a)
while b − a > ε or | f (x)| > ε do
if f (a) f (x) < 0 then
b←x
else
a←x
end if
b−a
x ←a−
f (a)
f (b) − f (a)
end while

Remarque

Avec la méthode de la dichotomie, les itérations s’achèvent à la m-ème étape quand |x m − xb| ≤ |I m | < ε, où ε est une
tolérance fixée et |I m | désigne la longueur de l’intervalle I m . Clairement I k = b−a
, donc pour avoir une erreur |x m − xb| < ε,
2k

© G. Faccanoni

13

1. Résolution d’équations non linéaires

Jeudi 5 juin 2014

on doit prendre le plus petit m qui vérifie
µ
m ≥ log2


ln(b − a) − ln(2)
b−a
=
.
ε
ln(2)

Notons que cette inégalité est générale : elle ne dépend pas du choix de la fonction f .

Exemple Fond d’investissement
Un compte d’épargne donne un taux T ∈ [0; 1] d’intérêt par an avec un virement annuel des intérêts sur le compte. Cela signifie que si
le premier janvier 2014 on met v euros sur ce compte, à la fin de la n-ème année (i.e. au 31 décembre 2014 + n) on en retire v(1 + T )n
euros. On décide alors d’ajouter au début de chaque année encore v euros. Cela signifie que si on verse ces v euros le premier janvier
2014 + m avec 0 < m < n, au 31 décembre 2014 + n ajoutent v(1 + T )n−m euros. Si à la fin de la n-ème année on en retire un capital de
M > v euros, quel est le taux d’intérêt annuel de cet investissement ?
À la fin de la n-ème année, le capital versé au premier janvier 2014 est devenu v(1 + T %)n , celui versé au premier janvier 2015 est
devenu v(1 + T %)n−1 . . . par conséquente, le capital final M est relié au taux d’intérêt annuel T par la relation
M =v

n
X

(1 + T )k = v

k=1

¢
(1 + T )n − 1
1+T ¡
=v
(1 + T )n − 1 .
(1 + T ) − 1
T

On en déduit que T est racine de l’équation algébrique non linéaire f (T ) = 0 où
f (T ) = v

¢
1+T ¡
(1 + T )n − 1 − M .
T

Étudions la fonction f :
? f (T ) > 0 pour tout T > 0,
? limT →0+ f (T ) = nv − M < (n − 1)v, limT →+∞ f (T ) = +∞,
¡
¢
? f 0 (T ) = v2 1 + (1 + T )n (T n − 1) > 0 pour tout T > 0 (comparer le graphe de −1/(1 + T )n et de nT − 1)
T
En étudiant la fonction f on voit que, comme nv < M dès que n > 1, elle admet un unique zéro dans l’intervalle ]0, +∞[ (on peut
même prouver qu’elle admet un unique zéro dans l’intervalle ]0, M [).
Supposons que v = 1000 ¤ et qu’après 5 ans M est égal à 6000 ¤. En étudiant la fonction f on voit qu’elle admet un unique zéro dans
l’intervalle ]0.01, 0.1[. Si on applique la méthode de la dichotomie avec ε = 10−12 , après 37 itérations de la méthode de dichotomie, la
méthode converge vers 0.061402411536. On conclut ainsi que le taux d’intérêt T est approximativement égal à 6.14%. Ce résultat a été
obtenu en faisant appel à la fonction dichotomie définie à la page 24 comme suit :

a = 0.01 # T=1%
b = 0.1 # T=10%
tol = 1.0e-12
maxITER = 50
def f(x):
return 1000.*(1+x)/x*((1+x)**5-1.)-6000.
print dichotomie(f,a,b,tol,maxITER)

2
3
4
5
6
7
8

Exemple
Soit f (x) = −39 − 43x + 39x 2 − 5x 3 . On cherche a estimer x ∈ [1; 5] tel que f (x) = 0.
y
D ICHOTOMIE
f (x) = −39 + (−43 + (39 − 5x)x)x

f (5) = 2

f (3) = 1
f (2.5) = 0.3984375
1
f (2) = −0.1875

2
2.5

3

f (1) = −1

5

x

I 0 = [1; 5]
I 1 = [1; 3]
I 2 = [2; 3]
I 3 = [2; 2.5]

14

© G. Faccanoni

f (x k )) et (x k−1 . f (x k−1 )).3. on cherche x solution du système linéaire ( f (x )− f (x ) y = xk −x k−1 (x − x k ) + f (x k ).11 2. ce qui donne x = xk − x k − x k−1 f (x k ).11.06002 1 2. c’est que la longueur de l’intervalle de recherche est divisée par deux à chaque étape.cos(x) −−−→print("x[{0}]={1}". on risque de rejeter de bonnes approximations de xb.3¯ ) = 0. Il est par exemple frappant que la méthode ne converge pas en une seule itération quand f est linéaire (à moins que le zéro xb ne soit le milieu de l’intervalle de recherche initial).2.3¯ ] La méthode de dichotomie est simple mais elle ne garantit pas une réduction monotone de l’erreur d’une itération à l’autre : tout ce dont on est assuré. En fait. Méthodes de point fixe En s’amusant avec une calculatrice de poche ou avec le code python ci-dessous 1 2 3 4 5 import math x = 1 for i in range (1. © G.  x k − x k−1   f (x k ).e. on obtient cette suite de valeurs : x 0 = 1.2. b] un zéro de f .Jeudi 5 juin 2014 1. k k−1 y = 0. f (x k ) − f (x k−1 ) Définition Méthode de la Sécante Il s’agit d’une méthode à trois niveaux : approcher les zéros de f se ramène à calculer la limite de la la suite récurrente   x 0 donné. 2.100): −−−→x = math.    x 1 donné. Méthode de la sécante Soit f : R → R une fonction continue et soit xb ∈ [a.format(i. i. 2. 1. Faccanoni 15 .2. 5] I 1 = [1. La méthode de la sécante est une variante de la méthode de L AGRANGE dans laquelle on ne demande plus à ce que le zéro soit entre a k et b k . si le seul critère d’arrêt est le contrôle de la longueur de I k . cette méthode ne prend pas suffisamment en compte le comportement réel de f .3¯ ] I 2 = [2. x k+1 = x k − f (x k ) − f (x k−1 ) Cette méthode a ordre de convergence p 1+ 5 2 .11) = −0.x)) on peut vérifier qu’en partant de la valeur 1 et en appuyant plusieurs fois de suite sur la touche «cosinus».197530824 f (2.3¯ x 5 f (1) = −1 I 0 = [1. Pour calculer x k+1 on prend l’intersection de l’axe des abscisses avec la droite passant par les points (x k . 1. Par conséquent. Résolution d’équations non linéaires y L AGRANGE f (x) = −39 + (−43 + (39 − 5x)x)x f (5) = 2 f (2.

Définition Méthode de point fixe Supposons que xb ∈ R soit un point fixe de ϕ. . On peut se demander comment exploiter cette procédure pour calculer les zéros d’une fonction donnée. En effet. . alors cette limite est nécessairement un point fixe de ϕ puisque µ ¶ ` = lim x k+1 = lim ϕ(x k ) = ϕ lim x k = ϕ(`). Résolution d’équations non linéaires Jeudi 5 juin 2014 x 1 = cos(x 0 ) = 0. ou encore comme un zéro de la fonction f (x) = x − cos(x). Par contre. On se donne x 0 ∈ [a. Précisons ce principe : soit f : [a.540302305868. sa limite ` satisfait l’équation cos(`) = `. b] → R la fonction dont on cherche le zéro.739085133171. . condition de stabilité : ϕ(x) ∈ [a. Pour que les deux problèmes soient équivalent. La méthode de point fixe consiste en la construction d’une suite (x k )k∈N définie par récurrence comme suit : ( x0 donné. b] → R k ←0 x 1 ← x 0 + 2ε while |x k+1 − x k | > ε do x k+1 ← ϕ(x k ) k ← k +1 end while On va maintenant s’intéresser à la convergence de la suite construite par une méthode de point fixe. Si les deux conditions suivantes sont satisfaites : 1. On peut même remplacer γ par une fonction de x pour autant qu’elle ne s’annule pas. Il est toujours possible de transformer le problème (Pb-1) “chercher x tel que f (x) = 0” en un problème équivalent (i. b] et on considère la suite x k+1 = ϕ(x k ) pour k ≥ 0.1. Si cette suite converge. on dit que xb est un point fixe de ϕ (l’image de xb par ϕ est lui-même). b] pour tout x ∈ [a. . . k→∞ k→∞ k→∞ On utilise alors l’algorithme itératif suivant pour construire la suite (comme l’ordinateur ne peux pas construire une infinité de termes. x 3 = cos(x 2 ) = 0. la fonction auxiliaire ϕ : [a. on calcul les premiers termes de la suite et on s’arrête dès que la différence entre deux éléments de la suite est inférieure à une tolérance ε > 0 donnée) : Require: x 0 . . (avec x 0 = 1).654289790498. Naturellement une telle suite n’est pas forcement convergente.. on peut poser ϕ(x) = x − f (x) ou plus généralement ϕ(x) = x + γ f (x) avec γ ∈ R∗ quelconque. . Par exemple. il existe une infinité de manières pour opérer cette transformation. b] (on dit alors que le problème (Pb-2) est consistant avec le problème (Pb-1)). Si xb ∈ R est tel que ϕ(b x ) = xb.. b] 16 © G. b] → R.73908513 . Théorème Convergence (globale) des itérations de point fixe Considérons une fonction ϕ : [a. on a par construction x k+1 = cos(x k ) pour k = 0. Clairement. Pour cette raison. . x k+1 = ϕ(x k ) ∀k ∈ N. ϕ : [a. Définition Point fixe Soit ϕ : R → R une fonction. . si elle converge.739085133215 qui tend vers la valeur 0. . admettant les mêmes solutions) (Pb-2) “chercher x tel que x − ϕ(x) = 0”. b] → R doit être choisie de manière à ce que ϕ(b x ) = xb si et seulement si f (b x ) = 0 dans [a. Faccanoni . ` est appelé point fixe de la fonction cosinus. et si ϕ est continue. ε. 1. x 100 = 0.e. x 2 = cos(x 1 ) = 0. x 55 = 0. La méthode proposée fournit donc un moyen de calculer les zéros de f .857553215846. Remarquons qu’on peut voir ` comme un point fixe du cosinus. c’est-à-dire si la suite x k a une limite que nous notons `.

Unicité L’unicité du point fixe découle de la condition de contraction stricte. ϕ a au moins un point fixe dans [a. grâce à la condition de stabilité. 1[ tel que |ϕ(x) − ϕ(y)| ≤ K |x − y| pour tout x. b].1. i. b]) ⊂ [a. Pour cela. Convergence Prouvons à présent que la suite x k converge vers l’unique point fixe xb quand k tend vers +∞ pour toute donnée initiale x 0 ∈ [a. Continuité La condition de contraction stricte implique que ϕ est continue puisque. alors |b x 1 − xb2 | = |ϕ(b x 1 ) − ϕ(b x 2 )| ≤ K |b x 1 − xb2 | < |b x 1 − xb2 | ce qui est impossible. pour tout k ≥ 0 |x k+1 − xb| ≤ K k+1 . En itérant k + 1 fois cette relation on obtient |x k+1 − xb| ≤ K k+1 |x 0 − xb|. b]. b] alors ? ϕ est continue. b] → [a.b] © G. [a. ? ϕ a un et un seul point fixe x b pour tout choix de x 0 dans [a. b]. si on prend une suite (y k )k∈N ∈ [a. b] 0 ≤ ϕ0 (x) < 1 convergence a a x0 x1 x2 x 3 x 4x 5 b x a a x0 x2 x 4x 6 x 5 x 3 b x x1 ϕ([a. ? la suite x k+1 = ϕ(x k ) converge vers x Démonstration. b]) ⊂ [a. i. alors nous avons |ϕ(x)−ϕ(y n )| ≤ K |x − y n | et par suite limk→∞ ϕ(y k ) = ϕ(x). b]. condition de contraction stricte : il existe K ∈ [0. b]. on en déduit que g a au moins un zéro dans [a. b] −1 < ϕ0 (x) ≤ 0 convergence F IGURE 1. b] qui converge vers un élément x de [a. La fonction g (x) = ϕ(x) − x est continue dans [a. rappelons quelques définitions. Il est important de disposer d’un critère pratique assurant qu’une fonction ϕ est contractante stricte. si on avait deux points fixes distincts xb1 et xb2 . En appliquant le théorème des valeurs intermédiaires. b]. b] et. Faccanoni 17 . b dans [a. alors la condition de contraction stricte est satisfaite avec K = max|ϕ0 (x)|. Résolution d’équations non linéaires y y b b f x1 x3 x5 x7 x6 x4 x6 x5 x4 x3 x2 f x2 x1 ϕ([a. En effet. Existence Commençons par prouver l’existence d’un point fixe de ϕ.. On a 0 ≤ |x k+1 − xb| = |ϕ(x k ) − ϕ(b x )| ≤ K |x k − xb| où K < 1 est la constante de contraction.e. on a g (a) = ϕ(a) − a ≥ 0 et g (b) = ϕ(b) − b ≤ 0. y ∈ [a. Théorème Si ϕ : [a.Jeudi 5 juin 2014 1. |x 0 − xb| En passant à la limite quand k tend vers +∞ on obtient |x k+1 − xb| tend vers zéro. b] est de classe C 1 ([a.: Interprétation géométrique du théorème de point fixe 2. b].e. b]) et si |ϕ0 (x)| < 1 pour tout x ∈ [a.

Soit xb ∈ [a.2 )| = |(1 ± 5)/2| > 1. y] t 7→ x + t (x − y) Alors ϕ(x) − ϕ(y) = y Z x ϕ0 (ζ) dζ = 1 Z 0 ϕ0 (g (t ))g 0 (t ) dt = (x − y) 1 Z 0 ϕ0 (x + t (x − y)) dt et donc ¯ ¯ Z 1 Z ¯ ¯ ¯ ¯ ¯ ¯ 1¯ 0 ¯ ¯ ¯ 0 ¯ϕ(x) − ϕ(y)¯ = ¯(x − y) ¯ ≤ ¯(x − y)¯ ¯ϕ (x + t (x − y))¯ dt ≤ K ¯(x − y)¯ . la méthode de point fixe ne converge pas pour des valeurs arbitraires de x 0 . ? si 0 < ϕ0 (b x ) < 1 la suite converge de façon monotone. k→+∞ (x k − x b)p+1 (p + 1)! lim 18 © G. c’est-à-dire l’erreur x k − xb garde un signe constant quand k varie . alors il n’existe aucun intervalle [b x − ε. Si x 0 est convenablement choisi alors la méthode de point fixe converge. On dit que xb est un point fixe attractif. b] une application de classe C 1 ([a. donc ϕ est contractante stricte sur cet intervalle. il est souvent difficile de déterminer à priori l’intervalle [a. b] → [a. Théorème d’O STROWSKI ou de convergence (locale) des itérations de point fixe Soit [a. ? si ϕ0 (b x ) < −1 la suite diverge en oscillant. on devrait partir d’une valeur assez proche de xb. ? si −1 < ϕ0 (b x ) < 0 la suite converge de façon oscillante. dans ce cas. Les itérations de point fixe ne convergent pas. Si ϕ(i ) (b x ) = 0 pour 1 ≤ i ≤ p et ϕ(p+1) (b x ) 6= 0. Considérons la fonction affine g qui transforme l’intervalle [0. On a nécessairement ϕ([b x −ε. ­ Si |ϕ0 (b x )| > 1. Exemple b)| = | sin(xb)| ' ? La fonction ϕ(x) = cos(x) vérifie toutes les hypothèses du théorème d’O STROWSKI : elle est de classe C ∞ (R) et |ϕ0 (x 0 (x b b 0. d ]. En pratique. de manière générale.1. avec un ordre 1. On dit que ? si ϕ0 (b x ) > 1 la suite diverge de façon monotone. Mais en pratique. c’est-à-dire l’erreur x k − xb change de signe selon la parité de k. Résolution d’équations non linéaires Jeudi 5 juin 2014 Démonstration. 1] → [x. c’est-à-dire appartenant à un certain voisinage de xb. cette condition semble inutilisable : elle signifie en effet que pour calculer xb (qui est inconnu). d ] qui contient x tel que |ϕ )| < 1 pour x ∈ [c. 1[ pour tout k ≥ 1. donc il existe par continuité un intervalle [c. b] tel que la suite (x k )k∈N converge vers xb pour tout x 0 ∈ [b x − ε. 1] dans l’intervalle [x. b = 0 comme point fixe. De plus. Faccanoni . le résultat de convergence locale suivant peut être utile. xb +ε] et par conséquent la suite (x k )k∈N converge vers xb pour tout x 0 ∈ [b x − ε. xb + ε] ⊂ [a. xb + ε] ⊂ [a. la suite est monotone décroissante si 0 < x 0 < 1. Les uniques candidats limites sont les solutions de l’équation ` = φ(`) et par conséquente x k → 0. Le théorème d’O STROWSKI dit que. On a φ0 (xb) = 1 et x k → xb pour tout x 0 ∈ [−1. on peut obtenir une valeur initiale x 0 en effectuant quelques itérations de la méthode de dichotomie ou en examinant le graphe de f . 1] car ? La fonction φ(x) = x − x 3 admet x b pour tout k ≥ 1. 1]. On peut distinguer trois cas : ¬ Soit |ϕ0 (b x )| < 1. De plus. monotone croissante si −1 < x 0 < 0 donc elle converge vers ` ∈ [−1. mais seulement pour des valeurs suffisamment proches de xb. b] un point fixe de ϕ.67 < 1. xb + ε] à l’exception du cas x 0 = xb. b]. xb est un point fixe répulsif. b] . b]). À nouveau φ0 (xb) = 1 mais dans ce cas la suite diverge pour tout choix ? La fonction φ(x) = x + x 3 admet aussi x de x 0 6= 0. alors la méthode de point fixe associée à la fonction d’itération ϕ est d’ordre p + 1 et x k+1 − xb ϕ(p+1) (b x) = . xb +ε]) ⊂ [b x −ε. Au premier abord. b] contenant xb. ® Si |ϕ0 (b x )| = 1 on ne peut en général tirer aucune conclusion : selon le problème considéré. ϕ (x + t (x − y)) dt ¯ ¯ 0 0 Le théorème de convergence globale assure la convergence. il peut y avoir convergence ou divergence. b] ∈ R et ϕ : [a. 1[ alors on montre que x k ∈]−1. ? si x 0 = ±1 alors x k = x ? si x 0 ∈]−1. xb + ε]. de la suite (x k )k∈N vers le point fixe xb pour tout choix d’une valeur initiale x 0 ∈ [a. Proposition Calcul de l’ordre de convergence d’une méthode de point fixe Soit xb un point fixe d’une fonction ϕ ∈ C p+1 pour un entier p ≥ 1 dans un intervalle [a. Par continuité de ϕ0 il existe un intervalle [b x − ε. b] sur lequel |ϕ0 (b x )| < K < 1. y] : g : [0. b = 0 comme point fixe. p p b1 p ? La fonction ϕ(x) = x 2 − 1 possède deux points fixes x = (1 + 5)/2 et xb2 = (1 − 5)/2 mais ne vérifie l’hypothèse du théorème d’O STROWSKI pour aucun d’eux puisque |ϕ(xb1. De plus.

Cette équation conduit à la méthode itérative suivante : “pour tout k ≥ 0. la convergence de la suite vers xb est d’autant plus rapide que ϕ(p+1) (b x) (p+1)! est petit. qk k ≥ 0. elle converge à l’ordre 1 . étant donné x k . Le problème “chercher xb tel que f (b x ) = 0” devient alors “chercher xb tel que f (x) + (b x − x) f 0 (ξ) = 0”. à l’ordre 1 sinon. qui se trouve entre x k et xb. si la méthode de N EWTON converge. Approcher les zéros de f se ramène TON ) et soit x au problème de la détermination des points fixes de la fonction ϕ. x k tend vers xb et donc ξ.” La méthode qu’on vient de décrire revient à chercher l’intersection entre l’axe des x et la droite de pente q k passant par le point (x k . Supposons que l’on connaisse une valeur x 0 proche de xb. tend vers xb aussi. elle converge à l’ordre 2 si la racine est simple. © G. ce qui se fait en construisant la suite récurrente ( x 0 donné. Méthodes de point fixe particulièrement connues Soit f : [a. Faccanoni 19 . Comme ϕ(b x ) = xb et ϕ(i ) (b x ) = 0 pour 1 ≤ i ≤ p. Pour choisir la fonction ϕ il est nécessaire de prendre en compte les informations données par les valeurs de f et. (p + 1)! ϕ(x) = xb + En évaluant l’expression ainsi trouvée en x k et sachant que ϕ(x k ) = x k+1 . Écrivons pour cela le développement de TAYLOR de f en xb au premier ordre : f (b x ) = f (x)+(b x − x) f 0 (ξ) où ξ est entre xb et x. Écrivons le développement de TAYLOR avec le reste de L AGRANGE de ϕ en x = xb : ϕ(x) = ϕ(b x) + p X ϕ(i ) (b x) ϕ(p+1) (ξ) (x − xb)i + (x − xb)p+1 i! (p + 1)! i =1 où ξ est entre x et xb. éventuellement. par sa dérivée f 0 ou par une approximation convenable de celle-ci (si f est différentiable). où q k est égal à f 0 (ξk ) (ou en est une approximation) avec ξk un point entre x k et x k+1 . x k+1 = ϕ(x k ). déterminer x k+1 en résolvant l’équation f (x k )+(x k+1 − x k )q k = 0. b] → R une fonction continue (continûment dérivable pour la méthode de la corde 2 et la méthode de N EWb un zéro de f . p+1 k→+∞ (x k − x k→+∞ (p + 1)! b) (p + 1)! lim Pour un ordre p fixé.Jeudi 5 juin 2014 1. cela se simplifie et on a ϕ(p+1) (ξ) (x − xb)p+1 . Alors x k+1 − xb ϕ(p+1) (ξ) ϕ(p+1) (b x) = lim = . Considérons maintenant quatre choix particuliers de q k et donc de ϕ qui définissent des méthodes célèbres : b−a f (b) − f (a) Méthode de la Corde 1 : qk = Méthode de la Corde 2 : q k = f 0 (x 0 ) =⇒ Méthode de N EWTON : q k = f 0 (x k ) =⇒ =⇒ b−a f (x) f (b) − f (a) f (x) ϕ(x) = x − 0 f (x 0 ) f (x) ϕ(x) = x − 0 f (x) ϕ(x) = x − Proposition Si la méthode de la corde converge. Résolution d’équations non linéaires Démonstration. (p + 1)! Lorsque k → +∞. on a alors x k+1 − xb = ϕ(p+1) (ξ) (x k − xb)p+1 . f (x k )). ce qui s’écrit sous la forme d’une méthode de point fixe avec x k+1 = ϕ(x k ) ≡ x k − f (x k ) .

la condition |ϕ (b x )| < 1 revient à demander que 0 < f 0 (b x )/q k < 2. f (b)− f (a) b−a (méthode 1) ou q k = f 0 (x 0 ) (méthode 2). si xb est racine simple). pour la méthode 1. Ainsi la pente de la corde doit avoir le même signe que f 0 (b x ) et. c’est-à-dire f (b x ) = 0 et f 0 (b x ) 6= 0. alors la méthode n’est plus du second ordre. Autrement. y = 0. Résolution d’équations non linéaires Jeudi 5 juin 2014 Démonstration. on peut retrouver la convergence quadratique en modifiant la méthode de N EWTON comme suit : f (x) ϕ(x) = x − m 0 . ϕ0 (b x ) = 0 (la convergence est alors au moins quadratique). f (x) = (x − xb)m h(x) où h est une fonction telle que h(b x ) 6= 0. on cherche x solution du système linéaire ( y = f 0 (x k )(x − x k ) + f (x k ). Supposons que l’on connaisse une valeur x k proche de xb.e. Remarque Interprétation géométrique de la méthode de N EWTON et des méthodes de la corde Soit f : R → R une fonction continûment dérivable et soit xb un zéro simple de f . un mauvais choix de la valeur initiale peut provoquer la divergence de cette méthode (notamment si la courbe représentative de f présente au point d’abscisse x 0 un tangente à peu près horizontale). Pour calculer x k+1 on prend l’intersection de l’axe des abscisses avec la droite tangente au graphe de f passant par le point (x k . 20 © G. m Si la valeur de m est connue a priori. on trouve ϕ0 (x) = 1 − ϕ00 (x) = ? f (x) . b−a <2 f 0 (b x) Méthodes de la Corde qk = La méthode de la corde converge en une itération si f est affine. f 0 (x) mh(x) + (x − xb)h 0 (x) ¡ ¢ h(x) m(m − 1)h(x) + 2(x − xb)h 0 (x) + (x − xb)2 h 00 (x) . 0 f (b x) La méthode de N EWTON est donc d’ordre 2. autrement elle converge linéairement. Si f 0 (b x ) = 0 alors ϕ0 (b x ) = 1 et on ne peut pas 0 assurer la convergence de la méthode. ϕ0 (x) = ¡ ¢2 mh(x) + (x − xb)h 0 (x) ϕ(x) = 1 − ϕ0 (b x) = 1 − 1 . i. Si la racine xb est de multiplicité m > 1. On a alors (x − xb)h(x) f (x) = 1− . Méthode de Newton Soit la méthode de N EWTON pour le calcul de xb zéro de f : ϕ(x) = x − ? Si f 0 (b x ) 6= 0 (i. f (x k )). sauf dans le f (b)− f (a) cas (exceptionnel) où f 0 (b x ) = b−a (méthode 1) ou f 0 (b x ) = f 0 (x 0 ) (méthode 2). b] doit être tel quel f (b) − f (a) .e.e. ( f 0 (x))2 ( f 0 (x))2 f 00 (x) f (x) f 000 (x) f (x)( f 00 (x))2 − 2 . i. f 0 (x) ( f 0 (x))2 − f (x) f 00 (x) f (x) f 00 (x) = . En effet.1. f (x) Attention À noter que même si la méthode de N EWTON permet en général d’obtenir une convergence quadratique. On obtient x = xk − f (x k ) f 0 (x k ) ce qui correspond à la méthode de N EWTON. ϕ00 (b x) = f 00 (b x) . + f 0 (x) ( f 0 (x))2 ( f 0 (x))3 ϕ0 (b x ) = 0. Faccanoni . D’où l’importance d’une étude préalable soignée de la fonction f (cette étude est d’ailleurs nécessaire pour toute méthode de point fixe). l’intervalle de recherche [a.

f (x k )) et parallèle à la droite passant par les points (a. soustraction et multiplication. f (b) − f (a) Il s’agit de la méthode de la corde 1. Cette fois-ci. y = 0. on veut calculer sa valeur réciproque 1/a. Cette méthode permet d’éviter qu’à chaque itération on ait à évaluer f 0 (x k ) car on f (b)− f (a) remplace f 0 (x k ) par b−a . i. f (b)). ce qui donne x = xk − b−a f (x k ). on cherche x solution du système linéaire ( y = f 0 (x 0 )(x − x k ) + f (x k ). Une variante de la méthode de la corde consiste à calculer x k+1 comme l’intersection entre l’axe des abscisses et la droite passant par le point (x k . Le problème peut être ramené à résoudre l’équation x = 1/a ce qui équivaut à chercher le zéro de la fonction f : R+ ∗ →R 1 x 7→ − a x Selon la formule de N EWTON on a x k+1 = (1 + a)x k + x k2 . Lorsque a > 0 est donné. f (a)) et (b. b] un zéro de f .e.Jeudi 5 juin 2014 1. Faccanoni 21 .e. Résolution d’équations non linéaires y f y = f 0 (x 1 )(x − x 1 ) + f (x 1 ) xb x2 x1 x0 x y = f 0 (x 0 )(x − x 0 ) + f (x 0 ) Soit f : R → R une fonction continue et soit xb ∈ [a. y = 0. y y f y = f 0 (x 0 )(x − x 0 ) + f (x 0 ) f f (b)− f (a) y = b−a (x − x 0 ) + f (x 0 ) f (b)− f (a) y = b−a (x − x 1 ) + f (x 1 ) a x1 x2 xb x0 xb b x x1 x2 x0 x y = f 0 (x 0 )(x − x 1 ) + f (x 1 ) Exemple On se trouve en possession d’une calculatrice qui ne sait effectuer que les opérations addition. f (x k )) et parallèle à la droite tangente au graphe de f passant par le point (x 0 . i. ce qui donne x = xk − f (x k ) f 0 (x 0 ) Dans cette variante on remplace f 0 (x k ) par f 0 (x 0 ). pour calculer x k+1 on prend l’intersection de l’axe des abscisses avec la droite passant par le point (x k . f (x 0 )). © G. on cherche x solution du système linéaire ( y= f (b)− f (a) (x − x k ) + b−a f (x k ).

Comme xb = ϕ(b x ) et x n+1 = ϕ(x n ).7634610883 1.8 on trouve les suites suivantes : x1 = x2 = x3 = Formule 1 1. Critères d’arrêt Supposons que (x n )n∈N soit une suite qui converge vers xb zéro de la fonction f . En partant de x 0 = 1. on trouve x 1 = 0.1) En transformant l’équation donnée de différentes manières. h (x k ) 1 + ln(x k ) 1 + ln(x k ) La représentation graphique de f montre qu’il n’existe qu’une seule racine. donc la solution x de l’équation (1.142 857 081 5. Nous supposerons de plus f continûment différentiable dans un voisinage de la racine. le test n’est pas bien adapté car |e n | peut être assez grand par rapport à ε (voir la figure 1. ? si | f 0 (b x )| ¿ 1.142 763 520 0.x 3 = 0. trop optimiste.2 à droite) .142 857 142 857. Il y a des situations pour lesquelles ce test s’avère trop restrictif ou. x 4 = 0. x 2 = 0. L’équation (1. alors on a l’équivalence x = e 1/x ⇐⇒ y = e −y . elle se trouve dans l’intervalle [1.1) est la réciproque du zéro de la fonction g : R∗ + →R y 7→ 1 − ye y En utilisant la méthode de N EWTON on trouve la formule itérative g (y ) 1 − yk e yk e −y k − y k y k+1 = y k − 0 k = y k − = yk + g (y k ) −(1 + y k )e y k 1 + yk et x k = 1/y k . Si on pose y = 1/x. Exemple Comparaison des méthodes de N EWTON pour différentes formulation de la fonction initiale Dans R∗ + on veut résoudre l’équation x = e 1/x .7. k f (x k ) x + e 1/xk 1+ e k x k2 2. au contraire.xn tel que e n+1 = xb − x n+1 = ϕ(b x ) − ϕ(x n ) = ϕ0 (ξn )(b x − x n ) = ϕ0 (ξn )e n 22 © G.763 222 834 35. etc. 1.1.2 à gauche).2 par exemple.7564077294 Formule 3 1. Cette suite converge vers 1/7 ' 0.7418849724 1. on arrive à différentes formules de récurrence : 1.1) équivaut à chercher le zéro de la fonction f : R∗ + →R x 7→ x − e 1/x En utilisant la méthode de N EWTON on trouve la formule itérative f (x ) x − e 1/xk x − e 1/xk x k+1 = x k − 0 k = x k − k 1/x = x k − x k2 k2 . Faccanoni .1) est encore équivalente à chercher le zéro de la fonction h : R∗ + →R x 7→ 1 − x ln(x) En utilisant la méthode de N EWTON on trouve la formule itérative h(x ) 1 − x k ln(x k ) 1 + xk x k+1 = x k − 0 k = x k + = .9]. Contrôle du résidu : les itérations s’achèvent dès que | f (x n )| < ε. Pour a = 7 et partant de x 0 = 0. Nous avons le choix entre deux types de critères d’arrêt pour interrompre le processus itératif d’approximation de xb : ceux basés sur le résidu et ceux basés sur l’incrément.7632228446 1. Comme f (1. ? si enfin | f 0 (b Contrôle de l’incrément : les itérations s’achèvent dès que |x n+1 − x n | < ε. Soit (x n )n∈N la suite produite par la méthode de point fixe x n+1 = ϕ(x n ).7632228030 1.9) < 0. 3. x )| À 1 alors |e n | ¿ ε et le test est trop restrictif (voir la figure 1. Nous désignerons par ε une tolérance fixée pour le calcul approché de xb et par e n = xb − x n l’erreur absolue.7632228344 Formule 2 1. si on développe au premier ordre on sait qu’il existe ξn ∈ I xb. ? si | f 0 (b x )| ' 1 alors |e n | ' ε : le test donne donc une indication satisfaisante de l’erreur .762 878 141 2 1. Résolution d’équations non linéaires Jeudi 5 juin 2014 une récurrence qui ne requiert pas de divisions.139 2.7) f (1.12. (1.7751466845 1. L’équation (1.7632228344 La solution est x ' 1.

pour x dans un voisinage de xb. En utilisant l’identité e n = (b x − x n+1 ) + (x n+1 − x n ) = e n+1 + (x n+1 − x n ) = ϕ0 (ξn )e n + (x n+1 − x n ). | f 0 (x)| ¿ 1 (à droite). 1−K En effet. où I xb. Notons d’ailleurs que si la méthode de point fixe converge avec K < 1 et si on considère le critère d’arrêt |x n+1 − x n | < ε alors ε |e n | = |x n − xb| ≤ ≤ 2ε. dont la méthode de N EWTON. |e n+1 | = |x n+1 − xb| = |x n+1 − x n + x n − xb| ≥ |x n − xb| − |x n+1 − x n | = |e n | − |x n+1 − x n | > |e n | − ε © G.xn est l’intervalle d’extrémités xb et x k . Faccanoni 23 .: Deux situations pour lesquelles le résidu e k = x k − xb est un mauvais estimateur d’erreur : | f 0 (x)| À 1 (à gauche).Jeudi 5 juin 2014 1. ce critère fournit un estimateur d’erreur satisfaisant si ϕ0 (x) ' 0 dans un voisinage de xb.2. il suffit de considérer les inégalités suivantes : |e n+1 | = |x n+1 − xb| = |ϕ(x n ) − ϕ(b x )| ≤ K |x n − xb| = K |e n |. Résolution d’équations non linéaires y y f f (x k ) f xk xb ek xk xb x f (x k ) ek x F IGURE 1. 1 − ϕ0 (ξn ) Par conséquent. C’est le cas notamment des méthodes d’ordre 2. on en déduit que en = x n+1 − x n . Cette estimation devient d’autant moins bonne que ϕ0 s’approche de 1.

Faccanoni .5 −−−→−−−→fc = f(c) −−−→−−−→if fc == 0.exit(0) −−−→n = int(math. Méthodes numériques. la fonction dont on cherche la racine.0))) −−−→for k in range(min(n+1.0: −−−→−−−→print "La racine n’est pas encadree" −−−→−−−→sys.1.0: −−−→−−−→print "La racine n’est pas encadree" −−−→−−−→sys.0: −−−→−−−→−−−→a = c −−−→−−−→−−−→fa = fc −−−→−−−→else: −−−→−−−→−−−→b = c −−−→−−−→−−−→fb = fc −−−→return (a+b)*0.exit(0) −−−→k = 0 −−−→while ( ((abs(b-a)>tol) or (abs(fc)>tol)) and (k<maxITER) ): −−−→−−−→k += 1 −−−→−−−→c = a-fa*(b-a)/(fb-fa) −−−→−−−→fc = f(c) −−−→−−−→if fc == 0.b. maxITER est le nombre maximal d’itérations et tol est la tolérance.x_init.a.maxITER)): −−−→−−−→c = (a+b)*0.0: −−−→−−−→−−−→return c −−−→−−−→if fc*fb < 0. newton et point_fix sont quatre fonctions (informatiques) qui renvoient la valeur approchée du zéro d’une fonction (mathématique) f . a et b sont les extrémités de l’intervalle de recherche pour les méthodes de dichotomie et de L AGRANGE. 1 2 #!/usr/bin/python #-*.tol.0: −−−→−−−→−−−→a = c −−−→−−−→−−−→fa = fc −−−→−−−→else: −−−→−−−→−−−→b = c −−−→−−−→−−−→fb = fc −−−→return a-fa*(b-a)/(fb-fa) 54 55 56 57 58 def newton(f. lagrange.a.b.ceil(math.0: −−−→−−−→−−−→return c −−−→−−−→if fc*fb < 0.log(abs(b-a)/tol)/math. sys 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 def dichotomie(f.coding: Utf-8 -*- 3 4 import math. x_init est la donnée initiale pour les méthodes de N EWTON et de point fixe.5 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 def lagrange(f.maxITER): −−−→fa = f(a) −−−→if abs(fa)<=tol: −−−→−−−→return a −−−→fb = f(b) −−−→if abs(fb)<=tol: −−−→−−−→return b −−−→if fa*fb > 0.tol.maxITER): −−−→k = 0 −−−→x = x_init −−−→fx = f(x) 24 © G.tol. Résolution d’équations non linéaires TTTTTTTTTTTTT Jeudi 5 juin 2014 Codes Python TTTTTTTTTTTT dichotomie. En paramètre elles reçoivent f.maxITER): −−−→fa = f(a) −−−→if abs(fa)<=tol: −−−→−−−→return a −−−→fb = f(b) −−−→if abs(fb)<=tol: −−−→−−−→return b −−−→if fa*fb > 0.log(2.

maxITER) print "B) Zero calcule åtol. a. a. b = 3.maxITER) a = 0. print "A) Zero calcule å.0e-9 −−−→maxITER = 100 −−−→def f(x): −−−→−−−→return x**2-2 −−−→def phi(x): −−−→−−−→return x**2+x-2 else: −−−→print "Cas test non defini" −−−→sys.a par la methode de Lagrange dans l’intervalle [".tol. ". dichotomie(f."] : ". ".".b.tol."] : ".fx/dfx −−−→−−−→fx = f(x) −−−→−−−→dfx = (f(x+h)-fx)/h −−−→−−−→k += 1 −−−→if k==maxITER: −−−→−−−→print "Pas de convergence" −−−→else: −−−→−−−→return x 70 71 72 73 74 75 76 77 78 79 80 def point_fix(f.maxITER): −−−→k = 0 −−−→x = x_init −−−→while ( (abs(phi(x)-x)>tol) and (k<maxITER) ): −−−→−−−→x = phi(x) −−−→−−−→k += 1 −−−→if k==maxITER: −−−→−−−→print "Pas de convergence" −−−→else: −−−→−−−→return x Exemple d’utilisation 81 82 # CHOIX DU CAS TEST exemple = 2 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 # DEFINITION DU CAS TEST if exemple==1 : −−−→tol = 1.maxITER) par la methode de dichotomie dans l’intervalle ["."] : "."] : ".tol.0e-9 −−−→maxITER = 100 −−−→def f(x): −−−→−−−→return (x+1)*(x-2) −−−→def phi(x): −−−→−−−→return x**2-2 elif exemple==2 : −−−→tol = 1.". print "C) Zero calcule å.a par la methode de Lagrange dans l’intervalle [". b. b. dichotomie(f.b. par la methode de dichotomie dans l’intervalle [". a.Jeudi 5 juin 2014 59 60 61 62 63 64 65 66 67 68 69 1.".maxITER) print "D) Zero calcule åtol.b. lagrange(f.a.x_init. 113 114 115 x_init = 0.". © G.b. lagrange(f. Résolution d’équations non linéaires −−−→h = tol −−−→dfx = (f(x+h)-fx)/h # calcul approche de f’(x) −−−→while ( (abs(fx)>tol) and (k<maxITER) ): −−−→−−−→x = x . b. a.exit(0) 102 103 104 105 106 107 108 109 110 111 112 # CALCUL a = -3. b = 0.a. b. Faccanoni 25 . ". ".

åx_init. Résolution d’équations non linéaires 116 117 Jeudi 5 juin 2014 print "E) Zero calcule par la methode de \textsc{Newton} a partir du point x_0 =". print "G) Zero calcule par la methode de \textsc{Newton} a partir du point x_0 =". comparons nos resultats avec ceux du fsolve le module scipy. newton(f." : ". Faccanoni .optimize a partir du point x_0 =". print "** Zero calcule par å) 26 module qui implement deja ces methodes.optimize a partir du point x_0 =".x_init. newton(f.1. print "** Zero calcule par å) x_init = 1.maxITER) print "H) Zero calcule par la methode de point fix a partir du point x_0 =".tol.maxITER) 118 119 120 121 x_init = 1.x_init.maxITER) 122 123 124 125 126 127 128 129 # Dans python il existe un åmodule: from scipy." : "." : ". åx_init. åx_init.x_init.tol.x_init © G.optimize import x_init = 0.x_init. åx_init.x_init." : "." : ".tol. point_fix(phi.tol. fsolve(f.x_init le module scipy.x_init.maxITER) print "F) Zero calcule par la methode de point fix a partir du point x_0 ="." : ". fsolve(f. point_fix(phi.

00000 3.. En partant de I 0 = [a. Résolution d’équations non linéaires .3) = 0..703541518 2.. b k ] avec I k ⊂ I k−1 .7500000 2.00000 3.702092263 2. Pour cela.500000 2.00000 3. k ≥ 1. I k+1 = [x k .500000 2.95)(x k3 − 4x k − 8.703125 ak 2.687500 2.00000 3.71875 2.2 Soit f : [0. C ORRECTION DE L’ EXERCICE 1.Jeudi 5 juin 2014 1. déterminer la suite des premiers quatre itérés de la méthode de la dichotomie dans l’intervalle [0..703718378 2. 1] pour l’approximation du zéro de f . b k ) = k 0 1 2 3 4 5 6 k 0 1 2 3 4 5 6 ak 2.703739951 k +b k 2 a k f (b k )−b k f (a k ) f (b k )− f (a k ) pour la méthode de la dichotomie.75000 2.75000 2.6250000 2. soit x k tel que I k = [a k .000000 2..690262642 2.702092263 2..000000 2.703739951 2. b k ] sinon.1. x k ] ∪ [x k .690262642 2. Décrire les méthodes de la dichotomie et de L AGRANGE et les utiliser pour calculer le zéro de la fonction f (x) = x 3 − 4x − 8.703718378 2...7109375 bk 3.75000 2.703541518 2.7187500 2.. les méthodes de la dichotomie et de L AGRANGE produisent une suite de sous-intervalles I k = [a k .95 dans l’intervalle [2.596666667 2.. pour la méthode de la L AGRANGE.625000 2. Exercices Exercice 1. 1] → R une fonction continue strictement décroissante telle que f (0) = 1 et f (1) = −1. 3] avec une précision de 10−2 .. On pourra utiliser le tableau ci-dessous : © G.. Sachant que f (0.00000 3.596666667 2.... et tels que f (a k ) f (b k ) < 0.7031250 2.00000 2..1 .6875000 2. Faccanoni 27 .. x k ] si f (a k ) f (x k ) < 0. Dichotomie signe de f (a k ) – – – – – – – signe de f (x k ) – + – – + – + signe de f (b k ) + + + + + + + L AGRANGE signe de f (a k ) – – – – – – – signe de f (x k ) – – – – – – – signe de f (b k ) + + + + + + + xk 2..00000 3.5000000 2... k ←0 ak ← 2 bk ← 3 while |b k − a k | > 0.00000 3.01 do x k ← g (a k .95) < 0 then a k+1 ← a k b k+1 ← x k else a k+1 ← x k b k+1 ← b k end if end while L’unique différence entre les deux méthode réside dans la construction de x k : (a x k = g (a k . b k ].703742582 bk 3.687500 2..71875 xk 2.. b k ) k ← k +1 if (a k3 − 4a k − 8. b]. alors ( [a k ..00000 Exercice 1.. 1..

1. Exercice 1.59375.75 0. le zéro de f est approché par 0.5 0. Combien de pas de dichotomie doit-on effectuer pour améliorer d’un ordre de grandeur la précision de l’approximation de la racine ? C ORRECTION DE L’ EXERCICE 1. le zéro de f est approché par 0. Il faut effectuer au moins log2 1−0 = 5 itérations. b k+1 = b k 28 © G. Faccanoni . On pourra utiliser le tableau ci-dessous : k 0 1 2 3 4 ak 0 xk bk 1 signe de f (a k ) + signe de f (x k ) signe de f (b k ) – 2.6) = 0.5 0. ³ ´ 2. −5 2 Exercice 1.4 Déterminer la suite des premiers 3 itérés des méthodes de dichotomie dans l’intervalle [1. b k+1 = x k sinon on pose a k+1 = x k .3125 0.5 0. b]. b 0 = b. x 0 = 2 . Il faut effectuer au moins log2 21−0 −10 = 10 itérations.25 0.625 0. 3] et de N EWTON avec x 0 = 2 pour l’approximation du zéro de la fonction f (x) = x 2 − 2.28125. après quatre itérations.5 0.28125 bk 1 0.3 Soit f : [0.5 0.25 0.375 0.625 signe de f (a k ) + + + + + signe de f (x k ) + – – + + signe de f (b k ) – – – – – donc. 1] pour l’approximation du zéro de f . On cherche les zéros de la fonction f (x) = x 2 − 2 : ? Méthode de la dichotomie : en partant de I 0 = [a.75 0.625 0. 1.3.25 xk 0.4. ´ ³ 2. ? pour k ≥ 0 ? si f (a k ) f (x k ) < 0 on pose a k+1 = a k . déterminer la suite des premiers quatre itérés de la méthode de la dichotomie dans l’intervalle [0.5625 0.5 0. la méthode de la dichotomie produit une suite de sous-intervalles I k = [a k .25 0.3125 signe de f (a k ) + + + + + signe de f (x k ) – + – – + signe de f (b k ) – – – – – donc. 1] → R une fonction continue strictement décroissante telle que f (0) = 1 et f (1) = −1. Plus précisément a 0 +b 0 ? on pose a 0 = a. On a k 0 1 2 3 4 ak 0 0. Combien d’itérations faut-il effectuer pour approcher le zéro de f à 2−5 près ? C ORRECTION DE L’ EXERCICE 1.375 0.59375 bk 1 1 0. On a k 0 1 2 3 4 ak 0 0 0.5 0.2. b k ] avec I k+1 ⊂ I k et tels que f (a k ) f (b k ) < 0. 1.1. Combien d’itérations faut-il effectuer pour approcher le zéro de f à 2−10 près ? C ORRECTION DE L’ EXERCICE 1.5625 xk 0. Sachant que f (0. Résolution d’équations non linéaires k 0 1 2 3 4 ak 0 Jeudi 5 juin 2014 xk bk 1 signe de f (a k ) + signe de f (x k ) signe de f (b k ) – 2. après quatre itérations.

2 x (b) Méthode de N EWTON. 3. f (x)) au point x k y(x) = f (x k ) + f 0 (x k )(x − x k ) © G. ? Méthode de N EWTON : ? x k+1 = x k − x k2 − 2 1 f (x k ) 1 = xk + . Exercice 1.25 = 1. Résolution d’équations non linéaires y f (x) 7 y f (x) 2 1 4 1 5 4 3 2 7 − 16 2 −1 17 12 3 2 I0 I1 I2 I3 I4 x 3 (a) Méthode de la dichotomie. Donner la suite définissant la méthode de N EWTON pour la recherche d’un zéro de fonction. = x − k f 0 (x k ) 2x k 2 xk Voir la figure 1. Justifier l’expression de la suite. Supposons f ∈ C 1 et f 0 (b x ) 6= 0 (c’est-à-dire xb est une racine simple de f ). donc pour avoir |x m − xb| < ε on 2k doit prendre µ ¶ b−a m ≥ log2 . 1.: Approximation du zéro de la fonction f (x) = x 2 − 2.3b.3 itérations de dichotomie.5 5 4 Newton 2 3 2 = 1. Faccanoni 29 . C ORRECTION DE L’ EXERCICE 1.3. La méthode de N EWTON revient à calculer le zéro de f en remplaçant localement f par sa tangente : en partant de l’équation de la tangente à la courbe (x.5. a k+1 +b k+1 . 2 et on pose x k+1 = Voir la figure 1. où ε est une tolérance fixée et |I m | désigne la longueur de l’intervalle I m . Déterminer l’ordre de convergence minimale de cette suite.3a.375 12 + 17 ' 1.416¯ 17 24 = 1. F IGURE 1. Donc on a le tableau suivant x0 x1 x2 Dichotomie 2 3 2 = 1.Jeudi 5 juin 2014 1.5 1. Clairement I k = b−a .4142156 On rappelle qu’avec la méthode de la dichotomie. 2. Écrire l’algorithme pour une convergence à 10−6 près. ε Améliorer d’un ordre de grandeur la précision de l’approximation de la racine signifie avoir |x k − xb| = |x j − xb| 10 donc on doit effectuer k − j = log2 (10) ' 3.5 17 12 x3 11 8 = 1. les itération s’achèvent à la m-ème étape quand |x m − xb| ≤ |I m | < ε.

alors g (b x ) = 1 − et la méthode n’est que d’ordre 1. . p k xk f (x k ) |x k − 2| 0 1. Si la valeur de m est connue à priori. avec I k ⊂ I k−1 .6 On veut calculer le zéro de la fonction f (x) = x 2 − 2 dans l’intervalle [0. 1. La relation précédent peut être mise sous la forme d’une itération de point fixe x k+1 = g (x k ) avec g (x) = x − f (x) .00000 – -1. b k ]. Faccanoni .0001 do a k b k +2 a k +b k if (a k2 − 2)(x k2 − 2) < 0 then a k+1 ← a k xk ← b k+1 ← x k else a k+1 ← x k b k+1 ← b k end if 30 © G.00000 + 0. Algorithme pour une convergence à ε = 10−6 : Require: x 0 . Si la racine xb est de multiplicité m > 1. on trouve g 0 (b x ) = 0 et g 00 (b x) = 0 f 00 (b x) f 0 (b x) : la méthode de N EWTON est donc 1 m d’ordre 2. . Dans notre cas on a k ←0 ak ← 0 bk ← 2 xk ← ak while |x k2 − 2| > 0. on obtient x k+1 = x k − f (x k ) . Résolution d’équations non linéaires Jeudi 5 juin 2014 et en faisant comme si x k+1 vérifiait y(x k+1 ) = 0. et tels que f (a k ) f (b k ) < 0. f 0 (x k ) Étant donné une valeur initiale x (0) . on peut retrouver la convergence quadratique de la méthode de N EWTON en modifiant la méthode comme suit : f (x k ) x k+1 = x k − m 0 ..6. k ≥ 0.00000 1 . Le point de départ x 0 est donné. c’est-à-dire si f 0 (b x ) 6= 0. cette formule permet de construire une suite x k . b]. C ORRECTION DE L’ EXERCICE 1. 1. f 0 (x) Si xb est racine simple. p k ak xk bk signe de f (a k ) f (x k ) signe de f (b k ) |x k − 2| 0 0. la méthode de L AGRANGE produit une suite de sous-intervalles I k = [a k . 2. En partant de I 0 = [a. k ≥ 1. 2].00000 1. x 7→ f (x) while |x k+1 − x k | > 10−6 do f (x ) x k+1 ← x k − f 0 (xk ) k end while 3. On applique la méthode de N EWTON : écrire l’algorithme et l’utiliser pour remplir le tableau (on s’arrêtera au plus petit k qui vérifie | f (x k )| < 10−4 )..00000 2.41421 1 .1. f (x k ) Exercice 1. On applique la méthode de L AGRANGE : écrire l’algorithme et l’utiliser pour remplir le tableau (on s’arrêtera au plus petit k qui vérifie | f (x k )| < 10−4 ). 2.

? si C 0 < 1000 alors u n → −∞.25000|>0.01421 0.08088 0.00020|>0.00000 2. Donner les points fixes du système et indiquer s’ils sont attractifs ou répulsifs.0001 |-0. Résolution d’équations non linéaires xk 1.08579 0.0001 |-0.Jeudi 5 juin 2014 k ← k +1 end while k ak 0 0. On a ϕ(x) = x ssi x = 1000 : l’unique point fixe du système est x = 1000.00002|<0.0001 |0. 2.00000 1.41414 1.33333 3 1.0001 |-0.00000|>0. Évolution du capital au fil des ans selon la valeur de C 0 : ? si C 0 > 1000 alors u n → +∞.00000 signe de f (a k ) – – – – – – – | f (x k )| |-1. 2.00119|>0.41379 6 1. 3.00000 2 1.7 Évolution d’un capital On investit un capital C 0 > 0.41667 1.00000 2.05u n − 50. C ORRECTION DE L’ EXERCICE 1.0001 signe de f (b k ) + + + + + + + 2. Le placement a un taux de 5% par an et des frais de gestion fixes de 50 euros qui sont prélevés chaque année.41176 1.00692|>0. alors on a ( u0 = C 0 . un + 1 = (1 + 5%)u n − 50 = 1. Comme ϕ0 (1000) = 1.04000|>0. y = ϕ(x) y =x y 1000 x 3x 2x 1x 0 © G.0001 f (x) f 0 (x) p |x k − 2| 0.22222|>0.00004|<0. 1.05 > 1.50000 1.7. ? si C 0 = 1000 alors u n = 1000 pour tout n ∈ N.00042 0.40000 1.00000 while |x k2 − 2| > 10−4 do x x k+1 ← 2k + x1 k k ← k +1 end while k 0 1 2 3 xk 1.41414 1.00000|>0.41176 5 1.0001 |0.00246 0.00001 Exercice 1.05x − 50.00000 2.00007 0.41379 1.00000 1 1.41422 | f (x k )| |-1. La méthode de N EWTON est une méthode de point fixe avec fonction d’itération φ(x) = x − rithme suivant : k ←0 x k ← 1.41421 0. Étudier l’évolution du capital au fil des ans selon la valeur de C 0 .00000 2.00245 0.00001 ce qui donne l’algo- p |x k − 2| 0. Faccanoni 1000 x 0x 1x 2x 3 x 31 .0001 |0. Notons u n le capital au début de la n-ième année.00695|>0.41420 bk 2. Il s’agit d’une suite récurrente définie par u n+1 = ϕ(u n ) avec ϕ(x) = 1. Décrire la suite récurrente qui décrit l’évolution du placement. 3. 1.0001 |-0.40000 4 1.33333 1.00000 2.00000 1.0001 |-0.00000 2. il s’agit donc d’un point fixe répulsif.41421 0. ∀n ∈ N.0001 |-0.

8. y y =x x2 x1 x0 x y = ϕ(x) x 2 +x 2 et ϕ0 (x) = x + 21 ? Points fixes (dans [0. 1]) : `1 = 0 et `2 = 1. 1 ? Nature : ϕ0 (`1 ) = 2 ∈] − 1.1. 2 ¬ ϕ(x) = 12 x(1 − x) = −x 2+x et ϕ0 (x) = −x + 21 ? ? Point fixe (dans [0. Nature : ϕ0 (`) = 21 ∈] − 1. ¬ ϕ : [0. Résolution d’équations non linéaires Jeudi 5 juin 2014 Exercice 1. Faccanoni . 1 ? Nature : ϕ0 (`1 ) = 2 ∈] − 1. 1[ donc ` est attractif. 1[ donc `1 est attractif. ϕ(x) = x + x 3 32 © G. ϕ0 (`2 ) = ­ ϕ(x) = 21 x(1 + x) = 3 2 > 1 donc `2 est répulsif. 1] → R ­ ϕ : [0. 1] → R 1 x 7→ x(1 − x) 2 ® ϕ: R → R 1 x 7→ x(1 + x) 2 1 x 7→ x(1 + x 2 ) 2 C ORRECTION DE L’ EXERCICE 1. 1] donnés par les lois d’évolution suivantes : 1. y = ϕ(x) y y =x x3 x2 x1 x0 x Exercice 1. ϕ0 (`2 ) = 2 > 1 donc `2 est répulsif. ϕ(x) = x − x 3 2.8 Détermination des points fixes attractifs et répulsifs On considère des systèmes dynamiques donnés par la loi d’évolution x 7→ ϕ(x). Dans chaque cas déterminer les points fixes et leur nature (sont-ils attractifs ou répulsifs ?). 1[ donc `1 est attractif.9 Points fixes où la dérivée vaut 1 On considère les systèmes dynamiques sur [0. Tracer le graphe de ϕ et quelques points de la suite. 1]) : ` = 0. 1]) : `1 = 0 et `2 = 1. y = ϕ(x) y y =x x3 x2 x1 x0 ® ϕ(x) = 21 x(1 + x 2 ) = x 3 +x 2 x 2 et ϕ0 (x) = 3x 2+1 ? Points fixes (dans [0.

? Nature : ϕ0 (`) = 1 donc on ne peut pas établir directement la nature du point fixe. ? ? 2. ϕ(x) = x + x 2 Dans chacun des cas. On vérifie facilement que ϕ([0. ? Nature : ϕ0 (`) = 1 donc on ne peut pas établir directement la nature du point fixe. 1]) : ` = 0. Résolution d’équations non linéaires 3. © G. ? Nature : ϕ0 (`) = 1 donc on ne peut pas établir directement la nature du point fixe.Jeudi 5 juin 2014 1. ∀n ∈ N. On vérifie facilement que ϕ(x) ≥ 0 pour tout x ∈ R+ ainsi u n ≥ 0 pour tout n ∈ N. Si la suite converge. 3 ? u n+1 − u n = −u n < 0 pour tout n ∈ N donc la suite est monotone décroissante. Conclusion : u n → +∞. quelques points de la suite). p p 1. ϕ(x) = x + x 3 = x(1 + x 2 ) et ϕ0 (x) = 1 + 3x 2 ? Points fixes (dans [0. 3 ? u n+1 − u n = u n > 0 pour tout n ∈ N donc la suite est monotone croissante. Faccanoni 33 . tracer le graphe de la loi d’évolution et quelques orbites (i. 1] u n+1 = ϕ(u n ). ϕ(x) = x + x 2 = x(1 + x) et ϕ0 (x) = 1 + 2x ? Points fixes (dans [0. ∀n ∈ N. ϕ(x) = x − x 3 = x(1 − x)(1 + x) et ϕ0 (x) = 1 − 3x 2 = (1 − 3x)(1 + 3x) ? Points fixes (dans [0. y y =x x 3x 2 x 1 x0 x y = ϕ(x) On voit qu’il s’agit d’un point fixe attractif. Dans quel cas le point fixe 0 est-il attractif ? Répulsif ? C ORRECTION DE L’ EXERCICE 1. Si la suite converge. 1]) : ` = 0. ? ? 3.e. y y = ϕ(x) y =x x 0x 1 x2 x On voit qu’il s’agit d’un point fixe répulsif. Pour le démontrer il suffit d’étudier directement la suite définie par récurrence ( u 0 ∈ [0. elle converge vers `. Pour le démontrer il suffit d’étudier directement la suite définie par récurrence suivante (on considère ϕ définie sur R+ ) ( u 0 ∈ [0. elle converge vers `. 1]) : ` = 0. Conclusion : u n → 0. 1] pour tout n ∈ N. montrer que 0 est un point fixe du système et que la dérivée de la loi d’évolution en 0 est égale à 1. 1] ainsi u n ∈ [0. Dans chacun des cas. 1] u n+1 = ϕ(u n ). 1]) ⊂ [0.9.

2. 1] u n+1 = ϕ(u n ). ? si x 0 = ±2 alors x n = `2 pour tout n ∈ N∗ . Notons [a. 3. 3 x n+1 = ϕ(x n ) pour tout n ∈ N 1. On vérifie facilement que ϕ(x) ≥ 0 pour tout x ∈ R+ ainsi u n ≥ 0 pour tout n ∈ N. ? u n+1 − u n = u n > 0 pour tout n ∈ N donc la suite est monotone croissante.10 Pour approcher les racines réelles de la fonction f : R → R définie par f (x) = (x 2 − 3x + 2)e x on veut utiliser la méthode de point fixe suivante : ( x 0 donné. Si la suite converge. Pour le démontrer il suffit d’étudier directement la suite définie par récurrence suivante (on considère ϕ définie sur R+ ) ( u 0 ∈ [0. à l’identité : y = ϕ(x) y y =x `2 = 2 `1 = 1 x0 34 −2 x0 −1 x0 x 1 x 2x 3 `1 x 4x 3x 2x 1 `2 x1 x2 x3 x © G. ? ? Exercice 1. ∀n ∈ N. elle converge vers `. Résolution d’équations non linéaires Jeudi 5 juin 2014 y y = ϕ(x) x0 x1 y =x x2 x On voit qu’il s’agit d’un point fixe répulsif.1. Montrer qu’il existe deux racines réelles `1 < `2 de f et les calculer. Faire l’étude graphique de la convergence de la méthode de point fixe et montrer que ? si x 0 ∈] − 2. ? si x 0 < −2 ou x 0 > 2 alors la suite diverge vers +∞. C ORRECTION DE L’ EXERCICE 1. f (x) = (x − 1)(x − 2)e x donc f admet deux uniques racines réelles `1 = 1 et `2 = 2.10. x2 + 2 où ϕ(x) = . 2[ alors la suite converge vers `1 . Faccanoni . b] l’intervalle maximale contenant `1 pour lequel le théorème de point fixe s’applique. Calculer a et b et expliquer pourquoi la suite converge vers `1 même si x 0 ∈] − 2. b]. Conclusion : u n → +∞. 2[\[a. Comparons ϕ. 2/3). 1. qui est une parabole convexe de sommet (0. 2.

f (0) = −1 < 0 et f (1) = 1 > 0 donc. De plus. l’intervalle − 23 . 1[ alors x n % 1 pour tout n ∈ N∗ . Montrer analytiquement que cette itération converge vers ` pour tout x 0 ∈ [0. C ORRECTION DE L’ EXERCICE 1. ? si x 0 = 2 alors x 2 = 2 pour tout n ∈ N.Jeudi 5 juin 2014 1. donc cette racine est unique. f est monotone sur [0. 2. 2[ (car ϕ(x) < x lorsque x ∈]1. 1]) ⊂ [0. 1]. ϕ(1)] = · ¸ 1 e . 2[ alors x n & 1 pour tout n ∈ N. Écrire la méthode de N EWTON pour approcher la solution `. 1]. Résolution d’équations non linéaires L’étude graphique montre que la suite converge quel que soit x 0 ∈ [−2. 3. =⇒ ϕ(x) ∈ [ϕ(0). Faccanoni x 1 x 2x 2x 1 x0 1 x 35 . Soit f : R → R définie par f (x) = x(1 + e x ) − e x . ? si x 0 ∈] − 2. si x 0 ∈] − 2. alors x 1 = ϕ(x 0 ) < |x 0 | ∈]1. L’intervalle maximale pour £appliquer le théorème de point fixe ¤ £ ¤ est défini comme le plus grand intervalle pour lequel |ϕ0 (x)| < 1. 2[. Exercice 1. Or. De plus. On remarque que − 23 . 2. d’après le théorème des valeurs intermédiaire. D’après le théorème de convergence globale des itérations de point fixe. 0 < ϕ0 (x) < 1 pour tout x ∈ R. 1]).11 Considérons l’équation x(1 + e x ) = e x . on voit que ? si x 0 = −2 alors x 2 = 2 pour tout n ∈ N∗ . On considère l’itération ( x 0 ∈ [0. 1] (car f 0 (x) = 1 + xe x > 0 pour tout x ∈ [0. 1]. 1. −3/2] ou x 0 ∈ [3/2. ⊂ [0. f est de classe C ∞ (R). 1 + ex >0. ? si x 0 = 1 alors x n = 1 pour tout n ∈ N.e. 1] : ( ex (1+e x )2 x ∈ [0. 1.11. Proposer une autre itération de point fixe pour approcher `. −1[ alors x n & 1 pour tout n ∈ N∗ . 2[) et on montre que la suite (x n )n∈N est monotone décroissante et minorée par `1 donc convergente. la fonction f admet au moins une racine sur [0. 2 1+e ϕ est contractante stricte car |ϕ0 (x)| < 1 pour tout x ∈ R. Plus précisément. 1] ϕ est une fonction croissante sur R car ϕ0 (x) = ? Montrons que ϕ([0. 1] ϕ continue et croissante = x n2 −x n +1 x n 1+x n e xn e ϕ(x) = avec x n+1 = ϕ(x n ) ? xn ex . f (x) = 0 si et seulement si x est solution de l’équation donnée. donc la convergence est monotone et du premier ordre. Montrer que cette équation admet une unique solution réelle ` dans [0. Comparons ϕ à l’identité : ? y y =x y = ϕ(x) x0 0 © G. 1]. ? si x 0 > 2 alors x n % +∞. 3. Comme l’unique limite possible est `1 on conclut que x n & 1. 1] et faire l’étude graphique de la convergence. 2]. 1] xn )−e x n+1 = x n − xn (1+e 1+x n e xn 3. i. ? si x 0 = −1 alors x n = 1 pour tout n ∈ N∗ . ? si x 0 ∈]1. ? si x 0 ∈] − 1. Méthode de N EWTON : ( x 0 ∈ [0. 32 . l’itération proposée converge pour tout x ∈ [0. 2]. 32 ⊂ [−2.

9987590594698483 1.9989578145726552 0. 2.000000000000000 1. 1. ϕ2 (x) = p 3 x 2 + 1.5000000000000000 0. 4. De plus. Pour la deuxième méthode. Les fonctions ϕi sont de classe C ∞ au voisinage de `. décroissante pour 0 < x < 2/3. ϕ04 (x) = 4 10 : la suite converge de façon monotone . ­ Étudier la convergence locale des méthodes de point fixe x k+1 = ϕi (x k ) pour i = 1. Étudier la convergence locale des trois méthodes de point fixe et. ϕ03 (x) = − 10 x + x + et ϕ03 (1) = 5 5 4. ϕ01 (x) = −3x 2 + 2x − 7 et ϕ01 (1) = −8 : la suite diverge en oscillant .069697123778202 × 106 −1. ϕ2 (x) = 8 − x3 .000000000000000 1. .13 Pour approcher les racines réelles de la fonction f : R→R x 7→ x 3 − x 2 − 1 on utilise trois méthodes de point fixe : ( x 0 donné. Résolution d’équations non linéaires Jeudi 5 juin 2014 Exercice 1.166499545700052×10162 0. Montrer que ` ∈ [1. ϕ3 (x) = 2x 3 − x 2 + 1 .9845143884892086 1.9999989554034564 0.050000000000000 0. 3.625000000000000 −101.12 Pour calculer les racines de la fonction f (x) = x 3 − x 2 + 8x − 8 on utilise 4 méthodes de point fixe différentes décrites par les fonctions d’itération suivantes : ϕ1 (x) = −x 3 + x 2 − 7x + 8.13. 2] : il existe une unique racine ` ∈ [1. si elles convergent.5000000000000000 4. 36 ? minimum local en x = 2/3 et f (2/3) = −31/27 < 0. 2. 2]. et ϕ02 (1) = − 49 1 1 3 2 3. 3x 2 − 2x + 8 ¬ Montrer que ` = 1 est l’unique racine réelle de f . 10 10 5 5 ϕ4 (x) = 2x 3 − x 2 + 8 . ? f 0 (x) = x(3x − 2). Faccanoni . 1. Dans le tableau suivant sont reportées les suites des itérées obtenues par ces quatre méthodes. Montrer qu’il existe une unique racine réelle ` de f .000353832012369 0. 8−x ϕ3 (x) = − 1 3 1 2 1 4 x + x + x+ .000000000000000 0. x n+1 = ϕi (x n ) pour tout n ∈ N où ϕ1 (x) = x 3 − x 2 + x − 1.224001861234915 × 1018 1. (6x 2 −2x)(3x 2 −2x+8)−(2x 3 −x 2 +8)(6x−2) (3x 2 −2x+8)2 et ϕ04 (1) = 0 : la suite converge à l’ordre au moins 2. C ORRECTION DE L’ EXERCICE 1.9160156250000 1. ? maximum local en x = 0 et f (0) = −1 < 0.9999895542527895 0. . 2] de f . C ORRECTION DE L’ EXERCICE 1.12.000235245684712 1.9897857421875000 0. .000000012299503 1. x0 x1 x2 x3 x4 x5 x6 Méthode ϕ3 Méthode ϕ4 Méthode ϕ1 Méthode ϕ2 0. donner l’ordre de convergence. © G. ? f croissante pour x < 0 et x > 3/2.5000000000000000 1. f (2) = 3 et f 0 (x) = x(3x − 2) > 0 pour tout x ∈ [1.004312677086027 0.833775789385161 × 1054 −6.9125000000000001 0.500000000000000 1. donc l’unique racine réelle de f est ` = 1.032258064516129 1. ? limx→±∞ f (x) = ±∞. On étudie brièvement f : ? D f = R et f de classe C ∞ (R).1. . ϕ02 (x) = −3x 3 (8−x)+(8−x 3 ) (8−x)2 14 : la suite converge de façon oscillante .9998988463640411 Exercice 1. x(3x − 2) 1.9998955643403695 0. faire l’étude graphique de la convergence globale et établir analytiquement pour quelles valeurs de x 0 la suite converge. f (1) = −1. on remarque que f (x) = (x − 1)(x 2 + 8).

2] tel que ϕ2 (`) = `. ϕ03 (`) = 2`(`−2) `(3`−2) 6`−2 − ` `(3`−2) (6`2 −2`)(3`2 −2`)−(2`3 −`2 +1)(6`−2) `2 (3`−2)2 = 2`(`−2) 6`−2 `(3`−2) −ϕ3 (`) `(3`−2) = 0 donc la suite converge au moins à l’ordre 2 pour x 0 suffisamment proche de `. ? limx→±∞ ϕ2 (x) = +∞. ? si −` < x 0 < 0 alors 0 < x 1 < ` et x n % ` pour tout n ∈ N∗ . 2x . ? si 0 < x 0 < ` alors x n % ` pour tout n ∈ N. 3. on voit que ? si x 0 > ` alors x n & ` pour tout n ∈ N. 2. (Il s’agit en effet de la méthode de N EWTON). 2. p ϕ2 concave pour x < − 3 et x > 3. 2] mais ici on peut facilement étendre l’étude à R. p p ϕ2 convexe pour − 3 < px < 3.3. Sachant que ` ∈ [1. ? ϕ2 (x) = x ssi f (x) = 0 donc il existe un unique ` ∈ [1. Mieux encore. Faccanoni 37 = . ϕ2 (x) = x ⇐⇒ f (x) = 0 : la méthode est consistante. Pour prouver analytiquement la convergence pour tout x 0 ∈ R on va montrer que |ϕ02 (x)| = 2 |x| <1 p 3 3 (x 2 + 1)2 ∀x ∈ R. On étudie donc brièvement ϕ2 pour pouvoir tracer son graphe et le comparer à l’identité : ? Dϕ2 = R et ϕ2 de classe C ∞ (R).2. la suite ne converge pas. −2(x 2 −3) p ? ϕ00 2 (x) = 9 3 (x 2 +1)5 . ϕ3 (x) = x ⇐⇒ f (x) = 0 : la méthode est consistante. il suffit de l’étudier sur R+ . © G. 2] on a |ϕ02 (`)| = p 3 2 3 24/3 3 (` +1)2 < 4 p 3 3 22 = < 1 donc la suite converge à l’ordre 1 pour x 0 suffisamment proche de `. Comme ϕ02 est une fonction impaire.Jeudi 5 juin 2014 1. ? ϕ02 (x) = p 3 2 2 3 (x +1) ϕ2 croissante pour x > 0. 2` 2. décroissante pour x < 0. Vérifions si on peut appliquer le théorème d’O STROWSKI (attention : il ne s’agit pas de vérifier si on peut appliquer le théorème de point fixe sur l’intervalle [1. Résolution d’équations non linéaires y 2 1 0 −1 1 ` 2 x −1 −2 −3 2. Comme ϕ01 (`) = 3`2 − 2` + 1 = `(3` − 2) + 1 > ` + 1 > 1. ? si x 0 < −` alors x 1 > ` et x n & ` pour tout n ∈ N∗ . minimum locale en x = 0 et ϕ2 (0) = 1. Pour faire l’étude globale de la convergence on essaye d’appliquer le théorème de point fixe sur l’intervalle [1. ϕ1 (x) = x ⇐⇒ f (x) = 0 : la méthode est consistante.1. ? y ϕ2 y =x ` x0 ` x3 x2 x1 x L’étude graphique suggère que la suite converge quel que soit x 0 ∈ R. 2] mais de vérifier s’il existe un voisinage de ` tel que pour tout x 0 assez proche de ` la méthode converge).

Pour la première méthode. 2. 4.3. 1. p ? g est croissante pour 0 < x < 3.14 Pour approcher les racines réelles de la fonction f : R → R définie par f (x) = x − e −(1+x) on utilise quatre méthodes de point fixe : ( x 0 donné.4. 12 mais de vérifier s’il existe un voisinage de ` tel que pour tout x 0 assez proche de ` la méthode converge. ? g (x) ≥ 0 pour tout x ∈ R+ . f ( 2 ) = 2 − 3/2 > 0. ϕ1 (x) = e −(1+x) . Montrer que ` ∈ 1 5. 1/2] donc la suite converge à l’ordre 1 pour x 0 suffisamment proche de `. ϕ3 n’est définie que pour x > 0 et ϕ3 (x) = x ssi x = −1 − ln(x) ssi −(1 + x) = ln(x) ssi ϕ1 (x) = x ssi f (x) = 0. 2.2. y f ( 21 ) f ( 15 ) 1 5` 1 2 x 2.e.3. ? f 0 (x) = 1 + e −(1+x) . 4. 2. vérifier si on peut appliquer le théorème d’O STROWSKI) et. 11 6/5 25 e > 1 donc la suite ne converge pas. p ? décroissante pour x > 3. 1 0 1 2 p 3 3 4 x Exercice 1. faire l’étude graphique de la convergence pour tout x 0 ∈ R et établir analytiquement pour quelles valeurs de x 0 la suite converge (i. Résolution d’équations non linéaires Jeudi 5 juin 2014 y Soit g : R+ → R la fonction définie par g (x) = ϕ02 (x). 1 1 1 1 1 1 ? f ( 5 ) = 5 − 6/5 < 0. 2 ¤1 ϕ4 (x) = 1+x 1 + e (1+x) . £ . Le graphe de ϕ1 s’obtient à partir de celui de e x en faisant une symétrie par rapport à l’axe des ordonnées (ce qui donne le graphe de e −x ) suivie de la translation vers la gauche d’une unité. Sachant que ` > 1/5 on a |ϕ02 (`)| = (2 + `)`e (1+`) > 3. e e 0 f (x) > 0 pour tout x ∈ R : il existe une unique racine ` ∈ [1/5.e. Sachant que ` < 1/2 on a |ϕ03 (`)| = 1/` > 2 donc la suite ne converge pas. On étudie brièvement f : ? D f = R et f de classe C ∞ (R). Si on n’a pas observé ce comportement. Attention : on ne demande pas la convergence globale.1.1. 1/2] de f .4. Étudier la convergence locale des trois méthodes de point fixe (i. 3. |ϕ01 (`)| = e −(1+`) = ` ∈ [1/5. 3.2. ϕ3 (x) = −1 − ln(x). p p p 3 ? g ( 3) = 1/( 2 3) < 1 donc 0 ≤ g (x) < 1 pour tout x ∈ R+ et alors |ϕ02 (x)| < 1 pour tout x ∈ R : la méthode converge pour tout choix du point initial x 0 . ` 1+e (1+`) −` = ϕ4 (`)−` = `−` = 0 donc la suite converge au moins à l’ordre 4. 3. donner l’ordre de convergence. Montrer qu’il existe une unique racine réelle ` de f . ϕ2 (x) = x ssi x = x 2 e (1+x) ssi x = 0 ou 1 = xe (1+x) ssi x = 0 ou ϕ1 (x) = x ssi x = 0 ou f (x) = 0. Montrer ¤que les £ quatre méthodes de point fixe sont consistantes avec la recherche du zéro de f . ϕ04 (`) = (1+e (1+`) )2 = ϕ4 (`) 1+e (1+`) −` = 2 pour x 0 suffisamment proche de `. 2. 3. 2. x n+1 = ϕi (x n ) pour tout n ∈ N où ϕ2 (x) = x 2 e (1+x) . 2. i.14. C ORRECTION DE L’ EXERCICE 1. ϕ4 (x) = x ssi x = 1+x 1+e (1+x) ssi xe (1+x) = 1 ssi ϕ1 (x) = x ssi f (x) = 0. montrer que pour x ∈ 15 . 3. on peut étudier brièvement ϕ1 pour pouvoir tracer son graphe et le comparer à l’identité : 38 © G. trouver des intervalles pour lesquels le théorème de point fixe s’applique).e. 12 on a ϕi (x) = x ⇐⇒ f (x) = 0 i = 1.1. si elles convergent. f croissante pour tout x ∈ R. ¤ £autrement dit on ne demande pas de vérifier si on peut appliquer le théorème de point fixe sur l’intervalle 15 . Faccanoni . ϕ1 (x) = x ssi x = e −(1+x) ssi f (x) = 0. 1. (1+`) 1−`e 1 3. ? limx→±∞ f (x) = ±∞.

On constate qu’elles se croisent à une hauteur de 1 m. ϕ01 (x) = −ϕ1 (x) < 0 pour tout x ∈ R : ϕ1 décroissante pour tout x ∈ R. +∞[ donc ϕ1 est stable sur ] − 1. on a |ϕ01 (x)| < 1 ssi x > −1 donc la condition de contraction stricte n’est pas satisfaite. Cependant on a x 1 = ϕ1 (x 0 ) ∈ ]0. 2 =⇒  c = c = 2− a =p p d . Faccanoni (9−d ) 39 . ϕ001 (x) = ϕ1 (x) : ϕ1 convexe pour tout x ∈ R. Il reste à résoudre p 4 − d2 9 − d2 Posons f (d ) = p 1 2 + p 1 2 − 1. Résolution d’équations non linéaires Dϕ1 = R et ϕ1 de classe C ∞ (R). Que peut-on dire si x 0 ≤ −1 ? Dans ce cas le théorème de point fixe ne s’applique pas.15. Le théorème de point fixe permet alors de conclure que la méthode de point fixe converge pou tout x 0 ∈] − 1. f (d k ) p d p d + 2 3 2 3 (4−d ) © G. 9−d 2 p d .15 1m Entre deux murs (verticaux) parallèles. limx→+∞ ϕ1 (x) = 0+ . Écrire la méthode de N EWTON pour le calcul approché de la distance entre les deux murs. ϕ1 (x) > 0 pour tout x ∈ R. +∞[) =]0. La première fait 3 m de long. Voyons si on peut appliquer le théorème au moins pour x > −1. la méthode de N EWTON construit une suite 4−d 9−d (d k )k∈N par la récurrence suivante p 1 + p 1 2 −1 f (d k ) 4−d 2 9−d d k+1 = d k − 0 = dk − . Mieux encore. 1 +(1−c) 1 +c 2 . Pour prouver cela on vérifie si |ϕ01 (x)| < 1. Exercice 1. +∞[ et le théorème de point fixe s’applique à partir de x 1 . 1[⊂] − 1. 0. +∞[⊂] − 1. limx→−∞ ϕ1 (x) = +∞.Jeudi 5 juin 2014 ? ? ? ? ? ? ? 1. on place deux échelles en les croisant.2. 2 2 1 b c d 1 1 +p = 1. 4−d 2 b On a alors p  9 − d 2 = p 23 2 . la seconde 2 m. ϕ1 (x) = x ssi f (x) = 0 donc il existe un unique ` ∈ [0. 2[. À partir de d 0 donné dans l’intervalle ]0. d C ORRECTION DE L’ EXERCICE 1. +∞[. On conclut que la méthode 1 converge vers l’unique point fixe de ϕ1 pour tout x 0 ∈ R. Comme ϕ01 (x) = −ϕ1 (x). on voit que x n > 0 pour tout n ∈ N∗ . +∞[ et contractante stricte. 12 +(1−c)2 . 1 +c p  4 − d2 = p 2 2 2 a 1m = a p 22 −d 2 1 b  3− En utilisant la similarité des triangles rectangles qui ont hypoténuses respectivement 3 et 2 on a les deux équations : p 2 2  3 −d = 3 = p 3 .5] tel que ϕ1 (`) = `. y y =x ` x0 x2 x3 ` x1 x ϕ1 L’étude graphique suggère que la suite converge quel que soit x 0 ∈ R. ∀x ∈ R. On a ϕ1 (] − 1.

β]. f est croissante sur [− π2 . 0]. Exercice 1. π]. On peut même améliorer l’encadrement et conclure que `+ ∈ [ π3 .2284 > 0 . p ? ? ? ? ? ? p p 3 π f (− π2 ) = 1 − 23 − 12 ≈ −0. La méthode de dichotomie ne peut pas être utilisée pour approcher `− car il est impossible de trouver un intervalle ]a. − π3 ] ∪ [ π3 . 3. 0] et il existe un et un seul `+ solution de l’équation f (x) = 0 pour x ∈ [0. proposer une méthode itérative convergente pour calculer `. β] ⊂ [a. il suffit de construire la suite (x n )n∈N par la relation f (x n ) = g (x n+1 ) pour n ∈ N et appliquer le raisonnement du point précédant. Résolution d’équations non linéaires Jeudi 5 juin 2014 ¯³ ¯ Pour que cette suite converge il faut choisir d 0 dans un intervalle [a. Si |g 0 (`)/ f 0 (`)| > 1. π3 ] . 0 0 2. C ORRECTION DE L’ EXERCICE 1. ¯ 0 ¯ ¯ g (`) ¯ 2. b] = [ π3 . Peut-on appliquer la méthode de la bissection pour calculer les deux racines ? Pourquoi ? Dans le cas où c’est possible. convexe sur [0. f est concave sur [− π2 .246005589. f 0 (`) Si |g (`)/ f (`)| < 1 alors. π]. b] ⊂]0.34244 < 0. ε 40 © G. 2[ tel que ¯ d k − ´¯ f (d k ) 0 ¯ < 1 pour tout 0 f (d k ) ¯ x ∈ [a.12785 < 0. pour le théorème d’O STROWSKI. À partir de ¯ x0 0 ∈¯ [a. b[⊂ R− sur lequel f (a) f (b) < 0. π]) . 1.16 Soit f . f (π) = 2π 3 − 2 ≈ 1. y f (x) − π2 − π3 ` − π 3 `+ π x Par conséquence `− = − π3 est l’unique solution de l’équation f (x) = 0 pour x ∈ [− π2 . b] tel que x n → ` pour tout x 0 ∈ [α. b] est une fonction de classe C 1 ([a. b]) et ϕ0 (x) = g 0 (x) . déduire l’ordre de convergence de la méthode pour les deux zéros. on construit une suite (x n )n∈N par la relation f (x n+1 ) = g (x n ) pour n ∈ N. x = π3 est un minimum local et f ( π3 ) < 0 . f 00 (x) = sin(x) . π]. f 0 ( f −1 (g (x))) Donc ϕ0 (`) = g 0 (`) f 0 ( f −1 (g (`))) = g 0 (`) . f (0) = π6 − 23 ≈ −0. Écrire la méthode de N EWTON pour la fonction f . b]. b] → R deux fonctions monotones de classe C 1 ([a. π]. 1 0 f (x) = 2 − cos(x) . b] → [a. Exercice 1. b]). On suppose qu’il existe un et un seul ` ∈ [a. Étude de la fonction f : π ? f est classe C ∞ ([− 2 . estimer le nombre minimal d’itérations nécessaires pour calculer le(s) zéro(s) avec une tolérance ε = 10−10 après avoir choisi un intervalle convenable. β] ⊂ [a. 2 6 2 1. La fonction f est inversible donc la méthode donnée correspond à une méthode de point fixe x n+1 = ϕ(x n ) où ϕ = f −1 ◦ g : [a. π]. b]. En ce qui concerne l’approximation de `+ . 1. Montrer qu’il existe deux solutions `− < 0 et `+ > 0 de l’équation f (x) = 0 pour x ∈ [− π2 . g : [a.16. x = − π3 est un maximum local et f (− π3 ) = 0 . ¯ g (`) ¯ 1. Faccanoni . en partant de [a. Dans le cas où ¯ f 0 (`) ¯ > 1. décroissante sur [− π3 . π] → R définie par f (x) = p x π 3 − sin(x) + − . Montrer que si ¯ f 0 (`) ¯ < 1 alors il existe un intervalle [α. b] tel que f (`) = g (`).1. b] tel que x n → ` pour tout x 0 ∈ [α. il existe un intervalle [α. 2. la méthode ³ ´ de dichotomie converge en log2 b−a ≈ 35 itérations vers la valeur 2.17 L’objectif de cet exercice est de déterminer les zéros de la fonction f : [− π2 . À l’aide du graphe de la fonction f . 2. C ORRECTION DE L’ EXERCICE 1. β].17. π].

f (x k ) 1 − 2 cos(x k ) À l’aide du graphe de la fonction f . b = 0 et il est de multiplicité quatre (c’est-à-dire f 2 (b ? pour γ = 2 il n’y a que le zéro x x ) = f 20 a(b x ) = f 200 (b x ) = f 2000 (b x ) = 0 et (I V ) f 2 (b x ) 6= 0). Ici donc elle s’écrit f 0 (x) p x k − 2 sin(x k ) + π3 − 3 f (x k ) x k+1 = x k − 0 = xk − .cosh(x)+math. Dans le cas γ = 2. ? pour γ = 3. La méthode converge vers la même solution et avec le même nombre d’itérations même si on prend ε égal au zéro machine. elle converge après 9 itérations vers −1.18 (Python) Soit la fonction f γ (x) = cosh(x) + cos(x) − γ. Pour γ = 1. La méthode de N EWTON est une méthode de point fixe ( x k+1 = φ(x k ). la méthode de dichotomie converge en 34 itérations vers la valeur xb = 1.4961 × 10−4 en 31 itérations avec ε = 10−10 tandis que la racine exacte de f 2 est 0. Exercice 1. avec φ l’application définie par φ(x) = x − f (x) .6 × 10−12 . Pour γ = 3. Cet écart est dû au fait que f 2 est quasiment constante au voisinage de sa racine.18. La méthode de N EWTON avec ε égal au zéro machine converge vers 1. Méthode de Newton.85792082914850 avec f 3 (b x ) ' −3.cos(x)-gamma 132 133 maxITER = 100 134 135 gamma = 3 © G. b] = [1. 3]. π] avec un ordre de convergence linéaire (car f (`− ) = f 0 (`− ) = 0). Résolution d’équations non linéaires 3.85792082915020 après 9 itérations en partant de x 0 = 1. la méthode de dichotomie converge en 34 itérations vers la valeur xb = −1.85792082915020. b] = [−3. Par conséquence. on voit que la méthode converge vers `+ quel que soit x 0 ∈ [−π/2. Calculer ce dernier par la méthode de dichotomie avec une tolérance de 10−10 . la fonction n’a pas de zéro réel. En partant de la donnée initiale x 0 = 1. 3[. Considérons le cas γ = 3.6877 × 10−12 . en partant de [a. en prenant [a. −1[ et l’autre dans ]1. −1].Jeudi 5 juin 2014 1. π/3] avec un ordre de convergence quadratique et converge vers `− quel que soit x 0 ∈ [π/3. Utiliser ensuite la méthode de N EWTON. On se rappelle que cosh(x) = e x +e −x et sinh(x) = e x −e −x 2 donc limx→±∞ f γ (x) = +∞ ? f γ0 (x) = sinh(x) − sin(x) et f γ0 (x) = 0 si et seulement si x = 0 (comparer les graphes de sinh et sin et se rappeler que pour x > 0 on a sinh(x) > x > sin(x) et pour x < 0 on a sinh(x) < x < sin(x)) ? f γ00 (x) = cosh(x) − cos(x) > 0 pour tout x 6= 0. Pourquoi cette méthode n’est-elle pas précise quand γ = 2 ? C ORRECTION DE L’ EXERCICE 1. donc le problème de recherche du zéro est mal conditionné. 2. De même.85792082914850 avec f 3 (b x ) ' −3. Considérons le cas où γ = 2. ? pour γ = 1. un dans l’intervalle ] − 3. alors que si x 0 = −1. 3 trouver (graphiquement) un intervalle qui contient le zéro de f γ . b[ sur lequel f 2 (a) f 2 (b) < 0. Faccanoni 41 . la méthode de dichotomie ne peut pas être utilisée car il est impossible de trouver un intervalle ]a. x 0 donné. Étude de f γ . f 3 admet deux zéros distincts. la méthode de N EWTON converge vers la valeur xb = 1. Voici les instructions : 130 131 def f(x): −−−→return math. ? 2 y y = f 1 (x) y = f 2 (x) y = f 3 (x) x Méthode de la dichotomie.

" : ". x_init = -1. C ORRECTION DE L’ EXERCICE 1. où a et b sont deux coefficients qui dépendent du gaz considéré." : ". print "Zero calcule par la methode de \textsc{Newton} a partir du point x_0 =". b = 3.e. b. åx_init.left. Trouver le volume occupé par 1000 molécules de CO 2 à la température T = 300 K et la pression p = 3. l’équation liant p.x_init.401 −−−→b = 42. V et T ) selon le modèle de VAN DER WAALS est donnée par µ µ p +a N V ¶2 ¶ (V − N b) = kN T. ". methode de \textsc{Newton} a partir du point x_0 =".x_init. On peut calculer ce zéro en utilisant la méthode de dichotomie comme suit : 154 155 156 157 158 159 160 161 def f(V): −−−→a = 0. methode de dichotomie dans l’intervalle [". b. x_init = 1. newton(f. åx_init. newton(f. print "Zero calcule par la åtol. avec une tolérance de 10−12 . a." : ".5e7 −−−→k = 1.0e-12 left = 0. les coefficients a et b prennent les valeurs a = 0.maxITER) Jeudi 5 juin 2014 methode de dichotomie dans l’intervalle [". a.1. On a ? limV →0+ f (V ) = −∞ et limV →+∞ f (V ) = +∞ ? f 0 (V ) = p − aN 2 /V 2 + 2abN 3 /V 3 = p + aN 2 (2bN /V − 1)/V 2 p ? f 0 (V ) = 0 si et seulement si V 3 − V = −2bN donc pour aucun V > 0. print "Zero calcule par la åtol.tol."] : ".tol.0e-10 x_init = -1. 147 148 149 150 151 152 153 gamma = 2 tol = 1. Faccanoni .7 × 10−6 m3 .maxITER) a = 1. on voit que cette fonction n’a qu’un zéro simple dans l’intervalle ]0. ". dichotomie(f.x_init. newton(f.7e-6 −−−→N = 1000.maxITER) x_init = 1. methode de \textsc{Newton} a partir du point x_0 =". aN 2 En traçant le graphe de f . Nous devons donc résoudre une équation non linéaire dont la racine est V ." : ". N est le nombre de molécules contenues dans le volume V et k = 1. b = -1."] : ". On doit calculer les zéros de la fonction f (V ) = pV + aN 2 /V − abN 3 /V 2 − pN b −kN T .".5 × 107 Pa par la méthode de dichotomie.0e-15 a = -3. dichotomie(f.a.06 166 167 print "Zero calcule par la methode de dichotomie dans l’intervalle [".maxITER) 42 © G.401 Pa m3 et b = 42. où N est le nombre de molécules. Résolution d’équations non linéaires 136 137 138 139 140 141 142 143 144 145 146 tol = 1.a.right.3806503e-23 −−−→return p*V+a*N**2/V-a*b*N**3/V**2-p*N*b-k*N*T 162 163 164 165 tol = 1. left. −−−→p = 3. −−−→T = 300. L’équation d’état (i.b. ". newton(f.tol.".maxITER) print "Zero calcule par la åx_init.tol.b. Pour le dioxyde de carbone CO 2 . print "Zero calcule par la methode de \textsc{Newton} a partir du point x_0 =". 0.tol.01 right = 0.maxITER) Exercice 1.19.06[ avec f (0.maxITER) print "Zero calcule par la åx_init."] : ".06) > 0.380 650 3 × 10−23 J K−1 est la constante de Boltzmann.x_init.19 Équation d’état d’un gaz (Python) Nous voulons déterminer le volume V occupé par un gaz dont la température est T et dont la pression est p. right.01.01) < 0 et f (0. dichotomie å(f.".

2. si x 0 > 2 + A alors la suite diverge vers −∞. La méthode peut s’écrire sous la forme d’une méthode de point fixe où la fonction ϕ est définie par A − x2 . ϕ(x) = x + y y =x p A x5 p − A x4 x0 x1 x2 x 3x 3 x4 x2 p A p 2+ A x x1 p − A ϕ 4. 5. . . k f 0 (x 0 ) 2x 0 k = 0. si |x 0 − A| ≤ ε alors la suite x k converge vers A. Si on choisit x 0 < − Apalors la suite divergepvers −∞ . Soit f la fonction définie par f (x) = x 2 − A. . Exercice 1. . Vérifier graphiquement que si x 0 est proche de − A mais différent de − A. cette méthode s’écrit donc x k+1 = x k − x k2 − A f (x k ) = x − . alors la suite x k ne converge pas vers p − A. si p A < x 0p< 2 + A alors la suite converge (de manière monotone croissante après la première itération) vers A . 4. .042 699 999 999 9 m3 . 2. on calcule x k+1 = x k + A − x k2 2 k = 0. . Faccanoni 43 . p 3. alors l’algorithme coïncide avec la méthode de la corde 2 pour résoudre x 2 − A = 0. Supposons que x k converge vers `. alors |ϕ (`)| = |1 − A| < 1 : on p peut appliquer le théorème d’O STROWSKI donc il existe ε > 0 tel que. 1. 4[. 1. Ainsi on conclut que la méthode donnée coïncide avec la méthode de la corde 2 pour résoudre x 2 − A = 0 lorsque x 0 = 1 comme point de départ. Vérifier que si x 0 = 1. k f 0 (x 0 ) 2 k = 0. C ORRECTION DE L’ EXERCICE 1. Si on choisit x 0 = 1. On p considère le cas où A ∈]0. 2. 2 p p 0 Si A ∈]0. 1. . alors sa limite est soit p p A soit − A. si − A < x 0 < A alors la suite converge (de manière monotone croissante) vers p A . Montrer qu’il existe ε > 0 tel que. si |x 0 − A| ≤ ε alors la suite x k converge vers A. . 1. 1. . En passant à la limite dans la formule de récurrence on obtient ` = `+ A − `2 .20 Soit A est un nombre positif donné et considérons l’algorithme suivant : étant donné une valeur x 0 . 2.Jeudi 5 juin 2014 1. 2 p c’est-à-dire `2 = A et donc ` = ± A. p 2. On a représenté dans la figurepci-dessousple graphe de la fonction ϕ lorsque A = 1/2. puisque ϕ0 (x) p= 1 − x. Montrer que si la suite x k converge. La méthode de la corde 2 pour résoudre f (x) = 0 s’écrit dans ce cas x k+1 = x k − x k2 − A f (x k ) = x − . Résolution d’équations non linéaires ce qui donne Vb = 0. . 4[ et ` = A. © G. . . Proposer un algorithme plus efficace pour calculer la racine carrée d’un nombre positif A. p p 3.20.

Faccanoni . 2. avec g ω : R → R la fonction définie par ³ ω´ 2ω g ω (x) = (1 − ω)x 3 + 1 − x + 2(ω − 1) + 2 . On veut approcher le zéro α de f par la méthode de point fixe suivante : ( x 0 donné. on a α3 = 2. On considère la méthode de point fixe suivante : ( x 0 ∈ [0. Cette méthode est plus efficace que la précédente car elle converge à l’ordre 2 pour tout x 0 > 0. 1.2) est-elle d’ordre 3 ? C ORRECTION DE L’ EXERCICE 1. Donner une estimation de la constante C et l’utiliser pour minorer le nombre d’itérations nécessaires pour approcher ` à 10−3 près. π]. Exercice 1. il n’est pas possible d’avoir une convergence d’ordre supérieur à 2. Pour quelles valeurs du paramètre ω la méthode de point fixe (1.e.1.4. 3. (1. Si on choisit la méthode de N EWTON pour résoudre f (x) = 0 avec f (x) = x 2 − A. . (1.1. Montrer qu’on peut utiliser la méthode de la dichotomie pour approcher `.3) avec g : [0.22 On considère le problème du calcul de ` ∈ [0.2) soit d’ordre 3 il faudrait g 0 (α) = g 00 (α) = 0. Que vaut l’approximation de ` après 3 itérations ? Quel est l’erreur maximale qu’on obtient après 3 itérations ? k [a k . π] → R la fonction définie par g (x) = 1 − 14 cos(x). 1. on a x k2 − A f (x k ) = x − . 1.2) est-elle consistante (i. 3 3α 3 3α 3 3α 3α2 2.2. 2. La méthode de point fixe (1. k f 0 (x k ) 2x k x k+1 = x k − k = 0. Montrer que si on utilise le critère d’arrêt |x k+1 −x k | ≤ ε alors |x k+1 −`| ≤ pour approcher ` à 10−3 près ? 44 ε 1−C . x k+1 = g (x k ) pour tout k ≥ 0. 1.2) est au moins d’ordre 2 si ω = 1.2) x k+1 = g ω (x k ) pour tout k ≥ 0. Pour que la méthode de point fixe (1. 2. Comme α est le zéro de f . Existe-t-il des valeurs du paramètre ω pour lesquelles la méthode de point fixe (1. Puisque g 0 (α) = 0 si et seulement si ω = 1 et g 100 (α) = 4ω 6= 0.21 Soit f : R → R la fonction définie par f (x) = x 3 −2.2) est d’ordre 2 ? 3. 3 3x ω ∈ R. . α est un point fixe de gω) ? 2. Résolution d’équations non linéaires Jeudi 5 juin 2014 5. Étudier graphiquement la convergence de cette méthode. . b k ] `k 0 [0. 2. La méthode de point fixe (1. Montrer que l’erreur satisfait l’inégalité |x k − `| ≤ C k |x 0 − `|.21.2) est au moins d’ordre 2 si g 0 (α) = 0. Montrer rigoureusement que la méthode converge pour tout x 0 ∈ [0. . Pour quelles valeurs du paramètre ω la méthode de point fixe (1.2) est consistante pour tout ω ∈ R car ³ ³ 2ω ω´ 2ω ωα 2ω ω(α3 − 2) ω´ g ω (α) = (1 − ω)α3 + 1 − α + 2(ω − 1) + 2 = (1 − ω)(α3 − 2) + 1 − α+ 2 = α− + 2 = α− = α. π] 1 2 3 π 2 2. π]. π] tel que ` = 1 − 14 cos(`). α4 Exercice 1. On a g ω0 (α) = 3(1 − ω)α2 + 1 − ω 4ω − = 3(1 − ω)α2 + 1 − ω = (1 − ω)(3α2 + 1) 3 3α3 donc la méthode de point fixe (1.3. 2. Quelle valeur de ε faut-il choisir © G.

3.2. c ∈ R) C ORRECTION DE L’ EXERCICE 1. π]. b k ] [0. Exercice 1. b 3 ]. 23 2. 2. f (0) = 3/4 > 0 et f (π) = 5/4−π < 0. 2. c’est-à-dire inférieure à b−a = π8 .23 On considère le problème du calcul de ` ∈ [0. π] tel que f (`) = 0. Quelle valeur de ε faut-il choisir −3 pour approcher ` à 10 près ? (Rappel : |a − c| − |c − b| ≤ |a − b| ≤ |a − c| + |c − b| pour tout a.1. Montrer rigoureusement que la méthode converge pour tout x 0 ∈ [0. Soit f : [0. π] et |g (x)| ≤ 1/4 < 1 : la méthode de point fixe converge vers ` pour tout x 0 ∈ [0. π] tel que f (`) = 0. 1/4]. ce zéro est unique. π]. b. g (0) = 3/4. Montrer que l’erreur satisfait l’inégalité |x k − `| ≤ C k |x 0 − `|.Jeudi 5 juin 2014 1. 2. Donner une estimation de la constante C et l’utiliser pour minorer le nombre d’itérations nécessaires pour approcher ` à 10−3 près. 1. ? La suite x n est monotone croissante si x 0 < ` et monotone décroissante si x 0 > `. i. π] → R la fonction définie par f (x) = 1− 14 cos(x)− x. g est croissante sur [0. g ([0. Étudier graphiquement la convergence de cette méthode. g 0 (x) = 41 sin(x) ∈ [0. Pour tout k ∈ N il existe ξk compris entre ` et x k tel que |x k −`| = |g (x k−1 )−g (`)| = |g 0 (ξk )||x k−1 −`| ≤ π 4k 1 4k |x 0 −`| ≤ . π] → R la fonction définie par f (x) = 1+ 12 sin(x)− x. π] 1 £ π¤ 0.4. 1 −C 1 −C Pour que l’erreur soit inférieur à 10−3 il faut alors choisir ε ≤ (1 −C )10−3 . il faut prendre le plus petit k ∈ N qui vérifie k ≥ log4 (103 π) ≈ 5. Donc. Montrer qu’on peut utiliser la méthode de la dichotomie pour approcher `.4.1. Que vaut l’approximation de ` après 3 itérations ? 2. 5/4] ⊂ [0. 1. 2 3 £π 3π 4. k = 6. Étude graphique de la convergence : y π g est de classe C ∞ . 1. π]. Faccanoni 45 .23.22. g (π) = 5/4. π]. ε 2. On peut alors utiliser la méthode de la dichotomie pour approcher ` et l’on a k 0 [a k . x k+1 = g (x k ) pour tout k ≥ 0. Montrer que si on utilise le critère d’arrêt |x k+1 −x k | ≤ ε alors |x k+1 −`| ≤ 1−C . De plus. 2 `k π 2 π 4 2 £π π 4. 0 2. 8 ¤ 3π 8 ¤ 5π 16 L’erreur qu’on obtient après 3 itérations est au plus égale à la largeur de l’intervalle [a 3 . Soit f : [0. le théorème des valeurs intermédiaires permet de conclure qu’il existe au moins un ` ∈ [0. ce zéro est unique. ? 5 4 3 4 g x0 xx1x22 x 1 x0 π x 2. π] tel que ` = 1 + 12 sin(`). On considère la méthode de point fixe de fonction d’itération g . Pour tout k ∈ N on a |x k − `| − |x k+1 − x k | ≤ |x k+1 − x k + x k − `| = |x k+1 − `| ≤ C |x k − `| avec C = 1/4 d’où |x k+1 − `| ≤ 1 ε |x k+1 − x k | ≤ . De plus. On considère la méthode de point fixe suivante : ( x 0 ∈ [0. Elle est de classe C ∞ . le théorème des valeurs intermédiaires permet de conclure qu’il existe au moins un ` ∈ [0. π]) = [3/4. f (0) = 1 > 0 et f (π) = 1−π < 0. comme f 0 (x) = 14 cos(x) − 1 < 0. 2. comme f 0 (x) = 12 cos(x)−1 < 0.3. 2.9. Résolution d’équations non linéaires C ORRECTION DE L’ EXERCICE 1. On peut alors utiliser la méthode de la dichotomie pour approcher ` et l’on a © G. Elle est de classe C ∞ .e. (1.4) avec g : [0. π] → R la fonction définie par g (x) = 1 + 21 sin(x).2. pour approcher ` à 10−3 près.

Calculer l’ordre de convergence de la suite. p p ? g est croissante sur [ 3 a.24. 2 `k π 2 π 4 2 4. Exercice 1. 2. 1 −C 1 −C Pour que l’erreur soit inférieur à 10−3 il faut alors choisir ε ≤ (1 −C ) × 10−3 . Soit la suite (x n )n∈N définie par x n+1 = g (x n ). Faire l’étude complète de la fonction g .3. x→+∞ g (x) = 2 et lim g (x) − 23 x lim x→+∞ x ³ 3 ´x→+∞ g 0 (x) = 23 1 − xa3 . 2. Justifier mathématiquement la convergence observée graphiquement. 6. 1. Pour tout k ∈ N il existe ξk compris entre ` et x k tel que |x k −`| = |g (x k−1 )−g (`)| = |g 0 (ξk )||x k−1 −`| ≤ π 2k . π] 1 £ π¤ 0. π]. π] et |g 0 (x)| ≤ 1/2 < 1 : la méthode de point fixe converge pour tout x 0 ∈ [0. Donc. 3/2] ⊂ [0.e. À l’aide des graphe de g et de l’identité sur quement la convergence. ? g 00 (x) = 2a x4 46 © G. −3 3 1 2k |x 0 −`| ≤ près.24 Le but de cet exercice est de calculer la racine cubique d’un nombre positif a. décroissante sur [ π2 . Étude de la fonction g : R∗+ → R définie par g (x) = 23 x + 13 xa2 : ? g (x) > 0 pour tout x ∈ R∗+ . décroissante sur [0. pour approcher ` à 10 k = 12. Que remarque-t-on ? C ORRECTION DE L’ EXERCICE 1. π]) = [1. g (0) = g (π) = 1.4. > 0 : g est convexe sur R∗+ . 2. b k ] [0.2. Comparer g à l’identité. montrer que cette suite est décroissante à partir du rang 1. 3 a] . 3.7. g ([0. il faut prendre le plus petit k ∈ N qui vérifie k ≥ log2 (10 π) ≈ 11. Faccanoni . 7. +∞[. x 0 > 0. Écrire l’algorithme défini par la suite (x n )n∈N qui permet de déterminer p 3 a à une précision de 10−6 . 1. i. Observer graphi- 4. R∗+ . ? lim g (x) = lim g (x) = +∞ . g est croissante sur [0. π] et g (π/2) = 3/2 < π 3 2 g 1 x0 x1 x2 π 2 π x 2. 5. p p p ? x = 3 a est un minimum absolu et g ( 3 a) = 3 a. π2 ].1. 1/2]. Résolution d’équations non linéaires Jeudi 5 juin 2014 k 0 [a k . x→0+ ? = 0 donc y = 23 x est un asymptote et l’on a g (x) > 23 x pour tout x > 0 . Expliciter la méthode de N EWTON pour la recherche du zéro de la fonction f définie par f (x) = x 3 − a. Soit g la fonction définie sur R∗+ par 1 a 2 g (x) = x + 3 3 x2 (a > 0 fixé). Étude graphique de la convergence : y π g est de classe C ∞ .2 3π 8 7π 16 £π ¤ π 2. Pour tout k ∈ N on a [|x k − `| − |x k+1 − x k | ≤ |x k+1 − x k + x k − `| = |x k+1 − `| ≤ C |x k − `| d’où |x k+1 − `| ≤ ε 1 |x k+1 − x k | ≤ . g 0 (x) = 12 cos(x) ∈ [−1/2. dessiner la suite (x n )n∈N sur l’axe des abscisses. 2 3 £ 3π π ¤ 8 . En particulier.1. On considère la méthode de point fixe de fonction d’itération g . 2.

4a.4a. p 4. Étude graphique de la convergence de la méthode de point fixe : voir la figure 1. On en déduit que pour tout x > 0 on a g (x) ≥ 3 a. +∞[) ⊂ [ 3 a.4. p p Alors la méthode converge vers xb point fixe de g . Algorithme de point fixe : Require: x 0 > 0 while |x k+1 − x k | > 10−6 do x k+1 ← g (x k ) end while Quelques remarques à propos du critère d’arrêt basé sur le contrôle de l’incrément. p 3 x4 x3 a x2 x1 x (b) Étude graphique de la convergence de la méthode de point fixe. Résolution d’équations non linéaires y p 3 y i (x) i (x) g (x) y = 32 x g (x) p 3 a p 3 a a x0 x (a) Graphe de g comparé au graphe de i (x) = x. g 00 (b x) = 2a 6= 0 xb4 la méthode de point fixe converge à l’ordre 2. 3 1 p 4.2. Faccanoni 47 . +∞[ (i.: Exercice 1.24 x p 3 0 g 0 (x) +∞ a − + +∞ +∞ g (x) p 3 a 2. Vérifions les hypothèses du théorème de point fixe qui fournit une condition suffisante de convergence de la suite : p p p p p 4. x k = g (x k−1 ) ≥ 3 a. +∞[ on a ¯ ³ ¯ ¯2 a ´¯ |g 0 (x)| = ¯¯ 1 − 3 ¯¯ < 1 3 x donc g est contractante. 6.Jeudi 5 juin 2014 1. Étant donné que g 0 (b x ) = 0.1. l’intervalle 3 a. On vérifie analytiquement qu’il existe une et une seule intersection entre la courbe d’équation y = g (x) et la droite d’équation y = x : g (x) = x ⇐⇒ 2 1 a x+ =x 3 3 x2 ⇐⇒ x 3 = a. +∞[ on a xb = g (b x ) ⇐⇒ xb = 3 a : la méthode permet donc de calculer de façon itérative la racine cubique de a. 3. pour tout x dans [ 3 a.3. De plus. F IGURE 1. g ∈ C ([ a. Les itérations s’achèvent dès que |x k+1 −x k | < ε . Donc. pour tout x 0 ∈ [ 3 a. +∞[ est stable) . 5. p p 4. +∞[ on a g (x) > 3 a donc g ([ 3 a. L’erreur absolue à l’itération (k + 1) peut être évaluée par un développement de Taylor au premier ordre ek+1 = |g (b x ) − g (x k )| = |g 0 (z k )ek | © G. +∞[) .e. on se demande si cela garantît-t-il que l’erreur absolue ek+1 est elle aussi inférieur à ε. pour tout x dans [ 3 a. pour tout k > 0. Graphe de g comparé au graphe de i (x) = x : voir la figure 1.

Écrire la méthode de N EWTON pour résoudre l’équation e −αx = x avec 0 < α < 1.5) n’est que d’ordre 1 car g 0 (`α ) 6= 0 tandis que la méthode de N EWTON. +∞[ pour tout n ∈ N∗ . on en déduit que `α > 0. Notons ce point `α . on peut appliquer à nouveau le théorème des valeurs intermédiaires à l’intervalle [0. +∞[. ? la convergence n’est pas monotone : la sous-suite des termes d’indice pair est monotone croissante tandis que la sous-suite des termes d’indice impair est monotone décroissante (ce qui veut dire d’une part qu’on ne pourra pas utiliser les théorèmes du type «monotone+bornée=convergente» pour prouver la convergence. on conclut que |g 0 (x)| < 1 pour tout x ≥ 0. On a ? g ∈ C ∞ (]0. Comme f (0) > 0. La méthode de N EWTON est une méthode de point fixe avec g (x) = x − x k+1 = x k − f (x) . +∞[. Vérifier que cette équation admet une unique solution. `α ] sont stables) . Soit f (x) = e −αx − x. +∞[ et g (]0. 7. ? g (R) =]0. 3.25. on peut conclure que `α ∈]0. 2. 1. on peut conclure que `α ∈]0. Parmi la méthode de N EWTON et la méthode de point fixe (1. Puisque g 0 (b x ) = 0.6) La méthode de point fixe (1. d’autre part on voit aussi que ni l’intervalle [`α . notée `α . limx→−∞ e −αx = +∞ et limx→+∞ e −αx = 0 . ? |g 0 (x)| n’est pas bornée pour tout x ∈ R (croissance exponentielle à −∞). De plus. (1. Résolution d’équations non linéaires Jeudi 5 juin 2014 avec z k compris entre xb et x k . +∞[. comparer d’abord le graphe de g à l’identité et observer graphiquement la convergence. On veut montrer que u n converge vers `α . 48 © G. Soit g : R → R la fonction définie par g (x) = e −αx . +∞[) =]0. ? |g 0 (x)| < 1 pour tout x ∈]0. 1[. est d’ordre 2 (car α est un zéro simple). Faccanoni . On en déduit que ? la suite (u n )n converge pour tout u 0 ∈ R . comme g (1) = e −α < 1. +∞[). Plus particulièrement. 1.25. on peut alors utiliser le théorème de point fixe pour conclure que la suite (u n )n∈N converge vers `α pour tout u 0 ∈ ]0. On définit la suite récurrente ( u0 ∈ R (1. +∞[) ⊂]0. |g 0 (x)| < 1 ssi e αx > α ssi x > ln(α)/α. par conséquente elle intersecte la droite d’équation y = x une et une seule fois. Comme 0 < α < 1. comme f (1) < e −1 − 1 < 0. 2. Le graphe de la fonction g est celui en figure 1. on a bien |x k+1 − x k | ' ek .5) u n+1 = g (u n ). Comme la fonction x 7→ e −αx est positive pour tout x ∈ R tandis que la fonction x 7→ x est positive si et seulement si x > 0.5). +∞[ ni l’intervalle [0. Deux méthodes (équivalentes) possibles : Méthode 1 : La fonction g : x 7→ e −αx est continue monotone décroissante. dans R. 1[. De plus. ensuite justifier mathématiquement la convergence observée graphiquement. La méthode de N EWTON (qui s’applique à f et non à g ) définit la suite récurrente ( u0 ∈ R −αu n e −u n u n+1 = u n − −αe −αu n −1 .1. Méthode 2 : La fonction f : x 7→ e −αx −x est continue monotone décroissante.25 On veut résoudre l’équation e −αx = x avec 0 < α < 1. limx→−∞ e −αx −x = +∞ et limx→+∞ e −αx − x = −∞ . Exercice 1. 1[ pour tout n > 1 . qui est encore une méthode de point fixe. on peut donc conclure que la suite (u n )n∈N converge vers `α pour tout u 0 ∈ R. Pour cela. +∞[. +∞[ pour tout x ∈ R. Donc |x k+1 − x k | = |ek+1 − ek | = |g 0 (z k ) − 1|ek ' |g 0 (b x ) − 1|ek . 1[ ainsi u 1 ∈]0. +∞[ et u n ∈]0. 3. Ici elle s’écrit f 0 (x) x k3 − a f (x k ) 1 2 a a = x − = xk − xk + 2 = xk + 2 k 2 f 0 (x k ) 3 3 3x k 3x k 3x k autrement dit la méthode de point fixe assignée est la méthode de N EWTON (qu’on sait être d’ordre de convergence égale à 2 lorsque la racine est simple). Cette étude préliminaire suggère d’utiliser le théorème de point fixe dans l’intervalle ]0. alors u n ∈]0. ∞[ et en déduire que `α > 0. ? g (]0. laquelle faut-il préférer vis-à-vis de la vitesse de convergence ? C ORRECTION DE L’ EXERCICE 1. Comme g (x) ∈]0. par le théorème des valeurs intermédiaires on conclut qu’il existe un et un seul `α ∈ R tel que f (`α ) = 0.

De plus. Alors la méthode (1. On remarque que f (−x) = f (x) : la fonction est paire. q xb = φ(b x ) ⇐⇒ 2b x = exp(b x 2 ) ⇐⇒ 4b x 2 = exp(b x 2 ) ⇐⇒ f (b x ) = 0.7) x 0 ∈]0. © G. Entre la méthode de N EWTON et la méthode de point fixe (1. 1. Faccanoni 49 . pour tout x dans ]0. 1[ tel que f (b x ) = 0. 3. 2. Voir la figure 1. Montrer qu’il y a une racine xb comprise entre 0 et 1. 1[. 0[. − ln 4[. pour tout xb ∈ ]0. 3. p exp(x 2 ) . 1[ . p ? une racine dans l’intervalle ] ln 4. ce xb est unique. Puisque f 0 (x) = 2x exp(x 2 ) − 8x = 2x(exp(x 2 ) − 22 ) < 2x(e − 4) < 0 pour tout x ∈ ]0.26 Soit f une application de R dans R définie par f (x) = exp(x 2 ) − 4x 2 . p ? une racine dans l’intervalle ] − ln 4. x→+∞ p p p ? f 0 (x) = 0 pour x = 0 et x = ln 4 et on a f (0) = 1 et f ( ln 4) = 4(1 − ln 4) < 0 .7) : 3.5. 1[. 1[. ∞[.1.26.6b. Situer les 4 racines de f (i. φ ∈ C 1 (]0. indiquer 4 intervalles disjoints qui contiennent chacun une et une seule racine). 1[ on a ¯ p ¯ ¯ x exp(x 2 ) ¯ ¯ ¯ ¯ ¯ ¯ |φ (x)| = ¯ ¯ = xφ(x)¯ < |x| < 1 ¯ ¯ 2 0 donc φ est contractante. On cherche les zéros de la fonction f (x) = exp(x 2 ) − 4x 2 . ln 4[. F IGURE 1. pour tout x dans ]0.6a pour le graphe de f sur R. 1[ on a s 0< exp(x 2 ) < 4 r e <1 4 donc φ : ]0. Étude de la convergence de la méthode (1. 1. 1[→]0.25 Exercice 1. Examiner la convergence de cette méthode et en avec φ l’application de R dans R définie par φ(x) = 2 préciser l’ordre de convergence. Puisque f (0) = 1 > 0 et f (1) = e − 4 < 0. pour le théorème des valeurs intermédiaires il existe au moins un xb ∈ ]0. On a p ? une racine dans l’intervalle ] − ∞. On se propose de trouver les racines réelles de f . 2. Écrire la méthode de N EWTON pour la recherche des zéros de la fonction f . p ? une racine dans l’intervalle ]0.3. quelle est la plus efficace ? Justifier la réponse. 1[) .2.7).e.: Exercice 1. 4. f est croissante pour x > ln 4 et p décroissante pour 0 < x < ln 4. Soit la méthode de point fixe ( x k+1 = φ(x k ). Voir la figure 1. 3.7) converge vers xb point fixe de φ. C ORRECTION DE L’ EXERCICE 1. +∞[ : ? f (0) = 1 et lim f (x) = +∞. x2 x3 `α x1 g (x) x (b) Étude graphique de la convergence de la méthode de point fixe.Jeudi 5 juin 2014 y 1. 5. 3. (1. Résolution d’équations non linéaires y i (x) `α i (x) `α 0 `α 1 g (x) x x0 (a) Graphe de g comparé au graphe de i (x) = x. On fait donc une brève étude sur [0.

Étant donné que φ0 (b x ) = xbφ(b x ) = xb2 6= 0. Résolution d’équations non linéaires Jeudi 5 juin 2014 y y f (x) f (x) 1 1 p ln 4 0 x 1 xb x 4(1−ln 4) (a) Graphe de f (x) = exp(x 2 ) − 4x 2 .7.7) converge seulement à l’ordre 1.: Exercice 1. © G.27 On cherche à évaluer définie par récurrence p 5 à l’aide d’un algorithme n’autorisant que les opérations élémentaires.6. y (b) Zoom.26 : convergence de la méthode de point fixe. x n+1 = 50 10x n x n2 + 5 ∀n ∈ N. Puisque xb est une racine simple de f . 4. est un zéro de f . Soit (x n )n∈N la suite  x 0 = 1. Ici donc elle s’écrit f 0 (x) exp(x k2 ) − 4x k2 exp(x k2 ) − 4x k2 f (x k ) = x − = x − . Faccanoni . La méthode de N EWTON est une méthode de point fixe avec φ(x) = x − x k+1 = x k − 0 f (x) .1. point fixe de φ. donc xb.26 y 1 1 xb xb xb xb 0 x 1 xb F IGURE 1. Exercice 1.: Exercice 1. F IGURE 1. la méthode de N EWTON converge à l’ordre 2 tandis que la méthode de point fixe (1.7) converge seulement à l’ordre 1 : la méthode de N EWTON est donc plus efficace. la méthode de point fixe (1. k k f 0 (x k ) 2x k exp(x k2 ) − 8x k 2x k (exp(x k2 ) − 4) xb 1 x 5.

0. g (x) ≥ x car 10x 10x g (x) = 2 ≥ p = x. 2 +5 et par conséquent ` ∈ − 5. On a ainsi une suite croissante et borné. ? On prouve par récurrence que ? si x 0 = 0 alors x n = 0 pour tout n ∈ N donc ` = 0. p 2. On a g (x) ∈ [5/3. 5] (et on a −10 + 5 5 > 1). 5]) = [5/3. n→+∞ p ª © p Par définition de convergence on a ` = `10` 5 . C ORRECTION DE L’ EXERCICE 1. 5] p p p p p ? mais 0 ≤ g 0 (x) < 1 ssi x ∈ [ −10 + 5 5. g ( 5) = 5 . Déterminer l’ordre de convergence de cette suite. On étudie la fonction g : p ? g (x) > 0 pour p toutpx ∈ [1.8a. 5 . Conclure. 5] . 5 . Résolution d’équations non linéaires y p 5 y i (x) 5 3 g (x) i (x) g (x) 1 p 5 x x0 (a) Graphe de g comparé au graphe de i (x) = x. 5]. Montrer que si la suite converge. 5[ et g 0 ( 5) = 0. F IGURE 1. x1 x2 x (b) Étude graphique de la convergence de la méthode de point fixe x k+1 = g (x k ). 5] et on a vu au point précédent que g est croissante et g ( 5) = 5. on p conclut que x n −−−−−→ 5. Faccanoni 51 . 5]) p p p ? g ([1. alors elle converge vers 0 ou 5. Étudier g et la comparer à l’identité. ? 2 −5 ? g 0 (x) = −10 (xx2 +5) 2 . Supposons qu’il existe ` ∈ R tel que x n −−−−−→ `. 4.8. © G. p p ? g est croissante sur [1. 5] par g (x) = x10x 2 +5 . 5] : g (x) = x ⇐⇒ 10x =x x2 + 5 ⇐⇒ x 2 = 5. © p ª Comme x 0 = 1 > 0. Soit la fonction g définie sur [1. ? si x 0 < 0 alors x n < 0 pour tout n ∈ N donc ` ≤ 0. En effet p ? g est au moins de classe C 1 ([1. p 2. p p p Comme g (x) ≤ ( 5) = 5 alors la suite x k+1 = g (x k ) ≤ 5 est bornée. 1.: Exercice 1.27 p 1. ? g (1) = 35 . On vérifie analytiquement p qu’il existe une et une seule intersection entre la courbe d’équation y = g (x) et la droite d’équation y = x dans [1.8b. © p ceª qui implique qu’elle converge. De plus. on ne peut pas utiliser le théorème de point fixe pour prouver la convergence de la suite sur l’intervalle [1. Comme au premier point on a montré que si elle converge vers ` alors ` ∈ 0. Soit la fonction g définie sur [1. x + 5 ( 5)2 + 5 par conséquent la suite x k+1 = g (x k ) ≥ x k est croissante. Pour l’étude graphique de la convergence de la méthode de point fixe voir la figure 1. Montrer que la suite (x n )n∈N est croissante et majorée par 5. p 3.Jeudi 5 juin 2014 1. Graphe de g comparé au graphe de i (x) = x : voir la figure 1. 5] par g (x) = x10x 2 +5 . p p p p 3. ? si x 0 > 0 alors x n > 0 pour tout n ∈ N donc ` ≥ 0. alors x n > 0 pour tout n ∈ N et ` ∈ 0. 5] ⊂ [1.27. 5] pour tout x ∈ [1. n→+∞ Dans p ce cas.

ce ` est unique.28. Puisque f est de classe C 2 (R. la fonction g définie par g (x) = x + α f (x) vérifie −1 < 1 − 2α < g 0 (x) < 1 − α < 1 sur R. On définit la suite {x n }n∈N de R par la récurrence suivante x n+1 = g (x n ) = x n + α f (x n ). pour le théorème des valeurs intermédiaires il existe au moins x→−∞ x→+∞ un ` ∈ R tel que f (`) = 0. 4. 1. En déduire la convergence de la suite {x n }n∈N si 0 < α < 1 pour tout x 0 ∈ R. R) et f 0 (x) < 0 sur R alors f est monotone décroissante. Exercice 1. R) et g 0 (x) = 1 + α f 0 (x) Puisque f 0 (x) < −1 et 0 < α < 1 on a et puisque f (x) > −2 et 0 < α < 1 alors sur R. Puisque lim f (x) = +∞ > 0 et lim f (x) = −∞ < 0. 5. De plus.28 L’objectif de cet exercice est de déterminer le zéro d’une fonction C 2 (R. onRobtient : x x −−−−→ −∞. où α > 0 et x 0 ∈ R sont donnés. 5]) ⊂ [5/3. p p 4. Considérons la fonction g définie par g (x) = x + α f (x) alors g est de classe C 2 (R. la méthode de point fixe associée à la fonction d’itération g est d’ordre 2. Résolution d’équations non linéaires Jeudi 5 juin 2014 p En revanche. Soit 0 < α < 1. x→−∞ donc lim f (x) = +∞ x→−∞ lim f (x) = −∞. Donner l’ordre de convergence de la suite {x n }n∈N pour 0 < α < 1 en distinguant le cas α = 1 . Comme g 0 ( 5) = 0 et g 00 ( 5) 6= 0. 5] p ? 0 ≤ g 0 (x) < 1 pour tout x ∈ [5/3. Peut-on choisir α = − f 01(`) d’un point de vue pratique ? 1 8. On étudie la suite x n+1 = g (x n ) et on va vérifier qu’il s’agit d’une méthode de point fixe pour le calcul du zéro ` de f . 3. En déduire qu’il existe un unique ` élément de R tel que f (`) = 0. ? si x > 0 alors f (x) = 0 f 0 (x) dx + f (0) < 0 −1 dx + f (0) = −x + f (0) − Rx 0 R0 0 R 0 x→+∞ ? si x < 0 alors f (x) = 0 f (x) dx + f (0) = − x f (x) dx + f (0) > − x −2 dx + f (0) = −2x + f (0) − −−−−→ +∞. on peut utiliser le théorème de point fixe pour prouver la convergence de la suite sur l’intervalle [5/3.1. 3. 1. f 0 (`) 7. Faccanoni . La suite converge-t-elle pour α = − f 01(`) ? 6. Puisque f 0 (x) < 0 pour tout x ∈ R. x→−∞ x→+∞ 2. On choisit alors d’approcher α = − f 01(`) par αn = − f 0 (x n) et la suite {x n }n∈N est définie par x n+1 = g (x n ) = x n + αn f (x n ). 52 © G. Quel est le nom de cette méthode itérative ? Montrer que la suite {x n }n∈N converge quel que soit x 0 ∈ R. Montrer que si 0 < α < 1. Montrer que lim f (x) = +∞ et lim f (x) = −∞. puisque −2 < Rf 0 (x) < −1 sur R. C ORRECTION DE L’ EXERCICE 1. R) vérifiant −2 < f 0 (x) < −1 sur R. x→+∞ NB : seul la condition f 0 (x) < −1 permet de conclure car une fonction peut être monotone décroissante mais avoir une limite finie ! 2. g 0 (x) < 1 − α < 1 sur R 0 g 0 (x) > 1 − 2α > −1 sur R. Autrement dit |g 0 (x)| < 1 sur R. 4. 5]) p p ? g ([5/3. 5] car p ? g est au moins de classe C 1 ([5/3. 5].

Si on choisit d’approcher α = − f 01(`) par αn = − f 0 (x n) et on considère la suite {x n }n∈N définie par x n+1 = g (x n ) = x n + αn f (x n ). ? ? la méthode de point fixe converge à l’ordre 1 si α 6= − f 01(`) . elle converge vers l’unique zéro de f ) : 4. 4.2. 1[. ce point est bien un zéro de f (ici le réciproque est vrai aussi) : soit ` ∈ R. 1 f 0 (x n ) et on obtient Quel est le nom de cette méthode itérative ? Montrer que la suite {x n }n∈N converge quel que soit x 0 ∈ R. 4. x→+∞ 53 . on obtient : Rx x ? si x > 0 alors f (x) = 0 f 0 (x) dx > 0 1 dx = x − −−−−→ +∞.Jeudi 5 juin 2014 1. vérifions maintenant que la suite converge vers un point fixe de g (et donc. D’un point de vue pratique on ne peut pas choisir α = − f 01(`) car on ne connaît pas `. 6. 1[ quel que soit x 0 ∈ R. 1.e. R) . x→+∞ Rx 0 R0 0 R0 ? si x < 0 alors f (x) = 0 f (x) dx = − x f (x) dx < − x 2 dx = 2x − −−−−→ −∞. 7.1. 4. On définit la suite {x n }n∈N de R par la récurrence suivante x n+1 = g (x n ).2. Puisque f est de classe C 2 (R. 1 8.29.2. ? la méthode de point fixe converge à l’ordre 1 si −2 < α f 0 (`) < 0 mais α f 0 (`) 6= −1. on va l’approcher par αn = la suite {x n }n∈N définie par x n+1 = x n − αn f (x n ). Si α = − f 01(`) alors x n+1 = g (x n ) = x n − qui converge car −2 < f 0 (`) < −1 ssi 1 2 f (x n ) . En déduire la convergence de la suite {x n }n∈N pour tout α ∈]0. la fonction g vérifie |g 0 (x)| < 1 sur R. R) et f 0 (x) > 0 sur R alors f est monotone croissante. De plus. lim f (x) = +∞ et en déduire qu’il existe un unique ` ∈ R tel que f (`) = 0. si la suite converge vers un point fixe de g . Étant donné que g 0 (`) = 1 + α f 0 (`) la méthode de point fixe converge à l’ordre 2 si α f 0 (`) = −1. f 0 (`) < α < 1 et donc on rentre dans le cas de 0 < α < 1. grâce à ce qu’on a vu au point précédant. ? la méthode de point fixe ne converge pas si α f 0 (`) < −2 ou α f 0 (`) > 0. on obtient la méthode de N EWTON (qui est d’ordre 2). Donner l’ordre de convergence de la suite {x n }n∈N en fonction de α ∈]0.29 L’objectif de cet exercice est de déterminer le zéro d’une fonction f ∈ C 2 (R. on a évidemment que g : R → R . où α > 0 et x 0 ∈ R sont donnés et la fonction g : R → R est définie par g (x) = x − α f (x).3. 1. on a déjà remarqué que g ∈ C 1 (R. De plus. 3. Exercice 1. Alors la suite x n+1 = g (x n ) converge vers ` point fixe de g et zéro de f . x→−∞ x→+∞ 2. Comme d’un point de vue pratique on ne peut pas choisir α = f 01(`) . 4. Montrer que si 0 < α < 1. puisque 1 < f R0 (x) < 2. alors ` = g (`) ⇐⇒ ` = ` + α f (`) ⇐⇒ 0 = α f (`) ⇐⇒ f (`) = 0. Faccanoni lim f (x) = +∞. comme −2 < f 0 (x) < −1 on rentre dans le cas 0 < α < 1 donc la suite {x n }n∈N converge quel que soit x 0 ∈ R. 5. C ORRECTION DE L’ EXERCICE 1. Étant donné que −2 < f 0 (`) < −1 et que 0 < α < 1 on peut conclure que 1 ? la méthode de point fixe converge à l’ordre 2 si α = − f 0 (`) .2. x→−∞ donc lim f (x) = −∞ x→−∞ © G. On vérifie d’abord que.1. que g est contractante. pour tout x dans R on a prouvé que |g 0 (x)| < 1.2. Montrer que lim f (x) = −∞. R) vérifiant 1 < f 0 (x) < 2 sur R. Résolution d’équations non linéaires 4. i.

Que remarque-t-on ? 7. elle converge vers l’unique zéro de f ) : g ∈ C 1 (R. 2. si la suite converge vers un point fixe de g . ce ` est unique. On vérifie d’abord que. R). (On admettra que x 3 +4x 2 −10 = 0 admet comme unique solution m ≈ 1. Étant donné que g 0 (`) = 1 − α f 0 (`) avec 0 < f 0 (`) < 2 et 0 < α < 1. Expliciter la méthode de N EWTON pour la recherche du zéro de la fonction f définie par f (x) = x 3 + 4x 2 − 10. D’un point de vue pratique on ne peut pas choisir α = par αn = 1 f 0 (x n ) 1 . x 0 > 0. R) et pour tout x dans R on a prouvé que |g 0 (x)| < 1. En particulier. Observer graphiquement la convergence. Puisque 1 < f 0 (x) < 2 et 0 < α < 1 on a −1 < 1 − 2α < g 0 (x) = 1 − α f 0 (x) < 1 − α < 1 Autrement dit |g 0 (x)| < 1 sur R. g est de classe C 2 (R. 3. 2. 3x 2 + 8x 1. Soit la suite (x n )n∈N définie par x n+1 = g (x n ). alors la suite x n+1 = g (x n ) converge vers ` point fixe de g et zéro de f . pour le théorème des valeurs intermédiaires il existe au moins x→−∞ x→+∞ un ` ∈ R tel que f (`) = 0.1. vérifions maintenant que la suite converge vers un point fixe de g (et donc. Puisque f 0 (x) > 0 pour tout x ∈ R. montrer que cette suite est décroissante à partir du rang 1. f 0 (`) 1 .30 Soit g la fonction définie sur R∗+ par g (x) = 2x 3 + 4x 2 + 10 . Exercice 1. i. comme 1 < f 0 (x) < 2 alors 0 < αn < 1 donc la suite {x n }n∈N converge quel que soit x 0 ∈ R.2. Faire l’étude complète de la fonction g . R∗+ . 2.1. on peut conclure que ? la méthode de point fixe converge à l’ordre 2 si α = ? la méthode de point fixe converge à l’ordre 1 si α 6= 4.e. alors α6=0 ` = g (`) ⇐⇒ ` = ` − α f (`) ⇐⇒ 0 = α f (`) ⇐⇒ f (`) = 0. Écrire l’algorithme défini par la suite (x n )n∈N qui permet de déterminer le point fixe à une précision de ε. 5. À l’aide des graphe de g et de l’identité sur dessiner la suite (x n )n∈N sur l’axe des abscisses.) 2. 3. g est contractante. Faccanoni . Expliciter (sans la vérifier) la condition nécessaire pour la convergence observée graphiquement. 54 © G. De plus. 4. on obtient la méthode de N EWTON (qui est d’ordre 2). Si on choisit d’approcher α = 1 f 0 (`) et on considère la suite {x n }n∈N définie par x n+1 = x n − αn f (x n ). Résolution d’équations non linéaires Jeudi 5 juin 2014 NB : seul la condition 1 < f 0 (x) < 2 permet de conclure car une fonction peut être monotone croissante mais avoir une limite finie ! Puisque lim f (x) = −∞ < 0 et lim f (x) = +∞ > 0. Comparer g à l’identité. 6.36 et que g (m) = m. grâce à ce qu’on a vu au point précédant. On étudie alors la suite x n+1 = g (x n ) et on va vérifier qu’il s’agit d’une méthode de point fixe pour le calcul du zéro ` de f . Donner l’ordre de convergence de la suite. f 0 (`) 1 f 0 (`) car on ne connaît pas `. ce point est bien un zéro de f (ici le réciproque est vrai aussi) : soit ` ∈ R.

Jeudi 5 juin 2014

1. Résolution d’équations non linéaires

y
y

i (x)

i (x)

g (x)
y = 32 x − 49

g (x)

m

m

x

x0

(a) Graphe de g comparé au graphe de i .

x4 x3

x2

x1

x

(b) Étude graphique de la convergence de la méthode de point
fixe.

F IGURE 1.9.

C ORRECTION DE L’ EXERCICE 1.30.
1. Étude de la fonction g : R∗+ → R définie par g (x) =
? g (x) > 0 pour tout x ∈ R∗+ ;
? lim g (x) = lim g (x) = +∞ ;
x→+∞
g (x)
lim
= 23 et lim g (x) − 23 x
x→+∞ x
x→+∞
3 +4x 2 −10)
;
g 0 (x) = 2(3x+4)(x
x 2 (3x+8)2

2x 3 +4x 2 +10
3x 2 +8x

:

x→0+

= − 94 donc y = 23 x − 49 est un asymptote ;

?
? g est croissante sur [m, +∞[, décroissante sur [0, m] où m ≈ 1,36 ;
? x = m est un minimum absolu et g (m) = m.
x

m

0

g 0 (x)

+∞
+

+∞

+∞

g (x)
m
2. Graphe de g comparé au graphe de i (x) = x : voir la figure 1.9a. On vérifie analytiquement qu’il existe une et une
seule intersection entre la courbe d’équation y = g (x) et la droite d’équation y = x :
g (x) = x

⇐⇒

2x 3 + 4x 2 + 10
=x
3x 2 + 8x

⇐⇒

x 3 + 4x 2 − 10 = 0

⇐⇒

x =m

⇐⇒

f (x) = 0.

3. Pour l’étude graphique de la convergence de la méthode de point fixe voir la figure 1.9b.
4. On en déduit que pour tout x > 0 on a g (x) ≥ m. Donc, pour tout k > 0, x k = g (x k−1 ) ≥ m. Pour étudier la convergence
de la méthode vérifions si on peut appliquer le théorème de point fixe :
4.1. pour tout x dans [m, +∞[ on a g (x) > m donc g ([m, +∞[) ⊂ [m, +∞[ ;
4.2. g ∈ C 1 ([m, +∞[) ;
¯ 2
¯
¯ (6x +8x)−g (x)(6x+8) ¯
4.3. pour tout x dans [m, +∞[, on a |g 0 (x)| = ¯
¯ < 1 alors g est contractante.
2
3x +8x

Si les conditions précédentes sont vérifiées alors la méthode converge vers m point fixe de g . De plus, pour tout α ∈
[m, +∞[ : α = g (α) ⇐⇒ α = m donc le point fixe de g est racine de f .

5. Algorithme de point fixe :
Require: x 0 > 0, g : x 7→ g (x)

© G. Faccanoni

55

1. Résolution d’équations non linéaires

Jeudi 5 juin 2014

while |x k+1 − x k | > ε do
x k+1 ← g (x k )
k ← k +1
end while
6. La méthode de N EWTON est une méthode de point fixe avec g (x) = x −
x k+1 = x k −

f (x)
. Ici donc elle s’écrit
f 0 (x)

x k3 + 4x k2 − 10
f (x k )
= g (x k )
=
x

k
f 0 (x k )
3x k2 + 8x k

autrement dit la méthode de point fixe assignée est la méthode de N EWTON.
7. Étant donné que la méthode de point fixe donnée est la méthode de N EWTON et que la racine m de f est simple, elle
converge à l’ordre 2.
Quelques remarques à propos du critère d’arrêt basé sur le contrôle de l’incrément. Les itérations s’achèvent dès que |x k+1 −
x k | < ε ; on se demande si cela garantît-t-il que l’erreur absolue ek+1 est elle aussi inférieur à ε. L’erreur absolue à l’itération
(k + 1) peut être évaluée par un développement de TAYLOR au premier ordre
ek+1 = |g (b
x ) − g (x k )| = |g 0 (z k )ek |
avec z k compris entre m et x k . Donc
|x k+1 − x k | = |ek+1 − ek | = |g 0 (z k ) − 1|ek ' |g 0 (m) − 1|ek .
3x+4
0
Puisque g 0 (x) = 2 x 2 (3x+8)
2 f (x), alors g (m) = 0 donc on a bien |x k+1 − x k | ' ek .

Exercice 1.31
q
On se propose de calculer 4 13 en trouvant les racines réelles de l’application f de R dans R définie par f (x) = x 4 − 31 .
1. Situer les 2 racines de f (i.e. indiquer 2 intervalles disjoints qui contiennent chacun une et une seule racine). En
particulier, montrer qu’il y a une racine xb comprise entre 0 et 1.
2. Soit g la fonction définie sur [0; 1] par
g (x) =

x(9x 4 + 5)
.
3(5x 4 + 1)

2.1. Faire l’étude complète de la fonction g et la comparer à l’identité.
2.2. Soit la suite (x n )n∈N définie par
x n+1 = g (x n ),

x 0 ∈]0; 1[.

À l’aide des graphe de g et de l’identité sur [0; 1], dessiner la suite (x n )n∈N sur l’axe des abscisses. Observer
graphiquement la convergence.
2.3. Justifier mathématiquement la convergence observée graphiquement.
2.4. Calculer l’ordre de convergence de la suite.
2.5. Écrire l’algorithme défini par la suite (x n )n∈N qui permet de déterminer

q
4

1
3

à une précision de ε.

3. Expliciter la méthode de N EWTON pour la recherche du zéro de la fonction f .
4. Entre la méthode de N EWTON et la méthode de point fixe x k+1 = g (x k ), quelle est la plus efficace ? Justifier la
réponse.
C ORRECTION DE L’ EXERCICE 1.31.
1. f est paire ; comme f 0 (x) = 4x 3 , f est croissante pour x > 0 et décroissante pour x < 0 ; puisque f (0) < 0 et f (−1) =
f (1) > 0, on conclut que il n’y a que deux racines réelles distinctes : xb ∈]0; 1[ et −b
x ∈] − 1; 0[.
2. On étudie la fonction g (x) =
2.1.

56

x(9x 4 +5)
3(5x 4 +1)

pour x ≥ 0.

?

g (x) ≥ 0 pour tout x ≥ 0 et g (x) = 0 ssi x = 0 ;
q
³
´2
³q ´
5(9x 8 −6x 4 +1)
4 1
4 1
5 3x 4 −1
0
0
? g 0 (x) =
=
.
De
plus,
g
donc
g
(x)

0
pour
tout
x
∈]0;
1[
et
g
(x)
=
0
ssi
x
=
3 5x 4 +1
3
3 =
3(5x 4 +1)2
q
4 1
3.
q
q
320x 3 (3x 4 −1)
10 3x 4 −1 32x 3
20 0
32x 3
? Enfin, g 00 (x) = 3
donc g 00 (x) = 0 ssi x = 0 ou x = 4 13 , g est
4 +1)2 =
4 +1)3
3 g (x) (5x 4 +1)2 =
5x 4 +1
(5x
(5x
q
i q h
concave pour x ∈ 0; 4 13 , convexe pour x > 4 13 .

© G. Faccanoni

Jeudi 5 juin 2014

1. Résolution d’équations non linéaires

y

y
g (x)

i (x)
q
4

y = 35 x

1
3

q
4

1
3

q
4

1
3

x

1

g (x)

i (x)

x0 x1

(a) Graphe de g comparé au graphe de i .

x2

x3

x4

q
4

x

1

1
3

(b) Étude graphique de la convergence de la méthode de point fixe.

F IGURE 1.10.

?
?

Pour le graphe de g comparé au graphe de i (x) = x pour x ∈ [0; 1] voir la figure 1.10a.
On vérifie analytiquement qu’il existe une et une seule intersection entre la courbe d’équation y = g (x) et
la droite d’équation y = x :
g (x) = x

⇐⇒

x(9x 4 + 5)
=x
3(5x 4 + 1)

⇐⇒

9x 4 + 5 = 3(5x 4 + 1)

⇐⇒

x4 =

1
3

⇐⇒

f (x) = 0.

2.2. Pour l’étude graphique de la convergence de la méthode de point fixe voir la figure 1.10b.
2.3. Étudions la convergence de la méthode. On remarque que
9x k4 + 5
x k+1
=
> 1 ⇐⇒ x k <
xk
3(5x k4 + 1)
donc la suite récurrente
(

r
4

1
3

i q h
x 0 ∈ 0; 4 13
x k+1 = g (x k )

q

est monotone croissante et majorée par 4 13 : elle est donc convergente vers ` ≤
q
q
4 1
4 1
3 , on conclut qu’elle converge vers
3 . De même, la suite récurrente
(

x0 ∈

iq
4

q
4

1
3.

Comme ` = g (`) ssi ` =

h

1
3;0

x k+1 = g (x k )
q
q
est monotone décroissante et minoré par 4 13 : elle est donc convergente vers ` ≤ 4 13 . Comme ` = g (`) ssi
q
q
` = 4 13 , on conclut qu’elle converge vers 4 13 .
q
Par conséquent, quelque soit le point initiale, la méthode de point fixe donnée converge vers 4 13 point fixe de
g (et racine de f ).
Soulignons qu’on ne peut pas utiliser le théorème de point fixe pour prouver la convergence de la méthode car
g n’est pas contractante sur [0; 1]. En effet, dans [0; 1] on a
|g 0 (x)| < 1 ⇐⇒ g 0 (x) < 1 ⇐⇒ 5(3x 4 − 1)2 < 3(5x 4 + 1)2 ⇐⇒ 15x 8 + 30x 4 − 1 > 0 ⇐⇒ x 4 > −1 +
q
8
x 4 +1
2.4. Si on pose xb = 4 13 alors g (b
x ) = xb, g 0 (b
=
x ) = 0, g 00 (b
x ) = 0 et g 000 (b
x ) = −320b
x 2 25bx(5bx−22b
4 +1)4
suite converge à l’ordre 3.

p
15 3
2

r

16
∈]0; 1[.
15

: on conclut que la

2.5. Algorithme de point fixe :
Require: x 0 > 0, g : x 7→ g (x)

© G. Faccanoni

57

1. Résolution d’équations non linéaires

Jeudi 5 juin 2014

while |x k+1 − x k | > ε do
x k+1 ← g (x k )
k ← k +1
end while
3. Entre la méthode de N EWTON et la méthode de point fixe x k+1 = g (x k ), la plus efficace est la méthode de point fixe
x k+1 = g (x k ) car elle est d’ordre 3 tandis que celle de N EWTON n’est que d’ordre 2.

Exercice 1.32 (Python)
Comparer les méthodes de la dichotomie, de L AGRANGE et de N EWTON pour approcher la racine xb ' 0.5149332646611294
de la fonction f (x) = cos2 (2x) − x 2 sur l’intervalle ]0, 1.5[ avec une précision de 10−16 . Pour la méthode de N EWTON on
prendra x 0 = 0.75.

C ORRECTION DE L’ EXERCICE 1.32. On modifie les fonctions données à la page 24 pour que les méthodes s’arrêtent lorsque
le nombre d’itérations est égal à maxITER :
1

import math, sys

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

def dichotomie(f,a,b,tol,maxITER):
−−−→fa = f(a)
−−−→if abs(fa)<=tol:
−−−→−−−→return a
−−−→fb = f(b)
−−−→if abs(fb)<=tol:
−−−→−−−→return b
−−−→if fa*fb > 0.0:
−−−→−−−→print "La racine n’est pas encadree"
−−−→−−−→sys.exit(0)
−−−→n = int(math.ceil(math.log(abs(b-a)/tol)/math.log(2.0)))
−−−→for k in range(min(n+1,maxITER)):
−−−→−−−→c = (a+b)*0.5
−−−→−−−→fc = f(c)
−−−→−−−→if fc == 0.0:
−−−→−−−→−−−→return c
−−−→−−−→if fc*fb < 0.0:
−−−→−−−→−−−→a = c
−−−→−−−→−−−→fa = fc
−−−→−−−→else:
−−−→−−−→−−−→b = c
−−−→−−−→−−−→fb = fc
−−−→return (a+b)*0.5

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

def lagrange(f,a,b,tol,maxITER):
fa = f(a)
if abs(fa)<=tol:
return a
fb = f(b)
if abs(fb)<=tol:
return b
if fa*fb > 0.0:
print "La racine n’est pas encadree"
sys.exit(0)
k = 0
fc = 2.*tol
while ( (abs(b-a)>tol) and (abs(fc)>tol) and (k<maxITER) ):
k += 1
c = a-fa*(b-a)/(fb-fa)
fc = f(c)
if fc == 0.0:
return c
if fc*fb < 0.0:
a = c
fa = fc
else:

58

© G. Faccanoni

append(abs(exact-newton(f.pylab import * © G.float_info. b = 1.b.append(abs(exact-lagrange(f.00000000177782544 0.00000000000000011 0.00000000001556633 0.tol.5149332646611294 71 72 73 74 75 76 nITER = 10 tol = sys.00000000000000000 0.00516763966112943 0.*x)*math. Dic[i].04756673533887057 0.*x))**2-x**2 def df(x): return -4.cos(2.75 77 78 79 80 81 82 XXX Dic Lag New = = = = [] [] [] [] 83 84 85 86 87 88 89 90 for i in range(nITER): maxITER = i XXX.*x)-2.00000000000000000 0.append(abs(exact-dichotomie(f.00000000000013634 0.b.00260088757041255 0.00000020304484416 0.00000000000000000 On affiche enfin les erreurs absolues |b x − x maxITER | en fonction du nombre d’itérations pour chaque méthode avec une échelle logarithmique pour l’axe des ordonnées.00000000000000000 N EWTON 0.17f" % (XXX[i]. Résolution d’équations non linéaires b = c fb = fc return a-fa*(b-a)/(fb-fa) 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 def newton(f.x_init.17f %15.00000001670020067 0. Faccanoni 59 .tol.maxITER))) Lag.00000000000000122 0.00000000000000000 0. la troisième colonne l’erreur absolue obtenue par la méthode de L AGRANGE et la dernière par la méthode de N EWTON.a.a.Jeudi 5 juin 2014 1.13993326466112943 0.maxITER))) print "%2.04618326466112943 0.g %15.5 x_init = 0.00069173533887057 0.tol.00077310841112943 L AGRANGE 0.23506673533887057 0.01102701466112943 0.*x 69 70 exact = 0. 91 from matplotlib.fx/dfx −−−→−−−→fx = f(x) −−−→−−−→dfx = df(x) −−−→−−−→k += 1 −−−→return x Ensuite on construit une matrice dont la première colonne contient le nombre d’itérations.x_init.epsilon a = 0. New[i]) On obtient ainsi le tableau maxITER 0 1 2 3 4 5 6 7 8 9 Dichotomie 0.maxITER): −−−→k = 0 −−−→x = x_init −−−→fx = f(x) −−−→h = tol −−−→dfx = df(x) −−−→while ( (abs(fx)>tol) and (k<maxITER) ): −−−→−−−→x = x .00002318596617201 0.*math.00023079676801208 0.append(maxITER) Dic. Lag[i].23506673533887057 0.02274576466112943 0.sin(2.00000000000000000 0.tol.17f %15.00223795216112943 0.07773975719741250 0.14588447288050665 0.maxITER))) New.03464350570111258 0. la deuxième colonne l’erreur absolue obtenue par la méthode de la dichotomie avec le nombre d’itérations indiqué dans la première colonne.cos(2. 65 66 67 68 def f(x): return (math.

De plus.’Newton’]) show() Le résultat est le suivant On remarque tout d’abord que la décroissance de l’erreur avec la méthode de la dichotomie n’est pas monotone.0."y-o") legend([’Dichotomie’.’Lagrange’. 60 © G.Lag..Dic.1]) semilogy(XXX.0. Faccanoni . Résolution d’équations non linéaires 92 93 94 95 96 97 Jeudi 5 juin 2014 xlabel(’Iterations’) ylabel(’Absolute error’) axis([0..nITER."g-o"."r-o".New.XXX.1. on voit que la méthode de N EWTON est d’ordre 2 tandis que la méthode de L AGRANGE est d’ordre 1.XXX.

(2. x 2 . . . Notons Rm [x] l’espace vectoriel formé par tous les polynômes de © degré inférieur ª ou égale à m. . . où ϕ est une fonction simple à intégrer (par exemple polynomiale). Dans l’autre cas. Supposons que l’on veuille chercher un polynôme P m de degré m ≥ 0 qui. . Dans d’autres contextes. x m et m + 1 valeurs correspondantes y 0 . on dit alors que ϕ interpole l’ensemble de valeurs {y i }ni=0 aux nœuds {x i }ni=0 . y m . Il est bien connu que Rm [x] a dimension m + 1 et que sa base canonique est donnée par 1. . .1. y 2 . . Théorème Interpolation polynomiale Étant donné m + 1 points distincts x 0 . x. . . .1. Méthode directe (ou “naïve”) Une manière apparemment simple de résoudre ce problème est d’écrire le polynôme dans la base canonique de Rm [x] : P m (x) = a 0 + a 1 x + a 2 x 2 + · · · + a m x m . il est appelé polynôme d’interpolation ou polynôme interpolant. . y m respectivement.2.     m an + a1 xm + . . Les (m + 1) relations (2. on cherche à construire une fonction continue ϕ représentant une loi empirique qui se cacherait derrière les données. . au lieu de calculer a f (x) dx on calcule de manière exacte a ϕ(x) dx. a n x 0m = y 0    a + a x + . prenne les valeurs y 0 . On verra dans le prochain chapitre qu’on utilise fréquemment cette stratégie en intégration Rb Rb numérique quand. 2. . y i ) i =0 . Interpolation © ªn Étant donné n + 1 points (x i . . . . a x m = y 0 1 1 n 1 1  . où a 0 . . a 2 . pour i = 0. . . . x 2 . x m . . pour des valeurs x 0 . . . la fonction f peut n’être connue que par les valeurs qu’elle prend en quelques points particuliers. . trouver une fonction f : x 7→ f (x) telle que f (x i ) = y i Approcher une fonction f consiste à la remplacer par une autre fonction ϕ dont la forme est plus simple et dont on peut se servir à la place de f . Interpolation polynomiale © ªn Étant donné n + 1 couples (x i .1) s’écrivent alors   a 0 + a 1 x 0 + . . Les quantités y i représentent les valeurs aux nœuds x i d’une fonction f connue analytiquement ou des données expérimentales. . am xm = ym 61 . . . le but est d’avoir une représentation synthétique de données expérimentales (dont le nombre peut être très élevé). a m sont des coefficients qui devront être déterminés. l’approximation a pour but de remplacer f par une fonction plus simple en vue d’un calcul numérique d’intégrale ou de dérivée. 2. il existe un unique polynôme P m ∈ Rm [x] tel que P m (x i ) = y i . On parle d’interpolation polynomiale quand ϕ est un polynôme et d’interpolation polynomiale par morceaux (ou d’interpolation par fonctions splines) si ϕ est polynomiale par morceaux.1) Si un tel polynôme existe. m. .1. . c’est-à-dire P m (x i ) = y i pour 0 ≤ i ≤ m. y i ) i =0 . x m distinctes données (appelés nœuds d’interpolation). . le problème consiste à trouver une fonction ϕ = ϕ(x) telle que ϕ(x i ) = y i . a 1 . . Dans le premier cas. y 1 . Dans ce cas. . x 1 .

résoudre une système linéaire de (m + 1) équations à (m + 1) inconnues n’est pas une tache triviale.1. P De plus. Cette relation est appelée formule d’interpolation de L AGRANGE et les polynômes L i sont les polynômes caractéristiques (de L AGRANGE). . x m et m + 1 valeurs correspondantes y 0 . ? L i (x i ) = 1. m qu’on peut écrire sous la forme P m (x) = m X y i L i (x) ∈ Rm [x] i =0 où L i (x) = m x −x Y j j =0 j 6=i xi − x j . . . . . x 0m a0 y0 1 x     . la famille { L 0 . L 1 . L m } forme une base de Rm [x]. (x i − x 0 )(x i − x 1 ) · · · (x i − x i −1 )(x i − x i +1 ) · · · (x i − x m ) j 6=i Clairement. le problème est de déterminer les (m + 1) coefficients a 0 . x m 62 © G. .. ..  xm 1 . . m 1 x m . . . a m qu’on peut mettre sous la forme matricielle 1      1 x 0 .. a 2 . . a 2 . La matrice  . L 2 . m xm am ym Ainsi. . y 1 . . Théorème Interpolation de L AGRANGE Étant donné m + 1 points distincts x 0 . L 2 . . . . 0 ≤ i ≤ m.2.  .  .     (2. x 0m x 1 . y m . . . commençons par imposer le passage du polynômes par les m + 1 points donnés : les (m + 1) relations (2. Le dénominateur est une constante et il est facile de vérifier que ? L i (x) ∈ Rm [x]. m et puisque m i =0 αi L i (x j ) = α j . ces relations forment un système linéaire de (m + 1) équations en les (m + 1) inconnues a 0 .. . . L m } de Rm [x] telle que le polynôme P m s’écrit P m (x) = y 0 L 0 (x) + y 1 L 1 (x) + y 2 L 2 (x) + · · · + y m L m (x). .2) ..1) et ceci pour n’importe quelles valeurs y 0 . On se demande s’il existe une autre base { L 0 .  s’appelle matrice de VANDERMONDE. . . . . . on conclut que tous les α j sont nuls.  1 x 0 . les polynômes L 0 . .  . y 1 . .2. j ≤ m. a 1 . a 1 . il existe un unique polynôme P m ∈ Rm [x] tel que P m (x i ) = y i . pour i = 0. . .   . . . y m données. x 1m     a1   y 1  1 . . . autrement dit s’il existe une base telle que les coordonnées du polynôme dans cette base ne sont rien d’autre que les valeurs connues y 0 .1) imposent la condition : L i (x j ) = ( 1 si i = j 0 sinon pour 0 ≤ i . Ceci montre que le système linéaire (2. . .  . Cette méthode pour trouver le polynôme P m n’est donc pas une bonne méthode en pratique.. .. . .. Faccanoni . Il est important de remarquer que nous avons construit explicitement une solution du problème (2. . ce qui donne L i (x) = m x −x Y j j =0 x i − x j = (x − x 0 )(x − x 1 ) · · · (x − x i −1 )(x − x i +1 ) · · · (x − x m ) . y 2 .2). Dans la suite on va étudier une méthode plus astucieuse pour construire le polynôme P m . . x 1m   1  1. L 1 . 1. . L m sont linéairement indépendants car si l’équation m i =0 αi L i (x) = 0 doit être satisPm P faite pour tout x ∈ R alors i =0 αi L i (x j ) = 0 doit être vraie pour tout j = 0. . le problème consistant à chercher le polynôme P m satisfaisant (2. Cependant. . Par conséquent. . le numérateur de L i (x) est un produit de m termes (x − x j ) avec i 6= j et est donc un polynôme de degré m.. Interpolation Jeudi 5 juin 2014 Puisque les valeurs x i et y i sont connues. L 1 . . .1) peut se réduire à résoudre le système linéaire (2. . . ..2) a toujours une unique solution. a m tels que P m (x) = a 0 + a 1 x + a 2 x 2 + · · · + a m x m .   . . Pour trouver une telle base.  =  . . . .. L 2 . . ? L i (x j ) = 0 si i 6= j . . Méthode de Lagrange Quand on écrit le polynôme P m dans la base canonique de Rm [x].. 2. . . y m .

f : I → R étant une fonction donnée de classe C n+1 (I ) où I est le plus petit intervalle © G. Soit f : R → R une fonction continue donnée et soit x 0 . . en 0 vaut 3 et en 1 vaut 6. . x 2 . 0 ≤ i ≤ m signifie chercher un polynôme P m de degré m tel que P m (x i ) = f (x i ) pour 0 ≤ i ≤ m. . x 2 . x m . 2 −1 2 P (x) = y 0 Remarque Si m est petit il est souvent plus simple de calculer directement les coefficients a 0 . y e f P2 1 1 e −1 0 1 x Proposition Erreur Si y i = f (x i ) pour i = 0. . Faccanoni 63 . . Interpolation Exemple Pour m = 2 le polynôme de L AGRANGE s’écrit P (x) = y 0 (x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 ) + y1 + y2 (x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 ) Exemple On cherche le polynôme d’interpolation de L AGRANGE qui en −1 vaut 8. . Exemple Soit f : R → R la fonction définie par f (x) = e x . 1. . . 0. .3) La solution de ce problème est donc donnée par P m (x) = m X f (x i )L i (x) ∈ Rm [x] où L i (x) = m x −x Y j j =0 j 6=i i =0 xi − x j et le polynôme P m est appelée interpolant de f de degré m aux points x 0 . (m+1) points distincts donnés. . . . On a (x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 ) + y1 + y2 (x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 ) x(x − 1) (x + 1)(x − 1) (x + 1)x =8 +3 +6 = 4x 2 − x + 3. . 1. Interpoler la fonction f aux points x i . .. x 1 . = e 2 −1 2 2e 2 2 2e P (x) = f (x 0 ) La figure ci-dessous montre le graphe de la fonction f et de son interpolant aux points −1. x m . a m avec la méthode “naïve” en résolvant le système linéaire (2. n. x 1 . 0.Jeudi 5 juin 2014 2. (2.2). On a (x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 ) + f (x 1 ) + f (x 2 ) (x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 ) µ ¶ µ ¶ (x + 1)x e 2 1 1 e 1 x(x − 1) (x + 1)(x − 1) + +e = −1− x + − x + 1. a 1 . 1. . On cherche l’interpolant de f aux points −1.

Ce n→+∞ résultat frappant indique qu’en augmentant le degré n du polynôme d’interpolation. Le résultat est évidemment vrai si x coïncide avec l’un des nœuds d’interpolation car E n (x i ) = 0 pour i = 0. on ne peut pas déduire de cette relation que l’erreur tend vers 0 quand n tend vers l’infini. Ces figures ont été obtenue 64 © G. les zéros de G sont les n + 1 nœuds x i et le point x car ωn+1 (x i ) = 0.2. puisque E n(n+1) (t ) = f (n+1) (t ) et ω(n+1) n+1 (x) = (n + 1)! on a (n + 1)! G (n+1) (t ) = f (n+1) (t ) − E n (x) ωn+1 (x) ce qui donne. x 6= x i pour i = 0.1b) xi = ³π ´ a +b b −a − cos i . 2 2 n pour i = 0. . Ceci est lié au fait que la quantité n+1 h maxx∈[−5. b].1a montre ses polynômes interpolants de degrés 3. b]. . l’expression voulue pour E n (x). . En fait. n et h > 0 et x 0 donnés. n Ainsi. 5] et | f (±5)| devient très rapidement grand lorsque n tend vers l’infini.5] | f (n+1) (x)| tend plus vite vers l’infini que 4(n+1) tend vers zéro. 5 et 10 pour une distribution équirepartie des nœuds. n. i.e. . soit x ∈ I fixé. il est possible de montrer que. En effet. 2. G (n+1) a au moins un zéro. . . Ce comportement est connu sous le nom de phénomène de RUNGE. n Pour cette distribution particulière de nœuds. . quand x i = x i −1 + h avec i = 1. . Par conséquent. . La fonction f 1+x 2 (n) est infiniment dérivable sur [−5. Autrement. qu’on note ξ. b] et sont regroupés près des extrémités de l’intervalle. Cette absence de convergence est également mise en évidence par les fortes oscillations observées sur le graphe du polynôme d’interpolation (absentes sur le graphe de f ). . Les nœuds de C HEBYSHEV-G AUSS -L OBATTO. 5] → R définie par f (x) = tribution uniforme des nœuds on voit que l’erreur tend vers l’infini quand n tend vers l’infini. si f est dérivable sur [a. . . On peut éviter le phénomène de RUNGE en choisissant correctement la distribution des nœuds d’interpolation. n et définissons la fonction G: I →R t 7→ E n (t ) − E n (x) ωn+1 (t ) ωn+1 (x) Puisque f ∈ C (n+1) (I ) et puisque ωn+1 est un polynôme. . alors il existe ξ ∈ I tel que l’erreur d’interpolation au point x ∈ I est donnée par E n (x) ≡ f (x) − P n (x) = où ωn+1 (x) ≡ m Q i =0 f (n+1) (ξ) ωn+1 (x) (n + 1)! (x − x j ). . . on a |ωn+1 (x)| ≤ n! et donc max|E n (x)| ≤ x∈I h n+1 4 maxx∈I | f (n+1) (x)| n+1 h . avec t = ξ. D’autre part. bien que h n+1 /[4(n + 1)] tend effectivement vers 0. Sur un intervalle [a. Démonstration. . . Si on considère une dis- Ce phénomène est bien illustré par la fonction de RUNGE : soit la fonction f : [−5. 4(n + 1) Attention Les défauts de l’interpolation polynomiale avec nœuds équirépartis Malheureusement. Dans le cas d’une distribution uniforme de nœuds. G ∈ C (n+1) (I ) et possède au moins n + 2 zéros distincts dans I . ωn+1 (x) G(x i ) = E n (x i ) − E n (x) i = 0. il existe des fonctions f pour lesquelles maxx∈I |E n (x)| −−−−−→ +∞. particulièrement au voisinage des extrémités de l’intervalle. G 0 admet au moins n + 1 zéros distincts et par récurrence G ( j ) a au moins n + 2 − j zéros distincts. Interpolation Jeudi 5 juin 2014 contenant les nœuds distincts { x i }ni=0 . La figure 2. ωn+1 (x) ωn+1 (x) G(x) = E n (x) − E n (x) = 0. . b]. 1. . alors P n converge vers f quand n → +∞ pour tout x ∈ [a. on n’obtient pas nécessairement une meilleure reconstruction de f . qui sont les abscisses des nœuds équirépartis sur le demi-cercle unité. se trouvent à l’intérieur de [a. Exemple Le contre-exemple de RUNGE 1 . . d’après le théorème des valeurs intermédiaires. Faccanoni . on peut par exemple considérer les nœuds de C HEBYSHEV-G AUSS -L OBATTO (voir figure 2.

b.append(lagrange(k.append(lagrange(k.append(lagrange(k.y1)) −−−→l2t.’r-’.l2t.t.l1t.’p_5’.t.’r-’.5*(a+b)-0.1) l1t = [] l2t = [] l3t = [] for k in t: −−−→l1t.5.5) Tchebychev(-5.pylab import * 2 3 4 5 6 7 8 9 10 11 12 def lagrange(t.Jeudi 5 juin 2014 2.’.loc=’lower center’) axis([-5.y3)) 20 21 22 plot(t.1) l1t = [] l2t = [] l3t = [] for k in t: −−−→l1t. Interpolation par les instructions suivantes : 1 from matplotlib.’p_3’.5) linspace(-5.3) Tchebychev(-5.’y--’) legend([’f’.loc=’lower center’) © G.5. Faccanoni 65 .10) [f(x) for x in x1] [f(x) for x in x2] [f(x) for x in x3] 10 11 12 13 14 15 16 17 18 19 # Calcul des polynomes en plusieurs points d’un intervalle pour affichage t = arange(-5.5.y1)) −−−→l2t. -0.’m-.x3..10) f(x1) f(x2) f(x3) 7 8 9 10 11 12 13 14 15 16 # Calcul des polynomes en plusieurs points d’un intervalle pour affichage t = arange(-5.3) linspace(-5.5..t.append(lagrange(k.x.’.f(t).’m-. 5.append(lagrange(k.y2)) −−−→l3t.5.y): −−−→p = 0 −−−→n = len(x) −−−→L = [1 for i in range(n)] −−−→for i in range(n): −−−→−−−→for j in range(n): −−−→−−−→−−−→if j!=i: −−−→−−−→−−−→−−−→L[i] *= (t-x[j])/(x[i]-x[j]) −−−→−−−→p += y[i]*L[i] −−−→return p 13 14 15 def f(x): −−−→return 1.l3t.5.’p_10’].x2.5.n): −−−→return [0.’y--’) legend([’f’.’p_3’.y3)) 17 18 19 20 21 plot(t.f(t).x2.+x**2) "Noeuds équirépartis" 1 2 3 4 5 6 x1 x2 x3 y1 y2 y3 = = = = = = linspace(-5.t.y2)) −−−→l3t./(1.’b:’.5.l1t.x1.t.5*(b-a)*cos(pi*i/(n-1)) for i in range(n)] 3 4 5 6 7 8 9 x1 x2 x3 y1 y2 y3 = = = = = = Tchebychev(-5.t.5.’p_10’].’b:’.’p_5’.append(lagrange(k.l2t.x3. 1]) show() "Noeuds de C HEBYSHEV-G AUSS -L OBATTO" 1 2 def Tchebychev(a.x1.l3t.

0 1.. 1].4 0. La constante de L EBESGUE mesure donc le conditionnement du problème d’interpolation.1. © ª21 ? le polynôme de L AGRANGE p 21 qui interpole l’ensemble perturbé (x i .2 0.1.. i = 0.1i .4 0.4 4 2 4 (a) Distribution équirepartie des nœuds 2 0 4 2 (b) Nœuds de C HEBYSHEV-G AUSS -L OBATTO F IGURE 2.6 0. Plus précisément max|P n (x) − P˜n (x)| ' 6. on a max|P n (x) − P˜n (x)| = max| x∈I n X x∈I i =0 ( f (x i ) − f˜(x i ))ϕi (x)| ≤ Λn (x) max | f (x) − f˜(x)| 0≤i ≤n où Λn (x) ≡ max n X x∈I i =0 |ϕi (x)| est appelée constante de L EBESGUE (noter que cette constante dépend des nœuds d’interpolation). Interpolation Jeudi 5 juin 2014 1.71834 (nombre de N EPER) et γ ' 0. Faccanoni .2. Stabilité de l’interpolation polynomiale Soit f : I → R une fonction de classe C n+1 (I ) où I est le plus petit intervalle contenant les nœuds distincts { x i }ni=0 . 1]) show() 23 24 2. . ? le polynôme de L AGRANGE `21 qui interpole f en 22 nœuds équirépartis sur l’intervalle [−1.: Interpolation de L AGRANGE. Qu’arrive-t-il aux polynômes d’interpolation si. n ? Ces perturbations peuvent provenir d’erreurs d’arrondi ou d’incertitudes dans les mesures. Quand n est grand.212 x∈I 66 © G. y i = f (x i ) i =0 . Des petites perturbations sur les valeurs nodales f (x i ) entraînent des petites variations sur le polynôme d’interpolation quand la constante de L EBESGUE est petite. exemple de RUNGE axis([-5. Soit P n le polynôme exact interpolant les valeurs f (x i ) et P˜n le polynôme exact interpolant les valeurs f˜(x i ). c’est-à-dire l’ensemble © ª21 x i = −1 + 0. on considère des valeurs perturbées f˜(x i ).0 0. Exemple Dans la Figure 2.8 0. En notant x le vecteur dont les composantes sont les nœuds d’interpolation.5. .2 0.2 0. . . 5.21 On remarque que la différence entre ces deux polynômes est bien plus grande que la perturbation des données.2 on a tracé ? la fonction f (x) = sin(2πx). au lieu des valeurs exactes f (x i ).0 f p_3 p_5 p_10 0. i =0...3. y˜i ) i =0 où y˜i est une perturbation aléatoire des valeurs exactes y i de sorte que max |y i − y˜i | ≤ 10−3 .8 0.4 4 2 0 f p_3 p_5 p_10 0. -0.547721 (constante d’E ULER). l’interpolation de L AGRANGE sur des nœuds équirépartis peut donc être instable.2 0. Pour l’interpolation de L AGRANGE avec des nœuds équirépartis Λn (x) ' 2n+1 (ln(n) + γ)ne où e ' 2.6 0.0 0.

’l_21’.: Effet de perturbations sur l’interpolation de L AGRANGE en des nœuds équirépartis.pi*x) 17 18 19 20 x1 = linspace(-1.*random.1.’g:’) legend([’f’.Jeudi 5 juin 2014 2. qui © G.1.’p_21’]. On a alors introduit une autre base de Rn [x].t.f(t).random()-1. 4]) show() 2. Cette figure a été obtenue par les instructions : 1 2 from matplotlib.’r-’.)*0.y): −−−→p = 0 −−−→n = len(x) −−−→L = [1 for i in range(n)] −−−→for i in range(n): −−−→−−−→for j in range(n): −−−→−−−→−−−→if j!=i: −−−→−−−→−−−→−−−→L[i] *= (t-x[j])/(x[i]-x[j]) −−−→−−−→p += y[i]*L[i] −−−→return p 14 15 16 def f(x): −−−→return sin(2*math.001 for yi in y1] 21 22 23 24 25 26 27 28 # Calcul des polynomes en plusieurs points d’un intervalle pour affichage t = arange(-1.22) y1 = f(x1) y2 = [yi+(2.x1.pylab import * import random 3 4 5 6 7 8 9 10 11 12 13 def lagrange(t. Interpolation F IGURE 2. -3.append(lagrange(k.append(lagrange(k.1.l1t.’b:’.l2t. Méthode de Newton On a vu que calculer le polynôme d’interpolation de L AGRANGE dans la base canonique de Rn [x] comporte la résolution d’un système linéaire d’ordre n.loc=’lower center’) axis([-1. et l’écart est particulièrement important aux extrémités de l’intervalle..t.2. Remarquer que dans cet exemple la constante de L EBESGUE est très grande : Λn (x) ' 19274. Faccanoni 67 . 1.4.y1)) −−−→l2t.01) l1t = [] l2t = [] for k in t: −−−→l1t. la base des polynômes de L AGRANGE.x.y2)) 29 30 31 print max(abs(y1-y2)) print max([abs(l1t[i]-l2t[i]) for i in range(len(t))]) 32 33 34 35 36 plot(t.x1.

Considérons la famille de polynômes { ω0 . . ω2 . . ωn } forme une base de Rn [x]. . x i − x i −1 La différence divisée d’ordre n des n+1 points x 0 . L˜ 2 . . i =0 Si on a calculé les n + 1 coefficients { α0 . . αn } et on ajoute un point d’interpolation. . on doit calculer les n + 2 polynômes L˜ 0 . L n }. . . . L˜ 1 . x n est définie par récurrence en utilisant deux différences divisées d’ordre n − 1 comme suit : f [x 0 . ω1 . . . . ω1 . . . α1 . . L 2 . αn } tels que p n (x) = n X αi ωi (x). . ω2 . . ωk (x) = k−1 Y (x − x i ) = (x − x k−1 )ωk−1 (x). α2 . . n. . . . Faccanoni . . ω2 . En effet. Interpolation Jeudi 5 juin 2014 permet de calculer directement le polynôme d’interpolation car les coordonnées du polynôme cherché dans cette base ne sont rien d’autres que les valeurs y i . ? La différence divisée d’ordre 1 de x i −1 et x i est f [x i −1 . . x n−1 ] xn − x0 Pour expliciter le processus récursif. La méthode de N EWTON est basée sur le choix d’une autre base de sort à ce que l’ajout d’un point comporte juste l’ajout d’une fonction de base. . . ∀k = 1. . . y i ) i =0 un ensemble de n + 1 points distincts. . ω2 . . Le polynôme d’interpolation dans la base de p n (x 2 ) = n X N EWTON évalué en x 2 donne αi ωi (x 2 ) = α0 + α1 (x 2 − x 0 ) + α2 (x 2 − x 0 )(x 2 − x 1 ) i =0 donc y −y 1 0 y 2 − α0 − α1 (x 2 − x 0 ) y 2 − y 0 − x1 −x0 (x 2 − x 0 ) α2 = = = (x 2 − x 0 )(x 1 − x 0 ) (x 2 − x 0 )(x 1 − x 0 ) y 2 −y 1 x 2 −x 1 y −y − x11 −x00 x2 − x0 Pour calculer tous les coefficients on va alors introduire la notion de différence divisée : Définition Différences divisées © ª n Soit (x i . . . α2 . Si ensuite on ajoute un point d’interpolation. . . pour calculer le polynôme d’interpolation d’un ensemble de n + 1 points on doit calculer les © n + 1 polynômesª { L 0 . . . . . ωn } où ω0 (x) = 1. . . cette méthode n’est pas la plus efficace d’un point de vue pratique. . . ω1 . ? la famille { ω0 . Par conséquent. il n’y a plus a calculer que le coefficient αn+1 car la nouvelle base est déduite de l’autre base en ajoutant simplement le polynôme ωn+1 . . x n ] − f [x 0 . .2. i =0 Il est facile de vérifier que ? ωk (x) ∈ Rn [x]. le problème du calcul du polynôme d’interpolation p n est alors ramené au calcul des coefficients { α0 . . . les différences divisées peuvent être calculées en les disposant de la manière suivante dans un tableau : 68 © G. x i ] ≡ ? y i − y i −1 . . ωn } est libre. . . . Cependant. ω1 . ωn }. Si on choisit comme base de Rn [x] la famille { ω0 . Le polynôme d’interpolation dans la base de N EWTON évalué en x 0 donne n X p n (x 0 ) = αi ωi (x 0 ) = α0 i =0 donc α0 = y 0 . x n ] ≡ f [x 1 . la famille { ω0 . L˜ n+1 qui diffèrent tous des n + 1 calculés précédemment. . Le polynôme d’interpolation dans la base de N EWTON évalué en x 1 donne p n (x 1 ) = n X αi ωi (x 1 ) = α0 + α1 (x 1 − x 0 ) i =0 donc α1 = y 1 −y 0 x 1 −x 0 . . . Commençons par chercher une formule qui permet de calculer ces coefficients. L 1 . . α1 . . ω1 . . ω2 . ωn } est génératrice de Rn [x] ? la famille { ω0 . .

x 3 . des points supplémentaires peuvent être ajoutés pour créer un nouveau polynôme d’interpolation sans recalculer les coefficients. . x 3 ] f [x 0 . x i −1 . . 2. x 3 ] f [x 1 . . Faccanoni 69 . si un point est modifié.. Autre avantage. . y i ) i =0 un ensemble de n + 1 points distincts. x i ] f [x i −4 . 2. p 2 (x) = y 0 L 0 (x) + y 1 L 1 (x) + y 2 L 2 (x) = π ¡ π π2 −π 2 2 Méthode de Newton. le calcul des différences divisées devient nettement plus rapide. x i −1 . De plus. x 4 ] f [x 2 . .. x 4 ] f [x 1 . π Méthode de Lagrange. x 4 ] f [x 0 . x 2 . ... . . x 1 .. x i ] − 42 π On a alors p 2 (x) = 2 X ωi (x) f [x 0 . Le polynôme d’interpolation de L AGRANGE p n sous la forme de N EWTON est donné par n X ωi (x) f [x 0 .. .. x i ] 0 0 0 1 π 2 1 2 π 2 π 0 − π2 f [x i −2 . on a juste ajouté le point x = 3π/2. . . x i ]. . 3. . Méthode directe. . . x 4 ] . Si on écrit p 2 (x) = α0 + α1 x + α2 x 2 . α1 . x 3 ] 4 x4 y4 f [x 3 . On a x(x − π) 4 ¢ = − x(x − π). . . On cherche donc p 2 ∈ R2 [x] tel que p 2 (x i ) = sin(x i ) pour i = 0. x 1 ] 2 x2 y2 f [x 1 . . x 3 . . p n (x) = i =0 Comme le montre la définition des différences divisées. x i −2 . 3.. . x i ] i =0 = ω0 (x) f [x 0 ] + ω1 (x) f [x 0 . . x i ] f [x i −3 . x 1 .. x i −2 . . Exemple On veut calculer le polynôme d’interpolation de de la fonction f (x) = sin(x) en les 3 points x i = π2 i avec i = 0. π = Maintenant on veut calculer le polynôme d’interpolation de la même fonction en les 4 points x i = π2 i avec i = 0. . . l’interpolation polynomiale dans une base de N EWTON est privilégiée par rapport à une interpolation dans la base de L AGRANGE pour des raisons pratiques. . Par conséquent. . α1 = π4 et α2 = − 42 . x i ] 0 x0 y0 1 x1 y1 f [x 0 . © G. x 2 ] 3 x3 y3 f [x 2 . . x 2 . . . . Interpolation i xi yi f [x i −1 . i. x i −1 . x 1 . x 1 . x i −3 . x i −1 . x 2 .e. Théorème © ªFormule de N EWTON n Soit (x i .Jeudi 5 juin 2014 2. . x 2 ] f [x 0 . . α2 tels que  1  1 1 0 π 2 π     α0 0 π2  α1  = 1  4 0 π2 α2 0 En résolvant ce système linéaire on trouve α0 = 0. . x 2 . . On cherche donc p 3 ∈ R3 [x] tel que p 3 (x i ) = sin(x i ) pour i = 0. x 3 . on cherche α0 . . . x i ] f [x i −2 . . On commence par construire le tableau des différences divisées : i xi yi f [x i −1 . . il est inutile de recalculer l’ensemble des coefficients. . x 2 ] 4 2 ω1 (x) − 2 ω2 (x) π π 4 ³ 2 π´ = x− 2x x− π 2 π 4 = − 2 x(x − π). .. x 1 ] + ω2 (x) f [x 0 . si les x i sont équirépartis.

On introduit alors la méthode des moindres carrés : soit d i = y i − f (x i ) l’écart vertical du point (x i . x i ] 0 0 0 1 π 2 1 2 π 2 π 0 − π2 − 42 3 3π 2 −1 − π2 0 f [x i −3 . c’est-à-dire. x 1 . x i ] π 8 3π3 On a alors p 3 (x) = 3 X ωi (x) f [x 0 . y i ) par rapport à la fonction f . α1 . . Si on écrit p 3 (x) = α0 + α1 x + α2 x 2 + α3 x 3 . Nous avons déjà vu que si n est grand. x i ] f [x i −2 . Interpolation Jeudi 5 juin 2014 Méthode directe. ajouter une ligne au tableau : i xi yi f [x i −1 . α2 . . il récolte des données sous la forme de points (x i . x 2 . les points ne sont pas exactement alignés mais cela semble être dû à des erreurs de mesure). c’est-à-dire de la forme y = mx + q pour certaines valeurs de m et q (autrement dit. On a ³ ´ ¡ ¢ x(x − π) x − 3π x x − π2 (x − π) 2 ³ ´ ³ ´ p 3 (x) = y 0 L 0 (x) + y 1 L 1 (x) + y 2 L 2 (x) + y 3 L 3 (x) = ¡ ¢ π 3π − 3π 3π π ´ ³ 3π π π − π − − − π 2 2 2 2 2 2 2 2 ¶ µ 4 4 ³ 3π π´ = 3 x(x − π) x − − 3x x− (x − π). x 3 ] 8 4 = − 2 x(x − π) + 3 ω3 (x) π 3π 4 8 ³ π´ = − 2 x(x − π) + 3 x x − (x − π) 2 π 3π 8 = x(x 2 − 3πx + 2π2 ). 3π3 Méthode des moindres carrés : fitting par une relation affine Lorsqu’un chercheur met au point une expérience (parce qu’il a quelques raisons de les deux grandeurs x © croire ªque n et y sont liées par une fonction f ). aucune de ces méthodes n’est adaptée à l’extrapolation d’informations à partir des données disponibles. . le polynôme d’interpolation de L AGRANGE n’est pas toujours une bonne approximation d’une fonction donnée/cherchée. y i ) i =0 . Lorsqu’il en fait une représentation graphique il cherche f pour qu’elle s’ajuste le mieux possible aux points observés. x i −2 . à la génération de nouvelles valeurs en des points situés à l’extérieur de l’intervalle contenant les nœuds d’interpolation. . introduisons d i ≡ y i − (mx i + q) l’écart vertical du point (x i . si les données sont affectées par des erreurs de mesure. 2 2 π 3π Méthode de Newton.e. x i −1 . x i ] i =0 = p 2 (x) + ω3 (x) f [x 0 . l’interpolation peut être instable. Faccanoni . Néanmoins. 70 © G. α3 tels que  1 1   1 1 0 0 0 π 2 π π2 4 π2 3π 2 9π2 4     α0 0 π3      α  8   1 =  1  π3  α2   0  27π3 α3 −1 8 16 . En résolvant ce système linéaire on trouve α0 = 0. La méthode des moindres carrés est celle qui choisit f de sorte que la somme des carrés de ces déviations soit minimale. Il suffit de calculer une différence divisée en plus. α1 = 3π π 3π Méthode de Lagrange. De plus. on cherche α0 . Supposons que les deux grandeurs x et y sont liées approximativement par une relation affine. On souhaite alors trouver les constantes m et q pour que la droite d’équation y = mx + q s’ajuste le mieux possible aux points observés. α2 = − 82 et α3 = 8 3 . y i ) par rapport à la droite. i. Ce problème peut être résolu avec l’interpolation composite (avec des fonctions linéaires par morceau ou des splines). x i −1 .2. Pour cela. lorsqu’on affiche ces points dans un plan cartésien.

n. 3 3. x n et n + 1 couples correspondantes (y 0 . . . y i0 ). Polynôme d’H ERMITE ou polynôme osculateur On peut généraliser l’interpolation de L AGRANGE pour prendre en compte.2.9 y 5 4 3 2 1 012345x 2. . Il s’agit d’un système linéaire de 2(n + 1) équations et m + 1 inconnues. . i. . Puisque ! Ã n X ∂E (y i − (mx i + q)) . les valeurs de la dérivée du polynôme interpolateur dans ces nœuds. (m. Interpolation La méthode des moindres carrés est celle qui choisit m et q de sorte que la somme des carrés de ces déviations soit minimale. y 00 ). . La droite d’équation y = mx + q ainsi calculée s’appelle droite de régression de y par rapport à x.21. q) = ni=1 x i2 > 0 donc il s’agit d’un minimum. . . Si m = 2n + 1 on a le résultat suivant : Théorème Étant donné n + 1 points distincts x 0 . il existe un unique © G. Exemple Si on a le points suivantes x y 1 0. . . (m. i =0 Pour minimiser E on cherche d’abord les points stationnaires. Pour cela. y n0 ). q) = 0 (P n ⇐⇒ Pin=0 (y i − mx i − q)x i = 0 i =0 (y i − mx i − q) = 0 (¡P ¢ ¡P ¢ P n x i2 m + ni=0 x i q = ni=0 y i x i i =1 ¢ ⇐⇒ ¡Pn Pn i =1 x i m + (n + 1)q = i =0 y i ¡Pn ¢ ¡ Pn ¢ ¡Pn ¢   i =0 x i i =0 y i − (n + 1) i =0 x i y i   . Π0m (x i ) = y i0 . en plus des valeurs nodales.e. . q) qui vérifient ! Ã n X ∂E (y i − (mx i + q))x i . q) = n X i =0 d i2 = n X (y i − mx i − q)2 . le problème est de trouver un polynôme Πm (x) = a 0 + a 1 x + . q) = 2 Pin=1 i i =0 x i Pn i =0 x i ¶ (n + 1) ³ ¡P ¢2 ´ P P et det(HE (m. a m x m ∈ Rm [x] tel quel ( Πm (x i ) = y i . . i = 0. q = ¡Pn ¢ ¡Pn ¢2  2 i =0 x i i =0 x i − (n + 1) On a trouvé un seul point stationnaire.07 et q = −0.9 2 1. les points (m.Jeudi 5 juin 2014 2. y i .5 on trouve m = 1. q) = −2 ∂q i =0 alors ( ∂E ∂m (m. Faccanoni 71 . Considérons n + 1 triplets (x i . q)) = 4 (n + 1) ni=1 x i2 − ni=0 x i > 0 avec ∂mm E (m.5 4 4. (y n . q) = 0 ∂E ∂q (m.2 5 4. On établi sa nature en étudiant la matrice Hessienne : µPn x2 HE (m. on doit minimiser la fonction E : R2 → R+ définie par E (m. m= ¢ ¡Pn ¡Pn ¢2   2 x x − (n + 1) i i =0 i =0 i ¡Pn ¢ ¡ Pn ¢ ¡Pn ¢ ¡ Pn ¢ ⇐⇒ 2   i =0 x i i =0 x i y i − i =0 y i i =0 x i  . q) = −2 ∂m i =0 ∂E ∂m = ∂E ∂q = 0. .

    a + a x + . .  . 1 x i −x j ... (2n + 1)a 2n+1 x n2n+1−1 = y n0 72 1 1  . . ..      yn   0  y0   0  y1     .. 0 |  i. . .. .   . i i i Cette relation est appelée formule d’interpolation de H ERMITE. . ..  . . = (1 − 2(x − x i )c i )(L i (x))2 . . a 2n+1 x 1   . a 2n+1 x 02n+1 = y 0     2n+1  = y1  a 0 + a 1 x 1 + . .. a x 2n+1 = y n 1 n 2n+1 n n  a 1 + a 2 x 0 + ..   . ..e. = (x − x i )(L i (x))2 . Faccanoni . . . ..   . .. . + y 2 1 − 2(x − x 2 ) x2 − x0 x2 − x1 (x 2 − x 0 )(x 2 − x 1 ) µ µ µ Q(x) = y 0 1 − 2(x − x 0 ) Remarque Si n est petit on peut calculer directement les coefficients a 0 . 1 ci =  x i −x j .. (2n + 1)a 2n+1 x 02n+1−1 = y 00     a 1 + a 2 x 0 + . .. .   1  0  0  .. n qu’on peut écrire sous la forme Q(x) = n X i =0 y i A i (x) + y i0 B i (x) ∈ P2n+1   L i (x)          ci        A i (x)     B i (x) où = = n Q j =0 j 6=i n P j =0 j 6=i x−x j x i −x j .  . . pour i = 0. .   j =0   j 6=i    D (x) = 1 − 2(x − x )c . . x2 − x0 x2 − x1 (x 2 − x 0 )(x 2 − x 1 ) (x 2 − x 0 )(x 2 − x 1 ) µ µ Q(x) = y 0 1 − 2(x − x 0 ) qu’on peut réécrire comme ¶¶ ¶µ ¶ 1 (x − x 1 )(x − x 2 ) 2 1 + + y 00 (x − x 0 ) x0 − x1 x0 − x2 (x 0 − x 1 )(x 0 − x 2 ) µ µ µ ¶¶ ¶µ ¶ 1 1 (x − x 0 )(x − x 2 ) 2 0 + + y 1 (x − x 1 ) + y 1 1 − 2(x − x 1 ) x1 − x0 x1 − x2 (x 1 − x 0 )(x 1 − x 2 ) ¶¶ ¶µ µ µ µ ¶ 1 (x − x 0 )(x − x 1 ) 2 1 + + y 20 (x − x 2 ) ... .. ..    a n + a 1 x n + . .   .. x0 x1 xn x0 x1 xn .. ou encore sous la forme Q(x) = n X i =0 (y i D i (x) + y i0 (x − x i ))(L i (x))2   L i (x)        où = n Q j =0 j 6=i n P x−x j x i −x j .2.  . . Interpolation Jeudi 5 juin 2014 polynôme Π2n+1 ∈ R2n+1 [x] tel que Π2n+1 (x i ) = y i et Π02n+1 (x i ) = y i0 . .. (2n + 1)a 2n+1 x 2n+1−1 = y 0   1 1     .  . Exemple Pour n = 2 le polynôme d’H ERMITE s’écrit ¶¶ µ ¶ µ ¶ 1 (x − x 1 )(x − x 2 ) 2 (x − x 1 )(x − x 2 ) 2 1 + + y 00 (x − x 0 ) x0 − x1 x0 − x2 (x 0 − x 1 )(x 0 − x 2 ) (x 0 − x 1 )(x 0 − x 2 ) µ µ ¶¶ µ ¶ µ ¶ 1 1 (x − x 0 )(x − x 2 ) 2 (x − x 0 )(x − x 2 ) 2 0 + y 1 1 − 2(x − x 1 ) + + y 1 (x − x 1 ) x1 − x0 x1 − x2 (x 1 − x 0 )(x 1 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) µ µ µ ¶¶ µ ¶ ¶ 1 (x − x 0 )(x − x 1 ) 2 1 (x − x 0 )(x − x 1 ) 2 + y 2 1 − 2(x − x 2 ) + + y 20 (x − x 2 ) . . .  y n0 | {z }  (2n+2)×1 © G. a 2n+1 en résolvant le système linéaire de 2n + 2 équations  a 0 + a 1 x 0 + . .   x 02n+1 a0   a1  x 12n+1    .     x n2n+1   = 2n+1−1     (2n + 1)x 0   2n+1−1    (2n + 1)x 1    ..  . a 1 ... 2n+1−1 a 2n+1 (2n + 1)x n {z } | {z } (2n+2)×(2n+2) (2n+2)×1  y0  y1     .

0 f q_3 q_5 q_10 4 2 0 2 4 Cette figure a été obtenue par les instructions : 1 from matplotlib.append(hermite(k.-2. 5] → R définie par f (x) = 1 2 .append(hermite(k.3) x2 = linspace(-5.h2t.t.5.5) x3 = linspace(-5.’q_10’]./(x[i]-x[j]) −−−→−−−→p += (y[i]*(1.x.5./(1.1) h1t = [] h2t = [] h3t = [] for k in t: −−−→h1t.5 1. Interpolation Exemple RUNGE On veut voir si avec l’interpolation d’H ERMITE on arrive à mieux approcher la fonction de RUNGE.x1.t. Soit la fonction f : [−5.5.dy3)) 42 43 44 45 46 plot(t.y3.y1. -1. 5 et 10 pour une distribution équirepartie 1+x des nœuds.*(t-x[i])*c[i])+dy[i]*(t-x[i]))*L[i]**2 −−−→return p 15 16 17 def f(x): −−−→return 1.pylab import * 2 3 4 5 6 7 8 9 10 11 12 13 14 def hermite(t. 5.append(hermite(k.Jeudi 5 juin 2014 2. 1.’.’b:’.h3t.+x**2) 18 19 20 def df(x): −−−→return -2.dy1)) −−−→h2t.’r-’.t.dy): −−−→p = 0 −−−→n = len(x) −−−→L = [1 for i in range(n)] −−−→c = [0 for i in range(n)] −−−→for i in range(n): −−−→−−−→for j in range(len(x)): −−−→−−−→−−−→if j!=i: −−−→−−−→−−−→−−−→L[i] *= (t-x[j])/(x[i]-x[j]) −−−→−−−→−−−→−−−→c[i] += 1.h1t.x3.0 0.5.dy2)) −−−→h3t.x2.*x/(1.’y--’) legend([’f’.f(t). 1]) show() © G..10) y1 = f(x1) y2 = f(x2) y3 = f(x3) dy1 = df(x1) dy2 = df(x2) dy3 = df(x3) 32 33 34 35 36 37 38 39 40 41 # Calcul des polynomes en plusieurs points d’un intervalle pour affichage t = arange(-5.0 0.’m-. La figure ci-dessous montre les polynômes interpolants de degrés 3.y2. Faccanoni 73 .’q_5’.y.5 0.+x**2)**2 21 22 23 24 25 26 27 28 29 30 31 # INPUT x1 = linspace(-5.’q_3’.loc=’lower center’) axis([-5.

. Évidemment tout polynôme de degré k est une spline. sur chaque intervalle [x i . . b] → R est une spline de degré k relative aux nœuds {x i } si ( s k (x)|[xi . (x i . la fonction s k : [a. Autrement dit. s k ∈ C k−1 ([a. tels que [a. n. . Faccanoni .xi +1] ∈ Rk [x]. est définie par le segment joignant les deux points (x i . x n de [a. . . x i + 1]. y compris avec des nœuds équirépartis (ce qui est commode en pratique). Cette fonction est appelée interpolation linéaire par morceaux (ou spline linéaire). . b] → R est une spline linéaire relative aux nœuds {x i } si ( `(x)|[xi . y i +1 ) . x i +1 ]. elle s’écrit donc `(x)|[xi . .2. b]). . mais en pratique une spline est constituée de polynômes différents sur chaque sous-intervalle. f (x i )) et (x i +1 . x i +1 ]. x i +1 ] en utilisant m nœuds équirépartis avec m petit (généralement m = 1 ou 3). .xi +1] = y i + 74 y i +1 − y i (x − x i ) x i +1 − x i © G. GRANGE Définition Étant donné n + 1 points distincts x 0 . . 1. Il est donc naturel d’introduire une partition de [a. 2. Interpolation Jeudi 5 juin 2014 Même avec l’interpolation d’H ERMITE on voit que l’erreur tend vers l’infini quand n tend vers l’infini pour une distribution uniforme des nœuds. b] en n sous-intervalles [x i . . . dans chaque sous-intervalle [x i . . L’interpolation de L AGRANGE de bas degré est cependant suffisamment précise quand elle est utilisée sur des intervalles assez petits. n − 1.3. Splines : interpolation par morceaux On a mis en évidence le fait qu’on ne peut pas garantir la convergence uniforme du polynôme interpolatoire de L A vers f quand les nœuds d’interpolation sont équirépartis. x i +1 ] → R est le segment qui connecte le point (x i . . i = 0. (x i . y i .3. b] avec a = x 0 < x 1 < · · · < x n = b. on approche f par une fonction continue qui. la fonction ` : [x i . b] = ∪0≤i ≤n−1 [x i . b] avec a = x 0 < x 1 < · · · < x n = b. b]). ` ∈ C 0 ([a.xi +1] ∈ R1 . . f (x i +1 )). x n de [a. Il peut donc y avoir des discontinuités de la dérivée k-ième aux nœuds internes x 1 . i = 0. y i0 ) i =0 p ←0 for i = 0 to n do Li ← 1 for j = 0 to n do if j 6= i then t − xj × Li Li ← xi − x j 1 ci ← + ci xi − x j end if end for ¡ ¢ p ← p + y i × (1 − 2(t − x i ) × c i ) + y i0 × (t − x i ) × L 2i end for return p 2. Interpolation linéaire composite Étant donné une distribution (non nécessairement uniforme) de nœuds x 0 < x 1 < · · · < x n . y i ) i =0 p ←0 for i = 0 to n do Li ← 1 for j = 0 to n do if j 6= i then t − xj × Li Li ← xi − x j end if end for p ← p + yi × Li end for return p H ERMITE : © ªn Require: t . x n−1 . . . Définition Splines linéaires Étant donné n +1 points distincts x 0 . n − 1.1. x i +1 ] et d’utiliser l’interpolation de L AGRANGE sur chaque sous-intervalles [x i . . la fonction ` : [a. 1. . . Algorithmes L AGRANGE : © ªn Require: t . n. y i ) au point (x i +1 .

remplace en fait la fonction par une interpolée linéaire par morceaux. Le principale défaut de cette interpolation par morceaux est que ` n’est que continue. Par conséquent. . n − 1. les points d’interpolation étant les composantes du vecteur x. 1. pour tout x dans l’intervalle [a. Faccanoni 75 . utilisée pour afficher le graphe d’une fonction f sur un intervalle donné [a. . Interpolation Il est intéressant de noter que la commande plot(x. b] par h2 max | f 00 (x)|. b]. b] → R est une fonction donnée de classe C 2 ([a. On peut construire pour cela une fonction s 3 comme l’interpolation d’H ERMITE des points (x i ..b] où h = maxi =0. . . f 0 (x i +1 )) sur chaque [x i . max | f (x) − `(x)| ≤ xı[a. il est préférable d’utiliser des fonctions ayant au moins une dérivée continue. b]).y).. Proposition Erreur Si y i = f (x i ) pour i = 0. . f (x i +1 ). f 0 (x i )) et (x i +1 . . x i + 1] pour i = 0. alors on peut majorer l’erreur d’interpolation au point x ∈ [a. © G. `(x) tend vers f (x) quand n → +∞. .b] 8 x∈[a...Jeudi 5 juin 2014 2. . b]. à condition que f soit assez régulière. Or. n et f : [a.n−1 x i +1 − x i . dans des nombreuses applications. 1. f (x i ).

-1.2.0.[].xx.i+1): −−−→−−−→−−−→A[i][j]=(float(A[i][j-1])-float(A[i-1][j-1]))/(float(xx[i])-float(xx[i-j])) −−−→return [ A[i][i] for i in range(n) ] 26 27 28 29 30 31 32 33 34 35 def newton(t.*(t-x[i])*c[i])+dy[i]*(t-x[i]))*L[i]**2 −−−→return p et voici un exemple d’utilisation de ces fonctions : Cas test.yy) −−−→for i in range(n): −−−→−−−→p += DD[i]*OMEGA[i] −−−→−−−→OMEGA[i+1] = OMEGA[i] * float(t-xx[i]) −−−→return p 36 37 38 39 40 41 42 43 44 45 46 47 48 def hermite(t.yy): −−−→p = 0 −−−→n = len(xx) −−−→OMEGA = [1. Interpolation TTTTTTTTTTTTT Jeudi 5 juin 2014 Codes Python TTTTTTTTTTTT Voici les function python des méthodes illustrées dans ce chapitre : t est le point où on veut évaluer le polynôme d’interpolation.[]] −−−→for j in range(n): −−−→−−−→A[i]+=[0] # ajoute n lments ’0’ chacune des n sous-listes vides −−−→# On rempli la partie triangulaire inferieure −−−→for i in range(n): −−−→−−−→A[i][0]=float(yy[i]) −−−→−−−→for j in range(1. 49 from matplotlib.1.y.yy): −−−→n = len(xx) −−−→# Initialisation de la matrice vide −−−→A = [] −−−→for i in range(n): −−−→A+=[[]] # ajoute n fois une sous-liste vide : [[].5] y = [0.y): −−−→p = 0 −−−→n = len(x) −−−→L = [1 for i in range(n)] −−−→for i in range(n): −−−→−−−→for j in range(n): −−−→−−−→−−−→if j!=i: −−−→−−−→−−−→−−−→L[i] *= (t-x[j])/(x[i]-x[j]) −−−→−−−→p += y[i]*L[i] −−−→return p 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 def divided_difference(xx.0] 76 © G.x. x est une liste qui contient les abscisses des points d’interpolation. Elles renvoient l’évaluation du polynôme en t. Méthodes numériques.3.x.[].1. 1 2 3 4 5 6 7 8 9 10 def lagrange(t.4.dy): −−−→p = 0 −−−→n = len(x) −−−→L = [1 for i in range(n)] −−−→c = [0 for i in range(n)] −−−→for i in range(n): −−−→−−−→for j in range(len(x)): −−−→−−−→−−−→if j!=i: −−−→−−−→−−−→−−−→L[i] *= (t-x[j])/(x[i]-x[j]) −−−→−−−→−−−→−−−→c[i] += 1. for i in range(n+1)] −−−→DD = divided_difference(xx.0./(x[i]-x[j]) −−−→−−−→p += (y[i]*(1.0] dy = [-1.pylab import * 50 51 52 53 54 # INPUT x = [1. Faccanoni .1.2.-2. y est une liste qui contient les ordonnées des points d’interpolation et dy est une liste qui contient la valeur de la dérivée aux points d’interpolation.

yy) d’Hermite en".append(lagrange(k.’m’) show() © G. t. 2]) t = arange(0.. lagrange(t. "est".1) lt = [] nt = [] ht = [] for k in t: −−−→lt.dy)) plot(x.y.t.x.Jeudi 5 juin 2014 2.t. t.append(newton(k. "est". 6.’b’.’.x.y)) −−−→nt. t.’g.y.x.5 print "La valeur du polynome print "La valeur du polynome print "La valeur du polynome point de Lagrange en".x.ht.lt. hermite(t. Interpolation 55 56 57 58 59 60 # Calcul des polynomes en un t = 1.6. newton(t.dy) 61 62 63 64 65 66 67 68 69 70 71 72 73 # Calcul des polynomes en plusieurs points d’un intervalle pour affichage axis([0.y.nt.append(hermite(k.y) de Newton en".y)) −−−→ht. -2. Faccanoni 77 .xx.x.’ro’.t. "est".

. a 3 P3 tels que P (x) = i =0 a i x i .. a 2 . x i ] 0 1 2 0 1 2 2 1 2 −1 1 1 3 3 3 1 0 f [x i −3 .... .. L 1 . • Méthode de Lagrange P On considère L = { L 0 . C ). x i ] f [x i −2 . f [x 0 .. x 2 . Il s’agit de trouver les 4 coefficients a 0 . 3). ω1 .. f [x 0 . P (x) = 3i =0 y i L i (x).. a 1 = − 38 et a 0 = 2 et on trouve P (x) = 2 − 38 x + 2x 2 − 13 x 3 . .1 . y 3 ). a 1 . ω2 .... (2. n ωk (x) = ωk−1 (x)(x − x k−1 ). x i −2 . ω3 } une base de R3 [x] telle que coord(p. a 2 = 2. Exercice 2. P (1) = 1. . On cherche un polynôme de degré au plus 3 tel que P (0) = 2. i. P (2) = 2 et P (3) = 3. ω1 (x) = x − x 0 .. x 1 ]. 2) et (3.e.. . a 2 et a 3 solution du système linéaire          p(0) = 2 a + a 1 · 0 + a 2 · 02 + a 3 · 03 = 2   1 0 0 0 a0 2   0   p(1) = 1  a + a · 1 + a · 12 + a · 13 = 1 1 1 1 1  a 1  1 0 1 2 3      ⇐⇒ ⇐⇒ 1 2 4 8  a 2  = 2 2 3   p(2) = 2 a + a · 2 + a · 2 + a · 2 = 2   0 1 2 3       1 3 9 27 a 3 3 p(3) = 3 a + a · 3 + a · 32 + a · 33 = 3 0 10  11   12 13 0 1 4 9  0 1 8 27 L 2 ←L 2 −L 1 L 3 ←L 3 −L 1 L 4 ←L 4 −L 1 2  1   −−−−−−−→   2  3   1 0 0 0 0 1 2 3 1 0 1 4 9 2 0 1 8 27 3  2 L 3 ←L 3 −2L 2 −1  ←L 4 −3L 2   −L−4− −−−−−→   0  1  1 0 0 0 0 1 0 0 0 1 2 6 0 1 6 24   2 −1  ←L 4 −3L 3   −L−4− −−−−−→   2  4 1 0 0 0 0 1 0 0 0 1 2 0 0 1 6 6  2 −1   2  −2 donc a 3 = − 13 ..e. a 0 . P i. Les coordonnées sont les valeurs encadrées dans le tableau des différences divisées ci-dessous : 78 i xi yi f [x i −1 . y 1 . (1. . x i ]ωi (x).. N ) = (y 0 . . pour k = 2. a 1 . Construire le polynôme P qui interpole les points (0. x i ] − 13 © G. .2. .. i.. a 2 .. 2 3 3 = 0 1 2 3 x • Méthode de Newton On considère N = { ω0 . x 2 ].e.. a 3 ) = coord(P.. y 2 .. Construire P signifie trouver ses coordonnées dans une base de R3 [x]. 2).1. On a n x −x Y j L i (x) = x − x j j =0 i j 6=i donc y (x − x 1 )(x − x 2 )(x − x 3 ) (x − x 0 )(x − x 2 )(x − x 3 ) + y1 (x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 ) (x − x 0 )(x − x 1 )(x − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 ) + y2 + y3 = (x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) 3 P (x) = y 0 P (x) 2 (x − 1)(x − 2)(x − 3) (x − 0)(x − 2)(x − 3) + (0 − 1)(0 − 2)(0 − 3) (1 − 0)(1 − 2)(1 − 3) (x − 0)(x − 1)(x − 3) (x − 0)(x − 1)(x − 2) +2 +3 = (2 − 0)(2 − 1)(2 − 3) (3 − 0)(3 − 1)(3 − 2) =2 1 (x − 1)(x − 2)(x − 3) x(x − 2)(x − 3) + −3 2 x(x − 1)(x − 2) 1 8 − x(x − 1)(x − 3) + = − x 3 + 2x 2 − x + 2. x 1 . x 1 . x i −1 . L 3 } une base de R3 [x] telle que coord(P. L 2 . Interpolation Jeudi 5 juin 2014 Exercices . C ORRECTION DE L’ EXERCICE 2. x i −1 .. x 3 ]). a 1 . f [x 0 . On considère trois méthodes qui sont basées sur trois choix différents de bases de R3 [x] : • Méthode directe (naïve) © ª On considère C = 1. P (x) = 3i =0 f [x 0 . x 3 la base canonique de R3 [x] et on cherche (a 0 . 1).. x. x 2 .. La base de Newton est définie récursivement comme suit : ω0 (x) = 0. Faccanoni . L ) = (y 0 .

Méthode directe (naïve). Méthode astucieuse. Faccanoni 79 . . . autrement dit R est de la forme ax + b. On cherche alors a et b tels que   ( ¢. α2 tels que 1 0 1 π 2  π 1     α0 1 π2  α  =  0  1 4 −1 π2 α2 0 En résolvant ce système linéaire on trouve α0 = 0. 2 Puisque p 2 (x) a degré 2.e. . α1 . . . . i. ceci signifie qu’il existe un polynôme R(x) tel que ³ π´ p 2 (x) = R(x) x − . 2. 0 − 2 (0 − π) (π − 0) π − 2 ¡ Méthode de Newton. Calculer le polynôme d’interpolation de la fonction f (x) = cos(x) en les 3 points x i = π2 i avec i = 0. x 1 .Jeudi 5 juin 2014 2. . x i ] 0 0 1 1 π 2 0 − π2 2 π −1 − π2 f [x i −2 . b = − π2 . On a ¢ ¡ ¢ x − π2 (x − π) (x − 0) x − π2 2 ¢ ¡ ¢ p 2 (x) = y 0 L 0 (x) + y 1 L 1 (x) + y 2 L 2 (x) = 1 ¡ −1 π π = 1 − π x. . x 1 . x i ]ωi (x) i =0 = y 0 ω0 (x) + f [x 0 .2 1. x i ] 0 On a alors p 2 (x) = 2 X ωi (x) f [x 0 . en ajoutant le point x 3 = 3π/2. On commence par construire le tableau des différences divisées : i xi yi f [x i −1 . . 1. . p 2 (x) = R(x) x − 2 π 2 π Méthode de Lagrange. Si on écrit p 2 (x) = α0 + α1 x + α2 x 2 . 0− π2 0− 2 ⇐⇒ ⇐⇒ p (π) 2 −1 R(π) = ¡ π ¢ . On peut choisir l’une des quatre méthodes ci-dessous (on préférera la méthode de N EWTON car elle permet de réutiliser les calculs de cette question pour répondre à la question suivante). 3 3 Exercice 2. x 2 . . 3. . . Calculer ensuite le polynôme d’interpolation de la même fonction en les 4 points x i = π2 i avec i = 0. C ORRECTION DE L’ EXERCICE 2. . . x 2 ]ω2 (x) + f [x 0 . α1 = − π2 et α2 = 0.2. . On cherche p 2 ∈ R2 [x] tel que p 2 (x i ) = cos(x i ) pour i = 0. x i ] i =0 © G. . aπ + b = ¡ π ¢ . x 1 ]ω1 (x) + f [x 0 . x i −1 . 2. Interpolation On a alors P 3 (x) = 3 X f [x 0 . on cherche α0 . a = 0. le polynôme R(x) qu’on a mis en facteur a degré 1. . . R(0) = ¡p 2 (0) b = ¡ 1 π ¢ . π− π− 2 Ainsi 2 ³ 2³ π´ 2 π´ =− x− = − x + 1. . Le polynôme p 2 s’annule en π2 . 2. x 3 ]ω3 (x) 1 = 2ω0 (x) − ω1 (x) + ω2 (x) − ω3 (x) 3 1 = 2 − x + x(x − 1) − x(x − 1)(x − 2) 3 1 3 8 2 = − x + 2x − x + 2.

Faccanoni . x i ] i =0 = p 2 (x) + ω3 (x) f [x 0 . α1 . 3π π 3π 80 © G. x 2 ] 2 = ω0 (x) − ω1 (x) π 2 = 1 − x. α3 tels que  1  1  1 1 0 0 π 2 π2 4 2     α0 1 π3     α 0 1 8    =   π3  α2  −1 27π3 α3 0 0 π π 3π 2 9π2 4 8 2 En résolvant ce système linéaire on trouve α0 = 1. x i −1 . Interpolation Jeudi 5 juin 2014 = ω0 (x) f [x 0 ] + ω1 (x) f [x 0 .e. . Le polynôme p 3 s’annule en π 2 et en 8 . le polynôme R(x) qu’on a mis en facteur a degré 1. . ajouter une ligne au tableau précédant : i xi yi f [x i −1 . x i ] 8 3π3 On a alors p 3 (x) = 3 X ωi (x) f [x 0 . ceci signifie qu’il existe un polynôme R(x) tel que µ ¶ π´ 3π p 3 (x) = R(x) x − x− . On a ¡ ¢ ¡ ¢ ¢¡ ¢ (x − 0) x − π2 x − 3π x − π2 (x − π) x − 3π 2 2 p 3 (x) = y 0 L 0 (x) + y 1 L 1 (x) + y 2 L 2 (x) + y 3 L 3 (x) = 1 ¡ ¢ ¡ ¢ −1 ¡ ¢¡ ¢ (π − 0) π − π2 π − 3π 0 − π2 (0 − π) 0 − 3π 2 2 µ ¶ 4 ³ π´ 3π 2 4 8 = 3 x− x− x − 2 x2 + 3 x3. 2 2 ³ Puisque p 3 (x) a degré 3. α2 = − π42 et α3 = Méthode astucieuse. b = 3π4 2 . On cherche donc p 3 ∈ R3 [x] tel que p 3 (x i ) = sin(x i ) pour i = 0. autrement dit R est de la forme ax + b. . x i ] 0 0 1 1 π 2 0 − π2 2 π −1 − π2 0 3 3π 2 0 2 π 4 π2 f [x i −3 . . x i −2 . 3π . x 1 . x i ] f [x i −2 . x 2 . 0− 2 0− 2 0− 2 0− 2 ⇐⇒ ⇐⇒ 3 (π) R(π) = ¡ πp ¢¡ aπ + b = ¡ π −1 ¢ ¢¡ ¢ a = 3π8 3 .2. . . x 1 . x 3 ] 8 2 = 1 − x + 3 ω3 (x) π 3π 2 8 ³ π´ = 1− x + 3 x x − (x − π) π 3π 2 2 4 8 = 1− x − 2 x2 + 3 x3. Méthode directe. (−x + π + 3x) = 1 − 3π 2 2 3π π 3π ¡ Méthode de Newton. On peut choisir l’une des quatre méthodes ci-dessous (on préférera la méthode de N EWTON car elle permet d’utiliser les calculs précédents). On cherche alors a et b tels que   ( 3 (0) ¢ R(0) = ¡ πp¢¡ b = ¡ π ¢¡1 3π ¢ . π− 2 π− Ainsi π− 2 π− 2 2 µ ¶ µ ¶ µ ¶ 3π π´ 3π 2 8 π´ 4 ³ 4 8 x− = x− = 1− p 3 (x) = R(x) x − x+ 2 x− x − 2 x2 + 3 x3. Si on écrit p 3 (x) = α0 + α1 x + α2 x 2 + α3 x 3 . 3π . 3. 3π3 3π 2 . Il suffit de calculer une différence divisée en plus. α2 . . π 2. 2 2 3π3 3π 2 2 3π π 3π ³ Méthode de Lagrange. x 1 ] + ω2 (x) f [x 0 . on cherche α0 . . i. x i −1 . 3π . α1 = − 3π .

3. (1. C ORRECTION DE L’ EXERCICE 2. Ici n = 3 donc on a (x − x 1 )(x − x 2 )(x − x 3 ) (x − x 0 )(x − x 2 )(x − x 3 ) + y1 (x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 ) (x − x 0 )(x − x 1 )(x − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 ) + y2 + y3 (x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) P (x) = y 0 = (x + 1)x(x − 1) x(x − 1)(x − 2) (x + 1)(x − 1)(x − 2) + − (x + 1)x(x − 2) + = −3 2 2 1 1 = − x 3 + x 2 + x + 1.3 Trouver le polynôme de l’espace vectoriel Vec{1 + x 2 . y i )}ni=0 s’écrit   p n (x) = n  n x −x  X Y j yi .Jeudi 5 juin 2014 2. Q(1) = P (1). en 0 et en 1. Faccanoni 81 . on peut tout de même faire tous les calculs : dans ce cas n = 2 donc on a Q(x) = y 0 (x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 ) + y1 + y2 (x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 ) = x(x − 1) − (x + 1)(x − 1) + (x + 1)x © G. Le polynôme cherché est donc le polynôme p(x) = 1 + x 2 + x 4 . ceci signifie qu’il existe un polynôme R(x) tel que Q(x) − P (x) = R(x)(x + 1)x(x − 1). 3) : ( p(0) = 1.e. 2) et (2. x 4 } qui interpole les points (0. α(1 + 12 ) + β(14 ) = 3. (1. ⇔ p(x) 3 ( α(1 + 02 ) + β(04 ) = 1.   i =0 j =0 x i − x j j 6=i 1. Si on n’a pas remarqué ça. Par construction Q(−1) = P (−1). 3 3 2. 1 d’où α = 1 et β = 1. (0. 0 1 x Exercice 2. Construire le polynôme de L AGRANGE P qui interpole les points (−1. le polynôme Q(x) − P (x) a degré 3. Le polynôme d’interpolation de L AGRANGE de degré n sur l’ensemble des n + 1 points {(x i .4. Interpolation Exercice 2. (0. 2.e. Montrer qu’il existe un réel λ tel que : Q(x) − P (x) = λ(x + 1)x(x − 1). p(1) = 3. 2). donc le polynôme R(x) qu’on a mis en facteur a degré 0 (i. 2). R(x) est une constante). 3).4 1. C ORRECTION DE L’ EXERCICE 2. y Il s’agit de trouver un polynôme p(x) qui soit combinaison linéaire des deux polynômes assignés (i. Q(0) = P (0). 1). 3). Puisque P (x) a degré 3 et Q(x) a degré 2. 1) et (1. Soit Q le polynôme de L AGRANGE qui interpole les points (−1. 1). 2). 1) et (1. p(x) = α(1 + x 2 ) + β(x 4 )) et qui interpole les deux points (0. donc le polynôme Q(x) − P (x) s’annule en −1.

C ORRECTION DE L’ EXERCICE 2. Sans faire de calculs. −1). y i )}ni=0 s’écrit   p n (x) = n  n x −x  X Y j yi . donner l’expression du polynôme de L AGRANGE Q qui interpole les trois points (−1. x. 1) et (1.5 1. e). 1. −1). x 2 } qui interpole les trois points (−1. Sinon directement 1 1 1 1 (x + 1)x(x − 1) Q(x) − P (x) = x 2 + 1 + x 3 − x 2 + x − 1 = x 3 + x = = λx(x + 1)(x − 1) 3 3 3 3 3 avec λ = 13 . Le polynôme d’interpolation de L AGRANGE de degré n sur l’ensemble des n + 1 points {(x i .2. −1). 0) et (1. y Q(x) 3 x3 2 x0 x2 P (x) x1 −1 0 1 2 x Exercice 2. (0. (0.   x − x j i =0 j =0 i j 6=i Ici n = 2 donc on a 82 © G. 2. Faccanoni . −1). Construire le polynôme de L AGRANGE P qui interpole les trois points (−1. e). Interpolation Jeudi 5 juin 2014 = x 2 + 1. (0. 3. 0) et (1. Trouver le polynôme de l’espace vectoriel Vec{1.5. Ainsi · ¸ · ¸ x − x3 (x − x 0 )(x − x 2 ) x − x3 (x − x 1 )(x − x 2 ) 1− + y1 1− (x 0 − x 1 )(x 0 − x 2 ) x0 − x3 (x 1 − x 0 )(x 1 − x 2 ) x1 − x3 · ¸ (x − x 0 )(x − x 1 ) x − x3 (x − x 0 )(x − x 1 )(x − x 2 ) + y2 1− − y3 (x 2 − x 0 )(x 2 − x 1 ) x2 − x3 (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 ) = −y 0 − y1 (x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 ) − y2 − y3 (x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) · y1 y0 + =− (x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 ) ¸ y2 y3 (x − x 0 )(x − x 1 )(x − x 2 ) + + (x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) (x + 1)x(x − 1) = 3 Q(x) − P (x) = y 0 et λ = 13 .

Il suffit de changer les coefficients y i dans l’expression précédente : −1 0 1 x Q(x) = − x(x − 1) (x + 1)x − = −x 2 . (0. Soit Q le polynôme de L AGRANGE qui interpole les points (−1. Le polynôme d’interpolation de L AGRANGE de degré n sur l’ensemble des n + 1 points {(x i . 1). © G. −1) :   p(−1) = 1.6. β = 0 et γ = −1. 2 2 Q(x) 3. (1.   p(1) = −1. il suffisait de remarquer que le polynôme Q ∈ Vec{1. α = 0. 2. (0. C ORRECTION DE L’ EXERCICE 2. En fait. p(x) = α + βx + γx 2 ) et qui interpole les trois points (−1.e. 1). p(0) = 0. d’où α = 0. 6 2 3 2. Le polynôme cherché est donc le polynôme p(x) = −x 2 . Ici n = 3 donc on a (x − x 1 )(x − x 2 )(x − x 3 ) (x − x 0 )(x − x 2 )(x − x 3 ) + y1 (x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 ) (x − x 0 )(x − x 1 )(x − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 ) + y2 + y3 (x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) P (x) = y 0 = (x + 1)x(x − 1) x(x − 1)(x − 2) (x + 1)(x − 1)(x − 2) + − (x + 1)x(x − 2) + = −6 2 2 1 1 2 = − x 3 + x 2 + x + 1. Montrer qu’il existe un réel λ tel que : Q(x) − P (x) = λ(x + 1)x(x − 1). Faccanoni 83 . 2) et (2.   x − x i j i =0 j =0 j 6=i 1. x 2 } pour conclure que le polynôme p cherché est Q lui même. Interpolation y P (x) e (x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 ) + y1 + y2 = (x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 ) x(x − 1) (x + 1)x =e − (x + 1)(x − 1) + e = 2 2 2 = (e − 1)x + 1. x. Construire le polynôme de L AGRANGE P qui interpole les points (−1.   α + β + γ = −1. 1). (0. Exercice 2. (1.6 1. −1). 0) et (1. 3). ⇔   α − β + γ = −1.Jeudi 5 juin 2014 2. 2). P (x) = y 0 1 x 1 −1 y 2. Par construction Q(−1) = P (−1). Il s’agit de trouver un polynôme p(x) qui soit combinaison linéaire des deux polynômes assignés (i. 1). y i )}ni=0 s’écrit   p n (x) = n  n x −x  X Y j yi .

Q(1) = P (1).2. 2 2 Ainsi · ¸ · ¸ (x − x 1 )(x − x 2 ) x − x3 (x − x 0 )(x − x 2 ) x − x3 1− + y1 1− (x 0 − x 1 )(x 0 − x 2 ) x0 − x3 (x 1 − x 0 )(x 1 − x 2 ) x1 − x3 · ¸ x − x3 (x − x 0 )(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 1 ) 1− − y3 + y2 (x 2 − x 0 )(x 2 − x 1 ) x2 − x3 (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 ) = −y 0 − y1 (x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 ) − y3 − y2 (x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) · y0 y1 =− + (x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 ) ¸ y3 y2 + (x − x 0 )(x − x 1 )(x − x 2 ) + (x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) (x + 1)x(x − 1) = 6 Q(x) − P (x) = y 0 et λ = 16 . ceci signifie qu’il existe un polynôme R(x) tel que Q(x) − P (x) = R(x)(x + 1)x(x − 1). Puisque P (x) a degré 3 et Q(x) a degré 2.e. R(x) est une constante). en 0 et en 1. Sinon directement 1 1 1 1 2 1 1 1 Q(x) − P (x) = x 2 + x + 1 + x 3 − x 2 − x − 1 = x 3 − x = x(x 2 − 1) = λx(x + 1)(x − 1) 2 2 6 2 3 6 6 6 avec λ = 16 . Q(x) y 3 x3 P (x) 2 x2 1 x0 −1 84 x1 0 1 2 x © G. Si on n’a pas remarqué ça. on peut tout de même faire tous les calculs : dans ce cas n = 2 donc on a Q(x) = y 0 = (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 ) (x − x 1 )(x − x 2 ) + y1 + y2 (x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 ) x(x − 1) − (x + 1)(x − 1) + (x + 1)x 2 1 1 = x 2 + x + 1. le polynôme Q(x) − P (x) a degré 3. Faccanoni . donc le polynôme R(x) qu’on a mis en facteur a degré 0 (i. Interpolation Jeudi 5 juin 2014 Q(0) = P (0). donc le polynôme Q(x) − P (x) s’annule en −1.

Peut-on avoir P de degré 1 ? C ORRECTION DE L’ EXERCICE 2.. 1 a0 a1 a2 . Pour n > 3. x 1 = 1.. f ∈ Rn [x] pour tout n ≥ 3 et comme il existe un seul polynôme de degré au plus 3 qui interpole quatre points ce polynôme coïncide forcement avec f donc p n ≡ f pour n ≥ 3. . 2). 3...7. (1. 3. f ∈ R3 [x] et comme il existe un seul polynôme de degré au plus 3 qui interpole quatre points ce polynôme coïncide forcement avec f donc p 3 ≡ f . 1. .. . 1. 1) } donc p 0 (x) = 1..  a nn Quel est le lien entre cette matrice et l’interpolation polynomiale de l’ensemble de points { (a i . x −x  i j Ici n = 2 donc on a P (x) = y 0 (x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 ) + y1 + y2 + (x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 ) x(x − 1) (x + 1)(x − 1) (x + 1)x +β +α = 2 −1 2 α α = x(x − 1) − β(x + 1)(x − 1) + x(x + 1) 2 2 =α = (α − β)x 2 + β. x 1 = 1. .. . 2. 2. a n2 .8 Soit f : R → R la fonction définie par f (x) = 1 + x 3 . α) où α et β sont des réels. C ORRECTION DE L’ EXERCICE 2. On interpole l’ensemble { (0.. P (x) = α qui est un polynôme de degré 0. Exercice 2.. Calculer le polynôme p 3 qui interpole f aux points d’abscisse { x 0 = 0. α). 3. P (−x) = P (x) donc P est pair. Calculer le polynôme p 2 qui interpole f aux points d’abscisse { x 0 = 0.Jeudi 5 juin 2014 2. 5.9 Soit Vn la matrice de VANDERMONDE :  1 1  1 Vn =  . 3. β) et (1. Si α = β. x 2 = 2 }. 1. an a 02 a 12 a 22 . Construire le polynôme de L AGRANGE P qui interpole les trois points (−1.   . . donner le degré de P . Construire le polynôme de L AGRANGE P qui interpole les trois points (−1. 4. 5. Interpolation Exercice 2. Le polynôme d’interpolation de L AGRANGE de degré n sur l’ensemble des n + 1 points {(x i . x 2 = 2. (2. Calculer le polynôme p 0 qui interpole f au point d’abscisse x 0 = 0. x n = n }. 9) } donc p 2 (x) = 1 − 2x + 3x 2 .. . Montrer que P est pair.8. .7 1. 2. y i )}ni=0 s’écrit   p n (x) = n  X n Y i =0 j =0 j 6=i yi  x − xj  . α) où α et β sont des réels. α). 2. Si α = β.. . 2) } donc p 1 (x) = 1 + x. x 3 = 3 }. b i ) }ni=0 ? © G.. calculer les polynômes p n qui interpolent f aux points d’abscisse { x 0 = 0. . (1. Calculer le polynôme p 1 qui interpole f aux points d’abscisse { x 0 = 0. Donc P ne peut pas être de degré 1 car un polynôme de degré 1 est de la forme a 0 + a 1 x qui ne peut pas être pair.  a 0n a 1n   a 2n  . . On interpole l’ensemble { (0. Exercice 2. 1). . (0. . x 1 = 1. . x 1 = 1 }. 1). 4. On interpole l’ensemble { (0. (0. Faccanoni 85 . β) et (1.

On a deux méthodes pour calculer le polynôme interpolateur d’H ERMITE : Première méthode : le polynôme interpolateur d’H ERMITE s’écrit   p(x) = £ n  X  i =0   86 y i (1 − 2(x − x i )c i ) + y i0 (x − x i ) n ¤Y j =0 j 6=i (x − x j ) (x i − x j 2     )2    où ci = n X 1 . c 1 . Le polynôme d’interpolation d’H ERMITE de f en x 0 est l’unique polynôme h ∈ R1 [x] qui vérifie h(x 0 ) = f (x 0 ) et h 0 (x 0 ) = f 0 (x 0 ). Soit x 0 ∈ D f donné. on cherche alors un polynôme de R3 [x]. a 1 = f 0 (x 0 ). Le polynôme d’interpolation de L AGRANGE de f en x 0 est l’unique polynôme ` ∈ R0 [x] qui vérifie `(x 0 ) = f (x 0 ).2.11 Soit f une fonction de classe C 1 et x 0 ∈ D f le domaine de définition de f . Soit p(x) = ni=0 c i x i le seul polynôme de degré n qui interpole l’ensemble de (n + 1) P points { (a i . On cherche x i +1 tel que f (x i ) + (x − x i ) f 0 (x i ) = 0. b i ) }ni=0 .12 Soit f : R → R une fonction de classe C 1 (R) qui s’annule au moins une fois et dont la dérivée ne s’annule pas. f 0 (x i ) f (x i ) . ⇐⇒ a 1 = f 0 (x 0 ). Exercice 2. Soit ` le polynôme d’interpolation de L A GRANGE de f en x 0 et h le polynôme d’interpolation d’H ERMITE en x 0 . C ORRECTION DE L’ EXERCICE 2. x i +1 = x i − f (x i ) . Alors le vecteur c = (c 0 . Le polynôme d’interpolation d’H ERMITE en un point (x 0 . .9. Calculer h(x) − `(x). ⇐⇒ a 1 = f 0 (x 0 ). Interpolation Jeudi 5 juin 2014 P C ORRECTION DE L’ EXERCICE 2. On cherche alors a 0 et a 1 tels que h(x) = a 0 + a 1 x : ( h(x 0 ) = f (x 0 ). On a deux points d’interpolation (n = 1). j =0 x i − x j j 6=i © G. . h 0 (x 0 ) = f 0 (x 0 ). ( ⇐⇒ ( a 0 + a 1 x 0 = f (x 0 ).10 Vérifier que le polynôme d’interpolation d’H ERMITE d’une fonction f en un point coïncide avec le polynôme de TAYLOR d’ordre 1 de f en ce point. f 0 (x i ) qui correspond à la méthode de N EWTON pour l’approximation de la racine de f . d’où x i +1 = x i − On a alors la suite définie par récurrence ( x 0 donnée.10.11. Exercice 2.e. b i = p(a i ) = ni=0 c i a i . p 0 (1) = f 0 (1). ( ⇐⇒ ( a 0 + a 1 x 0 = f (x 0 ). Exercice 2. donc `(x) = f (x 0 ). q 0 (x 0 ) = f 0 (x 0 ).13. . . a 0 = f (x 0 ) − x 0 f 0 (x 0 ). p 0 (−1) = f 0 (−1). f 0 (x 0 )) est l’unique polynôme q ∈ R1 [x] qui vérifie q(x 0 ) = f (x 0 ) et q 0 (x 0 ) = f 0 (x 0 ). p(1) = f (1). C ORRECTION DE L’ EXERCICE 2. Écrire le polynôme p. a 1 = f 0 (x 0 ). On cherche alors a 0 et a 1 tels que q(x) = a 0 + a 1 x : ( q(x 0 ) = f (x 0 ). Faccanoni .13 Soit f une fonction de classe C 1 ([−1. Exercice 2. a 0 = f (x 0 ) − x 0 f 0 (x 0 ). Le polynôme d’H ERMITE d’une fonction f en x i a équation q(x) = f (x i )+(x −x i ) f 0 (x i ) : il s’agit de la droite tangente au graphe de f en x i . f (x 0 ). Pour i ∈ N construisons la suite (x i )i comme suit : x i +1 est la racine du polynôme interpolateur d’H ERMITE de f en x i . Quelle méthode reconnait-on ? Justifier la réponse. donc q(x) = f (x 0 ) + (x − x 0 ) f 0 (x 0 ). C ORRECTION DE L’ EXERCICE 2. c n )T est solution du système linéaire Vc = b. i.12. donc h(x) = f (x 0 ) + (x − x 0 ) f 0 (x 0 ) et h(x) − `(x) = f (x 0 ) + (x − x 0 ) f 0 (x 0 ) − f (x 0 ) = (x − x 0 ) f 0 (x 0 ). 1]) et p le polynôme interpolateur d’H ERMITE (de degré ≤ 3) de f vérifiant p(−1) = f (−1). C ORRECTION DE L’ EXERCICE 2.

y 0 = f (−1).    α + β + γ + δ = f (1). Dans notre cas x 0 = −1. 4 2 f (−1) + 2 f (1) + f 0 (−1) − f 0 (1) .  β − 2γ + 3δ = f 0 (−1). 4 f (−1) − f (1) + f 0 (−1) + f 0 (1) δ= . x 1 = 1. y 00 = f 0 (−1). p 0 (1) = f 0 (1). En utilisant la méthode d’élimination de G AUSS on obtient : 1  1  [A|b] =  0 0  −1 1 1 1  1  1 L 4 ←L 4 − 2 L 3  0 −−−−−−−−→   0 L 3 ←L 3 − 21 L 2 −1 2 0 1 1 −2 2 1 0 −1 1 3 3   f (−1) f (1)  ←L 2 −L 1   −L−2− −−−−→  0   f (−1) f 0 (1) f (−1) f (1) − f (−1) −1 2 0 −2 2 0 2 2 f (1)− f (−1) f (−1) − 2 f (1)− f (−1) f 0 (1) − 2 0 f (−1) 1 −1 0 2 f (1) − f (−1) −2 3 f 0 (−1) 2 3 f 0 (1)  1 −1 1 −1   0 2  L 4 ←L 4 +L 3  0 2  −−−−−−−→    0 0 −2 2 0 0 0 4 1 0 0 0  −1 2 1 1      f (−1) f (1) − f (−1) 0 f (1)− f (−1) 2 f (−1) − f 0 (1) + f 0 (−1) − f (1) + f (−1)     ainsi 2 f (−1) + 2 f (1) + f 0 (−1) − f 0 (1) . p(1) = f (1). 4 4 p(x) = Le polynôme interpolateur d’H ERMITE est donc le polynôme p(x) = α + βx + γx 2 + δx 3 où −3 f (−1) + 3 f (1) − f 0 (−1) − f 0 (1) .Jeudi 5 juin 2014 2. 4 f (−1) − f (1) + f 0 (−1) + f 0 (1) δ= . p 0 (−1) = f 0 (−1). 4 − f 0 (−1) + f 0 (1) γ= . 4 β= α= Deuxième méthode : le polynôme interpolateur d’H ERMITE est un polynôme de degré 2n + 1. y 1 = f (1). 4 α= © G. c’est-à-dire tel que   α − β + γ − δ = f (−1). On cherche donc un polynôme p(x) = α + βx + γx 2 + δx 3 tel que p(−1) = f (−1). 4 β= 87 . Interpolation Pour n = 1 on a alors µ µ p(x) = y 0 1 − 2(x − x 0 ) 1 x0 − x1 ¶¶ µ (x − x 1 ) (x 0 − x 1 ) ¶2 µ µ + y 1 1 − 2(x − x 1 ) 1 x1 − x0 ¶¶ µ (x − x 0 ) (x 1 − x 0 ) ¶2 + y 00 (x − x 0 ) µ (x − x 1 ) (x 0 − x 1 ) ¶2 + y 10 (x − x 1 ) µ (x − x 0 ) (x 1 − x 0 ) ¶2 . 4 − f 0 (−1) + f 0 (1) γ= . Faccanoni −3 f (−1) + 3 f (1) − f 0 (−1) − f 0 (1) . y 10 = f 0 (1) donc ¤ 1£ f (−1)(x + 2)(x − 1)2 + f 0 (−1)(x + 1)(x − 1)2 + f (1)(2 − x)(x + 1)2 + f 0 (1)(x − 1)(x + 1)2 4 i 1h f (−1)(x 3 − 3x + 2) + f 0 (−1)(x 3 − x 2 − x + 1) + f (1)(−x 3 + 3x + 2) + f 0 (1)(x 3 + x 2 − x − 1) = 4 2 f (−1) + f 0 (−1) + 2 f (1) − f 0 (1) 3 f (1) − 3 f (−1) − f 0 (−1) − f 0 (1) = + x 4 4 0 0 0 0 f (1) − f (−1) 2 f (−1) + f (−1) − f (1) + f (1) 3 + x + x .     β + 2γ + 3δ = f 0 (1).

. 0). . 0). . (1. x n et n+1 couples correspondantes (y 0 . donc de la forme Q(x) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 . qui vérifie Q(−1) = 0.  j =0    j 6=i    n  P 1 ci = x i −x j . il s’agit de construire les polynômes de degré 4 qui ont 4 racines réelles distinctes { x 1 . Interpolation Jeudi 5 juin 2014 Exercice 2. 2. pour i = 0. il suffit de remarquer qu’on cherche un polynôme de degré 3 qui a comme racines −1 et 2 et donc qui s’écrit Q(x) = (x + 1)(x − 2)(ax + b) = ax 3 + (−a + b)x 2 + (−b − 2a)x − 2b . 2. on trouve alors a et b en résolvant le système linéaire ( ( ( 3a(−1)2 + 2(−a + b)(−1) + (−b − 2a) = 1. y i )}ni=0 s’écrit   p n (x) = n x −x  n  Y X j yi . 0) et (2. Comme les points donnés appartiennent tous à la droite d’équation y = 0. 0) et (2. 0. x 4 }. (0. 0). ⇐⇒ ⇐⇒ 2 3a(2) + 2(−a + b)(2) + (−b − 2a) = −1. Ils sont tous de la forme r a (x) = a(x − x 1 )(x − x 2 )(x − x 3 )(x − x 4 ) . Faccanoni . 3 Une autre idée pour calculer le polynôme Q sans utiliser la formule ni la remarque précédente est de calculer directement le polynôme selon la définition : on cherche un polynôme de degré 3. . 9 9 3 Si on a oublié la formule. 0). .14. n s’écrit Q(x) = n X i =0 y i A i (x) + y i0 B i (x) ∈ RN [x] où  n x−x Q j  L i (x) =   x i −x j . .14 1. . x 3 . . On obtient le polynôme Q(x) = −(x+1)(x−2) . y 00 ).  i    B i (x) = (x − x i )(L i (x))2 . j =0    j 6=i     A (x) = (1 − 2(x − x i )c i )(L i (x))2 . C ORRECTION DE L’ EXERCICE 2. a = 0. ici donc r a (x) = a(x + 1)x(x − 1)(x − 2) = a(x 4 − 2x 3 − x 2 + 2x). 12a − 4a + 4b − b − 2a = −1. 3. de plus on sait que Q 0 (−1) = 1 et Q 0 (2) = −1. −1). Ici n = 1 et le polynôme d’H ERMITE s’écrit Q(x) = y 0 A 0 + y 00 B 0 + y 1 A 1 + y 00 B 1 = B 0 − B 1 µ µ µ ¶ ¶ ¶ ¶ µ x +1 2 x − x0 2 x −2 2 x − x1 2 − (x − 2) − (x − x 1 ) = (x + 1) = (x − x 0 ) x0 − x1 x1 − x0 −3 3 = (x − 2)2 (x + 1) − (x − 2)(x + 1)2 −3(x − 2)(x + 1) −x 2 + x + 2 = = . 3 donc p 3 (x) = 0. . Q(2) = 0. (0. . Construire le polynôme d’H ERMITE Q qui interpole les points (−1. Q 0 (−1) = 1 et Q 0 (2) = −1. Construire le polynôme de L AGRANGE p qui interpole les points (−1. (1. 2. 0. 1.2. b = −1/3. 3 12  a0 a 1   a= a 2   a3  0 0  b= 1 −1  et © G. 0). Étant donné n+1 points distincts x 0 .   x − x i j j =0 i =0 j 6=i Ici n = 3 et y i = 0 pour i = 0. 3. Le polynôme d’interpolation de L AGRANGE de degré n sur l’ensemble des n + 1 points {(x i . le polynôme d’H ERMITE Q de degré N = 2n + 1 tel que Q(x i ) = y i et Q 0 (x i ) = y i0 . . 1. y n0 ). Construire l’ensemble des polynômes de degré 4 qui interpolent les points (−1. x 2 . On doit alors résoudre le système linéaire  3  a 0 −a 1 +a 2 −a 3 x = 0   a +2a +4a +8a x 3 = 0 0 1 2 3 3  a −2a +3a =1  1 2 3x    3 a 1 +4a 2 +12a 3 x = −1 qu’on peut réécrire sous la forme Aa = b avec  1 1 A= 0 0 88 −1 2 1 1 1 4 −2 4  −1 8 . (y n . 3a + 2a − 2b − b − 2a = 1. 1) et (2. 0).

3 a 3 = 0. p(2) = 1. (On arrive à la même conclusion en utilisant la méthode du pivot de G AUSS). a 1 . 1983 et 1988. p 0 (1) = 2. d’où Q(x) =  0 0   1  −1 −1 9 3 12 1 2 −3 3 −1 3 0 0 L 3 ←L 3 −L 2 /3 L 4 ←L 4 −L 3 /3 et finalement on obtient 1 2 −2 4 −1 3 1 1 −1 9 0 9 1 a1 = .2 76.15 Montrer qu’il n’existe aucun polynôme p de R3 [x] tel que p 0 (−1) = 1. © G.16 L’espérance de vie dans un pays a évoluée dans le temps selon le tableau suivant : Année 1975 1980 1985 1990 Espérance 72. Exercice 2. Interpolation On utilise la méthode d’élimination de G AUSS : 1  1 (A|b) =   0 0  −1 2 1 1 1 4 −2 4 −1 8 3 12   0 0  ←L 2 −L 1   −L−2− −−−−→   1  −1 1 0 0 0  1  0 −−−−−−−−−→   0 0 1 a2 = − .15. 2 1 le système linéaire n’admet pas de solutions. Si on écrit p(x) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 . 3 y y = x +1 0 −1 r a (x) 1 p 3 (x) x 2 Q(x) y = −x + 2 Exercice 2. a 3 solution du système linéaire      1 −1 1 −1 a 0 1 0 1 −2 3  a 1  1    =   0 1 2 3  a 2  2 1 2 4 8 a3 1 Comme 1 0 rg  0 1  −1 1 1 2 1 −2 2 4  −1 3  = 3. on cherche quatre coefficients a 0 .8 74. 3   0 0  ←L 4 +L 3   −L−4− −−−−→   1  −1 1 0 0 0 −1 3 0 0 1 2 −3 0 −1 9 0 9  0 0   1  0 2 a0 = .4 Utiliser l’interpolation de L AGRANGE pour estimer l’espérance de vie en 1977. 3 8 1 0 rg  0 1  −1 1 1 2 1 −2 2 4 −1 3 3 8  1 1  = 4. 3 −x 2 + x + 2 . Faccanoni 89 .Jeudi 5 juin 2014 2. C ORRECTION DE L’ EXERCICE 2.2 75. La comparer avec une interpolation linéaire par morceaux. p(−1) = 1. a 2 .

b]ªon n évalué f sur une discrétisation x i de [a. 75.2−74. C ORRECTION DE L’ EXERCICE 2.16. Comparer ensuite le résultat obtenu avec l’approximation du zéro de f obtenue par la méthode de Newton en 3 itérations à partir de x 0 = 0.2 73.4x(x − 5)(x − 10) 750 On a alors que ? l’espérance de vie en 1977 correspond à P (2) = 73. Calculons d’abord les valeurs à interpoler 90 i xi yi 0 1 2 0 −1 p e −2 e −2 1 2 1 © G.8 = 75.8(x − 5)(x − 10)(x − 15) + 3 × 74. ? l’espérance de vie en 1983 correspond à P (8) = 74.8 ∼ P (8).2x(x − 5)(x − 15) + 76. x i ) i =0 et on obtient un polynôme x = p(y) tel que f (x) = 0 ⇐⇒ x = p(0). yi   j =0 x i − x j i =0 j 6=i Ici n = 3 et si on choisit de poser x 0 = 0 pour l’année 1975.4 = (10 − 0)(10 − 5)(10 − 15) (15 − 0)(15 − 5)(15 − 10) = 72.2.2 = 74.86 75.92 > P (13).. Faccanoni . 76.2 ? l’espérance de vie en 1983 correspond à 10−5 8 + 73.45.45 72.2 + 76.2−72.86.4−74. Le polynôme d’interpolation de L AGRANGE de degré n sur l’ensemble des n + 1 points {(x i .81.2 (0 − 5)(0 − 10)(0 − 15) (5 − 0)(5 − 10)(5 − 15) (x − 0)(x − 5)(x − 15) (x − 0)(x − 5)(x − 10) + 75.8 1975 1977 1980 1983 1985 1988 1990 x Exercice 2. Utiliser cette méthode pour évaluer l’unique racine α de la fonction f (x) = e x − 2 dans l’intervalle [0. Si on considère une interpolation linéaire par morceaux (splines de degré 1) .2 74. on interpole l’ensemble (y i . ? l’espérance de vie en 1988 correspond à P (13) = 75. Interpolation Jeudi 5 juin 2014 C ORRECTION DE L’ EXERCICE 2.8 ? l’espérance de vie en 1977 correspond à 5−0 2 + 72.17 Pour calculer le zéro d’une fonction y = f (x) inversible sur un intervalle peut utiliser l’interpolation : après avoir © [a.2x(x − 10)(x − 15) − 3 × 75. y 76. x 1 = 5 pour l’année 1980 etc. on obtient que l’espérance de vie est sousestimé en 1977 et sur-estimé en 1988 par rapport à l’interpolation précédente car 74.8 = 73.4 P (x) 75.36 < P (2). b]. 1] avec trois points d’interpolation. on a (x − x 1 )(x − x 2 )(x − x 3 ) (x − x 0 )(x − x 2 )(x − x 3 ) + y1 (x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 ) (x − x 0 )(x − x 1 )(x − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 ) + y2 + y3 = (x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) P (x) = y 0 (x − 5)(x − 10)(x − 15) (x − 0)(x − 10)(x − 15) + 74.81 74. y i )}ni=0 s’écrit   p n (x) = n x −x  n  Y X j .17.8 = −72.2 ? l’espérance de vie en 1988 correspond à 15−10 13 + 72.

7087486785. On a toujours E (x) ≤ x < E (x) + 1 avec égalité si et seulement si x est un entier relatif. ce qui donne   P (t ) =   3  3 3  3 t −κ+1− j  X Y Y  X t − (κ − 1 + j ) =   f (κ − 1 + i )  f (κ − 1 + i )     i−j i =0 i =0 j =0 j =0 (κ − 1 + i ) − (κ − 1 + j ) j 6=i j 6=i f (κ − 1) f (κ) =− (t − κ)(t − κ − 1)(t − κ − 2) + (t − κ + 1)(t − κ − 1)(t − κ − 2) 6 2 f (κ + 1) f (κ + 2) − (t − κ + 1)(t − κ)(t − κ − 2) + (t − κ + 1)(t − κ)(t − κ − 1) 2 6 Require: f : Z → R. Par exemple.6940422999 e Remarque : comme il n’y a que trois points d’interpolation. p p 2 ( e − 2 + 1)( e − 2 − e + 2) (e − 2 + 1)(e − 2 − e + 2) p(y) = x 0 Par conséquent une approximation de la racine de f est p(0) = La méthode de Newton s’écrit ( x 0 = 0.18. x i   y − y i j i =0 j =0 j 6=i Ici n = 2 donc on a (y − y 1 )(y − y 2 ) (y − y 0 )(y − y 2 ) (y − y 0 )(y − y 1 ) + x1 + x2 (y 0 − y 1 )(y 0 − y 2 ) (y 1 − y 0 )(y 1 − y 2 ) (y 2 − y 0 )(y 2 − y 1 ) p 1 (y + 1)(y − e + 2) (y + 1)(y − e + 2) = p + . Cependant cette idée ne peut pas être généralisée au cas de plus de trois points d’interpolation car on ne connait pas de formule générale pour le calcul des zéros d’un polynôme de degré n ≥ 3. © G. La fonction partie entière est aussi notée [x] (ou bxc par les anglo-saxons). on pourrait calculer directement le polynôme interpolateur de f plutôt que de sa fonction réciproque et chercher les zéros de ce polynôme directement car il s’agit d’un polynôme de degré 2. f (κ + 1)). on obtient ainsi la suite k xk 0 1 2 3 0 1 2 e ≈ 0. f (κ + 2)).Jeudi 5 juin 2014 2. Calculer p(t ) et écrire un algorithme qui fournit p(t ). ` + 1] et il s’agit de définir le polynôme p interpolant les points (κ − 1. E (−2) = −2 et E (−2. c’est-à-dire on suppose connues les valeurs f (κ) pour tout κ ∈ Z. Alors t ∈ [`. on définit une approximation p(t ) de f (t ) en interpolant la fonction f par un polynôme de degré 3 aux quatre points entiers les plus proches de t . f (κ − 1)). E (2. Exercice 2. Si t ∈ R \ Z. 1 p −e+2 p 2 ( e−2+1)( e−2−e+2) p − e+2 + (e−2+1)(e−2−pe+2) ≈ 0. Pour tout entier relatif k et et pour tout nombre réel x.3) = 2. Soit ` = E [t ] la partie entière 2 de t .5). (κ. C ORRECTION DE L’ EXERCICE 2. x i )}ni=0 s’écrit   p n (y) = n  n y−y  X Y j .18 Soit f une fonction continue dont on connait les valeurs uniquement pour t entier. on a E (x + k) = E (x) + k. L’arrondi à l’entier le plus proche d’un réel x peut être exprimé par E (x + 0. xk x k+1 = x k − e e xk−2 = x k − 1 + e 2xk . la partie entière notée E (x) est le plus grand entier relatif inférieur ou égal à x. (κ + 2. Pour tout nombre réel x.7357588825 2 2−e e − 2e ≈ 0.3) = −3. (κ + 1. f (κ)). Faccanoni 91 . t κ ← E [t ] x0 ← κ − 1 2. Interpolation Le polynôme d’interpolation de L AGRANGE de degré n sur l’ensemble des n + 1 points {(y i .

8 ¤ ˜ ≈ 0.0625 < 10−1 L’erreur prend sa valeur maximale pour x˜ ≈ 99 32 3 £ 13 ¤ 3. 2] il existe ξx ∈ [1. x 1 = 2 et 2. 1) : p(x) = 12 x 2 − 72 x + 7 y 4 2 1 p f 4 x 1 2 2. On³cherche = 0 par la méthode ³ alors ´´ x˜ ∈ [2. 4] [3. 4]. Une simple comparaison des graphes des fonctions u : x 7→ 72 − x et v : x 7→ x42 montre que ε0 (x) = 0 admet une solution dans l’intervalle [1. 2) et (4. On a ε(x) ≡ f (x) − p(x) = x4 − 7 + 72 x − 12 x 2 .2. 4] 2 £ 7¤ 3.01166653913.125 > 10−1 0. 4] (en effet. 4 x aux points d’abscisse x 0 = 1.¡4] tel que ε (x) ¢ 4−2 −1 de dichotomie. © G. Comme ε0 (x) = 72 − x − x42 . 4 4 £ 25 ¤ 3. 4]. Esquisser les graphes de f et de p pour x ∈ [1. (2. 2] et une solution dans l’intervalle [2. 2 `k 3 7 2 13 4 25 8 49 16 99 32 bk − ak 2 > 10−1 1 > 10−1 0. 8 5 £ 49 25 16 . 4] tel que εthéorique (x) = Comme ε(x) = 92 4 x f 000 (ξx ) 3 (x − 1)(x − 2)(x − 4) = − 4 (x 3 − 7x 2 + 14x − 8). Faccanoni . C ORRECTION DE L’ EXERCICE 2. Pour que l’erreur soit inférieur à 10 . f est une hyperbole et p est la parabole qui passe par les points (1.19 1. ε0 (1) = u(1) − v(1) = 2.09375 et vaut ε(x) 3.19. = 3. Vérifier que l’erreur ε(x) ≡ f (x) − p(x) prend sa valeur maximale en un unique point x˜ dans l’intervalle [2. 3. 3! ξx − 7 + 27 x − 12 x 2 . Interpolation Jeudi 5 juin 2014 x1 ← κ x2 ← κ + 1 x3 ← κ + 2 y ←0 for i = 0 to 3 do L←1 for j = 0 to 3 do if j 6= i then t − xj ×L L← xi − x j end if end for y ← y + f (x i ) × L end for return y Exercice 2. 4).5 > 10−1 0. 1. on obtient εthéorique = ε ssi ξx = p 4 6x.25 > 10−1 0. Comparons ce résultat avec l’estimation théorique de l’erreur : n = 2 et f est de classe C ∞ ([1.5−1 > 0 et ε0 (4) = u(4)−v(4) < 0).5 − 4 < 0. Comparer la fonction ε avec l’estimation théorique de l’erreur. Calculer ensuite x˜ à 10−1 près (on pourra utiliser la méthode de dichotomie). 4]. ε0 (2) = u(2) − v(2) = 1. il s’agit de trouver x˜ tel que ε0 (x) = 0. il faut E log2 10−1 + 1 = E 2 log2 (2) + log2 (5) + 1 = 5 étapes : k 0 1 [a k . on 0 ˜ conclut qu’elle prend sa valeur maximale pour x = x˜ ∈ [2. On a ε00 (x) = −1+8/x 3 : l’erreur étant convexe pour x < 2 et concave pour x > 2. donc pour tout x ∈ [1. 4]). b k ] [2. Calculer le polynôme p de L AGRANGE qui interpole la fonction f (x) = x 2 = 4.

b] ( f ) ≡ | I˜[a. On se trouve alors dans la même situation que celle abordée au chapitre précédent pour l’approximation des fonctions. il faut considérer des méthodes numériques afin d’approcher la quantité à laquelle on s’intéresse. comment peut-on tracer le graphe de la fonction erf (appelée fonction d’erreur de G AUSS) définie comme suit ? erf : R → R 2 x 7→ p π x Z 2 e −t dt 0 Mais même quand on la connaît. il est parfois difficile de l’utiliser. Ainsi on aura ensemble de n + 1 nœuds distincts {x i }ii =n =0 I [a. x i +1 ]) et les méthodes de G AUSS fondées sur les polynômes orthogonaux pour lesquelles les points de la subdivision sont imposés. Dans tous ces cas. b]. aussi difficile. b]. indépendamment de la difficulté à intégrer la fonction.3. b] (i. Une possibilité consiste à remplacer f par une approximation f˜ et calculer I [a. P Une approche naturelle consiste à prendre f˜ = ni=0 f (x i )L i (x).b] ( f )| satisfait ¯Z ¯ E [a.b] ( f ).b] ( f˜). On sait bien qu’il n’est pas toujours possible.b] ( f˜) au lieu de I [a.b] ( f ).b] ( f ) ≡ Z b f˜(x)dx. On appelle formule de quadrature ou formule d’intégration numérique toute formule permettant de calculer une approximation de I [a. ce qui est le cas si. pour une fonction arbitraire. 93 . par exemple. a Si f est de classe C 0 sur [a.b] ( f ) ≡ a f (x)dx peut être difficile. voire impossible. des mesures expérimentales). Dans les méthodes d’intégration. de la somme d’une série. l’intégrale d’une fonction f continue sur un intervalle borné [a. C’est par exemple le cas de la fonction f (x) = cos(4x) cos(3 sin(x)) pour laquelle on a Z π ∞ (−9/4)k 81 X f (x) dx = π . b] est remplacée par une somme finie. Le choix de la subdivision de l’intervalle d’intégration et celui des coefficients qui interviennent dans la somme approchant l’intégrale sont des critères essentiels pour minimiser l’erreur.b] ( f ) = ¯¯ b a ¯ Z b ¯ ˜ f (x) − f (x)dx ¯¯ ≤ | f (x) − f˜(x)|dx ≤ (b − a) max | f (x) − f˜(x)|.b] ( f ) ≈ I˜[a. la fonction à intégrer n’est connue que par les valeurs qu’elle prend sur un ensemble fini de points (par exemple. f˜ est un polynôme. on définit I˜[a. En posant I˜[a. [a.b] ( f ) = n X i =0 µ Z f (x i ) b a ¶ L i (x)dx où L i (x) = n x −x Y j j =0 j 6=i xi − x j .b] a L’approximation f˜ doit être facilement intégrable. x∈[a. b] = i [x i . de trouver la forme explicite d’une primitive. 16 k=0 k!(k + 4)! 0 on voit que le calcul de l’intégrale est transformé en un calcul. Le calcul explicite de l’intégrale définie I [a. Principes généraux Rb Soit f une fonction réelle intégrable sur l’intervalle [a. l’erreur de quadrature E [a.e. Quadrature Calculer Rb a f (x) dx où f est une fonction donnée Dans ce chapitre on va étudier des méthodes pour approcher les intégrales de fonctions. 3. Ces méthodes se répartissent en deux grandes catégories : les méthodes composées dans lesquelles la fonction est remplacée par un polynôme d’interpolation S sur chaque intervalle élémentaire [x i .1. le polynôme d’interpolation de L AGRANGE de f sur un . Par exemple.b] ( f ) − I [a. x i +1 ] de la subdivision de [a.b] ( f ) ≡ I [a. Dans certains cas.

. b] ssi les formules sont stables. si f ∈ Rn [x].y j j +1 ] (f ) = m−1 n X X j =0 k=0 (j) (j) αk f (x k ) ( f ). . Puisque k=0 Z I [a. En effet. alors le polynôme d’interpolation coïncide avec f .b] (x k ) = I [a. En effet. Théorème Toute formule de quadrature interpolatoire utilisant n + 1 nœuds distincts a un degré de précision au moins égale à n. si q P est un polynôme de Rr [x]. m. Astuce Pour vérifier qu’une formule de quadrature est d’ordre r il suffit de vérifier qu’elle est exacte sur une base de Rr [x] (par exemple la base canonique) et inexacte pour un polynôme de degré r + 1 (par exemple le polynôme x r +1 ).b] ( f ) = b a f (x)dx = m−1 X Z y j +1 j =0 yj f (x)dx = m−1 X j =0 I [y j . . une formule de quadrature est dite d’ordre r si elle est exacte sur Rr [x] et inexacte pour au moins un polynôme de degré strictement supérieur à r . i. Alors b Z I [a. Définition Degré d’exactitude On définit le degré de précision (ou d’exactitude) d’une formule de quadrature comme le plus grand entier r ≥ 0 pour lequel la valeur approchée de l’intégrale (obtenue avec la formule de quadrature) d’un polynôme de degré r est égale à la valeur exacte.b] (x k ) pour tout k = 0 .b] a degré de précision r il suffit alors de vérifier que I˜[a.e.b] (q) pour tout polynôme q ∈ Rr [x].b] ( f ) = n X αi f (x i ) i =0 qui est une somme pondérée des valeurs de f aux points x i : on dit que ces points sont les nœuds de la formule de quadrature et que les nombres αi ∈ R sont les coefficients ou encore les poids.b] ( f ) = Pn i =0 αi f (x i ) est dite stable s’il existe M ∈ R∗+ tel que Pn i =0 |αi | ≤ M . Définition Stabilité Une formule de quadrature I˜[a.y j 94 j +1 ] (j) I˜[y . I˜[a. . αr tels que q(x) = rk=0 αk x k . une formule de quadrature interpolatoire composite est obtenue en remplaçant I [a. La réciproque aussi est vraie : une formule de quadrature utilisant n + 1 nœuds distincts et ayant un degré de précision au moins égale à n est nécessairement de type interpolatoire. Autrement dit. Le degré de précision peut même atteindre 2n + 1 dans le cas des formules de quadrature de G AUSS. © G. On utilise alors sur chaque sous-intervalle une formule interpolatoire de nœuds x k et de poids k=0 n o (j) n αk (généralement la même formule sur chaque sous-intervalle). Définition Formule de quadrature composite On décompose l’intervalle d’intégration [a. . il existe α0 . .y j +1 ] ( f ) ' I˜[y . Théorème Une méthode de quadrature de type interpolation est convergente sur C [a. . 1.b] (q) = I [a. k=0 Pour vérifier qu’une formule de quadrature I˜[a. y j +1 ] tels que y j = a + j H où H = b−a m pour n o (j) n j = 0. La formule de quadrature de L AGRANGE peut être généralisée au cas où on connaît les valeurs de la dérivée de f : ceci conduit à la formule de quadrature d’H ERMITE. .b] (q) = q(x) dx = a r X µ µZ αk k=0 b x k dx ¶¶ a = ´ r ³ X αk I [a. car la fonction f est remplacée par son polynôme d’interpolation. Quadrature Jeudi 5 juin 2014 Il s’agit d’un cas particulier de la formule de quadrature suivante I˜[a. .3. α1 . r . .b] ( f ) par m−1 X j =0 (j) où I [y j .y j +1 ] ( f ). Faccanoni . b] en m sous-intervalles [y j . Les formules de L AGRANGE et d’H ERMITE sont toutes les deux des formules de quadrature interpolatoires.b] (x k ) .

b−a 95 . b] → [c. b] et soit y ∈ [c. d ]. 1] et puis on la généralise à l’intervalle [x i . Astuce Changement de variable affine Soit x ∈ [a.e. b]) g : [a. mb + q = d . Rb Rb P P Par conséquent. Pour déterminer cette transformation affine.e. 1] ou sur l’intervalle [−1. On a alors d Z c b Z f (y)dy = f (g (x))g 0 (x) dx. si a f (t ) dt ≈ ni=0 αi f (t i ) alors a f (mx + q) dx ≈ ni=0 αi f (mx i + q). g (c) = d . i. d ]. b−a q= cb − ad . On considère une fonction de classe C 1 ([a. Quadrature Souvent on définit d’abord une formule de quadrature sur l’intervalle [0. ( ma + q = c. On obtient m= © G. a Si g 0 (x) est une constante.Jeudi 5 juin 2014 3. b] dans l’intervalle [c. Faccanoni d −c . alors d Z c Z f (y)dy = m b a f (mx + q)dx. g (c) = d . x i +1 ] par un changement de variable affine. c’est-à-dire telle que ( g (a) = c. i. on doit résoudre le système linéaire ( g (a) = c. si g est une transformation affine g (x) = mx + q. d ] x 7→ y = g (x) qui envoie l’intervalle [a.

f (y)dy = b−a a b−a b−a c Exemple ? Transformer l’intervalle [0.b] 2 [a.2. [a. On a y = (x i +1 − x i )x + x i et Z x i +1 xi Z 1 f (y)dy = (x i +1 − x i ) 0 f ((x i +1 − x i )x + x i )dx. a 1 Erreur Si f ∈ C ([a.b] ( f˜) = I [a. . x i +1 ] par un changement de variable affine. Faccanoni . f (a)) et donc de degré 0). ce qui donne Z b I [a. b]) alors il existe η ∈]a.xk+1 ] ( f ) ≤ m H2 b−a max| f 0 (x)| = H max| f 0 (x)|. b] en m sous-intervalles de largeur H = b−a m avec m ≥ 1.3. ? Transformer l’intervalle [−1. x −x x +x x −x On a y = i +12 i x + i +12 i . f x i + (1 + x) 2 2 −1 3. m −1 on obtient la formule composite du rectangle à gauche m−1 m−1 m−1 X X X m I [a.b] (f ) = 96 m−1 X k=0 E [xk .b] 2 © G. Exemples de formules de quadrature interpolatoires Définition Formule du rectangle à gauche • Formule de base La formule du rectangle à gauche est obtenue en remplaçant f par une constante égale à la valeur de f en la borne gauche de l’intervalle [a. 1] dans l’intervalle [x i . k=0 k=0 k=0 1 Erreur Si f ∈ C ([a. qu’on peut réécrire y = x i + (1 + x) i +12 i et Z x i +1 xi f (y)dy = Z x i +1 − x i 1 ³ x i +1 − x i ´ dx.b] ( f˜) = I [xk . • Formule composite On décompose l’intervalle d’intégration [a. x i +1 ] par un changement de variable affine. . b]) alors l’erreur de quadrature est majorée par m E [a. Quadrature Jeudi 5 juin 2014 y d m y= x+ q a b x c Par conséquent y = d −c cb − ad x+ d’où b−a b−a µ ¶ Z Z d d −c cb − ad d −c b f x+ dx.xk+1 ] ( f˜) = H f (x k ) = H f (a + k H ).b] ( f ) ≈ I [a. En introduisant les nœuds de quadrature x k = a +k H pour k = 0. .b] ( f ) = ¯¯ b a ¯ ¯Z ¯ ¯ f (x) − f˜(x) dx ¯¯ = ¯¯ b a ¯ ¯ f (x) − f (b) dx ¯¯ ¯Z b ¯ ¯ ¯ (b − a)2 0 (b − a)2 | f (η)| ≤ max| f 0 (x)|. b[ tel que f (x) = f (a) + (x − a) f 0 (η) et donc l’erreur de quadrature est majorée par ¯Z ¯ E [a. . 1] dans l’intervalle [x i . b] (polynôme qui interpole f en le point (a.b] 2 2 a Degré Le degré de précision de la formule du rectangle à gauche est 0. = ¯¯ (x − a) f 0 (η) dx ¯¯ = [a. 1.b] ( f (a)) = f (a) dx = (b − a) f (a).

b] 2 2 a Degré Le degré de précision de la formule du rectangle à droite est 0. • Formule composite On décompose maintenant l’intervalle d’intégration [a. • Formule composite On décompose maintenant l’intervalle d’intégration [a.e. b] (polynôme qui interpole f en le point (b. .b] ( f ) ≈ I [a. b[ tel que f (x) = f (b) + (x − b) f 0 (η) et donc l’erreur de quadrature est majorée par ¯Z ¯ E [a. .b] ( f˜) = m−1 X I [xk . En introduisant les nœuds de quadrature x k = a + (k + 1)H pour k = 0. ce qui donne Z b I [a. Quadrature Définition Formule du rectangle à droite • Formule de base La formule du rectangle à droite est obtenue en remplaçant f par une constante égale à la valeur de f en la borne droite de l’intervalle [a.b] ( f ) = ¯¯ b ¯ ¯Z ¯ ¯ f (x) − f˜(x) dx ¯¯ = ¯¯ a b a ¯ ¯ f (x) − f (b) dx ¯¯ ¯Z b ¯ ¯ ¯ (b − a)2 0 (b − a)2 | f (η)| ≤ max| f 0 (x)|. a 1 Erreur Si f ∈ C ([a.b] ( f ) = ¯ f (x) − f (x) dx ¯¯ a ¯Z b ³ ´ ¯¯ ¯¯Z ¯ a+b ¯ =¯ f (x) − f 2 dx ¯¯ = ¯¯ a = 1 ¯¯ 00 ¯¯ f (η) 2 Z b³ a x − a+b 2 ´2 b³ a dx = x− a+b 2 ´ f ³ 0 a+b 2 ´ + 1 2 ³ x− a+b 2 ´2 ¯ ¯ f (η) dx ¯¯ 00 1 ¯¯ 00 ¯¯ (b − a)3 (b − a)3 f (η) ≤ max| f 00 (x)|.b] 24 [a. b] (polynôme qui interpole f en le point a+b et donc de degré 0). b] en m sous-intervalles de largeur H = b−a H m avec m ≥ 1.b] 24 97 . 2m (i. .Jeudi 5 juin 2014 3. [a. .xk+1 ] ( f ) ≤ m k=0 Définition Formule du rectangle ou du point milieu • Formule de base La formule du rectangle ou du point milieu est obtenue en ³ remplaçant ³ ´´f par une constante égale à a+b la valeur de f au milieu de [a.b] 2 12 24 Degré Le degré de précision de la formule du point milieu est 1. ce qui 2 .xk+1 ] ( f˜) = H m−1 X f (x k+1 ) = H f (a + (k + 1)H ).f 2 donne ³ ³ ´´ Z b ³ ´ ³ ´ f a+b dx = (b − a) f a+b . . I [a.b] ( f (b)) = f (b) dx = (b − a) f (b). chaque sousintervalle [x 2k . on obtient la formule composite du point milieu m−1 m−1 m−1 X X X ¡ ¢ m I [a. b]) alors l’erreur de quadrature est majorée par m (f ) = E [a. [a.x2k+2 ] ( f˜) = (x 2k+2 − x 2k ) f (x 2k+1 ) = H f a + (2k + 1) H2 . Faccanoni m−1 X k=0 E [x2k . k=0 k=0 k=0 2 Erreur Si f ∈ C ([a. k=0 k=0 k=0 m−1 X Erreur Si f ∈ C 1 ([a. m − 1 on obtient la formule composite du rectangle à droite m I [a. . [a.x2k+2 ] ( f ) ≤ m H3 b−a 2 max| f 00 (x)| = H max| f 00 (x)|.b] ( f˜) = I [a.b] ( f˜) = I [a. En introduisant les nœuds de quadrature x k = a + k 2 pour k = 0. b]) alors il existe η ∈]a.b] m−1 X H2 b−a max| f 0 (x)| = H max| f 0 (x)|. . = ¯¯ (x − b) f 0 (η) dx ¯¯ = [a.b] 2 [a. 1.b] © G.b] ( f ) ≈ I [a. b] en m sous-intervalles de largeur H = b−a m avec m ≥ 1. b]) alors l’erreur de quadrature est majorée par m (f ) = E [a. 1. x 2k+2 ] a largeur H et donc x 2k+1 est sont point milieu).b] f a+b = 2 2 a 2 ³ ´ ³ ´ ³ ´ ³ ´ Erreur Si f ∈ C 2 ([a.b] ( f˜) = I [x2k . b[ tel que f (x) = f a+b + x − a+b f 0 a+b + 12 x − a+b f 00 (η) et donc 2 2 2 2 l’erreur de quadrature est majorée par ¯Z b ¯ ¯ ¯ ¯ ˜ E [a. b]) alors il existe η ∈]a.b] 2 E [xk . f (b)) et donc de degré 0). .

en b et en a+b 2 (donc un polynôme de degré 2).b] ³ f (b)− f (a) (x − a) + b−a ´ Z f (a) = b a f (b)− f (a) (x − a) + b−a Erreur Si f ∈ C 2 ([a.b] 12 Définition Formule de Cavalieri-Simpson • Formule de base La formule de Cavalieri-Simpson est obtenue en remplaçant f par la parabole qui interpole f en a. f (a)) et (b.b] (f ) = m−1 X E [xk .b] Degré Le degré de précision de la formule du point milieu est 3. chaque sousintervalle [x 2k .xk+1 ] ( f ) ≤ m k=0 H3 b−a 2 max| f 00 (x)| = H max| f 00 (x)|. = f (a) + 2 k=0 2 2 k=1 m I [a.b] = µ µ ¶ ¶ b−a a +b f (a) + 4 f + f (b) .b] ( f˜) = I [xk . . 1.b] ( f˜) = I [a. 2 f 00 (η) f 00 (η) 2 ω2 (x) = 2 (x − a)(x − b) et donc l’erreur de quadrature est majorée par ¯Z ¯ E [a. b]) on peut démontrer que l’erreur de quadrature est majorée par E [a.b] ( f ) ≈ I [a. comme celle du point milieu. ce qui donne I [a.x2k+2 ] ( f˜) = m−1 X k=0 ¢ x 2k+2 − x 2k ¡ f (x 2k ) + 4 f (x 2k+1 ) + f (x 2k+2 ) 6 © G.xk+1 ] ( f˜) = Erreur Si f ∈ C 2 ([a. . • Formule composite On décompose maintenant l’intervalle d’intégration [a. 6 2 Erreur Si f ∈ C 4 ([a.b] 12 Degré Le degré de précision de la formule du point milieu est 1.b] ( f ) ≈ I [a. . f (a)) à (b. ce qui donne ! ´ ´ ³ a+b ³ ´ (x−a) x− a+b x− 2 (x−b) (x−a)(x−b) 2 a+b ³ ´ ³ ´ f (a) + ³ a+b ´³ a+b ´ f 2 + a+b a+b f (b) a− 2 (a−b) (b−a) b− 2 2 −a 2 −b ´ ³ Z b ³ a+b ´ ³ ´ (x−a) x− a+b x− 2 (x−b) (x−a)(x−b) 2 a+b ³ ´ ³ ´ f (a) + ³ a+b ´³ a+b ´ f 2 + = a+b a+b f (b) dx (b−a) b− 2 a a− 2 (a−b) 2 −a 2 −b ó I [a. x 2k+2 ] a largeur H et donc x 2k+1 est sont point milieu). En introduisant les nœuds de quadrature x k = a + k 2 pour k = 0. b]) alors il existe η ∈]a. m − 1 on obtient la formule composite des trapèzes m−1 X m−1 X ¢ x k+1 − x k ¡ f (x k ) + f (x k+1 ) 2 k=0 k=0 à ! m−1 m−1 X ¢ 1 1 H X¡ f (x k ) + f (x k+1 ) = H f (a + k H ) + f (b) . 2880 [a. .e.b] ( f ) ≤ (b − a)5 max| f (I V ) (x)|. b[ tel que f (x) − f˜(x) = f (a) dx = ¢ b−a ¡ f (a) + f (b) .3. [a. En introduisant les nœuds de quadrature x k = a + k H pour k = 0. . b]) alors l’erreur de quadrature est majorée par m E [a. . b] en m sous-intervalles de largeur H = H b−a m avec m ≥ 1. .b] ( f ) = ¯¯ b ¯ ¯Z ¯ ¯ ˜ f (x) − f (x) dx ¯¯ = ¯¯ a ¯ ¯ ≤ 12 ¯ f 00 (η)¯ Z b a b a ¯ ¯ f 00 (η) ¯ 2 (x − a)(x − b) dx ¯ ¯ ¯ 3 (b − a)3 (x − a)(x − b) dx = 12 ¯ f 00 (η)¯ (b−a) ≤ max| f 00 (x)|. f (b)) (polynôme qui interpole f en les points (a. 6 [a.b] ( f˜) = 98 m−1 X k=0 I [x2k . 1. on obtient la formule composite de CavalieriSimpson m I [a. .b] 12 [a. • Formule composite Pour obtenir la formule du trapèze composite. 2m (i. b] en m sous-intervalles de largeur H = b−a m avec m ≥ 1. on décompose l’intervalle d’intégration [a. Quadrature Jeudi 5 juin 2014 Définition Formule du trapèze • Formule de base La formule du trapèze est obtenue en remplaçant f par le segment qui relie (a. f (b)) et donc de degré 1).b] ( f˜) = I [a. Faccanoni .

b > a . f : [a.x2k+2 ] ( f ) ≤ m H5 b−a 4 max| f 00 (x)| = H max| f 00 (x)|.b] 2880 Algorithmes M ÉTHODE DU RECTANGLE À GAUCHE Require: a . b > a . f : [a. b] → R H ← b−a m s ←0 for k = 0 to m − 1 do s ← s + f (a + k H ) end for return I ← H s M ÉTHODE DU RECTANGLE À DROITE Require: a . [a. Faccanoni 99 . b > a . m > 0 . b > a . f (a + k H ) + 4 f (a) + f (b) + 6 k=0 k=1 = Erreur Si f ∈ C 4 ([a.b] 2880 [a. b > a . m > 0 . b]) alors l’erreur de quadrature est majorée par m E [a.Jeudi 5 juin 2014 3. m > 0 . f : [a. m > 0 . m > 0 . b] → R H ← b−a m f (a)+ f (b) s← 2 for k = 1 to m − 1 do s ← s + f (a + k H ) end for return I ← H s M ÉTHODE DE S IMPSON Require: a . b] → R H ← b−a m s ←0 for k = 0 to m − 1 do s ← s + f (a + (k + 1)H ) end for return I ← H s M ÉTHODE DU POINT MILIEU Require: a . f : [a. b] → R H ← b−a m s ←0 for k = 0 to ¡m − 1 ¡ do ¢ ¢ s ← s + f a + k + 12 H end for return I ← H s M ÉTHODE DES TRAPÈZES Require: a . Quadrature X¡ ¢ H m−1 f (x 2k ) + 4 f (x 2k+1 ) + f (x 2k+2 ) 6 k=0 ! Ã m−1 m−1 X X H f (x 2k+1 ) f (x 2k ) + 4 = f (a) + f (b) + 6 k=0 k=1 Ã ! m−1 m−1 X ¡ X ¡ ¢ ¢ H 1 = f a+ k+ 2 H . b] → R H ← b−a m ¡ ¢ s ← f (a) + f (b) + 4 f a + H2 for k = 1 to m − 1 do ¡ ¡ ¢ ¢ s ← s + f (a + k H ) + f a + k + 21 H end for return I ← H6 s © G. f : [a.b] (f ) = m−1 X k=0 E [x2k .

a b x x (e) Formule du point milieu. Faccanoni . Quadrature Jeudi 5 juin 2014 a b x (a) Formule du rectangle à gauche. a+b 2 b x1 (b) Formule du rectangle à gauche composite. (c) Formule du rectangle à droite. F IGURE 3.1. a x2 (d) Formule du rectangle à droite composite.: Exemples de formules de quadrature. b (i) Formule de Cavalieri-Simpson. b a+b 2 x3 x3 x5 x7 x1 x0 = a x2 x4 x6 x8 = b x x0 = a (g) Formule du trapèze. 100 © G.3. a x0 = a x1 x2 x3 x4 = b x (h) Formule du trapèze composite. a x0 = a x4 = b x x1 x2 x3 x4 = b x x (f) Formule du point milieu composite. x x0 = a x1 x2 x3 x4 = b x (j) Formule de Cavalieri-Simpson composite.

h f (x i ) − f (x i − h) . h ? à gauche (ou rétrograde) δ− . 2h f 0 (x i ) ≈ δ+ h f (x i ) ≡ (3.3.x.2) f (x) (3. on obtient f (x i + h) − f (x i ) f (x i ) + h f 0 (x i ) + h 2 f 00 (x i ) + O((h)3 ) − f (x i ) = = f 0 (x i ) + O(h). si f est assez régulière.x. les différences finies convergent vers f 0 (x i ) lorsque h tend vers zéro. De plus. 2h 2h Donc.h): −−−→return (f(x)-f(x-h))/h 8 9 10 def DFcentree(f. h ? centrée δh . en écrivant le développement de TAYLOR de f en x autour du point x i f (x i ± h) = f (x i ) ± h f 0 (x i ) + h 2 f 00 (x i ) + O(h 3 ).1) y f (x i + h) f (x i ) (3. Exemple On compare pour différentes valeurs de h les valeurs données par ces trois formules pour la dérivée de la fonction sinus en 0 : 1 from math import * 2 3 4 def DFgauche(f.13): © G. f 0 (x i ) ≈ δ− h f (x i ) ≡ h f (x i + h) − f (x i − h) f 0 (x i ) ≈ δh f (x i ) ≡ .5*h)-f(x-0. x i ∈ R et f 0 sa dérivée.5*h))/h 11 12 13 14 # TEST def f(x): −−−→return sin(x) 15 16 17 x = 0 for i in range(1. pour les différences finies à gauche et à droite la convergence est d’ordre 1 alors que la différence finie centrée converge à l’ordre 2.3) On les appelles taux d’accroissement ou différences finies ? à droite (ou progressive) δ+ . h h f (x i ) − f (x i − h) f (x i ) − f (x i ) + h f 0 (x i ) − h 2 f 00 (x i ) + O(h 3 ) = = f 0 (x i ) + O(h).x. f (x i − h) h xi − h h xi xi + h x Si f est de classe C 3 .Jeudi 5 juin 2014 3.h): −−−→return (f(x+0. h h f (x i + h) − f (x i − h) f (x i ) + h f 0 (x i ) + (h)2 f 00 (x i ) + O(h 3 ) − f (x i ) + h f 0 (x i ) − (h)2 f 00 (x i ) = = f 0 (x i ) + O(h 2 ). h→0 h f 0 (x i ) = lim h→0 Une idée naturelle pour calculer numériquement f 0 (x i ) consiste donc à se donner une valeur de h positive assez petite et à calculer f (x i + h) − f (x i ) .h): −−−→return (f(x+h)-f(x))/h 5 6 7 def DFdroite(f. Approximation de dérivées Soit f : R → R une fonction de classe C 1 (R). Faccanoni 101 . On sait que f (x i + h) − f (x i ) h f (x i ) − f (x i − h) = lim h→0 h f (x i + h/2) − f (x i − h/2) = lim . Quadrature 3.

000000000000000 1.500000041370185 0. En effet.000000000000000 0.999999999999833 0.500125062539047 0.500000012504387 0.h) −−−→dfd = DFdroite(f. les erreurs d’arrondis augmentent lorsque h diminue. sont appelées erreur de troncature.999999999999958 1.500044450291171 0.500000041370185 0.15f %17.500156421150636 0.500012500624925 0.999983333416666 0.998334166468282 0.500001250003379 0.000000000000000 1.513167019494862 0.999999999983333 0. on obtient 0.500000015625002 0.000000000000000 1.e %17.499987500623966 0.999999999995833 0.488498130835069 0.500000041370185 0.000000000000000 1. Remarque Erreurs d’arrondis Les erreurs de troncature diminuent lorsque h diminue.500000124969979 0.3.999999999999998 1.h) −−−→print "%5.999999998333333 0.488088481701516 0.499999999181711 0.x.999995833338542 0.499875062460964 0.x. De même.000000000000000 1.15f %17. En revanche. d’après l’inégalité de Taylor-Lagrange.500044450291171 0.500000008063495 0. Elles sont d’ordre h et on dit que les différences finies sont consistantes à l’ordre 1 en h.498756211208895 0.000000000000000 1.999999999999998 1.15f" %(h.500044450291171 0.500000041370185 0. c’est-à-dire de l’ordre de 10−8 . Elle est ainsi plus précise que les formules de différences finies progressives et rétrogrades. | f 0 (x i ) − flt(δ± )| ≤ h h 2 | f (x)| 00 (x)| + 2ε h .x. | f 0 (x i ) − δ− h |.000000000000000 1.498490138056695 0.500000041370185 0.999999958333334 0.500000041370185 0. Faccanoni . il p est donc judicieux de choisir une valeur de h qui soit de l’ordre de ε.499600361081320 0.999999998333333 0.999999999983333 0.000000000000000 1.000000000000000 1.499999996961265 0.500000041370185 0.999999999583333 0.501256289338003 0.999999833333342 0. dfg. dfd.999983333416666 0.000000000000000 1.000000000000000 0.500000041370185 0.h) −−−→dfc = DFcentree(f. Par h ailleurs. Pour une fonction suffisamment régulière. 102 © G.000000000000000 1.499600361081320 Cette fois-ci on voit apparaître très nettement la perte de précision lorsque h est trop petit.000000000000000 1.000000000000000 1. est d’ordre h 2 et on dit que la différence finie est consistante à l’ordre 2 en h.499999996961265 0.999999999999833 0.499999875058776 0. max | f Exemple Par exemple.999999833333342 0. L’inégalité triangulaire entraîne alors | f (x)| Une étude rapide de la fonction h 7→ h2 max | f 00 (x)| + 2ε h montre que cette r | f (x)| fonction possède un minimum absolu sur R+ atteint en h = 2 ε max | f 00 (x)| . dfc) On constate qu’à partir de h = 10−8 la valeur donnée est exacte.500710584105946 0.499998750003172 0.500000041370185 0. en utilisant le code de l’exemple précédent pour calculer la dérivée première de la fonction 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1e-01 1e-02 1e-03 1e-04 1e-05 1e-06 1e-07 1e-08 1e-09 1e-10 1e-11 1e-12 1e-13 1e-14 0.500000000014378 0.500000000157597 0.999583385413567 0.500001562517094 0.499600361081320 p 1 + x en 0. le calcul de δ± se fait avec une précision absolue de l’ordre de 2 × ε × | f (x)|/h où ε ≈ 10−15 .499999988079480 0. l’erreur de troncature | f 0 (x i ) − δh |.998334166468282 0. 1 2 3 4 5 6 7 8 9 10 11 12 1e-01 1e-02 1e-03 1e-04 1e-05 1e-06 1e-07 1e-08 1e-09 1e-10 1e-11 1e-12 0.000000000000000 Définition Erreur de troncature Les différences | f 0 (x i ) − δ+ h |. Quadrature 18 19 20 21 22 Jeudi 5 juin 2014 −−−→h = 10**(-i) −−−→dfg = DFgauche(f.499999999958867 0. on a | f 0 (x i ) − δ± |≤ h h 2 max | f 00 (x)|.

= h2 © G. Faccanoni 103 . Quadrature De manière analogue.Jeudi 5 juin 2014 3. la dérivée seconde peut être approchée par f 00 (x i ) ≈ f (x i + h) − 2 f (x i ) + f (x i − h) (h)2 et on a l’estimation d’erreur : f (x i + h) − 2 f (x i ) + f (x i − h) h2 f (x i ) + h f 0 (x i ) + (h)2 f 00 (x i ) + O((h)3 ) − 2 f (x i ) + f (x i ) − h f 0 (x i ) + (h)2 f 00 (x i ) = f 00 (x i ) + O(h 2 ).

5) −−−→for k in range(1. Elles renvoient la valeur Rb approchée de a f (x) dx.coding: Utf-8 -*- 3 4 import math.0 −−−→def f(x): −−−→−−−→return x**3 −−−→def primitive(x): −−−→−−−→return x**4/4.b.a.5 −−−→for k in range(1.3. sys 5 6 7 8 9 10 11 def rectangle_gauche_composite(f. −−−→for k in range(m): −−−→−−−→s += f(a+k*H) −−−→return H*s 12 13 14 15 16 17 18 def rectangle_droite_composite(f. du trapèze et de S IMPSON. Quadrature TTTTTTTTTTTTT Jeudi 5 juin 2014 Codes Python TTTTTTTTTTTT Voici cinq function python qui renvoient la valeur approchée d’une intégrale par les méthodes (composites à n intervalles équirépartis) du rectangle à gauche. la fonction (mathématique) à intégrer.0 104 © G.m): −−−→H = (b-a)/m −−−→s = 0. du rectangle à droite.a.b.b. Méthodes numériques.a.m): −−−→H = (b-a)/m −−−→s = 0. a et b sont les extrémités de l’intervalle d’intégration et n est le nombre de sous-intervalles de l’intervalle [a.m): −−−→H = (b-a)/m −−−→s = (f(a)+f(b))*0. 1 2 #!/usr/bin/python #-*. −−−→for k in range(m): −−−→−−−→s += f(a+(2*k+1)*H*0.m): −−−→−−−→s += f(a+k*H)+f(a+(2*k+1)*H*0. du point de milieu.b.5) −−−→return H*s 26 27 28 29 30 31 32 def trapeze_composite(f. b] (chaque sous-intervalle a largeur (b − a)/n). et voici quelques exemples d’utilisation de ces méthodes 40 41 # CHOIX DU CAS TEST exemple = 1 42 43 44 45 46 47 48 49 50 51 52 53 54 # DEFINITION DU CAS TEST if exemple==1: −−−→n = 100 −−−→a = 0.a. Faccanoni .m): −−−→H = (b-a)/m −−−→s = 0. −−−→for k in range(m): −−−→−−−→s += f(a+(k+1)*H) −−−→return H*s 19 20 21 22 23 24 25 def milieu_composite(f.0 −−−→b = 1.b.a.5) −−−→return H*s/6.m): −−−→−−−→s += f(a+k*H) −−−→return H*s 33 34 35 36 37 38 39 def simpson_composite(f. elif exemple==2: −−−→n = 100 −−−→a = 0.m): −−−→H = (b-a)/m −−−→s = f(a)+f(b)+f(a+H*0. En paramètre elles reçoivent f.

a.b. Faccanoni 105 .a.n) "Formule des trapezes composite : ". "avec une erreure de ". trapeze_composite(f.integrate l’integrale est approchee par ".exp(-x**2) −−−→def primitive(x): −−−→−−−→return 0.a.0 −−−→b = 10.quad(f.n) "Formule du point milieu composite : ".b.a.n) "Formule de Simpson composite : ".a.n) "Formule du rectangle a droite composite : ". simpson_composite(f.b.b.0 −−−→def f(x): −−−→−−−→return math.0 −−−→def f(x): −−−→−−−→return x**3 −−−→def primitive(x): −−−→−−−→return x**4/4.exit(0) 71 72 73 74 75 76 77 78 print print print print print print "** Exacte : ". elif exemple==3: −−−→n = 10 −−−→a = -10.b) print "Avec scipy. Quadrature −−−→b = 1. comparons nos resultats avec ceux du åmodule: from scipy import integrate results = integrate.Jeudi 5 juin 2014 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 3. rectangle_gauche_composite(f. # on ne connait pas la primitive else: −−−→print "Cas test non defini" −−−→sys. primitive(b)-primitive(a) "Formule du rectangle a gauche composite : ".b. milieu_composite(f. results å[1] © G. rectangle_droite_composite(f. results[0].a.n) 79 80 81 82 83 # Dans python il existe un module qui implement deja ces methodes.

b = 5 2 et m = 5 donc h = Z a Méthode 2 Méthode 3 = 12 .9565) = 3.9565 f (a + i h) + f (b) = h f (a) + + 2 + 2 + 1. Faccanoni . 2 i =1 2e 2 e e e e e e e e e 2e ainsi en utilisant la fonction trapeze_composite(f.. la méthode des rectangles à gauche composite...... b Méthode Méthode 1 b−a m f (t )d t ' m−1 X µ ¶ 1 3 f (a + i h) = h + 2 + 2 + 1. .1.2. On a a = 0.2500 + 0.6364 + 1.2 Étant donnée l’égalité π=4 +∞ µZ 0 2 e −x dx ¶2 10 µZ =4 0 2 e −x dx + ² ¶2 . Exercice 3. b = 10.. la méthode des trapèzes composite.. Quadrature Jeudi 5 juin 2014 Exercices . Exercice 3.. 106 © G.0. utiliser la méthode des trapèzes composite à 10 intervalles pour estimer la valeur de π.a. C ORRECTION DE L’ EXERCICE 3.......1932 2 2 i =0 m−1 X 1 f (a + (i + 1)h) = (2 + 2 + 1. avec 0 < ² < 10−44 ..2500 3 /2 0.2500 + = 4. La méthode des trapèzes composite à m intervalles pour calculer l’intégrale d’une fonction f sur l’intervalle [a.*I**2) on obtient π ≈ 4I 2 = 3.10) print (4.92145 h 2! i =0 Ã µ ¶ m−1 X 1 1 1 3 0...m) décrite à la page 24 comme suit 1 import math 2 3 4 def f(x): return math.057325 2 2 2 4 2 i =1 Exercice 3.3. la méthode des rectangles à droite composite..10.6364 2 1... 2..1 Estimer R 5/2 0 f (x) dx à partir des données x f (x) 0 /2 /2 2 1 3 1 2 /2 1.3 R π Estimer 0 sin(x) dx en utilisant la méthode des trapèzes composite avec 8 et puis 16 sous-intervalles en prenant en compte l’erreur.exp(-(x**2)) 5 6 7 I = trapeze_composite(f..6364 + 1.. a = 0.b. b] s’écrit ! Ã Z b m−1 X 1 b−a 1 f (t )d t ' h f (a) + f (a + i h) + f (b) avec h = . m = 10 d’où h = 1 et on obtient I' 10 2 1 X 1 1 1 1 1 1 1 1 1 1 1 1 + e −i + 100 = + + 4 + 9 + 16 + 25 + 36 + 49 + 64 + 81 + 100 .9565 5 en utilisant 1.2500 = 4.. 2 2 m a i =1 2 Ici on a f (x) = e −x .6364 + 1.14224265994. 3. C ORRECTION DE L’ EXERCICE 3.

2. ¯ ¯ ¯ (b − a)4 00 ¯ ¯. .4 On considère l’intégrale 2 Z I= 1 1 dx. x 1.01460 La valeur exacte est bien évidemment 2.Jeudi 5 juin 2014 3. 1. La méthode des trapèzes composite à m + 1 points pour calculer l’intégrale d’une fonction f sur l’intervalle [a.97423 π X + sin((1 + 2 j )π/16) ≈ 1.04037 768 768 0 sin(x) dx ≤ (1.99358 2 16 j =0 et le limites de l’erreur deviennent (observons que E est divisé par 4 lorsque h est divisé par 2) : E min = 0 ainsi E max ' π Z 1. Faccanoni ξ ∈]a.99358 + 0. Comme on ne connait pas la valeur de ξ. Calculer la valeur exacte de I . 3.04037) = 2. b = π. |E m | = ¯¯ f (ξ) ¯ 12m 2 © G. 7. . .99358 ≤ 0. b] s’écrit à ! Z b m−1 X 1 1 b−a f (a + i h) + f (b) f (t )d t ' h f (a) + avec h = 2 2 m a i =1 et l’erreur est donné par E =− b − a 2 00 h f (ξ) 12 avec a < ξ < b.97423 + 0. Ici on a a = 0. . Exercice 3. Avec 8 sous-intervalles on a h = π/8 donc à ! Z π 7 sin(π) π sin(0) X sin(i π/8) + ≈ 1. Avec 16 sous-intervalles on a h = π/16 et les nouveaux nœuds se trouvent au milieux des sous-intervalles précédents : x j = π/16 + j π/8 = (1 + 2 j )π/16 pour j = 0.97423 + sin(x) dx ' 8 2 2 0 i =1 et l’erreur est E= π3 sin(ξ) 768 pour ξ ∈]0. on ne peut pas connaitre E mais on peut en déterminer les bornes : E min = π3 sin(0) = 0 768 E max = ainsi π Z (1. (On pourra s’aider par un dessin. Évaluer numériquement cette intégrale par la méthode des trapèzes avec m = 3 sous-intervalles. π[.97423 − 0) ≤ π3 π3 sin(π/2) = ' 0.01009) = 2. Quel nombre de sous-intervalles m faut-il choisir pour avoir une erreur inférieure à 10−4 ? On rappelle que l’erreur de quadrature associée s’écrit. Quadrature C ORRECTION DE L’ EXERCICE 3. b[.3. 107 .01009 4 0 sin(x) dx ≤ (1. ainsi π Z 0 sin(x) dx ' 7 1.) 4. b]).04037 = 0. Pourquoi la valeur numérique obtenue à la question précédente est-elle supérieure à ln(2) ? Est-ce vrai quelque soit m ? Justifier la réponse.00367. si f ∈ C 2 ([a.

12 C ORRECTION DE L’ EXERCICE 3. 2 2 m a i =1 108 © G.5 0 0.5 2 Cela reste vrai quelque soit le pas h choisi car la fonction est convexe ce qui signifie qu’une corde définie par deux points de la courbe y = 1/x sera toujours au-dessus de la courbe et par le raisonnement précédant l’aire sous les trapèzes sera supérieure à l’aire exacte.8. La valeur numérique obtenue à la question précédente est supérieure à ln(2) car la fonction f (x) = x1 est convexe. Quel nombre de sous-intervalles m faut-il choisir pour avoir une erreur E m inférieure à 10−2 ? On rappelle que. La méthode des trapèzes composite à m + 1 points (m sous-intervalles) pour calculer l’intégrale d’une fonction f sur l’intervalle [a.7. 1. ξ ∈]a. 1 6m 2 1 2 1 max = . b] s’écrit à ! Z b m−1 X 1 1 b−a f (t )d t ' h f (a) + f (a + i h) + f (b) avec h = . Quadrature Jeudi 5 juin 2014 C ORRECTION DE L’ EXERCICE 3.5 1 1.5 2 4. 1 1. Une primitive de 1 x h ix=2 est F (x) = ln(x). On peut se convaincre à l’aide d’un dessin que les trapèzes sont au-dessus de la courbe y = 1/x. b[.) 2.5. l’erreur de quadrature E m associée à la méthode des trapèzes composite avec une discrétisation uniforme de pas h = (b − a)/m de l’intervalle [a. Pour bien visualiser la construction considérons m = 1 : 1 0. m = 3 d’où h = I' 1 3 et on obtient µ µ ¶ ¶ 21 1 1 1 1 1 3 3 1 = f (1) + f (1 + 1/3) + f (1 + 2/3) + f (2) = + + + = 0. pour une fonction f de classe C 2 . b = 2. Faccanoni . 12m 2 ξ∈]a. À partir de 41 sous-intervalles. a = 1. b] en m sous-intervalles vérifie ¯ ¯ ¯ (b − a) 2 00 ¯ ¯ |E m | = ¯ h f (ξ)¯¯ .3. 0. m > 102 / 6 ≈ 40. L’erreur est majorée par |E m | ≤ (b − a)4 sup | f 00 (ξ)|. 2 2 m a i =1 Ici on a f (x) = x1 .4.2[ ξ3 6m 2 p < 10−4 .5 1 1. ainsi |E m | ≤ Pour que |E m | < 10−4 il suffit que quadrature est inférieure à 10−4 . 1. f 0 (x) = −1/x 2 et f 00 (x) = 2/x 3 . l’aire sous les trapèzes sera donc supérieure à l’aire sous la courbe. i. 3 2 2 3 2 4 5 4 30 3. La méthode des trapèzes composite à m + 1 points pour calculer l’intégrale d’une fonction f sur l’intervalle [a. 12m 2 ξ∈]1.e. x=1 2. La valeur exacte est alors I = ln(x) = ln(2). l’erreur de Exercice 3.5 0 1 0.5 On considère l’intégrale 2 Z I= ln(x) dx. b] s’écrit à ! Z b m−1 X 1 1 b−a f (t )d t ' h f (a + i h) + f (b) f (a) + avec h = . Pourquoi la valeur numérique est-elle inférieure à la valeur exacte ? Est-ce vrai quel que soit m ? (Justifier la réponse.b[ Donc ici on a f (x) = 1/x. Évaluer numériquement cette intégrale par la méthode des trapèzes composite avec m = 4 sous-intervalles et comparer le résultat ainsi obtenu avec la valeur exacte.

386294361. ainsi |E m | ≤ Pour que |E m | < 10−2 il suffit que quadrature est inférieure à 10−2 . À partir de 3 sous-intervalles. b−a n . À l’aide d’un change- xi En tirer une formule de quadrature composite pour l’intégrale Rb 3. m > 10/ 12 ≈ 2. R).886.Jeudi 5 juin 2014 3. C ORRECTION DE L’ EXERCICE 3.6. 12 Quel est le degré de précision de cette formule de quadrature ? de subdivision de l’intervalle [a. b] : x i = a + i h avec h = 2. La valeur exacte est alors I = [x(ln(x)−1)]x=2 x=1 = 2 ln(2)−1 ≈ 0. Pour bien visualiser la construction considérons m = 2 : 0.b[ ξ∈]a.5 2 |E m | ≤ x x 0. © G.5 1 1. L’erreur est majorée par 0 0 0.5 1 1. On considère l’approximation Z 1 −1 f (x) dx ≈ ¶ µ ¡ ¢ ¡ ¢ ¡ ¢ ¡ ¢ 1 11 f − 35 + f − 15 + f 15 + 11 f 53 .5 2. l’erreur de Exercice 3.b[ On a f (x) = ln(x). La valeur numérique obtenue est inférieure à celle exacte quelque soit le pas h choisi car la fonction f est concave. f 0 (x) = 1/x et f 00 (x) = −1/x 2 . On se donne les points {x i }ii =n =0 ment de variable affine. f (1) + f 4 2 4 2 4 2 4 4 2 4 2 1 Une primitive de ln(x) est F (x) = x(ln(x)−1). Faccanoni 109 .3836995094. 1. en déduire une formule de quadrature pour l’intégrale Z xi +1 f (x) dx. 1 12m 2 1 1 1 max 2 = .2[ ξ 12m 2 p < 10−2 . On a R1 −1 p k (x) dx 1 12 (11p k (−3/5) + p k (−1/5) + p k (1/5) + 11p k (3/5)) Degré d’exactitude 1 2 2 au moins 0 1 x 0 0 au moins 1 2 x2 2/3 2/3 au moins 2 3 x3 0 0 au moins 3 4 4 2/5 446/1875 ≤3 k p k (x) = x k 0 x La formule est donc exacte de degré 3.e. 1. Quadrature y Ici on a f (x) = ln(x). Rb a f (x) dx.5 y 1 0. a = 1. 2 12m ξ∈]1. Écrire l’algorithme pour approcher a f (x) dx. 12 12m 2 ξ∈]a.5 2 (b − a) 2 (b − a)3 h sup | f 00 (ξ)| = sup | f 00 (ξ)|. m = 4 d’où h = 1 4 et on obtient µ µ ¶ µ ¶ µ µ ¶ µ ¶ µ ¶ µ ¶ ¶ ¶ 1 1 3 7 1 5 3 7 1 5 1 I' +f +f + f (2) = ln + ln + ln + ln(2) ≈ 0. donc l’aire sous les trapèzes sera inférieure à l’aire exacte. ce qui signifie qu’une corde définie par deux points de la courbe y = ln(x) sera toujours en-dessous de la courbe. i. b = 2.6 Soit f une fonction C ∞ (R.

Faccanoni . b > a . Rb a f (x) dx. On considère l’approximation Z 1 −1 f (x) dx ≈ µ ¶ ¡ ¢ ¡ ¢ 2 2 f − 12 − f (0) + 2 f 21 . en déduire une formule de quadrature pour l’intégrale Z xi +1 f (x) dx. Soit x = mt + q. La formule précédente se réécrit Z x i +1 · µ ¶ µ ¶ µ ¶ µ ¶¸ h h 2h 3h 4h f (x) dx ≈ 11 f x i + + f xi + + f xi + + 11 f x i + . 1. 24 5 5 5 5 f (x) dx = Soit h = x i +1 − x i = b−a n .3. À l’aide d’un change- xi En tirer une formule de quadrature composite pour l’intégrale Rb 3. 110 © G. alors x i +1 Z f (x) dx = m xi −1 d’où le changement de variable x = x i + (t + 1) polynôme de degré au plus 3) x i +1 Z xi ( 1 Z f (mt + q) dt x i +1 −x i 2 avec x i = −m + q. 1. Quadrature Jeudi 5 juin 2014 2. C ORRECTION DE L’ EXERCICE 3. On a R1 −1 p k (x) dx 2 3 (2p k (−1/2) − p k (0) + 2p k (1/2)) Degré d’exactitude 1 2 2 au moins 0 1 x 0 0 au moins 1 2 x2 2/3 2/3 au moins 2 3 x3 0 0 au moins 3 4 4 2/5 1/6 3 k p k (x) = x k 0 x La formule est donc exacte de degré 3. n > 0 . 24 5 5 5 5 xi et la formule de quadrature composite déduite de cette approximation est Z b a f (x) dx = n−1 X Z xi +1 i =0 x i f (x) dx ≈ · µ ¶ µ ¶ µ ¶ µ ¶¸ X h n−1 h 2h 3h 4h 11 f x i + + f xi + + f xi + + 11 f x i + . On se donne les points {x i }ii =n de subdivision de l’intervalle [a. f : [a. . b−a n . Écrire l’algorithme pour approcher a f (x) dx. 3 Quel est le degré de précision de cette formule de quadrature ? 2. b] → R h ← b−a n s ←0 for i = 0 to n − 1 do x ← a +ih ¡ ¢ ¡ ¢ ¡ ¢ ¡ ¢ 3h 4h s ← s + 11 f x + h5 + f x + 2h 5 + f x + 5 + 11 f x + 5 end for h return I ← 24 s Exercice 3.7. On déduit la formule de quadrature (exacte sur l’espace des Z x i +1 − x i 1 ³ x i +1 − x i ´ dt f x i + (t + 1) 2 2 −1 h ³ ´ ³ ³ ³ x i +1 − x i x i +1 − x i x i +1 − x i ´ x i +1 − x i ´ x i +1 − x i ´i ≈ 11 f x i + + f xi + 2 + f xi + 3 + 11 f x i + 4 . R). x i +1 = m + q. b] : x i = a + i h avec h = =0 ment de variable affine.7 Soit f une fonction C ∞ (R. 24 i =0 5 5 5 5 Rb 3. Algorithme d’approximation de a f (x) dx Require: a .

Algorithme d’approximation de a f (x) dx Require: a . . Soit x = mt + q. x a © G. On subdivise l’intervalle [a. x (m + 1)2 2. x i +1 = m + q. On se donne les points {x i }ii =n =0 Le but de l’exercice est de trouver une formule de quadrature à n points pour approcher l’intégrale b Z f (x) ln a b−a n . Rappel : pour m ≥ 0. Donner ce degré. x xi 3. x i +1 ] de largeur h. En déduire la formule de quadrature composite pour le calcul approché de µ ¶ Z b 1 f (x) ln dx.Jeudi 5 juin 2014 3. n > 0 . Quadrature 2.8 de subdivision de l’intervalle [a. R). b] en n intervalles [x i . b] → R h ← b−a n s ←0 for i = 0 to n − 1 do x ← a + i h¡ ¢ ¡ ¢ ¡ ¢ s ← s + 2 f x + h4 − f x + h2 + 2 f x + 3h 4 end for return I ← h3 s Exercice 3. On désire développer une formule d’intégration numérique de la forme 1 Z 0 µ ¶ 1 f (x) ln dx ≈ α f (β). Faccanoni 111 . 3 i =0 4 2 4 Rb 3. f : [a. 2 3 2 2 2 −1 1 ³ b−a n . b] : x i = a +i h avec h = Soit f une fonction C ∞ (R. alors x i +1 Z xi f (x) dx = m −1 d’où le changement de variable x = x i + (t + 1) polynôme de degré au plus 3) Z x i +1 xi x i +1 − x i f (x) dx = 2 Soit h = x i +1 − x i = Z ( 1 Z f (mt + q) dt x i +1 −x i 2 avec x i = −m + q. x Déterminer les valeurs des constantes α et β de telle sorte que le degré d’exactitude de cette formule de quadrature soit le plus élevé possible. À l’aide d’un changement de variable affine. µ ¶ 1 dx. La formule précédente se réécrit Z x i +1 xi · µ ¶ µ ¶ µ ¶¸ h h h 3h f (x) dx ≈ 2 f xi + − f xi + + 2 f xi + . 3 4 2 4 et la formule de quadrature composite déduite de cette approximation est b Z a f (x) dx = n−1 X Z xi +1 i =0 x i · µ ¶ µ ¶ µ ¶¸ X h n−1 h h 3h f (x) dx ≈ 2 f xi + − f xi + + 2 f xi + . On déduit la formule de quadrature (exacte sur l’espace des " à à x +x !# x +x ! i +1 i ³x ´ x i + i +12 i + x i +1 x i +1 − x i ´ x i +1 − x i i +1 + x i 2 f x i + (t + 1) dt ≈ 2f −f +2f . b > a . Z 1 0 x m ln µ ¶ 1 1 dx = . en déduire une formule de quadrature pour l’intégrale µ ¶ Z xi +1 1 f (x) ln dx. x 1.

1. i.e. x i +1 ] t 7→ x = mt + q tel que ( x i = q. b f (x) dx. C ORRECTION DE L’ EXERCICE 3. q = x i = a + i h. En déduire une formule de quadrature à 2n points. 1. 2. 4 4 4 3. On a ? I 0 = 1 et I˜0 = α : pour que le degré soit au moins 0 il faut choisir α = 1 . R). À l’aide d’un changement de variable affine. 1 1 ? I 1 = 4 et I˜1 = αβ = β : pour que le degré soit au moins 1 il faut choisir x 0 = 4 .9. Choisir α pour rendre la formule de quadrature exacte pour des polynômes de degré le plus élevé possible. notée F . Cette formule de quadrature est-elle stable ? 4. b] : x i = a +i h avec h = =0 Le but de l’exercice est de trouver une formule de quadrature à 2n points pour approcher l’intégrale Z b−a n . On trouve la formule de quadrature composite µ ¶ µ ¶ µ µ ¶ ¶ Z b n−1 n−1 X Z xi +1 X 1 1 1 f (x) ln f (x) ln dx = dx ≈ h f a+ i + h .4).5) où 0 < α < 1 est à déterminer. Faccanoni . xi 3. x i +1 = m + q. Écrire l’algorithme du calcul de F . On se donne les points {x i }ii =n de subdivision de l’intervalle [a.9 Soit f une fonction C ∞ (R. 1] → [x i . ( m = (x i +1 − x i ) = h.8. au moins 2 si α = 1/ 3 p Soit α = 1/ 3 3 x3 0 0 au moins 3 4 x4 2/5 2/9 3 p p Donc la formule de quadrature a degré de précision 1 si α 6= 1/ 3 et degré de précision 3 si α = 1/ 3.3. 1 1 2 ? I 2 = 9 et I˜2 = αβ = 16 : le degré d’exactitude est au plus 1.4) a On propose dans un premier temps (question 1 à 4) de construire la formule de quadrature à deux points suivantes : Z 1 −1 g (x) dx ≈ g (−α) + g (α). (3. Quel est alors le degré de précision de cette formule de quadrature ? 2. alors Z x i +1 xi µ ¶ µ ¶ Z 1 1 1 f (x) ln dx = m f (mt + q) ln dt x mt + q 0 ¶ µ µ ¶ µ µ ¶ ¶ 1 1 h ≈mf m +q =hf + xi = h f a + i + h . On pose f (x) = x m et on note I m = 0 x m ln x1 dx la valeur exacte de l’intégrale et I˜m = αβm la valeur obtenue par la formule de quadrature. 112 −1 p k (x) dx 2 0 2/3 © G. ¡ ¢ R1 1. (3. étendre cette formule de quadrature pour l’intégrale suivante : Z xi +1 f (x) dx. Quadrature Jeudi 5 juin 2014 C ORRECTION DE L’ EXERCICE 3. x x 4 a i =0 x i i =0 Exercice 3. Soit le changement de variable affine x : [0. pour le calcul approché de (3. On a k 0 1 2 p k (x) = x k 1 x x2 R1 p k (−α) + p k (α) Degré d’exactitude 2 au moins 0 0 au moins 1 p p 2α2 1 si α 6= 1/ 3.

6c) © G. On a trois points. sur n sous-intervalles et à 2n points) Z b a f (x) dx ≈ · µ µ · µ µ µ µ µ µ q ¶¶ q ¶¶ q ¶¶¸ q ¶¶¸ X X h n−1 h n−1 f x i + h 1 − 13 + f x i + h 1 + 13 f a + h i + 1 − 13 + f a + h i + 1 + 13 = . (3.6b)   f (1) = α + β + γ.Jeudi 5 juin 2014 3.6a)   f (−1) = α − β + γ. n > 0 . b−a 2n et x i = a + i h pour i = 0.e. . a 6.10 Interpolation et Intégration 1. Si h = x i +1 −x i = b−a n (i. En déduire une méthode de quadrature pour approcher l’intégrale 1 Z f (t ) dt . b] → R h ← b−a n ³ q ´ α1 ← a + 1 − 13 h q ´ ³ α2 ← a + 1 + 13 h for i = 0 to n − 1 do s ← s + f (α1 + i h) + f (α2 + i h) end for return I ← h2 s Exercice 3. Quadrature 2. 4. . f (0) = α. . Étudier le degré de précision de la formule de quadrature ainsi trouvée. 2 i =0 2 i =0 Cette formule de quadrature est stable puisque tous les coefficients sont positifs. f : [a.10. On subdivise l’intervalle [a. b] équirépartie) alors on trouve la formule de quadrature composite (i.e. 4. x 2i 5. β et γ du polynôme p(x) = α + βx + γx 2 tels que  (3. Faccanoni 113 . À l’aide d’un changement de variable affine. 1. C ORRECTION DE L’ EXERCICE 3. Écrire l’algorithme associé à cette formule de quadrature. 1]) et p le polynôme de L AGRANGE qui interpole f aux points −1. . Algorithme du calcul de F : Require: a . Soit h = 2h. donc le polynôme interpolateur de L AGRANGE est un polynôme de R2 [x]. b > a . 2 2 2 f (y) dy = 3. Écrire le polynôme p. (3. 2n. 0 et 1. en déduire une formule de quadrature pour l’intégrale Z x2i +2 f (x) dx. On cherche alors les coefficients α. si on considère une subdivision de l’intervalle [a. 2. −1 3. b] en n intervalles [x 2i . x 2i +2 ] de largeur a x0 h x 2i h x 2i +1 x 2i +2 b x 2n En déduire la formule de quadrature composite pour le calcul approché de Z b f (x) dx. Par le changement de variable y = x i + (x + 1) Z x i +1 xi x i +1 −x i 2 on déduit la formule de quadrature Z x i +1 − x i 1 ³ x i +1 − x i ´ dx f x i + (x + 1) 2 2 −1 · µ µ ¶ ¶ µ µ ¶¸ q q ¶ x i +1 − x i x i +1 − x i x i +1 − x i ≈ f x i + 1 − 13 + f x i + 1 + 13 . Soit f une fonction de classe C 1 ([−1.

2 .6a) donne γ = donne β = f (1)− f (−1) . .e. On déduit la formule de quadrature (exacte sur l’espace des 1 ³ ¤ x 2i +2 − x 2i ´ x 2i +2 − x 2i £ f x 2i + (t + 1) dt ≈ f (x 2i ) + 4 f (x 2i +1 ) + f (x 2i +2 ) . 4.3. b > a . cette formule de quadrature a degré de précision au moins 2. On trouve ainsi la formule de quadrature composite Z b a f (x) dx = n−1 X Z x2i +2 i =0 x 2i f (x) dx ≈ n−1 X i =0 ¤ x 2i +2 − x 2i £ f (x 2i ) + 4 f (x 2i +1 ) + f (x 2i +2 ) 6 X£ ¤ h n−1 f (x 2i ) + 4 f (x 2i +1 ) + f (x 2i +2 ) 3 i =0 " # n−1 n−1 X X h = f (a) + f (b) + 2 f (x 2i ) + 4 f (x 2i + h) 3 i =1 i =0 " # n−1 n−1 X X h = f (a) + f (b) + 2 f (a + 2i h) + 4 f (a + (2i + 1)h) . 0 114 © G. 2n − 1.6c)−(3. f : [a. 2 x 2i +2 +x 2i . x 2i +2 = m + q. Exercice 3. En déduire une méthode de quadrature pour approcher l’intégrale 2 Z f (t ) dt . 2 6 −1 5. Algorithme du calcul associé à cette formule de quadrature Require: a . 3 3.6a) 2. n > 0 . Soit x = mt + q. 2.6b) donne α = f (0). . h = b−a 2n = x i +1 − x i pour i = 0. ( m= q= x 2i +2 −x 2i . Quadrature Jeudi 5 juin 2014 L’équation (3. . 3 i =1 i =0 = 6. 2]) et p le polynôme de L AGRANGE qui interpole f aux points 0. On subdivise l’intervalle [a. Par construction. Soit f une fonction de classe C 1 ([0. Écrire le polynôme p. b] → R h ← b−a 2n s1 ← 0 s 2 ← s 2 + f (a + h) for i = 1 to n − 1 do s 1 ← s 1 + f (a + 2i h) s 2 ← s 2 + f (a + (2i + 1)h) end for £ ¤ return h3 f (a) + f (b) + 2s 1 + 4s 2 Il s’agit de la méthode de C AVALIERI -S IMPSON composite. alors x 2i +2 Z x 2i f (x) dx = m ( 1 Z −1 f (mt + q) dt d’où le changement de variable x = x 2i + (t + 1) polynôme de degré au plus 3) Z x 2i +2 x 2i f (x) dx = x 2i +2 − x 2i 2 Z avec x 2i +2 −x 2i 2 x 2i = −m + q. b] en n intervalles [x 2i . Faccanoni .11 Interpolation et Intégration 1. la somme (3. 1 et 2. x 2i +2 ] de largeur 2h. i. De plus k 3 4 p k (x) = x k x3 x4 −1 p k (x) dx p k (−1)+4p k (0)+p k (1) 3 0 2/5 0 2/3 R1 Degré d’exactitude au moins 3 3 La formule est exacte pour les polynômes de degré au plus 3. 2 f (1)+ f (−1) −f 2 (0) et enfin la soustraction (3. On en déduit la méthode de quadrature Z 1 −1 Z f (t ) dt ≈ 1 −1 p(t ) dt = 2(α + γ/3) = f (−1) + 4 f (0) + f (1) . .6c)+(3.

2. 3 3 3. 2n − 1. x 2i +2 = 2m + q. On a trois points. . i. alors Z x 2i +2 x 2i f (x) dx = m ( 2 Z 0 f (mt + q) dt x avec x 2i = q.Jeudi 5 juin 2014 3. On trouve ainsi la formule de quadrature composite Z b n−1 n−1 X Z x2i +2 X x 2i +2 − x 2i £ ¤ f (x) dx = f (x) dx ≈ f (x 2i ) + 4 f (x 2i +1 ) + f (x 2i +2 ) 6 a i =0 x 2i i =0 X£ ¤ h n−1 f (x 2i ) + 4 f (x 2i +1 ) + f (x 2i +2 ) 3 i =0 " # n−1 n−1 X X h = f (a) + f (b) + 2 f (x 2i ) + 4 f (x 2i + h) 3 i =1 i =0 " # n−1 n−1 X X h = f (a) + f (b) + 2 f (a + 2i h) + 4 f (a + (2i + 1)h) . 3 i =1 i =0 = Il s’agit de la méthode de C AVALIERI -S IMPSON composite. x 2i +2 ] de largeur a x0 h x 2i b x 2n h x 2i +1 x 2i +2 En déduire la formule de quadrature composite pour le calcul approché de Z b f (x) dx. x 2i +2 ] de largeur 2h. h = b−a 2n = x i +1 − x i pour i = 0. . β = − 32 f (0) + 2 f (1) − 21 f (2) et γ = 12 f (0) − f (1) + 12 f (2). 2n. b] en n intervalles [x 2i . Faccanoni 115 . 1. . Étudier le degré de précision de la formule de quadrature ainsi trouvée. ( m= x 2i +2 −x 2i 2 .11. x 2i 5. . De plus R2 p k (0)+4p k (1)+p k (2) k p k (x) = x k Degré d’exactitude 0 p k (x) dx 3 3 3 x 4 4 au moins 3 4 x4 32/5 2/3 3 La formule est exacte pour les polynômes de degré au plus 3. q = x 2i . b] en n intervalles [x 2i . Par construction. 2 2 6 x 2i 0 5. f (1) = α + β + γ. β et γ du polynôme p(x) = α + βx + γx 2 tels que    f (0) = α. 4.   f (2) = α + 2β + 4γ. . −x d’où le changement de variable x = 2i +22 2i t + x 2i . À l’aide d’un changement de variable affine. Soit x = mt + q. . Soit h = 2h. Donc α = f (0).e. 4. cette formule de quadrature a degré de précision au moins 2. On subdivise l’intervalle [a. © G. On en déduit la méthode de quadrature Z Z 2 f (t ) dt ≈ 0 2 0 8 f (0) + 4 f (1) + f (2) p(t ) dt = 2α + 2β + γ = . Quadrature 3. . On subdivise l’intervalle [a. donc le polynôme interpolateur de L AGRANGE est un polynôme de R2 [x]. On cherche alors les coefficients α. en déduire une formule de quadrature pour l’intégrale Z x2i +2 f (x) dx. . On déduit la formule de quadrature (exacte sur l’espace des polynôme de degré au plus 3) Z x2i +2 Z ´ ¤ x 2i +2 − x 2i 2 ³ x 2i +2 − x 2i x 2i +2 − x 2i £ f (x) dx = f t + x 2i dt ≈ f (x 2i ) + 4 f (x 2i +1 ) + f (x 2i +2 ) . a C ORRECTION DE L’ EXERCICE 3. b−a 2n et x i = a + i h pour i = 0.

2. 3 3 © G. a C ORRECTION DE L’ EXERCICE 3. 4] → [x 4i . Faccanoni . β et γ du polynôme p(x) = α + βx + γx 2 tels que    f (1) = α + β + γ. alors Z x4i +4 Z f (x) dx = m x 4i 116 i. 4n. Étudier le degré de précision de la formule de quadrature ainsi trouvée. À l’aide d’un changement de variable affine. Écrire le polynôme p. 4. . 2 et 3. x 4i +4 = 4m + q. On en déduit la méthode de quadrature 4 Z 0 4 Z f (t ) dt ≈ 0 p(t ) dt = 4α + 8β + 64 4 γ = (2 f (1) − f (2) + 2 f (3)). x 4i +4 ] t 7→ x = mt + q tel que ( x 4i = q. 3 3 3. x 4i +4 ] de largeur a x0 h x 4i b x 4n h h h x 4i +1 x 4i +2 x 4i +3 x 4i +4 En déduire la formule de quadrature composite pour le calcul approché de Z b f (x) dx. ( m= x 4i +4 −x 4i 4 = h. Soit h = 4h. R4 De plus. Soit le changement de variable affine x : [0. b−a 4n et x i = a + i h pour i = 0. 0 x 3 dx = 64 et 43 (2×13 −23 +2×33 = 64 donc la formule est exacte pour les polynômes de degré au moins 3.3. . 4 ¢ 4 ¡ f (mt + q) dt ≈ m 2 f (m + q) − f (2m + q) + 2 f (3m + q) 3 0 ¤ 4 £ ¤ x 4i +4 − x 4i £ = 2 f (x 4i +1 ) − f (x 4i +2 ) + f (x 4i +3 ) = h 2 f (a + (4i + 1)h) − f (a + (4i + 2)h) + f (a + (4i + 3)h) . Par construction. b] en n intervalles [x 4i . . On a trois points. On subdivise l’intervalle [a. Donc α = 3 f (1) − 3 f (2) + f (3). 4. cette formule de quadrature a degré de précision au moins 2. 1. 0 x 4 dx = 592 = 1024 3 et tandis que 3 3 donc la formule est exacte pour les polynômes de degré au plus 3. Quadrature Jeudi 5 juin 2014 Exercice 3. 0 3.12. f (2) = α + 2β + 4γ. On cherche alors les coefficients α. en déduire une formule de quadrature pour l’intégrale Z x4i +4 f (x) dx. q = x 4i = a + 4i h.e. 4]) et p le polynôme de L AGRANGE qui interpole f aux points 1. En déduire une méthode de quadrature pour approcher l’intégrale 4 Z f (t ) dt . β = − 25 f (1) + 4 f (2) − 32 f (3) et γ = 12 f (1) − f (2) + 12 f (3). . Soit f une fonction de classe C 1 ([0.12 Interpolation et Intégration 1. R4 8×(1)4 −4×(2)4 +8×(3)4 Enfin.   f (3) = α + 3β + 9γ. x 4i 5. 2. donc le polynôme interpolateur de L AGRANGE est un polynôme de R2 [x].

4n − 1. Écrire une formule de TAYLOR f (x) = P i (x) + R i (x) à l’ordre 3 pour f en x. h = b−a 4n = x j +1 − x j pour j = 0. (3. en déduire une formule de quadrature exacte sur l’espace des polynôme de degré au plus 3 pour l’intégrale suivante : Z x2i +2 f (x) dx. =0 Le but de l’exercice est de trouver une formule de quadrature à 2n + 1 points basée sur la formule de S IMPSON pour approcher Z b f (x) dx.Jeudi 5 juin 2014 3. au moins 0 si β = 2(1 − α) Soit β = 2(1 − α) 0 au moins 1 2α 1 si α 6= 1/3. 1. x 4i +4 ] de largeur 4h. 2 6 −1 117 . On subdivise l’intervalle [a. au moins 2 si α = 1/3 Soit α = 1/3 0 au moins 3 2/3 3 Si β 6= 2(1 − α) la formule de quadrature n’est même pas exacte pour une constante. . avec P i ∈ P3 . On se donne les points {x i }ii =2n de subdivision de l’intervalle [a.8) ait degré de précision maximale. x 2i +2 = m + q. 3 i =0 Exercice 3. . 5.13 Soit f une fonction C ∞ (R.8) où les réels α et β sont à déterminer. On trouve ainsi la formule de quadrature composite b Z a f (x) dx = n−1 X Z x4i +4 i =0 x 4i f (x) dx ≈ X£ ¤ 4h n−1 2 f (a + (4i + 1)h) − f (a + (4i + 2)h) + 2 f (a + (4i + 3)h) . À l’aide d’un changement de variable affine. Faccanoni f (x) dx = x 2i +2 − x 2i 2 Z ( 1 Z f (mt + q) dt x 2i +2 −x 2i 2 avec x 2i = −m + q. . On a R1 k 0 p k (x) = x k 1 1 2 x x2 0 2/3 3 4 x3 x4 0 2/5 −1 p k (x) dx 2 αp k (−1) + βp k (0) + αp k (1) Degré d’exactitude 2α + β même pas 0 si β 6= 2(1 − α). Soit x un élément de [x i .7). x 2i 3. x i +1 ] en fonction de h. En déduire une formule de quadrature à 2n points. notée F . Déterminer α et β pour que la formule de quadrature (3. Soit x = mt + q. (3. Quadrature 5. si α = 1/3 et β = 4/3 la formule est exacte pour les polynômes de degré au plus 3. 2. 1. b] en n intervalles [x 4i . . 6. pour le calcul approché de (3. Majorer R i sur [x i .7) a On propose dans un premier temps (question 1 à 3) de construire la formule de quadrature à 3 points de Simpson : Z 1 −1 g (x) dx ≈ αg (−1) + βg (0) + αg (1). b] : x i = a+i h avec h = b−a 2n . alors Z x 2i +2 x 2i f (x) dx = m −1 d’où le changement de variable x = x 2i + (t + 1) polynôme de degré au plus 3) Z x 2i +2 x 2i © G. si β = 2(1 − α) mais α 6= 1/3. En déduire une estimation d’erreur entre (3. Cette formule de quadrature est-elle stable ? 4.7) et F . elle est exacte pour les polynômes de degré au plus 1. 2. On déduit la formule de quadrature (exacte sur l’espace des 1 ³ ¤ x 2i +2 − x 2i ´ x 2i +2 − x 2i £ f x 2i + (t + 1) dt ≈ f (x 2i ) + 4 f (x 2i +1 ) + f (x 2i +2 ) .13. R). . x i +1 ]. Écrire l’algorithme du calcul de F . C ORRECTION DE L’ EXERCICE 3.

e. = f (a + 2i h) + 4 f (a) + f (b) + 2 3 i =0 i =1 Cette formule de quadrature est stable puisque tous les coefficients sont positifs et on a # " n−1 n−1 X X h b−a b−a 1 = 1+4 1+1+2 6n = (b − a). b] équirépartie) alors on a # " n−1 n−1 X X X£ ¤ h h n−1 f (x 2i + h) f (x 2i ) + 4 f (x 2i ) + 4 f (x 2i +1 ) + f (x 2i +2 ) = f (a) + f (b) + 2 f (x) dx ≈ 3 i =0 3 i =0 i =1 # " n−1 n−1 X X h f (a + (2i + 1)h) .3.B. 12 ≤ nH Rx 1. On trouve ainsi la formule de quadrature composite (i. avec P i (x) = f (x 2i ) + (x − x 2i ) f 0 (x 2i ) + (x − x 2i )2 et le reste de L AGRANGE R i (x) = (x − x 2i )4 f I V (ξ) 24 f 00 (x 2i ) f 000 (x 2i ) + (x − x 2i )3 2 6 ∈ P3 avec ξ ∈]x 2i . Quadrature Jeudi 5 juin 2014 3. x 2i +2 et (x 2i + x 2i +2 )/2 donc x2i2i +2 P i (x) dx − F 6= 0. Soit x un élément de [x 2i . Une formule de TAYLOR à l’ordre 3 pour f en x s’écrit f (x) = P i (x) + R i (x). x 2i +2 ] en fonction de H = x 2i +2 − x 2i : |R i (x)| ≤ H4 b − a H3 max | f I V (ξ)| = max | f I V (ξ)|.e. Algorithme du calcul de F : Require: f : [a. [2 + 2(n − 1) + 4n] = 3 6n 6n i =0 i =1 4. N. a. 24 n 24 6. n > 0 H ← b−a n s1 ← 0 s 2 ← s 2 + f (a + H /2) for i = 1 to n − 1 do s 1 ← s 1 + f (a + i H ) s 2 ← s 2 + f (a + (i + 1)H /2) end for £ ¤ return I ← H6 f (a) + f (b) + 2s 1 + 4s 2 5. si on considère une subdivision de l’intervalle [a. 118 © G.7) et F suivante 1 ¯ ¯ ¯ ¯Z b ¯ ¯¯n−1 Z x ¯ ¯n−1 ¯ 2i +2 X Z x2i +2 ¯ ¯ ¯X ¯ ¯ ¯ ¯ f (x) dx − F ¯¯ ≤ ¯ P i (x) dx − F ¯ + ¯ R i (x) dx ¯ ¯ ¯ i =0 x2i ¯ ¯ i =0 x2i ¯ a ¯ ¯ Z ¯n−1 ¯ ¯ X x2i +2 ¯ ≤ nH |R i (x 2i +2 )| + ¯ R i (x) dx ¯ ¯ i =0 x2i ¯ b − a H3 b − a H3 max | f I V (ξ)| + nH max | f I V (ξ)| n 24 n 24 H4 = (b − a) sup | f I V (ξ)|. x 2i +2 [. On peut majorer R i sur [x 2i . x 2i +2 ]. : le polynôme P i n’est pas le polynôme d’interpolation en x 2i . 6 (i. b] → R. sur n sous-intervalles) Z b a x i +1 −x i 2 Si h = Z b a = b−a 2n f (x) dx = n−1 X Z x2i +2 i =0 x 2i f (x) dx ≈ n−1 X i =0 ¤ x 2i +2 − x 2i £ f (x 2i ) + 4 f (x 2i +1 ) + f (x 2i +2 ) . b > a. On en déduit l’estimation d’erreur entre (3. Faccanoni .

b] équirépartie) alors on trouve la formule de quadrature composite (i. À l’aide d’un changement de variable affine.Jeudi 5 juin 2014 3. Par le changement de variable y = x i + (x + 1) Z x i +1 xi x i +1 −x i 2 on déduit la formule de quadrature Z x i +1 − x i 1 ³ x i +1 − x i ´ f x i + (x + 1) dx 2 2 −1 · µ µ ¶ µ µ ¶¸ q ¶ q ¶ ³ x i +1 − x i x i +1 − x i x i +1 − x i ´ x i +1 − x i ≈ f x i + 1 − 12 + f xi + + f x i + 1 + 12 .10) où le réel 0 < α < 1 sera à déterminer par la suite.9) a On propose dans un premier temps de construire la formule de quadrature à trois points suivantes : Z 1 −1 g (x) dx ≈ ¢ 2¡ g (−α) + g (0) + g (α) . 3 (3. R). b] : x i = a +i h avec h = =0 Le but de l’exercice est de trouver une formule de quadrature à n points pour approcher l’intégrale définie Z b−a n . On se donne les points {x i }ii =n de subdivision de l’intervalle [a. étendre cette formule de quadrature pour l’intégrale suivante : Z xi +1 f (x) dx. b f (x) dx. sur n sous-intervalles et à 3n points) Z b a Xh H n−1 f 3 i =0 Xh H n−1 = f 3 i =0 f (x) dx ≈ ³ ³ ´´ ³ ³ ´´i ¡ ¢ x i + H 1 − p1 + f x i + H2 + f x i + H 1 + p1 2 ³ 2 ´´ ³ ³ ´´i ³ ¡ ¢ .14 Soit f une fonction C ∞ (R.e. Si H = x i +1 −x i = b−a n (i. pour le calcul approché de (3. En déduire une formule de quadrature à 3n points. a + H i + 1 − p1 + f x i + H2 + f a + H i + 1 + p1 2 2 Cette formule de quadrature est stable puisque tous les coefficients sont positifs.e. R). Quel est alors le degré de précision de cette formule de quadrature ? 2. (3. si α = 1/ 2 la formule est exacte pour les polynômes de degré au plus 3. (3. b] : x i = a +i h avec h = =0 Le but de l’exercice est de trouver une formule de quadrature à 3n points pour approcher l’intégrale Z b−a n . si on considère une subdivision de l’intervalle [a. 3 2 2 2 f (y) dy = 3. 2. Quadrature Exercice 3.14. Cette formule de quadrature est-elle stable ? C ORRECTION DE L’ EXERCICE 3.9).11) a © G. On a k 0 1 2 p k (x) = x k 1 x x2 3 4 x3 x4 R1 −1 p k (x) dx 2 3 (p k (−α) + βp k (0) + p k (α)) 2 0 2/3 2 0 2α2 /3 p Soit α = 1/ 2 0 1/3 0 2/5 Degré d’exactitude au moins 0 au moins 1 p p 1 si α 6= 1/ 2. Faccanoni 119 . Déterminer α pour que la formule de quadrature (3. On se donne les points {x i }ii =n de subdivision de l’intervalle [a.10) ait degré de précision maximale.15 Soit f une fonction C ∞ (R. b f (x) dx. notée F . au moins 2 si α = 1/ 2 au moins 3 3 p p Si α 6= 1/ 2 la formule de quadrature est exacte pour les polynômes de degré au plus 1. 1. Exercice 3. xi 3. 1.

À l’aide d’un changement de variable affine.12) soit exacte pour toute fonction g polynomiale de degré m > 1 et donner la plus grande valeur de m. Quadrature Jeudi 5 juin 2014 On propose dans un premier temps (question 1 à 2) de construire la formule de quadrature à deux points : Z 1 4 ³ w´ 2 + g (w). −1 120 © G.e. g (x) dx ≈ g − 3 2 3 −1 (3. k 0 1 2 p k (x) = x k 1 x x2 −1 p k (x) dx 2 3 2. pour le calcul approché de (3. en déduire une formule de quadrature pour l’intégrale suivante : Z xi +1 f (x) dx. au moins 2 si w = 2/3 p Soit w = 2/3 3 x3 0 w 3 /2 2 p p Si w 6= 2/3 la formule de quadrature est exacte pour les polynômes de degré au plus 1. si w = 2/3 la formule est exacte pour les polynômes de degré au plus 2. 2. si on considère une subdivision de l’intervalle [a. 4. On a R1 ¡ ¡ ¢ ¢ Degré d’exactitude 2p k − w2 + p k (w) 2 2 au moins 0 0 0 au moins 1 p p 2/3 w2 1 si w 6= 2/3.3. 1. Considérons la formule de quadrature Z 1 g (t ) dt ≈ ω1 g (−α) + ω2 g (0) + ω3 g (α). Par le changement de variable y = x i + (x + 1) Z x i +1 xi x i +1 −x i 2 on déduit la formule de quadrature Z x i +1 − x i 1 ³ x i +1 − x i ´ f x i + (x + 1) dx 2 2 −1 · µ ¶ µ ¶¸ q q x i +1 − x i x i +1 − x i x i +1 − x i ≈ f x i + (1 + 23 ) + 2 f x i + (1 − 16 ) . ω2 . Cette formule de quadrature est-elle stable ? 4. n > 0 . notée F .e. xi 3. b > a . 1.12) où 0 < w ≤ 1 est à déterminer. 3 i =0 3 6 f (x) dx ≈ Cette formule de quadrature est stable puisque tous les coefficients sont positifs. Si H = x i +1 −x i = b−a n (i. Faccanoni . sur n sous-intervalles et à 2n points) Z b a · µ µ µ µ q ¶¶ q ¶¶¸ X H n−1 f x i + H 1 + 23 + 2 f x i + H 1 − 16 3 i =0 " à à à à r !! r !!# X 2 1 H n−1 = f a +H i +1+ +2f a + H i +1− . f : [a. Algorithme du calcul de F : Require: a . C ORRECTION DE L’ EXERCICE 3.11). Écrire l’algorithme du calcul de F .16 Soit 0 < α ≤ 1 un nombre réel donné et soit ω1 .15. b] → R H ← b−a n p α1 ← a + H (1 + p2/3) α2 ← a + H (1 − 1/6) for i = 0 to n − 1 do s ← s + f (α1 + i H ) + 2 f (α2 + i H ) end for return I ← H3 s Exercice 3. ω3 trois nombres réels. Déterminer w pour que la formule de quadrature (3. b] équirépartie) alors on trouve la formule de quadrature composite (i. 3 2 2 f (y) dy = 3. En déduire une formule de quadrature à 2n points.

n. h = b−a n = x i +1 − x i pour i = 0.16. . 2. Soit h = b−a n et x i = a + i h pour i = 0. n. On a k p k (x) = x k 0 1 R1 −1 p k (x) dx ω1 p k (−α) + ω2 p k (0) + ω3 p k (α) 2 ω1 + ω2 + ω3 Soit ω2 = 2 − ω1 − ω3 x 1 −αω1 + αω3 0 Soit ω3 = ω1 et donc ω2 = 2 − 2ω1 x 2 2 3 2 Soit ω1 = 1 3α2 2α2 ω1 et donc ω3 = 1 3α2 et ω2 = 2 − 3α2 2 3 x3 0 0 4 4 2 5 2 2 3α x Soit α = q 3 5 et donc ω1 = ω3 = 5 9 et ω2 = 5 x5 0 0 6 x6 2 7 6 25 8 9 q Si α = 35 . On subdivise l’intervalle [a. Calculer α. . 1. . On déduit la formule de quadrature (exacte sur l’espace des 1 ³ x i +1 − x i ´ f x i + (t + 1) dt 2 −1 " Ã Ã ! Ã Ã !# r ! r ! ³x ´ x i +1 − x i 3 x i +1 − x i 3 x i +1 − x i i +1 + x i 5 f xi + 1 − +8f + 5 f xi + 1 + . ω1 = ω3 = 59 et ω2 = 89 alors la formule est exacte pour les polynômes de degré au plus 5 (il s’agit de la formule de G AUSS -L EGENDRE à 3 points). En déduire la formule de quadrature composite pour le calcul approché de b Z f (x) dx. 2. . ω3 pour que le degré de précision de la formule de quadrature soit de 5. . x i +1 ] de largeur h. Remarquons que si on choisit α = 1 on retrouve la formule de S IMPSON. . x i +1 = m + q. Faccanoni n−1 X Z xi +1 f (x) dx i =0 x i 121 . .Jeudi 5 juin 2014 3. On subdivise l’intervalle [a. ω2 . On trouve ainsi la formule de quadrature composite Z b a f (x) dx = © G. en déduire une formule de quadrature pour l’intégrale Z xi +1 f (x) dx. Soit x = mt + q. C ORRECTION DE L’ EXERCICE 3. b] en n intervalles [x i . xi 3. ≈ 18 5 2 2 5 2 f (x) dx = x i +1 − x i 2 ( 1 Z 3. . ω1 . . b] en n intervalles [x i . a 4. alors Z x i +1 f (x) dx = m xi Z −1 d’où le changement de variable x = x i + (t + 1) polynôme de degré au plus 5) x i +1 Z xi f (mt + q) dt x i +1 −x i 2 avec x i = −m + q. À l’aide d’un changement de variable affine. Quadrature 1. Écrire l’algorithme associé à cette formule de quadrature. x i +1 ] de largeur h.

R). On a deux points d’interpolation. 2. 2 2 Par construction. 1. 18 i =0 5 2 5 n−1 X 4. cette formule de quadrature a degré de précision au moins 1. b] → R h ← b−a n ¡ p ¢ c 1 ← a + 1 − 3/5 h c 2 ← a + 12 h p ¡ ¢ c 3 ← a + 1 + 3/5 h s ←0 for i = 0 to n − 1 do s ← s + 5 f (c 1 + i h) + 8 f (c 2 + i h) + 5 f (c 3 + i h) end for h s return 18 Exercice 3. f (1) = p(1) = α + β. a 1.17. Le but de l’exercice est de trouver une formule de quadrature composite pour approcher b Z f (x) dx. f : [a. Soit f (x) = x 2 . On obtient α = f (0) et β = f (1) − f (0). On se donne les points {x i }ii =n de subdivision uniforme de l’intervalle [a. xi 4. Faccanoni . À l’aide d’un changement de variable affine.3. On en déduit la méthode de quadrature Z 1 Z f (t ) dt ≈ 0 1 0 1 Z p(t ) dt = 0 α + βt dt = α + β f (0) + f (1) = . a Quelle méthode de quadrature reconnait-on ? C ORRECTION DE L’ EXERCICE 3. On cherche alors les coefficients α et β du polynôme p(x) = α + βx tels que ( f (0) = p(0) = α. n > 0 . Écrire le polynôme p qui interpole f aux points 0 et 1. b] définis par =0 x i = a + i h avec h = l’intégrale b−a n . En déduire une formule de quadrature basée sur l’approximation 1 Z 0 1 Z f (x) dx ≈ p(x) dx 0 et étudier le degré de précision de cette formule de quadrature. Quadrature Jeudi 5 juin 2014 " Ã Ã ! !# Ã Ã r ! r ! ³x ´ x i +1 − x i 3 x i +1 − x i 3 x i +1 − x i i +1 + x i ≈ 5 f xi + 1 − +8f + 5 f xi + 1 + 18 5 2 2 5 2 i =0 " Ã Ã Ã Ã r ! ! r ! !# µ ¶ n−1 3 h 3 h X 5 f xi + 1 − h + 8 f xi + + 5 f xi + 1 + h = 18 i =0 5 2 5 " Ã Ã Ã Ã r ! ! r ! !# µ µ ¶ ¶ X h n−1 1 3 3 = 5f a + i +1− h +8f a + i + h +5f a + i +1+ h . donc le polynôme d’interpolation est un polynôme de R1 [x]. en déduire une formule de quadrature pour l’intégrale Z xi +1 f (x) dx. proposer une formule de quadrature composite pour le calcul approché de l’intégrale Z b f (x) dx. b > a . 2. © G. Algorithme du calcul associé à cette formule de quadrature Require: a .17 Interpolation et quadratures Soit f une fonction C ∞ (R. alors tandis que 122 f (0)+ f (1) 2 R1 0 f (x) dx = 1/3 = 1/2 : la formule est exacte pour les polynômes de degré au plus 1. 3. En utilisant le résultat au point précédent.

x i +1 = m + q. = f (a) + f (b) + 2 f (a) + f (b) + 2 2 2 i =1 i =1 Il s’agit de la méthode des trapèzes composite. n. On trouve ainsi X£ ¤ f (x i ) + f (x i +1 ) h n−1 = f (x i ) + f (x i +1 ) 2 2 i =0 # # " " n−1 n−1 X X h h f (x i ) = f (a + i h) . © G.13b)−(3. On en déduit la formule de quadrature (exacte sur l’espace des polynôme de degré au plus 1) x i +1 Z f (x) dx = (x i +1 − x i ) xi 1 Z f x i + (x i +1 − x i )t dt ≈ (x i +1 − x i ) 0 4. 2. À l’aide d’un changement de variable affine. En utilisant le résultat au point précédent.13b) La somme des équations (3. Soit x = mt + q.13b)+(3. Soit p le polynôme de L AGRANGE qui interpole f aux points −1 et 1. a Quelle méthode de quadrature reconnait-on ? C ORRECTION DE L’ EXERCICE 3. Faccanoni R1 −1 f (x) dx = 2/3 123 . en déduire une formule de quadrature pour l’intégrale Z xi +1 f (x) dx. proposer une formule de quadrature composite pour le calcul approché de l’intégrale Z b f (x) dx. . . Par construction. a 1. alors x i +1 Z f (x) dx = m xi ( 1 Z f (mt + q) dt 0 avec x i = q. donc le polynôme interpolateur de L AGRANGE est un polynôme de R1 [x].18. (3. b] en n intervalles [x i . On a deux points d’interpolation. cette formule de quadrature a degré de précision au moins 1.13a) donne f (1)− f (−1) . x i +1 ] de largeur h = la formule de quadrature composite Z b a f (x) dx = n−1 X Z xi +1 i =0 x i f (x) dx ≈ n−1 X (x i +1 − x i ) i =0 b−a n = f (x i ) + f (x i +1 ) .18 Interpolation de L AGRANGE et quadratures Soit f une fonction C ∞ (R. .Jeudi 5 juin 2014 3. Exercice 3. R). Quadrature 3. en déduire une formule de quadrature basée sur l’approximation Z 1 −1 Z f (x) dx ≈ 1 p(x) dx −1 et étudier le degré de précision de cette formule de quadrature. Le but de l’exercice est de trouver une formule de quadrature composite pour approcher Z b f (x) dx. (3. On se donne les points {x i }ii =n de subdivision uniforme de l’intervalle [a. b] définis par =0 x i = a + i h avec h = l’intégrale b−a n . . xi 3.13a) f (1) = p(1) = α + β. Écrire le polynôme p. alors tandis que f (−1) + f (1) = 2 : la formule est exacte pour les polynômes de degré au plus 1. Soit f (x) = x 2 . 1. 2 x i +1 −x i 2 pour i = 0. On en déduit la méthode de quadrature 2 Z 1 −1 Z f (t ) dt ≈ 1 −1 Z p(t ) dt = 1 −1 α + βt dt = 2α = f (−1) + f (1).13a) donne α = β= f (1)+ f (−1) 2 et la soustraction des équations (3. On cherche alors les coefficients α et β du polynôme p(x) = α + βx tels que ½ f (−1) = p(−1) = α − β. On subdivise l’intervalle [a. d’où le changement de variable x = x i + (x i +1 − x i )t .

124 © G. 3 Remarque : la formule est au moins exacte de degré 3 par construction. 1. b] quelconque par le changement de 2 variable y = a + (x + 1) b−a 2 qui donne µ ¶ Z b Z b−a 1 b−a f (y)dy = f a + (x + 1) dx 2 2 a −1 b−a b−a 0 0 2. f x i + (t + 1) 2 2 2 xi −1 3. p 0 (1) = f 0 (1). Écrire le polynôme p. −x d’où le changement de variable x = x i + (t + 1) i +12 i . Connaissant la formule sur [−1. En déduire la méthode d’intégration numérique élémentaire Z 1 −1 f (s) ds ≈ f (−1) + f (1) + ¢ 1¡ 0 f (−1) − f 0 (1) . C ORRECTION DE L’ EXERCICE 3. alors Z x i +1 xi f (x) dx = m ( 1 Z −1 x f (mt + q) dt avec x i = −m + q. 1]. On trouve X£ ¤ h n−1 ¤ x i +1 − x i £ f (x i ) + f (x i +1 ) = f (x i ) + f (x i +1 ) 2 2 i =0 # # " " n−1 n−1 X X h h f (x i ) = f (a + i h) . 2. . f (a) + f (b) + 2 f (a) + f (b) + 2 = 2 2 i =1 i =1 Il s’agit de la méthode des trapèzes composite. p(−1) = f (−1). 2. Rappel : si y = a + (x + 1) b−a 2 alors dy = 2 dx et f (y) = 2 f (x). On en déduit la formule de quadrature (exacte sur l’espace des polynôme de degré au plus 1) Z xi +1 Z ¤ x i +1 − x i 1 ³ x i +1 − x i £ x i +1 − x i ´ f (x) dx = dt ≈ f (x i ) + f (x i +1 ) . b] par exemple grâce au changement de variable y = a + (x + 1) b−a 2 . 1. 1]) et p le polynôme interpolateur d’H ERMITE (de degré ≤ 3) de f vérifiant p 0 (−1) = f 0 (−1). . Soit x = mt + q. On subdivise l’intervalle [a. n − 1. exercice 2. x i +1 ] de largeur h = ainsi la formule de quadrature composite Z b a f (x) dx = n−1 X Z xi +1 i =0 x i f (x) dx ≈ n−1 X i =0 b−a n = x i +1 − x i pour i = 0. Quadrature Jeudi 5 juin 2014 2. 3 3. Elle n’est pas exacte de degré supérieure à 3 car si f (x) = x 4 alors · ¸ Z 1 1 5 1 2 6 f (x) dx = x = = 5 5 15 −1 −1 6= 1 0 1 14 70 f (−1) + f (1) + ( f (−1) − f 0 (1)) = 1 + 1 + (4 + 4) = = 3 3 3 15 3.3. . Faccanoni . b] en n intervalles [x i .19.19 Interpolation d’H ERMITE et quadratures Soit f une fonction de classe C 1 ([−1. . Cf. Exercice 3. 1]. on en déduit la formule sur un intervalle [a. Connaissant la formule sur [−1. en déduire la formule de quadrature des trapèzes-H ERMITE sur l’intervalle [a. En intégrant le polynôme ainsi trouvé on en déduit · ¸ Z 1 β 2 γ 3 δ 4 1 p(x) dx = αx + x + x + x 2 3 4 −1 −1 2 2 f (−1) + 2 f (1) + f 0 (−1) − f 0 (1) − f 0 (−1) + f 0 (1) = 2α + γ = + 3 2 6 6 f (−1) + 6 f (1) + 3 f 0 (−1) − 3 f 0 (1) − f 0 (−1) + f 0 (1) = 6 1 0 = f (−1) + f (1) + ( f (−1) − f 0 (1)). x i +1 = m + q.13. p(1) = f (1).

on se ramène à l’intervalle [0.20 Soit f une fonction C ∞ ([0. b et c la formule de quadrature Q( f ) Q( f ) = n X αi f (x i ) + n−1 X βi f (m i ) i =0 i =0 pour le calcul approché de 3. C ORRECTION DE L’ EXERCICE 3. 1]. x i +1 ] et y un élément de l’intervalle [0. 1] par de variable R1 R le changement R xi +1affine y = x−x i xi x−x i 1 1 x i +1 f ( f (t ) dt ≈ x − . Soit x un élément de l’intervalle [x i . | f (x) − p(x)| ≤ k supξ∈[y 1 .     c = Ch tels que 1 Z 0 p(x) dx = Ap(0) + B p(M ) +C p(1). En déduire en fonction de a. 2. On transforme l’intervalle [x i . b. x i +1 ]. x i +1 ] dans l’intervalle [0. on a l’estimation d’erreur ∀x ∈ [y 1 .14) et Q 1 Z E (h) = 0 f (x) dx −Q( f ). 1].14 construite sur la formule de quadrature précédente pour chaque intervalle du type [x i . On note alors A = ha .14) 0 1. On note h = x − x . j =1 En déduire une estimation de l’erreur de quadrature entre (3. Alors y = et on a f (y) dy = )d x. (3. C = hc . soit exacte pour p un polynôme de degré le plus haut possible : Z x i +1 xi p(x) dx = ap(x i ) + bp(m i ) + c p(x i +1 ). x i +1 ] et a. Si p ∈ P3 (i. c et m i revient à chercher A. On se donne les points {x i }ii =n de subdivision de l’intervalle [0.  b = Bh. M = m i −x i h d’où m i = (1 − M )x i + M x i +1 . C et M avec   m i = (1 − M )x i + M x i +1 . 2 12 Exercice 3. où p(x) est un polynôme. On rappelle que si p interpole f en k points y 1 < y 2 < · · · < y k . Rechercher a. y k ]. 1. Trouver m i un point du segment [x i . Cette formule de quadrature est-elle stable ? 3. si p(x) = d 0 + d 1 x + d 2 x 2 + d 3 x 3 ) on a © G. Soit i un entier fixé (1 ≤ i ≤ n − 1).    a = Ah. b et c trois coefficients réels tels que la formule de quadrature suivante.Jeudi 5 juin 2014 3. Faccanoni 125 . x i +1 ]. alors 0 f (y) dy = h xi f ( h ) dx ≈ h a f (0) + b f ( h ) + c f (1) . Pour simplifier le calcul. La dépendance en h dans cette estimation d’erreur est-elle optimale ? 4. Comme i +1 i 0 xi x i +1 −x i x i +1 −x i h h xi h ¡ ¢ R1 R x−x i m i −x i 1 x i +1 1 a f (x i ) + b f (m i ) + c f (x i +1 ).e. R). B = hb . Écrire l’algorithme qui calcule Q( f ). Quadrature = · ¸ b−a 0 b−a f (a) + f (b) + ( f (a) − f 0 (b)) 2 6 = b−a (b − a)2 0 ( f (a) + f (b)) + ( f (a) − f 0 (b)). 1] : x i = i h avec h = n1 .y k ] | f (k) (ξ)| Y k! (x − y j ). B . =0 Le but de l’exercice est de trouver une formule de quadrature pour approcher 1 Z f (x) dx. 1]. sur l’intervalle [x i .20.

.3.    a = 1 h.    c = 16 h 2. 3 ⇐⇒ 1  C =  6. 6 2  b = 3 h. . pour que la formule soit exacte de degré au moins 3 il faut que    A + B +C = 1   B M +C = 1 2 B M 2 +C = 1  3    B M 3 +C = 41 La méthode    A + B +C = 1   B M = 1 −C 2 ⇐⇒ ( 1 −C )M = 1 −C  2 3    1 ( 3 −C )M = 14 −C 1 Z 0 f (x) dx =  1  A = 6 . 3 ( αi = h 3 h 6 si i = 1.   B = 2 . 6 3 2 6 6 3 2 6 24 donc la formule de quadrature est exacte de degré 3. Quadrature Jeudi 5 juin 2014 R1 p(x) dx Ap(0) + B p(M ) +C p(1) = 0 k h k d 0 x + d21 x 2 + d32 x 3 + d43 x 4 i1 Ad 0 + B d 0 +C d 0 0 k d0 + d1 2 + k d2 3 + d3 4 (A + B +C )d 0 + (B M +C )d 1 + (B M 2 +C )d 2 + (B M 3 +C )d 3 Par conséquent. Faccanoni . Si on revient aux variables initiales. On a · 5 ¸1 Z 1 1 x = f (x) dx = 5 0 5 0 mais µ ¶ µ ¶ 1 2 1 1 1 2 1 4 1 5 f (0) + f + f (1) = + + = . µ ¶ 1 1 2 1 + f (1).    M = 21 . n − 1. on trouve   m i = 12 x i + 12 x i +1 . Soit maintenant f (x) = x 4 . sinon. L’intégrale 1 Z 0 f (x)dx = n−1 X Z xi +1 f (x) dx i =0 x i peut être calculée numériquement en utilisant la formule précédente pour approcher chaque intégrale Z x i +1 xi f (x) dx ≈ ³x +x ´ i hh i i +1 f (x i ) + 4 f + f (x i +1 ) . 6 2 On obtient ainsi 1 Z 0 f (x)dx = n−1 X Z xi +1 f (x) dx i =0 x i n−1 X ³x +x ´ i hh i i +1 f (x i ) + 4 f + f (x i +1 ) 2 i =0 6 " # n−1 n−1 X X X ³ x i + x i +1 ´ h n−1 = f (x i ) + f (x i +1 ) + 4 f 6 i =0 2 i =0 i =0 " # n−1 n−1 X X ³ x i + x i +1 ´ h f (x i ) + 4 f = f (a) + f (b) + 2 6 2 i =1 i =0 ≈ = n X i =0 126 αi f (x i ) + n−1 X i =0 βi f (m i ) = Q( f ) 2h avec βi = . © G. . f (0) + f 6 3 2 6 est exacte pour tout polynôme de degré au moins 3. .

4. Faccanoni µ n− 21 n ¶ 127 .Jeudi 5 juin 2014 3. Algorithme Require: x 7→ f Require: n > 0 1 a ← 6n 2 b ← 3n 1 c ← 6n I ← a f (0) for i = 1 to n − 1 do µ 1¶ ¡ ¢ i− I ← I + (a + c) f ni + b f n 2 end for return I ← I + c f (1) + b f © G. f (x i +1 )).14) et Q est ¯Z 1 ¯ ¯ ¯ |E (h)| = ¯¯ f (x) dx −Q( f )¯¯ ¯ ¯ 0 Z ¯ ¯n−1 n−1 X Z xi +1 ¯ ¯ X xi +1 p(x)dx ¯ =¯ f (x) dx − ¯ ¯ i =0 xi x i i =0 Z n−1 x i +1 ¯ X ¯ ¯ f (x) − p(x)¯ dx ≤ i =0 x i ≤ n−1 X Z xi +1 i =0 x i 4 000 supξ∈[xi . f (m i )) et (x i +1 . (m i . Quadrature Cette formule de quadrature est stable puisque tous les coefficients αi et βi sont positifs et on a à ! n−1 n X X X h h n−1 X 2h 1 1 1 n−1 X X h n−1 1 2 n−1 βi = + αi + 1+ + 1 = 1. Par conséquent l’erreur de quadrature entre (3. On reconnait la formule de Cavalieri-Simpson : remarquons alors que Q( f ) = n−1 p(x)dx avec p le polynôme i =0 x i qui interpole (x i .xi +1 ] | f (ξ)| 6 (x − x i )(x − m i )(x − x i +1 )dx ≤ Dh . f (x i )). + + = + 6 i =1 3 6 i =0 3 n 6 3 i =1 6 3 i =0 i =0 i =0 R xi +1 P 3.

.

Par exemple. les inconnues sont des fonctions. On considère enfin un terme indépendant de la taille et du temps (par exemple. y 00 . Équations différentielles ordinaires Calculer la fonction t 7→ y(t ) qui vérifie l’EDO y 0 (t ) = ϕ(t . on dit que l’équation en question est homogène. y (n) ) = g (t ) dont l’inconnue est une fonction y : I ⊂ R → R définie sur un intervalle I (à déterminer) dans laquelle cohabitent à la fois y et ses dérivées y 0 . on parle d’équation différentielle ordinaire. . 4. ce terme représente les 129 . 4. on doit imposer une condition supplémentaire qui correspond à la valeur prise par la solution en un point de l’intervalle d’intégration. . y(t )) et la condition y(t 0 ) = y 0 Les équations différentielles décrivent l’évolution de nombreux phénomènes dans des domaines variés.4. Position du problème Résoudre une équation c’est chercher toutes les valeurs de l’inconnue qui satisfont l’égalité. c’est chercher toutes les fonctions. . Une équation mettant en jeu des dérivées partielles est appelée équation aux dérivées partielles. le taux de décès est proportionnel au nombre d’individu au carré (par surpopulation. définies sur un intervalle I ⊂ R. Dans les équations différentielles. ? ? Nous pouvons nous limiter aux équations différentielles du premier ordre. y 00 . Pour en sélectionner quelques unes (parfois juste une). si cette EDO modélise l’élevage de saumons. car une équation d’ordre p > 1 peut toujours se ramener à un système de p équations d’ordre 1. Si la fonction g . En pratique. Exemple Évolution d’une population-1 Soit N le nombre d’individu d’une population à l’instant t . Exemple Résoudre l’équation différentielle y 0 (t ) = −y(t ) signifie chercher toutes les fonctions y: I ⊂R→R t 7→ y = f (t ) telles que f 0 (t ) = − f (t ) pour tout t ∈ I . .1. .2. Une équation différentielle est une équation impliquant une ou plusieurs dérivées d’une fonction inconnue. Dans les équations rencontrées jusqu’à présent. résoudre l’équation 2x + 4 = 10 signifie chercher toutes les valeurs de x ∈ R telles que 2x + 4 = 10. On peut vérifier que y(t ) = 0 pour tout t ∈ R est une solution de l’EDO mais aussi y(t ) = ce −c t pour tout t ∈ R (où c est constante réelle quelconque). . est nulle. se donner une CI revient à se donner le point (t 0 . qui satisfont l’équation (on dit aussi intégrer l’équation différentielle). dus par exemple au manque de nourriture).1. 4. les inconnues étaient des nombres. Condition initiale Une EDO admet généralement une infinité de solutions..1.y (p) (p est appelé l’ordre de l’équation). La population N a un taux de naissance saisonnier . . Résoudre une équation différentielle. Si toutes les dérivées sont prises par rapport à une seule variable. Généralités Une équation différentielle (EDO) est une équation exprimée sous la forme d’une relation F (y. Définition Condition initiale Une condition initiale (CI) est une relation du type y(t 0 ) = y 0 qui impose en t 0 la valeur y 0 de la fonction inconnue. y 0 ) par lequel doit passer le graphe de la fonction solution. y 0 .1. appelée «second membre» de l’équation.

y). y) au vecteur Vt . y) est un point du graphe de f . Équations différentielles ordinaires saumons péchés). Remarquer qu’on n’a pas besoin d’avoir résolu l’équation (analytiquement) pour pouvoir dessiner le champ de tangentes. Représentation graphique On va expliquer comment tracer l’allure des solutions d’une EDO du type y 0 = ϕ(t . Si on démarre l’élevage avec 6 saumons. ∀t > 0. 6) et si on suit cette solution on peut prédire par exemple le nombre d’individu de la population dans dix ans : la courbe tracée en jaune donne N (10) ≈ 5.1. y). Dessinons alors. y) : le graphe de f est tangent en chaque point (t .1) y(t 0 ) = y 0 .y de pente ϕ(t . 130 y 0 (t ) = −3(α + 1/3)e −3t + 1 = −3(α + 1/3)e −3t + 1 − 3t + 3t = −3y(t ) + 3t . Faccanoni .4. y) a pour pente ϕ(t . on voit qu’une et une seule courbe passe par le point (0. (4.3. définie sur R. Soit y = f (t ) la fonction inconnue solution de cette EDO. 6 5 4 N(t) 3 2 0 2 4 6 8 10 12 t 4. On appelle problème de C AUCHY le problème trouver une fonction y : I ⊂ R → R définie sur un intervalle I telle que ( y 0 (t ) = ϕ(t .5. trouver la ou les solutions qui vérifient une CI 4. ∀t ∈ I . y(0) = α. intervalle de vie et solution maximale Le couple EDO-CI porte le nom de problème de C AUCHY : Définition Problème de C AUCHY Soit ϕ : R × R → R une fonction donnée et y 0 la dérivée de y par rapport à t . Sa solution. est donnée par y(t ) = (α + 1/3)e −3t + t − 1/3. Exemple Évolution d’une population-2 Considérons à nouveau l’exemple de l’évolution d’une population traçons l’allure des solutions. 2 On aura donc deux types de questions : 1. Théorème d’existence et unicité. avec t 0 un point de I et y 0 une valeur donnée. © G. trouver toutes les solutions de l’EDO . 2. en (presque) chaque point (t . On cherche une fonction y : t ∈ R+ 7→ y(t ) ∈ R qui satisfait ( y 0 (t ) = 3t − 3y(t ). Si (t . En effet on a bien y(0) = (α + 1/3)e 0 + 0 − 1/3 = α. y(t )).Jeudi 5 juin 2014 4.y . Exemple Existence et unicité sur R de la solution d’un problème de C AUCHY On se donne ϕ(t . On a alors l’équation différentielle 1 N 0 = (2 − cos(t ))N − N 2 − 1.1. y) du plan un vecteur Vt . cette égalité dit que la tangente au graphe de f au point (t . et ceci permet parfois d’avoir une idée du comportement des solutions. y(t )) = 3t − 3y(t ) et y 0 = α (un nombre quelconque).

On vérifie que la solution y est donnée par y(t ) = p 1 1−2t qui n’est définie que pour t ∈ [0. sous certaines hypothèses très générales.. doit être défini en tenant compte de toutes les possibilités d’accès. de la gauche et de la droite) perdent leur sens et sont remplacées par les nombreuses limites directionnelles possibles. Une solution définie sur cet intervalle le plus grand possible s’appelle solution maximale. Les fonctions élémentaires telles que les polynômes. y(0) = 1. y) ? définie pour tout t dans un intervalle I et pour tout y dans un intervalle J ? de classe C 1 alors pour toute CI y(t 0 ) = y 0 avec t 0 ∈ I et y 0 ∈ J il existe une unique solution maximale y = y(t ) de l’EDO y 0 (t ) = ϕ(t . Faccanoni 131 . p On vérifie que les fonctions y 1 (t ) = 0 et y 2. y(t )) = (y(t ))3 et y 0 = 1. Définition Solution maximale On se donne une équation différentielle y 0 (t ) = ϕ(t .3 (t ) = ± 8t 3 /27. les chemins qui mènent à un point donné peuvent suivre divers axes. Les limites unilatérales (i. et qui soit «le plus grand possible» : il n’existe pas d’intervalle plus grand sur lequel l’équation différentielle ait une solution. De façon générale. Ainsi. contenant t 0 . pour tout t ≥ 0. On cherche une fonction y : t ∈ R+ 7→ y(t ) ∈ R qui satisfait ( y 0 (t ) = (y(t ))3 . On parle d’explosion de la solution en t →(1/2) temps fini ou encore de barrière. En effet. Exemple Non unicitépde la solution d’un problème de C AUCHY On se donne ϕ(t . l’ensemble des points en lesquels une limite peut être considérée. Cet exemple montre qu’un problème de C AUCHY n’a pas nécessairement de solution unique. telle que ? f est solution de l’équation différentielle et vérifie la condition initiale . On verra que ceci est un phénomène général : pour une solution d’une EDO. Cet intervalle s’appelle intervalle de vie de la solution. vérifiant la même condition initiale et définie sur un intervalle J contenant I et plus grand que I . Les fonctions continues de plusieurs variables jouissent des mêmes propriétés que les fonctions continues d’une seule variable. de fonctions © G.e. y(t )). Les choses ne se passent pas toujours si bien. Les exemples ci-dessous montrent que l’étude mathématique de l’existence et de l’unicité des solutions d’un problème de C AUCHY peut être une affaire délicate.Jeudi 5 juin 2014 4. les fonctions exponentielles. Attention La fonction ϕ est une fonction de deux variables donc vérifier que ϕ. Il y a un résultat qui garantit que. y(0) = 0. Le théorème garantit aussi l’existence des solutions . produit. Cet exemple montre qu’un problème de C AUCHY n’a pas toujours une solution pour tout t ∈ [0. ∀t > 0. 1/2[. ∀t > 0. il faut d’abord définir la notion de solution maximale. nous nous contentons de rappeler un résultat d’existence et d’unicité global. Théorème de C AUCHY-L IPSCHITZ. ? il n’existe pas de solution f˜ de la même équation. sur lequel une solution existe. le quotient (lorsque le dénominateur ne s’annule pas) etc. définie sur un intervalle I appelé intervalle de vie. La continuité des autres fonctions s’établit. y) 7→ ϕ(x. logarithmiques et trigonométriques sont continues dans leurs domaines de définition respectifs. y(t )) = 3 y(t ) et y 0 = 0. deux graphes de fonctions qui sont des solutions de la même EDO ne se rencontrent jamais. y(t )) avec une condition initiale y(t 0 ) = y 0 . la seule façon de ne pas être définie sur R est d’avoir un asymptote verticale. sont toutes les trois solution du problème de C AUCHY donné. ∂t ϕ et ∂ y ϕ sont continues signifie utiliser la notion de limite en deux variables. au sens où on peut intégrer le problème de C AUCHY jusqu’à t = ∞. On cherche une fonction y : t ∈ R+ 7→ y(t ) ∈ R qui satisfait ( y 0 (t ) = p 3 y(t ). Exemple Existence et unicité sur I ⊂ R (mais non existence sur R) de la solution d’un problème de C AUCHY On se donne ϕ(t . Existence et unicité des solutions Considérons une fonction (x. +∞[ puisqu’ici la solution explose lorsque t tend vars la valeur 1/2 (en effet. dès que le domaine se situe dans un espace à deux dimensions au moins. en tant que somme. lorsqu’on se donne une équation différentielle et une condition initiale y(t 0 ) = y 0 . on cherche un intervalle I . Dans ce chapitre. nous avons lim − y(t ) = +∞) : le graphe de la solution a une asymptote verticale en t = 1/2. Une solution maximale pour ce problème est une fonction y = f (t ). le cas échéant. Équations différentielles ordinaires Cet exemple montre le cas où il existe une et une seule solution du problème de C AUCHY définie sur R. composée. pour donner un énoncé précis.

2.e. Le principe des méthodes numériques est de subdiviser l’intervalle I = [t 0 . t →b− On utilise souvent le théorème sous forme contraposée : si les solutions ne peuvent pas «exploser». ? si l’EDO admet deux solutions constantes y(t ) = κ1 et y(t ) = κ2 pour tout t ∈ I et y 0 ∈]κ1 . Voici quelques exemples : 1.1. Les schémas qu’on va construire permettent de calculer u n+1 à partir de u n et il est donc possible de calculer successivement u 1 . alors elles sont définies sur R. . Faccanoni .Jeudi 5 juin 2014 4. Si nous intégrons l’EDO y 0 (t ) = ϕ(t . 1. . y) = x 2 + y 2 − x y + y est continue dans R2 (polynôme du second degré à deux variables). alors la solution du problème de C AUCHY vérifie y(t ) ∈]κ1 . ϕ(x. ¯ exponentielle © ª 3. L’ensemble des valeurs © u 0 = y 0 .1) et supposons que l’on ait montré l’existence d’une solution y. b[. . Même chose si a 6= −∞. u n+1 = u n + hϕ(t n . y(t ))d t . Z t n+1 tn ϕ(t .. 4. ∀n ∈ N. alors la solution du problème de C AUCHY est du signe de y 0 pour tout t ∈ I . u n+1 = ϕ(u n ). on cherche des méthodes numériques capables d’approcher la solution de toutes les équations différentielles qui admettent une solution. en partant de u 0 par une formule de récurrence de la forme ( u0 = y 0 . .2. le graphe de la solution a une asymptote verticale en t = b. u Nh représente la solution numérique. Schémas numériques classiques On peut construire différentes schémas selon la formule de quadrature utilisée pour approcher le membre de droite. Dans certains cas. Nh − 1 Il s’agit d’un schéma explicite car il permet d’expliciter u n+1 en fonction de u n . Pour ces raisons. Considérons le problème de C AUCHY (4. y. 2. κ2 [. u 1 . . Dans d’autres cas.. on ne peut expliciter les solutions que pour des équations différentielles ordinaires très particulières.2. Équations différentielles ordinaires continues. ϕ(x. y(t ))d t ≈ hϕ(t n . u 2 . y(t n )) on obtient le schéma d’E ULER progressif ( u 0 = y(t 0 ) = y 0 . en garantissant que les graphes des solutions ne se rencontrent jamais. . en Nh intervalles de longueur h = (T −t 0 )/Nh = t n+1 − t n . cet énoncé nous aidera à faire des dessins. 132 © G. 4. Si b 6= +∞ alors lim y(t ) = ∞. κ2 [ pour tout t ∈ R. i. Pour chaque nœud tªn = t 0 + nh (1 ≤ n ≤ Nh ) on cherche la valeur inconnue u n qui approche y(t n ). on ne parvient même pas à représenter la solution sous forme implicite. Théorème Soit y = f (t ) une solution maximale définie sur un intervalle de vie I =]a. Remarque Applications du théorème de C AUCHY-L IPSCHITZ D’un point de vue pratique. On peut en déduire quelques remarques plus subtiles : ? si l’EDO admet comme solution la solution nulle mais y 0 6= 0. h est appelé le pas de discrétisation. . avec T < +∞. Schémas numériques En pratique.e. y(t )) entre t n et t n+1 nous obtenons Z y(t n+1 ) − y(t n ) = t n+1 tn ϕ(t . y) = ln(x + y 2 ) − 3 est continue dans (x. . i. ? Si on utilise la formule de quadrature du rectangle à gauche. on ne peut exprimer la solution que sous forme implicite. u n ) n = 0. z) = e y + x y 2 est continue dans R2 (somme d’une et d’un polynôme). . y) ∈ R2 ¯ x + y 2 > 0 comme somme du logarithme d’un polynôme (fonction composée) et d’une constante. ϕ(x. T ].

y(t ))d t ≈ ¢ h¡ ϕ(t n . 2. u 1 = u 0 + hϕ(t 0 . Si on utilise la formule de quadrature du point milieu sur l’intervalle [t n . u n ). ˜ 1) u 1 = y(t   u n+1 = u n−1 + 2hϕ(t n .   u n+1 = u n−1 + 2hϕ(t n . i. t n+2 ]. Équations différentielles ordinaires Si on utilise la formule de quadrature du rectangle à droite. y(t ))d t ≈ hϕ t n + . u 0 ). ? Si on utilise la formule de quadrature du point du milieu. . 2.e. u n+1/2 n = 0. . u n ) n = 0. u n+1 ) = u n n = 0. Nous avons construit ainsi un nouveau schéma appelé schéma d’E ULER modifié qui s’écrit    u 0 = y(t 0 ) = y 0 . y(t ))d t ≈ 2hϕ t n+1 . t n+1 Z tn ϕ(t . . Si on utilise la formule du trapèze. i. Nh − 1 où u n+1/2 est une approximation de y(t n + h/2). . u˜ n+1/2 = u n + (h/2)ϕ(t n . u n+1 ) = u n + h2 ϕ(t n . .Jeudi 5 juin 2014 ? 4. 2. Z t n+1 tn ϕ(t . ³ ´   h u ˜ n+1/2 n = 0. 2.e. Nous pouvons utiliser une prédiction d’E ULER progressive pour approcher le u n+1/2 dans le terme ϕ(t n + h/2. . 2. y t n + 2 2 µ on obtient un nouveau schéma : ( u 0 = y(t 0 ) = y 0 . . ce schéma fait la moyenne des schémas d’E ULER progressif et rétrograde. u n+1/2 ) par u˜ n+1/2 = u n + (h/2)ϕ(t n . Nh − 1 n+1 = u n + hϕ t n + 2 . u n ) n = 1. 1. .e. Z t n+2 tn ¡ ¢ ϕ(t . Z t n+1 tn ¶¶ µ h h ϕ(t . Faccanoni 133 . Nh − 1 ? Il s’agit d’un schéma explicite car il permet d’expliciter u n+1 en fonction de u n et de u n−1 . y(t n+1 )) 2 on obtient le schéma du trapèze ou de C RANK -N ICOLSON ( u 0 = y(t 0 ) = y 0 . Nh − 1 où u 1 est une approximation de y(t 1 ). u n+1 − hϕ(t n+1 . . Nh − 1 Il s’agit à nouveau d’un schéma implicite car il ne permet pas d’expliciter directement u n+1 en fonction de u n lorsque la fonction f n’est pas triviale. . Nous pouvons utiliser une prédiction d’E ULER progressive pour approcher u 1 . . y(t n+1 )) on obtient le schéma d’E ULER rétrograde ( u 0 = y(t 0 ) = y 0 . u n ). i. u Il s’agit d’un schéma explicite car il permet d’expliciter u n+1 en fonction de u n . u n+1 − h2 ϕ(t n+1 . y(t ))d t ≈ hϕ(t n+1 . y(t n+1 ) on obtient   u 0 = y(t 0 ) = y 0 . . . u n ) n = 1. i. ³ ´ u n+1 = u n + hϕ t n + h2 . . © G. 2. . 1. En fait. Nous avons construit ainsi un nouveau schéma appelé schéma du point milieu qui s’écrit   u 0 = y(t 0 ) = y 0 . .e. Nh − 1 Il s’agit d’un schéma implicite car il ne permet pas d’expliciter directement u n+1 en fonction de u n lorsque la fonction f n’est pas triviale. 1. . 1. y(t n )) + ϕ(t n+1 . .

. . u 1 . Équations différentielles ordinaires ? Pour éviter le calcul implicite de u n+1 dans le schéma du trapèze. . en partant de u 0 . t n−1 .x) x m+1 = x m − m = 0. . Puisque g 0 (x) = 1 − h∂x ϕ(t n+1 . Le polynôme p interpole © points t n . y(t n )) − ϕ(t n−1 . . x) − u n et nous cherchons un zéro de g (x) en prenant par exemple la méthode de N EWTON. . . u n ). 134 © G. . Nh − 1 Remarque Considérons le schéma d’E ULER rétrograde. . . . Si nous voulons calculer u n+1 . . N − 1 où u 1 est une approximation de y(t 1 ) obtenue en utilisant une prédiction AB1 . u n ) n = 0.2. u n ) + ϕ(t n+1 .. u˜ n+1 ) n = 0. . 1. nous définissons la fonction g (x) = x − hϕ(t n+1 . x m −hϕ(t n+1 . x). u j +1 . Ainsi nous pouvons poser x 0 = u 0 et x m+1 = x m − g (x m )/g 0 (x m ). t n− j +1 où j ≥ 0 est fixé. Nous avons construit ainsi un nouveau schéma appelé schéma de H EUN. .. . . u n+1 = u n + hϕ(t n . . . Plus précisément.x)−u n 1−h∂x ϕ(t n+1 . Ils se divisent en deux familles : les méthodes d’A DAMS -B ASHFORTH qui sont explicites et les méthodes d’A DAMS -M OULTON qui sont implicites. . . y(t ))d t par l’intégrale d’un polynôme p interpolant f en des points donnés. u˜ n+1 = u n + hϕ(t n . . . u n− j +1 et il est donc possible de calculer successivement u j . Faccanoni ª . On peut construire différentes schémas selon les points d’interpolation choisis. et u n+1 = limm→∞ x m pour autant que f soit suffisamment régulière et que x 0 soit suffisamment proche de u n+1 . Voici quelques exemples : Méthodes d’Adams-Bashforth f en les © ª : il s’agit de méthodes explicites à j pas notées AB j . N − 1 ? La méthode AB1 coïncide avec la méthode d’E ULER progressive. nous obtenons donc dans ce cas le schéma ( x0 = un . . y(t n )) Z t n+1 tn et on obtient le schéma p(t ) dt = hϕ(t n .Jeudi 5 juin 2014 4. u j −1 (qui doivent donc être initialisés par des approximations adéquates car seul u 0 est donné). m = 0. y(t n−1 )) h Z tn+1 ¢ h¡ p(t ) dt = 3ϕ(t n . 1.  ¡ ¢  u n+1 = u n + h2 ϕ(t n . ? j = 1 On a p(t ) = ϕ(t n . y(t n )) ( u 0 = y(t 0 ) = y 0 . . u n+1 ) par u˜ n+1 = u n + hϕ(t n . u 1 = u 0 + hϕ(t 0 . u n ). j = 2 On a p(t ) = ϕ(t n . 1. . u 0 ) ≈ y(t 1 )  ¡ ¢  u n+1 = u n + h2 3ϕ(t n . u n−1 ) n = 1. u n ) − ϕ(t n−1 . la méthode de H EUN s’écrit   u 0 = y(t 0 ) = y 0 . ce qui est le cas si le pas h est suffisamment petit. 1. 2. y(t n−1 )) 2 tn et on obtient le schéma   u 0 = y(t 0 ) = y 0 . 2. 4. y(t n−1 )) (t − t n−1 ) + ϕ(t n−1 . .2. nous pouvons utiliser une prédiction d’E ULER progressive et remplacer le u n+1 dans le terme ϕ(t n+1 . Elles permettent de calculer u n+1 à partir de l’ensemble u n . . Schémas numériques d’Adams Rt Les schémas d’A DAM approchent l’intégrale tnn+1 ϕ(t . . . 2. . u n−1 . y(t n )) − ϕ(t n−1 .

2. y(t n+1 )) (t − t n )(t − t n+1 ) − (t − t n−1 )(t − t n+1 ) + (t − t n−1 )(t − t n ) 2h 2 h2 2h 2 Z tn+1 ¢ h ¡ p(t ) dt = 5ϕ(t n+1 .. Le polynôme p interpole f © en les points ©t n+1 . y(t n−2 )) 12 tn et on obtient le schéma   u 0 = y(t 0 ) = y 0 . u n ) − ϕ(t n−1 . . . . j = 2 On a p(t ) = ϕ(t n−1 . . u n+1 ) n = 0. t n−1 . . y(t n )) (t − t n ) + ϕ(t n . y(t n−1 )) ϕ(t n .Jeudi 5 juin 2014 ? 4. Elles permettent de calculer u n+1 de façon implicite à partir de l’ensemble u n . . t n . u ) − ϕ(t u = u +  2 1 1 0 . . y(t n+1 )) Z t n+1 tn et on obtient le schéma ( p(t ) dt = hϕ(t n+1 . . N − 1 où u 1 est une approximation de y(t 1 ) obtenue en utilisant une prédiction AB1 et u 2 est une approximation de y(t 2 ) obtenue en utilisant la méthode AB2 . u n ) − 16ϕ(t n−1 . y(t n+1 )) + 8ϕ(t n . ¡ ¢ u n+1 = u n + h2 ϕ(t n . y(t n−2 )) ϕ(t n−1 . u n ) + ϕ(t n+1 . . Méthode d’Adams-Moulton : il s’agit de ªméthodes implicites à j ≥ 0 pas notées AM j +1 . . . © G. . . . . y(t n+1 )) p(t ) dt = 2 tn et on obtient le schéma ( u 0 = y(t 0 ) = y 0 . u 1 . u n−1 + 5ϕ(t n−2 . u j −1 (qui doivent donc être initialisés par des approximations adéquates car seul u 0 est donné). u n−1 n = 1. . 2. u 0 ) ≈ y(t 1 )  ¡ ¢  h u n+1 = u n + 12 5ϕ(t n+1 . y(t n+1 )) u 0 = y(t 0 ) = y 0 . y(t n−1 )) ϕ(t n . N − 1 ? La méthode AM2 coïncide avec la méthode de C RANK -N ICOLSON. y(t n )) − 16ϕ(t n−1 . . N − 1 La méthode AM1 coïncide avec la méthode d’E ULER régressive. y(t n )) p(t ) = h Z tn+1 ¢ h¡ ϕ(t n . . y(t n−1 )) + 5ϕ(t n−2 . t n− j +1 ª où j est fixé. . u 0 ) ≈ y(t 2 ) 1 2   ¡ ¢  h u n+1 = u n + 12 23ϕ(t n .. . y(t n )) + ϕ(t n+1 . . u n+1 ) + 8ϕ(t n . 1. y(t n+1 )) − ϕ(t n . u ) ≈ y(t ) 1 0 0 0 1 ¡ ¢ h  3ϕ(t . en partant de u 0 . u n+1 ) n = 1. . y(t n )) (t − t n−1 )(t − t n ) − (t − t n−2 )(t − t n ) + (t − t n−2 )(t − t n−1 ) 2 2 2h h 2h 2 Z tn+1 ¢ h ¡ p(t ) dt = 23ϕ(t n . ? j = 1 On a ϕ(t n+1 . y(t n−1 )) 12 tn et on obtient le schéma   u 0 = y(t 0 ) = y 0 . y(t n )) − ϕ(t n−1 . Équations différentielles ordinaires j = 3 On a p(t ) = ϕ(t n−2 . u n+1 = u n + hϕ(t n+1 . ? j = 0 On a p(t ) = ϕ(t n+1 . . y(t n )) ϕ(t n+1 . N − 1 où u 1 est une approximation de y(t 1 ) obtenue en utilisant une prédiction AB1 . . Faccanoni 135 .    u = u + hϕ(t . . 3. u n− j +1 et il est donc possible de calculer successivement u j . u n−2 ) n = 2. u j +1 . u n−1 . . u 1 = u 0 + hϕ(t 0 .

Si nous cherchons à résoudre le problème de C AUCHY jusqu’à t = 10 avec α = 1/3. . . la seule erreur sur la condition initiale provoque déjà une erreur inadmissible sur la solution. N − 1 u = u +  n+1 n 2   ¡ ¢  h u n+1 = u n + 12 5ϕ(t n+1 . N − 1 4.3. . N − 1  ¡ ¢  h u n+1 = u n + 2 ϕ(t n . Voyons dans l’exemple suivant ce que cela signifie. En effet. . u n−1 ) ? predictor : méthode AB2 u ¡ ¢ h ˜ n+1 = u n + 12 5ϕ(t n+1 . il ne suffit pas qu’un schéma numérique soit convergent pour qu’il donne des bons résultats sur n’importe quelle équation différentielle. u˜ n+1 ). . Nous avons vu que sa solution est donnée par y(t ) = (α−1/3)e 3t +t +1/3. predictor : on calcule u˜ n+1 une approximation de u n+1 par une méthode explicite . u N représente la solution numérique. Ainsi. il est légitime de chercher à savoir dans quelle mesure l’erreur |y(t n )−u n | est petite Une fois calculée la solution numérique { u n }n=1 pour n = 1. . . par exemple avec la méthode de N EWTON. nous avons y(10) = (0. si on considère ¢ ˜ n+1 = u n + h2 3ϕ(t n .333333−1/3)e 30 +10+1/3 = −e 30 /3000000+31/3 ce qui représente une différence avec la précédente valeur de e 30 /3000000 ≈ 107 /3. u n ) − ϕ(t n−1 . On cherche une fonction y : t ∈ R+ 7→ y(t ) ∈ R qui satisfait ( y 0 (t ) = 3t − 3y(t ). . u n ) + ϕ(t n+1 . . N − 1 est construite par les deux étapes suivantes : ˜ n+1 = u n + hϕ(t n . u n ) + ϕ(t n+1 . T ] en Nh intervalles de longueur h = (T − t 0 )/Nh > 0 où h est le (h) (h) pas de discrétisation. u 1(h) . u n+1 ) + 8ϕ(t n . . . appelé aussi problème mal conditionné. y) = 3t − 3y et y 0 = α (un nombre quelconque). Par contre.¡u n ) ? predictor : méthode d’E ULER explicite (ou AB1 ) u ¢ ˜ n+1 = u n + h2 ϕ(t n .4. Conditionnement En générale. u n ) − ϕ(t n−1 . . si le calculateur mis à notre disposition ne calcul qu’avec 6 chiffres significatifs (en virgule flottante). u n−1 ? corrector : méthode AM2 u on obtient la méthode AB2 -AM2 :   u 0 = y 0   u = u + hϕ(t . u n ) − ϕ(t n−1 . Schémas multi-pas de type predictor-corrector Lorsqu’on utilise une méthode implicite. Encore faut-il que le problème soit mathématiquement bien posé (existence et unicité de la solution). . alors α = 1/3 devient α = 0. 4.Jeudi 5 juin 2014 4.333333 et il est inutile d’essayer d’inventer une méthode numérique pour calculer y(10). 1 0 0 0 ¡ ¢ 3  ˜ h ϕ(t n . Le principe des méthodes numériques est de subdiviser l’intervalle I = [t 0 .3. nous obtenons y(10) = 10 + 1/3 = 31/3. u n ) − ϕ(t n−1 . . pour calculer u n+1 on doit résoudre une équation non-linéaire. . Par exemple. . u n−1 n = 2. . pour 0 +nh (1 ≤ n ≤ Nh ) on cherche la valeur inconnue u n qui approche n chaque nœud t n = to (h) y(t n(h) ). 3. 2. Équations différentielles ordinaires 4. . u n+1 ) par ϕ(t n+1 . si nous faisons le calcul avec l’approximation α = 0. h 136 © G. 2. Une approche différente qui permet de s’affranchir de cette étape est donnée par les méthodes predictor-corrector. u n+1 ) ? corrector : méthode de C RANK -N ICOLSON (ou AM1 ) u Exemple 2 : des méthodes de type predictor-corrector sont souvent construites en utilisant une prédiction d’A DAMS -B ASHFORTH suivie d’une correction d’A DAMS -M OULTON les deux étapes suivantes ¡ . Exemple 1 : on a déjà rencontré une méthode de type predictor-corrector lorsqu’on a construit les schémas classiques : la méthode de H EUN   u 0 = y 0 u˜ n+1 = u n + hϕ(t n . qu’il soit numériquement bien posé (continuité suffisamment bonne par rapport aux conditions initiales) et qu’il soit bien conditionné. Stabilité Considérons le problème de C AUCHY (4. L’ensemble des valeurs u 0(h) = y 0 . ∀t > 0. u˜ n+1 ) + 8ϕ(t n . Nous sommes en présence ici d’un problème numériquement mal posé. . 2. u n−1 ) n = 2. u˜ n+1 ) n = 1.333333 au lieu de 1/3. . corrector : on écrit une méthode implicite et on approche ϕ(t n+1 . On se donne ϕ(t . u ). Une méthode predictor-corrector est une méthode qui permet de calculer u n+1 de façon explicite à partir d’une méthode implicite comme suit : 1. Faccanoni . Exemple Problème de C AUCHY numériquement mal posé N h . Alors. u n ) n = 1. 3.2. Nous essayons de répondre à cette question en reprenant le premier exemple du chapitre.1) et supposons que l’on ait montré l’existence d’une solution y. y(0) = α. Cet exemple nous apprend qu’une petite erreur sur la condition initiale (erreur relative d’ordre 10−6 ) peut provoquer une très grande erreur sur y(10) (erreur relative d’ordre 106 ). 2.

. 2. Étudions la A-stabilité des schémas classiques introduits ci-dessus. Dans ce cadre. le nombre Nh de sous-intervalles ne tend vers l’infini que quand h tend vers zéro. et par suite Par conséquente. β Cette condition de A-stabilité limite le pas h d’avance en t lorsqu’on utilise le schéma d’E ULER progressif. Dans ce cas. 1. ce qui a pour effet de limiter h à h≤ 2 .4.1) dont la solution exacte vérifie y(t ) −−−−−→ 0. Cependant. Définition Soit β > 0 un nombre réel positif et considérons le problème de C AUCHY ( y 0 (t ) = −βy(t ). Il s’agit d’estimer le comportement de e n(h) en tout point.e.Jeudi 5 juin 2014 4. Notons que si 1 − βh > 1 alors u n tend vers +∞ lorsque t tend vers l’infini et si 1 − βh < −1 alors u n tend vers l’infini en alternant de signe lorsque t tend vers l’infini. Soit h fixé et consit →+∞ dérons la limite T → +∞ (ainsi Nh → +∞). Sa solution est y(t ) = y 0 e −βt et limt →+∞ y(t ) = 0. même pour h fixé. on peut dire que les méthodes absolument stables permettent de contrôler les perturbations. . y(0) = y 0 où y 0 6= 0 est une valeur donnée. en général il n’y a aucune raison d’exiger qu’une méthode numérique soit absolument stable quand on l’applique à un autre problème. n→+∞ 4. dans le deuxième cas il s’agit du comportement asymptotique de la solution et de son approximation : Zéro-stabilité : soit T fixé et considérons la limite h → 0 (ainsi Nh → +∞). On dit que la méthode est A-stable si u n(h) −−−−−→ 0. même pour des pas de temps h «assez grands». t n = nh pour n ∈ N et notons u n ≈ y(t n ) une approximation de la solution y au temps t n . pour tout 1 ≤ n ≤ Nh . On s’intéresse donc à des méthodes capables d’approcher la solution pour des intervalles en temps arbitrairement grands. pour t > 0. sous d’éventuelles conditions sur h. On peut tirer des conclusions analogues quand β est un complexe ou une fonction positive de t .1. 1. . 137 . on a considéré la résolution du problème de C AUCHY sur des intervalles bornés. Équations différentielles ordinaires Deux questions naturelles se posent : que se passe-t-il lorsqu’on fait tendre le pas h vers 0 ? Que se passe-t-il lorsqu’on fixe le pas h > 0 mais on fait tendre T vers l’infini ? Dans les deux cas le nombre de nœuds tend vers l’infini mais dans le premier cas on s’intéresse à l’erreur en chaque point. u n = (1 − βh)n u 0 . lim u n = 0 si et seulement si n→+∞ ¯ ¯ ¯1 − βh ¯ < 1. n = 0. . on peut montrer que quand une méthode absolument stable sur le problème modèle est utilisée pour un problème modèle généralisé. . ? Le schéma d’E ULER rétrograde devient dans le cadre de notre exemple (1 + βh)u n+1 = u n . . A-Stabilité Dans la section précédente. A-stabilité : on considère un problème de C AUCHY (4. . D’autre part. Soit h > 0 un pas de temps donné. © G. . Il existe cependant de nombreuses situations dans lesquelles le problème de C AUCHY doit être intégré sur des intervalles en temps très grands ou même infini. En bref. La méthode est zéro-stable si e n(h) −−−→ 0 pour tout n ∈ N. 1. Nh tend vers l’infini. Nous dirons dans ces cas que le schéma d’E ULER progressif est instable. h→0 Cette notion est très importante car le théorème de L AX -R ICHTMYER (ou théorème d’équivalence) affirme que une méthode consistante et zéro-stable est convergente. Si. n→+∞ alors on dit que le schéma est A-stable. ? Le schéma d’E ULER progressif devient u n+1 = (1 − βh)u n . . on a lim u n = 0. l’erreur de perturbation (qui est la valeur absolue de la différence entre la solution perturbée et la solution non perturbée) est bornée uniformément (par rapport à h). 2. Faccanoni n = 0. On note e n(h) ≡ y(t n(h) ) − u n(h) = y(t 0 + nh) − u n(h) l’erreur au point t 0 +nh. 2. n = 0. i.

x x ∗ Notons x le produit βh > 0 et q la fonction q(x) = 2−x 2+x = 1 − 2 2+x . les méthodes d’E ULER implicite et de C RANK -N ICOLSON sont inconditionnellement A-stables. La relation lim u n = 0 est donc satisfaite si et seulement si n→+∞ h< 2 . lim u n = 0 si et seulement si n→+∞ ¯ ¯ ¯ 2 − βh ¯ ¯ ¯ ¯ 2 + βh ¯ < 1. 1. 2 Par conséquent. C’est aussi le cas de nombreuses autres méthodes implicites. 2. . Faccanoni . . ? Le schéma de H EUN pour notre exemple devient ¶ µ (βh)2 un u n+1 = 1 − βh + 2 Par induction on obtient µ ¶n (βh)2 u n = 1 − βh + u0 . Dans ce cas nous voyons que pour tout h > 0 nous avons limn→∞ u n = 0. bien qu’elles soient plus coûteuses que les méthodes explicites. Nous avons 0 < 2+x < 1 pour tout x ∈ R+ .Jeudi 5 juin 2014 4. il semble que le schéma d’E ULER progressif et le schéma de H EUN soient préférable au schéma d’E ULER rétrograde et de C RANK -N ICOLSON puisque ces derniers ne sont pas explicites. n = 0. sans limitations sur h. Cette propriété rend les méthodes implicites attractives. donc ∗ |q(x)| < 1 pour tout x ∈ R+ . Cependant. . 1. 138 © G. A première vue. β Cette condition de stabilité limite le pas h d’avance en t lorsqu’on utilise le schéma de H EUN. La relation lim u n = 0 est donc satisfaite pour tout h > 0 : le schéma de C RANK -N ICOLSON n→+∞ est donc toujours stable. sans limitations sur h. . (1 + βh)n un = n = 0. le schéma d’E ULER rétrograde est donc toujours stable. q 1 0 x = βh 2 Nous avons |q(x)| < 1 si et seulement si 0 < x < 2. . ? Le schéma de C RANK -N ICOLSON appliqué à notre exemple s’écrit µ ¶ µ ¶ h h 1 + β u n+1 = 1 − β u n 2 2 et par suite 2 − βh un = 2 + βh µ ¶n u0 . . lim u n = 0 si et seulement si n→+∞ ¯ 2 ¯¯ ¯ ¯1 − βh + β2 (h) ¯ < 1. ¯ 2 ¯ Notons x le produit βh et q le polynôme q(x) = 21 x 2 − x + 1 dont le graphe est représenté en figure. Équations différentielles ordinaires et par suite 1 u0 . 2. Par conséquent.

append(yy[i]+h*f(tt[i]+h*0.yy[i])) −−−→return yy 13 14 15 16 17 18 def euler_modifie(f. −−−→def f(t.exp(t) elif exemple==2 : −−−→t0 = 0. −−−→tfinal = 1.pyplot as plt 7 8 9 10 11 12 def euler_progressif(f.tt. −−−→def f(t. −−−→tfinal = 3.cos(2*y) −−−→def sol_exacte(t): −−−→−−−→return 0.exp(4. Faccanoni 139 .)/(math.yy[i]+h*0.tt.N): −−−→yy = [y0] −−−→for i in range(N): −−−→−−−→yy. Équations différentielles ordinaires Codes Python Voici les function python des méthodes illustrées dans ce chapitre 1 2 TTTTTTTTTTTT #!/usr/bin/python #-*.N) © G.yy[i]))) −−−→return yy 19 20 21 22 23 24 def heun(f. −−−→y0 = 1.tt.5*t**2 elif exemple==3 : −−−→t0 = 0. −−−→y0 = 1. −−−→def f(t.5*f(tt[i].yy[i])))) −−−→return yy et voici un exemple 25 26 27 # INITIALISATION N = 3 exemple = 4 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 if exemple==1 : −−−→t0 = 0.append(yy[i]+h*(f(tt[i].*t)-1.5. −−−→tfinal = 3. −−−→y0 = 0.coding: Utf-8 -*- 3 4 5 6 import math import sys import matplotlib.yy[i])+f(tt[i+1].yy[i]+h*f(tt[i].asin((math.y): −−−→−−−→return y −−−→def sol_exacte(t): −−−→−−−→return math.5*math.exit(0) 56 57 58 59 60 61 # CALCUL h = (tfinal-t0)/N tt = [ t0+i*h for i in range(N+1) ] yy_exacte = [sol_exacte(t) for t in tt] yy_euler_progressif = euler_progressif(f.N): −−−→yy = [y0] −−−→for i in range(N): −−−→−−−→yy.+0.)) else : −−−→print "Exemple non defini" −−−→sys.y): −−−→−−−→return t −−−→def sol_exacte(t): −−−→−−−→return 1.Jeudi 5 juin 2014 TTTTTTTTTTTTT 4.*t)+1.N): −−−→yy = [y0] −−−→for i in range(N): −−−→−−−→yy.exp(4.append(yy[i]+h*f(tt[i].y): −−−→−−−→return math.tt.

Faccanoni .tt.yy_heun.N) yy_heun = euler_modifie(f.tt.’m’. tfinal.N) 64 65 66 67 68 # AFFICHAGE plt.’go’. min(yy_euler_progressif).’r^’) plt.show() 140 © G.yy_exacte.tt.tt.tt. Équations différentielles ordinaires 62 63 Jeudi 5 juin 2014 yy_euler_modifie = euler_modifie(f.axis([t0.yy_euler_modifie.plot(tt.’cs’.4. max(yy_euler_progressif)]) plt.yy_euler_progressif.

.  ¡ ¢  u n+2 = u n + h3 ϕ(t n . 3 tn et une prédiction d’E ULER progressive pour approcher u 1 . Supposons que l’on ait montré l’existence d’une unique solution y. nous pouvons utiliser une prédiction d’E ULER progressive et remplacer le u n+2 dans le terme ϕ(t n+2 . Si on utilise la formule de quadrature de C AVALIERI -S IMPSON sur l’intervalle [t n .. .   © G. u n+1 ) n = 1. ∀t ∈ [t 0 . u n+1 ) + ϕ(t n+2 . . Nous pouvons utiliser une prédiction d’E ULER progressive pour approcher u 1 . Exercices Exercice 4. Considérons le problème de C AUCHY : trouver y : [t 0 . . y(t )) entre t n et t n+2 : Z t n+2 y(t n+2 ) = y(t n ) + tn ϕ(t . nous obtenons un nouveau schéma implicite à trois pas :   u 0 = y(t 0 ) = y 0 . Équations différentielles ordinaires . y(t n+2 )) . Z tn+2 ¡ ¢ ϕ(t . T ] en N intervalles de longueur h = (T − t 0 )/N = t n+1 − t n . u n+1 + hϕ(t n+1 .Jeudi 5 juin 2014 4.. u 1 . En utilisant la formule de quadrature du point milieu pour approcher le membre de droite écrire un schéma numérique explicite permettant de calculer u n+2 à partir de u n+1 et u n . u 1 = u 0 + hϕ(t 0 . N − 2 141 . . . N − 2 Il s’agit d’un schéma explicite car il permet d’expliciter u n+2 en fonction de u n et de u n+1 . u n ) + 4ϕ(t n+1 .. Pour éviter le calcul implicite de u n+2 .1. Proposer une modification du schéma au point précédent pour qu’il devient explicite. y(t 0 ) = y 0 . y(t )) dt ≈ ϕ(t n . .. . . . L’ensemble des valeurs u 0 = y 0 . on posera alors u 0 = y 0 et u 1 sera approché par une prédiction d’E ULER progressive. Notons que ce schéma a besoin de deux valeurs initiales . 2. y(t n+1 )) + ϕ(t n+2 . u n+1 ). u n+1 ) n = 1. En utilisant la formule de quadrature de C AVALIERI -S IMPSON pour approcher le membre de droite écrire un schéma numérique implicite permettant de calculer u n+2 à partir de u n+1 et u n . . C ORRECTION DE L’ EXERCICE 4... y(t )) dt . Dans cette exercice on va construire des nouveaux schémas numériques basés sur l’intégration de l’EDO y 0 (t ) = ϕ(t .. . i. 2.. 3. 2.e. u 1 = u 0 + hϕ(t 0 . t n+2 ]. ¡ ¢ u n+2 = u n + h3 ϕ(t n . Nous avons construit ainsi un nouveau schéma explicite à trois pas :   u 0 = y(t 0 ) = y 0 ..1 . on posera alors u 0 = y 0 et u 1 sera approché par une prédiction d’E ULER progressive. u 0 ). t n+2 ]. u n+1 ) + ϕ(t n+2 . y(t n+1 ) tn on obtient   u 0 = y(t 0 ) = y 0 .. Faccanoni u 1 = u 0 + hϕ(t 0 . u 0 ). T ] ⊂ R → R tel que ( y 0 (t ) = ϕ(t . y(t n )) + 4ϕ(t n+1 ... u 1 ≈ y(t 1 )   u n+2 = u n + 2hϕ(t n+1 . .. 1. Nous avons construit ainsi un nouveau schéma explicite à trois pas :   u 0 = y(t 0 ) = y 0 . Notons que ce schéma a besoin de deux valeurs initiales .. u n ) + 4ϕ(t n+1 . u n+2 ) par u˜ n+2 = u n+1 +hϕ(t n+1 . N − 2 3. 2. . Le principe des méthodes numériques est de subdiviser l’intervalle [t 0 . .. Z tn+2 ¢ h¡ ϕ(t .   u n+2 = u n + 2hϕ(t n+1 ...e... 2. 1. N − 2 où u 1 est une approximation de y(t 1 ). .. .. u 0 ). 2. u n+1 ) n = 1.. Pour © chaque nœud t nª = t 0 + nh (1 ≤ n ≤ N ) on cherche la valeur inconnue u n qui approche y(t n ). u n+2 ) n = 1. y(t )) dt ≈ 2hϕ t n+1 . u N représente la solution numérique.. T ].. y(t )). i. Si on utilise la formule de quadrature du point milieu sur l’intervalle [t n .

(Attention : on intègre f sur l’intervalle [t n . y(t n )) Z t n+1 tn et on obtient le schéma p(t ) dt = hϕ(t n . 142 © G. ∀t ∈ [t 0 . 2. N − 1. u n ) n = 0. Dans cette exercice on va construire des nouveaux schémas numériques basés sur l’intégration approchée de l’EDO y 0 (t ) = ϕ(t . .Jeudi 5 juin 2014 4.2 Méthodes d’A DAMS -B ASHFORTH Considérons le problème de C AUCHY suivant dont on suppose qu’il existe une et une seule solution : trouver y : [t 0 . . . u n ) − ϕ(t n−1 . u n+1 = u n + hϕ(t n . . u 1 ≈ y(t 1 )  ¡ ¢  u n+1 = u n + h2 3ϕ(t n . 2. Pour chaque nœud t n = ªt 0 + nh (1 ≤ n ≤ N ) on cherche la valeur inconnue u n qui © approche y(t n ). y(t )) dt . . u n−1 ) n = 1. T ] en N intervalles de longueur h = (T − t 0 )/N > 0. y(t )). 2. y(t n )) − ϕ(t n−1 . Il s’agit d’un schéma explicite appelé schéma d’A DAMS -B ASHFORTH à deux pas. . Écrire le schéma explicite obtenu en choisissant comme unique point à interpoler le point t n . y(t n )) − ϕ(t n−1 . . Nous pouvons utiliser une prédiction d’E ULER progressive pour approcher u 1 . Écrire le schéma explicite obtenu en choisissant comme points à interpoler les points { t n−1 . 1.  ¡ ¢  u n+1 = u n + h2 3ϕ(t n . On a p(t ) = ϕ(t n . Le principe des méthodes numériques pour approcher la fonction y est de subdiviser l’intervalle [t 0 . Faccanoni . y(t n−1 )) h Z tn+1 ¢ h¡ 3ϕ(t n . Équations différentielles ordinaires Exercice 4. T ] ⊂ R → R tel que ( y 0 (t ) = ϕ(t . y(t n−1 )) p(t ) dt = 2 tn et on obtient le schéma   u 0 = y(t 0 ) = y 0 . y(t 0 ) = y 0 . . On a p(t ) = ϕ(t n . 2. u N représente la solution numérique. 1. t n } en proposant une adéquate initialisation de la suite. t n+1 ] mais on interpole f en t n et t n−1 ) C ORRECTION DE L’ EXERCICE 4. N − 1 Il s’agit d’un schéma explicite appelé schéma d’A DAMS -B ASHFORTH à un pas (qui coïncide avec la méthode d’E ULER progressive). y(t )) entre t n et t n+1 car l’on a Z y(t n+1 ) = y(t n ) + t n+1 tn ϕ(t . y(t n )) ( u 0 = y(t 0 ) = y 0 . Nous avons construit ainsi un nouveau schéma explicite à deux pas :   u 0 = y(t 0 ) = y 0 . . .2. L’ensemble des valeurs u 0 = y 0 . y(t n−1 )) (t − t n−1 ) + ϕ(t n−1 . u n−1 ) n = 1. u 1 . u 1 = u 0 + hϕ(t 0 . T ]. u n ) − ϕ(t n−1 . . 1. u 0 ). . Les schémas d’A DAM approchent l’intégrale précédent par l’intégrale d’un polynôme interpolant f en des points donnés. . N − 1 où u 1 est une approximation de y(t 1 ).

3. . tn et t n−1 ) C ORRECTION DE L’ EXERCICE 4. y(t n )) − f (t n−1 . N − 1 Il s’agit d’un schéma implicite appelé schéma d’A DAMS -M OULTON à deux pas qui coïncide avec le schéma de C RANK N ICOLSON. ∀t ∈ [t 0 . t n+1 }. Le principe des méthodes numériques pour approcher la fonction y est de subdiviser l’intervalle [t 0 . T ]. u N } représente la solution numérique. y(t 0 ) = y 0 . y(t )). y(t n+1 )) 2 tn et on obtient le schéma ( u 0 = y(t 0 ) = y 0 . t n+1 } en proposant une adéquate initialisation de la suite. T ] en N intervalles de longueur h = (T − t 0 )/N > 0. L’ensemble des valeurs { u 0 . Dans cette exercice on va construire des schémas numériques basés sur l’intégration approchée de l’EDO y 0 (t ) = f (t . . ¡ ¢ u n+1 = u n + h2 f (t n . u n ) + f (t n+1 . 1. t n . y(t n+1 )) + 8 f (t n . Écrire le schéma implicite obtenu en choisissant comme points à interpoler le point { t n }. u n+1 ) n = 1. y(t n )) p(t ) = h Z tn+1 ¢ h¡ p(t ) dt = f (t n . 2. On a p(t ) = © G. On a f (t n+1 . tn+1 ] mais on interpole f en tn+1 . N − 1 Il s’agit d’un schéma implicite appelé schéma d’A DAMS -M OULTON à un pas (qui coïncide avec la méthode d’E ULER régressive). 1. Équations différentielles ordinaires Exercice 4.Jeudi 5 juin 2014 4. 2. y(t n−1 )) 12 tn 143 . . y(t n+1 )) ( u 0 = y(t 0 ) = y 0 . u 1 . . . tn Les schémas d’A DAM approchent l’intégrale précédente par l’intégrale d’un polynôme interpolant f en des points donnés. y(t n )) (t − t n ) + f (t n . 1. . . T ] ⊂ R → R tel que ( y 0 (t ) = f (t . u n+1 ) n = 0. y(t )) entre t n et t n+1 à partir de la relation Z y(t n+1 ) = y(t n ) + t n+1 f (t .3. y(t n+1 )) (t − t n )(t − t n+1 ) − (t − t n−1 )(t − t n+1 ) + (t − t n−1 )(t − t n ) 2 2 2h h 2h 2 Z tn+1 ¢ h ¡ p(t ) dt = 5 f (t n+1 . y(t n )) + f (t n+1 . (Attention : on intègre f sur l’intervalle [tn . y(t n+1 )) Z t n+1 tn et on obtient le schéma p(t ) dt = h f (t n+1 . u n+1 = u n + h f (t n+1 . y(t n+1 )) − f (t n . y(t )) dt . Pour chaque nœud t n = t 0 + nh (1 ≤ n ≤ N ) on cherche la valeur inconnue u n qui approche y(t n ) à partir de u 0 = y 0 . . Quel schéma reconnaiton ? 2. y(t n )) f (t n+1 . On a p(t ) = f (t n+1 .3 Méthodes d’A DAMS -M OULTON Considérons le problème de C AUCHY suivant dont on suppose qu’il existe une et une seule solution : trouver y : [t 0 . Faccanoni f (t n−1 . . Écrire le schéma implicite obtenu en choisissant comme points à interpoler les points { t n−1 . Quel schéma reconnait-on ? 3. . Écrire le schéma implicite obtenu en choisissant comme points à interpoler les points { t n . y(t n−1 )) f (t n .

5. u 1 = u 0 + h f (t 0 .5. Que peut-on en déduire sur la A-stabilité de la méthode ? C ORRECTION DE L’ EXERCICE 4. ? obtenue avec la méthode d’E ULER avec h = 1. sur l’intervalle [0. C’est une méthode itérative : la valeur y à l’instant t +h se déduisant de la valeur de y à l’instant t par l’approximation linéaire y(t + h) ≈ y(t ) + y 0 (t )h = y(t ) + F (t . y(t )). Donc l’unique solution du problème de C AUCHY est la fonction y(t ) = e −t définie pour tout t ∈ R.5 alors u n = tandis que y(t n ) = e −n/2 .Jeudi 5 juin 2014 4. L’unique solution constante de l’EDO est la fonction y(t ) ≡ 0. 2 µ ¶n 1 ? si h = 0. Écrire la méthode d’E ULER explicite pour cette équation différentielle ordinaire (EDO). La méthode d’E ULER est une méthode d’intégration numérique d’EDO du premier ordre de la forme y 0 (t ) = F (t . 2. En choisissant un pas de discrétisation h. 4. .4. ? obtenue avec la méthode d’E ULER avec h = 0. 3. u n ) qui peuvent être une excellente approximation de la fonction y(t ) avec ( t n = t 0 + nh.5 alors u n = − tandis que y(t n ) = e −3n/2 . . u n−1 )h. En déduire une forme du type u n+1 = g (h. u n ) − f (t n−1 . y(t ))h. on obtient u n+1 = (1 − h)n+1 .4 A-stabilité de la méthode d’E ULER explicite en fonction du pas On considère le problème de C AUCHY ( y 0 (t ) = −y(t ). La méthode d’E ULER explicite pour cette EDO s’écrit donc u n+1 = (1 − h)u n . Il s’agit d’une EDO à variables séparables. 2. Faccanoni . u 0 ) ≈ y(t 1 )  ¡ ¢  h u n+1 = u n + 12 5 f (t n+1 . 10].5 alors u n = − tandis que y(t n ) = e −5n/2 . 3. Utiliser la formulation ainsi obtenue pour tracer les solutions ? exacte. nous obtenons une suite de valeurs (t n . u n−1 n = 1. n) à préciser (autrement dit. N − 1 où u 1 est une approximation de y(t 1 ) obtenue en utilisant une prédiction d’E ULER progressive. u n+1 ) + 8 f (t n . . ? obtenue avec la méthode d’E ULER avec h = 2. u n = u n−1 + F (t n−1 . Équations différentielles ordinaires et on obtient le schéma   u 0 = y(t 0 ) = y 0 .5. 1. l’itérée en t n ne dépend que de h et n et ne dépend pas de u n ). 1. En procédant par récurrence sur n. toutes les autres solutions sont du type y(t ) = C e −t . n) avec g (h. 2 144 © G. On a donc µ ¶ 3 n ? si h = 2. Soit h le pas temporel. µ 2 ¶n 1 ? si h = 1. 4. 2. y(0) = 1. Calculer la solution exacte du problème de C AUCHY.5. Exercice 4.

5 0 1 2 3 4 5 6 7 8 9 t −1 −2 −3 NB : les trois premières itérées ont la même pente (se rappeler de la construction géométrique de la méthode d’E ULER).9073486328125 × 10−6 9.00048828125 0.103515625 × 10−5 3.125 2. 10]. ? est stationnaire si q = 1. En effet.001953125 0.5 h = 2.62939453125 × 10−6 3.75 −0.00390625 0. on sait que la méthode est A-stable si et seulement si |1 − h| < 1.25 0.5367431640625 × 10−7 Ci-dessous sont tracées sur l’intervalle [0.5 1 0.03125 0.5 9 9. 5. Remarque : la suite obtenue est une suite géométrique de raison q = 1 − h. ? converge vers 0 |q| < 1. En faisant varier le pas h nous pouvons constater que si h = 2.5 8 8.5 1 h = 1.0078125 0. les courbes représentatives de la solution exacte et de la solution calculée par la méthode d’E ULER explicite.814697265625 × 10−6 1.5 5 5. © G. Équations différentielles ordinaires un t n = nh 0 0. ? si h > 2 alors la solution numérique oscille et divergente.0009765625 0.125 0.015625 5.015625 0.5 l’erreur commise entre la solution exacte et la solution calculée est amplifiée d’un pas à l’autre.5 3 3.5 0.5 1 1. On sait qu’une telle suite ? diverge si |q| > 1 ou q = −1.5 0.25 0.000244140625 0.5 7 7.25 −0. ? si 1 < h < 2 alors la solution numérique oscille mais est encore convergente.5 6 6.5 1 −0.Jeudi 5 juin 2014 4.0517578125 × 10−5 1.5 4 4.5 1 h = 1. Faccanoni 145 .52587890625 × 10−5 7.0001220703125 6.03125 0.0625 −3. De la formule u n+1 = (1 − h)n+1 on déduit que ? si 0 < h < 1 alors la solution numérique est stable et convergente.5 10 h = 2. y 3 2 Exacte h = 0.0625 h = 0.0625 0.5 2 2.5 −1.

0 3 1.25 6+42 21 La concentration à t = 2 est d’environ 2. Faccanoni . La méthode d’E ULER implicite est une méthode d’intégration numérique d’EDO du premier ordre de la forme y 0 (t ) = F (t . En résolvant l’équation non-linéaire u n+1 = u n + hF (t n+1 .48 6+32 7 2 4+4 52 52 520 = 20 22 21 = 231 ≈ 2.5 1. y 5 4 3 2 Exacte E ULER implicite 1 1 146 2 3 t © G. n ∈ N. y(t + h)). On pose alors t n = t 0 + nh. C ORRECTION DE L’ EXERCICE 4. et si h = 1/2.5. u n+1 ).57 20 7 ≈ 2. Elle peut être résolue algébriquement et cela donne la suite un u n+1 = .86 4+32 20 20 52 = 13 15 7 = 21 ≈ 2. Dans notre cas.25 qu’on peut comparer avec le calcul exact y(2) = 5e − arctan(2) ≈ 1. C’est une méthode itérative : en choisissant un pas de discrétisation h.5.0 un 5 4+12 5 = 57 5 = 6+12 4+22 25 6+22 7 = 8 25 10 7 25 7 = ≈ 3. 6 + (n + 1)2 On obtient donc n tn 0 0 1 2 0. déterminer la concentration à t = 2 à l’aide de la méthode d’E ULER implicite avec un pas h = 0. y(t )). l’équation non-linéaire s’écrit u n+1 = u n − h 2 1 + t n+1 u n+1 . on obtient une suite (u n )n∈N qui approche les valeurs de la fonction y en t n .652499838.5 4 2.5 L’évolution de la concentration de certaines réactions chimiques au cours du temps peut être décrite par l’équation différentielle 1 y(t ). la valeur y à l’instant t + h se déduit de la valeur de y à l’instant t par l’approximation linéaire y(t + h) ≈ y(t ) + h y 0 (t + h) = y(t ) + hF (t + h. y 0 (t ) = − 1+ t2 Sachant qu’à l’instant t = 0 la concentration est y(0) = 5. alors t n = n/2 et u n+1 = 4 + (n + 1)2 un . 1 + 1+th2 n+1 Si à l’instant t = 0 la concentration est y(0) = 5. Équations différentielles ordinaires Exercice 4.Jeudi 5 juin 2014 4.

pour quelles valeurs de h la relation lim u n = 0 a-t-elle lieu ? n→+∞ 2.6. . Nous avons construit ainsi le schéma de H EUN. . 1. lim u n = 0 si et seulement si n→+∞ ¯ ¯ ¯ 2 − βh ¯ ¯ ¯ ¯ 2 + βh ¯ < 1. En appliquant le schéma de H EUN au problème (4. Sous quelle condition sur h le schéma du trapèze est-il A-stable ? Autrement dit. Sous quelle condition sur h le schéma de H EUN est-il A-stable ? C ORRECTION DE L’ EXERCICE 4. cette méthode s’écrit ( u 0 = y(t 0 ). donc ∗ |q(x)| < 1 pour tout x ∈ R+ . t n = nh pour n ∈ N (ainsi t 0 = 0) et u n une approximation de y(t n ). u n . u n+1 ) = u n + h2 ϕ(t n . pour n = 0. y) = −βy. Écrire le schéma du trapèze (appelé aussi de C RANK -N ICOLSON) permettant de calculer u n+1 à partir de u n . Le problème (4. en partant de u 0 . tn Soit u n une approximation de u(t n ) et u n+1 une approximation de y(t n+1 ). y(t )) dt ≈ 2 tn on obtient le schéma du trapèze ou de C RANK -N ICOLSON ( u 0 = y(t 0 ).2) on obtient la suite définie par récurrence suivante ( u 0 = y(t 0 ). (4. Si nous intégrons l’EDO y 0 (t ) = ϕ(t . ³ ´ (βh)2 u n+1 = 1 − βh + 2 u n . Nous avons 0 < 2+x < 1 pour tout x ∈ R+ . pour t > 0. À partir du schéma du trapèze. y(0) = y 0 . Équations différentielles ordinaires Exercice 4. u n+1 − h2 ϕ(t n+1 . . pour chaque nœud t n = t 0 + nh (avec n ∈ N).2) on obtient la suite définie par récurrence suivante ( u 0 = y(t 0 ).. Si on utilise la formule du trapèze.1) avec ϕ(t . u 2 . . ´ ³ ´ ³ 1 + h2 β u n+1 = 1 − h2 β u n . } représente la solution numérique. Pour éviter le calcul implicite de u n+1 dans le schéma du trapèze.Jeudi 5 juin 2014 4.2) est un problème de C AUCHY de la forme (4. 1. u n ). 2. © G. y(t n )) + ϕ(t n+1 . Faccanoni 147 . Soit h > 0 un pas de temps donné. y(t n+1 )) ϕ(t . u n ) + ϕ t n+1 . . u n ). Les schémas numériques permettent de calculer u n+1 à partir de u n et il est donc possible de calculer successivement u 1 .2) où y 0 est une valeur donnée. x x ∗ Notons x le produit βh > 0 et q la fonction q(x) = 2−x 2+x = 1 − 2 2+x . . ¡ ¡ ¢¢ u n+1 = u n + h2 ϕ(t n . En appliquant le schéma du trapèze au problème (4. y(t )) entre t n et t n+1 nous obtenons Z tn+1 y(t n+1 ) − y(t n ) = ϕ(t . 2. . n→+∞ 2. Par induction on obtient µ un = 2 − βh 2 + βh ¶n y0. Le principe des méthodes d’approximation est de subdiviser l’intervalle I en sous-intervalles de longueur h et.e. L’ensemble de valeurs { u 0 . pour n = 0. Z tn+1 ¢ h¡ ϕ(t n . Il s’agit d’un schéma implicite car il ne permet pas d’écrire directement u n+1 en fonction de u n lorsque la fonction ϕ n’est pas triviale. . La relation lim u n = 0 est donc satisfaite pour tout h > 0. 1. u 1 . u n+1 ) par u˜ n+1 = u n +hϕ(t n . i. en déduire le schéma de H EUN. Plus précisément. Par conséquent.6 Soit β > 0 un nombre réel positif et considérons le problème de C AUCHY ( y 0 (t ) = −βy(t ). . . 1. u n + hϕ(t n . nous pouvons utiliser une prédiction d’E ULER progressive et remplacer le u n+1 dans le terme ϕ(t n+1 . on cherche la valeur inconnue u n qui approche y(t n ). y(t )) dt . .

Jeudi 5 juin 2014 4. y) = −(y m )+cos(t ). donc ∂t ϕ(t . q 1 0 x = βh 2 Nous avons |q(x)| < 1 si et seulement si 0 < x < 2.3) possède une solution unique locale. Dans notre cas. Écrire le schéma d’E ULER rétrograde permettant de calculer u n+1 à partir de u n . y(t )). y(0) = 0. . . Soit h > 0 un pas de temps donné. lim u n = 0 si et seulement si n→+∞ ¯ 2 ¯¯ ¯ ¯1 − βh + β2 (h) ¯ < 1. Montrer que le problème (4. À partir du schéma obtenu au point précédent. écrire un seul pas de la méthode de N EWTON pour calculer une nouvelle approximation de u n+1 . 1.3) est un problème du type trouver y : I ⊂ R+ → R tel que ( y 0 (t ) = ϕ(t . Le problème (4. En déduire ainsi un nouveau schéma explicite.7 On considère le problème de C AUCHY ( y 0 (t ) = −(y(t ))m + cos(t ). Le schéma de E ULER rétrograde établit une relation entre u n et u n+1 et il est donc possible de calculer successivement u 1 . y(t 0 ) = y 0 .3) possède une solution unique. y(t 0 ) = y 0 . donc le problème (4. ¯ 2 ¯ Notons x le produit βh et q le polynôme q(x) = 12 x 2 − x + 1 dont le graphe est représenté en figure. u 2 . Équations différentielles ordinaires Par induction on obtient µ ¶n (βh)2 u n = 1 − βh + y0. 1.. 3. est unique et appartient à C 1 (I ). pour t > 0. ∀t ∈ I . 148 © G. en partant de u 0 . soit t n = nh pour n ∈ N et u n une approximation de y(t n ). (4. 2. Le principe des méthodes d’approximation est de subdiviser l’intervalle I en sous-intervalles de longueur h et. L’ensemble de valeurs { u 0 . β Exercice 4. y) = − sin(t ) et ∂ y ϕ(t . } représente la solution numérique.7.. 2 Par conséquent. ϕ(t . u 1 . . ∀t ∈ I . C ORRECTION DE L’ EXERCICE 4. 2. pour chaque nœud t n = t 0 + nh (n ≥ 0). y(t )). on cherche la valeur inconnue u n qui approche y(t n ). y) = −m(y m−1 ) qui sont de classe C 1 . y) est de classe C par rapport à ses deux variables alors la solution y = y(t ) du problème de C AUCHY existe.3) où m est un entier impair.2) est un problème du type trouver y : I ⊂ R+ → R tel que ( y 0 (t ) = ϕ(t . Le problème (4. La relation lim u n = 0 est donc satisfaite si et seulement si n→+∞ h< 2 . Faccanoni . 1 Si la fonction ϕ(t . . .

Faccanoni 149 . Pour déterminer u n+1 nous devons chercher le zéro de la fonction g n définie par g n (x) = x + hx m − (h cos(t n+1 ) + u n ) . R) que vous préciserez explicitement. 1. Il s’agit de trouver u n+1 tel que ¡ m ¢ u n+1 = u n + h −u n+1 + cos(t n+1 ) . Z tn+1 ϕ(t .Jeudi 5 juin 2014 4. Montrer que lim u n ∗ = y 0 e −10T . y(t n+1 )) tn on obtient le schéma d’E ULER rétrograde : ( y 0 = 0. y(t )) entre t n et t n+1 nous obtenons Z y(t n+1 ) − y(t n ) = t n+1 tn ϕ(t . Nous pouvons utiliser x 1 comme approximation de u n+1 et on obtient le schéma   u 0 = 0.8 Soit le problème de C AUCHY : ( y 0 (t ) + 10y(t ) = 0. y(t )) dt ≈ hϕ(t n+1 . ∀t ∈ R. soit n ∗ tel que T − h < n ∗ h ≤ T (donc n ∗ dépend de h). 3. Montrer que la raison r de la suite vérifie |r | < 1 pour tout h > 0. u n+1 = − 1 + mhu nm−1 Exercice 4. Ce schéma est-il inconditionnellement A-stable ? 4. h→0 © G. Montrer qu’il existe une unique solution globale y ∈ C ∞ (R. Soit le schéma numérique de C RANK -N ICOLSON défini par la suite (u n )n∈N vérifiant u n+1 − u n + 5(u n+1 + u n ) = 0. h ∀n ∈ N. k g n0 (x k ) 1 + mhx km−1 Le premier pas de la méthode de N EWTON s’écrit donc x1 = x0 − x 0 + hx 0m − (h cos(t n+1 ) + u n ) 1 + mhx 0m−1 . i. 3. 6. Soit T > 0 fixé. Montrer que la suite (u n )n∈N est une suite géométrique dont on précisera la raison. y(t )) dt . u n+1 = u n + h (−(u n+1 )m + cos(t n+1 )) . La méthode de N EWTON pour approcher le zéro de g n construit une suite (x k )k∈N qui converge vers u n+1 à partir d’un x 0 bien choisit selon la définition par récurrence suivante : x k+1 = x k − x k + hx km − (h cos(t n+1 ) + u n ) g n (x k ) = x − . (4. u n )). Soit u n une approximation de y(t n ) et u n+1 une approximation de y(t n+1 ).e. u n + hu nm − (h cos(t n+1 ) + u n )  . Donner l’expression de u n en fonction de n.4) y(0) = y 0 > 0. Équations différentielles ordinaires Si nous intégrons l’EDO y 0 (t ) = ϕ(t . Si on utilise la formule du rectangle à droite. pour h > 0 fixé. Ce schéma est implicite car il ne permet pas de calculer u n+1 directement à partir de u n . Choisissons x 0 = u n comme valeur de départ (un autre choix pourrait être x 0 = u n +hϕ(t n . 2. Sous quelle condition sur h > 0 le schéma génère-t-il une suite positive ? 5.

? Par récurrence.8. C’est un problème de C AUCHY du type ( y 0 (t ) = ϕ(t . d’après le théorème de C AUCHY -L IPSCHITZ il existe T > 0 et une unique solution y ∈ C 1 ([−T. ? La fonctionne nulle est solution de l’EDO (mais non du problème de C AUCHY donné). 150 © G. toutes les autres solutions sont du type y(t ) = C e −10t . h→0 Montrer que u n ∗ converge plus vite que v n ∗ vers y(t n ∗ ) = y 0 e −10T lorsque h → 0. 1.4). on remarque qu’il s’agit d’une EDO à variables séparables. h ∀n ∈ N. 1 + 5h u n+1 = Il s’agit d’une suite géométrique de raison r= 3. lorsque y 0 > 0). y est décroissante si y 0 > 0 et croissante si y 0 < 0.5) y(0) = y 0 > 0. De plus. En prenant en compte la condition initiale on conclut que l’unique solution du problème de C AUCHY est y(t ) = y 0 e −10t définie pour tout t ∈ R. Équations différentielles ordinaires 7. T ]. T ] (i. Pour tout h > 0 on a r= 1 − 5h . On montre ensuite que cette solution est de classe C ∞ ([−T. Soit le schéma numérique de C RANK -N ICOLSON défini par la suite (u n )n∈N vérifiant u n+1 − u n + 5(u n+1 + u n ) = 0. On obtient une formule de récurrence rendue explicite par un calcul élémentaire : u n+1 = −5hu n+1 − 5hu n + u n d’où 1 − 5h un . pour h > 0 fixé. Faccanoni . On montre enfin que la solution admet un prolongement sur R. on grimpe en régularité sur y ainsi y ∈ C ∞ ([−T. R). Soit (v n )n∈N la suite définissant le schéma d’E ULER explicite pour l’équation différentielle (4. lorsque y 0 > 0) soit y(t ) < 0 pour tout t ∈ [−T. R). ? Comme g ∈ C 1 (R. 1 + 5h 1 − 5h 10h = 1− 1 + 5h 1 + 5h et −1 < 1 − 10h < 1. y 3 2 1 −1 0 1 −1 t −2 −3 2. ∀t ∈ R. T ].e. en exploitant l’EDO et la régularité de g .e. C ORRECTION DE L’ EXERCICE 4.Jeudi 5 juin 2014 4. On en déduit par le théorème des extrémités que la solution u admet un prolongement sur R solution de l’EDO. avec ϕ(t . R). Par l’unicité de la solution du problème de C AUCHY on en déduit que soit y(t ) > 0 pour tout t ∈ [−T. T ]. sur [−T .e. y(t )). (4. R). R). L’unique solution constante est y(t ) ≡ 0. T ] (i. Montrer que lim v n ∗ = y 0 e −10T . T ]. On montre d’abord qu’il existe une et une seule solution locale (i. Pour en calculer la solution. 1 + 5h Ce schéma est donc inconditionnellement A-stable car |u n+1 | = |r n+1 u 0 | ≤ |u 0 |. y) = g (y) = −10y. T ]) de classe C 1 ([−T.

Exercice 4.e. Alors T (1 − 10h) h −1 k ≤ (1 − 10h)n ∗ ≤ T (1 − 10h) h k ln(1−10h) h e ln(1−10h) h e (T −h) k eT −10(T −h) ln(1−10h) −10h −10T k e ↓ e −10T ln(1−10h) −10h ↓ e −10T d’où T lim v n ∗ = u 0 lim (1 − 10h) h = u 0 e −10T . v n ) h =⇒ v n+1 = v n − 10hv n = (1 − 10h)v n = (1 − 10h)n+1 v 0 . La suite définissant le schéma d’E ULER explicite pour l’EDO assignée s’écrit v n+1 − v n = ϕ(t n . Il s’agit à nouveau d’une suite géométrique de raison r e = 1 − 10h qui converge si et seulement si |r e | < 1. 151 . ∀t ∈ R+ . h→0 h→0 De plus. cours) que la suite (u n )n∈N converge à l’ordre 2 tandis que la suite (v n )n∈N converge à l’ordre 1. 5 5. on sait (cf. i. Faccanoni p 0 y (t ) + y(t ) 2 y(0) = u 0 > 0. = 0. Soit T > 0 fixé et considérons n ∗ (dépendant de h) tel que T − h < n ∗ h ≤ T . Soit T > 0 fixé et considérons n ∗ (dépendant de h) tel que T − h < n ∗ h ≤ T .2 (le schéma d’E ULER pour cette EDO est conditionnellement stable). Par récurrence on obtient µ 1 − 5h un = 1 + 5h ¶n u0 .Jeudi 5 juin 2014 4. En se rappelant que lim x→0 ln(1 + αx) =1 αx et en observant que ³ 1−5h 1+5h ´ T −1 h ³ ≤ 1−5h 1+5h ´n ∗ ³ ≤ 1−5h 1+5h k e (T −h) h k ln(1−5h)−ln(1+5h) h eT ln(1−5h)−ln(1+5h) h k e ´T k ln(1+5h) (T −h) −5 ln(1−5h)−5 5h e T −5 ln(1−5h)−5 ln(1+5h) 5h ↓ ↓ e −10T e −10T on conclut que µ lim u n ∗ = u 0 lim h→0 h→0 1 − 5h 1 + 5h ¶n ∗ = u 0 e −10T . 7. ssi 10h >0 1 + 5h 1 h< . 6. Le schéma génère une suite positive ssi 1− i.e. si et seulement si h < 0. Équations différentielles ordinaires 4.9 Soit le problème de C AUCHY :    © G.

On peut montrer que l’unique solution du problème (4.7) avec ϕ(t . 2 un + h ∀n ∈ N. par l’unicité de la solution du problème de C AUCHY on a y(t ) > 0 pour tout t ∈ [0.10 Soit le problème de C AUCHY : ( y 0 (t ) + y 5 (t ) = 0. R). On étudie la suite ( u 0 > 0. d’après le théorème de C AUCHY -L IPSCHITZ il existe T > 0 et une unique solution y ∈ C 1 ([0. 2. u n+1 un = 1 1+ 2phu < 1 pour tout n ∈ N : la n suite est monotone décroissante. 1. y(t )). ∀t ∈ R+ . en exploitant l’EDO et la régularité de g . alors ` ≥ 0 et ` = 3/2 2` p 2 `+h donc ` = 0. h ∀n ∈ N. pour h > 0 fixé. y est décroissante. (4. On montre ensuite que cette solution est de classe C ∞ ([0. 1. Soit le schéma numérique défini par la suite (u n )n∈N suivante u n+1 − u n u n+1 + p = 0. 2. R+ ). 1 1. R). y(t )). T ]. 152 © G. Faccanoni . y 0 [). Équations différentielles ordinaires 1. 2. T ]. On a alors une suite décroissante et bornée par zéro. On montre d’abord qu’il existe une et une seule solution locale (i. y(0) = y 0 > 0. C ORRECTION DE L’ EXERCICE 4. T ] (car deux trajectoires ne peuvent pas se croiser). C’est un problème de C AUCHY du type ( y 0 (t ) = ϕ(t . Comme y 0 > 0. Montrer qu’il existe une unique solution globale y ∈ C ∞ (R+ . ? La fonctionne nulle est solution de l’EDO (mais non du problème de C AUCHY donné). Soit le schéma numérique défini par la suite (u n )n∈N suivante u n+1 − u n + u n+1 u n4 = 0. T ]. 3. y) = g (y) = − p y 2 .6) est la fonction y : [0. Par récurrence on montre que si u 0 > 0 alors u n > 0 pour tout n ∈ N. De plus. R). ? Comme g ∈ C 1 (R+ . R). T ]. ? Par récurrence. C’est un problème de C AUCHY du type ( y 0 (t ) = ϕ(t . décroissante et convergente vers 0. ∀t ∈ R. Exercice 4. h 2 un ∀n ∈ N.e. R+ ). T ] → R définie par y(t ) = y 0 (4t y 04 + 1)−1/4 . Soit ` la limite de cette suite. Pour h > 0 fixé on obtient une formule de récurrence rendue explicite par un calcul élémentaire : u n+1 = un 1+ ph 2 un 2(u n )3/2 = p . 2 u n +h ∀n ∈ N. On montre enfin que la solution admet un prolongement sur R+ . avec ϕ(t . y) = g (y) = −y 5 . sur [−T . pour h > 0 fixé. De plus.10. y(0) = y 0 > 0. (4.9. donc elle converge. pour h > 0 fixé. Expliciter l’expression de u n+1 en fonction de u n . On en déduit par le théorème des extrémités que la solution y admet un prolongement sur R+ solution de l’EDO. Montrer que la suite (u n )n∈N est une suite positive. ainsi la solution est bornée (y(t ) ∈ ]0.Jeudi 5 juin 2014 4.6) y(0) = y 0 > 0. Montrer que la suite (u n )n∈N est une suite décroissante et convergente vers 0 pour tout h > 0 fixé. on grimpe en régularité sur y ainsi y ∈ C ∞ ([0. C ORRECTION DE L’ EXERCICE 4. ∀t ∈ R. 1. u n+1 = 2(u n )3/2 p . T ]) de classe C 1 ([0. Expliciter l’expression de u n+1 en fonction de u n .

d’après C AUCHY-L IPSCHITZ. Soit h > 0 fixé et t n = nh pour tout n ∈ Z. De plus. . R). Pour y 0 ˜ (k+1)π] ˜ ˜ (k+1)π] ˜ donné. par l’unicité de la solution du problème de C AUCHY on a y(t ) ∈ [kπ. la solution est bornée. on grimpe en régularité sur y et y ∈ C ∞ ([−T. pour h > 0 fixé. Montrer que la suite (u n )n∈N construite par ce schéma vérifie |u n+1 | ≤ |u n | + h. Écrire le schéma le schéma d’E ULER explicite pour ce problème de C AUCHY en explicitant vos notations. 3. Soit ` la limite de cette suite. R). on conclut que |u n+1 | = |u n − h sin(u n )| ≤ |u n | + |h sin(u n )| ≤ |u n | + h pour h > 0 fixé.9) avec ϕ(t . T ]. T ] (car deux trajectoires ne peuvent pas se croiser). On a alors une suite décroissante et bornée par zéro. (4. Pour h > 0 fixé on obtient une formule de récurrence rendue explicite par un calcul élémentaire : u n+1 = un 1 + u n4 h ∀n ∈ N. Toutes les fonctions constante y(t ) = kπ pour k ∈ Z sont solutions de l’équation différentielle car g (kπ) = 0. y(0) = y 0 > 0. R). T ]. 3. |u n | ≤ |u 0 | + nh. 1. 4. En déduire que C ORRECTION DE L’ EXERCICE 4.e. ∀n ∈ N. pour tout t ∈ [−T. u n+1 un = 1 1+u n4 h < 1 pour tout n ∈ N : la suite est monotone décroissante. Par récurrence : |u n+1 | ≤ |u n | + h ≤ |u n−1 | + 2h ≤ · · · ≤ |u 0 | + (n + 1)h. Le schéma d’E ULER explicite pour l’EDO donnée construit la suite u n+1 = u n − h sin(u n ).Jeudi 5 juin 2014 4. ∀n ∈ N. Par récurrence on montre que si u 0 > 0 alors u n > 0 pour tout n ∈ N. ∀n ∈ N. c’est-à-dire que la vitesse de refroidissement du café est proportionnelle à la différence des températures.11. il existe T > 0 et une unique solution y ∈ C 1 ([−T. En formule cela signifie qu’il existe une constante K < 0 telle que la température vérifie l’équation différentielle © G.11 Soit le problème de C AUCHY : ( y 0 (t ) + sin(y(t )) = 0. u n+1 = un . Faccanoni 153 . alors ` ≥ 0 et ` = 1+`` 4 h donc ` = 0. 2. ∀t ∈ R. y(t )). Exercice 4. Montrer qu’il existe une unique solution globale y ∈ C ∞ (R. Exercice 4. (4. R). soit k˜ ∈ Z tel que y 0 ∈ [kπ. . en exploitant l’EDO et la régularité de g . 4. C’est un problème de C AUCHY du type ( y 0 (t ) = ϕ(t . On en déduit par le théorème des extrémités que la solution y admet un prolongement sur R solution de l’EDO. 3. Comme g ∈ C 1 (R. Par récurrence. y(0) = y 0 > 0.12 Loi de N EWTON K Considérons une tasse de café à la température de 75◦C dans une salle à 25◦C. y) = g (y) = − sin(y). On suppose que la température du café suit la loi de Newton. 2. donc elle converge. Ce schéma est donc inconditionnellement A-stable. Comme |a + b| ≤ |a| + |b| et comme | − sin(x)| ≤ 1 pour tout x ∈ R. Équations différentielles ordinaires 2. où h > 0 est le pas de la suite. On étudie la suite ( u 0 = y 0 > 0. 1+u n4 h ∀n ∈ N. i. ∀t ∈ R.8) 1.

La valeur numérique de la constante d’intégration D est obtenue grâce à la CI : 75 = T (0) = 25 + De K ·0 D = 50 =⇒ =⇒ T (t ) = 25 + 50e K t 3.Jeudi 5 juin 2014 4. Grâce à la méthode d’E ULER on peut estimer la température à différentes instantes t i en faisant une discrétisation temporelle du futur (i.14 5 =⇒ T (t ) = 25 + 50e − ln(2) 5 t On peut donc conclure que la température du café évolue selon la fonction T (t ) = 25 + 50e − ln(2) 5 t . Équations différentielles ordinaires ordinaire (EDO) du premier ordre.e. T 0 (t ) = K (T (t ) − 25). cette suite de température est ainsi construite : ( Ti +1 = Ti − ln(2) 5 ∆t (Ti − 25). T 75 50 25 0 5 10 15 t Solution approchée par la méthode d’Euler progressive Supposons de connaître K mais de ne pas vouloir/pouvoir calculer la fonction T (t ). La condition initiale (CI) est donc simplement T (0) = 75. T0 = 75. Calculer la solution exacte de ce problème de C AUCHY et la comparer avec la solution approchée obtenue par la méthode d’E ULER explicite. C ORRECTION DE L’ EXERCICE 4. la famille de solutions dépendra d’une constante qu’on fixera en utilisant la CI. qu’on peut réécrire comme ( Ti +1 = (1 − ln(2) 5 ∆t )Ti + 5 ln(2)∆t . Étant une équation différentielle du premier ordre. Faccanoni . Pour calculer la température à chaque instant on a besoin de connaître la constante K . 154 © G.12. Si on utilise la méthode d’E ULER. Il ne reste qu’à établir la valeur numérique de la constante de refroidissement K grâce à l’«indice» : 50 = T (5) = 25 + 50e K t K =− =⇒ ln(2) ≈ −0. T0 = 75. c’est-à-dire T (5) = 50. on construit une suite de valeurs {t i = 0 + i ∆t }i ) et en construisant une suite de valeurs {Ti }i où chaque Ti est une approximation de T (t i ). Solution exacte 1. On commence par calculer toutes les solutions de l’EDO. Cette valeur peut être déduite en constatant qu’après 5 minutes le café est à 50◦C. Il s’agit d’une EDO à variables séparables donc formellement on a T 0 (t ) = K (T (t ) − 25) Z Z 1 dT = K dt (T − 25) T 0 (t ) =K (T (t ) − 25) =⇒ =⇒ ln(T − 25) = K t + c =⇒ dT = Kdt (T − 25) =⇒ =⇒ T − 25 = De K t =⇒ T (t ) = 25 + De K t 2.

707933 26.422559 42.189141 30.000000 40.052095 36.493849 39.684123 33.525176 48.000000 50. Équations différentielles ordinaires 1.000000 6.000000 1. Faccanoni 155 .331144 T (t i ) − Ti 0.068528 62.000000 9.444642 T (t i ) − Ti 0.341205 1.000000 3.Toulon» La loi de Newton affirme que la vitesse de refroidissement d’un corps est proportionnelle à la différence entre la température du corps et la température externe.000000 0. Exemple avec ∆t = 1 : T 75 50 25 0 5 ti 0.717459 50.355066 1.358729 37.13 «Les experts .257309 1.250000 15 t 10 Ti 75.527528 62.473229 33.805358 2.459000 0.709377 45.000000 68.000000 10.000000 9.250000 15 t 10 Ti 75.881882 34.792067 4.032605 1.000000 T (t i ) 75.000000 37.000000 5.152707 38.987698 53.000000 13.000000 4.197759 1.185225 31.342641 29.763764 43.000000 2.946457 41.892914 57.192283 1.990224 0.000000 12.000000 T (t i ) 75.000000 11.000000 14. Exemple avec ∆t = 5 : T 75 50 25 0 5 ti 0.131610 1.000000 10.290623 1.500000 31.341142 1.341618 32.242691 34.061700 0.794952 1.657359 7.000000 8.246924 32.918856 Exercice 4. autrement dit qu’il existe une constante K < 0 telle que la température du © G.000000 46.000000 15.591391 40.Jeudi 5 juin 2014 4.500000 35.097962 56.000000 7.306634 1.955093 52.000000 5.000000 68.000000 15.179365 31.

En choisissant un pas de discrétisation ∆t . Un homicide a été commis. Comme 0 < 1−K1 ∆t < 1 pour tout ∆t > 0. 4. n) = 1 1 Tn = T0 . T (t )). C ORRECTION DE L’ EXERCICE 4. Pour cette équation différentielle. Approcher l’heure de l’homicide en utilisant le schéma d’E ULER implicite avec ∆t = 10 minutes. On a 0 = K (c − Text ) ? d’où l’unique solution constante T (t ) ≡ Text . 4. i. la suite est positive décroissante ce qui assure que la solution numérique est stable et convergente. 2. si t n = 2H 20 alors t 0 = t n − n∆t = 2H 20 − 1H 20 = 01H 00. Tn+1 = Tn + F (t n+1 . 3. Calcule analytique de toutes les solutions de l’équation différentielle : ? On cherche d’abord les solutions constantes. T (0) = T0 . en procédant par récurrence sur n on obtient Tn+1 = g (∆t . Tn+1 )∆t . ? à l’heure du décès la température du corps était de 37◦C. T0 ) avec g (∆t . © G. n.13. de n et de T0 ). Soit Text = 0◦C. n.007438118376 (l’échelle du temps est en minutes et la température en Celsius). ? le corps de la victime a été trouvé sur le lieu du crime à 2H 20 du matin. Tn ) qui peuvent être une excellente approximation de la fonction T (t ) avec ( t n = t 0 + n∆t . 1. l’itéré en t n ne dépend que de ∆t . 1 − K ∆t (1 − K ∆t )n+1 autrement dit. On cherche combien de minutes se sont écoulés entre le crime et la découverte du corps. autrement dit on cherche n tel que ¡ 37 ¢ µ ¶ ln 20 1 37 37 n+1 20 = 37 =⇒ (1 − K ∆t ) = =⇒ n + 1 = log(1−K ∆t ) = =⇒ n ≈ 8. ? la température externe est Text = 0◦C. 1. Faccanoni . l’itérée en t n ne dépend que de ∆t et de n mais ne dépend pas de Tn . nous obtenons une suite de valeurs (t n . 2. La méthode d’E ULER implicite (ou régressive) est une méthode d’intégration numérique d’EDO du premier ordre de la forme T 0 (t ) = F (t . il est possible de calculer analytiquement ses solutions. Soit ∆t le pas temporel. (1 − K ∆t )n+1 20 20 ln(1 − K ∆t ) Comme t n = t 0 + n∆t .e. ? à l’heure de la découverte la température du corps est de 20◦C. En déduire une forme du type Tn+1 = g (∆t . On veut établir l’heure du crime sachant que ? pour un corps humaine on peut approcher K ≈ −0. Écrire le schéma d’E ULER implicite pour approcher la solution de cette équation différentielle. Puisqu’il s’agit d’une EDO à variables séparables on peut calculer la solution comme suit : T 0 (t ) = K (T (t ) − Text ) Z Z 1 dT = K dt T − Text 156 =⇒ T 0 (t ) =K T (t ) − Text =⇒ dT = K dt T − Text =⇒ =⇒ ln(T − Text ) = K t + c =⇒ T − Text = De K t =⇒ T (t ) = Text + De K t . La méthode d’E ULER implicite pour cette EDO s’écrit donc Tn+1 = Tn + K ∆t (Tn+1 − Text ). T0 ) à préciser (autrement dit. Si Text = 0◦C. Équations différentielles ordinaires corps suit l’équation différentielle ( T 0 (t ) = K (T (t ) − Text ). Que peut-on en déduire sur la convergence de la méthode ? 3. Soit T (t ) 6= Text quelque soit t . les solutions du type T (t ) ≡ c ∈ R quelque soit t . Problème.Jeudi 5 juin 2014 4. Comparer alors la solution exacte avec la solution approchée obtenue au point précédent.

Par récurrence. On considère le schéma semi-implicite I n+1 − I n = k I n (A − I n+1 ).70715903 minutes. Si on note I (t ) ≥ 0 le nombre d’individus infectés à l’instant t ≥ 0 et A > 0 le nombre d’individus total. 3.10) avec ϕ(t . (4. ∆t Montrer que I n → A lorsque n → +∞ indépendamment du pas h > 0 fixé. R). 2. ∀t ∈ R+ . 4. 1. Comme g ∈ C 1 (R. Montrer que si 0 < I 0 < A alors 0 < I (t ) < A pour tout t > 0. T ] (car.Jeudi 5 juin 2014 4. Équations différentielles ordinaires La valeur numérique de la constante d’intégration D est obtenue grâce à la CI : T0 = T (0) = De K ·0 D = −T0 =⇒ T (t ) = T0 e K t =⇒ Ici T0 = 37◦C donc la température du cadavre suit la loi T (t ) = 37e K t . 2. C’est un problème de C AUCHY du type ( I 0 (t ) = ϕ(t . en exploitant l’EDO et la régularité de g . 1. T ]. T [◦C] 3 2 2H20 2H10 2H00 1H50 1H40 1H30 1H20 1H10 1H00 1 t Exercice 4. I (t )) = g (I (t )) = k I (t )(A − I (t )). Puisque I 0 (t ) = k I (t )(A − I (t )). Montrer qu’il existe T > 0 et une unique solution I ∈ C ∞ ([0. il existe une constante k ∈ R+ telle que I 0 (t ) = k I (t )(A − I (t )).14. T ]. par l’unicité de la solution du problème de C AUCHY. on grimpe en régularité sur I et I ∈ C ∞ ([0. Soit 0 < I 0 < A. I (0) = I 0 > 0. Faccanoni 157 . I (0) = I 0 > 0. R) solution du problème de C AUCHY. I (t )).14 Un modèle pour la diffusion d’une épidémie se base sur l’hypothèse que sa vitesse de propagation est proportionnelle au nombre d’individus infectés et au nombre d’individus sains. d’après C AUCHY-L IPSCHITZ. © G. si 0 < I 0 < A alors I est croissante pour tout t ∈ [0. C ORRECTION DE L’ EXERCICE 4. Puisque la fonction nulle et la fonction constante I (t ) = A sont solutions de l’équation différentielle. T ]) au problème de C AUCHY : ( I 0 (t ) = k I (t )(A − I (t )). T ]. Montrer que si 0 < I 0 < A alors I (t ) est croissante sur R+ . On en déduit par le théorème des extrémités que la solution I admet un prolongement sur R+ solution de l’EDO et que I est croissante pour tout t ∈ R+ . c’est-à-dire 83 minutes avant 2H20 : le crime a été commit à 00H57. 3. si 0 < I 0 < A alors 0 < I (t ) < A pour tout t ∈ [0. R). Pour déterminer l’heure du meurtre il faut alors résoudre l’équation 20 = 37e K t d’où t = 1 K ln 20 37 ≈ 82. deux trajectoires ne peuvent pas se croiser). il existe T > 0 et une unique I ∈ C 1 ([0.

158 © G. ? I n est une suite monotone croissante (encore par récurrence on montre que |I n+1 | ≥ |I n | ≥ · · · ≥ |I 0 |) . Soit p(t ) le nombre d’individus (≥ 0) à l’instant t ≥ 0. donc I n → A lorsque n → +∞ indépendamment du pas h > 0 choisi. I 0 = 160. 1 + k I n ∆t Si 0 < I 0 < A alors ? I n > 0 quelque soit n . A∆t si I n → ` alors ` = 1+k 1+k`∆t ` donc ` = 0 ou ` = A . Un modèle qui décrit l’évolution de cette population est l’«équation de la logistique» : soit k et h deux constantes positives. ? Calcul analytique de toutes les solutions : On a déjà observé qu’il y a deux solutions constantes de l’EDO : la fonction I (t ) ≡ 0 et la fonction I (t ) ≡ A.Jeudi 5 juin 2014 4. On considère le schéma semi-implicite I n+1 − I n = k I n (A − I n+1 ) ∆t pour ∆t > 0 fixé. alors p(t ) vérifie l’équation différentielle ordinaire (EDO) du premier ordre p 0 (t ) = kp(t ) − hp 2 (t ). On obtient une formule de récurrence rendue explicite par un calcul élémentaire : I n+1 = 1 + k A∆t In . Pour chercher toutes les solutions non constantes on remarque qu’il s’agit d’une EDO à variables séparables donc on a I (t ) = A De −Akt +1 La valeur numérique de la constante d’intégration D est obtenue grâce à la CI : D= Exemple avec A = 5000. Soit 0 < I 0 < A. Équations différentielles ordinaires 4.15 Considérons une population de bactéries. On veut calculer p(t ) à partir d’un nombre initiale d’individus donné p(0) = p 0 ≥ 0. Faccanoni . k = ln(363/38) 35000 A − I0 I0 et ∆t = 1 : I A Exacte Approchée avec ∆t = 1 I0 t Exercice 4. ? I n est majorée par A car I n+1 ≤ A ⇐⇒ (1 + k A∆t )I n ≤ (1 + k I n ∆t )A ⇐⇒ In ≤ A donc par récurrence I n+1 ≤ A quelque soit n .

k − hp 0 On peut donc conclure que la population évolue selon la fonction p(t ) =   0   k si p 0 = 0. p 5 4 Exemple avec k = 3. ainsi p 0 (t ) = 1. h si p 0 = hk . 3 2 1 0 1 © G. On cherche d’abord les solutions constantes. Équations différentielles ordinaires C ORRECTION DE L’ EXERCICE 4. +∞[ alors p 0 (t ) < 0 et limt →+∞ p(t ) = k/h. kp(t ) − hp 2 (t ) Formellement on a dp = 1 dt kp − hp 2 Z Z Z 1 1 1 −h dp − dp = 1 dt k p k k − hp ¶ µ p = kt + kc ln k − hp k p(t ) = 1 . On commence par calculer toutes les solutions de l’EDO. Il s’agit d’une EDO à variables séparables. la famille de solutions dépendra d’une constante qu’on fixera en utilisant la CI. Étant une équation différentielle du premier ordre. Faccanoni 2 3 t 159 .15. On a donc deux solutions constantes : p(t ) ≡ 0 et p(t ) ≡ k . dorénavant on supposera p(t ) 6= 0 et p(t ) 6= k + h pour tout t ∈ R .  k    k−hp 0 +h sinon. c’est-à-dire les solutions du type p(t ) ≡ c pour tout t ∈ R+ : 0 = kc − hc 2 . Solution exacte 1. +h De kt Z 1 dp = 1 dt p(k − hp) 1 1 ln(p) − ln(k − hp) = t + c k k p = De kt k − hp Z =⇒ =⇒ =⇒ =⇒ =⇒ =⇒ 2. h Étant donné que deux solutions d’une EDO ne s’intersectent jamais. ? si p 0 ∈ ]k/h. p 0 e kt Une simple étude de la fonction p montre que ? si p 0 ∈ ]0.Jeudi 5 juin 2014 4. k/h[ alors p 0 (t ) > 0 et limt →+∞ p(t ) = k/h. h = 1 et différentes valeurs de p0. La valeur numérique de la constante d’intégration D est obtenue grâce à la CI : p 0 = p(0) = kD 1 + hDe 0k =⇒ D= p0 .

945411 2.e.000952 0.15.493175 2. y(0) = 1. On veut appliquer cette méthode au cas de la figure précédente. Équations différentielles ordinaires Solution approchée Supposons de ne pas vouloir/pouvoir calculer la fonction p(t ).983102 2.005199 p 5 4 3 2 1 0 1 2 3 t Exercice 4.000000 0.831887 2. Si on choisit comme pas temporelle ∆t = 0.147451 3 0.000000 2. Si on utilise la méthode d’E ULER.993240 pi 2. on obtient les figures suivantes : ti p(t i ) pi p(t i ) − p i p 0.00 0.007752 −0.011423 −0.30 0.060532 −0.90 3.75 0.021054 3. qu’on peut réécrire comme ( p i +1 = (1 + k∆t − h∆t p i )p i .023535 −0. ¢ h m ¡ (m) y (x + h) − y (m) (x) . (m + 1)! Considérons le problème de C AUCHY ( y 0 (x) + 4y(x) = x 2 .983429 2.048325 −0. ainsi elle permet d’écrire une formule d’intégration numérique.027415 1 1. p 0 donné.005736 0.35 3. h = 1 et les valeurs initiales p 0 = 5 et p 0 = 2.237500 0.011659 1.001731 0.15 4.300000 2.45 0.541500 2.064952 0.000523 0.274771 2.969529 2.000000 −0. est E= 1 y (m+1) (ξ)h m+1 (m + 1)! que l’on peut approcher par E' pour x < ξ < x + h.974092 2.903298 2.65 1.05 3.989412 2.65 3.007573 0 1 2 3 t 1. Grâce à la méthode d’E ULER on peut estimer le nombre d’indivus à différentes instantes t i en faisant une discrétisation temporelle du futur (i.345137 4 0.008524 3. i.80 p(t i ) 2.042942 −0.45 3.770980 2.052319 3.016571 −0.500000 0.05 1.50 3. due aux termes omis.025229 −0.937070 2.e.019115 0. cette suite est ainsi construite : ( p i +1 = p i + ∆t p i (k − hp i ).003150 0.122164 0.998439 p(t i ) − p i 0.527123 0.60 3.000000 2.035091 0.60 0.655760 2.005430 3.20 1.010459 0.582637 3.35 1.849816 2.50 1.063759 2 1. avec k = 3.004907 ti 0.060907 −0.90 1. p 0 donné.716292 2.16 Méthode de TAYLOR La méthode de TAYLOR est basé sur la relation y(x + h) ' y(x) + y 0 (x)h + 1 00 1 1 (m) y (x)h 2 + y 000 (x)h 3 + · · · + y (x)h m 2! 3! m! Cette relation prédit y(x + h) à partir de y(x).032459 −0.00 5.096956 0.013390 3.000000 5.997164 2.959567 2.041861 1.994852 2.132046 3.017904 1.Jeudi 5 juin 2014 4.347079 3.30 3. Faccanoni .75 3.027123 3.000000 5 0.053483 −0.15 0.990663 2.033151 3.902469 2.20 3.224915 0. Le dernier terme indique l’ordre de la méthode et l’erreur de troncature. 160 © G.082874 3.80 3. on construit une suite de valeurs {t i = 0 + i ∆t }i ) et en construisant une suite de valeurs {p i }i où chaque p i est une approximation de p(t i ).212403 3.

Jeudi 5 juin 2014 4. Faccanoni ¢ 248 ¡ I V 248 y (0. y I V (x) = −4y 000 (x).1) ' −4 −4 −4 × 0.6707 + (0. donc. y 00 (x) = −4y 0 (x) + 2x. Le développement de TAYLOR en 0 jusqu’à l’ordre 4 est y(h) ' y(0) + y 0 (0)h + 1 1 1 00 y (0)h 2 + y 000 (0)h 3 + y I V (0)h 4 . 2 0 y (x) = −4y(x) + x . y 000 (x) = −4y 00 (x) + 2. 2! 3! 4! En dérivant l’EDO on trouve y(0) = 1.1)2 + 0.1. 960000 960000 161 . y I V (0) = 248. y 0 (0) = −4.16.1) par la méthode de TAYLOR d’ordre 4 avec un seul pas d’intégration.259 et on obtient l’estimation de l’erreur E' © G. y 00 (0) = 16. on obtient y(0. C ORRECTION DE L’ EXERCICE 4.259 − 248) = −0. Équations différentielles ordinaires Estimer y(0. pour x = 0 et h = 0.000068.1) − y I V (0) = (166.1) ' 1 + −4 16 −62 248 + + + = 0. y 000 (0) = −62.6707 10 200 6000 240000 et comme ¢ ¢ ¢ ¡ ¢ ¡ ¡ ¢ ¢ ¡ ¡ ¡ y I V (x + h) = −4y 000 (x) = −4 −4y 00 (x) + 2 = −4 −4y 0 (x) + 2x + 2 = −4 −4 −4y(x) + x 2 + 2x + 2 ¡ ¡ ¡ ¢ ¢ ¢ alors y I V (0.2 + 2 = 166.

.

j ) ∈ Rn×n et b = (b i ) ∈ Rn . . Le SYSTÈME HOMOGÈNE associé à (S) est le système obtenu en remplaçant les b i par 0.  a 1p .. a n1  . autrement dit A = (a i . s’il n’admet pas de solution..   a n1 x 1 + . Les COEFFICIENTS a i j et les SECONDES MEMBRES b i sont des éléments donnés de R.5.546530. x 2 . itératives si elles nécessitent (théoriquement) un nombre infini d’étapes. 2.85398 0 . . ou incompatible.1. Ce système et non singulier et sa solution est donnée par x 1 = x 2 = 1. La solution du système peut alors être calculée par la formule de C RAMER... Dans ce chapitre.712390x 2 = 7. 3... bn . A est inversible (i. Une SOLUTION de (S) est un p-uplet (x 1 . . des capacités de stockage en mémoire et enfin de l’architecture de l’ordinateur. .853982. Résoudre (S) signifie chercher toutes les solutions.. des méthodes numériques alternatives aux formules de C RAMER ont été développées. 163 . + + . . Dans ce cas.327917x 2 = 10. a np x p = = b1 .  b =  .. Cependant cette formule est d’une utilité pratique limitée à cause du calcul des déterminants qui est très couteux. Pour cette raison. Un système est POSSIBLE. ou compatible.. Systèmes mal conditionnés Considérons le système de deux équations à deux inconnues suivant : ( 3. Un SYSTÈME LINÉAIRE n × p est un ensemble de n équations linéaires à p inconnues de la forme (S) ? ? ? ? ?  a x   11 1 . Écriture matricielle Si on note  x1  . mais aussi du type de matrice.21861 1 x 1 + 6. x p sont à chercher dans R. x p ) qui vérifie simultanément les n équations de (S).  x =  .e. A= . nous ne traiterons que des systèmes linéaires carrés d’ordre n à coefficients réels. 5. s’il admet une ou plusieurs solutions. 3. Systèmes linéaires Résoudre l’ensemble d’équations linéaires Ax = b Définition Définition : système linéaire Soit n.712390x 2 = 7. . .. on est assuré de l’existence et de l’unicité de la solution si une des conditions équivalentes suivantes est remplie : 1.218613x 1 + 6. det(A) 6= 0) .. Considérons maintenant un système d’équations voisin (le carré indique un changement de décimale) : ( 3. .546530.  a np le système (S) est équivalent à l’écriture matricielle Ax = b.. Elles sont dites directes si elles fournissent la solution du système en un nombre fini d’étapes. ≥ 1 des entiers. Un système est IMPOSSIBLE.  bn   a 11  .  xp  b1  . Deux systèmes sont ÉQUIVALENTS s’ils admettent les mêmes solutions... Notons dès à présent que le choix entre une méthode directe et une méthode itérative pour la résolution d’un système dépend non seulement de l’efficacité théorique des algorithmes. . le système homogène Ax = 0 admet seulement la solution nulle.14159 4 x 1 + 4. x 2 . .141592x 1 + 4. .327917x 2 = 10. . + a 1p x p ..  . . Les INCONNUES x 1 . p.

Systèmes linéaires Jeudi 5 juin 2014 Ce système et non singulier et sa solution est donnée par x 1 = −5. Remarque Cas particulier Si A est symétrique et définie positive a . Cependant. Définition Conditionnement d’une matrice Le conditionnement d’une matrice A ∈ Rn×n non singulière est défini par K (A) = kAkkA−1 k(≥ 1). Si on calcul la solution du système linéaire avec un ordinateur à p chiffres significatifs en valeur décimale. On voit alors que plus le conditionnement de la matrice est grand. Résoudre un système mal conditionné avec un ordinateur peut être une affaire délicate si l’ordinateur calcule avec trop peu de chiffres significatifs. La question est de savoir s’il est possible de majorer l’erreur relative kδxk/kxk sur la solution du système en fonction de l’erreur relative kδbk/kbk commise sur le second membre.n j =1 |a i j |. ? définie positive si pour tout vecteurs x ∈ Rn avec x 6= 0. si l’ordinateur ne retient que 6 chiffres significatifs.. λmin ) est la plus grande (resp. j ≤ n. n. plus la solution du système linéaire est sensible aux perturbations des données. Si kδbk/kbk est de l’ordre de la précision relative η = 10−p du calculateur.. au pire.. . Il est possible de démontrer que kδbk kδxk ≤ K (A) kxk kbk où K (A) est le nombre de conditionnement de la matrice A.n i =1 kAk∞ = max |a i j |. x 2 = 5. on ne pourra pas garantir à priori plus de E (p − log10 (K (A))) chiffres significatifs sur la solution. par conséquent nous pouvons perdre jusqu’à 7 chiffres significatifs lors de sa résolution. Faccanoni . Si δb est une perturbation de b et si on résout Ay = b + δb. . n X i =1. l’ordre des équations peut changer totalement la solution donnée par une méthode numérique ! 164 © G. le fait d’avoir une matrice avec un grand conditionnement n’empêche pas nécessairement le système global d’être bien conditionné pour des choix particuliers du second membre. . Inversement. où k·k est une norme matricielle subordonnée. Dans l’exemple précédent nous observons que. il est complètement inespéré d’obtenir une solution raisonnablement proche de la solution. le fait qu’un système linéaire soit bien conditionné n’implique pas nécessairement que sa solution soit calculée avec précision.. petite) valeur propre de A. Par exemple. A ∈ Rn×n est ? symétrique si a i j = a j i pour tout i . Attention Un système linéaire ne change pas de solution si on change l’ordre des équations. j = 1. K 2 (A) = kAk2 kA−1 k2 = λmax λmin où λmax (resp. on obtient par linéarité y = x + δx avec Aδx = δb. a. .. On parle dans ce cas de systèmes mal conditionnés. Exemple Un exemple bien connu de matrice mal conditionnée est la matrice de H ILBERT d’ordre n définie par a i j = 1/(i + j −1) pour 1 ≤ i . leurs solutions sont très différentes. Il faut donc un ordinateur calculant avec 10 chiffres significatifs pour être sûr d’obtenir les 3 premiers chiffres de la solution. il est facile de vérifier que K (A) ' 107 . bien que ces deux systèmes soient voisins.. être égal à K (A)η = 10log10 (K (A)) 10−p = 10log10 (K (A)−p) . K (A) dépend du choix de la norme . En général. ceci est signalé en introduisant un indice dans la notation. Considérons un système non singulier Ax = b.. alors kδxk/kxk pourrait. On voit donc que.5. xT Ax > 0. Si on applique cette règle au système linéaire de l’exemple. on a les deux normes matricielles suivantes : kAk1 = max n X j =1. Cependant.. Il faut en plus utiliser des algorithmes stables.

Jeudi 5 juin 2014

5. Systèmes linéaires

5.2. Méthode (directe) d’élimination de G AUSS et factorisation LU
Définition Matrices et systèmes triangulaires

On dit qu’une matrice carrée A = (a i j )1≤i , j ≤n est TRIANGULAIRE SUPÉRIEURE (respectivement triangulaire INFÉRIEURE)
si i > j =⇒ a i j = 0 (resp. si i < j =⇒ a i j = 0).
Si la matrice est triangulaire supérieure (resp. triangulaire inférieure), on dira que le système linéaire est un système
triangulaire supérieur (resp. triangulaire inférieur).
Pour résoudre le système triangulaire Ax = b,
b
? si A est une matrice triangulaire inférieure, on a x 1 = a 1 et on déduit les inconnues x 2 , x 3 , . . . x n grâce à la relation
11
Ã
!
iP
−1
1
ai j x j ;
xi = a bi −
ii

?

j =1

si A est une matrice triangulaire supérieure on a x n =
Ã
!
n
P
1
xi = a bi −
ai j x j .
ii

bn
a nn

et on déduit les inconnues x n−1 , x n−2 , . . . x 1 grâce à la relation

j =i +1

Propriété
Le déterminant d’une matrice triangulaire est égal au produit des éléments diagonaux.
La méthode du pivot de G AUSS transforme le système Ax = b en un système équivalent (c’est-à-dire ayant la même
solution) de la forme Ux = y, où U est une matrice triangulaire supérieure et y est un second membre convenablement
modifié. Enfin on résout le système triangulaire Ux = y.

Définition Méthode du pivot de G AUSS

Soit A = (a i j ) 1≤i ≤n la matrice des coefficients du système Ax = b.
1≤ j ≤p

=

`

ik

Étape k : en permutant éventuellement deux lignes du système, on peut supposer a kk 6= 0 (appelé pivot de l’étape k). On
transforme toutes les lignes L i avec i > k comme suit :

Li ← Li −

ai k
a kk

Lk .

En réitérant le procédé pour k de 1 à n, on aboutit à un système triangulaire supérieur.

Exemple
Soit le système linéaire

x +2x 2 +3x 3 +4x 4 = 1,

 1

2x 1 +3x 2 +4x 3 +x 4 = 2,

3x +4x 2 +x 3 +2x 4 = 3,

 1
4x 1 +x 2 +2x 3 +3x 4 = 4.

1. Résolution par la méthode du pivot de G AUSS :


2 −2L 1
x 1 +2x 2 +3x 3 +4x 4 = 1 LL 2 ←L

x 1 +2x 2 +3x 3 +4x 4 = 1

3 ←L 3 −3L 1 


2x 1 +3x 2 +4x 3 +x 4 = 2 L 4 ←L 4 −4L 1
−x 2 −2x 3 −7x 4 = 0
−−−−−−−−−→


3x
+4x
+x
+2x
=
3
−2x
1
2
3
4
2 −8x 3 −10x 4 = 0




4x 1 +x 2 +2x 3 +3x 4 = 4
−7x 2 −10x 3 −13x 4 = 0


x +2x 2 +3x 3 +4x 4 = 1
x 1 +2x 2 +3x 3 +4x 4 = 1

L 3 ←L 3 −2L 2 

 1


−x 2 −2x 3 −7x 4 = 0
−x 2 −2x 3 −7x 4 = 0 L 4 ←L 4 +L 3
L 4 ←L 4 −7L 2
−−−−−−−−−→
−−−−−−−−→


−4x 3 +4x 4 = 0
−4x 3 +4x 4 = 0




40x 4 = 0
4x 3 +36x 4 = 0

donc x 4 = 0, x 3 = 0, x 2 = 0 et x 1 = 1.
2. Résolution par la méthode du pivot de G AUSS en écriture matricielle :
1
 2

[A|b] = 
3
4

© G. Faccanoni

2
3
4
1

3
4
1
2

4
1
2
3

 L 2 ←L 2 −2L 1 
1
L 3 ←L 3 −3L 1

2 
4 −4L 1
 −L−4−←L
−−−−−−→ 


3
4

1
0
0
0

2
−1
−2
−7

3
−2
−8
−10

4
−7
−10
−13


1
0 

0 
0

165

5. Systèmes linéaires

Jeudi 5 juin 2014

1

L 3 ←L 3 −2L 2
L 4 ←L 4 −7L 2 
 0

−−−−−−−−−→ 

0
0

2
−1
0
0

3
−2
−4
4

4
−7
4
36



1

0  L 4 ←L 4 +L 3 
−−−−−−−−→ 

0 
0

1
0
0
0

2
−1
0
0

3
−2
−4
0

4
−7
4
40


1
0 

0 
0

donc x 4 = 0, x 3 = 0, x 2 = 0 et x 1 = 1.

Si on a plusieurs systèmes dont seul le second membre change, il peut être utile de factoriser une fois pour toute la
matrice A et résoudre ensuite des systèmes triangulaires.

Algorithme de factorisation LU sans pivot

Soit le système linéaire Ax = b.
Factorisation On commence par factoriser la matrice A ∈ Rn×n sous la forme d’un produit de deux matrices A = LU.
Les termes non nuls de U et les termes non nuls en-dessous de la diagonale principale de L sont mémorisés encore
dans la matrice A et sont ainsi calculées :
for k = 1 to n − 1 do
for i = k + 1 to n do
ai k
{Il s’agit de `i k mémorisé dans a i k }
ai k ←
a kk
for j = k + 1 to n do
ai j ← ai j − ai k ak j
{Il s’agit de u i j mémorisé dans a i j }
end for
end for
end for

Résolution Résoudre le système linéaire revient maintenant à résoudre successivement
1. le système triangulaire inférieur Ly = b : les éléments non nuls de la matrice triangulaire inférieure L sont
donné par `i j = a i j pour i = 1, . . . , n et j = 1, . . . , i − 1 et `i i = 1 pour tout i = 1, . . . , n, donc l’algorithme
s’écrit
y 1 ← b1
for i = 2 to n do
si ← 0
for j = 1 to i − 1 do
si ← si + ai j y j
end for
y i ← bi − si
end for
2. le système triangulaire supérieure Ux = y : les éléments non nuls de la matrice triangulaire supérieure U sont
donné par u i j = a i j pour i = 1, . . . , n et j = i , . . . , n, donc l’algorithme s’écrit
yn
xn ←
a nn
for i = n − 1 to 1 by −1 do
si ← 0
for j = 1 to i − 1 do
si ← si + ai j y j
end for
y i − si
xi ←
ai i
end for

Attention

Pour une matrice quelconque A ∈ Rn×n , la factorisation LU existe et est unique si et seulement si les sous-matrices
principales Ai de A d’ordre i = 1, . . . , n − 1 (celles que l’on obtient en restreignant A à ses i premières lignes et colonnes)
ne sont pas singulières (autrement dit si les mineurs principaux, i.e. les déterminants des sous-matrices principales, sont
non nuls).

On peut identifier des classes de matrices particulières pour lesquelles les hypothèses de cette proposition sont satisfaites :

Proposition

Si la matrice A ∈ Rn×n est symétrique et définie positive ou si est à diagonale dominante a alors la factorisation LU existe
et est unique.
a. A ∈ Rn×n est
? symétrique si a i j = a j i pour tout i , j = 1, . . . , n,
? définie positive si pour tout vecteurs x ∈ Rn avec x 6= 0, xT Ax > 0,

166

© G. Faccanoni

Jeudi 5 juin 2014

5. Systèmes linéaires

? à diagonale dominante par lignes si |a i i | ≥

Pn

|a |, pour i = 1, . . . , n (à diagonale dominante stricte par lignes si l’inégalité est stricte),

j =1 i j
j 6=i
P
? à diagonale dominante par colonnes si |a i i | ≥ nj=1 |a j i |, pour i = 1, . . . , n (à diagonale dominante stricte par colonnes si l’inégalité est stricte),
j 6=i

Une technique qui permet d’effectuer la factorisation LU pour toute matrice A inversible, même quand les hypothèses de
cette proposition ne sont pas vérifiées, est la méthode du pivot par ligne : il suffit d’effectuer une permutation convenable
des lignes de la matrice originale A à chaque étape k où un terme diagonal a kk s’annule.

Définition Algorithme de G AUSS avec pivot
(k)
doivent être différents de zéro. Si la matrice est inversible mais un
Dans la méthode d’élimination de G AUSS les pivot a kk
pivot est zéro (ou numériquement proche de zéro), on peut permuter deux lignes avant de poursuivre la factorisation.
Concrètement, à chaque étape on cherche à avoir le pivot de valeur absolue la plus grande possible. L’algorithme modifié
s’écrit alors
for k = 1 to n − 1 do
for i = k + 1 to n do
Chercher r¯ tel que |a r(k)
| = maxr =k,...,n |a r(k)
| et échanger la ligne k avec la ligne r¯
¯k
k

`i k ←

a i(k)
k

(k)
a kk
for j = k + 1 to n do
a (k)
− `(k)
← a i(k)
a i(k+1)
j
j
ik k j
end for
end for
end for
Une fois calculées les matrices L et U et la matrice des permutations P (i.e. la matrice telle que PA = LU), résoudre
le système linéaire consiste simplement à résoudre successivement le système triangulaire inférieur Ly = Pb puis le
système triangulaire supérieure Ux = y.

Propriété Déterminant
La factorisation LU permet de calculer le déterminant de A en O(n 3 ) car det(A) = det(L) det(U) =

Qn

k=1

u kk .

Propriété Inverse d’une matrice

Le calcul explicite de l’inverse d’une matrice peut être effectué en utilisant la factorisation LU comme suit. En notant X
l’inverse d’une matrice régulière A ∈ Rn×n , les vecteurs colonnes de X sont les solutions des systèmes linéaires
Axi = ei ,

pour i = 1, . . . , n.

En supposant que PA = LU, où P est la matrice de changement de pivot partiel, on doit résoudre 2n systèmes triangulaires de la forme
Lyi = Pei ,
Uxi = yi ,
pour i = 1, . . . , n.
c’est-à-dire une suite de systèmes linéaires ayant la même matrice mais des seconds membres différents.

Exemple
Soit les systèmes linéaires

1
2

3
4

2
3
4
1

3
4
1
2

   
4 x1
1
x 2  2
1
  =  
2 x 3  3

3

x4

et

4


1
2

3
4

2
3
4
1

3
4
1
2

   
10
4 x1
x 2  10
1
  =  .
2 x 3  10

3

x4

10

1. Résoudre les systèmes linéaires par la méthode du pivot de G AUSS.
2. Factoriser la matrice A (sans utiliser la technique du pivot) et résoudre les systèmes linéaires.
3. Calculer le déterminant de A.
4. Calculer A−1 .
1. Résolution par la méthode du pivot de G AUSS du premier système
1
 2

[A|b] = 
3
4

© G. Faccanoni

2
3
4
1

3
4
1
2

4
1
2
3

 L 2 ←L 2 −2L 1 
1
L 3 ←L 3 −3L 1

2 
4 −4L 1
 −L−4−←L
−−−−−−→ 


3
4

1
0
0
0

2
−1
−2
−7

3
−2
−8
−10

4
−7
−10
−13


1
L 3 ←L 3 −2L 2
0 
4 −7L 2
 −L−4−←L
−−−−−−→

0
0

1
 0

 0
0

2
−1
0
0

3
−2
−4
4

4
−7
4
36


1
0 

0 
0

167

5. Systèmes linéaires

Jeudi 5 juin 2014
1
0
L 4 ←L 4 +L 3 
−−−−−−−−→ 
 0
0

2
−1
0
0

3
−2
−4
0


1
0 

0 
0

4
−7
4
40

donc
x 4 = 0,

x 3 = 0,

x 2 = 0,

x 1 = 1.

Résolution par la méthode du pivot de G AUSS du second système
1
 2

(A|b) = 
3
4

2
3
4
1

3
4
1
2

 L 2 ←L 2 −2L 1 
10
L 3 ←L 3 −3L 1

10 
4 −4L 1
 −L−4−←L
−−−−−−→ 

10 
10

4
1
2
3

1
0
0
0

2
−1
−2
−7

3
−2
−8
−10

1

2
−1
0
0

3
−2
−4
0

L 4 ←L 4 +L 3 
 0

−−−−−−−−→ 

0
0

4
−7
−10
−13
4
−7
4
40


10
L 3 ←L 3 −2L 2
−10 
4 −7L 2
 −L−4−←L
−−−−−−→
−20 
−30

10
−10 

0 

1
 0

 0
0

2
−1
0
0

3
−2
−4
4

4
−7
4
36


10
−10 

0 
40

40

donc


x 1 + 2x 2 + 3x 3 + 4x 4 = 10



−x − 2x − 7x = −10
2
3
4
−4x 3 + 4x 4 = 0




40x 4 = 40

=⇒

x 4 = 1,

x 3 = 1,

x 2 = 1,

x 1 = 1.

2. Factorisation de la matrice A :

1
2

3
4

2
3
4
1



2 −2L 1
4 LL 2 ←L
1
3 ←L 3 −3L 1

1
2
L
←L
−4L
4
1
 −−4−−−−
−−−→ 
3
2

3
4
1
2

3

4

2
−1
−2
−7

3
−2
−8
−10


4
L 3 ←L 3 −2L 2
−7 
4 −7L 2
 −L−4−←L
−−−−−−→
−10
−13


1
2

3
4

2
−1
2
7



1
4

2
−7
L
←L
+L
4
3
 −−4−−−−
−−→ 
3
4
4
36

3
−2
−4
4

2
−1
2
7

3
−2
−4
−1


4
−7

4
40

donc

1
2
L=
3
4

0
1
2
7

0
0
1
−1


1
0
U=
0
0


0
0

0
1

2
−1
0
0

3
−2
−4
0


4
−7

4
40

Pour résoudre le premier système linéaire on résout les systèmes triangulaires Ly = b
0
1
2
7

0
0
1
−1

   
1
0 y1
 y 2  2 
0
  =  
0   y 3  3 
4
1 y4

2
−1
0
0

3
−2
−4
0

   
1
4
x1
x 2  0
−7
  =  
4  x 3  0
0
40 x 4


1
2

3
4

=⇒

y 1 = 1,

y 2 = 0,

y 3 = 0,

y4 = 0

x 4 = 0,

x 3 = 0,

x 2 = 0,

x 1 = 1.

y 2 = −10,

y 3 = 0,

y 4 = 40

x 2 = 1,

x 1 = 1.

et Ux = y

1
0

0
0

=⇒

Pour résoudre le second système linéaire on résout les systèmes triangulaires Ly = b

1
2

3
4

0
1
2
7


1
0

0
0

2
−1
0
0

0
0
1
−1

   
10
0 y1
   
0
  y 2  = 10
0  y 3  10

y4

1

y 1 = 10,

=⇒

10

et Ux = y
3
−2
−4
0

  

4
x1
10




−7 x 2  −10

=
4  x 3   0 

40

x4

=⇒

x 4 = 1,

x 3 = 1,

40

3. Le déterminant de A est u 11 u 22 u 33 u 44 = 1 × (−1) × (−4) × 40 = 160.

168

© G. Faccanoni

e. . © G. x n(k) n P j =1 j 6=i a i j x kj ai i . . x n(k) )T ∈ Rn convergent vers le vecteur solution exacte x = (x 1 . . Faccanoni 169 . .e. . . Dans ces notes on ne verra que deux méthodes itératives : ? la méthode de J ACOBI .. . .  2 x 3  0 3 0 1 2 7 0 1 2 7 0 1 2 7 0 1 2 7 3 x4 0 4      4 x1 0 1      1  x 2  = 1 i. Méthodes itératives Une méthode itérative pour le calcul de la solution d’un système linéaire Ax = b avec A ∈ Rn×n est une méthode qui construit une suite de vecteurs x(k) = (x 1(k) . x n(0) )T ∈ Rn lorsque k tend vers +∞. 1 1 y4 0 11 0        0 y1 0 0 1        0   y 2  = 1 =⇒  1  puis 0 −2 0 0   y 3  0  1 y4 0     0 0 y1     0   y 2  = 0 =⇒ 0   y 3  1  −9 0    0 1 0     puis 0 1  0 1 y4 1 0 0        0 y1 0 0 1        0   y 2  = 0 =⇒ 0 puis 0 0  0 0   y 3  0  1 y4 1 1 0     −9  /40 4 x1 1       1/40  −7 x 2  −2  = =⇒  1  /40  4  x 3   1  11 /40 40 x 4 11     1  /40 4 x1 0     1  −7  x 2  =  1  =⇒  /40   11/40  4  x 3  −2 −9 /40 40 x 4 −9     1  4 x1 0 /40      11  −7  x 2  = 0 =⇒  /40   − 9/40 4   x 3  1  1 /40 40 x 4 1      11  /40 4 x1 0     −9  −7  x 2  = 0 =⇒  /40  1/40  4   x 3  0  40 x4 1 /40 1 et finalement −9 /40 1 −1  /40 A = 1 /40 11 /40 /40 /40 11 /40 −9 /40 1 1 /40 /40 −9 /40 1 /40 1 1 11 −9   −9 /40 1  1 /40  = 1 /40  40  11 1 /40 11 1 11 11 −9 1 5. x n0 ) un vecteur donné. . . ? la méthode de G AUSS -S EIDEL .Jeudi 5 juin 2014 5. x n )T pour tout vecteur initiale x(0) = (x 1(0) . .3. . . x 2(0) . Pour calculer A−1 on résout les quatre systèmes linéaires  1 2  3 4  1 2  3 4  1 2  3 4  1 2  3 4 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2      4 x1 1 1      2 1 x 2  0  = i.e. . x 20 . . .e. x i(k+1) −1 x i(k+1) x i(k+1) +1 .. . x n(k+1)                          Proposition Si la matrice A est à diagonale dominante stricte... . . Définition Méthode de J ACOBI Soit x0 = (x 10 . . La méthode de J ACOBI définit la composante x ik+1 du vecteur xk+1 à partir des composantes x kj du vecteur xk pour j 6= i de la manière suivante : bi − x ik+1 =              x(k) =             x 1(k) x 2(k) . x 2(k) . . x 2 . 2 3 2 x 3  0 3 x4 0 4      1 0 4 x1      1  x 2  = 0 i. 2 3 2 x 3  1 4 0 3 x4      4 x1 0 1      1  x 2  = 0 i. la méthode de J ACOBI converge. x i(k) −1 x i(k) x i(k) +1 . . . . i = 1. n                                       x(k+1) =             x 1(k+1) x 2(k+1) . Systèmes linéaires 4. 2 3 2 x 3  0 3 x4 1 4        0 y1 1 1 1        0 0   y 2  0  −2   = =⇒   puis  0   y 3  0  1 0 0 0 1 −1 0 0 1 −1 0 0 1 −1 0 0 1 −1 2 −1 0 0 2 −1 0 0 2 −1 0 0 2 −1 0 0 3 −2 −4 0 3 −2 −4 0 3 −2 −4 0 3 −2 −4 0 1 11 −9 1  11 −9 .

. Définition Méthode de G AUSS -S IDEL Soit x0 = (x 10 . TOLL iter ← 0 r ← kb − Axk while (r >TOLL & iter<MaxITER) do iter ← iter +1 y←x for i from 1 to n do s ←0 for j from 1 to i − 1 do s ← s + ai j x j end for for j from i + 1 to n do s ← s + ai j y j end for x i ← (b i − s)/a i i end for r ← kb − Axk end while Il n’y a pas de résultat général établissant que la méthode de G AUSS -S EIDEL converge toujours plus vite que celle de J ACOBI.. TOLL iter ← 0 r ← kb − Axk while (r >TOLL & iter<MaxITER) do iter ← iter +1 y←x for i from 1 to n do s ←0 for j from 1 to i − 1 do s ← s + ai j y j end for for j from i + 1 to n do s ← s + ai j y j end for x i ← (b i − s)/a i i end for r ← kb − Axk end while G AUSS -S EIDEL Require: A = (a i j )1≤i . . le nombre d’itérations effectuées est alors renvoyé dans iter. . . x i(k) −1 x i(k) x i(k) +1 . J ACOBI Require: A = (a i j )1≤i . x.. MaxITER est le nombre maximum d’itérations. MaxITER. b = (b i )1≤i ≤n . x n(k+1)                          Proposition Si la matrice A est à diagonale dominante stricte ou si elle est symétrique et définie positive. de taille n × n. . Systèmes linéaires Jeudi 5 juin 2014 La méthode de G AUSS -S IDEL est une amélioration de la méthode de J ACOBI dans laquelle les valeurs calculées sont utilisées au fur et à mesure du calcul et non à l’issue d’une itération comme dans la méthode de J ACOBI. comme le montre la proposition suivante Proposition Soit A une matrice tridiagonale de taille n × n inversible dont les coefficients diagonaux sont tous non nuls. b = (b i )1≤i ≤n . Faccanoni . j ≤n . doit être inversible et le second membre b doit être de longueur n. Les itérations s’arrêtent quand le rapport entre la norme du k-ème residu est inférieure ou égale à TOLL. x.5. la méthode de G AUSS -S EIDEL converge. j ≤n . En cas 170 © G. Algorithmes Ces algorithmes tentent de résoudre le système d’équations linéaires Ax = b d’inconnue x. . Alors les méthodes de J ACOBI et de G AUSS -S EIDEL sont soit toutes les deux convergentes soit toutes les deux divergentes. MaxITER. La méthode de G AUSS -S IDEL définit la composante x ik+1 du vecteur xk+1 à partir des composantes x k+1 du vecteur xk+1 pour j < i et des composantes x kj du vecteur xk pour j ≥ i de la manière j suivante : iP −1 n P bi − a i j x k+1 − a i j x kj j x ik+1 =              (k) x =             j =1 j =i +1 ai i x 1(k) x 2(k) .. i = 1.. . x i(k+1) −1 x i(k+1) x i(k+1) +1 . . . On peut cependant l’affirmer dans certains cas. . La matrice A. . n                                       (k+1) x =             x 1(k+1) x 2(k+1) . x 20 . x n(k) . . x n0 ) un vecteur donné.

la méthode de G AUSS -S EIDEL est plus rapide que celle de J ACOBI. Systèmes linéaires de convergence. x =  1+ 2  = . 1. x y = 1+ 2 . x =  1+ 2 = 3 61 527 11 /2 9 1 /64 −3/32 9 /256 / 8 − − − − 4 2 4 4 2 4   x(4) =    1 61  5 1 − −2/32 − 4/32 /128 1  1 + −2/8  =  15/16  . 0. 0) le vecteur initial. x = 1+ 2 = 9 2047 16349 /1024 /2048 9 /8192 − − 4 2 4  La suite x(k) converge vers (0. Soit x(0) = (0. 3 9 0 0 9 3 61 1 1 9 −1/16 9 /2 /4 /2 /32 4−2−4 4−2−4 4− 2 − 4 La suite x(k) converge vers (0. © G.   y z = 94 − x2 − 4 . 1. ? En calculant les itérées avec la méthode de G AUSS -S EIDEL on trouve        3 11  1 − 02 − 40 1 − 2/2 − 4/8 −3/32 1 3   61  (1)  (2)  1   3/2  − / 32 /64 . Exemple Considérons le système linéaire  4 −1 2 mis sous la forme 2 2 1     4 1 x 0  y  = 2 9 4 z  y z  x = 1 − 2 − 4 . x(3) =  1 + −2/16  = −1/32 .Jeudi 5 juin 2014 5. x(2) =  1 + 12  =  3/2  . Faccanoni 171 . 2) la solution du système. 265 −1/8 −1/32 9 /128 4− 2 − 4   3 61  9 1 − −2/32 − 4/64 /1024 9   2047 (3)  / 1024 /2048  . 2) la solution du système. ? En calculant les itérées avec la méthode de J ACOBI on trouve       3 3 9       1 − 2/2 − 4/2 1 − 20 − 04 1 − 21 − 4/4 1 −1/16 −1/8 1     x(1) =  1 + 02  =  1  .

..995 x ≈ −0... . Approcher la solution avec la méthode de J ACOBI avec 3 itérations à partir de x(0) = (2.. Exercice 5. 2.083 . Méthode de G AUSS -S EIDEL :  12−(1×2+1×2)  4    /3 2  0−(2× 64 +0×2)  (0) (1) 2 3      2 x = . 3 1 1 y 6 1 3 6 2 172  1 1 −3 6 y 2 = −4. Systèmes linéaires Jeudi 5 juin 2014 Exercices .861 2....5. Résoudre les systèmes linéaires par la méthode d’élimination de G AUSS. 2). Faccanoni .. 6 x3 6 1 4 2 1. x 1 = 2. 3....  1 3.. 2). x =  = −3 .995 .. x =  4 6−(1×2+2×2) 0 6    12−(1× −2 +1× 10 )   12−(1×(−1)+1×0)   13  /6  0−(2× 4 +0×0)  (2) 3  = −2/3 ... C ORRECTION DE L’ EXERCICE 5.. 11 1 3 x 2 − 3 x 3 = −4   6x 3 = 6 x 3 = 1. 0....926 x ≈ −1. Méthode d’élimination de G AUSS :  6 (A|b) =  2 1 1 4 2  L 2 ←L 2 − 62 L 1  6 12 L 3 ←L 3 − 16 L 1 0  −−−−−−−−→  0 6 0 1 0 6 1 11 3 11 6 1 − 13 35 6 11   6 L 12 6 L 3 ←L 3 − 11 2 3 −4  −−−−−−−−−−→  0 0 4 1 11 3 0 1 − 13 6  12 −4  6 donc   6x 1 + x 2 + x 3 = 12..1. Approcher la solution avec la méthode de G AUSS -S EIDEL avec 3 itérations à partir de x(0) = (2. y3 = 6 © G...1 Soit le système linéaire  6 2 1     1 x1 12 0  x 2  =  0  . Factorisation de la matrice A :  6 2 1  L 2 ←L 2 − 26 L 1  6 1 L 3 ←L 3 − 16 L 1 0 −−−−−−−−→  62 1 6 6 1 4 2 1 11 3 11 6  11  1 L 3 ←L 3 − 116 L 2  62 3 − 31  −−−−−−−−−−→  6 35 6 1 11 3 11 6 11 3 1 6  1 − 13    6 donc  1 L =  31 1 6 0 1 1 2  0 0 1  6 U = 0 0 1 11 3 0 Pour résoudre le système linéaire on résout les systèmes triangulaires Ly = b      1 0 0 y1 12 1   y2 =  0  1 0 =⇒ y 1 = 12. 2 4  12−(1×2+1×2) /3 6     0−(2×2+0×2) (1) −1 = .. Factoriser la matrice A (sans utiliser la technique du pivot) et résoudre les systèmes linéaires. 4. 2. 2. Méthode de J ACOBI :   2 (0) x = 2  . 4.. 1. 4 6−(1× 34 +2× −2 ) 2 1 3 6  12−(1× 35 +1× −35 )  12−(1× −2  35  3 +1×1) /18 6  0−(2× 35 +0×1)  (2) 35    18 − /36 . x =   4 10 6−(1× 43 +2×(−1)) /9 3 6 (3) x  =  6 9 6 10 0−(2× 13 6 +0× 9 ) 4 −2 6−(1× 13 6 +2× 3 ) 6  52  /27   = −13/12  31 /36 ainsi   1. x = = 4 35 −35 1 6−(1× 18 +2× 36 ) 6   18 (3) x 36  431  /216   = −431/432  4 431 −431 1 6−(1× 216 +2× 432 ) 6  =  0−(2× 431 216 +0×1) 6 ainsi  1. =⇒ x 2 = −1.

sont non nuls). . . 2. avec b ∈ Mn.2. 2 Par conséquent  1 L = −1/3 −1/3 0 1 −1/2  0 0 1  et 3 U = 0 0 −1 8 /3 0  −1 −4/3 .3 Calculer. . les déterminants des sous-matrices principales.e. lorsqu’il est possible.e. j de L et U). les matrices réelles symétriques définies positives. le système triangulaire supérieure Ux = y par l’algorithme à ! n X yn 1 yi − ui j x j . on dispose de tous les coefficients `i . . avec b ∈ Mn. n − 1 (celles que l’on obtient en restreignant A à ses i premières lignes et colonnes) ne sont pas singulières (autrement dit si les mineurs principaux. n j =1 2. Factorisation :  3 −1 −1 −1 3 −1  L 2 ←L 2 − −1  3 L1 −1 3 L 3 ←L 3 − −1 L1 3 −1 −−−−−−−−−→ 0 0 3   −1 L ←L − − / L 3 3 3 2 / −4/3 −−−−−−−−−−→ 0 8 /3 0 −1 8 /3 −4/3 4 8 3 3 j = n − 1.2. . Soit la matrice A suivante :  3 −1 −1 −1 3 −1  −1 −1 .1 (R) donné. Faccanoni 173 . Exercice 5. Pour une matrice quelconque A ∈ Mn. . la factorisation LU (sans pivot) existe et est unique ssi les sous-matrices principales Ai de A d’ordre i = 1. écrire l’algorithme de résolution de Ax = b. j et u i . 9  1 B = 7 2 2 8 4  3 9 . x 1 = 2. est la méthode du pivot par ligne : il suffit d’effectuer une permutation convenable des lignes de la matrice originale A à chaque étape k où un terme diagonal a kk s’annule. 5 Comment peut-on modifier l’algorithme de factorisation pour pouvoir toujours aboutir à une factorisation LU lorsque la matrice est inversible ? © G.2 Soit A une matrice. Une technique qui permet d’effectuer la factorisation LU pour toute matrice A inversible. . . 1.1 (R) donné consiste simplement à résoudre successivement 2. A ∈ Mn. C ORRECTION DE L’ EXERCICE 5. On suppose L et U construites (i. 1. résoudre le système linéaire Ax = b. le système triangulaire inférieur Ly = b par l’algorithme y 1 = b1 . y i = bi − iX −1 `i j y j . 2 Exercice 5. . Rappeler les conditions nécessaires et suffisantes pour l’existence d’une factorisation LU de la matrice A et préciser les définitions de L et U.Jeudi 5 juin 2014 5. =⇒ x 2 = −1. Systèmes linéaires et Ux = y  6 0 0 1 11 3 0     1 x1 1 − 13  x 2  = −4 x3 6 6 x 3 = 1. . Mentionnons par exemple : les matrices à diagonale strictement dominante. 2. . xi = xn = u nn ui i j =i +1 3.n (R). 3 Construire à la main les matrices L et U de la factorisation LU. même quand les hypothèses de cette proposition ne sont pas vérifiées. Une fois calculées les matrices L et U. la factorisation LU des matrices suivantes :  1 A = 2 7 2 4 8  3 5 .n (R). . On peut identifier des classes de matrices particulières pour lesquelles les hypothèses de cette proposition sont satisfaites. i = 2.1. 1 −1 8 /3 0  −1 −4/3 . 3. i. .

3. la méthode de G AUSS pour calculer la factorisation LU de la matrice A n’est plus applicable. Systèmes linéaires Jeudi 5 juin 2014 C ORRECTION DE L’ EXERCICE 5. Soit α = −1. sont non nuls). on ne peut pas factoriser A sans utiliser la technique du pivot.e. Pour la matrice A cela aurait donné  1  A= 2 7 2 4 8   3 1 L 2 ↔L 3 5 −−−−−→ 7 9 2 2 8 4  L 2 ←L 2 − 71 L 1  1 3 L 3 ←L 3 − 21 L 1 9 −−−−−−−−→ 0 0 5 2 −6 0  3 −12 . À quelle condition sur α. Dans notre exemple cela donne  1 P = 0 0 0 0 1  0 1 0 Exercice 5.4. 1 1 A2 = 7 2 2 −6 0  3 −12 −1 La factorisation LU de la matrice B est donc 1 L = 7 2  1 U = 0 0 2 −6 0  3 −12 . En effet. les déterminants des sous-matrices principales. n − 1 (celles que l’on obtient en restreignant A à ses i premières lignes et colonnes) ne sont pas singulières (autrement dit si les mineurs principaux. Pour une matrice quelconque A ∈ Mn. 0   0 b = −3/2 . dite matrice pivotale. si le pivot n’est pas nul mais très petit. À quelle condition sur α.5. la décomposition LU de la matrice M = PAα . Soit α = −1. C’est pourquoi des algorithmes qui échangent les éléments de façon à avoir le pivot le plus grand possible ont été développés. . Matrice B :  2 8 4  L 2 ←L 2 − 17 L 1  3 1 L 3 ←L 3 − 21 L 1 9 −−−−−−−−→ 0 5 0  0 1 0  0 0 . Matrice A : comme det(A) 6= 0. Puisque det(A1 ) = a 11 = 1 6= 0 mais det(A2 ) = a 11 a 22 − a12a 21 = 0. Comme   2 4 1 det(A) = det α −2 −1 2 174 3 2 © G. l’algorithme conduit à des erreurs d’arrondi importantes. i. la matrice A est bien inversible.  1 A = 2 7 2 4 8  L 2 ←L 2 − 12 L 1  1 3 L 3 ←L 3 − 71 L 1 5 −−−−−−−−→ 0 0 9 2 0 −6  3 −1  −12 La factorisation LU ne peut pas être calculée car à la prochaine étape il faudrait effectuer le changement L 3 ← L 3 − −6 0 L2. Résoudre le système linéaire Ax = b en résolvant le système linéaire Mx = Pb. Calculer. ceci est réalisé en introduisant une nouvelle matrice P. 4. la matrice Aα admet-elle une décomposition LU (sans pivot) ? 3. la matrice Aα est inversible ? 2. 1. −1 Bien évidemment. . il faut garder trace de cet échange de lignes pour qu’il puisse être répercuté sur le terme source et sur l’inconnue lors de la résolution du système linéaire . De plus. Les programmes optimisés intervertissent les lignes à chaque étape de façon à placer en pivot le terme de coefficient le plus élevé : c’est la méthode du pivot partiel. −1 1.4 Soit α un paramètre réel et soient les matrices Aα . si elle existe. La matrice Aα est inversible si et seulement si det(A) 6= 0. P et le vecteur b définis par  2 Aα = α 2 4 −2 3  1 −1 . Faccanoni . −1 Lorsqu’un pivot est nul. telle que PA = LU : la résolution du système linéaire Ax = b est donc ramené à la résolution des deux systèmes triangulaires Ly = Pb et Ux = y. C ORRECTION DE L’ EXERCICE 5. .n (R). 2  1 P = 0 0 0 0 1  0 1 . . la factorisation LU (sans pivot) existe et est unique ssi les sous-matrices principales Ai de A d’ordre i = 1.

© G. . det(A2 ) = −4(1 + α). . .Jeudi 5 juin 2014 5. Pour une matrice A carrée d’ordre n quelconque. ... .. la matrice Aα admet une décomposition LU (sans pivot) si et seulement si α 6= −1. on obtient la décomposition LU suivante de la matrice M :  1 L= 1 − 12 0 1 0  0 0 .. . ? 3 3 1 y3 = − + y1 = − . . x 1 = (0 − x 2 − 4x 3 )/2 = − 19 .   . .    0  0 β avec α et β réels non nuls. µ ¶ 2 4 A2 = . sont non nuls). . 1  2 U = 0 0  1 1 .   ... .. Faccanoni 175 .  . Si α = −1 la matrice Aα n’admet pas de décomposition LU sans pivot.  . 2 2 2 y 2 = −1 − y 1 = −1. . . − 21 4 −1 0 4. A= 0 . Pour résoudre le système linéaire Mx = Pb il suffit de résoudre les deux systèmes triangulaires suivantes : ? Ly = Pb : y 1 = 0.. la factorisation de G AUSS existe et est unique si et seulement si les sous-matrices principales Ai de A d’ordre i = 1. 0 α β α 0 β 0 0 . 2 Exercice 5.. Par conséquent.5 Considérons les deux matrices carrées d’ordre n > 3 :  α 0 0 0 . ... la matrice Aα est inversible si et seulement si α 6= − 56 .   B=  . β β  β β  . 0 0 α 0   . Ux = y : x3 = −3 (−2) = 3... 3. 2 x 2 = (−1 − x 3 )/(−1) = 4. Systèmes linéaires = (2 × (−2) × 2) + (4 × (−1) × 2) + (1 × α × 3) − (2 × (−1) × 3) − (4 × α × 2) − (1 × (−2) × 2) = (−8) + (−8) + (3α) − (−6) − (8α) − (−4) = −6 − 5α. 1. .. 0 α 0 α β  α 0    0  . α −2 det(A1 ) = 2. i.   β    β  β α β β  . .e. Pour la matrice Aα on a les sous-matrices principales suivantes : ¡ ¢ A1 = 2 .. 2. 0 0 . . .. . Vérifier que la factorisation LU de la matrice B ne peut pas être calculée sans utiliser la technique du pivot... 0 . . les déterminants des sousmatrices principales. . La matrice P échange les lignes 2 et 3 de la matrice A et on obtient la matrice      1 0 0 2 4 1 2 4 1 3 2 .. n − 1 (celles que l’on obtient en restreignant A à ses i premières lignes et colonnes) ne sont pas singulières (autrement dit si les mineurs principaux. Calculer analytiquement le nombre d’opérations nécessaires pour calculer la factorisation LU de la matrice A.  β α  0 . 2..  0 0 0 α β β .. 0 0 . 0 .  . PA−1 = 0 0 1 −1 −2 −1 =  2 0 1 0 2 3 2 −1 −2 −1 La matrice M admet une décomposition LU (sans pivot) et l’on a  2 2 −1 4 3 −2   2 1 L 2 ←L 2 −L−11 L 3 ←L 3 − 2 L 1 2  −−−−−−−−−→ 0 −1 0 4 −1 0  1 1  − 12 Par conséquent.. .. 0 α 0 0 0 .

α i =1 n−1 Y 4.2 = α ± q (n − 1)β.6.5. Le coût globale est donc de l’ordre de n. 176 © G. 2. le conditionnement de la matrice en norme 2 est K 2 (A) =  α+βpn−1   α−βpn−1 p   α−βpn−1 α+β n−1 si β ≥ 0. Les valeurs propres de la matrice A sont les racines du déterminant de la matrice A − λI. α > 0. si n = 4. Par exemple. ce qui requiert le calcul de l’unique multiplicateur `nk = β/α et l’exécution de n − 1 produits et sommes. La matrice A est une matrice «en flèche» : pour en calculer la factorisation LU il suffit de transformer la dernière ligne. sinon.  2. 3. on conclut que δn = n Y i =1 u i i = u nn · µ ¶ β2 n−1 u i i = α − (n − 1) α = αn − (n − 1)αn−2 β2 . C ORRECTION DE L’ EXERCICE 5. 3i =1 |a i j | < |a i i | pour j = 1.e. La factorisation LU de la matrice B ne peut pas être calculée sans utiliser la technique du pivot car l’élément pivotale au deuxième pas est nul. i. Exprimer le déterminant de la matrice A sous forme récursive en fonction des coefficients de la matrice et de sa dimension n. Suivant le même raisonnement du point précédant.5. pour que la matrice A soit définie positive il faut que les valeurs propres soient tous positifs. Par conséquent. ce qui impose α . Faccanoni . Une condition suffisante pour la convergence des méthodes de J ACOBI et de G AUSS P S EIDEL est que A est à diagonale strictement dominante. Comme u i i = α pour tout i < n et u nn = α − (n − 1)β2 /α. Exercice 5. 4. Le déterminant δn de la matrice A de dimension n coïncide avec le déterminant de la matrice U. Systèmes linéaires Jeudi 5 juin 2014 3. λ3 = · · · = λn = α.6 Donner une condition suffisante sur le coefficient α pour avoir convergence des méthodes de J ACOBI et G AUSS -S EIDEL pour la résolution d’un système linéaire associé à la matrice  α A = 0 1 0 α 0  1 0 α C ORRECTION DE L’ EXERCICE 5. 1. on obtient : β  β B(1) =  β α  0 0 α β   L 2 ←L 2 −L 1 β α L 3 ←L 3 −L 1 α  L ←L − L 4 4 β 1 0 0  −−−−−−−− −→ B(2) =  0 0 0 α 0 β β 0 0 0 α 0 α 0 α −α −α β β β − αβ  2   . ce déterminant s’écrit (α − λ)n − (n − 1)(α − λ)n−2 β2 dont les racines sont λ1. Sous quelles conditions sur α et β la matrice A est définie positive ? Dans ce cas. |β| < p n −1 Dans ce cas. 3. exprimer le conditionnement de la matrice en fonction des coefficients et de la dimension n. La matrice A vérifie cette i 6= j condition si et seulement si |α| > 1.

0     . indiquer le nombre minimal d’opérations nécessaire pour calculer U ainsi que celui pour la résolution des systèmes triangulaires finaux. λ3 = α + β. .   . a n.  ..8.2 0 . |α| > |β|.    . Systèmes linéaires Exercice 5.2 ..  .2 a 2. lorsque A est symétrique définie positive alors elle est aussi à dominance diagonale stricte.8 Écrire les formules de la méthode d’élimination de G AUSS pour une matrice de la forme   a 1.. 2. C ORRECTION DE L’ EXERCICE 5. Une condition suffisante pour que la méthode de J ACOBI converge est que la matrice soit à dominance diagonale stricte. ce qui équivaut à imposer   |α| > |γ|. 1. ..1 a n. β. les formules de la méthode d’élimination de G AUSS deviennent (k) a i(k+1) = a i(k) + `i k a k.   a 2. A=  . . . . © ª c’est-à-dire |α| > max |β|.n−1 a n. Faccanoni 177 .Jeudi 5 juin 2014 5. . La coût est donc de l’ordre de n et la matrice U est bidiagonale supérieure.7.1 a 1... On a λ1 = α. convergence de la méthode de J ACOBI 2.3 0   .  . . donc il faut que α > |β|. β = δ. a n−1. Donner des conditions suffisantes sur les coefficients pour avoir 1. convergence de la méthode de G AUSS-S EIDEL. Une autre condition suffisante pour la convergence de cette méthode est que la matrice soit symétrique définie positive. Exercice 5. C ORRECTION DE L’ EXERCICE 5.   .. j j j `i k = a i(k) k (k) a kk . © G.n−1 a n−1. . Pour la symétrie il faut que ( γ = 0.n  a n. on obtient ainsi la matrice α A = 0 0  0 α β  0 β . . α Elle est définie positive si ses valeurs propres sont positifs. i = k + 1..   .  . |δ| . .n Quelle est la forme finale de la matrice U = A(n) ? Étant donné la forme particulière de la matrice A.. .1 a 2. Comme la matrice a une seule sur-diagonale non nulle.7 Considérons le système linéaire Ax = b avec  α A = 0 0 0 α δ  γ β α avec α. |γ|. La condition précédente est aussi suffisante pour la convergence de la méthode de G AUSS-S EIDEL.. γ et δ des paramètres réels. j = k + 1. λ2 = α − β. 0  .   |α| > |δ|. . i .. On note que dans ce cas. .

B est la matrice inverse de A si AB = BA = I.     . . . . 0 .  0  (n − 2)γ il faut que   β + γ = 1 −β + (n − 3)γ = 0   (n − 2)γ = 1 ce qui donne β= n −3 . ε = 2−30 en format 32 bits)..    γ . . . β+γ −β + (n − 3)γ . Calculer γ et β pour que B soit l’inverse de A. −α   α .9.  ... α −α γ −α . 1 U= ε 0 µ 1 1 − 2ε ¶ © G. . Commenter.  .   .   . 2. C ORRECTION DE L’ EXERCICE 5.... par exemple.  . Systèmes linéaires Jeudi 5 juin 2014 Exercice 5. = . |α| n −2 |α| kA−1 k∞ = On conclut que le conditionnement K ∞ (A) en fonction de n est K ∞ (A) = n|α| 2 = 2n. On trouve immédiatement kAk∞ = n|α| tandis que n 1 n o 2 max n. . |α| La matrice est donc mal conditionnée pour n grand.. . Simuler la résolution par l’ordinateur des deux systèmes suivants : ( ( εa + b = 1 2a + b = 0 et 2a + b = 0 εa + b = 1 On appliquera pour cela la méthode du pivot de G AUSS et on donnera les décompositions LU des deux matrices associées à ces systèmes. n −2 2. −α −α −α γ −α .  . γ −α . B= α   ... On fournira également la solution exacte de ces systèmes. . γ −  . n −2 γ= 1 . Exercice 5..10.5.   . Comme  β+γ 0 . Par définition.  .  . Faccanoni . C ORRECTION DE L’ EXERCICE 5... 0  AB =  . Premier système : ε 2 µ 1 1 ¶µ ¶ µ ¶ a 1 = . Calculer le conditionnement K ∞ (A) en fonction de n et en calculer la limite pour n qui tend vers l’infini. b 0 Factorisation LU : ε 2 µ 178 ¶ µ 1 L 2 ←L 2 − 2ε L 1 ε −−−−−−−−→ 1 0 1 1 − 2ε ¶ donc L= µ 1 2 ε ¶ 0 ...   − A= . β α γ −α α γ α 1. 1.10 On suppose que le nombre réel ε > 0 est assez petit pour que l’ordinateur arrondisse 1 + ε en 1 et 1 + (1/ε) en 1/ε (ε est plus petit que l’erreur machine (relative).9 Soit α ∈ R∗ et considérons les matrices carrées de dimension n    β α 0 .. −β + (n − 3)γ 0 .

ε 1 − 2ε =⇒ Mais avec l’ordinateur. Faccanoni 1 1 2     1 x1 1 3 x 2  = 1 4 x3 1 et  1 2  3 2 2 −5 1 2 3 7 1 0     4 x1 1  x 2  1  1   =   5   x 3  1  3 x4 1 1 1  1 1  et 1 −2 4 0 1 3 6 0     1 x1 1 x 2  1 4   =   8 x 3  1 0 x4 1 179 . 1 µ 2 U= 0 1 1 − 2ε ¶ Pour résoudre le système linéaire on résout les systèmes triangulaires Ly = b et Ux = y : µ 1 0 1 ε 2 µ 2 0 ¶µ 1 1 − 2ε ¶ µ ¶ y1 0 = y2 1 y 1 = 0. =⇒ 2 y2 = − . =⇒ ¶µ ¶ µ ¶ a 0 = b 1 1+ 2 a= b=− ¡ ¢. y 2 = 1. ¶ e = b et Ux e =y: Pour résoudre ce système linéaire approché on résout les systèmes triangulaires Ly µ 1 2 ε ε 0 µ ¶µ ¶ µ ¶ y1 1 = y2 0 ¶µ ¶ µ ¶ 1 a 1 = 2 − 2ε b −ε 0 1 y 1 = 1. µ e= 2 U 0 1 − 2ε ¡ 2 ¢ ε 1− 2ε ε . ε 1 − 2ε =⇒ Mais avec l’ordinateur.11 Rappeler l’algorithme vu en cours pour calculer la décomposition LU d’une matrice A et la solution du système Ax = b où le vecteur colonne b est donné. =⇒ a = 0. Systèmes linéaires Pour résoudre le système linéaire on résout les systèmes triangulaires Ly = b et Ux = y : µ 1 0 1 2 ε ε 0 µ ¶µ 1 1 − 2ε ¶ µ ¶ y1 1 = y2 0 ¶µ ¶ µ ¶ 1 a = 2 b −ε 2 y2 = − . 2 ε a= . b 1 Factorisation LU : ¶ µ 1 L 2 ←L 2 − 2ε L 1 2 −−−−−−−−→ 1 0 µ 2 ε 1 1 − 2ε ¶ donc L= µ 1 ε 2 ¶ 0 . Second système : µ 2 ε 1 1 ¶µ ¶ µ ¶ a 0 = . on obtient µ ¶ e = 12 0 L 1 ε µ e= ε U 0 1 − 2ε a= ¡ 2 ¢ ε 1− 2ε ε . ¶ e = b et Ux e =y: Pour résoudre ce système linéaire approché on résout les systèmes triangulaires Ly µ 1 ε 2 µ 2 0 ¶ µ ¶ y1 0 = y2 1 ¶µ ¶ µ ¶ 1 a 0 = 1 − 2ε b 0 1 ¶µ =⇒ y 1 = 0. On appliquera ces algorithmes pour les cas suivants :  1 2 −3 © G.Jeudi 5 juin 2014 5. comme 1 + ε ≈ 1 et 1 + (1/ε) ≈ 1/ε. ε b = 1. =⇒ 1+ 2 b=− ¡ ¢. 4 Exercice 5. comme 1 + ε ≈ 1 et 1 + (1/ε) ≈ 1/ε. ε y 1 = 1. on obtient ¶ µ e = 1ε 0 L 1 2 y 2 = 1. =⇒ ε b=− .

© G. Faccanoni . 12  1 1 12 1 −1 0 x2 = 11 . Premier système :  1  2 −3 1 1 2 1 3 4  L 2 ←L 2 − 21 L 1  1 1 L 3 ←L 3 − −3 1 L1 1  −−−−−−−−−→  0 1 0 1 −1 5   1 1 5 L2 L 3 ←L 3 − −1 −1  −−−−−−−−−→  0 4 0 1 1 7 1 −1 0 1 1 12  1 −1  −1 donc  1 L= 2 −3  0 0 1 0 1 −5 Il ne reste à résoudre que le système triangulaire   x 1 + x 2 + x 3 = 1 −x 2 + x 3 = −1   12x 3 = −1  1 U = 0 0 =⇒ x 3 = − 1 . 1 −3 0 0 x 3 = 0. 1 2 7 0  1 3  10 8 21 x 2 = 0. Systèmes linéaires Jeudi 5 juin 2014 C ORRECTION DE L’ EXERCICE 5. 91  4 −7    − 28 9 13 − 11 x2 = 29 .5. 91  1 −0   0  0 1 3 10 −2   1 −5/3 L 4 ←L 4 − 7 L 2  −0   −− −−−−−−−−→   0  0 1 0 0 0 1 −3 0 0 1 2 7 0 1 3 10 8 21  1 −0   0  0 donc  1 1 L= 1 1 0 1 −1 1 3 0 0 1 −5 21 Il ne reste à résoudre que le système triangulaire   x 1 + x 2 + x 3 + x 4 = 1   −3x + 2x + 3x = 0 2 3 4  7x + 10x = 0  3 4   8 x = 0 4 21 180  0 0  0 1  1 0 U= 0 0 =⇒ x 4 = 0. 13 2 −9 0 0 3 1 − 77 9 0 x3 = 23 . 91 x1 = 48 . 12 1 x1 = . x 1 = 1. 6 Deuxième système : 2 1  2   3 2  2 −5 1 2 3 7 1 0 4 1 5 3  L 2 ←L 2 − 13 L 1  1 L 3 ←L 3 − 1 L 1 L ←L − 2 L 1  1   −−4−−−4−−1−→    1 1  −5 1 0 0 0 2 −9 −5 −2 3 1 −8 −6 1  L 4 ←L 4 − −2 −9 L 2  0 −−−−−−−−−→  0 0 2 −9 0 0 3 1 − 77 9 − 56 9 L 3 ←L 3 − −9 L 2 4 −7 −7 −5  1 −1   −2  −1 4 −7 − 28 9 − 31 9   1 L ←L − 56/9 L  −1   4 4 77/9 2  13  −−−−−−−−−−→  −9 − 79 1 0 0 0 2 −9 0 0 3 1 − 77 9 0 4 −7 − 28 9 13 − 11  1 −1    − 13 9 3 11 donc 1 2  L= 3 2  0 1 0 0 1 5 9 2 9  0 0  0 1 56 77 Il ne reste à résoudre que le système triangulaire   x 1 + 2x 2 + 3x 3 + 4x 4 = 1    −9x + x − 7x = −1 2 3 4 =⇒ x 4 = − 28 13  − 77  9 x3 − 9 x4 = − 9    13 3 − 11 x 4 = 11 Troisième système :  1 1 1  1 −2 3   1 4 6 1 0 0 1 4 8 0 1 0  U= 0 0   L ←L −L  2 2 1 1 L 3 ←L 3 −L 1  1  L ←L −L 1   −−4−−−4−−→  1  1 1 1 1 1 0 −3 2 3 0 3 5 7 0 −1 −1 −1  1 1 1 L 3 ←L 3 −(−1)L 2 −1 L 4 ←L 4 − −3 L 2  0 −3 2 −−−−−−−−−−→   0 0 7 0 0 − 53 3 .11.

501 11 − 10 × (−49) µ ¶ Premier système : ( 10a + b = 11 2a + 10b = 12 ( ⇐⇒ a= b= 11−b 10 12−2a 10 La matrice étant à diagonale dominante stricte. 0 © G. x =  12−2 . 0). 11 49 49 502 12−2 50 0 / 10 / 50 /500 10 10 10 ? 10 Second système : ( 2a + 10b = 12 ( ⇐⇒ 10a + b = 11 12−10b 2 a= b = 11 − 10a La méthode ne converge pas. 0 (1) x 12−0 2 ¶ µ ¶ 6 = . . Pour chacun de ces méthodes et systèmes. −49 x(2) = µ 12−10×(−49) 2 11 − 10 × 251 ¶ µ = ¶ 251 . x = 12−2 25001 = 12499 x = .Jeudi 5 juin 2014 5. C ORRECTION DE L’ EXERCICE 5. J ACOBI et G AUSS -S EIDEL pour les systèmes suivants : ( 10a + b = 11 ( 2a + 10b = 12 et 2a + 10b = 12 10a + b = 11. Faccanoni x(1) = µ 12−0 2 11 − 10 × 6 ¶ µ = ¶ 6 . Systèmes linéaires Exercice 5. = 11 11 − 0 µ (2) x 12−10×11 2 µ ¶ −49 = = . Second système : µ Jacobi 10 2 ? 2 10 10 1 12 11 ¶ L 2 ←L 2 − 10 2 L1 µ 2 0 −−−−−−−−−→ 10 −49 ¶ 12 −49 =⇒ ( 2a + 10b = 12 ( =⇒ −49b = −49 a =1 b = 1. Premier système : ( 10a + b = 11 2a + 10b = 12 ( ⇐⇒ a= b= 11−b 10 12−2a 10 La matrice étant à diagonale dominante stricte. −124999 181 .12. la méthode converge et on a     Ã 11−0 ! µ ¶ 49 ¶ µ 25001 µ 501 ¶ µ ¶ 11− 2499 11− 50 2500 11 /25000 / 500 / 10 0 10 (3) (2) (0) (1) 10 10     11 . on illustrera les résultats théoriques de convergence/non-convergence en calculant les 3 premières itérés en prenant comme point de départ le vecteur (a. x = . en effet on a (0) x Gauss-Seidel ? µ ¶ 0 = . en effet on a x(0) = µ ¶ 0 . −49 11 − 10 × 6 µ ¶ (3) x 12−10×(−49) 2 µ ¶ 251 = = . −2499 x(3) = µ 12−10×(−2499) 2 11 − 10 × (12501) ¶ µ = ¶ 12501 . x = 12−2 = 49 . Gauss ? Premier système : µ ? ¶ 11 12 1 10 2 L 2 ←L 2 − 10 L1 µ −−−−−−−−−→ 10 0 1 11 49 5 49 5 ( ¶ =⇒ ( 10a + b = 11 49 5 b = =⇒ 49 5 a =1 b = 1. x = 12−2 501 = 2499 10 /125000 /2500 /50 0 25000 500 10 ? 10 10 Second système : ( 2a + 10b = 12 10a + b = 11 ( ⇐⇒ 12−10b 2 a= b = 11 − 10a La méthode ne converge pas. la méthode converge et on a     12 49 µ ¶ µ 11−0 ¶ µ11 ¶ µ49 ¶ µ501 ¶ 11− 10 11− 50 0 / 10 / 50 /500 (0) (1) (2) (3) 10 10  = 10  =  x = .12 Écrire les méthodes itératives de G AUSS. b) = (0. x = 12−0 = 12 .

et C ORRECTION DE L’ EXERCICE 5. y 2 = −12.14 Soit A une matrice. Rappeler la méthode de J ACOBI pour la résolution du système Ax = b. 1. On calcul d’abord la décomposition LU de la matrice A :  1 2 3 −5 −13 −27   −7 L 2 ←L 2 −2L 1 1 L 3 ←L 3 −3L 1 −18 −−−−−−−−→ 0 −36 0 −5 −3 −12   −7 1 L 3 ←L 3 −4L 2 −4  −−−−−−−−→ 0 −15 0  −7 −4 1 −5 −3 0 donc  1 L = 2 3 0 1 4  0 0 1  1 U = 0 0 −5 −3 0  −7 −4 1 Pour résoudre chaque système linéaire on résout les systèmes triangulaires Ly = b et Ux = y.5. x 2 = 7. y 3 = 6. Pour le seconde système on a  1 2 3  1 0 0 0 1 4 −5 −3 0     0 y1 6 0  y 2  =  0  1 y3 −3     −7 x 1 6 −4 x 2  = −12 1 x3 27 3. y 2 = 3.13. A ∈ Mn. x 2 = −7. Pour le premier système on a  1 2 3  1 0 0 1 4 −5 −3 0 0     0 y1 3 0  y 2  = 3 1 y3 3     −7 x 1 3 −4 x 2  = −3 1 x3 6 =⇒ y 1 = 3. y 3 = −6. x 1 = 35. y 3 = 27. y 2 = −3. =⇒ x 3 = 6. =⇒ x 3 = 27. =⇒ y 1 = 6. Exercice 5. 2. Systèmes linéaires Jeudi 5 juin 2014 Exercice 5. =⇒ x 3 = −6. x 1 = 10. Pour le dernier système on a  1 2 3  1 0 0 −5 −3 0 0 1 4     0 y1 0 0  y 2  = 3 6 1 y3     −7 x 1 6 −4 x 2  = −12 1 x3 27 =⇒ y 1 = 0. x 2 = −32. Faccanoni .1 (R) donné. x 1 = −7.n (R). Le trois systèmes s’écrivent sous forme matricielle  1 2 3 −5 −13 −27     −7 x 3 −18  y  = 3 −36 z 3  et 1 2 3 −5 −13 −27     −7 x 6 −18  y  =  0  −36 z −3  1 2 3 et −5 −13 −27     −7 x 0 −18  y  = 3 −36 z 6 On remarque que seul le terme source change. avec b ∈ Mn.13 Résoudre les systèmes linéaires suivants :   x − 5y − 7z = 3 2x − 13y − 18z = 3   3x − 27y − 36z = 3   x − 5y − 7z = 6 2x − 13y − 18z = 0   3x − 27y − 36z = −3 et   x − 5y − 7z = 0 2x − 13y − 18z = 3   3x − 27y − 36z = 6. 182 © G. 1.

Faccanoni 0 . .  .  ..   . 0 . . . . .   .. 0 . 2 1 . . .. 35 /11 Exercice 5. 1  0 .. . ..  L n ←L n − 2 1 L n−1  .  0 1 0  ..  ... 4 −1 3 −1 La méthode de J ACOBI est-elle convergente pour cette matrice ? 3.  . . . Calculer la factorisation LU de A...  ....  . ..        0 0 . 2 2 0 1 1 1 . −1  .   . 1.  ...    0 .. . .. . 1 1  .  . 0 2 . . 0 −1 .  0 1 1  © G. . .  ... . . . .. . .   −1 4 On obtient les matrices 1 0  0    0 L=   .. . .. .. .. .. L ←L n − 1 L 1  .. 0 1 −1 0 2 2 . .. . . .. . . . Soit la matrice A suivante :  4 −1 −1  −1 −1 .. 0 0 1 . .. ? a i j = −1 si i < j . .   0 1   .. . ..  .. .  .. . . Factorisation LU de la matrice A :      1 −1 .. L n ←L n − 1 L 2  . 0 ..   −1  2n−1 183 . . Factorisation :  4 −1 −1 −1 3 −1  L 2 ←L 2 − −1  4 L1 −1 4 L 3 ←L 3 − −1 L1 4 −1 −−−−−−−−−→ 0 4 0 −1 11 /4 −5/4   4 −1 L ←L − − / L 2 3 3 / −5/4 −−−−−−−−−−→ 0 15 /4 0 5 11  −1 −5/4 . dont les éléments vérifient ? a i j = 1 si i = j ou i = n. . . n ≥ 3. . .  .  .. . .. Comme |4| > | − 1| + | − 1|. 1 .. . . ] −−−−−−−−−−−−−→    . ... . . ..  .. . 0 2n−1 −1 1 .. Systèmes linéaires 2.. . .Jeudi 5 juin 2014 5...14..   .. 0   1 −1 0 .. .. ... La méthode de J ACOBI est une méthode itérative pour le calcul de la solution d’un système linéaire qui construit une suite de vecteurs x(k) ∈ Rn convergent vers la solution exacte x pour tout vecteur initiale x(0) ∈ Rn : bi − x ik+1 = n P j =1 j 6=i a i j x kj i = 1.  . . .  . |3| > | − 1| + | − 1| et |4| > | − 1| + | − 1|.  0 0 1 .. .  .. . .. 0 1 −1  0 0 0 . −1 1 1 −1 . .. . 0 .. ..   . .   ... . . ... . . [.... . ... 1 . .   .. 4 . . . et  1  0    0 U=   .. . . 35 /11 −1 11 /4 0 4 4 Par conséquent  1 L = −1/4 −1/4 0 1 −5/11  0 0 1  et 4 U = 0 0 −1 11 /4 0  −1 −5/4 . .  . .. .   .. . . . . Construire à la main les matrices L et U de la factorisation LU pour la matrice ci-dessus... .. . C ORRECTION DE L’ EXERCICE 5. 1 4  −1 .  0 2n−2 1 . . ... .. . . . ... −1    . . . .  .15. . .   −−n−−−− −−−→    −−−−−−−−−→   . . . 1 1   1 −1 .. . 0 1 ... . ... ai i 2. . .  . 1 . . n. .. la matrice A est à diagonale dominante stricte donc la méthode de J ACOBI converge 3. .. . .. . 4 .. . .. . . . .... C ORRECTION DE L’ EXERCICE 5....15 Soit la matrice A ∈ Rn×n . .. 0 . .  . −1 1 0  −1 .     n−2 ..   .. ? a i j = 0 sinon. ..

  . 1 . 1 0 . . ... −1 1 . ? u i j = 0 sinon.  ... 0 . .. L ←L +L n n 1  −−−−−−−−→  ... −1  . C ORRECTION DE L’ EXERCICE 5.   . Calculer la factorisation LU de A..   L 2 ←L 2 +L 1  . ... . .... . ? u i j = a i j pour i=1..   .. . ..  . ? a i j = 0 sinon. . .  . U= .. ..    n−2   2 2n−1 1 .. .. j=1. . . . 0 . . 1 .   . .. L=  .... 20    21    2  2  . ..16 Considérons une matrice A ∈ Rn×n (avec n ≥ 3) dont les éléments vérifient ? a i j = 1 si i = j ou j = n... .. .   . . . n.  ... . . n. 0 .. 0 . 0 1   . ..  . . ? a i j = −1 si i > j ..  .. . . ...  . . .. ] −−−−−−−−−→  . .... .. .... .n. . .. . n..  . .. 0 1 . Systèmes linéaires Jeudi 5 juin 2014 c’est-à-dire ? `i i = 1 pour i = 1. .  .  .. . . . . 1 . . 0 . .. . . 0 .. . .. . . .. .   .   1 1 0  .. . ..  .   . .  .5. .    n−2   2 2n−1 i. Factorisation LU de la matrice A :  1 0   −1   . . 1 0 . ...  . . . ..  .... .. .  . . . . L ←L +L n n 2  −−−−−−−−→  ... ... . . ... . u n j = 0 si j < n. 1 −1  0 . ..  .. . . .... . ? `n j = 2 j −1 si j < n . . 0 ..  . . .....    4 4 On obtient les matrices  1   −1   . ? ? Exercice 5.. . . 1 . . .. 0 .  . 1 1 .. `i j = −1 si i > j ? `i j = 0 sinon . .          0     c n−1  an © G. ...17 On considère la matrice tridiagonale inversible A ∈ Rn×n  a1 c1 0   b 2 a 2 c 2    0 b3 a3 A=  . .. .  .. . 1   1 0    L ←L +L  2 3 3 2 0 . . . . .. . . `i i = 1 pour i = 1. . ? u nn = 2n−1 . .. b n−1 0 a n−1 bn 0 .. . ...  ..16. ? `i j = 0 si i < n et i 6= j ... .  . 0 . . . .... .. u i n = 2i −1 pour i = 1. . . 2 2 0  0 2   21    2  2  .. 0 . ...... ? ? u i i = 1 pour i = 1.    0 1  et 1 0   0   . . . Faccanoni .... .. ... 1 −1 .. ... . ....  .  . .  . . .  . 0 1 −1 .. . .. ... .. −1 . . ... 1 −1 1    2   4  . . 0 . . .  . . .. 0 184 ...  .  .. . .. ? Exercice 5. .  . n − 1.....  ... [.. 1 . .. −1 1 0 −1  1 0   0 1   ... . L n ←L n +L n−1  ..e. . ... ... . .  . .. . −1 0 1 .n-1.  .  .. . ... . . . .. . . . .. .. ..   .   . ... . 0 . ..

. . ai(k) j ? Si i ≤ k. . .. . a i(k) j Initialisation : pour k = 0. .. . 1. ij ? soit j > k : (k) ? si j < i −1. Soit A(k) . Hérédité : soit A(k) une matrice tridiagonale (i. si a i j = 0 pour |i − j | > 1 alors `i j = 0 pour i > 1 + j (et pour i < j car triangulaire inférieure) et u i j = 0 pour i < j − 1 (et pour i > j car triangulaire supérieure). montrera par récurrence sur k que A(k) est tridiagonale pour tout k = 0. considérons séparément les colonnes j ≤ k et les colonnes j > k : (k+1) ? si j ≤ k.. A(0) = A qui est une matrice tridiagonale. αn−1 γn−1   .. 0   . . Faccanoni 185 . ..e.. . 0 βn 1 0 .. . a = 0 (zéros qu’on fait apparaitre avec la méthode de G AUSS pour une matrice quelconque). que valent-ils les coefficients a i(k) k k ? a i(k+1) j ? ? Que peut-on déduire sur les coefficients si j > k et j > i + 1. .. ij k ik Donc a i(k+1) = 0. (b 2 . .. A(0) = A est une matrice tridiagonale. . k = 0. L n de la matrice A(k) vont être modifiées selon la relation) a i(k+1) = a i(k) − j j a i(k) k (k) a kk a k(k)j . .. αn ). β3 . γ2 . Systèmes linéaires 1. .   . . L’algorithme se déduit en parcourant les étapes de la méthode de G AUSS : © G. . .e.. . .. .  .   . . Soit A(k) .. . j Initialisation : pour k = 0. .. . . α2 . (β2 .. (β2 ... . . L k de la matrice A(k) ne sont pas modifiées à l’étape k). alors les lignes L k+1 .. c 2 .  . On = 0 pour |i − j | > 1.  . γn−1 ) en fonction de (a 1 . . . . . j > k alors a = 0 et i > j +1 > k +1. . βn−1 1 0 . . .  . .  β 2 1  0 α2 γ2     .    . j j ? Soit i > k. . que valent-ils les coefficients a k(k)j et `i(k) k ? a i(k+1) j NB : Justifier succinctement chaque réponse ! 2. . b 3 . Montrer que les matrices L et U de la factorisation LU de A sont bidiagonales. En déduire un algorithme de factorisation. . j ? si j > i + 1.. .. . ... . βn ) et (γ1 . À l’aide des formules trouvées au point précédent. . . . . a n ). . 0 αn Calculer (α1 . .  0 β3 1   . .  .  . . i. On a montré au point précédent que les matrices L et U de la factorisation LU de A sont bidiagonales. b n ) et (c 1 . . c n−1 ). Donc j a i(k+1) = 0. . .17. . .. . f n )T ∈ Rn . Les coefficients (α1 . écrivons-les sous la forme     1 0 .. . β3 . . . c’est-à-dire i −k > 1 et donc a i(k) = 0 et `(k) = 0.. . i. . c’est-à-dire j − k > 1 et donc a k(k)j = 0. 0      . . . . γ2 . a 2 . n − 1. a i(k) = 0 pour |i − j | > 1. γn−1 ) se calculent en imposant l’égalité LU = A. . j ? Si i ≤ k alors a i(k+1) = a i(k) = 0 (les lignes L 1 . . .. 0 α1 γ1 0 . C ORRECTION DE L’ EXERCICE 5.. = 0 pour |i − j | > 1) et montrons que A(k+1) l’est aussi. βn ) et (γ1 . ... α2 . . . .Jeudi 5 juin 2014 5. que valent-ils les coefficients a ij ? ? et `i(k) ? Que peut-on déduire sur les coefficients si j > k et j < i − 1.. . . . comme i . .. comme i . . . n − 1 la matrice obtenue à l’étape k de la méthode de G AUSS.e. .  .  . ...    . . k = 0. ai(k) = 0 pour |i − j | > 1) et montrons que A(k+1) l’est aussi. écrire l’algorithme pour résoudre le système linéaire Ax = f où f = ( f 1 . On montrera par récurrence sur k que A(k) est tridiagonale. j 2.. n − 1 la matrice obtenue à l’étape k de la méthode de G AUSS... .. . .  . .e. . . . . . 3.  . . 0 .e. . Hérédité : soit A(k) une matrice tridiagonale (i. i.  . avec A(0) = A et A(n−1) = U. αn ).  .     .... . que valent-ils les coefficients a i(k+1) j ? Si i > k alors on va considérer séparément les cas suivants : (k+1) ? ? si j ≤ k. Pour chaque ligne i > k. . f 2 . avec A(0) = A et A(n−1) = U.. j > k alors a i(k) = 0 et j > i + 1 > k + 1. . . .. L= U=  . . .

5. Systèmes linéaires

Jeudi 5 juin 2014

a1

c1

0



b 2


0
A(0) = 
 .
 ..

 .
 .
 .

a2

c2

b3
..
.

0

...

a3
..
.
..
.
...

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

...
..
..

.
.

0
..
.
..
.

α1 = a 1

γ1 = c 1

0

0

α2 = a 2 − β2 c 1

γ2 = c 2

0
..
.
..
.
0

b3
..
.

a3
..
.
..
.
...











 L 2 ←L 2 −β2 L 1 (1) 
 −−−−−−−−−→ A = 


b

β2 = a 2
0 


1





c n−1 
an

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

...
..

.

..

.

0
..
.
..
.









0 



c n−1 
an

b n−1 a n−1
b n−1 a n−1
0
bn
...
0
bn


α1 = a 1
γ1 = c 1
0
...
...
0

.. 
..


.
α2 = a 2 − β2 c 1
γ2 = c 2
. 
 0


.. 

..
..

 L 4 ←L 4 −β4 L 3
.
.
L 3 ←L 3 −β3 L 2
0
0
α
=
a

β
c
.
3
3
3 2
 −−−−−−−−−→ [· · · ]
−−−−−−−−−→ A(2) = 


.
.
.
.
.
b3
b

..
..
..
..
..
β4 = α4
β3 = α
0 


3
2


..
..


.

.
b n−1 a n−1 c n−1 
0
...
...
0
bn
an


α1 = a 1
γ1 = c 1
0
...
...
0


..
..


.
α2 = a 2 − β2 c 1
γ2 = c 2
.
 0



..


..
..


.
.
L n ←L n −βn L n−1
0
0
α
=
a

β
c
.
3
3
3
2
(n−1)


=
[· · · ] −−−−−−−−−−−→ A

.
.
.
.
.
bn


.
.
.
.
.
βn = α
.
.
.
.
.
0
n




.
..


.
.

0 αn−1 = a n−1 − βn−1 c n−2
γn−1 = c n−1 
.
0
...
...
0
0
αn = a n − βn c n−1
Donc γi = c i pour i = 1, . . . , n, α1 = a 1 et on définie par récurrence
(
βi
αi

=

bi
αi −1

= a i − βi c i −1

pour i = 2, . . . , n.

3. La résolution du système linéaire Ax = f se ramène à la résolution des deux systèmes linéaires Ly = f et Ux = y, pour
lesquels on obtient les formules suivantes :
(

(

y1 = f1,
y i = f i − βi y i −1 , pour i = 2, . . . , n,

(

xn =
xi =

yn
αn ,
y i −γi x i +1
,
αi

pour i = n − 1, . . . , 1,

i.e.

i.e.

y1 = f1,
b

y i = f i − a −βi c y i −1 , pour i = 2, . . . , n;
i
i i −1

yn

x
=
,

 n αn
y −c x
x i = a i −βi ci +1 , pour i = n − 1, . . . , 2,
i
i i −1


x = y i −ci x2 .
1

a1

Exercice 5.18
Soit les systèmes linéaires


4x 1 + 3x 2 + 3x 3 = 10
3x 1 + 4x 2 + 3x 3 = 10


3x 1 + 3x 2 + 4x 3 = 10


4x 1 + x 2 + x 3 = 6
x 1 + 4x 2 + x 3 = 6


x 1 + x 2 + 4x 3 = 6

(5.1)

(5.2)

1. Rappeler une condition suffisante de convergence pour les méthodes de J ACOBI et de G AUSS-S EIDEL. Rappeler
une autre condition suffisante de convergence pour la méthode de G AUSS -S EIDEL (mais non pour la méthode de
J ACOBI). Les systèmes (5.1) et (5.2) vérifient-ils ces conditions ?
2. Écrire les méthodes de J ACOBI et de G AUSS -S EIDEL pour ces deux systèmes linéaires.
3. On illustrera les résultats théoriques de convergence/non-convergence de ces deux schémas en prenant comme
point de départ le vecteur (x 1 , x 2 , x 3 ) = (0, 0, 0) et en calculant les 3 premiers itérés :
3.1. avec la méthode de J ACOBI pour le système (5.1),

186

© G. Faccanoni

Jeudi 5 juin 2014

5. Systèmes linéaires

3.2. avec la méthode de G AUSS -S EIDEL pour le système (5.1),
3.3. avec la méthode de J ACOBI pour le système (5.2),
3.4. avec la méthode de G AUSS -S EIDEL pour le système (5.2).
4. On comparera le résultat obtenu avec la solution exacte (qu’on calculera à l’aide de la méthode d’élimination de
G AUSS).
C ORRECTION DE L’ EXERCICE 5.18. Écrivons les deux systèmes sous forme matricielle Ax = b :

   

   
4 3 3 x1
10
6
4 1 1 x1
3 4 3 x 2  = 10
1 4 1 x 2  = 6
et
3 3 4 x3
10
6
1 1 4 x3
{z
}
{z
}
|
|
A1

A2

1. Rappelons deux propriétés de convergence :
? Si la matrice A est à diagonale dominante stricte, les méthodes de J ACOBI et de G AUSS -S EIDEL convergent.
? Si la matrice A est symétrique et définie positive, la méthode de G AUSS -S EIDEL converge.
Comme 4 > 1 + 1, la matrice A2 est à diagonale dominante stricte : les méthodes de J ACOBI et de G AUSS -S EIDEL
convergent.
Comme 4 < 3 + 3, la matrice A1 n’est pas à diagonale dominante stricte : les méthodes de J ACOBI et de G AUSS -S EIDEL
peuvent ne pas converger. Cependant elle est symétrique et définie positive (car les valeurs propres 1 sont λ1 = λ2 = 1
et λ3 = 10) : la méthode de G AUSS -S EIDEL converge.
2. Pour les systèmes donnés les méthodes de J ACOBI et G AUSS -S EIDEL s’écrivent
A1 x = b


(k+1)
(k)
(k)
x
10

3x

3x
 1


2
3 




 (k+1)  1 

(k)
x
 = 4 10 − 3x − 3x (k) 
1
3 
 2






x 3(k+1)
10 − 3x 1(k) − 3x 2(k)




(k)
(k)
(k+1)
 10 − 3x 2 − 3x 3

x 1






 (k+1)  1 
x
 = 4  10 − 3x (k+1) − 3x (k) 
1
3
2








(k+1)
(k+1)
(k+1)
10 − 3x 1
− 3x 2
x3

J ACOBI

Gauss-S EIDEL

A2 x = b


(k)
(k)
(k+1)
6

x

x
x

 1

2
3 





 (k+1)  1 
(k)
x
 = 4 6 − x − x (k) 
1
3 

 2





6 − x 1(k) − x 2(k)
x 3(k+1)




(k)
(k)
(k+1)
 6 − x2 − x3

x 1






 (k+1)  1 
x
 = 4  6 − x (k+1) − x (k) 
1
3
2








(k+1)
(k+1)
(k+1)
6 − x1
− x2
x3

3. On obtient les suites suivantes
3.1. J ACOBI pour le système (5.1) :
  
 (1) 
(0)  
5
10 − 3 × 0 − 3 × 0
0
x1
 2
   
  1
x  = 0 =⇒ x  = 10 − 3 × 0 − 3 × 0 =  5 
 2
 2  
 2 4 
5
10 − 3 × 0 − 3 × 0
x3
0
x3
2
 (2) 
  
 (3) 
  
5
−5
35
x1
10 − 3 × 2 − 3 × 52
− 54
x1
10 − 3 × −5
4 −3× 4
  1
  
  1
 8
5
5  5
−5
−5   35 



 
=⇒ 
x 2  = 4 10 − 3 × 2 − 3 × 2  = − 4  =⇒ x 2  = 4 10 − 3 × 4 − 3 × 4  =  8 
−5
35
x3
10 − 3 × 52 − 3 × 52
− 54
x3
10 − 3 × −5
4 −3× 4
8

x1

3.2. G AUSS -S EIDEL pour le système (5.1) :
(0)  
 (1) 
  
5
0
x1
10 − 3 × 0 − 3 × 0
   
  1
 2
x  = 0 =⇒ x  =  10 − 3 × 5 − 3 × 0  =  5 
 2  
 2 4 
 8
2
5
5
5
x3
0
x3
10 − 3 × 2 − 3 × 8
32
 


 (2) 
 (3) 
5
245
12485
x1
10 − 3 × 58 − 3 × 32
x1
128
8192
  1
 

 


245
5   485 


 
 35765 
=⇒ 
x 2  = 4  10 − 3 × 128 − 3 × 32  =  512  =⇒ x 2  =  32768 
485
725
70565
x3
10 − 3 × 245
x3
128 − 3 × 512
2048
131072

x1

1. det A1 (λ) = (4 − λ)3 + 27 + 27 − 9(4 − λ) − 9(4 − λ) − 9(4 − λ) = 64 − 48λ + 12λ2 − λ3 + 54 − 108 + 27λ = −λ3 + 12λ2 − 21λ + 10. Une racine évidente est
λ = 1 et on obtient det A1 (λ) = (λ − 1)(−λ2 + 11λ − 10) = (λ − 1)2 (λ − 10).

© G. Faccanoni

187

5. Systèmes linéaires

Jeudi 5 juin 2014

3.3. J ACOBI pour le système (5.2) :
  
(0)  
 (1) 
3
6−1×0−1×0
0
x1
 2
   
  1
x  = 0 =⇒ x  = 6 − 1 × 0 − 1 × 0 =  3 
 2
 2  
 2 4 
3
6−1×0−1×0
x3
0
x3
2
 (2) 
  
 (3) 
  
3
9
x1
6 − 1 × 32 − 1 × 32
x1
6 − 1 × 34 − 1 × 34
4
  1
  
  1
 8
3
3
3 3
3 9

 


=⇒ 
x 2  = 4 6 − 1 × 2 − 1 × 2  =  4  =⇒ x 2  = 4 6 − 1 × 4 − 1 × 4  =  8 
3
9
x3
6 − 1 × 32 − 1 × 32
x3
6 − 1 × 43 − 1 × 34
4
8

x1

3.4. G AUSS -S EIDEL pour le système (5.2) :
 
(0)  
 (1) 
3
6−1×0−1×0
0
x1
   
 2 
  1
x  = 0 =⇒ x  =  6 − 1 × 3 − 1 × 0   9 
 2  
 8 
 2 4 
2
27
6 − 1 × 32 − 1 × 89
x3
0
x3
32
 (2) 
 

 (3) 
 

9
27
2025
129
8139
6 − 1 × 8 − 1 × 32
6 − 1 × 531
x1
x1
128
512 − 1 × 2048
8192
  1
 

  1
 

129
8139
27   531 
2025   32913 


 

=⇒ 
x 2  = 4  6 − 1 × 128 − 1 × 32  =  512  =⇒ x 2  = 4  6 − 1 × 8192 − 1 × 2048  =  32768 
2025
32913
131139
129
− 1 × 531
x3
6 − 1 × 128
x3
6 − 1 × 8139
512
2048
8192 − 1 × 32768
131072

x1

4. Calcul de la solution exacte à l’aide de la méthode d’élimination de G AUSS :
? Système (5.1) :
3
4
3

3
3
4

 L 2 ←L 2 − 34 L 1 
10
4
L 3 ←L 3 − 34 L 1
10  −−−−−−−−→  0
10
0

1
4
1

1
1
4

 L 2 ←L 2 − 14 L 1 
4
6
L 3 ←L 3 − 14 L 1
6  −−−−−−−−→  0
6
0

4
 3
3
?

3
3
/4
7
/4



10
4
3/4
L2
L 3 ←L 3 − 7/4
5
/2  −−−−−−−−−−→  0
5
/2
0

3
7
/4
0

3
3
/4
10
/7


 
10
1
5
/2  =⇒ x = 1
10
/7
1

1
3
/4
15
/4



6
4
3/4
L2
L 3 ←L 3 − 15/4
9
/2  −−−−−−−−−−→  0
9
/2
0

1
15
/4
0

1
3
/4
18
/5


 
6
1
9
/2  =⇒ x = 1
18
1
/5

Système (5.2) :

4
 1
1

188

3
7
/4
3
/4

1
15
/4
3
/4

© G. Faccanoni

A. Python : guide de survie pour les TP
Le but de ce chapitre est de fournir suffisamment d’informations pour pouvoir tester les méthodes numériques vues dans ce polycopié. Il n’est ni un manuel de Python ni une initiation à la programmation. On suppose que vous avez déjà des notions de programmation et
de manipulation de fichier.
Python est un langage développé dans les années 1 980 (le nom est dérivé de la série télévisée britannique des Monty
Python’s Flying Circus). Il est disponible pour tous les principaux systèmes d’exploitation (Linux, Unix, Windows, Mac OS,
etc.). Un programme écrit sur un système fonctionne sans modification sur tous les systèmes. Les programmes Python ne
sont pas compilés en code machine, mais sont gérés par un interpréteur. Le grand avantage d’un langage interprété est que
les programmes peuvent être testés et mis au point rapidement, ce qui permet à l’utilisateur de se concentrer davantage sur
les principes sous-jacents du programme et moins sur la programmation elle-même. Cependant, un programme Python
peut être exécuté uniquement sur les ordinateurs qui ont installé l’interpréteur Python.

A.1. Obtenir Python et son éditeur I DLE
Pour installer Python il suffit de télécharger la version 2.6 qui correspond au système d’exploitation (Windows ou Mac) à
l’adresse www.python.org. Pour ceux qui est des systèmes Linux, il est très probable que Python est déjà installé.
Si on n’a jamais programmé, le plus simple pour exécuter les instructions Python est d’utiliser des environnements spécialisés comme I DLE ou I DLE X (ou encore S PYDER). Ces environnements se composent d’une fenêtre appelée indifféremment console, shell ou terminal Python.

A.1.1. Utilisation de base d’Idle
Pour commencer on va démarrer Python en lançant I DLE :
? sous Windows : menu «Démarrer» → programme «Python» → «I DLE »
? sous Ubuntu : menu «Applications» → menu «Programmation» → «I DLE »
? sous Mac/Linux : ouvrir un terminal/console et taper idle-python2.6
Une nouvelle fenêtre va s’ouvrir, c’est la fenêtre principale d’I DLE appelée la fenêtre de l’INTERPRÉTEUR :

L’INTERPRÉTEUR permet d’entrer directement des commandes et dès qu’on écrit une commande, Python l’exécute et renvoie instantanément le résultat. L’invite de commande se compose de trois chevrons (>>>) et représente le prompt : cette
marque visuelle indique que Python est prêt à lire une commande. Il suffit de saisir à la suite une instruction puis d’appuyer
sur la touche «Entrée». Pour commencer, comme le veux la tradition informatique, on va demander à Python d’afficher les
fameux mots «Hello world» :

189

parce que cela comprendrait à la fois les commandes tapées et les réponses du système. de s’occuper des règles exactes de programmation. Voici ce que cela donne : 1. Ainsi plus tard on pourra ouvrir ce fichier et lancer Python sans avoir à retaper toutes les commandes. Pour naviguer dans l’historique des instructions saisies dans l’INTERPRÉTEUR on peut utiliser les raccourcis Alt+p (p comme previous) et Alt+n (n comme next). Il ne s’agit pas. mais seulement d’expérimenter le fait d’entrer des commandes dans Python. Il faut alors avoir un fichier avec uniquement les commandes qu’on a tapées et sauver le tout comme un document. pour l’instant.A. Si on observe l’image suivante. comment faire en sorte que l’ordinateur se souvienne de ce que nous avons tapé ? On ne peut pas sauvegarder directement ce qui se trouve dans la fenêtre de l’interpréteur. 1 Si on ferme Python et qu’on le relance. Faccanoni . commençons par un support propre en ouvrant une nouvelle fenêtre. Python : guide de survie pour les TP Jeudi 5 juin 2014 La console Python fonctionne comme une simple calculatrice : on peut saisir une expression dont la valeur est renvoyée dès qu’on presse la touche «Entrée». Tout d’abord. 190 © G. on voit le résultat affiché après l’entrée de commandes supplémentaires.

Python le remarque et demande de corriger. pour le faire tourner et afficher les résultats dans la fenêtre de l’INTERPRÉTEUR il suffit d’utiliser la commande «Run script» (lancer le script) dans le menu «Run» de la fenêtre P ROGRAMME ou appuyer sur la touche «F5» Si on a fait une faute de frappe. On appellera cela la fenêtre de P ROGRAMME. pour la différencier de la fenêtre de l’INTERPRÉTEUR. Cette faute de frappe étant corrigée. En fait. Il est souvent assez pertinent pour diriger vers le problème et dans le cas ci-dessous il dit qu’on a oublié quelque chose à la fin de la ligne : il faut remplacer " par ’. on fait tourner le programme et on regarde le résultat dans l’INTERPRÉTEUR : © G. ce qu’on veut faire. Ce qui veut dire que ce fichier est uniquement pour les commandes : Python n’interviendra pas avec ses réponses lorsque on écrira le programme et ce tant que on ne le lui demandera pas. Alors faisons-le soit en tapant soit en copiant-collant ces commandes dans la fenêtre P ROGRAMME : On note qu’on s’est débarrassés du prompt de Python (>>>).Jeudi 5 juin 2014 A. Sauvons maintenant le fichier : la commande «Save» (Sauver) se trouve dans le menu «File» (Fichier) ou utiliser le raccourcis Ctrl+S : Ayant sauvé le programme. Faccanoni 191 . Python : guide de survie pour les TP On voit qu’il n’y a rien dans cette nouvelle fenêtre (pas d’en-tête comme dans l’INTERPRÉTEUR). c’était de sauver les quelques instructions qu’on a essayées dans l’interpréteur.

Notions de base de Python Indentation Le corps d’un bloc de code (boucles. Les noms de variables peuvent être non seulement des lettres. mais pas le type. Python : guide de survie pour les TP Jeudi 5 juin 2014 Maintenant qu’on a sauvé le programme. A. où les variables sont typées dynamiquement. Python est sensible à la casse. 192 © G. ainsi que certains caractères spéciaux comme le tiret bas «_» (appelé underscore en anglais). mais aussi des mots . le nom d’une variable représente une valeur d’un type donné stockée dans un emplacement de mémoire fixe. b = 128. etc. en algorithmique se note souvent x ← 3). La déclaration suivante b*2. on est capable de le recharger : on va tout fermer et relancer I DLE. on va avoir une nouvelle fenêtre P ROGRAMME avec l’ancien programme.0 b = 2 # b is an integer print(b) b = b*2.0.2. les noms n et N représentent différents objets. La valeur peut être modifiée. On peut aussi effectuer des affectations parallèles : 1 2 3 4 5 >>> a.) est défini par son indentation : l’indentation est une partie intégrante de la syntaxe de Python.0 # b is a float print(b) L’affectation b = 2 crée une association entre le nom b et le nombre entier 2.0 évalue l’expression et associe le résultat à b . Maintenant b se réfère à la valeur en virgule flottante 4. Ce n’est pas le cas en Python. Variables et affectation Dans la plupart des langages informatiques. La session interactive suivante avec l’INTERPRÉTEUR Python illustre ce propos (>>> est le prompt) : 1 2 3 4 5 6 >>> >>> 2 >>> >>> 4. Faccanoni . Si tout se passe bien. La commande «Open» (Ouvrir) se trouve dans le menu «File» (Fichier). Ainsi.A. Il faut bien prendre garde au fait que l’instruction d’affectation (=) n’a pas la même signification que le symbole d’égalité (=) en mathématiques (ceci explique pourquoi l’affectation de 3 à x. qu’en Python s’écrit x = 3. 256 >>> print(a) 128 >>> print(b) 256 ATTENTION. ils peuvent contenir des chiffres (à condition toutefois de ne pas commencer par un chiffre). Commentaires Le symbole dièse (#) indique le début d’un commentaire : tous les caractères entre # et la fin de la ligne sont ignorés par l’interpréteur. l’association d’origine avec l’entier 2 est détruite. sous-routines.

rangés dans un certain ordre. 15. les éléments d’une liste sont indexés à partir de 0 et non de 1. Voici un exemple : 1 2 3 4 5 6 >>> string1 = ’Press return to exit’ >>> string2 = ’the program’ >>> print string1 + ’ ’ + string2 # Concatenation Press return to exit the program >>> print string1[0:12] # Slicing Press return Une chaîne de caractères est un objet immuable. Voici un exemple : 1 2 3 4 5 6 7 8 >>> fraise = [12. fraise[2].Jeudi 5 juin 2014 A. Si on tente d’extraire un élément avec un index dépassant la taille de la liste. fraise[3]. La première manipulation que l’on a besoin d’effectuer sur une liste. line 1. 7. fraise[4]. c’est d’en extraire et/ou modifier un élément : la syntaxe est ListName[index]. 7. 18. tandis que l’opérateur (:) est utilisé pour extraire une portion de la chaîne. 11. Les chaînes de caractères sont concaténées avec l’opérateur plus (+). Si on essaye de modifier un caractère d’une chaîne de caractères. séparés par des deux-points : ListName[i:j:k]. 11. Une liste n’est pas forcement homogène : elle peut contenir des objets de types différents les uns des autres. 15. En Python. 3] ATTENTION. fraise[5] (12. 18. Cette opération est connue sous le nom de slicing (en anglais). i. in <module> TypeError: ’str’ object does not support item assignment Listes Une liste est une suite d’objets. in <module> fraise[6] IndexError: list index out of range On peut extraire une sous-liste en déclarant l’indice de début (inclus) et l’indice de fin (exclu).e. 3] >>> fraise[2] 18 >>> fraise[1] = 11 >>> print fraise [12. 15. 10. et sa longueur est fixe. 3] # Create a list >>> print fraise [12. 18. Python renvoi un message d’erreur : 1 2 3 4 5 6 7 >>> fraise[0]. 7. 15. 10. ses caractères ne peuvent pas être modifiés par une affectation. line 1. 3) >>> fraise[6] Traceback (most recent call last): File "<pyshell#4>". 7] >>> fraise[2:] © G. 18. l’indice de fin (exclu) et le pas. Python renvoie une erreur comme dans l’exemple suivant : 1 2 3 4 5 >>> s = ’Press return to exit’ >>> s[0] = ’p’ Traceback (most recent call last): File "<stdin>". ou encore une sous-liste en déclarant l’indice de début (inclus). Un petit dessin et quelques exemples permettrons de bien comprendre cette opération fort utile : len(fraise) 0 fraise= -6 1 2 3 1 12 18 11 -5 3 2 -4 7 -3 5 4 15 -2 6 3 -1 >>> fraise[2:4] [18. Faccanoni 193 . Python : guide de survie pour les TP Chaîne de caractères (Strings) Une chaîne de caractères est une séquence de caractères entre guillemets (simples ou doubles). 7. Chaque objet est séparé par une virgule et la suite est encadrée par des crochets. fraise[1]. séparés par deux-points : ListName[i:j].

append(x) a. 100. 37. 15. 100. True sinon renvoi le plus grand élément de la liste a renvoi le plus petit élément de la liste a >>> a = [2.count(21) 1 >>> a. équivaut à a + L ajoute l’élément x en position i de la liste a.reverse() >>> print a [21.pop(4) -79 >>> print a [2.sort(x) a.remove(x) a. -79. 20. 34. équivaut à a[i:i]=x supprime la première occurrence de l’élément x dans la liste a supprime l’élément d’indice i dans la liste a et le renvoi renvoie l’indice de la première occurrence de l’élément x dans la liste a renvoie le nombre d’occurrence de l’élément x dans la liste a modifie la liste a en la triant modifie la liste a en inversant les éléments renvoie le nombre d’éléments de la liste a renvoi True si la liste a contient l’élément x. 100] >>> L = [17. 21] >>> a. 37. 83. 17. -79. 21.insert(i. 21] >>> a. 7. 37.extend(L) >>> print a [2. 17.count(21) 2 >>> a. -79.reverse(x) len(a) x in a x not in a max(a) min(a) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ajoute l’élément x en fin de la liste a ajoute les éléments de la liste L en fin de la liste a. 21] # Create a list >>> print a [2. Python : guide de survie pour les TP 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Jeudi 5 juin 2014 [18. 7. 37. 34. Voici quelques opérations et méthodes très courantes associées aux listes : a. 37. 100. True sinon renvoi True si la liste a ne contient pas l’élément x. 3] >>> fraise[:2] [12. 3] >>> fraise[2:6:2] [18. 83. 15. 20. 83.count(x) a. 83. 17. 20. 37. 21] >>> a. Faccanoni . 15] >>> fraise[2:6] [18. -79. 15] >>> fraise[-2:-4] [] >>> fraise[-4:-2] [18. 15.A.pop([i]) a. 20. 11. 11] >>> fraise[:] [12. 7] >>> fraise[-1] 3 À noter que lorsqu’on utilise des tranches. 18. 7. -79.x) a.extend(L) a. 83. les dépassements d’indices sont licites. 34. 37.append(100) # Append 100 to list >>> print a [2. 34. 7. 20. 7. 3] >>> fraise[2:7] [18. 15.index(100) 4 >>> a. 21] >>> a. 83. 83. 2] 194 © G. 21. 21] >>> a. 17.remove(21) >>> print a [2.index(x) a. 20. 34. 20. 3] >>> fraise[2:5] [18. 100.

On obtient donc le nombre de ligne de la matrice avec len(a) et son nombre de colonnes avec len(a[0]). 2. 7.0] >>> print b [5.0] >>> a = [1. [4. 83. 3. 37. 3. 21. -5.deepcopy(a) # ’c’ is an independent copy of ’a’ >>> c[0] = 5. lorsqu’on modifie la valeur de l’objet.0. 2. 5.Jeudi 5 juin 2014 27 28 29 30 31 32 33 34 35 36 37 38 39 40 A. 3]. 3]. 21. 34. 2. 21. 17.0. [7. 2. Ainsi.0] >>> b = a # ’b’ is an alias of ’a’ >>> b[0] = 5. 100] >>> a[0] = 21 # Modify selected element >>> print a [21. 34. 100] ATTENTION. [4. Lorsque on écrit b=a on dit que b contient les mêmes adresses que a (on dit que les deux listes «pointent» vers le même objet). 20.0. Si a est une liste.0 # Change ’b’ >>> print a # The change is reflected in ’a’ [5.7) # Insert 7 in position 2 >>> print a [2. 8.insert(2.sort() >>> print a [2. 83. En effet.0.-5.0. 2. 5. Matrices Les matrices peuvent être représentées comme des listes imbriquées : chaque ligne est un élément d’une liste. 17. -2. 5.0] >>> c = copy. Python : guide de survie pour les TP >>> a.-1978] # Modify selected elements >>> print a [21. 100] >>> a[2:4] = [-2. -1978.0.0 # Change ’c’ >>> print a # ’a’ is not affected by the change [1. 21. 83. 9 La commande len (comme length) renvoie la longueur d’une liste. 20.0] Qu’est-ce qui se passe lorsque on copie une liste a avec la commande b=a ? En effet. 2.0. 37.0. 34. 7. la commande b=a ne crée pas un nouvel objet b mais simplement une référence (pointeur) vers a. 2.0] >>> print c [5. 3. la modification sera visible depuis les deux alias. une liste fonctionne comme un carnet d’adresses qui contient les emplacements en mémoire des différents éléments de la liste. 3. 83. 34. 37. Ainsi. 9]] >>> print a[1] # Print second row (element 1) [4. 8.0. 17.0. 3. 17. 2. tout changement effectué sur b sera répercuté sur a aussi ! Pour créer une copie c de la liste a qui soit vraiment indépendante on utilisera la commande deepcopy du module copy comme dans l’exemple suivant : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 >>> import copy >>> a = [1. 6]. 6] >>> print a[1][2] # Print third element of second row 6 >>> print len(a) 3 >>> print len(a[0]) 3 © G. 20. 100] >>> len(a) # Determine length of list 8 >>> a. 3. Faccanoni 195 . [7.0. 37. 9]] définit a comme la matrice 3 × 3  1 4 7 2 5 8  3 6 . Par exemple. 1 2 3 4 5 6 7 8 9 10 >>> print a [[1. 6].0. le code 1 >>> a = [[1.

2346e+03 9876 196 © G. n − 1 . a.. Au lieu de créer et garder en mémoire une liste d’entiers. b a= (12345.b (12345. n + 1. Voici quelques exemples : 1 2 3 4 5 6 7 8 9 10 >>> a = 1234..20.. -5. 8] Pour mettre en colonne des nombres on pourra utiliser l’opérateur % : la commande print ’%format1.. 3. -10. .-20.  a 01 a 11 . 6. object2 en chaînes de caractères et les affiche sur la même ligne séparés par des espace... . d le nombre de chiffres après la virgule. ? range(n. 5] Instruction print Pour afficher à l’écran des objets on utilise la commande print object1. . Faccanoni . m − 1 . 10. ... "\nb=". . 7. 8] >>> print "a=". "\tb=".56789 >>> n = 9876 >>> print ’%7.57 >>> print ’n = %6d’ %n n = 9876 >>> print ’n = %06d’ %n n = 009876 >>> print ’%12. 10.0. . 1. 6] >>> range(0. ainsi a[0] indique la première ligne. 6789) [2.5) [0. 5. 5.. 4. . Fonction range La fonction range crée un itérateur. 6789) b= [2. selon les règles %format1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 >>> range(10) [0. Le retour à la ligne peut être forcé par le caractère \n.n) 1. 4. . ? range(n. la tabulation par le caractère \t : 1 2 3 4 5 6 7 8 9 >>> a = 12345. cette fonction génère les entiers au fur et à mesure des besoins : ? range(n) renvoi un itérateur parcourant 0. %format2. -15] >>> range(20.  .-5) [20. 6. n + 2p.A.6789 >>> b = [2.-5) [] >>> range(0.m) renvoi un itérateur parcourant n. object2. 6789) −−→b= [2.  .20. 15] >>> range(0.4e %6d’ %(a. 4. 2. 8] >>> print "a=". 4.. . 5. a[1] la deuxième etc.. .. . .2f’ %a 1234. å’%(n1.p) renvoi un itérateur parcourant n. Dans Python les indices commences à zéro. 6. 8. . a 00 a 10 A= . Python : guide de survie pour les TP Jeudi 5 juin 2014 ATTENTION. 6. 6.) affiche les nombres n1.. Typiquement on utilise wd w.n2.. . %format2. a 02 a 12 . 15. . 4. 4. 1.7) [3. a. n + p. .. . qui convertis object1. . b a= (12345.-5) [0.d f w.. .. .. 2. m − 1...n2.d e pour un entier pour un nombre en notation floating point pour un nombre en notation scientifique où w est la largeur du champ total. n + 2. 9] >>> range(0) [] >>> range(1) [0] >>> range(3.. 8] >>> print a.m.

Python : guide de survie pour les TP Opérations arithmétiques Dans Python on a les opérations arithmétiques usuelles : + * / ** // % Addition Soustraction Multiplication Division Exponentiation Quotient de la division euclidienne Reste de la division euclidienne Quelques exemples : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 >>> >>> >>> >>> >>> >>> (2. 5] # Append elements [1. >>> >>> >>> >>> >>> >>> (4. 3. line 1. a = 100 b = 17 c = a-b a = 2 c = b+a a. 19) a = 3 b = 4 c = a a = b b = c a. Ces opérateurs sont On écrit < > <= >= == != in © G. 3] >>> print 3*s # Repetition Hello Hello Hello >>> print 3*a # Repetition [1. Faccanoni Ça signifie < > ≤ ≥ = 6= ∈ 197 . 3. 1. False sinon.b a*b a/b a**b a%b Opérateurs de comparaison et connecteurs logiques Les opérateurs de comparaison renvoient True si la condition est vérifiée. 1. 4. 5] >>> print s + t # Concatenation Hello to you >>> print 3 + s # This addition makes no sense Traceback (most recent call last): File "<stdin>". in <module> TypeError: unsupported operand type(s) for +: ’int’ and ’str’ Il existe aussi les opérateurs augmentés : On écrit Équivaut à a a a a a a a a a a a a += b -= b *= b /= b **= b %= b = = = = = = a + b a . 2. 3) Certains de ces opérations sont aussi définies pour les chaînes de caractères et les listes comme dans l’exemple suivant : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 >>> s = ’Hello ’ >>> t = ’to you’ >>> a = [1. 3. c 3.c 17. b. 2. 3] >>> print a + [4. 2.b. 2. 2.Jeudi 5 juin 2014 A.

à virgule flottante. 1 2 3 4 5 6 >>> def f(x) SyntaxError: invalid syntax >>> def f(x): return 2*x**7-x**6+5*x**5-x**4+9*x**3+7*x**2+8*x-1 File "<pyshell#7>". Ensuite.) sont convertis en un type commun avant de faire la comparaison.A. vient le nom de la fonction (ici FunctionName) suivi des paramètres formels 2 de la fonction parameters). Bien distinguer l’instruction d’affectation = du symbole de comparaison ==. Python : guide de survie pour les TP Jeudi 5 juin 2014 ATTENTION. par opposition aux paramètres fournis lors de l’appel de la fonction qui sont appelés paramètres effectifs. Faccanoni .3. on peut combiner des variables booléennes en utilisant les connecteurs logiques : On écrit and or not Ça signifie et ou non Deux nombres de type différents (entier. 198 © G.99 # Floating >>> c = ’2’ # String >>> print a>b True >>> print a==c False >>> print (a>b) and (a==c) False >>> print (a>b) or (a==c) True >>> print (a>b) or (a==b) True A. le tout terminé par deux-points (on peut mettre autant de paramètres formels qu’on le souhaite et éventuellement aucun). deux objets de type différents sont considérés non égaux. Les paramètres figurant entre parenthèses dans l’en-tête d’une fonction se nomment paramètres formels. néanmoins ce n’est pas très pratique. dans le troisième il manque le mot return et donc tout appel de la fonction aura comme réponse None. Pour combiner des conditions complexes (par exemple x > −2 et x 2 < 5). toujours sur la même ligne. ATTENTION. par exemple f : x 7→ 2x 7 − x 6 + 5x 5 − x 4 + 9x 3 + 7x 2 + 8x − 1. La syntaxe est la suivante : 1 2 3 def FunctionName(parameters): −−−→statements −−−→return values La déclaration d’une nouvelle fonction commence par le mot-clé def. il renvoi l’objet something et abandonne aussitôt après l’exécution de la fonction (on parle de code mort pour désigner les lignes qui suivent l’instruction return). Une première idée est d’utiliser l’historique de l’INTERPRÉTEUR pour éviter de saisir à chaque fois la fonction. dans le deuxième il manque l’indentation. Si la fonction en question est un peu longue à saisir. line 2 return 2*x**7-x**6+5*x**5-x**4+9*x**3+7*x**2+8*x-1 2.1. Fonctions Supposons de vouloir calculer les images de certains nombres par une fonction polynomiale donnée. la fonction renvoi l’objet None. dans le quatrième l’instruction print ’Hello’ n’est jamais lue par Python car elle apparait après l’instruction return. Voici un bêtisier pour mieux comprendre les règles : dans le premier cas il manque les deux-points en fin de ligne. Une fois la première ligne saisie. placés entre parenthèses. Dans tous les autres cas. on appuie sur la touche «Entrée» : le curseur passe à la ligne suivante avec une indentation. Voici quelques exemples : 1 2 3 4 5 6 7 8 9 10 11 12 13 >>> a = 2 # Integer >>> b = 1. Fonctions et Modules A. Dès que Python atteint l’instruction return something.3. Il est tout à fait possible de définir une fonction (au sens du langage Python) qui ressemble à une fonction mathématique. surtout si on veut y travailler un autre jour. il est rapidement fastidieux de la saisir à chaque fois que l’on souhaite calculer l’image d’un nombre par cette fonction. etc. Si l’instruction return est absente.

De plus. Python : guide de survie pour les TP ^ IndentationError: expected an indented block >>> def f(x): −−−→2*x**7-x**6+5*x**5-x**4+9*x**3+7*x**2+8*x-1 11 12 13 14 15 16 17 18 19 >>> f(2) >>> print f(2) None >>> def f(x): −−−→a = 2*x**7-x**6+5*x**5-x**4+9*x**3+7*x**2+8*x-1 −−−→return a −−−→print ’Hello’ 20 21 22 >>> f(2) 451 ATTENTION.x.0 Dans l’exemple suivant la fonction derivatives approche les dérivées première et seconde d’une fonction f par les formules f 0 (x) ' 1 2 3 4 5 f (x + h) − f (x − h) . 2h f 00 (x) ' f (x + h) − 2 f (x) + f (x − h) h2 import math def derivatives(f.*y 4 5 6 7 8 9 10 11 >>> f(5) 20. la variable x est une variable qui vaut 6 à l’extérieur de la fonction et 7 au cours de l’exécution de la fonction f : 1 2 3 4 >>> x = 6. durant l’exécution de la fonction. cette variable était masquée momentanément. la variable x est une variable locale à la fonction f : crée au cours de l’exécution de la fonction f. si une variable existe déjà avant l’exécution de la fonction.h): −−−→df = (f(x+h)-f(x-h))/(2. tout se passe comme si.0 >>> print f(1.*f(x)+f(x-h))/h**2 −−−→return df. in <module> x NameError: name ’x’ is not defined Dans l’exemple suivant.*h) −−−→ddf = (f(x+h)-2.ddf Si on veut calculer la valeur des dérivées première et seconde de la fonction x 7→ cos(x) en x = © G.Jeudi 5 juin 2014 7 8 9 10 A.0 >>> print x 6. line 1. Les variables définies à l’intérieur d’une fonction ne sont pas «visibles» depuis l’extérieur de la fonction. Dans l’exemple suivant.0 >>> x Traceback (most recent call last): File "<pyshell#35>". elle est supprimée une fois l’exécution terminée : 1 2 3 >>> def f(y): −−−→x = 2 −−−→return 4. puis restituée à la fin de l’exécution de la fonction. >>> def f(y): −−−→x = 7 −−−→return x*y 5 6 7 8 9 10 11 >>> print x 6. On exprime cela en disant qu’une telle variable est locale à la fonction.) 7. Faccanoni π 2 il suffit d’écrire 199 .

22464679915e-16 >>> print math. renvoi a n Somme des éléments de la suite Renvoi quotient et reste de la division de a par b   −1 si a < b.log(1. Modules Un module est une collection de fonctions. 3.n) pow(a.0 Voici la liste des fonctions définies dans le module math : 200 © G.pi/2.14159265359 >>> print sin(pi) 1. 1 2 3 def squares(a): −−−→for i in range(len(a)): −−−→−−−→a[i] = a[i]**2 4 5 6 7 8 a = [1. on dispose de plusieurs syntaxex pour importer un module : 1 2 3 4 5 6 7 >>> import math >>> print math. . si a > b. 9. Comme mentionné précédemment. Faccanoni . Ici on en présente seulement quelques-uns.2.b) cmp(a. 4.14159265359 >>> print math. 16] A.4] print a # The output is [1.2. Pour importer un module. 4] squares(a) print a # The output is [1.cos. cette modification se répercute sur la liste initiale. Ces modules couvrent des domaines très divers : mathématiques (fonctions mathématiques usuelles. Python : guide de survie pour les TP 1 2 3 Jeudi 5 juin 2014 df.math. Renvoi 0   1 si a = b. La liste des fonctions définies dans un module peut être affichée par la commande dir(ModuleName). il faut utiliser la commande import ModuleName.n) sum(L) divmod(a.0e-5) print ’First derivative =’. df print ’Second derivative =’. Il est alors possible d’obtenir une aide sur le module avec la commande help(ModuleName). sur les complexes. manipulation de fichiers.0) 0. Si ce n’est pas le résultat voulu. Toutes les autres fonctions mathématiques sont définies dans le module math.1. calculs sur les réels. Python offre par défaut une bibliothèque de plus de deux cents modules qui évite d’avoir à réinventer la roue dès que l’on souhaite écrire un programme. programmation réseau. ddf = derivatives(math. à savoir ce dont on se servira dans les TP.b) Valeur absolue de a Plus grande valeur de la suite Plus petite valeur de la suite Arrondi a à n décimales près Exponentiation.pi 3.0 ou 1 2 3 4 5 6 7 >>> from math import * >>> print pi 3.22464679915e-16 >>> print log(1. 2.0) 0.3.).sin(math. combinatoire. etc. Les fonctions s’utilisent sous la forme ModuleName. ddf ATTENTION. Il est également possible d’importer le contenu du module sous la forme from ModuleName import * et alors les fonctions peuvent être utilisées directement par FunctionName(parameters). Si une liste est passée comme paramètre d’une fonction et cette fonction la modifie. . il faut travailler sur une copie de la liste.pi) 1. Le module math Dans Python seulement quelque fonction mathématique est prédéfinie : abs(a) max(suite) min(suite) round(a.A. administration système.FunctionName(parameters).3.

. donner un titre.b.h) qui construit la liste de n = E ( b−a h ) + 1 éléments [a. png.101) # x = [-5. ajouter une grille. après la commande show() nécessaire pour visualiser les graphes..1a (la courbe bleu correspond à la grille la plus grossière. ’tan’.fb. ’cos’.b. ’__package__’.. ’atanh’. ’radians’.101) # b = [-5.5] with 101 elements y = sin(x) # operation is broadcasted to all elements of the array plot(x. modifier les marge et sauvegarder dans différents formats (jpg. .y) show() On obtient une courbe sur laquelle on peut zoomer. ..5] with 101 elements fc = sin(c) plot(a. Pour tracer plusieurs courbes.5. ’atan2’. ’frexp’.pylab import * x = linspace(-5. changer les étiquettes des axes..-4. ’exp’.. ’ åfsum’. qui sont donnés avec le code utilisé pour les générer.5) # a = [-5.. Python a besoin d’une grille de points x i où évaluer la fonction. ’__name__’. si on veut comparer les graphes de la fonction précédente en modifiant la grille de départ. ’log10’. La référence complète de matplotlib est lisible à l’adresse : http://matplotlib. Pour tracer le graphe d’une fonction f : [a. ’asinh’.b. ’fmod’. ’log’. plus le graphe de la fonction spline est proche du graphe de la fonction f ..-3.5.-1.a +2 . Il est en particulier recommandé de regarder les “screenshots” (captures d’écrans). on peut les mettre les unes à la suite des autres en spécifiant la couleur et le type de trait. ’factorial’. a + . il faut importer le module pylab.pylab import * 2 3 4 5 6 7 8 9 10 a = linspace(-5. a + nh] Voici un exemple avec une sinusoïde : 1 2 3 4 5 from matplotlib.. ’trunc’] Notons que le module définit les deux constantes π et e. ’ceil’. ATTENTION.html. . ’sinh’.5.. Python : guide de survie pour les TP >>> import math >>> dir(math) [’__doc__’. ’tanh’.-4.. ’isnan’.5] with 101 elements y = sin(x) # operation is broadcasted to all elements of the array plot(x. téléchargeable à l’adresse http: // idlex. ’isinf’. å’sin’.fc) show() Le résultat est affiché à la figure A. l’interpréteur python se bloque (c’est un bug de l’éditeur). ’e’. .8. Par exemple. ’hypot’. a + 2h. Le module matplotlib pour le tracé de données Le tracé de courbes scientifiques peut se faire à l’aide du module matplotlib. ’pow’.-3. une légende.-4. ’cosh’..-4.b n n ou l’instruction arange(a.-4. ’atan’. . on peut écrire 1 from matplotlib. sourceforge. . qui améliore I DLE et qui ne pose pas de problèmes avec matplotlib.1) # x = [-5.0.sourceforge. ’acosh’. On peut même tracer plusieurs courbes sur la même figure.5] with 11 elements fb = sin(b) c = linspace(-5. ’modf’.Jeudi 5 juin 2014 1 2 3 A. la courbe rouge correspond à la grille la plus fine). ’pi’.5. eps. å ’copysign’.). ’log1p’. © G. Pour l’utiliser.-4..pylab import * x = arange(-5. b] → R. f (x i )) par des segments. .8.8.9. Dans ces rappels on ne verra que la représentation de fonction 1D. ensuite il relie entre eux les points (x i . Plus les points sont nombreux.net/matplotlib. net . ’sqrt’.1.pylab. Pour pallier à ce problème on peut utiliser I DLE X. ’degrees’...10) # a = [-5. ’floor’.. ’acos’.c.fa. ’fabs’. Pour générer les points x i on peut utiliser l’instruction linspace(a.3.. ’asin’...n) qui construit la liste de n + 1 éléments · ¸ b−a b−a a. ’ldexp’. Lorsque l’on utilise I DLE. a + h.y) show() ou encore 1 2 3 4 5 from matplotlib. Faccanoni 201 .-4.9..5.9.5] with 6 elements fa = sin(a) b = linspace(-5. .

.y2. center left. solid line dash-dot line – : dashed line dotted line .: Quelques options de pylab 1 2 3 4 5 6 7 8 9 10 11 from matplotlib." que la deuxième est à tracer en vert avec des points.") legend([’sinus’. 1]) # axis([xmin.-4. ymax]) show() Le résultat est affiché à la figure A.sin(x).05*pi) plot(x.9.y1.x. Python : guide de survie pour les TP Jeudi 5 juin 2014 (a) (b) (c) F IGURE A. et "g.A. center : 1 2 3 4 5 6 from matplotlib.-4.8. center right.’cosinus’].0. lower center. lower right.1. 202 © G.1b. upper center.. pi.’mD’) legend([’sinus’. v > + D points circle symbols triangle down symbols triangle right symbols plus symbols diamond symbols .5. Voir la documentation de pylab pour connaître les autres options de ce tracé. xmax.1."r-".101) # x = [-5.loc=’upper left’) axis([-pi. On peut déplacer la légende en spécifiant l’une des valeurs suivantes : best. ymin.’co’.5] with 101 elements y1 = sin(x) # operation is broadcasted to all elements of the array y2 = cos(x) plot(x. lower left."g.x. -1.cos(x). Faccanoni ..1c. upper left. Le résultat est affiché à la figure A. upper right.’cosinus’]) xlabel(’abscisses’) ylabel(’ordonnees’) title(’Comparaison de sin(x) et cos(x)’) grid(True) show() "r-" indique que la première courbe est à tracer en rouge avec un trait continu.. ^ < s x pixels triangle up symbols triangle left symbols square symbols cross symbols b r m k blue red magenta black g c y w green cyan yellow white ◦ TABLE A.: Exemples pylab -.pylab import * x = linspace(-5.pi.pylab import * x = arange(-pi.

Sur la figure à droite on a tracé les mêmes données qu’à gauche mais avec la commande plot. Sur la figure à droite on a tracé les mêmes données qu’à gauche mais avec la commande plot.Jeudi 5 juin 2014 A. Faccanoni 203 . En échelle logarithmique. Par exemple. La ligne rouge correspond à une méthode d’ordre un. c’est-à-dire logarithmique sur l’axe des y et linéaire sur l’axe des x. Il est évident que la représentation linéaire n’est pas la mieux adaptée à ces données puisque la courbe E (h) = h 2 se confond dans ce cas avec l’axe des x quand x ∈ [10−6 . le pas d’itération (par exemple pour les méthodes de recherche des zéros d’une fonction). celle présentant la pente la plus forte est celle qui a l’ordre le plus élevé (la pente est p = 1 pour les méthodes d’ordre un. p représente donc la pente de la ligne droite ln(E ). © G. la ligne bleu à une méthode d’ordre deux (comparer les deux triangles). Il est évident que la représentation linéaire n’est pas la mieux adaptée à ces données. Il est très simple d’obtenir avec Python des graphes en échelle logarithmique : il suffit de taper loglog au lieu de plot. on a tracé sur la figure à gauche des droites représentant le comportement de l’erreur de deux méthodes différentes. ? Utiliser une échelle logarithmique signifie représenter ln(h) sur l’axe des abscisses et ln(E ) sur l’axe des ordonnées. nous utiliserons parfois une échelle semi-logarithmique. on trace souvent des graphes représentant ? l’erreur E en fonction de h. c’est-à-dire en échelle linéaire pour les axes x et y. la parabole bleu à une méthode d’ordre deux et la cubique verte à une méthode d’ordre trois. c’est-à-dire une droite si n = 1. Ainsi. Le but de cette représentation est clair : si E = C h p alors ln(E ) = ln(C ) + p ln(h). bien que l’ordonnée correspondante varie entre x ∈ [10−12 . Python : guide de survie pour les TP Représentations des erreurs : échelles logarithmique et semi-logarithmique Quand on étudie les propriétés de convergence d’une méthode numérique. La commande Python pour utiliser l’échelle semi-logarithmique est semilogy. 10−4 ]. et ainsi de suite). 1[ alors ln(E ) = ln(E (0)) + k n ln(C ). c’est-à-dire en échelle linéaire pour les axes x et y. quand on veut comparer deux méthodes. Si E (k) = C k E (0) avec C ∈]0. p = 2 pour les méthodes d’ordre deux. Cette représentation est par exemple préférable quand on trace l’erreur E d’une méthode itérative en fonction des itérations k ou plus généralement quand les ordonnées s’étendent sur un intervalle n beaucoup plus grand que les abscisses. une parabole si n = 2 etc. ? Plutôt que l’échelle log-log. Par exemple. La ligne rouge correspond à une méthode d’ordre un. 10−2 ]. ? l’erreur E en fonction de k. le pas de discrétisation (par exemple pour une formule de quadrature ou le calcul approchée de la solution d’une EDO) . Pour ces graphes on a recours à des représentations en échelle logarithmique ou semi-logarithmique. on a tracé sur la figure à gauche des courbes représentant le comportement de l’erreur de trois méthodes différentes. c’est-à-dire sur 8 ordres de grandeur.

sont exécutées..2 −−−→. Structure conditionnelle Supposons vouloir définir la fonction valeur absolue : ( |x| = x si x ≥ 0. On a besoin d’une instruction qui opère une disjonction de cas. Faccanoni . Bien noter le rôle essentiel de l’indentation qui permet de délimiter chaque bloc d’instructions et la présence des deux points après la condition du choix et après le mot clé else.. . En Python il s’agit de l’instruction de choix introduite par le mot-clé if. .2 −−−→.. condition_2. .. instruction_i. . Si toutes les conditions sont fausses.2 −−−→.0: −−−→−−−→sign = ’negative’ −−−→elif a > 0.. .2. Python : guide de survie pour les TP Jeudi 5 juin 2014 A.0: 204 © G. représentent des ensembles d’instructions dont la valeur est True ou False (on les obtient en général en utilisant les opérateurs de comparaison). où condition_1.4. elif condition_2: −−−→instruction_2.1 −−−→instruction_2. . −x sinon.1 −−−→instruction_n..A. les instructions instruction_n.2.1. instruction_n... . La première condition condition_i ayant la valeur True entraîne l’exécution des instructions instruction_i.1 −−−→instruction_1. ATTENTION.1. Voici un exemple pour établir si un nombre est positif : 1 2 3 4 def sign_of(a): −−−→if a < 0. La syntaxe est la suivante : 1 2 3 4 5 6 7 8 9 10 11 12 13 if condition_1: −−−→instruction_1. else: −−−→instruction_n.

5. . Python : guide de survie pour les TP −−−→−−−→sign = ’positive’ −−−→else: −−−→−−−→sign = ’zero’ −−−→return sign 9 10 11 12 13 14 15 a = 2.0 print ’a is ’ + sign_of(a) # Output: a is negative a = 0.0 print ’a is ’ + sign_of(a) # Output: a is zero La fonction valeur absolue peut être définie comme suit : 1 2 3 4 5 def val_abs(x): −−−→if x>0: −−−→−−−→return x −−−→else: −−−→−−−→return -x 6 7 8 val_abs(5) # Output 5 val_abs(-5) # Output 5 A. Faccanoni 205 . où condition représente des ensembles d’instructions dont la valeur est True ou False. 0 −−−→while i<n: −−−→−−−→i += 1 −−−→−−−→s += i −−−→return s somme(100) # Output 5050 © G. . 0. 0. 12 .Jeudi 5 juin 2014 5 6 7 8 A. £ ¤ Voici un exemple pour créer la liste 1..i = 0. ATTENTION.25] Dans l’exemple suivant on calcul la somme des n premiers entiers : 1 2 3 4 5 6 7 def somme(n): −−−→s . répétition inconditionnelle : le bloc d’instructions est à répéter un nombre donné de fois. : 1 2 3 4 5 6 7 nMax = 5 n = 1 a = [] # Create empty list while n<nMax: −−−→a.5. 0. Tant que la condition condition_i a la valeur True.33333333333333331.. on exécute les instructions instruction_i. 13 .0/n) # Append element to list −−−→n += 1 print a # Output [1. . Si la condition ne devient jamais fausse. Boucles Les structure de répétition se classent en deux catégories : répétition conditionnelle : le bloc d’instructions est à répéter autant de fois qu’une condition est vérifiée. Boucle while : répétition conditionnelle Le constructeur while a la forme générale suivante (attention à l’indentation et aux deux points) : 1 2 3 4 while condition: −−−→instruction_1 −−−→instruction_2 −−−→.0 print ’a is ’ + sign_of(a) # Output: a is positive a = -2.0.append(1. le bloc d’instructions est répété indéfiniment et le programme ne se termine pas.

Tant que target ¤ à sequence. 8]. Python : guide de survie pour les TP Jeudi 5 juin 2014 Boucle for : répétition inconditionnelle Lorsque l’on souhaite répéter un bloc d’instructions un nombre déterminé de fois. 12. 18] liste2 = range(3) [x*y for x in liste for y in liste2] # Output [0. Les instructions de boucle ont une clause else qui est exécutée lorsque la boucle se termine par épuisement de la liste (avec for) ou quand la condition devient fausse (avec while). 18. . 20] 206 © G. où target est le compteur actif et sequence est un itérateur (souvent généré par la fonction range ou une liste ou une chaîne de caractères). 30] [3*x for x in liste if x**2<50] # Output [6. 4. 0. 8. 12. 6.5. 64].append(1. 12 . c’est-à-dire une variable qui compte le nombre de répétitions et conditionne la sortie de la boucle. 16. 0. 1000]] [3*x for x in liste if x>5] # Output [18. 0. 216]. 10. [6. 6. £ appartient Voici un exemple pour créer la liste 1. . [8. 24. on peut utiliser un compteur actif. 0. 13 . avec un itérateur généré par la fonction range : 1 2 3 4 5 nMax = 5 a = [] # Create empty list for n in range(1. 4. ’*’. x. 0. qui recherche des nombres premiers : 1 2 3 4 5 6 7 for n in range(2. [10.n): −−−→−−−→if n%x==0: −−−→−−−→−−−→print n. ’egale’..x**3] for x in liste] # Output [[2.nMax): −−−→a.25] Interrompre une boucle L’instruction break sort de la plus petite boucle for ou while englobante.10): −−−→for x in range(2. ’est un nombre premier’ ce qui donne 1 2 3 4 5 6 7 8 2 3 4 5 6 7 8 9 est un nombre est un nombre egale 2 * 2 est un nombre egale 2 * 3 est un nombre egale 2 * 4 egale 3 * 3 premier premier premier premier List-comprehensions Les listes définies par compréhension permettent de générer des listes de manière très concise sans avoir à utiliser des boucles. 4. on exécute les instructions instruction_i.. . 24. 0. [4.33333333333333331. n/x −−−→−−−→−−−→break −−−→else: −−−→−−−→print n. 10] [3*x for x in liste] # Output [6. C’est la structure introduite par le mot-clé for qui a la forme générale suivante (attention à l’indentation et aux deux points) : 1 2 3 4 for target in sequence: −−−→instruction_1 −−−→instruction_2 −−−→. mais pas quand la boucle est interrompue par une instruction break. 512]. 0. L’instruction continue continue sur la prochaine itération de la boucle. La syntaxe pour définir une liste par compréhension est très proche de celle utilisée en mathématiques pour définir un ensemble : { f (x) | x ∈ E } [ f(x) for x in E ] Voici quelques exemples : 1 2 3 4 5 6 7 liste = [2.0/n) # Append element to list print a # The output is [1. 8.0. 12. Ceci est expliqué dans la boucle suivante.A. 2. 8. 30] [[x. Faccanoni .

2088. Faccanoni 207 . 2052.0 77. 4. 2032.0 158.0 176.0 95.2100) if (b%4==0 and b%100!=0) or (b%400==0)] [2000.0 149. 2020. 2012. 2028. Fdegrees[i]) ce qui donne 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 32.0 104./5)*C+32 for C in Cdegrees] for i in range(len(Cdegrees)): −−−→print ’%5d %5. 2036.0 167. 100] © G.5). 2060. 2004.0 140. Fdegrees = [(9.1f’ % (Cdegrees[i].0 50.0 41. 2008.n+1) if (n%d==0)] [1.0 86.0 122. 25.101. 2072. 50.0 203.0 212. 2016. 5. å2068. 20. 2080. 2092.0 On construit la liste des années bissextiles entre l’année 2000 et l’année 2099 : 1 2 >>> [b for b in range(2000. 2084. 2044. Python : guide de survie pour les TP Conversion des dégrées C ELSIUS en dégrées Kelvin : 1 2 3 4 Cdegrees = range(0.0 131. 10.Jeudi 5 juin 2014 A. 2024.0 59.0 68. 2096] On construit la liste des diviseurs d’un entier n ∈ N : 1 2 3 >>> n = 100 >>> [d for d in range(1. 2040. 2076.0 113. 2064.0 185. 2048. 2. 2056.0 194.