Cours Saisie AN1 Word

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 106

Chapitre 1 : Résolution numérique des équations non linéaires à

une variable f(x) = 0


INTRODUCTION
Dans ce chapitre nous étudierons quelques méthodes de résolution
d’équation de la forme F(x)=0. D’une manière générale, x est un réel
et F(.) une fonction réelle.
On connait des formules permettant de calculer explicitement les racines de
tout polynôme de degré < 5 mais de telles formules n’existent pas pour
les polynômes de degré supérieur à 4 ni, en général, pour les équations
transcendantes.
L’équation x -0.2sin(x)-0.5=0 (cet exemple est emprunté à Dion et Gaudet
[1]) admet une racine réelle au voisinage de 0.615.
Comme on ne dispose pas d’une formule qui permet de calculer cette racine
explicitement, pour la connaitre il faudra procéder calcul
numériquement.
Une bonne pratique, si l’on dispose d’un ordinateur et d’un logiciel de calcul
numérique avec des moyens graphiques (c’est le cas de Matlab et
d’Octave), est de commencer par faire un graphe de la fonction. On
peut évidemment, aussi étudier cette fonction par les moyens
analytiques classiques pour localiser son(ses) zéro(s) éventuel(s).
Voici un programme « écrit en Matlab » pour le cas de la fonction ci-dessus :
x=-1:0.001:1; %on construit un vecteur x à 2001 composantes
f=x-0.2*sin(x)-0.5; %Le vecteur f contient les 2001 images de x
plot(x,f) %on représente f en fonction x
grid on %on place une grille sur le graphe
zoom on %on active le zoom
La fonction zoom permet de cliquer sur la graph de manière à faire un
agrandissement, on peut ainsi « aller voir » le(s) zéro(s) de plus près.
Les méthodes qui permettent de calculer des valeurs approchées des zéros
d’une fonction sont toutes basées sur la notion d’itération. Elles
engendrent une suite de valeurs qui, quand tout va bien, converge vers
le zéro cherché.
I. La méthode de bissection dans le calcul des zéros d’une fonction
1- Principe de la méthode de dichotomie
La méthode de bissection ou méthode de dichotomie est une méthode de
recherche de zéro d’une fonction qui consiste à répéter des partages d’un
intervalle en deux parties puis à sélectionner le sous intervalle dans lequel
existe un zéro de la fonction.
NB : la fonction doit s’annuler dans l’intervalle en changeant de signe.
2- Hypothèse sur la fonction :
Soit f(x) une fonction continue sur l’intervalle [a ; b] tel que f(a) et f(b) soit
de signe contraire
𝑓(𝑥) = 0
{ Alors ∝ 𝑒𝑠𝑡 𝑢𝑛 𝑧é𝑟𝑜 𝑑𝑒 𝑓
𝑓(𝛼) = 0
3- Algorithme de la méthode :
On souhaite résoudre l’équation f(x)=0. Suivant le théorème des valeurs
intermédiaires la fonction f a au moins un zéro sur [a b].
𝑎+𝑏
On divise l’intervalle [a ; b] en 2, 𝑚𝑜 = et on considère [a ; mo] et [mo ;
2
b] ou bien
 f(a) et f(𝑚𝑜 ) sont de signe contraire
 f(𝑚𝑜 ) et f(b) sont de signe contraires
𝑎+𝑚𝑜
Si c’est [a ; mo] qui marche il faut calculer 𝑚1 = et considérer [a ;
2
m1] et [m1 ; m0] et ainsi de suite.
L’algorithme de dichotomie est appliqué à l’intervalle où se produit le
changement de signe. C’est donc un algorithme récursif.
𝑏−𝑎
L’erreur absolue de la méthode de dichotomie est au plus ; après n
2𝑛+1
étapes car l’erreur est diminuée de moitié après chaque itération. Il est
essentiel de pouvoir déterminer le signe de f(𝑚𝑛 ) à chaque itération. On se
donne une tolérance relative 𝜀. Le nombre d’itération satisfaisant à cette
𝑏−𝑎
𝒃−𝒂 𝟏 ln( 𝜖 )
tolérance est donnée par < où n=Int ( + 1).
𝟐𝒏 𝝐 ln2

L’algorithme est convergent si f est continue sur [a ; b]. L’algorithme est


lent car c’est le signe de f seul qui est utilisé.
L’algorithme de Newton utilise lui la valeur de f et la valeur de la pente de
f, et s’il converge il est significativement plus rapide.
4- Illustration

Exercice 1 :
En utilisant la méthode de la bissection, chercher la racine carrée de 2 en
prenant l’intervalle [1,2] pour une précision de E=𝟏𝟎−𝟑

Exercice 2 :
Montrer que la fonction 𝑓(𝑥) = 𝑥 3 + 𝑥 2 − 3𝑥 − 3 possede un zéro dans
l’intervalle [1 ; 2]. Trouver sa valeur approchée en 10itérations.

Exercice 3 : Dans cet exercice il est demande de trouver la racine de 𝑓(𝑥) =


10
𝑥 + 𝑒𝑥 + −5
1+𝑥²
1- Ecris un programme Matlab permettant l’implémentation du programme
numérique de cette méthode.
2- Afficher sur le même graphe la fonction f(x), la solution approchée et les
approximations successives
3- Calculer l’ordre et la vitesse de convergence de la méthode numérique
ε = 10−0.2 ; a = -1.3 et b=3/2

II- Méthode de point fixe


1. Principe
On transforme l’équation f(x) = 0 en une équation g(x) = x ou g(x) est
une fonction oscillaire bien choisie motivé par les exigences du théorème
du point fixe (voir polycopie) la fonction g doit être contractante dans un
voisinage i de 𝛼.
Si 𝛼 est un point fixe de g ce qui revient à vérifier que |𝑔 ′ (𝑥)| < 1 sur
ce voisinage.
RAPPEL :
la fonction g est contractante sur un intervalle [a ; b]
si ∀ 𝑥, 𝑦 ∈ [𝑎; 𝑏] ; |𝑔(𝑥) − 𝑔(𝑦)| ≤ 𝑘|𝑥 − 𝑦| 𝑎𝑣𝑒𝑐 𝑘 ∈ ]𝑎; 𝑏[
Une fonction contractante est continue.
𝑥𝑜 dans un voisinage I de α (a donner dans le programme )
{
∀n ≥ 0; 𝑥𝑛+1 = g(𝑥𝑛 )

En utilisant localement le théorème du point fixe on démontre que 𝛼 =


lim 𝑥𝑛
𝑛→∞

Algorithme 2.11 : Algorithme des points fixes


1. Etant donné , un critère d’arrêt
2. Etant donné N, le nombre maximal d’itérations
3. Etant donné 𝑥𝑜 ,une valeur estimée initiale du point fixe
4. Effectuer 𝑥𝑛+1 = 𝑔 (𝑥𝑛 )
|𝑥𝑛+1 −𝑥𝑛 |
5. Si |𝑥𝑛+1 |
<𝜀:
 Convergence atteinte
 Ecrire la solution 𝑥𝑛+1
 Arrêt
6. Si le nombre maximal d’itération N est atteinte :
 Convergence non atteinte
 Arrêt
7. Retour à l’étape 4

NB :
On peut résoudre des équations non linéaires de la forme f(x)=0
en utilisant l’algorithme des points fixes. Il suffit pour ce faire de
transformer l’équation f(x)=0en un problème équivalent de la
forme x=g(x). L’ennui est qu’il y a une infinité de façons
différentes de le faire. Nous verrons que certains choix donnent
lieu à des algorithme convergente et d’autres pas.

Remarque 2.15
 Si |g’(r)|<1 et |g’(r)| 0, la méthode des points fixes converge
à l’ordre 1
 Si |g’(r)|=0 et |g’’(r)| 0, on a une convergence quadratique
 Si |g’(r)|= |g’’(r)|=0 et |g’’’(r)| 0, la convergence est d’ordre
3 ; t ainsi de suite.
2. Point fixe attractif
Definition 2.18
Un point fixe r de la fonction g est dit attractif si :
|g’(r)|<1
et répulsif si :
|g’(r)|>1
Le cas où |g’(r)|=1 est indéterminé.
 Comment choisit-on l’intervalle de convergence ?
- Si 0 ≤ 𝑔 ′ (𝛼) < 1 𝑎𝑙𝑜𝑟𝑠 [𝛽 ; 𝛾] 𝑐𝑜𝑛𝑡𝑒𝑛𝑎𝑛𝑡 𝛼 𝑒𝑠𝑡 𝑡𝑒𝑙 𝑞𝑢𝑒 0 ≤ 𝑔 ′ (𝑥)
< 1 ∀ 𝑥 ∈ [𝛽 ; 𝛾]
- Si −1 ≤ 𝑔 ′ (𝛼) < 0 ; 𝑉𝛼 = [𝛽 ; 𝑔(𝛽)] 𝑡𝑒𝑙 𝑞𝑢𝑒 − 1 ≤ 𝑔 ′ (𝑥) < 0 ∀ 𝑥 𝜖
[𝛽 ; 𝑔(𝛽)]
 La méthode est convergente si |g’(x)| <1
Il faut calculer donc g’(x) et g’’(x)
 Si la méthode n’est pas convergente il faut choisir la solution initiale
𝑥0 un peu plus loin de 𝛽 pour assurer la convergence.
 La courbe y=x au-dessus de g(x), le point fixe est attractif. Dans le
cas contraire il est répulsif ceci est vrai quelques soit x grand supérieur
à∝

3. Cas du point fixe répulsif


Théorème
Soit g : I = [a; b]  [a; b] de classe C1 . On suppose que g admet un point
fixe 𝛼 𝜖 [a ; b] vérifiant |𝑔′(𝛼)| > 1. Alors il existe un voisinage 𝑉𝛼 𝑑𝑒 𝛼 dans
I. tel que la suite (𝑥𝑛) définie par
𝑥 dans un voisinage I de α
{ 𝑜
∀n ≥ 0; 𝑥𝑛+1 = g(𝑥𝑛 )
Ne converge pas
Démonstration (voir polycopie)
Définition
Le réel α vérifiant les hypothèses du théorème précédent est appelé point
fixe répulsif de g
4. Point fixe douteux
Soit g : I= [a ; b] [a ; b] de classe 𝐶 1 pour laquelle α est un unique
point fixe vérifiant |g’(𝛼)|=1. Alors ∝ est appelé point fixe douteux de g

5. Test d’arrêt
Si le processus itératif converge, la solution 𝛼 étant la limite de la suite,
ne peut être atteinte au bout d’un nombre infini d’itérations. Par
conséquent, l’algorithme sera arrêté en utilisant l’un des tests suivants,
où 𝜀 désigne la précision à laquelle on souhaite obtenir la solution.
(1)|𝑥𝑛 − 𝑥𝑛−1 | ≤ 𝜀
|𝑥𝑛 − 𝑥𝑛−1 |
(2) ≤𝜀
|𝑥𝑛 |
(3)| g(𝑥𝑛 )≤ 𝜀| ; 𝑐 ′𝑒𝑠𝑡 − à − 𝑑𝑖𝑟𝑒 g(xn ) 𝑒𝑠𝑡 𝑝𝑟𝑒𝑠𝑞𝑢𝑒 𝑛𝑢𝑙le
Le processus sera considéré comme non convergent vers la solution
cherchée, si la précision 𝜀 souhaité n’est pas atteinte au-delà d’un
‘’nombre raisonnable’’ d’itération.
6. Vitesse de convergence
Soit 𝑥𝑛 une suite convergente vers 𝑥∞. S’il existe un nombre P et une
|𝑥𝑛+1 − 𝑥∞ |
constante 𝐶 ≠0 tel que lim ( )= 𝐶. On dit que la convergence
𝑛→∞ (𝑥𝑛 − 𝑥∞ )𝑝
est d’ordre P, C est la constante d’erreur asymptotique S’il existe une
constante C et un réel P > 0 tel que |𝑥𝑛+1 − 𝑥∞ |≤(𝑥𝑛+1 − 𝑥∞ )𝑃 pour
tout n assez grand.
On dit que la convergence est au moins d’ordre P.
- P=1 l’ordre de convergence est dit linéaire ou géométrique
- P > 1 l’ordre de convergence est dit super linéaire
- P =2 la convergence est quadratique.
Remarque :
Une méthode est dite linéaire, lorsqu’elle est d’ordre 1
On a alors (∝) ≠ 0.
Elle est dite quadratique si elle est d’ordre 2.
Pour une méthode d’ordre p, lorsqu’on passe d’un itéré à l’autre le nombre
de chiffre décimaux exacts est environ multiplié par p.

Exercice.
a) Trouver la racine de la fonction 𝑓1 (𝑥 ) = 𝑥 − cos(𝑥) en utilisant la
méthode du point fixe.
b) Tracer la fonction f sur [-0.5 ; 3].
c) Ecrire le programme Matlab permettant l’implémentation du schéma
numérique de cette méthode.
d) Afficher sur le même graphe la fonction et la solution approchée.
e) Afficher le graphe représentant le nombre d’approximations successives
en fonction du nombre d’itérations.
f) Tracer l’évolution de l’erreur en fonction du nombre d’itérations.
g) Appliquer le même algorithme pour résoudre 𝑓2 (𝑥 ) = 1 + 𝑥 + 𝑒 𝑥 sur
l’intervalle [-2 ; 3/2].
Prendre ε = 10-6 et 𝑥0 = 0.8.

III – Méthode de Newton ou méthode des tangentes.


1 – Principe.
C’est une méthode particulière du point fixe. Elle est basée sur l’idée de
construction d’une suite (𝑥𝑘 ) qui converge vers α d’une manière
quadratique.
Elle est applicable dans les cas des racines simples et double :
- racine simple : 𝑓(𝛼 ) = 0
- racine double : 𝑓(𝛼 ) = 0 𝑒𝑡 𝑓 ′ (𝛼) = 0
Soit une fonction 𝑓 (𝑥 ) définie sur [a ; b] et son développement de Taylor
au premier ordre.
Soit un point 𝑥0 proche du zéro de la fonction, on approche la fonction en
la considérant asymptotiquement égale à sa tangente au point 𝑥0 .
𝑓(𝛼 ) ≈ 𝑓(𝑥0 ) + 𝑓′(𝑥0 )(𝑥 − 𝑥0 ) ; 𝑓 (𝑥0 ) + 𝑓 ′ (𝑥0 )(𝑥 − 𝑥0 ) = 𝐴
𝐴 = 0 est l’équation de la tangente à la courbe de 𝑓 en 𝑥0 . On recherche
ensuite l’intersection de la droite tangente avec l’axe des abscisses et on
continue le processus en passant à 𝑥1 .
𝑓(𝑥𝑘 )
En partant de 𝑥0 , on construit la suite 𝑥𝑘+1 = 𝑔(𝑥𝑘 ) = 𝑥𝑘 − .
𝑓′(𝑥𝑘 )

Convergence de la méthode de méthode de Newton.


La suite a une limite finie α sur [𝑎 ; 𝑏]. Il s’agit donc de la racine de 𝑓.
 Si 𝑓 est trois fois dérivable sur [a ; b], 𝑓(α) = 0 et 𝑓′(α) ≠ 0, alors
la méthode de Newton est d’ordre 2 au moins.
 Si 𝑔′(α) ≠ 0 et |𝑔′ (α)| < 1, la suite converge linéairement ou est
d’ordre 1.
 Si 𝑔 ∈ 𝐶 2 ([𝑎 ; 𝑏]) et 𝑔′(α) = 0, la suite converge quadratiquement
ou est d’ordre 2.
𝑓′ est la dérivée de la fonction 𝑓 et 𝑥𝑘+1 est bien la solution de l’équation
𝑓(𝑥0 ) + 𝑓 ′ (𝑥0 )(𝑥 − 𝑥0 ) = 0.

2 – Algorithme.
1. Etant donné ε, un critère d’itération.
2. Etant donné N, le nombre maximal d’itérations.
3. Etant donné 𝑥0 , une valeur initiale de la solution.
𝑓(𝑥𝑛 )
4. Effectuer l’opération suivante : 𝑥𝑛+1 = 𝑥𝑘 − .
𝑓′(𝑥𝑛 )
|𝑥𝑛+1 −𝑥𝑛 |
5. Si |𝑥𝑛+1 |
≤𝜀:
- Convergence atteinte.
- Ecrire la solution.
- Arrêt.
6. Si le nombre maximal d’itérations N est atteint :
- Convergence non atteinte en N itérations.
- Arrêt.
7. Retour à l’étape 4.
Interprétation géométrique.
La figure ci-contre permet de donner une interprétation géométrique assez
simple de la méthode de Newton.

Exercice 1.
Résoudre l’équation 𝑓 (𝑥 ) = 𝑒 −𝑥 − 𝑥 = 0 par la méthode de Newton-
Raphson, sachant que 𝑥0 = 0 est la valeur initiale de la solution.
Exercice 2.
Ecrire un code en suivant les étapes suivantes.
1
Résoudre l’équation 𝑓 (𝑥 ) = 1 + 𝑥 + 𝑒 𝑥 = 0 ; 𝑥0 = − .
2

1 – Faire un test : si 𝑓 (𝑥 ) = 0, arrêt du programme.


2 – Le critère d’arrêt est |𝑥𝑛+1 − 𝑥𝑛 | ≤ 𝜀.
3 – Afficher la solution approchée 𝑥𝑛 .
4 – Afficher le nombre d’itérations conduisant à 𝑥𝑛 .
5 – Afficher sur le même graphe la solution 𝑥𝑛 ; 𝑓(𝑥𝑛 ) et la droite tangente
au point (𝑥𝑛 ; 𝑓(𝑥𝑛 )).
IV – Méthode de Newton modifiée.
𝛼 𝑠𝑖 𝑥 = 𝛼
Soit 𝑥𝑛+1 = 𝐹(𝑥𝑛 ) ou 𝐹 (𝑥 ) = {𝑥 − 𝑚 𝑓(𝑥) 𝑠𝑖 𝑥 ≠ 𝛼
′ (𝑥)𝑓

La méthode converge quadratiquement si 𝑥0 ∈ [𝑎 ; 𝑏] est suffisamment


(𝑥𝑛+1 −𝛼)
près de α et < 1.
(𝑥𝑛 −𝛼)2

𝑓 (𝑥 )
(𝑥𝑛+1 − 𝛼) (𝑥𝑛 − 𝛼) − 𝑚
𝑓 ′ (𝑥 )
=
(𝑥𝑛 − 𝛼)2 (𝑥𝑛 − 𝛼)2
(𝑥𝑛 − 𝛼)𝑓′(𝑥) − 𝑚𝑓(𝑥)
=
(𝑥𝑛 − 𝛼)2 𝑓′(𝑥)

𝑚
(𝑥𝑛 − 𝛼 )𝑘 (𝑘)
𝑓(𝑥𝑛 ) = ∑ 𝑓 (𝑥 ) + ⋯
𝑘!
𝑘=0

(𝑥𝑛 − 𝛼 )𝑚 (𝑚) (𝑥𝑛 − 𝛼)𝑚+1 (𝑚+1)


𝑓(𝑥𝑛 ) = 𝑓 (𝛼) + 𝑓 (𝛾𝑛 )
𝑚! (𝑚 + 1)!
𝑓(𝑥𝑛 ) est écrite sous le développement limité de Taylor avec reste de
Lagrange autour de 𝛼.
𝑚−1
(𝑥𝑛 − 𝛼 )𝑘−1 (𝑘)
𝑓′(𝑥𝑛 ) = ∑ 𝑓 (𝛼 ) + ⋯
(𝑘 − 1)!
𝑘=0

(𝑥𝑛 − 𝛼 )𝑚−1 (𝑚) (𝑥𝑛 − 𝛼)𝑚 (𝑚+1)


= 𝑓 (𝛼) + 𝑓 (𝛾𝑛 )
(𝑚 − 1)! 𝑚!

𝑓 (𝑥 )
(𝑥𝑛+1 − 𝛼) (𝑥𝑛 − 𝛼) − 𝑚
𝑓 ′ (𝑥 )
=
(𝑥𝑛 − 𝛼)2 (𝑥𝑛 − 𝛼)2
(𝑥𝑛 − 𝛼)𝑓′(𝑥) − 𝑚𝑓(𝑥)
=
(𝑥𝑛 − 𝛼)2 𝑓′(𝑥)
𝐷 = (𝑥𝑛 − 𝛼)2 𝑓′(𝑥)
(𝑥𝑛 − 𝛼 )𝑚−1 (𝑚)
= 𝑓 (∅𝑛 )
(𝑚 − 1)!
𝐴 = (𝑥𝑛 − 𝛼)𝑓′(𝑥)
(𝑥𝑛 − 𝛼 )𝑚−1 (𝑚) 𝑚
= 𝑓 (𝛼 ) + (𝑥𝑛 − 𝛼)𝑚+1 𝑓 (𝑚+1) (𝜈𝑛 )
(𝑚 − 1)! (𝑚 + 1)!
𝐵 = 𝑚𝑓(𝑥)
(𝑥𝑛 − 𝛼 )𝑛 𝑚
= 𝑓(𝛼) + (𝑥𝑛 − 𝛼)𝑚+1 𝑓 (𝑚+1) (𝜆𝑛 )
(𝑛 − 1)! (𝑚 + 1)!

NB :
La convergence de la méthode de Newton est linéaire si 𝛼 est une racine
multiple de 𝑓. Si la fonction admet une racine simple, la convergence est
quadratique.

V – Méthode de la sécante.
La méthode de Newton présente de grands avantages, mais elle nécessite le
calcul de la dérivée de 𝑓. Si la fonction 𝑓 est complexe, cette dérivée peut
être difficile à évaluer et peut résulter en une expression complexe. On
contourne cette difficulté en remplaçant le calcul de la pente 𝑓′(𝑥𝑛 ) de la
droite tangente à la courbe par l’expression suivante :
𝑓 (𝑥𝑛 ) − 𝑓 (𝑥𝑛−1 )
𝑓 ′ (𝑥𝑛 ) ≃
𝑥𝑛 − 𝑥𝑛−1
Cela revient à utiliser la droite sécante passant par les points (𝑥𝑛 ; 𝑓(𝑥𝑛 ))
et (𝑥𝑛−1 ; 𝑓(𝑥𝑛−1 )) plutôt que la droite tangente passant par (𝑥𝑛 ; 𝑓(𝑥𝑛 )).
Ce choix est représenté à la figure suivante.
Interprétation géométrique.
Il en résulte l’algorithme suivant :
Algorithme de la méthode de la sécante.
1. Etant donné 𝜀𝑎 , un critère d’arrêt.
2. Etant donné N, le nombre maximal d’itérations.
3. Etant donné 𝑥0 et 𝑥1 , deux valeurs initiales de la solution.
4. Effectuer :
𝑓 (𝑥𝑛 )(𝑥𝑛 − 𝑥𝑛−1 )
𝑥𝑛+1 = 𝑓 (𝑥𝑛 ) −
𝑓 (𝑥𝑛 ) − 𝑓 (𝑥𝑛−1 )
|𝑥𝑛+1 −𝑥𝑛 |
5. Si |𝑥𝑛+1 |
≤ 𝜀𝑎 :
- Convergence atteinte.
- Ecrire la solution.
- Arrêt.
6. Si le nombre maximal d’itérations N est atteint :
- Convergence non atteinte en N itérations.
- Arrêt.
7. Retour à l’étape 4.

NB :
La convergence vers de la méthode de newton est linéaire si
est une racine multiple de f. Si la fonction admet une racine simple,
la convergence est quadratique.

VI - Méthode de la sécante
La méthode de Newton possède de grands avantages, mais elle
nécessite le calcul de la dérivée de f(x). Si la fonction f(x) est
complexe, cette dérivée peut être difficile à évaluer et peut résulter en
une expression complexe. On contourne cette difficulté en remplaçant
le calcul de la pente 𝑓′(𝑥𝑛) de la droite tangente à la courbe par
l’expression suivante :
𝑓(𝑥𝑛 )−𝑓(𝑥𝑛 −1)
𝑓′(𝑥) ≃
𝑥𝑛−𝑥𝑛−1

Cela revient à utiliser la droite sécante passant par les points


(𝑥, 𝑓(𝑥𝑛 )) et
(−1, 𝑓(𝑥𝑛 − 1) plutôt que la droite tangente passant par (𝑥𝑛 , 𝑓 (𝑥𝑛 )). Ce
choix est représenté à la figure 2.7. Il en résulte l’algorithme suivant :

Interprétation géométrique
Algorithme de la méthode de la sécante

1. Etant donné 𝜀𝑎 , un critère d’arrêt


2. Etant donné N le nombre d’itérations
3. Etant donné 0 𝑒𝑡 𝑥1 , deux valeurs initiales de la solution :
4. Effectuer :

𝑓(𝑥𝑛 )(𝑥𝑛 −𝑥𝑛−1 )


𝑥𝑛+1 = 𝑥𝑛 −
(𝑓(𝑥𝑛 )−𝑓(𝑥𝑛−1 ))

|𝑥𝑛+1 − 𝑥𝑛|
5. Si < 𝜖𝑎 :
|𝑥𝑛+1|
- Convergence atteinte
- Ecrire la solution xn+1
- Arrêt
6. Si le nombre maximal d’itérations N est atteint :
- Convergence non atteinte en N itérations
- Arrêt
7. Retour à l’étape 4

Remarque
Plusieurs remarques s’imposent au sujet de cet algorithme :
1. La dérivée de 𝑓(𝑥) n’apparaît pas dans l’algorithme .
2. Il faut fournir au départ 2 valeurs initiales. C’est ce qu’on appelle
algorithme à deux pas.
3. On choisit les valeurs initiales le plus près possible de la racine
recherchée. Il n’est cependant 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.

Exercice
1
Résoudre 𝑓 (𝑥 ) = 𝑥 − 0.2 sin(4𝑥 ) −
2

𝑥0 = −1 , 𝑥1 = 2 𝑒𝑡 𝜖 = 10−10
a) Ecrire le code Matlab de la méthode de la sécante
b) Afficher la solution approchée 𝑥𝑛 .
c) Afficher le nombre d’itérations
d) Afficher sur le même graphe f(x) solution

VII- Méthode de Lagrange ou de la corde


Soit à résoudre l’équation 𝐹 (𝑥 ) = 0 , où F est continue ,
strictement monotone sur [a, b] telle que 𝐹 (𝑎)𝐹(𝑏) < 0, et soit 𝑥̅ la racine
cherchée , située dans [a, b]. Dans cette méthode on remplace le graphe de
F restreint à, [a, b] par le segment de droite joignant les points 𝐴(𝑎, 𝐹 (𝑎))
et (𝑏, 𝐹 (𝑏)) , (c’est-à-dire que l’on interpole F par un polynôme de degré
1) ; ce segment coupe l’axe ox en un point d’abscisse 𝑥1 . Soit 𝑀1 le point
de coordonnées (𝑥1 , 𝐹 (𝑥1 )), on réitère alors le même procédé
qu’auparavant en joignant 𝑀1 et l’extrémité fixe , A ou B . L’extrémité
fixe est telle que (𝑥 )𝐹′′(𝑥) > 0 . Voir la figure 8 ci-dessous.
En écrivant l’équation de la corde (AB) on obtient la méthode de Lagrange
ci-dessous.
1. Si l’extrémité A est fixe alors cette méthode s’écrit 𝑥𝑛+1 = 𝑔(𝑥𝑛 ) et
𝑥0 donné où :

𝑥0 = 𝑏
{ 𝑥𝑛−𝑎
𝑥𝑛+1 = 𝑥𝑛 − 𝐹 (𝑥𝑛 ) = 𝑔(𝑥𝑛 )
𝐹 (𝑥𝑛 ) − 𝐹 (𝑎)

C’est une suite décroissante et bornée, donc convergente , (𝑎 <


𝑥̅ < ⋯ < 𝑥𝑛 < ⋯ < 𝑥1 < 𝑥0 ).
2. Si l’extrémité B est fixe, elle s’écrit :

𝑥0 = 𝑎
{ 𝑏 − 𝑥𝑛
𝑥𝑛+1 = 𝑥𝑛 − 𝐹 (𝑥𝑛 ) = 𝑔(𝑥𝑛 )
𝐹 (𝑏) − 𝐹 (𝑥𝑛 )

C’est une suite croissante et bornée, donc convergente (𝑥0 < 𝑥1 … <
𝑥𝑛 < ⋯ < 𝑥̅ < 𝑏)
1 1
Exemple 3 : F(x) = 𝑥 3 + 𝑥 + 1 = 0 sur [ , 1], et on a F( ) = -0.375 et
2 2
1 1
F(1)=(1) donc 𝑥̅ ∈ [ , 1] . D’autre part 𝐹′′(𝑥) > 0 sur [ , 1], ainsi
2 2
( )
𝐹 1 𝐹′′(1) > 0,
c’est donc l’extrémité 𝐵(1, 𝐹 (1)) qui sera fixe. Par
conséquent, en commençant le processus par 𝑥0 = 1, on trouve aisément :
𝑥1 = 0.64 … , 𝑥2 = 0.67 … 𝑒𝑡𝑐 … ,
ainsi, 𝑥̅ = 0.67 à 10−2 près.

VIII - Méthode de la fausse position ou de Lagrange


C’est une variante de la méthode de la sécante dans laquelle au
lieu de prendre la droite passant par les point
on prend celle passant par (𝑥 (𝑘) ; 𝑓(𝑥 (𝑘) )) et
(𝑥 (𝑘′) ; 𝑓(𝑥 (𝑘′) )) 𝑘′ étant le plus grand indice supérieur à k tel que
𝑓(𝑥 (𝑘) ) × 𝑓(𝑥 (𝑘′) < 0
Plus précisément une fois trouvé deux valeurs (𝑥 (1) 𝑒𝑡 𝑥 (0) telles que
𝑓(𝑥 (1) ) × 𝑓(𝑥 (0) < 0

𝑘+1 𝑘 𝑥 𝑘 −𝑥 𝑘
On pose, 𝑥 =𝑥 − ′ 𝑓(𝑥 𝑘 )
𝑓(𝑥 𝑘 )−𝑓(𝑥 𝑘 )

Exercices
1.
On considère l’équation 𝑓(𝑥 ) = 0, avec 𝑓 (𝑥 ) = 𝑐𝑜𝑠𝑥 −
𝜋
𝑥𝑒 𝑥 , 𝑥 ∈ [0, ].
2
1) Etudier les variations de 𝑓 et montrer que cette équation admet
𝜋
une solution unique s dans [0, ].
2
2) Utiliser la méthode de dichotomie pour trouver une valeur
approchée de s avec la précision 10−6 .
3) Vérifier que la méthode de Newton est applicable pour trouver
une valeur approchée de s. En étudiant le signe de 𝑓′′, indiquer
le bon choix de 𝑥0 . Calculer alors les 10 premiers itérés de
cette méthode.
4) On met l’équation 𝑓(𝑥 ) = 0 sous la forme
cos 𝑥
𝑥= 𝑥
𝑒
a) Montrer que les hypothèses d’application de la
méthode du point fixe ne sont pas vérifiées sur
𝜋
l’intervalle [0, ].
2
b) Montrer qu’elles le sont sur l’intervalle [0.45, 0.6].
c) Combien de termes devrait-on calculer par la méthode
du point fixe pour trouver une valeur approchée de s à
10−6 près ?

3. En considérant la fonction définie par 𝑓 (𝑥 ) = 𝑥 2 − 2 ,


utiliser la méthode de Newton pour construire une suite
convergeant vers √2. En calculant les 6 premiers termes
avec Matlab.

4. Appliquer la méthode de Newton à une fonction affine


définie par
𝑓(𝑥 ) = 𝛼𝑥 + 𝛽 , (α ≠ 0), en prenant une initialisation 𝑥0
quelconque.

Programmation du point fixe


1) Ecrire une fonction 𝑠 = 𝑝𝑜𝑖𝑛𝑡𝐹𝑖𝑥𝑒(𝑝ℎ𝑖, 𝑣𝑎𝑟, 𝑥0, 𝑛) qui place le
tableau [𝑠(1) 𝑠(2) … 𝑠(𝑛)] les n premiers itérés de la méthode
du point fixe appliquée à la fonction de la variable var , définie
par l’expression symbolique phi, en partant de l’initialisation x0
(on aura donc s(1) = x0).
2) Ecrire une fonction
𝑠 = 𝑝𝑜𝑖𝑛𝑡𝐹𝑖𝑥𝑒𝐺𝑟𝑎𝑝ℎ𝑒(𝑝ℎ𝑖, 𝑣𝑎𝑟, 𝑥0, 𝑛, 𝑎, 𝑏) qui, en plus des
traitements de la question précédente , représente sur un
graphique ,dans un repère orthonormée :
- la fonction φ sur l’intervalle [a, b] ;
- la droite d’équation 𝑦 = 𝑥 ;
- la ligne polygonale [𝑀0 𝑁0 𝑀1 𝑁1 … 𝑀𝑛 𝑁𝑛 ] présenté au
paragraphe 6.2.3.1

6.2.3.1. Algorithme
On construit la suite des itérés de la manière suivante :
- on fixe un point x0 quelconque de [a, b],
- puis on définit
𝑥1 = φ(𝑥0 )
𝑥2 = φ(𝑥1 )
.
.
.
{𝑥𝑛+1 = φ(𝑥𝑛 )
Méthode de Newton
1) Ecrire une fonction

𝑠 = 𝑛𝑒𝑤𝑡𝑜𝑛𝐺𝑟𝑎𝑝ℎ𝑒 (𝑓, 𝑣𝑎𝑟, 𝑥0, 𝑛)


qui place dans le tableau
[𝑠(1) 𝑠(2) … 𝑠 (𝑛 )]
Les n premiers itérés de la méthodes de Newton appliquée à la fonction de
la variable 𝑣𝑎𝑟, définie par l’expression symbolique 𝑓, en partant de
l’initialisation 𝑥0 = 𝑠(1).
2) Ecrire une fonction
𝑠 = 𝑛𝑒𝑤𝑡𝑜𝑛𝐺𝑟𝑎𝑝ℎ𝑒 (𝑓, 𝑣𝑎𝑟, 𝑥0, 𝑛, 𝑎, 𝑏)
Qui, en plus des traitements de la question précédente, représente sur un
graphique :
- La fonction 𝑓 sur l’intervalle [𝑎, 𝑏];
- La tangente successive illustrant la méthode (Voir paragraphe
6.3.4.2)
NB : s’exercer sur l’illustration suivante avant d’aborder le 5

6.3.4.2 Exemple
Considérons l’équation 𝑓(𝑥 ) = 0, avec
𝑓 (𝑥 ) = 𝑥 3 − 4.53𝑥 2 + 6.029𝑥 − 2.218039, 𝑥 ∈ [1,2]
𝑓 fonction polynôme est continue et dérivable sur [1,2], et on peut vérifié
une à une les hypothèses d’application de la méthode de Newton :
1) 𝑓(1) et 𝑓(2) sont de signes contraires :
»syms x real
» f = x^3 -4.53*x^2+6.0291*x-2.218039
» fDe1=subs(f,x,1)
fDe1=0.2811
» fDe2= subs(,x,2)
fDe2=-0.2798

2) 𝑓 ′ ne s’annule pas sur l’intervalle [1,2] :

» fPrime =diff(f)
fPrime =3* x^2 -453/50*x+60291/10000
» S=solve(fPrime)
S=[99/100]
[203/100]

3) 𝑓 ′ est de signe négatif, donc 𝑓 est strictement décroissant sur


l’intervalle [1,2] :

»maple(‘solve (3* x^2 -453/50*x+60291/10000<0’)


Ans=RealRange(open(90/100).open(203/100))

On peut illustrer graphiquement ces propriétés :


»clf : ezplot(f,[1,2]) ; grid on ;
»title(‘f(x) sur [1,2]’)
»dessineRepere
Pourtant , si on calcule les 10 premiers itérés de la méthode de Newton
appliquée à cette fonction 𝑓 ′ , on obtient :
- En choisissant 𝑥1 = 1

»X(1)=1 ;
»for i=1 :10
X(i+1)=X(i)-double(subs(f ,x,X(i)))/double(subs(fPrime,x,X(i))) ;
End
»X
X=1.0000 10.0958 7.2550 5.3716 4.1319 3.3295 2.8309 2.5521
2.4116 2.4107

- En choisissant 𝑥1 = 2

»X(1)=2 ;
»for i=1 :10
X(i+1)=X(i)-double(subs(f ,x,X(i)))/double(subs(fPrime,x,X(i))) ;
End
»X
X=2.0000 -1.0785 -0.2883 0.2018 0.4742 0.5868 0.6085 0.6093 0.6093
0.6093 0.6093
- En choisissant 𝑥1 = 1.1

»X(1)=1.1 ;
»for i=1 :10
X(i+1)=X(i)-double(subs(f ,x,X(i)))/double(subs(fPrime,x,X(i))) ;
End
»X
X=1.1000 1.9591 0.6304 0.6086 0.6093 0.6093 0.6093 0.6093 0.6093
0.6093 0.6093

Dans les trois cas , on obtient des valeurs qui appartiennent pas à
l’intervalle [1,2] dans lequel on cherche la solution.
Par contre, l’initialisation 𝑥1 = 1.15 donne une suite qui semble
converger vers la solution cherchée
»X(1)=1.5 ;
»for i=1 :10
X(i+1)=X(i)-double(subs(f ,x,X(i)))/double(subs(fPrime,x,X(i))) ;
End
»X
X=1.1500 1.7309 1.4776 1.5101 1.5100 1.5100 1.5100 1.5100 1.5100
1.5100 1.5100

On peut expliquer graphiquement ce qui se passe (on utilise la fonction


Newton-graph qui est présentée dans l’exercice précédent.
Partant de 𝑥1 = 1.10 la méthode de la tangente donne une valeur 𝑥2
proche de 2, et une valeur 𝑥3 n’appartenant plus à l’intervalle [1,2] .
Alors que la suite des itérés converge vers la racine cherchée en partant de
la valeur initiale 𝑥1 = 1.15.

Le résultat suivant permet d’obtenir un choix de 𝑥0 assurant la


convergence de la méthode.
Chapitre 2 Méthodes d’Interpolation

Théorème

Corollaire
 Méthode de Lagrange
C’est une méthode d’interpolation polynomiale. Soit (𝑥𝑖 ; 𝑦𝑖 ) ; 𝑖 = 0 ; − − − − ; 𝑛 de
couples tels que 𝑥𝑖 ≠ 𝑥𝑗 𝑠𝑖 𝑖 ≠ 𝑗 𝑎𝑙𝑜𝑟𝑠

𝑖𝑙 𝑒𝑥𝑖𝑠𝑡𝑒 𝑢𝑛 𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑒 𝑃𝑛 𝑑𝑒 𝑑é𝑔𝑟é 𝑖𝑛𝑓é𝑟𝑖𝑒𝑢𝑟 𝑜𝑢 é𝑔𝑎𝑙𝑒 à 𝑛 𝑡𝑒𝑙 𝑞𝑢𝑒


𝑛
𝑛 𝑥 − 𝑥𝑗
𝑃𝑛 (𝑥) = ∑ 𝑦𝑖 𝐿𝑖 (𝑥) 𝑎𝑣𝑒𝑐 𝐿𝑖 (𝑥) = ∏
𝑖≠𝑗 𝑥𝑖 − 𝑥𝑗
𝑖=0

Les n+1 polynômes forment la base et 𝑃𝑛 est appelé polynôme d’interpolation de LaGrange
Si 𝑃𝑛 (𝑥) est de degré 1 on parle d’interpolation linéaire nous avons les propriétés suivantes

Propriétés

𝑳𝒊 (𝒙𝒋 ) = 𝜹𝒊,𝒋
𝒔𝒊 𝒊 = 𝒋 ; 𝜹𝒊,𝒋 = 𝟏
𝒊 ≠ 𝒋; 𝜹𝒊,𝒋 = 𝟎
𝑷𝒏 (𝒙𝒏 ) = 𝒚𝒌 𝜹𝒌,𝒌

Exemple : on donne trois couple de nombre (4 ; -1) (1 ; 2) (3 ; 7) on obtient le polynôme


7 33
𝑃2 (𝑥) = − 𝑥 2 + − 11
2 2

 Méthode de Newton

Soit une fonction f réelle défini sur un intervalle [a ; b] ; x0 ; x1 ; ---------- ; xn (n+1) points
distincts de a et b. A partir de ces points connu xi, yi tel que yi = f(xi). Le polynôme
d’interpolation de newton s’écrit 𝑃𝑛 (𝑥) = [𝑦0 ] + [𝑦0 ; 𝑦1 ](𝑥 − 𝑥0 ) + ⋯ +
[𝑦0 ; 𝑦1 ; … … … . . 𝑦𝑛 ](𝑥 − 𝑥1 ) … … … . . (𝑥 − 𝑥𝑛−1 ) avec les notations [𝑦𝐼 ] pour les différences
divisés
𝑘
𝑦𝑖
[𝑦0 ; 𝑦1 ; … … … . . 𝑦𝑘 ] = ∑
∏(𝑥𝑗 − 𝑥𝑖 )
𝑗=0
0≤𝑖≤𝑘
𝑖≠𝑗

NB : si k = 0 alors ∏(𝑥𝑗 − 𝑥𝑖 ) = 1 ≡ 𝑝𝑟𝑜𝑑𝑢𝑖𝑡 𝑣𝑖𝑑𝑒

Autre formulation du polynôme de Newton


Exemple : (0 1) (1 2 ) (2 9) (3 28) la solution est donc P3(x) = 1 + 𝑥 3

Erreur d’Interpolation

On peut aussi estimer le terme d’erreur par :

Ce qui revient à écrire :


 Interpolation inverse de Lagrange
Soit f : [a ; b] et des x tel que 𝑥0 < 𝑥1 … … . 𝑥𝑛 𝑑𝑒𝑠 𝑝𝑜𝑖𝑛𝑡𝑠 𝑑𝑖𝑠𝑡𝑖𝑛𝑐𝑡𝑠 𝑑𝑒 [𝑎; 𝑏]. On suppose
que f est injective et continue sur [a ;b] avec 𝑦𝑖 = 𝑓(𝑥𝑖 )𝑝𝑜𝑢𝑟 𝑖 = 0,1, … … … . , 𝑛 .

On appelle polynômes inverse de LaGrange de f au point 𝑥0 , 𝑥1 , … … 𝑥𝑛 le polynômes


d’interpolation de la fonction 𝑓 −1 réciproque de f au point 𝑦0 ; 𝑦1 ; … … … . . 𝑦𝑛 c’est-à-dire

𝑦 𝜀 𝑓([𝑎; 𝑏]) → 𝑥

𝑓 −1 (𝑦) 𝜖 [𝑎; 𝑏]

Exercice : déterminer 𝑓 −1 (𝑦)

x 1 -1 2

𝑓(𝑥) 0 3 4

 Méthode de Tchebychev

Nous savons que l’erreur d’interpolation est une fonction de x. Nous nous posons à présent la
question de savoir si le choix de point de collation équidistant est vraiment le meilleur choix. La
réponse est non. Il est d’usage courant de lisser les fonctions qui oscillent dans tous les sens en
utilisant le polynôme de TCHEBYCHEV définie sur [-1 ; 1]. Il s’agira de choisir 𝑥𝑖 𝑠𝑢𝑟 [−1; 1] de facon
a ce que max ∏𝑛𝑖=0(𝑥 − 𝑥𝑖 ) soit maximal.
𝑥(−1) = 𝑎
Soit x(t) variant linéairement tel que { 𝑡𝜖[−1 ; 1] → 𝑥(𝑡)𝜖[𝑎 ; 𝑏]
𝑥(1) = 𝑏
𝑏−𝑎 𝑎+𝑏
𝑥(𝑡) = 𝑡+
2 2
𝑏−𝑎 𝑎+𝑏
𝑥𝑖 = 𝑥(𝑡𝑖 ) = 𝑡𝑖 +
2 2
𝑏−𝑎 𝑎+𝑏 𝑏−𝑎 𝑎+𝑏
𝑥 − 𝑥𝑖 = ( 𝑡+ )−( 𝑡𝑖 + )
2 2 2 2
𝑏−𝑎
𝑥 − 𝑥𝑖 = (𝑡 − 𝑡𝑖 )
2
𝑛 𝑛
𝑏−𝑎
∏(𝑥 − 𝑥𝑖) = ∏[ (𝑡 − 𝑡𝑖 )]
2
𝑖=0 𝑖=0
𝑏−𝑎 (𝑛+1) 𝑛
=( ) ∏𝐼=0(𝑡 − 𝑡𝑖 )
2
Les points optimaux sont les zéros du polynôme de TCHEBYCHEV. Minimiser ∏𝑛𝑖=0(𝑥 − 𝑥𝑖 ) 𝑟𝑒𝑣𝑖𝑒𝑛𝑡

𝑎 𝑚𝑖𝑛𝑚𝑖𝑠é ∏𝑛𝑖=0(𝑡 − 𝑡𝑖 ) 𝑡0 , 𝑡1 , − − − − 𝑡𝑛 𝑎𝑝𝑝𝑎𝑟𝑡𝑒𝑛𝑎𝑛𝑡 à [−1 ; 1]𝑡𝑒𝑙 𝑞𝑢𝑒 max ∏𝑛𝑖=0(𝑡 − 𝑡𝑖 )

Soit maximal. La solution existe et n’est rien d’autres que l’ensemble des zéros du polynôme de
Tchebychev de degrés (n+1)

Définition

On appelle polynôme de Tchebychev de degré n la fonction réelle

𝑥 𝜖 [−1 ; 1] → 𝑇𝑛 (𝑥) = cos(𝑛𝑎𝑟𝑐𝑜𝑠𝑥)


𝑛 = 0; 𝑇0 (𝑥) = 1
𝑛 = 1; 𝑇1 (𝑥) = 𝑥
𝑇𝑛+1 = cos[(𝑛 + 1)𝑎𝑟𝑐𝑜𝑠𝑥]
𝑇𝑛+1 = 𝑥𝑇𝑛 (𝑥) − sin(𝑛𝑎𝑟𝑐𝑜𝑠𝑥) sin(𝑎𝑟𝑐𝑜𝑠 𝑥)
𝑇𝑛−1 = 𝑥𝑇𝑛 (𝑥) +sin(𝑛𝑎𝑟𝑐𝑜𝑠𝑥) sin(𝑎𝑟𝑐𝑜𝑠 𝑥)

𝑇𝑛+1 (𝑥) + 𝑇𝑛−1 (𝑥) = 2𝑥𝑇𝑛 (𝑥)


𝑇𝑛+1 (𝑥) = 2𝑥𝑇𝑛 (𝑥) − 𝑇𝑛−1 (𝑥)
𝑇2 (𝑥) = 2𝑥𝑇1 (𝑥) − 𝑇0 (𝑥)

𝑇2 (𝑥) = 2𝑥 2 − 1

𝑇𝑛 (𝑡) = cos(𝑛𝑎𝑟𝑐𝑜𝑠(𝑡))

Posons 𝑇𝑛 (𝑡) = 0 , 𝑜𝑛 𝑎
𝜋
cos(𝑛𝑎𝑟𝑐𝑜𝑠(𝑡)) = 0 = cos ( + 𝑘𝜋)
2
𝜋
𝑛𝑎𝑟𝑐𝑜𝑠(𝑡) = + 𝑘𝜋
2
𝜋 𝑘𝜋
𝑎𝑟𝑐𝑜𝑠(𝑡) = +
2𝑛 𝑛
𝜋 𝑘𝜋
𝑡 = cos ( + )
2𝑛 𝑛
𝜋 + 2𝑘𝜋
𝑡 = cos ( )
2𝑛
𝜋
𝑡 = cos [ (1 + 2𝑘)]
2𝑛
𝟐𝒊+𝟏
𝒕𝒊 = 𝐜𝐨𝐬 [𝟐(𝒏+𝟏) 𝝅] avec i ϵ [𝟎, 𝒏] et
𝟐𝒊+𝟏
𝒕𝒊 = 𝐜𝐨𝐬 [ 𝟐(𝒏) 𝝅] avec i ϵ [𝟎, 𝒏 − 𝟏] Alors

𝒃−𝒂 𝒃+𝒂 𝟐𝒊+𝟏


𝒙𝒊 = + cos(𝟐(𝒏+𝟏) П) avec i ϵ [𝟎, 𝒏] et
𝟐 𝟐

𝒃−𝒂 𝒃+𝒂 𝟐𝒊+𝟏


𝒙𝒊 = + cos( 𝟐(𝒏) П) avec i ϵ [𝟎, 𝒏 − 𝟏]
𝟐 𝟐

En choisissant les points d’interpolations 𝒙𝒊 on obtient le majorant de l’erreur |𝑓(𝑥) − 𝑃(𝑥)| ≤


𝑀𝑎𝑥[𝑎 ;𝑏] |𝑓 (𝑛+1) (𝑐)|, 𝑥𝑖 𝑒𝑠𝑡 𝑙𝑎 𝑚𝑒𝑖𝑙𝑙𝑒𝑢𝑟𝑒

Majoration globale que l’on puisse obtenir

Résumé
L’interpolation de Pafnouti Tchebychev impose une subdivision x0, x1, . . . . xn de l’intervalle [𝑎, 𝑏] en
des points appelés points de Tchebychev. L’interpolation de Tchebychev est encore appelée
interpolation de Lagrange aux points de Tchebychev, car il s’agit d’une interpolation de Lagrange
réalisée en des points particuliers.
Les points d’interpolation de Tchebychev d’ordre n sur l’intervalle [−1, 1 ] sont les racines du
polynômes de Tchébychev, qui correspondent au points

EXERCICE
1
f(x) = 𝑠𝑢𝑟 [−1; 1]
𝑥2 +2
a) Obtenir le polynômes d’interpolation de f sur [-1 ;1] avec 5 points équidistants (Newton)
b) Obtenir le polynômes d’interpolation de degré 4 de f au zéros du polynôme de Tchebychev
de degré 5
c) Tracer ensembles les 2 polynômes et la fonction f sur [-1, 1] en utilisant le code Matlab de la
méthode d’interpolation de Neville

 Interpolation par la méthode de Neville

Étant donné un ensemble de (n +1) points de données (xi, yi) le polynôme d'interpolation est
le polynôme p de degré au plus n avec la propriété : p (xi) = yi pour tout i = 0,, n

Ce polynôme existe et il est unique. Soit p i, j le polynôme de degré j - i qui passe par les points
( xi , yk ) pour k = i , i + 1,…, j . Les pi, j satisfont la relation de récurrence :

Cette récurrence permet de calculer 𝑃0,𝑛 qui est la valeur recherchée. Par exemple, pour n = 4, on
peut utiliser la récurrence pour remplir le tableau triangulaire ci-dessous de la gauche vers la droite.
A la fin de ce processus on obtient𝑃0,𝑛 (x), qui est le polynôme passant par les n + 1 points de
données ( xi ,yi ) au point x.

Exercice: Utilisons l’algorithme de Neville avec les points suivants :

 Interpolation d’Hermite
DEFINITION

Soit 𝑓 une fonction définie sur un intervalle [a, b] et soient 𝑥0 , . . . , 𝑥𝑛 n + 1 points de [a, b].
L’interpolation par la méthode d’Hermite consiste à construire un polynôme d’interpolation 𝑃 de 𝑓
vérifiant :

-non seulement 𝑃(𝑥𝑖 ) = 𝑓(𝑥𝑖 ) pour tout 0 ≤ i ≤ n

-mais aussi 𝑃′(𝑥𝑖 ) = 𝑓′(𝑥𝑖 ) pour tout 0 ≤ i ≤ n

Théorème

Il existe un unique polynôme 𝑃𝑛 de degré au plus 2n + 1 vérifiant :

𝑃𝑛 (𝑥𝑖 ) = 𝑓(𝑥𝑖 ) 𝑃𝑛 ′(𝑥𝑖 ) = 𝑓′(𝑥𝑖 ) ∀ i = 0, 1, . . ., n.

Le polynôme s´écrit :

𝑃𝑛 (𝑥) = ∑𝑛𝑖=0 𝑓(𝑥𝑖 ) ∗ 𝐻𝑖 (𝑥) + ∑𝑛𝑖=0 𝑓′(𝑥𝑖 ) ∗ 𝐻


̃𝑖 (𝑥) avec

𝐻𝑖 (𝑥) = [1 − 2𝐿′𝑖 (𝑥𝑖 )(𝑥 − 𝑥𝑖 )] ∗ 𝐿2 𝑖 (𝑥) Et

̃ 𝒊 (𝒙) = (𝒙 − 𝒙𝒊 ) ∗ 𝑳𝟐 𝒊 (𝒙)
𝑯

Le polynôme 𝑃𝑛 est appelé polynôme d’interpolation d’Hermite de la fonction 𝑓aux points


𝑥0 , 𝑥1 , … … … … … . 𝑥𝑛
Les fonctions 𝐿𝑖 (𝑥) sont les polynômes caractéristiques de Lagrange respectivement au point 𝑖 tels
que :
𝑛 𝑥−𝑥𝑘
𝐿𝑖 (𝑥) = ∏𝑘=0 𝑥 −𝑥
𝑘≠𝑖 𝑖 𝑘

1 si 𝑖 = 𝑗
𝐿𝑖 (𝑥𝑗 )= {
0 sinon

Autre formulation de l’interpolation de Hermite


 Interpolation par spline linéaire
Soient n points (𝑥𝑖 , 𝑦𝑖 )1≤𝑖≤𝑛 . Interpoler ces points par des splines linéaires revient simplement à
relier les points consécutifs par des segments de droite. Si les points précédents sont donnés dans un
ordre croissant, on aura :

La fonction d’interpolation par splines linéaires est donc :


𝑓(𝑥2 ) − 𝑓(𝑥1 )
𝑓(𝑥1 ) + (𝑥 − 𝑥1 ), 𝑥1 ≤ 𝑥 ≤ 𝑥2
𝑥2 − 𝑥1
𝑓(𝑥3 ) − 𝑓(𝑥2 )
𝑓(𝑥) = 𝑓(𝑥2 ) + (𝑥 − 𝑥2 ), 𝑥2 ≤ 𝑥 ≤ 𝑥3 ,
𝑥3 − 𝑥2
𝑓(𝑥𝑛 ) − 𝑓(𝑥𝑛−1 )
𝑓(𝑥𝑛−1 ) + (𝑥 − 𝑥𝑛−1 ), 𝑥𝑛−1 ≤ 𝑥 ≤ 𝑥𝑛
{ 𝑥𝑛 − 𝑥𝑛−1
𝑓(𝑥𝑖 )−𝑓(𝑥𝑖−1 )
où les sont les premières différences divisées de f.
𝑥𝑖 −𝑥𝑖−1

 Interpolation par spline cubique

Nous avons constaté que l’utilisation de polynôme de degré élevé est parfois délicat et peut mener à
des erreurs d’interpolation importante. De plus il est parfois nécessaire d’obtenir des courbes très
régulière passant par un grand nombre de point. Pour ce faire ; on utilise les splines cubique, la
méthode consiste a utilisé dans chaque intervalle [𝑥𝑖−1 ; 𝑥𝑖 ] 𝑝𝑖 (𝑥) 𝑢𝑛 𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑒 𝑑𝑒 𝑑é𝑔𝑟é 𝑛
3 2
𝑃𝑖 (𝑥) = 𝑎𝑖 (x - xi) +𝑏𝑖 (x - xi) + 𝑐𝑖 (𝑥 − 𝑥𝑖) + 𝑑𝑖 i=1,2,----------,n

Et à les relier de façon à ce que la courbe résultant soit deux fois différentiable : c’est l’interpolation
par spline cubique.

𝑠𝑢𝑝𝑝𝑜𝑠𝑜𝑛𝑠 que l’on est 𝑛 + 1 points d’interpolations et donc n intervalle, cela indique que l’on a a
déterminer les coefficients 𝑎𝑖 , 𝑏𝑖 , 𝑐𝑖 , 𝑑𝑖 . Les deux premières équations à déterminer sont donc

𝑃0 (𝑥0 ) = 𝑓(𝑥0 )
𝑃𝑛 (𝑥𝑛 ) = 𝑓(𝑥𝑛 )

Par chaque point passe intérieur deux polynôme défini sur 𝑃𝑖 (𝑥) [𝑥𝑖−1 ; 𝑥𝑖 ] et 𝑃𝑖+1 (𝑥) [𝑥𝑖 ; 𝑥𝑖+1 ]
𝑃𝑖 (𝑥𝑖 ) = 𝑓(𝑥𝑖 ) Pour i=1,2,----------,n-1

𝑃𝑖+1 (𝑥𝑖 ) = 𝑓(𝑥𝑖 ) Pour i=0,1,2,----------,n-1

On a 2n-2 équations supplémentaires. Pour assurer la régularité de la courbe on doit assurer que les
dérivés première et secondes soit continués au points intérieur. On a donc

𝑃′𝑖 (𝑥𝑖 ) = 𝑃′𝑖+1 (𝑥𝑖 ) Pour i=1,2,----------,n-1

𝑃′′𝑖 (𝑥𝑖 ) = 𝑃′′𝑖+1 (𝑥𝑖 ) Pour i=1,2,----------,n-1

On a donc 2n-2 équations supplémentaires. Ce qui fait au total 4n-2 équations. Il nous manque donc
2 équations pour résoudre le système. Il existe plusieurs manières d’obtenir ces 2 équations. Il est
fort heureusement possible de ramener ce système en un système plus petit de n-1 inconnues, il
suffit de constater donc que le spline est constituer de polynôme de degré 3 dans chaque intervalle,
et sa dériver seconde est de degré 1 dans [𝑥𝑖−1 ; 𝑥𝑖 ]

[𝑥𝑖 ; 𝑓′′(𝑥𝑖 )] [𝑥𝑖−1 ; 𝑓′′(𝑥𝑖−1 )] ℎ𝑖 = 𝑥𝑖 − 𝑥𝑖−1

Posons 𝑃𝑖 (𝑥𝑖 )=𝑚𝑖

D’après l’interpolation de Lagrange, on a :


𝑥−𝑥𝑖 𝑥−𝑥
𝑃′′ 𝑖 (𝑥) = 𝑚𝑖−1 𝑥 + 𝑚𝑖 𝑥 −𝑥𝑖−1
𝑖−1 −𝑥𝑖 𝑖 𝑖−1

𝑚𝑖−1 𝑚𝑖
𝑃′′ 𝑖 (𝑥) = − (𝑥 − 𝑥𝑖 ) + (𝑥 − 𝑥𝑖−1 )
ℎ𝑖 ℎ𝑖
On intègre
𝑚𝑖−1 𝑚𝑖
𝑃′ 𝑖 (𝑥) = − (𝑥 − 𝑥𝑖 )2 + (𝑥 − 𝑥𝑖−1 )2 + 𝑐𝑖 1
2ℎ𝑖 2ℎ𝑖

On intègre
𝑚𝑖−1 𝑚𝑖
𝑃𝑖 (𝑥) = − (𝑥 − 𝑥𝑖 )3 + (𝑥 − 𝑥𝑖−1 )3 + 𝑐𝑖 (𝑥 − 𝑥𝑖 )+𝑑𝑖
6ℎ𝑖 6ℎ𝑖

3 3
𝑃𝑖 (𝑥) = 𝑎𝑖 (x - xi) +𝑏𝑖 (x -𝑥𝑖−1 ) + 𝑐𝑖 (𝑥 − 𝑥𝑖) + 𝑑𝑖

𝑚𝑖−1
𝑎𝑖 = − 6ℎ𝑖
 { 𝑚𝑖
𝑏𝑖 = 6ℎ𝑖

𝑚
 𝑃𝑖 (𝑥𝑖 ) = 6ℎ𝑖 (𝑥𝑖 − 𝑥𝑖−1 )3 + 𝑑𝑖
𝑖

𝑚𝑖 2 𝑚𝑖 2
 𝑓(𝑥𝑖 ) = 6
ℎ + 𝑑𝑖 alors 𝑑𝑖 = 𝑓(𝑥𝑖 ) − ℎ
6 𝑖
𝑚𝑖−1 𝑚𝑖 2
 𝑃𝑖 (𝑥𝑖−1 ) = − (𝑥𝑖−1 − 𝑥𝑖 )3 + 𝑐𝑖 (𝑥𝑖−1 − 𝑥𝑖 ) + 𝑓(𝑥𝑖 ) − ℎ
6ℎ𝑖 6 𝑖

𝑚𝑖−1 2 𝑚𝑖 2
 𝑓(𝑥𝑖−1 ) = 6
ℎ𝑖 − ℎ
6 𝑖
− 𝑐𝑖 ℎ𝑖 + 𝑓(𝑥𝑖 )

𝑓(𝑥𝑖 )−𝑓(𝑥𝑖−1 ) ℎ𝑖
 𝑐𝑖 = ℎ𝑖
− 6
(𝑚𝑖 − 𝑚𝑖−1 )
𝑚
 𝑃′𝑖 (𝑥𝑖 ) = 2ℎ𝑖 (𝑥𝑖 − 𝑥𝑖−1 ) + 𝑐𝑖 D’après 1
𝑖

𝑚𝑖
𝑃′𝑖 (𝑥𝑖 ) = ℎ + 𝑐𝑖
2 𝑖

𝑚𝑖 𝑚𝑖+1
 𝑃′ 𝑖+1 (𝑥) = − (𝑥 − 𝑥𝑖+1 )2 + (𝑥 − 𝑥𝑖 )2 + 𝑐𝑖+1
2ℎ𝑖+1 2ℎ𝑖+1

𝑚
 𝑃′ 𝑖+1 (𝑥) = − 2ℎ 𝑖 (𝑥 − 𝑥𝑖+1 )2 + 𝑐𝑖+1
𝑖+1

𝑚
 𝑃′ 𝑖+1 (𝑥) = − 2𝑖 ℎ𝑖+1 + 𝑐𝑖+1
𝑚𝑖 𝑚𝑖
 𝑃′ 𝑖 (𝑥𝑖 ) = 𝑃′ 𝑖+1 (𝑥𝑖 ) alors 2 𝑖
ℎ + 𝑐𝑖 = − ℎ
2 𝑖+1
+ 𝑐𝑖+1

𝑚𝑖 𝑓(𝑥𝑖 )−𝑓(𝑥𝑖−1 ) 𝑚𝑖 𝑚𝑖−1 𝑚𝑖 𝑓(𝑥𝑖+1 )−𝑓(𝑥𝑖 ) 𝑚 𝑚𝑖


 ℎ − − ℎ + ℎ𝑖 =− ℎ − − 𝑖+1 ℎ𝑖+1 + ℎ
2 𝑖 ℎ𝑖 6 𝑖 6 2 𝑖+1 ℎ𝑖+1 6 6 𝑖+1

𝑚𝑖 𝑚𝑖−1 𝑚 𝑚 𝑓(𝑥𝑖+1 )−𝑓(𝑥𝑖 ) 𝑓(𝑥 )−𝑓(𝑥 )


 3 𝑖
ℎ + 6
ℎ𝑖 + 3𝑖 ℎ𝑖+1 + 6𝑖+1 ℎ𝑖+1 = ℎ𝑖+1
− 𝑖 ℎ 𝑖−1
𝑖

𝑚𝑖 𝑚𝑖−1 𝑚 𝑓(𝑥𝑖+1 )−𝑓(𝑥𝑖 ) 𝑓(𝑥 )−𝑓(𝑥𝑖−1 )


 ℎ (ℎ +ℎ ) + ℎ𝑖 + 𝑖+1 ℎ𝑖+1 = − 𝑖
3 𝑖 𝑖+1 𝑖 6 6 ℎ𝑖+1 ℎ𝑖

𝑓(𝑥𝑖+1 )−𝑓(𝑥𝑖 ) 𝑓(𝑥 )−𝑓(𝑥 )


ℎ𝑖 𝑚𝑖−1 + 2 (ℎ𝑖+1+ℎ𝑖 ) 𝑚𝑖 +ℎ𝑖+1 𝑚𝑖+1 = 6 ( ℎ𝑖+1
− 𝑖 ℎ 𝑖−1 )
𝑖

𝑓(𝑥𝑖+1 )−𝑓(𝑥𝑖 ) 𝑓(𝑥 )−𝑓(𝑥𝑖−1 )


𝑃′ ′𝑖−1 (𝑥𝑖−1 )ℎ𝑖 + 𝑃′ ′𝑖 (𝑥𝑖 )[2(ℎ𝑖+1+ℎ𝑖 )]𝑃′ ′𝑖+1 (𝑥𝑖+1 )ℎ𝑖+1 = 6 ( − 𝑖 )
ℎ𝑖+1 ℎ𝑖

𝑃′ ′𝑖−1 (𝑥𝑖−1 ) ℎ𝑖+1 𝑃′ ′𝑖+1 (𝑥𝑖+1 ) 𝑓[𝑥𝑖; 𝑥𝑖+1 )] − 𝑓[𝑥𝑖−1; 𝑥𝑖 )]


ℎ𝑖 + 𝑃′ ′𝑖 (𝑥𝑖 ) + = 6(
2(ℎ𝑖+1 + ℎ𝑖 ) 2(ℎ𝑖+1 + ℎ𝑖 ) 2(ℎ𝑖+1 + ℎ𝑖 )

𝑃′ ′𝑖−1 (𝑥𝑖−1 ) ℎ𝑖+1 𝑃′ ′𝑖+1 (𝑥𝑖+1 )


ℎ𝑖 + 2𝑃′ ′𝑖 (𝑥𝑖 ) + = 6(𝑓[𝑥𝑖−1; 𝑥𝑖 ; 𝑥𝑖+1 ])
(ℎ𝑖+1 + ℎ𝑖 ) (ℎ𝑖+1 + ℎ𝑖 )

Exercice
Rechercher la fonction a spline cubique naturelle qui interpole les points : (1 ;1) (2 ;4) (4 ;9) et (5 ;11)

Pour support (A lire) la démonstration suivante


EXERCICE

On donne les points suivants (0 ; 0); (1;1); (2 ;8)

1) Rechercher la fonction spline cubique passant par ces 3points, il s’agit de la fonction
𝑷𝒏 (𝒙) de classe C2 de degré au plus 3 sur chacun des intervalles [0 ;1] [1 ;2] et qui vérifie
𝑃𝑛 (𝑥𝑖 ) = 𝑦𝑖
𝑃′′𝑛 (2) = 0
𝑃′′𝑛 (0) = 0

2) En interpolant 𝑥 = 0.5 dans le premier intervalle [0 ;1] seulement comparer 𝑃1 (0.5) à la


valeur 1⁄8 obtenue a partir de la fonction 𝑓(𝑥) = 𝑥 3 à 𝑥 = 0.5

En interpolant une fonction 𝑓(𝑥) = 𝑥 3 par des polynomes de degré 3 dans chaque intervalle, on
obtient quand même une erreur expliquez

 Méthodes des moindres carrés


Illustrons la méthode en utilisant tour à tour des polynômes de degré 1 et 2.
𝑛

∑(𝒂 + 𝒃𝒙𝒊 − 𝒚𝒊 )2
1

Considérons d’abord l’équation linéaire de la forme 𝑦 = 𝑎 + 𝑏𝑥 (𝐼) ou ‘’m ’’ couples de


données sont disponibles (x1 Y1)……….(xm ;ym), en considérant une variable linéaire, l’écart
de données calculé à partir de l’équation (I), est 𝒂 + 𝒃𝒙𝒊 − 𝒚𝒊

L’objectif de la méthode est la détermination de a et b de sorte que

∑𝑛1(𝒂 + 𝒃𝒙𝒊 − 𝒚𝒊 )2 soit minimale. Ce minimum est obtenu lorsque la dérivée partielle de (II)
par rapport à a et b est nulle.

Posons alors 𝑠 = ∑𝑛1(𝒂 + 𝒃𝒙𝒊 − 𝒚𝒊 )2 (II)


𝑚
𝜕𝑠
= ∑ 2( 𝑎 + 𝑏𝑥𝑖 − 𝑦𝑖 ) = 0
𝜕𝑎
𝑖=1

𝜕𝑠
=0
𝜕𝑎
𝑚 𝑚 𝑚
𝜕𝑠 2
𝐴𝑙𝑜𝑟𝑠 = ∑ 𝑥𝑖 + 𝑏 ∑ 𝑥𝑖 = ∑ 𝑥𝑖 𝑦𝑖
𝜕𝑏
𝑖=1 𝑖=1 𝑖=1

On obtient le système suivant :


𝑚 𝑚

𝑚𝑎 + 𝑏 ∑ 𝑥𝑖 = ∑ 𝑦𝑖
𝑖=1 𝑖=1
𝑚 𝑚 𝑚

𝑎 ∑ 𝑥𝑖 + 𝑏 ∑ 𝑥𝑖 2 = ∑ 𝑥𝑖 𝑦𝑖
{ 𝑖=1 𝑖=1 𝑖=1

𝑠𝑜𝑢𝑠 𝑓𝑜𝑟𝑚𝑒 𝑚𝑎𝑡𝑟𝑖𝑐𝑖𝑒𝑙𝑙𝑒


𝑚 𝑚

𝑚 ∑ 𝑥𝑖 ∑ 𝑦𝑖
𝑖=1 𝑎 𝑖=1
𝑚 𝑚 ( )= 𝑚
𝑏
∑ 𝑥𝑖 ∑ 𝑥𝑖 2 ∑ 𝑥𝑖 𝑦𝑖
( 𝑖=1 𝑖=1 ) ( 𝑖=1 )
𝑐𝑜𝑛𝑠𝑖𝑑é𝑟𝑜𝑛𝑠 𝑑′ 𝑎𝑏𝑜𝑟𝑑 𝑙 ′ é𝑞𝑢𝑎𝑡𝑖𝑜𝑛 𝑝𝑎𝑟𝑎𝑏𝑜𝑙𝑖𝑞𝑢𝑒 𝑦 = 𝑎 + 𝑏𝑥 + 𝑐𝑥 2 Ou m couples de points
sont disponibles. En supposant une variation 𝑠 = ∑𝑚 2 2
𝑖=1(𝑎 + 𝑏𝑥𝑖 + 𝑐𝑥𝑖 − 𝑦𝑖 ) soit minimale.
𝑚
𝜕𝑠
= ∑ 2( 𝑎 + 𝑏𝑥𝑖 + 𝑐𝑥𝑖 2 − 𝑦𝑖 ) = 0
𝜕𝑎
𝑖=1

𝜕𝑠
=0
𝜕𝑏
𝜕𝑠
=0
𝜕𝑐
On obtient le système suivant
𝑚 𝑚 𝑚
2
𝑚𝑎 + 𝑏 ∑ 𝑥𝑖 + 𝑐 ∑ 𝑥𝑖 = ∑ 𝑦𝑖
𝑖=1 𝑖=1 𝑖=1
𝑚 𝑚 𝑚 𝑚

𝑎 ∑ 𝑥𝑖 + 𝑏 ∑ 𝑥𝑖 2 + 𝑐 ∑ 𝑥𝑖 3 = ∑ 𝑥𝑖 𝑦𝑖
𝑖=1 𝑖=1 𝑖=1 𝑖=1
𝑚 𝑚 𝑚 𝑚

∑ 𝑥𝑖 2 + 𝑏 ∑ 𝑥𝑖 3 + 𝑐 ∑ 𝑥𝑖 4 = ∑ 𝑥𝑖 2 𝑦𝑖
{ 𝑖=1 𝑖=1 𝑖=1 𝑖=1

𝑠𝑜𝑢𝑠 𝑓𝑜𝑟𝑚𝑒 𝑚𝑎𝑡𝑟𝑖𝑐𝑖𝑒𝑙𝑙𝑒


𝑚 𝑚 𝑚
2
𝑚 ∑ 𝑥𝑖 ∑ 𝑥𝑖 ∑ 𝑦𝑖
𝑖=1 𝑖=1 𝑖=1
𝑚 𝑚 𝑚 𝑎 𝑚

∑ 𝑥𝑖 ∑ 𝑥𝑖 2 ∑ 𝑥𝑖 3 (𝑏 ) = ∑ 𝑥𝑖 𝑦𝑖
𝑖=1 𝑖=1 𝑖=1 𝑐 𝑖=1
𝑚 𝑚 𝑚 𝑚

∑ 𝑥𝑖 2 ∑ 𝑥𝑖 3 ∑ 𝑥𝑖 4 ∑ 𝑥𝑖 2 𝑦𝑖
( 𝑖=1 𝑖=1 𝑖=1 ) ( 𝑖=1 )
Cette méthode est applicable a n’importe quel type de fonction contenant des coefficients.

Exercice

On considère une fonction de variables x et y représentés par la donnée suivante

𝑧 = 𝑎𝑥 + 𝑏𝑙𝑛(𝑥𝑦) 𝑜𝑢 𝑎 𝑒𝑡 𝑏 𝑠𝑜𝑛𝑡 𝑑𝑒𝑠 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠


𝐷é𝑡𝑒𝑟𝑚𝑖𝑛𝑒𝑟 𝑎 𝑒𝑡 𝑏 𝑎𝑢 𝑠𝑒𝑛𝑠 𝑑𝑒 𝑚𝑜𝑖𝑛𝑑𝑟𝑒𝑠 𝑐𝑎𝑟𝑟é𝑠
𝑑𝑜𝑛é𝑒𝑠 ∶

X 1 2 2

Y 2 1 2

z 2 5 4

Résolution

𝑧(𝑥; 𝑦) = 3𝑥 − 1.4427ln(𝑥𝑦)

Exercice

On considère les données suivantes :

Xi 1 4 9 16 25 36 49 64 81 100
yi 1 5 8 17 24 35 50 65 80 105

1) Chercher une approximation de ces données sous la forme f(x)=c0 + c1x au sens des
moindres carrés
2) Représenter le nuage de points et f sous matlab dans le même repère.
NB : Faire les calculs en utilisant matlab

Exercice
On considère les données suivantes
xi -2 -1 0 1 2
Yi -2 1 1 1 2

1) Chercher une approximation de ces données sous la forme f(x)=c0 + c1x+C2x2 au sens des
moindres carrés
2) Représenter le nuage de points et f sous matlab dans le même repère.
NB : Faire les calculs en utilisant matlab

Exercice

On considère les données suivantes :

Xi 0.24 0 .65 0.95 1.24 1.73 2.1 2.23 2.52 2.77 2.99
yi 0 .23 -0.26 -1.1 -0.45 0.27 0.1 -0.29 0.24 0.56 1

On cherche une approximation de ces données par une fonction de la forme

F(x) = a lnx + bcos x + cex au sens des moindres carrés

1) En suivant la même procédure que dans le cas d’une approximation polynomiale, construire
le système correspondant à cette approximation
2) Donner la forme matricielle du système et la résoudre en utilisant matlab
3) Faire une représentation du nuage de points et de la fonction f dans un même repère sous
matlab.

Chapitre 3 : Approximation par les systèmes orthogonaux


1.Produit scalaire de deux fonctions
f et g sont deux fonctions continues sur un intervalle [a ; b]. On définit une
fonction w comme le poids. On appelle produit scalaire de f et g :
𝑎
<f, g>=∫𝑏 𝑤(𝑥 )𝑓(𝑥 )𝑔(𝑥 )𝑑𝑥 satisfaisant les propriétés suivantes :
_<f, g>=f, αg≥α<f ,g> 𝛼𝜖𝑅
_<f+ g, h>=<f, g≥+<f, h>
_<f, g+h≥<f, g≥+<f, h>
_<f, g>=<g, f>
_<f, g> ≥ 0 ∀ f continue sur [a, b]
_<f, f>=0↔ f=0
On dit que f et g sont orthogonaux sur [a ; b] si et seulement si <f, g>=0
On a :
𝑎
∫ 𝑤(𝑥 )𝑓(𝑥 )𝑔(𝑥 )𝑑𝑥 = 0
𝑏

Avec w(x) une fonction de pondération.


Soit une série de fonction définie sur [a, b].On dit que 𝐶1 =
{𝜑0 (𝑥 ), 𝜑1 (𝑥 ), … … … , 𝜑𝑛 (𝑥)} est un système orthogonal si et seulement
si :
𝑏
∀(𝜑𝑚 (𝑥 ), 𝜑𝑛 (𝑥 )) ∈ 𝐶12 ; 𝐼 = ∫ 𝑤(𝑥)𝜑𝑚 (𝑥)𝜑𝑛 (𝑥)𝑑𝑥
𝑎

0 𝑠𝑖 𝑚 ≠ 𝑛
𝐼={
𝜇𝑛 𝑠𝑖 𝑚 = 𝑛 𝑎𝑣𝑒𝑐 𝜇𝑛 ≠ 0
Si 𝜇𝑛 =1, le système est orthonormé

2.Application de l’orthogonalité
Etant donné un système orthogonal <𝜑𝑖 (𝑥)> pour i=0 ,1,… …,n,
l’avantage l’orthogonalité des fonctions 𝜑𝑖 (𝑥) en approximation est
d’écrire la fonction f(x) qu’on veut approximer sous la forme suivante :
𝑓(𝑥 ) = 𝛼0 𝜑0 (𝑥 ) + 𝛼1 𝜑1 (𝑥) + ⋯ + 𝛼𝑛 𝜑𝑛 (𝑥) 𝑓(𝑥) est écrit comme une
combinaison orthogonale de fonction orthogonale 𝜑𝑖 (𝑥)
Les coefficients 𝛼𝑖 sont obtenues comme suit :
𝑎
∫𝑏 𝑤(𝑥 )𝜑𝑚 (𝑥)𝜑𝑛 (𝑥 )𝑑𝑥 =
𝑎
𝛼0 ∫ 𝑤0 (𝑥 )𝜑0 (𝑥)𝜑𝑛 (𝑥)𝑑𝑥
𝑏
𝑎 𝑎
+ 𝛼1 ∫ 𝑤1 (𝑥 )𝜑1 (𝑥 )𝜑𝑛 (𝑥)𝑑𝑥+. . . +𝛼𝑛 ∫ 𝑤𝑛 (𝑥 )𝜑𝑛 (𝑥)𝜑𝑛 (𝑥)𝑑𝑥
𝑏 𝑏
𝑎
Posons µ𝑛 = ∫𝑏 𝑤𝑛 (𝑥 )𝜑𝑛 (𝑥)𝜑𝑛 (𝑥 )𝑑𝑥
𝑎
∫𝑏 𝑤(𝑥 )𝜑𝑚 (𝑥)𝜑𝑛 (𝑥 )𝑑𝑥 = 𝛼𝑛 µ𝑛
1 𝑎
𝜇𝑛 =
𝛼𝑛
∫𝑏 𝑤(𝑥 )𝜑𝑚 (𝑥)𝜑𝑛 (𝑥)𝑑𝑥

Considérons un système de polynôme orthogonal {𝑃0 (𝑥) … … 𝑃𝑛 (𝑥)}.


Selon la d »finition de l’orthogonalité, deux polynômes 𝑃𝑛 (𝑥) et 𝑃𝑚 (𝑥)
sont orthogonaux si :
< 𝑃𝑛 (𝑥), 𝑃𝑚 (𝑥) ≥ 0
Les polynômes les plus connus sont :
Polynômes de :
_Legendre
_Laguerre
_Tchebychev
_Hermite

3.Polynome de Legendre
La formule de récurrence est :
2𝑛+1 𝑛
𝑃𝑛+1 = 𝑥𝑃𝑛 (𝑥) − 𝑃 (𝑥)
𝑛+1 𝑛+1 𝑛−1

𝑃0 (𝑥) = 1 ; 𝑃𝑛 (𝑥) = 𝑥
Orthogonalité des polynômes de Legendre
Les polynômes de Legendre 𝑃𝑛 (𝑥 ) et 𝑃𝑚 (𝑥) sont dit orthogonaux si [-1 ; 1]
si :
−1 0 𝑠𝑖 𝑚 ≠ 𝑛
∫ 𝑃𝑛 (𝑥)𝑃𝑚 (𝑥 )𝑑𝑥 = { 2
1
𝑠𝑖 𝑛 = 𝑚
2𝑛 + 1
_]0 ; +∞[ ; 𝑤(𝑥 ) = 𝑒 𝑥 pour le polynôme de Laguerre
_]-∞ ; +∞[ ; 𝑤(𝑥 ) = 𝑒 −𝑥 pour le polynôme d’Hermite

4.Application en approximation
Soit f une fonction définie et continue sur [-1 ; 1] qu’on désire approximer
par le polynôme de Legendre. On a :
𝑓(𝑥 ) = 𝛼0 𝑃0 (𝑥) + 𝛼1 𝑃1 (𝑥) + ⋯ + 𝛼𝑛 𝑃𝑛 (𝑥)
1 𝑏 2
𝛼𝑛 =
𝜇𝑛
∫𝑎 𝑤(𝑥 )𝑓(𝑥 )𝜑𝑛 (𝑥)𝑑𝑥; 𝜇𝑛 = 2𝑛+1

w(x)=1
Conclusion
Nous constatons qu’au fur et à mesure que l’ordre augmente, les courbes se
rapprochent l’une de l’autre.

5.Polynome de Tchebychev
Les polynômes de Tchebychev sont définis comme suit :
𝑇𝑛 (𝑥 ) = cos(𝑛 𝑎𝑟𝑐𝑜𝑠(𝑥 )) , [−1; 1]𝑒𝑡 𝑛 ≥ 0
1
𝑤 (𝑥 ) = (poids pour les polynômes de 1ère espèce)
√1−𝑥 2

𝜋 𝑠𝑖 𝑚 = 𝑛 = 0
1 1 𝜋
∫−1 √ 2 𝑇𝑛 (𝑥 )𝑇𝑚 (𝑥)𝑑𝑥 = { 2 𝑠𝑖 𝑚 = 𝑛 ≠ 0
1−𝑥
0 𝑠𝑖 𝑚 = 𝑛
𝑇𝑛+1 (𝑥 ) = 2𝑥𝑇𝑛 (𝑥 ) − 𝑇𝑛−1 (𝑥)
𝑇0 (𝑥 ) = 1; 𝑇1 (𝑥 ) = 𝑥
Les polynômes de seconde espèces aussi sont orthogonaux et leurs poids
𝑤(𝑥 ) = √1 − 𝑥 2 on a :
1 0 𝑠𝑖 𝑚 ≠ 𝑛
∫−1 √1 − 𝑥 2 𝑇𝑛 (𝑥 )𝑇𝑚 (𝑥)𝑑𝑥 ={𝜋 𝑠𝑖 𝑚 = 𝑛
2

𝑇0 (𝑥 ) = 1; 𝑇1 (𝑥 ) = 2𝑥
Approximation en fonction
Soit f une fonction définie et continue sur [-1 ; 1] qu’on désire approximer
par le polynôme de Tchebychev. On a :
𝑓(𝑥 ) = 𝛼0 + 𝛼1 𝑇1 (𝑥 ) + ⋯ + 𝛼𝑛 𝑇𝑛 (𝑥)
D’une manière analogue au précédente, les 𝛼𝑖 se déterminent comme suit :
1
1 1
𝛼0 = ∫ 𝑓(𝑥 )𝑑𝑥
√1 − 𝑥 2𝜋
−1

2 1 1
𝛼𝑚 = ∫ 𝑓 (𝑥 )𝑇𝑚 (𝑥)𝑑𝑥
𝜋 −1 √1 − 𝑥 2
Exercice

𝑦 = √(𝑥 + 2)(1 − 𝑥 2 ) ; on désire approximer y par les polynômes de


première et de seconde espèce d’ordre 1.
6.Approximation trigonométrique
La série de fonction {1, 𝑐𝑜𝑠𝑥, 𝑠𝑖𝑛𝑥, cos(𝑛𝑥 ) , sin(𝑛𝑥)}
w(x)=1 ; [-1 ; 1]
𝜋 0 𝑠𝑖 𝑛 ≠ 𝑚
∫−𝜋 cos(𝑛𝑥 ) cos(𝑚𝑥 ) 𝑑𝑥 = {
𝜋 𝑠𝑖 𝑛 = 𝑚
0 𝑠𝑖 𝑛 ≠ 𝑚
𝜋
∫−𝜋 cos(𝑛𝑥 ) cos(𝑚𝑥 ) 𝑑𝑥 = {2𝜋 𝑠𝑖 𝑛 = 𝑚
𝜋 𝑠𝑖 𝑛 = 𝑚 ≠ 0
𝜋 0 𝑠𝑖 𝑛 ≠ 𝑚
∫−𝜋 sin(𝑛𝑥 ) sin(𝑚𝑥 ) 𝑑𝑥 = {
𝜋 𝑠𝑖 𝑛 = 𝑚
𝜋
∫−𝜋 cos(𝑛𝑥 ) sin(𝑚𝑥 ) 𝑑𝑥 = 0 𝑠𝑖 𝑛 ≠ 0
Soit une fonction sur [-π ; π], approximer f en une fonction
trigonométrique revient à déterminer les coefficients 𝛼𝑘 ou k=1,2,3,… …
…,n tel que :
𝑓(𝑥 ) = 𝛼0 + 𝛼1 cos(𝑥 ) + 𝑏1 sin(𝑥 ) + 𝛼2 cos(2𝑥 ) + 𝑏2 sin(2𝑥 ) + ⋯ +
𝛼𝑛 cos(𝑛𝑥 ) + 𝑏𝑛 sin(𝑥 )
1 𝜋
𝛼0 = ∫ 𝑓(𝑥 )𝑑𝑥
2𝜋 −𝜋
1 𝜋
𝛼0 = ∫−𝜋 𝑓 (𝑥 )cos(𝑘𝑥)𝑑𝑥
𝜋
1 𝜋
𝛼0 = ∫−𝜋 𝑓 (𝑥 )sin(𝑘𝑥)𝑑𝑥
𝜋

Autre formulation des polynômes orthogonaux


Exercice
Ecrire le polynôme trigonométrique de premier ordre approximant y=|x|
2
𝛼0 = ((−1)𝑘 − 1)
𝑘𝜋
𝜋 4
Pour k=2p on a 𝑓(𝑥 ) = − 𝑐𝑜𝑠𝑥
2 𝜋

𝛼2𝑝 = 0
Voir TD sur polynômes orthogonaux
Chapitre 4 : Résolution des systèmes linéaires 𝐴𝑋 = 𝐵
On note 𝑀𝑛 (𝑅), l’espace vectorielle des matrices carrées d’ordre n,
et a coefficients réel. Soit 𝐴 ∊𝑀𝑛 (𝑅), 𝑒𝑡 𝐵 ∊ 𝑅𝑛 , on cherche le vecteur
𝑋∊𝑅𝑛 , 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝑑𝑢 𝑠𝑦𝑠𝑡è𝑚𝑒 𝑙𝑖𝑛é𝑎𝑖𝑟𝑒 𝐴𝑋 = 𝐵. Ce système admet une
solution unique lorsque le déterminant de A est non nul, ce que nous
supposerons dans la suite. Nous rappellerons dans la suite, les principales
méthodes beaucoup plus rapides :
- Quelques méthodes directes : Gauss et sa forme factorisée (𝐿𝑈),
- Quelques méthodes itératives : Jacobi, Gauss Seidel etc…
Les méthodes directes calculent une solution théorique exacte, en un
nombre fini d’opération mais avec une accumulation d’erreur arrondis qui
d’autant plus grande que la dimension l’est.
Par conséquent pour les matrices de dimension importante, il est préférable
d’utilisé des méthodes itératives basée sur la construction d’une suite
convergente vers la solution du système. Dans ce cas, le contrôle de la
convergence par la suite par une condition d’arrêt renvoi une solution plus
précise.
1. Méthode d’élimination de Gauss
La méthode de gauss engendre un algorithme fini exact dont l’idée est de
transformer le système initial en un système triangulaire (inférieur ou
supérieur)
1.1 Résolution d’un système triangulaire

On donne ici l’algorithme de résolution d’un système triangulaire


inférieur. Il se fait en remontant les équations de la dernière ligne à la
première. Soit dans le système 𝐴𝑋 = 𝐵 ou 𝐴 = (𝑎𝑖𝑗)𝑖, 𝑗=1, 𝑛 est
triangulaire inférieur et inversible.
Dans ce cas, ∀𝑖 = 1, ... . . , 𝑛, 𝑎𝑖𝑖 ≠ 0 puisque 𝐷𝑒𝑡 (𝐴) = ∏𝑛𝑖=1 𝑎𝑖𝑖 ≠ 0.
L’algorithme de réduction
𝑏 1
est 𝑥𝑛 = 𝑛 et 𝑥𝑖 = [𝑏𝑖 − ∑𝑛𝑗=𝑖+1 𝑎𝑖𝑖 𝑥𝑗 ] 𝑝𝑜𝑢𝑟 𝑖 = 𝑛 − 1,…,1
𝑎𝑛𝑛 𝑎𝑖𝑖

1.2 Méthode de Gauss


Pour la clarté des explications, on applique la méthode de Gauss dans le
cas ou n=3. On suppose que 𝑎𝑖𝑖 ≠ 0
(1)
𝑎11 𝑥1 + 𝑎12 𝑥2 + 𝑎13 𝑥3 = 𝑏1 ∶ 𝐿1
(1)
{ 𝑎21 𝑥1 + 𝑎22 𝑥2 + 𝑎23 𝑥3 = 𝑏2 ∶ 𝐿2
(1)
𝑎31 𝑥1 + 𝑎32 𝑥2 + 𝑎33 𝑥3 = 𝑏3 ∶ 𝐿3

1.2 Description de la méthode par l’exemple


Soit à résoudre le système suivant par la méthode d’élimination de
Gauss

2 1 2 𝑥1 10
6 4 0 [𝑥2 ] = [26]
8 5 1 𝑥3 35

La matrice augmentée du système vaut :


2 1 2 10
[6 4 0 26]
8 5 1 35
6
𝑇1 : (𝑙⃗⃗⃗2 ← ⃗⃗𝑙⃗2 -( )𝑙⃗⃗1
2
8
𝑇2 : (𝑙⃗⃗⃗3 ← ⃗⃗𝑙⃗3 -( )𝑙⃗⃗1
2
Il faut creuser la matrice A pour la rendre triangulaire supérieure en
faisant les transformations suivantes:
6
Ligne 1 : 𝑇1 : (𝑙⃗⃗⃗2 ← ⃗⃗𝑙⃗2 -( )𝑙⃗⃗1
2
8
𝑇2 : (𝑙⃗⃗⃗3 ← ⃗⃗𝑙⃗3 -( )𝑙⃗⃗1
2

On a indiqué ci-dessous la matrice augmentée de même que les opérations


élémentaires pour éliminer les termes non nuls sous la diagonale de la 1ère
colonne. Il est à noter que l’on divise par 2 (𝑎11 ) le coefficient qui
multiplie laligne1 : on dit que 2 est le pivot. On obtient en effectuant les
opérations indiquées, les résultats suivants :
2 1 2 10
[0 1 −6 −4]
0 1 −7 −5
1
𝑇3 : (𝑙⃗⃗⃗3 ← ⃗⃗𝑙⃗3 - 𝑙⃗⃗⃗2
1
Pour produire une matrice triangulaire supérieure, il suffit d’introduire
maintenant des zéros sous la diagonale de la dernière colonne. L’opération
est indiquée ci-dessous et le pivot est 1 puisque 𝑎22 = 1. On obtient donc
ce qui suit :
2 1 2 10
[0 1 −6 −4]
0 0 −1 −1

Il reste ensuite à faire la remontée triangulaire de l’algorithme :


−1
−𝑥3 = −1 ⇒ 𝑥3 = =1
−1
−4 − (−6)(1)
𝑥2 − 6𝑥3 = −4 ⇒ 𝑥2 = =2
1
10 − (1)(2) − 2(1)
2𝑥1 + 𝑥2 +2𝑥3 = 10 ⇒ 𝑥1 = =3
2
On a construit la matrice triangulaire (12) en effectuant les opérations
élémentaires directement sur les lignes de la matrice. Si la matrice
triangulaire obtenue est notée 𝑈 , les opérations effectuées pour obtenir
𝑈 sont équivalent à multiplier le système de départ par une suite de
matrice inversibles. En fait, on a :
𝑈 = 𝑇3 𝑇2 𝑇1 𝐴
Où les matrices 𝑇𝑖 équivalent aux différents opérations effectuées sur les
lignes de la matrice. Plus explicitement, on a :

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 ]
0 0 −1 0 −1 1 −4 0 1 0 0 1 8 5 1

Si on poursuit le raisonnement, on a également 𝐴 = 𝑇1−1 𝑇2−1 𝑇3−1 𝑈.


Puisque l’on sait inverser les matrices 𝑇𝑖 on a immédiatement ce qui
suit :
2 1 2 1 0 0 1 0 0 1 0 0 2 1 2
[6 4 0 ] = [3 1 0 ] [0 1 0 ] [0 1 0 ] [0 1 −6 ]
8 5 1 0 0 1 4 0 1 0 1 1 0 0 −1

2 1 2
D’où 𝐴 = 𝐿𝑈 avec 𝐴 = [6 4 0 ];
8 5 1
1 0 0 1 0 0 1 0 0 2 1 2
𝐿 = [3 1 0 ] [0 1 0 ] [0 1 0 ] et 𝑈 = [0 1 −6 ]
0 0 1 4 0 1 0 1 1 0 0 −1

1.3 Factorisation LU
Supposons un instant que nous ayons réussi à exprimer la matrice 𝐴 en
un produit de deux matrices triangulaires 𝐿 𝑒𝑡 𝑈. Comment cela nous
permet-il de résoudre le système 𝐴𝑥 = 𝑏⃗ ? Il suffit de remarquer que :
𝐴𝑥 = 𝐿𝑈𝑥 = 𝑏⃗
Et de poser 𝑈𝑥 = 𝑦. La résolution du système linéaire se fait alors en deux
étapes :
𝐿𝑦 = 𝑏⃗ et 𝑈𝑥 = 𝑦 qui sont deux systèmes triangulaires. On utilise
d’abord une descente triangulaire sur la matrice 𝐿 pour obtenir 𝑦 et par la
suite, une remontée triangulaire sur la matrice 𝑈 pour obtenir la solution
recherchée 𝑥 .
Il faut tout de suite souligner que la décomposition 𝐿𝑈 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 matrice.
Exemple :
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 1 −0.5 ]
6 −3 1 6 0 4 0 0 1

2 −1 −1 1 0 0 2 −1 −1
Et : [0 −4 2 ] = [0 1 0 ] [0 −4 2 ]
6 −3 1 3 0 1 0 0 4
Remarque :
La décomposition 𝐿𝑈 n’étant pas unique, il faut faire au préalable
des choix arbitraires. Le choix le plus populaire consiste à imposer que la
matrice 𝑈 ait des 1 sur sa diagonale. C’est la décomposition de Croûte.
Certains logiciels comme Matlab préfèrent mettre des 1 sur la diagonale
de 𝐿. Il en résulte bien sûr une décomposition 𝐿𝑈 différente de celle de
Croûte, mais le principe de base reste le même.

Décomposition de Croûte
Pour obtenir cette décomposition (ou factorisation), nous considérons
une matrice de dimension 4 sur 4, e cas général étant similaire. On dit donc
déterminer les coefficients 𝑙𝑖𝑗 et 𝑢𝑖𝑗 des matrices 𝐿 et 𝑈 de telle sorte que
𝐴 = 𝐿𝑈. En imposant que la diagonale de 𝑈 soit composée de 1, on doit
avoir :
𝑎11 𝑎12 𝑎13 𝑎14 𝑙11 0 0 0 1 𝑢12 𝑢13 𝑢14
𝑎21 𝑎22 𝑎23 𝑎24 𝑙21 𝑙22 0 0 0 1 𝑢23 𝑢24
[𝑎 ] = [ ] [ ]
31 𝑎32 𝑎33 𝑎34 𝑙31 𝑙32 𝑙33 0 0 0 1 𝑢34
𝑎41 𝑎42 𝑎43 𝑎44 𝑙41 𝑙42 𝑙43 𝑙44 0 0 0 1
Il suffit de procéder de façon systématique par identification des
coefficients. On remarque d’bord qu’il y a exactement 16 (𝑛²dans le cas
général) inconnues à déterminer. On peut faire le produit des matrices 𝐿 et
𝑈 et se servir des différents coefficients 𝑎𝑖𝑗 . On obtient ainsi les 16 (𝑛²)
équations nécessaires pour déterminer les coefficients 𝑙𝑖𝑗 et 𝑢𝑖𝑗 .
1. Produit des lignes de 𝐿 par la première colonne de 𝑈
On obtient immédiatement que :
𝑙11 = 𝑎11 ; 𝑙21 = 𝑎21 ; 𝑙31 = 𝑎31 ; 𝑙41 = 𝑎41
Et la première colonne de 𝐿 est tout simplement la première colonne
de 𝐴.
2. Produit de la première ligne de 𝐿 par les colonnes de 𝑈. On obtient
respectivement :
𝑙11 𝑢12 = 𝑎12 ; 𝑙11 𝑢13 = 𝑎13 ; 𝑙11 𝑢14 = 𝑎14
D’où l’on tire que :
𝑎12 𝑎13 𝑎14
𝑢12 = ; 𝑢13 = ; 𝑢14 =
𝑙11 𝑙11 𝑙11
On a donc la première ligne de 𝑈, si 𝑙11 ≠ 0.
3. Produit des lignes de 𝐿 par la deuxième colonne de 𝑈.
Les différents produits donnent :
𝑙21 𝑢12 + 𝑙22 = 𝑎22
𝑙31 𝑢12 + 𝑙32 = 𝑎32
𝑙41 𝑢12 + 𝑙42 = 𝑎42
Ou encore :
𝑙22 = 𝑎22 − 𝑙21 𝑢12
𝑙32 = 𝑎32 − 𝑙31 𝑢12
𝑙42 = 𝑎42 − 𝑙41 𝑢12
Et la deuxième colonne de 𝐿 est connue.
4. Produit de la deuxième ligne de 𝐿 par les colonnes de 𝑈. On trouve
immédiatement que :
𝑙21 𝑢13 + 𝑙22 𝑢23 = 𝑎23
𝑙21 𝑢14 + 𝑙22 𝑢24 = 𝑎24
Ce qui donne :
𝑎23 − 𝑙21 𝑢13
𝑢23 =
𝑙22
𝑎24 − 𝑙21 𝑢14
𝑢24 =
𝑙22
5. Produit des lignes de 𝐿 par la troisième colonne de 𝑈. La même suite
d’opérations donne :
𝑙31 𝑢13 + 𝑙32 𝑢23 + 𝑙33 = 𝑎33
𝑙41 𝑢13 + 𝑙42 𝑢23 + 𝑙43 = 𝑎43
Ce qui permet d’obtenir la troisième colonne de 𝐿:
𝑙33 = 𝑎33 − 𝑙31 𝑢13 − 𝑙32 𝑢23
𝑙43 = 𝑎43 − 𝑙41 𝑢13 − 𝑙42 𝑢23
6. Produit de la troisième ligne de 𝐿 par la quatrième colonne de 𝑈. On
voit que :
𝑙31 𝑢14 + 𝑙32 𝑢24 + 𝑙33 𝑢34 = 𝑎34 .
Ce qui permet d’obtenir :
𝑎34 − 𝑙31 𝑢14 − 𝑙32 𝑢24
𝑢34 =
𝑙33
7. Produit de la quatrième ligne de 𝐿 par la quatrième colonne de 𝑈.
On obtient :
𝑙41 𝑢14 + 𝑙42 𝑢24 + 𝑙43 𝑢34 + 𝑙44 = 𝑎44 .
Le dernier coefficient recherchée est donc :
𝑙44 = 𝑎44 − 𝑙41 𝑢14 − 𝑙42 𝑢24 − 𝑙43 𝑢34
De façon générale, on a l’algorithme suivant :
Algorithme de décomposition de Croûte
1. Décomposition 𝐿𝑈 (sans permutation de lignes)
- Première colonne de 𝐿 : 𝑙𝑖1 = 𝑎𝑖1 pour 𝑖 = 1,2, … , 𝑛
𝑎
- Première ligne de 𝑈 : 𝑢1𝑖 = 1𝑖 pour 𝑖 = 2,3, … , 𝑛
𝑙11
- Pour 𝑖 = 2,3, … , 𝑛 − 1:
 Calcul du pivot :
𝑖−1

𝑙𝑖𝑖 = 𝑎𝑖𝑖 − ∑ 𝑙𝑖𝑘 𝑢𝑘𝑖


𝑘=1
 Pour 𝑗 = 𝑖 + 1, 𝑖 + 2, … , 𝑛
o Calcul de la 𝑖 𝑒 colonne de 𝐿 :
𝑖−1

𝑙𝑗𝑖 = 𝑎𝑗𝑖 − ∑ 𝑙𝑗𝑘 𝑢𝑘𝑖


𝑘=1
𝑒
o Calcul de la 𝑖 colonne de 𝑈 :
𝑎𝑖𝑗 − ∑𝑖−1
𝑘=1 𝑙𝑖𝑘 𝑢𝑘𝑗
𝑢𝑖𝑗 =
𝑙𝑖𝑖
o Calcul de 𝑙𝑛𝑛 :
𝑛−1

𝑙𝑛𝑛 = 𝑎𝑛𝑛 − ∑ 𝑙𝑛𝑘 𝑢𝑘𝑛


𝑘=1
2. Descente et remontée triangulaire
- Descente triangulaire pour résoudre 𝐿𝑦 = 𝑏⃗ ∶
𝑏1
o 𝑦1 =
𝑙11
o Pour 𝑖 = 2,3, … , 𝑛:

𝑏𝑖 − ∑𝑖−1
𝑘=1 𝑙𝑖𝑘 𝑦𝑘
𝑦𝑖 =
𝑙𝑖𝑖

- Remontée triangulaire pour résoudre 𝑈𝑥 = 𝑦 ( 𝑢𝑖𝑖 = 1) :


o 𝑥𝑛 = 𝑦𝑛
o Pour 𝑖 = 𝑛 − 1, 𝑛 − 2, … ,2,1 :
𝑛

𝑥𝑖 = 𝑦𝑖 − ∑ 𝑢𝑖𝑘 𝑥𝑘
𝑘=𝑖+1

Remarques
L’algorithme précèdent ne fonctionne que si les pivots lii 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.
Une fois utilises, 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
La notation compacte de la décomposition LU est la matrice de
coefficients :
𝑙11 𝑢12 𝑢13 𝑢14
𝑙 𝑙 𝑢23 𝑢24
[ 21 22 ]
𝑙31 𝑙32 𝑙33 𝑢34
𝑙41 𝑙42 𝑙43 𝑙44
Dans le cas d’une matrice de dimension 4 sur 4. La matrice initiale A est
tout simplement détrite. 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-I
Et a détruit la matrice A.
Exercice
Décomposer en un produit L.U le système d’équation linéaire suivant :
𝟑 −𝟏 𝟐 𝒙𝟏 𝟏𝟐
[𝟏 𝟐 𝟑 ] [𝒙𝟐 ] = [𝟏𝟏]
𝟐 −𝟐 −𝟏 𝒙𝟑 𝟐
Décomposition et Permutation de ligne

Comme nous l’avons déjà remarqué, l’algorithme de décomposition LU


exige que les pivots lii soient non nuls. Dans le cas contraire, il faut essayer
de permuter deux lignes. Contrairement à la méthode d’élimination de
Gauss, la décomposition de LU n’utilise le terme de droite 𝑏⃗ qu’a la toute
fin, au moment de la descente triangulaire𝑙𝑦 = 𝑏⃗. Si l’on permute des lignes,
on doit en garder la trace de façon à effectuer les mêmes permutations sur𝑏⃗.
A cette fin, on introduit un vecteur 𝑂⃗ dit de permutation qui contient tout
simplement la numération des équations

Remarque
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.
Illustration
Soit :
0 2 1 1

[1 0 0], 𝑂 = [2]
3 0 1 3
⃗ indique que la numérotation des équations n’a pas
Au départ, le vecteur 𝑂
encore été modifiée.
1. Première colonne de L
Puisqu’il s’agit de la première colonne de A, on a :
(0) 2 1 1
[(1) ⃗
0 0], 𝑂 = [2]
(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( ⃗⃗𝑙1 ↔ 𝑙⃗⃗⃗3 ). 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 permutation est alors modifié :
(3) 0 1 3
[(1) ⃗
0 0], 𝑂 = [2]
(0) 2 1 1
2. Première ligne de U
II suffit de diviser cette ligne par le nouveau pivot 3 :
1
(3) (0) ( ) 3
3
[(1) ⃗
0 0 ], 𝑂 = [2]
(0) 2 1 1

3. Deuxième colonne de L
De la relation 3.15, on tire :
𝑙22 = 𝑎22 − 𝑙21 𝑢12 = 0 − (1)(0) = 0
𝑙32 = 𝑎32 − 𝑙31 𝑢12 = 2 − (0)(0) = 2
On a maintenant :

1
(3) (0) ( ) 3
3
[(1) ⃗
(0) 0 ], 𝑂 = [2]
(0) (2) 1 1

Et encore un pivot nul, qui oblige à intervertir les lignes 2 et 3 et à modifier


⃗ en conséquence ( ⃗⃗𝑙⃗2 ↔ ⃗⃗𝑙⃗3 ) :
𝑂
1
(3) (0) ( ) 3
3
[(0) ⃗
(2) 1 ], 𝑂 = [1]
(1) (0) 0 2

4. Calcule de 𝒖𝟐𝟑
La relation 3.16 mène à :
1
𝑎23 − 𝑙21 𝑢13 1 − (0) (3) 1
𝑢23 = = =
𝑙22 2 2
Et la matrice compacte devient :
1
(3) (0) ( )
3 3

( ) , 𝑂 = [1]
1
(0) (2)
2
2
[(1) (0) 0 ]
5. Calcul de 𝒍𝟑𝟑
On calcule enfin
1 1 1
𝑙33 = 𝑎33 − 𝑙31 𝑢13 − 𝑙32 𝑢23 = 0 − (1) ( ) − (0) ( ) = −
3 2 3
La décomposition LU de la matrice A est donc :
1
(3) (0) ( )
3 3
1
(0) (2) ⃗
( ) , 𝑂 = [1]
2
1 2
[(1) (0) (− )]
3

Il faut toutefois remarquer que le produit LU donne


1
3 0 0 1 0
3 3 0 1
0 2 0
[ 1] 0 1 1 = [0 2 1]
1 0 − 2 1 0 0
3 [
0 0 1]

C’est-à-dire la matrice A permutée du vecteur ⃗𝑶


⃗ . On veut maintenant
résoudre :
5
𝐴𝑥 = [−1]
−2
⃗ , on résout d’abord
Compte tenu du vecteur 𝑂
−2
𝐿𝑦 = [ 5 ]
−1
A noter l’ordre des valeurs dans le membre de droite. La descente
2 5 𝑇
triangulaire (Laissée en exercice) donne 𝑦 = [− 3 1] . Il suffit
2
maintenant d’effectuer la remontée triangulaire :
2

3
𝑈𝑥 = 5
2
[ 1 ]
Qui nous donne la solution finale ⃗ = [−𝟏
𝒙 𝟐 𝟏]𝑻

Remarque
Le déterminant de la matrice A de l’exemple précédent est donné par :
1
𝑑é𝑡 𝐴 = (−1)(−1) [(3)(2) (− )] = −2
3
Comme on a permuté deux lignes deux fois, le déterminant a changé de signe
deux fois.
Cela nous amène au théorème suivant.
Théorème
On peut calculer le déterminant d’une matrice A à l’aide de la méthode de
décomposition LU de Crout de la façon suivante :
𝑛

𝑑é𝑡 𝐴 = (−1)𝑁 ∏ 𝑙𝑖𝑖


𝑖=1

Où N est le nombre de fois où on a interverti deux lignes.

2. Méthodes itératives
2.1-Définition et propriétés
Soit A ∈ ℳ𝑛 (ℝ)une matrice inversible et b ∈ ℝ𝑛 , on cherche toujours ici à
résoudre le système linéaire (1.1). C’est–à–dire à trouver x ∈ ℝ𝑛 tel que Ax
= b, mais de façon itérative, c.à.d. par la construction d’une suite.
Définition 1.46 (Méthode itérative). On appelle méthode itérative de
résolution du système linéaire (1.1) une méthode qui construit une suite
(𝑥 𝑘 )𝑘𝜖ℕ(où l’itéré 𝑥 𝑘 est calculé à partir des itérés 𝑥 (0) . . . 𝑥 (𝑘−1) censée
converger vers x solution de (1.1)).

Bien sûr, on souhaite que cette suite converge vers la solution x du système.

Définition 1.47 (Méthode itérative convergente). On dit qu’une méthode


itérative est convergente si pour tout choix initial 𝑥 (0)∈ℝ𝑛 , on a :
𝑥 (𝑘) →𝑥 quand k → +∞

Enfin, on veut que cette suite soit simple à calculer. Une idée naturelle est
de travailler avec une matrice P inversible qui soit “proche” de A, mais
plus facile que A à inverser. On appelle matrice de pré conditionnement
cette matrice P. On écrit alors A = P − (P − A) = P − N (avec N = P − A), et
on réécrit le système linéaire Ax = b sous la forme
Px = (P − A) x + b = Nx + b. (1.90)
Cette forme suggère la construction de la suite (𝑥 𝑘 )𝑘𝜖ℕ à partir d’un choix
initial 𝑥 (0) donné, par la formule suivante :
P𝑥 (𝑘+1) = (P − A) 𝑥 (𝑘) + b (1.91)
= N𝑥 (𝑘) + b,
Ce qui peut également s’écrire :
𝑥 (𝑘+1) = B𝑥 (𝑘) + c, avec B = 𝑃−1 (P − A) = Id −𝑃−1 A = 𝑃−1 N et c = 𝑃−1 b.
(1.92)
Remarque 1.48 (Convergence vers𝐴−1 b). Si P𝑥 (𝑘+1) = (P −A) 𝑥 (𝑘) +b
pour tout k ∈ IN et 𝑥 (𝑘) →𝑥̅ quand k → +∞ alors P 𝑥̅ = (P − A)𝑥̅ + b, et
donc A𝑥̅ = b, c.à.d. 𝑥̅ = x. En conclusion, si la suite converge, alors elle
converge bien vers la solution du système linéaire.
On introduit l’erreur d’approximation 𝑒 (𝑘) à l’itération k, définie par
𝑒 (𝑘) = 𝑥 (𝑘) −𝑥, k ∈ IN
Où 𝑥 (𝑘) est construit par (1.92) et x = 𝐴−1 b. Il est facile de vérifier que
𝑥 (𝑘) →x = 𝐴−1 b lorsque k →+∞ si et seulement si e(k) → 0 lorsque k →
+∞

Lemme 1.49. La suite (𝑒 (𝑘) )𝑘𝜖ℕ définie par (1.93) est également définie
par
𝑒 (0) = 𝑒 (0) − x
𝑒 (𝑘) = 𝐵𝑘 𝑒 (0) (1.94)

Théorème 1.50 (Convergence de la suite). Soit A et P ∈ℳ𝑛 (ℝ) des


matrices inversibles. Soit 𝑥 (0)donné et soit (𝑥 𝑘 )𝑘𝜖ℕ la suite définie par
(1.92).
1. La suite (𝑥 𝑘 )𝑘𝜖ℕ converge, quel que soit𝑥 (0), vers x = 𝑥 −1 b si et
seulement si ρ(B) < 1.
2. La suite (𝑥 𝑘 )𝑘𝜖ℕ converge, quel que soit𝑥 (0), si et seulement si il existe
une norme induite notée ‖. ‖ telle que ‖𝐵‖< 1.
Estimation de la vitesse de convergence Soit 𝑥 (0) ∈ ℝ𝑛 donné et soit
(𝑥 𝑘 )𝑘𝜖ℕ la suite définie par (1.92). On a vu que, si ρ(B) < 1, 𝑥 (𝑘) → 𝑥
quand k →∞, où x est la solution du système Ax = b. On montre à
l’exercice 71 page 138 que (sauf cas particuliers)
‖(𝑥 (𝑘+1) −𝑥)‖
→ 𝜌(𝐵) Lorsque 𝑘 → +∞
‖(𝑥 (𝑘) −𝑥)‖

Indépendamment de la norme choisie sur ℝ𝑛 . Le rayon spectral ρ(B) de la


matrice B est donc une bonne estimation de la vitesse de convergence. Pour
estimer cette vitesse de convergence lorsqu’on ne connaît pas x, on peut
utiliser le fait (voir encore l’exercice 71 page 138) qu’on a aussi
‖(𝑥 (𝑘+1) −𝑥 (𝑘) )‖
→ 𝜌(𝐵) Lorsque 𝑘 → +∞
‖(𝑥 (𝑘) −𝑥 (𝑘−1) ) ‖

Ce qui permet d’évaluer la vitesse de convergence de la méthode par le


calcul des itérés courants.
2.2- Quelques exemples de méthodes itératives
2.2.1 La méthode de Richardson
Affinons un peu et prenons maintenant P = 𝛽Id, avec 𝛽∈ IR. On a dans ce
1 1
cas P − A = 𝛽Id − A et B =Id – A = Id − 𝛼A avec 𝛼 = . Les
𝛽 𝛽
valeurs propres de B sont de la forme 1 −𝛼𝜆, où 𝜆est valeur propre de A.
Pour la matrice A définie par (1.98), les valeurs propres de A sont 1 et 3, et
les valeurs propres de
1 − 2𝛼 𝛼
𝐵=[ ]
𝛼 1 − 2𝛼
sont 1−𝛼 et 1−3𝛼. Le rayon spectral de la matrice B, qui dépend de 𝛼 est
donc 𝜌(𝐵) = max (|1−𝛼|, |1−3𝛼|), qu’on représente sur la figure ci-dessous.
La méthode itérative s’écrit
𝑥 (0) ∈ ℝ𝑛 donné,
𝑥 (𝑘+1) = B𝑥 (𝑘) + c, avec c = 𝛼b. (1.99)
Pour que la méthode converge, il faut et il suffit que 𝜌(𝐵) < 1, c.à.d. 3𝛼 −
2
1 < 1, donc 𝛼 < . On voit que le choix 𝛼 = 1 qu’on avait fait au départ
3
n’était pas bon. Mais on peut aussi calculer le meilleur coefficient 𝛼 pour
avoir la meilleure convergence possible : c’est la valeur de 𝛼 qui minimise
1
le rayon spectral 𝜌 ; il est atteint pour 1 −𝛼 = 3𝛼− 1, ce qui donne 𝛼 = .
2
Cette méthode est connue sous le nom de méthode de Richardson 8. Elle
est souvent écrite sous la forme :
𝑥 (0) ∈ ℝ𝑛 donné,
𝑥 (𝑘+1) = 𝑥 (𝑘) + 𝛼𝑟 (𝑘) ,
Où 𝑟 (𝑘) , = b − A𝑥 (𝑘) est le résidu. On vérifie facilement que cette forme est
équivalente à la forme (1.99) qu’on vient d’étudier.
2.2-2 Méthode de Jacobi
Dans le cas de l’exemple de la matrice A donné par (1.98), la méthode de
1
Richardson avec le coefficient optimal 𝛼 = revient à prendre comme
2
décomposition de A = P + A − P avec comme matrice P = D, où D est la
matrice diagonale dont les coefficients sont les coefficients situés sur la
diagonale de A. La méthode de Jacobi consiste justement à prendre P = D,
et ce même si la diagonale de A n’est pas constante. Elle n’est équivalente
à la méthode de Richardson avec coefficient optimal que dans le cas où la
diagonale est constante ; c’est le cas de l’exemple (1.98), et donc dans ce
cas la méthode de Jacobi s’écrit
(0)
(0)
𝑥1
𝑥 =[ (0)
] 𝜖 ℝ2 donné,
𝑥2
(𝑘+1) 1
𝑥1 0 1
2
𝑥 (𝑘+1) = [ (𝑘+1)
] = 𝐵𝑗 𝑥 (𝑘) + 𝑐 , avec 𝐵𝑗 = [ 1 ] et 𝑐 = 𝑏 . (1.100)
2
𝑥2 0
2

Dans le cas d’une matrice A générale, on décompose A sous la forme A = D


− E − F, où D représente la diagonale de la matrice A, (−E) la partie
triangulaire inférieure et (−F) la partie triangulaire supérieure :
𝑎1,1 0 ⋯ 0 0 0 ⋯ 0
0 ⋱ ⋱ ⋮ 𝑎2,1 ⋱ ⋱ ⋮
𝐷=[ ] , −𝐸 = [ ], −𝐹 =
⋮ ⋱ ⋱ 0 ⋮ ⋱ ⋱ 0
0 … 0 𝑎𝑚,𝑛 𝑎𝑛,1 … 𝑎𝑛−1,𝑛 0
0 𝑎1,2 ⋯ 𝑎1,𝑛
⋱ ⋮
[⋮ ⋱
⋱ 𝑎𝑛,𝑛−1 ] (1.101)
⋮ ⋱
0 … 0 0
La méthode de Jacobi s’écrit donc :
𝑥 (0) ∈ ℝ𝑛
{ (𝑘+1) (1.102)
𝐷𝑥 = (𝐸 + 𝐹 )𝑥 (𝑘) + 𝑏.
Lorsqu’on écrit la méthode de Jacobi comme sous la forme (1.92) on a B =
𝐷 −1 (E + F) ; on notera 𝐵𝑗 cette matrice :
𝑎1,2 −𝑎1,𝑛
0 − ⋯ −
𝑎1,1 𝑎1,1
𝑎2,1 −𝑎2,𝑛
− ⋱ ⋱ −
𝐵𝑗 = 𝑎2,2 𝑎2,2
⋮ ⋱ ⋱ ⋮
𝑎𝑛,1 −𝑎𝑛−1,𝑛
⋯ − 0
[ 𝑎𝑛,𝑛 𝑎𝑛,𝑛 ]
La méthode de Jacobi s’écrit aussi :
𝑥 (0) ∈ ℝ𝑛
{ (1.103)
𝑎𝑖,𝑖 𝑥 (𝑘+1) = − ∑𝑗<𝑖 𝑎𝑖,𝑗 𝑥 (𝑘) − ∑𝑗>𝑖 𝑎𝑖,𝑗 𝑥 (𝑘) + 𝑏𝑖 , 𝑖 = 1, … , 𝑛.

𝒏
(𝒌+𝟏) 𝟏 (𝒌)
𝒙𝒊 = 𝒃𝒊 − ∑ 𝒂𝒊𝒋 𝒙𝒋 , 𝒊 = 𝟏, … , 𝒏
𝒂𝒊,𝒊
𝒋=𝟏
[ 𝒋≠𝟏 ]

2.2-3 Méthode de Gauss-Seidel


Dans l’écriture (1.103) de la méthode de Jacobi on pourrait remplacer les
composantes xj(k) dans la somme pour j < i par les composantes xj(k+1),
puisqu’elles sont déjà calculées au moment où l’on calcule xi(k+1). C’est
l’idée de la méthode de Gauss-Seidel qui consiste à utiliser le calcul des
composantes de l’itéré (k+1) dès qu’il est effectué. Par exemple, pour
calculer la deuxième composante x2(k+1) du vecteur x(k+1), on pourrait
employer la « nouvelle » valeur x1(k+1) qu’o, vient de calculer plutôt que la
valeur x1(k) comme dans (1.103) ; de même dans le calcul de x3(k+1), on
pourrait employer les « nouvelles » valeurs x1(k+1) et x2(k+1) plutôt que les
valeurs x1(k) et x2(k). Cette idée nous suggère de remplacer dans (1.103)
xj(k) par xj(k+1) si j <i. On obtient donc l’algorithme suivant :
𝑥 (0) ∈ ℝ𝑛
(𝑘+1) (𝑘)
{ (𝑘+1) 𝑎𝑖,𝑗 𝑥𝑗 − ∑ 𝑎𝑖,𝑗 𝑥𝑗 + 𝑏𝑖 𝑖 = 1…𝑛
𝑎𝑖,𝑖 𝑥𝑖 = −∑ 𝑖<𝑗
𝑗<𝑖

La méthode de Gauss Seidel s’écrit donc sous la forme Px(k+1) = (P - A) x(k)


+b, avec P = D -E et P-A =F :
𝑥0 ∈ ℝ𝑛
{ (1.105)
(𝐷 − 𝐸 )𝑥 (𝑘+1) = 𝐹𝑥 (𝑘) + 𝑏

Si l’on écrit la méthode de Gauss-Seidel sous la forme x(k+1) = Bx(k) + c, on


voit assez vite que B = (D -E)-1F ; on notera BGS cette matrice, dite matrice
2 0 0 1
A donnée par (1.98) : on a dans ce cas P= D-E=[ ], F= [ ].
−1 2 0 0
L’algorithme de Gauss Seidel s’écrit donc :
(0)
(0) 𝑥1
𝑥 = ( (0) ) ∈ ℝ2 donné,
𝑥2

1
(𝑘+1)
𝑥1 0 0 0
x (k+1)
= ( (𝑘+1) ) = BGS𝑥 (𝑘)
+ 𝑐, 𝑎𝑣𝑒𝑐 𝐵𝐺𝑆 = [0 1 ] 𝑒𝑡 𝑐 = [21 1 ] 𝑏.
𝑥2
4
4 2
(1.106)
1
On a donc ρ(BGS) = . Sur cet exemple la méthode de Gauss- Seidel
4
converge donc beaucoup plus vite que la méthode de Jacobi :
Asymptotiquement, l’erreur est divisée par 4 à chaque itération au lieu de 2
pour la méthode de Jacobi. On peut montrer que c’est le cas pour toutes les
matrices tri diagonales, comme c’est énoncé dans le théorème suivant :

Théorème 1.51 (Comparaison de Jacobi et Gauss Seidel pour les matrices


tridiagonales). On considère une matrice A ∈ Mn(ℝ) tridiagonale, c.à.d.
telle que 𝑎𝑖,𝑗 = 0 si |𝑖 − 𝑗| > 1 soient
BGS et Bj les matrices d’itération respectives des méthodes de Gauss- Seidel
et Jacobi, alors :
ρ(BGS) = (ρ(BJ))2
Pour les matrices tridiagonales, la méthode de Gauss Seidel converge (ou
diverge) donc plus vite que celle de Jacobi.

La démonstration de ce résultat se fait en montrant que dans le cas


tridiagonal, 𝜆 est la valeur propre de la matrice d’itération de Jacobi si et
seulement si 𝜆2 est la valeur propre de la matrice de Gauss-Seidel. Elle est
laissée à titre d’exercice.
NB
On choisit M = D – E et N = F, ce qui conduit à considérer la relation de
récurrence
xk+1 = (D - E)-1Fxk + (D – E)-1b

2.2.4 Méthode de relaxation

La convergence d’une méthode itérative ne dépend pas du choix du vecteur


initial x0, mais la rapidité de convergence en dépend. D’où l’idée
d’introduire un facteur de relaxation ω non nul. Les matrices M et N sont
choisies comme dans la méthode de Gauss mais pondérés par le facteur de
1 1−ω
relaxation M =( D - E) et M =( D + F ). La matrice
ω ω
1 1−ω
L = M-1N = ( D - E )-1( D + F ).
ω ω

Est appelée matrice de relaxation. L’algorithme est fondé sur le calcul des
itérées.
𝑖−1 𝑛
(𝑘+1) ω (𝑘+1) (𝑘)
𝑥𝑖 = (𝑏𝑖 − ∑ 𝑎𝑖,𝑗 𝑥𝑗 − ∑ 𝑎𝑖,𝑗 𝑥𝑗 )
𝑎𝑖𝑖
𝑗=1 𝑗=𝑖
On démontre que si le facteur de relaxation dépasse 2, la méthode diverge.
Pour ω = 1, on retrouve la méthode de Gauss Seidel. Lorsque 0 < ω < 1,
on parle de sous-relaxation et lorsque 1 < ω < 2, on parle de
surrelaxation
(SOR, Successive Over Relaxation)

2.2.5 Méthodes SOR et SSOR


L’idée de la méthode de sur-relaxation (SOR = Successive Over
Relaxation) est d’utiliser la méthode de Gauss-Seidel pour calculer un itéré
intermédiaire 𝑥̌(k+1) qu’on « relaxe » ensuite pour améliorer la vitesse de
convergence de la méthode. On se donne 0 < ω < 2 , et on modifie
l’algorithme de Gauss-Seidel de la manière suivante :
𝑥0 ∈ ℝ𝑛
(𝑘+1) (𝑘)
(𝑘+1) 𝑎𝑖,𝑗 𝑥𝑗 − ∑ 𝑎𝑖,𝑗 𝑥𝑗 + 𝑏𝑖
𝑎𝑖,𝑖 𝑥̌𝑖 = −∑ 𝑖<𝑗
𝑗<𝑖
(𝑘+1) (𝑘+1) (𝑘)
{ 𝑥𝑖 = ω𝑥̌𝑖 + (1 − ω)𝑥𝑖 + 𝑏𝑖 𝑖 = 1 … 𝑛.

(Pour ω = 1 on retrouve la méthode de Gauss–Seidel.) L’algorithme ci-


dessus peut aussi s’écrire (en multipliant par ai, i la ligne 3 de l’algorithme
(1.107))

𝑥 (0) ∈ ℝ𝑛
(𝑘+1) (𝑘) (𝑘)
{ (𝑘+1) 𝑎𝑖,𝑗 𝑥𝑗 − ∑ 𝑎𝑖,𝑗 𝑥𝑗 + 𝑏𝑖 + (1 − ω)𝑎𝑖,𝑖 𝑥𝑖
𝑎𝑖,𝑖 𝑥̌𝑖 = −∑ 𝑖<𝑗
𝑗<𝑖

On obtient donc
(𝐷 − ωE)𝑥 (𝑘+1) = ωF𝑥 (𝑘) + ωb + (1 − ω)D𝑥 (𝑘) .
La matrice d’itération de l’algorithme SOR est donc
1 1−ω 𝐷
𝐵ω = ( D − E )−1 ( D + F ) = 𝑃−1 𝑁 𝑎𝑣𝑒𝑐 𝑃 = − 𝐸 et
ω ω ω
1−ω
𝑁=( D + F ).
ω

Il est facile de vérifier que A = P − N.


Proposition 1.52 (Condition nécessaire de convergence de la méthode
SOR). Soit A ∈ Mn(IR) et soient D, E et F les matrices définies par (1.101)
; on a donc A = D − E − F. Soit Bω la matrice d’itération de la méthode
SOR (et de la méthode de Gauss–Seidel pour ω = 1) définie par :
1 1−ω
𝐵ω = ( D − E )−1 ( D + F ) , ω ≠ 0.
ω ω
Si ρ(Bω) < 1 alors 0 < ω < 2.
DÉMONSTRATION – Calculons det(Bω). Par définition
𝐷 1−ω
𝐵ω = 𝑃−1 𝑁 Avec 𝑃 = − 𝐸 et 𝑁 = ( D + F ).
ω ω

Donc det(Bω) = (det(P)) −1 det(N). Comme P et N sont des matrices


triangulaires, leurs déterminants sont les produits coefficients diagonaux
(voir la remarque 1.59 page 106). On a donc :
1−ω 𝑛
(
) det(𝐷)
det(𝐵𝜔 ) = ω = (1 − ω)𝑛
1
( )𝑛 det(𝐷)
ω

Or le déterminant d’une matrice est aussi le produit des valeurs propres de


cette matrice (comptées avec leur multiplicités algébriques), dont les
valeurs absolues sont toutes inférieures au rayon spectral. On a donc :
|det(𝐵ω )| = |(1 − ω)𝑛 | ≤ (ρ(𝐵ω ))𝑛 , , d’où le résultat.
On a un résultat de convergence de la méthode SOR (et donc également de
Gauss-Seidel) dans le cas où A est symétrique définie positive, grâce au
lemme suivant : Lemme 1.53 (Condition suffisante de convergence pour la
suite définie par (1.92)). Soit A ∈ Mn(IR) une matrice symétrique définie
positive, et soient P et N ∈ Mn(IR) telles que A = P − N et P est inversible.
Si la matrice P t + N est symétrique définie positive alors ρ(P −1N) = ρ(B)
< 1, et donc la suite définie par (1.92) converge.

Remarque 1.55 (Comparaison Gauss–Seidel/Jacobi).


On a vu (théorème 1.54) que si A est une matrice symétrique définie
positive, la méthode de Gauss–Seidel converge. Par contre, même dans le
cas où A est symétrique définie positive, il existe des cas où la méthode de
Jacobi ne converge pas, voir à ce sujet l’exercice 54 page 109. Remarquons
que le résultat de convergence des méthodes itératives donné par le
théorème précédent n’est que partiel, puisqu’il ne concerne que les
matrices symétriques définies positives et que les méthodes Gauss-Seidel
et SOR. On a aussi un résultat de convergence de la méthode de Jacobi
pour les matrices à diagonale dominante stricte, voir exercice 59 page 111,
et un résultat de comparaison des méthodes pour les matrices tridiagonales
par blocs, voir le théorème 1.56 donné ci-après. Dans la pratique, il faudra
souvent compter sur sa bonne étoile. . .

Estimation du coefficient de relaxation optimal de SOR La question est ici


d’estimer le coefficient de relaxation ω optimal dans la méthode SOR,
c.à.d. le coefficient ω0 ∈]0, 2[ (condition nécessaire pour que la méthode
SOR converge, voir théorème 1.54) tel que
𝝆(𝑩𝝎𝟎 ) ≤ 𝝆(𝑩𝝎 ), ∀ ω ∈]0, 2[.
Ce coefficient ω0 donnera la meilleure convergence possible pour SOR.
On sait le faire dans le cas assez restrictif des matrices tridiagonales (ou
tridiagonales par blocs, voir paragraphe suivant). On ne fait ici qu’énoncer
le résultat dont la démonstration est donnée dans le livre de Ph. Ciarlet
conseillé en début de cours.

Théorème 1.56 (Coefficient optimal, matrice tridiagonale).


On considère une matrice A ∈ Mn(IR) qui admet une décomposition par
blocs définie dans la définition 1.110 page 106 ; on suppose que la matrice
A est tridiagonale par blocs, c.à.d.
Ai, j = 0 si |i − j| > 1 ; soient BGS et BJ les matrices d’itération respectives
des méthodes de Gauss-Seidel et Jacobi. On suppose de plus que toutes les
valeurs propres de la matrice d’itération J de la méthode de Jacobi sont
réelles et que ρ(BJ) < 1. Alors le paramètre de relaxation optimal, c.à.d. le
paramètre ω0 tel que ρ (Bω0) = min{ρ(Bω), ω ∈]0, 2[}, s’exprime en
fonction du rayon spectral ρ(BJ) de la matrice J par la formule :
2
ω0 = > 1,
2
1 + √1 − 𝜌(𝐵𝐽 )

Et on a : ρ(𝐵ω ) = ω0 − 1.
La démonstration de ce résultat repose sur la comparaison des valeurs
propres des matrices d’itération. On montre que λ est valeur propre de Bω
si et seulement si
(λ + ω − 1)2 = λωµ2
Où µ est valeur propre de BJ (voir [Ciarlet] pour plus de détails).
Remarque 1.57 (Méthode de Jacobi relaxée).
On peut aussi appliquer une procédure de relaxation avec comme méthode
itérative “de base” la méthode de Jacobi, voir à ce sujet l’exercice 56 page
110). Cette méthode est toutefois beaucoup moins employée en pratique
(car moins efficace) que la méthode SOR.
Méthode SSOR En “symétrisant” le procédé de la méthode SOR, c.à.d.
en effectuant les calculs SOR sur les blocs dans l’ordre 1 à n puis dans
l’ordre n à 1, on obtient la méthode de sur-relaxation symétrisée (SSOR =
Symmetric Successive Over Relaxation) qui s’écrit dans le formalisme de
la méthode I avec
−𝟏 −𝟏
𝑫 𝟏−𝛚 𝑫 𝟏−𝛚
𝑩𝑺𝑺𝑶𝑹 = ( − 𝑭) (𝑬 + 𝑫) ( − 𝑬) (𝑭 + 𝑫)
𝛚 𝛚 𝛚 𝛚
2.2.6-Théorème de Cayley-Hamilton
En algèbre linéaire, le théorème de Cayley-Hamilton affirme que tout
endomorphisme d’un espace vectoriel de dimension finie sue un corps
commutatif quelconque annule son propre polynôme caractéristique.
En termes de matrice, cela signifie que si A est une matrice carrée
d’ordre n et si
𝑝(𝑋) = det(𝑋𝐼𝑛 − 𝐴) = 𝑋 𝑛 + 𝑝𝑛−1 𝑋 𝑛−1 + ⋯ + 𝑝1 𝑋 + 𝑝0
est un polynôme caractéristique (polynôme d’indéterminée X), alors en
remplaçant formellement par 𝑋 la matrice 𝐴 dans le polynôme, le résultat
matrice nulle :
𝑝(𝑋) = 𝐴𝑛 + 𝑝𝑛−1 𝐴𝑛−1 + ⋯ + 𝑝1 𝐴 + 𝑃0 𝐼𝑛 = 0𝑛 .
Le théorème de Cayley-Hamilton s’applique aussi à des matrices carrées à
coefficients dans un anneau commutatif quelconque.
Un corollaire implique du théorème de Cayley-Hamilton affirme que le
polynôme minimal d’une matrice est un diviseur de son polynôme
caractéristique.
Considérons par exemple la matrice
1 2
A=( ).
3 4
Le polynôme caractéristique s’écrit
𝑋−1 −2
𝑝(𝑋) = 𝑑𝑒𝑡 ( ) = (𝑋 − 1)(𝑋 − 4) − (−2)(−3)=𝑋 2 − 5𝑋 −
−3 𝑋−4
2
Le théorème de Cayley-Hamilton affirme que
𝐴2 − 5𝐴 − 2𝐼2 = 0
et cette relation peut être rapidement vérifiée dans ce cas. De plus le
théorème de Cayley-Hamilton permet de calculer les puissances d’une
matrice plus simplement que par un calcul direct. Reprenons la relation
précédente
𝐴2 − 5𝐴 − 2𝐼2 = 0
𝐴2 = 5𝐴 + 2𝐼2
Ainsi par exemple, pour calculer 𝐴4 , nous pouvons écrire
𝐴3 = (5𝐴 + 2𝐼2 )𝐴 = 5𝐴2 + 2𝐴 = 5(5𝐴 + 2𝐼2 ) + 2𝐴 = 27𝐴 + 10𝐼2
Et il vient
𝐴4 = 𝐴3 𝐴 = (27𝐴 + 10𝐼2 )𝐴 = 27𝐴2 + 10𝐴 = 27(5𝐴 + 2𝐼2 ) + 10𝐴
𝐴4 = 145𝐴 + 54𝐼2 .
On peut également utiliser la relation polynomiale initiale 𝐴2 − 5𝐴 −
2𝐼2 = 0 pour démontrer l’invisibilité de 𝐴 et calculer son inverse. Il suffit
en effet de mettre en facteur une puissance de 𝐴 là où c’est possible et
𝐴(𝐴 − 5𝐼2 ) = 2𝐼2
Ce qui montre que A admet pour inverse
1
𝐴−1 = (𝐴 − 5𝐼2 )
2

2.5.7 Méthode de Krylov


La méthode de Krylov utilise le théorème de Cayley-Hamilton pour
calculer le polynôme caractéristique
𝑃(𝜆) = (−1)𝑛 (𝜆𝑛 + 𝑝1 𝜆𝑛−1 + 𝑝2 𝜆𝑛−2 + ⋯ + 𝑝𝑛−1 𝜆 + 𝑝𝑛 .
Soit A la matrice associée au polynôme P et définie par
−(𝜆 + 𝑝1 ) −𝑝2 −𝑝3 ⋯ −𝑝𝑛
1 −𝜆 0 ⋯ 0
| 0 1 |
𝑃(𝜆) = det(𝐴 − 𝜆𝐼 ) = −𝜆 ⋱ ⋮
| ⋮ ⋱ ⋱ ⋱ 0 |
0 … 0 1 −𝜆

Si b est vecteur arbitraire, on pose 𝑏0 = 𝐴𝑛 𝑏, 𝑏1 = 𝐴𝑛−1 𝑏, … , 𝑏𝑛−1 =


𝐴𝑏, 𝑏𝑛 = 𝑏.
En appliquant 𝑃(𝐴) = 0, c’est à dire
𝐴𝑛 + ∑𝑛𝑖=1 𝑝𝑖 𝐴𝑛−𝑖 = 0
au vecteur 𝑏, on obtient, en repetant l’opération, un système de 𝑛 équations
à 𝑛 inconnues (𝑝1 , 𝑝2 … , 𝑝𝑛 )
𝑝1 𝑏1 + 𝑝2 𝑏2 + ⋯ + 𝑝𝑛 𝑏𝑛 = −𝑏0 Qui se résout par une méthode de
résolution de système linéaires.
Méthode de Krylov (principes, GC, GMRES)
A chercher après le chapitre sur les polynômes orthogonaux
Exercices
Complément de Shūr et ses propriétés (A collecter et noter)
Chapitre 5 : Dérivation et Intégration numérique

Dérivation numérique

1. Introduction
Au chapitre précédent, on sait qu’une fonction 𝑓(𝑥) connue seulement en
quelques points peut être convenablement estimée à l’aide d’un polynôme
de degré 𝑛 avec une certaine erreur. Plus précisément :
𝑓(𝑥 ) = 𝑝𝑛 (𝑥 ) + 𝐸𝑛 (𝑥) (1)
Où 𝐸𝑛 (𝑥 ) est le terme d’erreur d’ordre (𝑛 + 1) donné par la relation :
𝑓(𝑛+1) [𝜉(𝑥)]
𝐸𝑛 (𝑥 ) = (𝑛+1)!
(𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) … (𝑥 − 𝑥𝑛 ) (1’)

pour un certain 𝜉 (𝑥 )/ 𝜉 (𝑥 )𝜖 [𝑥0 , 𝑥𝑛 ]

L’expression (1) est à la base des développements de ce chapitre.

La dérivation numérique peut être abordée de deux manières. La 1ère


approche consiste à utiliser 𝑙𝑒 𝑑é𝑣𝑒𝑙𝑜𝑝𝑝𝑒𝑚𝑒𝑛𝑡 𝑑𝑒 𝑇𝑎𝑦𝑙𝑜𝑟 et la seconde est
fondée sur l’équation (1). Mais on utilise un mélange des deux approches
pour maîtriser le problème.

Si on dérive les deux membres de l’équation (1), il vient ce qui suit :

𝑓 ′ (𝑥 ) = 𝑝𝑛′ (𝑥) + 𝐸𝑛′ (𝑥)

𝑓 ′′ (𝑥 ) = 𝑝𝑛′′ (𝑥 ) + 𝐸𝑛′′ (𝑥)

(2)
𝑓 ′′′ (𝑥 ) = 𝑝𝑛′′′ (𝑥 ) + 𝐸𝑛′′′ (𝑥)
Ainsi, pour évaluer la dérivée d’une fonction connue aux points (𝑥𝑖 ,
𝑓(𝑥𝑖 ) 𝑝𝑜𝑢𝑟 𝑖 = 0,1, … , 𝑛 , 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. Ceci est vrai quel que soit l’ordre de la dérivée.

Remarque :

Bien qu’en théorie, on soit en mesure d’estimer les dérivées de tout ordre,
sur le plan pratique, on dépasse rarement l’ordre 4. Cela s’explique par le
fait que la différenciation numérique est un procédé numériquement
instable.

2. Dérivées d’ordre 1

En dérivant (1’) tout en tenant compte de la dépendance de 𝜉 envers x, on


obtient ce qui suit :

𝑓 (𝑛+1) [𝜉(𝑥 )]𝜉 ′ (𝑥)


𝐸𝑛′ (𝑥 ) = [(𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) … (𝑥 − 𝑥𝑛 )]
(𝑛 + 1)!
𝑓 (𝑛+1) [𝜉(𝑥 )]
+ [(𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) … (𝑥 − 𝑥𝑛 )]
(𝑛 + 1)!

Posons 𝐼 = (𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) … (𝑥 − 𝑥𝑛 )

La dérivée du produit 𝐼 est plus délicate. Cette dérivée débouche sur une
somme de produits où tour à tour, l’un des facteurs (𝑥 − 𝑥𝑖 ) est manquant.
Il est facile de se convaincre, en reprenant ce développement avec 𝑛 = 2 par
exemple, et l’on obtient :

𝑓(𝑛+1) [𝜉(𝑥)]𝜉 ′ (𝑥)


𝐸𝑛′ (𝑥 ) = (𝑛+1)!
[(𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) … (𝑥 − 𝑥𝑛 )] +

𝑓(𝑛+1) [𝜉(𝑥)]
(𝑛+1)!
(∑𝑛𝑘=0 ∏𝑛𝑗=0(𝑗≠𝑘)(𝑥 − 𝑥𝑗 )) (3)

On peut simplifier quelque peu cette expression complexe en choisissant


l’un ou l’autre des points d’

. En effet, en 𝑥 = 𝑥𝑖 , le premier terme de droite s’annule faisant disparaître


la dérivée de 𝜉 (𝑥 ) qui est inconnue. De la somme, il ne reste qu’un seul
terme puisque les autres contiennent un facteur (𝑥 = 𝑥𝑖 ) et s’annulent. Il
reste ce qui suit :

𝑓(𝑛+1) [𝜉(𝑥𝑖 )]
𝐸𝑛′ (𝑥 ) = (𝑛+1)!
(∏𝑛𝑗=0(𝑗≠𝑖) (𝑥𝑖 − 𝑥𝑗 ))

De plus, en supposant que les 𝑥𝑖 sont équidistants, c’est-à-dire

𝑥𝑖+1 − 𝑥𝑖 = ℎ

Ce qui signifie que :


(𝑥𝑖 − 𝑥𝑗 ) = (𝑖 − 𝑗)ℎ

On obtient :

𝑓(𝑛+1) (𝜉𝑖 )ℎ𝑛


𝐸𝑛′ (𝑥 ) = (𝑛+1)!
(∏𝑛𝑗=0(𝑗≠𝑖)(𝑖 − 𝑗)) (4)

Où 𝜉𝑖 est simplement une notation qui est différente de 𝜉 (𝑥𝑖 ). En particulier,


si i=0, la dérivée du terme d’erreur est :

𝑓(𝑛+1) (𝜉0 )ℎ𝑛 𝑓(𝑛+1) (𝜉0 )ℎ𝑛


𝐸𝑛′ (𝑥0 ) = (𝑛+1)!
(∏𝑛𝑗=0(𝑗≠0)(−𝑗)) = (𝑛+1)!
(∏𝑛𝑗=1(−𝑗))

En arrangeant, on a :

(−1)𝑛 ℎ𝑛 𝑓(𝑛+1) (𝜉0 )


𝐸𝑛′ (𝑥0 ) = (𝑛+1)!
(5)

Pour un certain 𝜉0 compris dans [𝑥0 , 𝑥𝑛 ]

Remarque :

La relation (4) montre que si 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 𝑥 = 𝑥𝑖
est une approximation d’ordre n de 𝑓 ′ (𝑥𝑖 ).

Définition

Aux points d’interpolation, on a :

𝑓 ′ (𝑥𝑖 ) = 𝑝𝑛′ (𝑥𝑖 ) + 𝐸𝑛′ (𝑥𝑖 ) (6)

Le terme 𝑝𝑛′ (𝑥𝑖 ) de l’équation (6) est une formule aux différences finies ou
plus simplement une formule aux différences.
Exemple 1 :

En choisissant le polynôme de degré 1 passant par les points (𝑥0 , 𝑓(𝑥0 )) et


(𝑥1 , 𝑓(𝑥1 )), on a grâce à la formule d’interpolation de Newton

𝑝1 (𝑥 ) = 𝑓(𝑥0 ) + 𝑓[𝑥0 , 𝑥1 ](𝑥 − 𝑥0 )

𝑓 ′ (𝑥 ) = 𝑝1′ (𝑥 ) + 𝐸1′ (𝑥 ) = 𝑓[𝑥0 , 𝑥1 ] + 𝐸1′ (𝑥)

Donc 𝑓(𝑥 ) = 𝑝1 (𝑥 ) + 𝐸1 (𝑥)

𝑓 ′ (𝑥 ) = 𝑝1′ (𝑥 ) + 𝐸1′ (𝑥 )

𝑓 ′ (𝑥 ) = 𝑓[𝑥0 , 𝑥1 ] + 𝐸1′ (𝑥 ) (7)

Compte tenu de la relation (5) et puisque 𝑥1 − 𝑥0 = ℎ, on a :

𝑓(𝑥1 )−𝑓(𝑥0 ) ℎ𝑓(2) (𝜉0 ) 𝑓(𝑥1 )−𝑓(𝑥0 )


𝑓 ′ (𝑥0 ) = − 𝑝𝑜𝑢𝑟 𝜉0 𝜖 [𝑥0 , 𝑥1 ] avec =
ℎ 2 ℎ

𝑓[𝑥0 , 𝑥1 ] (8)

C’est la différence avant d’ordre 1.

On l’appelle différence avant car pour évaluer la dérivée en 𝑥 = 𝑥0 , on


cherche de l’information vers l’avant.

De la même manière, si on veut évaluer l’équation (7) en 𝑥 = 𝑥1 , la relation


(4) avec i=1 donne :

𝑓(𝑥1 )−𝑓(𝑥0 ) 𝑓(𝑥1 )−𝑓(𝑥0 ) ℎ1 𝑓 (2) (𝜉1 )


𝑓 ′ (𝑥1 ) =
𝑥−𝑥0
+ 𝐸 ′ (𝑥1 ) =

+
2!
(∏1𝑗=0(𝑗≠1)(1 − 𝑗) )

Ou encore :

𝑓(𝑥1 )−𝑓(𝑥0 ) ℎ𝑓(2) (𝜉1 )


𝑓 ′ (𝑥1 ) = + pour 𝜉1 𝜖 [𝑥0 , 𝑥1 ] (9)
ℎ 2
Différence arrière d’ordre 1

Remarque :

L’exemple précédent montre que la même différence divisée est une


approximation de la dérivée à la fois en 𝑥 = 𝑥0 et en 𝑥 = 𝑥1. On remarque
cependant que le terme d’erreur est différent aux deux endroits.

Exemple 2 :

En prenant un polynôme de degré 2 qui passe par les points


(𝑥0 , 𝑓(𝑥0 )), (𝑥1 , 𝑓(𝑥1 )) 𝑒𝑡 (𝑥2 , 𝑓 (𝑥2 )), on a :

𝑝2 (𝑥) = 𝑓 (𝑥0 ) + 𝑓 [𝑥0 , 𝑥1 ](𝑥 − 𝑥0 ) + 𝑓[𝑥0 , 𝑥1 , 𝑥2 ](𝑥 − 𝑥0 )(𝑥 − 𝑥1 )

Lorsque x prend successivement les valeurs 𝑥0 , 𝑥1 𝑒𝑡 𝑥2 , il est facile de


montrer que l’on obtient des approximations d’ordre 2 de la dérivée :

′(
−𝑓(𝑥2 ) + 4𝑓(𝑥1 ) − 3𝑓(𝑥0 ) ℎ2 𝑓′′′(𝜉0 )
𝑓 𝑥0 ) = +
2ℎ 3

Différence avant d’ordre 2

𝑓(𝑥2 )−𝑓(𝑥0 ) ℎ2 𝑓′′′ (𝜉1 )


𝑓 ′ (𝑥1 ) = −
2ℎ 6

Différence centrée d’ordre 2

3𝑓(𝑥2 )−4𝑓(𝑥1 )+𝑓(𝑥0 ) ℎ2 𝑓′′′ (𝜉2 )


𝑓 ′ (𝑥2 ) = +
2ℎ 3

Différence arrière d’ordre 2


3. Dérivées d’ordre supérieur
En utilisant des polynômes de degré ± élevé, en choisissant le
développement de Taylor approprié, pour en obtenir l’ordre de convergence,
on obtient les principales d’entre elles qui sont :
𝑓 (𝑥 − 2ℎ) − 2𝑓 (𝑥 − ℎ) + 𝑓(𝑥)
𝑓 ′′ (𝑥 ) = + 𝑂(ℎ)
ℎ2
𝐷𝑖𝑓𝑓é𝑟𝑒𝑛𝑐𝑒 𝑎𝑟𝑟𝑖è𝑟𝑒 𝑑′ 𝑜𝑟𝑑𝑟𝑒 1
𝑓 (𝑥 + 2ℎ) − 2𝑓 (𝑥 + ℎ) + 𝑓(𝑥)
𝑓 ′′ (𝑥 ) = + 𝑂(ℎ)
ℎ2
𝐷𝑖𝑓𝑓é𝑟𝑒𝑛𝑐𝑒 𝑎𝑣𝑎𝑛𝑡 𝑑′ 𝑜𝑟𝑑𝑟𝑒 1
𝑓(𝑥 + ℎ) − 2𝑓(𝑥 ) + 𝑓(𝑥 − ℎ)
𝑓 ′′ (𝑥 ) = 2
+ 𝑂(ℎ2 )

𝐷𝑖𝑓𝑓é𝑟𝑒𝑛𝑐𝑒 𝑐𝑒𝑛𝑡𝑟é𝑒 𝑑′ 𝑜𝑟𝑑𝑟𝑒 2
𝑓 ′′ (𝑥 )
−𝑓(𝑥 + 2ℎ) + 16𝑓 (𝑥 + ℎ) − 30𝑓 (𝑥 ) + 16𝑓 (𝑥 − ℎ) − 𝑓(𝑥 − 2ℎ)
=
12ℎ2
4
+ 𝑂(ℎ )

𝐷𝑖𝑓𝑓é𝑟𝑒𝑛𝑐𝑒 𝑐𝑒𝑛𝑡𝑟é𝑒 𝑑′ 𝑜𝑟𝑑𝑟𝑒 4


𝑓(𝑥 + 2ℎ) − 4𝑓(𝑥 + ℎ) + 6𝑓(𝑥 ) − 4𝑓 (𝑥 − ℎ) + 𝑓(𝑥 − 2ℎ)
𝑓 ′′′′ (𝑥 ) =
ℎ4
+ 𝑂(ℎ2 )
𝐷𝑖𝑓𝑓é𝑟𝑒𝑛𝑐𝑒 𝑐𝑒𝑛𝑡𝑟é𝑒 𝑑′ 𝑜𝑟𝑑𝑟𝑒 2
On démontre que la différentiation numérique est un procédé
numériquement instable. Toutes les formules de différences finies dépendent
d’un paramètre h qui est la distance entre les points d’interpolation. On peut
croire de façon intuitive que la précision du résultat augmente à mesure que
diminue la mesure 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, en prenant
par exemple une
𝑓 (𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ)
𝑓 ′ (𝑥0 ) ≈
2ℎ
On constate que lorsque ℎ → 0, le numérateur contient la soustraction de
deux termes très proches l’un de l’autre.

3- Extrapolation de RICHARDSON
La méthode d’extrapolation de Richardson est valable non seulement
pour la différentiation et l’intégration numérique, mais aussi pour
l’interpolation, la résolution numérique des équations différentielles, etc.
Cette technique permet d’augmenter la précision d’une méthode
d’approximation par une méthode d’extrapolation que nous décrivons dans
cette section.
Prenons comme point de départ d’une approximation numérique,
notée 𝑄𝑎𝑝𝑝 (ℎ) d’une certaine quantité exacte 𝑄𝑒𝑥𝑎 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 :
𝑄𝑒𝑥𝑎 = 𝑄𝑎𝑝𝑝 (ℎ) + 𝑂(ℎ𝑛 )
La notation 𝑂(ℎ𝑛 ) signifie en fait que l’on a :
𝑄𝑒𝑥𝑎 = 𝑄𝑎𝑝𝑝 (ℎ) + 𝑐𝑛 ℎ𝑛 + 𝑐𝑛+1 ℎ𝑛+1 + 𝑐𝑛+2 ℎ𝑛+2 + ⋯ (6.17)
Où les constantes 𝑐𝑛 dépendent de la méthode numérique utilisée. La
technique d’extrapolation de Richardson consiste à obtenir, à partir de
l’approximation (6.17) d’ordre 𝑛, une nouvelle approximation d’ordre au

moins 𝑛 + 1. Pour ce faire, il suffit de remplacer ℎ par dans l’équation
2
(6.17), ce qui conduit à la relation :
ℎ ℎ 𝑛 ℎ 𝑛+1 ℎ 𝑛+2
𝑄𝑒𝑥𝑎 = 𝑄𝑎𝑝𝑝 ( ) + 𝑐𝑛 ( ) + 𝑐𝑛+1 ( ) + 𝑐𝑛+2 ( ) + ⋯ (6.18)
2 2 2 2

𝑛 𝑛
ℎ 𝑛
ℎ𝑛+1 ℎ 𝑛+2
2 𝑄𝑒𝑥𝑎 = 2 𝑄𝑎𝑝𝑝 ( ) + 𝑐𝑛 ℎ + 𝑐𝑛+1 + 𝑐𝑛+2 2 +⋯
2 2 2
ℎ 1 3
(2𝑛 − 1)𝑄𝑒𝑥𝑎 = 2𝑛 𝑄𝑎𝑝𝑝 ( ) − 𝑄𝑎𝑝𝑝 (ℎ) − 𝑐𝑛+1 ℎ𝑛+1 − 𝑐𝑛+2 ℎ𝑛+2 + ⋯
2 2 4
D’où
ℎ 1 3
2𝑛 𝑄𝑎𝑝𝑝 ( ) − 𝑄𝑎𝑝𝑝 (ℎ) − 𝑐𝑛+1 ℎ𝑛+1 − 𝑐𝑛+2 ℎ𝑛+2 + ⋯
𝑄𝑒𝑥𝑎 = 2 + 2 4 (6.19)
𝑛
2 −1 𝑛
2 −1
Qui s’écrit plus simplement

2𝑛 𝑄𝑎𝑝𝑝 ( ) − 𝑄𝑎𝑝𝑝 (ℎ)
𝑄𝑒𝑥𝑎 = 2 + 𝑂(ℎ𝑛+1 ) (6.20)
𝑛
2 −1
L’expression de droite est donc une approximation d’ordre au moins 𝑛 + 1
de 𝑄𝑒𝑥𝑎 . L’extrapolation de Richardson permet donc de gagner au moins un
ordre de convergence. En fait, on peut même en gagner d’avantage si, par
exemple, on a 𝑐𝑛+1 = 0 dès le départ. Dans ce cas, la nouvelle
approximation est d’ordre (𝑛 + 2). Cette situation se produit fréquemment,
notamment chez les différences centrées et la méthode d’intégration dite des
trapèzes que nous verrons plus loin.
Exemple : En utilisant une différence avant d’ordre 1 pour calculer la dérivée
de 𝑒 𝑥 en 𝑥 = 0, on obtient :
 𝑝𝑜𝑢𝑟 ℎ = 0.1
′( )
𝑒 0+ℎ − 𝑒 0 𝑒 0.1 − 𝑒 0
𝑓 0 = = = 1,05170918 = 𝑄𝑎𝑝𝑝 (0,1)
ℎ 0.1
 𝑝𝑜𝑢𝑟 ℎ = 0.05
′( )
𝑒 0+ℎ − 𝑒 0 𝑒 0.05 − 𝑒 0
𝑓 0 = = = 1,02542191 = 𝑄𝑎𝑝𝑝 (0,05)
ℎ 0.05

En faisant maintenant le calcul à l’aide de (6.20) avec 𝑛 = 1 :

′(
21 𝑄𝑎𝑝𝑝 (0,05) − 𝑄𝑎𝑝𝑝 (0,1)
𝑓 0) ≈ ≈ 0,99913462
21 − 1
qui est une approximation d’ordre 2 et donc plus précise de 𝑓 ′ (0). De
même, si on utilisait une différence centrée d’ordre 2, on obtient :
 𝑝𝑜𝑢𝑟 ℎ = 0.05
𝑒 0,05 − 𝑒 −0,05
′(
𝑓 0) = = 1,0004167
2 × 0,05
 𝑝𝑜𝑢𝑟 ℎ = 0.025
′(
𝑒 0,025 − 𝑒 −0,025
𝑓 0) = = 1,00010418
2 × 0,025
Dans ce cas, l’extrapolation de Richardson permet de gagner deux ordres de
précisions puisque seules les puissances paires de h apparaissent dans le
terme d’erreur. Plus précisément, on a :
𝑓(𝑥 + ℎ) − 𝑓(𝑥 − ℎ) ′( )
𝑓 ′′′ (𝑥 )ℎ2 𝑓 (5) (𝑥)ℎ4
=𝑓 𝑥 + + + 𝑂(ℎ6 )
2ℎ 3! 5!
La différence centrée étant d’ordre 2, l’extrapolation de Richardson avec
𝑛 = 2 donne :
22 𝑄𝑎𝑝𝑝 (0,025) − 𝑄𝑎𝑝𝑝 (0,05)
′(
𝑓 0) ≈
22 − 1
4 × 1,00010418 − 1,0004167
≈ ≈ 1,000000007
3
Ce qui est une approximation d’ordre 4 de la solution exacte.

INTEGRATION NUMERIQUE
I- Méthode des Trapèzes
Soit 𝑓 une fonction continue sur [a, b], dérivable sur ]a, b[ et 𝑎 = 𝑥0 <
𝑥1 < 𝑥2 < ⋯ < 𝑥𝑛−1 < 𝑥𝑛 = 𝑏 une subdivision régulière de l’intervalle [a,
b]. On note h le pas de cette subdivision. Dans la méthode des trapèzes, la
fonction f est remplacée sur chaque intervalle [𝑥𝑖 , 𝑥𝑖+1 ] par la droite joignant les
points (𝑥𝑖 , 𝑓(𝑥𝑖 )) et (𝑥𝑖+1 , 𝑓(𝑥𝑖+1 )), soit
(𝑥 − 𝑥𝑖 )𝑓(𝑥𝑖+1 ) − (𝑥 − 𝑥𝑖+1 )𝑓(𝑥𝑖 )
ℎ(𝑥) = 𝑥 𝜖 [𝑥𝑖 , 𝑥𝑖+1 ]
𝑥𝑖+1 − 𝑥𝑖
La méthode s’écrit
𝑏 𝑛−1
𝑓(𝑥𝑖 ) + 𝑓(𝑥𝑖+1 )
∫ 𝑓(𝑥)𝑑𝑥 ≃ ∑(𝑥𝑖+1 − 𝑥𝑖 )
𝑎 2
𝑖=0

Lorsque la subdivision se réduit à sa plus simple expression, 𝑥0 = 𝑎 , 𝑥1 = 𝑏


on a :
𝑏
1
∫ 𝑓(𝑥)𝑑𝑥 ≃ (𝑏 − 𝑎)(𝑓(𝑎) + 𝑓(𝑏))
𝑎 2
La méthode des trapèzes est une méthode d’ordre 1. L’erreur dans la méthode des
trapèzes est donnée par l’expression
𝑏
1 (𝑏 − 𝑎)3
|∫ 𝑓(𝑥)𝑑𝑥 − 𝑆| ≤ sup |𝑓′′(𝑥)|
𝑎 12 𝑛2 𝑥 ∈[𝑎,𝑏]
La somme S s’exprime par
𝑛−1

𝑆 = (𝑓 (𝑎) + 𝑓(𝑏) + ∑ 𝑓(𝑥1 ))
2
𝑖=1

Pour améliorer la précision, on considère parfois la formule des trapèzes


composée suivante
𝑏 𝑛−1
ℎ ℎ2 ′
∫ 𝑓(𝑥)𝑑𝑥 ≃ (𝑓 (𝑎) + 𝑓(𝑏) + ∑ 𝑓(𝑥𝑖 )) − (𝑓 (𝑏) − 𝑓 ′ (𝑎))
𝑎 2 12
𝑖=1
𝜋
Exercice : Evaluer numériquement par la méthode du trapèze ∫0 𝑠𝑖𝑛𝑥𝑑𝑥 2

Remarque :
Le raisonnement précédent n’est pas parfaitement rigoureux même si le résultat
final est juste. En effet, dans chaque intervalle [𝑥𝑖 , 𝑥𝑖+1 ] l’erreur liée à la méthode
du trapèze simple devrait faire intervenir la dérivée seconde en 𝜂𝑖 (𝑓′′(𝜂𝑖 )) 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 est donnée par :
𝑏−𝑎
− 𝑓 ′′ (𝜂)ℎ2 𝑝𝑜𝑢𝑟 𝑛 𝜖 [𝑎, 𝑏] (7)
12

La méthode des trapèzes composée est d’ordre 2.


Exercice :
Evaluer numériquement par la méthode des trapèzes composés l’intégrale
suivante :
𝜋
2
∫ 𝑠𝑖𝑛𝑥𝑑𝑥
0

Remarques
1. La méthode du trapèze avec un seul intervalle est également connue sous le
nom de méthode du trapèze simple.
2. La méthode des trapèzes composée est d’ordre 2. La méthode du trapèze 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 𝑓(𝑥)
est un polynôme de degré ≤1. Cela s’explique par la présence de la dérivée
seconde de 𝑓(𝑥) dans le terme d’erreur : celle-ci s’annule dans le cas de polynôme
de degré 1.
Le degré de précision de la formule des trapèzes est 1.
II- Méthode de Simpson (Simpson 1/3)
Dans la méthode de Thomas Simpson (1710-1761), la fonction 𝑓 est remplacée
par un polynôme du second degré définissant un arc de parabole passant par les
points d’ordonnées 𝑓(𝑥𝑖 ), 𝑓(𝑥𝑖+1 ) 𝑒𝑡 𝑓(𝑥𝑖+2 ). La méthode s’écrit
𝑏 𝑛−1
1 𝑥𝑖+1 + 𝑥𝑖
∫ 𝑓(𝑥)𝑑𝑥 ≃ ∑ (𝑥𝑖+1 − 𝑥𝑖 ) (𝑓(𝑥𝑖+1 ) + 𝑓(𝑥𝑖 ) + 4𝑓( ))
𝑎 6 2
𝑖=0

𝑏

∫ 𝑓(𝑥)𝑑𝑥 = (𝑓(𝑥0 ) + 4𝑓(𝑥1 ) + 2𝑓(𝑥2 ) + 4𝑓(𝑥3 ) + 2𝑓(𝑥4 ) + ⋯
3
𝑎
+ 4𝑓(𝑥2𝑛−3 ) + 2𝑓(𝑥2𝑛−2 ) + 4𝑓(𝑥2𝑛−1 ) + 2𝑓(𝑥2𝑛 ))

𝑛−1

= ∑ 𝑓(𝑥2𝑖 ) + 4𝑓(𝑥2𝑖+1 ) + 𝑓(𝑥2𝑖+2 )
3
𝑖=0

Lorsque la subdivision se réduit à sa plus simple expression 𝑥0 = 𝑎 , 𝑥1 =


(𝑎 + 𝑏)⁄2 , 𝑥2 = 𝑏 la formule précédente devient
𝑏
1 𝑎+𝑏
∫ 𝑓(𝑥)𝑑𝑥 ≃ (𝑏 − 𝑎) ( 𝑓(𝑎) + 4𝑓 ( ) + 𝑓(𝑏))
𝑎 3 2

La méthode de Simpson est une méthode d’ordre 4. L’erreur dans la méthode de


Simpson est donnée par
𝑏
1 (𝑏 − 𝑎)5
|∫ 𝑓(𝑥)𝑑𝑥 − 𝑆| ≤ 4
sup |𝑓 (4) (𝑥)|
𝑎 180 𝑛 𝑥∈[𝑎,𝑏]

La somme S qui approche l’intégrale s’exprime par


𝑛−1
ℎ ℎ
𝑆 = ∑(𝑓(𝑎 + 𝑖ℎ) + 𝑓(𝑎 + (𝑖 + 1)ℎ) + 4𝑓 (𝑎 + 𝑖ℎ + )
3 2
𝑖=0

Exercice
Evaluer numériquement par la méthode de Simpson 1/3simple l’intégrale
𝜋/2
∫ sin 𝑥 𝑑𝑥
0

Remarque :
1- Tous les termes de rang impair sont multipliés par 4 tandis que ceux de rang
pair sont multipliés par 2, sauf 1𝑒𝑟 𝑓(𝑥0 ) et le dernier 𝑓(𝑥2𝑛 ).

2- La méthode de Simpson 1/3 composée est une méthode d’ordre 4.

De plus en raison de la présence de la dérivée 4𝑒𝑚𝑒 𝑑𝑒 𝑓(𝑥0 ) , cette


méthode est exacte dans le cas des polynômes de degré 3. Le degré de
précision de cette méthode est donc 3.

Exercice
Evaluer par la méthode de Simpson 1/3 composée l’intégrale :

𝜋/2
∫ sin 𝑥 𝑑𝑥
0

Comparer le résultat obtenu à celui de la méthode des trapèzes composée.


𝚰𝚰𝚰 − 𝐌é𝐭𝐡𝐨𝐝𝐞 𝐝𝐞 𝐑𝐎𝐌𝐁𝐄𝐑𝐆
La méthode de W.Romberg (1955) utilise l’extrapolation de Richardson à partir
de 2𝑛 applications de méthode des trapèzes. Soit 𝐴0,𝑛 les évaluations de
l’intégrale par la méthode des trapèzes.
𝑏−𝑎
𝐴0,0 = (𝑓(𝑎) + 𝑓(𝑏))
2
𝑏−𝑎 𝑏−𝑎
𝐴1,0 = (𝑓 (𝑎) + 𝑓(𝑏) + 2𝑓 (𝑎 + ))
4 2



2𝑛−1
1 (𝑏 − 𝑎) 𝑏−𝑎
𝐴𝑛,0 = 𝐴𝑛−1,0 + ∑ 𝑓(𝑎 + (2𝑘 + 1) )
{ 2 2𝑛 2𝑛
𝑘=0

Si la dérivée seconde de 𝑓 est continue bornée sur [𝑎, 𝑏] , la suite 𝐴𝑛,0 converge
vers la valeur exacte de l’intégrale. Pour accélérer la vitesse de la convergence,
on applique l’extrapolation de Richardson, au couple𝐴𝑛,0 , 𝐴𝑛−1,0 pour définir
𝐴𝑛,1 qui converge vers la valeur de l’intégrale si la dérivée quatrième de 𝑓 est
continue et bornée.
4𝐴𝑛,0 − 𝐴𝑛−1,0
𝐴𝑛,1 =
3
De proche en proche, on définit ainsi les valeurs extrapolées

4𝐴𝑛,𝑙−1 − 𝐴𝑛−1,𝑙−1
𝐴𝑛,𝑙 =
4𝑙 − 1
Lorsque 𝑛 tend vers l’infini, on a alors
𝑏
𝐴𝑛,𝑙 = ∫ 𝑓(𝑥)𝑑𝑥 + 𝑂( 4−𝑛(𝑙+1) )
𝑎

Exercice : Soit une fonction 𝑓(𝑥) connue seulement pour quelques valeurs de 𝑥 .
1
Evaluer l’intégrale ∫0 𝑓(𝑥)𝑑𝑥 à l’aide de la méthode de Romberg.

𝑥 𝑓(𝑥)
0,00 0,3989

0,25 0,3867

0,50 0,3521

0,75 0,3011

1,00 0,2420

Chapitre 6 : Résolution Numérique des Equations Différentielles

I- Introduction, le problème mathématique


Soit 𝐼 = [𝑎, 𝑏] un intervalle fermé de ℝ et 𝑓 une application donnée 𝑓 ∶
𝐼×ℝ→ℝ (𝑡, 𝑦) → 𝑓 (𝑡, 𝑦). Et soit 𝑦 une application différentiable de
ℝ→ℝ.

On appelle équation différentielle du premier ordre, la relation


𝑑𝑦(𝑡)
= 𝑓(𝑡, 𝑦(𝑡))
𝑑𝑡
On dit que 𝑦 est solution de cette équation différentielle sur [𝑎, 𝑏] si 𝑦 vérifie
la relation (1) pour tout 𝑡𝜖 [𝑎, 𝑏].

On appelle problème de Cauchy ou problème de condition initiale l’équation


différentielle à laquelle on ajoute la condition initiale 𝑦(𝑎) = 𝑦0 où 𝑦0 est
nombre donné :

𝑦 ′ (𝑡) = 𝑓(𝑡, 𝑦(𝑡))


{
𝑦(𝑎) = 𝑦0
Remarques
𝑑𝑦
1. Si 𝑦 est une fonction du temps, il est d’usage de noter la dérivée
𝑑𝑡
𝑑2 𝑦
par 𝑦 et de l’appeler vitesse. De même la dérivée seconde sera
𝑑𝑡 2
notée 𝑦̈ et appelée accélération.

2. Si on considère une équation différentielle d’ordre supérieure


𝑦 (𝑝) = 𝑓(𝑡, 𝑦, 𝑦 ′ , … , 𝑦 (𝑝−1) )
On peut ramener le problème à celui d’un système d’équations
différentielles du premier ordre, en posant 𝑧 = (𝑧1, 𝑧2 , … , 𝑧𝑝 ) et 𝑦 = 𝑧1 on
obtient le système :
𝑧1′ = 𝑧1
𝑧2′ = 𝑧2
⋮ ⋮

𝑧𝑝−1 = 𝑧𝑝
{ 𝑧𝑝′ = 𝑓(𝑡, 𝑧1, 𝑧2 , … , 𝑧𝑝 )
Exemple 1
Soit l’équation différentielle du second ordre :
𝑦 ′′ (𝑡) = 3𝑦 ′ (𝑡) − 𝑡𝑦(𝑡)
Posons 𝑦 = 𝑧1 et 𝑧1′ = 𝑧2 alors cette équation se ramène au système :
𝑧1′ = 𝑧2
{ ′
𝑧2 = 3𝑧1′ − 𝑡𝑧1
Définition 1
Soit 𝑓 une application définie sur [𝑎, 𝑏] × ℝ ; s’il existe une constante 𝐿 >
0 indépendante de 𝑡, 𝑢 et 𝑣 telle
|𝑓(𝑡, 𝑢) − 𝑓(𝑡, 𝑣)| ≤ 𝐿|𝑢 − 𝑣 | ∀𝑢, 𝑣𝜖ℝ 𝑒𝑡 ∀𝑡𝜖[𝑎, 𝑏] , alors 𝑓 est dites
Lipschitzienne de rapport 𝐿 sur [𝑎, 𝑏]] × ℝ (ou simplement 𝐿 −
𝑙ipschitzienne ).
Théorème
Si 𝑓 une application définie sur [𝑎, 𝑏] × ℝ continue et 𝐿 − 𝑙ipschitzienne
par rapport à 𝑦, alors le problème de Cauchy (2) admet de solution unique
sur [𝑎, 𝑏] et ceci pour toute condition initiale 𝑦0 , (∀ 𝑦0 𝜖 ℝ).
Une condition suffisante pour que les hypothèses du théorème soient
vérifiées est que f soit dérivable par rapport à y et que sa dérivée soit bornée.
(dem en exercice)
(Le théorème est en général faux sans la condition de Lipschit)

II-𝑳𝒂 𝒎é𝒕𝒉𝒐𝒅𝒆 𝒅’𝑬𝒖𝒍𝒆𝒓


Soit à intégrer numériquement le problème de Cauchy (2) , et soit 𝑦(𝑡i) la
valeur exacte de la solution de ce problème à l’abscisse 𝑡i .Une méthode
d’analyse numérique pour intégrer cette équation différentielle consistera à
fournir des approximations 𝑦i de 𝑦(𝑡i) pour 𝑖 = 1,2,3 … … … 𝑁 entier donné
.

Les différentes méthodes d’intégration se distinguent par la manière


d’obtenir ses
𝑦i. La méthode d’Euler, est la plus simple et consiste à substituer la dérivée
𝑑𝑦
𝑦 ′ (𝑡 ) = Par l’expression.
𝑑𝑡

𝑦(𝑡 + ℎ) − 𝑦(𝑡)

𝑏−𝑎
Ou ℎ = est le pas d’intégration numérique .
𝑁

Considérons alors une subdivision de [𝑎, 𝑏] en N sous intervalles [𝑡i ,ti+1]


de longueur h , 𝑖 = 1 , 2 … … … 𝑁 et 𝑡i= 𝑎 + 𝑖ℎ avec 𝑡0= 𝑎 et 𝑡n= 𝑏 .
L’expression (4) entraine
𝑦(𝑡 + ℎ) = 𝑦(𝑡) + ℎ𝑦 ′ (𝑡) 𝑑′ 𝑜𝑢 𝑦(𝑡 + ℎ) = 𝑦(𝑡) + ℎ𝑓(𝑡, 𝑦)
Par conséquent partant de la condition initiale (𝑡0, 𝑦0) et prenant un pas
régulier
ℎ = 𝑡i+1−𝑡i , on obtient en posant 𝑦i approximation de 𝑦(𝑡i) :

𝑦i+1= 𝑦i+ℎ𝑓(𝑡i, 𝑦i)

𝐿’𝑎𝑙𝑔𝑜𝑟𝑖𝑡ℎ𝑚𝑒 𝑑’𝐸𝑢𝑙𝑒𝑟 𝑠’é𝑐𝑟𝑖𝑡 𝑎𝑙𝑜𝑟𝑠 :


𝑦0 = 𝑦(𝑎) donné
{
𝑦i + 1 = 𝑦i + ℎ𝑓(𝑡i, 𝑦i) 𝑖 = 1 , 2 , … … … (𝑁 − 1)

Interprétation géométries: 𝑦i+1 approximation de 𝑦(𝑡i+1) est calculé à


partir de (𝑡0, 𝑦0) calculés précédemment grâce à la formule de récurrence (5)
et à la condition initiale 𝑦(𝑡0) = 𝑦0 .On calcule une approximation de la
solution 𝑦 en tout point 𝑡0+𝑖ℎ en remplaçant dans [𝑡i ,𝑡i+1] la courbe 𝑦(𝑡)
passant par 𝑦i par sa tangente en 𝑡i

Remarque
𝑂𝑛 𝑑𝑖𝑡 𝑞𝑢𝑒 𝑙𝑎 𝑚é𝑡ℎ𝑜𝑑𝑒 𝑑′ 𝐸𝑢𝑙𝑒𝑟 𝑒𝑠𝑡 à 𝑝𝑎𝑠 𝑠é𝑝𝑎𝑟é𝑠 𝑜𝑢 à 𝑢𝑛 𝑝𝑎𝑠 , 𝑝𝑎𝑟𝑐𝑒 𝑞𝑢𝑒
𝑙𝑒 𝑐𝑎𝑙𝑐𝑢𝑙 𝑑𝑒 𝑦i+1 𝑛𝑒 𝑓𝑎𝑖𝑡 𝑞𝑢𝑒 𝑖𝑛𝑡𝑒𝑟𝑣𝑒𝑛𝑖𝑟 𝑦i
𝑬𝒕𝒖𝒅𝒆 𝒅𝒆 𝒍’𝑬𝒓𝒓𝒆𝒖𝒓 𝒅’𝑬𝒖𝒍𝒆𝒓
Définition
Une méthode numérique approchant 𝑦(𝑡j) par 𝑦j telle que l’erreur
𝑒j= 𝑦(𝑡j)- 𝑦j vérifie est dite d’ordre 𝑝, (𝑘 ∈ 𝑅*+) .
Théorème
Supposons que l’application 𝑓(𝑡, 𝑦) soit continue par rapport aux deux
variables , et 𝐿𝑖𝑝𝑠𝑐ℎ𝑖𝑡𝑖𝑒𝑛𝑛𝑒 par rapport à y uniformément par rapport à t et
que
𝑦 ∈ 𝐶 2[𝑎, 𝑏].
On pose 𝑀2=𝑚𝑎𝑥t∈[a,b]|𝑦 ′′ (𝑡)| , alors on a la majoration

𝑀2
|𝑒i| ≤ (𝑒 𝐿(𝑏−𝑎) − 1) ℎ
2𝑙

𝑒i= 𝑦i − 𝑦(𝑡i) est l’erreur commise au point (𝑡i,𝑦i).


Remarque
1. Ce résultat s’exprime sous la forme |𝑒i | ≤ ℎ𝑘 , c’est-à-dire
2. Pour que 𝑦 ∈ 𝐶 2[𝑎, 𝑏] , il suffit que 𝑓 ∈ 𝐶 1∗ ([𝑎, 𝑏] ∗ 𝑅 ).
On donne dans la suite des méthodes d’ordre plus élevés que celui de la
méthode d’Euler, donc plus rapide et plus précise.

Exercice d’application
Résoudre par la méthode d’Euler l’équation différentielle
𝑦 ′ (𝑡) = −𝑦(𝑡) + 𝑡 + 1
{
𝑦(0) = 1 (𝐶𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 𝑖𝑛𝑖𝑡𝑖𝑎𝑙𝑒)

𝐈𝐈𝐈 − 𝐌é𝐭𝐡𝐨𝐝𝐞 𝐝𝐞 𝐓𝐚𝐲𝐥𝐨𝐫 𝐝’𝐨𝐫𝐝𝐫𝐞 𝟐


L’idée consiste à remplacer sur [𝑡i,𝑡i+1] la courbe 𝑦(𝑡) solution de l’équation
différentielle non plus par une droite mais une parabole . En effet :
𝜕𝑓(𝑡, 𝑦) 𝜕𝑓(𝑡, 𝑦)
𝑦 ′′ (𝑡) = + 𝑓(𝑡, 𝑦)
𝜕𝑡 𝜕𝑦
Et en négligent les termes d’ordre supérieur, on obtient alors l’algorithme de
Taylor d’ordre 2 :

𝑏−𝑎
ℎ= , 𝑥0 = 𝑎 , 𝑦0 𝑑𝑜𝑛𝑛é 𝑡i + 1 = 𝑡i + ℎ
2
ℎ2 𝜕𝑓 𝜕𝑓
𝑦i + 1 = 𝑦i + ℎ𝑓(𝑡I, 𝑦i) + ( + 𝑓)(𝑡i, 𝑦i) 𝑖 = 0 , 1 , … … … (𝑁 − 1)
{ 2 𝜕𝑡 𝜕𝑦

Cependant cette méthode présente un inconvénient certain qui réside dans le


𝜕𝑓 𝜕𝑓
calcul de ( + 𝑓) qui peut être difficile ; pour résoudre ce problème on
𝜕𝑡 𝜕𝑦
utilise souvent la méthode de 𝑅𝑢𝑛𝑔𝑒 − 𝐾𝑢𝑡𝑡𝑎 2 𝑑𝑜𝑛𝑛é 𝑝𝑙𝑢𝑠 𝑏𝑎𝑠

𝑴é𝒕𝒉𝒐𝒅𝒆 𝒅𝒆 𝑹𝒖𝒏𝒈𝒆 − 𝑲𝒖𝒕𝒕𝒂

1. Runge-Kutta d’ordre 2 RKT 2


On prend l’algorithme de Taylor d’ordre en remarquant qu’a des termes en
h près, on a grâce à un développement de Taylor :
𝜕𝑓 𝜕𝑓
(𝑓 + ℎ +ℎ 𝑓)(𝑡i, 𝑦i) = 𝑓(𝑡i+ℎ , 𝑦i +ℎ𝑓(𝑡i, 𝑦i))
𝜕𝑡 𝜕𝑦

D’ou

𝑦i+1= 𝑦i + (𝑓(𝑡i, 𝑦i) + 𝑓(𝑡i+ℎ , 𝑦i +ℎ𝑓(𝑡i, 𝑦i))
2

Ainsi on obtient l’algorithme de RKT 2 :



𝑦i + 1 = 𝑦i + (𝐾1 + 𝐾2) 𝑖 = 0 , 1 , … … … (𝑁 − 1) Ou
{ 2
𝐾1 = 𝑓(𝑡i, 𝑦i) 𝑒𝑡 𝐾2 = 𝑓(𝑡i + ℎ , 𝑦i + ℎ𝐾1)

Exercice 1
Résoudre par la méthode de 𝑅𝑢𝑛𝑔𝑒 − 𝐾𝑢𝑡𝑡𝑎 le système suivant :
𝑦 ′ (𝑡) = −𝑦(𝑡) + 𝑡 + 1
{
𝑦(0) = 1 (𝐶𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 𝑖𝑛𝑖𝑡𝑖𝑎𝑙𝑒)

Exercice 2
1. Transformer l’équation différentielle suivante :
𝑑2 𝑥 2)
𝑑𝑥
− ( 1 − 𝑥 +𝑥 =0
𝑑𝑡 2 𝑑𝑡
Ou initialement 𝑥 (0) = 0.5 ; 𝑥 ′ (0) =
0 ; 𝑒𝑛 𝑢𝑛 𝑠𝑦𝑠𝑡è𝑚𝑒 𝑑′ é𝑞𝑢𝑎𝑡𝑖𝑜𝑛 𝑑′ 𝑜𝑟𝑑𝑒 1
2. Indiquer les conditions initiales applicables au système
3. Avec un pas de temps ℎ = 0.1 , calculer 𝑥(𝑡) 𝑒𝑡 𝑥 ′ (𝑡) à 𝑡 = 0.1 à
l’aide de la méthode 𝑑’𝐸𝑢𝑙𝑒𝑟

Vous aimerez peut-être aussi