Analyse Numerique
Analyse Numerique
Analyse Numerique
SIL 2
sabitakoudaniel11@gmail.com/ 66 46 48 76
1
I-Objectif général
Cette UE permet à l’étudiant de connaître et d’appliquer les méthodes numériques pour la
résolution des problémes d’ingénierie.
II-Objectifs spécifiques
A la fin de cette UE, l’apprenant sera capable de:
- évaluer approximativement les solutions d’une équation linéaire on non linéaire à variables
réelles.
- calculer numériquement les intégrales.
- résoudre numériquement les équations différentielles ordinaires.
- utiliser les méthodes numériques pour évaluer les solutions des systèmes d’équation.
- utiliser les outils élémentaires de l’analyse numérique pour déterminer les valeurs propres et
les erreurs en algèbre linéaire.
AC
III-Pré-requis
EP
[9] D.G. Luenberger, Linear and nonlinear programming, 2nd edition, Kluwer,
2003.
[11] R. Rockafellar Convex Analysis, Princeton Univ. Press, 1972., Philippe Tassi.
1 Analyse d’erreurs 6
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Quelques définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Erreurs de troncature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 Développement de Taylor en une variable . . . . . . . . . . . . . . . . . . 9
1.3.2 Développement de Taylor en plusieurs variables . . . . . . . . . . . . . . 14
AC
1.3.3 Propagation d’erreurs dans le cas général . . . . . . . . . . . . . . . . . . 15
5 Interpolation 74
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2 Matrice de Vandermonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3 Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.4 Polynôme de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.5 Erreur d’interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
AC
EP
Analyse d’erreurs
1.1 Introduction
Les cours traditionnels de mathématiques nous familiarisent avec des théories et des méthodes
qui permettent de résoudre de façon analytique un certain nombre de problèmes. C’est le cas
notamment des techniques d’intégration et de résolution d’équations algébriques ou différen-
tielles. Bien que l’on puisse proposer plusieurs méthodes pour résoudre un problème donné,
celles-ci conduisent à un même résultat, normalement exempt d’erreur. C’est ici que l’analyse
AC
numérique se distingue des autres champs plus classiques des mathématiques. En effet, pour
un problème donné, il est possible d’utiliser plusieurs techniques de résolution qui résultent en
différents algorithmes. Ces algorithmes dépendent de certains paramètres qui influent sur la
EP
précision du résultat. De plus, on utilise en cours de calcul des approximations plus ou moins
précises. Par exemple, on peut remplacer une dérivée par une différence finie de façon à trans-
former une équation différentielle en une équation algébrique. Le résultat final et son ordre
de précision dépendent des choix que l’on fait. Une partie importante de l’analyse numérique
consiste donc à contenir les effets des erreurs ainsi introduites, qui proviennent de trois sources
principales :
- les erreurs de modélisation ;
-les erreurs de représentation sur ordinateur ;
- les erreurs de troncature.
Les erreurs de modélisation, comme leur nom l’indique, proviennent de l’étape de mathémati-
sation du phénomène physique auquel on s’intéresse. Cette étape consiste à faire ressortir les
causes les plus déterminantes du phénomène observé et à les mettre sous forme d’équations
(différentielles le plus souvent). Si le phénomène observé est très complexe, il faut simplifier
et négliger ses composantes qui paraissent moins importantes ou qui rendent la résolution
numérique trop difficile. C’est ce que l’on appelle les erreurs de modélisation.
Définition 1.1
Soit x, un nombre, et x∗ , une approximation de ce nombre. L’erreur absolue est définie par
:
4x = |x − x∗ | (1.1)
Définition 1.2
Soit x, un nombre, et x∗ , une approximation de ce nombre. L’erreur relative est définie par
:
|x − x∗ | 4x 4x
Er (x) = = ≈ ∗ . (1.2)
|x| |x| |x |
En pratique, il est difficile d’évaluer les erreurs absolue et relative, car on ne connaît générale-
ment pas la valeur exacte de x et l’on n’a que x∗ . C’est pourquoi on utilise l’approximation
4x/|x∗ | pour l’erreur relative. Dans le cas de quantités mesurées expérimentalement dont on ne
connaît que la valeur approximative, on dispose souvent d’une borne supérieure pour l’erreur
absolue qui dépend de la précision des instruments de mesure utilisés. Cette borne est quand
même appelée erreur absolue, alors qu’en fait on a:
|x − x∗ | ≤ 4x
x∗ − 4x ≤ x ≤ x∗ + 4x (1.3)
Définition 1.3
Si l’erreur absolue vérifie :
alors le chiffre correspondant à la mieme puissance de 10 est dit significatif et tous ceux à sa
gauche, correspondant aux puissances de 10 supérieures à m, le sont aussi. On arrête le compte
au dernier chiffre non nul. Il existe une exception à la règle. Si le chiffre correspondant à la
mmieme puissance de 10 est nul ainsi que tous ceux à sa gauche, on dit qu’il n’y a aucun chiffre
AC
significatif. Inversement, si un nombre est donné avec n chiffres significatifs, on commence à
compter à partir du premier chiffre non nul à gauche et l’erreur absolue est inférieure à 0,5 fois
la puissance de 10 correspondant au dernier chiffre significatif.
EP
Remarque 1.4
En pratique, on cherchera à déterminer une borne pour 4x aussi petite que possible et donc
la valeur de m la plus petite possible.
Exemple 1.5 Quel est le chiffre significatif que comporte la valeur de x∗ . On donne x =
π, et x∗ = 22
7
= 3, 142857,
22
4x = π − = 0, 00126 · · · ' 0, 126.10−2
7
le chiffre des centaines (4) est significatif et on a en tout 3 chiffres significatifs. Donc la valeur
approchée de x est x∗ = 3, 14.
Il existe plusieurs façons d’introduire le développement de Taylor. Une façon très simple consiste
à le présenter formellement comme un problème d’approximation au voisinage d’un point x0
. On se demande alors quel est le polynôme de degré n (noté Pn (x)) qui donne la meilleure
approximation d’une fonction f (x) donnée dans le voisinage du point x0 .
AC
EP
Définition 1.7 . Le polynôme de Taylor de degré n de la fonction f (x) autour de x0 est défini
par:
x − x0 0 (x − x0 )2 00 (x − x0 )n (n)
Pn (x) = f (x0 ) + f (x0 ) + f (x0 ) + · · · + f (x0 ) (1.7)
1! 2! n!
où f (n) (x0 ) désigne la dérivée d’ordre n de f (x) en x0 .
Théorème 1.8 Soit f (x), une fonction dont les dérivées jusqu’à l’ordre (n + 1) existent au
voisinage du point x0 . On a l’égalité suivante :
où Pn (x) est le polynôme de Taylor (1.7) et Rn (x) est l’erreur commise, qui est donnée par :
(x − x0 )n+1 (n+1)
Rn (x) = f [ξ(x)] (1.9)
(n + 1)!
pour un certain ξ(x) compris entre x0 et x.
Remarque 1.9
1. L’équation (1.8) est une égalité et ne devient une approximation que lorsque le terme
d’erreur est négligé.
2. Le terme d’erreur de l’équation (1.9) devient de plus en plus grand lorsque x s’éloigne de
x0 en vertu du terme (x − x0 )n+1 (voir la figure 1.1).
AC
3. Inversement, pour une valeur de x près de x0 , le terme d’erreur de l’équation (1.9) est
de plus en plus petit lorsque n augmente.
EP
4. On sait que le point ξ(x) existe et qu’il varie avec x, mais on ne connaît pas sa valeur
exacte. Il n’est donc pas possible d’évaluer le terme d’erreur exactement. On peut tout au
plus lui trouver une borne supérieure dans la plupart des cas.
5. On commet une erreur de troncature chaque fois que l’on utilise le développement de
Taylor et que l’on néglige le terme d’erreur de l’équation (1.9).
Corollaire 1.10 Soit f (x), une fonction dérivable dans l’intervalle [x0 , x]. Alors il existe ξ
dans [x0 , x] tel que:
0 0
f (x) = f (x0 ) + f (ξ)(x − x0 ) ou encore f (x) − f (x0 ) = f (ξ)(x − x0 ). (1.10)
où
0 h2 00 h3 000 hn
Pn (h) = f (x0 ) + h.f (x0 ) + f (x0 ) + f (x0 ) + · · · + f (n) (x0 ) (1.12)
2! 3! n!
donc
hn+1 (n+1)
Rn (h) = f [ξ(h)] (1.13)
(n + 1)!
pour ξ(h) compris entre x0 et (x0 + h).
Solution
EP
1. Développement de Taylor
Puisque toutes les dérivées de e x sont égales à ex et valent 1 en x0 = 0, le développement
de Taylor de degré n devient :
h2 h3 hn
ex0 +h = eh ' Pn (h) = 1 + h + + + ··· + (1.14)
2! 3! n!
et l’expression du terme d’erreur
hn+1 ξ(h)
Rn (h) = e , où ξ(h) ∈ [x0 , x0 + h] = [0, h]. (1.15)
(n + 1)!
eξ(h) ≤ eh
Définition 1.12
Une fonction f (h) est un grand ordre de hn au voisinage de 0 (noté f (h) = O(hn )) s’il
existe une constante positive C telle que:
f (h)
≤C (1.17)
hn
au voisinage de x0 = 0.
Définition 1.13
Une approximation dont le terme d’erreur est un grand ordre de hn (O(hn )) est dite d’ordre
n.
Suivant cette définition, le polynôme de Taylor de degré n est généralement (mais pas toujours)
une approximation d’ordre (n + 1) de f (x). Par exemple, le développement de Taylor de degré
n de ex autour de x = 0 est d’ordre (n + 1). L’ordre est également le degré du premier terme
non nul du terme d’erreur. Dans certains manuels, il y a confusion entre le degré et l’ordre du
polynôme de Taylor. Il faut s’assurer de bien distinguer ces deux notions.
Exercice 1.14
Calculer le développement de Taylor d’ordre 5 de la fonction sin x autour de x0 = 0, et en
déduire l’approximation d’ordre 5 de cette fonction et majorée le terme d’erreur.
Solution
Les dérivées de la fonction sont respectivement:
d’ordre 5 de la fonction sin h. Puisque la fonction cos x est bornée en valeur absolue par 1, on
note immédiatement que:
h5
|R3 (h)|≤
5!
. Si l’on prend maintenant h = 0, 1, on peut obtenir l’approximation:
(0, 1)3
sin(0, 1) ' 0, 1 − = 0, 099833333 (1.20)
3!
et une erreur absolue de 0, 8332 × 10−7 . Il est à noter que la borne supérieure de l’erreur
vaut0, 8333 × 10−7 , ce qui est très près de la valeur exacte. Si l’on prend h = 0, 2, on trouve
(0, 2)3
sin(0, 2) ' 0, 2 − = 0, 1986666667 (1.21)
3!
et une erreur absolue de 0, 2664 × 10−5. On remarque de plus que le rapport entre les deux
erreurs absolues est:
0, 2664 × 10−5
= 31, 97 (1.22)
0, 8332 × 10−7
ce qui confirme que cette approximation est bien d’ordre 5. En prenant une valeur de h deux
fois plus grande, on trouve une erreur à peu près 25 = 32 fois plus grande. Cet exemple montre
que le polynôme de Taylor de degré 3 de la fonction f (x) = sin x est d’ordre 5.
Dans le cas des fonctions de plusieurs variables, on peut reprendre le raisonnement qui a mené
au développement de Taylor d’une variable. Nous nous limitons, pour les fins de l’exposé, à
trois variables, le cas général étant similaire.
Théorème 1.15
Soit f (x1 , x2 , x3 ), une fonction de trois variables, que l’on suppose suffisamment différen-
tiable. Au voisinage du point (x01 , x02 , x03 ), on a:
Exercice 1.16
Soit la fonction de deux variables:
Solution
On a f (1, 0) = 1. De plus, les dérivées partielles du premier ordre de f sont:
∂f (x1 , x2 ) ∂f (x1 , x2 )
= 2x1 + sin x2 , et = x1 cos x2
∂x1 ∂x2
∂f (1, 0) ∂f (1, 0)
= 2, =1
∂x1 ∂x2
et
∂ 2 f (1, 0) ∂ 2 f (1, 0) ∂ 2 f (1, 0)
= 2, = 1, =1
∂x21 ∂x22 ∂x1 ∂x2
Le développement de Taylor de degré 2 de cette fonction de deux variables autour du point
(1, 0) est donc:
1
f (1 + h1 , 0 + h2 ) ' 1 + 2h1 + h2 + (2h21 + 0h22 ) + (1h1 h2 )
2
c’est-à-dire:
f (1 + h1 , 0 + h2 ) ' 1 + 2h1 + h2 + h21 + h1 h2
AC
En choisissant par exemple h1 = h2 = 0, 1, on obtient l’approximation suivante:
f (1, 1, 0, 1) ' 1, 32
EP
qui est proche de la valeur exacte 1,319 816 758 avec une erreur absolue d’environ 0,000 183. Si
l’on prend maintenant h1 = h2 = 0, 05, on obtient une approximation de f (1, 05, 0, 05) qui vaut
1,155. L’erreur absolue dans ce dernier cas est d’environ 0, 000021825, qui est environ 8,4 fois
plus petite qu’avec h1 = h2 = 0, 1. Ce facteur de 8 s’explique par le choix d’un développement
de degré 2 (et d’ordre 3) et par la division des valeurs de h1 et h2 par 2.
x = x∗ ± 4x
y = y ∗ ± 4y (1.24)
quelle sera la précision de la fonction d’une variable f (x∗ ) ou de la fonction de deux variables
g(x∗ , y ∗ ) ? Ici encore, le développement de Taylor apporte une solution. Considérons d’abord le
cas d’une variable. Une quantité x inconnue est approchée par une valeur approximative x∗ avec
une erreur absolue 4x. On estime la valeur inconnue f (x) par l’approximation f (x∗ ). L’erreur
absolue liée à ce résultat est:
On a de plus:
0
f (x) = f (x∗ ± 4x) = f (x∗ ) ± f (x∗ ) 4 x + O((4x)2 ). (1.26)
0
4f ' |f (x∗ )| 4 x (1.27)
0
f (x) = f (x∗ ) ± |f (x∗ )| 4 x. (1.28)
Exercice 1.17
AC
On a mesuré la longueur d’un côté d’une boîte cubique et obtenu l∗ = 10, 2cm avec une
précision de l’ordre du millimètre (4l = 0, 1cm). Déterminer la valeur approchée du volume v
de cette boîte et en déduire l’erreur liée.
EP
Solution
Dans ce cas, f (l) = l3 = v et l’erreur liée au volume est:
0
4v ' |f (l∗ )| 4 l = 3(10, 2)2 × 0, 1 = 31, 212 ≤ 0, 5 × 102
La valeur approximative du volume est (10, 2)3 = 1061, 2cm3 , dont seuls les deux premiers
chiffres (1 et 0) sont significatifs.
Remarque 1.18
En pratique, si f (x, y, z) est une fonction de trois variables x, y et z elles-mêmes approchées
par x∗ , y ∗ et z ∗ avec une précision de 4x, de 4y et de 4z respectivement, alors l’erreur absolue
4f est estimée par:
Exercice 1.19
Un signal électrique est donné par :
V = A sin(ωt − φ)
où V est la tension, A est l’amplitude du signal (A∗ = 100V ),ω est la fréquence (ω ∗ = 3rad/s),
φ est le déphasage (φ∗ = 0, 55rad) et t est le temps (t∗ = 0, 001s). En supposant que A et
ω sont connus exactement (A = A∗ , ω = ω ∗ ) et que φ∗ et t∗ possèdent respectivement 2 et 1
chiffres significatifs, il s’agit d’évaluer l’erreur absolue liée à V ainsi que le nombre de chiffres
significatifs.
Solution
Puisque A et ω sont connus exactement, on sait immédiatement que 4A et 4ω sont nuls et
qu’ils n’ont aucune contribution à l’erreur liée à V . Par ailleurs :
AC
4t = 0, 5 × 10−3
et
4φ = 0, 5 × 10−2
EP
4V ' |Aω cos(ωt − ϕ)| × (0, 5 × 10−3 ) + |−A cos(ωt − ϕ)| × (0, 5 × 10−2 ) (1.31)
ce qui donne :
4V ' 256, 22666235 × (0, 5 × 10−3 ) + | − 85, 4088745| × (0, 5 × 10−2 ) = 0, 555157684
Exercice 1.20
Effectuer les développements de Taylor suivants à l’ordre demandé. Donner l’expression
analytique du terme d’erreur. Donner également une borne supérieure de l’erreur lorsque c’est
possible.
Exercice 1.21
Estimer les erreurs commises dans l’évaluation des fonctions suivantes. Tous les chiffres
fournis sont significatifs. Indiquer le nombre de chiffres significatifs du résultat.
1. ln(x) en x∗ = 2, 01
2. arctan(x) en x∗ = 1, 0100
3. x8 en x∗ = 1, 123
AC
Exercice 1.22
Estimer les erreurs commises dans l’évaluation des fonctions de plusieurs variables suiv-
EP
antes. Tous les chiffres fournis sont significatifs. Indiquer le nombre de chiffres significatifs du
résultat.
1. x2 y 3 en x∗ = 12, 1, y ∗ = 3, 721
2.1 Introduction
Le numéricien est souvent confronté à la résolution d’équations algébriques de la forme :
f (x) = 0 (2.1)
et ce, dans toutes sortes de contextes. Introduisons dès maintenant la terminologie qui nous
sera utile pour traiter ce problème.
AC
Définition 2.1
Une valeur de x solution de f (x) = 0 est appelée une racine ou un zéro de la fonction f (x)
EP
et est notée r.
On pose alors:
x1 + x2
xm = (2.3)
2
Cous d’initiation à l’analyse numérique Dr. Daniel SABI TAKOU /EPAC-UAC ©
sabitakoudaniel11@gmail.com/ 66464876
Méthode de la bissection(dichotomie) 20
qui est bien sûr le point milieu de l’intervalle. Il suffit alors de déterminer, entre les intervalles
[x1 , xm ] et [xm , x2 ], celui qui possède encore un changement de signe. La racine se trouvera
forcément dans cet intervalle. A la première itération ce serait l’intervalle [xm , x2 ], tandis qu’à
la deuxième itération ce serait [x1 , xm ]. Cela nous amène à l’algorithme suivant.
1. Etant donné un intervalle [x1 , x2 ] pour lequel f (x) possède un changement de signe
3. Poser: xm = x1 +x2
2
|x2 −x1 |
4. Si 2|xm |
< a
• convergence atteinte
• écrire la racine xm
AC
• écrire f (xm )
• arrêt
EP
9. Retour à l’étape 3
Remarque 2.2
1. L’expression:
|x2 − x1 |
< (2.4)
2|xm |
sont tous deux de longueur (x2 − x1 )/2, ce qui constitue une borne supérieure de l’erreur
absolue. En divisant par xm , on obtient une approximation assez fiable de l’erreur relative.
Exercice 2.4 Montrer que la fonction f (x) = x3 +x2 −3x−3 possède un zéro dans l’intervalle
[1, 2]. Trouver sa valeur approchée en 10 itérations.
solution
f (1) × f (2) = −4, 0 × 3, 0 = −12, 0 < 0 On a alors xm = 1, 5 et f (1, 5) = −1, 875. L’intervalle
[1, 5, 2] possède encore un changement de signe, ce qui n’est pas le cas pour l’intervalle [1, 1, 5].
Le nouvel intervalle de travail est donc [1, 5, 2], dont le point milieu est xm = 1, 75. Puisque
f (1, 75) = 0, 17187, on prendra l’intervalle [1, 5, 1, 75] et ainsi de suite.
AC
Le tableau suivant résume les résultats.
EP
On remarque aisément que la longueur de l’intervalle entourant la racine est divisée par deux
à chaque itération. Cette constatation permet de déterminer à l’avance le nombre d’itérations
nécessaire pour obtenir une certaine erreur absolue 4r sur la racine r. Soit L = x2 − x1 , la
longueur de l’intervalle de départ. Après une itération, le nouvel intervalle est de longueur L2
et après n itérations la longueur de l’intervalle est L
2n
. Si l’on veut connaître la valeur de n
nécessaire pour avoir:
L
< 4r (2.5)
2n
Il est clair que, sur le plan pratique, on doit prendre pour valeur de n le plus petit entier vérifiant
cette condition. On a aussi tout intérêt à bien cerner la racine recherchée et à prendre, dès le
départ, un intervalle de longueur aussi petite que possible.
Soit une équation à résoudre de la forme : f (x) = 0, dans un intervalle donné. Si f (x) est
continue et dérivable au voisinage de x∗ (racine) alors le développement en série de Taylor
autour d’un approximé xn de x∗ s’écrit:
00
0 (x∗ − xn )2 f (xn )
f (x∗ ) = f (xn ) + (x∗ − xn )f (xn ) + + ··· (2.7)
2
0
f (xn ) + (x∗ − xn )f (xn ) ≈ 0 (2.8)
f (xn )
en ≈ − (2.9)
f 0 (xn )
xn+1 = xn + en . (2.10)
f (xn )
xn+1 = xn − ; n = 0, 1; · · · (2.11)
f 0 (xn )
|xn+1 −xn |
5. Si |xn+1 |
< a :
-convergence atteinte
AC
-écrire la solution xn+1
- arrêt
7. retour à l’étape 4
Cette figure permet de donner une interprétation géométrique assez simple de la méthode de
Newton. Sur cette figure, on a représenté la fonction f (x), la valeur initiale x0 et le point
0
(x0 , f (x0 )) qui est sur la courbe. La droite tangente à la courbe en ce point est de pente f (x0 )
et a pour équation:
AC
0 f (x0 )
f (x0 ) = (x0 − x1 ).f (x0 ) ⇒ x1 = x0 −
f 0 (x0 )
0 f (x1 )
M1 (x1 , f (x1 )) : f (x1 ) = (x1 − x2 ).f (x1 ) ⇒ x2 = x1 −
f 0 (x1 )
EP
0 f (x2 )
M2 (x2 , f (x2 )) : f (x2 ) = (x2 − x3 ).f (x2 ) ⇒ x3 = x2 − 0 (2.12)
f (x2 )
.. .. ..
. . .
0 f (xn )
Mn (xn , f (xn )) : f (xn ) = (xn − xn+1 ).f (xn ) ⇒ xn+1 = xn 0 .
f (xn )
On a:
f (xn )
xn+1 = xn − . (2.13)
f 0 (xn )
Théorème 2.5
Si [a, b] est un intervalle tel que: f (a).f (b) < 0
0
- ∀x ∈ [a, b], f (x) 6= 0
00
- ∀x ∈ [a, b], f (x) 6= 0.
Alors f (x) = 0 possède une seule racine dans cet intervalle [a, b] et ∀x ∈ [a, b], la suite (2.13)
converge quadratiquement.
Remarque 2.6
Le choix du point de départ dans cette méthode est cruciale. Pour assurer la convergence on
choisira un point x0 tel que la condition
00
f (x0 )f (x0 ) > 0, (2.14)
soit vérifiée.
Exercice 2.7
On cherche à résoudre l’équation f (x) = e−x − x = 0 par la méthode de Newton-Raphson,
Sachant que x0 = 0 est la valeur initiale de la solution.
Solution
AC
0
Pour utiliser la méthode de Newton, calculons la dérivée de cette fonction, qui est f (x) =
−e−x − 1. L’algorithme se résume à :
EP
f (xn ) e−xn − xn
xn+1 = xn − 0 ) = xn −
f (xn ) −e−xn − 1
−x
L’erreur absolue est: |e0 | = |x1 − x0 | = | −e
e 0 −x0
−x0 −1 |
On remarque la convergence très rapide de cette méthode. Il suffit en effet pour s’en conva-
incre de comparer ces valeurs avec les résultats obtenus avec la méthode des points fixes pour
le même problème. On note également que le nombre de chiffres significatifs double à chaque
√
Exercice 2.8 En utilisant la m’ethode de Newton, chercher 2 en prenant comme précision
= 10−6 et comme valeur initiale x0 = 1.
f (xn ) − f (xn−1 )
AC
0
f (xn ) ≈ (2.15)
xn − xn−1
Cela revient à utiliser la droite sécante passant par les points (xn , f (xn )) et (xn−1 , f (xn−1 ))
plutôt que la droite tangente passant par (xn , f (xn )): voir figure ci-dessous. Il en résulte
EP
l’algorithme suivant.
4. Effectuer :
f (xn )(xn − xn−1 )
xn+1 = xn −
f (xn ) − f (xn−1 )
|xn+1 −xn |
5. Si |xn+1 |
<
• Convergence atteinte:
• Arrêt.
• Arrêt.
EP
7. retour à l’étape 4
Remarque 2.9
Plusieurs remarques s’imposent au sujet de cet algorithme.
0
1. La dérivée de f (x) n’apparaît plus dans l’algorithme.
2. Il faut fournir au départ 2 valeurs initiales. C’est ce qu’on appelle un algorithme à deux
pas.
3. On choisit les valeurs initiales le plus près possible de la racine recherchée. Il n’est cepen-
dant pas nécessaire qu’il y ait un changement de signe dans l’intervalle [x0 , x1 ], comme
c’est le cas avec la méthode de la bissection.
4. L’analyse de la convergence de cette méthode est plus délicate que celle de la méthode de
Newton. En effet, on montre que:
√
1+ 5
|en+1 | ≈ C|en | 2 (2.16)
Exercice 2.10
Résoudre par la méthode de la sécante l’équation e−x − x = 0 sachant que les deux valeurs
initiales de la solution sont x0 = 0 et x1 = 1.
AC
EP
Exercice 2.11
Faire trois itérations de la méthode de la bissection pour les fonctions suivantes et à partir des
intervalles indiqués. Déterminer le nombre d’ité- rations nécessaires pour obtenir une solution
dont le chiffre des millièmes est significatif.
1−0,61x
2. f (x) = x
dans l’intervalle [1, 5; 3, 0]
Exercice 2.12
On considère l’équation:
ex − (x + 5) = 0 (2.17)
AC
1. Déterminer le nombre et la position approximative des solutions positives de cette équa-
tion.
EP
2. Utiliser l’algorithme de la bissection pour déterminer chacune de ces racines avec une
erreur absolue inférieure à 10−7 .
Exercice 2.13
Utiliser la méthode de Newton pour déterminer les racines des fonc- tions suivantes. Une fois
en
la racine obtenue, calculer |en |, | en−1 | et | e2en | Conclure sur la convergence de la méthode. Si la
n−1
3. f (x) = x6 − x − 1(x0 = 1, 5)
Les systèmes d’équations algébriques jouent un rôle très important en ingénierie. On peut classer
ces systèmes en deux grandes familles: les systèmes linéaires et les systèmes non linéaires.
Ici encore, les progrès de l’informatique et de l’analyse numérique permettent d’aborder des
problèmes de taille prodigieuse. On résout couramment aujourd’hui des systèmes de plusieurs
centaines de milliers d’inconnues. On rencontre ces applications en mécanique des fluides et
dans l’analyse de structures complexes. On peut par exemple calculer l’écoulement de l’air
autour d’un avion ou l’écoulement de l’eau dans une turbine hydraulique complète. On peut
AC
également analyser la résistance de la carlingue d’un avion à différentes contraintes extérieures
et en vérifier numériquement la solidité.
EP
Dans ce chapitre, nous allons aborder les principales méthodes de résolution des systèmes
linéaires, à savoir la méthode d’élimination de Gauss et la décomposition LU . L’effet des
erreurs dues à l’arithmétique flottante sera également étudié et nous introduirons le concept de
conditionnement d’une matrice.
Par la suite, nous verrons comment résoudre les systèmes non linéaires au moyen d’une suite
de systèmes linéaires. C’est ce que nous appelons la linéarisation du problème.
On peut utiliser la notation matricielle, qui est beaucoup plus pratique et surtout plus compacte.
On écrit alors le système précédent sous la forme:
A~x = ~b (3.2)
où
a11 a12 a13 · · · a1n b1
a21 a22 a23 · · · a2n b2
AC
A=
a31 a32 a33 · · · a3n
et ~
b =
b3
(3.3)
.. .. .. . . .. ..
. . . . . .
an1 an2 an3 · · ·
EP
ann bn
Remarque 3.1
Dans la plupart des cas, nous traitons des matrices non singulières ou inversibles. Ainsi, la
solution de l’équation (3.2) peut s’écrire:
~x = A−1~b (3.4)
et la discussion peut sembler close. Nous verrons cependant que le calcul de la matrice inverse
A−1 est plus difficile et plus long que la résolution du système linéaire de départ.
Exercice 3.2
Résoudre le système linéaire suivant par la méthode de substitution:
2x + 3x = 8
1 2
3x + 4x2 = 11
1
On peut d’abord se demander quels types de systèmes linéaires sont faciles à résoudre, et
ce, même s’ils sont de grande taille. Le cas le plus simple est sans doute celui des systèmes
diagonaux, c’est-à-dire dont la matrice A n’a de coefficients non nuls que sur la diagonale.
Exercice 3.3
Résolution du système suivant:
1 0 0 x 2
1
0 2 0 x2 = 2 (3.5)
0 0 3 x3 3
Résolution
Il suffit de considérer séparément chaque ligne. On obtient ainsi ~x = [2 1 3]T On voit tout de
AC
suite comment résoudre le cas général:
bi
xi = , pour i = 1, 2, · · · , n. (3.6)
aii
EP
On rencontre rarement des systèmes diagonaux en pratique et il faudra travailler un peu plus
pour s’attaquer aux applications.
Définition 3.4
Une matrice est dite triangulaire inférieure (ou supérieure) si tous les aij (ou tous les aji )
sont nuls pour i < j. Une matrice triangulaire inférieure a la forme type:
a11 0 0 ··· 0
a21 a22 0 · · · 0
A = a31 a32 a33 · · · 0 (3.7)
.. .. .. . . .
. . . . ..
an1 an2 an3 · · · ann
Une matrice triangulaire supérieure est tout simplement la transposée d’une matrice triangulaire
inférieure.
Les systèmes triangulaires sont également faciles à résoudre. Il suffit en effet de commencer
par l’équation qui se trouve à la pointe du triangle (la première pour une matrice triangulaire
inférieure et la dernière pour une matrice triangulaire supérieure) et de résoudre une à une les
équations. On parle de descente triangulaire ou de remontée triangulaire, selon le cas.
Solution
On a:
b1 9
x1 = = =3
a11 3
Puisque x1 est maintenant connue, on peut déterminer x2 :
AC
b2 − a21 .x1 7−1×3
x2 = = =2
a22 2
b3 − a31 x1 − a32 x2 14 − 3 × 3 − 2 × 2
x3 = = =1
a33 1
De l’exemple précédent, on peut rapidement déduire le cas général pour la descente trian-
gulaire :
b1
x1 =
a11
Pi−1
bi − k=1 aik xk
xi = , pour i = 1, 2, · · · , n (3.9)
aii
bn
xn =
ann
bi − nk=i+1 aik xk
P
xi = , pour i = n − 1, n − 2, · · · , 2, 1. (3.10)
aii
Remarque 3.6
Les équations (3.9) et (3.10) sont valides si les aii sont tous non nuls. Dans le cas contraire,
la matrice A n’est pas inversible et, donc, le système A~x = ~b n’a pas une solution unique. On se
souvient en effet que le déterminant d’une matrice triangulaire inférieure (ou supérieure) est:
n
Y
détAtriangulaire = aii . (3.11)
i=1
En d’autres mots, le déterminant est le produit des termes de la diagonale de A. Le produit est
donc non nul seulement si aucun des aii n’est nul.
Définition 3.7
Une méthode de résolution d’un système linéaire est dite directe si la solution du système
peut être obtenue par cette méthode en un nombre fini et prédéterminé d’opérations.
Revenons au système: A~x = ~b, et voyons comment on peut le transformer sans en modifier la
solution. La réponse est toute simple. On peut toujours multiplier (à gauche de chaque côté)
les termes de cette relation par une matrice W inversible; la solution n’est pas modifiée puisque
l’on peut remultiplier par W −1 pour revenir au système de départ. Ainsi:
3. opération (~li ←− ~li + λ~lj ): remplacer la ligne i par la ligne i plus un multiple de la ligne j.
Ces trois opérations élémentaires sont permises, car elles équivalent à multiplier le système
(3.12) par une matrice inversible.
Remplacer la ligne i par un multiple d’elle-même (~li ←− λ~li ) revient à multi- plier le système
linéaire 3.6 par une matrice diagonale inversible W = M ((~li ←− λ~li )), dont tous les éléments
diagonaux sont 1, sauf mii , qui vaut λ. Tous les autres termes sont nuls. Cette matrice a pour
effet de multiplier la ligne i par le scalaire λ.
Remarque 3.8
1. Le déterminant de la matrice diagonale M (~li ←− λ~li ) est λ. La matrice est donc inversible
siλ 6= 0.
AC
2. La matrice inverse de M (~li ←− λ~li ) est simplement M (~li ←− λ−1~li ) c’est-à-dire: M −1 (~li ←−
λ−1~li ) = M (~li ←− ( λ1 )~li )) Il suffit donc de remplacer λ par 1
λ
pour inverser la matrice.
EP
Exercice 3.9
Soit le système:
3 1 2 x1 6
= (3.13)
6 4 1 x2 11
5 4 1 x3 10
dont la solution est ~x = [111]T . Si l’on souhaite multiplier la ligne 2 par un facteur 3, cela
revient à multiplier le système par la matrice:
1 0 0
M (~l2 ←− 3~l2 ) = 0 2 0 (3.14)
0 0 1
et l’on obtient:
3 1 2 x1 6
x2 = 33 (3.15)
18 12 3
5 4 1 x3 10
La solution de ce nouveau système reste la même que celle du système de départ puisque la
matrice M (~l2 ←− 3~l2 ) est inversible (et son déterminant est 3).
L’opération élémentaire qui consiste à intervertir deux lignes (~li ←→ ~lj ) est également connue
sous le nom de permutation de lignes. Cette opération est équivalente à la multiplication du
système (3.12) par une matrice inversible W = P (~li ←→ ~lj ), obtenue en permutant les lignes i
et j de la matrice identité.
Exemple 3.10
On veut intervertir la ligne 2 et la ligne 3 du système de l’exemple précédent. Il suffit de le
multiplier par la matrice:
1 0 0
P (~l2 ←→ ~l3 ) = 0 0 1 (3.16)
0 1 0
AC
et l’on obtient:
3 1 2 x1 6
EP
x2 = 10 (3.17)
5 4 1
5 4 1 x3 11
Remarque 3.11
1. L’inverse de la matrice P (~li ←→ ~lj ) est donc la matrice P (~li ←→ ~lj ) elle-même, c’est-à-
dire:
2. On montre assez facilement que le déterminant de P (~li ←→ ~lj ) est −1. Lorsque l’on
permute deux lignes, le déterminant du système de départ change de signe.
La dernière opération élémentaire consiste à remplacer la ligne i par la ligne i plus un multiple
de la ligne j(~li ←− ~li +λ~lj ). Cela est encore une fois équivalent à multiplier le système de départ
par une matrice inversible W = T (~li ←− ~li + λ~lj ) qui vaut 1 sur toute la diagonale et 0 partout
ailleurs, sauf tij , qui vaut λ.
Exercice 3.12
En considérant le système précédent, remplacer ma 2ieme ligne (i = 2) par la 2ieme ligne
moins 2 fois la 1ere ligne (j = 1)
Solution
ce qui donne:
3 1 2 x 6
1
0 2 −3 x2 = −1 (3.20)
5 4 1 x3 10
AC
3.2 Méthode d’élimination de Gauss
Tous les outils sont en place pour la résolution d’un système linéaire. Il suffit maintenant
EP
d’utiliser systématiquement les opérations élémentaires pour introduire des zéros sous la diag-
onale de la matrice A et obtenir ainsi un système triangulaire supérieur.
La validité de la méthode d’élimination de Gauss repose sur le fait que les opérations élé-
mentaires consistent à multiplier le système de départ par une matrice inversible.
Remarque 3.13
En pratique, on ne multiplie jamais explicitement les systèmes considérés par les différentes
matrices W, car ce serait trop long. Il faut cependant garder en tête que les opérations effectuées
sont équivalentes à cette multiplication.
La méthode d’élimination de Gauss consiste à éliminer tous les termes sous la diagonale de
la matrice A. Avant de considérer un exemple, introduisons la matrice augmentée.
Définition 3.14
La matrice augmentée d’un système linéaire est la matrice de dimension n(n + 1) que l’on
obtient en ajoutant le membre de droite ~b à la matrice A, c’est-à-dire:
a a12 a13 · · · a1n b1
11
a21 a22 a23 · · · a2n b2
h i
a32 a33 · · · a3n b3 ou A|~b (3.21)
a31
.. .. .. .. .. ..
. . . . . .
an1 an2 an3 · · · ann bn
Puisque les opérations élémentaires doivent être effectuées à la fois sur les lignes de la matrice
A et sur celles du vecteur ~b, cette notation est très utile.
Exercice 3.15 On veut résoudre le système suivant par la méthode d’élimination de Gauss
2 1 2 x1 10
x2 = 26 (3.22)
6 4 0
8 5 1 x3 35
AC
La matrice augmentée du système du système est:
2 1 2 10
T1 (~l2 ←− l~2 − (6/2)~l1 ) (3.23)
6 4 0 26
EP
8 5 1 35
T2 (~l3 ←− l~3 − (8/2)~l1 ) (3.24)
On a indiqué ci-dessus la matrice augmentée de même que les opérations élémentaires (et les
matrices associées) qui sont nécessaires pour éliminer les termes non nuls sous la diagonale de
la première colonne. Il est à noter que l’on divise par 2 (a11 ) les coefficients qui multiplient la
ligne 1. On dit alors que 2 est le pivot. On obtient, en effectuant les opérations indiquées:
2 1 2 10
0 1 −6 −4 T3 (~l3 ←− l~3 − (1/1)~l2 ) (3.25)
0 1 −7 −5
Pour produire une matrice triangulaire supérieure, il suffit maintenant d’introduire des 0 sous
la diagonale de la deuxième colonne. L’opération est indiquée ci-dessus et le pivot est 1 puisque
maintenant a22 = 1. On obtient donc:
2 1 2 10
0 1 −6 −4 (3.26)
0 0 −1 −1
−1
−x3 = −1 ⇒ x3 = =1 (3.27)
−1
d’où
−4 − (−6)(1)
x2 − 6x3 = −4 ⇒ x2 = =2 (3.28)
1
et en fin:
10 − (1)(2) − (2)(1)
2x1 + x2 + 2x3 = 10 ⇒ x1 = =3 (3.29)
2
(3.30)
AC
U = T3 T2 T1 A
où les matrices Ti correspondent aux différentes opérations effectuées sur les lignes de la matrice.
Plus explicitement, on a:
EP
2 1 2 1 0 0 1 0 0 1 0 0 2 1 2
0 1 −6 = 0 1 0 0 1 0 −3 1 0 6 4 0 (3.31)
0 0 −1 0 −1 1 −4 0 1 0 0 1 8 5 1
ou encore
2 1 2 1 0 0 2 1 2
6 4 0 = 3 1 0 0 1 −6 (3.34)
8 5 1 4 1 1 0 0 −1
Remarque 3.16
1. Les coefficients de la matrice triangulaire inférieure sont ceux qui ont permis d’éliminer
les termes non nuls sous la diagonale de la matrice A. Tout cela revient à décomposer la
matrice A en un produit d’une matrice triangulaire inférieure, notée L, et d’une matrice
triangulaire supérieure U . C’est ce que l’on appelle une décomposition LU .
3.3 Décomposition LU
Supposons un instant que nous ayons réussi à exprimer la matrice A en un produit de deux
matrices triangulaires L et U . Comment cela nous permet-il de résoudre le système A~x = ~b? Il
suffit de remarquer que :
qui sont deux systèmes triangulaires. On utilise d’abord une descente triangulaire sur la matrice
L pour obtenir ~y et, par la suite, une remontée triangulaire sur la matrice U pour obtenir la
solution recherchée ~x Il faut tout de suite souligner que la décomposition LU n’est pas unique.
On peut en effet écrire un nombre réel comme le produit de deux autres nombres d’une infinité
de façons. Il en est de même pour les matrices.
Exercice 3.17
Pour illustrer la non-unicité de la décomposition LU , il suffit de vërifier les ëgalités:
2 −1 −1 2 0 0 1 −0, 5 −0, 5
0 −4 2 = 0 −4 0 0 −0, 5 (3.39)
1
6 −3 1 6 0 4 0 0 1
et
2 −1 −1 1 0 0 2 −1 −1
0 −4 2 = 0 1 0 0 −4 2 (3.40)
6 −3 1 3 0 1 0 0 4
AC
Remarque 3.18
La décomposition LU n’étant pas unique, il faut faire au préalable des choix arbitraires. Le
choix le plus populaire consiste à imposer que la matrice U ait des 1 sur sa diagonale. C’est la
EP
décomposition de Crout.
Pour obtenir cette décomposition (ou factorisation), nous considérons une matrice de dimension
4×4, le cas général étant similaire. On doit donc déterminer les coefficients lij et uij des matrices
L et U de telle sorte que A = LU . En imposant que la diagonale de U soit composée de 1, on
doit avoir:
a a12 a13 a14 l 0 0 0 1 u12 u13 u14
11 11
a21 a22 a23 a24 l21 l22 0 0 0 1 u23 u24
(3.41)
=
a31 a32 a33 a34 l31 l32 l33 0 0 0 1 u34
a41 a42 a43 a44 l41 l42 l43 l44 0 0 0 1
3. Produit des lignes de L par la deuxième colonne de U. Les différents produits donnent:
ou encore:
EP
ce qui donne:
5. Produit des lignes de L par la troisième colonne de U. La même suite d’opérations donne:
• Pour i = 1, 2, · · · , n:
-Calcul du pivot:
i−1
X
lii = aii − lik uki (3.60)
k=1
-Pour j = i + 1, i + 2, · · · , n
-Calcul de la ie colonne de L:
i−1
X
lji = aji − ljk uki (3.61)
k=1
-Calcul de la ie ligne de U:
Pi−1
aij − k=1 lik ukj
uij = (3.62)
lii
• Calcul de lnn :
n−1
X
lnn = ann − lnk ukn (3.63)
k=1
-
AC
y1 = b1 /l11
-Pour j = i + 1, i + 2, · · · , n
EP
Pi−1
bi − k=1 lik yk
yi = (3.64)
lii
Remarque 3.19
1. L’algorithme précédent ne fonctionne que si les pivots l ii sont tous non nuls. Ce n’est pas
toujours le cas et il est possible qu’il faille permuter deux lignes pour éviter cette situation,
tout comme pour l’élimination de Gauss. Le coefficient lii est encore appelé pivot. Nous
abordons un peu plus loin les techniques de recherche du meilleur pivot.
2. Une fois utilisés, les coefficients de la matrice A ne servent plus à rien. Ils peuvent donc
être détruits au fur et à mesure que la décomposition progresse. De fait, on peut les
remplacer par les valeurs de lij ou uij selon le cas. C’est ce que l’on nomme la notation
compacte. La notation compacte évite de garder inutilement en mémoire des matrices de
grande taille.
Définition 3.20
La notation compacte de la décomposition LU est la matrice de coefficients:
l l l13 l14
11 12
l21 l22 l23 l24
(3.66)
l31 l32 l33 l34
l41 l42 l43 l44
dans le cas d’une matrice de dimension 4×4. La matrice initiale A est tout simplement détruite.
Les coefficients 1 sur la diagonale de la matrice U ne sont pas indiqués explicitement, mais
doivent tout de même être pris en compte. De façon plus rigoureuse, la notation compacte
revient à mettre en mémoire la matrice: L + U − 1 et à détruire la matrice A.
AC
L
Exercice 3.21
EP
Soit le système:
3 −1 2 x 12
1
x2 = 11 (3.67)
1 2 3
2 −4 −1 x3 2
que l’on doit décomposer en un produit LU . Pour illustrer la notation com- pacte, on remplace
au fur et à mesure les coefficients a ij par les coefficients lij ou uij ; les cases soulignent que
l’élément aij correspondant a été détruit.
1. Première colonne de L
C’est tout simplement la première colonne de A:
3 −1 2
(3.68)
1 2 3
2 −4 −1
2. Première ligne de U
Le pivot de la première ligne est 3. On divise donc la première ligne de A par 3:
3 − 13 23
(3.69)
1 2 3
2 −2 −1
6. Résolution de L~y = ~b
La descente triangulaire donne:
b1 12
y1 = = =4 (3.78)
l11 3
b2 − l21 y1 11 − (1)(4)
y2 = = =3 (3.79)
l22 7/3
b3 − l31 y1 − l32 y2 2 − (2)(4) − (−4/3)(3)
y3 = = =2 (3.80)
l33 −1
7. Résolution de U~x = ~y
x 3 = y3 = 2 (3.81)
Comme nous l’avons déjà remarqué, l’algorithme de décomposition LU exige que les pivots l ii
soient non nuls. Dans le cas contraire, il faut essayer de permuter deux lignes. Contrairement
EP
équations.
Remarque 3.22
Dans une décomposition LU , la permutation de lignes s’effectue toujours après le calcul de
chaque colonne de L. On place en position de pivot le plus grand terme en valeur absolue de
cette colonne (sous le pivot actuel), pour des raisons de précision que nous verrons plus loin.
Exercice 3.23 Résoud le systhème suivant par la décomposition de Crout avec permutation de
ligne.
0 2 1 x1 −1
x2 = −2 (3.84)
1 0 O
3 0 1 x3 5
Soit:
0 2 1 1
(3.85)
~
1 0 0 O= 2
3 0 1 3
~ indique que la numérotation des équations n’a pas encore été modi-
Au départ, le vecteur O
fiée.
1. Première colonne de L
Puisqu’il sagit de la première colone de A, On a:
0 −2 1 1
(3.86)
~
0 O= 2
1 O
3 0 1 3
Le vecteur de permutation n’a pas été modifié, mais on a un pivot nul. On effectue alors
l’opération (~l1 ←→ ~l3 ). On aurait tout aussi bien pu permuter la ligne 1 et la ligne 2, mais
on choisit immédiatement le plus grand pivot possible (en valeur absolue). Le vecteur de
AC
permutation est alors modifié:
3 0 1 3
(3.87)
~
EP
O 0 O= 2
1
0 2 1 1
2. Première ligne de U
Il suffit de diviser cette ligne par le nouveau pivot 3:
3 0 1/3 3
(3.88)
~
0 O= 2
1 O
0 2 1 1
3. Deuxième colonne de L
De la relation (3.60), on tire:
On a maintenant:
3 0 1/3 3
(3.91)
~
O= 2
1 0 0
0 2 1 1
~ en con-
et encore un pivot nul, qui oblige à intervertir les lignes 2 et 3 et à modifier O
séquence (~l2 ) ←→ ~l3
3 0 1/3 3
(3.92)
~
O= 2
0 2 1
1 0 0 1
4. Calcul de u23
La relation (3.61) mène à:
a23 − l21 u13 1 − (0)(1/3)
u23 = = = 1/2 (3.93)
l22 2
et la matrice compacte devient:
3 0 1/3 3
(3.94)
~
1/2 O = 1
0 2
AC
1 0 0 2
5. Calcul de l33
On calcule enfin:
EP
l33 = a33 − l31 u13 − l32 u23 u23 = 0 − (1)(1/3) − (0)(1/2) = −1/3 (3.95)
~ on résout d’abord:
Compte tenu du vecteur O,
−2
L~y = 5 (3.99)
−1
A noter l’ordre des valeurs dans le membre de droite. La descente triangulaire (laissée
en exercice) donne ~y = [−2/3 5/2 1]T . Il suffit maintenant d’effectuer la remontée
triangulaire:
−2/3
U~x = 5/2 (3.100)
1
Remarque 3.24
Le déterminant de la matrice A de l’exemple précédent est donné par :
AC
A = (−1)(−1) [(3)(2)(−1/3)] = −2 (3.101)
Comme on a permuté deux lignes deux fois, le déterminant a changé de signe deux fois.
EP
Exercice 3.25
Le produit de la matrice A suivante par le vecteur â ~e3 donne:
1 2 3 O 3
4 5 6 0 = (3.103)
6
7 8 9 1 9
colonne de A−1 , on a:
~ i = A−1~ei , ou AC
C ~ i = ~ei (3.104)
La résolution de la relation précédente donne la ie colonne de A−1 . On peut donc affirmer que
le calcul de la matrice A−1 est équivalent à la résolution de n systèmes linéaires (1 par colonne
de A−1 ).
AC
NB: Puisque le calcul de A−1 est équivalent à la résolution de n systèmes linéaires, il est
clair qu’il ne faut jamais calculer A−1 pour résoudre un système linéaire. Il vaut mieux utiliser
directement une décomposition LU sans passer par l’inverse.
EP
Solution
la décomposition LU de A est déjà obtenue à partir de l’exemple précédent, soit on a:
3 0 0 1 0 1/3 3
(3.106)
~
1 1/2 O 1
0 2 0 0
1 0 −1/3 0 0 1 2
~ 1 = ~e1 , AC
AC ~ 2 = ~e2 , AC
~ 3 = ~e3 ,
dont le résultat nous donne les trois colonnes de la matrice A−1 . Le premier système est résolu
d’abord par la descente triangulaire:
3 0 0 y 0
1
= 1 (3.107)
0 2 0 y2
1 0 −1/3 y3 0
Il faut prendre garde ici au membre de droite. Il s’agit bien du vecteur ~e1 = [1 0 0]T , mais
~ = [3 1 2]T pour tenir compte des lignes qui ont été permutées
ordonné suivant le vecteur O
lors de la décomposition LU . La résolution conduit à ~y = [0 1/2 0]T . Il reste à effectuer la
remontée triangulaire:
1 0 1/3 x 0
1
= 1/2 (3.108)
0 1 1/2 x2
AC
0 0 1 x3 0
dont le résultat [0 1/2 0]T représente la première colonne de A−1 . Le deuxième système exige
dans un premier temps la résolution de :
EP
3 0 0 y 0
1
= 0 (3.109)
0 2 0 y2
1 0 −1/3 y3 1
(à surveiller l’ordre des composantes du vecteur ~e2 à droite), dont la solution ~y = [0 0 − 3]T .
Par la suite:
1 0 1/3 x1 0
= 0 (3.110)
0 1 1/2 x2
0 0 1 x3 −3
~ 2 = [1 3/2
qui donne la deuxième colonne de A−1 , soit C − 3]T . Enfin, un raisonnement
~ 3 , soit C
similaire détermine la troisième colonne C ~ 2 = [1 − 1/2 1]T . La matrice inverse est
donc:
0 1 0
A−1 = 1/2 3/2 −1/2 (3.111)
0 −3 1
Définition 3.27
Une norme vectorielle est une application de Rn dans R (R désigne l’ensemble des réels)
qui associe à un vecteur ~x un scalaire noté ||~x|| et qui vérifie les trois propriétés suivantes:
1. La norme d’un vecteur est toujours strictement positive, sauf si le vecteur a toutes ses
composantes nulles:
Toute application vérifiant ces trois propriétés est une norme vectorielle. La plus connue est
sans doute la norme euclidienne.
Définition 3.28
2. La norme euclidienne d’un vecteur ~x est notée ||~x||2 et est définie par:
q
||~x||2 = x21 + x22 + · · · + x2n (3.115)
Exercice 3.29
Soit le vecteur ~x = [1 − 3 − 8]T , trouve ||~x||1 , |~x||∞ =, et ||~x||2 .
Solution
= |1| + | − 3| + | − 8| = 12 (3.118)
Définition 3.30
Une norme matricielle est une application qui associe à une matrice A un scalaire noté ||A||
vérifiant les quatre propriétés suivantes :
AC
1. La norme d’une matrice est toujours strictement positive, sauf si la matrice a toutes ses
composantes nulles:
3. L’inégalité triangulaire est toujours vérifiée entre deux matrices A et B quelconques, c’est-
à-dire:
Toute application qui vérifie ces quatre propriétés est une norme matricielle.
Théorème 3.31
Les normes matricielles induites par les normes vectorielles l1 et l∞ sont respectivement
données par:
n
X
||A||1 = sup ||A~x||1 = max |aij |(lignes) (3.125)
||~
x||1 =1 1≤j≤n
i=1
n
X
||A||∞ = sup ||A~x||∞ = max |aij |(colone) (3.126)
||~
x||∞ =1 1≤j≤n
i=1
La norme ||A||1 consiste à sommer (en valeur absolue) chacune des colonnes de A et à choisir
la plus grande somme. La norme ||A||∞ fait un travail similaire sur les lignes.
On définit également la norme de Frobenius par:
v
u n 2
uX
||A||F = t aij . (3.127)
i,j=1
Exercice 3.32
Soit la matrice suivante:
1 −2 5
A = −3 1 −5 (3.128)
AC
1 −9 0
Déterminer ||A||1 , ||A||2 et ||A||∞
EP
Solution
Une norme vectorielle et une norme matricielle sont dites compatibles si la condition:
Solution
Définition 3.34 Le conditionnement d’une matrice (noté condA) est défini par:
1 ≤ Cond ≤ ∞ (3.146)
Le conditionnement est important pour déterminer la sensibilité d’une matrice aux erreurs
d’arrondie et de représentation sur ordinateur.
~r = ~b − A~x∗ (3.148)
||~r||
≤ ||~e||. (3.152)
||A||
En regroupant les relations (3.150) et (3.152), on obtient:
||~r||
≤ ||~e||| ≤ ||A−1 ||||~r||. (3.153)
||A||
Par ailleurs, en refaisant le même raisonnement avec les égalités A~x = ~b et ~x = A−1~b, on trouve:
||~b||
≤ ||~x||| ≤ ||A−1 ||||~b||. (3.154)
||A||
Après avoir inversé ces inégalités, on trouve:
1 1 ||A||
≤ ≤ . (3.155)
||A||||~b|| ||~x|| ||~b||
On peut obtenir une autre inégalité qui illustre le rôle du conditionnement d’une matrice
quant à la précision de la solution numérique d’un système linéaire. Soit le système linéaire
A~x = ~b. Lorsque l’on résout un tel système sur ordinateur, où la représentation des nombres
n’est pas toujours exacte, on résout en fait:
(A + E)~x = ~b (3.158)
où la matrice E représente une perturbation du système initial, due par exemple aux erreurs
de représentation sur ordinateur des coefficients de la matrice A. La matrice E peut égale-
ment représenter les erreurs de mesure lorsque les coefficients de la matrice A sont obtenus
~x = A−1~b = A−1 [(A + E)~x∗ ] = (I + A−1 E)~x∗ = ~x∗ + A−1 E~x∗ (3.159)
||A||||A−1 ||||E||||~x∗ ||
||~x − ~x∗ || ≤ ||A−1 ||||E||||~x∗ || = (3.161)
||A||
Remarque 3.36
AC
1- Le terme de gauche est une approximation de l’erreur relative entre la solution exacte
et la solution du système perturbé. (On devrait avoir ||~x|| au dénominateur pour représenter
vraiment l’erreur relative.)
EP
2- Le terme de droite est en quelque sorte l’erreur relative liée aux coefficients de la matrice
A multipliée par le conditionnement de A.
3- Si CondA est petit, une petite perturbation sur la matrice A entraîne une petite pertur-
bation sur la solution ~x.
4- Par contre, si CondA est grand, une petite perturbation sur la matrice A pourrait résulter
en une très grande perturbation sur la solution du système. Il est par conséquent possible que
les résultats numériques soient peu précis et même, dans certains cas, complètement faux.
Exercice 3.37
Soit le système linéaire suivant:
10 7 8 7
32
7 5 6 5 23
A~x =
=
(3.163)
8 6 10 9 33
7 5 9 10 31
4. Donner une borne supérieure pour l’erreur relative commise entre ~x et ~x∗ .
Solution
1. la norme || ||∞ de la matrice A est
AC
~r = ~b − A~x∗ = [−0, 1 0, 1 − 0, 1 0, 1]T et ||~r||∞ = 0.1
4. Donnons une borne supérieure pour l’erreur relative commise entre ~x et ~x∗
Exercice 3.38
Soit la matrice:
1 2 3
(3.165)
4 5 6
7 8 9
c) ~l2 ←− 5~l2
d) ~l3 ←− ~l3 + 5~l2
Exercice 3.39
Résoudre les systèmes triangulaires suivants:
a)
3 0 0 x 9
1
1 5 0 x2 = 13 (3.166)
2 4 6 x3 20
b)
1 3 4 x 0
1
x2 = −4 (3.167)
0 3 5
0 0 −3 x3 6
1 1 0 x 1
1
0 1 1 x2 = −2 (3.168)
1 2 1 x3 1
Exercice 3.41
Effectuer l’élimination de Gauss (sans permutation de lignes) sur le système:
2 −6α x1 3
= (3.169)
3α −1 x2 β
2. Déterminer les valeurs de α et de β pour lesquelles la matrice A est non inversible (sin-
gulière).
Exercice 3.42
Résoudre les systèmes linéaires suivants par la méthode d’élimination de Gausse et par la
Méthode de décomposition LU de Crout (sans permutation de lignes).
a)
1 2 1 x 0
1
2 3 x2 = 3 (3.170)
2
−1 −3 0 x3 2
b)
1 2 1 4 x 13
1
2 0 4 3 x2 28
=
(3.171)
4 2 2 1 x 20
3
−3 1 3 0 x4 6
Exercice 3.43
AC
Résoudre le système linéaire:
1 2 6 x1 23
EP
4 8 −1 x2 = 17 (3.172)
−2 3 2 x3 10
4.1 Introduction
La résolution numérique des grands systèmes linéaires peut parfois nécessiter l’emploi de méth-
odes autres que la décomposition LU . La raison principale est que la décomposition LU requiert
la mise en mémoire d’une matrice de très grande taille, avec peu de possibilités de comprimer
AC
toute cette information. Les méthodes itératives, en revanche, permettent de ne placer en mé-
moire que les coefficients non nuls d’une matrice de grande taille. Cela est particulièrement
important avec les matrices creuses, dont une grande partie des coefficients sont nuls. La dé-
EP
Les racines (ou zéros) du polynôme caractéristique sont appelées valeurs propres de la matrice
A.
Si λ est une valeur propre, la matrice A − λI est singulière (puisque son déterminant est nul)
et le système:
AC
(A − λI)~x = ~0, ou encore A~x = λI~x = λ~x (4.2)
possède des solutions non nulles. En effet, le système (4.2) possède toujours la solution ~x = ~0;
EP
Exercice 4.1
Soit la matrice:
1 2
A=
−2 2
Solution
Le polynôme caractéristique de A est
1−λ 2
p(λ) = dét(A − λI) =
−2 2−λ
= (1 − λ)(2 − λ) + 4 = λ2 − 3λ + 6 (4.3)
p(λ) = λ2 − 3λ + 6 = 0
√
4 = 9 − 24 = −15 = ( 15i)2
A=
2 3
Solution
Le polynôme caractéristique de A est:
1−λ 4
p(λ) = dét(A − λI) =
2 3−λ
= (1 − λ)(3 − λ) − 8 = λ2 − 4λ − 5 (4.6)
p(λ) = λ2 − 4λ − 5 = 0 ⇒ λ1 = 5 λ2 = −1
lim An = 0 (4.7)
n−→∞
Théorème 4.3
Les quatre assertions suivantes sont équivalentes.
Exercice 4.4
EP
Soit la matrice:
1/2 0
A=
1/3 1/4
dont les valeurs propres sont tout simplement λ1 = 1/2 et λ2 = 1/4. Un simple calcul permet
de s’assurer que:
1/4 0 0, 97656 × 10−3 0, 0
A2 = · · · A10 = (4.10)
−2 −6
1/4 1/16 0, 13008 × 10 0, 95367 × 10
et que
−15
0, 88818 × 10 0, 0
A50 =
−14 −30
0, 11842 × 10 0, 788886 × 10
lim An~x = 0
n−→∞
On suppose pour l’instant que tous les éléments de la diagonale sont non nuls (aii 6= 0, ∀i).
Comme dans toute méthode itérative, nous partons d’une approximation initiale de la solution
que nous noterons ~x = [x01 x02 · · · x0n ]T . On considère ensuite l’algorithme:
n
!
1 X
xk+1
1 = b1 − a1j xkj
a11 j=2
AC
n
!
1 X
xk+1
2 = b2 − a2j xkj
a22 j=2
n
!
1 X
x3k+1
= b3 − a3j xjk
(4.11)
EP
a33 j=2
.. .. ..
. . . !
n
1 X
xk+1
n = bn − k
anj xj
ann j=2
qui consiste à isoler le coefficient de la diagonale de chaque ligne du système. C’est la méthode
de Jacobi. Si l’un des coefficients diagonaux est nul, il est parfois possible de permuter certaines
lignes pour éviter cette situation. Plus généralement, on écrit :
n
!
1 X
xk+1
i = bi − aij xkj (4.12)
aii j=1,j6=i
Exercice 4.5
Résoudre le système suivant par la méthode de Jacobi
3x1 + x2 − x3 = 2
x1 + 5x2 + 2x3 = 17 (4.13)
2x1 − x2 − 6x3 = −18
Solution
La méthode de Jacobi s’écrit dans ce cas:
1 1
i = 1 : xk+1 b1 − a12 xk2 − a13 xk3 = 2 − a12 xk2 − a13 xk3 (4.14)
1 =
a11 3
1 1
i = 2 : xk+1 b2 − a21 xk1 − a23 xk3 = 17 − xk2 − 2xk2 (4.15)
2 =
a22 5
1 1
i = 3 : xk+1 b1 − a12 xk2 − a12 xk2 = −18 − 2xk2 + xk2 (4.16)
3 =
a33 6
A partir de [x01 x02 x03 ]T = [0 0 0]T , on trouve
1iere itération:
1 1 2
x11 = 2 − x02 + x03 = (2 − 0 − 0) = (4.17)
3 3 3
1 17
2
x1 = 0 0
17 − x1 − 2x3 = (4.18)
5 5
x1 = −f rac16 −18 − 2x1 + x02 = 3,
3 0
(4.19)
1 17 8
x11 = 2− +3 = (4.20)
3 5 15
1 2 31
x21 = 17 − − 2(3) = (4.21)
5 3 15
3
x1 = f rac16 (−18 − 2(2/3) + 17/5) = 2, 655556 (4.22)
On finit par remplir le tableau suivant. Les valeurs convergent vers la solution ~x = [1 2 3]T
Cette forme matricielle servira uniquement pour l’analyse de convergence de la méthode. Pour
obtenir cette représentation matricielle, on doit d’abord effectuer une décomposition de la
matrice A sous la forme:
A = D + Ti + Ts (4.23)
où
a11 0 0 ··· 0
0 a22 0 ··· 0
D= ··· 0 (4.24)
0 0 a33
.. .. .. .. ..
. . . . .
0 0 0 ··· 0
AC
0 0 0 ··· 0 0 a12 a13 · · · a1n
a21 0 0 ··· 0 0 0 a23 · · · a2n
Ti = ··· Ts = 0 0 · · · a3n
a31 a32 0 0 0
.. .. .. .. .. .. .. .. .. ..
EP
. . . . . . . . . .
an1 an2 an3 · · · 0 0 0 0 ··· 0
A~x = ~b (4.25)
devient
(D + T1 + TS ) sec x = ~b (4.26)
ou encre
A~x = ~b (4.27)
devient
(D + T1 + TS ) sec x = ~b (4.28)
ou encore
et enfin
où l’on a posé TJ = −D−1 (TI + TS ) et ~cJ = D−1~b. Il est alors clair que l’algorithme précédant
peut aussi s’écrire :
La méthode de Jacobi convergera donc si le rayon spectral de TJ (ρ(TJ )) est inférieur à 1. Comme
nous l’avons déjà mentionné, le calcul du rayon spectral d’une matrice est un problème difficile,
surtout si la matrice est de grande taille. Il existe cependant un type de matrices qui vérifie
automatiquement la condition de convergence de la méthode de Jacobi.
AC
Définition 4.6
Une matrice A est dite à diagonale strictement dominante si :
n
X
|aii | > |aij | ∀i (4.32)
EP
j=1,j6=i
Cette définition signifie que le terme diagonal aii de la matrice A est nettement dominant
puisque sa valeur absolue est plus grande que la somme des valeurs absolues de tous les autres
termes de la ligne.
Le rayon spectral d’une matrice A vérifie:
et ce, quelle que soit la norme matricielle (subordonnée à une norme vectorielle) utilisée.
Si A est une matrice à diagonale strictement dominante, la méthode de Jacobi est conver-
gente.
n
!
1 X
xk+1
i = bi − aij xkj (4.34)
aii j=1,j6=i
ou encore
AC
(Ti + D)~xk+1 = ~b − TS ~xk (4.38)
ou enfin
EP
~xk+1 = (Ti + D)−1 TS ~xk + (Ti + D)−1~b = TGS ~xk + ~cGS (4.39)
Exercice 4.7
Résoudre le syqtème linëaire suivant par la méthode de Gauss-Seidel
3x1 + x2 − x3 = 2
x1 + 5x2 + 2x3 = 17 (4.40)
2x1 − x2 − 6x3 = −18
Solution
La méthode de Gauss-Seidel s’écrit dans ce cas:
1
xk+1 2 − xk2 + xk3
1 =
3
1
xk+1 17 − xk+1 − 2xk3
2 = 1
5
1
xk+1 = − −18 − 2xk+1 + xk+1 (4.41)
3 1 2
6
Notons la différence des indices avec la méthode de Jacobi. Partant de ~x = [0 0 0]T ,on trouve
d’abord:
1 2
x11 = (2 − 0 + 0) =
3 3
1 49
x12 = (17 − 2/3 − 0) =
5 15
1 241
x13 = − (−18 − 2(2/3) + 49/15) = (4.42)
6 90
tandis qu’à la deuxième itération on trouve:
1
x11 = (2 − 49/15 + 241/90) = 0?4703704
3
1
x12 = (17 − 0, 4703704 − 2(241/90)) = 2, 234815
5
1
x13 = − (−18 − 2(0, 4703704) + 2, 234815) = 2, 784321 (4.43)
6
ainsi que les itérations suivantes. On constate que, pour un même nombre d’itérations, la
AC
EP
solution approximative obtenue par la méthode de Gauss-Seidel est plus précise. La méthode
de Gauss-Seidel converge généralement plus vite que la méthode de Jacobi, mais pas toujours.
Exercice 4.8
Déterminer le polynôme caractéristique, les valeurs propres et le rayon spectral des matrices
suivantes. Déterminer également si ces matrices sont convergentes.
1/2 1 2
2 −1
a) b) (4.44)
0 1/3 3
−1 2
0 0 1/4
La matrice
2 −1
(4.45)
−1 2
a un rayon spectral de 3, qui est donc supérieur à 1. Or, on peut démontrer directement que la
méthode de Jacobi converge quel que soit le vecteur ~x0 initial. Est-ce une contradiction?
Exercice 4.9
Construire une matrice de dimension 3 à diagonale strictement dominante. Pour cette ma-
trice, construire explicitement la matrice TJ et vérifier si ||TJ ||∞ < 1.
Exercice 4.10
Soit le système linéaire suivant:
3x2 − x3 + 8x4 = −11
2x1 − x2 + 10x3 = −11
(4.46)
10x1 − x2 + 2x3 = 6
−x + 11x − x + 3x = 25
1 2 3 4
1. Montrer que les méthodes de Jacobi et de Gauss-Seidel ne convergent pas lorsqu’on isole
simplement les xi du système d’équation.
9x1 − 2x2 + x3 = 13
−x1 + 5x2 − x3 = 9 (4.47)
x1 − 2x2 + 9x3 = −11
à l’aide des méthodes de Jacobi et de Gauss-Seidel à partir de ~x0 = [0 0 0]T (faire les 5
premières itérations seulement).
Interpolation
5.1 Introduction
Ce chapitre ainsi que le chapitre suivant qui porte sur la dérivation et l’intégration numériques
sont très étroitement reliés puisqu’ils tendent à répondre à diverses facettes d’un même prob-
lème. Ce problème est le suivant: à partir d’une fonction f (x) connue seulement en (n+1) points
de la forme ((xi , f (xi )) pour i = 0, 1, 2, · · · , n), peut-on construire une approximation de f (x),
et ce, pour tout x? Les xi sont appelés abscisses ou nœuds d’interpolation tandis que les couples
AC
((xi , f (xi )) pour i = 0, 1, 2, · · · , n) sont les points de collocation ou points d’interpolation et
peuvent provenir de données expérimentales ou d’une table. En d’autres termes, si l’on ne con-
naît que les points de collocation (xi , f (xi )) d’une fonction, peut-on obtenir une approximation
EP
de f (x) pour une valeur de x différente des xi ? Il s’agit d’un problème d’interpolation, dont la
solution est relativement simple. Il suffit de construire un polynôme de degré suffisamment élevé
dont la courbe passe par les points de collocation. On parle alors du polynôme de collocation
ou polynôme d’interpolation.
Théorème 5.1
Un polynôme de degré n dont la forme générale est:
pn (x) = a0 + a1 x + a2 x2 + a3 x3 + · · · + an xn (5.1)
avec an 6= 0 possède, tenant compte des multiplicités, très exactement n racines qui peuvent être
réelles ou complexes conjuguées. Rappelons que r est une racine de pn (x) si pn (x) = 0.
Corollaire 5.2
Par (n + 1) points de collocation d’abscisses distinctes ((xi , f (xi )) pour i = 0, 1, 2, · · · , n),
on ne peut faire correspondre qu’un et un seul polynôme de degré n.
Définition 5.3
L’unique polynôme de degré n passant par les points (xi , f (xi )) pour i = 0, 1, 2, · · · , n, est
appelé l’interpolant de f (x) de degré n aux abscisses (nœuds) x0 , x1 , · · · , xn .
ou encore
a0 + a1 x + a2 x2 + a3 x3 + · · · + an xn = f (xi ) (5.3)
.. .. .. .. . .. ..
. . . . .. . .
1 xn x2n x3n · · · xnn an f (xn )
Remarque 5.4
La matrice de ce système linéaire porte le nom de matrice de Vandermonde. On peut montrer
que le conditionnement de cette matrice augmente fortement avec la taille (n + 1) du système.
De plus, comme le révèlent les sections qui suivent, il n’est pas nécessaire de résoudre un système
linéaire pour calculer un polynôme d’interpolation. Cette méthode est donc rarement utilisée.
Exercice 5.5
calculer le polynôme passant par les points (0, 1), (1, 2), (2, 9) et (3, 28) par la méthode de
Vandermonde.
Solution
Etant donné ses 4 points, le polynôme recherché est tout au plus de degré 3. Ses coefficients aii
sont solution de:
1 0 0 0a 1
0
1 1 1 1 a1 2
=
(5.5)
1 2 4 8 a2 9
1 3 9 27 a3 28
dont la solution (obtenue par décomposition LU ) est [1 0 0 1]T . Le polynôme recherché est
donc p3 (x) = 1 + x3 .
Li (xj ) = 0 ∀j 6= i
Cela signifie que le polynôme Li (x) de degré n prend la valeur 1 en xi et s’annule à tous les
EP
autres points de collocation. Nous verrons comment construire les Li (x) un peu plus loin. Dans
ces conditions, la fonction L(x) définie par:
n
X
L(x) = f (xi )Li (x) (5.6)
i=0
est un polynôme de degré n, car chacun des Li (x) est de degré n. De plus, ce polynôme passe
par les (n + 1) points de collocation et est donc le polynôme recherché.
Pour construire les fonctions Li (x), on suit la démarche progressive suivante:
Polynôme de degré 1
Il s’agit de déterminer le polynôme de degré 1 dont la courbe (une droite) passe par les deux
points (x0 , f (x0 )) et (x1 , f (x1 )). On doit donc construire deux polynômes L0 (x) et L1 (x) de
degré 1 qui vérifient:
L0 (x0 ) = 1
L1 (x0 ) = 0
L0 (x1 ) = 0
L1 (x1 ) = 1
Exercice 5.6
Trouver le polynôme (l’équation de droite) passant par les points (2, 3) et (5, −6).
Solution
AC
x0 = 2 f (x0 ) = 3, x1 = 5 f (x1 ) = −6
x − x1 x − x0 x−5 x−2
EP
Polynômes de degré 2
Si l’on cherche le polynôme de degré 2 passant par les points (x0 , f (x0 )), (x1 , f (x1 )) et (x2 , f (x2 )),
on doit construire trois fonctions Li (x). Le raisonnement est toujours le même. La fonction L0 (x)
s’annule cette fois en x = x1 et en x = x2 . On doit forcément avoir un coefficient de la forme:
(x − x1 )(x − x2 ) qui vaut (x0 − x1 )(x0 − x2 ) en x = x0 . Pour satisfaire la condition L0 (x0 ) = 1,
il suffit alors de diviser le coefficient par cette valeur et de poser:
(x − x1 )(x − x2 )
L0 (x) = (5.11)
(x0 − x1 )(x0 − x2 )
Cette fonction vaut bien 1 en x0 et 0 en x1 et x2 . De la même manière, on obtient les fonctions
L1 (x) et L2 (x) définies par:
(x − x0 )(x − x2 ) (x − x0 )(x − x1 )
L1 (x) = , et L2 (x) = )
(5.12)
(x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1
Exercice 5.7
Trouve l’équation de de la parabole (polynôme de degré 2) passant par les points (1, 2), (3, 7)
et (4, −1).
Solution
Théorème 5.8
Etant donné (n+1) points d’interpolation ((xi , f (xi )) pour i = 0, 1, · · · , n), l’unique polynôme
d’interpolation de degré n passant par tous ces points peut s’écrire:
n
X
pn (x) = f (xi )Li (x) (5.17)
i=0
où les (n + 1) fonctions Li (x) sont définies par la relation (5.15). C’est la formule de Lagrange.
Exercice 5.9
Trouve le polynôme d’interpolation passant par les point (0, 1), (1, 2)(2, 9) et (3, 28)
Solution
(x − 1)(x − 1)(x − 3) (x − 0)(x − 2)(x − 3)
p3 (x) = 1 +2 +
(0 − 1)(0 − 2)(0 − 3) (1 − 0)(1 − 2)(1 − 3)
(x − 0)(x − 1)(x − 3) (x − 0)(x − 1)(x − 2)
+9 + 28 (5.18)
(2 − 0)(2 − 1)(2 − 3) (3 − 0)(3 − 1)(3 − 2)
Soit p3 (x) = x + 1
3
(5.19)
pn (x) = a0
+a1 (x − x0 )
AC
+a2 (x − x0 )(x − x1 )
Définition 5.10
On définit les premières différences divisées de la fonction f (x) par:
f (xi+1 ) − f (xi )
f [xi , xi+1 ] = (5.21)
xi+1 − xi
Il est facile de démontrer que le polynôme de degré 1:
Définition 5.11
Les deuxièmes différences divisées de la fonction f (x) sont définies à partir des premières
différences divisées par la relation:
f [xi+1 , xi+2 ] − f [xi , xi+1 ]
f [xi , xi+1 , xi+2 ] = . (5.23)
(xi+1 − xi )
De même, les n-ièmes différences divisées de la fonction f (x) sont définies à partir des (n −
1)iemes différences divisées de la façon suivante:
Notons que les toutes premières différences divisées de f (x) (soit les 0es différences) sont tout
simplement définies par f (xi ).
passe par les trois premiers points de collocation. On remarque de plus que ce polynôme de
degré 2 s’obtient simplement par l’ajout d’un terme de degré 2 au polynôme p1 (x) déjà calculé.
En raison de cette propriété, cette méthode est dite récursive.
Théorème 5.12
AC
L’unique polynôme de degré n passant par les (n + 1) points de collocation ((xi , f (xi )) pour
i = 0, 1, 2, · · · , n) peut s’écrire selon la formule d’interpolation de Newton (5.20) ou encore sous
la forme récursive:
EP
Remarque 5.13
Une fois les coefficients ai connus, on peut évaluer le polynôme de Newton au moyen d’un
algorithme similaire au schéma de Horner. On écrit alors le polynôme (5.20) sous la forme:
struction de cette table est simple. Nous nous sommes arrêtés aux troisièmes différences divisées,
mais les autres s’obtiendraient de la même manière. Les premières différences divisées découlent
de la définition. Par la suite, pour obtenir par exemple f [x0 , x1 , x2 ], il suffit de soustraire les
2 termes adjacents f [x1 , x2 ] − f [x0 , x1 ] et de diviser le résultat par (x2 − x0 ). De même, pour
obtenir f [x0 , x1 , x2 , x3 ], on soustrait f [x0 , x1 , x2 ] de f [x1 , x2 , x3 ] et l’on divise le résultat par
(x3 − x0 ). La formule de Newton utilise la diagonale principale de cette table.
AC
Exercice 5.14
Trouve les polynôme d’interpolation de Newton passant par les points (0, 1), (1, 2), (2, 9) et
EP
Solution
passe quant à lui par les trois premiers points de collocation. Si l’on souhaite ajouter un point
de collocation et calculer un polynôme de degré 4, il n’est pas nécessaire de tout recommencer.
Cela signifie que le polynôme pn (x) de degré n procure une approximation de la fonction
EP
f (x) avec une erreur En (x). Il reste à évaluer cette erreur. On constate immédiatement que:
et donc que l’erreur d’interpolation est nulle aux points de collocation puisque le polynôme
passe exactement par ces points.
On suppose de plus que les données des points (xi , f (xi )) sont exactes, ce qui n’est pas
toujours le cas.
Théorème 5.15
Soit x0 < x1 < x2 < · · · < xn , les abscisses des points de collocation. On suppose que
la fonction f (x) est définie dans l’intervalle [x0 , xn ] et qu’elle est (n + 1) fois dérivable dans
]x0 , xn [. Alors, pour tout x dans l’intervalle [x0 , xn ], il existe ξ(x) appartenant à l’intervalle
]x0 , xn [ tel que:
f (n+1) (ξ(x))
En (x) = (x − x0 )(x − x1 ) · · · (x − xn ), (5.33)
(n + 1)!
Remarque 5.16
-Puisque le terme d’erreur en un point x fait intervenir des coefficients de la forme (x − xi ),
il y a tout intérêt à choisir les points x i qui sont situés le plus près possible de x. Ce choix est
utile lorsqu’un grand nombre de points de collocation sont disponibles et qu’il n’est pas nécessaire
de construire un polynôme passant par tous les points. On retient alors seulement les points de
collocation les plus près de x de manière à minimiser l’erreur.
-La fonction (x − x0 )(x − x1 ) · · · (x − xn ) est un polynôme de degré (n + 1) et possède donc
les (n + 1) racines réelles (xi pour i = 0, 1, · · · , n). Dans certaines conditions, cette fonction
peut osciller avec de fortes amplitudes, d’où le risque de grandes erreurs d’interpolation. Cette
propriété fait en sorte qu’il est délicat d’effectuer des interpolations en utilisant des polynômes
de degré élevé.
Exercice 5.17
√
Soit une table de la fonction x. Puisqu’on connaît la fonction (ce qui n’est bien sûr pas
le cas en pratique), on est donc en mesure d’évaluer l’erreur exacte et de la comparer avec son
AC
approximation obtenue à l’aide de la relation
Solution
√
On tente d’obtenir une approximation de 8 à l’aide de cette table.
En se basant sur un polynôme de degré 1 et en prenant x0 = 7, on obtient facilement:
Selon l’expression (5.33), on peut estimer cette erreur par le terme suivant dans la formule
de Newton (5.1), c’est-à-dire:
On constate donc que l’erreur approximative est assez près de l’erreur exacte. Considérons
maintenant le polynôme de degré 2 :
L’erreur exacte est alors 0,000 228 786, ce qui est près de la valeur obtenue au moyen de
l’équation (5.33):
E3 (8) ' −0, 9692 × 10−5 (8 − 7)(8 − 9)(8 − 11)(8 − 13) = 0, 000145380 (5.43)
Théorème 5.18
Dans le cas où les abscisses xi des points de collocation sont équidistantes, l’expression
analytique de l’erreur d’interpolation s’écrit:
f (n+1)[ξ(h)]
En (x) = s(s − 1)(s − 2) · · · (s − n)hn+1 (5.46)
(n + 1)!
pour un certain ξ dans l’intervalle ]x0 , xn [ et pour s défini par l’équation (5.45).
On peut dès lors conclure que le polynôme d’interpolation pn (x) est une approximation
d’ordre (n + 1) de la fonction f (x). Encore une fois, si l’on prend des points de collocation
situés à une distance h/2 les uns des autres, l’erreur d’interpolation est diminuée d’un facteur
AC
de 2n+1 .
Exercice 5.19 Il n’existe pas de polynôme de degré n dont la courbe passe par (n + 2) points
EP
donnés. Commenter.
Exercice 5.20 Obtenir le polynôme de degré 2 passant par les points suivants. Utiliser la ma-
trice de Vandermonde.
2. Obtenir le polynôme de Lagrange passant par les 4 premiers points. Est-ce possible d’utiliser
les calculs faits en a)?
3. Donner l’expression analytique de l’erreur pour les polynômes ob- tenus en 1) et en 2).
5. Répondre aux mêmes questions qu’à l’exercice précédent, mais en uti- lisant la méthode
de Newton. Donner en plus des approximations des erreurs commises en 4).
3. Comparer les valeurs des dérivées de ces deux approximants en x = 1/3 avec la valeur
EP
exacte de la dérivée de f (x). Quelle est l’approximation la plus précise. Justifier votre
réponse.
Exercice 5.23 Soit une fonction f (x) dont on connaît la valeur en certains points.
1- Calculer la table de différences divisées. Montrer que les troisièmes différences divisées
sont nulles.
2- Que conclure au sujet de la fonction f (x)?
Différentiation et intégration
numériques
6.1 Introduction
Le contenu de ce chapitre prolonge celui du chapitre 5 sur l’interpolation. A peu de choses près,
on y manie les mêmes outils d’analyse. Dans le cas de l’interpolation, on cherchait à évaluer
une fonction f (x) connue seulement en quelques points. Dans le présent chapitre, le problème
AC
consiste à obtenir des approximations des différentes dérivées de cette fonction de même que
Rx
de: x0n f (x)dx
On parle alors de dérivation numérique et d’intégration numérique. On fait face à ce type
EP
de problèmes lorsque, par exemple, on connaît la position d’une particule à intervalles de temps
réguliers et que l’on souhaite obtenir sa vitesse. On doit alors effectuer la dérivée de la position
connue seulement en quelques points. De même, l’accélération de cette particule nécessite le
calcul de la dérivée seconde.
Si, à l’inverse, on connaît la vitesse d’une particule à certains intervalles de temps, on obtient
la distance parcourue en intégrant la vitesse dans l’intervalle [x0 , x =n ].
Nous avons vu au chapitre précédent que la fonction f (x) peut être convenablement estimée
à l’aide d’un polynôme de degré n avec une certaine erreur. En termes concis:
où En (x) est le terme d’erreur d’ordre (n + 1) donné dans le chapitre précédant. L’expression
(6.1) est à la base des développements de ce chapitre.
0 0 0
f (x) = pn (x) + En (x)
00 00 00
f (x) = pn (x) + En (x)
000 000 000
f (x) = pn (x) + En (x) (6.2)
Ainsi, pour évaluer la dérivée d’une fonction connue aux points ((xi , f (xi )) pour i =
0, 1, 2, · · · , n), il suffit de dériver le polynôme d’interpolation passant par ces points. De plus,
le terme d’erreur associé à cette approximation de la dérivée est tout simplement la dérivée de
l’erreur d’interpolation. Ce résultat est vrai quel que soit l’ordre de la dérivée.
AC
Remarque 6.1
Bien qu’en théorie on soit en mesure d’estimer les dérivées de tout ordre, sur le plan pratique,
EP
on dépasse rarement l’ordre 4. Cela s’explique par le fait que la différentiation numérique est
un procédé numériquement instable.
Commençons par faire l’approximation des dérivées d’ordre 1, ce qui revient à évaluer la pente de
la fonction f (x). Tout comme pour l’interpolation, nous avons le choix entre plusieurs polynômes
de degré plus ou moins élevé. De ce choix dépendent l’ordre et la précision de l’approximation.
Nous avons rencontré un problème semblable dans le cas de l’interpolation: si un polynôme de
degré n est utilisé, on obtient une approximation d’ordre (n + 1) de la fonction f (x).
Il est également utile de se rappeler que l’erreur d’interpolation s’écrit :
f (n+1) (ξ(x))
En (x) = [(x − x0 )(x − x1 ) · · · (x − xn )] (6.3)
(n + 1)!
pour un certain ξ compris dans l’intervalle [x0 , xn ]. En dérivant l’expression précédente, tout
en tenant compte de la dépendance de ξ envers x, on obtient une relation pour la dérivée de
l’erreur d’interpolation:
0
0 f (n+2) (ξ(x))ξ (x)
En (x) = [(x − x0 )(x − x1 ) · · · (x − xn )]
(n + 1)!
f (n+1) (ξ(x)) 0
+ [(x − x0 )(x − x1 ) · · · (x − xn )] (6.4)
(n + 1)!
La dérivée du produit apparaissant dans le deuxième terme de droite est plus délicate.
Cette dérivée débouche sur une somme de produits où, tour à tour, l’un des facteurs (x − xi )
est manquant. Il est facile de se convaincre, en reprenant ce développement avec n = 2 par
exemple, que l’on obtient :
0
0 f (n+2) (ξ(x))ξ (x)
En (x) = [(x − x0 )(x − x1 ) · · · (x − xn )]
(n + 1)!
(n+1) n n
f (ξ(x)) X Y
+ (x − xj ) (6.5)
(n + 1)! k=0 j=0(j6=k)
On peut simplifier cette expression quelque peu complexe en choisissant l’un ou l’autre des
AC
points d’interpolation. En effet, en x = xi , le premier terme de droite s’annule, faisant dis-
paraître la dérivée de ξ(x), qui est inconnue. De la somme, il ne reste qu’un seul terme puisque
EP
(n+1) n
0 f (ξ(xi )) Y
En (x) = (x − xj ) (6.6)
(n + 1)!
j=0(j6=k)
xi+1 − xi = h (6.7)
c’est-à-dire :
Remarque 6.2
L’équation 6.5 montre que, si l’on utilise un polynôme d’interpolation de degré n (c’est-à-
dire d’ordre (n + 1)), la dérivée de ce polynôme évaluée en x = xi est une approximation d’ordre
0
n de f (xi ).
0 0 0
f (xi ) = p n(xi ) + En (xi ) (6.11)
0
Le terme pn (xi ) dans l’équation (6.11) est une formule aux différences finies ou plus simplement
une formule aux différences.
AC
Exercice 6.4
Si l’on choisit le polynôme de degré 1 passant par les points (x0 , f (x0 )) et (x1 , f (x1 )), on a,
EP
et donc:
0 0 0 0
f (x) = p1 (x) + E1 (x) = f [x0 , x1 ] + E1 (x) (6.13)
qui est la différence avant d’ordre 1. On l’appelle différence avant car, pour évaluer la dérivée
en x = x0 , on cherche de l’information vers l’avant (en x = x1 ).
Exercice 6.5
Passons maintenant aux polynômes de degré 2. Soit les points (x0 , f (x0 )), (x1 , f (x1 )) et
AC
(x2 , f (x2 )). Le polynôme de degré 2 passant par ces trois points est:
Lorsque x prend successivement les valeurs x0 , x1 et x2 , il est facile de montrer que l’on obtient
des approximations d’ordre 2 de la dérivée.
On peut aussi convenir de toujours évaluer la dérivée en x. Dans ce cas, on utilise les valeurs
de f (x + h) et de f (x + 2h) pour la différence avant et les valeurs de f (x + h) et de f (x − h)
pour la différence centrée. En ce qui concerne le terme d’erreur, on ne retient que son ordre.
Les tableaux suivants résument la situation.
AC
6.2.2 Dérivées d’ordre supérieur
Reprenons le polynôme de degré 2 déjà utilisé pour calculer la dérivée première. Ce polynôme
EP
s’écrit:
On remarque immédiatement qu’il s’agit d’une formule aux différences avant. Pour déterminer
l’ordre de l’erreur liée à cette approximation, on utilise le développement de Taylor. Dans un
premier temps, on a:
AC
Pour terminer, nous démontrons que la différentiation est un procédé numériquement in-
EP
stable. Toutes les formules de différences finies dépendent d’un paramètre h qui est la distance
entre les points d’interpolation. On pourrait croire, de façon intuitive, que la précision du résul-
tat augmente à mesure que diminue la valeur de h. Dans le cas de la différentiation numérique,
il y a une limite aux valeurs de h qui peuvent être utilisées. En effet, si l’on prend, par exemple,
une différence centrée pour estimer la dérivée première, c’est-à-dire :
0 f (x0 + h) − f (x0 − h)
f (x0 ) ' (6.23)
2h
on constate que, lorsque h tend vers 0, le numérateur contient la soustraction de deux termes
très proches l’un de l’autre.
de départ une approximation numérique, notée Qapp (h), d’une certaine quantité exacte Qexa
inconnue. L’approximation numérique dé- pend d’un paramètre h, comme c’est souvent le cas.
Généralement, plus h est petit, plus l’approximation est précise. On suppose de plus que cette
approximation est d’ordre n, c’est-à-dire :
L’approximation Qapp (h/2) est généralement plus précise que Qapp (h). On peut cependant se
AC
servir de ces deux approximations pour en obtenir une nouvelle, encore plus précise. L’idée
consiste à combiner les relations (6.25) et (6.26) de telle sorte que le terme d’ordre n(cn hn )
disparaisse. Cela est possible si l’on multiplie l’équation (6.26) par 2n pour obtenir:
EP
2Qexa = 2Qapp (h/2) + cn hn + cn+1 (hn+1 /2) + cn+2 (hn+2 /22 ) + · · · (6.27)
(2n − 1)Qexa = 2n Qapp (h/2) − Qapp (h) − (1/2)cn+1 hn+1 − (3/2)cn+2 hn+2 + · · · (6.28)
d’où
2n Qapp (h/2) − Qapp(h) −(1/2)cc+1 hn+1 − (3/4)cn+2 hn+2 + · · ·
Qexa = + (6.29)
(2n − 1) (2n − 1)
qui s’écrit plus simplement:
2n Qapp (h/2) − Qapp(h)
Qexa = + O(hn+1 ) (6.30)
(2n − 1)
L’expression de droite est donc une approximation d’ordre au moins (n+1) de Qexa . L’extrapolation
de Richardson permet donc de gagner au moins un ordre de convergence. En fait, on peut en
gagner davantage si, par exemple, on a cn+1 = 0 dès le départ. Dans ce cas, la nouvelle approx-
imation est d’ordre (n + 2).
Exercice 6.6
En utilisant une différence avant d’ordre 1 pour calculer la dérivée de ex en x = 0 on obtient
Solution
• Pour h = 0, 01
0 e0+h − e0 e0,1 − 1
f (0) ' = = 1, 05170918 = Qapp (0, 1) (6.31)
h 0, 1
• Pour h = 0, 05
0 e0,05 − 1
f (0) ' = 1, 0254219 = Qapp (0, 05) (6.32)
0, 05
s0,05 − e−0,05
AC
0
f (0) ' = 1, 0004167 (6.34)
2(0, 05)
et avec h = 0, 025:
s0,025 − e−0,025
EP
0
f (0) ' = 1, 00010418 (6.35)
2(0, 025)
Dans ce cas, l’extrapolation de Richardson permet de gagner 2 ordres de précision puisque
seules les puissances paires de h apparaissent dans le terme d’erreur (voir les exercices de fin
de chapitre). Plus précisément, on a :
000
f (x + h) − f (x − h) 0 f (x)h2 f (5) (x)h4
= f (x) + + + O(h6 ) (6.36)
2h 3! 5!
La différence centrée étant d’ordre 2, l’extrapolation de Richardson avec n = 2 donne:
0 22 Qapp (0, 025) − Qapp (0, 05)
f (0) '
22 − 1
(4)(1, 00010418) − 1, 0004167
= = 1, 000000007 (6.37)
3
qui est une approximation d’ordre 4 de la solution exacte.
Remarque 6.7
Des exemples précédents, on conclut qu’il vaut mieux éviter d’utiliser des valeurs de h très
petites pour calculer une dérivée à l’aide d’une formule de différences finies. Il est en effet
préférable de choisir une valeur de h pas trop petite et de faire des extrapolations de Richardson.
où pn (x) est un polynôme d’interpolation et En (x) est l’erreur qui y est associée. En faisant
varier la valeur de n, on obtient les formules de Newton-Cotes. En principe, plus n est élevé,
plus grande est la précision liée à la valeur de l’intégrale recherchée. En pratique cependant, on
emploie rarement des valeurs de n ≤ 4.
Par ailleurs, l’extrapolation de Richardson, alliée judicieusement à l’une des formules de
Newton-Cotes, conduit à la méthode de Romberg, l’une des techniques d’intégration numérique
les plus précises.
f (x))dx
x0
où f (x) est une fonction connue seulement en deux points ou encore une fonction n’ayant pas de
primitive. La solution qui vient tout de suite à l’esprit consiste à remplacer f (x) par le polynôme
de degré 1 passant par les points (x0 , f (x0 )) et (x1 , f (x1 )) comme l’illustre la figure suivante La
valeur approximative de l’intégrale correspond à l’aire sous la courbe du polynôme. Cette aire
forme un trapèze qui donne son nom à la méthode du trapèze. Evidemment, l’approximation
est grossière et l’on peut d’ores et déjà soupçonner que le résultat sera peu précis. En utilisant
le polynôme de Newton on :
Z x1 Z xn Z x1
f (x))dx = p1 (x))dx + E1 (x))dx
x0 x0 x0
Z x1
= {f (x0 ) + f [x0 , x1 ](x − x0 )}dx
x0
Z x1 00
f (ξ(x))
+ (x − x0 )(x − x1 )dx (6.40)
x0 2!
ce qui peut également s’écrire, si l’on intègre le polynôme:
Z x1
x1 − x 0
f (x))dx = (f (x0 ) + f (x1 ))
x0 2
Z x1 00
f (ξ(x))
+ (x − x0 )(x − x1 )dx (6.41)
x0 2!
Le premier terme de droite n’est rien d’autre que l’aire du trapèze de la fi- gure (6.4.1),
tandis que le deuxième terme est l’erreur commise. Si les abscisses sont équivalentes, on pose
x − x0
AC
s= (6.42)
h
d’où l’on tire que (x − xi ) = (s − i)h et que dx = hds. Le terme d’erreur devient
Z x1 00 Z x1 00
f (ξ(x)) f (ξ(x))
(x − x0 )(x − x1 )dx = s(s − 1)h3 ds (6.43)
EP
x0 2! x0 2!
On peut encore simplifier cette expression en faisant appel au second théorème de la moyenne.
Théorème 6.8
Soit f1 (x), une fonction continue dans l’intervalle [a, b] et f2 (x), une fonction intégrable qui
ne change pas de signe dans l’intervalle [a, b]. Il existe alors η ∈ [a, b] tel que:
Z b Z b
f1 (x)f2 (x)dx = f1 (η) f2 (x)dx (6.44)
a a
Comme la fonction (s(s − 1)) ne change pas de signe dans [0, 1], on peut mettre à profit ce
théorème, ce qui donne:
Z x1 00 00 00
f (η) 3 1
Z
f (ξ(x)) f (η) 3
3
s(s − 1)h ds = h s(s − 1)ds = − h. (6.45)
x0 2! 2! 0 12
La méthode du trapèze se résume donc à l’égalité :
Z x1 00
h f (η) 3
f (x)dx = [f (x0 ) − f (x1 )] − h pour η ∈ [x0 , x1 ] (6.46)
x0 2 12
La méthode du trapèze demeure peu précise, comme en témoigne l’exemple suivant.
Exercice 6.9
R π/2
Evaluer numériquement par par la méthode du trapèze 0
sin xdx
Solution
analytiquement on a:
Z π/2
π/2
J = sin xdx = [− cos x]0
0
π
= − cos + cos 0 = 0 + 1
2
= 1 (6.47)
h
J≈ [f (x0 ) + f (x1 )]
2
π π
h= −0=
2 2
h π π
J ≈ (sin 0 + sin ) = (0 + 1) ≈ 0, 785398164 (6.48)
2 2 4
qui est une piètre approximation de la valeur exacte 1. Ce résultat peu impressionnant vient
du fait que l’on approche la fonction sin x dans l’intervalle [0, π/2] au moyen d’un polynôme de
AC
degré 1.
Une meilleure stratégie consiste à décomposer l’intervalle où l’on doit faire l’intégration, soit
l’intervalle [a, b], en n sous-intervalles de longueur
EP
b−a
h= (6.49)
n
Les différents points engendrés sont notés xi pour i = 0, 1, 2, · · · , n. Les valeurs aux ex-
trémités sont a = x0 et b = xn . Dans chaque sous intervalle [xi , xi+1 ], on peut utiliser la
On remarque que tous les termes f (xi ) sont répétés deux fois, sauf le premier et le dernier. On
en conclut que:
Z b
h
f (x)dx ≈ (f (x0 ) + 2[f (x1 ) + f (x2 ) + · · · + f (xn−1 )] + f (xn )) (6.52)
a 2
qui est la formule des trapèzes composée. Qu’en est-il du terme d’erreur ? Dans chacun des n
sous-intervalles [xi , xi+1 ], on commet une erreur liée à la méthode du trapèze. Puisque:
b−a b−a
h= et donc n = (6.53)
n h
l’erreur totale commise est :
AC
00 00
f (η) 3 b − a f (η) 3 b − a 00
n − h =− h =− f (η)h2 (6.54)
12 h 12 12
Remarque 6.10
EP
Le raisonnement précédent n’est pas parfaitement rigoureux, même si le résultat final est
juste. En effet, dans chaque sous-intervalle [xi , xi+1 ], l’erreur liée à la méthode du trapèze sim-
00
ple devrait faire intervenir f (ηi ), c’est-à-dire une valeur de η différente pour chaque sous-
intervalle. Un autre théorème de la moyenne est alors nécessaire pour conclure, l’erreur globale
étant donnée par:
b − a 00
− f (η)h2 pour η ∈ [a, b] (6.55)
12
la méthode des trapèzes composée est d’ordre 2.
Exercice 6.11
R π/2
Evaluer numériquement par la méthode des trapèzes composés l’intégrale suivante: 0
sin xdx
Solution
π
−0
Soit d’abord 4 intervalles de longueur: h = 2 4 = π8 . On a alors:
Z π/2
π
sin xdx ≈ [sin 0 + 2 (sin(π/2) + sin(π/4) + sin(3π/8)) + sin(π/2)] ≈ 0, 9871158 (6.56)
0 8
soit une erreur absolue d’environ 0, 01288(1 − 0, 9967852) par rapport à la solution exacte. On
constate une nette amélioration en comparaison du résultat obtenu avec un seul intervalle. Il
est intéressant de refaire ce calcul avec 8 intervalles. Pour la valeur de h = π/16 et l’on a:
Z π/2 π
sin xdx ≈ 16 (sin 0 + 2 [sin(π/16) + sin(π/8) + sin(3π/16) (6.57)
0 2
+ sin(π/4) + sin(5π/16) + sin(3π/8) + sin(7π/16)] + sin(π/2)) = 0, 9967852
L’erreur absolue a été réduite à 0, 0032(|1 − 0, 9967852|). En faisant le rapport des erreurs
absolues, on peut connaître l’ordre de la méthode: 0,01288
0,0032
≈ 4, 025 ≈ 22 ce qui confirme que cette
méthode est d’ordre 2. On peut de plus utiliser l’extrapolation de Richardson pour améliorer
la précision de ces deux résultats.
Remarque 6.12
EP
1. La méthode du trapèze avec un seul intervalle est également connue sous le nom de méthode
des trapèzes simple.
2. La méthode des trapèzes composée est d’ordre 2. La méthode des trapèzes simple, bien que
d’ordre 3, est rarement utilisée, car elle est trop imprécise.
3. La méthode des trapèzes composée donne un résultat exact si la fonction f (x) est un
polynôme de degré inférieur ou égal à 1. Cela s’explique par la présence de la dérivée
seconde de f (x) dans le terme d’erreur: celle-ci s’annule dans le cas de polynômes de
degré 1.
Définition 6.13
Reprenons le raisonnement utilisé avec la méthode des trapèzes, mais cette fois en utilisant un
polynôme de degré 2 dont la courbe passe par les points (x0 , f (x0 )), (x1 , f (x1 )) et (x2 , f (x2 )).
Ce polynôme est donné par la formule de Newton:
Z x2
h
f (x)dx ' (f (x0 ) + 4f (x1 ) + f (x2 )) (6.65)
x0 3
qui est la formule de Simpson 1/3 simple. Cette terminologie est due au facteur de 1/3 qui
multiplie h.
L’analyse du terme d’erreur donne:
f (4) (η) 5
− h avec η ∈ [x0 , x2 ] (6.66)
90
d’où
x2
f (4) (η) 5
Z
h
f (x)dx ' (f (x0 ) + 4f (x1 ) + f (x2 )) − h avec η ∈ [x0 , x2 ] (6.67)
x0 3 90
NB: La valeur de h exprime toujours la distance entre les points xi , c’est-à-dire qu’elle
équivaut dans ce cas à la longueur de l’intervalle divisée par 2. La méthode de Simpson 1/3
simple est peu précise, tout comme la méthode du trapèze.
Exercice 6.14
R π/2
Evaluer numériquement par la méthode de Simpson 1/3 simple l’intégrale 0
sin xdx
Solution
Déterminons h
1 π/2 − 0 π π 1 π π
h= = = et x0 = 0, x1 = × = , x2 = (6.68)
2 2 2 2 2 4 2
Z π/0
h
sin xdx ' [f (x0 ) + 4f (x1 ) + f (x2 )]
0 3
π/4
≈ (sin 0 + 4 sin(π/4) + sin(π/2)) ≈ 1, 0022799 (6.69)
3
Ce résultat est plus précis que l’approximation obtenue par la méthode du trapèze simple, mais
il demeure peu satisfaisant.
On peut encore une fois améliorer la précision de la formule de Simpson 1/3 en la composant.
Puisque la méthode simple requiert deux intervalles, il semble souhaitable de diviser l’intervalle
AC
d’intégration [a, b] en 2n sous-intervalles et d’utiliser la méthode de Simpson 1/3 simple dans
chaque paire de sous-intervalle. On a alors:
EP
Z b
h
f (x)dx =[f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + 2f (x4 ) + · · · + 4f (x2n−3 ) +
a 3
b − a (4)
2f (x2n−2 ) + 4f (x2n−1 ) + f (x2n )] − f (η)h4 , pour η ∈ [a, b] (6.70)
180
C’est la formule de Simpson 1/3 composée.
Exercice 6.15
Evaluer par la méthode de Simpson 1/3 composée l’intégrale:
Z π/2
sin xdx (6.71)
0
Solution
On divise l’intervalle [0, π/2] en 4 sous-intervalles de longueur h = π/8. On a
Z π/2
π/8
sin xdx ' (sin 0 + 4 sin(π/8) + 2 sin(π/4) + 4 sin(3π/8) + sin(π/2)) (6.72)
0 3
= 1, 0001346
Pour une quantité de travail similaire, on obtient une précision supérieure à celle de la méthode
des trapèzes. Avec 8 sous-intervalles de longueur π/16, on a:
Z π/2
π/16
sin xdx ' (sin 0 + 4 sin(π/16) + 2 sin(π/8) + 4 sin(3π/16) + 2 sin(π/4) +
0 3
2 sin(π/4) + 4 sin(5π/16) + 2 sin(3π/8) + 4 sin(7π/16) + sin(π/2))
= 1, 000008296 (6.73)
Cette plus grande précision vient du fait que cette méthode est d’ordre 4. On constate qu’en
passant de 4 à 8 intervalles (c’est-à-dire en divisant h par 2) on divise l’erreur par un fac-
teur d’environ 16,22, ce qui confirme l’ordre 4 de la méthode. On peut également utiliser
l’extrapolation de Richardson avec n = 4 à partir de ces deux valeurs. On obtient ainsi
l’approximation:
qui est d’ordre au moins 5. On verra plus loin qu’elle est en fait d’ordre 6.
AC
Méthode de Romberg
La méthode de Romberg est une méthode d’intégration qui permet d’at- teindre des résultats
EP
très précis. Elle est basée sur une utilisation très astucieuse de la méthode des trapèzes composée
(d’ordre 2) et de la technique d’extrapolation de Richardson.
Dans un premier temps, introduisons quelques notations. On note T1,i le résultat obtenu à
l’aide de la méthode des trapèzes composée avec 2i−1 intervalles. Les T1,i sont des approxima-
tions d’ordre 2. Pour passer de T1,i à T1,i+1 , on doit doubler le nombre de sous-intervalles, ce
qui revient à diviser la valeur de h par deux. Au moyen de l’extrapolation de Richardson avec
n = 2, on définit alors:
22 T1,i+1 − T1,i
T2,i = (6.75)
22 − 1
Chaque ligne de ce triangle est de deux ordres de convergence plus précis que la ligne
précédente. La première ligne est tout simplement constituée des approximations obtenues à
l’aide de la méthode des trapèzes composée avec 1, 2, 4, 8, 16 · · · intervalles. Pour passer d’une
ligne à l’autre, on utilise l’extra- polation de Richardson par le biais des relations (6.75) et
(6.76).
Remarque 6.16
AC
On peut montrer (voir les exercices de fin de chapitre) que la deuxième ligne de ce tableau
n’est autre que le résultat de la méthode de Simpson 1/3 avec respectivement 2, 4, 8 · · · inter-
valles. On pourrait donc éliminer la première ligne et commencer directement avec la méthode
EP
de Simpson.
Exercice 6.17
Soit une fonction f (x) connue seulement pour quelques valeurs de x.
R1
Evaluer l’intégrale 0
f (x)dx à l’aide de la méthode de Romberg.
Solution
Puisqu’il y a en tout 5 points, on peut utiliser la méthode des trapèzes composée avec 1, 2 et
4 intervalles seulement. On a respectivement:
1 1
T1,1 = [f (0, 0) + f (1, 0)] = (0, 3989 + 0, 2420) = 0, 32045
2 2
0, 5
T1,2 = (0, 3989 + 2(0, 3521) + 0, 2420) = 0, 336275
2
1/4
T1,3 = (0, 3989 + 2(0, 3867 + 0, 3521 + 0, 3011) + 0, 2420) = 0, 3400875 (6.77)
2
On peut dès lors remplir la première ligne du tableau de la méthode de Romberg.
Les autres lignes du tableau sont tirées elles aussi des relations (6.75) et (6.76) :
AC
22 T1,2 − T1,1 (22 )(0, 3400875) − 0, 336275
T2,1 = = = 0, 3415500
22 − 1 22 − 1
22 T1,3 − T1,2 (22 )(0, 3413583) − 0, 341550
T2,2 = = = 0, 3413583
23 − 1 22 − 1
EP
Remarque 6.18
Dans le cas d’une fonction connue seulement en certains points, comme dans l’exemple
précédent, le nombre de points doit être de la forme 2n + 1 pour que la méthode de Romberg
puisse s’appliquer. En effet, il faut que le nombre de sous-intervalles soit une puissance de 2.
Dans l’exemple précédent, on avait 22 + 1 points et 4 intervalles.
Exercice 6.19
A partir du polynôme de degré 2 passant par les points (x0 , f (x0 )), (x1 , f (x1 )) et (x2 , f (x2 )),
0
obtenir les formules aux différences avant, centrée et arrière d’ordre 2 pour le calcul de f (x).
Exercice 6.20
Evaluer la dérivée de f (x) = ex en x = 0 à l’aide des différences avant et arrière d’ordre
2. Prendre h = 0, 05 et h = 0, 025 et calculer le rapport des erreurs commises. Obtenir une
0
approximation encore plus précise de f (0) à l’aide de l’extrapolation de Richardson.
Exercice 6.21
A l’aide des développements de Taylor appropriés, obtenir l’expression du terme d’erreur
0
lié à la différence centrée d’ordre 2 permettant de faire l’approximation de f (x). Montrer que
ce terme d’erreur ne fait intervenir que les puissances paires de h. Que conclure au sujet de
l’extrapolation de Richardson dans ce cas ?
Exercice 6.22
Un polynôme p(x) de degré 2 est tel que p(0) = 1, p(1) = 7 et p(2) = 17.
0
1. Calculer p (1) exactement sans calculer p(x).
00
2. Pouvez-vous faire de même pour calculer p (1) où x est arbitraire ?
Exercice 6.23
AC
Obtenir la formule de différence centrée d’ordre 4 permettant de faire l’approximation de
00
p (1)). Bien identifier le polynôme d’interpolation qui est nécessaire.
EP
Exercice 6.24
Intégrer les polynômes de degré 1, 2 et 3 respectivement permettant d’obtenir les formules
du trapèze simple, de Simpson 1/3 simple et de Simpson 3/8 simple. Bien préciser l’intervalle
x−x0
sur lequel porte l’intégration et utiliser le changement de variable s = h
Exercice 6.25
Intégrer la fonction f (x) = ex dans l’intervalle [0, 1] en utilisant la méthode des trapèzes
composée avec 4 puis avec 8 intervalles. Utiliser l’extrapolation de Richardson avec les deux
valeurs obtenues pour atteindre une valeur plus précise. Quel est l’ordre de cette nouvelle ap-
proximation ?
Comparer les résultats avec la valeur exacte.
Exercice 6.26
Refaire le même exercice en utilisant cette fois la méthode de Simpson 1/3 composée.
Exercice 6.27
Soit la fonction suivante.
R1
Evaluer 0 f (x)dx à l’aide de la méthode de Romberg.
Exercice 6.28
R1 dx
On considère 0 1+x
|T1,i+1 − T1,i |
< 0, 005 (6.79)
T1,i+1
4. Sans faire de calculs supplémentaires, donner le résultat que l’on obtiendrait à l’aide de
AC
la méthode de Simpson 1/3 avec 8 intervalles.
Exercice 6.29
EP
R2
Utiliser une méthode numérique pour évaluer 0
ln xdx
7.1 introduction
La résolution numérique des équations différentielles est probablement le domaine de l’analyse
numérique où les applications sont les plus nombreuses. Que ce soit en mécanique des fluides, en
transfert de chaleur ou en analyse de structures, on aboutit souvent à la résolution d’équations
AC
différentielles, de systèmes d’équations différentielles ou plus généralement d’équations aux
dérivées partielles.
Soit une équation différentielle d’ordre 1 avec condition initiale. La tâche consiste à déter-
EP
La variable indépendante t représente très souvent (mais pas toujours) le temps. La variable
dépendante est notée y et dépend bien sûr de t. La fonction f est pour le moment une fonction
quelconque de deux variables que nous supposons suffisamment différentiable. La condition
y(t0 ) = y0 est la condition initiale et en quelque sorte l’état de la solution au moment où l’on
commence à s’y intéresser. Il s’agit d’obtenir y(t) pour t ≥ t0 , si l’on cherche une solution
analytique, ou une approximation de y(t), si l’on utilise une méthode numérique.
Dans ce chapitre comme dans les précédents, les diverses méthodes de résolution proposées
sont d’autant plus précises qu’elles sont d’ordre élevé. Nous amorçons l’exposé par des méth-
odes relativement simples ayant une interprétation géométrique. Elles nous conduiront progres-
sivement à des méthodes plus complexes telles les méthodes de Runge-Kutta d’ordre 4, qui
permettent d’obtenir des résultats d’une grande précision. Nous considérons principalement les
équations différentielles avec conditions initiales, mais nous ferons une brève incursion du côté
des équations différentielles avec conditions aux limites par le biais des méthodes de tir et de
différences finies.
0
y (t0 ) = f (t0 , y(t0 )) = f (t0 , y0 ) (7.2)
On peut donc suivre la droite passant par (t0 , y0 ) et de pente f (t0 , y0 ). L’équation de cette
droite, notée d0 (t), est:
qui permettra d’estimer y(t2 ). On constate que l’erreur commise à la première itération est
réintroduite dans les calculs de la deuxième itération. On a alors:
Remarque 7.1
Le développement qui précède met en évidence une propriété importante des méthodes numériques
de résolution des équations différentielles. En effet, l’erreur introduite à la première itération
a des répercussions sur les calculs de la deuxième itération, ce qui signifie que les erreurs se
propagent d’une itération à l’autre. Il en résulte de façon générale que l’erreur: |y(tn ) − yn |
augmente légèrement avec n.
2. Pour 0 ≤ n ≤ N :
yn+1 = yn + hf (tn , yn )
tn+1 = tn + h
Ecrire tn+1 et yn+1
3. Arrêt
Solution
On a donc t0 = 0 et y0 = 1 et l’on prend un pas de temps h = 0, 1. De plus, on a:
f (t, y) = −y + t + 1 (7.7)
On peut donc utiliser la méthode d’Euler explicite et obtenir successivement des approximations
de y(0, 1), y(0, 2), y(0, 3) · · · , notées y1 , y2 , y3 · · · . Le premier pas de temps produit:
On parvient ensuite à :
(7.10)
AC
= 1, 01 + 0, 1(−1, 01 + 0, 2 + 1) = 1, 029
Le tableau suivant rassemble les résultats des dix premiers pas de temps. La solution analytique
de cette équation différentielle est y(t) = e−t + t, ce qui permet de comparer les solutions
EP
Définition 7.3
Une méthode de résolution d’équations différentielles est dite à un pas si elle est de la forme:
où φ est une fonction quelconque. Une telle relation est appelée équation aux différences. La
méthode est à un pas si, pour obtenir la solution en t = tn+1 , on doit utiliser la solution
numérique au temps t n seulement. On désigne méthodes à pas multiples les méthodes qui
exigent également la solution numérique aux temps tn − 1, tn−2 , tn−3 , · · · .
Définition 7.4
L’erreur de troncature locale au point t = tn est définie par:
y(tn+1 ) − y(tn )
τn+1 = − φ(tn , y(tn )) (7.12)
h
L’erreur de troncature locale mesure la précision avec laquelle la solution analytique vérifie
l’équation aux différences (7.11).
Remarque 7.5
1. Il est très important de noter que l’on utilise la solution exacte y(tn ) (et non yn ) dans la
définition de l’erreur de troncature locale. Cela s’explique par le fait que l’on cherche à
AC
mesurer l’erreur introduite par l’équation aux différences à un pas donné, en supposant
que la méthode était exacte jusque-là.
EP
2. Il ne faut pas confondre l’ordre d’une équation différentielle avec l’ordre d’une méthode
numérique utilisée pour résoudre cette équation.
où l’on doit déterminer les paramètres a1 , a2 , a3 et a4 de telle sorte que les expressions (7.13) et
(7.14) aient toutes deux une erreur en O(h3 ). On ne trouve par ailleurs aucune dérivée partielle
dans cette expression. Pour y arriver, on doit recourir au développement de Taylor en deux
variables autour du point (tn , y(tn )). On a ainsi:
On voit immédiatement que les expressions (7.13) et (7.16) sont du même ordre. Pour déter-
miner les coefficients ai , il suffit de comparer ces deux expressions terme à terme:
-coefficients respectifs de f (tn , y(tn )) : h = (a1 + a2 )h
2
-coefficients respectifs de: ∂f (tn ,y(tn ))
∂t
: h2 = a2 a3 h2
2
-coefficients respectifs de ∂f (tn ,y(tn ))
∂y
: h2 f (tn , y(tn )) = a2 a4 h2
AC
On obtient ainsi un système non linéaire de 3 équations comprenant 4 inconnues:
1 = (a1 + a2 )
EP
1
= a2 a3 (7.17)
2
f (tn ,y(tn )) = a2 a4
2
Le système (7.17) est sous-déterminé en ce sens qu’il y a moins d’équations que d’inconnues et
qu’il n’a donc pas de solution unique. Cela offre une marge de manœuvre qui favorise la mise au
point de plusieurs variantes de la méthode de Runge-Kutta. Voici le choix le plus couramment
utilisé.
1
a1 = a2 = , a3 = 1 et a4 = f (tn , y(tn )) (7.18)
2
On établit sans peine que ces coefficients satisfont aux trois équations du système non linéaire
(7.17). Il suffit ensuite de remplacer ces valeurs dans l’équation (7.14). Pour ce faire, on doit
négliger le terme en O(h3 ) et remplacer la valeur exacte y(tn ) par son approximation yn . On
obtient alors l’algorithme suivant.
1. Etant donné un pas de temps h, une condition initiale (t0 , y0 ) et un nombre maximal
d’itérations N
2. Pour 0 ≤ n ≤ N : ŷ = yn + hf (tn , yn )
yn+1 = yn + h2 (f (tn , yn ) + f (tn + h, ĥ))
tn+1 = tn + h
Ecrire tn+1 et yn+1
3. Arrêt
Remarque 7.6
Pour faciliter les calculs, l’évaluation de yn+1 a été scindée en deux étapes. La variable
temporaire ŷ correspond tout simplement à une itération de la méthode d’Euler explicite. On
fait ainsi une prédiction ŷ de la solution en tn+1 qui est corrigée (et améliorée) à la deuxième
AC
étape de l’algorithme. On parle alors d’une méthode de prédiction-correction.
Exercice 7.7
0
Résoudre numériquement y (t) = −y(t) + t + 1 avec comme condition initiale y(0) = 1.
EP
Solution
On choisit le pas de temps h = 0, 1.
-1ère itération(t = 0)
qui est le résultat obtenu à l’aide de la méthode d’Euler explicite. La deuxième étape donne
:
h
yn+1 = yn + [f (tn , yn ) + f (tn+1 , ŷ)]
2
h
y1 = y0 + [f (t0 , y0 ) + f (t1 , ŷ)]
2
y1 = 1 + 0, 05((−1 + 0 + 1) + (−1 + 0, 1 + 1)) = 1, 005 (7.20)
ŷ = y1 + hf (t1 , y1 )
= 1, 019025(correction) (7.22)
f (tn , y(tn ))
a1 = 0, a2 = 1, a3 = 1/2 et a4 = (7.23)
2
AC
En remplaçant ces valeurs des coefficients ai dans l’équation (7.14), on obtient l’algorithme
suivant.
EP
2. Pour 0 ≤ n ≤ N :
k1 = hf (tn , yn )
k1
yn+1 = yn + h(f (tn + h2 , yn + 2
))
tn+1 = tn + h
Ecrire tn+1 et yn+1
3. Arrêt
Remarque 7.8
1. L’algorithme précédent illustre bien pourquoi cette méthode est dite du point milieu. On
remarque en effet que la fonction f (t, y) est évaluée au point milieu de l’intervalle [tn , tn+1 ].
2. Les méthodes d’Euler modifiée et du point milieu étant du même ordre de troncature locale,
leur précision est semblable. D’autres choix sont possibles pour les coefficients ai , mais
nous nous limitons aux deux précédents.
2
)
k2
k3 = hf (tn + h2 , yn + 2
)
k4 = hf (tn + h, yn + k3 )
yn+1 = yn + 16 (k1 + 2k2 + 2k2 + k4 )
tn+1 = tn + h
Ecrire tn+1 et yn+1
3. Arrêt
Exercice 7.9
Résoudre par la méthode de Runge-Kutta le système suivant
y 0 (t) = −y(t) + t + 1
(7.24)
y(0) = 1
Solution
On choisit un pas de temps h = 0, 1, a la première itération
k1 = hf (t0 , y0 ) = 0, 1(1 + 1) = 0
k1
k2 = hf (t0 + h2 , y0 + 2
) = 0, 1(1 + 1, 05) = 0, 005
k2
k3 = hf (t0 + h2 , y0 + 2
) = 0, 1(1, 0025 + 1, 05) = 0, 00475
k4 = hf (t0 + h, y0 + k3 ) = 0, 1(1, 00475 + 1, 1) = 0, 009525
ce qui entraîne que:
y1 = y0 + 61 (k1 + 2k2 + 2k3 + k4 ) = 1 + 16 (0 + 2(0, 005) + 2(0, 0045) + 0, 009525) = 1, 0048375
Une deuxième itération produit:
k1 = 0, 1f (0, 1, 1, 0048375) = 0, 1(−1, 0048375 + 0, 1 + 1) = 0, 00951625
k2 = 0, 1f (0, 15, 1, 009595625) = 0, 1(−1, 009595625 + 0, 15 + 1) = 0, 014040438
k3 = 0, 1f (0, 15, 1, 011857719) = 0, 1(−1, 011857719 + 0, 15 + 1) = 0, 0138142281
k4 = 0, 1f (0, 2, 1, 018651728) = 0, 1(−1, 018651728 + 0, 2 + 1) = 0, 0181348272
ce qui entraîne que :
y2 = 1, 0048375 + 61 (k1 + 2k2 + 2k3 + k4 ) = 1, 0187309014
Le tableau qui suit compare les solutions numérique et exacte et donne l’erreur absolue.
AC
EP
On constate que l’erreur se situe autour de 10−6 , ce qui se compare avantageusement avec les
erreurs obtenues à l’aide de méthodes d’ordre moins élevé. On remarque également une légère
croissance de l’erreur au fil des itérations, ce qui indique encore une fois une propagation de
l’erreur d’une itération à l’autre
Exercice 7.10
Faire trois itérations avec h = 0, 1 des méthodes d’Euler explicite, d’Euler modifiée, du point
0
y (t) = t sin(y(t)) (y(0) = 2) (7.25)
0
y (t) = t2 + (y(t))2 + 1 (y(1) = 0) (7.26)
0
y (t) = y(t)et (y(0) = 2) (7.27)
Exercice 7.11
L’équation différentielle:
0
y (t) = y(t) + e2t (y(0) = 2)
4. Utiliser l’extrapolation de Richardson pour obtenir une meilleure approximation de y(0, 3).
Exercice 7.12
Refaire l’exercice précédent, mais cette fois à l’aide de la méthode de Runge-Kutta d’ordre
4.
Exercice 7.13
Résoudre l’équation différentielle:
0
y (t) = t sin(y(t)) (y(0) = 2) (7.29)