Vous êtes sur la page 1sur 104

Cours danalyse numérique (X32P041)

Arezki Mokrani

 − 
Contents

1 Introduction générale 4

2 Résolution des équations non linéaires 6


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Séparation et localisation des racines . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Méthode de balayage . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3 Division synthétique . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.4 Méthode graphique . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.5 Considérations physiques . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Méthodes de résolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Méthode du point fixe . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.2 Méthode de Newton Raphson . . . . . . . . . . . . . . . . . . . . 14
2.3.3 Méthode de la sécante . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Résolution des systèmes d’équations non linéaires 16


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Localisation et séparation des racines . . . . . . . . . . . . . . . . . . . . 17
3.3 Méthode de résolution du point fixe . . . . . . . . . . . . . . . . . . . . . 18
3.3.1 Contraction stricte . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.2 Théorème du point fixe . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Méthode de Jacobi et Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . 19
3.5 Méthode de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . 20

4 Résolution des systèmes d’équations linéaires 21


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Systèmes linéaires à matrice particulière . . . . . . . . . . . . . . . . . . 24
4.2.1 Système à matrice triangulaire inférieur . . . . . . . . . . . . . . . 25
4.2.2 Système à matrice triangulaire supérieur . . . . . . . . . . . . . . 25
4.3 Erreur sur la solution introduite par les erreurs sur A et B . . . . . . . . 26
4.4 Méthodes exactes à algorithme fini . . . . . . . . . . . . . . . . . . . . . 27
4.4.1 Application de la matrice inverse et formules de Cramer . . . . . 27
4.4.2 Méthode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4.3 Méthode de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . . . 32
4.4.4 Systèmes d’équations tridiagonaux. Algorithme de Thomas . . . . 38
4.4.5 Méthode de factorisation LU . . . . . . . . . . . . . . . . . . . . 40
4.5 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5.2 Principe des méthodes itératives . . . . . . . . . . . . . . . . . . . 44
4.5.3 Méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.5.4 Méthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . 50

1
4.5.5 Méthode de relaxation . . . . . . . . . . . . . . . . . . . . . . . . 51
4.5.6 Méthode d’optimisation . . . . . . . . . . . . . . . . . . . . . . . 54

5 Interpolation numérique 60
5.1 Rappels sur les polynômes orthogonaux . . . . . . . . . . . . . . . . . . . 60
5.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.1.2 Propriétés élémentaires . . . . . . . . . . . . . . . . . . . . . . . . 60
5.1.3 Exemple de famille de polynômes orthogonaux . . . . . . . . . . . 61
5.1.4 Polynômes orthogonaux sur un ensemble discret de points . . . . 62
5.2 Introduction - Qu’est-ce que l’interpolation . . . . . . . . . . . . . . . . 63
5.3 Fonctions d’interpolation usuelles . . . . . . . . . . . . . . . . . . . . . . 63
5.4 Interpolation par un système de fonctions linéairement indépendantes . . 64
5.5 Interpolation en puissance de x . . . . . . . . . . . . . . . . . . . . . . . 65
5.6 Polynômes d’interpolation de Lagrange . . . . . . . . . . . . . . . . . . . 66
5.6.1 Erreur d’interpolation . . . . . . . . . . . . . . . . . . . . . . . . 66
5.6.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.7 Polynômes d’interpolation de Newton . . . . . . . . . . . . . . . . . . . . 70
5.7.1 Différences divisées . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.7.2 Polynôme d’interpolation de Newton . . . . . . . . . . . . . . . . 70
5.7.3 Algorithme de Newton . . . . . . . . . . . . . . . . . . . . . . . . 70
5.8 Interpolation par des fonctions splines . . . . . . . . . . . . . . . . . . . . 74
5.8.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.8.2 Spline cubique : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6 Approximations de fonctions 76
6.1 Rappels - espace vectoriel normé, espace préhilbertien . . . . . . . . . . . 76
6.1.1 Exemples de normes : . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2 Meilleure approximation dans un espace vectoriel normé . . . . . . . . . 78
6.2.1 Modèle linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.3 Mesure de la qualité d’une approximation . . . . . . . . . . . . . . . . . 80
6.3.1 Pratique des approximations . . . . . . . . . . . . . . . . . . . . . 81
6.3.2 Méthode des moindres carrés pour les modèles linéaires . . . . . . 84

7 Dérivation numérique 90
7.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.1.1 Formules de dérivation numérique . . . . . . . . . . . . . . . . . . 91
7.1.2 Interprétation graphique . . . . . . . . . . . . . . . . . . . . . . . 91
7.1.3 Erreur de dérivation . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.2 Formules de dérivations numériques pour des points équidistants . . . . . 92
7.2.1 Formules des dérivées en fonction des différences progressives . . . 92
7.2.2 Formules des dérivées en fonction des différences régressives . . . 93
7.2.3 Formules des dérivées en fonction des différences centrées . . . . . 93

8 Résolution numérique des équations différentielles 94


8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.2 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.3 Méthodes de résolution numérique des équations différentielles . . . . . . 95
8.4 Méthode d’Euler (méthode à un pas) . . . . . . . . . . . . . . . . . . . . 95
8.5 Méthodes de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . 97

2
9 Intégration numérique 98
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9.2 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.3 Formule de quadrature de précision n . . . . . . . . . . . . . . . . . . . . 99
9.4 Formules de quadrature de Newton-Cotes . . . . . . . . . . . . . . . . . . 100
9.4.1 cas : n = 1 Formule du trapèze . . . . . . . . . . . . . . . . . . . 101
9.4.2 cas : n = 2 Formule de Simpson . . . . . . . . . . . . . . . . . . 101
9.5 Formule de quadrature de Gauss . . . . . . . . . . . . . . . . . . . . . . . 102

3
Chapter 1

Introduction générale

L’analyse numérique est la recherche et l’étude d’algorithmes permettant de résoudre des


problèmes de l’analyse mathématique, au moyen de calculs arithmétiques.
Cette étude concerne les conditions d’existence et d’unicité de la solution du problème
posé, ainsi que les performances du procédé de résolution telles que la convergence, la
stabilité, la précision, etc ..
On traite notamment les problèmes dont la solution ne présente pas de solution ana-
lytique exploitable.

Exemples:
On sait bien résoudre les équations du type :

ax2n + bxn + c = 0 (n ∈ N )
ou bien

ay 00 + by 0 + c = 0

Par contre, il plus très compliqué de trouver une solution analytique pour les équations
polynomiales de degrés n > 3 ou les équations transcendantes telles que

a log (x) + b sin (x) + cecos(x)


ou bien

ay 00 tan (x) + by 0 cos (x) + c = 0

L’analyse numérique devient indispensable quand il s’agit de résoudre des systèmes


d’équations linéaires ou non linéaires.
Des algorithmes spécifiques à chaque type de système ont été développés notamment
pour les systèmes de dimension élevée.
Le calcul d’un certain nombre d’intégrales de fonctions connues numériquement ou
dont la primitive n’a pas de forme analytique exploitable.

Avec le développement des ordinateurs, on résout des problèmes de plus en plus com-
plexes et l’analyse numérique trouve, maintenant, application dans différent domaines:

4
recherche fondamentale ou appliquée dans différents domaines, prévision météorologique,
imagerie médicale, simulation et modélisation de processus physiques et sociaux, ...

De nos jours, on parle d’économie numérique...

Le développement et la performance des ordinateurs joue évidement un rôle très im-


portant.
L’ordinateur est 109 fois plus rapide que l’homme et se trompe beaucoup moins que
l’humain. Mais son gros défaut est "peut être" sa fidélité absolue à son programmateur.
Donc, si un de vos programme vous donne un résultat que vous jugerez erroné ne lui
taper pas dessus, il y est pour rien, chercher le coupable ailleurs, mais pas trop loin ...
Même si les ordinateurs sont très rapides, la recherche d’algorithmes performant reste
indispensable. Prenant par exemple, la résolution d’un système d’équations linéaire
d’ordre n. La méthode des déterminants (dite de Cramer) est très simple, l’inconnue
xi est tout simplement le rapport ∆∆i , où ∆ est déterminant le déterminant du système
et ∆i est le déterminant ∆ dont lequel, on remplace la ieme colonne par la colonne du
second membre du système.
Pour un système d’ordre n = 50, le meilleur des ordinateur calculera pendant des
milliards d’années pour arriver au résultat. Alors, qu’on utilisant un autre algorithme
(voir chapitre 3), une fraction de seconde suffirait.
Un autre problème, et pas des moindres, est celui de la convergence de certain processus
itératifs et l’accumulation d’erreurs numériques. Le choix de l’algorithme s’avère là aussi
crucial.

5
Chapter 2

Résolution des équations non linéaires

2.1 Introduction
On s’intéresse à la résolution d’équations non linéaire à une seule variable dont on ne
peut pas trouver de solution analytique. Soit

f (x) = 0 (x ∈ R1 ) ou (x ∈ C1 ) (2.1)

où f est une fonction réelle, pouvant être polynomiale de degrés supérieur à 4 ou une
fonction transcendante.
L’équation f (x) = 0 peut présenter plusieurs racines. Pour déterminer une racine,
il faut d’abord faire une séparation des racines et localiser la racine recherchée. Cette
localisation consiste à trouver un domaine contenant uniquement cette racine.

6
2.2 Séparation et localisation des racines
2.2.1 Principe
La Séparation et localisation des racines sont basées sur le théorème suivant :

Théorème : 1. Si f (x est une fonction continue dans [a, b] et si n est le nombre de


racines de l’équation f (x) = 0 dans [a, b] alors :

1. si f (a)f (b) > 0 alors n est nul ou pair

2. si f (a)f (b) < 0 alors n est impair et si f 00 (x) = 0 pour x ∈ ]a, b[ alors n = 1

Si la fonction f est strictement monotone dans [a, b], alors, l’existance d’une racine
implique son unicité.

2.2.2 Méthode de balayage


On subdivise l’intervalle de recherche [a, b] en n domaines [xi , xi+1 ], en définissant, par
exemple, xi = a + i × b−a
n
. On utilise le théorème 1 pour chacun de ces domaines. Une
grande valeur de n donne une meilleure discrimination.

7
2.2.3 Division synthétique
Connaissant m racines r1 , r2 , ..., rm de l’équation f (x) = 0, on détermine la (m + 1)ème
f (x)
racine en évaluant une racine de fm (x) = Qm =0
i=1 (x − ri )

2.2.4 Méthode graphique


On trace la courbe de la fonction f et les racines sont localisées par les interactions de
cette courbe avec l’axe des x.
Pour plus de précision, il est souvent nécessaire d’écrire f (x) sous la forme:

f (x) = h(x) − g(x) (2.2)


et les racines sont localisées par les intersections des courbes des deux fonctions h et g,
comme le montre la figure ci-dessous.

Localisation des racines de f(x) = ln(x) 2x2 + 5x 1 = 0


4 g(x) = 2x2 5x + 1
h(x) = ln(x)
2

8
0.0 0.5 1.0 1.5 2.0 2.5 3.0
x

8
2.2.5 Considérations physiques
Souvent, lorsqu’on cherche une solution d’un problème physique, on connait l’ordre de
grandeur et/ou le signe, ce qui permet de définir un domaine de localisation de la racine
réelle et de la séparer d’autres solutions non physiques.

9
2.3 Méthodes de résolutions
Méthode de bissection (ou de dichotomie)
Une fois la localisation de la racine x∗ est localisée dans l’intervalle [a, b], la méthode de
dichotomie consiste à l’encadrer d’une manière de plus en plus précise, en comparant la
valeur de f(x) au milieu de l’intervalle avec les valeurs obtenues aux bornes de celui-ci
(théorème 1), en remplaçant l’intervalle [a, b] par un intervalle deux fois plus petit, et
ainsi de suite.
Algorithme de la méthode de dichotomie:
Données: a, b, 

i=0
 = |b − a|
d
Tant que d > 
 i=i+1

 x = a+b
 2
 Si (f (x) ∗ f (a)) < 0 alors b = x

 Sinon a = x
d = |b − a|

x = a+b
2
i=1 : f (x).f (a) < 0, alors a = a et b = x
f (x).f (b) < 0, alors a = x et b = b
..
.
A la nème itération, la racine se trouve localisée dans un intervalle [an , bn ] de longueur:

n = bn − an
Exercice : Montrer que

0
n = bn − an =
2n
où 0 = b − a (longueur de l’intervalle initial)

• L’avantage de cette méthode est que l’algorithme converge toujours vers la solution.

• L’inconvénient, c’est que sa convergence n’est pas rapide.

Cette méthode présente un algorithme fini, c’est-à-dire que connaissant la longueur de


l’intervalle initial 0 ainsi que celle du final n (qui représente la tolérance sur la solution),
on peut connaître le nombre d’itérations nécessaires.
Comme cette méthode présente une convergence lente, on l’utilise donc souvent pour
démarrer d’autres méthodes plus performantes.

10
2.3.1 Méthode du point fixe
Principe :

f (x) = 0 ⇔ x = F (x) (2.3)


Exemples :
 2 x
 x = F1 (x) = x
 √ + 3e − x
12 + x
2 x
f (x) = x + 3e − 12 ⇔ x = F 2 (x) = 12
 − 3e (2.4)
 x = F3 (x) = ln 12−x2

3

x(k) = F (x(k−1) ) (2.5)

lim x(k) = x∗ (2.6)


k→+∞

Théorème : 2. Théorème du point fixe


Si la fonction F de l’équation x = F (x) possède une dérivée première qui vérifie :

(∀x ∈ R) |F 0 (x)| ≤ m ≤ 1
alors (∀x(0) ∈ R) la suite {x(0) , x(1) , x(2) , ...} générée par par x(k) = F (x(k−1) ) converge
vers la solution x∗ de l’équation x = F (x) et donc de l’équation f (x) = 0.
De plus, la solution x∗ est unique.

11
Représentations géométriques

• Convergence en spirale: −1 < F 0 (x) < 0

0.40
f(x) = ex + 2 x 2 = 0 x = F(x) = 14 (2 ex)2 F(x)
0.35 y=x

0.30

0.25

0.20

0.15

0.10

0.05

0.00 x(1) x(3) x(4) x(2) x(0)


0.0 0.1 0.2 0.3 0.4 0.5 0.6

• convergence en escalier: 0 < F 0 (x) < +1

0.50
f(x) = e x + 2 x 2 = 0 x = F(x) = 14 (2 e x)2 F(x)
y=x
0.49

0.48

0.47

0.46

0.45 x(3) x(2) x(1) x(0)


0.470 0.475 0.480 0.485 0.490 0.495 0.500 0.505 0.510

12
• divergence en spirale: F 0 (x) < −1

0.40
f(x) = ex + 2 x 2 = 0 x = F(x) = ln(2 2 x) F(x)
0.35 y=x

0.30

0.25

0.20

0.15

0.10

0.05

0.00 x(4) x(2) x(0) x(1) x(3)


0.00 0.05 0.10 0.15 0.20 0.25 0.30

• divergence en escalier: F 0 (x) > +1

1.0
F(x)
y=x
0.8

0.6

0.4

0.2
f(x) = e x + 2 x 2 = 0 x = F(x) = ln(2 2 x)
0.0 x(0) x(1) x(2) x(3)
0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

13
2.3.2 Méthode de Newton Raphson
C’est l’une des méthodes les plus utilisée, pour sa convergence rapide. Soit f est une
fonction continue est continument dérivable dans l’intervalle [a, b] contenant la solution
x∗ de l’équation f (x) = 0.
Le développement de Taylor de autour de (x ≈ x∗ ) s’écrit :
1 ∗
(x − x)2 f 00 (x) + ...
f (x∗ ) = f 0 x) + (x∗ − x) f 0 (x) + (2.7)
2
Si x est suffisamment proche de x∗ , les termes d’ordre supérieurs à 1 en (x∗ − x)
peuvent être négligés. On obtient alors :

f (x)
f (x∗ ) = 0 ≈ f 0 x) + (x∗ − x) f 0 (x) =⇒ x∗ = x − (2.8)
f 0 (x)
A partir de l’équation (2.8), on peut écrire le processus itératif :

f (xi )
xi+1 = xi − (i = 0, 1, 2, ...) (2.9)
f 0 (xi )
avec x0 donné proche de x∗ .

Représentation graphique
f(x)

0
x* x(2) x(1) x(0)

14
2.3.3 Méthode de la sécante
Cette méthode consiste à approcher la racine de l’équation f (x) = 0, en considérant les
intersections successives d’une droite, de pente variable, avec l’axe des x.
(0)
Soit c ∈ [a, b] tel que f (c) 6= 0 et x tel que f (x(0) )f (c) < 0
(0) (0)
Le segment (c, f (c)) ; x , f (x coupe l’axe des x en x(1)
On considère à nouveau le segment (c, f (c)) ; x(1) , f (x(1) pour obtenir x(2)
 

et ainsi de suite.
La méthode itérative s’écrit :

f (x(n) )
x(k+1) = F (x(k) ) = x(k+1) − (n)

x − c (2.10)
(f (x(n) ) − f (c))
La convergence est assurée par un choix de c qui satisfait la condition |F 0 (c)| < 1 dans
un voisinage de la racine x∗ .

Représentation graphique

f(x) = x2 2
2

x(0) x(1) x(2)


0 x(*) c

2
0.5 0.0 0.5 1.0 1.5 2.0

15
Chapter 3

Résolution des systèmes d’équations


non linéaires

3.1 Introduction
On cherche à résoudre un système d’équations non linéaires à n inconnues xi (i =
1, 2, ..., n) de la forme :

 f1 (x1 , x2 , ..., xn ) =
 0
f2 (x1 , x2 , ..., xn ) = 0




.

(3.1)

 .
.




fn (x1 , x2 , ..., xn ) = 0

Le problème est de trouver un ensemble de n valeurs xi (i = 1, 2, ..., n) réelles vérifiant


les n équations, du système, simultanément.
Sous forme matricielle, le système d’équations (3.1) peut s’écrire :
   
x1 f1 (x)
 x2   f2 (x) 
   
 .   . 
f (x) = 0 avec x ≡  .  et f (x) ≡  . 
   (3.2)
   
 .   . 
xn fn (x)
où x ∈ Rn et f une application de Rn dans Rn .
On note par x∗ la solution recherchée du système d’équation (3.2) dont les éléments
de matrice sont notés xi ∗ (i = 1, 2, ..., n).
De même qu’une équation non linéaire, peut avoir plusieurs solutions (chapitre 2), le
système d’équations non linéaire peut aussi avoir plusieurs solutions. Avant de commencer
la recherche de ces solutions, on doit d’abord les localiser et les séparer.

16
3.2 Localisation et séparation des racines
C’est un problème difficile à traiter en toute généralité.

Exemple de localisation par la méthode graphique



f1 (x, y) = 2x2 − xy − 5x + 1 = 0
(3.3)
f2 (x, y) = x + 3 ln(x) − y 2 = 0

3 f1(x, y) = 2x2 xy 5x + 1 = 0
f2(x, y) = x + 3ln(x) y2 = 0
2
2

0
y

1 1

3
0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
x

17
3.3 Méthode de résolution du point fixe
3.3.1 Contraction stricte
Soit un espace métrique E, muni d’une distance d et F une application de E −→ E .
F est dite contraction stricte, s’il existe une constante k, 0 < k < 1 telle que :

(∀x, y ∈ E) d(F (x), F (y)) ≤ k × d(x, y)

F est dite Lipschitzienne et uniformément continue.

3.3.2 Théorème du point fixe


Soit E un espace métrique non vide et F une contraction stricte dans E .
F admet un point fixe et un seul, donné par la méthode des substitutions successives :

x(k+1) = F (x(k) ) (k = 1, 2, ...) et (x(0) ∈ E) (3.4)


L’erreur à l’estimation n est telle que :
kn
d(x(n) , x(∗) ) ≤ d(x(1) , x(0) ) (3.5)
(1 − k)

18
3.4 Méthode de Jacobi et Gauss-Seidel
On écrit les système d’équations (3.2) sous la forme :

f (x) = 0 ⇐⇒ x = F (x) (3.6)


S’il existe un domaine D convexe contenant la solution x∗ de l’équation (3.6) et tel
que :
n
X ∂Fi
(∀x ∈ D) ∂xj < 1 (i = 1, 2, ..., n)
(3.7)
j=1

alors, (∀x(0) ∈ D), la suite

x(k+1) = F (x(k) ) (3.8)


converge vers la solution x(∗)
La suite (3.8) peut s’écrire aussi comme suite :
 
(k+1) (k) (k)
xi = Fi x1 , x2 , ..., x(k)
n (i = 1, 2, ..., n) (3.9)

Le processus itératif (3.9) est l’algorithme de Jacobi qu’on peut améliorer en écrivant:

 
(k+1) (k+1) (k+1) (k+1) (k) (k)
xi = Fi xi , x2 , ..., xi−1 , xi , xi+1 , ..., x(k)
n (i = 1, 2, ..., n) (3.10)

Le processus itératif (3.10) est l’algorithme de Gauss-Siedel.

19
3.5 Méthode de Newton-Raphson
C’est la généralisation de la méthode de Newton-Raphson qu’on a exposé au (§ 2.3.2),
dans le cas d’une équation non linéaire.
On construit la suite {x(k) } en utilisant les évaluations de f et de ses dérivées partielles
premières. En écrivant le développement limité au premier ordre suivant :
n
(k+1) (k)
X ∂fi (x(k) )
δx(k)

fi (x ) ≈ fi (x ) + j
(3.11)
j=1
∂xj

δx(k) = x(k+1) − x(k) (3.12)


On pose:
∂f1 (x(k) ) ∂f1 (x(k) ) ∂f1 (x(k) )
 
∂x1 ∂x2
··· ∂xn
 ∂f2 (x(k) ) ∂f2 (x(k) ) ∂f2 (x(k) ) 
0 k
 ∂x1 ∂x2
··· ∂xn

f (x ) =  ..

.
 
 
∂fn (x(k) ) ∂fn (x(k) ) ∂fn (x(k) )
∂x1 ∂x2
··· ∂xn

Si on est proche de la solution (x(k+1) ≈ x∗ ), on peut déduire à partir de (3.11), le


système d’équations linéaires suivant :

f 0 (x(k) ) δx(k) = −f (x(k) ) (3.13)

A partir de la résolution de ce système d’équations, on obtient δx(k) et par la suite


(k+1)
x à partir de (3.12).
On a donc le processus itératif dit de newton-Raphson :

x(k+1) = x(k) − f 0 (x(k) ) f (x(k) ) (k = 0, 1, 2, ...) (3.14)


Ce processus itératif est une généralisation à n dimensions du processus itératif (2.9)
à une dimension.

20
Chapter 4

Résolution des systèmes d’équations


linéaires

4.1 Introduction
Soit le système de n équations linéaires à coefficients réels aij ∈ R et bi ∈ R (i, j =
1, 2, ..., n)
La résolution de ce système d’équation consiste à trouver les n valeurs des xi (i =
1, 2, · · · , n) qui satisfont simultanément les n équations du système.


 a11 x1 a12 x2 · · · a1n xn = b1
 a21 x1 a22 x2 · · · a2n xn = b2

.. (4.1)


 .
 a x a x ··· a x = b
n1 1 12 2 nn n n

Sous forme matricielle, le système d’équations s’écrit :


    
a11 a12 · · · a1n x1 b1
 a21 a22 · · · a2n   x2   b2 
AX = B ⇔  .. = (4.2)
    
  .. .. 
 .  .   . 
an1 an2 · · · ann xn bn
| {z } | {z } | {z }
=A =X =B

On notera la solution recherchée de ce système d’équations linéaires par:


 
x∗1
 x∗ 
∗  2 
X =  .. 
 . 
x∗n

Une condition nécessaire et suffisante d’existence et d’unicité de la solution est det(A) 6= 0 .

21
On distingue deux types de méthodes de résolution de ces systèmes d’équations :

(i) Les méthodes exactes (dites aussi directes) à algorithmes finis


On sait dès le départ combien d’opérations sont nécessaires. En effet, mathéma-
tiquement elles sont exactes et présentent un nombre fini d’opérations.
Ceci dit, les résultats de ces méthodes peuvent être altérés par la propagation des
erreurs numériques.
Elles sont adaptées à des systèmes de taille pas trop élevée .
Exemples :

– Méthode de Cramer
– Méthode de Gauss
– Méthode de Gauss - Jordan
– Méthode de factorisation LU
– etc . . .

(ii) Les méthodes itératives


Elles permettent d’approcher la solution exacte avec la précision imposée à l’aide
de processus itératifs convergents infinis.
Ces méthodes sont particulièrement adaptées aux systèmes de grande taille.
Exemples :

– Méthode de Seidel
– Méthode de relaxation
– Méthode d’optimisation
– etc . . .

22
Étude d’une méthode
* C’est l’analyse et la description de la méthode

* C’est le conditionnement de la méthode (c’est-à-dire quelles sont les conditions pour


lesquelles elle marche)

* C’est le décompte du nombre d’opérations nécessaires

* C’est l’étude de la stabilité numérique

Remarque : On s’intéressera aux systèmes d’équations linéaires à coefficients réels, ces


méthodes peuvent facilement être adaptées pour la résolution de systèmes d’équations
linéaires à coefficients complexes. En effet, on peut toujours les transformer en un système
à coefficients réels mais de dimension double.

A = <(A) + i=(A)     
<(A) −=(A) <(X) <(B)
X = <(X) + i=(X) ⇒ =
=(A) <(A) =(X) =(B)
B = <(B) + i=(B)

23
4.2 Systèmes linéaires à matrice particulière
Systèmes à matrice A diagonale
aij = 0 si i 6= j et aii 6= 0 pour (i = 1, · · · , n)
La solution X ∗ est immédiate :

bi
x∗i =
aii

24
4.2.1 Système à matrice triangulaire inférieur
 
a11 0 0 0 ··· 0

 a21 a22 0 0 ··· 0 

Tinf =
 a31 a32 a33 0 ··· 0 
 (4.3)
 .. 
 . 
an1 an2 an3 an4 · · · ann
 n
 X



 aij xj = bi
j=1
(4.4)


 (i = 1, 2, · · · , n)

aij = 0 (j = i + 1, i + 2, · · · , n)

soit
i
X i−1
X
aij xj = aii xi + aij xj = bi (i = 1, 2, · · · , n) (4.5)
j=1 j=1

d’où l’algoritme :
b1


 x1 =

 a11
i−1
! (4.6)
1 X
 xi = a bi − aij xj (i = 2, 3, · · · , n)



ii j=1

4.2.2 Système à matrice triangulaire supérieur


 
a11 a12 a13 a14 ··· a1n

 0 a22 a23 a24 ··· a2n 

 0 0 a33 a34 ··· a3n 
Tsup = (4.7)
 
 0 0 0 a44 ··· a3n 

 .. 
 . 
0 0 0 0 ··· ann
 n
 X



 aij xj = bi
j=1
(4.8)


 (i = 1, 2, · · · , n)

aij = 0 (j = 1, 2, · · · , i − 1)

soit
n
X n
X
aij xj = aii xi + aij xj = bi (i = 1, 2, · · · , n) (4.9)
j=i j=i+1

d’où l’algoritme :
bn


 xn =

 ann
(4.10)
n
!
1 X
 xi = aii bi − aij xj (i = n − 1, n − 2, · · · , 1)



j=i+1

25
4.3 Erreur sur la solution introduite par les erreurs sur
A et B
Rappels :
n 1
|xi |k ) k
P
• Norme vectorielle d’ordre k : ||X||k = (
i=1

• Norme matricielle subordonnée : ||A||k = max ||AX||


||X||k
k
X6=0

• Nombre de condition de A : Condk (A) = ||A||k .||A−1 ||k

Théorème :
Si Condk (A) est voisin de 1, on dit que la matrice A est bien conditionnée; sinon, on
dit qu’elle est mal conditionnée.

• Erreur δX sur la solution engendrée par une erreur δB sur le second membre B:
A(X + δX) = B + δB
Théorème :
Si X 6= 0,
||δX|| ||δB||
alors ≤ Cond(A)
||X|| ||B||
• Erreur δX sur la solution engendrée par une erreur δA sur la matrice A:
(A + δA)(X + δX) = B
Théorème :
Si X 6= 0, et si A−1 . ||δA|| < 1,

||δX|| Cond(A). ||δA||


||A||
alors ≤
||X|| 1 − Cond(A). ||δA||
||A||

• Erreur δX sur la solution engendrée par une erreur δA sur la matrice A et une
erreur δB sur le second membre B :
(A + δA)(X + δX) = B + δB
Théorème :
6 0, et si A−1 . ||δA|| < 1,

Si ||X|| =
||δX|| Cond(A) ||δB|| ||δA||
alors ≤ ||δA||
.( + )
||X|| 1 − Cond(A). ||A|| ||B|| ||A||

26
4.4 Méthodes exactes à algorithme fini
4.4.1 Application de la matrice inverse et formules de Cramer
Si la matrice A est régulière, c’est-à-dire det(A) 6= 0, alors il existe une matrice A−1 définie
par A−1 A = AA−1 = I. Dans ce cas là, avec AX = B, on obtient A−1 AX = A−1 B.
Soit X = A−1 B
Ainsi, la résolution de ce système d’équations consiste en la recherche de la matrice
inverse A−1 de la matrice A.
Le calcul de A−1 demande beaucoup de temps de calcul,en effet

1
A−1 = (Cof A)t
det(A)

avec Cof A la matrice des cofacteurs de A, obtenue en remplaçant chaque élément aij
de A par son cofacteur, c’est-à-dire le déterminant, d’ordre (n − 1), obtenu à partir du
determinant de A en supprimant la ligne i et la colonne j, puis multiplié par (−1)i+j .
Formules de Cramer :

∆i
xi = (i = 1, n) (4.11)

où ∆ = det(A) et ∆i = le déterminant de la matrice A dans laquelle on remplace la
ième colonne par le vecteur B.
Remarque :
En pratique, il est très rare d’utiliser cette technique car elle est très coûteuse en temps
de calcul. En effet, le nombre d’opérations est de l’ordre de n!.

27
4.4.2 Méthode de Gauss
Principe :
On transforme le système donné en un système plus simple à résoudre, en le triangular-
isant:
 0
 Tinf X = B

AX = B ⇔ ou bien (4.12)
00

Tsup X = B

où Tinf est une matrice triangulaire inférieure de la forme (4.3) et Tsup est une matrice
triangulaire supérieure de la forme (4.7).
On utilise pour cela un algorithme d’élimination successive des inconnues.

Méthode d’élimination des inconnues :


• On utilise la 1ère équation (du système AX = B) pour éliminuer la 1ère inconnue
des (n − 1) équations suivantes.

• On utilise par la suite la nouvelle seconde équation pour éliminer la seconde inconnue
des (n − 2) nouvelles équations suivantes.

• Ainsi de suite jusqu’à l’obtention de la dernière équation ne contenant qu’une seule


inconnue. On obtient alors le système triangulaire supérieur.

Pour obtenir un système triangulaire inférieur, on procède d’une manière analogue mais
en commençant l’élimination des inconnues par la dernière équation jusau’à la première
équation qui ne contiendrait alors qu’une seule inconnue.
Pour résoudre les système d’équations triangulaire, on utilise l’un des deux algorithmes
(4.6) ou (4.10).

28
Mise en place de l’algorithme de triangularisation
Soit A(0) la matrice d’origine. Après k étapes d’éliminations d’inconnues, on obtient le
système suivant :
 (1) 
b1
 (2) 
 (1) (1) (1) (1)   b2 
a11 a12 · · · a1k · · · a1n  . 
 .. 
 0 a(2) · · · a(2) · · · a(2)   
(k) 22 2k 2n (k)  (k) 
A = . ; B =  bk 
 
 .. .. .. .. .. .. 
. . . . .   (k) 
bk+1 
(k) (k)
0 0 · · · ank · · · ann  .. 
 
 . 
(k)
bn

• Passage de A(1) à A(2)

∗ La 1ière équation n’est pas modifiée.


∗ Pour chaque équation i = 2, · · · , n, on lui soustrait la 1ière équation multipliée
(1)
ai1
par le facteur gi1 = (1)
, ce qui implique une mise à 0 du premier terme de
a11
(1)
chacune de ces équations (on suppose que a11 6= 0, sinon cf. suite).

• Passage de A(2) à A(3)

∗ La 1ière et la 2nde équation ne sont pas modifiées.


∗ Pour chaque équation i = 3, · · · , n, on lui soustrait la 2nde équation multipliée
(2)
ai2
par le facteur gi2 = (2)
, ce qui implique une mise à 0 du premier terme de
a11
(2)
chacune de ces équations (on suppose que a22 6= 0, sinon cf. suite).

..
.

• Passage de A(k) à A(k+1)

∗ Les k premières équations ne sont pas modifiées.


∗ Pour chaque équation i = k + 1, · · · , n, on multiplie la k ième ligne de A(k) par
(k)
aik (k)
gik = (k)
, puis on la retranche à la iième ligne. (on suppose akk 6= 0)
akk

Au final, A(n) a une forme triangulaire supérieure.

Remarque: Dans le processus d’élimination, les éléments de matrice du second mem-


(k+1) (k) (k)
bre B sont aussi modifiés. En effet, à chaque étape, on a bi = bi − gik bk .

29
Algorithme de triangularisation
Pour k = 1, · · · , n

 p = ak−1,k−1 (pivot qu’on suppose non nul)
 
 Pour i = 1, · · · , n
  g = ai,k−1

  p
  ai,k−1 = 0
  
  Pour j = k, · · · , n
 
   ai,j = ai,j − g ∗ ak−1,j
 
  fin pour
 
  bi = bi − g ∗ bk−1

 fin pour
fin pour

30
Problèmes liés aux pivots

* Pivots nuls : Si un pivot est nul, il faut obligatoirement effectuer une permutation de
ligne ou / et de colonne (=pivotage) pour amener un élément non nul au croisement
de la ligne k et de la colonne k.

Si la matrice n’est pas singulière (inverse de régulière, det = 0), cette opération est
toujours possible.

* Pivots petits : Un pivot petit entraîne des erreurs d’arrondis qui peuvent être très
grandes. Pour des raisons de stabilité numérique, il est très important de choisir
des pivots de module aussi grand que possible en opérant le pivotage.

* Choix du pivot : A chaque étape k, on choisit comme pivot l’élément de plus grand
(k)
module parmi tous les éléments de la matrice restante d’ordre (n − k + 1). Si apq
est cet élément, on permute les lignes p et k puis les colonnes q et k.

Attention ! La permutation des colonnes entraîne un changement de l’ordre des variables,


il faudra en tenir compte.

31
4.4.3 Méthode de Gauss-Jordan
Principe
Cette méthode consiste à transformer le système AX = B en un système A0 X = B 0 où
A0 est une matrice identité d’ordre n. Cette diagonalisation est opérée en n étapes qui se
composent d’une opération de normalisation et d’une opération de réduction.

32
Description de la méthode
Pour simplifier les différentes opération de normalisation et de diagonalisation, il est
préférable de travailler avec une seule matrice, contenant la matrice A et B, qu’on appelle
la matrice augmentée et qu’on note :
 

 a11 a12 · · · a1n a1n+1 


 a21 a22 · · · a2n a2n+1 

 . . 
[A, B] =   (4.13)

 . . 


 . . 

 an1 an2 · · · ann ann+1 
| {z } | {z }
=A =B

On doit faire des opérations, laissant le système d’équation AX = B inchangé et


transformant le bloc A en une matrice identité.

• 1ère étape:

- Opération de normalisation : on doit remplacer a11 par 1, en multipliant la


1
première ligne par .
a11
(1) a1j
a1j = (j = 1, 2, · · · , n + 1) (4.14)
a11
- Opération de réduction : on doit remplacer tous les éléments de la premières
colonne, à l’exception de premier élément par 0. Pour ça, à chaque ligne i , à
l’exception de la première i 6= 1 , on lui retranche la ligne 1 qu’on multiplie
d’abord par ai1 .

(1) (1)
aij = aij − ai1 ∗ a1j (i = 2, 3, .., n) (j = 1, 2, · · · , n + 1) (4.15)

Au bout de cette première étape, on obtient la matrice augmentée suivante :


 
 (1) (1) (1) 
 1 a12 ··· a1n a1n+1 
(1) (1) (1)
 

 0 a22 ··· a2n a2n+1 

. .
[A, B](1)
 
=  (4.16)

 . . 


 . . 

(1) (1) (1)
0 an2 ··· ann ann+1 
 

| {z } | {z }
=A(1) =B (1)

• 2ème étape:

- Opération de normalisation : on doit remplacer a22 par 1, en multipliant la


1
2ème ligne par .
a22
(1)
(2) a2j
a2j = (1)
(j = 1, 2, · · · , n + 1) (4.17)
a22

33
- Opération de réduction : on doit remplacer tous les éléments de la deuxième
colonne, à l’exception du deuxième élément par 0. Pour ça, à chaque ligne
i 6= 2 , à l’exception de la deuxième ligne, on lui retranche la ligne 2 qu’on
multiplie d’abord par ai2 .

(2) (1) (1) (2)


aij = aij − ai2 ∗ a2j (i = 1, 3, 4, .., n) (j = 1, 2, · · · , n + 1) (4.18)

Au bout de cette deuxième étape, on obtient la matrice augmentée suivante :


 
(2) (2) (2)
 1 0 a13 · · · a1n a1n+1 
 
 (2) (2) (2) 
 0
 1 a23 · · · a2n a2n+1 

(2) (2) (2)
 0 0 a33 · · · a3n a3n+1 
[A, B](2)
 
=
 . . 
 (4.19)
 . . 
 
 . . 
 
(2) (2) (2)
 0 0 an3 · · · ann ann+1 
 
| {z } | {z }
=A(2) =B (2)

• kème étape:

- Opération de normalisation : on doit remplacer akk par 1, en multipliant la


1
kème ligne par .
akk
(k−1)
(k) akj
akj = (k−1)
(j = 1, 2, · · · , n + 1) (4.20)
akk
- Opération de réduction : on doit remplacer tous les éléments de la kème
colonne, à l’exception du kème élément par 0. Pour ça, à chaque ligne i 6= k
, à l’exception de la kème ligne, on lui retranche la ligne k qu’on multiplie
d’abord par aik .

(k) (k−1) (k−1) (k)


aij = aij − aik ∗ akj (i = 1, 2, .., k − 1, k + 1, · · · , n) (j = 1, 2, · · · , n + 1)
(4.21)
Au bout de cette kème étape, on obtient la matrice augmentée suivante :
 
(k) (k) (k)
0 0 ··· a1,k+1 · · ·
 
 1 0 a1,n a1,n+1 
(k) (k) (k)
 

 0 1 0 ··· 0 a2,k+1 · · · a2,n a2,n+1 

(k) (k) (k)

 0 0 1 ··· 0 a3,k+1 · · · a3,n a3,n+1 

.. .. .. .. .. .. ..
[A, B](n)
 
=
 . . . . . . . 
 (4.22)
(k) (k) (k)
0 0 0 ··· 1 ak,k+1 ··· ak,n ak,n+1
 
 
 .. .. .. .. .. .. .. 

 . . . . . . . 

(k) (k) (k)
0 0 0 ··· 0 ank+1 ··· an,n an,n+1
 
 
| {z } | {z }
=A(k) =B (k)

34
• nème étape:
Au bout de la nème étape, on obtient la matrice augmentée suivante :
 
(n)
0 a1n+1 
 
 1 0 0 ···
 (n) 
 0
 1 0 ··· 0 a2n+1  
 0 0 0 ··· 0 a(n)3n+1 

[A, B](n)

 .
= . (4.23)


 . . 
 
 . . 
 
 0 0 0 ··· 1 a(n) 
| {z } | nn+1
{z }

=A(n) =B (n)

Avec A(n) X = B (n) on voit tout de suite que la solution rcherchée est :

X ∗ = B (n)

Stratégie du pivot total


Lors de l’opération de normalisation, de chaque étape k, on effectue des divisions par
l’élément de matrice akk qu’on appelle pivot. Si un pivot est nul, il faut obligatoirement
effectuer une permutation de ligne ou / et de colonne pour amener un élément non nul au
croisement de la ligne k et de la colonne k (pivotage). Si la matrice n’est pas singulière,
cette opération est toujours possible.
Un pivot petit, en valeur absolue, entraîne des erreurs d’arrondis qui peuvent s’accumuler
est donner à la fin des calculs un résultat erroné. Ainsi, pour des raisons de stabilité
numérique, il est très important de choisir des pivots de module aussi grand que possi-
ble en opérant des pivotages. A chaque étape k, on choisit comme pivot l’élément de
plus grand module parmi tous les éléments de la matrice restante d’ordre (n − k + 1).
Attention, à ne pas choisir le pivot dans la colonne n + 1 de la matrice augmentée !
(k)
Si apq est cet élément de plus grand module, alors, on permute les lignes p et k puis
les colonnes q et k.
Attention ! La permutation des colonnes entraîne un changement de l’ordre des vari-
ables, il faudra en tenir compte lors de la détermination de la solution.
Dans la pratique, on peut travailler avec la matrice augmentée comme précédemment.
A chaque étape k, on choisit le pivot qui est l’élément de matrice de A, de plus grand
module, en excluant les éléments des lignes et des colonnes ayant déjà fournit un pivot
dans les k − 1 étapes précédentes.
Une fois le pivot est choisi, il est important de mémoriser la ligne et la colonne d’où il
est issu, d’une part pour les exclure dans le prochain choit du pivot et d’autre par pour
la remise en ordre après les permutations des colonnes.
L’opération de normalisation, consiste à diviser la ligne du pivot par ce pivot.
L’opération de réduction, consiste à transformer tous les éléments de la colonne du
pivot en 0 à l’exception de l’exception du pivot (qui est remplcé par 1 suite à la normal-
isation).
Si à une étape quelconque, il n’est plus possible de choisir un pivot qui ne soit pas nul,
alors on peut conclure que la matrice A est singulière.

35
Exemple d’application de la méthode de Jordan avec la stratégie du pivot
Soit le système d’équations linéaires suivants :

 x1 + 3x2 + 3x3 + 2 = 0
2x1 + 2x2 + 5x3 − 7 = 0
3x1 + 2x2 + 6x3 − 12 = 0

La matrice augmentée est :


 
1 3 3 −2
[A, B] =  2 2 5 7 
3 2 6 12

• Étape k=1
Choix du pivot : p1 = a33 = 6 ; l1 = 3, c1 = 3.

Normalisation : Réduction :
   1 
1 3 3 −2 − 2 2 0 −8
2 2 5 7  − 1 1 0 −3
2 3
1 1 1 1
2 3
1 2 2 3
1 2

• Étape k=2
Choix du pivot :p2 = 2 ; l2 = 1, c2 = 2.

Normalisation : Réduction :
 1   1 
− 4 1 0 −4 −4 1 0 −4
− 1 1 0 −3 − 5 0 0 − 53 
2 3 12
1 1 7
2 3
1 2 12
0 1 10
3

• Étape k=3
5
Choix du pivot : p3 = − 12 ; l3 = 2, c3 = 1.

Normalisation : Réduction :
 1   
− 4 1 0 −4 0 1 0 −3
 1 0 0 4 1 0 0 4
7
12
0 1 10 3
0 0 1 1

Solutions :
Algorithme de remise en ordre:

Pour k = 1, · · · , n

 i = ck

 j = lk
 xi = aj,n+1
fin pour

 i = c1 = 3
k = 1 −→ j = l1 = 3
 x =a =1
3 3,4

36

 i = c2 = 2
k = 2 −→ j = l2 = 1
 x = a = −3
2 1,4

 i = c3 = 1
k = 3 −→ j = l3 = 2
 x =a =4
1 2,4
 
4
Finalement, la solution est: X ∗ =  −3 
1

37
4.4.4 Systèmes d’équations tridiagonaux. Algorithme de Thomas
On retrouve très souvent ces systèmes particuliers dans la résolution numérique de cer-
taines équations différentielles ou en opérant une interpolation à l’aide de fonctions
splines.
Quand la matrice A du système d’équations AX = B est tridiagonale, alors l’algorithme
de résolution peut être simplifié.
Soit la matrice tridiagonale suivante:
 
β1 γ1 0 0 0 ··· 0
 α2 β2 γ2 0
 0 ··· 0  
 0 α3 β3 γ3
 0 · · · 0 

A=
 0 0 α4 β4 γ4 ··· 0   (4.24)
 .. .. . . . . . . . . 
 . . . . . . 0 
 
 0 0 · · · 0 αn−1 βn−1 γn−1 
0 0 ··· 0 0 αn βn
Pour stocker en mémoire la matrice A, on a besoin uniquement de mémoriser les
(3n − 2) éléments non nuls: n éléments βi de la diagonale principale et (2n − 2) éléments
αi et γi des deux sous-diagonales inférieure et supérieure.
Le système d’équations s’écrit :


 β1 x1 + γ1 x2 = b1
αi xi−1 + βi xi + γi xi+1 = bi (i = 2, · · · , n − 1) (4.25)

 αn xn−1 + βn xn = bn
La méthode de Thomas pour résoudre ce système d’équations, consiste en une bidi-
agonalisation (triangularisation particulière). A partir de n opérations de normalisation-
réduction, on obtient:

 x1 + γ 1 x2 = b 1

xi + γ i xi+1 = bi (i = 2, · · · , n − 1) (4.26)


xn = b n
 γ1 γi
 γ 1 = β1 ; γ i = βi − αi γ i−1 (i = 2, · · · , n − 1)


avec (4.27)
b1 bi − αi bi−1
 b1 = ; bi = (i = 2, · · · , n)


β1 βi − αi γ i−1
Pour résoudre le système, on commence par la solution xn donnée directement par
dernière équation de (4.26) puis calculer xn−1 à partir de l’avant dernière équation et
ainsi de suite:
(
x n = bn
(4.28)
xi = bi − γ i xi+1 (i = n − 1, n − 2, · · · , 1)

38
Principe de la méthode de Thomas:
Transformer la matrice augmentée [A, B] où A est une matrice tridiagonale
 
β1 γ1 0 0 0 ··· 0 b1
 α2 β2 γ2 0
 0 ··· 0 b2  
 0 α3 β3 γ3
 0 ··· 0 b3  
 0 0 α 4 β4
[A, B] =  γ 4 · · · 0 b 4

 (4.29)
 .. .. . . . . .. .. .. 
 . . . . . . 0 .  

 0 0 · · · 0 αn−1 βn−1 γn−1 bn−1 
0 0 ··· 0 0 αn βn bn
 
en une matrice augmentée A, B où A est une matrice bidiagonale avec tous les
éléments de la diagonale égaux à 1.
 
1 γ1 0 0 0 ··· 0 b1
 0 1 γ
 2 0 0 ··· 0 b2  
 0 0 1 γ
3 0 · · · 0 b 3

  
1 γ4 · · ·

A, B =  0 0 0 0 b4  (4.30)


 .. .. . . . . . . . . .
..  
 . .
 . . . . 0 
 0 0 ··· 0 0 1 γ n−1 bn−1 
0 0 ··· 0 0 0 1 bn
• 1ère équation:

γ1 b1
β1 x1 + γ1 x2 = b1 ⇒ x1 + x2 =
β1 β1
|{z} |{z}
=γ 1 =b1

soit x 1 + γ 1 x 2 = b1
• 2ème équation:
α2 x1 + β2 x2 + γ2 x3 = b2
Multiplions la nouvelle première équation par α2 puis la soustraire de cette deuxième
équation :
(
α2 x1 + β2 x2 + γ2 x3 = b2
⇒ (β2 − α2 γ 1 ) x2 + γ2 x3 = b2 − α2 b1
−α2 x1 − α2 γ 1 x2 = −α2 b1

En divisant par (β2 − α2 γ 1 ), on obtient:

γ2 b2 − α 2 b1
x2 + x3 =
(β2 − α2 γ 1 ) (β2 − α2 γ 1 )
| {z } | {z }
=γ 2 =b2

d’où la nouvelle deuxième équation avec uniquement deux variables x2 et x3 :

x 2 + γ 2 x 3 = b2
• Et ainsi de suite jusqu’à la dernière équation qui ne contiendra qu’une seule inconnue
xn .

39
4.4.5 Méthode de factorisation LU
Principe
Pour résoudre le système d’équation linéaire AX = B, on décompose la matrice A en un
produit :
A = LU
où L et une matrice triangulaire inférieure et U une matrice triangulaire supérieure.
En définissant le vecteur colonne Y comme étant la solution du système d’équations
triangulaire LY = B, on obtient :

LY = B
AX = B ⇔ L |{z}UX = B ⇒ (4.31)
UX = Y
=Y

Ainsi la résolution du système d’équations AX = B est ramené à la résolution des deux


systèmes d’équations triangulaires (4.31). Pour la résolutions de ces systèmes d’équations
particuliers, voir le §4.2.1.

40
Description des méthodes de factorisation
Soient lij les éléments de matrice de L: lij = 0 si (j > i)
et soient uij les éléments de matrice de U : uij = 0 si (j < i)
aij étant les éléments de la matrice A, on a alors:
n min(i,j)
X X
A = LU ⇒ aij = lik ukj = lik ukj
k=1 k=1

Les éléments de matrice de la partie triangulaire supérieure de A s’écrivent:


r
X r−1
X
arj = lrk ukj = lrr urj + lrk ukj (j = r, r + 1, · · · , n) (4.32)
k=1 k=1

Les éléments de matrice de la partie triangulaire inférieure de A s’écrivent:


r
X r−1
X
air = lik ukr = urr lir + lik ukr (j = r, r + 1, · · · , n) (4.33)
k=1 k=1

A partir des relations (4.33) et (4.32) on déduit les éléments des matrices triangulaires
U et L.
Pour r = 1, · · · , n) on a :
 
(r−1)
1  X
urj = arj − lrk ukj  (j = r, r + 1, · · · , n) (4.34)
lrr k=1
 
(r−1)
1  X
lir = air − lik ukr  (i = r, r + 1, · · · , n) (4.35)
urr k=1

On a n2 éléments de matrice aij et on cherche les (n(n+1) éléments des matrices L et U .


Les équations (4.34) et (4.35), obtenues à partir de la factorisation A = LU , constituent
un système de n2 équations à n(n + 1) inconnues. On doit donc fixer, arbitrairement, n
éléments de matrices, soit par exemple les éléments diagonaux de L ou de U . On distingue
deux approches particulières donnant lieu aux deux algorithmes les plus utilisés :

41
• Algorithme de Doolittle :

lii = 1 (i = 1, · · · , n)
(r−1)
X
urj = arj − lrk ukj (j = r, r + 1, · · · , n)
k=1 (r = 1, · · · , n) (4.36)
 
(r−1)
1  X
lir = air − lik ukr  (i = r, r + 1, · · · , n)
urr k=1

• Algorithme de Crout :

uii = 1 (i = 1, · · · , n)
(r−1)
X
lir = air − lik ukr (i = r, r + 1, · · · , n)
k=1 (r = 1, · · · , n) (4.37)
 
(r−1)
1  X
urj = arj − lrk ukj  (j = r, r + 1, · · · , n)
lrr k=1

42
4.5 Méthodes itératives
4.5.1 Introduction
Les méthodes itératives consistent à utiliser un vecteur estimé X (0) de la solution X ∗ du
système AX = B et de générer une suite de vecteurs

X (k) = F (k) X (k−1) , X (k−2) , · · · , X (k−i)



(4.38)

• Si dans le processus itératif (4.38), F (k) ne dépend pas de l’itération k, on dit que
le processus itératif est stationnaire.

• Si dans le processus itératif (4.38), X (k) s’exprime en fonction des i vecteurs X (k−1) , X (k−2) , · · · , X (k
on dit que la formule itérative est multipas, à i pas. On parle aussi de formule de
récurrence d’ordre i.

Dans ce qui va suivre, on présentera quelques méthodes itératives stationnaires à un


pas.

43
4.5.2 Principe des méthodes itératives
Soit AX = B un système d’équations linéaires, avec A une matrice régulière d’ordre n.
On pose A = M − N , avec M une matrice régulière.

AX = B ⇒ (M − N )X = B ⇒ M X = N X + B
d’où

−1 −1
X=M
| {z N} X + M
| {z B}
=W =V

Ainsi, partant d’une estimation X (0) , on génère une suite:

X (k) = W X (k−1) + V (4.39)


avec (
W = M −1 N
(4.40)
V = M −1 B
Pour examiner la convergence du processus itératif (4.39), examinons le vecteur erreur
à l’itération k, soit:

e(k) = X (k) − X ∗
)
X (k) = W X (k−1) + V
⇒ e(k) = W e(k−1) = W k e(0) (4.41)
X∗ = W X∗ + V
Le processus itératif (4.39) converge si:

∀e(0) lim e(k) = 0



(4.42)
k→∞

soit

∀e(0) lim W (k) e(0) = 0 ⇒ lim W (k) = 0



(4.43)
k→∞ k→∞

Une condition suffisante pour satisfaire cette condition de convergence est:

||W || < 1 (4.44)

44
Décomposition de la matrice A
On cherche les décomposions A = M − N avec une matrice M facilement inversible pour
le de W et V , dans (4.40), et satisfaisant la condition de convergence (4.44), soit:
calcule
M −1 N < 1
Considérons les matrices D, L et U dont les éléments de matrices sont donnés en
fonction de ceux de la matrice A comme suit:

dii = aii −→D : matrice diagonale



−aij pour i > j
lij = −→L : matrice triangulaire inferieure
0 pour i ≤ j (4.45)

−aij pour j > i
uij = −→U : matrice triangulaire superieure
0 pour j ≤ i

A partir de (4.45) on voit que la matrice A se décompose en: A = D − L − U .

45
De cette décomposition, découlent les trois types de formulations suivantes:

1. Méthode de Jacobi:
A = M − N avec M = D et N = L + U
La matrice W donnée par (4.40) s’écrit :

WJ = D−1 (L + U ) (4.46)

2. Méthode de Gauss-Seidel:
A = M − N avec M = D − L et N = U
La matrice W donnée par (4.40) s’écrit :

WGS = (D − L)−1 U (4.47)

3. Méthode de relaxation:
D 1−ω
A = M − N avec M = − L et N = D+U
ω ω
La matrice W donnée par (4.40) s’écrit :
 −1  
D 1−ω
Wω = −L D+U (4.48)
ω ω

46
4.5.3 Méthode de Jacobi
Avec (4.46), le processus itératif (4.39), s’écrit :

X (k+1) = D−1 (L + U ) X (k) + B (4.49)


Sous forme développée, le processus itératif de Jacobi, s’écrit:
1 
 
(k+1) (k) (k) (k)

 x 1 = b 1 − a x
12 2 − a x
13 3 − · · · − a x
1n n


 a11
1

  
 (k+1) (k) (k) (k)

 x2 = b2 − a21 x1 − a23 x3 − · · · − a2n xn



 a22
. (4.50)
.





.





 1  (k) (k) (k)

 x(k+1)


n = b n − a x
n1 2 − a x
n2 3 − · · · − a x
n−1,n n−1
ann
Dans ce processus itératif (4.50), on suppose tous les pivots aii (i = 1, · · · , n) non
nuls.
Cette méthode itérative de Jacobi est de la forme X (k+1) = F (X (k) ) où F est linéaire,
indépendante de k donc stationnaire. C’est aussi une formule à un pas.

Condition de convergence
La condition de convergence (4.44) se traduit par :
n
X
(∀i = 1, · · · , n) |Wij | < 1 (4.51)
j=1

Dans le cas de la méthode de Jacobi, la matrice W est donnée par (4.46) et la condition
(4.51) devient :
n
!
X
(∀i = 1, · · · , n) |lij + uij | < |dii |
j=1

En fonction des éléments de matrice de A, on obtient:


 
n
X 
(∀i = 1, · · · , n) 
 |a ij | < |aii |

j=1
j6=i

d’où le théorème suivant:


Une condition suffisante pour que la processus itératif de Jacobi converge est que la
matrice A du système AX = B soit à diagonale fortement dominante.

47
Test d’arrêt des itérations
Notons par R(k) le vecteur résidu, à l’itération k : R(k) = B − AX (k) !
Xn
(k) (k)
Les composantes de ce vecteur résidu s’écrivent : ri = bi − aij xj
j=1
Un critère de convergence souvent utilisé pour l’arrêt du processus itératif est :
(k)
R
< 1 (4.52)
||B||
où 1 est choisi aussi petit qu’il est nécessaire.
Un autre critère de convergence pouvant être utiliser est celui qui concerne l’amélioration
relative sur les estimations X (k) :
(k)
X − X (k−1)
< 2 (4.53)
||X (k) ||
Quand on est sure de la convergence les deux tests (4.52) et (4.53) sont équivalents.
Quand on connait l’ordre de grandeur de la solution et qu’on est sure de la convergence
du processus itératif, on peut utiliser le test suivant :
(k)
X − X (k−1) < 3 (4.54)
Attention, la condition (4.54) n’implique pas X (k) − X ∗ < 3

48
Algorithme de Jacobi :
Données : n, A, B, X (0) , , nmax

Pour k = 0, nmax


 Pour i = 1, n
 n
 (k) P (k)
ri = bi − aij xj
 

j=1
 


 fin pour

||R||


 Si ||B||
<  −→ arrêt

 

 Pour i = 1, n
(k)
(k+1) (k) ri
 

  xi = xi + aii

 fin pour

fin Pour

49
4.5.4 Méthode de Gauss-Seidel
Pour la méthode de Gauss-Seidel, la matrice W est donnée par (4.47) et le processus
itératif (4.39), s’écrit :

X (k+1) = (D − L)−1 U X (k) + (D − L)−1 B (4.55)


Comme l’inverse de (D − L) peut être compliqué à calculer, on préfère l’écriture suiv-
ante:

DX (k+1) = LX (k+1) + U X (k) + B (4.56)


soit

X (k+1) = D−1 LX (k+1) + D−1 U X (k) + D−1 B (4.57)


Sous forme développée, le processus itératif de Gauss-Seidel, s’écrit:
1 
 
(k+1) (k) (k) (k)

 x 1 = b 1 − a x
12 2 − a x
13 3 − · · · − a x
1n n


 a11
1

  
 (k+1) (k+1) (k) (k)

 x2 = b2 − a21 x1 − a23 x3 − · · · − a2n xn



 a22
. (4.58)
.





.





 1  (k+1) (k+1) (k+1)

 x(k+1)


n = b n − a x
n1 2 − a x
n2 3 − · · · − a x
n−1,n n−1
ann
La condition de convergence de cette méthode de Gauss-Seidel est la même que celle
pour Jacobi.
Deux avantages de la méthode de Gauss-Seidel par rapport à celle de Jacobi :

• Convergence rapide

• Espace mémoire nécessaire réduit

50
4.5.5 Méthode de relaxation
La méthode de relaxation est la même que celle de Gauss-Seidel avec contrôle de la
convergence en introduisant un paramètre ω 6= 0.
A partir de l’expression (4.48) de la matrice W , le processus itératif (4.39 ) s’écrit :
 −1    −1
(k+1) D 1−ω (k) D
X = −L D+U X + −L B (4.59)
ω ω ω
soit
 
 −1
X (k+1) = X (k) + ω D
| LX
(k+1)
+ D{z−1 U X (k) + D−1 B} −X (k) 

(k+1)
=XGS

(k+1)
où XGS est l’estimation à l’itération k + 1 par la méthode de Gauss-Seidel (4.57).
Ainsi, le processus itératif de la méthode de relaxation peut s’écrire comme suit:
 
(k+1)
X (k+1) = X (k) + ω XGS − X (k) (4.60)

• Pour ω = 1, on retrouve la méthode de Gauss-Seidel.

• Pour ω > 1, on parle de méthode de sur-relaxation

• Pour ω < 1, on parle de méthode de sous-relaxation

Sous forme développée, le processus itératif (4.60) s’écrit :


" i−1 n
! #
(k+1) (k) 1 X (k+1)
X (k+1) (k)
xi = xi + ω bi − aij xj − aij xj − xi
aii j=1 j=i+1

soit
" i−1 n
#
(k+1) (k) ω X (k+1)
X (k+1)
xi = xi + bi − aij xj − aij xj (4.61)
aii j=1 j=i

La forme matricielle (4.59) peut se mettre sous la forme:


   
D (k+1) 1−ω
−L X = D + U X (k) + B
ω ω
soit

(D − ωL) X (k+1) = [(1 − ω) D + ωU ] X (k) + ωB


Pour tout choix de ω, la matrice (D − ωL) est régulière donc inversible.
En normalisant le système AX = B, pour avoir tous les éléments diagonaux de A
égaux à 1, et en posant :
L0 = D−1 L, U 0 = D−1 U , B 0 = D−1 B et I la matrice identité, on obtient:

(I − ωL0 ) X (k+1) = [(1 − ω) I + ωU 0 ] X (k) + ωB 0


d’où finalement:

51
 (k+1)
X
 =Wω X (k) + Vω
−1
Wω = (I − ωL0 ) [(1 − ω) I + ωU 0 ] (4.62)

−1
=ω (I − ωL0 ) B 0


(4.62) est une formule itérative stationnaire à un pas.
Au fait, cette méthode de relaxation est un cas particulier d’un ensemble plus vaste de
méthodes d’accélération de convergence des processus itératifs. Certaines de ces méthode
sont non stationnaire, du type :

X (k+1) = Wωk X (k) + Vωk


où ωk dépend de l’itération k. Le problème est alors de trouver la séquence des coéffi-
cients ωk optimisant la convergence.
Des travaux de recherche, relativement récents, ont débouché sur une multitude de
théorèmes, dont la plupart sont liés aux formes spécifiques de la matrice A (matrice
tridiagonale, matrice définie positive, etc · · · ).

52
Conditions de convergence des méthodes de relaxation
Ces conditions portent sur les limites de ω entre lesquelles on est assuré de la convergence
du processus itératif.

1. Matrice A quelconque
Théorème: Pour toute matrice A, une condition nécessaire de convergence est :
0<ω<2

2. Matrice A symétrique définie positive


Théorème: La méthode est convergente si et seulement si: 0 < ω < 2

3. Matrice A à diagonale dominante


Théorème: Une condition suffisante de convergence est: 0 < ω < 2

53
4.5.6 Méthode d’optimisation
Principe :
Soit le système d’équation linéaire AX = B à résoudre, où A est une matrice symétrique
définie positive, dont la solution recherchée est X ∗ , et soit la fonctionnelle de forme
quadratique :
1
E(X) = (X − X ∗ )t A (X − X ∗ ) (4.63)
2
Soit
1 1 1 t 1 t
E(X) = X t AX − X t AX ∗ − X ∗ AX + X ∗ AX ∗
2 2 2 2 (4.64)
1 t t 1 ∗t ∗
= X AX − X B + X AX
2 2

X étant la racine du système d’équation alors

AX ∗ = B ⇒ X ∗t A = B t (At = A car A est symetrique) (4.65)


On note par R le reste défini par :

AX = B − R ⇒ AX = B − R (4.66)
A partir des relations (4.65 ) et (4.66 ) on déduit que
t
(X − X ∗ ) = A−1 R et (X − X ∗ )t = A−1 R (4.67)
en utilisant les expressions (4.67) dans (4.63) on obtient :
1 t −1
E(X) = R A R (4.68)
2
A partir de (4.64), on montre que
 
∂E(X)
∇E(X) = = AX − B = − (B − AX) = −R (4.69)
∂X

La solution X ∗ correspond à R = 0 soit ∇E(X) = 0 donc au minimum de E(X).


La résolution du système d’équation AX = B se ramène à la minimisation de la forme
quadratique E(X) donné en (4.68).

54
Direction de descente
Si E(X) est continue et continûment différentiable, alors le développement de Taylor au
1er ordre au voisinage de X (k) s’écrit :

E(X (k) + ∆X) = E(X (k) ) + ∆X∇E(X (k) ) + termes d’ordres supérieurs en ∆X

Une direction ∆X vérifiant ∆X.∇E(X (k) ) < 0 et donc E(X (k) + ∆X) < E(X (k) ) est
dite direction de descente de E(X) au point X (k) .
Les méthodes de descente pour minimiser E(X) ont pour formule générale :

X (k+1) = X (k) + α(k) p(k) (4.70)


où p(k) est une direction au point X (k) pour E(X) et α(k) un scalaire donnant la valeur
du pas minimisant E(X (k+1) ) :

∂E(X (k+1) )
=0 (4.71)
∂α(k)
Avec (4.70) l’expression de la fonctionnelle (4.63) s’écrit:

E(X (k+1) ) = E(X (k) + α(k) p(k) )


1 (4.72)
= [X (k) + α(k) p(k) − X ∗ ]t A[X (k) + α(k) p(k) − X ∗ ]
2
et (4.71) s’écrit alors:

∂E(X (k+1) )
= (p(k) )t A(X (k) + α(k) p(k) − X ∗ ) = 0
∂α(k)
(4.73)
= (p(k) )t (AX (k) − B + Aα(k) p(k) ) = 0
= (p(k) )t (−R(k) + Aα(k) p(k) ) = 0
d’où :
(p(k) )t R(k)
α(k) = (4.74)
(p(k) )t Ap(k)
La résolution de AX = B par la méthode de descente avec pas optimum s’écrit :

(p(k) )t R(k) (k)


X (k+1) = X (k) + p avec R(k) = B − AX (k) (4.75)
(p(k) )t Ap(k)

Ces méthodes de descente se différencient par le choix de la direction de descente


(k)
p . Dans ce qui suit nous allons examiner deux exemple de choix de cette direction de
descente.

55
Méthode du gradient
On choisit comme direction de descente: p(k) = −∇E(X (k) ). C’est la direction de plus
grande diminution ponctuelle de E(X).
Comme ∇E(X) = −(B − AX) = −R, on voit que p(k) est colinéaire à R(k) .
Algorithme de la méthode du gradient
Pour (k = 0, 1, · · · , nmax ):
(R(k) )t R(k)
X (k+1) = X (k) + (R (k) )t AR(k) .R
(k)

avec R(k) = B − AX (k) (k+1) −R(k) ||


Arrêt quand, par exemple, ||R ||R(k) ||
<

Algorithme de la méthode du gradient:

Donnes : A, B, Nmax , , X (0)



P our k = 0, 1, 2, · · · , Nmax

 R(k) = B − AX (k)
 ||R(k) ||

 Test: ||B|| <  −→ f in du calcul
(R(k) )t R(k)
X (k+1) = X (k) + .R(k)

(R(k) )t AR(k)

F inP our

56

−2x1 + x2 = −3
Exemple : soit le système d’équations suivant :
  x1 − 2x2 = 3  
−2 +1 −3
La matrice A = est symétrique et définie positive. B =
+1
  −2   3
0 −3
On part de X (0) = −→ R(0) = B − AX (0) =
0 3
D’où

(R(0) )t R(0)
   
(1) (0) (0) (0) 18 −3 +1
X = X + (0) t .R = X + . =
(R ) AR (0) −54 3 −1
     
−3 −3 0
=⇒ R(1) = − =
3 3 0
 
∗ 1
La solution est : X =
−1

57
Méthode du gradient conjugué
On peut améliorer la convergence de la méthode du gradient en choisissant de meilleures
directions de descente. Les directions de descente de la méthode du gradient (que l’on
vient de voir) ne sont meilleures que localement.
Pour la méthode du gradient conjugué, on choisit les directions p(k) de telle sorte
qu’elles soient A-conjuguées, c’est-à-dire vérifiant :

(p(k) )t Ap(k−1) = 0 ∀k
(p(k−1) )t Ap(k) = 0

Ainsi, la direction p(k) est alors la direction qui minimise le plus E(X (k+1) ) à l’itération
(k + 1).
On cherche p(k) dans le plan formé par les directions p(k−1) et R(k) qui sont orthogonales.
Donc p(k) = R(k) + β (k) p(k−1) .
β (k) : scalaire déterminé en minimisant E(X (k+1) ), c’est-à-dire ∂β∂E(k) (X (k+1) ) = 0.
On déduit :
−(p(k−1) )t AR(k)
β (k) = (k−1) t (k−1)
(p ) Ap

58
Algorithme de la méthode du gradient conjugué:

Données: A, B, Nmax , , X (0)


R(0) = B − AX (0)
p(0) = R(0)

Pour k = 0, 1, 2, · · · , Nmax
(k) t R(k)

 α(k) = (p(p(k) ))t Ap (k)
(k+1)
X = X + α(k) p(k)
(k)


(k+1)
R = B − AX (k+1)


(k) ||
Test: ||R


 ||B||
<  −→ fin du calcul
(k+1) t (k+1)
β (k+1) = (R(R(k) ))t R
R

(k)


(k+1) (k+1)
 p =R + β (k+1) p(k)
F inP our

59
Chapter 5

Interpolation numérique

5.1 Rappels sur les polynômes orthogonaux


5.1.1 Définition
Soit une famille de polynômes Pn (x) à coefficients réels définis sur un intervalle [a, b] où
n est un entier supérieur ou égal à 0, qui représente le degré du polynôme.
Soit ω(x) une fonction continue par morceaux et à valeurs positives sur [a, b], appelée:
fonction poids.
On dit que les polynômes Pn (x) sont orthogonaux entre eux relativement, à la fonction
de poids ω(x), si
Z b
ω(x)Pn (x)Pq (x)dx = 0 si n 6= q
a

5.1.2 Propriétés élémentaires


1. Si on a une famille de polynômes orthogonaux, alors tout polynôme Q(x) peut
s’écrire sous la forme d’une combinaison linéaire de ces polynômes: orthogonaux.

n
X
Q(x) = ci Pi (x) avec degrés de Q(x) ≤ n
i=0

2. Tout polynôme Qp (x) de degré p est orthogonal à tout polynôme Pn (x) de degré
n ≥ p.

3. Les polynômes Pn (x) possèdent n zéros réels, distincts, dans l’intervalle [a, b].

4. Les polynômes orthogonaux sont définis à une constante multiplicative près.

60
5.1.3 Exemple de famille de polynômes orthogonaux
• Polynômes de Legendre

– [a, b] : [−1, +1]


– fonction de poids : ω(x) = 1
1 dn
– Expression des polynômes : Pn (x) = 2n n! dxn
(x2 − 1)n

1 1 1
P0 (x) = 1; P1 (x) = x; P2 (x) = (3x2 −1); P3 (x) = (5x3 −3x); P4 (x) = (35x4 −30x+2), etc
2 2 8
(5.1)

• Polynôme de Laguerre

– [a, b] : [0, +∞]


– fonction de poids : ω(x) = e−x
n
d −x n
– Expression des polynômes : Ln (x) = ex dx n (e x )

L0 (x) = 1; L1 (x) = 1 − x; L2 (x) = x2 − 4x + 2; etc

• Polynôme de Tchebychev

– [a, b] : [−1, +1]


– fonction de poids : ω(x) = √ 1
1−x2
– Expression des polynômes : Tn (x) = cos(n arccos(x))

T0 (x) = 1; T1 (x) = x; T2 (x) = 2x2 − 1; T3 (x) = 4x3 − 3x; etc

61
5.1.4 Polynômes orthogonaux sur un ensemble discret de points
Une famille de polynômes Pj (x) est dite orthogonale sur un ensemble discret de points
xi (i = 1, 2, · · · , n + 1) et relativement aux coefficients de poids ωi si:
n+1
X
(Pj , Pk ) = ωi Pj (xi )Pk (xi ) = 0 si j 6= k
i=1

où (Pj , Pk ) désigne le produit scalaire des deux polynômes Pj et Pk .

62
5.2 Introduction - Qu’est-ce que l’interpolation
Etant donnée une fonction réelle continue sur un ensemble [a, b], mais connue en un
nombre n de points x1 < x2 < · · · < xn , l’interpolation est la recherche d’une fonction
continue g d’un type préalablement choisi telle que g(xi ) = f (xi )(i = 1, 2, · · · , n).

5.3 Fonctions d’interpolation usuelles


• L’ensemble des polynômes

• L’ensemble des combinaisons linéaires de fonctions trigonométriques

• L’ensemble des combinaisons linéaires de fonctions exponentielles

• L’ensemble des fractions rationnelles

63
5.4 Interpolation par un système de fonctions linéaire-
ment indépendantes
Théorème :
Soit un système {vi }(i=1,2,··· ,n) de fonctions continues sur [a, b] et linéairement indépen-
dantes. Ce système engendre un espace vectoriel En dont les éléments sont :
n
X
A= ak vk
k=1

La fonction A de En est une fonction d’interpolation de f sur l’intervalle [a, b] si

A(xi ) = f (xi ) (i = 1, 2, · · · , n)

c’est-à-dire si le système
n
X
ak vk (xi ) = f (xi ) (i = 1, 2, · · · , n)
k=1

admet une solution.


v1 (x1 ) · · · vn (x1 )

v1 (x2 ) · · · vn (x2 )
Cette solution existe si et seulement si le determinant ∆ = .. .. 6= 0

. ...
.
v1 (xn ) · · · vn (xn )
Théorème :
Si le système {vi }(i=1,2,··· ,n) est tel que tout élément A de En+1 possède au moins n
racines distinctes, alors il existe une et une seule fonction d’interpolation A donnée par :
n
X ∆k
A= vk
k=1

 
f (x1 )
où ∆k est le déterminant obtenu en remplaçant dans ∆ la k ième colonne par  ... .
 
f (xn )

64
5.5 Interpolation en puissance de x
On considère le système {vi }(i=1,2,··· ,n+1) avec vi = xi−1 , soit {1, x, x2 , · · · , xn }.
Le polynôme Pq (x) de degré inférieur ou égal à n qui interpole f s’écrit :

Pn (x) = a0 + a1 x + · · · + an xn (on a donc an+1 = 0, etc)

Les coefficients ai (i = 0, 1, · · · , n) sont déterminés par les (n + 1) équations :

a0 + a1 xi + a2 x2i + · · · + an xni = f (xi ) (i = 1, 2, · · · , n + 1)

Théorème :
Il existe un polynôme et un seul de degré inférieur ou égal à n tel que Pn (xi ) =
f (xi ) (i = 1, 2, · · · , n + 1) (c’est la condition de collocation).
Le calcul des coefficients ai de ce polynôme se fait à partir des conditions de collocation
qui forment un système linéaire de n + 1 équations à n + 1 inconnues.
Algorithme de Horner :
Pour minimiser le nombre d’opérations dans le calcule du polynôme Pn (x), on procède
comme suit:

Pn (x) = (· · · (((an x + an−1 )x + an−2 )x + an−3 )x · · · ) + a0


D’où la forme récursive :

P0 (x) = an
P1 (x) = xP0 (x) + an−1
..
.
Pk (x) = xPk−1 (x) + an−k
..
.
Pn (x) = xPn−1 (x) + a0

65
5.6 Polynômes d’interpolation de Lagrange
Soit une fonction f réelle connue en (n + 1) points (x1 < x2 < · · · < xn+1 )
Le polynôme d’interpolation de Lagrange s’écrit :
n+1
X
Pn (x) = f (xi )Li (x) (5.2)
i=1

où les Li (xj ) = δij (i, j = 1, 2, · · · , n + 1) (c’est une propriété).


C’est bien un polynôme d’interpolation car Pn (xi ) = f (xi ).
On définit les polynômes Li (x) par

n+1
Y (x − xk )
Li (x) = (5.3)
k=1
(xi − xk )
k6=i

Ces polynômes sont linéairement indépendants, ils forment une base de l’espace vec-
toriel des polynômes de degré inférieur ou égal à n, de dimension n + 1.

5.6.1 Erreur d’interpolation


L’erreur en x est : (x) = f (x) − Pn (x). On a plusieurs polynômes passant par les points
(xi , f (xi )).
Théorème :
Soit une fonction f (n + 1) fois différentiable sur un intervalle [a, b], alors
∀x ∈ [a, b], ∃ξ ∈ [x1 , xn+1 ] tel que
n+1
1 Y
(x) = f (x) − Pn (x) = ( (x − xi ))f (n+1) (ξ)
(n + 1)! i=1

Remarque :
Si |f (n+1) (ξ)| possède un majorant M sur [a, b], alors
n+1
1 Y
|(x)| ≤ | (x − xi )|.M (5.4)
(n + 1)! i=1
n+1
Q
Ainsi, pour diminuer l’erreur, on va chercher à minimiser | (x − xi )|.
i=1

66
5.6.2 Exemples
Exemple 1: Soit une fonction réelle f connue en trois points : -1, 1 et 2. On a f (−1) =
4, f (1) = 10, f (2) = 28. Déterminer le polynôme d’interpolation de Lagrange de la
fonction f dans l’intervalle [1, 2].
P3
On a P2 (x) = f (xi )L(x).
i=1
L1 (x) = ( xx−x 2
1 −x2
)( xx−x 3
1 −x3
x−1
) = ( −1−1 x−2
)( −1−2 ) = (x−1)(x−2)
6
(x+1)(x−2)
On calcule L2 (x) = ( xx−x 1
2 −x1
)( x−x3
x2 −x3
) = ( x+1 x−2
2
)( −1
) = − 2
(x+1)(x−1)
L3 (x) = ( xx−x 1
3 −x1
)( x−x2
x3 −x2
) = ( x+1 x−1
3
)( 1
) = 3
P2 (x) = f (x1 )L1 (x) + f (x2 )L2 (x) + f (x3 )L3 (x)
= 4. (x−1)(x−2)
6
− 10. (x+1)(x−2)
2
+ 28. (x+1)(x−1)
3
P2 (x) = 5x2 + 3x + 2
Exemple 2 : Soit la fonction f (x) = x3 . On se donne 4 points, ce qui nous permet de
déterminer son polynôme d’interpolation de Lagrange jusqu’à l’ordre 3.
xi -1 0 1 2
f (xi ) -1 0 1 8
On cherche P3 (x), on doit logiquement trouver P3 (x) = x3 car le polynôme d’interpolation
est de degré 3.
L1 (x) = ( xx−x 2
1 −x2
)( xx−x 3
1 −x3
)( xx−x 4
1 −x4
x−0
) = ( −1−0 x−1
)( −1−1 x−2
)( −1−2 ) = x(x−1)(x−2)
−6
(x+1)(x−1)(x−2)
L2 (x) = ( xx−x 1
2 −x1
)( x−x3
x2 −x3
)( x−x4
x2 −x4
) = ( x+1 x−1 x−2
0+1
)( 0−1
)( 0−2
) = 2
On calcule x(x+1)(x−2)
L3 (x) = ( xx−x 1
3 −x1
)( x−x2
x3 −x2
)( x−x4
x3 −x4
) = ( x+1 x−0 x−2
1+1
)( 1−0
)( 1−2
) = −2
x(x+1)(x−1)
L4 (x) = ( xx−x 1
4 −x1
)( x−x2
x4 −x2
)( x−x3
x4 −x3
) = ( x+1 x−0 x−1
2+1
)( 2−0
)( 2−1
) = 6
x(x−1)(x−2) x(x+1)(x−2) x(x+1)(x−1)
P3 (x) = 6
− 2
+ 8. 6
= 16 (x3 − 3x2 + 2x) − 12 (x3 − x2 − 2x) + 43 (x3 − x)
P3 (x) = x3 On trouve bien P3 (x) = f (x) = x3 .

67
Exercice:
Soit une fonction réelle connue en trois points x0 = −3; x1 = −1; x2 = 1).
f (x0 ) = −37; f (x1 ) = −11 et f (x2 ) = −9
1/ Determiner le polynôme d’interpolation de Lagrange P1 (x) de la fonction f dans
l’intervalle [−3, 0].
2/ On donne les valeurs de f en deux autres points x3 = −2; et; x4 = 0).
f (x3 ) = −18; f (x4 ) = −10
Determiner le polynôme d’interpolation de Lagrange P2 (x) de la fonction f dans
l’intervalle [−3, 0].
3/ Tracer les courbes de P1 (x) et de P2 (x)

Solution:
1/ Calcule de P1 (x)

(x + 1)(x − 1) 1
L0 (x) = = (x2 − 1)
(−3 + 1)(−3 − 1) 8
(x + 3)(x − 1) 1
L1 (x) = = − (x2 + 2x − 3)
(−1 + 3)(−1 − 1) 4
(x + 3)(x + 1) 1
L2 (x) = = (x2 + 4x + 3)
(1 + 3)(1 + 1) 8
Le polynôme d’interpolation de Lagrange est :

P1 (x) = −37L0 (x) − 11L1 (x) − 9L2 (x)


soit

P1 (x) = −3x2 + x − 7
1/ Calcule de P1 (x)
On doit trouver :

P2 (x) = x3 − 10

68
Donnees -
P1(x) -
10 P2(x)

10

20

30

3 2 1 0 1 2 3

69
5.7 Polynômes d’interpolation de Newton
5.7.1 Différences divisées
Soit une fonction réelle f connue aux points x1 , x2 , · · · , xn+1 , on définit les différences
divisées d’ordre 0, 1, 2, · · · , n comme suit :

• ordre 0 : f [xi ] = f (xi )


f [xi ]−f [xj ]
• ordre 1 : f [xi , xj ] = (xi −xj )
i 6= j
f [xi ,xj ]−f [xj ,xk ]
• ordre 2 : f [xi , xj , xk ] = (xi −xk )
i 6= j, j 6= k
f [x1 ,··· ,xm ]−f [x2 ,··· ,xm+1 ]
• ordre m : f [x1 , x2 , · · · , xm+1 ] = (x1 −xm+1 )

f [x1 ,··· ,xn ]−f [x2 ,··· ,xn+1 ]


• ordre n : f [x1 , x2 , · · · , xn+1 ] = (x1 −xn+1 )

Propriétés :

i/ La différence divisée d’ordre (m − 1) d’une fonction vérifie la relation suivante :


m
X f (xi )
f [x1 , · · · , xm ] = m
Q
i=1 (xi − xk )
k=1
k6=i

ii/ La différence divisée est indépendante de l’ordre des points x1 , x2 , · · · , xm .

5.7.2 Polynôme d’interpolation de Newton


Le polynôme d’interpolation de Newton de la fonction f continue sur [a, b], connue en
(n + 1) points x1 , x2 , · · · , xn+1 distincts est défini par :

Pn (x) = f (x1 ) + (x − x1 )f [x1 , x2 ] + · · · + (x − x1 )(x − x2 ) · · · (x − xn )f [x1 , x2 , · · · , xn+1 ]

On vérifie bien que Pn (x) est un polynôme d’interpolation de f, en effet, Pn (xi ) =


f (xi ) (∀i = 1, 2, · · · , n + 1).

5.7.3 Algorithme de Newton


Le polynôme d’interpolation de Newton est construit de proche en proche par les relations
de récurrence suivantes :

P0 (x) = f (x1 )

..
.

Pm (x) = Pm−1 (x) + (x − x1 ) · · · (x − xm )f [x1 , · · · , xm+1 ]

70
Représentation schématique :
im 0 1 2
1 f [x1 ] = f (x1 )
f [x1 ]−f [x2 ]
f [x1 , x2 ] = (x1 −x2 )
f [x1 ,x2 ]−f [x2 ,x3 ]
2 f [x2 ] = f (x2 ) f [x1 , x2 , x3 ] = (x1 −x3 )
f [x2 ]−f [x3 ]
f [x2 , x3 ] = (x2 −x3 )
3 f [x3 ] = f (x3 )
..
.

71
Exemple : Soit f une fonction réelle connue en n = 7 points donnés par le tableau
suivant :
x 2 0 -1 1 -2 3 -4
f (x) 27 1 3 5 -1 79 -75

1. Former le tableau des différences divisées

2. Trouver le polynôme d’interpolation de Newton de la fonction f

xi m 0 1 2 3 4
2 27
13
0 1 5
-2 2
-1 3 3 0
1 2
1 5 -1 0
2 2
-2 -1 7 0
16 2
3 79 -3
22
-4 -75

On a des 0 à l’ordre 4, donc c’est un polynôme d’ordre 3.

P3 (x) = 27 + (x − 2) ∗ 13 + (x − 2)x ∗ 5 + (x − 2)(x − 0)(x − (−1)) ∗ 2


P3 (x) = 2x3 + 3x2 − x + 1
Dans le cas où on a un ensemble de points régulièrement répartis avec un pas constant,
on peut travailler avec des différences finies non divisées et aboutir à des algorithmes de
Newton progressifs ou régressifs. Il y a aussi les algorithmes de Gauss, de Stirling et de
Bessel.

72
Exercice:
En utilisant le polynôme d’interpolation de Newton, exprimer en fonction n, la somme :
n
X
Sn = k2
k=0
.
1
Solution : Sn = n(n + 1)(2n + 1)
6

Tableau des différences divisées:


xi \m 0 1 2 3 4
1 1
4
2 5 5/2
9 1/3
3 14 7/2 0
16 1/3
4 30 9/2 0
25 1/3
5 55 11/2 0
36 1/3
6 91 6
49
7 140
Polynôme de degré m = 3
5 1
Sn = 1 + 4 (n − 1) + (n − 1) (n − 2) + (n − 1) (n − 2) (n − 3)
2 3
1
= {6 + (n − 1) [24 + 15 (n − 2) + 2 (n − 2) (n − 3)]}
6
1
= {6 + (n − 1) [24 + (n − 2) [15 + 2 (n − 3)]]}
6
1
= {6 + (n − 1) [24 + (n − 2) [9 + 2n]]}
6
1
6 + (n − 1) 24 + 9n − 18 + 2n2 − 4n
 
=
6
1
6 + (n − 1) 6 + 5n + 2n2
 
=
6
1
6 + 6n + 5n2 + 2n3 − 6 − 5n − 2n2

=
6
1
2n3 + 3n2 + n

=
6
1
n 2n2 + 3n + 1

=
6
1
n 2n2 + 2n + +n + 1

=
6
1
= n (2n (n + 1) + n + 1)
6
1
= n (n + 1) (2n + 1)
6

73
5.8 Interpolation par des fonctions splines
5.8.1 Principe
C’est une interpolation polynomiale par morceaux avec des conditions de raccordement
sur les dérivées.
Fonctions splines :
Considérons une partition quelconque d’un intervalle [a, b], x0 = a < x1 < · · · < b =
xn .
Une fonction spline S(x) de degré p a les propriétés suivantes :

i/ Sur chaque intervalle [xi , xi+1 ], (i = 0, 1, · · · , n), S(x) est un polynôme de degré p.

ii/ S(x) et ses (p − 1) premières dérivées sont continues sur [a, b] ⇔ S(x) ∈ C p−1 ([a, b])

74
5.8.2 Spline cubique :
La fonction spline est un polynôme de degré 3 sur chaque intervalle [xi , xi+1 ].
Interpolation par des splines cubiques
Soit f connue aux points xi (i = 0, 1, · · · , n), soit f (xi ) = yi . La fonction spline cubique
d’interpolation, qui est un polynôme de degré 3 sur chaque intervalle [xi , xi+1 ], est définie
par 4 constantes.
00 00
Pour les déterminer, on peut utiliser les 4 valeurs : yi , yi+1 , yi , yi+1 .
Les dérivées sont, a priori inconnues, et peuvent être imposées par les conditions de
continuité aux bornes de chaque intervalle des dérivées de la fonction spline.
Soit Si+1 (x) la fonction spline cubique définie dans l’intervalle [xi , xi+1 ], sa dérivée
seconde est linéaire sur le segment [xi , xi+1 ] et s’écrit :

00 00 (xi+1 − x) 00 (x − xi )
Si+1 = yi + yi+1 où hi+1 = xi+1 − xi
hi+1 hi+1
Après deux intégrations successives, on obtient :

00 (xi+1 − x)3 00 (x − xi )3
Si+1 (x) = yi + yi+1 + ax + b
6hi+1 6hi+1
On détermine les constantes d’intégration a et b en imposant les conditions d’interpolation
:

Si+1 (xi ) = yi
Si+1 (xi+1 ) = yi+1

Si+1 (x) = α(xi+1 − x)3 + β(x − xi )3 + γ(xi+1 − x) + δ(x − xi )


00 00
yi yi+1 yi hi+1 00 yi+1 hi+1 00
avec α = 6hi+1
;β = 6hi+1
;γ = hi+1
− 6
yi ; δ = hi+1
− 6
yi+1
00 00
On détermine les coefficients yi et yi+1 en imposant la continuité de la dérivée première
0 0
de la fonction spline aux bornes de l’intervalle : Si (xi ) = Si+1 (xi ).
D’où le système linéaire tridiagonal de (n − 1) équations à (n + 1) inconnues :
(
−yi
− yi −y
00 00 00
( h6i )yi + ( hi+13+hi )yi + ( h6i )yi+1 = yi+1
hi+1 hi
i−1

avec hi = xi − xi−1 et hi+1 = xi+1 − xi

Il est nécessaire d’imposer 2 conditions supplémentaires pour résoudre ce système, et


en général, on utilise par exemple :
00 00
• S (a) = S (b) = 0
00 00 00 00
• S (a) = f (a) et S (b) = f (b) données
0 0 0 0
• S (a) = f (a) et S (b) = f (b) données

• S k (a) = S k (b) k = 0, 1, · · · (pour les fonctions périodiques par exemple)

75
Chapter 6

Approximations de fonctions

6.1 Rappels - espace vectoriel normé, espace préhilber-


tien
Soit E un espace vectoriel réel (on peut aussi travailler en complexes). L’application
||.|| : E → R+ est appelée norme sur E si elle satisfait les conditions suivantes :

1. ||x|| = 0 si et seulement si x = 0

2. ||ax|| = |a|.||x|| (∀x ∈ E), (∀a ∈ R)

3. ||x + y|| ≤ ||x|| + ||y|| (∀x, y ∈ E)

Un espace vectoriel muni d’une norme est un espace vectoriel normé.

6.1.1 Exemples de normes :


• Norme minimax de Tchebychev :

||f − g||∞ = max |f (x) − g(x)| = max |f (xi ) − g(xi )|


x∈[a,b] i=1,··· ,n

• Norme L1 (ou de Laplace)

Zb n
X
||f − g||1 = |f (x) − g(x)|dx = |f (xi ) − g(xi )|
a i=1

• Norme L2 (ou euclidienne)

Zb n
1 1
X
||f − g||2 = [ |f (x) − g(x)|2 dx] 2 = ( |f (xi ) − g(xi )|2 ) 2
a i=1

• R1 muni de la norme ||x|| = |x| est un espace vectoriel normé


rn
2
P 2
• R muni de la norme ||x|| = xi est un espace vectoriel normé
i=1

76
Un espace vectoriel normé est dit strictement normé si ||x + y|| = ||x|| + ||y|| ⇒ (∃a ∈
R) x = ay
Soit E un espace vectoriel réel, l’application (., .) : E × E → R est appelée produit
scalaire sur E si elle satisfait les conditions suivantes :

1. (∀x ∈ E)(x, x) ≥ 0

2. (∀x ∈ E)(x, x) = 0 ⇒ x = 0

3. (∀x, y ∈ E)(x, y) = (y, x)

4. (∀x, y, z ∈ E)(x, y, z) = (x, y) + (x, z)

5. (∀x, y ∈ E)(∀a ∈ R)(ax, y) = a(x, y)

Un espace vectoriel muni d’un produit scalaire est appelé un espace préhilbertien.
Exemples :
n
• Rn muni du produit scalaire (x, y) =
P
xi .yi
i=1

• L’ensemble des fonctions continues sur l’intervalle [a, b] muni du produit scalaire
Rb
(f, g) = f (t)g(t)dt
a

77
6.2 Meilleure approximation dans un espace vectoriel
normé
Soit f un élément de l’espace vectoriel normé E, et soit E1 le sous-espace de E engendré
par les éléments {g1 , g2 , · · · , gn } ⊂ E.
L’élément g de E1 tel quel ||f − g|| = min||f − x|| est appelé le meilleur approximant
x∈E1
de f .

• On parle d’approximation au sens minimax ou uniforme quand on minimise ||f −


g||∞

• On parle d’approximation au sens des moindres carrés quand on minimise ||f − g||2

Théorèmes :

1. Le meilleur approximant tel que défini précédemment existe (il en existe en général
plusieurs).

2. Si l’espace vectoriel est strictement normé, alors le meilleur approximant est unique.

3. Si E est un espace préhilbertien, alors l’élément g ∈ E1 est le meilleur approximant


de f si et seulement si (f − g) est orthogonal à tout élément h ∈ E1

⇔ (∀h ∈ E1 ) (f − g, h) = 0

78
6.2.1 Modèle linéaire
Le meilleur approximant g de f s’écrit dans le cas du modèle linéaire :
n
X
g= ci gi (combinaison linéaire)
i=1

D’après le troisième théorème, les coefficients ci sont tels que


n
X
(∀h ∈ E1 ), (f − ci gi , h) = 0
i=1

et en particulier :
n
X
(f − ci gi , gj ) = 0 (j = 1, 2, · · · , n)
i=1

soit n
X
ci (gi , gj ) = (f, gj ) (j = 1, 2, · · · , n)
i=1

Sous forme matricielle, on a :

(g1 , g1 ) (g2 , g1 ) · · ·
   
(gn , g1 ) c1 (f, g1 )
 .. ..   c   .. 
 . .   2  . 
 . ..   ..   . 
 .. .   .   .. 
(g1 , gn ) (g2 , gn ) · · · (gn , gn ) cn (f, gn )
| {z }
matrice de Gram

Cette forme linéaire, c’est-à-dire le choix des gi des fonctions g, est prise dans les classes
de fonctions suivantes :

• des monômes : gk (x) = xk

• des fonctions trigonométriques : gk (x) = cos kx

• des fonctions exponentielles : gk (x) = ekx

• des polynômes orthogonaux

Remarque :
Quand il s’agit de polynômes orthogonaux, c’est-à-dire quand {g1 , g2 , · · · , gn } est un
système de polynômes orthogonaux, la matrice de Gram devient diagonale, et la résolution
du système est immédiate :

(f, gj ) (f, gj )
cj = = (j = 1, 2, · · · , n)
(gj , gj ) ||gj ||2
n
X (f, gj )
g= gj
j=1
||gj ||2
n
X
2
Si E1 est orthonormé, alors ||gj || = 1, et donc g = (f, gj )gj .
j=1

79
6.3 Mesure de la qualité d’une approximation
Soit le fonction f réelle continue sur [a, b], ou sur un ensemble de données xi , (i =
1, · · · , n). On dit que g est une bonne approximation de f si (f − g) est petite dans un
certain sens.
La distance entre la fonction réelle f et son modèle g peut être mesurée par la norme
d = ||f − g||p .
Par définition, la meilleure approximation g de f au sens des moindres carrés est celle
qui minimise la norme euclidienne L2 .
Dans la pratique, la norme L2 est souvent inadéquate pour différentes raisons : les
valeurs x et f (x) peuvent correspondre à des grandeurs différentes avec des échelles
différentes et exigeant des précisions différentes. À chaque mesure i, on associe un poids
ωi , et la norme L2 devient alors la norme des carrés pondérés de Legendre notée :
n 1
(f (xi ) − g(xi ))2 .ωi ) 2
P
||f − g||2,ω = (
i=1
Rb 1
= ( (f (x) − g(x))2 .ω(x)dx) 2
a

80
6.3.1 Pratique des approximations
mesure i xi yi = f (xi )
1 x1 y1
2 x2 y2
.. .. ..
. . .
n xn yn

En pratique, le tableau est formé sur la base des mesures effectuées.


Le but est de trouver une relation entre les x et les y, autrement dit de trouver une
fonction reliant les données entre elles. On l’écrit sous la forme :

ỹi = g(xi , c1 , c2 , · · · , cm ) pour (i = 1, · · · , n)

(m n’est pas forcément égal à n) où la fonction g (le modèle) est connue mais les
paramètres (c1 , c2 , · · · , cm ) restent à définir.
On considère que ces paramètres apparaissent sous forme linéaire, et si le modèle est
parfait, alors yi − ỹi = 0 (i = 1, · · · , n), d’où le système d’équation :

yi − g(xi , c1 , c2 , · · · , cm ) = 0
(i = 1, 2, · · · , n)

C’est un système de n équations à m inconnues, et on distingue trois cas :

• n < m : on a plus d’inconnues que d’équations, on parle d’indétermination d’ordre


(m − n), il existe une infinité de solutions.

• n = m : on a une solution unique.

• n > m : on a un système surdéterminé d’ordre (n − m), dans ce cas, il n’y a en


général aucune solution et aucune fonction g(xi , c1 , c2 , · · · , cm ) qui passe par tous
les points.

81
n = 2; m = 3
y
n=2 et m=3

x
Infinité de paraboles (car m = 3 ⇒ 3 paramètres ⇒ parabole) passant par ces 2 points.
n=m=3
y

n=3 et m=3

x
Une et une seule parabole possible.
n = 3; m = 2
y
n=3 et m=2

x
m = 2 ⇒ droite (2 paramètres)
Aucune droite ne peut passer par ces points (en général).
Dans le 2ième cas où n = m, on dit que l’on opère une interpolation (cf chapitre 4).
Examinons maintenant le cas no 3 : dans le cas où n > m, on peut proposer un ensemble
de valeurs c1 , c2 , · · · , cm qui minimisent les erreurs ei = yi −g(xi , c1 , c2 , · · · , cm ) aux points
xi (i = 1, 2, · · · , n).
Réflexion : On vient de définir 2 types de problèmes de modélisation d’un ensemble de
n couples (xi , yi ) par un modèle à m paramètres.

82
(i) n = m : problème d’interpolation

(ii) n > m : problème d’approximation

• À 1ière vue, le problème d’interpolation semble être un cas particulier du problème


d’approximation, mais dans la pratique ce sont deux problèmes fondamentalement
différents. L’interpolation est utilisée dans le cas de données (xi , yi ) connues pré-
cisément, et on veut connaître y correspondant à x ne coïncidant pas avec les xi .

• Dans le cas de mesures peu précises (perturbations), le but de l’approximation est


d’essayer d’éliminer autant que possible l’influence de ces perturbations de mesure
(on parle souvent de lissage).

83
6.3.2 Méthode des moindres carrés pour les modèles linéaires
Soit le modèle linéaire
g(xi ) = c1 v1 (xi ) + c2 v2 (xi ) + · · · + cm vm (xi ) (i = 1, · · · , n)
Les cj (j = 1, · · · , m) sont les coefficients inconnus à déterminer.
m
P
L’erreur au point xi , notée e(xi ), est e(xi ) = f (xi ) − cj vj (xi ) (i = 1, · · · , n).
j=1
Parmi toutes les solutions de ces systèmes à n équations et (n + m) inconnues (les m
coefficients cj et les n erreurs e(xj )), on définit la meilleure comme celle qui rend minimale
n
e2i .ω(xi ).
P
la quantité d =
i=1
Si ω(xi ) = 1, ∀xi , on parle d’approximations des moindres carrés. Sinon, on parle
d’approximations des moindres carrés pondérés.
On cherche à minimiser d dans l’espace des paramètres (c1 , c2 , · · · , cm ) c’est-à-dire
∂d
∂ck
= 0 (k = 1, 2, · · · , m)
n
soit ∂c∂k (e2i (xi ).ω(xi )) = 0 (k = 1, 2, · · · , m)
P
i=1
n
ω(xi )e(xi ) ∂c∂k e(xi ) = 0 (k = 1, 2, · · · , m)
P
soit encore 2
i=1

or ∂ck
e(xi ) = −vk (xi )
Pn m
P
d’où ω(xi )[f (xi ) − cj vj (xi )]vk (xi ) = 0 (k = 1, · · · , m)
i=1 j=1
m n n
X
P P
soit cj ω(xi )vj (xi )vk (xi ) = ω(xi )f (xi )vk (xi ) (k = 1, · · · , m)
j=1 i=1 i=1
| {z }
bk
Notons : n
P
bk = ω(xi )f (xi )vk (xi )
i=1
Pn
akj = ω(xi )vk (xi )vj (xi )
i=1
d’où le système d’équations linéaires :
Pm
akj cj = bk (k = 1, · · · , m)
j=1
    
a11 · · · a1m c1 b1
 .. . .. .
..   ..  =  ... 
  .  
 . 
am1 · · · amm cm bm
Comme on connaît (xi , f (xi )) et le modèle que l’on propose, c’est-à-dire les vk (xi ), la
résolution de ce système d’ordre m nous donne les coefficients cj .
Algorithme :
1. Données : n couples (xi , f (xi )), les poids ωi
2. Proposer un modèle : Définir les vk (x)
 n
 a =P ω(xi )vk (xi )vj (xi ) (k = 1, · · · , m), (j = 1, · · · , k)
kj
3. Déterminer i=1
 a = a (k = j + 1, · · · , m)
jk kj
n
P
bk = ω(xi )f (xi )vk (xi ) (k = 1, · · · , m)
i=1

84
m
P
4. Résoudre le système d’équations linéaires akj cj = bk (k = 1, · · · , m)
j=1

Remarque : On démontre que le minimum d est bien un minimum absolu stricte.


Modèle
polynomial simple :
vk (x) = xk−1 (k = 1, · · · , m)

g(xi ) = c1 + c2 xi + c3 x2i + · · · + cm xm−1
i

n n
ω(xi )xk−1 xj−1 ω(xi )xk+j−2
P P
akj = i i = i (k, j = 1, · · · , m)
i=1 i=1
n
ω(xi )f (xi )xik−1
P
bk =
i=1

Par exemple, si on veut la droite des moindres carrés, on s’arrête à c2 .


Supposons que les n points xi soient uniformément répartis dans l’intervalle [0, 1], et
considérons ω(xi ) = 1. Dans ce cas, on a, si n est grand,
n Z 1
X n
akj = xik+j−2 ≈n xk+j−2 dx =
j=1 0 k+j−1
| {z }
(n fois la somme de Riemann)

 1 1

1 2
··· m
1 1
··· 1 
2 3 m+1
(aij ) =  ..

.. .. .. 
. . . . 
1 1
m
··· ··· 2m−1

C’est le mineur principal d’ordre m de la matrice de Hilbert.


Cette matrice est mal conditionnée. Pour des polynômes d’ordres peu élevés (<5), on
a de bons résultats, au dessus non.
*Modèle en terme de polynômes orthogonaux
Considérons un système de polynômes orthogonaux {Pj (x), (j = 1, · · · , m)} sur un
ensemble de points {xi } par rapport aux coefficients de pondération ω(xi ) = ωi .
Pm
g(x) = cj Pj (x)
j=1
Pn 
ω(xi )P12 (xi ) · · · 0
i=1 

(akj ) = 
 .
.. . .. .
..



 n 
ω(xi )Pm2 (xi)
P
0 ···
i=1
n
P
bk = ω(xi )f (xi )Pk (xi )
i=1

L’équation de la droite des moindres carrés non pondérés s’écrit, d’une fonction réelle
f connue en n points xi , f (xi ) = yi (i = 1, . . . , n), s’écrit :

y = c1 + c2 x
y x2 − x xy xy − x y
avec : c1 = et c2 =
x2 − x2 x2 − x2

85
n n n
1X 1X 2 1X
x= xi ; x2 = xi ; xy = xi y i
n i=1 n i=1 n i=1

86
Exemple : Chercher la droite des moindres carrés pour les données suivantes :

xi 0 0.2 0.4 0.6 0.8


yi 0.9 1.9 2.8 3.3 4.2

On utilise le modèle polynomial simple. On a g(xi ) = c0 + c1 xi .


5
xk+j−2
P
On a la matrice (akj ) : akj = i
  i=1
5 2
D’où (aij ) =
  2 1.2
13.1
et b =
6.84
D’où le système à résoudre :
    
5 2 c0 13.1
=
2 1.2 c1 6.84

c0 = 1.02

c1 = 4
D’où la droite des moindres carrés : y = 1.02 + 4x

87
Formulation matricielle de la méthode des moindres carrés pondérés
Soit le modèle linéaire: Ye = V C
avec

Vij = vj (xi ) (i 
= 1, . . . , n)(j
= 1, . 
. . , m)
c1 ye1
 c2   ye2 
C =  ..  et Ye =  .. 
   
 .   . 
cm yen

 s’écrit : E = Y − Ye
Le vecteurerreur
y1
 y2 
où Y =  ..  avec yi = f (xi) (i = 1, . . . , n) donnés
 
 . 
yn
On cherche C qui minimise S = E t W E, où W est la matrice de pondération, diagonale:

Wij = ωii δij


Minimum de S −→ ∇S = 0
Minimisation dans l’espace des paramètres {cj , (j = 1, . . . , m)}
 ∂S 
c1
 ∂S 
 c
∇S =  . 2

 ..


∂S
cm

∇S = 2 ∇E t W E


E = Y − Ye = Y − V C =⇒ ∇E = −V
d’où
∇S = −2V t W (Y − V C) = 0
soit

t
V
| {zW V} C = |V t{z
W Y}
=A =B

On doit donc résoudre le système AC = B pour calculer les coéfficients cj , (j = 1, . . . , m)


Remarque: Dans le cas des moindres carrés non pondérés, la matrice W = I est
l’identité, c’est dire ωi = 1(i = 1, . . . , n)

88
Droite des moindres carrés:

ye(x) = c0 + c1 x −→ v1 (x) = 1; v2 (x) = x (m = 2)


 
c0
C= et Vij (x) = vj (xi )
c1
 
1 x1
1 x2
 
1 1 1 ... 1
 
t
V =  et V =
 
.. .. x1 x2 x3 . . . x n
 . . 
1 xn
Pour une droite des mondres carrés non pondérés : W = I

 
1 x1
1 x2
 
1 1 1 ... 1

t t
A = V WV = V V =
 
x1 x2 x3 . . . x n
 .. .. 
 . . 
1 xn
soit  Pn   Pn 
n Pi=1 x i y i
A= Pn n 2 et B = Pi=1
n
i=1 xi i=1 xi i=1 xi yi

On doit alors résoudre le système d’équations:

 Pn    Pn 
n i=1 x i c 0 i=1 y i
Pn Pn 2 = Pn
i=1 xi i=1 xi c1 i=1 xi yi

On divise par n les deux membres et on obtient :

    
1 x c0 y
=
x x2 c1 xy

n n n
1X 1X 2 1X
x= xi ; x2 = xi ; xy = xi y i
n i=1 n i=1 n i=1
Une résolution analytique de ce système nous donne :

y x2 − x xy xy − x y
c0 = et c1 =
x2 − x2 x2 − x2

89
Chapter 7

Dérivation numérique

7.1 Position du problème


Soit une fonction f réelle p fois continûment dérivable sur un intervalle [a, b] et connue
en (n + 1) points xi ∈ [a, b].
Comment calculer les dérivées f (k) (k = 1, 2, · · · , p) de f ?
La méthode générale consiste à approcher la fonction f par une fonction analytique g,
soit par interpolation, soit par approximation. Les dérivées de f sont alors approchées
par celles de g, et souvent la fonction g est un polynôme Pn (x).
D’une manière générale, la dérivation approchée est une opération moins précise que
l’interpolation, en effet, soit

(x) = f (x) − Pn (x)


l’erreur d’interpolation, l’erreur de dérivation s’écrit alors

f 0 (x) − Pn0 (x) = 0 (x)


Ainsi, même si (x) est petit, 0 (x) peut être très grand. En d’autres termes, deux
courbes, celle de f et celle de Pn (x) peuvent être très proches, en un point x0 , tout en
ayant des pentes très différentes en ce point, comme illustré par la figure ci-dessous.

P(x)
n

f(x)

90
7.1.1 Formules de dérivation numérique
Par définition, la dérivée de f en xi est :

f (xi ) = lim f (xi +h)−f (xi )


 0
 h
→ dérivée à droite

 h→0
(xi −h)
f 0 (xi ) = lim f (xi +h)−f
2h
→ dérivée centrée
h→0
 f 0 (xi ) = lim f (xi )−f (xi −h) → dérivée à gauche


h→0 h


xi+1 = xi + h

Si on pose xi−1 = xi − h (i = 1, 2, · · · , n + 1)
f (xi ) = yi

y i−3 y i−2 y i−1 yi y i+1 y i+2 y i+3


... ...
x i−3 x i−2 x i−1 xi x i+1 x i+2 x i+3
h h h h h h

on peut définir les dérivées yi0 comme suit :


yi+1 − yi
yi0 =
h
Quand h est petit, on a :
 0 yi+1 −yi
 f (xi ) ≈ yi0 = h
→ formule décentrée à droite
yi+1 −yi−1
f 0 (x ) ≈ yi0 = → formule centrée
 0 i 2h
yi −yi−1
f (xi ) ≈ yi0 = h
→ formule décentrée à gauche

7.1.2 Interprétation graphique


f(x)

x i−1 xi x i+1 x

7.1.3 Erreur de dérivation


Supposons que f est p fois dérivable, son développement en série de Taylor au point xi
s’écrit :

91
2 3 p
• f (xi+1 ) = f (xi )+h.f 0 (xi )+ h2! .f 00 (xi )+ h3! .f (3) (xi )+· · ·+ hp! .f (p) (xi )+ o(h(p+1) )
| {z }
termes d’ordres supérieurs

2 3 p p
• f (xi−1 ) = f (xi )−h.f 0 (xi )+ h2! .f 00 (xi )− h3! .f (3) (xi )+· · ·+ (−1)p! h .f (p) (xi )+ o(h(p+1) )
| {z }
termes d’ordres supérieurs

Ainsi, 
f (xi+1 )−f (xi ) 2
 f 0 (xi ) =

h
− 2!h .f 0 (xi ) − h3! .f (3) (xi ) + · · ·
f (xi+1 )−f (xi ) 2
f 0 (xi ) = h
+ 2!h .f 0 (xi ) − h3! .f (3) (xi ) + · · ·
 f 0 (x ) = f (xi+1 )−f (xi ) 2
− h3! .f (3) (xi ) + · · ·

i 2h

Ainsi, les termes négligés sont du 1er ordre en h pour les formules décentrées, et du 2ème
ordre en h pour la formule centrée.
Remarque: Pour minimiser cette erreur, il faut que h doit petit, et que h multiplié par
la dérivée seconde (3ème dans le cas de la formule centrée) de f soit aussi petit.

7.2 Formules de dérivations numériques pour des points


équidistants
Ces dérivations sont exprimée par des valeurs de la fonction en ces points
On numérote les points équidistants (de h) symétriquement par rapport à x0 .

y −3 y −2 y −1 y0 y +1 y +2 y +3
... ...
x −3 x −2 x −1 x0 x +1 x +2 x +3
h h h h h h

7.2.1 Formules des dérivées en fonction des différences progres-


sives

y0 y1 y2 y3 
0
h.f (x0 ) -1 1 o(h)
2h.f 0 (x0 ) -3 4 -1 o(h2 )
6h.f 0 (x0 ) -11 18 -9 2 o(h3 )
h2 .f 00 (x0 ) 1 -2 1 o(h)
h2 .f 00 (x0 ) 2 -5 4 -1 o(h2 )

Lecture de ce tableau :

• La première ligne de ce tableau nous donne la dérivée première en x0 , calculée par


les différences progressives en 2 points:

y1 − y0
f 0 (x0 ) =
h

92
• La deuxième ligne de ce tableau nous donne la dérivée première en x0 , calculée par
les différences progressives en 3 points:

4y1 − y2 − 3y0
f 0 (x0 ) =
2h
• La 3ème ligne de ce tableau nous donne la dérivée première en x0 , calculée par les
différences progressives en 4 points:

18y1 + 2y3 − 9y2 − 11y0


f 0 (x0 ) =
6h
• La 4ème ligne de ce tableau nous donne la dérivée seconde en x0 , calculée par les
différences progressives en 3 points:

y2 − 2y1 + y0
f 00 (x0 ) =
h2
• La 5ème ligne de ce tableau nous donne la dérivée seconde en x0 , calculée par les
différences progressives en 4 points:

2y0 + 4y2 − 5y1 − y3


f 00 (x0 ) =
h2

7.2.2 Formules des dérivées en fonction des différences régres-


sives

y−3 y−2 y−1 y0 


0
h.f (x0 ) -1 1 o(h)
2h.f 0 (x0 ) 1 -4 3 o(h2 )
6h.f 0 (x0 ) -2 9 -18 11 o(h3 )
h2 .f 00 (x0 ) 1 -2 1 o(h)
h2 .f 00 (x0 ) -1 4 -5 2 o(h2 )

7.2.3 Formules des dérivées en fonction des différences centrées

y−3 y−2 y−1 y0 y1 y2 y3 


0
2h.f (x0 ) -1 0 1 o(h2 )
12h.f 0 (x0 ) 1 -8 0 +8 -1 o(h4 )
60h.f 0 (x0 ) +1 +1 -35 0 +35 -1 -1 o(h6 )
h2 .f 00 (x0 ) +1 -2 +1 o(h2 )
12h2 .f 00 (x0 ) -1 +16 -30 +16 -1 o(h4 )

Exercice: Retrouver ces formules de dérivation numériques à partir du polynôme


d’interpolation de Lagrange de la fontion f .

93
Chapter 8

Résolution numérique des équations


différentielles

8.1 Introduction
• Équation différentielle du premier ordre : y 0 (x) = f (x, y(x))

0
 y1 (x) = f1 (x, y1 (x), · · · , yn (x))

 y 0 (x) = f2 (x, y1 (x), · · · , yn (x))

2
• Système d’équations différentielles du premier ordre : ..

 .
 y 0 (x) = f (x, y (x), · · · , y (x))

n n 1 n

• Équation différentielle d’ordre p : y (p) (x) = f (x, y(x), y 0 (x), · · · , y (p−1) (x))

Remarque : Un système de p équations différentielles du 1er ordre est équivalent à une


équation différentielle d’ordre p. En effet, en posant y1 = y, y2 = y 0 , y3 = y 00 , · · · , yp =
y (p−1) , on a : 

 y10 = y2
 y 0 = y3

2
..

 .
 y 0 = f (x, y , y , · · · , y )

p 1 2 p

8.2 Définitions
Fonctions lipschitziennes :
La fonction f : [a, b] × Rn → R est dite lipschitzienne dans [a, b] × Rn s’il existe une
constante L réelle positive telle que :

||f (x, u) − f (x, v)|| ≤ ||u − v|| (∀x ∈ [a, b]) (∀u, v ∈ Rn )

On dit que L est la constante de Lipschitz pour la fonction f .


Problème de Cauchy (ou problème de conditions initiales)
C’est la recherche d’une fonction y dérivable sur un intervalle [a, b], et qui vérifie :

y(a) = y0
y 0 (x) = f (x, y(x)) (x ∈ [a, b])

Théorème : Si la fonction f est définie, continue et lipschitzienne sur [a, b] × Rn , alors le


problème de Cauchy admet une solution unique quelque soit la condition initiale (CI).

94
8.3 Méthodes de résolution numérique des équations
différentielles
• On subdivise l’intervalle [a, b] par des points x1 , x2 , · · · , xn (en général équidistants)

• On calcule n nombres yi (i = 1, 2, · · · , n), valeurs approchées de la solution y aux


points xi (yi = y(xi )).

• À l’aide de ces valeurs calculées, on détermine une approximation numérique de la


fonction solution ainsi que l’erreur commise lors de cette approximation.

• Méthodes à pas séparés ou à un pas → Calcul de yi+1 uniquement à partir de yi .

• Méthodes à pas liés ou à pas multiples → Calcul de yi+1 à partir de yi , yi−1 , yi−2 , · · · , yi−p .

Dans ce chapitre, on s’intéressera uniquement aux méthodes à un pas.

8.4 Méthode d’Euler (méthode à un pas)


On a y 0 = f (x, y) à résoudre.
Soit un ensemble de points régulièrement répartis dans [a, b].

b−a
xi = a + i.h (i = 0, 1, · · · , n) où h = le pas
n
La méthode d’Euler consiste en la construction de l’approximation yi de y(xi ) par les
relations : 
 y0 = y(a) (CI)
yi+1 = yi + h.f (xi , yi ) (i = 0, 1, 2, · · · , n)
f (xi , yi ) = yi+1h−yi

Interprétation graphique :
y0 est une donnée du problème, pour calculer y1 , on utilise y0 et la pente de la tangente
en y0 .
Pour calculer y2 , on utilise l’estimation y1 et la pente en y1 .
Et ainsi de suite.
Algorithme d’Euler :

1. Données : a, b, f (x, y), choix de n

2. On pose : h = b−a
n

Pour i=1,n
 xi = x0 + i.h
3. 
 yi = yi−1 + h.f (xi−1 , yi−1 )
Fin pour

Étude de la convergence :
Méthode à un pas : yi+1 = yi + h.φ(xi , yi , h) où φ est une application de
[a, b] × R × [0, b − a] → R

95
f(x)

x i−2 x i−1 xi x i+1 x i+2 x

• Consistance d’une méthode : On parle de consistance d’une méthode avec l’équation


différentielle si
n o
yi (xi+1 )−y(xi )
lim max − φ(xi , y(xi ), h) = 0

h→0 i h

pour toute solution y de l’équation différentielle ∈ C ∞ [a, b] (C ∞ [a, b] est l’espace


vectoriel des fonctions continues sur [a, b] muni de la norme ||f || = max |f (x)|).
x∈[a,b]

Théorème :
Une condition nécessaire et suffisante pour qu’une méthode soit consistante est :
(∀x ∈ [a, b]), (∀u ∈ R) φ(x, u, |{z}
0 ) = f (x, u).
h=0

• Stabilité d’une méthode : Soient les relations



yi+1 = yi + h.φ(xi , y(xi ), h) (y0 donnée)
zi+1 = zi + h.[φ(xi , z(xi ), h) + i ] (z0 donnée)

La méthode est dite stable s’il existe deux constantes M1 et M2 indépendantes de


h telles que max |yi − zi | ≤ M1 |y0 − z0 | + M2 max |i |.
i i
Théorème :
Si φ vérifie la condition de Lipschitz où la constante de Lipschitz est indépendante
de h, alors la méthode est stable.

• Convergence d’une méthode : La méthode est dite convergente si

lim max |yi − y(xi )| = 0 (∀y0 )


h→0 i

Théorème : Si une méthode est consistante et stable, alors elle est convergente.

On peut dire que la méthode d’Euler est consistante et stable, donc convergente.

96
8.5 Méthodes de Runge-Kutta
Principe : Les méthodes de Runge-Kutta (RK) sont une généralisation de la méthode
précédente en calculant à chaque pas des valeurs intermédiaires pour que la relation de
récurrence approche le plus possible le développement de Taylor de la solution exacte du
problème.

• Méthode de Runge-Kutta d’ordre 2


On donne :

– la relation de récurrence : yi+1 = yi + R1 k1 + R2 k2 avec k1 = h.f (xi , yi ) et


k2 = h.f (xi + ah, yi + αk1 )
– les coefficients : a = α ; R1 = 2a−1
2a
1
; R2 = 2a
(a=1, R1 = R2 = 21 → Méthode d’Euler modifiée)

• Méthode de Runge-Kutta d’ordre 4 classique

– la relation de récurrence : yi+1 = yi + 61 [k1 + 2k2 + 2k3 + k4 ]




 k1 = h.f (xi , yi )
k2 = h.f (xi + h2 , yi + k21 )

– les coefficients :
k = h.f (xi + h2 , yi + k22 )
 3


k4 = h.f (xi + h, yi + k3 )
Intérêts et inconvénients des méthodes de Runge-Kutta :

• Avantages :

– Relation de récurrence simple


– Méthode stable

• Inconvénients :

– Coûteuse en temps de calcul


– Erreur locale difficile à estimer

97
Chapter 9

Intégration numérique

9.1 Introduction
Les méthodes d’intégration numérique concernent l’évaluation (numérique) d’intégrales
de fonctions qui ne sont connues que par un ensemble fini, discret de point ; ou bien qui
sont difficiles à calculer.
Supposons la fonction f intégrable sur [a, b] et connue en (n+1) points xi (i = 0, 1, · · · , n),
et soit ω(x) une fonction de poids.
Rb
L’intégrale I = a ω(x)f (x)dx sera estimée au moyen de sommes finies qui s’écrivent :
n
X
In = αi f (xi )
i=0

de telle sorte que le reste Rn = I − In soit le plus petit possible (en valeur absolue).
Ce problème peut être ramené à un problème d’approximationRde fonctions R: en effet,
b b
si f (x) ∼ g(x) dans [a, b] (g est un bon approximant de f ), alors a f (x)dx ∼ a g(x)dx,
ce qui veut dire que si on peut trouver un approximant g de f et que g est facile à intégrer,
alors le problème est résolu.
Soit g(x) le polynôme d’interpolation de Lagrange, c’est-à-dire
n
X
(x) = f (xi ).Li (x)
i=0

passant par les points xi (i = 0, 1, · · · , n).


n
f (n+1) (ξ) Q
On peut écrire f (x) = g(x) + r(f ) où r(f ) = (n+1)!
(x − xi ) avec (ξ ∈ [a, b]) et
i=0
Z b n
Z bX Z b
f (x)dx = Li (x).f (xi )dx + r(f )dx
a a i=0 a
| {z }
R(f )

où R(f ) est l’erreur de quadrature.


Quand on néglige R, on obtient une approximation de l’intégrale de f sur [a, b] :
Z b n
X Z b
f (x)dx ≈ f (xi ) Li (x)dx
a i=0 a
| {z }
αi

On pose

98
Z b
αi = Li (x)dx (i = 0, 1, · · · , n) (9.1)
a

et la formule de quadrature, s’écrit :


Z b n
X
f (x)dx = αi f (xi ) (9.2)
a i=0

9.2 Définitions
Rb n
P
• La formule de quadrature a
f (x)dx = αi f (xi ) est dite :
i=0

i/ formule de type fermé si les limites d’intégration a et b sont des points d’interpolation,
ii/ sinon, c’est une formule de type ouvert.

• Un entier n est appelé degré de précision d’une formule de quadrature si R = 0


pour tous les polynômes de degré k ≤ n et R 6= 0 pour un certain polynôme de
degré (n + 1).

Théorème:
n
P
Le degré de précision d’une formule de quadrature αi f (xi ) est n si et seulement si
i=0
R = 0 pour les polynômes xk (k = 0, 1, · · · , n) et R 6= 0 pour le polynôme xn+1 .

9.3 Formule de quadrature de précision n


n
P
Théorème: La formule de quadrature αi f (xi ) est de précision n si et seulement si les
i=0
constantes αi sont données par le système d’équations suivant :
    
1 1 ··· 1 α0 I0
 x0
 x1 · · · xn   α1   I1 
   

 x2 x21 · · · x2n   α2   I2 
 0   =   (9.3)
 .. .. . . ..   ..   .. 
. . . .  .   . 
xn0 x1 · · · xnn
n
αn In
bk+1 −ak+1
avec Ik = k+1
(Démonstration à faire)

Remarques :

• Le déterminant ∆(x0 , x1 , · · · , xn ) du système (9.3) est celui de Vandermonde :

n
Y
∆(x0 , x1 , · · · , xn ) = (xi − xj ) 6= 0 (9.4)
i>j

et la solution de ce système existe et est unique.

• Les coefficients αi ne dépendent pas du choix de f pour une partition {x0 , x1 , · · · , xn }


donnée. Il est donc inutile de construire les polynômes de Lagrange.

99
Exemple :
Soit f connue en x0 = 14 , x1 = 21 , x2 = 34 de l’intervalle [0, 1]. Construire une formule
R1 P 2
de quadrature de la forme 0 f (x)dx = αi f (xi )
i=0
    
1 1 1 α0 1
 1 1 3  α 1  =  1 
4 2 4 2
1 1 9 1
16 4 16
α2 3
donc α0 = 23 ; α1 = − 13 ; α2 = 23 .
Les α0 , α1 , α2 sont calculés pour les points x0 , x1 , x2 et on peut maintenant calculer
l’intégrale pour n’importe quelle fonction.
Exemple : f (x) = 2x2 + 3
R1 3
On a 0 f (x)dx = [ 2x3 + 3x]10 = 11 3
la solution exacte,
f (x0 ) = f ( 14 ) = 1
8
+ 3= 25
8
et f (x1 ) = f ( 12 ) = 7
2
f (x2 ) = f ( 34 ) = 33
8
R1
d’où 0 f (x)dx ≈ 23 × 25
8
− 13 × 72 + 23 × 33
8
= 11
3
On a R = 0 car deg(f ) = 2 ≤ n = 2.

9.4 Formules de quadrature de Newton-Cotes


Théorème:
Soit une partition de points {x0 , x1 , · · · , xn } régulièrement répartis sur [a, b].

xi = a + i h (i = 1, 2, . . . , n) (9.5)
où h est le pas donné par:
b−a
h= (9.6)
n
L’intégrale entre a et b d’une fonction f connue aux points xi est donnée par la formule
de quadrature (9.2) où αi donné par (9.1) dont laquelle on remplace le polynôme Li (x)
par son expression (5.3)„ soit
b Z bYn
(x − xj )
Z
αi = Li (x)dx = dx (9.7)
a a j=0 (xi − xj )
j6=i
On obtient :
Z b n
X
f (x)dx = (b − a) ci f (xi ) (9.8)
a i=0

où les coefficients ci sont les coefficients de Cotes définis par :


n
(−1)n−i q(q − 1)(q − 2) · · · (q − n)
Z
ci = dq (i = 0, 1, · · · , n) (9.9)
n.i!(n − i)! 0 q−i
Remarque :
n
X
On a: ci = 1 et ci = cn−i (9.10)
i=0

100
9.4.1 cas : n = 1 Formule du trapèze
1 1
c0 = et c1 = (symétrique, ci = cn−i ) (9.11)
2 2
Z b
h
f (x)dx ≈ (f (x0 ) + f (x1 ))
a 2
Interprétation graphique

3
Le reste est : R(h) = − h12 f (3) (ξ), (ξ ∈ [a, b]).
Dans la pratique, on utilise la méthode des trapèzes, c’est-à-dire quand on intègre
sur un intervalle [a, b], on le subdivise en n sous-intervalles et on applique la formule du
trapèze sur chacun de ces sous-intervalles, et dans ce cas, on écrit :
Z b n Z xi n
X X h
f (x)dx ≈ f (x)dx = [f (xi−1 ) + f (xi )]
a i=1 xi−1 i=1
2

Z b
1 1
f (x)dx ≈ h( f (x0 ) + f (x1 ) + · · · + f (xn−1 ) + f (xn )) (9.12)
a 2 2
3 2
Le reste est : R = − nh
12
f 00 (ξ) soit encore R = − (b−a)h
12
f 00 (ξ), (ξ ∈ [a, b]).
Graphiquement, la courbe de f est approchée par des segments de droite dans chaque
sous-intervalle.

9.4.2 cas : n = 2 Formule de Simpson


1 2 1
c0 = , c1 = et c2 =
6 3 6
Z b
h
f (x)dx ≈ (f (x0 ) + 4f (x1 ) + f (x2 )) (9.13)
a 3

Interprétation graphique

101
5
Le reste est : R(h) = − h90 f (4) (ξ), (ξ ∈ [x0 , x2 ]).
Dans la pratique, on utilise la formule de Simpson généralisée : on subdivise l’intervalle
[a, b] en un nombre n = 2m (c’est-à-dire pair) d’intervalles égaux et on applique la formule
de Simpson à chaque double intervalle.
m m−1
 
Z b X X
h  (f (x0 ) + f (x2m )) + 4 f (x2i−1 ) +2 f (x2i ) 
f (x)dx ≈  i=1 i=1
3

a | {z } | {z }
S1 S2

Z b
h 
f (x)dx = f (x0 ) + f (x2m ) + 4S1 + 2S2 (9.14)
a 3
(b−a) 4 (4)
Le reste est donné par : R = 180
h f (ξ) (ξ ∈ [a, b])

9.5 Formule de quadrature de Gauss


Principe :
Elle consiste en la sélection des points x1 , x2 , · · · , xn et des coefficients α1 , α2 , · · · , αn
pour que le degré de précision de la formule de quadrature:
Z +1 X
f (x)dx = αi f (xi )
−1 i

soit le plus grand possible.


Cette formule contient 2n inconnues (xi et αi ).
Le polynôme défini par 2n coefficients est de degré (2n − 1), donc le degré de précision
maximum qu’on peut envisager est (2n − 1).
Compte tenu du théorème cité dans le paragraphe 9.2, la formule de quadrature :
R +1 n
αi f (xi ) doit être exacte pour les polynômes 1, x, x2 , · · · , x2n−1
P
−1
f (x)dx =
i=1
R +1 n
αi f (xi )) 6= 0 pour x2n .
P
et ( −1 f (x)dx −
i=1  2
R +1 m
m+1
si m est pair
Sachant que −1 x dx =
0 si m est impair
on obtient le système de 2n équations suivant:

 n
P



 αi = 2
 i=1


 Pn


 αi xi = 0
i=1



 n
Z +1 n  P α i x2 = 2

X i 3
xm dx = αi xm (m = 0, 1, 2, · · · , 2n − 1) ⇒ i=1 (9.15)
−1  ..
i=1 

 .

 n
αi xi2n−2 = 2

 P
2n−1



 i=1
 n
αi xi2n−1 = 0

 P


i=1

Ce système (9.15) de 2n équations à 2m inconnues est non linéaire et difficile à résoudre.

102
Astuce de calcul pour contourner cette difficulté:

Soient Pn (x) les polynômes de Legendre (5.1) et considérons les polynômes


xm .Pn (x) (m = 0, 1, 2, · · · , n − 1) dont les degrés sont ≤ 2n − 1
Z +1 n
X
xm Pn (x)dx = α i xm
i Pn (xi ) (m = 0, 1, 2, · · · , n − 1)
−1 i=1

et d’après les propriétés des polynômes de Legendre, on a :


Z +1
xk Pn (x)dx = 0 pour k < n
−1

d’où
n
X
αi xki Pn (xi ) = 0 (k = 0, 1, · · · , n − 1)
i=1

Cette équation est vérifiée quelque soit αi pour les racines xi de Pn (x). On sait de plus
que les racines du polynôme de Legendre Pn (x) sont dans l’intervalle [−1, 1].
Ainsi, à partir de ces racines, on détermine facilement αi à partir des n premières
équations du système (9.15) qui forment cette fois-ci un système linéaire.

Remarque importante :
Les points xi nous sont imposés ici, et les valeurs des xi et αi sont en général tabulés,
sinon calculables une fois pour toute.

103

Vous aimerez peut-être aussi