Vous êtes sur la page 1sur 69

1

Université Hassan II de Casablanca

ole Nationale Supérieure d'ectricité et de Mécanique

Documents Pédagogiques : Polycopié d'Analyse


Numérique

1ère Année : Filière Génie Industriel: GI

Annniversitaire 2020 - 2021

Pr Hamid El Ouardi

Email : h.elouardi@ensem.ac.ma
2
Table des matières

1 Equations non linéaires 5


1.1 Exemples et motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Exemple 1 : Equation d’état d’un gaz . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Exemple 2 : problème financier . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.3 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 L’algorithme de dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Convergence de l’algorithme de dichotomie . . . . . . . . . . . . . . . . . 7
1.3 Méthodes des approximations successives . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Définiton et hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Convergence de la méthode des approximations successives . . . . . . . . 7
1.3.3 Critère d’arrêt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Méthode de la sécante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 Convergence de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Méthode de Newton - Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1 Convergence de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Comparaison des algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7 Sytèmes Non Linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.8 Travaux Dirigés (correction en classe) . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Interpolation Polynômiale 13
2.1 Exemples et motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Interpolation polynômiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Interpolation polynômiale : existence et unicité . . . . . . . . . . . . . . . . 14
2.2.2 Erreur d’interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3 Représentation des interpolations de type Lagrange . . . . . . . . . . . . . 16
2.2.4 Représentation des interpolations de type Newton . . . . . . . . . . . . . 18
2.3 Travaux Dirigés (correction en classe) . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Intégration Numérique 23
3.1 Exemples et motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Quelques méthodes d’intégrations numériques . . . . . . . . . . . . . . . . . . . . 24
3.2.1 Méthode des rectangles et Analyse de l’erreur . . . . . . . . . . . . . . . . 25
3.2.2 Méthode des trapèzes et Analyse de l’erreur . . . . . . . . . . . . . . . . . 26
3.2.3 Méthode de Simpson et Analyse de l’erreur . . . . . . . . . . . . . . . . . . 28
3.3 Travaux Dirigés (correction en classe) . . . . . . . . . . . . . . . . . . . . . . . . . 30

3
4 TABLE DES MATIÈRES

4 Equations différentielles 33
4.1 Exemples et motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 Problème d’existence et d’unicité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.1 Existence de la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.2 Généralisations aux systèmes du 1er ordre . . . . . . . . . . . . . . . . . . 36
4.4 Méthodes numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4.1 Méthode d’Euler - Cauchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4.2 Erreur de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4.3 Algorithme (Euler) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 Les schémas à un pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.5.1 Notion d’ordre d’une méthode . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5.2 Construction d’un schéma d’ordre p . . . . . . . . . . . . . . . . . . . . . . 40
4.5.3 Schémas de Runge - Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.5.4 Algorithme (RK2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5.5 Algorithme (RK4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5.6 Cas des systèmes différentielles d’ordre 1 . . . . . . . . . . . . . . . . . . . 43
4.6 Travaux Dirigés (correction en classe) . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 Résolution numérique des systèmes linéaires 47

I Méthodes Directes 49
5.1 Exemple de motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3 Méthode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.3.1 Définitions et premiers exemples . . . . . . . . . . . . . . . . . . . . . . . . 53
5.3.2 Première phase (élimination) . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.3.3 Deuxième phase (remontée) . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.3.4 Algorithme de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.3.5 Le coût (nombres d’opérations) . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.3.6 Systèmes à structure particulière . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4 Méthode de Choleski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

II Méthodes Indirectes 61
5.5 Principe des méthodes indirectes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.6 Les techniques itératives classiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.6.1 Méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.6.2 Méthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.6.3 Les techniques de sur-relaxation et de sous relaxation . . . . . . . . . . . . 65
5.7 Travaux Dirigés (correction en classe) . . . . . . . . . . . . . . . . . . . . . . . . . 69
Chapitre 1

Equations non linéaires

Contents
1.1 Exemples et motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Exemple 1 : Equation d’état d’un gaz . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Exemple 2 : problème financier . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.3 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 L’algorithme de dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Convergence de l’algorithme de dichotomie . . . . . . . . . . . . . . . . 7
1.3 Méthodes des approximations successives . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Définiton et hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Convergence de la méthode des approximations successives . . . . . . . 7
1.3.3 Critère d’arrêt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Méthode de la sécante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 Convergence de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Méthode de Newton - Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1 Convergence de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Comparaison des algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7 Sytèmes Non Linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.8 Travaux Dirigés (correction en classe) . . . . . . . . . . . . . . . . . . . . . . . . 10

1.1 Exemples et motivations


1.1.1 Exemple 1 : Equation d’état d’un gaz
On veut déterminer le volume V occupé par un gaz de température T et de pression p. L’équa-
tion d’état est "  2 #
N
p+a (V − Nb) = kNT,
V

où a et b sont deux coefficients dépendants de la nature du gaz, N est le nombre de molécules


contenues dans le volume V et k est la constante de Boltzmann. Il faut donc résoudre une

5
6 CHAPITRE 1. EQUATIONS NON LINÉAIRES

équation non linéaire d’inconnue V : chercher V solution de


"  2 #
N
f (V ) = p + a (V − Nb) − kNT,
V

Pour le dioxyde de Carbone CO2 , a = 0.401 Pa m3 , b = 42.7 × 10−6 m3 , N = 1000, T =


300K, p = 3.5 × 107 Pa , k = 1.3806503 × 10−23 JK −1 est la constante de Boltzmann.

1.1.2 Exemple 2 : problème financier


On veut chercher le taux de placement moyen d’un taux t d’un fond de placement sur plu-
sieurs années. On a investi chaque année une somme a = 1000 dhs et on se retrouve aprés 7
ans avec un montant A = 6500 dhs. La relation qui lie t, a, A est

7
1+t h i 1+t h i
A = a ∑ ( 1 + t )i = a (1 + t)7 − 1 : f (t) = A − a (1 + t)7 − 1 = 0,
i =1
t t

c’est une équation non linéaire, dont on est incapable de trouver une solution exacte.

1.1.3 Position du problème


Soit une fonction numérique d’une variable réelle x, on recherche les nombres α s’ils existent,
tels que f (α ) = 0; on les appellera solutions de f ( x) = 0 ou encore zéros de f . Le problème
posé est de discuter l’existence, voire l’unicité des solutions de l’équation f ( x) et de donner
des procédés permettant d’obtenir la ou les valeurs de α.
Nous constaterons que les algorithmes permettant d’obtenir les solutions de α, du moins des
approximations numériques de α peuvent dépendre des propriétés de régularité de f . Il est
naturel alors d’etudier les performances (convergence, efficacité, souplesse d’utilisation) des
algorithmes pour diverses classes de fonctions. Le cadre sera souvent le suivant : on se donne
à priori α ∈ R et un voisinage V de α. On considère les fonctions de C p (V ), p ≥ 0. On deman-
dera des conditions suffisantes sinon nécésaires pour que f ∈ C p (V ) possède :
- au moins une solution dans V (existence).
- au plus une solution dans V (unicité).
On construit alors des algorithmes pour obtenir la solution α et on étudie la convergence, la
précision et l’efficacité.

1.2 L’algorithme de dichotomie


Soient x1 , x2 , ..........., xn les n racines réelles d’une équation f ( x) = 0, rangées dans l’ordre
croissant. Séparer les racines de l’équation c’est trouver (n − 1) nombres a1 , a2 , ............, an−1
tels que l’on ait : x1 < a1 < x2 < a2 ........... < an−1 < xn . Si l’on connait les zéros de f 0 ( x),
le théorème de Rolle permet de séparer les racines de l’équation f ( x) = 0. En pratique, cette
éventualité est rarement utilisée et l’on réduit à transposer dans le domaine du calcul le pro-
cédé graphique consistant à tracer la courbe y = f ( x) et à évaluer les intersections avec l’axe
des x.
Soit alors α une racine de f ( x) = 0 comprise dans [ a, b], a et b tels que f ( a) f (b) < 0.
Soit x0 = a+2 b , on calcule f ( x0 ),
si f ( x0 ) f ( a) < 0 ⇒ on pose a1 = a, b1 = x0 ,
1.3. MÉTHODES DES APPROXIMATIONS SUCCESSIVES 7

si f ( x0 ) f (b) < 0 ⇒ on pose a1 = x0 , b1 = b,


si f ( x0 ) = 0 ⇒ x0 est racine.
On a obtenu un intervalle ( a1 , b1 ) de longueur moitié de ( a, b) et comprenant la racine α. On
recommence avec cet intervalle comme on a opéré avec le pécédent et ainsi de suite jusqu’à
obtenir un intervalle de la longueur désirée contenant la racine α.

1.2.1 Convergence de l’algorithme de dichotomie


Soit ( an , bn ) le segment obtenu à la neme étape, on a : an ≤ α ≤ bn avec bn − an = b2−n a et
f ( an ) f (bn ) < 0. Il vient donc lim an = lim bn = α et par continuité de f , on a lim f ( an ) =
n→+∞ n→+∞ n→+∞
lim f (bn ) = f (α ) . D’où f (α ) = 0.
n→+∞
|b− a|
La rapidité de convergence de l’algorithme est donnée par : | an − α | ≤ 2n ou |bn − α | ≤
|b− a|
2n .
Exemple : On veut trouver le zéro de la fonction f ( x) = sin(2x) − 1 + x dans [−3, 3] . Avec le
code Matlab (tolérence ε = 10−8 ), on trouve α = 0.35228846

1.3 Méthodes des approximations successives


Nous avons justifié l’algorithme de dichotomie sur la classe des fonctions continues sur un
segment et de signes opposés aux extremités du segment. Lorsque f est plus régulière, on peut
obtenir de meilleures performances avec des algorithmes plus évolués.

1.3.1 Définiton et hypothèses


Nous voulons résoudre le problème f ( x) = 0, on peut en posant x = f ( x) + x = g( x) se
ramener au problème : résoudre x = g( x) où donc g est une fonction donnée.
Exemple : Pour l’équation
x2 − x − 2 = 0,
√ 2
on peut prendre g( x) = x2 − 2, g( x) = x + 2, g( x) = 1 + 2x ou g( x) = x − x −λx−2 , pour tout λ 6=
0.
La méthode itérative consiste à utiliser l’algorithme suivant :
Algorithme 1 :
Choisir x0 arbitrairement et générer la suite ( xn ) par la relation


xn = g( xn−1 ) pour n = 1, 2.........., N
x0 quelconque.
Mais nous ne pouvons pas être sûr que cet algorithme soit toujours bien défini. D’aprés le
théorème du point fixe, nous savons que si g est contractante d’un intervalle [ a, b] dans lui -
même ie ∃k < 1 : | g( x) − g( y)| ≤ k | x − y| , alors il existe un élément et un seul α de [ a, b] tel
que g(α ) = α.

1.3.2 Convergence de la méthode des approximations successives


L’équation x = g( x) a une solution, on s’intéresse à la convergence de la suite xn défini par
l’algorithme 1.
Théorème 1 : Soit I = [ a, b] un intervalle fixé et soit g une fonction satisfaisant les conditions
suivantes :
8 CHAPITRE 1. EQUATIONS NON LINÉAIRES

i) g est continue sur I,


ii) ∀ x ∈ I g(x)∈ I,
iii) g est Lipschitzienne, de constante de Lipschitz k < 1.
Alors ∀ x0 ∈ I, la suite ( xn ) définie par l’algorithme (1) converge vers la solution unique α de
l’équation x = g( x).
Preuve : D’aprés le théorème du point fixe, il existe un unique α tel que α = g(α ). De plus, on
a l’estimation | xn − α | ≤ kn | x0 − α | , lim kn = 0 ⇒ lim xn = α.
n→+∞ n→+∞
Remarque : Lorsqu’une suite ( xn ) converge vers l, selon la relation

| xn+1 − l | ≤ k | xn − l | ,

on dit que la convergence est au moins linéaire. Plus généralement, on définit :


Définition : Soit la suite ( xn ) convergente vers l. S’il existe un nombre p et une constante c 6= 0
|x −l |
tels que lim | xn+−1 l | p = c, on dit que la convergence est d’ordre p ; c est la constante d’erreur
n→+∞ n
asypmptotique.
S’il existe une constante c et un réel p positif : | xn+1 − l | ≤ c | xn − l | p pour tout n assez grand,
on dit que la convergence est au moins d’ordre p.
Remarque : La convergence est d’autant plus rapide que son ordre p est grand.
En effet si | xn − l | est petit, | xn − l |2 est encore plus petit.

1.3.3 Critère d’arrêt


Si la méthode converge, les éléments de la suite ( xn ) sont de plus en plus proche de la solu-
tion α. Un critère d’arrêt est pour  (tolérence) donné : | xn − xn−1 | <  et nous prendrons xn
comme valeur approchée de la solution.
Remarque importante : Si on suppose que g ∈ C 1 (( a, b)) et | g0 ( x)| < 1, alors g est contrac-
tante et le théorème 1 est encore valable.

1.4 Méthode de la sécante


La méthode de Newton possède de grands avantages, mais elle nécessite le calcul de la déri-
vée de g. La méthode de la sécante consiste à utiliser la droite sécante passant par les points
( xn , g( xn )) et ( g( xn−1 ), g( xn−1 )) plutôt que la droite tangente passant par ( xn , g( xn )). Il s’agit
d’une méthode à trois niveaux : approcher les racines de g se ramène à calculer la limite de la
suite récurrente

x et x tels que g( x ) g( x ) < 0 et déterminer la suite ( xn ) par la relation
1 2 1 2
x −x

xn+1 = xn − g( xn ) g( x n)− gn( x−1 ) , n = 2, .....
n n−1

1.4.1 Convergence de l’algorithme


Théorème : Soit g deux fois continument différentiable sur un intervalle ouvert de centre l
vérifiant :
g(l ) = 0, g0 (l ) 6= 0.
Alors, si x 1 et x2 sont choisis assez près de l, l’algorithme de la sécante défini par :
xn − x
n+1 = xn − g( xn ) g( xn )− gn( x−n1−1 ) ∀n ≥ 2
x

converge vers l et la convergence est au moins d’ordre p = 1, 618...


1.5. MÉTHODE DE NEWTON - RAPHSON 9

1.5 Méthode de Newton - Raphson


Si nous posons g( x) = f ( x) − x, le problème est de trouver x tel que f ( x) = 0 et l’algorithme
f (x )
s’écrit xn+1 = xn − f 0 ( xn ) qui est la formulation de la méthode de Newton - Raphson.
n
Choisir x0 et déterminer la suite ( xn ) par la relation

f (x )
xn+1 = xn − f 0 ( xn ) , n = 0, 1.....

n

1.5.1 Convergence de l’algorithme


f ( x) f 0 ( x) f 00 ( x)
On a G ( x) = x − f 0 ( x)
, G0 ( x) = , pour que | G 0 ( x)| < 1, il faut donc que f 00 ( x) ne soit
( f 0 ( x))2
pas trop grand et que f 0 ( x) ne soit pas trop petit.
Théorème : Soit x0 ∈ I, supposons qu’il existe deux nombres c ≥ 0, λ ≥ 0 tels que
c
i) f ( x0 ) ≤ 2λ .
ii) ∀ x ∈ [ x0 − c, x0 + c] ⊂ I, | f 00 ( x)| ≤ 4λc
1
et | f 0 ( x)| ≥ λ1 .
f (x )
Alors ∃!α ∈ [ x0 − c, x0 + c] : f (α ) = 0 et de plus, la suite définie par : xn+1 = xn − f 0 ( xn )
n
converge vers α et | xn − α | ≤ 82cn ( qui tend trés vite vers zéro ).
Preuve : ∀ x, y ∈ [ x0 − c, x0 + c] , f ( x) − F ( y) = f 0 (η)( x − y) avec η ∈ ( x, y).
Donc
| f ( x) − f ( y) − f 0 ( y)( x − y)| = | x − y| | f 0 ( y) − f 0 (η)| = | x − y| | y − η| | f 00 (η1 )| avec η1 ∈
[ y, η] .
Comme | y − z| ≤ 2c et | f 00 ( x)| ≤ 4λc 1
, on a :

f ( x) − f ( y) − f 0 ( y)( x − y) ≤ | x − y| 1

(∗)

f ( xn )
Nous montrons par récurrence que si x1 , ........, xn sont défnies par xn+1 = xn − f 0 ( xn )
et appar-
tiennent à [ x0 − c, x0 + c] , alors xn+1 ∈ [ x0 − c, x0 + c] et
c
| xn − xn−1 | ≤ (**)
2n
Cette relation est vraie pour n = 1
c f (x ) c
f ( x0 ) ≤ 2λ et | x1 − x0 | = f 0 ( x0 ) ≤ 2λ λ = 2c .
0
Supposons les relations vraies à l’ordre (n − 1), on a :
f ( xn−1 ) = −( xn − xn−1 ) f 0 ( xn−1 ), d’où f ( xn ) = f ( xn ) − f ( xn−1 ) − ( xn − xn−1 ) f 0 ( xn−1 ) et en
utilisant (∗), il vient : | f ( xn )| ≤ 2λ 1
| x − x | ≤ λ2nc+1 .
n n−1
f ( xn )
D’autre part, on a : | xn+1 − xn | = f 0 ( x ) ≤ λ2cλ c
n+1 = 2n+1 . Nous pouvons en déduire que :
n
| xn+1 − x0 | ≤ | xn+1 − xn | + | xn − xn−1 | + ...... | x1 − x0 | ≤ c( 12 + 212 + ............ + 2n1+1 ) ≤ c. Donc
xn+1 ∈ [ x0 − c, x0 + c] .
De (∗∗), on déduit que la série de terme général xn − xn−1 est absolument convergente donc
la suite xn tend vers une limite α ∈ [ x0 − c, x0 + c] quand n → +∞. D’aprés la relation
| f ( xn )| ≤ λ2nc+1 et de la continuité de f , on en déduit que f (α ) = 0. On applique la formule
des accroissements finis à f ( xn ).
f 00 (θ )
f (α ) = f ( xn ) + (α − xn ) f 0 ( xn ) + (α − xn )2 2 n , θn ∈ [α, xn ] 00
f (θ )
f ( xn ) = ( xn − xn−1 ) f 0 ( xn ), ce qui implique : | xn+1 − α | ≤ | xn − α |2 2 f 0 ( xn ) ≤ | xn − α |2 8c
1
.
n
c c
Comme | x0 − c| ≤ 2 , nous avons | xn − α | ≤ 82n .
10 CHAPITRE 1. EQUATIONS NON LINÉAIRES

Remarque : Il est clair qu’il faut se placer dans une zone où f 0 ( x) ne risque pas de s’annuler.
Enfin, la méthode converge lentement dans le cas des racines multiples.
Si α est racine avec p l’ordre de multiplicité, on considère alors la méthode de Newton modi-
fiée :
Choisir x0 et déterminer la suite ( xn ) par la relation

f (x )
xn+1 = xn − p f 0 ( xn ) , n = 0, 1.....

n

1.6 Comparaison des algorithmes


Méthode de Dichotomie
Avantages : la convergence est assurée, on a l’encadement de la solution et un seul calcul de la
fonction à chaque itération.
Inconvénient : la vitesse de la convergence est linéaire, donc lente.
Méthode de la sécante
Avantages : un seul calcul de la fonction à chaque itération. Convergence rapide. Inconvé-
nient : peut diverger si les données initiales sont mal choisies, le calcul de f ( xn ) − f ( xn−1 )
peut produire des erreurs de chute.
Méthode de Newton
Avantages : la convergence est rapide.
Inconvénient : nécessite le calcul de la dérivée d’une fonction.

1.7 Sytèmes Non Linéaires


On veut généraliser la méthode de Newton au cas de systèmes non linéaires F = 0 où F :
R N → R N , F = ( f 1 , f 2 , ......, f N ).
Pour cela on introduit la matrcice Jacobienne du vecteur du vecteur F :
 ∂f ∂f

1
! ... ∂x 1
∂ fi ∂x 1 N
DF ( x) = ( x) = . .
 
∂x j ∂ f N ∂ f N
ij
∂x ... ∂x
1 N

La méthode de Newton dans ce cas s’écrit :

[ DF ( xk )] ( xk+1 − xk ) = − F ( xk ), k = 0, 1, 2.....

1.8 Travaux Dirigés (correction en classe)


Exercice 1.1 : Soit la fonction f ( x) = 2x3 − x − 2
1. Montrer que f possède une seule racine x ∈ [1, 2] .
2. Etudier la convergence des trois méthodes itératives suivantes : x0 ∈ [1, 2] donné et
(α ) xn+1 = 2x3n − 2;
(β) xn+1 = 2x22−1 ;
qn
(γ ) xn+1 = 3 1 + x2n .
Si l’une des méthodes converge l’utiliser pour déterminer x à 10−3 près.
Exercice 1.2 : Soit l’équation x = ln(1 + x) + 0.2 dans R+
1.8. TRAVAUX DIRIGÉS (CORRECTION EN CLASSE) 11

1. Montrer que la méthode itérative est convergente.


2. Choisir x0 et déterminer la valeur approchée de la solution.
3. Choisir x0 = 0.7 et utiliser la méthode de Newton pour trouver une autre approxima-
tion.
Exercice 1.3 : Soit l’équation e− x = x2 dans R. On pose f ( x) = e− x − x2
1. Montrer que l’équation f ( x) = 0 admet une unique racine sur R, que l’on notera l.
Localiser l entre deux entiers consécutifs ; soit I l’intervalle obtenu.
2. Soit la méthode d’approximation successive suivante :

xn+1 = xn − e−xn + x2n , x0 ∈ I

Cette méthode converge t-elle vers l, pourquoi ?


3. Soit la méthode d’approximation successive suivante :
− xn
xn+1 = e 2 , x0 ∈ I

Cette suite converge t-elle vers l, pourquoi ?


4 Ecrire la méthode de Newton pour f . Choisir x0 qui assure la convergence de Newton.
Exercice 1.4 (TP) :
Soit à résoudre f ( x) = exp( x) − 2 cos( x) = 0 dans l’intervalle I = [−1, 1]
1. Montrer que cette équation admet une solution α dans I.
2. Appliquer la méthode de Newton pour trouver une valeur approchée de α.
3. Appliquer la méthode de la sécante pour trouver une valeur approchée de α.
12 CHAPITRE 1. EQUATIONS NON LINÉAIRES
Chapitre 2

Interpolation Polynômiale

Objectifs Pédagogiques

Au terme de ce chapitre, vous apprendrez à :


+ Interpoler des données connues à partir des données discrètes ;
+ Estimer la valeur d’une fonction entre les points d’interpolation ;
+ Approcher une fonction dont on ne connaît pas les valeurs qu’en certains points ;
+ Comprendre l’existence et l’unicité d’un polynôme d’interpolation,
+ Savoir calculer les formes de Lagrange et de Newton ;
+ Savoir résoudre les questions liées à l’erreur d’interpolation ;

13
14 CHAPITRE 2. INTERPOLATION POLYNÔMIALE

2.1 Exemples et motivations


[Étude expérimentale]
Dans le contexte des sciences expérimentales, ces données peuvent provenir d’une expérience,
par exemple la température y (en degrés) en fonction du temps x (en heures).

xi 0 6 12 18
yi 5 10 19 18

Nous voulons représenter le phénomène observé par une fonction P polynômiale. Ce poly-
nôme doit vérifier : P( xi ) = yi , i = 0, 1, 2, 3.
[Masse volumique d’un matériau]
Les masses volumiques du matériau pour différentes températures sont données par le ta-
bleau ci- dessous :
Températures Ti en ◦ C Masse volumique R( Ti ) :(en kg/m3)
94 929
205 902
371 860

En utilisant les polynômes d’interpolation qui permettent d’interpoler les différents points de
données précédentes. On souhaite trouver les masses volumiques du sodium pour T = 251
◦ ◦ ◦
C, T = 305 C et T = 800 C.

2.2 Interpolation polynômiale


2.2.1 Interpolation polynômiale : existence et unicité

On considère un segment [ a, b] de R et une subdivision


a=x0 < x1 < ... < xn = b à l’aide des (n + 1) points distincts ( xi ), i = 0, ..., n. Soient
( yi )i=0,n (n + 1) nombres réels quelconques. Alors, il existe un unique polynôme de degré
n maximum, soit Pn , tel que :

Pn ( xi ) = yi , i = 0, ..., n

Preuve :
n
Soit Pn ( x) = ∑ αi xi le polynôme cherché. Pour chaque xi on doit avoir :
i =0
Pn ( xi ) = yi ⇔ α0 + α1 xi + α2 ( xi )2 + ... + αn ( xi )n = yi .
Ceci fournit un système linéaire de (n + 1) inconnues α0 , α1 , ..., αn .
Le déterminant est celui de Vandermonde :
1 x0 x2 . . xn

0 0
1 x1 x2 . . xn

1 1
1 x2 x2 . . xn

. .
2
. . . .
2 =
∏ ( xi − x j ) 6 = 0
ii=>0,nj

. . . . .

1 xn x2 . . xn j=0,n
n n
Le système linéaire est un système de Cramer qui détermine de façon unique Pn .
2.2. INTERPOLATION POLYNÔMIALE 15

2.2.2 Erreur d’interpolation

Soit f une fonction numérique continue sur [ a, b]. Pour un entier n ≥ 1, f est (n + 1) fois
dérivable sur ] a, b[, de plus f ( p) , 1 ≤ p ≤ n possède un prolongement continue sur ] a, b[ .
Pour a = x0 < x1 < ... < xn = b, il existe un polynôme unique Pn de degré n tel que
Pn ( xi ) = yi , i = 0, ..., n. De plus, ∀ x ∈ [ a, b], ∃c ∈ ] a, b[ :

( x − a)( x − x1 )...( x − b) (n+1)


f ( x ) = Pn ( x ) + f (c).
(n + 1)!
Preuve :
n
Soit Pn ( x) = ∑ αi xi , on doit avoir :
i =0

α0 + α1 xi + α2 ( xi )2 + ... + αn ( xi )n = f ( xi ),

d’après le théorème 2.2.1, Pn est uniquement déterminé.


Soit Q telle que (
Q( xi ) = 0, i = 0, ..., n
( x− a)( x− x1 )...+( x−b)
f ( x ) = Pn ( x ) + (n+1)!
Q ( x ) , x 6 = xi

et soit φ la fonction définie pour tout t ∈ [ a, b]

(t − a)(t − x1 )...(t − b)
φ ( t ) = f ( t ) − Pn ( t ) − Q( x).
(n + 1)!
Par construction 
φ( xi ) = 0, i = 0, ..., n
φ( x) = 0
C’est - à - dire φ s’annule en (n + 2) points distincts si x 6= xi . La fonction Q possède les
mêmes propriétés que f . Le théorème 1.3.2 de Rolle s’applique (n + 1) fois à φ entre deux de
ses zéros consécutifs. Il existe alors (n + 1) zéros distincts de φ0 dans ] a, b[. Le théorème de
Rolle 1.3.2 s’applique n fois à φ0 pour fournir n zéros de φ00 et ainsi de suite, enfin il existe un
nombre c ∈ ] a, b[ tel que φ(n+1) (c) = 0.
Or

φ(n+1) ( c ) = f (n+1) ( c ) − Q ( x ) ,

d’où
Q ( x ) = f (n+1) ( c ) .
1) n = 1, x0 = a, x1 = b ; on cherche P1 tel que P1 ( a) = f ( a),
P1 ( b ) = f ( b ) .
Il vient facilement que

f (b) − f ( a)
P1 ( x ) = f ( a) + ( x − a)
b−a
( x − a)( x − b) 00
et f ( x) = P1 ( x ) + f (c).
2
16 CHAPITRE 2. INTERPOLATION POLYNÔMIALE

2) n = 2, x0 = a, x1 = a+2 b , x2 = b ; on cherche P2 tel que


P2 ( a) = f ( a), P2 ( a+2 b ) = f ( a+2 b ), P2 (b) = f (b) et d◦ (P2 ) = 2.
Pour le trouver, on peut écrire par exemple :
P2 ( x) = f ( a) + ( x − a)P1 ( x) où d◦ (P1 ) = 1 et
f (b)− f ( a) f ( a+ b
2 )− f ( a )
P1 ( b ) = b− a , P2 ( a+2 b ) =2 b− a et on a :

P2 ( x ) = f ( a ) + ( x − a )Q1 ( x ) ,

avec
 
2 a+b
Q1 ( x ) = f( ) − f ( a) +
b−a 2
h i
a+b
a+b 2 f ( b ) − f ( 2 ) − f ( a )
2( x − ) .
2 b−a

2.2.3 Représentation des interpolations de type Lagrange


Polynôme de Lagrange

Soient a = x0 < x1 < ... < xn = b, (n + 1) points distincts d’une subdivision de [ a, b]. Soient
Li , i = 0, n, les (n + 1) polynômes de Lagrange : Li ∈ Pn tel que Li ( xi )=δi j , j = 0, ..., n , sont
linéairement indépendants et forment une base de Pn .
Preuve :
n
Soient (λi ) tels que ∑ λi Li = 0 dans Pn , ce qui implique :
i =0

n n
∑ λ i Li ( x i ) = 0 = ∑ λ i δ i j = λ j = 0
i =0 i =0

Forme théorique des polynômes de Lagrange


Li s’annule en x j , j = 0, ..., n mais j 6= i et prend 1 pour x = xi . Comme Li ∈ Pn , on a Li ( xi ) =
1 = c ∏ ( xi − x j ), il vient :
j 6 =i
pour i ∈ {0, . . . , n}

∏ x − xj
0≤ j≤n
j 6 =i
Li ( x ) = .
∏ xi − x j
0≤ j≤n
j 6 =i

Représentation des polynômes dans la base de Lagrange


Le polynôme Pn ∈ Pn vérifie Pn ( xi ) = yi , i = 0, ..., n.
n n
Pn = ∑ λi Li or Pn ( x j ) = y j , il vient ∑ λi Li ( x j ) = y j
i =0 i =0
n
soit ∑ λi δi j = λ j = y j , d’où :
i =0
2.2. INTERPOLATION POLYNÔMIALE 17

n
∀ x ∈ [ a, b] , Pn ( x) = ∑ Pn ( xi )Li ( x), ∀Pn ∈ Pn .
i =0
Le polynôme Pn ∈ Pn associé par le théorème 2.2.3 à la fonction f et la subdivision a = x0 <
x1 < ... < xn = b est dit polynôme d’interpolation de Lagrange de f .
Résultat : Le polynôme d’interpolation de Lagrange de f aux points xi , i = 0, ..., n distincts de
n
[ a, b] s’écrit Pn ( x) = ∑ f ( xi )Li ( x)
i =0
où (Li )i=0,...,n est la base de Lagrange dans Pn .
Algorithme 2.1 :
Données :
x : vecteur/tableau de Rn+1 , x(i ) = xi−1 pour i ∈ {0, ..., n + 1} et x(i ) 6= x( j) pour i 6= j
y : vecteur/tableau de Rn+1 , y(i ) = yi−1 pour i ∈ {0, ..., n + 1}
t : un réel.
Résultat : P : le réel y = P(t)


Fonction y ←− Lagrange(t, x, y)

P ←− 0

Pour i ←− 1 à (n + 1) f aire

L ←− 1

Pour j ←− 1 à (n + 1) f aire

Si i 6= j alors

L ←− L × (t − x( j))/( x(i ) − x( j))

Fin

Fin

P ←− P + L × y(i )

Fin

return P
Fin

Soit la fonction f dont on connaît les valeurs suivantes :

xi 0 5 10 15
yi = f ( xi ) 72, 8 74, 2 75, 2 76, 4

Commençons par déterminer les polynômes de base de Lagrange :

( x − x1 )( x − x2 )( x − x3 ) ( x − 5)( x − 10)( x − 15)


L0 ( x ) = =
( x0 − x1 )( x0 − x2 )( x0 − x3 ) (0 − 5)(0 − 10)(0 − 15)
−1
= ( x − 5)( x − 10)( x − 15)
750

( x − x0 )( x − x2 )( x − x3 ) ( x − 0)( x − 10)( x − 15)


L1 ( x ) = =
( x1 − x0 )( x1 − x2 )( x1 − x3 ) (5 − 0)(5 − 10)(5 − 15)
1
= x( x − 10)( x − 15)
250
18 CHAPITRE 2. INTERPOLATION POLYNÔMIALE

( x − x0 )( x − x1 )( x − x3 ) ( x − 0)( x − 5)( x − 15)


L2 ( x ) = =
( x2 − x0 )( x2 − x1 )( x2 − x3 ) (10 − 0)(10 − 5)(10 − 15)
−1
= x( x − 5)( x − 15)
250

( x − x0 )( x − x1 )( x − x2 ) ( x − 0)( x − 5)( x − 10)


L3 ( x ) = =
( x3 − x0 )( x3 − x1 )( x3 − x2 ) (15 − 0)(15 − 5)(10 − 10)
1
= x( x − 5)( x − 10)
750
Donc le polynôme de Lagrange est :
P3 ( x) = 72, 8L0 ( x) + 74, 2L1 ( x) + 75, 2L2 ( x) + 76, 4L3 ( x).
La valeur approchée de P3 (8) = 74, 81.

2.2.4 Représentation des interpolations de type Newton


Polynôme de Newton
Il n’y a pas de relation simple entre l’interpolant de base Ln relatif à la subdivision { xk ; 0 ≤ k ≤ n} , a ≤
x0 < x1 < ... < xn = b et l’interpolant de base Ln+1 relatif à la subdivision plus fine
{ xk ; 0 ≤ k ≤ n + 1} ,
a ≤ x0 < x1 < ... < xn+1 = b.
De point de vue numérique, ceci est un inconvénient auquel remédie l’interpolant de Newton
que nous allons expliciter.
Base de Newton
On peut montrer que les fonctions e0 , e1 , ..., en telles que :
∀ x ∈ R, e0 ( x) = 1, e1 ( x) = x − x0 , ...,
ek ( x) = ( x − x0 )( x − x1 )...( x − xk−1 ), ... forment une base de l’espace vectoriel Pn des poly-
nômes sur R de degré inférieur ou égal à n ∈ N.
Développons le polynôme Pn sur la base (e0 , e1 , ..., en )
n
∀ x ∈ R, Pn ( x) = ∑ αk ek ( x)
k=0

On en déduit que :
Pn ( x 0 ) = f ( x 0 ) = α 0
f ( x0 )− f ( x1 )
Pn ( x1 ) = f ( x1 ) = f ( x0 ) + α1 ( x1 − x0 ) ⇐⇒ α1 = x0 − x1
Pour expliciter αk , k ≥ 2, posons :
∀ y0 , y1 , ..., yk ∈ R, ∀n ∈ N∗ ,

 f ( yi )
 si k = i,
f [ yi , . . . , y k ] = f [ yi +1 , . . . , y ] − f [ yi , . . . , y ]
k k−1
 si k ≥ i.
y k − yi

On en déduit que :
αk = f [ x0 , . . . , xn ], 0 ≤ k ≤ n
Le polynôme d’interpolation de f s’écrit, dans la base de Newton,
n
Pn ( x ) = ∑ f [ x0 , . . . , xk ]ek ( x).
k=0
2.2. INTERPOLATION POLYNÔMIALE 19

f [ x0 , . . . , xk ] sont appelées les différences divisées de Newton, on peut les calculer et les repré-
senter par un tableau, dans lequel le terme (i, j) est calculé à partir des éléments (i − 1, j − 1)
et (i, j − 1) :

x0 f [ x0 ]
x1 f [ x1 ] f [ x0 , x1 ]
x2 f [ x2 ] f [ x1 , x2 ] f [ x0 , x1 , x2 ]
.. .. .. .. ..
. . . . .
xn f [ xn ] f [ xn−1 , xn ] f [ xn−2 , xn−1 , xn ] ... f [ x0 , x1 , . . . , xn−1 , xn ]

En factorisant la forme de
 Newton, il vient : 
 
Pn ( x ) = f [ x 0 ] + ( x − x 0 ) f [ x 0 , x 1 ] + ( x − x 1 ) . . . f [ x 0 , . . . , x n − 1 ] + ( x − x n − 1 ) f [ x 0 , . . . , x n ] .
L’algorithme de Hôrner s’écrit :
Algorithme 2.2 :


Initialisation

Pn ← f [ x 0 , . . . , x n ]

Pour k décroissant de n − 1 à 0 faire
Pn ← f [ x 0 , . . . , x k ] + ( x − x k ) Pn .

Considérons la fonction f déterminée par la table


1 3
x 0 2 1 2 2
f ( x) 1 0 −1 0 1
Commençons par calculer les coefficients du polynôme de Newton, et le polynôme P4 ( x) de
Newton,
x f ( x)
0 1
0, 5 0 −2
1 −1 −2 0
1, 5 0 2 4 8/3
2 1 2 0 −8/3 −8/3
Donc le polynôme de Newton est :
8 1
P4 ( x) = 1 − 2x + 0x( x − 1/2) + x( x − )( x − 1)
3 2
8 1 3
− x( x − )( x − 1)( x − ).
3 2 2
Déterminons une valeur approchée de f ( 43 ) par ce polynôme.
3 3 3 3 1 8 3 3 1 3
P4 ( ) = 1 − 2. + 0. .( − ) + . .( − ).( − 1)
4 4 4 4 2 3 4 4 2 4
8 3 3 1 3 3 3
− . .( − ).( − 1).( − ) = 1, 53125.
3 4 4 2 4 4 2
20 CHAPITRE 2. INTERPOLATION POLYNÔMIALE

1) On peut remarquer facilement que ∀ x ∈ R :


n−1
Pn ( x) = Pn−1 ( x) + f [ x0 , x2 , x3 , ..., xn ] ∏ ( x − xi )
i =0

f (n) (c )
2) On démontre aussi que : f [ x0 , x2 , x3 , ..., xn ] = (n)!
, avec
c ∈ I = (min( xi ), max( xi ))
i i
On sait que En ( x) = f ( x) − Pn ( x) et donc En ( xi ) = 0 pour i = 0, ..., n.
On peut appliquer n fois le théorème de Rolle 1.3.2 et on en déduit que :
x → E0n ( x) admet n racines distinctes dans I ;
00
x → En ( x) admet (n − 1) racines distinctes dans I ;
..
(n)
x → En ( x) admet 1 racine c dans I.
Or
(n) (n)
En (c) = f (n) (c) − Pn (c) = f (n) (c) − n! f [ x0 , x2 , x3 , ..., xn ],
d’où

f (n) ( c )
f [ x0 , x2 , x3 , ..., xn ] = .
(n)!
Soit Pn le polynôme d’interpolation de Newton aux pointsa = x0 < x1 < ... < xn = b.
Si f ∈ C n+1 [ a, b] alors : ∀ x ∈ [ a, b] , ∃c ∈ [ a, b] tel que :
f (n+1) (c ) n
En ( x ) = f ( x ) − Pn ( x ) = (n+1)! ∏
( x − xi ) .
i =0
Preuve :
Si x = xi , 0 ≤ i ≤ n, on a : f ( xi ) = Pn ( xi ) et la formule est vraie.
Démontrons cette formule pour tout t ∈ [ a, b] et t 6= xi
Soit Qn le polynôme de degré (n + 1) passant par ( xi , f ( xi )) (t, f (t)).
Le polynôme de Newton associée à cette fonction
n
Qn ( x) = Pn ( x) + f [ x0 , ..., xn , t] ∏ ( x − xi ).
i =0

f (n+1) (c )
D’après la remarque précédente, f [ x0 , ..., xn , t] = (n+1)!
, on en déduit que :
f (n+1) (c ) n
Qn ( x ) = Pn ( x ) + (n+1)! ∏
( x − xi )
i =0

1) Si f est un polynôme de degré inférieur ou égal à n, alors


f (n+1) ( x) = 0, ce qui implique En ( x) = 0, ∀ x ∈ [ a, b] et donc
Pn ( x) = f ( x), ∀ x ∈ [ a, b]

2) L’erreur est composée de deux termes, le terme max f (n+1) ( x) lié à la régularité

a ≤ x ≤ b
n
de la fonction f et du terme ∏ ( x − xi ) qui dépend du choix des points ( xi ).
i =0
2.3. TRAVAUX DIRIGÉS (CORRECTION EN CLASSE) 21

3) On peut estimer grossièrement l’erreur :


| a −b |n+1

|En ( x)| ≤ max f (n+1) ( x) , ∀x ∈ [ a, b] .

a≤ x≤b (n+1)!

4) Dans la pratique, la fonction f est rarement connue et en plus son appartenance à


C n+1 ([ a, b]) n’est pas toujours réalisée.

5) Lorsque f ∈ C n+1 ([ a, b]) et max f (n+1) ( x) est connu, minimiser l’erreur |En ( x)|

a ≤ x ≤
b
n
revient à minimiser ∏ ( x − xi ) .

i =0

2.3 Travaux Dirigés (correction en classe)

Déterminer le polynôme d’interpolation de Lagrange et de Newton satisfaisant au ta-


bleau ci-dessous

x 0 2 3 5
f ( x) -1 2 9 87

1) Déterminer le polynôme d’interpolation de Lagrange et de Newton pour les points


d’appui d’abscisses : −2, −1, 0, 1, 2 de la fonction f ( x) = 1+5x2
2) Discuter l’erreur d’interpolation.

Soit f ( x) = 2+x

1) Déterminer le polynôme P d’interpolation de Lagrange et de Newton basé sur les


points d’abscisses 0, 1 et 2.
2) Calculer P(0.1) et P(0.9), et comparer aux valeurs exactes. Évaluer l’erreur d’inter-
polation en ces deux points. Commentaires ?
22 CHAPITRE 2. INTERPOLATION POLYNÔMIALE
Chapitre 3

Intégration Numérique

Objectifs Pédagogiques

Au terme de ce chapitre, vous apprendrez à :


+ Savoir mettre en place une formule d’intégration numérique ;
+ Savoir comment se construit l’intégration numérique ;
+ Savoir faire le lien de l’intégration avec l’interpolation ;
+ Savoir approcher une intégrale qui n’a pas d’expression analytique ;
+ Savoir résoudre les questions liées à l’erreur d’intégration.

23
24 CHAPITRE 3. INTÉGRATION NUMÉRIQUE

3.1 Exemples et motivations


Soit f une fonction intégrable sur [ a, b] , si on connaît une primitive F de f , alors ab f ( x)dx =
R

F ( b ) − F ( a ).
Souvent, les intégrales qui interviennent dans les problèmemes physiques sont des
fonctions intégrales trop compliquées pour être calculées directement, par exemple :
R1 x R 1 − x2
√e dx, 01 cos( x2 )dx,
R
0 1+ x2 0 e dx, ...

Pour résoudre cette difficulté, on utilise des résultats d’interpolation linéaire et princi-
palement la relation suivante :

f ( x ) = Pn ( x ) + En ( x )

et donc, par intégration, on obtient :


Z b Z b Z b
f ( x)dx = Pn ( x)dx + En ( x)dx
a a a

[Énergie émise]
On veut calculer l’énergie émise dans le spectre (infrarouge) compris entre les longueurs
d’ondes de 3µm et 14µm par un corps noir, objet capable d’émettre dans tout le spectre,
à la température ambiante. La résolution de ce problème est obtenue en calculant :
Z 0,0014
1
E( T ) = 2, 39.10−11 dx,
0,0003 x5 (−1 + e(1,432/(Tx)) )

où x est la longueur d’onde et T la température du corps noir. On désire calculer E( T )


pour T compris entre - 60 et 90 degré Celsius. [Pas d’expression analytique de la primitive]
Il n’existe pas d’expression analytique de la primitive de la fonction à intégrer :
Z x
2
Er( x) = exp(−t2 )dt.
π 0

3.2 Quelques méthodes d’intégrations numériques


L’objectif est de donner une valeur approchée de ab f ( x)dx où f ∈ C([ a, b]), et bien
R

évidemment dans le cas où f n’a pas de primitive explicite.


Subdivisons l’intervalle [ a, b] de R en n sous- intervalle [ xi , xi+1 ] ,
0 ≤ i ≤ n − 1 de même longueur h = b− a
n = xi +1 − Rxi .
On a donc : x0 = a < x1 < ... < xn = b, on estime xxii+1 f ( x)dx par une approximation
simple de f et en écrivant :

Rb n−1 R
xi +1
a f ( x)dx = ∑ xi f ( x)dx,
i =0
Rb
on peut obtenir une valeur approchée de I = a f ( x)dx.
3.2. QUELQUES MÉTHODES D’INTÉGRATIONS NUMÉRIQUES 25

3.2.1 Méthode des rectangles et Analyse de l’erreur


Sur chaque sous intervalle [ xi , xi+1 ] , on peut remplacer f ( x) par f ( xi ), d’où
Z b n − 1 Z xi +1
f ( x)dx ' ∑ f ( xi )dx
a i =0 xi
n−1
b − a n−1
= ∑ ( xi +1 − xi ) f ( xi ) = n i∑
f ( xi ) .
i =0 =0

Posons

Z b b − a n−1
= f ( x)dx − f ( x )

n i∑
ERec i
a =0

n−1 Rb
b− a
• Soit f continue sur [ a, b] , alors n ∑ f ( xi ) converge vers a f ( x)dx.
i =0
2
• Si f est de classe C 1 sur [ a, b] , alors ERec ≤ M1 (b−
2n
a)

M1 = sup | f 0 ( x)|
a≤ x≤b
Preuve :
• f est uniformément continue sur [ a, b] , donc ∀ > 0, ∃η > 0 :

∀ x, y ∈ [ xi , xi+1 ] tel que | x − y| < η → | f ( x) − f ( y)| ≤ b− a.
b− a b− a b− a
Soit n0 > η , alors ∀n > n0 : h = n ≤ n0 < η.
Alors ∀m ∈ [ xi , xi+1 ] et ∀ x ∈ [ xi , xi+1 ] :

on a : | x − m| ≤ h < η → | f ( x) − f (m)| ≤ b− a.
D’où :

R b n−1 n−1
f ( x)dx − ∑ R xi+1 f (m)dx ≤ ∑ R xi+1 | f ( x) − f (m)|
a xi xi
i =0 i =0
n−1 R
xi +1 
≤ ∑ xi b− a = ,
i =0

donc
n−1 Rb
b− a
lim ∑ f ( xi ) = a f ( x)dx.
n→+∞ n i =0
• Si f est de classe C 1 sur [ a, b] , on pose M1 = sup | f 0 ( x)| .
a≤ x≤b
Le théorème 1.3.3 des accroissements finis appliquée à la fonction f sur [ xi , x] où x ∈ [ xi , xi+1 ] :
∃ci ∈ ] xi , x[ tels que
f ( x ) − f ( xi ) = ( x − xi ) f 0 ( ci ) .
Ce qui implique

Z b b − a n − 1 xi +1
Z
≤ M1 f ( x)dx − ( x − xi )dx

ERec
a ∑
n i = 0 xi
M1 (b − a)2
= .
2 n
26 CHAPITRE 3. INTÉGRATION NUMÉRIQUE

xi + xi +1
On pourrait remplacer f ( x) par f ( xi+1 ) ou f ( 2 ).
Algorithme 3.1 :


h ← (b − a)/n


IRec = 0


pour i ← 0 à n − 1 f aire



IRec = IRec + h ∗ f ( a + i ∗ h)
f in


afficher( IRec )

R √
On désire donner une valeur approchée de I = 02 1 + x2 dx.
On choisit n = 4, donc h = 12 et xi = ih pour i ∈ {0, 1, 2, 3}

xi 0,0 0,5 1,0 1,5 2,0


f ( xi ) 1,000000 1,118034 1,414214 1,802776 2,236068

Appliquons la méthode des rectangles, une valeur approchée de I est


3
h ∑ f ( xi ) = 3, 785546.
i =0

La fonction x → f ( x) = 1 + x2 est de classe C ∞ sur [0, 2] et
− 21 √
f 0 ( x) = x(1 + x2 ) , donc M1 = sup f (1) ( x) = 5.

0≤ x≤2
Donc

M1 (b − a)2 5 (2 − 0)2
ERec ≤ = = 1, 118033989.
2 n 2 4

3.2.2 Méthode des trapèzes et Analyse de l’erreur


D’après le chapitre de l’interpolation linéaire, on a :

f ( x) = Pn ( x ) + En ( x ) .
| {z } | {z }
polynôme d’interpolation Erreur associée

On sait qu’on peut remplacer f ( x) par le polynôme de degré 1 passant par les points
( xi , f ( xi )) et ( xi+1 , f ( xi+1 ))

f ( xi +1 ) − f ( xi ) ( x − xi )( x − xi+1 ) 00
f ( x ) = f ( xi ) + ( x − xi ) + f (c).
xi +1 − xi 2 {z
| {z } | }
P1 ( x ) Erreur

Rx Rx
Par approximation de i +1 f ( x)dx, on retiendra i +1 P1 ( x)dx, c’est à dire
xi xi
Z x
i +1 xi +1 − xi
P1 ( x)dx = ( f ( xi+1 ) + f ( xi )).
xi 2
3.2. QUELQUES MÉTHODES D’INTÉGRATIONS NUMÉRIQUES 27

L’erreur est pour tout x ∈ [ a, b]


Z x Z x
i +1 i +1
ε( x) = f ( x)dx − P1 ( x)dx
xi xi
Z x
i +1 ( x − x )( x − x
i i +1 ) 00
= f (c)dx,
xi 2

( x − xi )( x − xi+1 ) 00 00 ( x − xi )( x − xi+1 )
f (c) ≤ sup f (c) ×
,
2 x∈[ a,b] 2

Comme
Z b n − 1 Z xi +1
I= f ( x)dx = ∑ f ( x)dx.
a i =0 xi

Il vient " #
n−1 n−1
h h
I ' ∑ ( f ( xi+1 ) + f ( xi )) = f ( x 0 ) + 2 ∑ f ( xi ) + f ( x n ) .
i =0
2 2 i =1

n−1
 
R b
Si on pose : ETrap = a f ( x)dx − 2h f ( x0 ) + 2 ∑ f ( xi ) + f ( xn ) .
i =1
L’erreur globale est majorée par :

(b − a) h2
ETrap ≤ M2 .
12
Algorithme 3.2 :
h ← (b − a)/n



ITrap = 0


pour i ← 1 à n − 1 faire

ITrap = ITrap + 2h ∗ ( f ( a) + f ( a + i ∗ h))




a=a+h
f in

afficher(ITrap )

R √
On désire donner une valeur approchée de I = 02 1 + x2 dx.
On choisit n = 4, donc h = 21 et xi = ih pour i ∈ {0, 1, 2, 3}
xi 0,0 0,5 1,0 1,5 2,0
f ( xi ) 1,000000 1,118034 1,414214 1,802776 2,236068
Appliquons la méthode des trapèzes, une valeur approchée de I est
h
2 ( f ( x0 ) + f ( x4 ) + 2 ( f ( x√
1 ) + f ( x2 ) + f ( x3 )) = 2, 976529
La fonction x → f ( x) = 1 + x2 est de classe C ∞ sur [0, 2] et
1 3
f 0 ( x) = x(1 + x2 )− 2 , f (2) ( x) = (1 + x2 )− 2 , donc

M2 = sup f (2) ( x) = 1

0≤ x≤2

On conclut que :
M2
ETrap ≤ (b − a)h2 = 0, 042
12
28 CHAPITRE 3. INTÉGRATION NUMÉRIQUE

La méthode des trapèzes a consisté à remplacer f localement par des fonctions affines.
L’erreur sera sans doute plus faible si on remplace f par des polynômes de degrés plus
élevées : c’est l’objet d’une autre méthode approchée très efficace : la méthode de Simp-
son.

3.2.3 Méthode de Simpson et Analyse de l’erreur


Reprenons le raisonnement utilisé avec la méthode des trapèzes, mais cette fois en uti-
lisant un polynôme de degré inférieur où égal à 2 dont la courbe passe par les points
( x0 , f ( x0 )), ( x1 , f ( x1 )) et ( x2 , f ( x2 )). Comme trois points induisent deux subdivi-
sions, le nombre n de subdivisions doit être pair.
Ce polynôme est donné par la formule de Newton :

P2 ( x) = f ( x0 ) + f [ x0 , x1 ] ( x − x0 ) + f [ x0 , x1 , x2 ] ( x − x0 )( x − x1 ).

Il vient ensuite
Z x2 Z x2
h
f (t)dt ' P2 (t)dt = [ f ( x0 ) + 4 f ( x1 ) + f ( x2 )] .
x0 x0 3

Puisque la méthode requiert deux intervalles, on divise l’intervalle [ a, b] en n sous-


− a , la méthode de Simpson consiste à remplacer
intervalles de longueur h = b2n
Z b n−1 Z x2i+2
I= f ( x)dx = ∑ f ( x)dx.
a i =0 x2i

Donc
h
I' [ f ( x0 ) + 4 f ( x1 ) + 2 f ( x2 ) + ... + f ( x2n )] .
3
On sait que :

( x − x0 )( x − x1 )( x − x2 ) 4
f ( x ) = P2 ( x ) + f (c), f (4) (c) ≤ M4 .

4!
Pour estimer, l’erreur, posons
Z b
h
E Simp = f ( x)dx − [ f ( x0 ) + 4 f ( x1 ) + 2 f ( x2 ) + ... + f ( x2n )]
a 3

h 5
Soit f est de classe C 4 sur [ a, b] , alors E Simp ≤ M4 90 .


M4 = sup f (4) ( x)

a≤ x≤b

Preuve :
On sait que :
( x− x0 )( x− x1 )( x− x2 ) (3)
f ( x ) = P2 ( x ) + 3! f (ξ1 ), avec ξ1 ∈ ] x0 , x2 [ et pour tout t ∈ [ x0 , x2 ]
3.2. QUELQUES MÉTHODES D’INTÉGRATIONS NUMÉRIQUES 29

( x− x0 )( x− x1 )( x− x2 )( x−t) (4)
f ( x ) = P3 ( x ) + 4! f (ξ2 ), avec ξ2 ∈ ] x0 , x2 [ .
Or : Z x2
( x − x0 )( x − x1 )( x − x2 )dx = 0,
x0

il s’ensuit de la formule
f ( t ) − P2 ( x )
P3 ( x ) = P2 ( x ) + ( x − x0 )( x − x1 )( x − x2 ),
(t − x0 )(t − x1 )(t − x2 )
que
Rb Rb
a P3 ( x)dx = a P2 ( x)dx.
On déduit que
Z x Z x Z x2
2 2
x E3 ( x)dx = x f ( x)dx − x P3 ( x)

0 0 0
M4 x2
Z

≤ ( x − x0 )( x − x1 )( x − x2 )( x − t)dx .
4! x0

x +x
Choisissons t = i 2 i+1 et par un simple calcul, on obtient en faisant le changement de
variable : x − x0 = zh
Z x2
x0 + x2
( x − x0 )( x − x1 )( x − x2 )( x − )dx
x0 2
Z 2
1 4
= (h5 )( z − 1)( z − 2)( z − )dz = − h5 .
0 2 15
D’où
5
Z x
≤ M4 4h = M4 h5 .
2
E 3 ( x ) dx
x
0
4! 15 90
On conclut que :

n−1 R x
= ∑ x2i E3 ( x)dx ≤ n M 4 5 M4 4

+
90 h =
2i 1
E Simp 180 h .

i =0
Algorithme 3.3 :

h ← (b − a)/n


s1 = 0


s2 = 0


ISimp = 0


pour i ← 1 à n − 1 f aire


s1 = s1 + f ( a + i ∗ h)



f in

pour i ← 1 à n f aire


s2 = s2 + ( f ( a + (2 − 1) ∗ 2h )



f in

ISimp = ( 6h ) ∗ ( f ( a) + 2 ∗ s1 + 4 ∗ s2 + f (b))



afficher ( ISimp)

R √
On désire donner une valeur approchée de I = 02 1 + x2 dx.
30 CHAPITRE 3. INTÉGRATION NUMÉRIQUE

1
On choisit n = 4, donc h = 2 et xi = ih pour i ∈ {0, 1, 2, 3}

xi 0,0 0,5 1,0 1,5 2,0


f ( xi ) 1,000000 1,118034 1,414214 1,802776 2,236068

Appliquons la méthode de Simpson, une valeur approchée de I est

h
( f ( x0 ) + f ( x4 ) + 4( f ( x1 ) + f ( x3 ) + 2 f ( x2 )) = 2, 957956
3

La fonction x → f ( x) = 1 + x2 est de classe C ∞ sur [0, 2]
1 7
et f 0 ( x) = x(1 + x2 )− 2 , ..., f (4) ( x) = −3(4x2 − 1)(1 + x2 )− 2 , donc

M4 = sup f (4) ( x) = 3.

0≤ x≤2

On conclut que :
M4 4
E Simp ≤ h = 0, 002083
180

3.3 Travaux Dirigés (correction en classe)

R π
2
On pose I = 0 f ( x)dx, sur la base du tableau suivant qui donne les valeurs de la fonc-
tion f :

π π
xi 0 8 4 3 π8 π
2
f ( xi ) 0 0,382683 0,707107 0,923880 1

1) Déterminer par la méthode des rectangles une valeur approchée de I.


2) Déterminer par la méthode de trapèzes, une valeur approchée de I.
3) Déterminer par la méthode de Simpson, une valeur approchée de I.
4) Ces points d’appui sont ceux donnant sinx, comparer alors les résultats obtenus
avec la valeur exacte.

On lance une fusée verticalement du sol et l’on mesure pendant les premières 80 se-
condes l’accélération γ :
t 0 10 20 30 40 50 60 70 80
γ 30 31, 63 33, 44 35, 47 37, 75 40, 33 43, 29 46, 70 50, 67
Calculer la vitesse V de la fusée à l’instant t = 80s, par la méthode des rectangles, des
Trapèzes puis par celle de Simpson.
On choisit les pas h = π5 puis h = 10π
.
Calculer à l’aide de la méthode des rectangles, des Trapèzes et de Simpson, l’intégrale
Z π
I= sin( x2 )dx
0
3.3. TRAVAUX DIRIGÉS (CORRECTION EN CLASSE) 31

Soit f une fonction de classe C2 sur I = [−1, 1] et a ∈ ]0, 1] . On considère le polynôme



P d’interpolation de Lagrange de f aux points − a et a et on pose M2 = max f (2) ( x) .

−1≤ x≤1
On note E( x) = f ( x) − P( x) l’erreur d’interpolation.

1) Vérifier que ∀ x ∈ I, |E( x)| ≤ M22 x2 − a2 .


2) Montrer que
M2
max a2 , 1 − a2 ,

a) max |E( x)| ≤ 2
−1≤ x≤1
R 1/2  1/2
4a2
b) 1
−1 (E( x))2 dx ≤ M2
2
2
5 − 3 + 2a4 ,
 3

R1 M2 2 8a
c) −1 |E( x)| dx ≤ 2 3 − 2a2 + 3 .
3) Dans chacun de ces trois cas déterminer a tel que le majorant de l’erreur soit mini-
mal. Préciser le majorant.

On considère la fonction f ( x) = −2 + 3x2 − x3 , définie sur l’intervalle I = [0, 1] .


1) Déterminer le polynôme de Lagrange qui interpole f aux points
x0 = 0, x1 = 12 , x2 = 1.
2) Déterminer le polynôme de Lagrange qui interpole f aux points
x0 = 0, x1 = 13 , x2 = 23 , x3 = 1.
3) Soit g( x) = sin( 3x ), x ∈ I, et Pn le polynôme interpolant la fonction g aux points
xi = ih, 0 ≤ i ≤ n, h = n1 . Estimer l’erreur
En = sup | g( x) − Pn ( x)| en fonction de n et étudier lim |En |
0≤ x≤1 n→+∞
Rh
h approcher I (if ) = 0 f (t)dt, on considère la méthode d’intégration
4) Pour h J ( f ) i=
h a f (0) + b f ( 3 ) . Déterminer les constantes a, b pour que h a f (0) + b f ( 2h
2h
3 ) soit
exacte pour les polynômes de degré le plus élevé possible.
5) Soit f une fonction de classe C 1 sur [0, h] , démontrer l’estimation de l’erreur
2
Z b
≤ M 5h ,

E n ( x ) dx
a 18

où M est une constante que l’on déterminera. (On pourra montrer que
 
1 3 2h 1 3 2h
( f (s) − f (0) − f ( ) = [ f (s) − f (0)] + f (s) − f ( ) ).
4 4 3 4 4 3
32 CHAPITRE 3. INTÉGRATION NUMÉRIQUE
Chapitre 4

Equations différentielles

Objectifs Pédagogiques

Au terme de ce chapitre, vous apprendrez à :


+ Apprendre les outils de bases qui permettent d’étudier le comportement des solu-
tions numériques d’équations différentielles ;
+ Explorer les propriétés de différentes méthodes simples d’intégration numérique
pour les équations ordinaires ;
+ Savoir appliquer les différentes méthodes d’approximations (Euler, Runge - Kutta) ;
+ Initier les étudiants aux problèmes de la mise en oeuvre de techniques informa-
tiques sur ordinateurs ;
+ Savoir résoudre les problèmes d’erreur d’approximations des solutions ;
+ Mettre effectivement en place les méthodes étudiées, grâce au logiciel Matlab.

33
34 CHAPITRE 4. EQUATIONS DIFFÉRENTIELLES

4.1 Exemples et motivations


Bien souvent, on ne sait pas résoudre exactement une équation différentielle. C’est à
dire qu’on ne sait pas donner la forme explicite des solutions. Il faut alors recourir à
des méthodes qui donnent des solutions approchées. Celles ci reposent sur des notions
d’Analyse Numérique que vous rencontrerez dans votre future formation d’ingénieur.
Nous nous contenterons d’aborder dans ce chapitre deux des méthodes les plus simples
à mettre en oeuvre ; celle d’Euler et celle de Runge - Kutta. La résolution numérique
des équations différentielles est probablement le domaine de l’Analyse Numérique
où les applications sont les plus nombreuses. Que ce soit en mécanique des fluides,
en transfert de chaleur ou en analyse des structures, on aboutit souvent à la résolution
d’équations différentielles, de systèmes d’équations différentielles ou plus générale-
ment d’équations aux dérivées partielles. [Evolution d’une population]
Considérons une population y d’animaux dans un milieu ambiant où au plus B ani-
maux peuvent coexister. On suppose que initialement la population y0  B et que
le facteur de croissance des animaux soit égal à une constante C. Dans ce cas, l’évolu-
tion de la population au cours du temps sera proportionnelle au nombre d’animaux
existants, sans toutefois que ce nombre ne dépasse la limite B. Cela peut s’exprimer par
l’équation différentielle suivante :
(  
y(t)
y0 (t) = Cy(t) 1 − B , t>0,
y(0) = y0 .

La résolution de cette équation permet de trouver l’évolution de la population au cours


du temps. [Modèle de Lotka-Volterra]
On considère deux populations, y et z, où y sont les proies et z les prédateurs. L’évo-
lution des deux populations est alors décrite par le système d’équations différentielles
suivant :  0
y (t) = C1 y(t) (1 − b1 y(t) − d2 z(t)) ,
z0 (t) = −C2 z(t) (1 − d1 y(t)) ,

où C1 et C2 sont les facteurs de croissance des deux populations, d1 et d2 tiennent compte


de l’interaction entre les deux populations. b1 est liée à la quantité de nourriture dis-
ponible pour la population des proies y1 . Ce modèle est connu sous le nom de Lotka-
Volterra.

4.2 Position du problème


Soit F (t, y, y0 , ..., y( p) ) = 0 une équation différentielle d’ordre p où t ∈ [ a, b] ⊂ R, y ∈
C p ([ a, b] , R) .
On dit que la fonction y(t) est solution de l’équation différentielle si et seulement si

F (t, y(t), y0 (t), ..., y( p) (t)) = 0, ∀t ∈ [ a, b]

Une équation différentielle peut avoir plusieurs solutions. Pour préciser, on introduit
des conditions particulières. Il est évident que pour une équation d’ordre p, p condi-
tions sont nécessaires pour fixer la solution.
4.3. PROBLÈME D’EXISTENCE ET D’UNICITÉ 35


 y( a) = η0
 y0 ( a) = η

1
 .
 ( p−1)

y ( a ) = η p−1

où η0 , ..., η p−1 sont des constantes données.


Dans ce chapitre, nous étudierons les équations différentielles du 1er ordre c’est - à -
dire les équations de la forme :

y0 (t) = f (t, y)


y( a) = η (η constante donnée),

car on peut montrer que les équations d’ordre supérieur se ramènent à un système
d’équations différentielles d’ordre 1 en posant :
z1 (t) = y0 (t), z2 (t) = z01 (t) = y00 ( x)..., etc.

4.3 Problème d’existence et d’unicité


4.3.1 Existence de la solution
Notre but est de trouver une solution de l’équation différentielle

y0 (t) = f (t, y(t)) vérifiant la condition initiale




y(t0 ) = y0

Pour formuler le problème de façon précise, nous allons faire des hypothèses sur f (t, y).
Hypothèse 1 : La fonction f (t, y) est à valeurs réelles et elle est continue sur un do-
maine D du plan (t, y) défini par
t0 − α < t < t0 + α, y0 − β < y < y0 + β où α et β sont positifs.
Cette hypothèse montre que f (t, y) est continue sur D donc f (t, y) est borné  dansD,
β
c’est - à - dire : ∃ M ∈ R tel que sup | f (t, y| = M. On peut poser h = min α, M .
(t,y)∈ D
Hypothèse 2 : f (t, y) satisfait à la condition de Lipschitz relativement à y dans D c’est -
à - dire ∃ L ∈ R+ telle que : | f (t, y1 ) − f (t, y2 )| ≤ L | y1 − y2 | , ∀(t, y1 ) et (t, y2 ) ∈ D.
On va définir une suite yn (t) qui converge uniformément vers la solution y(t) sur |t − t0 | ≤
h, soit la suite définie de la façon suivante sur |t − t0 | ≤ h :
y0 (t) = y0 , y1 (t) = y0 + tt0 f ( x, y0 ( x))dx, ...,
R

yn (t) = y0 + tt0 f ( x, yn−1 ( x))dx.


R

[Piano]
La suite { yn (t)} converge uniformément sur le segment |t − t0 | ≤ h vers y(t) vérifiant :

y0 (t) = f (t, y(t))




y(t0 ) = y0
36 CHAPITRE 4. EQUATIONS DIFFÉRENTIELLES

4.3.2 Généralisations aux systèmes du 1er ordre


On cherche une fonction y(t) ∈ Rn telle que
 0
y (t) = f (t, y(t)) t ∈ [ a, b] , f : [ a, b] × Rn → Rn
y(t0 ) = y0 .

On fait des hypothèses équivalentes sur f (t, y) .


Hypothèse 1 : f (t, y) est continue sur un compact.
Hypothèse 2 : Pour la condition de Lipschitz, il suffit de remplacer ” valeur absolue” par une
norme de Rn car la formulation de la condition de Lipschitz donc l’existence et l’unicité est
indépendante de la norme choisie.

4.4 Méthodes numériques


Il existe deux grandes classes de méthodes numériques
a) Les méthodes à 1 pas.
b) Les méthodes à pas multiples.
Dans les deux cas, un principe de base essentiel est le suivant : le problème mathématique,
quel qu’il soit, traite les fonctions à valeurs dans R, ayant pour support un intervalle de R;
donc un nombre de points ayant la puissance du continu ; or, sur un calculateur, nous sommes
obligés de travailler sur un nombre fini de points judicieusement choisis et répartis sur l’inter-
valle [ a, b] .
Souvent les points tn sont équidistants. On écrit alors tn = t0 + nh,
n=0,...,N.Laquantithestalorsappelelepasdelamthode.
Dans tous les cas, une méthode discrète consiste pour chaque point tn à trouver une valeur yn
qui est une valeur approchée de y(tn ) solution exacte de l’équation au point tn . Dans une mé-
thode à 1 pas, la valeur yn peut être trouvée si et seulement si yn−1 est connu ; la connaissance
de yn−2 , yn−3 n’est pas nécessaire. Une méthode à k pas nécessite en mémoire yn−1 , yn−2 , ..., yn−k
pour calculer yn . Dans les méthodes à un pas, le point de départ ne joue pas un rôle spécial ce
qui rend facile le changement du pas h. Les méthodes à pas multiples nécessitent une procé-
dure de départ spéciale. Une des principales questions qui se posent est la valeur de la quan-
tité e(tn ) = yn − y(tn ) : erreur de discrétisation. Ces méthodes sont presque toujours appli-
cables. La seule condition nécessaire pour pouvoir les appliquer est la possibilité de calculer
une bonne approximation de la valeur de f (t, y) pour un (t, y) donné.

4.4.1 Méthode d’Euler - Cauchy.


L’idée principale est d’approcher, au voisinage d’un point (t0 , y0 ), une fonction inconnue par
sa tangente, qui elle est connue.
Les erreurs commises à chaque pas de calcul se propagent et finalement l’erreur obtenue au
pas k est de la forme :
ek = k y(tk ) − yk k = O( h)
La valeur de h influence donc énormément la précision de la méthode, mais aussi sa stabilité.
En effet si la largeur du pas de calcul h est trop importante, la méthode peut ne pas converger.
Nous étudierons complètement cette méthode car c’est la plus simple de toutes les méthodes
de résolution approchée.
4.4. MÉTHODES NUMÉRIQUES 37

Soit à résoudre
y0 (t) = f (t, y(t)),

t∈ [ a, b]
y(t0 ) = y0

On considère une subdivision de [ a, b] en N intervalles égaux ti = a + ih.


y(ti + h) = y(ti ) + hy0 (ti ) + 0(h2 ) or y0 (ti ) = f (ti , yi )
y ( ti + h ) = y ( ti ) + h f ( ti , yi ) + 0 ( h 2 ) .
On aura donc une approximation de y au point ti+1 par la formule

yi +1 = yi + h f ( ti , yi ) , i≥ 0
y0 donnée

4.4.2 Erreur de la méthode


L’erreur est de deux sources
a) erreur de troncature (dûe à la méthode elle - même) : ei = | yi − y(ti )|
b) erreur d’arrondi dûe à la précision du calcul. Soit ybi la valeur calculée de yi : ri = | ybi − yi | .
L’erreur totale est donc
Ei = | ybi − y( xi )| < ri + ei .
La méthode est convergente si en → 0 quand h → 0.

4.4.3 Algorithme (Euler)


Algorithme 4.1 :



y0 = y(t0 ) = y( a)

y0 = t0 = a
n = nombre de pas
h = b− a


n

Pour k de 1 à n Faire

yk = y k − 1 + h ∗ f ( t k − 1 , y k − 1 )

tk = t k − 1 + h
Fin Pour

En sortie de l’algorithme on obtient le vecteur ( y0 , y1 , ..., yn ) correspondant au (n + 1) valeurs


de la solution approchée y associées à (t0 , t1 , ..., tn ).

Soit l’équation différentielle suivante


 0
y (t) + 3y(t) = 4 sin(t) + e−t , t > 0
y(0) = 1.

C’est une équation différentielle d’ordre 1, sa solution exacte est

2 6 1 9 −3t
yexacte (t) = − cos(t) + sin(t) + e−t + e .
5 5 2 10
38 CHAPITRE 4. EQUATIONS DIFFÉRENTIELLES

Choisissons h = 0, 1 et déterminons les valeurs approchées yi par la méthode d’Euler et l’er-


reur associée ei .
On a : y0 = 1 et pour 1 ≤ i ≤ n
yi = yi−1 + h f (ti−1 , yi−1 ) = yi−1 + 0, 1(−3yi−1 + 4 sin(ti−1 ) + e−(ti−1 ) ).
Les valeurs sont

i
ti yi yexacte (ti ) ei = | yi − yexacte (ti )|

0 0, 00 1, 00000000 1, 00000000 0, 00000000

1 0, 10 0, 80000000 0, 84095354 0, 04095354

2 0, 20 0, 69041711 0, 74967241 0, 05925531

3 0, 30 0, 64463278 0, 70881146 0, 06417867

4 0, 40 0, 64353285 0, 70511243 0, 06157957

5 0, 50 0, 67327234 0, 72836010 0, 05508776

6 0, 60 0, 72371392 0, 77061154 0, 04689762

7 0, 70 0, 78733790 0, 82562779 0, 03828989

8 0, 80 0, 85848213 0, 88845527 0, 02997313

9 0, 90 0, 93281283 0, 95511810 0, 02230527

10 1, 00 1, 00695671 1, 02239234 0, 01543563

4.5 Les schémas à un pas


Ce sont les schémas définis par une équation de récurrence et qui permettent de calculer yi+1
en utilisant yi , ti , h, f (ti , yi ).
La formule générale sera donc

yi+1 = yi + hΦ(ti , yi , h), i ≥ 0
(4)
y0 = ηh donnée

Nous dirons que la méthode (4) est consistante avec l’équation différentielle si :
max |[ y(tn+1 ) − y(tn )] − Φ(tn , y(tn ), h)| → 0, quand h → 0 ,
n = 0, ..., N − 1, pour toute solution continue sur [ a, b] de l’équation différentielle. Donc on
voit que la méthode approche la solution dans un certain sens, la définition suivante concerne
la propriété de continuité uniforme en h de l’application qui aux données fait correspondre la
solution du schéma.
Soient { yn } et { zn } les solutions respectives des systèmes suivants :

yn+1 = yn + hΦ(tn , yn , h)
y0 fixé quelconque dans R

zn+1 = zn + h [ Φ ( tn , yn , h ) + εn ]
z0 fixé quelconque dans R

Nous dirons que la méthode (4) est stable s’il existe deux constantes M1 et M2 indépendantes
de h telles que
max | yn − zn | ≤ M1 | y0 − z0 | + M2 max |εn | .
n=0,...,N n=0,...,N

Cette notion de stabilité signifie qu’une petite perturbation sur les données n’entraîne qu’une
petite perturbation sur la solution du schéma et ceci indépendamment de h.
4.5. LES SCHÉMAS À UN PAS 39

Remarquons que la stabilité est une propriété intrinsèque du schéma de résolution numérique.

Nous dirons que la méthode (4) est convergente si ∀ζ ∈ R, si ηh → ζ quand h → 0 et si { yn }


est la solution de y0 (t) = f (t, y(t)), nous avons max | yn − y(tn )| → 0 quand h → 0 où
n=0,...,N
y ∈ C 1 ([ a, b]) est la solution de l’équation différentielle.
Nous allons relier ces trois notions de consistance, de stabilité et de convergence à l’aide du
théorème fondamental suivant :

Si la méthode est consistante et stable, elle est convergente.


Preuve :
Puisque la méthode est consistante, nous avons pour toute solution y de l’équation différen-
tielle
y(tn+1 ) = y(tn ) + h [Φ(tn , y( xn ), h) + εn ] , n = 0, ..., N − 1
ou max |εn | → 0 quand h → 0.
n=0,...,N −1
D’où
max | yn − y(tn )| ≤ M1 |ηh − ζ | + M2 max |εn | .
n=0,...,N n=0,...,N −1

Si Φ(t, y, h) vérifie
• Φ(t, y, 0) = f (t, y) ∀t ∈ [ a, b]
• |Φ(t, y, h) − Φ( x, y∗ , h)| ≤ L | y − y∗ |
Alors la méthode est convergente.

4.5.1 Notion d’ordre d’une méthode


On a :
yn+1 − yn
Φ(tn , yn , h) = h .
y(tn +h)− yn
Soit 4(tn , yn , h) = h y(tn + h) est solution exacte en tn + h.
,
On dira qu’un schéma est d’ordre p si p est le plus grand entier tel que :
|Φ(tn , yn , h) − 4(tn , yn , h)| ≤ Ah p , A ne dépend pas de y et Φ
c’est - à - dire
|Φ(tn , yn , h) − 4(tn , yn , h)|
lim =A
h→0 h
On voit que la méthode sera d’autant meilleure que p sera grand.
[Majoration de l’erreur]
Si Φ(t, y, h) vérifie :
• Φ continue en t et en y au voisinage de h = 0.
• Φ est Lipschitzienne en y.
• ∃ A et p tels que |Φ(t, y, h) − 4(t, y, h)| ≤ Ah p .
Alors l’erreur de discrétisation est d’order p et l’on a
e L(t− a) − 1
|en | = | yn − y(tn )| ≤ Ah p ,
L
où L est la constante de Lipschitz de Φ en y. On voit donc pour un schéma d’ordre p l’er-
reur est aussi d’ordre p. Ce théorème donne une estimation de l’erreur mais ne permet pas le
contrôle de celle - ci, pour cela il faudrait pouvoir estimer la constante A ce qui est en général
impossible.
40 CHAPITRE 4. EQUATIONS DIFFÉRENTIELLES

4.5.2 Construction d’un schéma d’ordre p


Soit y(t) la solution exacte de y0 (t) = f (t, y(t)),

y(t + h) − y(t) h
= y0 (t) + y00 + o(h2 ) = 4(t, y(t), h).
h 2
Mais
∂y0
y0 = f (t, y), y00 = = f x0 + f y0 f ,
∂t
h h
4(t, y, h) = f (t, y) + f t0 + f y0 f + o(h2 ).
2 2
On aura donc un schéma d’ordre 2 et en choisissant comme fonction d’accroissement :
h 0 h
Φ(t, y, h) = f (t, y) + f t (t, y) + f y0 (t, y) f (t, y),
2 2
on peut montrer que ce schéma est stable et consistant. La complexité des expressions analy-
tiques des dérivées augmentent, cette méthode est donc en général à éviter sauf dans des cas
simples (équations linéaires). On est donc amenée à rechercher un schéma d’ordre p qui ne
nécessite pas le calcul des dérivées de f .

4.5.3 Schémas de Runge - Kutta


Posons Φ(t, y, h) = a1 f (t, y) + a2 f (t + p1 h, y + p2 h f (t, y)) et essayons de déterminer a1 , a2 , p1
et p2 pour que le schéma soit convergent et d’ordre 2.
f (t + p1 h, y + p2 h f ) = f + p1 h f t0 + p2 h f f y0 + o(h2 ) ⇒

Φ(t, y, h) = ( a1 + a2 ) f (t, y) + a2 p1 h f t0 (t, y) + a2 p2 h f (t, y) f y0 (t, y) + o(h2 ).

D’autre part :
h 0 h
4(t, y, h) = f (t, y) + f t (t, y) + f y0 (t, y) f (t, y) + o(h2 ),
2 2
pour
 que le schéma soit d’ordre 2, il faut que :
a1 + a2 = 1
a2 p1 = 21

 a2 = α,
 a1 = 1 − α,



1
d’où p1 = 2α ,
1
p = 2α ,

2



a2 p2 = 21 .

On a donc le schéma général de Runge - Kutta d’ordre 2
 
h h
yn+1 = yn + h (1 − α ) f ( xn , yn ) + α f ( xn + , yn + f ( xn , yn ) .
2α 2α
Cette méthode est consistante et stable. Elle est actuellement universellement utilisée et donne
d’excellents résultats.
Cas particuliers
4.5. LES SCHÉMAS À UN PAS 41

La méthode d’Euler n’est qu’un exemple de méthodes plus générales de résolution, les mé-
thodes dites de Runge - Kutta. Elles consistent à écrire une solution approchée y où inter-
viennent uniquement des évaluations de la fonction f (et pas de ses dérivées !) de manière à
ce que ce que cette solution algébrique conduise à une erreur du même ordre que celle du dé-
veloppement en série de Taylor.
Chaque méthode de Runge - Kutta consiste à écrire y(t + 1), solution approchée du problème
de Cauchy, sous la forme d’une combinaison linéaire de y(t) et de valeurs de la fonction f
de telle manière que le développement en série de Taylor de cette combinaison linéaire algé-
brique soit égal au développement de Taylor de y(t + 1) jusqu’à un ordre fixé.

4.5.4 Algorithme (RK2)

Algorithme 4.2 :

y0 = y(t0 ) = y( a)


y0 = t0 = a


n = nombre de pas


h = b− a


n

Pour k de 1 à n Faire
k1 = f ( tk−1 , yk−1 )
k2 = f (tk−1 + 12 h, yk−1 + 2h k1 )




yk = yk−1 + 2h (k1 + k2 )

tk = tk−1 + h
Fin Pour

Soit l’équation différentielle suivante

y0 (t) + 3y(t) = 4 sin(t) + e−t , t > 0




y(0) = 1.

C’est une équation différentielle d’ordre 1, sa solution exacte est

2 6 1 9 −3t
yexacte (t) = − cos(t) + sin(t) + e−t + e .
5 5 2 10

Choisissons h = 0, 1 et déterminons les valeurs approchées yi par la méthode de Runge Kutta


d’ordre 2 et l’erreur associée ei

 y0 = 1
 yi+1 = yi + 2h (k1 + k2 ), 0 ≤ i ≤ n − 1



avec k1 = f (ti , yi ) et k2 = f (ti + h, yi + hk1 )
 k1 = −3 ∗ yi + 4 ∗ sin(ti ) + exp(−ti );



k2 = −3 ∗ ( yi + h ∗ k1 ) + 4 ∗ sin(ti + h) + exp(−(ti + h));

42 CHAPITRE 4. EQUATIONS DIFFÉRENTIELLES

i
ti yi yexacte (ti ) ei = | yi − yexacte (ti )|

0 0, 00 1, 00000000 1, 00000000 0, 00000000

1 0, 10 0, 84520855 0, 84095354 0, 04095354

2 0, 20 0, 75599676 0, 74967241 0, 05925531

3 0, 30 0, 71583182 0, 70881146 0, 06417867

4 0, 40 0, 71199585 0, 70511243 0, 06157957

5 0, 50 0, 73462832 0, 72836010 0, 05508776

6 0, 60 0, 77601532 0, 77061154 0, 04689762

7 0, 70 0, 83006257 0, 82562779 0, 03828989

8 0, 80 0, 89190524 0, 88845527 0, 02997313

9 0, 90 0, 95761964 0, 95511810 0, 02230527

10 1, 00 1, 02401050 1, 02239234 0, 01543563

4.5.5 Algorithme (RK4)


Algorithme 4.3 :

y0 = y(t0 ) = y( a)


y0 = t0 = a


n = nombre de pas


h = b− a

n



Pour k de 1 à Faire
k1 = f ( tk−1 , yk−1 )
k2 = f (tk−1 + 12 h, yk−1 + 2h k1 )




k3 = f (tk−1 + 12 h, yk−1 + 2h k2 )

k4 = f (tk−1 + h, yk−1 + hk1 )

yk = yk−1 + 6h (k1 + 2k2 + 2k3 + k4 )

tk = tk−1 + h
Fin Pour
4.5. LES SCHÉMAS À UN PAS 43

Soit l’équation différentielle suivante

y0 (t) + 3y(t) = 4 sin(t) + e−t




y(0) = 1.
C’est une équation différentielle d’ordre 1, sa solution exacte est
2 6 1 9 −3t
yexacte (t) = − cos(t) + sin(t) + e−t + e .
5 5 2 10
Choisissons h = 0, 1 et déterminons les valeurs approchées yi par la méthode de Runge Kutta
d’ordre 4 et l’erreur associée ei

y0 = 1


yi+1 = yi + 6h (k1 + 2k2 + 2k3 + k4 ), 0 ≤ i ≤ n − 1








 avec
 k = f ( t , y ),
1 i i

 k2 = f (ti + 2h , yi + 2h k1 ),
k3 = f (ti + 2h , yi + 2h k2 )





 et



k4 = f (ti + h, yi + hk3 )

Les valeurs sont



i
ti yi yexacte (ti ) ei = | yi − yexacte (ti )|

0 0 1 1 0

1 0, 1 0, 87113407 0, 840953541 0, 004255013

2 0, 2 0, 79933663 0, 749672415 0, 00632435

3 0, 3 0, 77030904 0, 708811456 0, 007020368

4 0, 4 0, 77302375 0, 705112427 0, 00688342

5 0, 5 0, 79889439 0, 728360096 0, 006268221

6 0, 6 0, 84116329 0, 77061154 0, 005403781

7 0, 7 0, 89445018 0, 825627787 0, 004434783

8 0, 8 0, 95442015 0, 888455265 0, 003449977

9 0, 9 1, 01753982 0, 955118096 0, 002501542

10 1 1, 08089874 1, 022392342 0, 001618163

4.5.6 Cas des systèmes différentielles d’ordre 1


Le problème à résoudre peut s’écrire sous forme vectorielle :
( −
→ − → − →
Y 0 = F (t, Y )

→ −
Y0 = →η

→ −→
où Y = ( y1 , ..., yn ), −

η donnée, F = ( f 1 , ..., f n ).
Pour résoudre ce système, nous allons aussi procéder par pas et utiliser une méthode de la
forme suivante :
( −
→ −
→ −→ − →
Y i +1 = Y i + h Φ ( ti , Y i , h )


Y0 =− →η donnée
44 CHAPITRE 4. EQUATIONS DIFFÉRENTIELLES

Les définitions de consistance, stabilité, convergence et ordre de la méthode sont encore va-
lables ici, à condition de remplacer la valeur absolue par une norme de Rn .
Par analogie, au cas d’une seule équation, nous avons la méthode de Runge - Kutta d’ordre 4 :


→ − 1 h−
→ −
→ −→ − →i
Φ (t, →
y , h) = k 1 + 2 k2 + 2 k3 + k4
6
avec

→ −
→ →
k1 = F (t, −
y ),

→ −
→ h → h− →
k2 = F (t + , − y + k1 ),
2 2

→ −
→ h → h− →
k3 = F (t + , − y + k2 ),
2 2

→ −
→ −→
et k4 = F (t + h, − →
y + h k3 ).
4.6. TRAVAUX DIRIGÉS (CORRECTION EN CLASSE) 45

4.6 Travaux Dirigés (correction en classe)

Soit le problème de Cauchy suivant :

y0 (t) = e−t − 2y(t) , t ∈ [0, 1]



(1)
y(0) = 1
1) Montrer que la f (t, y) associée à (1) est Lipschitzienne par rapport à y uniformé-
ment par rapport à t, et donner une constante de Lipshitz.
2) Montrer que ce problème admet une solution unique.
3) Donner la solution exacte de (1), ainsi que y(0, 2).
4) Appliquer la méthode d’Euler à ce problème, écrire l’algorithme correspondant et
donner l’approximation y2 de y(0, 2) obtenue à l’aide d’un pas de discrétisation nu-
mérique h = 0, 1.
5) Rappeler l’erreur de la méthode d’Euler et la comparer à l’erreur commise sur le
calcul de y(0, 2); commentaires ?
6) Appliquer la méthode de Runge - Kutta d’ordre 2 à ce problème, écrire l’algorithme
correspondant et donner l’approximation y2 de y(0, 2) obtenue à l’aide d’un pas de
discrétisation numérique h = 0, 1.
7) Appliquer la méthode de Runge - Kutta d’ordre 4 à ce problème, écrire l’algorithme
correspondant et donner l’approximation y2 de y(0, 2) obtenue à l’aide d’un pas de
discrétisation numérique h = 0, 1.

Soit l’équation différentielle

yy0 (t) = y2 − 2t,



y(0) = 1

1) Approcher la solution de cette équation en t = 0, 2 à l’aide de la méthode de Runge


- Kutta d’ordre 2, avec un pas h = 0, 2
2) Trouver la solution exacte de cette équation différentielle.
3) Comparer.
46 CHAPITRE 4. EQUATIONS DIFFÉRENTIELLES

Soit l’équation différentielle du second ordre


 00
y (t) + 2y0 (t) = 2y(t) , t ∈ [ a, b]
y( a) = 1 et y0 ( a) = 2

1) Écrire cette équation différentielle sous forme d’un système différentiel de deux
équations différentielles d’ordre 1.
2) Appliquer la méthode de Runge - Kutta d’ordre 2 à ce système.
Chapitre 5

Résolution numérique des systèmes


linéaires

Objectifs Pédagogiques

Au terme de ce chapitre, vous apprendrez à :

+ Connaître les définitions de base de la résolution des systèmes linéaires ;

+ Comprendre intuitivement et mathématiquement les principaux éléments de résolu-


tion numérique des solutions des systèmes linéaires ;

+ Appliquer les concepts fondamentaux à des situations diverses liées à des systèmes
linéaires ;

+ Savoir résoudre un système d’équations linéaires ;

+ Savoir programmer les méthodes numériques et savoir les comparer, avec le logiciel
Matlab.

47
48 CHAPITRE 5. RÉSOLUTION NUMÉRIQUE DES SYSTÈMES LINÉAIRES
Première partie

Méthodes Directes

49
5.1. EXEMPLE DE MOTIVATION 51

5.1 Exemple de motivation


[Application économique]

Une entreprise dispose d’un stock de matières qu’elle veut utiliser pour une compagne pu-
blicitaire promotionnelle.
Elle prépare pour cela divers lots promotionnels Mi , (i = 1, ..., 5). Voici en milliers d’exem-
plaires, le stock

Matières M1 M2 M3 M4 M5
Nombre en milliers 12 20 32 45 36

Les colis sont de cinq sortes et contiendront en plus des cadeaux optionnels

M1 M2 M3 M4 M5
Colis n◦ 1 2 1 0 1 2
Colis n◦ 2 1 1 1 1 0
Colis n◦ 3 0 2 1 1 0
Colis n◦ 4 3 1 3 1 3
Colis n◦ 5 1 0 1 1 4

Cette entreprise désire déterminer le nombre de lots de chaque sorte pour absorber l’en-
semble du stock.
Désignons par xi le nombre de milliers de lots n◦ i, (i = 1, ..., 5).
Il faut alors résoudre le système linéaire Ax = b :



 2x1 + x2 + 3x4 + x5 = 12
x1 + x2 + 2x3 + x4 = 20



x2 + x3 + 3x4 + x5 = 32
x1 + x2 + x3 + x4 + x5 = 45




2x1 + 3x4 + 4x5 = 36

Où sous forme matricielle :

    
2 1 0 1 2 x1 12
  x2  20
1 1 1 1 0    

  x3  = 32
0 2 1 1 0    

3 1 3 1 3  x4  45

1 0 1 1 4 x5 36

[Approximation d’une équation aux dérivées partielles]


52

On considère le modèle linéaire (P) suivant :


 00
 −u ( x) + c( x)u( x) = f ( x) pour 0 < x < 1
( P) u(0) = K1
u(1) = K2

où c ∈ C([0, 1] , R+ ), et f ∈ C([0, 1] , R), qui peut modéliser par exemple un phénomène de


diffusion - réaction d’une espèce chimique.
On s’intéresse à l’approximation par la méthode de la différence finies du problème station-
naire ( P).
Soit un pas du maillage constant h = N1+1 et une subdivision de ]0, 1[ , notée ( xk )k=0,...,N +1 ,
avec : x0 = 0 < x1 < ... < x N +1 = 1. Soit ui l’inconnue discrète associée au noeud i (i =
1, ..., N ). On obtient les équations discrètes en approchant u00 ( xi ) par la formule de Taylor,

u( xi + h) − 2u( xi ) + u( xi − h) 00 h2 (4)
= u ( x i ) + u (ζ ).
h2 24

Posons ci = c( xi ), f i = f ( xi ) pour i = 1, ..., N


d’où on approche ( P) par le schéma
 u −2u +u
 − i+1 h2i i−1 + ci ui = f i pour i = 1, ..., N
( Ph ) u0 = K1

u N +1 = K2

On pose αi = 2
+ ci , i = 1, ..., N, β = −1 et
h2 h2
 
α1 β 0 . . . 0
β α2 β . . . 0
f 1 + Kh21
     
u1  
 . 
 0 β . . . . . 
 .   
Uh = 
 .  , Bh = 
   et Ah =  . . . . . . . 
.   
 . . . . . . . 
uN f N + Kh22 
 . . . . β α β


0 . . . 0 β αN

Ce qui revient à écrire ces équations sous forme matricielle :

Ah Uh = Bh .

5.2 Introduction
Contrairement à ce qu’une analyse sommaire pourrait laisser supposer, la solution d’un sys-
tème linéaire Ax = b ne s’obtient pas en calculant A−1 . Il ne faut pas utiliser cette méthode
car le temps et les erreurs de calcul augmentent. La résolution des systèmes linéaires se par-
tagent en deux grandes familles : les méthodes directes et les méthodes indirectes. Les mé-
thodes directes, d’inspiration algébrique, ont pour objectifs de fournir au bout d’un nombre
5.3. MÉTHODE DE GAUSS 53

fini d’étapes une expression théoriquement exacte de la solution en réduisant considérable-


ment le nombre d’opérations nécessités par la méthode de Cramer. Les deux principales mé-
thodes directes sont la méthode de Gauss et la méthode de Choleski. Pourtant, à partir d’un
certain nombre de données non nulles, les méthodes directes encourent les critiques faites aux
formules de Cramer. Les méthodes indirectes dites aussi itératives s’inspirent de l’Analyse.
Ce sont des méthodes de point fixe. Elles cherchent à définir une suite qui converge vers la so-
lution, cette convergence n’est pas toujours réalisée, mais lorsque ces méthodes convergent,
elles sont très avantageuses pour les très gros systèmes (Grande taille). La résolution numé-
rique d’un système linéaire est un problème de base en calcul scientifique. De nombreux algo-
rithmes complexes consistant résoudre une suite de systèmes linéaires.

5.3 Méthode de Gauss


5.3.1 Définitions et premiers exemples

Si n ≥ 1, on appelle système linéaire à n équations et n inconnues un ensemble de p équations


linéaires ayant les mêmes n inconnues :

a11 x1 + a12 x2 + . . . + a1n xn = b1





 a21 x1 + a22 x2 + . . . + a2n xn = b2


(S) .. ..



 . .

an1 x1 + an2 x2 + . . . + ann xn = bn

Les scalaires ai j , 1 ≤ i ≤ n, 1 ≤ j ≤ n sont encore appelés les coefficients du système. Il est


d’usage d’utiliser le premier indice pour numéroter les lignes et le deuxième indice pour nu-
méroter les colonnes. Le n-uplet b = (b1 , . . . , bn ) est appelé second membre du système. Lorsque
tous les b j sont nuls (on dit encore que b est nul), on dit que le système est homogène.
L’ensemble des solutions de (S) est le sous-ensemble de Rn formé des ( x1 , . . . , xn ) qui vérifient toutes
les équations de (S). On cherche à résoudre le système (S), c’est - à - dire d’écrire précisément cet en-
semble.

Cas d’une matrice diagonale


a x = b1
 11 1


a22 x2 = b2
(D)

 ..
ann xn = bn

Ces relations s’écrivent sous la forme d’un système linéaire matriciel Ax = b où


 
a11 0 ... 0
 0 a22 0 . . . 0 
 
A= 0
 0 a33 . . . 0   ,
 .. .. .. .. 
 . . . . 0 
0 0 0 0 ann
54
   
x1 b1
 x2   b2 
x=  et b =   .
   
.. ..
 .   . 
xn bn
(La matrice D est inversible si et seulement si les éléments de la diagonale sont non nuls.)
La solution de ce système linéaire (D) est xi = abi pour i = 1, ..., n.
ii

Cas d’une matrice triangulaire supérieure


a x + a12 x2 + ...+ a1n xn = b1
 11 1


a22 x2 + ...+ a2n xn = b2
(T )

 ...
ann xn = bn

Ce système triangulaire s’écrit matriciellement Tx = b


a11 a12 · · ·
 
a1n
 .. 
 0 a22 . 
où T =  .
  .
 .. . .. a

n−1n

0 ··· 0 1

(La matrice T est inversible si et seulement si les éléments de la diagonale sont non nuls.)
La nième équation dépend uniquement de l’inconnu xn , on a donc :

bn
ann xn = bn , soit xn = .
ann
La (n − 1)ième équation
an−1n−1 xn−1 + an−1n xn = bn−1
dépend uniquement de xn et xn−1 , or, xn est connu, d’où

1
xn−1 = (bn−1 − an−1n xn ).
an−1n−1

Pour k > 0, xk est déterminé de la même manière que les inconnus

xn , xn−1 , · · · , xk+1

par (pour k = n − 1, n − 2, ..., 2, 1)


!
n
1
xk = bk − ∑ aki xi
akk i =k+1

1) Tous les coefficients akk sont supposés non nuls, sinon la matric A n’est pas inversible et le
système linéaire Ax = b n’as pas une solution unique.
2) Les matrices triangulaires sont essentielles pour la résolution des systèmes linéaires.
5.3. MÉTHODE DE GAUSS 55

L’algorithme de Gauss comporte deux phases :


La première ramène le système

a x + a12 x2 + ... + a1n xn = b1
 11 1


a21 x1 + a22 x2 + ... + a2n xn = b2
(1)

 ....
an1 x1 + an2 x2 + ... + ann xn = bn

ou Ax = b
au système équivalent (même solution) de forme triangulaire simple à résoudre :

c x + c12 x2 + .... + c1n xn = d1
 11 1


c22 x2 + ... + c2n xn = d2
(2)

 ...
cnn xn = dn

ou Cx = d
La seconde phase consiste alors à résoudre le système (2) obtenu. Nous décrirons l’algorithme
complet avec un langage proche de celui de la programmation. Ainsi nous n’utiliserons qu’un
” tableau ” A éléments ai j ) et un vecteur b éléments bi ) qui seront initialisés avec la matrice
et le second membre du système (1). Ils seront ensuite transformés au cours des différentes
étapes de la première phase. A la fin de cette phase les valeurs ci j et di de (2) apparaîtront en
position ai j ( j ≥ i ) et bi .

5.3.2 Première phase (élimination)


Décrivons à présent les étapes de la méthode du Pivot de Gauss : étant donné un système de
la forme Ax = b
 
a11 a12 a13 ... a1n L1
 a21 a22 a23 . . . a 2n
 L2
A= .  .. .
 
.. .. ..
 .. . . .  .
an1 an2 ... an−1n ann Ln
où ai j ∈ R pour 1 ≤ i, j ≤ n et Li représente la iième ligne de la matrice A, 1 ≤ i ≤ n.
La première étape de la résolution de Ax = b consiste à éliminer x1 de toutes les équations
sauf la première. Dans le cas où a11 6= 0, on triangularise la matrice, c’est à dire :
la ligne L2 est remplacée par L2 − aa2111
L1
a31
la ligne L3 est remplacée par L3 − a11 L1
la ligne Ln est remplacée par Ln − aan111
L1
de même pour le vecteur b :
b2 remplacée par b2 − aa1121
b1
a31
b3 remplacée par b3 − a31 b1
bn remplacée par bn − aan111
b1

L’élément a11 s’appelle le pivot. Si a11 = 0, on cherche un coefficient non nul ai1 , i = 2, · · · , n,
(un tel coefficient existe, sinon la matrice est non inversible) et on permute la ligne i avec la
première ligne pour que le nouveau pivot qui est le coefficient à la position 1, 1 soit non nul.
56

L’étape k de la résolution consiste à éliminer l’inconnu xk de toutes les équations sauf les k-
(k)
premières. De la même manière que la première étape, si le pivot akk 6= 0, on fait les mêmes
transformations et au bout de (n − 1) étapes, on obtient un système triangulaire.

5.3.3 Deuxième phase (remontée)


Le système triangulaire obtenu

a11 x1 + a12 x2 + a13 x3 ... + a1n xn = b1

 c22 x2 + c23 x3 ... + c2n xn = b02
 .
(3) 

 ckk xk ... + ckn xk = b0k
 .
cnn xn = b0n

est naturellement résolu par remontée : on tire xn de l’équation n . D’où l’on déduit xn−1 de
l’équation (n − 1) et de manière générale xk est calculée à partir de l’équation k en utilisant les
valeurs déjà obtenues pour xk+1 , xk+2 , ..., xn .

5.3.4 Algorithme de Gauss


r = aaik
  "
 i = k+1àn h kk
 k = 1 à n−1 : j = k + 1 à n ai j = ai j − rak j



 bi = bi − rbk
(4) xn = abnn
n


s = bhk



 j = k+1 n : s = s−a x

 k = n−1à1  kj j
xk = as
kk

1) Le symbole i = 1 à m signifie qu’il faut effectuer l’ensemble des instructions sous le signe
[ pour i = 1, 2, ...jusqu’ à i = m. Le symbole i = m à 1 s’interprète de la même manière mais
avec un pas de −1.

5.3.5 Le coût (nombres d’opérations)


n(n−1)
D’après (4) la phase 1 nécessite 2 ÷
n(n2 −1)
3 + et ×
n(n−1)
Pour la phase 2 le nombre de divisions est n et celui des additions et multiplications est 2 .
n3
Pour n ” assez grand ” c’est le coût en + et × qui est prépondérant et équivalent à 3 ce qui
n3
doit être interprété comme 3 + et ×.

Si à l’étape k akk est nul l’algorithme ne peut être poursuivi de la même façon. Dans une telle
situation on cherche une ligne (parmi celles de numéro k + 1, ..., n) dont le coefficient aik soit
acceptable. La ligne choisie servira alors de ligne pivot pour l’élimination de xk .
5.3. MÉTHODE DE GAUSS 57

Pratiquement cela revient à changer la ligne choisie et la ligne k. Ensuite l’algorithme peut être
poursuivi comme prévu. Le choix de pivot doit être introduit en début de boucle k dans le
programme (4). La ligne choisie peut résulter de critères divers ; un exemple de choix est ce-
lui du pivot maximal (on choisit la ligne i qui a un coefficient | aik | le plus grand). Sans préciser
le critère de choix le programme (4) est complété comme suit :

l = (ligne choisie)
 j = k à n : t = ak j ak j = al j al j = t


 t = bk bk = bl bl = t
k = 1 à n−1
 i = k+1àn

 .
 comme en (4)
.

Soit le système linéaire :



 2x + y − 3z = 5
4x + y + 5z = −1
10x − 7y + 13z = −3

La première itération donne



 2x + y − 3z = 5
− y + 11z = −11
−12y + 28z = −28

La deuxième itération donne



 2x + y − 3z = 5
− y + 11z = −11
−104z = 104

On applique alors une méthode de remontée et l’on obtient successivement : z = −1, y = 0 et


x = 1.

5.3.6 Systèmes à structure particulière


Dans la pratique les systèmes sont souvent à matrice symétrique ou creuse (très peu d’élé-
ments non nuls dans chaque ligne). Ces deux propriétés conduisent à des économies de cal-
cul. Pour montrer cela notons qu’à l’étape k la transformation des éléments ai j (i, j ≥ k + 1)
correspond à la formule suivante :
aik
(5) ai j = ai j − akk ak j

Matrice symétrique

Lorsque A est symétrique (ai j = a ji ) alors à chaque étape k la matrice d’ordre n − k + 1 est sy-
métrique ; la démonstration se fait par récurrence et on utilise la formule (5). Le coût est réduit
3
de moitié, il est équivalent pour n assez grand à n6 .
58

Si la matrice A est de plus définie positive (x 6= 0 ⇒t xAx > 0) on peut montrer que tous les
pivots seront strictement positifs.
Une condition nécessaire et suffisante pour qu’une matrice réelle A soit symétrique et définie
positive est qu’il existe une matrice régulière triangulaire L vérifiant A = L ×t L.
Preuve :
a) condition suffisante :
t t
 existe L : A = L × L2 ⇒ A = A et
Il
( Ax, x) = k Lxk > 0∀ x 6= 0
( Ax, x) = 0 ⇒ k Lxk = 0 ⇒ x = 0.
b) Condition nécessaire : on procède par récurrence. La propriété étant vraie pour n = 1 (ma-
trice scalaire) supposons la propreté vraie pour les matrices d’ordre (n − 1). Soit donc une
matrice A symétrique et définie positive de dimension n. Cette matrice peut se mettre sous
la forme
 
B l
A= tl λ

B est alors une 


matrice d’ordre
 (n − 1) symétrique définie positive il suffit de considérer le
x1
 . 
vecteur de Rn  t
 
 .  . Donc B admet la décomposition B = Q × Q. Considérons la ma-

 xn−1 
 0
Q 0
trice L = on peut alors déterminer d’une manière unique le vecteur µ ∈ Rn−1 et le
µ α
scalaire α pour que A s’identifie à L ×t L. On vérifie aussi que L est inversible.

5.4 Méthode de Choleski


La décomposition de A permet de résoudre facilement le système linéaire (2) Ax = b ⇔ L ×t
Lx = b, on pose z =t Lx. On peut d’abord résoudre le système Lz = b (phase descente) et puis
on peut résoudre t Lx = z (phase remontée).
On peut calculer L par identification. Supposons a11 6= 0 (c’est toujours possible). Il est facile
de calculer k première colonne de L

l11 = a11
ai1
li1 = i = 2, ..., n
l11
Supposons alors que les ( j − 1) colonnes de L soient déjà calculées. On a toujours par identifi-
cation

! 12
j−1
ljj = ajj − ∑ l 2jk
k=1
j−1
" #
1
li j = a − ∑ lik l jk j>1
lii i j k=1
5.4. MÉTHODE DE CHOLESKI 59

Lz = b
z1 = lb1
11
" #
j−1
1
zj = ljj b j − ∑ l jk zk 2≤ j≤n
k=1
zn
xn = lnn et
" #
n
1
xj = ljj z j − ∑ l jk xk 1 ≤ j ≤ n − 1.
j+1

 
2 −1 0
Soit la matrice A définie par : A =  −1 2 − 1 ˙
0 −1 2
Montrons que cette matrice est symétrique et définie strictement positive.
On a : t A = A, donc A es symétrique.  pour u tel que u ∈ R
 De plus,
3

2 −1 0 x
t uAu = ( x, y, z )  −1 2 −1   y  =
0 −1 2 z
2x2 − 2xy + 2y2 − 2yz + 2z2 = x2 + ( x − y)2 + ( y − z)2 + z2 .

Par suite u 6= 0, ( Au, u) > 0.


Décomposons A = L ×t L, avec  L une matrice
 triangulaire.
a 0 0
Construisons cette matrice L =  b c 0 .
d e f

Avec la relation A = L ×t L, on déduit la matrice


 √ 
2 q0 0
 √ − 1 3
0 .

L= 
 2 q2 
2 √2
0 − 3 3

Déduisons la solution du système


q linéaire Ax = b, avec b = (1, 1, −1). Du système Lz = b, on
déduit la solution z = ( √1 , 3
2 , 0 ), et du système t Lu = z, on déduit la solution u = (1, 1, 0).
2
60
Deuxième partie

Méthodes Indirectes

61
5.5. PRINCIPE DES MÉTHODES INDIRECTES 63

5.5 Principe des méthodes indirectes


Soit le système à résoudre AX = b ou AX − b = 0 et X 0 une colonne quelconque. Formons
r0 = AX 0 − b, la colonne r0 est dite résidu relatif au système pour la colonne X 0 .
Les principes d’itérations sont les suivants : on part de X 0 et l’on forme r0 , puis on cherche un
moyen de modifier X 0 en X 1 et l’on a un résidu correspondant r1 ,..., etc.
On obtient les deux suites X 0 , X 1 ..., X p ... et r0 , r1 ..., r p ... de vecteurs de Rn . Compte tenu
 

de la linéarité du système à résoudre, il est naturel de ne considérer, pour déterminer la suite


X 0 , X 1 , ..., X k que des processus linéaires du type suivant :

X (k+1) = BX k + C


X 0 arbitraire

Si le processus converge vers la solution x de Ax = b, on aura à la limite x = Bx + c ⇔ ( I −


B) x = C, ce qui nous conduit à choisir B telle que ( I − B) soit inversible.

5.6 Les techniques itératives classiques


Ces techniques utilisent la décomposition de A sous la forme A = M − N, det(M) 6= 0 et M
telle que le système Mx = d soit facile à résoudre (par exemple, M diagonale, triangulaire,
éventuellement par blocs) alors :

Ax = b ⇐⇒ ( M − N ) = b
⇐⇒ Mx = Nx + b
−1 −1
⇐⇒ x = |M{z N} x + |M{z b}.
B C

alors x = Bx + C
On notera que :
I − B = I − M−1 N = I − M−1 ( M − A) = M−1 A est inversible.

5.6.1 Méthode de Jacobi


On décompose A sous la forme A = D − E − F où
D = ( aii )
 
− ai j si j < i
E = (ei j ) telle que : ei j =
0 sinon
 
− ai j si j > i
F = ( f i j ) telle que : f i j =
0 sinon
Puisque det( D ) 6= 0, on a :

Ax = b ⇐⇒ Dx = ( E + F ) x + b
⇐⇒ x = D−1 ( E + F ) x + D−1 b
64

B est appelé la matrice de Jacobi.


On a alors :

xk+1 = D −1 ( E + F ) xk + D −1 b
Soit

ai j k b
xik+1 = − ∑ x j + i , ∀i = 1, ..., n
a
j6=i ii
aii
5.6. LES TECHNIQUES ITÉRATIVES CLASSIQUES 65

Test d’arrêt :
Il faut arrêter l’algorithme dés que :


k+1 k
xk+1 − xk
xi − xi < 1 ou k+1 < 2
i i

xi
pour i = 1, ..., n et k = 1, ..., kmax.
La méthode de Jacobi utilise (n2 + 3n) pour nombres de place mémoire.

5.6.2 Méthode de Gauss-Seidel

A étant toujours décomposé sous la forme A = D − E − F, on a puisque det (D − E) =


det( D ) 6= 0

Ax = b ⇐⇒ ( D − E) x = Fx + b
⇐⇒ x = ( D − E)−1 F x + ( D − E)−1 b
| {z } | {z }
B C

d’où :
xk+1 = ( D − E)−1 Fxk + ( D − E)−1 b,

en explicitant , on obtient :

i −1 n
1 1 bi
xik+1 = − ∑ ai j xkj +1 − a ∑ ai j xkj + ,1 ≤ i ≤ n
aii j=1 ii j =i + 1
aii

On utilise le même test d’arrêt que celui de Jacobi.


Et la méthode de Gauss-Seidel est plus rapide que celle de Jacobi car elle n’utilise que (n2 +
2n) nombres de places mémoires.

5.6.3 Les techniques de sur-relaxation et de sous relaxation


Étant ω ∈ R+ donné,
on a puisque det( ω1 ( D − ωE) = 1
ω det( D ) 6= 0.

Ax = b ⇐⇒ ( D − E − F ) x = b
⇐⇒ ( M − N ) x = b

où :

1
M= ( D − ωE)
ω
et
1
N= ( D − ωE) − D + E + F
ω
1
= [(1 − ω) D + ωF ]
ω
66

x = M−1 Nx + M−1 b ⇐⇒
x = ( D − ωE)−1 (1 − ω) D + ωF ) x + ω( D − ωE)−1 b
⇐⇒ x = Lω x + c
Alors
xk+1 = ( D − ωE)−1 (1 − ω) D + ωF ) xk + ω( D − ωE)−1 b

i −1 n
1 1 bi
xeik+1 = − ∑ ai j xkj +1 − ∑ ai j xkj + ,1 ≤ i ≤ n
aii j=1 aii j=i +1 aii

xik+1 = (1 − ω) xik + ω xeik+1


ω s’appelle le facteur de relaxation.
si ω < 1, on dit qu’on utilise une méthode de sous-relaxation.
si ω = 1, on retrouve la méthode de Gauss-Seidel.
si ω > 1, on dit qu’on utilise une méthode de sur-relaxation.
Rappel : La suite ( xk ) défine par xk+1 = Bxk + c converge si ρ( B) < 1, ce qui est équivalent à
k Bk < 1 pour au moins une norme matricielle subordonnée kk .
On peut cependant établir quelques résultats de convergence pour certaines matrices
Soit A une matrice hermitienne définie positive. Soit A = M − N une décomposition où M est
inversible. On a alors M∗ + N définie positive, implique ρ( M−1 N ) < 1. Le théorème suivant
donne une condition nécessaire et suffisante pour que la méthode de relaxation converge pour
les matrices hermitiennes définies positives
(théorème d’Ostrowski-Reich)
Si A est hermitienne définie positive, la méthode de relaxation converge si 0 < ω < 2.

Même test et même rapidité que Gauss-Seidel. (Théorème de convergence)



a a
Si max( ∑ ai j ) < 1 ou max( ∑ a ji ) < 1, alors les méthodes de Jacobi et de Gauss-Seidel
ii ii
j 6 =i i6= j
1 ≤i ≤ n 1≤ j≤n
convergent.
Si ω ∈
/ ]0, 2[ , la méthode de relaxation diverge.

Considérons le système suivant



 2x − y = 6
− x + 2y − z = −10 ⇔ AX = b,
− y + 2z = 10

     
2 −1 0 x 6
avec A =  −1 2 −1  , X =  y  et b =  −10  .
0 −1 2 z 10
 
2
On peut montrer que la solution exacte est X =  −1  .
4
Appliquons la méthode de Jacobi, de Gauss-Seidel et de relaxation pour dix itérations.
— Méthode de Jacobi
5.6. LES TECHNIQUES ITÉRATIVES CLASSIQUES 67

On a 
: 
2 −1 0
A =  −1 2 −1  = D − E − F,
0 −1 2
     
2 0 0 0 1 0 0 0 0
avec D =  0 2 0  , E =  1 0 0  , et F =  0 0 1 ;
0 0 2 0 1 0 0 0 0

On résout Dxk+1 = ( E + F ) xk+ b, 


6
d’où, en choisissant x0 = b = -10 
10
Dx1 = 2x1
= ( E + F ) x0 + b
   
-10 6
= 16  + -10 
-10 10
 
-4
= 6 
0
 
-2
⇒ x 1 = 3  .
0

De même
 :     
4, 5 0 3, 25
x2 =  −6  , x3 =  0, 5  x4 =  −4  ,
6, 5 2 4, 75
   
1 2, 125
x5 =  −1  , ..., et x10 =  −2, 25  .
3 4, 125

— Méthode de Gauss-Seidel
On résout ( D − E) xk+1 = Fxk+ b, 
6
d’où, en choisissant x0 = b =  −10 
10
Ce qui
 donne :
    
−2 2, 5 2, 002
x1 =  −1  , x2 =  −1, 5  , ... et x10 =  −1, 998  .
4, 5 4, 25 4, 001

— Méthode de relaxation avec ω = 1, 172

On résout ( ω1 D − E) xk+1 = ( 1−ω


ω D + F ) xk + b,
68
 
6
d’où, en choisissant x0 = b =  −10 
10
Ce qui donne :
     
−3, 412 3, 989 2, 000
x1 =  −0, 242  , x2 =  −1, 155  , ... , x7 =  −2, 000  .
3, 975 4, 502 4, 000
5.7. TRAVAUX DIRIGÉS (CORRECTION EN CLASSE) 69

5.7 Travaux Dirigés (correction en classe)

Soient les systèmes linéaires suivants :




 2x1 + x2 + 4x4 = 2
−4x1 − 2x2 + 3x3 − 7x4 = −9

( S1 )

 4x1 + x2 − 2x3 + 8x4 = 2
−3x2 − 12x3 − x4 = 2

et


 10x1 + 7x2 + 8x3 + 7x4 = 4
7x1 + 5x2 + 6x3 + 5x4 = 3

( S2 )

 8x 1 + 6x2 + 10x3 + 9x4 = 3
7x1 + 5x2 + 9x3 + 10x4 = 1

Résoudre ces deux systèmes linéaires ( S1 ) et ( S2 ) par la méthode de Gauss.

Soient une famille de n points ( xi , yi ) pour i = 1, ..., n.


On cherche u = (α, β, γ ) qui réalise le minimum de la fonction à trois variables :
n
f (u) = ∑ xi2 (α + βxi + γxi2 − yi )2
i =1

1) Calculer les dérivées partielles d’ordre 1 de f .


2) Calculer les dérivées partielles d’ordre 2 de f .
3) Montrer le problème min f (u) est équivalent à résoudre un système linéaire Au = b
u ∈R3
et déterminer A et b.
4) On choisit les valeurs de ( xi , yi )

xi −1 − 12 1
2 1
3
yi 2 − 32 0 0
a) Résoudre par la méthode de Choleski, la solution du système linéaire Au = b.
b) Vérifier que la solution obtenue correspond bien à un minimum.

1) Résoudre par la méthode Jacobi, la méthode de Gauss-Seidel, chacun des systèmes


 Ax = b suivants
linéaires  :  
1 2 −2 2 −1 1
A =  1 1 1  et A =  2 2 2 
2 2 1 −1 −1 2
2) Calculer dans chacun des cas le rayon spectral de la matrice de la méthode de Jacobi
et de la matrice de la méthode de Gauss-Seidel.
3) Que peut-on déduire ?
4) Montrer que la méthode itérative de Jacobi pour la résolution de Ax = b est conver-
gente.

Vous aimerez peut-être aussi