Vous êtes sur la page 1sur 94

UNIVERSITE DE KINSHASA

FACULTE DES SCIENCES


Dpt de Mathématiques et Informatique

' $

Méthodes Numériques
Notes de cours à l’usage des Étudiants
de Troisième Graduat Informatique
& %

l
Dr Joseph Désiré Bukweli Kyemba
Professeur Associé

ANNEE ACADEMIQUE 2017 - 2018


Introduction

Ce support contient l’essentiel des notes de cours dispensé en Premiers Graduats


de l’Institut Supérieur Pédagogique et Technique de Kinshasa.
Nous avons inséré quelques exercices pratiques qui aideraient, si on les traite avec
sérieux, à comprendre et à approfondir la théorie présentée dans chaque chapitre.
C’est ici l’occasion de remercier tous ceux qui nous ont poussé à rédiger ce support
et à le mettre sous ce format. Merci aussi d’avance à tous ceux qui nous feront des
remarques en vu de l’améliorer.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Contents

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

1 Précision en calcul approché . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


1.1 Représentations des nombres réels . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Représentation des nombres à virgule fixe . . . . . . . . . . . . . . . 1
1.1.2 Représentation des nombres à virgule flottante . . . . . . . . . . . . 1
1.2 Erreurs et conditionnement des problèmes . . . . . . . . . . . . . . . . . 2
1.2.1 Sources et propagation d’erreurs . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Instabilité numérique et conditionnement de problème . . . . . . . . 4
Exercices sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Systèmes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Système bien ou mal conditionné . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Méthodes directes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 Résolution des systèmes triangulaires . . . . . . . . . . . . . . . . . . 10
2.3.3 Méthode d’élimination de Gauss-Jordan . . . . . . . . . . . . . . . . 11
2.4 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.2 Méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3 Méthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.4 Accélération de la convergence et critère d’arrêt . . . . . . . . . . . . 25
Exercices sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 Systèmes non linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29


3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Méthodes itératives sur R . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.1 Localisation des zéros . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.2 Méthode de dichotomie (ou de la bissection) . . . . . . . . . . . . . . 30
3.2.3 Méthode de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.4 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.5 Méthode de point fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Méthode de Newton dans Rn . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.1 Rappels de calcul différentiel dans Rn . . . . . . . . . . . . . . . . . . 36

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Contents iii

3.3.2 Méthode de Newton généralisée . . . . . . . . . . . . . . . . . . . . . 37


3.3.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Exercices sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4 Interpolation numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1 Interpolation polynomiale simple . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Méthode Naı̈ve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.2 Méthode de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.3 Méthode de Newton ou des différences divisées . . . . . . . . . . . . 45
4.1.4 Erreur d’interpolation polynomiale . . . . . . . . . . . . . . . . . . . 47
4.2 Interpolation de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3 Interpolation composée: Splines . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.1 Splines de degré m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.2 Cas particulier des Splines linéaires . . . . . . . . . . . . . . . . . . . 52
4.4 Interpolation par la méthode des moindres carrés . . . . . . . . . . . . . 53
Exercices sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5 Intégration et Dérivation Numériques . . . . . . . . . . . . . . . . . . . . . 55


5.1 Formules de quadrature classique . . . . . . . . . . . . . . . . . . . . . . 55
5.1.1 Expression générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.2 Construction des formules de quadrature et estimation d’erreur . . 55
5.1.3 Quelques cas particuliers . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2 Formules composites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2.2 Quelques cas particuliers . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.3 Formule de quadrature de Gauss . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.1 Formulation du problème . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.2 Approche générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.3.3 Approche basée sur les polynômes orthogonaux . . . . . . . . . . . 64
5.4 Dérivation numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Exercices sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6 Systèmes différentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2 Résolution numérique du problème de Cauchy . . . . . . . . . . . . . . . 72
6.2.1 Schémas d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2.2 Schémas de Crank-Nicolson et de Heun . . . . . . . . . . . . . . . . 74
6.2.3 Schéma de Taylor d’ordre n . . . . . . . . . . . . . . . . . . . . . . . . 75
6.2.4 Schémas de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2.5 Résolution des systèmes différentiels . . . . . . . . . . . . . . . . . . 79
6.2.6 Consistance, stabilité et convergence des méthodes . . . . . . . . . . 79
6.3 Solutions numériques des P.V.Ls . . . . . . . . . . . . . . . . . . . . . . . 80
6.3.1 Méthode des différences finies pour P.V.L linéaires . . . . . . . . . . 81
6.3.2 Méthode des différences finies pour P.V.L non-linéaires . . . . . . . 83
6.4 Solutions numériques des EDPs . . . . . . . . . . . . . . . . . . . . . . . 84

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Contents iv

6.4.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.4.2 Résolution des EDPs par la méthode des différences finies . . . . . . 85
Exercices sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Bibliographie

1. M. A. Aziz Alaouti et C. Bertelle, Méthodes numériques appliquées, Paris, 2002.

2. R. L. Berden and J. D. Faires, Numerical Analysis, 9th ed., Books/Cole, Cengage


Learning, Boston, 2011.

3. S. D. Conte and C. de Boor, Elementary numerical Analysisis: An algorithmic


approach, 3rd ed., McGraw-Hill Book Company, New York, 1980.

4. G. Legendre, Méthodes numériques: Introduction à l’analyse et calcul scien-


tifique, Université Paris Dauphine, inédit, 2013.

5. S. Nakamura, Numerical Analysis and Graphic Visualization with MATLAB, 2nd


ed., Prentince-Hall, New Jersey, 2002.

6. K. Sigmon, MATLAB, Aide-Mémoire, Traduction et adaptation de Nicolas Puech,


Springer-Verlag France, Paris 1999.

7. W. F. Trench, Elementary Differential equations with boundary value problems,


Brooks/Cole Thomson Learning, 2001.

8. C. J. Zarowski, An introduction to numerical analysis for electrical and computer


engineers, John & Sons Inc., New Jersey, 2004.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Chapter 1

Précision en calcul approché

1.1 Représentations des nombres réels


1.1.1 Représentation des nombres à virgule fixe
Supposons que la machine dispose de N cellules-mémoire pour stocker un nombre
réel quelconque x. Dans cette représentation, on réserve une cellule pour son signe,
N −r−1 cellules-mémoire pour les chiffres situés à gauche du séparateur (partie entière)
et r cellules-mémoire pour les chiffres situés à droite du séparateur (partie fractionnaire):
x = (±bN−r−1 . . . b0 , b−1 . . . b−r )β . (1.1.1)
Ce qui revient à convenir d’une position immuable et tacite du séparateur.
x= ± bN−r−1 · · · b1 b0 b−1 b−2 · · · b−r
| {z }| {z }
partie entière partie décimale

1.1.2 Représentation des nombres à virgule flottante


Dans cette représentation, un nombre réel peut se mettre sous la forme symbolique
x = ± m × βe (1.1.2)
où m est appelé la mantisse et e l’exposant.
La mantisse m est un réel tel que 0 ≤ m < 1 qui est écrit avec virgule fixe et
possédant un nombre maximum t de chiffres significatifs (imposé par la mémoire de
l’ordinateur). Il en découle alors qu’un réel peut se mettre sous plusieurs forme dans
cette représentation. Dans la forme dite normalisée, la mantisse se met sous la forme:
  t
X
m = 0.d1 d2 . . . dt = di β−i (1.1.3)
β
i=1

où les di ∈ {0, 1, . . . , β − 1}, appelés bits lorsque β = 2 et, d’une manière générale, digits
si β , 2 sont tel que d1 , 0.
L’exposant e est un entier signé qui peut prendre les valeurs entières de l’intervalle
[L, U], avec L < 0 et U > 0.
Pratiquement on partitionne le nombre en trois parties, l’une contenant e et l’autre
contenant m et le premier digit à gauche contient le signe.
1 t
± ··· ···
| {z }| {z }
e m

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


2

Ainsi, dans la représentation normalisée avec t chiffres significatifs on fait varier la


mantisse m dans l’intervalle :
1 t 1 t
1 0 ··· 0 0 ≤m ≤ β−1 β−1 ··· β−1 β−1
| {z } | {z }
β−1 1−β−t

c’est-à -dire
β−1 ≤ m ≤ 1 − β−t < 1.
L’ensemble des nombres à virgule flottante normalisés F(β, t, L, U) que l’on obtient
ainsi constitue un sous-ensemble de R et on a

f ∈ F(β, t, L, U) =⇒ f = ± d1 d2 · · · dt βe = ± m βe
| {z }
m
=⇒ βL−1 ≤ | f | ≤ βU . (1.1.4)

L’ensemble
n o n o
G(β, t, L, U) = x ∈ R : βL−1 ≤ |x| ≤ βU ∪ 0 (1.1.5)

est l’ensemble des nombres réels qui trouvent une représentation dans F(β, t, L, U), on
définit l’ensemble. x ∈ G(β, t, L, U) peut alors se mettre sous la forme

x = ± 0.x1 x2 . . . xt xt+1 xt+2 . . . × βe , (1.1.6)

où 0 ≤ xi ≤ β − 1 pour i = 1, 2, . . . , t, t + 1, t + 2, . . . avec x1 , 0.


L’arrondi est l’opération f l : G(β, t, L, U) −→ F(β, t, L, U) qui à un élément
x ∈ G(β, t, L, U) fait correspondre f l(x) =∈ F(β, t, L, U) en suivant une de deux règles
ci-après:

• La troncature, c’est-à -dire

f l(x) = ± 0.x1 x2 . . . xt × βe ; (1.1.7)

• L’arrondi parfait, c’est-à -dire

0.x1 x2 . . . xt × βe si xt+1 . xt+2 . . . < β/2





f l(x) = ±0.d1 d2 . . . dt × βe = ± 

(1.1.8)


 0.x x . . . x + β−t  × βe sinon .

1 2 t

1.2 Erreurs et conditionnement des problèmes


1.2.1 Sources et propagation d’erreurs
Les solutions de problèmes calculées par une méthode numérique sont affectées par
des erreurs que l’on peut principalement classer en trois catégories:

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


3

• les erreurs d’arrondi, qui proviennent du fait que tout calculateur travaille en
précision finie, c’est-à -dire dans un sous-ensemble fini de R, l’arithmétique na-
turelle étant alors approchée par une arithmétique des nombres à virgule flottante;

• les erreurs sur les données, imputables à une connaissance imparfaite des données
du problème que l’on cherche à résoudre, comme lorsqu’elles sont issues de
mesures physiques soumises à des contraintes expérimentales;

• les erreurs de troncature, d’approximation ou de discrétisation, introduites par les


schémas de résolution numérique utilisés, comme le fait de tronquer le dévelop-
pement en série infinie d’une solution analytique pour permettre son évaluation.

Définition 1.2.1 On définit l’erreur absolue d’arrondi sur x ∈ G(β, t, L, U) par

x − f l(x)

et, lorsque x est non nul l’erreur relative d’arrondi par

x − f l(x)
.
|x|
Et d’une manière générale, si (X, | . |) est un espace métrique et, si x̂ et une approxima-
tion d’un élément x de X:

Définition 1.2.2 On définit l’erreur absolue entre x̂ et x par

|x − x̂|

et, lorsque x est non nul l’erreur relative par


|x − x̂|
.
|x|
Il convient de noter que le calcul d’erreurs permet d’estimer la précision de la méthode
numérique utilisée.
On peut montrer que pour tout x ∈ G(β, t, L, U) l’erreur relative commise par
l’approximation f l(x) est telle que:
 1−t

 β pour la troncature
x − f l(x)


δ =

≤ (1.2.1)

|x|  1
 β 1−t

pour l’arrondi parfait.


2
Cette relation est à la base de toute étude d’erreurs d’arrondi.
Ainsi, pour x ∈ G(β, t, L, U), on a:

f l(x) = x(1 + δ), (1.2.2)

Dans la suite nous considérons donc l’arrondi parfait. En effet, considérons les erreurs
relatives associées aux opérations suivantes :

f l(x ∗ y) = (x ∗ y)(1 + δ1 )

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


4

f l(x/y) = (x/y)(1 + δ2 )

f l(x ± y) = (x ± y)(1 + δ3 ).

On peut alors montrer que

|δ1 | ≤ 2−1/2 β1−t et |δ2 | ≤ 2−1/2 β1−t

alors que δ3 n’est pas garanti d’être petit. C’est le cas notamment, lorsque l’addition de
deux nombres très proches en valeur absolue (différence) donne un résultat très petit.
Ceci est connu sous le nom de catastrophic cancellation.

N.B.: A cause des erreurs d’arrondi, les opérations élémentaires s’avèrent être non
associactive. En générale, dans une sommations de réels, l’erreur a la tendance à être
minimisée lorsqu’on somme en premier les termes ayant la plus petite valeur absolue.

1.2.2 Instabilité numérique et conditionnement de problème


Si la précision des résultats n’est pas acceptable, il est important de distinguer les
deux situations suivantes :

• Les erreurs d’arrondi sont considérablement grossies par la méthode de calcul.


Dans ce cas, on parle d’une méthode ou d’un algorithme numériquement instable.

• Une petite perturbation des données peut engendrer un grand changement de la


solution. Dans ce cas, on parle de problème mal conditionné.

Soit un problème qui consiste à évaluer f (x) et une perturbation des données x + ε.
Pour évaluer la sensibilité d’un problème à une perturbation des données, on définit la
condition du problème comme étant le rapport :

f (x + ε) − f (x)
  f (x) f (x + ε) − f (x) |x|
cond f (x) = = .
|ε| |ε| f (x)
|x|
Et pour ε → 0 on a:
  x f 0 (x)
cond f (x) ≈ . (1.2.3)
f (x)
 
Si cond f (x) est grande alors le problème est dit mal conditionné.
Preuve: Exercice.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


5

Exercices sur le chapitre


1. On se donne les nombres a = (0.1000)2 , b = (0.1001)2 et c = (0.0101)2 . On sait que
s’il n’y a pas d’erreur on doit avoir a ∗ (b + c) = a ∗ b + a ∗ c. Calculer

x = f l(a ∗ f l(b + c)) et y = f l( f l(a ∗ b) + f l(a ∗ c))

en supposant que les calculs se font avec une machine à t = 4 bits significatifs.
Obtient-t-on x = y?

2. Expliquer pourquoi la condition dans le test suivant est peu fiable:


if x , y then f = f /(x − y) end;

3. Rappelons qu’habituellement les racines de l’équations x2 + bx + c = 0 sont obtenu


par les formules
√ √
−b + b2 − 4c −b − b2 − 4c
x1 = , x2 =
2 2
à condition que b2 − 4c ≥ 0. Soit b = −0.3001,et c = 0.00006. Les racines exactes
sont alors x1 = 0.29989993 et x2 = 2.000667 × 10−4 .

(a) Déterminer les approximations des racines en supposant que les calculs
s’effectuent à l’aide d’une machine limitée à t = 4 chiffres significatifs
décimaux (β = 10) en représentation à virgule flottante normalisée.
(b) Déterminer les erreurs absolues et relatives d’approximation et commenter
les résultats obtenus.
(c) Calculer l’approximation de la deuxième racine en utilisant la formule
2c
x2 = √ .
−b + b2 − 4c
Que devient l’erreur relative d’approximation de cette racine? Que peut-on
conclure?

4. On suppose que β = 10 et on considère le résultat d’une opération arithmétique


en représentation à virgule flottante comme suit
∞ 
X 
x = ±  xk 10−k  × 10e .
k=1

Il est évident que la troncature à t chiffres significatifs se fait en annulant tous les
chiffres xk pour k > t; c’est-à -dire

f l(x) = ± 0.x1 x2 . . . xt × 10e .

(a) Montrer que l’arrondit parfait dans ce cas se fait comme suit: “ ajouter
0.00 . . . 01 à la mentisse si xt+1 ≥ 5, sinon ne rien changer à la troncature”.
| {z }
t+1 chiffres

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


6

(b) Montrer que l’erreur absolue de troncature satisfait

|x − f l(x)| ≤ 10−t × 10e

tandis que celle d’arrondi parfait satisfait

1
|x − f l(x)| ≤ 10−t × 10e .
2

(c) En déduire que l’erreur relative est telle que


 1−t
 10 (troncature)
|x − f l(x)| 

≤

|x| 
 1 101−t (arrondi parfait).

2

5. Supposer que β = 10 et t = 4 et soient deux nombres x = 0.1011 × 10−3 et


y = −0.1101 × 102 .
(a) Déterminer f l(x + y), f l(x − y) et f l(x ∗ y).
(b) Pour chaque cas déterminer, si possible, les erreurs de troncature et d’arrondi.

6. Mêmes questions pour β = 2, t = 4, x = 0.1010 × 22 et y = 0.1111 × 21 .

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Chapter 2

Systèmes linéaires

2.1 Généralités
Définition 2.1.1 Soit n, p ≥ 1 des entiers. On appelle système linéaire n × p un ensemble de
n équations linéaires à p inconnues de la forme



 a1 1 x1 + a1 2 x2 + . . . + a1 p xp = b1





a2 1 x1 + a2 2 x2 + . . . + a2 p xp = b2






(2.1.1)

.. ..


. .










 an 1 x1 + an 2 x2 + . . . + an p xp = bn

où les coefficients bi et ai j , 1 ≤ i ≤ n, 1 ≤ j ≤ p sont dans un corps K = (R ou C) tandis que les


x j sont des inconnus à rechercher dans K. Ce système peut encore s’écrire
p
X
ai j x j = bi , i = 1, . . . , n. (2.1.2)
j=1

Si on pose

a11 a12 . . . a1p 


     
  x1   b1 
a21 a22 . . . a1p  x2 b2
     
      
A ≡ ai j 1≤i≤n =  .. .. .. ..  , x =  ..
 et b =  ..

. . . .  . .
 
1≤ j≤p     
    
an1 an2 . . . anp xp bn

le système (2.1.2) prend la forme matricielle Ax = b.


Dans ce chapitre, nous ne traiterons que des systèmes linéaires carrés d’ordre n à
coefficients réels, autrement dit le système
n
X
ai j x j = bi , i = 1, . . . , n. (2.1.3)
j=1

 
où A = ai j , désigne une matrice de taille n × n de nombres réels. Dans ce cas,
1≤i, j≤n
il y a existence et unicité de la solution x (pour n’importe quel vecteur b donné) si et
seulement si la matrice A est inversible ou régulière.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


8

Rappelons que la matrice A est dite régulière (ou non singulière ) si det(A) , 0.
La solution du système est alors donnée par la formule de Cramer :

det(Ai )
xi = , i = 1, . . . , n, (2.1.4)
det(A)

où Ai est la matrice obtenue en remplaçant la ième colonne de A par le vecteur b.


Cependant l’application de cette formule est inacceptable pour la résolution pratique
des systèmes, car son coût est de l’ordre de (n + 1)! opérations élémentaires. En fait, le
calcul de chaque déterminant par la formule
X n
Y
(σ)
det(A) = (−1) ai,σ(i) (2.1.5)
σ i=1

(où la somme est étendue à toutes les permutations σ sur n objets) requiert n! opérations
élémentaires. Par example, sur un ordinateur effectuant 109 opérations élémentaires
par seconde il faudrait 9, 6.1047 années pour résoudre un système linéaire de seule-
ment 50 équations. Il faut donc développer des algorithmes alternatives avec un coût
raisonnable.
Dans les sections suivantes deux types méthodes de résolution sont analysées:
les méthodes directes et les méthodes itératives. Elles sont dites directes si elles four-
nissent la solution du système en un nombre fini d’étapes, itératives si elles nécessitent
(théoriquement) un nombre infini d’étapes.
Notons dès à présent que le choix entre une méthode pour la résolution d’un système
dépend

1. du type de la matrice du système à résoudre,

2. de l’efficacité théorique de l’ algorithme de la méthode à utiliser,

3. des capacités de stockage en mémoire et enfin

4. de l’architecture de l’ordinateur.

2.2 Système bien ou mal conditionné


Considérons le système de deux équations à deux inconnues suivant :

4.218613x1 + 6.327917x2 = 10.546530


(

3.141592x1 + 4.712390x2 = 7.853982

Ce système et non singulier et sa solution est donnée par x1 = x2 = 1. Considérons main-


tenant un système d’équations voisin (le carré indique un changement de décimale)
:

4.21861 1 x1 + 6.327917x2 = 10.546530


(

3.14159 4 x1 + 4.712390x2 = 7.85398 0 .

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


9

Ce système et non singulier et sa solution est donnée par x1 = −5, x2 = 5. On voit donc
que, bien que ces deux systèmes soient voisins, leurs solutions sont très différentes. On
parle dans ce cas de systèmes mal conditionnés. Résoudre un système mal conditionné
avec un ordinateur peut être une affaire délicate si l’ordinateur calcule avec trop peu de
chiffres significatifs. Dans l’exemple précédent nous observons que, si l’ordinateur ne
retient que 6 chiffres significatifs dans sa partie décimale, il est complètement inespéré
d’obtenir une solution raisonnablement proche de la solution. Ce système alors dit mal
conditionné.
D’une façon générale, étant donnée une matrice inversible A de taille n × n et soit
le problème consistant à calculer le produit Ax étant donné un vecteur colonne x.
On cherche alors à déterminer la sensibilité de ce produit à une petite perturbation ε
de x. Pour cela on pose b = Ax de sorte que x = A−1 b. Puisque ||Aε|| ≤ ||A||.||ε|| et
||A−1 b|| ≤ ||A−1 ||.||b||, il vient que
  ||A(x + ε) − Ax|| ||x|| ||Aε|| ||A−1 b||
cond Ax = = ≤ ||A||.||A−1 ||
||ε|| ||Ax|| ||ε|| ||b||
Définition 2.2.1 Conditionnement d’une matrice
On appelle alors conditionnement de la matrice A relativement à la norme matricielle ||.||
subornée à la norme vectorielle ||.||, le nombre
 
cond A = ||A||.||A−1 ||.
 
En général, cond A dépend du choix de la norme k.k qui est l’une des normes ma-
tricielles suivantes:
n ( )
X kAxkp
||A||1 = max |ai j |; ||A||p = sup n
: x ∈ R et kxkp ≤ 1 ;
1≤j≤n
i=1
kxkp
n
p
X ||Ax||B (BAx, Ax)
||A||∞ = max |ai j |; ||A||B = sup = sup
x,0 ||x||B
p
1≤i≤n x,0 (Bx, x)
j=1
 n 1/p
X p 
où kxkp =  |xi |  (1 < p < ∞) et B une matrice symétrique définie positive
i=1
On alors le résultat suivant:
Proposition 2.2.2 Si A est un matrice n × n inversible alors on a
   
(i) cond A−1 = cond A ;
 
(ii) cond In = 1, où In est la matrice unité;
   
(iii) cond α A = cond A pour tout scalaire α;
 
(iv) cond A ≥ 1;
 
(v) le système linéaire Ax = b est bien conditionné, si cond A n’est pas trop grand;
 
(vi) le système linéaire Ax = b est mal conditionné, si cond A est trop grand.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


10

2.3 Méthodes directes


2.3.1 Principe général
Une méthode de résolution directe d’un système linéaire est un algorithme qui, si
l’ordinateur faisait des calculs sans erreurs, donnerait la solution exacte x en un nombre
fini d’opérations.
Pour résoudre (2.1.3), on cherche à décomposer A en A = LU où

• L est une matrice triangulaire inférieure avec des 1 sur la diagonale,

• U est une matrice triangulaire supérieure.

La résolution de (2.1.3) est alors ramenée aux résolutions successives des systèmes
“échelonnés”

Ly = b
Ux = y. (2.3.1)

2.3.2 Résolution des systèmes triangulaires


Une matrice A = (ai j ) de taille n × n est triangulaire supérieure si

ai j = 0 ∀i, j : 1 ≤ j < i ≤ n

et triangulaire inférieure si

ai j = 0 ∀i, j : 1 ≤ i < j ≤ n.

Suivant ces cas, le système (2.1.3) est dit système triangulaire supérieur ou inférieur.

Théorème 2.3.1
Si la matrice A est triangulaire avec aii , 0 pour tout i = 1, . . . , n, alors elle régulière.
n
Y
Preuve: En effet, det(A) = aii , 0.
i=1

• Si A est triangulaire inférieure, on utilise l’algorithme suivant pour résoudre (2.1.3) :

Algorithme 3.1

x1 = b1 /a11 ,
 
i−1
1 
 X 
xi = bi − ai j x j  , i = 2, 3, . . . , n.

aii  j=1

Cet algorithme est appelé méthode de descente.

• Par contre, si A est triangulaire supérieure, on utilise l’algorithme suivant:

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


11

Algorithme 3.2

xn = bn /ann ,
 
n
1  X 
xi = ai j x j  , i = n − 1, n − 2 . . . , 2, 1.

bi −

aii 
j=i+1

Cet algorithme est appelé méthode de remontée.


Le nombre de multiplications et de divisions nécessaires dans ces deux algorithmes
est de n(n + 1)/2 et le nombre d’additions et de soustractions est de n(n − 1)/2, donc
l’algorithme nécessite de n2 opérations élémentaires.

2.3.3 Méthode d’élimination de Gauss-Jordan


On veut résoudre le système (2.1.3) où la matrice A = (ai j ) est une matrice régulière
de taille n × n. Le principe de la méthode consister à se ramener par des opérations
simples (combinaison linéaires) à un système triangulaire supérieur équivalent dont
la résolution fait appel à la méthode de remontée. Avant de décrire cette méthode
d’élimination de Gauss-Jordan, introduisons une forme de matrice bien particulière
qui nous sera utile pour la suite

Lemme 2.3.2
Soit B(k) une matrice de taille n × n de la forme

0 ... 0 ...
 
 0 0 0 
 .. .. .. .. .. 
. . . . .
 
 
0 ... 0 ...
 
 0 0 0 
 .
B(k) :=  (2.3.2)
 0 ... 0 α(k)
k+1
0 ... 0 

 .. .. .. .. .. 
. . . . .
 
 
0 . . . 0 αn(k) 0 ... 0
 

Alors, nous avons

(i) pour tout 1 ≤ k ≤ l ≤ n B(k) B(l) = 0,

(ii) pour tout 1 ≤ k ≤ n L(k) = In − B(k) est inversible d’inverse [L(k) ]−1 = In + B(k) ,
 
(iii) pour tout 1 ≤ k ≤ l ≤ n L(k) L(l) = In − B(k) + B(l) .

Preuve: Exercice.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


12

Pour résoudre donc (2.1.3), on pose A(1) = A et b(1) = b c’est-à -dire a(1)
ij
= ai j et b(1)
i
= bi
pour i, j = 1, . . . , n. Avec ce changement de notations le système s’écrit: A x = b , soit
(1) (1)

 (1)


 a1 1 x1 + a(1)
1 2
x2 + . . . + a(1)
1 n
xn = b(1)
1





a(1) x1 + a(1) x2 + . . . + a(1) xn = b(1)





 2 1 2 2 2 n 2
(2.3.3)

. .

.. ..











 a(1) x1 + a(1) x2 + . . . + a(1) xn = b(1)


n1 n2 nn n

On suppose que a(1) 11


, 0, et on appelle alors ce coefficient le premier pivot. Ensuite
pour i = 2, . . . , n on remplace la ligne i par une combinaison linéaire des lignes 1 et i de
manière à faire apparaı̂tre des zéros sur la première colonne. Pour cela on pose

a(1)
α(1)
i
= i1
, i = 2, . . . , n
a(1)
11

et on applique la transformation

ligne i −→ ligne i − α(1)


i
× ligne 1, i = 2, . . . , n

pour aboutir au système A(2) x = b(2) , c’est-à -dire:


 (1)


 a1 1 x1 + a(1)
1 2
x2 + . . . + a(1) 1 n
xn = b(1)
1





a(2) x + . . . + a(2) x = b(2)


22 2 2n n



 2
(2.3.4)

.. ..



. .









a(2) x + . . . + a(2) (2)
n n xn = bn



n2 2

où
 (2)


 ai j = a(2)
ij
− α(1)
i
a(1)
1j
, i = 2, . . . , n; j = 2, . . . , n;

(2.3.5)



 b(2) = b(1) − α(1) b(1) , i = 2, . . . , n.


i i i 1

Ce qui d’un point de vue matriciel revient aux produits suivants:

A(2) = L(1) A(1) et b(2) = L(1) b(1) (2.3.6)

où
0 . . . . . . 0 
 
 0
 .. 
α(1) 0 . 

L(1) := In − B(1) B(1) ..  .
 2
et :=  .. ..

 . . . 
α(1) 0 ... ... 0
 
n

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


13

(k)
A l’étape k (2 ≤ k ≤ n − 1), on suppose le coefficient, appelé aussi pivot, ak,k , 0. On
transforme la i ligne (k + 1 ≤ i ≤ n) de manière à faire apparaı̂tre des zéros sur la kème
ème

colonne. Ce qui revient donc à obtenir le système A(k+1) x = b(k+1) , c’est-à -dire
 (1)


 a1 1 x1 + a(1)
12 2
x + ... ... ... + a(1)
1n n
x = b(1)
1




a(2) a(2) b(2)

x + ... ... ... + x =


22 2 2n n 2






... ..



.









a(k) xk + a(k) + ... + ak(k)n xn =

x b(k) (2.3.7)



 k k k k+1 k+1




(k+1) (k+1)
+ ... + ak+1 x = b(k+1)




 ak+1 x
k+1 k+1 n n



.. ..



. .










an(k+1) + ... + an(k+1) (k+1)
n xn = bn

 x
k+1 k+1

avec
 (k)
(k) ai k
α = (k) , i = k + 1, . . . , n;




 i ak k





(2.3.8)
 (k+1)


 ai j = a(k+1)ij
− α(k)
i
ak(k)j , i = k + 1, . . . , n; j = K + 1, . . . , n;






 b(K+1) = b(k) − α(k) b(k) ,

i = k + 1, . . . , n.
i i i k

Encore une fois ceci correspond aux produits matriciels A(k+1) = L(k) A(k) et b(k+1) = L(k) b(k)
où L(k) = In − B(k) avec B(k) donnée en (2.3.2).
Après la dernière étape, on aura le système A(n) x = b(n) c’est-à -dire

 (1)


 a1 1 x1 + a(1)
12 2
x + . . . + a(1)
1n n
x = b(1)
1





a(2) x + . . . + a(2) = b(2)




 22 2 2n n
x 2

(2.3.9)

... .. ..



. .









an(k+1) (k+1)
n xn = bn


Le système (2.3.9) ainsi obtenu est triangulaire supérieure. On applique donc la


méthode de remontée donnée dans l’Algorithme 2.2 pour le résoudre.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


14

On peut remarquer qu’en vertu du Lemme 2.3.2, la matrice A se décompose en un


produit A = LU où U := A(n) et L := In + B(1) + . . . + B(n−1) c’est-à -dire:

a(1) a(1) . . . a(1) a(1) . . . a(1)


 
 11 12 1k 1 k+1 1n  
0 a(2) . . . (2) (2)
. . . a(2)


22
a2k
a2 k+1 2n 

.. . . . . .. .. . . . .. 
 
. . . . . . 


..
 
. akk ak k+1
(k) (k) (k) 
. . . akn 

U :=  0

. . . (k+1)
 
0 ak+1 k+1 . . . a(k)
 
kn 
 
.. .. .. .. 
 
. . . . 


. . . a(n)
 
0 0 ... 0 0 nn

et
... . . . 0 
 
 1 0 0 0
 .. 
 α(1)
 2 1 . 0 
 . ... ... ... .. 
 .. . 

 .. .. 
L :=  α(1) α(2) . 1 . 0  .

 k k
...

 (1)
 αk+1 α(2) . . . α(k) 1 0 

 . k+1 k+1
 . .. .. .. .. . . .. 

 . . . . . . . 
 (1)
α(2) (k) (k+1)

αn n . . . α n αn ... 1
De plus , ona le résultat suivant exploité par la commande MATLAB det(A):
n
Y
(k)
det(A) = det(L) × det(U) = det(U) = akk
k=1

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


15

Algorithme 3.3: Elimination de Gauss sans pivotage

Pour k = 1, . . . , n − 1, calculer:

Pour i = k + 1, . . . , n

a(k)
α(k)
i
= ik

a(k)
kk

Pour j = k + 1, . . . , n

ai(k+1)
j
= ai(k)j − αi(k) ak(k)j

Fin de la boucle j

b(k+1)
i
= bi(k) − αi(k) bk(k)

Fin de la boucle i

Fin de la boucle k

Appliquer l’Algorithme 2.2 au système A(n) x = b(n) .

n(n − 1) n3 − n
Pour résoudre le système (2.1.3), on a au total: divisions, multipli-
2 3
3 3
n −n n − n n(n − 1)  
cations et additions; c’est-à -dire 2 + ∼ O 2n3 /3 opérations
3 3 2
élémentaires.

Exemple 2.3.3

Soit à résoudre le système suivant:

x1 + 2x2 + 2x3 = 2



 (l1 )




x1 + 3x2 − 2x3 = −1

(l2 )








 3x + 5x + 8x = 8

(l3 )
1 2 3

On a que
     
 1 2 2   x1   2 
     
     
     
A(1) := A =  1 3 −2  ;
 x =  x2  ;
 b(1) := b =  −1 

     
     
     
3 5 8 x3 8

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


16

A l’étape k = 1, on remplace la ligne l2 par l2 − l1 et la ligne l3 par l3 − 3 × l1


x1 + 2x2 + 2x3 = 2



 (l1 )




x2 − 4x3 = −3

(l02 )








− x + 2x = 2 (l0 )


2 3 3

ou encore, on détermine B(1) , puis on calcule L(1) = I3 − B(1) , A(2) = L(1) A(1) et b(2) = L(1) b(1)
et on trouve
       
 0 0 0   1 0 0   1 2 2   2 
       
       
       
B =  1 0 0  ; L =  −1 1 0  ; A =  0 1 −4  ; b =  −3 
(1)   (1)   (2)   (2) 
       
       
       
3 0 0 −3 0 1 0 −1 2 2
A l’étape k = 2, on remplace la ligne l3 par l03 + 1 × l02

x1 + 2x2 + 2x3 = 2



 (l1 )




x2 − 4x3 = −3

(l02 )








− 2x3 = −1 (l03 0 )

ou encore, on détermine B(2) , puis on calcule L(2) = I3 − B(2) , A(3) = L(2) A(2) et b(3) = L(2) b(2)
et on trouve
       
 0 0 0   1 0 0   1 2 2   2 
    







       
B =  0 0 0  ; L =  0 1 0  ; A =  0 1 −4  ; b =  −3  .
(2) (3) (3) (3)
      
       
       
       
0 −1 0 0 1 1 0 0 −2 −1
On applique, enfin, l’algorithme de remontée pour trouver x3 = 1/2, x2 = −1 et x1 = 3
c’est-à -dire
 
 3 
 
 
 
x =  −1  .

 
 
 
1/2
On donc la décomposition A = L U de la matrice A avec
   
 1 0 0   1 2 2 
   
   
   
L =  1 1 0  et U =  0 1 −4 
  
   

   
3 −1 1 0 0 −2
  

De plus, det(A) = −2.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


17

Remarques 2.3.4

• L’algorithme 2.3 est numériquement instable car les erreurs d’arrondis effectuées
pendant le calcul sont accumulées et le résultat trouvé peut être loin de la solution.

• D’autre part, pour que l’algorithme de Gauss puisse sans pivot se terminer, il
faut que tous les termes a(k) kk
, qui correspondent aux éléments diagonaux de la
matrice U, soient non nuls. Ceci n’est évidemment pas très sûr pour une matrice
quelconque. Mais c’est le cas si la matrice A du système satisfait certaines con-
ditions spécifiées dans les théorèmes ci-après. Avant de les énoncer rappelons la
définition suivante:

Définition 2.3.5
Soit A une matrice carré de taille n × n. La sous-matrice

 a11 a12 . . . a1` 


 

 21 a22 . . . a1` 


 a 
A` =  . . . . ..  , où 1 ≤ ` ≤ n,
 .. . 

a`1 a`2 . . . a``

est appelé sous-matrice principale d’ordre ` de la matrice A.

Théorème 2.3.6
Soit A est une matrice de taille n×n. On suppose que toutes les sous-matrices principales d’ordre
1 à n − 1 de A sont inversibles. Alors, il existe une unique matrice L triangulaire inférieure à
diagonale unité et une matrice U triangulaire supérieure inversible telles que A = LU.

Preuve:
1◦ Unicité: Soient (L1 U1 ) et (L2 U2 ) deux décompositions de A c’est-à -dire

L1 U1 = A = L2 U2 ,

où les matrices L1 et L2 sont triangulaires inférieures à diagonale unité, par conséquent
inversibles, et U1 et U2 sont triangulaires supérieures inversibles. Il en découle que

2 L1 = U2 U1 .
L−1 −1

Mais, L−1
2
L1 est triangulaire inférieure à diagonale unité et U2 U1−1 supérieure. Il s’ensuit
que L−1
2
L1 = In = U2 U1−1 . Ce qui implique que

L1 = L2 et U2 = U1 .

2◦ Existence: On va montrer que la méthode d’élimination de Gauss sans pivot s’applique


jusqu’au bout, c’est-à -dire qu’à chaque étape k l’élément a(k)
kk
de la matrice A(k) est non
nul. En effet, puisque la première sous-matrice principale est inversible, il en découle
que a(1)
11
= a1 , 0. Supposons que les éléments a(i)ii
des matrices A(i) sont non nuls pour
i ∈ {1, . . . , k − 1}. Par la méthode de Gauss sans pivot on a
 (−1)
A = A(1) = L(k−1) . . . L(1) A(k) .

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


18

Ceci peut se mettre sous forme des blocs

0   A(k) ×   Lk Ak(k)
      
 Ak ×   Lk × 
  k
 =   =   ,
     
  
       
× × × ×  × × × ×

où Ak et A(k)
k
sont les sous-matrices principales d’odre k respectivement de A et A(k),
tandis que Lk est une matrice triangulaire inférieure de dimension k × k avec diagonale
unité. Mentionnons que l’application de la méthode de Gauss permet d’avoir à ce
niveau Ak triangulaire supérieure. Ainsi,

det(Ak ) = det(Lk ).det(Ak(k) ) = 1.a(k)


11
. . . a(k)
kk
.

Comme Ak est inversible il en découle que ak(k)k , 0. Et on peut donc effectuer une
nouvelle étape d’élimination de Gauss. En définitif on obtient la décomposition
 (−1)  
A = L(n−1) . . . L(1) A(n) = In + B(1) + . . . + B(n−1) A(n) = L U,

avec L = In + B(1) + . . . + B(n−1) et U = A(n) . 

Théorème 2.3.7
Une matrice A de taille n × n est symétrique définie positive, c’est-à -dire

ai j = a ji pour 1 ≤ i, j ≤ n et xT Ax > 0 pour tout x ∈ Rn

alors A une unique décomposition en L U et la méthode de Gauss sans pivot peut être exécutée
avec tous les a(k)
kk
positifs et sans amplification d’erreurs d’arrondi.

Preuve: Admis 

Corollaire 2.3.8
Une matrice symétrique A de taille n × n est définie positive ssi ses sous-matrices principales
d’ordre 1 à n − 1 sont inversibles.

Théorème 2.3.9
Si A est une matrice de taille n × n à diagonale strictement dominante, c’est-à -dire
n
X
|aii | > |ai j |, ∀ i = 1, . . . , n,
j=1
j,i

alors elle non singulière, admet une unique décomposition en L U et la méthode de Gauss sans
pivot se termine sans amplification d’erreurs d’arrondi.

Preuve:
1°/ Supposons par l’absurde que A est singulière. Il en découle que le système ho-
mogène Ax = admet une solution non triviale x = (x1 , . . . , xn )T . Soit xk la composante

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


19

|x j |
de x tel que 0 < |xk | = max |x j |. il s’en suit que ≤ 1.
1≤j≤n |xk |
X n
D’autre part, puisque ai j x j = 0 pour tout 1 ≤ i ≤ n, on a que, pour i = k,
j=1

n n n n
X X X |x j | X
akk xk = − ak j x j =⇒ |akk ||xk | ≤ |ak j ||x j | =⇒ |akk | ≤ |ak j | ≤ |ak j |.
j=1 j=1 j=1
|xk | j=1
j,k j,k j,k j,k

Ce qui contrédit le fait que A est à diagonale strictement dominante; par conséquent A
est non singulière.
2°/ On va maintenant montrer que si A est à diagonale strictement dominante alors les
matrices A(k) obtenues par l’algorithme de Gauss sans pivot sont à diagonale strictement
dominante,pour k = 1, 2, . . . , n − 1.
Il est évident que A(1) l’est car A(1) = A. Il suffira alors de montrer que A(k) est à
diagonale strictement dominante entraı̂ne A(k+1) est à diagonale strictement dominante
pour 1 ≤ k ≤ n − 2. En effet,les éléments de la matrice A(k+1) par l’algorithme de Gauss
sans pivot s’obtient à partir de ceux de A(k) de la manière suivante:
Pour i = 1, . . . , k
a(k+1)
ij
= ai(k)j pour j = 1, . . . , n.
Pour i = k + 1, . . . , n,

j = 1, . . . , k



 0 pour

a(k+1) =


ij  (k)
aik
(k)
ak(k)j pour j = k + 1, . . . , n.

 ai j −

 (k)
akk

Dès lors, pour i = 1, . . . , k


n
X n
X
ai(k+1)
j
= ai(k)j < a(k)
ii
= aii(k+1) ,
j=1 j=1
j,i j,i

puisque A(k) est supposée à diagonale strictement dominante.


Aussi, pour i = k + 1, . . . , n
n
X n
X n
X a(k)
ik
n
X
a(k+1)
ij
= ai(k+1)
j
≤ ai(k)j + ak(k)j .
j=1 j=k+1 j=k+1 a(k)
kk j=k+1
j,i j,i j,i j,i

Mais, sachant que a(k)


ij
= 0 pour 1 ≤ j < i ≤ k et que A(k) est à diagonale strictement
dominante on a:
n
X k
X n
X k−1
X
ai(k)j < a(k)
ii
− a(k)
ij
= a(k)
ii
− a(k)
ik
et a(k)
kj
< (k)
akk − ak(k)j − aki(k) = a(k)
kk
− a(k)
ki
.
j=k+1 j=1 j=k+1 j=1
j,i j,i

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


20

Ainsi,
n
X n
X aik(k) X
n
aik(k)  
a(k+1)
ij
≤ a(k)
ij
+ (k)
ak(k)j < aii(k) − a(k)
ik
+ (k)
(k)
akk − aki(k)
j=1 j=k+1 akk j=k+1 akk
j,i j,i j,i

aik(k)
= aii(k) − (k)
aki(k)
akk
a(k)
≤ aii(k) − ik (k)
aki = aii(k+1) .
a(k)
kk

Remarque 2.3.10

Dans le cas général, on a plutôt recours à une étape supplémentaire de permutations


des lignes pour remplacer un pivot par un autre qui lui sera non nul à coup sûr. On
aboutit toujours à un système triangulaire supérieur.

Algorithme 3.4: Elimination de Gauss avec pivotage

Pour k = 1, . . . , n − 1

Pour i = k + 1, . . . , n

Chercher r ∈ {k, . . . , n} tel que


n (k) o
a(k)
rk
= max alk
, l ∈ {k, . . . , n}

Permuter les lignes k et r, puis, calculer:

a(k)
α(k)
i
= ik

a(k)
kk

Pour j = k + 1, . . . , n

a(k+1)
ij
= ai(k)j − αi(k) ak(k)j

Fin de la boucle j

b(k+1)
i
= bi(k) − αi(k) bk(k)

Fin de la boucle i

Fin de la boucle k

Appliquer l’Algorithme 2.2 au système A(n) x = b(n) .

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


21

L’algorithme est donc le même que celui d’élimination de Gauss sans pivot mais
avec une étape supplémentaire de permutations.
Le résultat suivant garantit la validité de la méthode d’élimination de Gauss avec
pivot pour une matrice inversible quelconque. Avant de l’énoncer précisons que la
matrice

 1 0 . . . 0 . . . 0 . . . 0  1
 
 0 1 . . . 0 . . . 0 . . . 0  2
 .. .. ..  ..
 
 . 0 1 0 . . . . . . . .  .
 
 0 0 . . . 0 . . . 1 . . . 0  k
P(k,r) =  . . .. .. ..  ..
 
(2.3.10)
. .
 . . . . . . 1 . . . . .  .
 
 0 0 . . . 1 . . . 0 . . . 0  r
 . .
 .. .. . . . ... . . . ... 1 ...  ...
 

 
0 0 ... 0 ... 0 ... 1 n
 

1 2 ... k ... r ... n

est la matrice de permutation des lignes k et r d’une matrice quelconque A. Elle possède
donc des éléments égaux à 1 partout sur la diagonale sauf prr = pkk = 0 et des éléments
égaux à 0 partout ailleurs, sauf prk = pkr = 1:

Théorème 2.3.11 Soient A une matrice de taille n × n inversible. Alors la matrice A admet
une décomposition L U à quelques permutations près

P A = L U, ou A = P−1 L U,

où P est le produit de toutes les matrices de permutation (des lignes) qu’on a utilisées, tandis
que L est une matrice triangulaire inférieure et U une matrice triangulaire supérieure.

Preuve: Exercice.

2.4 Méthodes itératives


2.4.1 Principe général
 
L’idée des méthodes itératives est de construire une suite de vecteurs x(k) qui
k≥0
converge vers le vecteur x, solution du système Ax = b, c’est-à -dire

lim x(k) = x ou encore lim ||x(k) − x|| = 0. (2.4.1)


k→∞ k→∞

L’intérêt des méthodes itératives, comparées aux méthodes directes, est d’être sim-
ples à programmer et de nécessiter moins de place en mémoire. En revanche le temps
de calcul est souvent plus long.  
Une stratégie est de considérer la relation de récurrence x(k+1) = F x(k) avec k =
0, 1, 2 . . . pour x(0) donné.
Une technique générale de construction des méthodes itératives est basée sur une
décomposition (splitting ) de la matrice A sous la forme A = M − N où M et N sont des

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


22

matrices à déterminer avec M inversible, appelée matrice de préconditionnement.


Ainsi la résolution du système Ax = b est équivalente à la résolution du système
Mx = Nx + b ou encore
x = M−1 Nx + M−1 b =: F(x),
où F est une fonction affine.

Remarque 2.4.1 Certaines méthodes itératives proposées peuvent être également utilisées pour
des problèmes non linéaire, c’est-à -dire où F est une fonction quelconque.

Considérons donc le problème linéaire Ax = b et la méthode itérative de sa résolution,


pour x(0) fixé, donnée par:
 
x(k+1) = F x(k)
= M−1 Nx(k) + M−1 b
= Bx(k) + g; k = 0, 1, 2, . . . , (2.4.2)

où B = M−1 N est appelé matrice d’itération de la méthode itérative et g = M−1 b.


A la limite, lorsque k → ∞, on a
x = Bx + g.
Et comme x = A−1 b , on a g = (In − B)A−1 b. Ainsi, la méthode itérative (2.4.2) est
complètement définie par la matrice B.

Définition 2.4.2  
On dit que la méthode itérative (2.4.2) converge si pour tout couple de vecteurs b, x(0)
donné, la suite (x(k) )k≥0 converge vers la solution x = A−1 b.

Pour établir un critère sur la matrice B assurant la convergence de la méthode, on


introduit l’erreur e(k) entre la solution approchée au pas k et la solution exacte x qui est
donnée par
e(k) = x − x(k) .
Il en découle que
e(k) = Be(k−1) = Bk e(0) , k = 0, 1, 2, . . . .
En vertu de (2.4.1), la méthode itérative (2.4.2) va converger dès que

lim ||Bk || = 0. (2.4.3)


k→∞

En effet,
lim ||x(k) − x|| = lim ||e(k) || ≤ ||e0 ||. lim ||Bk || = 0.
k→∞ k→∞ k→∞

Le théorème suivant établit des critères permettant d’assurer la propriété (2.4.3).

Théorème 2.4.3
Si B est une matrice de taille n × n alors les quatre assertions suivantes sont équivalentes:

(i) lim ||Bk || = 0, pour toute norme matricielle quelconque.


k→∞

(ii) lim Bk v = 0, pour vecteur v de dimension n.


k→∞

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


23

(iii) ρ(B) < 1, où ρ(B) est le rayon spectral de B, défini par

ρ(B) = max |λi |,


1≤i≤n

et λi sont les vecteurs propres de B.

(iv) Il existe une norme matricielle subordonnée (dont le choix dépend de B) telle que ||B|| < 1.

Preuve: Exercice.

2.4.2 Méthode de Jacobi


Si les éléments diagonaux de A sont non nuls, le système linéaire Ax = b est
équivalent à :
 
i−1 n
1  X X 
xi = ai j x j  , i = 1, . . . , n

bi − ai j x j −

aii  j=1 j=i+1

Pour une donnée initiale x(0) choisie, on calcule x(k+1) par la méthode itérative
 
i−1 n
1  X X 
x(k+1) = (k) (k) 
 , i = 1, . . . , n.

b − a x − a x (2.4.4)

i i i j j i j j
aii 

 
j=1 j=i+1

Cela permet d’identifier la décomposition suivante pour A :

A=D−E−F

où D la diagonale de A, E la partie en dessous de la diagonale et F la partie au dessus


de la diagonale. Dans cette méthode on choisit M = D et N = E + F.
La matrice d’itération de la méthode de Jacobi est donnée par :

B J = M−1 N = D−1 (E + F) = I − D−1 A.

Théorème 2.4.4
Si A est une matrice de taille n × n à diagonale strictement dominante, i.e.
n
X
|aii | > |ai j |, ∀ i = 1, . . . , n,
j=1
j,i

alors pour tout x(0) la méthode de Jacobi (2.4.4) converge vers la solution du système Ax = b.

Preuve: Considérons la norme ||B||∞ définie par


n
X
||B||∞ = max |bi j |.
1≤i≤n
j=1

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


24

Par construction de B J = M−1 N, nous avons

si i = j

 0a

bi j = 

ij
 − , si i , j.

aii
Puisque, par hypothèse, A est à diagonale strictement dominante, on en déduit que
n
X
|ai j |
n
X j=1, j,i
|bi j | = < 1,
j=1
|aii |

et donc ||B J ||∞ < 1. D’où, en vertu du Théorème 2.4.3, la méthode de Jacobi converge 
NB: L’algorithme de Jacobi nécessite le stockage des deux vecteurs x(k) j
et x(k+1)
j
.

2.4.3 Méthode de Gauss-Seidel


Pour cette méthode on a
 
i−1 n
1 
 X X 
x(k+1) = b − a x (k+1)
− a x(k) 
 , i = 1, . . . , n. (2.4.5)

i i i j j i j j
aii 

 
j=1 j=i+1

Il s’écrit aussi
 
x(k+1) = (D − E)−1 b + Fx(k) , (2.4.6)

Dans ce cas, la décomposition de la matrice A est: A = D − E − F avec le même choix


pour D, E et F que dans la méthode de Jacobi. Dans la méthode de Gauss-Seidel, on
a choisi M = D − E, une matrice triangulaire inférieure et N = F. Par conséquent, la
matrice d’itération associée à cette méthode est

BGS = M−1 N = (D − E)−1 F.

Pour établir la convergence de cette méthode, on a besoin du résultat ci-après:

Théorème 2.4.5
Soit A une matrice de taille n × n symétrique définie positive, alors pour tout x(0) la méthode de
Gauss-Seidel est bien définie et converge vers la solution du système Ax = b.

Preuve: Par construction, la matrice M = D − E est triangulaire inférieure et donc


n
Y
det(M) = det(D) = aii .
i=1

Puisque A définie positive tous les termes diagonaux sont positifs. En effet, pour un
vecteur ei donné par (ei ) j = δi j , on a

0 < e>i Aei = aii , i = 1, . . . , n.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


25

Par conséquent det(M) > 0.


A étant symétrique il vient que E> = F. Ainsi,

M> + N = (D − E)> + F = D − E> + F = D,

ce qui signifie que M> + N est symétrique définie positive.


Considérons la norme vectorielle définie par ||x||A = (Ax, x). Cette norme induit
p

une norme matricielle


||Bx||A
||B||A = sup
x,0 ||x||A
p
(ABx, Bx)
= sup p
x,0 (Ax, x)

Soit x , 0. En considérant de plus le fait que N = M − A et en posant y = M−1 Ax c’est-à


-dire Ax = My, on a:
 
n X
 n n
 n 
X  X X
(Ax, y) = (My, y) = mi j y j  yi = mi j yi  y j = (M> y, y)

(2.4.7)
  
  
i=1 j=1 j=1 i=1

et donc

− 2(Ax, y) + (Ay, y) = −(M> y, y) − ((M − A)y, y) = −((M> + N)y, y) < 0 (2.4.8)

car M> + N est définie positive. Ainsi,


 
||M−1 Nx||2A = AM−1 Nx, AM−1 Nx
 
= A(In − M−1 A)x, A(In − M−1 A)x
= (Ax, x) − (Ax, y) − (Ay, x) + (Ay, y)
= (Ax, x) − 2(Ax, y) + (Ay, y) < (Ax, x) = ||x||2A . (2.4.9)

Ceci permet de conclure

||M−1 Nx||2A
||M−1 N||2A = sup < 1.
x,0 ||x||2A

C’est-à -dire ||BGS ||A = ||M−1 N||A < 1. D’où, en vertu du Théorème 2.4.3, la méthode de
Jacobi converge 

2.4.4 Accélération de la convergence et critère d’arrêt


Une relation de récurrence équivalente à (2.4.2) est la suivante :
 
M x(k+1) − x(k) = r(k) , k = 0, 1, 2, . . . , (2.4.10)

où r(k) = b − Ax(k) est le résidu à l’itération k.


La généralisation de cette relation se présente comme suit:
 
M x(k+1) − x(k) = αk r(k) , k = 0, 1, 2, . . . , (2.4.11)

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


26

où on a introduit un paramètre αk , 1 (qui peut être différent à chaque itération k ) afin
d’accélérer la convergence. Cette méthode est dite de Richardson.
Dans le cas où M et A sont symétriques définies positives le choix optimal de αk est
 
r(k) , z(k)
αk = (2.4.12)
(Az(k) , z(k) )

où z(k) = M−1 r(k) . Avec ce choix cette méthode est dite de gradient préconditionné et en
particulier de gradient lorsque M = I. On montre que cette méthode converge plus
rapidement que celles de Jacobi et de Gauss-Seidel.
Pour une précision ε donnée, on définit tout naturellement le critère d’arrêt par

||r(k) || ||b − Ax(k) ||


= ≤ ε. (2.4.13)
||b|| ||b||

Exercices sur le chapitre


1. En utilisant l’une des méthodes directes vues au cours, trouvez les angles α, β et
γ tel que

2 sin α − cos β + 3 tan γ = 3





4 sin α + 2 cos β + 2 tan γ = 2




 6 sin α − 3 cos β + tan γ

= 9

où 0 ≤ α < 2π, 0 ≤ β ≤ 2π et 0 ≤ γ ≤ π.

2. Donnez un script MATLAB implémentant l’algorithme de Gauss. Testez votre


script en résolvant le système suivant:

x1 + x2 + x3 + x4 = 1




 x1 + 2x2 + 2x3 + 2x4 = 0



x1 + 2x2 + 3x3 + 3x4 = 0




 x1 + 2x2 + 3x3 + 4x4 = 0

3. L’algorithme suivant:
Pour k = 0, 1, . . . , n − 1
Pour l = n, n − 1, . . . , k + 1
xl = (xl − xl−1 )/(tl − tl−k−1 )
fin de la boucle l
fin de la boucle k.
Pour k = n − 1, n − 2, . . . , 0
Pour l = k, k + 1, . . . , n − 1
xl = xl − tk xi+1
fin de la boucle l
fin de la boucle k.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


27

permet de résoudre le système


t20 . . . . . . tn−1 tn0  
    
 1 t0 0
p0   x0 
  
 
 
 


     
 1 t1 t21 . . . . . . tn−1 n 
t1   p1   x1 

1
 ... .. .. .. ..   ..   .. 

. . . .   .   . 
 . .. .. .. ..   ..  =  .. 

 .. . . . .   .   . 

 1 tn−1 t2n−1 . . . . . . n−1 n
    
 tn−1 tn−1   pn−1   xn−1 
     
     
t2n . . . . . .
   
1 tn tn−1 tn n 
pn xn

n

en transformant le vecteur x = [x0 x1 . . . xn−1 xn ]> en p = [p0 p1 . . . pn−1 pn ]> .

(a) Donner le nombre d’opérations élémentaires pour cet algorithme;


(b) Ecrir un script MATLAB correspondant à cet algorithme;
(c) Tester le script obtenu en résolvant le système
    
 1 1 1 1   p0   10 
    
 1 2 4 8   p1   26
 1 3 9 27   p  =  58
 .

    

   3   
1 4 16 64 p4 112
    

4. Soit à résoudre le système Ax = b où la matrice A est donnée par


 
 1 a a 
A =  a 1 a  a ∈] − ∞, +∞[
 
avec
a a 1
 

(a) Pour quelle valeur de a la méthode de Gauss-Seidel converge.


(b) Même question pour la méthode Jacobi.

5. On voudrait résoudre le système linéaire Ax = b où x ∈ R3 ,


   
 1 1 1   1 
A =  2 2 5  b =  2 
   
et
4 6 8 5
   

(a) Dire si la méthode de Gauss sans pivot peut s’exécuter jusqu’au bout.
(b) Trouver une matrice de permutation P telle que PA soit factorisable en LU
et déterminer cette factorisation.
(c) Résoudre enfin le système après factorisation.

6. Ecrire un script MATLAB permettant de résoudre les systèmes triangulaires et les


tester aux systèmes:
          
 1 0 0 0   x1   1   1 2 3 4   x1   1 
          
 −1 1 0 0   x2   1   0 3 5 5   x2   2 
 =  et   . =
 0 23 1 0   x3   −1   0 0 − 37 − 13   x3   − 73 
 
      
0 0 − 37 1 x4 −1 0 0 0 6  
x −2
      
7 4

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


28

7. Ecrire un script MATLAB implémentant


(a) les méthodes de Gauss-Jordan;
(b) la méthode de Jacobi;
(c) la méthode de Gauss-Seidel.

8. On considère le système Ax = b où


 
 1 1 1 
A =  2 2 5 
 
4 6 8
 

(a) Montrer que la méthode de Jacobi converge pour tout b ∈ R3 vers l’unique
solution du système
(b) Etudier la convergence de la méthode de Gauss-Seidel pour ce système.

9. On considère le système

2 sin α − cos β = −3



− sin α + 2 cos β + tgγ =

4



cos β + 2tgγ =

 3

(a) Etudier la convergence de la méthode de Jacobi et celle de Gauss-Seidel pour


ce système;
(b) Résoudre le système par l’une des méthodes ci-haut citées si celle-ci converge;
(c) Résoudre ce système par la méthode de Gauss-Jordan et comparer les résultats
(d) Trouver les angles α, β et γ tel que 0 ≤ α < 2π, 0 ≤ β < 2π et 0 ≤ tg < π.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Chapter 3

Systèmes non linéaires

3.1 Généralités
Définition 3.1.1 Soient n, m ≥ 1 des entiers et Ω un fermé de Rn . Un problème non linéaire
un est problème qui consiste à

trouver x̄ ∈ Ω,




(3.1.1)



 f (x̄) = 0.

où f : Ω −→ Rm une fonction non linéaire, c’est-à -dire que la fonction f n’est plus du type
f (x) = Ax − b.

Les méthodes de résolution d’un problème non linéaire sont en général itératives.
Elles consistent à :

1. localiser grossièrement le (ou les) zéro(s) de f en procédant à l’étude du graphe


de f et/ou à des évaluations qui sont souvent de type graphique ; on note x0 cette
solution grossière ;
 
2. construire, à partir de x0 , une suite x(k) convergeant (le plus rapidement
k∈N
possible) vers x̄.

Définition
  3.1.2
Soit x(k) une suite d’approximation de la solution x̄ du problème (3.1.1). On dit que la
 k∈N  
suite x(k) converge globalement vers x̄ si pour tout x0 ∈ Ω, la suite x(k) converge
k∈N k∈N
vers x̄.  
On dit que la suite x(k) converge localement vers x̄ s’il existe un voisinage V de x̄, tel
k∈N  
que pour tout x0 ∈ V ⊂ Ω, la suite x(k) converge vers x̄.
k∈N
On dit que la méthode convergente est d’ordre p, s’il existe deux constantes C1 et C2 > 0
telles que

x(k+1) − x̄
C1 ≤ lim p ≤ C2 .
p→∞
x(k) − x̄

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


30

3.2 Méthodes itératives sur R


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

3.2.1 Localisation des zéros


Définition 3.2.1
Soit f : R −→ R une fonction. On dit que x̄ est un zéro de f si f (x̄) = 0. Il est dit simple
si f 0 (x̄) , 0, multiple sinon. Si f est de classe Cp avec p ∈ N, on dit que x̄ est un zéro de
multiplicité p si f (i) (x̄) = 0 pour tout i = 0, · · · , p − 1 et f (p) (x̄) , 0.

Théorème 3.2.2 (des valeurs intermédiaires)


Soit f une fonction continue sur un intervalle I = [a, b] de R. Alors f atteint toutes les valeurs
intermédiaires entre f (a)et f (b). Autrement dit ,

• si f (a) ≤ f (b) alors pour tout d ∈ [ f (a), f (b)] il existe c ∈ [a; b] tel que f (c) = d;

• si f (a) ≥ f (b) alors pour tout d ∈ [ f (b), f (a)] il existe c ∈ [a; b] tel que f (c) = d.

Ce théorème donne alors le corollaire immédiat suivant

Corollaire 3.2.3
Soit une fonction continue f : [a, b] −→ R. Si f (a). f (b) < 0, alors il existe (au moins un)
x ∈]a, b[ tel que f (x) = 0.

Ce résultat garantit juste l’existence d’un zéro. Pour l’unicité on essayera d’appliquer
le théorème de la bijection dont l’énoncé est rappelé ci-dessous.

Théorème 3.2.4 (de la bijection)


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

Les zéros de f étant encadrés, la construction de suites qui convergent vers ces
zéros peut se faire à l’aide de plusieurs méthodes numériques. Ci-dessous on décrit les
méthodes les plus connues et on étudie leurs propriétés.

3.2.2 Méthode de dichotomie (ou de la bissection)


On suppose que l’on encadré une et une seule racine dans l’intervalle I = [a, b] de
la fonction continue f : [a, b] −→ R. Il s’agit maintenant de



 Trouver x̄ ∈ [a, b],
(3.2.1)



 f (x̄) = 0.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


31

La méthode de dichotomie est la plus simple et sûrement la plus intuitive. Elle


consiste à encadrer la solution x̄ par un intervalle de plus en plus petit.
Supposons par exemple que f (a) f (b) < 0. On divise l’intervalle [a, b] en deux
intervalles [a, m] et [m, b] de même longueur où m = a+b 2
. On calcule f (m), puis on teste
le signe de la quantité f (a) f (m).
Si f (a) f (m) < 0, autrement dit f (a) et f (m) sont de signes différent, alors il existe au
moins x̄ ∈ (a, m) solution de f (x̄) = 0.
Par contre si f (a) f (m) > 0, autrement dit f (a) et f (m) sont de même signe, alors
f (m) f (b) < 0 et par la continuité de f , il existe au moins x̄ ∈ (m, b) tel que f (x̄) = 0.
En itérant ce procédé, nous obtenons alors l’algorithme suivant:

Algorithme 4.1: Méthode de dichotomie

a(0) = a; b(0) = b; f : [a, b] −→ R

Pour k = 0, 1, . . .

a(k) + b(k)
calculer x(k) =
2
   
Si f a(k) f x(k) < 0, alors

a(k+1) = a(k) et b(k+1) = x(k)

sinon
a(k+1) = x(k) et b(k+1) = b(k)

Fin de la boucle k

On voit qu’à chaque itération l’intervalle encadrant la solution x̄ est divisé par deux,
soit par récurrence
  b(0) − a(0)
b(k) − a(k) = . (3.2.2)
2k
 
Il en résulte que la méthode de dichotomie converge puisque la suite b(k) − a(k) tend
vers zéro lorsque k tend vers l’infini. Nous pouvons donc choisir le temps d’arrêt N tel
que
 
(0) (0)
1 (0)
  ln b − a − ln(ε)
b − a(0)
≤ ε =⇒ N ≥ , (3.2.3)
2N ln(2)
où ε est la précision choisie.
Cet algorithme bien qu’intéressant converge plutôt lentement. Elle présente néanmoins
l’avantage d’être très simple et nécessite seulement que la fonction f soit continue.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


32

3.2.3 Méthode de Lagrange


La méthode de Lagrange est proche h de celle i de dichotomie. Néanmoins plutôt que
de diviser à chaque étape l’intervalle a , b en deux intervalles de même longueur,
(k) (k)
h i h i
on le découpe en a(k) , x(k) et x(k) , b(k) où x(k) est l’abscisse du point d’intersection de
   
la droite passant par a(k) , f (a(k) ) et b(k) , f (b(k) ) et l’axe des abscisses, autrement dit x(k)
est solution de l’équation

f (b(k) ) − f (a(k) )
f (a ) +
(k)
(k) (k)
(x − a(k) )
b −a
c’est-à -dire
b(k) − a(k)
x(k)
=a (k)
− (k) (k)
f (a(k) ).
f (b ) − f (a )
D’où l’algorithme suivant:

Algorithme 4.2: Méthode de Lagrange

a(0) = a; b(0) = b; f : [a, b] −→ R

Pour k = 0, 1, . . .

b(k) − a(k)
calculer x(k) = a(k) − (k) (k)
f (a(k) )
f (b ) − f (a )
   
Si f a(k) f x(k) < 0, alors

a(k+1) = a(k) et b(k+1) = x(k)

sinon
a(k+1) = x(k) et b(k+1) = b(k)

Fin de la boucle k

3.2.4 Méthode de Newton


Supposons que f : [a, b] −→ R soit une fonction  deux fois
 dérivable et de dérivées
2
continues; on dit dans ce cas que f est de classe C [a, b], R . Soit x0 ∈ [a, b], une valeur
approchée de la solution du problème (3.2.1). En posant x(0) = x0 et en considérant le
développement de Taylor, on obtient
  1  2
f (x) = f (x(0) ) + f 0 (x(0) ) x − x(0) + f 00 (η) x − x(0) ,
2
où η ∈ [a, b]. On néglige le terme du second ordre, qui sera petit dès que f 00 est bornée
et x(0) suffisamment proche de la solution x̄. Ceci revient à considérer la droite passant

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


33

 
par le point x(0) , f (x(0) ) et qui comme pente f 0 (x(0) ):
 
y(x) = f 0 (x(0) ) x − x(0) + f (x(0) ).

On détermine alors x(1) comme étant l’abscisse du point où cette droite intercepte l’axe
des x, c’est-à -dire y(x(1) ) = 0. On en déduit
f (x(0) )
x(1) = x(0) − . (3.2.4)
f 0 (x(0) )
Ainsi, en réitérant ce procédé nous obtenons l’algorithme ci-après:

Algorithme 4.3: Méthode de Newton

Poser x(0) = x0

Pour k = 0, 1, . . .

f (x(k) )
calculer x (k+1)
=x (k)
− 0 (k)
f (x )

Fin de la boucle k

L’Algorithme 3.2 n’est évidemment pas complet tant que l’on ne précise pas un
critère d’arrêt.
Un critère d’arrêt souvent utilisé consiste à s’arrêter dès que x(k+1) − x(k) < ε.
 
Pour autant, cela n’assure pas la convergence de la suite x(k) vers la solution x̄.
k∈N
Xk
En effet, en prenant x =(k)
1/l, on a bien que
l=1

lim x(k+1) − x(k) = 0


k→∞

et pour autant x(k) diverge.


On combine ce critère avec autre comme par exemple s’arrêter dès que f (x(k) ) ≈ 0.

Théorème 3.2.5  
Soit f : [a, b] −→ R une fonction de classe C2 [a, b], R . Supposons qu’il existe x̄ ∈ [a, b]
tel que f (x̄) = 0 et f 0 (x̄) , 0. Alors, il existe δ > 0 tel que pour tout a(0) , b(0) , x0 ∈ [x̄ − δ, x̄ + δ]
la suite x(k) donnée par la méthode de Newton ou la méthode de la sécante converge vers
k∈N
la solution x̄ ∈ [a, b].
De plus il existe une constante C > 0 telle que
2
x(k+1) − x̄ ≤ C x(k) − x̄ . (3.2.5)

On dit que la méthode de Newton est au pire d’ordre deux.

Preuve: Exercice.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


34

3.2.5 Méthode de point fixe


Un procédé général pour trouver les racines d’une équation non-linéaire f (x) = 0
consiste en la transformer en un problème équivalent x = Φ(x), où la fonction auxiliaire
Φ : [a, b] −→ R doit avoir la propriété suivante :

α = Φ(α) ssi f (α) = 0.

  donné x0 ∈ [a, b], la méthode du point fixe consiste alors à construire la suite
Etant
x(k) en suivant l’algorithme ci-après:
k∈N

Algorithme 4.5: Méthode de point fixe

Poser x(0) = x0

Pour k = 0, 1, . . .
 
calculer x(k+1) = Φ x(k)

Fin de la boucle k

 
Il reste à déterminer des critères sur la fonction Φ pour que la suite x(k)
k∈N
construite à partir de l’Algorithme 4.5 converge vers la solution x̄ de l’equation f (x̄) = 0.
Le théorème suivant donne les critères de convergence.

Théorème 3.2.6
Soit E un espace métrique complet muni de la distance d et Φ une contraction stricte dans
E, c’est-à -dire il existe 0 < L < 1 telle que

d Φ(x), Φ(y) ≤ L d(x, y),



(x, y) ∈ E × E. (3.2.6)
 
Alors, pour toute donnée initiale x0 ∈ E, la suite x(k) obtenue par l’Algorithme 4.5
k∈N
converge vers l’unique point fixe de Φ et vérifie
   
d x(k+1) , x̄ ≤ L d x(k) , x̄ . (3.2.7)

On dit alors que la convergence est linéaire.


 
Preuve: Soit x(k) la suite définie par
k∈N
 
x(k+1) = Φ x(k) , k = 0, 1, . . . (3.2.8)

En vertu des hypothèses, on a, pour tout entier k ≥,


     
d x(k+1) , x(k) ≤ L d x(k) , x(k−1) ≤ . . . ≤ Lk d x(1) , x(0) .

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


35

Soit donc un autre entier m > k, il vient que


  m
X   Xm  
d x ,x
(m) (k)
≤ d x ,x
(i) (i−1)
= Li−1 d x(1) , x(0)
i=k+1 i=k+1

 X Lk  
≤ Ld x ,x
k (1) (0)
Li−1 = d x(1) , x(0) → 0 lorsque (m, k) → ∞.
i=0
1−L
 
La suite x(k) est donc uns suite de Cauchy dans E, et puisque E est complet, elle
k∈N
converge vers un point x̄ ∈ E. En passant à la limite dans (3.2.8), on obtient

x̄ = Φ(x̄).

Par suite, on a aussi


       
d x(k+1) , x̄ = d Φ x(k) , Φ(x̄) ≤ L d x(k) , x̄ .

Pour montrer que Φ admet un seul point fixe, on suppose que x̄ et ȳ soient deux point
fixes différents de Φ. Alors

0 < d x̄, ȳ = d Φ(x̄), Φ( ȳ) ≤ L d x̄, ȳ < d x̄, ȳ ,


   

ce qui absurde, et par conséquent x̄ = ȳ.

Théorème 3.2.7
Soit Φ une fonction de classe C ([a, b], R). Supposons que x̄ ∈ (a, b)est un pointfixe de Φ
tel que |Φ0 (x̄)| < 1. Alors, il existe un réel δ > 0 tel que pour tout x(0) ∈ x̄ − δ, x̄ + δ , la suite
 
x(k) converge vers le point fixe x̄.
k∈N

Preuve: Posons L = (1 + |Φ0 (x̄)|) /2. On a que  |Φ (x̄)| < L< 1. Puisque Φ est continue,
0 0

il existe un réel δ > 0 tel que pour tout x ∈ x̄ − δ, x̄ + δ , |Φ0 (x)| < L < 1. Soient donc
 
x, y ∈ x̄ − δ, x̄ + δ avec x ≤ y. Par le développement de Taylor à l’ordre un avec reste
intégral (Théorème fondamental de Calculus), on a:
Z 1
Φ(y) − Φ(x) = Φ0 (x + t(y − x))(y − x)dt
0

donc
Z 1
|Φ(y) − Φ(x)| ≤ Φ0 (x + t(y − x)) y − x dt ≤ L x − y .
0
 
Ainsi, Φ est une contraction stricte sur x̄ − δ, x̄ + δ , et par conséquent, en vertu du
   
Théorème 3.2.6, pour tout x(0) ∈ x̄ − δ, x̄ + δ la suite x(k) converge vers le point
k∈N
fixe x̄.
Remarque 3.2.8
L’avantage de la méthode de point fixe est qu’elle se généralise sans difficulté à des fonctions
f : Ω ⊂ Rn −→ Rn puisque qu’aucune dérivée n’apparaı̂t dans l’Algorithme 4.5 Cependant
cette méthode est généralement moins efficace que la méthode de Newton pour les fonctions
vectorielles.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


36

3.3 Méthode de Newton dans Rn


3.3.1 Rappels de calcul différentiel dans Rn
Soient un domaine Ω ⊂ Rn et une fonction f : Ω ⊂ Rn −→ Rn , c’est-à -dire
   
 f1 (x)   x1 ) 
   
   
f (x) =  .  , pour tout x =  .  ∈ Ω.
 (3.3.1)
 .. 
 
 .. 
   
fn (x) xn

Dérivée d’une fonction

On dit que la fonction f est dérivable au point x ∈ Ω s’il existe une unique application
linéaire ∇ f (x) ∈ L (Rn , Rn ) tel que

f (x + h) = f (x) + ∇ f (x)h + ||h||ε(h), avec lim ε(h) = 0. (3.3.2)


h→0

Cette unique application ∇ f (x) est appelée gradient de f au point x et peut être identifiée
à une matrice dont les éléments sont données par les dérivées partielles de f au point
x:
 ∂ f1 ∂ f1
 
 ∂x (x) . . . ∂x (x) 

 1 n 
 
.. ..
 
∇ f (x) :=  . .  ∈ Mn,n (Rn ) .
 
 
 
 ∂ fn ∂ fn
 

 (x) . . . (x) 
∂x1 ∂xn
Cette matrice est appelée matrice Jacobienne de f et son déterminant est appelé le Jacobien
de f au point x. Ainsi, en composante, la formule (3.3.2) peut encore s’écrire
n
X ∂ fi
fi (x + h) = fi (x) + (x) h j + ||h||εi (h), avec lim εi (h) = 0, i = 1, . . . , n. (3.3.3)
j=1
∂x j h→0

On aura parfois recours aux dérivées secondes de f . Pour cela on aura besoin du
tenseur:
h i ∂2 fi
∇2 f (x) := , (i, j, k) ∈ {1, . . . , n}3 ,
i,j,k ∂x j ∂xk
appelée le Hessien de f au point x.

Formule de Taylor à l’ordre un avec reste intégral

Pour une fonction f de classe C1 (Ω, Rn ) et un point a ∈ Ω tel que le segment fermé
[a, a + h] entièrement contenu dans le domaine Ω, on a:
Z 1
f (a + h) = f (a) + ∇ f (a + th)h dt. (3.3.4)
0

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


37

Formule de Taylor-Young

Pour une fonction f de classe C2 (Ω, Rn ) et un point a ∈ Ω tel que le segment fermé
[a, a + h] entièrement contenu dans le domaine Ω, on a:
1
f (a + h) = f (a) + ∇ f (a)h + ∇2 f (a)(h, h) + ||h||2 ε(h) avec lim ε(h) = 0, (3.3.5)
2 h→0

où les n composantes du produit ∇2 f (a)(h, h) sont données par


 
∇2 f (a)(h, h) = h| ∇2 fi (a) h i = 1, . . . , n.
i

En composantes (i = 1, . . . , n), la formule (3.3.5) peut encore s’écrire


n n
X ∂ fi 1X ∂2 fi
fi (a + h) = fi (a) + (a)h j + hk (a)h j + ||h||2 εi (h) avec lim εi (h) = 0.(3.3.6)
j=1
∂x j 2 ∂x j ∂xk h→0
j,k=1

Ainsi, on a aussi le théorème des accroissement finis généralisé:

Théorème 3.3.1
Si f est de classe C2 (Ω, Rn ) et a ∈ Ω est tel que le segment fermé [a, a + h] entièrement contenu
dans le domaine Ω, alors:
1
f (a + h) − f (a) − ∇ f (a)h ≤ sup ∇2 f (y) h2 . (3.3.7)
2 y∈(a, a+h)

Formule de Taylor à l’odre deux avec reste intégral

Pour une fonction f de classe C2 (Ω, Rn ) et un point a ∈ Ω tel que le segment fermé
[a, a + h] entièrement contenu dans le domaine Ω, on a:

1 1
Z
f (a + h) = f (a) + ∇ f (a)h + (1 − t)∇2 f (a + th)(h, h) dt. (3.3.8)
2 0

3.3.2 Méthode de Newton généralisée


On considère donc une fonction f : Ω ⊂ Rn −→ Rn et on cherche à déterminer
x̄ ∈ Ω tel que f (x̄) = 0.
Pour cela, on choisit une première approximation x(0) de x̄ et on remplace f par son
développement de Taylor à l’ordre un au point x(0) c’est-à -dire
      
0 = f x(1) = f x(0) + ∇ f x(0) x(1) − x(0) .

On résout ce système pour obtenir une nouvelle approximation x(1) de x̄. On répète
cette procédure avec la nouvelle approximation. A l’étape k on aura à résoudre le
système
    
f x(k) + ∇ f x(k) x(k+1) − x(k) = 0. (3.3.9)

On aboutit ainsi à l’algorithme ci-après:

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


38

Algorithme 4.6: Méthode de Newton généralisée

Pour k = 0, 1, . . .
 
calculer A = ∇ f x(k)

s’assurer que A est inversible

calculer x(k+1) en résolvant le système


 
A x(k+1) = − f x(k) + A x(k)

Fin de la boucle k

Il reste à déterminer les conditions de convergence de la méthode. On note que


lorsque n = 1 la méthode de Newton converge et la convergence est d’ordre deux
(cfr Théoreme 3.2.5). Le théorème suivant montre que ce résultat demeure valide en
dimension n.

Théorème 3.3.2
Soit f : Ω ⊂ Rn −→ Rn une fonction de classe C2 (Ω, Rn ). Supposons qu’il existe x̄ ∈ Ω tel
que f (x̄) = 0 et ∇ f (x̄) est inversible. Alors,

(i) il existe δ > 0 tel que pour tout x(0) ∈ B(x̄, δ), la boule ouverte de Rn de centre x̄ et de
rayon δ, la suite x(k) obtenue par l’Algirthme 4.6 est bien définie et x(k) ∈ B(x̄, δ);
k∈N
 
(ii) la suite x(k) obtenue par l’Algorithme 4.6 converge vers la solution x̄ ∈ Ω;
k∈N

(iii) il existe une constante C > 0 telle que

x(k+1) − x̄ ≤ C x(k) − x̄ .

Ce théorème montre la convergence locale de la méthode   de Newton, c’est-à -dire


(0) (k)
que si x est suffisamment proche de x̄, alors la suite x converge vers x̄.
k∈N
En pratique, il arrive souvent que la forme analytique de la matrice ∇ f (x) est in-
∂ fi
connue. Dans ces conditions, on approche les éléments de la matrice Jacobienne
∂x j
par
∂ fi fi (x1 , . . . , x j + δ, . . . , xn ) − fi (x1 , . . . , x j , . . . , xn )
' ,
∂x j δ
mais dans ce cas il faut faire très attention aux erreurs d’arrondi!

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


39

3.3.3 Applications
A. Recherche de racines d’un polynôme

Soit p(x) un polynôme de degré n ≥ 2 à coefficients réels et admettant n racines


distinctes
xn < xn−1 < . . . < x1 .
 
Alors, pour toute valeur x0 > x1 , la suite x(k) donnée par
k∈N

x = x0
 (0)



  
p x(k)

(k+1)
= x − 0 (k)
(k)

 x



p (x )
est strictement décroissante et converge vers la plus grande racine.
   
Pour construire la suite x(k) , on passe par le calcul de p x(k) et p0 x(k) en utilisant
k∈N
l’algorithme de Hörner-Ruffini qui est construit de la manière suivante: le polynôme
p(x) de degré n s’écrit:
n
X
p(x) = ai xi = (. . . (((an x + an−1 ) x + an−2 ) x + an−3 ) x + . . . + a1 ) x + a0 .
i=0

Ainsi,
      
p x(k) = . . . (an x + an−1 ) x(k) + an−2 x(k) + an−3 x(k) + . . . + a1 x(k) + a0 .

que l’on retrouve en calculant les n + 1 nombres de Hörner du polynôme pour la valeur
x(k) : (bn , bn−1 , . . . , b1 , b0 ) par :
bn = an







 b = b x(k) + a , pour i = n − 1, n − 2, . . . , 0

i i+1 i
   
de sorte que p x(k) = b0 . Pour évaluer p0 x(k) , on définit q(x) par:
n−1
X
q(x) = ci xi
i=0

tel que  
p(x) = b0 + x − x(k) q(x).
   
On en déduit donc p0 x(k) = q x(k) . Noter que de
n
X  n−1
X
p(x) = ai x = b0 + x − x
i (k)
ci x i
i=0 i=0

on tire ci = bi+1 pour i = 0, . . . , n − 1. Et donc, en appliquant encore une fois l’algorithme


de Hörner à p0 (x) on obtient:
dn = cn−1 = bn = an







 d = d x(k) + c = d x(k) + b , pour i = n − 1, n − 2, . . . , 1

i i+1 i−1 i+1 i

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


40

 
de sorte que p0 x(k) = d1 .
Finalement, on obtient l’algorithme ci-après:

Algorithme 4.7: Calcul de racine d’un polynôme

Poser x(0) = x0

Pour k = 0, 1, . . .

Poser bn = an et dn = an

Pour i = n − 1, n − 2, . . . , 0

calculer bi = bi+1 x(k) + ai puis di = di+1 x(k) + bi

Fin de la boucle i

b0
calculer x(k+1) = x(k) −
d1

Fin de la boucle k

B. Calcul d’éléments propres d’une matrice

Considérons une matrice A ∈ Mn,n (Rn ) symétrique et λ ∈ R une valeur propre


simple de A. Il existe donc v ∈ Rn un vecteur propre de A associé à λ tel que ||v||2 = 1.
Pour calculer l’élément propre (λ, v) nous résolvons, par la méthode de Newton, le
système non linéaire, d’inconnues (u, r) ∈ Rn × R, donné par
Au − ru = 0,




 n
 X
||u||2 =
2
u2i = 1.





i=0
en posant:
x = (u,
 r) ∈ R
n+1

f (x) = f1 (x), . . . , fn+1 (x)
n
X n
X
où fi (x) = ai j x j − xn+1 xi , i = 1, . . . , n; et fn+1 = x2j − 1.
j=1 j=1

Exercices sur le chapitre


1. Pour chacune des fonctions ci-dessus, déterminer la solution de l’équation f (x) =
0 se trouvant dans l’intervalle indiqué en utilisant la méthode de bissection avec
un critère d’arrêt déterminé à partir de ε = 0.005.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


41

(a) f (x) = ln(x) + 2x + 1 dans [0.2, 0.3]


(b) f (x) = x3 − cos x dans [0.8, 1.0]
(c) f (x) = x − e−x/5 dans [0.75, 1]
(d) f (x) = x6 − x − 1 dans [1.0, 1.5]
(e) f (x) = sin x
x
+ e−x dans [3.0, 4.0]
(f) f (x) = sin x
x
− x + 1 dans [1.0, 2.0]

2. On souhaite résoudre l’équation non linéaire f (x) = 0, où x4 − 52 x3 + 52 x − 1,


par la méthode du point fixe. Il faut donc trouver une fonction Φ(x) telle que
Φ(x) − x = f (x). Donner quatre différentes expressions de Φ(x).

3. Peut-on appliquer la méthode de point fixe pour trouver le zéro de la fonction


f (x) = x6 − x − 1 situé dans l’intervalle [1, 1.5]. Justifiez votre réponse.

4. On considère la fonction f (x) = x − e−x/5 . En utilisant la méthode du point fixe,


trouver le zéro de la fonction située dans l’intervalle [0.75, 1.0] avec comme
approximation de départ x(0) = 1.0 sachant que l’erreur d’approximation ne doit
pas dépasser ε = 0.005.

5. Même question pour la fonction f (x) = x − 1 − 12 e−x dans [1.0, 1.2].

6. La racine réelle du polynôme p(x) = x3 − 3x2 + 4x − 2 vaut 1.

(a) Partant de x(0) = 2, calculer les approximations x(1) , x(2) , x(3) et x(4) de cette
x3 + 3x2 + x + 2
racine par la méthode du point fixe avec Φ(x) = .
2x2 + 5
(b) Utiliser ensuite la méthode de Newton pour calculer les mêmes approxima-
tions et comparer les résultats.

7. Pour chacune des fonctions ci-dessus, déterminer la solution de l’équation f (x) =


0 en utilisant la méthode Newton avec un critère d’arrêt déterminé à partir de
ε = 0.005.

(a) f (x) = x + tgx partant de x(0) = 2;


(b) f (x) = x6 − x − 1 partant de x(0) = 1.5;
(c) f (x) = x3 − cos x partant de x(0) = 1;
(d) f (x) = x − e−x/5 partant de x(0) = 1.

8. On considère le système non linéaire

x + y2 − 1 = 0
( 2

4
x + 4y − 1 = 0.
1 2 2

(a) Trouver les solutions exactes de ce système.


(b) Par la méthode de Newton trouver, après six étapes, les approximations de
solutions exactes partant de quatre initialisations suivantes: [x(0) y(0) ]> =
[±1 ± 1]> .

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


42

(c) La méthode du point fixe est-elle applicable pour ce système?

9. Proposer un algorithme permettant de calculer les éléments propres d’une matrice


A.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Chapter 4

Interpolation numérique

L’interpolation est une technique consistant à construire une courbe simple passant
par un nombre fini de points du plan. D’un point de vue pratique, les ordonnées de
ces points peuvent représenter les valeurs aux abscisses d’une fonction arbitraire, que
l’on cherche dans ce cas à remplacer par une fonction plus simple à manipuler lors
d’un calcul numérique, ou encore de données expérimentales, pour lesquelles on vise à
obtenir empiriquement un loi de distribution lorsque leur nombre est important. Sous
sa forme la plus simple, l’interpolation linéaire, ce procédé est bien connu des utilisateurs
des tables de logarithmes, qui furent massivement employées pour les calculs avant
l’arrivée des calculatrices. C’est aussi un ingrédient essentiel de nombreuses et diverses
méthodes numériques, ainsi que de techniques d’estimation statistique (le krigeage en
géostatistique par exemple).
Aussi, les nombreuses fonctions que nous définissons en analyse (cos, sin, log, exp,
etc.) ne sont pas connues de manière exactes en tout point x ∈ R.

4.1 Interpolation polynomiale simple


La plupart des algorithmes de calculs consistent à les remplacer par les fonctions
que nous sommes à mesure de calculer en utilisant les opérations élémentaires, c’est-à
-dire les polynômes de la forme
n
X
Pn (x) = ak xk = an xn + . . . + a1 x + a0 .
k=0

En effet, nous savons qu’à l’aide du développement de Taylor, nous pouvons approcher
n’importe quelle fonction régulière f connaissant les valeurs de cette fonction et de ses
dérivées en un point x0 ∈ R par
n
X (x − x0 )k (k) (x − x0 )n+1 (n+1)
f (x) = f (x0 ) + f (ξ),
k! (n + 1)!
k=0

où ξ ∈ R. Pour se convaincre que cette approche est réellement efficace, nous devons
d’une part établir des résultats de convergence et d’autre part tenter de trouver des
estimations de l’erreur.
Théorème 4.1.1
Soient f ∈ C0 ([a, b], R) et n + 1 points distinctes (n ≥ 0): x0 , x1 , . . . , xn ∈ [a, b]. Alors il
existe un unique polynôme Pn de degré inférieur ou égal à n tel que
Pn (xi ) = f (xi ), i = 0, . . . , n. (4.1.1)

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


44

4.1.1 Méthode Naı̈ve


Théorème 4.1.2
Sous les hypothèse du Théorème 4.1.1 l’unique polynôme Pn satisfaisant (4.1.1) est donné par
n
X
Pn (x) := ai xi , (4.1.2)
i=0

où les coefficients a0 , a1 , a2 , . . ., an sont obtenus en résolvant le système linéaire


n
X
j
a j xi = f (xi ), i = 0, 1, . . . , n. (4.1.3)
j=0

Preuve: Remarquons que le système (4.1.3) ci-dessus peut encore s’écrire

1 x0 . . . xn0   a0   f (x0 )
    
 
1 x1 . . . xn1   a1   f (x1 )
    
 
.. .. ..   ..  =  ..
 
. . .   .   .
 
 
 
1 xn . . . xnn an f (xn )
  

qui est un système de Cramer car son déterminant, appelé déterminant de Vander-
monde, est non nul.

4.1.2 Méthode de Lagrange


Théorème 4.1.3 (Interpolation de Lagrange)
Sous les hypothèse du Théorème 4.1.1 l’unique polynôme Pn satisfaisant (4.1.1) est donné par
la formule de Lagrange
n
X
Pn (x) := f (xi )Li (x), (4.1.4)
i=0

où
n
Y x − xj
Li (x) := ; i = 0, 1, . . . , n (4.1.5)
j=0
x i − x j
j,i

sont appelés polynômes de Lagrange associés aux nœuds x0 , x1 , . . . , xn .

Preuve:
On remarque que les Li sont tous de polynômes de degré n et que

1 si i = j,
(
Li (x j ) = δi, j =
0 si i , j.

Soient des réels λ0 , λ1 , . . . , λn tel que


n
X
λi Li (x) = 0 ∀ x ∈ R.
i=0

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


45

On a alors
n
X
0= λi Li (x j ) = λ j ∀ j = 0, 1, . . . , n.
i=0

Ce qui signifie que les polynômes Li , i = 0, 1, . . . , n, sont linéairement indépendants


et forment, par conséquent, une base de l’espace vectoriel Pn des fonctions polynômes
sur R à coefficients réels, de degré inférieur ou égal à n. Ainsi, (4.1.4) est belle bien une
décomposition d’un polynôme de degré inférieur ou égal n satisfaisant (4.1.1).
Enfin, soit Qn un autre polynôme satisfaisant (4.1.1). Nous avons alors,

Pn (xi ) − Qn (xi ) = f (xi ) − f (xi ) = 0 pour i = 0, 1, . . . , n.

Donc, Pn − Qn est un polynôme de degré inférieur ou égal à n s’annulant en n + 1 points


distincts. Il découle du théorème fondamental de l’algèbre qu’il est identiquement nul.

N.B.: L’écriture du polynôme d’interpolation la fonction f donnée par la formule de
Lagrange en (4.1.4)-(4.1.5) est certes intéressante du point de vue théorique mais peu
sur le plan pratique car elle possède un caractère peu algorithmique et son évaluation
requiert trop d’opérations élémentaires. C’est pourquoi on utilise souvent la méthode
suivante:

4.1.3 Méthode de Newton ou des différences divisées


Théorème 4.1.4 (Formule de Newton)
Soit un entier k ≥ 1. Si Pk et Pk−1 sont les polynômes d’interpolation de f respectivement aux
nœuds x0 , x1 , . . . , xk et x0 , x1 , . . . , xk−1 , alors

Pk (x) = Pk−1 (x) + f [x0 , , x1 , . . . , xk ] ωk (x), (4.1.6)


k−1
Y
où ωk (x) := (x − xi ) est le polynôme de Newton de degré k et f [x0 , x1 , . . . , xk ], la kième
i=0
différence divisée de Newton de f qui est aussi le coefficient dominant du polynôme Pk .
De plus, en notant Qk−1 le polynôme d’interpolation de Lagrange de la fonction f aux nœuds
x1 , . . . , xk , alors
x − x0 x − xk
Pk (x) = Qk−1 (x) − Pk−1 (x). (4.1.7)
xk − x0 xk − x0
Preuve: Posons Dk := Pk − Pk−1 . Dk ainsi défini est un polynôme de degré ≤ k s’annulant
aux points x0 , x1 , . . . , xk−1 car

Dk (xi ) = Pk (xi ) − Pk−1 (xi ) = f (xi ) − f (xi ) = 0, i = 0, 1, . . . , k − 1.

Aussi, Dk (xk ) = f (xk ) − Pk−1 (xk ), il en découle que


f (xk ) − Pk−1 (xk )
Dk (x) = ωk (x).
ωk (xk )
f (xk ) − Pk−1 (xk )
En posant f [x0 , x1 , . . . , xk ] = , on obtient le résultat en (4.1.6). Il s’avère
ωk (xk )
f [x0 , x1 , . . . , xk ] est aussi le coefficient dominant du polynôme Pk car c’est le coefficient

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


46

de xk .
De plus, puisque Pk−1 (x0 ) = f (x0 ), Pk−1 (xi ) = Qk−1 (xi ) = f (xi ) = f (xi ) pour i = 1, . . . , k − 1
et Qk−1 (xk ) = f (xk ), le polynôme
x − x0 x − xk
Qk (x) = Qk−1 (x) − Pk−1 (x)
xk − x0 xk − x0
est un polynôme de degré ≤ k tel que Qk (xi ) = f (xi ) pour i = 0, 1, . . . , k. D’où, en vertu
du Théorème 4.1.3, Qk = Pk . 

Corollaire 4.1.5
Le polynôme d’interpolation de f aux noeuds x0 , x1 , . . . , xn peut encore s’écrire:
n
X
Pn (x) = f (x0 ) + f [x0 x1 , . . . , xk ] ωk (x). (4.1.8)
k=1

avec
f [x1 , . . . , xk ] − f [x0 x1 , . . . , xk−1 ]
f [x0 , x1 , . . . , xk ] = ;, (4.1.9)
xk − x0
où f [x1 , . . . , xk ] est le coefficient dominant du polynôme Qk−1 et f [xi ] = f (xi ), i = 0, 1, . . . , k.

Preuve: De (4.1.6), on obtient successivement:

Pn (x) = Pn−1 (x) + f [x0 , x1 , . . . , xn ] ωn (x)


= Pn−2 (x) + f [x0 , x1 , . . . , xn−1 ] ωn−1 (x) + f [x0 , x1 , . . . , xn ] ωn (x)
..
.
Xn
= P0 (x) + f [x0 , x1 , . . . , xk−1 ] ωk (x).
k=1

D’où le résultat en (4.1.8) car le polynôme d’interpolation de Lagrange de f au nœud


x0 est P0 (x) = f (x0 ).
Pour prouver l’égalité en (4.1.9), il suffit de déterminer le coefficient dominant de Pk
dans le second membre de (4.1.7) qui vaut
f [x1 , . . . , xk ] f [x0 , . . . , xk−1 ]
− .
xk − x0 xk − x0

Pratiquement, on range les valeurs de f (xi ) dans un tableau TAB, puis on modifie
ce tableau en n étapes successives, en procédant par indices décroissantes

Tableau Etape 0 Etape 1 Etape 2 ... Etape n


TAB[n] f [xn ] f [xn−1 , xn ] f [xn−2 , xn−1 , xn ] ... f [x0 , . . . , xn ]
TAB[n-1] f [xn−1 ] f [xn−2 , xn−1 ] f [xn−3 , xn−2 , xn−1 ] . . .
TAB[n-2] f [xn−2 ] f [xn−3 , xn−2 ]
.. .. .. ..
. . . .
TAB[2] f [x2 ] f [x1 , x2 ] f [x0 , x1 , x2 ]
TAB[1] f [x1 ] f [x0 , x1 ]
TAB[0] f [x0 ]

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


47

A l’issue de l’Etape n, la cellule TAB[k] contiendra le coefficient f [x0 , . . . , xk ], puis on


utilise la formule (4.1.8) pour construire Pn ou par récurrence descendante (règle de
Hörner):
un = TAB[n];
uk = TAB[k] + (x − xk )uk+1 , k = n − 1, . . . , 0.
Ainsi, Pn (x) = u0 .

4.1.4 Erreur d’interpolation polynomiale


Pour évaluer l’erreur d’interpolation nous avons les résultats suivants:
Lemme 4.1.6
Soit f : [a, b] −→ R. On suppose que f est p fois continûment différentiable et on note
Pp le polynôme d’interpolation de Lagrange de la fonction f défini aux p + 1 points distincts
x0 , . . . , xp de l’intervalle [a, b]. Alors, il existe ξ ∈ [a, b] tel que
f (p) (ξ)
f [x0 , . . . , xp ] = . (4.1.10)
p!
Preuve: La fonction définie par Ep (x) = f (x) − Pp (x) est continûment dérivable sur [a, b]
et s’annule en p + 1 points distincts. D’après le théorème de Rolle, sa dérivée d’odre p,
(p)
notée Ep est continue et s’annule en un point ξ ∈ [a, b], c’est-à -dire
(p) (p)
0 = Ep (ξ) = f (p) (ξ) − Pp (ξ) = f (p) (ξ) − f [x0 , . . . , xp ] p!,
car Pp est un polynôme de degré p et que f (p) (ξ) = f [x0 , . . . , xp ] p!, où f [x0 , . . . , xp ] est le
coefficient de xp . D’où le résultat. 
Théorème 4.1.7
Soit f : [a, b] −→ R. On suppose que f est n + 1 fois continûment différentiable et
on note Pn le polynôme d’interpolation de Lagrange de la fonction f défini aux n + 1 points
distincts x0 , . . . , xn de [a, b]. Alors
Mn+1
Pn (x) − f (x) ≤ ωn+1 (x) , (4.1.11)
(n + 1)!
Yn
où Mn+1 := || f (n+1)
|| = max f (n+1)
(x) et ωn+1 (x) = (x − xi ).
a≤x≤b
i=0

Preuve: Soit x ∈ [a, b] et notons Pn+1 le polynôme d’interpolation de Lagrange de f aux


nœuds x0 , . . . , xn , x. En vertu de la formule de Newton (4.1.6) (cfr Théorème 4.1.4), on
a:
Pn+1 (x) = Pn (x) + f [x0 , . . . , xn , x] ωn+1 (x).
Or f (x) = Pn+1 (x). Donc,
f (x) = Pn (x) + f [x0 , . . . , xn , x] ωn+1 (x).
Finalement, en appliquant le Lemme précédent, il existe ξ ∈ [a, b] tel que
f (n+1) (ξ)
f (x) = Pn (x̃) + ωn+1 (x).
(n + 1)!
D’où le résultat. 

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


48

Remarques

Ce résultat ne signifie pas que le polynôme d’interpolation de Lagrange va converger


vers la fonction f du moment que f est de classe C∞ ([a, b], R). En effet, l’erreur
d’interpolation || f − P|| dépend à la fois de la quantité Mn+1 qui peut être grande si f
oscille trop vite, et de la quantité ||ωn+1 ||, qui est liée à la répartition des points xi dans
l’intervalle [a, b].
Dans le cas particulier où les nœuds sont équirépartis on a le résultat suivant:
!n+1
Mn+1 b − a
|| f − Pn || ≤ .
4(n + 1) n
En effet, on peut montrer que |ωn+1 (x)| atteint son maximum dans un de deux intervalles
extrêmes [x0 , x1 ] ou [xn−1 , xn ]. En prenant x ∈ [x0 , x1 ] (l’autre cas est similaire), on a:
(x1 − x0 )2 h2
|(x − x0 )(x − x1 )| ≤ =
4 4
où h = (b − a)/n. De plus, pour tout i > 1, |(x − xi )| ≤ i h. Donc
n !n+1
Y h2 n! b − a
||ωn+1 || := max |(x − xi )| ≤ 2h 3h . . . nh =
x∈[a, b]
i=1
4 4 n
!n+1
1 b−a
Le seul fait que lim = 0 n’implique pas que || f − Pn || tend vers
n→∞ 4(n + 1) n
zéro quand n → ∞. C’est le “ phénomène de Runge”.

Figure 5.1 Phénomène de Runge

La figure ci-dessus donne la représentation graphique de la fonction de Runge


1
f (x) = dans l’intervalle [−5, 5] ainsi que celles de ses polynômes d’interpolation
1 + x2
pour n = 2, 4, 6, 8, 10 associés à des nœuds équirépartis.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


49

Pour l’éviter on utilise l’interpolation polynomiale de degré peu élevé sur des
intervalles de petites tailles (interpolation composée) ou l’interpolation avec points
d’interpolation de Chebyshev.

Points d’interpollation Chebyshev

On définit les polynômes de Chebyshev par

tn (x) = cos(n arccos x), x ∈ [−1, 1].

En effet, si on pose θ = arccos x, i.e. x = cos θ avec θ ∈ [0, π], on a

tn (x) = cos(nθ);
tn+1 (x) + tn−1 (x) = cos((n + 1)θ) + cos((n − 1)θ)
= 2 cos(nθ) cos θ = 2x tn (x).

Le polynôme tn se calcule donc par les formules de récurrence

t0 (x) = 1; t1 (x) = x;
tn+1 (x) = 2xtn (x) − tn−1 (x); n = 1, 2, . . . . (4.1.12)

Il en résulte que tn est un polynôme de degré n, dont le coefficient dominant est 2n−1
pour n ≥ 1. Les racines de tn sont données par
2i + 1
 
x̂i = cos π , 0 ≤ i ≤ n (4.1.13)
2n
Les points x̂i ∈] − 1, 1[ sont symétriquement répartis autour de 0 (xn−i = −xi ) de façon
plus dense au voisinage de −1 et 1.
Pour trouver les points d’interpolation appartenant à l’intervalle [a, b], appelés
points d’interpolation de Chebyshev, on utilise le changement de variable suivant:
a+b a−b
xi = + x̂i (4.1.14)
2 2
Le polynôme de Newton ωn+1 est donné par
n !(n+1) Yn
Y a−b
ωn+1 = (x − xi ) = (x̂ − x̂i ), (4.1.15)
i=0
2 i=0

n
Y
où (x̂ − x̂i ) = 2−n tn+1 (x̂) est le polynôme de Newton ωn+1 (x̂) correspondant à [−1, 1].
i=0
Dans ce cas on a
!(n+1)
a−b
||ωn+1 || = 2 (4.1.16)
4

qui est plus petite que


!(n+1) √ !(n+1)
n! b − a 2π e b − a
≈ √ (4.1.17)
4 n 4 n e

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


50

obtenue pour ||ωn+1 || avec des points xi équidistants,


√ surtout
 lorsque n est assez grand:
n+1
le rapport entre les deux est de l’ordre O n(e/4) , qui tend vers 0 quand n → ∞.

L’approximation (4.1.17) repose sur la formule de Stirling n! ≈ 2πn (n/e)n .
Exercice: Donner la représentation graphique de la fonction de Runge dans l’intervalle
[−5, 5] ainsi que celles de ses polynômes d’interpolation de Lagrange pour n =
2, 4, 6, 8, 10 associés aux points d’interpolation de Chebyshev. Pour chaque cas évaluer
l’erreur d’interpolation.

4.2 Interpolation de Hermite


Soient n + 1 points distincts x0 , . . . , xn de l’intervalle [a, b] et f ∈ C1 ([a, b], R) une
fonction donnée. On suppose que les valeurs de la fonction f et de sa dérivée sont
connues aux points (xi )0≤i≤n et on cherche un polynôme Hn de degré minimal tel que

Hn (xi ) = f (xi ); Hn0 (xi ) = f 0 (xi ); i = 0, . . . , n. (4.2.1)

Nous avons le résultat suivant:

Théorème 4.2.1 (Interpolation de Hermite)


Il existe un unique polynôme Hn de degré ≤ 2n + 1satisfaisant (4.2.1) donné par
n
X n
X
Hn (x) = f (xi ) hi (x) + f 0 (xi ) h̃i (x), (4.2.2)
i=0 i=0

appelé polynôme de Hermite, avec


 
hi (x) = 1 − 2 L0i (xi )(x − xi ) L2i (x), h̃i (x) = (x − xi ) L2i (x), (4.2.3)

où les Li (x) sont les polynômes de Lagrange définis sur les points x0 , . . . , xn .
Si de plus f ∈ C(2(n+1) ([a, b], R) et ωn+1 est le polynôme de Newton de degré n + 1, alors

f (2(n+1))
f (x) − Hn (x) ≤ ω2n+1 (x). (4.2.4)
(2n + 2)!

Preuve: On remarque que les polynômes hi et h̃i définis en (4.2.3) sont tous de degré
2n + 1 satisfont

hi (x j ) = δi j ; h0i (x j ) = 0; h̃i (x j ) = 0 et h̃0i (x j ) = δi, j ∀i, j = 0, . . . , n.

Ainsi, le polynôme Hn en (4.2.2) est de degré ≤ 2n + 1 et vérifie (4.2.1).


Supposons qu’il existe un autre polynôme H de degré ≤ 2n + 1 satisfaisant (4.2.1).
Dès lors le polynôme H − Hn est de degré ≤ 2n + 1 et possède au moins n + 1 racines
distinctes car

(H − Hn )(xi ) = H(xi ) − Hn (x) = f (xi ) − f (xi ) = 0, ∀i = 0, . . . , n.

Par conséquent H − Hn peut encore se mettre sous la forme

(H − Hn )(x) = ωn+1 (x)Q(x),

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


51

où Q est un polynôme de degré ≤ n. En dérivant les deux membres et en évaluant sur
les xi , i = 0, . . . , n, on obtient
n
Y
0 = H0 (xi ) − Hn0 (xi ) = ω0n+1 (xi )Q(xi ) − ωn+1 (xi )Q0 (xi ) = ω0n+1 (xi )Q(xi ) = (xi − x j )Q(xi ),
j=0
j,i

de sorte que Q(xi ) = 0 ∀i = 0, . . . , n. Ainsi, Q est un polynôme de degré ≤ n possédant


n + 1 racines distinctes, il est donc nul. Par conséquent, (H − Hn ) = 0, et donc H = Hn .
Prenons point x dans l’intervalle [a, b] différent des points (xi )0≤i≤n et posons

f (x) − Hn (x)
F(y) = f (y) − Hn (y) − ω2n+1 (y).
ω2n+1 (x)

Il évident que la fonction F(x) = 0, F(xi ) = 0 et F0 (xi ) = 0 pour tout i = 0, . . . , n et qu’elle


admet donc 2n + 3 racines. En appliquent de manière successive le théorème de Rolle,
nous pouvons trouves ηx ∈ [a, b] te que

F(2n+2) (ηx ) = 0.

En dérivant 2n + 2 fois la fonction F et se plaçant au point ηx , on obtient

f (x) − Hn (x)
(2n + 2)! = f (2n+2) (ηx ).
ω2n+1 (x)

Ce qui conduit au résultat. 

4.3 Interpolation composée: Splines


Nous avons a mis en évidence le fait qu’on ne peut pas garantir la convergence uni-
forme du polynôme d’interpolation de Lagrange vers la fonction f quand les nœuds
d’interpolation sont équirépartis. L’interpolation de Lagrange de bas degré est cepen-
dant suffisamment précise quand elle est utilisée sur des intervalles assez petits, y
compris avec des nœuds équirépartis (ce qui est commode en pratique).

4.3.1 Splines de degré m


On suppose qu’une première décomposition de l’intervalle [a, b] en n + 1 nœuds
est déjà effective:
∆ = {a = x0 < x1 < . . . < xn−1 < xn = b}.
Pour chaque sous-intervalle [xi , xi+1 ], on construit un polynôme d’interpolation de
Lagrange Pi,m de la fonction f à l’aide de m + 1 nœuds, notés (xij )0≤m , de [xi , xi+1 ]

xi = xi0 < xi1 < . . . < xim−1 < xim = xi+1 , i = 0, . . . , n − 1.

La plus souvent on utilise les splines linéaires (m = 1), les splines quadratiques (m = 2)
et les splines cubiques (m = 3).

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


52

Définition 4.3.1
On appelle spline de degré m relativement aux nœuds (xi )0≤i≤n une fonction Sm ∆
: [a, b] −→ R
tel que
S |[x , x ] est un polynôme de degré m, i = 0, . . . , n − 1.
 m
 ∆ i i+1





 Sm ∈ C m−1 ([a, b], R) .

Le théorème suivant donne l’existence et l’unicité d’une spline de degré mrelativement


aux nœuds (ai )0≤i≤n

Théorème 4.3.2
Soient n et m deux entiers positifs et un ensemble de points (ai )0≤i≤n de l’intervalle [a, b],
nous choisissons sur chaque intervalle [ai−1 , ai ] un ensemble de points (xij )0≤j≤m tels que

ai = xi0 < xi1 < . . . < xim−1 < xim = ai+1 , i = 0, . . . , n − 1.

Alors il existe une et une seule fonction continue Sm ∆


∈ C m−1 ([a, b], R) telle que



 Sm
∆ |[xi , xi+1 ] est un polynôme de degré m, i = 0, . . . , n − 1.

(4.3.1)



 Sur l’intervalle [xi , xi+1 ] Sm ∆ (x j ) = f (x j ),
i i

 0 ≤ j ≤ m et 1 ≤ i ≤ n.

De plus, si la fonction f ∈ C m+1 ([a, b], R), nous avons l’estimation d’erreur

hm+1
f − Sm
∆ ≤ f (m+1) , (4.3.2)
(m + 1)!
avec h = max |xi+1 − xi |.
1≤i≤n

N.B.: Généralement on considère les nœuds équirépartis, c’est-à -dire xi = a + i h où


a−b jh
h= . Ce qui implique que xij = xi + .
n m

4.3.2 Cas particulier des Splines linéaires


Étant donné une répartition quelconque de nœuds a = x0 < x1 < . . . < xn−1 < xn = b,
on approche f par une fonction continue qui, sur chaque intervalle [xi , xi+1 ], est définie
par le segment joignant les deux points (xi , f xai )) et (xi+1 , f (xi+1 )). Cette fonction est
appelée interpolation linéaire par morceaux (ou spline linéaire). Celle-ci est définie par,
yi+1 − yi
S1∆ |[xi , xi+1 ] (x) = yi + (x − xi ), i = 0, . . . , n − 1,
ai+1 − xi
où yi = f (xi ). Il est évident que S1∆ : [a, b] −→ R est continue et S1∆ (xi ) = f (xi ).
Si la fonction f ∈ C 2 ([a, b], R), alors

h2 00
f − Sm
∆ ≤ f ,
2
avec h = max |ai − ai−1 |.
1≤i≤n

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


53

4.4 Interpolation par la méthode des moindres carrés


Lorsqu’un chercheur met au point une expérience (parce qu’il a quelques raisons de
croire que les deux grandeurs x et y sont liées par une fonction f ), il récolte des données
sous la forme de points {(xi , yi ) : i = 0, . . . , n}. Lorsqu’il en fait une représentation
graphique il cherche la fonction f qui s’ajuste le mieux possible aux points observés.
Nous avons déjà vu que si n est grand, le polynôme d’interpolation de Lagrange
n’est pas toujours une bonne approximation de la fonction donnée ou cherchée. De
plus, si les données sont affectées par des erreurs de mesure, l’interpolation peut
être instable. Ce problème peut être résolu avec l’interpolation composite (avec des
fonctions linéaires par morceau ou des splines). Néanmoins, aucune de ces méthodes
n’est adaptée à l’extrapolation d’informations à partir des données disponibles, c’est-à -
dire, à la génération de nouvelles valeurs en des points situés à l’extérieur de l’intervalle
contenant les nœuds d’interpolation.
On introduit alors la méthode des moindres carrés. Soit di = yi − f (xi ) l’écart vertical
du point (xi , yi ) par rapport à la fonction f . La méthode des moindres carrés est celle
qui choisit f de sorte que la somme des carrés de ces écarts soit minimale.
Supposons que les deux grandeurs x et y sont liées approximativement par une
relation affine, c’est-à -dire de la forme y = mx + q pour certaines valeurs de m et q
(autrement dit, lorsqu’on affiche ces points dans un plan Cartésien, les points ne sont
pas exactement alignés mais cela semble être dû à des erreurs de mesure). On souhaite
alors trouver les constantes m et q pour que la droite d’équation y = mx + q s’ajuste le
mieux possible aux points observés. Pour cela, introduisons di = yi − (mxi + q) l’écart
vertical du point (xi , yi ) par rapport à la droite.
La méthode des moindres carrés consiste donc à minimiser la fonction E : R2 −→ R+
définie par
Xn
E(m, q) = (yi − mxi − q)2 .
i=0

Pour minimiser E on cherche d’abord les points stationnaires, autrement dit les points
(m, q) qui vérifient
 n
∂E
 X
(yi − mxi − q)xi = 0

−2

(m, q) = 0

 

∂m

 

i=0

 

 
⇐⇒ 
 

∂E

 
 n
(m, q) = 0

 
 X
−2 (yi − mxi − q) = 0,
 
∂q

 



i=0

c’est-à -dire
 n  n   n   n  n   n  n 
X  X  X  X  X  X  X 

 xi   yi  − (n + 1)  xi yi  
 xi   xi yi  −  yi   x2i 
i=0 i=0 i=0 i=0 i=0 i=0 i=0
m=  n 2  n  et q =  n 2  n  .
X  X  X  X 

 xi  − (n + 1)  x2i  
 xi  − (n + 1)  x2i 
i=0 i=0 i=0 i=0

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


54

Pour établir la nature du point critique on étudie la matrice Hessienne:


 X n Xn 
2
 2 xi 2 xi
 

 
 i=0 i=0 
∇2 H(m, q) =   .
 
n
 X 

xi 2(n + 1)

 2 


i=0

n
 n 2 
 X X  
Puisque son déterminant det(∇2 H(m, q)) = 4 (n + 1) x2i −  xi   > 0, on conclut

 
i=0 i=0
qu’il s’agit d’un minimum. La droite d’équation y = mx + q ainsi calculée s’appelle
droite de régression de y par rapport à x

Exercices sur le chapitre


1. Déterminer le polynôme d’interpolation passant par les points des coordonnées
2
X
(−1, 0.5), (0, 1) et (1, −1). Mettre ce polynôme sous la forme P2 (x) = p j x j ; puis
j=0
tracer le graphe ce ce polynôme à l’aide de MATLAB.

2. Mêmes questions pour les points de cordonnées (0, 1), (0.5, 2), (1, 1.5) et (2, −1).

3. On donne la fonction f (t) = sin t pour t ∈ [0, 2π] et on note Pn (t) son polynôme
d’interpolation de Lagrange de degré n,
n
1 Y
en (t) := f (t) − Pn (t) et bn (t) = (t − ti )
(n + 1)! i=0

On suppose que les nœuds d’interpolation sont équidistants et on demande de

(a) montrer que |en (t)| ≤ bn (t) pour tout t ∈ [0, 2π] et n ≥ 1;
(b) donner l’expression analytique de Pn (t) pour n = 2 et n = 4;
(c) tracer, à l’aide d’un script MATLAB, les graphes de en (t) et bn (t) pour n = 2
et n = 4. Prendre pour pas de discrétisation h = 0.01.
3
X
4. On veut approcher une fonction f (x) par le polynôme P3 (x) = p j x j , sachant
j=0
que celle-ci passe les points (x1 , f1 ) et (x2 , f2 ) donnés, et que sa dérivée f (1) (x) =
f (x)    
passe par les points x0 , f0(1) et x0 , f3(1) donnés. On demande d’établir le
dx
système permettant de calculer les coefficients p j , j = 0, 1, 2, 3. On supposera
x0 < x1 < x2 < x3 .

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Chapter 5

Intégration et Dérivation Numériques

5.1 Formules de quadrature classique


5.1.1 Expression générale
Soit f ∈ C ([a, b], R). Il existe toute une famille d’algorithmes permettant d’approcher
la valeur numérique de l’intégrale
Z b
I( f ) = f (x) dx. (5.1.1)
a

Toutes consistent à approcher l’intégrale I( f ) par un nombre


p
X
Q( f ) = ωi f (xi ). (5.1.2)
i=0

où p est un entier, les ωi sont des réels appelés poids et les xi des points de [a, b]. Une
telle formule est appelée formule de quadrature.
Le choix de p, des ωi et des xi dépendent de la méthode employée. Il s’agira donc
de se poser les questions suivantes:

• Comment construire de telles formules en pratique ?

• Comment définir et mesurer la précision de telles formules ?

• Quand la convergence a-t-elle lieu ? Quelle peut-être l’expression de l’erreur ?

5.1.2 Construction des formules de quadrature et estimation d’erreur


Ces méthodes consiste à chercher une approximation fn de la fonction f facilement
intégrable sur [a, b] et à prendre
Z b
Qn ( f ) = I( fn ) = fn (x)dx. (5.1.3)
a

Si fn , f ∈ C0 ([a, b], R), l’erreur de quadrature En := I( f ) − Qn ( f ) satisfait


Z b
En ( f ) ≤ f (x) − fn (x) dx ≤ (b − a) sup f (y) − fn (y) . (5.1.4)
a y∈[a, b]

Donc si pour un certain n, sup f (y) − fn (y) ≤ ε , alors En ( f ) ≤ (b − a) ε.


y∈[a, b]

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


56

Les fonctions fn sont généralement des polynômes d’interpolation. Une approche


naturelle consiste à prendre fn = Pn , le polynôme d’interpolation de Lagrange de f sur
un ensemble de n + 1 nœuds distincts {xi, i = 0, . . . , n}. Ainsi, on déduit de (5.1.3)
n
X Z b
Qn ( f ) = I(Pn ) = f (xi ) Li (x) dx, (5.1.5)
i=0 a

où Li est le polynôme caractéristique de Lagrange de degré n ≥ 1 associé au nœuds xi .


Z b  
Ainsi, les poids sont donnés par ωi = Li (x) dx. Si de plus, f ∈ C(n+1) [a, b], R , nous
a
f (n+1) (ζ)
avons montré au chapitre précédent que f (x) = Pn (x) + ωn+1 (x), avec ζ ∈ [a, b].
(n + 1)!
Par conséquent l’erreur de quadrature est tel que

f (n+1) (ζ) b
Z
En ( f ) = I( f ) − Qn ( f ) = ωn+1 (x) dx
(n + 1)! a
Z b
1
≤ ωn+1 (x) dx sup f (n+1) (y) . (5.1.6)
(n + 1)! a y∈[a, b]

5.1.3 Quelques cas particuliers


A. Formules des rectangles et du point milieu

C’est la méthode la plus simple. Elle consiste à interpoler la fonction f à intégrer


par un polynôme de degré 0 (fonction constante). Soit ξ le point d’interpolation; la
formule de quadrature devient alors
Z b
Q0 ( f ) = f (ξ) dx = (b − a) f (ξ). (5.1.7)
a

La détermination de l’erreur dépend de f et du choix du point d’interpolation ξ:

• Laméthode des
 rectangles correspond au choix ξ = a ou ξ = b. Si f est de classe
1
C [a, b], R , alors l’erreur de quadrature est tel que

(b − a)2
E0 ( f ) = |I( f ) − Q0 ( f )| ≤ sup | f 0 (y)|. (5.1.8)
2 y∈[a, b]

En effet, la formule du développement de Taylor à l’ordre un de f autour du point


ξ donne f (x) = f (ξ) + (x − ξ) f 0 (y), avec y ∈ [a, b]. D’où,
Z b
1
E0 ( f ) = I( f ) − Q0 ( f ) = (x − ξ) f 0 (y) dx = (b − ξ)2 − (a − ξ)2 f 0 (y) .
a 2

• Laméthode du
 point milieu correspond au choix ξ = (a + b)/2. Si f est de classe
2
C [a, b], R , alors l’erreur de quadrature est tel que

(b − a)3
E0 ( f ) = I( f ) − Q0 ( f ) ≤ sup f 00 (y) . (5.1.9)
24 y∈[a, b]

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


57

En effet, la formule du développement de Taylor à l’ordre deux de f autour du


point ξ donne f (x) = f (ξ) + (x − ξ) f 0 (ξ) + 12 (x − ξ)2 f 00 (y), avec y ∈ [a, b]. Ainsi,
Z b Z b !3
1 0 1 b−a
E0 ( f ) = f (ξ)
0
(x − ξ) dx + f (y) (x − ξ) dx =
2
f 00 (y) .
a 2 a 3 2

Ce qui permet de conclure que la méthode des rectangles est exacte pour les fonctions
constantes et celle du point milieu est exacte pour les polynômes de degré inférieur ou
égal à un.

B. Méthode du trapèze

Consiste à interpoler la fonction f par le polynôme de Lagrange de degré un aux


f (b)− f (a)
nœuds x0 = a et x1 = b, c’est-à -dire P1 (x) = f (a)+ b−a (x−a). La formule de quadrature
devient
b − ah i
Q1 ( f ) = f (b) + f (a) . (5.1.10)
2
 
Si f est de classe C2 [a, b], R , alors l’erreur de quadrature est tel que

(b − a)3
E1 ( f ) = I( f ) − Q1 ( f ) ≤ sup f 00 (y) . (5.1.11)
12 y∈[a, b]

En effet, de (5.1.6), on obtient


b
| f 00 (ζ)| (b − a)3 00
Z
E1 ( f ) = I( f ) − Q1 ( f ) = (x − a)(x − b) dx = f (ζ) , ζ ∈ [a, b].
2! a 12
Ainsi la formule est exacte pour tout polynôme de degré inférieur ou égal à un.
Néanmoins la méthode du trapèze est moins performante que celle du point milieu,
étant donné que les degrés d’exactitude sont les mêmes et que le nombre d’évaluations
est plus grand pour la méthode du trapèze que celle du point milieu.

C. Méthode de Cavalieri-Simpson

La fonction f est maintenant approximé par le polynôme d’interpolation de La-


grange de degré deux aux nœuds a, m = (a + b)/2, b, c’est-à -dire
2 f (a) 4 f (m) 2 f (b)
P2 (x) = (x − m)(x − b) − (x − a)(x − b) + (x − a)(x − m).
(b − a)2 (b − a)2 (b − a)2
Ce qui conduit à la formule de quadrature
(b − a) h i
Q2 ( f ) = f (a) + 4 f (m) + f (b) . (5.1.12)
6
L’estimation
 de l’erreur est un peu délicate. En effet, d’une part, en supposant que
3
f ∈ C [a, b], R , le calcul
b
| f 000 (ζ)|
Z
E2 ( f ) = (x − a)(x − m)(x − b) dx , ζ ∈ [a, b]
3! a

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


58

à partir de (5.1.6) cause problème car la fonction (x−a)(x−m)(x−b) change de signe dans
l’intervalle [a, b]. D’autre part on peut montrer la formule de Simpson est exacte pour
tout polynôme de degré ≤ 3. Ce qui signifie qu’un polynôme de degré 3 interpolant f
conduit au même résultat. Soit le polynôme de degré 3 défini par

P02 (m) − f 0 (m)


R(x) = P2 (x) + 4 (x − a)(x − m)(x − b).
(b − a)2

Il en découle puisque R(a) = f (a), R(b) = f (b) et R(c) = f (c) que R(x) interpole f . Par
suite, on a aussi Q2( f ) = I(R).
 De plus on a aussi R (c) = f (c). Soit x ∈ [a, b] et si on
0 0

suppose que f ∈ C4 [a, b], R , alors la fonction g définie par

f (x) − R(x)
g(t) = f (t) − R(t) − 2
(t − a)(t − c)2 (t − c), a≤t≤b
(x − a)(x − c) (x − c)
 
est tel que g ∈ C4 [a, b], R avec g(a) = g(m) = g(b) = g(x) = g0 (m) = 0. L’application
successive du théorème de Rolle conduit à l’existence d’un réel ζ ∈ [a, b] tel que
g(4) (ζ) = 0. D’où, en tenant compte du fait R(4) (x) = 0, on a

f (x) − R(x)
g(4) (ζ) = f (4) (ζ) − 4! = 0,
(x − a)(x − c)2 (x − c)

c’est-à -dire
f (4) (ζ)
f (x) − R(x) = (x − a)(x − c)2 (x − c).
4!
Par conséquent, l’erreur de quadrature commise est

f (4) (ζ) b
Z
E2 ( f ) = I( f ) − Q2 ( f ) = (x − a)(x − c)2 (x − c) dx
4!
!a5 !5
1 b−a 1 b−a
= (4)
f (ζ) ≤ sup f (4) (y) . (5.1.13)
90 2 90 2 y∈[a, b]

D. Formules de Newton-Cotes

Ces formules sont basées sur l’interpolation de Lagrange avec noeuds équirépartis
dans [a, b]. Pour n ≥ 0 fixé, on pose xk = x0 + kh, k = 0, . . . , n, les noeuds de quadrature.
Les formules du point milieu, du trapèze et de Simpson sont des cas particuliers des
formules de Newton-Cotes correspondant respectivement à n = 0, n = 1 et n = 2. On
définit dans le cas général:

• les formules fermées , pour lesquelles x0 = a, xn = b et h = b−a


n
, (n ≥ 0);

• les formules ouvertes, pour lesquelles x0 = a + h, xn = b − h et h = b−a


n+2
, (n ≥ 2).

Dans la suite on ne traite que le cas des formules fermées.


Une propriété intéressante des formules de Newton-Cotes est que les poids de
quadrature ωi ne dépendent explicitement que de n et h et pas de l’intervalle d’intégration

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


59

[a, b]. En effet, en introduisant le changement de variables x = a + th, xk = a + kh, on a:


x0 = a, xn = b
x − xk a + th − (a + kh) t − k
= = .
xi − xk a + ih − (a + kh) i − k
Ainsi, pour n ≥ 1
n n
Y x − xk Y t − k
Li (x) = = = ψi (t), 0 ≤ i ≤ n,
k=0
xi − xk k=0
i−k
k,i k,i

et on obtient l’expression suivante pour les poids de quadrature


Z b Z n Z n
ωi = Li (x) dx = ψi (t) h dt = h ψi (t) dt.
a 0 0

Par conséquent
n
X Z n
Qn ( f ) = h αi f (x◦i ), αi ψi (t) dt, ih ≤ x◦i ≤ (i + 1)h.
i=0 0

Dans le cas particulier où n = 0, comme L0 (x) = ψ0 (t) = 1, on a α0 = 2. Les αi ne


dépendent pas de a, b, h et f , mais seulement de n. Dans le cas des formules fermées,
les polynômes ψi et ψn−i , pour i = 0, . . . , n − 1 ont par symétrie la même intégrale; les
poids correspondants αi et αn−i sont égaux.

5.2 Formules composites


5.2.1 Principe général
Elles consistent découper l’intervalle d’intégration en sous-intervalles sur lesquels
une formule de quadrature (de type interpolation par exemple) est appliquée. Ces
formules reposent sur la relation de Chasles. Plus précisément, donnons-nous p + 1
points x0 = a < x1 < · · · < xp = b. Nous avons
Z b p−1 Z
X xi+1
I( f ) = f (x) dx = f (x) dx. (5.2.1)
a i=0 xi

En approchant l’intégrale Z xi+1


Ii ( f ) = f (x) dx
xi

par une formule de quadrature


ni
X
Qni ( f ) = ω(n
k
i)
f (x(n
i
i)
)
k=0

sur l’intervalle [xi , xi+1 ], on obtient


p−1
X
QT(n) ( f ) = Qni ( f ). (5.2.2)
i=0

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


60

Si Eni ( f ) = Ii ( f ) − Qni ( f ) est l’erreur de quadrature sur l’intervalle [xi , xi+1 ], alors
l’erreur totale de la formule composite est donnée par
p−1
X
ET(n) ( f ) = I( f ) − QT(n) ( f ) = Eni ( f ). (5.2.3)
i=0

5.2.2 Quelques cas particuliers


A. Formules composites des rectangles et du point milieu

Pour chacune de p intervalles [xi , xi+1 ] on a: Q0i ( f ) = (xi+1 − xi ) f (ξi ). D’où, la formule
composite
Xp−1

QT(0) ( f ) = (xi+1 − xi ) f (ξi ).


i=0
La formule composite des rectangles correspond à ξi = xi ou ξi = xi+1 , ∀i = 0, . . . , p, et
l’erreur de quadrature correspondant est
p−1
1X
ET(0) ( f ) = I( f ) − QT(0) ( f ) ≤ (xi+1 − xi )2 sup | f 0 (yi )|.
2 i=0 yi ∈[xi , xi+1 ]

La formule composite du point milieu correspond à ξi = (xi+1 + xi )/2,∀i = 0, . . . , p, et


l’erreur de quadrature correspondant est
p−1
1 X
ET(0) ( f ) = I( f ) − QT(0) ( f ) ≤ (xi+1 − xi )3 sup | f 00 (yi )|.
24 i=0 yi ∈[xi , xi+1 ]

Au cas où les nœuds xi sont équirépartis alors xi = a + ih, où h = b−a
p
, et les formules
ci-dessus deviennent
p−1
X
QT(0) ( f ) = h f (ξi ),
i=0
p−1
h2 X (b − a)2
ET(0) ( f ) = I( f ) − QT(0) ( f ) ≤ sup | f 0 (yi )| ≤ sup | f (y)|
2 i=0 yi ∈[xi , xi+1 ] 2p y∈[a, b]
pour la méthode des rectangles et
p−1
h3 X (b − a)3
ET(0) ( f ) = I( f ) − QT(0) ( f ) ≤ sup | f (yi )| ≤ sup | f (y)|
24 i=0 yi ∈[xi , xi+1 ] 24p2 y∈[a, b]

pour la méthode du point milieu.

B. Formules composites du trapèze


(xi+1 − xi ) 
Pour chacune de p intervalles [xi , xi+1 ], on a: Q1i ( f ) = f (xi ) + f (xi+1 ) à

2
partir desquelles on obtient
p−1 p−1
X 1X
QT(1) ( f ) = Q1i ( f ) = (xi+1 − xi ) f (xi ) + f (xi+1 ) .
 
i=0
2 i=0

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


61

L’erreur de quadrature est tel que


p−1
1 X
ET(1) ( f ) = I( f ) − QT(1) ( f ) ≤ (xi+1 − xi )3 sup f 00 (yi ) .
12 i=0 yi ∈[xi , xi+1 ]

Dans les cas des nœuds équirépartis, ces formules deviennent


p−1
 
h  X 
QT(1) ( f ) =  f (x0 ) + f (xp ) + 2 f (xi ) , h = (b − a)/2, xi = a + ih.
2 i=1

et
p−1
h3 X (b − a)3
ET(1) ( f ) = I( f ) − QT(1) ( f ) ≤ sup | f (yi )| ≤ 2
sup f 00 (y) .
12 i=0 yi ∈[xi , xi+1 ] 12p y∈[a, b]

C. Formules composites de Simpson

On a besoin du point milieu de chaque sous-intervalle [xi , xi+1 ] soit mi = (xi+1 + xi )/2,
pour i = 0, . . . , p − 1; de sorte que pour chacune de ces sous-intervalles on a:
(xi+1 − xi ) h i
Q2i ( f ) = f (xi ) + 4 f (mi ) + f (xi+1 ) .
6
On en déduit ainsi la formule composite de Simpson
p−1
1X h i
QT(2) ( f ) = (xi+1 − xi ) f (xi ) + 4 f (mi ) + f (xi+1 ) ,
6 i=0
avec une erreur totale de quadrature
p−1
1 X
ET(2) ( f ) = I( f ) − QT(2) ( f ) ≤ 5
(xi+1 − xi )5 sup f (4) (yi ) .
90. 2 i=0 yi ∈[xi , xi+1 ]

Si les nœuds a = x0 < . . . < xp = b, sont équidistants alors, du fait que l’on doit
tenir compte du point milieu de chaque sous-intervalle, on a obtient 2p + 1 nœuds
équidistants a = x0 < m0 < x1 . . . < xp−1 < mp−1 < xp = b. Un nouveau paramétrage de
ces nœuds donne a = x0 < x1 < x2 < . . . < x2p−2 < m2p−1 < x2p = b. Ainsi, les formules
ci-dessus deviennent:
h̃ h i (b − a)
Q2i ( f ) = f (x2i ) + 4 f (x2i+1 ) + f (x2i+2 ) , h̃ = (xi+1 − xi ) =
3 2p
pour l’intervalle [x2i , x2i+2 ] et
p−1
h̃ X h i
QT(2) ( f ) = f (x2i ) + 4 f (x2i+1 ) + f (x2i+2 )
3 i=0
p−1 p−1
 
h̃ 
 X X 
=  f (x0 ) + f (xp ) + 4 f (x 2i+1 ) + 2 f (x2i ) 
3  
i=0 i=1

la quadrature totale avec comme erreur


p−1
h̃5 X
ET(2) ( f ) = I( f ) − QT(2) ( f ) ≤ sup f (4) (yi ) .
90 i=0 yi ∈[x2i , x2i+2 ]

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


62

5.3 Formule de quadrature de Gauss


5.3.1 Formulation du problème
Z b
Il peut parfois être utile de réécrire l’intégrale f (x) dx sous la forme
a
Z b Z b
f (x) dx = g(x) ω(x) dx
a a

f (x)
où ω(x) est une fonction positive intégrable sur [a, b] et g(x) = est une fonction
ω(x)
lisse. Z b
L’approximation de l’intégrale I(g) = g(x) ω(x) dx par une formule de quadrature
a
peut être faite comme dans les sections précédentes autrement dit:
n
X
Qn (g) = g(xi ) ωi (5.3.1)
i=0

où les points d’intégration xi sont choisis d’avance et les poids sont données par
Z b
ωi = Li (x) ω(x)dx avec Li (x) les polynômes de Lagrange de degré n. Ces formules
a
sont dites de type interpolation et sont de l’ordre du nombre de ces points. En revenant,
en examinant l’expression générale des formules de quadrature, une question naturelle
est celle de savoir si on peut déterminer les points xi et les poids ωi de telle manière que
la formule soit d’ordre maximal. Ceci revient à

Trouver xi , ωi , i = 0, 1, . . . , n tel que









(5.3.2)

 X n Z b

 Qn (p) = p(xi ) ωi = p(x) ω(x) dx,


 G
 a
i=0

pour tout polynôme p de degré inférieur ou égal à m, avec m maximal. Ici ω(x) est une
fonction positive, intégrable, appelée fonction poids.
Pour résoudre ce problème, il y a au moins deux approches possible: l’approche
générale basée sur la résolution d’un système et l’approche basée sur la théorie des
polynômes orthogonaux. Avant d’aller plus loin on introduit cette définition.

Définition 5.3.1 On appelle quadrature de Gauss la formule


n
X Z b
QGn ( f ) = ωi f (xi ) ' f (x) dx (5.3.3)
i=0 a

où les points d’intégration xi et les poids ωi sont choisis de manière à ce que la formule soit
exacte pour les polynômes de degré ≤ 2n + 1.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


63

5.3.2 Approche générale


L’approche générale consiste à construire le système à l’aide des 2n + 2 premiers
polynômes de la base canonique 1, x, x2 , . . ., x2n+2 c’est-à -dire
n
X Z b
j
ωi x i = x j ω(x)dx, j = 0, 1, . . . , 2n + 2. (5.3.4)
i=0 a

En effet, sans chercher à faire davantage de calculs, on voit immédiatement qu’ayant


2n + 2 inconnues, il faut au moins 2n + 2 équations pour espérer atteindre l’ordre 2n + 1.
Cette approche est souvent utilisée pour les problèmes d’intégration classique, c’est-
à -dire pour lesquels ω(x) = 1. Dans ce cas les points xi et les poids ωi dépendent toujours
de l’intervalle [a, b] et de n. Pour supprimer la dépendance de l’intervalle [a, b], on
effectue un changement de variable en se ramenant à l’intervalle [−1, 1] en posant
(b − a)t + (a + b)
x= de sorte que
2
Z b
b − a 1 (b − a)t + (a + b) b−a 1
Z ! Z
f (x) dx = f dt = g(t) dt.
a 2 −1 2 2 −1

Il s’agira donc de déterminer les points ti ∈ [−1, 1] et les poids ωi de sorte que la
formule
Xn Z 1
ωi p(ti ) = p(t) dt
i=0 −1

soit exacte pour tout polynôme p de degré le plus élevé possible. Ce qui revient à
résoudre le système
n
X Z 1
j
ωi ti = ti dt j = 0, 1, . . . , 2n + 1. (5.3.5)
i=0 −1

On montre que les points ti sont les racines du polynôme de Legendre de degré n + 1,
Pn+1 (t). Reste à calculer les poids ωi . Nous y reviendrons.
La formule de quadrature de Gauss pour une fonction f définie sur l’intervalle [a, b]
est alors donnée par
n
(b − a)ti + (a + b)
!
b−aX
QGn ( f ) = ωi f . (5.3.6)
2 i=0 2

Exemple: Formule à un point d’intégration: n = 0

Z 1
ω0 p(t0 ) = p(t) dt.
−1
On a deux inconnues: ω0 et t0 . On aura donc besoin de deux équations, par conséquent
deux polynômes. Prenons p0 (t) = 1 et p1 (t) = t. Ainsi, on obtient le système
Z 1 Z 1
ω0 = dt = 2 ; ω0 t0 = t dt = 0,
−1 −1

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


64

dont la solution est: t0 = 0 et ω0 = 2. Ainsi, la formule de Gauss à un point donne

a+b a+b
! !
b−a
Q0 ( f ) =
G
.2. f = (b − a) f
2 2 2

correspond à la formule du point milieu.

Exemple: Formule à deux points d’intégration: n = 1

Z 1
ω0 p(t1 ) + ω1 p(t2 ) = p(t) dt.
−1

Quatre inconnues: t0 , t1 , ω0 et ω1 , avec t0 , t1 , ω1 , 0 et ω1 , 0, sinon c’est la formule à


un point. D’où, quatre polynômes: p0 (t) = 1, p1 (t) = t, p2 (t) = t2 et p3 (t) = t3 . On a donc
le système
Z 1
ω0 + ω1 = dt = 2
Z−11
ω0 t0 + ω1 t1 = t dt = 0
Z−11
2
ω0 t20 + ω1 t21 = t2 dt =
3
Z−11
ω0 t30 + ω1 t31 = t3 dt = 0
−1
√ √
dont la solution est: ω0 = ω1 = 1, t0 = 1/ 3 et t1 = −1/ 3.

5.3.3 Approche basée sur les polynômes orthogonaux


Avant d’aborder l’approche basée sur la théorie des polynômes orthogonaux, voici
quelques résultats qui seront utiles.
Soit ω(x) une fonction positive sur [a, b], on note
( Z b )
L2ω ([a, b]) := f mesurable | f (x)| ω(x) dx < ∞
2

La formule Z b
f (x) g(x) ω(x) dx

f |g ω :=
a

définit un produit scalaire pour deux fonctions quelconques f, g ∈ L2ω ([a, b]) qui fait
de L2ω ([a, b]) un espace de Hilbert. La norme associée à ce produit est donnée par

|| f ||2L2 := f | f .

ω
ω

Définition 5.3.2 On dit d’une suite (Pn (x))n≥0 finie ou infinie des polynômes que c’est une
suite des polynômes orthogonaux relativement au produit scalaire (. | .)ω si:

• pour chaque n, Pn (x) = λn xn + un polynôme de degré < n avec λn , 0;

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


65

• les Pn (x) sont orthogonaux c’est-à -dire

(Pn | Pm )ω = Cn δn m

où Cm est une constante strictement positive et δn m le symbole de Kronecker.

Proposition 5.3.3 Soit P0 (x), P1 (x), . . ., Pn est une suite finie des polynômes orthogonaux.
Alors tout polynôme P(x) de degré ≤ n peut s’écrire de manière unique comme
n
X (P | Pi )ω
P(x) = ai Pi (x) où ai = i = 0, 1, . . . n. (5.3.7)
i=0
||Pi ||2ω

Si P(x) est un polynôme de degré < n alors il est orthogonal à Pn (x) c’est-à -dire (P | Pn )ω = 0

Proposition 5.3.4 Pour n ≥ 1, on a

(i) le polynôme Pn (x) possède exactement n racines simples contenues dans l’intervalle ]a, b[,
c’est-à -dire Pn (x) = λn (x − x1 ) . . . (x − xn ),

(ii) les racines de Pn (x) séparent les racines de Pn+1 (x), c’est-à -dire

a < x1n+1 < xn1 < xn+1


2 < xn2 < . . . < xn+1
n < xnn < xn+1
n+1 < b

où xn1 , . . . , xnn sont les n racines de Pn (x).

Proposition 5.3.5 Soit ω(x) une fonction positive sur [a, b]. Alors, il existe une unique suite
de polynômes orthogonaux, relativement au produit scalaire (. | .)ω , qui satisfont la relation de
récurrence à trois termes

Pn+1 (x) = ∧n (x − αn ) Pn (x) − βn Pn−1 , , ∀n ≥ 0, (5.3.8)

λn (x Pn | Pn )ω ∧n ||Pn ||2ω
où ∧n = , αn = , n ≥ 0, β0 ∈ R, βn = , n ≥ 1 et
λn+1 ||Pn ||2ω ∧n−1 ||Pn−1 ||2ω
P−1 (x) = 0.

Voici quelques exemples de polynômes orthogonaux:

A. Polynômes de Legendre

Les polynômes de Legendre Pn (x) sont définis pour x ∈ [−1, 1] par la récurrence
suivante:

P0 (x) = 1, P−1 (x) = 0


et (n + 1) Pn+1 (x) = (2n + 1) x Pn (x) − n Pn−1 (x), n ≥ 0.

Cette suite de polynômes forme une famille orthogonale relativement à la fonction


poids ω(x) = 1 c’es-à -dire
Z 1
2
Pn (x) Pm (x) dx = δn m .
−1 2n + 1

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


66

B. Polynômes de Chebyshev

Rappelons que les polynômes de Chebyshev Tn (x) sont définis pour x ∈ [−1, 1] par

Tn (x) = cos(n arccos x), n≥0

qui satisfont la relation de récurrence

Tn+1 (x) = 2 x Tn (x) − Tn−1 (x).

Cette suite de polynôme constitue une famille orthogonale relativement à la fonction


de poids ω(x) = (1 − x2 )−1/2 , i.e.
Z 1
π si n = 0
(
Tn (x) Tm (x) (1 − x ) dx = ||Tn ||ω δn m , avec ||Tn ||ω =
2 −1/2 2 2
.
−1 π/2 si n > 0

C. Polynômes de Hermite

Les polynômes de Hermite Hn (x) sont définis pour x ∈ R par la récurrence suivante:

H0 (x) = 1, H−1 (x) = 0


et Hn+1 (x) = 2 x Hn (x) − 2 n Hn−1 (x), n ≥ 0.

Cette suite de polynômes forme une famille orthogonale relativement à la fonction


2
poids ω(x) = e−x c’es-à -dire
Z ∞
2 √
e−x Hn (x) Hm (x) dx = 2n n! π δn m .
−∞

Proposition 5.3.6 Soit (Pn (x))n≥0 une famille de polynômes orthogonaux relativement à la
fonction de poids ω(x) > 0 et soient x0 , . . . , xn les n + 1 racines Pn+1 (x). Alors la matrice de
Vadermonde
 P0 (x0 ) . . . P0 (xn ) 
 

A = 
 .. .. 
. .


Pn (x0 ) . . . Pn (xn )
 

est inversible.

Ci-dessous le résultat principal de cette section


Théorème 5.3.7 Soit (Pn (x))n≥0 une famille de polynômes orthogonaux relativement à la fonc-
tion de poids ω(x) > 0 et soient x0 , . . . , xn les n + 1 racines Pn+1 (x). Alors
Z b Xn Z b
(a) P(x) ω(x) dx = P(xi ) ωi , où ωi = Li (x) ω(x) dx, est exacte pour tout
a i=0 a
polynôme P(x) de degré ≤ 2n + 1;

(b) (ω0 . . . ωn )> ∈ Rn+1 est l’unique solution du système


n Z b
||P0 ||2ω si j = 0
X (
P j (xi ) yi = P j (x) ω(x) dx = (5.3.9)
a 0 si j = 1, . . . , n
i=0

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


67

(c) inversement, si xi et ωi , i = 0, . . . , n sont tels que la formule en (a) soit exacte pour tout
polynôme P(x) de degré ≤ 2n + 1 alors ils vérifient le système (5.3.9);

(d) il n’est pas possible de trouver des xi et ωi , i = 0, . . . , n, tels que la formule en (a) soient
exacte pour un polynôme de degré 2n + 2;

(e) pour une fonction f ∈ C2n+2 ([a, b], R), l’erreur de quadrature de Gauss est donnée par
b
f (2n+2) (η)
Z
EGn ( f ) = (π(x))2 ω(x) dx, (5.3.10)
(2n + 2)! a

n
Y
où π(x) = (x − xi ) et η ∈ [a, b].
i=0

Preuve:
1◦ ) La formule est d’abord exacte pour tout polynôme de degré ≤ n. En effet, soit
P(x) un polynôme de degré ≤ n. Il est donc égal à son polynôme d’interpolation de
Lagrange aux points x0 , . . . , xn racines de Pn+1 (x), c’est-à -dire
n
X Z b n
X
P(x) = P(xi )Li (x) =⇒ P(x) ω(x) dx = P(xi ) ωi .
i=0 a i=0

2◦ ) La formule est encore exacte pour tout polynôme de degré 2n + 1. En effet, si P(x)
est un tel polynôme alors il existe deux polynômes Q(x) et R(x) de degré ≤ n tel que

P(x) = Q(x)Pn+1 (x) + R(x).

Par conséquent, puisque les xi , i = 0, 1, . . . , n, sont les racines de Pn+1 (x), on a

P(xi ) = Q(xi ) Pn+1 (xi ) + R(xi ) = R(xi ).

Aussi, Q(x) état de degré ≤ n on a, d’après la Proposition 5.3.3:


Z b
Q(x) Pn+1 (x) ω(x) dx = 0.
a

D’où,
Z b Z b Z b n
X n
X
P(x) ω(x) dx = Q(x) Pn+1 (x) ω(x) dx + R(x) ω(x) dx = R(xi ) ωi = P(xi ) ωi
a a a i=0 i=0

car R(x) et de degré ≤ n. ce qui prouve (a).


3◦ ) (b) est une conséquence de (a) et de la Proposition 5.3.6.
4◦ ) Soit f (x) une fonction de classe C2n+2 et notons H(x) son unique polynôme d’interpolation
de Hermite aux points x0 , . . . , xn racines de Pn+1 (x). Il en découle, voir chapitre 4, qu’il
existe ξx ∈ [a, b] tel que
f (2n+2) (ξx )
f (x) = H(x) + (π(x))2
(2n + 2)!

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


68

n n n
Y 1 X X
où π(x) = (x − xi ) = Pn+1 (x) et H(x) = f (xi ) hi (x) + f (1) (xi ) h̃i (x),
i=0
αn+1
i=0 i=0
(1)

avec hi (x) = 1 − 2 Li (xi )(x − xi ) Li (x) et h̃i (x) = (x − xi ) Li (x)
2 2

On note aussi que


n
Y x − xj π(x) Pn+1 (x)
Li (x) = = = ,
j=0
xi − x j (x − xi ) π (xi ) (x − xi ) P(1) (xi )
(1)
n+1
j,i

de sorte que
Z b Z b
Pn+1 (x)
h̃i (x) ω(x) dx = Pn+1 (x) ω(x) dx = 0
a a (x − xi ) P(1) (x )
n+1 i

car Pn+1 (x) est orthogonal à tout polynôme de degré < n + 1 selon la Proposition 5.3.3;
Z b Z b
hi (x) ω(x) dx = L2i (x) ω(x) dx.
a a

Par suite,
Z b Z b b (2n+2) Z
f (ξx )
f (x) ω(x) dx = H(x) ω(x) dx + (π(x))2 ω(x) dx
a a a (2n + 2)!
n
X Z b
= f (xi ) L2i (x) ω(x) dx + EGn ( f ) (5.3.11)
i=0 a

où l’on l’on reconnaı̂t facilement l’erreur d’intégration


b b
f (2n+2) (ξx ) f (2n+2) (η)
Z Z
EGn ( f ) = (π(x))2 ω(x) dx = (π(x))2 ω(x) dx;
a (2n + 2)! (2n + 2)! a

en utilisant le théorème de la moyenne. D’où, (d) et (e). 

5.4 Dérivation numérique


La dérivée d’une fonction f au point x0 est définie par

f (x0 + h) − f (x0 )
f (1) (x0 ) ≡ f ‘(x0 ) = lim .
h→0 h
De cette formule on tire une approximation évidente de f (1) (x0 ) qui vaut

f (x0 + h) − f (x0 )
f˜(1) (x0 ) =
h
pour une valeur de h très petite. Malheureusement de cette approximation rien n’est
indiqué concernant l’erreur commise.
Pour ce faire on fait recourt encore une fois à l’interpolation afin d’estimer cette erreur
sur l’approximation de f 0 (x0 ). On suppose dans un premier temps que x0 ∈]a, b[, f est

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


69

de classe C 2 ([a, b]) et on prend h suffisamment petit de sorte que x1 = x0 + h ∈ [a, b].
On construit alors le polynôme d’interpolation de Lagrange de f aux points x0 et x1 :
f (2) (ξx )
f (x) = P1 (x) + (x − x0 )(x − x1 )
2!
f (x0 )(x − x0 − h) f (x0 + h)(x − x0 ) f (2) (ξx )
= + + (x − x0 )(x − x0 − h)
−h h 2!
où ξx ∈ [x0 , x1 ]. En dérivant les deux membres on obtient
f (x0 + h) − f (x0 ) 2(x − x0 ) − h (2) (x − x0 )(x − x0 − h) d (2)
f (1) (x) = + f (ξx ) + f (ξx ).
h 2 2 dx
Lorsque x = x0 on a d (2)
dx
f (ξx ) = 0, et la dérivée se réduit à
f (x0 + h) − f (x0 ) h (2)
f (1) (x0 ) = − f (ξ0 ). (5.4.1)
h 2
Pour obtenir une formule plus générale de la dérivation numérique d’une fonction f,
on va suppose que x0 , . . . , xn sont n + 1 différents points de l’intervalle [a, b] et que f
est de classe Cn+1 sur [a, b] de telle sorte que
n
X f (n+1) (ξx )
f (x) = f (xi )Li (x) + π(x),
i=
(n + 1)!

où ξx ∈ [a, b], Li (x) le polynôme de Lagrange au point xi et π(x) = (x − x0 ) . . . (x − xn ).


En dérivant, on obtient
n
X f (n+1) (ξx ) (1) π(x) d (n+1)
f (x) =
(1)
f (xi )L(1) (x) + π (x) + f (ξx ).
i=
i (n + 1)! (n + 1)! dx

En évaluant cette dérivée en l’un des points x j , on a d (n+1)


dx
f (ξx ) = 0. Par conséquent,
n n
X f (n+1) (ξ j ) Y
f (x j ) =
(1)
f (xi )L(1) (x j ) + (x j − xk ) (5.4.2)
i=
i (n + 1)! k=0
k,j

Cette formule devient très utile lorsque les points xi sont équidistants. Pour le cas de
trois points d’interpolation x0 , x1 , x2 , on montre que
2x − x1 − x2 2x − x0 − x2 2x − x0 − x1
L(1)
0
(x) = , L(1)
1
(x) = et L(1)
2
(x) = .
(x0 − x1 )(x0 − x1 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Ainsi,
2x j − x1 − x2 2x j − x0 − x2
f0(1) (x j ) = f (x0 ) + f (x1 )
(x0 − x1 )(x0 − x1 ) (x1 − x0 )(x1 − x2 )
2
2x j − x0 − x1 1 (3) Y
+ f (x2 ) + f (ξ j ) (x − xk ), j = 0, 1, 2.
(x2 − x0 )(x2 − x1 ) 6 k=0
k, j

En particulier si x1 = x0 + h et x2 = x0 + 2h pour un certain h , 0, on obtient


1   h2
f (1) (x0 ) = −3 f (x0 ) + 4 f (x0 + h) − f (x0 + 2h) + f (3) (ξ0 ),
2h 3

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


70

1   h2
f (1) (x0 + h) = − f (x0 ) + f (x0 + 2h) − f (3) (ξ1 ),
2h 3
1   h2
f (1) (x0 + 2h) = − f (x0 ) − 4 f (x0 + h) + 3 f (x0 + 2h) + f (3) (ξ2 ).
2h 3
0
D’où trois suivantes formules d’approximation de f (x0 ):

1  h2 (3)
f (1) (x0 ) = −3 f (x0 ) + 4 f (x0 + h) − f (x0 + 2h) +

f (ξ0 ), (5.4.3)
2h 3
1   h2
f (1) (x0 ) = − f (x0 − h) + f (x0 + h) − f (3) (ξ1 ), (5.4.4)
2h 3
1 h2 (3)
f (1) (x0 ) = − f (x0 − 2h) − 4 f (x0 − h) + 3 f (x0 ) +
 
f (ξ2 ). (5.4.5)
2h 3
On remarque que la dernière formule s’obtient à partir de la première en remplaçant h
par −h. La formule (5.4.4), appelée formule centrale, est utilisée lorsque x0 est le point
milieu de trois points tandis que les deux autres, appelées formules extrêmes, pour les
points extrêmes.

Exercices sur le chapitre


1. On considère l’intégrale
Z π
I( f ) = cos2 x dx = π/2.
0

On demande de concevoir un script MATLAB implémentant les formules com-


posites de trapèze et de Simpson qui permettent d’approximer I( f ). Le script doit
en outre permettre de remplir le tableau ci-après:

p QT(1) ( f ) ET(1) ( f ) QT(2) ( f ) ET(2) ( f )


2
8
16
32
64
128
256
512
1024

2. Déterminer les constantes a, b, c et d telle que la formule de quadrature


Z 1
p(x) dx = a p(−1) + b p(1) + c p0 (−1) + d p0 (1)
−1

soit exact pour tout polynôme de degré ≤ 3.


N.B.: N’utiliser que les méthodes numériques pour la résolution de ce problème.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


71

3. Déterminer les constantes a, b, c, d et e telle que la formule de quadrature


Z 1
p(x) dx = a p(−1) + b p(1) + b p(0) + c p(1) + d p0 (−1) + e p0 (1)
−1

soit exact pour tout polynôme de degré ≤ 4.

4. Utiliser la formule de quadrature de Gauss, n = 1, 2, 3, pour approximer chacune


des intégrales suivantes:
Z π/4 Z 1.5 Z 1 Z 0.35
2 2 2 −x 2
x sin x dx, x ln xdx, x e dx, dx,
0 1 0 0 x2 − 4
Z π/4 Z 1.6 Z 3.5 Z π/4
3x 2x x
e sin(2x)dx, 2
dx, √ dx, cos2 xdx.
0 1 x −4 3 x2 −4 0

5. Evaluer les intégrales ci-dessus par la formule de Simpson, ensuite par la formule
du point milieu et enfin par la formule de trapèze. Puis comparer les résultats.

6. Etablir la formule de quadrature permettant d’évaluer l’intégrale double suivant:


Z b Z b !
I2 ( f ) = f (x, y) dy dx.
a c

Donner l’erreur d’estimation.

7. Reprendre le problème précédent pour établir une formule de quadrature de


Gauss avec n = 4 dans les deux dimensions.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


Chapter 6

Systèmes différentiels

6.1 Introduction
Soit I = [a, b] un intervalle fermé de R et f : I × R −→ R, (t, x) 7→ f (t, x), une
application donnée. On suppose aussi que l’application y : R −→ R est différentiable.

Définition 6.1.1
On appelle équation différentielle ordinaire (EDO) du premier ordre, la relation

dy(t)
y0 (t) = = f (t, y(t)). (6.1.1)
dt
Une fonction φ(t) est dite solution de cette équation différentielle sur [a, b] si φ(t) satisfait
(6.1.1) pour tout t ∈ [a, b].

Remarques

1. Si y est une fonction du temps, il est d’usage d’appeler sa dérivée première


dy(t) d2 y(t)
y ≡ ẏ =
0
vitesse et sa dérivée seconde ÿ = accélération.
dt dt2
L’ensemble T = y(t) | a ≤ t ≤ b est appelée trajectoire.


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


 
y(n) = f t, y, . . . , y(n−1)

on peut la ramener à un système d’équations différentielles de premier ordre en


posant z = (z1 , z2 , . . . , zn ) et y = z1 on obtient le système:

= z2
 0


 z1
0
=



 z 2 z3
 .. ..



 . .
=

0
z zn


n−1


 z n = f (t, z1 , z2 , . . . , zn )

 0

6.2 Résolution numérique du problème de Cauchy


Définition 6.2.1

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


73

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


premier ordre à laquelle on adjoint la condition initiale y(a) = y0 où y0 est un nombre donné:
y (t) = f (t, y(t))
( 0
(6.2.1)
y(a) = y0 .
Théorème 6.2.2 Si f est une application définie et continue sur [a, b] × R, et Lipschitzienne
par rapport à y, alors le problème de Cauchy (6.2.1) admet une solution unique sur [a, b] et ceci
pour toute condition initiale y0 ∈ R.

Le théorème est en général faux sans la condition de Lipschitz.

Il existe plusieurs méthodes (schémas) numériques de résolution du problème de


Cauchy (6.2.1) dont le principe général consiste à subdiviser l’intervalle [a, b], en N sous
intervalles de longueur h = (b − a)/N = ti+1 − ti appelée pas de discrétisation. Dès lors si
on intègre l’EDO y0 (t) = f (t, y(t)) entre ti et ti+1 , on obtient
Z ti+1
y(ti+1 ) − y(ti ) = f (t, y(t)) dt. (6.2.2)
ti

Un schéma numérique fournira donc des approximations yi de y(ti ) pour i = 1, . . . , N.


L’ensemble des valeurs {y0 , y1 , . . . , yN } représente la solution numérique.
Les différents schémas d’intégration se distinguent par la manière d’obtenir ces yi ,
à partir d’une approximation de l’intégrale en (6.2.2).

6.2.1 Schémas d’Euler


Les schémas d’Euler sont les plus simples à construire:
Si on utilise la formule quadrature du rectangle à gauche pour approximer l’intégrale
dans (6.2.2), c’est-à -dire,
Z ti+1
f (t, y(t)) dt ' h f (ti , y(ti )),
ti

on obtient le schéma d’Euler progressive


= y(a) donné


 y0
.

(6.2.3)



i+1 = yi + h f (ti , yi ) i = 0, 1, . . . , N − 1

 y

Il s’agit du schéma d’Euler explicite.


Par contre, si on utilise la formule quadrature du rectangle à droite pour approximer
l’intégrale dans (6.2.2), c’est-à -dire,
Z ti+1
f (t, y(t)) dt ' h f (ti+1 , y(ti+1 )),
ti

on obtient le schéma d’Euler rétrograde


y0 = y(a) donné



.

(6.2.4)



 y − h f (t , y ) = y

i = 0, 1, . . . , N − 1
i+1 i+1 i+1 i

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


74

Il s’agit du schéma d’Euler implicite car il ne permet pas d’expliciter directement yi+1 en
fonction de yi lorsque la fonction f n’est pas triviale.

Exemple: Soit à résoudre l’équation différentielle

y0 (t) = y − t2 + 1, 0 ≤ t ≤ 2, y(0) = 0.5 et h = 0.5

Dans ce cas f (t, y) = y − t2 + 1. Par suite,

y0 = y(0) = 0.5
 
y1 = y0 + h y0 − (0.0)2 + 1 = 0.5 + 0.5(1.5) = 1.25
 
y2 = y1 + h y1 − (0.5)2 + 1 = 1.25 + 0.5(2.0) = 2.25
 
y3 = y2 + h y2 − (1.0)2 + 1 = 2.25 + 0.5(2.25) = 3.375
 
y(2) ≈ y4 = y3 + h y3 − (1.5)2 + 1 = 3.375 + 0.5(2.125) = 4.4375

Etude de l’erreur commise par la méthode d’Euler

Définition 6.2.3
Une méthode numérique approchant y(ti ) par yi telle que l’erreur ei = y(ti ) − yi vérifie

|ei | ≤ k hp , k ∈ R+∗ ,

est dite d’ordre p.

Théorème 6.2.4
Si f (t, y) est continue et Lipschitzienne de constant L sur le domaine

D = (t, y) | a ≤ t ≤ b et |y| < ∞




, et s’il existe une constante M tel que

|y00 (t)| ≤ M pour tout t ∈ [a, b],

alors l’erreur ei = y(ti ) − yi commise par le schémas d’Euler vérifie


 M
|ei | ≤ eL(ti −a) − 1 h, ∀i = 0, 1, . . . , N. (6.2.5)
2L
Ce résultat s’exprime sous la forme |ei | ≤ k h, c’est-à -dire que la méthode d’Euler est
d’ordre 1.

6.2.2 Schémas de Crank-Nicolson et de Heun


Si utilise la formule de trapèze pour approximer l’intégrale dans (6.2.2), c’es-t-à -dire
Z ti+1
h
f (ti , y(ti )) + f (ti+1 , y(ti+1 )) ,

f (t, y(t)) dt '
ti 2

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


75

on obtient le schéma de Crank-Nicolson

y0 = y(a) donné



.

(6.2.6)



 y − h f (t , y ) = y + h f (t , y ) i = 0, 1, . . . , N − 1

i+1 2 i+1 i+1 i 2 i i

Il s’agit d’un schéma implicite car il ne permet pas d’expliciter directement yi+1 en
fonction de yi lorsque la fonction f n’est pas triviale. En fait, ce schéma fait la moyenne
des schémas d’Euler progressif et rétrograde.
Pour éviter le calcul implicite de yi+1 dans le schéma du trapèze, nous pouvons
utiliser une prédiction d’Euler progressive et remplacer le yi+1 dans le terme f (ti+1 , yi+1 )
par yi+1 = yi + h f (ti , yi ). Obtient ainsi un nouveau schéma appelé schéma de Heun.

y0 = y(a) donné



ỹi+1 = yi + h f (ti , yi ) .

(6.2.7)



 y = y + h  f (t , y ) + f (t , ỹ )

i = 0, 1, . . . , N − 1
i+1 i 2 i i i+1 i+1

6.2.3 Schéma de Taylor d’ordre n


On suppose que la solution y(t) du problème de Cauchy (6.2.1) est de classe Cn+1 .
Son développement de Taylor à l’ordre n est

h2 00 hn hn+1 (n+1)
y(ti+1 ) = y(ti ) + hy0 (ti ) + y (ti ) + . . . + y(n) (ti ) + y (τi ), (6.2.8)
2! n! (n + 1)!

où τi ∈]ti , ti+1 [. Si f (t, y) est n fois continûment dérivable par rapport à t sur [a, b], on a

y0 (t) = f (t, y(t)), y00 (t) = f 0 (t, y(t)), . . . y(n) (t) = f (n−1) (t, y(t)), y(n+1) (t) = f (n) (t, y(t)).

Substituant ces valeurs dans (6.2.9), on obtient

h2 0 hn
y(ti+1 ) = y(ti ) + h f (ti , y(ti )) + f (ti , y(ti )) + . . . + f (n−1) (ti , y(ti ))
2! n!
hn+1 (n)
+ f (τi , y(τi )). (6.2.9)
(n + 1)!

En supprimant le terme en τi on obtient l’équation aux différences de Taylor.


Ainsi, le schémas de Taylor d’ordre n est donné par

= y(a) donné



 y0
(6.2.10)



i+1 = yi + hT (ti , yi ); i = 0, 1, . . . , N − 1

 y (n)

où
n−1
X hk
T (t, y) =
(n)
f (k) (t, y).
(k + 1)!
k=0

Soit à résoudre par le schémas de Taylor d’ordre 2 le problème de Cauchy suivant

y0 = y − t2 + 1, 0 ≤ t ≤ 2; y(0) = 0.5; N = 10.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


76

On a besoin de la dérivée première de f (t, y(t)) = y − t2 + 1 par rapport à t, c’est-a-dire

f 0 (t, y(t)) = y0 − 2t = y − t2 + 1 − 2t

car y0 = y − t2 + 1. Ainsi, on a le Schémas

y0 = y(0) = 0.5
" #
  h 
yi+1 = yi + h yi − ti + 1 +
2
yi − ti + 1 − 2ti
2
2
" ! #
h  
= yi + h 1 + yi − ti + 1 + h ti = 1.22yi − 0.0088i2 − 0.008i + 0.22.
2
2

car h = (2 − 0)/10 = 0.2, ti = h ti = 0.2i.

y(0.2) ≈ y1 = 1.22(0.5) − 0.0088(0.0)2 − 0.008(0) + 0.22 = 0.83


y(0.4) ≈ y2 = 1.22(83) − 0.0088(0.2)2 − 0.008(0.2) + 0.22 = 1.2158
etc.

Théorème 6.2.5
Si le schéma de Taylor est utilisé pour approcher la solution y(t) du problème de Cauchy (6.2.1),
alors l’erreur de troncature local est d’ordre n.

Remarques:
1◦ ) La méthode d’Euler correspond à celle de Taylor d’odre 1
2◦ ) La méthode de Taylor présente une difficulté non de moindre qui réside dans le
calcul des dérivées f (k) (t, y(t)), k = 1, 2, . . . , n, c’est pourquoi on préfère utilisé les
méthodes Runge-Kutta.

6.2.4 Schémas de Runge-Kutta


Les méthodes de Runge-Kutta sont d’ordre supérieure comme celle de Taylor, mais
ne contiennent pas des dérivées.
Rappelons en passant que le développement de Taylor à l’ordre n d’une fonction à
deux variables est

f (t, y) = Pn (t, y) + Rn (t, y)

où
n k
X 1 X  k ∂k f
Pn (t, y) = (t − t0 ) (y − y0 ) k−j j (t0 , y0 )
k−j j

k=0
k! j=0 j ∂t ∂y

est le polynôme de Taylor à deux variable de degré n et


n+1
1 X  ∂n+1 f
Rn (t, y) = n+1
(t − t0 )n+1−j
(y − y0 ) n+1−j j (τ, ξ)
j
(n + 1)! j=0 j ∂t ∂y

est le reste associé, avec t0 < τ < t et y0 < ξ < y.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


77

A. Schéma de Runge-Kutta d’odre 2

La première étape de construction d’une méthode de Runge-Kutta est de déterminer


des valeurs a1 , α1 et β1 tel que
h 0
T(2) (t, y) = f (t, y) + f (t, y) = a1 f (t + α1 , y + β1 ), (6.2.11)
2
avec le même ordre d’erreur de troncature que la méthode de Taylor d’ordre 2. Remar-
quer d’abord que
∂f ∂f ∂f ∂f
f 0 (t, y) = (t, y) + (t, y).y0 (t) = (t, y) + (t, y). f (t, y).
∂t ∂y ∂t ∂y
D’où
h 0 h ∂f h ∂f
f (t, y) + f (t, y) = f (t, y) + (t, y) + f (t, y) (t, y). (6.2.12)
2 2 ∂t 2 ∂y
D’autre part, en utilisant le développement de Taylor d’ordre 1, on obtient
∂f ∂f
a1 f (t + α1 , y + β1 ) = a1 f (t, y) + a1 α1 + a1 β1 + a1 R1 (t + α1 , y + β1 ) (6.2.13)
∂t ∂y
où
α21 ∂2 f ∂2 f β21 ∂2 f
R1 (t + α1 , y + β1 ) = (τ, ξ) + α β
1 1 (τ, ξ) + (τ, ξ),
2 ∂ t2 ∂ t∂ y 2 ∂ y2
avec t < τ < t + α1 et y < ξ < y + β1 .
En comparant les deuxièmes membres de (6.2.12) et (6.2.11), on conclut que a1 = 1,
h h
α1 = et β1 = f (t, y). Par conséquent,
2 2
h2 1 ∂2 f ∂2 f ( f (t, y))21 ∂2 f
! " #
h h
R1 t + , y + f (t, y) = (τ, ξ) + f (t, y) (τ, ξ) + (τ, ξ) .
2 2 4 2 ∂ t2 ∂ t∂ y 2 ∂ y2
Ainsi,
! !
h h h h
T (t, y) = f t + , y + f (t, y) − R1 t + , y + f (t, y)
(2)
(6.2.14)
2 2 2 2
On obtient ainsi, l’algorithme de Runge-Kutta d’ordre 2



 y0 = y(a) donné



(6.2.15)
 !
h h


 yi+1 = yi + h f ti + , yi + f (ti , yi ) ; i = 0, 1, . . . , N − 1.


2 2

Remarques
1◦ ) Le même résultat peut être obtenu en utilisant l’intégration numérique.
En effet, la méthode du point milieu appliquée au second membre partant de l’équation
y0 (t) = f (t, y(t)) donne
Z ti +h
y(ti + h) − y(ti ) = f (s, y(s)) ds
ti

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


78

= h f ti + h/2, y(ti + h/2)



!
h h
= h f ti + , y(ti ) + f ti , y(ti )

2 2
h h
où on a utilisé le fait que y(ti + h/2) ≈ y(ti ) + y0 (ti ) = y(ti ) + f ti , y(ti ) . D’où le résultat,

2 2
sachant que y(ti ) ≈ yi et y(ti + h) ≈ yi+1 .
2◦ ) Le calcul de yi+1 en (6.2.15) se fait selon l’algorithme ci-après

y = y(a) donné
 0






 Pour i = 0, 1, . . . , N − 1
k1 = f (ti , yi )



(6.2.16)

k2 = f (ti + h/2, yi + k1 .h/2)




yi+1 = yi + h.k2






 Fin de la boucle i

appelé schémas de Runge-Kutta à 2 étages.


3◦ ) Plus généralement, on définit le schémas de Runge-Kutta explicite à s étages de la
manière suivante:
y0 = y(a) donné




Pour i = 0, 1, . . . , N − 1




k1 = f (ti , yi )





k2 = f (ti + c2 h, yi + a2,1 h k1 )




. (6.2.17)




 ..

ks = f (ti + cs h, yi + h(as,1 k1 + . . . + as,s−1 ks−1 ))





yi+1 = yi + h (b1 k1 + b2 k2 + . . . + bs ks )





 Fin de la boucle i,

où les ci , ai,j et bi sont des paramètres réels. Cette technique à été introduite pour la
toute première fois par Karl Heun en 1900.

B. Schéma de Runge-Kutta d’odre 3

Le but du jeu serait de mettre T(3) de la méthode de Taylor sous la forme


T(3) (t, y) = f (t + α1 , y + δ1 f (t + α2 , y + δ2 f (t, y)))
avec une erreur d’ordre 3. Cette technique nécessite la détermination d’au moins quatre
paramètres. Celle-ci s’avère être un peu plus complexe. C’est pourquoi on recourt à la
technique de Heun à 3 étages qui donne
y = y(a) donné

 0






 Pour i = 0, 1, . . . , N − 1
k1 = f (ti , yi )




 !
h h


k2 = f ti + , yi + k1



3 3

(6.2.18)

 !
2h 2h


k3 = f ti + , yi + k2



3 3 




 1 3
yi+1 = yi + h k1 + k3






 4 4
 Fin de la boucle i.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


79

Cette méthode est moins connue car moins utilisée par rapport à celle d’ordre 4 qui
donne de bons résultats pour les problèmes de Cauchy.

C. Schéma de Runge-Kutta d’odre 4

y0 = y(a) donné



Pour i = 0, 1, . . . , N − 1





k1 = f (ti , yi )





 !
 h h
k2 = f ti + , yi + k1






 2 2 !
(6.2.19)

h h
k3 = f ti + , yi + k2






 2 2
k4 = f ti + h, yi + h k3

 



h

 
= + + + +


 y i+1 y i k1 2 k2 2 k3 k4
6




 Fin de la boucle i.

6.2.5 Résolution des systèmes différentiels


Soit à résoudre le système différentiel

y (t) = f (t, y, z)
( 0
(6.2.20)
z0 (t) = g(t, y, z)
avec les conditions initiales y(a) = y0 , z(a) = z0 données. L’application du schémas
d’Euler à ce système se fait composante par composante:

= y(a); z0 = z(a) donnés




 y0
yi+1 = yi + f (ti , yi , zi )




= z + g(t , y , z ) i = 0, 1, . . . , N.

 z
i+1 i i i i

Ceci peut s’appliquer à un système à n ≥ 2 équations différentielles du premier ordre


ou aux équations différentielles d’ordre n ≥ 2 à condition de les réduire au préalable à
des systèmes différentiels du premier ordre, comme vu précédemment.
L’application des autres méthodes, comme par exemple celle de Runge-Kutta,
s’avère être plus compliquée.

6.2.6 Consistance, stabilité et convergence des méthodes


Toutes les méthodes numériques ci-dessus sont toutes de la forme

= y(a) donné
(
y0
(6.2.21)
yi+1 = yi + h Φ ti , yi , h ,


où Φ est une application continue sur [a, b] × R × [0, b − a]. Elles sont encore appelées
méthode à un pas explicite ou encore méthodes à pas séparés.
Les notions théoriques que doit vérifier la fonction Φ afin que yi soit effectivement
une approximation de y(ti ) sont la consistance, la stabilité et la convergence.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


80

Définition 6.2.6
Une méthode à un pas est consistante avec le problème de Cauchy (5.4.1) si pour toute solution
y
1
y(ti+1 ) − y(ti ) − Φ ti , y(ti ), h = 0.
 
lim max
h→0 i=0,...,N h

La quantité
1
E(t, y(t), h) = y(t + h) − y(t) − Φ t, y(t), h
 
h
est appelé erreur de consistance au temps t.

Théorème 6.2.7 (Caractérisation de la consistance)


Une condition nécessaire et suffisante pour qu’une méthode à un pas soit consistante est que
Φ(t, u, 0) = f (t, u) pour tout t ∈ [a, b] et tout u ∈ R.

Définition 6.2.8
Soient yi et zi (i = 0, . . . , N) les solutions respectives de

= y(a) donné
(
y0
yi+1 = yi + h Φ ti , yi , h


et

= z(a) donné
(
z0
zi+1 = zi + h Φ (ti , zi , h) .

On dit que la méthode à pas séparés est stable s’il existe deux constantes positives K1 et K2
indépendants de h telles que

max |yi − zi | ≤ K1 |y0 − z0 + K2 max |ei |.


i=0,...,N i=0,...,N

Théorème 6.2.9
Si Φ est Lipschitzienne par rapport à la seconde variable pour h suffisamment petit, alors la
méthode à un pas converge.

Définition 6.2.10
On dit qu’une méthode à un pas converge si

lim max |y(ti ) − yi | = 0 pour tout y0 ∈ R.


h→0 i=0,...,N

Théorème 6.2.11
Si une méthode à un pas est stable et consistante alors elle converge.

6.3 Solutions numériques des P.V.Ls


Un autre type de problème qui concerne les EDOs est le problème aux valeurs
limites (P.V.L). Nous nous intéresserons aux P.V.L d’ordre 2.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


81

Définition 6.3.1
Un P.V.L. d’ordre 2 est un problème composé d’une équation différentielle du second ordre définie
sur un intervalle ]a, b[ et d’une condition en a et une autre en b:

u (t) = f (t, u, u0 ),
 00


 a ≤ t ≤ b
(6.3.1)



 u(a) = α,

u(b) = β

Le théorème suivant donne les conditions d’existence et d’unicité de solution pour


le P.V.L.

Théorème 6.3.2
Si f est continue sur l’ensemble D = {(t, u, u0 ) ; a ≤ t ≤ b, |u| < ∞, et ku0 | < ∞} ;
et si les dérivées partielles fu et fu0 sont encore continues sur D. Si de plus

(i) fu (t, u, u0 ) > 0 pour tout (t, u, u0 ) ∈ D, et

(ii) il existe une constante C > 0 telle fu0 (t, u, u0 ) ≤ C que pour tout (t, u, u0 ) ∈ D,

alors le P.V.L. (6.3.1) admet une solution unique.

Définition 6.3.3
Un P.V.L. est dit linéaire s’il peut se mettre sous la forme

−u00 (t) + p(t)u0 (t) + q(t)u(t) = g(t), a ≤ t ≤ b,






(6.3.2)



 u(a) = α,

u(b) = β.

Sinon, il sera dit non linéaire.

Le résultat suivant est une conséquence du théorème précédent.

Corollaire 6.3.4
Si les conditions suivantes sont satisfaites:

(i) p(t), q(t) et g(t) sont continues sur [a, b],

(ii) q(t) > 0 pour tout t ∈ [a, b],

alors le P.V.L. linéaire (6.3.2) admet une solution unique.

6.3.1 Méthode des différences finies pour P.V.L linéaires


On cherche une approximation de la fonction u, solution du P.V.L linéaire (6.3.2).
Les dérivées u0 et u00 sont approximées par leurs différences finies.
On suppose que g est de classe C2 , ce qui entraı̂ne u est de classe C4 . On se donne un
entier N ≥ 1, on pose h = (b − a)/(N + 1) et on définie les points:

t0 = a, t1 = t0 + h . . . , ti = t0 + i h . . . , tN+1 = b.

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


82

Pour un point quelconque ti (1 ≤ i ≤ N ) à l’intérieur de l’intervalle ]a, b[, on écrit les


développements de Taylor:
h2 00 h3 h4
u(ti+1 ) = u(ti ) + hu0 (ti ) + u (ti ) + u(3) (ti ) + u(4) (ξ+i ),
2 6 24
où ti < ξ+i < ti+1 ; et
h2 00 h3 (3) h4 (4) −
u(ti−1 ) = u(ti ) − hu (ti ) + u (ti ) − u (ti ) + u (ξi ),
0
2 6 24
où ti−1 < ξi < ti+1 .

En additionnant membres à membres les deux dernières égalités et en tirant u00 (ti ),
obtient
1 h2
u00 (ti ) = 2 [u(ti−1 ) − 2u(ti ) + u(ti−1 )] − [u(4) (ξ−i ) + u(4) (ξ+i )].
h 24
On applique le théorème des valeurs intermédiaires pour trouver ξi ∈ [ti−1 , ti+1 ] telle
que
1 h2 (4)
[u(ti+1 ) −u00 (ti ) =
2u(ti ) + u(ti−1 )] − u (ξi ) (6.3.3)
h2 12
qui est appelé la formule centrale des différences approximant la dérivée seconde u00 (ti ).
La formule centrale de différence approximant la dérivée première a déjà été calculée
au chapitre précédent:
1 h2
u0 (ti ) = [u(ti+1 ) − u(ti−1 )] − u(3) (ηi ), ηi ∈]ti−1 , ti+1 [. (6.3.4)
2h 6
Puisque u est solution du P.V.I (6.3.2), on néglige les termes d’odre o(h2 ) pour obtenir
1 1
− 2
[u(ti+1 ) − 2u(ti ) + u(ti−1 )] + p(ti )[u(ti+1 ) − u(ti−1 )] + q(ti ) u(ti ) = g(ti )
h 2h
ou encore
! !
h   h
− 1 + p(ti ) u(ti−1 ) + 2 + h q(ti ) u(ti ) − 1 − p(ti ) u(ti+1 ) = h2 g(ti ).
2
(6.3.5)
2 2
On cherche donc des approximations ui de u(ti ), ( i = 1, . . . , N ) telle que
! !
h   h
− 1 + p(ti ) ui−1 + 2 + h2 q(ti ) ui − 1 − p(ti ) ui+1 = h2 g(ti ), (6.3.6)
2 2
avec u0 = u(t0 ) = α et uN+1 = u(tN+1 ) = β. Ceci revient à résoudre le système linéaire
Au = b (6.3.7)
où
λ1 µ1 ... ...
 
 0 0  
 u1
 
b1

.. ..
    
ν2 λ2 µ2 . .
 2
 u2  h g(t2 )
    
   
. .. .. .. ..  .. ..
   
0 ..
 
. . . .  . .
    
A =  u =  . et b = 
    
.. . .  ; ..
... ... ...
  
 . . 0

  .. 
  .


 
.. ..
   
 u  h2 g(t )
. νN−1 λN−1 µN−1

.
 



  N−1   N−1 
uN bN
   
... ... νN λN

0 0

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


83

avec λi = 2 + h2 p(ti );  νi = −1 − h2 p(ti ); µi = −1 + 2h p(ti ); 


b1 = 1 + h2 p(t1 ) α + h2 g(t1 ) et bN = 1 − 2h p(tN )β + h2 g(tN )
On peut alors reconstruire une approximation uh (t) de u(t) sur [a, b] de la manière
suivante:
u0 = α t ∈ [a, a + h/2[








uh (t) =  t ∈ [ti − h/2, ti + h/2[, i = 0, . . . , N

ui (6.3.8)







 u = β t ∈ [b − h/2, b]

N+1

L’erreur de discrétisation est dans ce cas


Z b !1/2
2
εh = uh (t) − u(t) dt .
a

6.3.2 Méthode des différences finies pour P.V.L non-linéaires


Si l’on suppose que la solution u du P.V.L (6.3.1) possède des dérivées première et
seconde bornées, on a alors
u00 (ti ) = f (ti , u(ti ), u0 (ti )) , i = 0, 1, . . . , N + 1.
En utilisant les différences finies en (6.3.1) et (6.3.2), ceci peut encore s’écrire
u(ti+1 ) − 2u(ti ) + u(ti−1 )
!
u(ti+1 ) − u(ti−1 ) h2 (3) h2 (4)
= f ti , u(x i ), − u (ηi ) + u (ξi ), (6.3.9)
h2 2h 6 6
où ηi , ξi ∈]ti−1 , ti+1 [.
En posant ui l’approximation correspondant à u(ti ) pour i = 1, . . . , N + 1, on en déduit
les équations aux différences
ui+1 − 2ui + ui−1 ui+1 − ui−1
 
= f ti , u i , , i = 1, . . . , N + 1;
h2 2h
ou encore
ui+1 − ui−1
 
− ui+1 + 2ui − ui−1 + h f ti , ui ,
2
= 0, i = 1, . . . , N + 1. (6.3.10)
2h
Tenant compte des conditions aux limites u0 = α et uN+1 = β, on obtient le système non
linéaire suivant
u2 − α
  
2u − u + h 2
f t , u , −α=0


 1 2 1 1



 2h



u3 − u1

  
−u + 2u − u + h 2
f t , u , =0


 1 2 3 2 2

 2h
..


 .




.. (6.3.11)
.




uN − uN−2

  
−uN−2 + 2uN−1 − uN + h f tN−1 , uN−1 , 2
=0



2h







β − uN−1

 !

 −uN−1 + 2uN + h f tN , uN , − β = 0.
2




2h

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


84

On montre que ce système admet une solution unique si on choisit le pas h tel que
h < 2/C. On peut alors appliquer une des méthodes vues au quatrième chapitre ,
notamment celle de Newton généralisée, pour déterminer la solution.
Il est évident que cette méthode est d’ordre 2.

6.4 Solutions numériques des EDPs


6.4.1 Généralités
Les équations aux dérivées partielles (EPDs) concernent, en général, les fonctions
à plusieurs variables, mais nous nous limiterons à celles de deux variables. L’ordre
d’une EDP est l’odre le plus élevé de l’une de ses dérivées partielles. Dans ce qui suit
nous ne traiterons que les PDEs d’odre inférieur ou égal à 2.
Nous utiliserons les notations suivantes
∂u ∂u ∂2 u ∂2 u ∂2 u
ux = , uy = , uxy = , uxx = , u yy = .
∂x ∂y ∂y∂x ∂x2 ∂y2

Définition 6.4.1
Une EDP du second ordre est généralement de la forme

A uxx + B u yy + C uxy = F(x, y, u, ux , u y ), (6.4.1)

où A = A(x, y), B = B(x, y) et C = C(x, y).


• Si AC − B2 > 0 alors l’EDP est dite elliptique;
• Si AC − B2 = 0 alors l’EDP est dite parabolique;
• Si AC − B2 < 0 alors l’EDP est dite hyperbolique.

Un exemple d’ EDP elliptique est l’équation de Poisson

1
∇2 u(x, y) ≡ uxx + u yy = − ρ(x, y), (6.4.2)
ε
où u(x, y) représente le potentiel électrique au point des cordonnées (x, y) d’une surface
plane D de bord ∂D, ε la permittivité du milieu, qu’on peut supposée constante, et
ρ(x, y) la densité de la charge en ce point; avec la condition de bord

u(x, y) = g(x, y) pour (x, y) ∈ ∂D.

Un exemple d’EDP parabolique est l’équation de la chaleur (ou de diffusion)

α2 uxx = ut (t, x) − f (x), t ≥ 0, a ≤ x ≤ b (6.4.3)

où u(t, x) représente la température au point x et à l’instant t d’un fil de fer de section
constante de longueur b − a et f (x) un certain apport d’énergie externe. Les conditions
typiques de bord sont données par

u(t, a) = 0, u(t, b) = 0 ∀ t > 0;

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


85

tandis que la condition initiale est généralement de la forme

u(0, x) = g(x) pour a ≤ x ≤ b.

Un exemple d’EDP hyperbolique est l’équation d’onde

α2 uxx − utt = 0, t > 0, a ≤ x ≤ b, (6.4.4)

donnant le déplacement vertical u(x, t) d’un point x à l’instant t d’une corde élastique
fine dont les bouts sont maintenus fixes. Ce système est caractérisé par les conditions
au bord
u(a, t) = 0, u(b, t) = 0, ∀t > 0,
spécifiant le fait que les deux bouts de la corde sont fixés, par les conditions initiales

∂u
u(x, 0) = f (x), (x, 0) = g(x) pour a ≤ x ≤ b,
∂t
qui décrivent respectivement le déplacement initial et la vitesse de la corde.

6.4.2 Résolution des EDPs par la méthode des différences finies


Considérons, par exemple, le problème elliptique

1

 ∇2 u(x, y) ≡ uxx + u yy = − ρ(x, y), (x, y) ∈ D,


 ε (6.4.5)
 u(x, y) = g(x, y) pour (x, y) ∈ ∂D,

où D = (x, y) | a ≤ x ≤ b, c ≤ y ≤ d avec ρ et g continues dans leurs domaines respec-




tifs.
Nous utilisons la méthode de différences finies pour trouver une approximation
de la solution. Pour cela on se donne deux entiers N et M et on définit les pas de
discrétisations h = (b − a)/N et k = (d − c)/M. Ce qui revient à diviser l’intervalle [a, b]
en N parties de taille h et [c, d] en M parties de taille k; ou encore à placer une grille sur
la surface D en traçant des lignes verticales et horizontales aux points des cordonnées
(xi , yi ), avec

xi = a + i h, i = 0, 1, . . . , N et y j = a + j k, j = 0, 1, . . . , M.

Les lignes x = xi et y = y j sont appelées les lignes de la grille et leurs intersections les
points de grillage.
Pour chaque point de grillage intérieur de la grille c’est-à -dire (xi , y j ), i = 0, 1, . . . , N − 1
et j = 0, 1, . . . , M − 1 on a les formules de différences finies centrées

∂2 u u(xi+1 , y j ) − 2u(xi , y j ) + u(xi−1 , y j ) h2 ∂4 V


(x i , y j ) = − (ξi , y j ),
∂x2 h2 12 ∂x4
où ξi ∈ [xi−1 , xi+1 ] et

∂2 u u(xi , y j+1 ) − 2u(xi , y j ) + u(xi , y j−1 ) k2 ∂4 u


(xi , y j ) = − (xi , η j ),
∂y2 k2 12 ∂y4

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


86

où η j ∈ [y j−1 , y j+1 ]. En introduisant ces approximations dans l’équation de Poisson, on


obtient
u(xi+1 , y j ) − 2u(xi , y j ) + u(xi−1 , y j ) u(xi , y j+1 ) − 2u(xi , y j ) + u(xi , y j−1 ) ρ(x j , y j )
+ = −
h2 k2 ε
h 2 ∂4 u k 2 ∂4 u
+ (ξi , y j ) + (xi , η j ), (6.4.6)
12 ∂x4 12 ∂y4

pour i = 1, . . . , N − 1 et j = 1, . . . , M − 1; avec les conditions de bord données par

u(a, y j ) = g(a, y j ) et u(b, y j ) = g(b, y j ) pour j = 0, 1, . . . , M;

u(xi , c) = g(xi , c) et u(xi , d) = g(xi , d) pour i = 1, . . . , N − 1.


Pour chaque couple (i, j) on cherche une approximation ui j de u(xi , x j ) tel que

ui+1 j − 2ui j + ui−1 j ui j+1 − 2ui j + ui j−1 ρ(x j , y j )


+ =−
h 2 k 2 ε
ou encore
!
h2   h2  
2 1 + 2 ui j − ui+1 j + ui−1 j − 2 ui j+1 − 2ui j + ui j−1 = h2 ρ(xi , x j ), (6.4.7)
k k

pour i = 1, . . . , N − 1 et j = 1, . . . , M − 1, et

u0 j = g(a, y j ) et uN j = g(b, y j ) pour j = 0, 1, . . . , M;

ui 0 = g(xi , c) et ui M = g(xi , d) pour i = 1, . . . , N − 1.


Ceci nous donne un système linéaire de (N − 1)(M − 1) équations à (N − 1)(M − 1)
inconnues ui j avec i = 1, . . . , N − 1 et j = 1, . . . , M − 1, que l’on résout généralement par
les méthodes itératives vues au troisième chapitre.
Notons en passant que l’erreur de troncature locale est de l’odre de O(h2 + k2 ).

Exercices sur le chapitre


1. Utiliser la méthode d’Euler pour résoudre les PVIs suivants:

(a) y0 = et−y , 0 ≤ t ≤ 1, y(0) = 1 avec le pas h = 0.5.


t
(b) y0 − 2y = 1 ≤ t ≤ 2, y(0) = 1 avec le pas h = 0.1.
1 + y2
q
(c) y = y + t2 + y2 , 2 ≤ t ≤ 3, y(2) = 1 avec le pas h = 0.05.
0

2 3
(d) y0 + = 3 + 1, 1 ≤ t ≤ 2, y(1) = 1 avec h = 0.1.
t t
2t et
(e) y0 + y = , 0 ≤ t ≤ 2, y(0) = 1 ave le pas h = 0.1.
1 + t2 (1 + t2 )2
2
(f) ty0 + (1 + t)y = et , 1 ≤ t ≤ 1.5, y(1) = 2 avec le pas h = 0.05

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


87

2. Utiliser la méthode de Runge-Kutta d’ordre 2 pour résoudre les PVIs de la ques-


tion précédente et comparez les deux résultats pour chaque problème.

3. On donne le PVL u00 = 4(u − t), 0 ≤ t ≤ 1, u(0) = 0, u(1) = 2.

(a) Montrer que ce PVL admet une solution unique que l’on déterminera.
(b) Donner une approximation de cette solution en utilisant le pas de discrétisation
h = 0.25.
N.B.: Utiliser si possible un script MATLAB pour trouver l’approximation

4. Mêmes questions pour les PVLs suivants:

(a) u00 = u0 + 2u + 2t + 3, 0 ≤ t ≤ 1, u(0) = 2, u(π/2) = 1 avec h = 0.1.


(b) u00 = u0 +2u+cos t, 0 ≤ t ≤ π/2, u(0) = −0.3, u(π/2) = −0.1 avec h = π/4.
(c) u00 + e−tu + sin u0 = 0, u(1) = u(2) = 0 avec h = 0.5.
(d) u00 = 2u0 − u + t et − t 0 ≤ t ≤ 2 u(0) = 0, u(2) = −4 avec h = 0.5

5. On considère le PVI ci-après

u0 = 998u + 1999v
v0 = −999u + 1999v.

(a) Montrer que la solution exacte de ce système est donnée par

u(t) = 4e−t − 3e−1000t


v(t) = −2e−t + 3e−1000t

avec u(0) = v(0) = 1.


(b) Donner une solution approchée de ce problème pour 0 ≤ t ≤ 1 avec h = 0.25
en la méthode d’Euler.
(c) Même question en utilisant la méthode de Runge-Kutta d’ordre 2.
(d) Ecrire un script MATLAB permettant de représenter les solutions exacte et
approchée sur un même graphique.

6. Les EDPs suivantes sont du type elliptique, parabolique ou hyperbolique?

(a) 3uxx + 5uxy + u yy = x + y


(b) uxx − uxy + 2u yy = ux + u
(c) yuxx + u yy = 0
(d) y2 uxx − 2xyuxy + x2 u yy = 0
(e) 4x2 uxx + u yy = u.

7. Résoudre les EDPs suivantes par la méthode des différences finies

(a) uxx + u yy = 4, 0 < x < 1, 0<y<2

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017


88

u(x, 0) = x2 , u(x, 2) = (x − 2)2 , 0≤x≤1


u(0, y) = y2 , u(1, y) = (y − 1)2 , 0≤y≤2
avec h = k = 0.5; puis comparer le résultat obtenu avec la solution exacte
u(x, y) = (x − y)2 .
(b) uxx + u yy = 0, 1 < x < 2, 0<y<1
u(x, 0) = 2 ln 2, u(x, 1) = ln(x2 + 1)2 , 1≤x≤2
u(1, y) = ln(y2 + 1), u(2, y) = ln(y1 + 2), 0≤y≤1
avec h = k = 0.25; puis comparer le résultat obtenu avec la solution exacte
u(x, y) = ln(x2 + y2 ).
(c) u y − uxx = 0, 0 < x < 2, 0<y<1
u(x, 0) = sin(πx/2), 0≤x≤2
u(0, y) = u(2, y) = 0, 0≤y
avec N = 4, M = 2; puis comparer le résultat obtenu avec la solution exacte
u(x, y) = e−(π /4)y sin(πx/2) au point y = 1.0.
2

(d) u y − uxx = 0, 0 < x < 1, 0<y<1


u(x, 0) = sin(πx), 0≤x≤1
u(0, y) = u(1, y) = 0, 0≤y
u y (x, 0) = 0, 0≤x≤1
avec N = 4, M = 4; puis comparer le résultat obtenu avec la solution exacte
u(x, y) = cos(πy) sin(πx) au point y = 0.1.
(e) u y − 1
u
16π2 xx
= 0, 0 < x < 0.5, 0 < y < 0.5
u(x, 0) = 0, 0 ≤ x ≤ 0.5
u(0, y) = u(0.5, y) = 0, 0≤y
u y (x, 0) = sin(4πx), 0 ≤ x ≤ 0.5
avec N = 4, M = 4; puis comparer le résultat obtenu avec la solution exacte
u(x, y) = cos(πy) sin(4πx) au point y = 0.5.
(f) uxx + u yy = (x2 + y2 )exy , 0 < x < 2, 0<y<1
u(x, 0) = 1, u(x, 1) = ex , 0≤x≤2
u(0, y) = 1, u(2, y) = e2y , 0≤y≤1
avec h = 0.2, k = 0.1; puis comparer le résultat obtenu avec la solution exacte
u(x, y) = exy .
y
(g) uxx + u yy = x
y
+ x, 1 < x < 2, 1<y<2
u(x, 1) = x ln x, u(x, 2) = x ln(4x2 ), 1≤x≤2
u(1, y) = y ln y, u(2, y) = 2 ln(2y), 1≤y≤2
avec h = k = 0.1; puis comparer le résultat obtenu avec la solution exacte
u(x, y) = xy ln(xy).

Méthodes Numériques: Notes de cours G3 Info Dr J.D. Bukweli ©Unikin 2017

Vous aimerez peut-être aussi