Vous êtes sur la page 1sur 145

Cours

D’ANALYSE NUMERIQUE

Analyse numérique pour Ingénieur Page 1


CHAPITRE 1

ANALYSE D’ERREURS

1. Introduction

On distingue trois principaux types d’erreurs en analyse numérique :

- les erreurs de modélisation ;


- les erreurs de représentation sur ordinateur ;
- les erreurs de troncature.

Les erreurs de modélisation proviennent de l’étape de mathématisation du phénomène


physique auquel on s’intéresse.

Les erreurs de représentation sur ordinateur (généralement binaire) s’accumulent lorsque


l’on effectue un très grand nombre d’opérations et peuvent compromettre la précision des
résultats.

Les erreurs de troncature proviennent principalement de l’utilisation du développement de


Taylor, qui permet par exemple de remplacer une équation différentielle par une équation
physique.

Le développement de Taylor est le principal outil mathématique du numéricien. Il est donc


primordial d’en maîtriser l’énoncé et ses conséquences.

2. Quelques définitions utiles


Définition 1
Soit x, un nombre, et x* , une approximation de ce nombre. L’erreur absolue est définie par :

 x = x  x* (1)

L’erreur relative est définie par :


x  x*  x
Er ( x )   (2)
x x

En pratique, il est difficile d’évaluer  x et Er ( x ) car on ne connaît généralement pas la

valeur exacte de x et on ne connaît que x* .

Dans le cas des quantités mesurées, on a :

2
x  x*   x  x*   x  x  x*   x

ou on écrit parfois :

x  x*   x (3)

Définition 2

Si l’erreur absolue vérifie :

 x  0,5  10 m

alors le chiffre correspondant à la m ième puissance de 10 est dit significatif et tous ceux à sa
gauche (correspondant aux puissances de 10 supérieures à m) le sont aussi.

Exemple 1

22
Soit x =  et x* = = 3,142857
7

22
x     0 ,00126   0 ,126.10  2
7

La question est de savoir le nombre de chiffres significatifs que comporte la valeur de


x* .

0,126.10 -2 ≤ 0,5.10 -2   x  0,5.10  2 

le chiffre des centièmes (4) est significatif et on a en tout 3 chiffres significatifs. Donc la
valeur approchée de x est x* = 3,14 .

Exemple 2

Si x =  et x* = 3,1416 est sa valeur approchée, on a :

 x    3 ,1416  0 ,73.10  5

x 0,5.10  4

Le chiffre correspondant à la quatrième puissance de 10 (6) et tous les chiffres situés à sa


gauche sont significatifs. On a en tout 5 chiffres significatifs.

3
Remarque :

Inversement, si un nombre est donné avec n chiffres significatifs, cela signifie que l’erreur
absolue est inférieure à 0,5 fois la puissance de 10 correspondant au dernier chiffre
significatif.

3. Erreurs de troncature

Les erreurs de troncature constituent la principale catégorie d’erreurs. Nous aborderons tout le
long de ce cours les méthodes de résolution qui comportent des erreurs de troncature plus ou
moins importantes. L’ordre d’une méthode dépend du nombre de termes utilisés dans les
développements de Taylor appropriés. Il est donc essentiel de revoir en détail le
développement Taylor, car il constitue l’outil fondamental de l’analyse numérique.

3.1 Développement de Taylor en une variable

Présentons cette notion comme un problème d’approximation au voisinage d’un point


quelconque xo.

f(x) pn(x
)

f(x0) p0(x)

p1(x)

x0

On se demande alors quel est le polynôme de degré n noté Pn(x) qui donne la meilleure
approximation d’une fonction f(x) donnée au voisinage de xo.

Définition

Le polynôme de Taylor de degré n de la fonction f(x) autour de xo est défini par :

4
Pn  f  x0  
x  x0
f '  x0  
 x  x 0  f "  x      x  x0  f  n   x 
2 n

0 0
1! 2! n! (4)

où f ( n ) ( x 0 ) est la dérivée d’ordre n de la fonction f au voisinage de xo.

Ce polynôme donne une approximation de f(x) au voisinage de xo. Cependant, on commettrait


une erreur en égalant f(x) et Pn(x).

Théorème

Soit f(x), une fonction dont les dérivées jusqu’à l’ordre (n+1) existent au voisinage du
point x 0 . On a l’égalité suivante :

f ( x )  Pn ( x )  Rn ( x ) (5)

où Pn(x) est le polynôme de Taylor (4) et Rn(x) est l’erreur commise et donnée par la
relation :

Rn  x  
x  x 
0
n 1

f n 1    x 
n  1!
(6)

pour un certain  ( x ) compris entre x 0 et x.

Remarques :

1. L’équation (5) est une égalité et ne devient une approximation que lorsque le terme
d’erreur est négligé.

2. Le terme d’erreur (6) devient de plus en plus grand lorsque x s’éloigne de x 0 en

vertu du terme  x  x0 
n 1
.

3. Inversement, pour une valeur de x proche de x 0 , le terme d’erreur exprimé par


l’éq. 6 devient de plus en plus petit lorsque n augmente.

4. On sait que le point  ( x ) existe et qu’il varie avec x, mais on ne connaît pas sa
valeur exacte. Il n’est donc pas possible d’évaluer le terme d’erreur exactement.
On peut tout au plus lui trouver une borne supérieure dans la plupart des cas.

5
5. On commet une erreur de troncature chaque fois que l’on utilise le développement
de Taylor et que l’on néglige le terme d’erreur (éq. 6).

Un cas particulier important du théorème précédent est le 1er théorème de la moyenne que
l’on obtient en posant n = 0 dans le développement de Taylor.

Corollaire

 
Soit f(x), une fonction dérivable dans l’intervalle x0 , x . Alors il existe  dans l’intervalle

x 0
, x  tel que :

f  x   f  x0   f '     x  x0 

qui s’écrit également sous la forme :

f  x   f  x0   f '     x  x0  (7)

Une forme plus pratique du développement de Taylor est obtenue en remplaçant x par

 x0  h ou encore en remplaçant l’expression x  x0  par h. Ainsi, on a :

f  x0  h  Pn h  Rn h (8)

où :
h2 h3 hn
Pn  h  f  x 0  + h  f '  x 0  + f "  x0  + f "'  x 0  +    + f (n)
 x0  (9)
2! 3! n!
donc :
h n 1
Rn  h   f ( n 1 )  ( h ) (10)
 n  1 !
pour un certain  ( h ) compris entre x 0 et  x 0  h .

Exercice :

1. Trouver le développement de Taylor de la fonction f ( x )  e x au voisinage de x0  0 .

2. Trouver une borne supérieure pour Rn(h).

6
3. Estimer les valeurs de e 0 ,1 en utilisant ce développement. Evaluer dans le cas h  0,1
l’erreur absolue, le terme d’erreur majorée et donner le nombre de chiffres significatifs
en faisant varier n de 0 à 3.

4. Pour n = 3 et h  0,05 calculer l’erreur absolue due à cette approximation.

Solution :

1. Développement de Taylor

f x  e x
f  x   f '  x     f n   x   e x
f 0   f ' 0     f n  0   e 0  1
en posant x  x0  h , il vient :
2 n

 e  Pn h  1  h 
x0  h h h
e e
x h
 
2! n!
et le terme d' erreur
n 1

Rn h  avec  h  x0 , x0  h  0 , h


h
e  h 
n  1!

2. Borne supérieure du terme d’erreur

Cela revient à déterminer un majorant pour Rn(h).

La fonction exponentielle étant strictement croissante, on peut écrire :

0  ( h )  h  e0  e(h)  e h
1  e  (h)  e h
donc e  (h)  e h
h n+1 (h) h n+1
il en résulte que : e  eh
( n  1 )! ( n  1 )!

h n+1
Rn ( h )  eh
d’où : ( n  1 )! (11)

3. Estimation des valeurs de e 0 ,1 et détermination des chiffres significatifs

En prenant h  0,1 , on a :

7
Erreur absolue Nombre de Valeur majorée
chiffres pour le terme
n Pn(0,1) f ( 0,1 )  Pn ( 0,1 )
significatifs d’erreur

0 1,0000000 0,105x100 1 0,111x100

1 1,1000000 0,517x10-2 2 0,552x10-2

2 1,1050000 0,17x10-3 4 0,184x10-3

3 1,1051667 0,420x10-5 6 0,460x10-5

4. Erreur absolue pour n = 3 et h  0,05

En prenant h  0,05 et n = 3 par exemple, on obtient :

e 0 ,05  1,051271096 (valeur donnée par la calculatrice)


0 ,05 2 0 ,05 3
P3 ( 0 ,05 )  1  0 ,05  
2 6
 1,051270833
 f  e 0 ,05  P3 ( 0 ,05 )  0 ,263  10 6

Remarque :

P3 ( 0,1 )  e 0 ,1 0,4245  10  5
Le rapport des erreurs absolues liées à   16 ,14
P3 ( 0,05 )  e 0 ,05 0,263  10  6

La valeur de ce rapport n’est pas fortuite. La définition suivante nous permet de comprendre
d’où provient cette valeur.

Définition

Une fonction f h est un grand ordre de h que l’on note f  h  O  h 


n n
au voisinage

de x0  0 s’il existe une constante positive C telle que :

f (h)
n C
h

8
au voisinage de x0  0 .

Remarque :

Pour avoir une idée du comportement d’une fonction de type O  h  , il suffit de remarquer
n

que, lorsque h est divisé par 2, la fonction O  h 


n
diminue selon un facteur approximatif de

2 n . En effet, en remplaçant h par h/2 dans Ch n , on obtient :


n
 h C hn
C   
2 2n

Le terme d’erreur du polynôme de Taylor de degré n est généralement du type O  h  . Cela


n 1

explique le rapport 16,14 obtenu dans l’exercice précédent. En effet, on y trouve un polynôme
de Taylor de degré 3 dont le terme d’erreur est de type O  h 3 1   O  h  . En passant de
4

h  0,1 à h  0,05 , on divise h par un facteur de 2, d’où une diminution selon un facteur de

2 4  16 de l’erreur. Bien sûr, le facteur de 16 est approximatif et n’est atteint qu’à des
valeurs de h très petites. Dans le cas général, on note :


f  x 0  h  Pn ( h )  O h n 1 
Définition :

Une approximation dont le terme d’erreur est un grand ordre de h


n
O  h n
est dite

d’ordre n.

Suivant cette définition, le polynôme de Taylor de degré n (Pn) est généralement, mais pas
toujours, une approximation d’ordre (n+1) de f(x). Par exemple, le développement de Taylor
de degré n de e x autour de x0  0 est d’ordre (n+1).

Exercice

Calculer le développement de Taylor d’ordre 5 de la fonction f ( x )  sin x au voisinage

de x0  0 . Trouver l’approximation d’ordre 5 de la dite fonction et majorée le terme

d’erreur.

9
Solution :

 Pour le développement de Taylor utilisons les formules (8), (9) et (10). Pour
développer un polynôme d’ordre 5, il faut développer Pn ( h ) jusqu’au degré 4 et

ajouter Rn ( h ) :

f ( x )  sin x ; f ( 0 )  0
f '( x )  cos x ; f '( 0 )  1
f "( x )   sin x ; f "( 0 )  0
f '"( x )   cos x ; f '"( 0 )  1
f (4)
( x )  sin x ; f (4)
(0 )  0
f (5 )
( x )  cos x
f  x 0  h   f  0  h   f  h   sinh

f  h   f  0   h! f '( 0 )  h ! f "( 0 )  h ! f '''( 0 )  h ! f ""( 0 )  h ! f  ( h )


2 3 4 5 (5 )
1 2 3 4 5
pour    0, h

Le développement de Taylor est :

3 5
sinh  h  h  h cos  ( h ) pour    0, h 
6 120
Rn ( h )

et l’approximation d’ordre 5 de f ( x )  sin x au voisinage de x0  0 s’écrit :

h3
P3  h   h 
6

 Majoration du terme d’erreur

L’erreur est :

5
R3  h   h cos  ( h ) pour    0, h
120

h5
  (h)   0, h , on a : cos (h)  1 donc R 3 ( h ) 
120

10
Vérifier que cette approximation est réellement d’ordre 5 en prenant h  0,1 et h  0,2
.

P3  0,2   f  0,2 
En calculant le rapport , on trouve :
P3  0,1   f  0,1 

P3 0 ,2   f 0 ,2 
 31 ,97  2
5

P3 0 ,1  f 0 ,1

qui montre que l’approximation trouvée est bien d’ordre 5

3.2 Développement de Taylor en plusieurs variables

On peut reprendre ici le raisonnement analogue au précédent (cas d’une var.). On se limitera à
trois variables ici, le cas général étant similaire.

THEOREME

Soit f  x1 , x2 , x3  une fonction de trois variables que l’on suppose suffisamment

différentiable. On a alors (voir page 11).

En pratique, on utilise principalement le développement de degré 1 qui ne fait intervenir que


les dérivées partielles d’ordre 1.

11
12
Exercice

Soit la fonction de deux variables f ( x 1 , x 2 )  x 12  x 1 sin x 2 :

1. Développer f au voisinage de (1, 0).

2. Trouver à l’aide du polynôme de Taylor de degré 2 l’approximation de f en prenant


h1  h2  0,1 .

3. Trouver l’ordre de cette approximation en utilisant h1  h2  0,05 .

3.3 Propagation d’erreurs dans le cas général

Plus généralement, si l’on a :

x  x*   x
y  y*   y

Quelle sera la précision d’une fonction d’une variable f ( x*) ou de la fonction de deux variables
g( x*, y*) ?

Le développement de Taylor nous apporte une solution.

 Considérons d’abord le cas d’une variable.

Une quantité x inconnue est approchée par une valeur approximative x* avec une erreur absolue x.
On estime la valeur inconnue f(x) par l’approximation f(x*). L’erreur absolue liée à ce résultat est :

 f  f ( x )  f ( x*)

On a de plus :


f  x   f  x   x   f  x*    x  f '  x*   O  x 2 
En négligeant les termes d’ordre plus grand ou égal à 2, on obtient :

 f  f ' x*   x

que l’on peut également écrire :

13
f  x   f  x *  f '  x *   x

Exercice

On mesure un côté d’une boîte cubique qui donne l*  10,2cm avec une précision de l’ordre

du millimètre  l  1mm  . Déterminer la valeur approchée du volume v de cette boîte et en

déduire l’erreur liée.

Solution :

l*  10 ,2cm et l  0 ,1cm
Posons v  f ( l )  l 3
l' erreur absolue liéeau volume est : v  f '  l *    l
v  f ( l )  l 3  f '( l )  3l 2
donc v  3( l*) 2   l
 3  ( 10 ,2 ) 2  0 ,1
 31,212
v  0 ,31212.10 2  0 ,5.10 2
La valeur approchée du volume est :
v* =  l*   10,2 3  1061,208cm 3
3

v  1061,2cm 3 dont les deux premiers chiffres sont significatifs

THEOREME

Soit f ( x, y,z ) une fonction de trois variables x, y et z dont on estime les valeurs par
x*, y* et z* avec une précision de  x,  y et  z respectivement. L’erreur absolue  f est
donnée par :
 f ( x*, y*, z*)  f ( x*, y*, z*)  f ( x*, y*, z*)
f   x  y  z (12)
x y z
Exercice

Un signal électrique est donné par la relation :

V  As i n ( wt  )

où V est la tension, A est l’amplitude du signal  A* =100V  ,  est le déphasage

* = 0,55rad  et t est le temps  t*  0,001s  . En supposant que A et w sont connus

14
exactement et que * et t* possèdent respectivement 2 et 1 chiffres significatifs, évaluer
l’erreur absolue liée à V ainsi que le nombre de chiffres significatifs.

Solution

A et w sont connus exactement, donc

A  A*   A  0
w  w*   w  0
P a r a i l l e u r s t  0 ,5 . 1 0  3  t*  0 ,0 0 1s 
   0 ,5 . 1 0  2
 V  t* , *   V  t* , * 
V  t  
t 
 A* w* c o s  w* t *  *   t  A* c o s  w* t *  *   
 2 5 6 ,2 2 6 6 6 2 3 5  0 ,5 . 1 0  3   8 5 ,4 0 8 8 7 4 5  0 ,5 . 1 0  2
V  0 ,5 5 5 1 5 7 6 8 4

La tension approximative est :

V*  A* s i n  w* t *  *    5 2,0 1 2 7 3 0 7 1

Puisque V  0,5 . 1 0 1 , donc V * n’a qu’un seul chiffre significatif.

Opérations élémentaires sur la propagation des erreurs

Soit f ( x, y ) une fonction à deux variables, x et y . On peut effectuer les opérations suivantes :

1 )   x  y  x   y
2 )   x  y   x   y
3 )   x  y  y x  x  y

 x y x  x  y
4)   
y2
 y
y 0

15
CHAPITRE 2
RESOLUTION DES EQUATIONS NON LINEAIRES

1. Introduction
La résolution des problèmes de l’ingénieur débouche souvent sur deux types de recherche de
solutions d’une équation à une variable :
1.) recherche d’une racine de l’équation f ( x )  0 où est une fonction transcendante ou
numérique de x.

Les méthodes numériques que nous présenterons dans ce chapitre conduiront (sous certaines
conditions) à l’approximation d’une racine de l’équation f( x)0.
Pour l’ingénieur, la recherche des racines complexes de f ( x )  0 est relativement peu courante
sauf en commande des processus. C’est pourquoi la méthode dite de Newton est généralement
présentée pour rechercher les racines complexes de :

f x  0 (1)
2.) Recherche de plusieurs ou toutes les racines de Pn ( x )  0 où Pn ( x ) est un polynôme

de degré n en x . Ce problème est un cas particulier du premier ; il pourrait donc être résolu
par la méthode précédente.

2. Méthode de la bissection (dichotomie)


La méthode de la bissection repose sur l’idée toute simple qu’en général de part et d’autre d’une
solution de l’équation (1) f  x   0 une fonction continue f ( x ) change de signe et passe du
positif au négatif ou vice versa.
Supposons qu’il y ait effectivement un changement de signe autour d’une racine r de f  x  .

f x

r
x1 xm x2

16
Soit  x1 , x2  un intervalle ayant un changement de signe de f  x  c à d :

f  x1   f  x2   0
(2)

On pose :

x  x2
xm  1
2

le point milieu de l’intervalle  x1 , x2  . Il s’agit alors de déterminer entre les intervalles

 x1 , xm  et  xm , x2  celui qui possède encore un changement de signe et la racine se trouvera


forcement dans cet intervalle d’où l’algorithme suivant :

Algorithme (algorithme de la bissection)

1. Etant donné un intervalle  x1 , x2  pour lequel f ( x ) possède un changement de signe ;

2. Etant donné  le critère d’arrêt et N le nombre maximal d’itérations ;

x1  x 2
3. Poser : xm 
2

x 2  x1
4. Si  :
2 xm

 Convergence atteinte ;
 Ecrire la racine xm ;

 Ecrire f xm  ;
 Arrêt.
     
5. Ecrire x1 , x2 , xm , f x1 , f x2 , f xm ;

   
6. Si f x1  f xm  0 alors x2  xm ;

   
7. Si f xm  f x2  0 alors x1  xm ;

8. Si le nombre maxi. d’itérations N est atteint :


17
 convergence non atteinte en N itérations ;
 Arrêt.
9. Retour à l’étape 3.

Remarque
1. L’expression :

x 2  x1

2 xm

est une approximation de l’erreur relative. En effet, à l’étape 3 de l’algorithme, la racine

recherchée est soit dans l’intervalle  x1 , xm  ou  xm , x2  qui sont toutes deux de

longueur :

x2  x1
2

ce qui constitue une borne supérieure de l’erreur absolue. Ainsi, en divisant par xm , on obtient

une approximation assez fiable de l’erreur relative.

2. Prendre garde au cas où la racine recherchée est 0 car il y a risque de division par 0 au cours
de l’évaluation de l’erreur relative. Ce cas est toutefois rare en pratique.

3. Il est parfois utile d’introduire un test d’arrêt sur la valeur de f  x  qui doit tendre
également vers 0.

Algorithme pratique de la méthode de bissection


Données : x1 , x2 {bornes de l’intervalle}

E {précision souhaitée}

f(x) {fonction}

Calculs :

 x2  x1 
 ln 
N  partie entière  E  1
 ln 2 
 
18
y1  f  x1 

pour i  1 à N

  x1  x2  ; y  f x
 xm 
2 m  m

 si y1 ym 0 alors x2  xm
 sinon x1  xm ; y1  ym



écrire xm

Exercice :

En utilisant la méthode de la bissection, chercher la racine carrée de 2 en prenant


l’intervalle 1 , 2 pour une précision de E = 10-3.

Solution
Calculons d’abord le nombre d’itérations nécessaires pour obtenir la précision de

E  10 3 .

Nous avons :

 x2  x1   21 
ln  ln 
  3
N  INT  E  1  INT  10  1
 ln 2   ln 2 
   
 INT ( 10 ,966 )  10

19
x  2  x 2  2  0; f ( x )  x 2  2  0
y1  f  x1   f  1   1  2  1
y2  f  x 2   f  2   4  2  2
On commence les calculs itératifs
1ère itération
x  x2 1  2
xm  1   1,5
2 2
ym  f  xm   1,5 2  2  0 ,25
y1  ym 0 donc on sélectionne l'intervalle  x1 , xm  (en prenant
x2  xm ) et ainsi de suite.

Les résultats obtenus en fonction du nombre d’itérations sont :

x1 x2 xm ym

1 1 2 1,5 0,25

2 1 1,5 1,25 - 0,4375

3 1,25 1,5 1,375 - 10,94

4 1,375 1,5 1,4375 0,06641

5 1,375 1,4375 1,4062 - 0,02246

6 1,4062 1,4375 1,4219 0,02173

7 1,4141 1,4219 1,4141 - 0,00043

8 1,4141 1,4219 1,4180 0,01064

9 1,4141 1,4180 1,4160 0,00510

10 1,4141 1,4160 1,4150 0,00233

20
Exercice :

Montrer que la fonction f ( x )  x 3  x 2  3x  3 possède un zéro dans l’intervalle


1, 2 . Trouver sa valeur approchée en 10 itérations.

Solution

f ( 1 )  4,0; f ( 2 )  3,0
f ( 1 )  f ( 2 )  4  3  12 0

Alors, la fonction f ( x ) donnée possède un zéro dans  1, 2  .

Recherchons cette solution par la méthode de la bissection :

1 2
Le point milieu de  1, 2  est : xm   1,5
2

f  xm   f ( 1,5 )  1,875

f ( 1,5 )  f ( 2 ) 0  l’intervalle  1,5 , 2  possède encore un changement de signe, ce


qui n’est pas le cas pour l’intervalle  1 , 1,5  puisque f(1)  f(1,5) 0 . Ensuite on calcule
le point milieu xm de  1,5 , 2  et ainsi de suite :

21
Erreur absolue

n x1 x2 xm f ( x1 ) f ( x2 ) f ( xm ) liée à xm

1
x  x1
2 2

1 1,0 2,0 1,5 -4,0 3,0 -1,875 0,5

2 1,5 2,0 1,75 -1,875 3,0 0,17187 0,25

3 1,5 1,75 1,625 -1,875 0,17187 -0,94335 0,125

4 1,625 1,75 1,6875 -0,94335 0,17187 -0,40942 0,0625

5 1,6875 1,75 1,71875 -0,40942 0,17187 -0,12478 0,03125

6 1,71875 1,75 1,734375 -0,12478 0,17187 0,022029 0,015625

7 1,71875 1,734375 1,72656 -0,12478 0,022029 -0,05175 0,007812

8 1,72656 1,734375 1,73046 -0,05175 0,022029 -0,014972 0,0039075

9 1,73046 1,734375 1,7324175 -0,014972 0,022029 0,1994533 0,0019525

10 1,73046 1,7324175 1,731438 -0,014972 0,1994533 0,190645 0,0019575

On remarque aisément que la longueur de l’intervalle entourant la racine est divisée par 2 à chaque
itération. Cette constatation permet de déterminer à l’avance le nombre d’itérations nécessaires
pour obtenir une certaine erreur absolue ∆r sur la racine r.

Soit par exemple L  x2  x1 la longueur de l’intervalle de départ, après une itération le nouvel

L
intervalle est de longueur et après N itérations la longueur de l’intervalle est :
2

L
2N

Pour connaître la valeur de N nécessaires pour avoir :

22
L
N
r
2

il suffit de résoudre cette inéquation en fonction de N pour trouver la condition suivante :

 L
ln  
N  r 
ln 2

Il est clair que sur le plan pratique on doit prendre pour valeur de N le plus petit entier vérifiant
cette condition là.

Exercice :

Déterminer le nombre d’itérations à partir de l’exercice précédent si le chiffre des centièmes


de la valeur approchée de la racine r est significatif.

Solution :

Si le chiffre des centièmes de r est significatif alors

 r  0 ,5.10  2

Puisque la longueur de l’intervalle 1 , 2 de départ est :

L 211

en appliquant

 L
ln  
N  r 
ln 2

il vient :

 1,0 
ln  2 

N  
0 ,5 10
ln 2
N  7 ,64
N  8 itérations

23
3. Méthode de Newton (ou de Newton-Raphson)

3.1. Principe

La méthode la plus utilisée pour la résolution de l’équation non linéaire

f( x)0

est celle de Newton-Raphson.

Soit la fonction f ( x ) possédant un zéro dans un intervalle donné. Si f ( x ) est continue et


continûment dérivable au voisinage de x (racine) alors le développement en série de Taylor
*
autour d’un estimé ou approximé xn de x s’écrit :
*

f  x*   f ( xn )   x*  xn  f '  xn  
 x*  xn  f "  xn 
2
  (1)
2

Si xn est un estimé proche de la solution x de


*
f ( x )  0 , alors le carré de l’erreur
en  en  x*  xn  et les termes de degré supérieur sont négligeables.

 
Sachant que f x  0 , on obtient la relation approximative :
*

f  xn    x*  xn  f '  xn   0 (2)

et une approximation de l’erreur est :

f  xn 
en  
f '  xn  (3)

on peut donc considérer qu’un meilleur approximé de x sera :


*

xn 1  xn  en (4)

Des équations (3) et (4) on a :

f  xn 
xn 1  xn  ; n=0,1,   ,nmax
f '  xn 
formule de Newton-Raphson

24
3.2. Algorithme

1. Etant donné  un critère d’arrêt ;

2. Etant donné N le nombre maximal d’itérations ;

3. Etant donné x0 une valeur initiale de la solution ;

4. Effectuer :

f  xn 
x n  1  xn 
f '  xn 

xn  1  xn
5. Si  :
xn  1

 convergence atteinte ;
 écrire la solution xn 1 ;

 arrêt.
6. Si le nombre maximal d’itérations N est atteint :
 convergence non atteinte en N itérations ;
 arrêt.
7. Retour à l’étape 4.

3.3. Interprétation géométrique

f  x0 

f  x1 
x1 x0

25
Considérons la courbe (C) représentative de la fonction f et le point initial  x0 , f  x0   .


La tangente à (C) au point x0 , f x0    a pour pente f '  x0  et pour équation ce qui suit :

f  x0 
f  x0    x0  x1   f '  x0   x1  x0 
f '  x0 

f  x1 
M 1  x1 , f  x1   : f  x1    x1  x2   f '  x1   x2  x1 
f '  x1 

f  x2 
M 2  x2 , f  x2   : f  x2    x2  x3   f '  x2   x 3  x 2 
f '  x2 
. . .
. . .

f  xn 
 xn , f  xn  : f  xn    xn  1  xn  f '  xn   xn  1  xn 
f '  xn 

f  xn 
xn  1  xn 
On a : f '  xn  (5)

3.4. Convergence de la méthode

D’une manière générale, la dérivée seconde joue un rôle important dans la convergence de la
méthode de Newton. On montre le théorème suivant :

THEOREME

Si  a ,b  est un intervalle tel que : f a   f b  0

26
 x   a,b , f '( x )  0

 x   a,b , f ''( x )  0

Alors f ( x )  0 possède une seule racine dans cet intervalle  a ,b et x   a,b , la
suite (5) converge quadratiquement.

Remarque

Le choix du point de départ dans cette méthode est crucial. Pour assurer la convergence, on choisira
un point x0 tel que la condition

f "  x0   f  x0   0

soit vérifiée.

3.5. Evolution de l’erreur

Supposons que la méthode converge. De l’expression (5), on a :

f  en 
en 1  en 
f '  en 
(6)

En réécrivant l’équation (1), il vient approximativement ce qui suit :

f  x*   f  xn    x*  xn   f '  xn 

0

on a négligé les termes en carré. On a alors :

f  x*   f  xn   en  f '  xn 

f  x*   f  xn    x*  xn   f '  xn  
 x*  xn 2
f "  xn 
 2
0
27
en2
f  x   f  x n   en f '  x n   f ''  a   0 avec a   xn , x 
* 2 *

f  xn  en2 f ''  a 
   en 
f '  xn  2 f '  xn 

(6) devient :

f  en 
e n  1  en 
f '  en 
en2 f "  a 
donc en  1  en   en 
2 f '  en 

en2 f "( a )
en 1  
2 f '  xn 

e n 1 1 f " a 
f "( x )  0 alors  lim  0
2 f ' xn 
Si lim
n  e n2 n 

Il en résulte que la méthode est d’ordre 2. On dit encore qu’elle a une convergence quadratique.

ALGORITHME PRATIQUE

 Données : x, , f ( x ), f '( x ) .


 Calculs : n fixé
Pour i  1 à n , on a :

 f  x
 mx  x 
 f '  x

 écrire i, xm
 si x  x  , on arrête les calculs
 m
 sinon x  xm

28
ORGANIGRAMME :

x , , f ( x ), f '( x )

n = 50

Pour i = 1 à n

f  xn 
x n  1  xn 
f '  xn 

Ecrire i, xm

x  xm 

x  xm

Ecrire ‘’NON CONVERGENCE’’

FIN

Exercice 1

x
Résoudre l’équation f ( x )  e  x  0 par la méthode de Newton-Raphson, sachant que
x0  0 est la valeur initiale de la solution.

Solution

f ( x )  e  x  x  0 ; f '( x )  e  x  1

29
L’algorithme se résume à :

f  xn  e  x n  xn
xn  1  xn   xn 
f '  xn   e  x n  xn

e  x0  x0
n  1, x1  x0 
 e  x0  x0

e  x0  x0
L’erreur absolue est : e0  x1  x0 
1  e  x0

en  1
n xn en en
0 0,0 0,5671.100 0,1183.100
1 0,500 0,6714.10-1 0,1239.10-1
2 0,5 663 110 0,8323.10-3 0,1501.10-3
3 0,5 671 432 0,1250.10-6 0
4 0,5 671 433 0,4097.10-9 -

Exercice 2 : En utilisant la méthode de Newton, chercher 2 en prenant comme précision


  10 6 et comme valeur initiale x0  1 .

Solution

f  xn   xn2  2 f '  xn   2 xn f  xn 
x n  1  xn 
n xn f '  xn 
1 1 -1 2 1,5
2 1,5 0,25 3 1,416667
3 1,416667 6,9444418.10-3 2,833333 1,414216
4 1,414216 5,960465.10-6 2,828431 1,414214
5 1,4144214 0 2,818427 1,414214

30
 
La convergence est atteinte à n  5 , f xn  0 la précision est   10 6 donc au niveau de

n  4 on a déjà la précision   10 6 . Mais on teste une fois pour en être sûr.

La valeur exacte à   10 6 près étant obtenue dès la quatrième itération, cette méthode est
beaucoup plus rapide que celle de la bissection.

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érivée de
f  x  . Si la fonction f  x  est compliquée, cette dérivée peut être difficile à calculer et peut
résulter en une équation compliquée. On contourne cette difficulté en remplaçant le calcul de la
 
pente f ' xn de la droite tangente à la courbe par l’expression suivante :

f  xn   f  xn  1 
f '  xn  
xn  xn  1

Cela revient à utiliser la droite sécante passant par les points  xn , f  xn  et


 xn  1 , f  xn  1  au lieu de la droite tangente passant par  xn , f  xn 

f  x0 

f  x1 

r
x0 x2
x1

31
Algorithme

1. Etant donné  un critère d’arrêt.

2. Etant donné N le nombre maximal d’itérations.

3. Etant donné x0 et x1 deux valeurs initiales de la solution.

4. Effectuer :

f  xn  xn  xn  1 
xn  1  xn 
f  xn   f  xn  1 

xn  1  xn
5. Si 
xn  1

 Convergence atteinte ;
 Ecrire la solution xn  1 ;

 Arrêt.
6. Si le nombre maximal d’itérations N est atteint :

 Convergence non atteinte en N itérations


 Arrêt.
Retour à l’étape 4.

Remarques
 
1. La dérivée f ' xn n’apparaît plus dans l’algorithme.

2. Il faut fournir au départ deux valeurs initiales de la solution : c’est ce qu’on appelle un
algorithme à deux pas.

3. On choisit les valeurs initiales le plus près possible de la racine recherchée. Il n’est
cependant pas nécessaire qu’il y ait un changement de signe dans l’intervalle fermé
x 0 , x 1  comme c’est le cas dans la méthode de la bissection.

4. L’analyse de la convergence de cette méthode est plus délicate que celle de la méthode de
Newton. En effet, on montre que :
32
1 5
1 ,618033...
e n 1  C e n 2  C en

x
Exercice I : Résoudre par la méthode de la sécante l’équation e  x  0 sachant que les
deux valeurs initiales de la solution sont x0  0 et x 1  1 .

Exercice II : En utilisant x 0  1 et x 1  2 pour valeurs initiales de la solution et   10  6


comme précision, chercher la racine carrée de 2.

Algorithme simplifié
Donnée : x1 , x2 , e , f  x 

Calculs de N
y1  f  x1  ; y2  f  x2 

Pour i  1 à N

 y 2  x 2  x1 
 
 y 2  y1 
x
 3 x 2


 écrire i , x
 3


 si x 3  x 2   , on arrête les calculs

sinon x  x ; x  x ;
 1 2 2 3

 y1  y 2 ; y 2  f  x 3 

33
CHAPITRE 3

RESOLUTION DES SYSTEMES D’EQUATIONS LINEAIRES


METHODES DIRECTES

Introduction
Dans la pratique scientifique, l’ingénieur se trouve souvent confronter à des problèmes dont la
résolution passe souvent par celle d’un système d’équations qui modélisent divers éléments en
ingénierie. On distingue deux principales méthodes. Les méthodes directes et les méthodes
itératives. Dans ce chap., nous verrons les principales méthodes directes utilisées pour la
résolution de tels systèmes d’équations.

Systèmes linéaires
De façon générale, la résolution d’un système d’équations linéaires consiste à trouver un vecteur
 x1 
 x2  T
x   x3  ou x   x1 x2 x3 xn  (T signifiant transposée) solution de :
 
 xn 

a11 x1  a12 x2  a13 x3      a1n xn  b1


a21 x1  a22 x2  a23 x3      a2n xn  b2
a31 x1  a32 x2  a33 x3      a3n xn  b3

(1)

an1 x1  an2 x2  an3 x3      ann xn  bn

On utilisera la notation matricielle qui est beaucoup plus pratique et surtout plus compacte. Alors on
écrit le système précédent sous la forme :

Ax  b (2)

où :

34
 a11 a12 a13 a1n 
 b1 
 a21 a22 a23 a2n   b2 
A   a31 a32 a33 a3n 

et b   b3 
 
   bn 
 an1 an2 an3 ann 

La matrice A et le vecteur b sont connus, il reste à déterminer le vecteur x . Le problème est un


système de n équations à n inconnues. En pratique, la valeur de n varie considérablement et peut
s’élever jusqu’à plusieurs milliers.

Remarque 1
Dans la plupart des cas, on traitera des matrices non singulières ou inversibles c à d les matrices
dont les matrices inverses existent. Ainsi la solution de l’équation (2) s’écrit comme suit :

x  A1 b

Le calcul de la matrice inverse A1 sera l’objet des principales méthodes que nous allons exposer
dans ce chapitre.

Exercice I : résoudre le système linéaire suivant :

 2 x1  3 x2  8

 3 x1  4 x2  11

par la méthode de substitution.

Solution

En tirant x1 dans la 1ère équation, on a :

8  3x2
x1 
2

que l’on substitue dans la 2e équation. On trouve :

 8  3 x2  9
3   4 x2  11  12  2 x2  4 x2  12  0 ,5 x 2  11
 2 
 x2  2
 x1  1

Remarque 2 :

35
Il est théoriquement possible d’étendre la substitution successive à des systèmes de grande taille.
Cependant, la transcription sous forme d’algorithme pouvant être programmé dans un langage
informatique s’avère difficile. Il faudra recourir à d’autres méthodes pour simplifier le système
d’équations.

1. Systèmes diagonaux
D’abord on a les systèmes diagonaux dont la matrice A n’a de coefficients non nuls que sur la
diagonale et ils sont très faciles à résoudre.

 1 0 0   x1   2 
Exercice 2 : résoudre le système suivant : 0 2 0   x 2    2 
0 0 3   x3   9 

Solution

Ce système est très facile à résoudre. Il suffit de considérer séparément chaque ligne et on a :

 1.x1  2 x1  2

 2.x2  2  x2  1

 3.x3  9 x3  3

On voit tout de suite comment résoudre le cas général. La solution générale qui en découle est :

bi
xi  pour i  1,2,   ,n
aii

Mais on rencontre rarement les systèmes diagonaux en pratique.

2. Systèmes triangulaires
Le second type de système simple est le système triangulaire inférieur ou supérieur.

Définition 1 :

Une matrice est dite triangulaire inférieure (ou supérieure) si tous les aij (ou tous les a ji ) sont nuls

pour i j . Une matrice triangulaire inférieure à la forme type suivante :

36
 a11 0 0 0 0 
 a21 a22 0 0 0 
 a31 a32 a33 0 0 
 
a a a an 1 n-1 0 
 an 1 1 an 1 2 an 1 3 ann 
 n1 n2 n3 an n-1

Une matrice triangulaire supérieure est tout simplement la transposée d’une matrice triangulaire
inférieure c à d du type que voici :

 a11 a12 a13 a1 n  1 a1 n 


 0 a22 a23 a2 n 1 a2 n 
0 0 a33 a3 n 1 a3 n 
 
0 0 0 an  1 n  1 an  1 n 
0 an n 
 0 0 0

Les systèmes triangulaires sont également faciles à résoudre. En effet, il suffit de commencer la
résolution par l’équation qui se trouve à la pointe du triangule (la première pour une matrice
triangulaire inférieure et la dernière pour une matrice triangulaire supérieure) et de résoudre ensuite
une à une les équations du système. On parle de descente triangulaire ou de remontée triangulaire,
selon le cas.

Exercice 3 : résoudre le système suivant :

 3 0 0   x1   9 
 1 2 0   x2    7 
 3 2 1   x3   14 

Solution :

On a ici une matrice triangulaire inférieure, donc la résolution va nécessiter une descente
triangulaire qui consiste à résoudre la 1ère équation du système.

En se rappelant (2), on a :

b
a11 x1  b1  3x1  9  x1  a 1  9  3
11 3

Puisque x1 est maintenant connue, on peut déterminer x 2 à partir de la ligne suivante :

b2  a21  x1 7  1  3
x2   2
a22 2
37
La dernière équation permet de trouver x 3 qui s’écrit comme suit :

b3  a31 x1  a32 x2 14  3  3  2  2
x3  a33  1
1

Conclusion :

De l’exemple précédent (ex. 3), on peut rapidement déduire le cas général pour la descente
triangulaire :

b1
x1 
a11
(3)
 i 1 
 bi   aik xk 
xi   k 1  pour i  1,2,    ,n
aii

Pour la remontée triangulaire, on a :

bn
xn 
ann
(4)
 n 
 i
b   aik xk 
xi   k i 1  pour i  n  1,n  2,    ,2,1
aii

Remarque 3 :

Les équations (3) et (4) sont valables si les aii sont tous non nuls. Dans le cas contraire la matrice

n’est pas inversible et donc le système Ax  b n’a pas une solution unique. En effet, on rappelle
que le déterminant d’une matrice triangulaire est tel que :

n
détAtriangulaire   aii (5)
i 1

En d’autres termes, le déterminant est le produit des éléments de la diagonale de A. Le produit est
donc non nul si et seulement si aucun des aii n’est nul.

38
Conclusion
Les matrices triangulaires sont primordiales pour la résolution des systèmes linéaires. Dans la suite
de ce chap. consacré aux méthodes directes, on essaiera de ramener un système linéaire quelconque
à un ou plusieurs systèmes triangulaires.

Méthodes directes
Définition
Une méthode de résolution d’un système linéaire est dite directe si la solution du système peut être
obtenue par cette méthode en un nombre fini et prédéterminé d’opérations. Les deux principales
méthodes directes sont :
 la méthode d’élimination de Gauss ;
 la méthode de la décomposition L U.
En fait, il s’agit d’une seule et même méthode puisque la première est un cas particulier de la
deuxième. La stratégie de résolution est basée sur la question suivante : quelles opérations sont
permises sur les lignes du système (1) pour le ramener à un système triangulaire ?

Opérations élémentaires sur les lignes


En considérant le système Ax  b (6), pour le transformer sans en modifier la solution on peut
multiplier (à gauche de chaque côté) les termes des deux membres par une matrice W inversible ;
la solution ne sera pas modifiée puisqu’on peut multiplier à nouveau par W 1 pour revenir au
système de départ, ainsi a-t-on :
WAx  W b

possède la même solution que le système (6) à condition que W soit


inversible (c à d W  W 1  I ).

Pour transformer un système linéaire quelconque en un système triangulaire, il suffit d’utiliser trois
opérations élémentaires sur les lignes de la matrice ; ces trois opérations élémentaires correspondent
à trois types de matrices W différentes. C’est la base de la méthode d’élimination de Gauss.

Soit l i la ligne i de la matrice A. Les trois opérations élémentaires sont les suivantes :

 
1. opération l i   l i : remplacer la ligne i par un multiple d’elle-même   R  ;

opération l i  l j  : intervertir la ligne i et la ligne j ;


 
2.

 
3. opération l i  l i   l j : remplacer la ligne i par la ligne i plus un multiple de la ligne

j.
39
Ces trois opératins élémentaires sont permises car elles équivalent à multiplier le système (6) par
une matrice inversible.

1. Multiplication d’une ligne par un scalaire

Remplacer la ligne i par un multiple d’elle-même (opération 1 : l i   l i ) revient à multiplier le

système linéaire (6) par une matrice inversible W  M l i   l i   dont tous les éléments

diagonaux sont égaux à 1 sauf l’élément aii qui vaut λ  aii    .

ie
1 colonne

 1 
 
W M 
1
   ie
 1 ligne
Remarques 4 : aii

1. Le déterminant de la matrice diagonale M l i   l i   est λ. La matrice M est donc

inversible si   0 .

2. La matrice inverse de M est tout simplement M 1 qui consiste à remplacer l i par  1 l i


M 1 l i   1 l i 
c à d qu’on doit avoir ce qui suit :

  
M 1 l i   1 l i  M l i   1   l i  (7)

Il suffit donc de remplacer λ par 1/λ pour inverser la matrice.

Exercice
Etant donné le système suivant :

 3 1 2   x1   6 
6 4 1   x2    11  (8)
 5 4 1   x3   10 

dont la solution est x   1 1 1 , multiplier la ligne 2 de ce système par un facteur 3.


T

Solution
Ceci revient à multiplier le système par la matrice suivante :
2e
 1 0ligne
0
 
M l 2  3l 2  0 3 0  2e
0 0 1  ligne 40
On obtient ceci :
 1 0 0   3 1 2   x1   1 0 0   6 
0 3 0  6 4 1   x   0 3 0   11 
    2    
0 0 1   5 4 1   x3  0 0 1   10 
W A x W b

 3 1 2   x1   6 
 18 12 3   x    33 
  2  
 5 4 1   x3   10 

La solution de ce nouveau système reste la même que celle du système de départ puisque la

 
matrice M l 2  3l 2 est inversible et que son déterminant est 3.

1. Permutation de deux lignes

L’opération élémentaire qui consiste à intervertir deux lignes l i  l j   est également connue sous
le nom de permutation de lignes. Cette opération est équivalente à la multiplication du système (6)
par une matrice inversible


W  P li  l j 
qui contient des 1 sur la diagonale sauf à la ligne i où le ‘’1’’ est dans la colonne j et à la ligne j où
le ‘’1’’ est dans la colonne i, tous les autres termes sont nuls.

ie jecolonne
colonne
1 
 1 
 
 
 
 1 
 0 1  ie
  ligne
   
1
W  P li  l j  
 
 1 
 1 0  jeligne
 
 1 
 
 
 1

41
Exemple : intervertir la ligne 2 et la ligne 3 du système précédent

1 0 0

P l2  l3   0 0 1 
0 1 0 

Cela revient à multiplier le système par la matrice ci-dessus. On a alors :

 1 0 0   3 1 2   x1   1 0 0   6 
0 0 1  6 4 1   x   0 0 1   11 
     2    
0 1 0   5 4 1   x3  0 1 0   10 

Ce qui donne :

 3 1 2   x1  6
 5 4 1   x    10 
   2  
6 4 1   x3   11 

Remarques :

   
1. L’inverse de la matrice P l i  l j est donc la matrice P l i  l j elle-même

  
c à d que nous avons : P l i  l j  P 1 l i  l j 
2. On montre facilement que :

 

dét P l i  l j   1

Lorsque l’on permute deux lignes le déterminant du système de départ change de signe.

3. 
Opération l i  l i   l j 
Cette opération est équivalente à la multiplication du système de départ par une matrice inversible
W telle que :


W  T li  li  l j 
qui vaut 1 sur toute la diagonale et 0 partout ailleurs sauf le terme aij qui vaut  a ij  
42
Colonne j

1 
 1 
 
 1 
 
 1 
W  
 
  1  Ligne i
 
 
 1 
 1

aij

NB : la colonne j peut-être également vers la droite

Exercice :
En considérant le système précédant, remplacer la 2e ligne  i  2  par la 2e ligne moins 2 fois
la 1ère ligne  j  1 .

Solution :

Il suffit de multiplier le système initial par la matrice de transformation :


W  T l 2  l 2  2l 1  i  2, j  1

 1 0 0
W   2 1 0 
 0 0 1 

 1 0 0   3 1 2   x1   1 0 0   6 
 2 1 0  6 4 1   x    2 1 0   11 
     2    
 0 0 1   5 4 1   x3   0 0 1   10 

On trouve :

 3 1 2   x1   6 
 0 2  3   x    1 
   2  
 5 4 1   x3   10 

43
Remarques
1. La matrice T qui à l i  l i   l j est inversible. Pour obtenir son inverse, il suffit de
remplacer  par   c à d :

  
T 1 l i  l i   l j  T l i  l i   l j  (10)

cela signifie que pour revenir en arrière, il suffit de soustraire la ligne que l’on vient d’ajouter.


2. On montre que le déterminant de T l i  l i   l j  est 1.
3. Des 3 opérations élémentaires, seule l’opération qui à l i  l i   l j (3e opération) n’a pas
d’effet sur le déterminant.

4. Méthode d’élimination de Gauss

Maintenant, il suffit d’utiliser systématiquement les opérations élémentaires pour introduire des
zéros dans la matrice et obtenir ainsi un système triangulaire supérieur :

Ax  b

 
 
A  
 
 
 

La validité de la méthode d’élimination de Gauss repose sur le fait que les opérations élémentaires
consistent à multiplier le système de départ par une matrice inversible.

NB : En pratique, on ne multiplie jamais les systèmes considérés par les différentes matrices W car
ce serait trop long. Il faut cependant garder en tête que les opérations effectuées sont équivalentes à
cette multiplication.

La méthode d’élimination de Gauss consiste à éliminer tous les termes sous la diagonale de la
matrice A . Mais avant de poursuivre, il est nécessaire d’introduire la notion de matrice augmentée.

44
4.1. Matrice augmentée

Définition

La matrice augmentée du système linéaire (1) est la matrice de dimension n   n  1 que l’on

obtient en ajoutant le membre de droite b à la matrice A c à d :

 a11 a12 a1n b1 


a a22 a2 n b2 
 21
 a31 a32 a33 a3n b3 
   A b
 
  ou (11)
 an1 an2 an3 ann bn 

La notation (11) est très utile puisque les opérations élémentaires doivent être effectuées à la fois

sur les lignes de la matrice A et sur celle du vecteur b .

4.2. Description de la méthode par l’exemple

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

 2 1 2   x1   10 
6 4 0   x    26 
   2  
 8 5 1   x3   35 

La matrice augmentée du système est :

pivo
t  2 1 2 10 
 6 4 0 26 
  
T1 l 2  l 2   6 2  l1 
 8 5 1 35  T l
2 3  l 3  8 2  l1 

Il faut creuser la matrice A pour la rendre triangulaire supérieure en effectuant les transformations
suivantes :

Ligne 1 T 1 l 2  l 2  6 2  l1 

T2 l 3  l 3   8 2  l1 
45
Ligne 3
On a indiqué ci-dessous la matrice augmentée de même que les opérations élémentaires pour
éliminer les termes non nuls sous la diagonale de la 1ère colonne. Il est à noter que l’on divise par 2 (
a11 ) le coefficient qui multiplie la ligne 1 : on dit que 2 est le pivot. On obtient en effectuant les
opérations indiquées les résultats suivants :

2 1 2 10 
 0 1 6 4 

 0 1 7 5  T3  l 3  l 3   1 1  l 2 

Pour produire une matrice triangulaire supérieure, il suffit d’introduire maintenant des zéros sous la
diagonale de la dernière colonne. L’opération est indiquée ci-dessous et le pivot est 1 puisque
maintenant a22  1 . On obtient donc ce qui suit :

 2 1 2 10 
 0 1 6 4 
 
 0 0 1 1  (12)

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

1
 x 3  1  x 3  1
1
4  ( 6 )( 1 )
x 2  6 x 3  4  x 2  2
1
10  ( 1 )( 2 )  2( 1 )
2 x1  x2  2 x3  10  x1  3
2

On a construit la matrice triangulaire (12) en effectuant les opérations élémentaires directement sur
les lignes de la matrice. Si la matrice triangulaire obtenue est notée U , les opérations effectuées
pour obtenir U sont équivalent à multiplier le système de départ par une suite de matrice
inversibles. En fait, on a :

U  T3 T2 T1 A

où les matrices Ti équivalent aux différentes opérations effectuées sur les lignes de la matrice. Plus
explicitement, on a :

46
2 1 2 1 0 0   1 0 0   1 0 0  2 1 2 
 0 1 6    0 1 0   0 1 0   3 1 0  6 4 0 
  
 0 0 1  0 1 1   4 0 1   0 0 1   8 5 1 
U T3 T2 T1 A

si on poursuit le raisonnement, on a également A  T11 T21 T31 U . Puisque l’on sait inverser les

matrices Ti on a immédiatement ce qui suit :

T11 T21 T31

2 1 2 1 0 0  1 0 0 1 0 0  2 1 2 
 6 4 0    3 1 0   0 1 0  0 1 0   0 1 6 
         
 8 5 1   0 0 1   4 0 1  0 1 1   0 0 1 
A L U

1 0 0
A  3 1 0  U
 
 4 1 1 
L

Remarques

1. Les coefficients de la matrice triangulaire inférieure sont ceux qui ont permis d’éliminer les
termes de la matrice non nuls sous la diagonale de la matrice A . Tout revient à décomposer la
matrice A en un produit d’une matrice triangulaire inférieure notée L et d’une matrice
triangulaire supérieure U . C’est ce que l’on appelle une décomposition ou une factorisation
L U  A.

2. La méthode d’élimination de Gauss revient à factoriser la matrice A en un produit de deux


matrices triangulaires L et U seulement dans le cas où aucune permutation n’est effectuée.

3. Le déterminant de la matrice de départ est le même que celui de la matrice triangulaire (12),
puisqu’on n’a effectué que les opérations de la forme l i  l i   l j ce qui revient à multiplier le
système de départ par une matrice dont le déterminant est 1. On a donc :

détA  ( 1 )( 1 )( 1 )( 2 )( 1 )( 1 )
 2

égal au produit des termes diagonaux de la matrice (12).

47
détA  détT11détT21détT31détU

5. Décomposition L  U

5.1. Principe de la méthode

Supposons un instant qu’on réussisse à exprimer la matrice A en un produit de deux matrices


triangulaires L  U . On a à résoudre

A x  b  LU x  b

En posant par exemple U x  y , on obtient un système linéaire dont la résolution se fait en deux
étapes. Nous avons d’abord à résoudre :

L yb

et ensuite (13)
U x y

qui sont deux systèmes triangulaires. On utilisera d’abord une descente triangulaire sur la matrice
L pour obtenir y et par la suite une remontée triangulaire sur la matrice U pour obtenir la

solution recherchée x .

Notons que la décomposition L  U n’est pas unique. Pour illustrer la non unicité de la
décomposition L  U , voyons l’exemple suivant :

Exemple : vérifier les égalités suivantes :

 2 1 1   2 0 0   1 0 ,5 0 ,5 
 0  4 2    0 4 0   0 1 0 ,5 
    
 6 3 1   6 0 4  0 0 1 
 1 0 0   2 1 1 
  0 1 0   0 4 2 
 3 0 1   0 0 4 

Remarque

La décomposition L  U n’étant pas unique, il faut faire au préalable des choix arbitraires. Le choix
le plus courant consiste à imposer que la matrice U ait des ‘’1’’ sur sa diagonale, c’est ce qu’on
appelle décomposition de Crout.
48
5.2. Décomposition de Crout

Pour obtenir cette décomposition, considérons une matrice de dimensions 4  4 , le cas général étant
similaire. Il s’agira de déterminer les coefficients l ij et uij des matrices L et U de sorte que

A  L U . En imposant que la diagonale de U soit composée de ‘’1’’, on doit avoir :

 a11 a12 a13 a14   l11 0 0 0   1 u12 u13 u14 


a a24   l 21 0  0 1
 21 a22 a23 l 22 0
 u23 u24 

 a31 a32 a33 a34   l 31 l 32 l 33 0  0 0 1 u34 
     
 a41 a42 a43 a44   l41 l42 l43 l44  0 0 0 1 
A L U

Il suffit de procéder de façon systématique par identification des coefficients. On remarque qu’il y a
exactement 16 (n2 dans le cas général) inconnues à déterminer. On peut faire le produit des matrices

L et U et se servir des différents coefficients aij . On obtient ainsi les 16 n 


2
équations

nécessaires pour déterminer les coefficients l ij et uij .

1. Produit des lignes de L par la 1ère colonne de U

On obtient immédiatement :

l11  a11
l 21  a 21
l 31  a 31
l41  a41

et la 1ère colonne de L est tout simplement la 1ère colonne de A .

2. Produit de la 1ère ligne de L par les colonnes de U

On obtient :

a12
l11 u12  a12  u12 
l11
a13
l11 u13  a13  u13  si l11  0
l11
a14
l11 u14  a14  u14 
l11

49
On a donc la 1ère ligne de U.

3. Produit des lignes de L par la 2e colonne de U

Les différents produits donnent :

l21 u12  l22  a22 l 22  a22  l 21 u12


l31 u12  l32  a32  l32  a32  l 31 u12
l41 u12  l42  a42 l42  a42  l41 u12

4. Produit de la 2e ligne de L par les colonnes de U

On trouve immédiatement que :

a23  l 21 u13
l 21 u13  l 22 u23  a23  u23 
l 22
a24  l 21u14
l 21 u14  l 22 u24  a24  u24 
l 22

5. Produit des lignes de L par la 3e colonne de U

On a :

l31 u13  l32 u 23  l33  a33  l 33  a33  l 31 u13  l 32 u 23


l41 u13  l42 u 23  l43  a33  l43  a43  l41 u13  l42 u 23

6. Produit de la 3e ligne de L par la 4e colonne de U

On a :

a34  l31 u14  l 32 u24


l31 u14  l32 u24  l33 u34  a34  u34 
l33

7. Produit de la 4e ligne de L par la 4e colonne de U

50
On a :

l41 u14  l42 u24  l43 u34  l44  a44  l44  a44  l41 u14  l42 u24  l43 u34

De façon générale, on a l’algorithme suivant :

Algorithme : Décomposition de Crout

1. Décomposition LU (sans permutation de lignes)


 1ère colonne de L :
li1  ai1 pour i  1,2,...,n (14)

 1ère ligne de U :
a1i
u1i  pour i  2,3, ...,n (15)
l11

 Pour i  2, 3, 4,..., n  1
Calcul du pivot :
i 1
lii  aii   lik uki (16)
k 1

Pour j  i  1, i  2, ..., n :
 Calcul de la ie colonne de L :
i-1
l ji  a ji   l jk uki (17)
k 1

 Calcul de la ie ligne de U
i-1
aij   lik ukj
k 1
uij  (18)
lii

 Calcul de
n-1
lnn : lnn  ann   lnk ukn (19)
k 1

2. Descente et remontée triangulaires


 Descente triangulaire pour résoudre L y  b :

51
b1
y1 
l11
i-1
bi   lik yk
k 1
Pour i  2, 3, 4 , ..., n : yi 
lii
i-1
bi   lik yk
k 1
i  2, 3, 4 , ..., n : yi  (20)
lii

 Remontée triangulaire pour résoudre U x  y ( uii  1 )

xn  yn
n
Pour i  ( n  1 ), ( n  2 ), ..., 1 : xi  yi   uik xk
k  1 1

n
i  ( n  1 ), ( n  2 ), ..., 1 : xi  yi   uik xk (21)
k  1 1

Remarques :

1. L’algorithme précédent ne fonctionne que si les pivots l ii sont tous non nuls. Ce n’est pas
toujours le cas et il est possible qu’il faille permuter deux lignes pour éviter cette situation tout
comme pour l’élimination de Gauss. Les coefficients l ii sont encore appelés pivots.

2. Une fois utilisés, les coefficients de la matrice A ne servent plus à rien. Ils peuvent être
détruits au fur et à mesure que la décomposition progresse. De ce fait, on peut les remplacer par
les valeurs l ij ou uij selon le cas. C’est ce que l’on appelle la notation compacte qui permet

d’éviter de garder inutilement en mémoire des matrices de grande taille.

Définition
La notation compacte de la décomposition L  U est la matrice de coefficients :

 l 11 u12 u13 u14 


l l 22 u23 u24 
 21
 l 31 l 32 l 33 u34 
  (22)
 l 41 l 42 l 34 l 44 
dans le cas d’une matrice de dimension 4 x 4. La matrice initiale A est tout simplement détruite.
Les coefficients 1 de la diagonale de la matrice U ne sont pas indiqués explicitement mais doivent

52
être tout de même pris en compte. De façon plus rigoureuse, la notation compacte revient à mettre
en mémoire la matrice L  U  I et à détruire la matrice A .

Exercice
Décomposer en un produit L  U le système d’équation linéaire suivant :

 3 1 2  x 1   12 
1    
 2 3   x 2    11 
 2  2  1   x 3   2 

et le résoudre.

Solution

Pour illustrer la notation compacte, on remplacera au fur et à mesure les coefficients a ij par

l ij ou uij ; les cases que nous allons mettre souligneront que les éléments a ij correspondant

ont été détruits.

1) 1ère colonne de L
C’est tout simplement la 1ère colonne de A

 3 1 2
1 2 3 

 2  2  1 

2) 1ère ligne de U
Le pivot de la 1ère ligne est 3. On divise donc la 1ère colonne de A par 3

 3 1 / 3 2 3
1 2 3 

 2 2  1 

3) 2e colonne de L
Pour trouver la 2e colonne de L, on a dans l’algorithme la relation (17)
53
 1  7
l 22  a 22  l 21 u12  2   1   
 3  3
 1  4
l 32  a 32  l 31 u12   2   3    
 3  3

 3 1 / 3 2 3
1 7 3 3 

 2  4 3  1 

4) 2e ligne de U
(18) donne :

a 23  l 21 u13 3  1( 2 / 3 )
u23   1
l 22 7/3

 3 1 / 3 2 3
1 7 3 1 

 2  4 3  1 

5) Calcul de l33
l 33  a 33  l 31 u13  l 32 u23
De (19)
  1  2( 2 / 3 )  (  4 / 3 )( 1 )   1

La matrice compacte devient :

 3 1 / 3 2 3
1 7 3 1 

 2  4 3  1 

La matrice de départ A (maintenant détruite) vérifie nécessairement :

54
3 0 0 1 1 3 2 3
A   1 7 3 0  0
 1 0 
 2 4 3  1  0 0 1 
L U

6) Résoudre L y  b
La descente triangulaire donne :

b1 12
y1   4
l 11 3
b2  l 21 y1 11  1( 4 )
y2   3
l 22 7 3
b3  l 31 y1  l 32 y 2 2  2( 4 )  (  4 / 3 )( 3 )
y3   2
l 33 1
y   4 3 2
T

7) Résolution de U x  y
La remontée triangulaire donne :

x3  2
x 2  y 2  u23 x 3  3  1( 2 )  1
x 1  y1  u12 x 2  u13 x 3
 1  ( 1 / 3 )( 1 )  ( 2 / 3 )( 2 )  3
 3
x   1  est la solution recherchée
 2 

3. Décomposition L  U et permutation de lignes

Comme on l’a déjà souligné, l’algorithme de décomposition L  U exige que les pivots l ii soient
non nuls. Dans le cas contraire, il faut permuter deux lignes. Contrairement à la méthode
d’élimination de Gauss, la décomposition L  U utilise le terme de droite b à la toute fin au
moment de la descente triangulaire L y  b . Si l’on permute des lignes on doit garder la trace de

façon à effectuer les mêmes permutations sur b . A cette fin on introduit un vecteur O dit vecteur
de permutation qui contient tout simplement la numérotation des équations.
55
Remarque

Dans une décomposition L  U , la permutation de ligne s’effectue toujours après le calcul de chaque
colonne de L . On place en position de pivot le plus grand terme en valeur absolue de cette colonne
(sous le pivot actuel) pour des raisons de précision.

Exercice : Résoudre par la méthode de décomposition L  U le système d’équations linéaires


suivant :
0 2 1   x1   5 
 1 0 0   x    1
   2  
 3 0 1   x 3    2 

Solution :

0 2 1 
 
Soit A   1 0 0  la matrice de départ et le vecteur de permutation O  1 2 3
T

 3 0 1

indiquant que la numérotation des équations n’est pas encore modifiée.

1. 1ère colonne de L
Puisqu’il s’agit de la 1ère colonne de A, on a :

pivo 0 2 1   1
1 0 0
t   O   2 
 3 0 1  3 
et

Le vecteur de permutation n’est pas encore modifié mais on a un pivot nul. On effectue

 
l’opération l 1  l 3 . On aurait tout aussi bien pu permuter la ligne 1 et la ligne 2 mais on
choisit immédiatement le plus grand pivot possible en valeur absolue. Ainsi, le vecteur de

permutation O est alors modifié. On a :

pivot  3 0 1  3
1 0 0 O   2 
 
0 2 1  1 

56
2. 1ère ligne de U
Ici, il suffit de diviser cette ligne par le nouveau pivot 3

 3 0 1 3  3
1 0 0 
  O   2 
0 2 1   1 

3. 2e colonne de L
l 22  a 22  l 21 u12  0  1( 0 )  0
De (17) on tire
l 32  a 32  l 31 u12  2  0( 1 )  2

Maintenant :

 3 0 1 3  3
1 0 0  O   2 
 
0 2 1   1 


Et encore on a un pivot nul qui oblige à intervertir les lignes 2 et 3 et à modifier O en
conséquence. Donc on a :

 3 0 1 3  3
0 2 1  O   1 
 
 1 0 0   2 

4. Calcul de u23
a 23  l 21 u13 1  0( 1 / 3 ) 1
De (18) u 23   
l 22 2 2

et la matrice compacte devient :

 3 0 1 3  3
0 2 1 2  O   1 
 
 1 0 0   2 

57
5. Calcul de l33

l 33  a 33  l 31 u13  l 32 u23
 0  1( 1 / 3 )  0( 1 / 2 )  1 / 3

Donc la décomposition L  U de la matrice A donne :

3 0 1 3  3
0 2 1 2  O   1 

 1 0  1 3  2 

Remarquons que :

3 0 0  1 0 1 3  3 0 1
0 2 0  0 1 1 2   0 2 1 
  
 1 0  1 3 0 0 1   1 0 0 
    
L U A perturbée suivant O


L’équation à résoudre est Ax  b , et compte tenue de O on résout d’abord

 2 3 0 0   y 1   2
  
L y   5   0 2 0   y 2    5 
  1   1 0  1 3  y 3    1 

y   2 3 5 2 1
T
La descente triangulaire donne :

On résout ensuite :

 1 0 1 3   x 1    2 3
U x  y  0 1 1 2   x 2    5 2 
0 0 1   x 3   1 

La remontée triangulaire donne :

x   1 2 1
T

qui est la solution finale du système.

58
Remarque

Le déterminant de la matrice A de l’exercice précédent est donné par :

détA  ( 1 )( 1 ) ( 3 )( 2 )(  1 3 )
 
2 permutatio ns

comme on a permuté deux lignes deux fois, le déterminant a changé de signe 2 fois cela nous amène
au théorème suivant :

THEOREME

On peut calculer le déterminant d’une matrice A à l’aide de la décomposition L  U de la


façon suivante :
n
détA  ( 1 ) N  l ii
i 1 (23)

où N est le nombre de fois on a permuté deux lignes.

4. Calcul de la matrice inverse A 1

Le calcul de la matrice inverse A 1 est rarement nécessaire. En effet, il est inutile de calculer A 1
pour résoudre un système linéaire. Cependant, si pour une raison ou pour une autre on souhaite
calculer cet inverse, il est important de suivre le bon cheminement afin d’éviter les calculs longs et
parfois inutiles.

La solution du système linéaire :


Axb
(1)

est donnée par

x  A 1 b

Pour déterminer la matrice inverse, il suffit de remarquer que le produit d’une matrice par le

vecteur e i dont toutes les composantes sont nulles sauf la ième qui vaut 1 donne la ième colonne de

la matrice A.

Exempe
Soit la matrice suivante :
 1 2 3
A   4 5 6 
7 8 9 

59
En multipliant A par le vecteur e3  0 0 1T on a la 3e colonne de A, donc :

A e3  3 6 9
T

e 1  1 0 0  A e 1  1 4 7 
T T

Si on applique ce raisonnement à la matrice A 1 on constate qu’après avoir noté C i la ième colonne

de A 1 on a :

Ci
    
    

A 1       A 1 e i  C i ou ei  AC i
 
    
    

AA  e
1
i  AC i
I e i  AC i
e i  AC i

e i  AC i
(24)

La résolution de (24) donne la ième colonne de A 1 . On peut donc affirmer que le calcul de A 1 est
équivalent à la résolution de n systèmes linéaires (1 par colonne de A 1 ).

Remarque

Puisque le calcul de A 1 est équivalent à la résolution de n systèmes linéaires il est clair qu’il ne
faut jamais calculer A 1 pour résoudre un système linéaire. Il vaut mieux utiliser directement une
décomposition L  U sans passer par l’inverse.

0 2 1 
Exercice : Calculer l’inverse de la matrice suivante : A   1 0 0 
 3 0 1

Solution
La décomposition L  U de A est déjà obtenue à partir de l’exemple précédent, soit on a :

60
3 0 0  1 0 1 3  3
0 2
 0  0 1 1 2  O   1 
 1 0  1 3 0 0 1   2 
   
L U


On aura recours encore une fois au vecteur de permutation O . Pour obtenir la matrice
inverse, on doit résoudre les trois systèmes linéaires suivants :

A C 1  e1 A C2  e 2 A C3  e3

dont les résultats donne les trois colonnes de la matrice A 1 .

Résolution de A C 1  e1 où C1 est l’inconnue

A C1  e1  L U
C
 1  e1
y
1
(1)

En posant :

U C1  y
1

(1) devient :
L y  e1
1 (2)

or e1  1 0 0  ; puisque la matrice A est perturbée, le produit L  U l’est aussi.


T

Comme le vecteur de permutation est O  3 1 2T , e1 perturbé s’écrit :

0 
e1   1
0 

y 
y   y12 
11
Si
1
 y 
13

(2) devient :

61
3 0 0   y  0 
0 2 0   y11    1
   12   
 1 0  1 / 3  y13  0 

La descente triangulaire donne : y  0 1 2 0 T .


1

On va résoudre ensuite U C1  y
1

1 0 13  C   0 
0 1 2  C12   1 2 
11

 1
0 0 1  C13   0 

on trouve par remontée triangulaire

C 1  0 1 2 0 
T

qui représente la 1ère colonne de A 1 .


2.) La résolution du second système A C2  e2 donne : 
C2  1 3 2  3
T

3.) la résolution du second système A C3  e3 donne :

C3  0  1 2 1
T

Donc la matrice inverse de A 1 de A s’écrit :

 0 1 0 
A 1 
 1 2 3 2  1 2 
 0  3 1 

5. Conditionnement d’une matrice


On traitera ici les mesures d’erreur liées aux systèmes linéaires. Cela amène donc à aborder les
mesures de norme vectorielle, norme l 1 , norme euclidienne et norme l  .

62
5.1. Norme vectorielle

 
Une norme vectorielle est une application de R n dans R R n  R qui associe à tout vecteur x

 
un scalaire noté x x  x et qui vérifie les trois propriétés suivantes :

 la norme d’un vecteur est toujours strictement positive sauf si le vecteur a toutes ses
composantes nulles c à d :

x  0 sauf si x  0 (25)

 si  est un scalaire ou un réel, alors on a :

x    x
(26)

 l’inégalité triangulaire est toujours vérifiée entre deux vecteurs x et y quelconque :

x y  x  y
(27)

Toute application vérifiant ces trois propriétés est une norme vectorielle. La plus connue est la
norme euclidienne.

5.2. Norme euclidienne

La norme euclidienne d’un vecteur x est notée x et définie par :


e

x  x12  x22    xn2


e (28)

où x1 , x 2 , , xn sont les composantes de x .

THEOREME
La norme Euclidienne vérifie les trois propriétés d’une norme vectorielle.
5.3. Norme l 1 et l 
La norme l 1 est définie par :
n
x   xi
1 i 1 (29)

63
Tandis que la norme l  est définie par :

x  max xi
 1 i  n
(30)

Exercice : étant donné le vecteur x  1  3  8 , déterminer x , x


T
et x .
1  e

Solution

x  x1  x 2  x 3
1

 1   3   8  12

x  max 1 , 3 , 8    8  8

x  x 12  x 22  x 32
e

 1  9  64  74

5.4. Norme matricielle


La norme matricielle est une application qui associe à une matrice A un scalaire noté A vérifiant
les quatre propriétés suivantes :
1. la norme d’une matrice est toujours >0 sauf si la matrice a toute ses composantes
nulles :

A  0 sauf si A  O
(31)

2. si  est un scalaire alors on a :

A  A
(32)

3. l’inégalité triangulaire est toujours vérifiée entre deux matrices A et B c à d :


A B  A  B (33)

4. une quatrième propriété est nécessaire pour les matrices :

A B  A  B
(34)
64
Toute application qui vérifie ces quatre propriétés est une norme matricielle.

5.5 Quelques normes matricielles


n
1. A 1  max  a ij
i  jn
i 1

(consiste à sommer en valeur absolue chacune des colonnes de A et choisir la plus grande somme)

n
2. A   max  a ij
1 i  n
j 1

(faire un travail similaire sur les lignes)


n
3. A2  a ij
2
i , j 1

c’est l’équation de la norme euclidienne des matrices, on l’appelle quelques fois la norme de
Frobénius.

 1 2 5
 1  5 
Exercice : soit la matrice A    3
 1  9 0 

Déterminer A 1 , A  , A 2 .

Solution :
A 1  max( 5 ,12 ,10 )  12
A   max( 8 ,9 ,10 )  10

A 2  1 2   2   5    3   1 2   5   1 2   9   0 2
2 2 2 2 2

 147
Lorsqu’on s’intéresse aux systèmes linéaires on doit souvent manipuler des produits de matrices par
des vecteurs d’où l’intérêt de la définition :

Définition :
Une norme vectorielle et une norme matricielle sont dites compatibles si la condition

Ax  A  x
(35)

est valide quelque soient la matrice A et le vecteur x

65
Remarque
Les normes vectorielle et matricielle ne sont pas toutes compatibles entre elles. On démontre que :

x et A 1
1

x et A 

x et A 2
e

sont compatibles deux à deux.

Exercice : considérons le vecteur x  1  3  8 et la matrice


T

 1 2 5

A   3 1  5 
 1  9 0 
Vérifier la compatibilité conditionnée par l’expression (35).

Résolution
- 33
A x   34 
 28 

A 1  12 x  12
1

A   10 x 8

A 2
 147 x  74
e

A x   33  34  28  95
1

Ax  max 33 ,34 ,28   34


Ax   332   34 2  28 2  3029


e

L’inégalité (35) devient :

norme l 1 : 95  12  12

66
norme l  : 34  10  8

norme euclidienne : 3029  147  74

5.6. Conditionnement d’une matrice


Définition
Le conditionnement d’une matrice notée CondA est défini par :

CondA  A  A1 (36)

Remarques
1. Le conditionnement dépend de la norme matricielle utilisée. On utilise le plus souvent la
norme l  A 

2. On montre que le conditionnement de la matrice est encadré par :

1  CondA   (37)

Le conditionnement est important pour déterminer la sensibilité d’une matrice aux erreurs
d’arrondie et de représentation sur ordinateur.

5.8 Bornes d’erreurs et conditionnement

Considérons le système linéaire Ax  b et notons x la solution exacte du système et x * la


solution approximative ; la norme de l’erreur :

e  x  x*

e devrait être plus petite, ce n’est pas toujours le cas.

Définissons le résidu par le vecteur r :


r  b  Ax (38)
donc nous avons le résidu

67
r  b  Ax  Ax  Ax *
 A
xx


*  Ae 
e

si nous avons r  Ae  e  A1 r

compte tenue de la condition (35), il vient :

e  A 1 r
(39)

De façon analogue, puisque le vecteur Ae  r on peut écrire que :

r  A e

r
on peut tirer  e (40)
A

(39) et (40) donnent :

r
 e  A 1 r (41)
A

en faisant le même raisonnement avec les égalités Ax  b et x  A1 b , on trouve ce qui suit :

b
 x  A1 b
A

et, en inversant les inégalités, on trouve :

1 1 A
  (42)
A 1 b x b
En multipliant les inégalités (41) et (42), on obtient le théorème fondamental suivant :

r e A1 A r
 
A A1 b x b

d’où
68
THEOREME

1 r e r
  CondA (43)
CondA b x b

Remarques

e
1. Le terme du milieu représente l’erreur relative entre la solution exacte x et la solution
x

approchée x * .
2. Si le conditionnement de la matrice est près de 1, l’erreur relative est comprise entre deux
valeurs très près l’une de l’autre. Si la norme du résidu est petite, l’erreur relative est
également petite et la précision de la solution approximative toutes les chances d’être
satisfaisante.
3. Par contre si le conditionnement de la matrice A est grand, la valeur de l’erreur relative est
quelque part entre 0 et un nombre possiblement très grand. Il est donc à craindre que l’erreur
relative soit alors grande, donc que la solution approximative soit de faible précision et
même, dans certains cas complètement fausse.
4. Même si la norme du résidu est petite, il est possible que l’erreur relative liée à la solution
approximative soit quand même très grande.
5. Plus le conditionnement de la matrice A est grand, plus on doit être attentif à l’algorithme
de résolution utilisée.
6. Il importe de rappeler que même si une matrice est bien conditionnée, un mauvais
algorithme de résolution peut conduire à des résultats erronés.

On peut obtenir une autre inégalité qui illustre le rôle du conditionnement d’une matrice quant à la
précision de la solution numérique d’un système linéaire. Soit le système linéaire Ax  b .
Lorsqu’on résout un tel système sur ordinateur où la représentation des nombres n’est pas toujours
exacte, on résout en fait le système suivant :

A  E  x  b

où la matrice E représente une perturbation du système initial due par exemple aux erreurs de
représentation sur ordinateur des coefficients de A . La matrice E peut également représenter les
erreurs de mesure lorsque les coefficients de la matrice A sont obtenus expérimentalement, ce qui

est courant en pratique. On notera encore x * la solution du système perturbé.


69

x  A1 b  A1  A  E x * 
 
 I  A1 E x*  x *  A1 E x *

ce qui implique que l’erreur est :

x  x*  A1 E x *

A A 1 E x *
(34) et (35)  x  x *  A 1 E x * 
A

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

THEOREME

x  x* E
 CondA
x* A

Remarques

1. Le terme de gauche est une approximation de l’erreur relative entre la solution exacte et la

solution du système perturbé (on devrait avoir x au dénominateur pour représenter

vraiment l’erreur relative).


2. Le terme de droite est en quelque sorte l’erreur relative liée aux coefficients de la matrice A
multiplié par le conditionnement de A .
3. Si CondA est petit, une petite perturbation sur la matrice A entraîne une petite perturbation

sur la solution x
4. Par contre, si CondA est grand, une petite perturbation sur A pourrait résulter en une très
grande perturbation sur la solution du système. Il est par conséquent possible que les
résultats numériques soient peu précis et même dans certains cas complètement faux.
Problème

On donne la matrice A et une approximation de son inverse :

 4 1 1 0  0,29 0 ,08 0 ,08 0 ,04 


 1 4 0  1 0 ,08 0,29 0 ,04 0 ,08 
A  A 1 
 1 0 4  1 0 ,08 0 ,04 0,29 0 ,08 
   
 0 1 1 4 0 ,04 0 ,08 0 ,08 0,29 

70
1. Calculer une approximation de CondA c à d le facteur de conditionnement de A . On
utilisera la norme 
.

2. On désire résoudre le système linéaire A X  B où B  100 200 0 100  . Une


T

approximation de la solution est donnée par :


 49 ,0 
74 ,0 
X  X*  A B  
1 
 24 ,0 
 
 49 ,0 

Sans résoudre le système linéaire, calculer une borne supérieure et une borne
X  X* 
inférieure de .
X 

3. Effectuer une étape de raffinement itératif pour corriger la solution approximative X *


.
Résolution

1. Calcul de CondA

C  CondA  A 
A 1

 6  0 ,49  2 ,94

2. Les bornes inférieure et supérieure


On a :

AX  B où B  100 200 0 100 


T

 49 ,0 
74 ,0 
X  X*  A B  
1 
 24 ,0 
 
 49 ,0 

On rappelle que :

1 R X  X* R
 C
C B X B

B 
 200

71
 100   4  1  1 0   49 ,0   2 
 200    1 4 0  1 74 ,0   2 
R  B  AX *        R 2
 0   1 0 4  1  24 ,0   2  
      
 100   0 1 1 4   49 ,0   2 
1 R 1 2
  0 ,00340
C B  2 ,94 200
R  2
C  2 ,94  0 ,0294
B 
200
donc
X  X* 
0,00340   0 ,0294
X 

3. Raffinement itératif

 E  E  A 1 R
R A  R  E*
résidu erreur

0 ,29 0 ,08 0 ,08 0 ,04   2  0 ,98 


0 ,08 0 ,29 0 ,04 0 ,08   2  0 ,98 
E*     
0 ,08 0 ,04 0 ,29 0 ,08   2  0 ,98 
    
0 ,04 0 ,08 0 ,08 0 ,29   2  0 ,98 

 49 ,0  0 ,98   49 ,98 
74 ,0  0 ,98  74 ,98 
X  X *  E*      
 24 ,0  0 ,98   24 ,98 
     
 49 ,0  0 ,98   49 ,98 

72
CHAPITRE 4

RESOLUTION DES SYSTEMES D’EQUATIONS NON LINEAIRES : METHODES


ITERATIVES

I. Introduction
La résolution numérique des grands systèmes linéaires (grandes tailles) peut parfois nécessiter
l’emploi des méthodes autres que la décomposition L U . La raison principale est que la
décomposition L U requiert la mise en mémoire d’une matrice de très grande taille avec peu de
possibilité de comprimer cette information. Les méthodes itératives en revanche permettent de ne
placer en mémoire que les coefficients non nuls d’une matrice. Cela est particulièrement important
avec les matrices creuses dont une grande partie des coefficients sont nuls. La décomposition L U
ne permet pas cette possibilité puisque que le processus même de décomposition tend à remplir la
matrice. En effet, la plupart des coefficients nuls d’une matrice creuse deviennent non nuls au terme
de la décomposition.
Les méthodes itératives possèdent donc des avantages suffisamment importants pour justifier une
recherche active dans ce domaine. Une grande prudence est de mise donc. De plus, les méthodes
itératives, lorsqu’elles convergent ne deviennent vraiment avantageuses que pour les systèmes
linéaires de très grande taille.

II. Rappel de quelques notions relatives à l’étude de la convergence des matrices

1. Polynôme caractéristique d’une matrice


Si A est une matrice de dimension n , on définit le polynôme caractéristique de A par la
relation :

p   dét  A  I  (1)


où I est la matrice unité.

Le polynôme p  est de degré n et possède donc n racines réelles ou complexes conjuguées.

2. Valeurs propres d’une matrice


 Les racines (ou zéros) du polynôme caractéristique d’une matrice A sont appelées valeurs
propres de la matrice A .
73
Si  est une valeur propre, la matrice A   I est singulière (puisque son déterminant est nul) et le
système :

A   I  x  0 ou Ax   Ix   x (2)

possède des solutions non nulles. En effet, le système (2) possède toujours la solution x  0 . Si 
est une valeur propre, il existe également d’autres solutions.

 Une solution non nulle du système (2) est appelée vecteur propre de A associée à la valeur
propre  .

Exercice : Soit la matrice suivante :


 1 2
A  
 2 2
Trouver le polynôme caractéristique et les valeurs propres de cette matrice.
Solution

Le polynôme caractéristique de A est alors :


1 2
p   dét  A  I  
2 2
 1   2     4   2  3  6

p    2  3  6

Pour déterminer les valeurs propres, il suffit de résoudre l’équation p   0

p    2  3  6  0

  9  24  15  15 i 2
3  i 15 3  i 15
1  2 
2 2

qui sont deux valeurs propres de la matrice A .

3. Rayon spectral d’une matrice


Le rayon spectral d’une matrice A est défini par :

  A  max  i (3)
1 i  n
74
où  i est le module complexe de la valeur propre  i de A .

1 4
Exercice : On donne la matrice A   
 2 3
Déterminer le rayon spectral de A .

Solution :

Le polynôme caractéristique de A est :

1 4
dét  A  I     2  4  5
2 3
p    2  4   5  0   1  5  2  1
 1  5  2  1   1  5 et  2  1

D’où le rayon spectral est :

  A  max 5 ; 1  5

4. Convergence d’une matrice


Une matrice A est dite convergente si :
lim An  0
n  (4)

THEOREME

Les conditions suivantes sont équivalentes :

1) La matrice A est convergente.


2) Pour toute norme matricielle, nous avons :

lim An  0
n 
(5)

3) Pour tout vecteur x :


lim An x  0 (6)
n 

4) Le rayon spectral de A est strictement inférieur à 1


  A  1

75
Exemple :

1 2 0 
A  
1 3 1 4 

1 2 0
dét  A  I    1 2   1 4     0  1  1 2 et 2  1 4
13 1 4

1 4 0 
A2   
1 4 1 16


0,97656 10 3 0,0 
A10   2 6 
 0,13008 10 0,95367 10 


0,88818 10 15 0,0 
A 
50
4 
 0,11842 10 0,788886 10 30 

On constate que chaque coefficient de la matrice An tend vers 0 c à d

lim A n  0
n 

Donc la matrice A est bien convergente.

III. Méthode de Jacobi


Considérons le système linéaire suivant :

 a11 x1  a12 x 2  a13 x 3    a1n x n  b1


 a x  a x  a x   a x  b


21 1 22 2 23 3 2n n 2

 a 31 x1  a 32 x 2  a 33 x 3    a 3 n x n  b3
 
 (7)

an 1 x1  a n 2 x 2  an 3 x 3    a nn xn  bn

On suppose pour l’instant que tous les éléments de la diagonale sont non nuls aii  0 , i  .

76
A partir d’une approximation initiale de la solution notée x  x10
0
 x20 x30  xn0 T
(comme
dans toute méthode itérative) on construit l’algorithme suivant :

1  n 
x1k  1  b1   a1 j x kj 
a11  j2


1 n 
x 2k  1   b2 

a 22
 a2 j x kj  (8)
 j 1 , j  2 
1  n 
x 3k  1 
a 33 
b3   3j j 
a x k

j1 , j  3 
  
1  n 1 
x nk  1   bn   a nj x kj 
a nn  
 j 1 

qui consiste à isoler le coefficient de la diagonale de chaque ligne du système. C’est la méthode dite
de Jacobi.

Si l’un des éléments diagonaux est nul, il est parfois possible de permuter certaines lignes pour
éviter cette situation. Plus généralement, on écrit :

1  n  (9)
 bi   a ij x kj 
x ik 1 

a ii  
j 1, j i 
Exercice 1 : Résoudre le système suivant par la méthode de Jacobi
 3 x1  x2  x3  2

 x 1  5 x 2  2 x 3  17
 2 x  x  6 x  18
 1 2 3

Solution :

i1 x1k  1 
1
a11
 1
 
b1  a12 x2k  a13 x3k  2  a12 x2k  a13 x3k
3

i2 x2k  1 
1
a 22
 1
 
b2  a21 x1k  a23 x3k  17  x2k  2 x2k
5

i3 x3k  1 
1
a33
 1

b1  a12 x2k  a12 x2k    18  2 x2k  x2k
6
 

77
 x 0  0 
0  
1
A partir de x   x20   0  , on trouve :
 x 0  0 
 3   

1ère itération :

x11 
1
3
 3

2  x20  x30  2  0  0  
1 2
3
1

x 21  17  x10  2 x 30 
5
17
5

1

x 31    18  2 x10  x20  3
6

x  2 / 3 17 / 5 3T
1

2e itération

x 12 
1
 1

2  x 21  x 31   2 
3
17  8
 3 
3 5  15
1
 1 2
  31
x 22  17  x 11  2 x 31   17   6  
5
5 3  15

x 32  
1
6
 1
 2 17 
 18  2 x 11  x 21     18  2 
6
  2 ,655556
3 15 

x  8 / 15 31 / 15 2 ,655556 
2 T

D’où le tableau des résultats

k x1k x 2k x 3k

0 0,000 000 0,000 000 0,000 000


1 0,666 666 3,400 000 3,000 000
2 0,533 333 2,066 667 2,655 556
3 0,862 963 2,231 111 2,833 333
4 0,867 407 2,094 074 2,915 802
5 0,940 576 2,0 601 198 2,970 123
6 0,959 975 2,035 835 2,970 159
7 0,978 108 2,019 941 2,980 686
8 0,986 915 2,012 104 2,989 379
9 0,992 425 2,006 865 2,993 621
10 0,995 585 2,004 067 2,996 331

78
1 2 3

Les valeurs convergent vers la solution x  1 2 3T

La convergence est cependant assez lente.

Forme matricielle de la méthode de Jacobi


Elle sert uniquement pour l’analyse de convergence de la méthode. Pour obtenir cette représentation
matricielle, on doit d’abord effectuer une décomposition de la matrice A sous la forme :

A  D  Ti  Ts (10)


a11 
 a 22 
D 
  
 
 ann 

0 a12 a13  a1n 


 0  
a   0 a 23  a 2 n 
 21 0  Ts   0  a3n 
Ti   a 31 a 32 0   
     
       0 
an 1 an 2 an 3  0 

Ce procédé consiste à isoler de la matrice A la diagonale et les matrices triangulaires inférieure et


supérieure.

Le système linéaire : Ax  b

devient :

 D  Ti  Ts  x  b
D x   Ti  Ts  x  b
x   D  1 Ti  Ts  x  D  1 b
x  TJ x  CJ
où TJ   D  1 Ti  Ts  et CJ  D  1 b

et l’algorithme (9) peut s’écrire :

79
k 1 k
x  TJ x  CJ

on montre que la méthode de Jacobi converge si le rayon spectral de TJ c à d  TJ   1 . Or si la

matrice TJ est de grande taille, le calcul de  TJ  s’avère difficile. On contourne ce problème en

exploitant un type de matrice qui vérifie automatiquement la condition de convergence de la


méthode de Jacobi.

Définition

Une matrice A est dite à diagonale strictement dominante si :

n
aii   aij , i
j 1, j  i

cette définition signifie que le terme diagonal a ii de la matrice A est nettement dominant puisque
sa valeur absolue est plus grande que la somme des valeurs absolues de tous les autres termes de la
ligne.

On montre que le rayon spectral d’une matrice A vérifie :

  A  A
(11)

et ce quelque soit la norme matricielle utilisée.

THEOREME

Si A est une matrice à diagonale strictement dominante, la méthode de Jacobi est


convergente.

Exercice 2 : Montrer que la méthode de Jacobi appliquée à la résolution du système de


l’exercice 1 est convergente.

IV. Méthode de GAUSS-SEIDEL


La méthode de GAUSS-SEIDEL est une variante améliorée de la méthode de Jacobi. Pour bien
comprendre le principe, il suffit de reconsidérer la méthode de Jacobi et de voir comment on
pourrait l’améliorer. On sait que la méthode de Jacobi, dans le cas général, s’écrit :

80
 n 
xik  1 
1 b  k
aii  i  ij j 
a x (12)
 j 1, j  i 
qui peut aussi s’exprimer comme suit :

1  i 1 n 
xik  1  bi   aij x kj   aij x kj 
aii  j 1 ji 1

 

La méthode de Gauss-Seidel s’écrit dans le cas général comme suit :

1  i 1 n 
xik  1   bi   aij x kj  1   ij j 
a x k
aii 
 j 1 ji 1  (13)

Sous la forme matricielle, on a :

 D  1  b  Ti x  TS x 
k 1 k 1 k
x
 

ou encore

k 1
Ti  Dx
k
 b  TS x

ou enfin

k 1
  Ti  D  TS x  Ti  D  b
1 k 1
x
 
TGS CGS

Exercice 3 : Résoudre le système linéaire suivant par la méthode de Gauss-Seidel

 3 x1  x 2  x 3  2

 x 1  5 x 2  2 x 3  17
 2 x  x  6 x  18
 1 2 3

Solution : la méthode de Gauss-Seidel s’écrit dans ce cas

x 1k  1 
1
a 11

b1  a 12 x 2k  a 13 x 3k 
x 1k  1 
1
3

2  x 2k  x 3k 

81
x 2k  1 
a 22
b2  a 21 x1k  1  a 23 x 3k 
1

x 2k  1  17  x1k  1  2 x 3k 
1
5

x 3k  1 
1
a 33
b3  a 31 x1k  1  a 32 x 2k  1 

x 3k  1    18  2 x1k  1  x 2k  1 
1
6

Partant de x  0 0 0 T , on a :
0

1ère itération

x 11 
1
2  0  0   2
3 3
1 2  49
x 21   17   
5 3  15
1  2  49  241
x 31     18  2    
6  3  15  90

D’où le tableau

k x 1k x 2k x 3k

1 0,6 666 667 3,266 667 2,677 778


2 0,4 703 704 2,234 815 2,784 321
3 0,8 498 354 2,116 305 2,930 561
4 0,9 380 855 2,040 158 2,972 669
5 0,9 775 034 2,015 432 2,989 929
6 0,9 914 991 2,005 729 2,996 212
7 0,9 968 271 2,002 150 2,998 584
8 0,9 988 115 2,000 804 2,999 470
9 0,9 995 553 2,000 301 2,999 802
10 0,9 998 335 2,000 113 2,999 926
1 2 3

82
On constate que pour un même nombre d’itérations, la solution approximative obtenue par la
méthode de Gauss-Seidel est plus précise. La méthode de Gauss-Seidel converge généralement plus
vite que la méthode de Jacobi mais pas toujours.

On montre le théorème suivant :

THEOREME

Si la matrice A dans le système A x  b est à diagonale strictement dominante, le rayon


spectral de la matrice TGS est inférieur à 1 et la méthode de Gauss-Seidel converge quelque
0
soit la solution initial x .

83
CHAPITRE 5

RESOLUTION NUMERIQUE DES SYSTEMES NON LINEAIRES

1. Introduction
Les phénomènes non linéaires sont extrêmement courants en pratique. Sans doute, ils sont plus
fréquents que les phénomènes linéaires. Dans ce chap. on examinera les systèmes non linéaires.
Les méthodes de résolution des systèmes non linéaires sont nombreuses et on ne présentera dans ce
chap. que la méthode la plus importante et la plus utilisée en pratique, la méthode dite de Newton.

2. Méthode de Newton
2.1. Principe
Le problème consiste à trouver le ou les vecteurs

x  x1 x3  xn 
T
x2

vérifiant les n équations non linéaires suivantes :

 f 1  x1 , x 2 , x 3 , , x n   0


 f 2  x1 , x 2 , x 3 , , x n   0


 f 3  x1 , x 2 , x 3 , , x n   0

    (1)
 f n  x1 , x 2 , x 3 , , x n   0

où les f i sont les fonctions de n variables supposées différentiables.

Contrairement au système linéaire, il n’y a pas de conditions simples associées aux systèmes non
linéaires qui permettent d’assurer l’existence et l’unicité de la solution. Le plus souvent, il existe
plusieurs solutions possibles et seul le contexte indique laquelle est bonne.
L’application de la méthode de Newton à un système de deux équations non linéaires est suffisante
pour illustrer le cas général.

Considérons donc le système :

 f 1  x1 , x 2   0


 f x , x   0
 2 1 2
84
 
Soit x 10 , x 20 une approximation initiale de la solution de ce système ; cette approximation initiale
est cruciale et doit toujours être choisie avec soin. Le problème est de déterminer une correction

que nous appelons x 1 ,x 2  à x 10 , x 20 de telle sorte que : 

f 1 x 10  x1 , x 20  x 2  0 

f 2 x10  x1 , x 20  x 2  0 
Pour déterminer x 1 ,x 2  il suffit de faire un développement de Taylor à deux variables pour
chacune des deux fonctions :

 
f 1 x 10  x 1 , x 20  x 2  f 1 x 10 , x 20    
x 1 f 1 x 10 , x 20   x  
f 1 x 10 , x 20
2
 0
1! x 1 1! x 2


f 2 x 10  x 1 , x 20  x 2   
f 2 x 10 , x 20  
x 1 f 2 x 10 , x 20   x  
f 2 x 10 , x 20
2
 0
1! x 1 1! x 2

En négligeant les termes d’ordre supérieur à 1, il vient :

x 1

f 1 x 10 , x 20
 x 2

f 1 x 10 , x 20 
  f 1 x 10 , x 20
  
x 1 x 2

x 1

f 2 x 10 , x 20 
f x 0 , x 0
 x 2 2 1 2   f 2 x 10 , x 20
   
x 1 x 2

ou encore, sous forme matricielle :

 f 1 x   
f 1 x 10 , x 20  x 1  

0
, x 20

 x 1
1
x 2
 
 
  f 1 x1 , x2
0 0

  
    
     
 
 f 2 x 0
, x 20   
f 2 x 10 , x 20   






 
1
 x 1 x 2  x 2   f 2 x 10 , x 20 
 

ou encore sous forme compacte

 
J x 10 , x 20 x   R x 10 , x 20  

85

où J x 10 , x 20  désigne la matrice des dérivées partielles qu’on appelle matrice Jacobienne, évaluée


au point x 10 , x 20  ;

x est le vecteur des corrections relatives à chaque variable ;


 
 R x 10 , x 20 est le vecteur résidu évalué en x 10 , x 20 .  
Le déterminant de la matrice Jacobienne est appelé le Jacobien bien sûr non nul car la matrice
Jacobienne est inversible.

On pose ensuite :

 x 11  x 10  x 1
 1
 x 2  x 2  x 2
0

qui est la nouvelle approximation de la solution du système non linéaire. On cherchera par la suite à


corriger x 11 , x 21  d’une nouvelle quantité x et ce jusqu’à convergence.
De manière plus générale, on pose :

  i 
 f 1  x  f 1  x i  f 1  x i  
   
  
 x 1 x 2 x n 
 
  i 
 f 2  x  f 2  x i  f 2  x i  
      

J x 

 x1 x 2

x n 

 
     
 
 
 f n  x i  f n  x i  f n  x i  
       
 x x 2 x n 
 1

c à d la matrice Jacobienne évaluée au point


x i  x 1i x 2i  x ni 
T

De plus, on pose :

86
  i 
 f 1  x  
  x 1 
   
  i   
 f 2  x   x 2 
 i
R x     et x   
     
     
   
  x 
 f  x i   n
 n   

pour en arriver à l’algorithme suivant :

2.2. Algorithme
1. Etant donné  un critère d’arrêt.
2. Etant donné N le nombre maxi d’itérations.

3. Etant donné x 0  x 10  x 20 x 30  x n0 T
une approximation initiale de la solution du
système
4. Résoudre le système linéaire :

J  x x   R x 
i i
    (3)
Poser :

x i  1  x  x
i

x
5. Si   et R x i  1    :
 
x i 1

 convergence atteinte ;

 écrire la solution x i  1 ;
 arrêt.
6. Si le nombre maxi d’itérations N est atteint :
 convergence non atteinte en N itérations ;
 arrêt.
7. Retour à l’étape 4.

Exercice 1 : Trouver l’intersection de la courbe x 2  e x1 et du cercle de rayon 4 centré à l’origine.


87
Solution :

x 2  e x1 (1)

C O , R   M  x 1 , x 2   P / d O , M   R
d O , M   OM   x 1 M  x 1O  2   x 2 M  x 2 O  2
 x1  x 2  R
2 2

 x1  x 2  R 2
2 2
(2)

d'où le système à résoudre est:  e x1  x 2  0



 (3)
 x 2  x 2  16  0
 1 2
Faisons le graphisme des deux courbes :

x1
e  x2  0

x12  x22  16

Le graphique des deux courbes montre que le système non linéaire a deux solutions.

La 1ère solution se trouve près du point  4 , 0  et la 2nde solution près de 2 ,8 ; 2 ,8  Prenons le


point 2 ,8 ; 2 ,8  comme approximation de la solution initiale :

x 0  2 ,8 2 ,8
T

La 1ère étape consiste à calculer la matrice Jacobienne du système

 e x1 1
 
J  x1 , x 2    
2 x 2 x 2 
 1

1ère itération :

88
Le système (3) devient :

 e 2 ,8 1  x 1   e 2 ,8  2 ,8 
    
     
 2( 2 ,8 ) 2( 2 ,8 ) x 2   
 2 ,8  2 ,8  16 
2 2

16 ,445  1 x 1  13 ,645 


    
     
 5 ,6 5 ,6  x 2   0 ,320 

Dont la solution est :

  0 ,7789 
x   

 0 ,83604 

La nouvelle approximation de la solution est :


x 11  x 10  x 1  2 ,8  0 ,77890  2 ,0211

x 21  x 20  x 2  2 ,8  0 ,83604  3 ,63604

x  2 ,0211 3 ,63604 
1 T

2e itération :

On effectue une 2nde itération à partir de x  2 ,0211 3 ,63604  . (3) devient :


1 T

 e 2 ,0211 1  x 1   e 2 ,0211  3 ,63604 


    
     
 2( 2 ,0211 ) 2( 3 ,63604 ) x 2   
 2 ,0211  3 ,63604  16 
2 2

càd

7 ,5466 1  x 1   3 ,9106 


    
     
 4 ,0422 7 ,2721 x 2   1 ,3056 

89
  0 ,5048 
Dont la solution est : x   

 0 ,10166 

On a maintenant comme solution :

x12  x11  x1  2 ,0211  0 ,5048  1 ,5163

x22  x21  x2  3 ,63604  0 ,10106  3 ,7371

x 2  1 ,5163 3 ,7371
T

x  1 ,3281 3 ,7781
5 T

On déduit la convergence de l’algorithme de Newton du fait que les modules de x et de R


diminuent avec les itérations.

Remarques

0
1) La convergence de la méthode de Newton dépend de l’approximation initiale x de la
0
solution. Un mauvais choix du vecteur x peut résulter en un algorithme divergent.
2) On démontre que lorsqu’il y a convergence de l’algorithme, cette convergence est
généralement quadratique dans le sens suivant :
2
i 1
x x C x x i

90
CHAPITRE 6

INTERPOLATION - APPROXIMATION

1. Introduction
Le problème à résoudre ici est le suivant : à partir d’une fonction f  x  connue seulement en

n  1 points de la forme  x i , f  x i  pour i  0 ,1,2 , , n ; peut-on construire une approximation

de f  x  et ce pour tout x ?

Les points  x i , f  x i  pour i  0 ,1,2 , , n sont appelés points de collocation ou points


d’interpolation et peuvent provenir de données expérimentales ou d’une table.

Autrement dit, si on ne connaît que les points de collocation  x i , f  x i  d’une fonction, peut-on

obtenir une approximation de f  x  pour une valeur de x différente de x i ?

Il s’agit d’un problème d’interpolation dont la solution est relativement simple. Il suffit de
construire un polynôme de degré suffisamment élevé dont la courbe passe par les points de
collocation. On parle alors du polynôme de collocation ou polynôme d’interpolation.

THEOREME
Un polynôme de degré n dont la forme générale est :

pn  x   a0  a1 x  a2 x 2  a3 x 3    an x n an  0 
(1)

possède très exactement n racines qui peuvent être réelles ou complexes conjuguées (on
sait que r est une racine de pn  x  si pn r   0 )

CORROLAIRE

Par n  1 points de collocation  x i , f  x i  pour i  0 ,1,2 , , n on ne peut faire correspondre

qu’un et un seul polynôme de degré n .

Remarque
Le polynôme d’interpolation passant par n  1 points donnés est unique. Il reste à en assurer
l’existence, en le construisant au moyen de méthodes diverses.

91
2. Matrice de VANDERMONDE
Une 1ère méthode de construction du polynôme d’interpolation consiste à déterminer les inconnues
a i du polynôme (1) en vérifiant directement les n  1 équations de collocation :

pn  x i   f  x i  pour i  0 ,1,2 , , n

ou encore

a0  a1 x i  a 2 x i2  a 3 x i3    a n x in  f  x i 

qui est un système linéaire de n  1 équations à n  1 inconnues.

Ce système s’écrit sous forme matricielle :

1 x0 x02  x0n   a0   f  x0 
     
1 x1 x12  x1n   a1   f  x1 
1 x2 x 22  x 2n  a 2    f  x 2 
     
          (2)
1
 xn x n2  x nn  a n   f  x n 

Remarque
La matrice de ce système linéaire porte le nom de matrice de Vandermonde. On montre que le
conditionnement de cette matrice augmente fortement avec la taille n  1 du système. De plus,
comme on le verra plus loin dans ce chap., il n’est pas nécessaire de résoudre un système linéaire
pour calculer un polynôme d’interpolation. Cette méthode est donc rarement utilisée.

Exercice

Trouver le polynôme passant par les points (0, 1), (1, 2), (2, 9), (3, 28) par la méthode de
Vandermonde.

Solution : Etant donné ces 4 points, le polynôme recherché est tout au plus de degré 3. Ses
coefficients a i sont solution de :

1 0 0 0  a0   1 
1 a   
 1 1 1   1   2 
1 2 4 8 a 2   9 
     
1 3 9 27  a 3   28 

92
dont la solution (obtenue par la décomposition L U ) est 1 0 0 1 . Le polynôme
T

recherché est :

p3  x   1  0  x  0  x 2  1  x 3  1  x 3

3. Interpolation de LAGRANGE
C’est une façon simple et systématique de construire un polynôme de collocation. Etant donné
n  1 points  x i , f  x i  pour i  0 ,1,2 , , n , on suppose que l’on sait construire n  1
polynômes Li  x  de degré n satisfaisant les conditions suivantes :

Li  xi   1 ;  i
 
Li x j  0 ;  j  i

Cela signifie que le polynôme Li  x  de degré n prend la valeur 1 en x i et s’annule à tous les

autres points de colocation. Dans ces conditions, la fonction L x  définie par :

L x    f  x i  Li  x 
n

i0

est un polynôme de degré n , car chacun des Li  x  est de degré n . De plus, ce polynôme passe par

les n  1 points de collocation et est donc le polynôme recherché.

Pour construire les fonctions Li  x  , on suit la démarche progressive suivante :

 Polynôme de degré 1
Il s’agit de déterminer le polynôme de degré 1 dont la courbe (une droite) passe par deux points
 x0 , f  x0  et  x1 , f  x1  . On doit donc construire deux polynômes L0  x  et L1  x  de degré 1
vérifiant :

L0  x 0   1 L1  x 0   0
L0  x 1   0 L1  x 1   1

93
Le polynôme L0  x  doit s’annuler en x  x 1 . On pense immédiatement au polynôme  x  x 1  qui

s’annule en x  x 1 , mais qui vaut  x 0  x 1  en x  x0 . Pour s’assurer d’une valeur 1 en x  x0 ,


il suffit d’effectuer la division appropriée afin d’obtenir :

x  x1
L0  x  
x0  x1

Un raisonnement similaire pour L1  x  donne :

x  x0
L1  x  
x1  x0

Le polynôme de degré 1 est donc :

p1  x    f  x i  Li  x   f  x0  L0  x   f  x 1  L1  x 
1

i0

Exercice : Trouver le polynôme (l’équation de la droite) passant par les points 2 , 3  et


5 ,  6 .

Solution :

x0  2 f  x0   3 , x1  5 f  x 1   6
x  x1 x  x0
p1  x   f  x 0   f  x1 
x0  x1 x1  x0
x5 x2
3 6
25 52
p 1  x   3 x  9

 Polynôme de degré 2
Pour trouver le polynôme de degré 2 passant par les trois points suivants  x0 , f  x0  ,
 x1 , f  x1  et  x 2 , f  x 2  , on doit construire les polynômes L0  x  , L1  x  et L2  x  . Ces trois

fonctions sont déterminées par les relations suivantes :

 x  x1  x  x 2 
L0  x  
 x0  x1  x0  x 2 

94
 x  x0   x  x 2 
L1  x  
 x 1  x0   x 1  x 2 

 x  x0   x  x1 
L2  x  
 x 2  x0   x 2  x1 

Et le polynôme de degré 2 s’écrit :

p2  x   L0  x  f  x0   L1  x  f  x1   L2  x  f  x2 

Exercice : Trouver l’équation de la parabole (polynôme de degré 2) passant par les points
1, 2  , 3 , 7  et 4 ,  1 .

Solution :

p2  x   2
 x  3  x  4   7  x  1 x  4   ( 1 )  x  1 x  3 
1  3 1  4  3  13  4  4  11  3 

p2  x  
 x  3  x  4   7  x  1 x  4    x  1 x  3 
3 2 3

7 x 2 37
p2  x  
34
 x
2 2 2

 Polynôme de degré n
On analyse le cas général de la même façon ; étant donné les points  x i , f  x i  pour

i  0 ,1,2 , , n , le polynôme de degré n passant par ces points est donné par l’expression que
voici :

n
pn  x    f  x L  x 
i 0
i i

Li  x  
 x  x0   x  x1   x  x i 1  x  x i  1   x  x n 
 x i  x0  x i  x1   x i  x i 1  x i  x i  1   x i  x n 
(3)

où seul le facteur  x  x i  est absent.

95
THEOREME

Etant donné n  1 points d’interpolation  x i , f  x i  pour i  0 ,1,2 , , n , l’unique

polynôme d’interpolation de degré n passant par tous ces points peut s’écrire :

n
p n  x    f  x i Li  x 
i 0

où les n  1 fonctions Li  x  sont définies par la relation (3). C’est la formule de


LAGRANGE.

Exercice : trouver le polynôme d’interpolation passant par les points 0 , 1 , 1 , 2  , 2 , 9 


et 3 , 28  .

Solution :

p3  x   1
 x  1 x  2  x  3   2  x  0  x  2  x  3  
0  10  2 0  3  1  0 1  2 1  3 

9
 x  0  x  1 x  3   28  x  0  x  1 x  2 
2  0 2  12  3  3  0 3  13  2 

p3  x   x 3  1

Remarque :
La méthode d’interpolation de Lagrange présente l’inconvénient majeur de ne pas être récursive. En
effet, si on souhaite passer d’un polynôme de degré n à un polynôme de degré n  1 (en ajoutant
un point de collocation), on doit reprendre tout le processus à zéro. On corrigera cette situation en
étudiant dans le paragraphe suivant, la méthode d’interpolation de Newton.

4. Polynôme de NEWTON
En dépit de la forme la plus utilisée (1) d’un polynôme, il en existe d’autres qui sont plus
appropriées au cas de l’interpolation.
Par exemple : pn  x   a0
 a 1  x  x0 
 a 2  x  x0   x  x 1 
 a 3  x  x0   x  x1  x  x 2 
 
 an 1  x  x0   x  x1  x  x 2   x  xn 2 
 an  x  x0   x  x1  x  x 2   x  x n 2  x  x n 1  (4)
96
Définition 1 :

On définit les premières différences divisées de la fonction f  x  par :

f x i1   f x i 
f x i , x i  1  
x i 1  x i (5)
ères
1 différences divisées

Remarque :

On démontre que le polynôme de degré 1 est :

p1  x   f  x0   f x0 , x1   x  x0 

Définition 2 :

Les deuxièmes différences divisées de la fonction f  x  sont définies à partir des 1ères
différences divisées par la relation :

f  xi  1 , xi  2   f  xi , xi  1 
f  xi , xi  1 , xi  2  
 xi  2  xi 
2 e différences divisées de f  x  (6)

De même, les nièmes différences divisées de la fonction f  x  sont définies à partir des n  1 ièmes
différences divisées de la façon suivante :

f x1 , x2 ,  xn   f x0 , x1 ,  xn 1 


f x0 , x1 , x2 ,  , xn   (7)
 xn  x0 

Notons que les toutes 1ères différences divisées de f  x  (soient les 0ièmes différences divisées) sont

tout simplement définies par f  x i  .

Remarque :

On démontre que :

97
p2  x   f  x 0   f  x 0 , x 1   x  x 0   f  x 0 , x 1 , x 2   x  x 0   x  x 1 
 
p1 ( x )

passe par les trois premiers points de collocation. De plus, on remarque que ce polynôme de degré 2
s’obtient uniquement par l’ajout d’un terme de degré 2 au polynôme p1  x  déjà calculé. En raison
de cette propriété, cette méthode est dite récursive.

THEOREME

L’unique polynôme de degré n passant par les n  1 points de collocation  x i , f  x i 

pour i  0 ,1,2 , , n peut s’écrire selon la formule de Newton (4) ou encore sous la forme
récursive (8) :

pn  x   pn1  x   an  x  x0  x  x1  x  xn1 


(8)

Les coefficients de ce polynôme sont les différences divisées :

ai  f x0 , x1 , x2 ,  xi  pour 0  i  n (9)

Remarques :

Une fois les coefficients a i connus, on peut évaluer le polynôme de Newton au moyen d’un
algorithme similaire au schéma de Horner. On écrit le polynôme (4) sous la forme :

pn  x   a0   x  x0  a1   x  x1  a 2   x  x 2  a 3  

  x  xn 2 an 1  an  x  xn 1 


(10)

De cette façon, on réduit le nombre d’opérations nécessaires à l’évaluation du polynôme. En outre,


cette forme est moins sensible aux effets des erreurs d’arrondis.

Maintenant, il reste à calculer efficacement la valeur de ce polynôme. La manière la plus simple


consiste à construire une table dite de différences divisées de la façon suivante :

98
TABLE DES DIFFERENCES DIVISEES

xi f xi  f x i , x i  1  f x i , x i  1 , x i  2  f x i , x i  1 , x i  2 , x i  3 

x0 f  x0 

f x0 , x 1 

x1 f  x1  f x0 , x 1 , x 2 

f x1 , x 2  f x0 , x 1 , x 2 , x 3 

x2 f x2  f x 1 , x 2 , x 3 

f x 2 , x 3 

x3 f x3 

La construction de cette table est simple ; on s’est arrêté aux 3ièmes différences divisées. Les 1ères
différences divisées découlent de la définition simple à savoir que :

f  x 1   f  x0 
f  x0 , x 1  
x 1  x0 (10)

Les deuxièmes différences divisées

f x 1 , x 2   f x0 , x 1 
f x0 , x 1 , x 2  
x 2  x0

Les troisièmes différences divisées

f x 1 , x 2 , x 3   f x0 , x 1 , x 2 
f x0 , x 1 , x 2 , x 3  
x 3  x0

99
La formule de Newton utilise la diagonale principale de cette table.

Exercice :
Trouver le polynôme d’interpolation de Newton passant par les points
0 , 1, 1, 2 , 2 , 9  et 3 , 28  .

Résolution :

Etablissons la table des différences divisées :

xi f xi  f x i , x i  1  f x i , x i  1 , x i  2  f x i , x i  1 , x i  2 , x i  3 

a1 a2
0 1
a0
a3
1

1 2 3

7 1

2 9 6

19

3 28

De cette table, en appliquant :

p3  x   a0
 a 1  x  x0 
 a 2  x  x 0  x  x 1 
 a 3  x  x 0  x  x 1  x  x 2 

on obtient :

p3  x   1  1 x  0   3 x  0  x  1  1 x  0  x  1 x  2 
 x3  1

100
Remarques :

1. On remarque que : p2  x   1  1 x  0   3 x  0  x  1 passe par les trois premiers points


de collocation. Si on souhaite ajouter un point de collocation et calculer un polynôme de
degré 4, il n’est pas nécessaire de tout recommencer.
2. Les points de collocation ne doivent pas forcément être placés par abscisses croissantes,
bien que cela soit souvent préférable.

5. Erreur d’interpolation
L’interpolation permet, à partir d’un certain nombre de données sur les valeurs d’une fonction,
de faire l’approximation de f ( x ) en tout point x . Toutefois, cette opération entraîne une erreur
d’interpolation qu’il convient d’étudier d’autant plus que les résultats serviront également dans
l’analyse de l’intégration et de la dérivation numériques.
On exprime l’erreur d’interpolation comme suit :

f ( x )  pn  x   E n  x 

ou

E n  x   f ( x )  pn  x 

Cela signifie que : le polynôme pn  x  de degré n procure une approximation de la fonction f  x 

avec une erreur E n  x  . On constate immédiatement que :

E n  x i   0 pour i  0 , 1, 2 , , n

et donc que l’erreur d’interpolation est nulle aux points de collocation puisque le polynôme passe
exactement par ces points.

Remarque :

On suppose que les données des points  x i , f  x i  pour i  0 , 1, 2 , , n sont exactes, ce qui
n’est pas toujours le cas.

101
THEOREME : (FORTIN et PIERRE)

Soit x0  x1  x 2    x n , des points de collocation. On suppose que la fonction f ( x )

est définie dans l’intervalle x0 , x n  et qu’elle est n  1 fois dérivable dans l’intervalle

x0 , x n  . Alors, pour tout x compris dans l’intervalle x0 , x n  , il existe un (x)

appartenant à l’intervalle x0 , x n  tel que l’erreur :

f n 1   ( x )
En  x    x  x0   x  x1  x  xn 
n  1 ! (11)

La relation (11) est l’expression analytique de l’erreur d’interpolation.

Remarques :

1. Puisque le terme d’erreur en un point fait intervenir des coefficients de la forme  x  x i  , il

y a tout intérêt à choisir les points x i qui sont situés le plus près possible de x . Ce choix est
utile lorsqu’un grand nombre de points de collocation sont disponibles et qu’il n’est pas
nécessaire de construire un polynôme passant par tous les points. On retient alors seulement
les points de collocation les plus près de x de manière à minimiser l’erreur.
2. La fonction  x  x0   x  x1    x  xn  est un polynôme de degré n  1 et possède donc

les n  1 racines réelles  xi pour i  0 , 1, 2 , , n . Dans certaines conditions, cette


fonction peut osciller avec de fortes amplitudes, d’où le risque de grandes erreurs
d’interpolation. Cette propriété fait en sorte qu’il est délicat d’effectuer des interpolations en
utilisant des polynômes de degré élevé.

Exercice : Etant donné la table des différences divisées de la fonction f  x   x , évaluer


l’erreur exacte et la comparer avec son approximation obtenue à l’aide de la relation (12)
suivante :

En  x   f x0 , x1 , x2 ,  , xn 1   x  x0   x  x1  x  xn  (12)

au point x  8 .

Solution :

102
xi f xi  f x i , x i  1  f x i , x i  1 , x i  2  f x i ,  , xi  3  f x i ,  , xi  4 

7 2,645751

0,177124

9 3,000000 - 0,00470299

0,158312 0,000206783

11 3,316625 - 0,00346229 0,9692.10-5

0,144463 0,000129243

13 3,605551 - 0,00268680

0,133716

15 3,872983

On tente d’obtenir une approximation de 8 à l’aide de cette table.

 En se basant sur un polynôme de degré 1 et en prenant x 0  7 , on obtient :

p1  x   2 ,645751  0 ,177124 x  7 

de sorte que p1  x   2 ,822875 , donc l’erreur exacte est :

E 1 8   f 8   p1 8   8  2 ,822875  0 ,005552125 (1)

or d’après (12) :

E 1 8   f 7 , 9 , 11 8  7 8  9    0 ,00470299 8  7 8  9 


(2)
 0 ,00470299

103
On constate que E 1 8   E 1 8 
  
(1) (2)

 En considérant le polynôme de degré 2,

p2  x   p1  x   0 ,00470299 x  7  x  9 

et

p2 8   2 ,822875  0 ,00470299  2 ,827577990

soit une erreur de :

E 2 8   f 8   p2 8   0 ,000849135

de même d’après (12)

E 2 8   0 ,0002067838  7 8  9 8  11  0 ,000620349

 En passant au polynôme de degré 3, on trouve :

p3  x   p2  x   0 ,000206783  x  7  x  9  x  11

donc

p3 8   2 ,827578301  0 ,000620349  2 ,828198339

L’erreur exacte est alors :

E 3 8   f 8   p3 8   0 ,000228786

ce qui est près de la valeur obtenue au moyen de (12)

E 3 8   0 ,9692  10 5 8  7 8  9 8  118  13  0 ,000145380

qui montre que cette approximation possède 4 chiffres significatifs.

Ordre de convergence de l’approximation polynomiale

Si on retient le cas où les abscisses sont également distantes, il suffit de poser :

104
x  x0
s ou encore x  x0  s h
h

On remarque alors que :

x  xi  x   x0  ih   x  x0   ih  sh  ih  s  i  h
  
xi (13)

Il suffit maintenant de remplacer x  xi  par s  i  h dans l’expression analytique de l’erreur


d’interpolation (11).

THEOREME

Dans le cas où les points de collocation x i sont équidistants, l’expression analytique de

l’erreur d’interpolation s’écrit :

f n 1   ( h )
En  x   s s  1s  2 s  n h
n 1

n  1 ! (14)

pour un certain  dans l’intervalle x0 , x n  et pour s défini par l’équation (13).

Remarque :

On peut dès lors conclure que le polynôme d’interpolation pn  x  est une approximation d’ordre

n  1 de la fonction f  x  . Encore une fois, si on prend des points de collocation situés à une

distance h 2 les uns des autres, l’erreur d’interpolation est diminuée d’un facteur de 2 n 1 .

6. Méthode de Newton Gregory descendante


C’est un cas particulier de la formule de Newton pour les conditions suivantes :
1. les points de collocation sont équidistants ;
2. les x i pour i  0 , 1, 2 , , n sont tels que x0  x1  x 2    x n .

105
... ...

x0 x1 xi x n  x0  nh

x i  x0  i h, i entier

x  x0  s h, s réel

En faisant la différence membre par membre, on a :

x  x i  s  i  h pour i  0 , 1, 2 , , n

x  x0
Pour x donné, s
h

Les points x0 , x1 , x 2 , , x n doivent être ordonnés c à d x0  x1  x 2    x n sinon la


formule n’est plus valable.

pn  x   a0  a1  x  x0   a 2  x  x0  x  x1     a n  x  x0  x  x1  x  x n1 

a i  y x 0 , , x n  différences divisées

 f  x 0 , , x n  i0

a0  f  x0   y0

Si les x i sont équidistants et si x0  x1  x 2    x n , on démontre que :

106
n y0
an  où n y0  f x i , x i  1 , x i  2 , x i  n 
n! h n

et par conséquent le polynôme d’interpolation s’écrit de la façon suivante :

y 0 2 y 0 3 y 0
pn  x   y 0  sh s h  s  1 h  s h  s  1 h  s  2  h   
1! h 2! h 2 3! h 3
n y 0
 s h  s  1 h   s  n  1 h
n! h n

et en réduisant les termes, on a :

s  s  1 2 s s  1s  2  3 s  s  1    s  n  1 n
pn  x   y 0  s y 0   y0   y0     y0
2! 3! n!

qu’on écrit sous la forme :

 s  s  s  s
pn  x   y0     y0   2 y0    3 y0     n y0
 1  2  3  n

 s s s  1s  2  s  n  1
   C ns 
 n n!

Remarques :

1. si on ajoute un nouveau point  x n 1 , y n 1  , il doit être à droite de x n c à d x n 1  x n  h


.
2. le polynôme pn 1  x  qui passe par les points précédents et le nouveau point est
évidemment donné par :
 s  n 1
pn 1  x   pn  x     y 0
 n  1

107
Exercice : on considère la table des différences divisées ci-dessous. Interpoler la fonction en
x  0 ,73 en utilisant les points d’abscisses 0 ,4 ; 0 ,6 ; 0 ,8 et 1 .

x y y  2y  3y 4y
0,203
0,2 0,203 0,017
0,220 0,024
x 0  0,4 0,423 0,041 0,020
0,261 0,044
x 1  0,6 0,684 0,085 0,052
x 0,346 0,096
x 2  0,8 1,030 0,181 0,211
0,527 0,307
x 3  1,0 1,557 0,488
1,015
1,2 2,572

Réponse :

x  x0
s
h
 s  s  s
h  0 ,2 et p 3  x   y0     y0   2 y 0    3 y 0
x  0 ,73  1  2  3
x 0  0 ,4

s  s  1 2 s s  1s  2  3
p 3  x   y0  s y0   y0   y0
2! 3!

1 ,65 0 ,65
p 3 0 ,73  0 ,423  1 ,65  0 , 261  0 ,085  1,65 0 ,65 0 ,3 50 ,096
2 6

p3 0 ,73  0 ,89 3

108
CHAPITRE 7 :

DERIVATION NUMERIQUE
1. Introduction
Au chap. précédent, on sait qu’une fonction f  x  connue seulement en quelques points peut être
convenablement estimée à l’aide d’un polynôme de degré n avec une certaine erreur. Plus
précisément :
f  x   pn  x   En  x  (1)

où E n  x  est le terme d’erreur d’ordre n  1 donné par la relation :

f n 1    x 
En  x    x  x0   x  x1   x  xn 
n  1! (1’)

pour un certain   x    x   x0 , x n  .

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

La dérivation numérique peut être abordée de deux manières. La 1ère approche consiste à utiliser le
développement de Taylor et la seconde est fondée sur l’équation (1). Mais on utilise un mélange des
deux approches pour maîtriser le problème.

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

f '  x   p'n  x   E n'  x 

f ' '  x   p'n'  x   E n''  x 


(2)
f ' ' '  x   p'n''  x   E n'''  x 

  

Ainsi, pour évaluer la dérivée d’une fonction connue aux points  x i , f  x i  pour i  0 , 1,  , n ,
il suffit de dériver le polynôme d’interpolation passant par ces points. De plus, le terme d’erreur
associé à cette approximation de la dérivée est tout simplement la dérivée de l’erreur
d’interpolation. Ceci est vrai quelque soit l’ordre de la dérivée.

109
Remarque :

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

2. Dérivées d’ordre 1
En dérivant (1’) tout en tenant compte de la dépendance de  envers x , on obtient ce qui suit :

f n 2    x   '  x 
E n'  x     x  x 0   x  x 1   x  x n  
n  1!
'
f n 1    x   
   x  x 0   x  x 1    x  x n 
n  1! I  

La dérivée du produit I est plus délicate. Cette dérivée débouche sur une somme de produits où
tour à tour l’un des facteurs  x  x i  est manquant. Il est facile de se convaincre, en reprenant ce

développement avec n  2 par exemple, et l’on obtient :

f n 2    x   '  x 
E n'  x     x  x0   x  x1   x  xn  
n  1!
f n 1    x   n
 x  x 
n

n  1!  k
   j (3)
0 j 0  j  k 
On peut simplifier quelque peu cette expression complexe en choisissant l’un ou l’autre des points
d’interpolation. En effet, en x  x i , le premier terme de droite s’annule faisant disparaître la

dérivée de   x  qui est inconnue. De la somme, il ne reste qu’un seul terme puisque les autres

contiennent un facteur  x  x i  et s’annulent. Il reste ce qui suit :

f n 1   xi   n
E n' x  
  xi  x j 
n  1!  j 0  j i 
 

De plus, en supposant que les x i sont équidistants c à d

xi 1  xi  h

ce qui signifie que

110
x i 
 x j  i  j  h

on obtient :

f n 1   i  hn  n 
E n'  xi    i  j 
n  1!  j 0  j  i 

 (4)

où  i est simplement une notation qui est différente de   x i  . En particulier, si i  0 , la dérivée


du terme d’erreur est :

f n 1  0  h n  n  f
n 1    n n
0 h  
E n'  x 0      j      j 
n  1!  j 0  j  0  n  1!  j 1 

en arrangeant, on a :

 1 hn f n 1   0 
n
En'  x0  
n  1! (5)

pour un certain  0 compris dans x0 , x n  .

Remarque :

La relation (4) montre que si on utilise un polynôme d’interpolation de degré n c à d d’ordre


n  1 , la dérivée de ce polynôme évaluée en x  x i est une approximation d’ordre n de f '  x i  .

Définition
Aux points d’interpolation, on a :

f '  xi   pn'  xi   En'  xi 


(6)

le terme pn'  x i  de l’équation (6) est une formule aux différences finies ou plus simplement une
formule aux différences.

Exemple 1 :

En choisissant le polynôme de degré 1 passant par les points  x0 , f  x0  et  x1 , f  x 1  ,

on a, grâce à la formule d’interpolation de Newton :

111
p1  x   a0  a1  x  x0 
 f  x0   f  x0 , x 1   x  x0 

donc f  x   p  x   E 1  x 
1

f '  x   p1'  x   E1'  x 

f '  x   f  x0 , x1   E1'  x  (7)

compte tenue de la relation (5) et puisque  x 1  x0   h , on a :

f  x1   f  x0  h f  2   0 
f '  x0    pour  0   x0 , x1 
 h   2
f  x0 , x1  (8)
c' est la différence avant d' ordre 1

on l’appelle différence avant car pour évaluer la dérivée en x  x0 on cherche de

l’information vers l’avant.

De la même manière, si on veut évaluer l’équation (7) en x  x 1 , la relation (4) avec i  1 donne :

f  x1   f  x0  f  x 1   f  x 0  h f 2   1   1
1

f '  x1    E'  x 1      1  j 
x 1  x0 h 2!  j 0 , j  1 

ou encore :

2 
f  x1   f  x0  h f  1 
f '  x1    pour  1   x0 , x 1 
h 2
(9)
Différence arrière d' ordre 1

Remarque :

L’exemple précédent montre que la même différence divisée est une approximation de la dérivée à
la fois en x  x0 et en x  x 1 . On remarque cependant que le terme d’erreur est différent aux deux
endroits.

112
Exemple 2 :

En prenant un polynôme de degré 2 qui passe par les points  x0 , f  x0  ,  x1 , f  x 1  et

x2 , f  x 2  , on a :

p2  x   f  x0   f x0 , x1   x  x0   f x0 , x1 , x 2   x  x0   x  x1 

Lorsque x prend successivement les valeurs x 0 , x 1 et x 2 , il est facile de montrer que l’on

obtient des approximations d’ordre 2 de la dérivée :

 f  x 2   4 f  x 1   3 f  x 0  h f "'  0 
2
f '  x0   
2h 3

Différence avant d' ordre 2

f  x 2   f  x0  h f "'  1 
2
f '  x1  
2h 6
Différence centrée d' ordre 2

3 f  x 2   4 f  x 1   f  x 0  h f "'  2 
2
f ' x2   
2h 3
Différence arrière d' ordre 2

Remarques :

1. Les termes d’erreurs aux différences finies découlent tous de la relation (7). Les points
 0 ,  1 ,  2 sont situés quelque part dans l’intervalle x0 , x 2  et sont inconnus.
2. Toutes ces formules aux différences sont d’ordre 2. les mentions avant, centré et arrière
renvoient au point où on calcule la dérivée et aux points utilisés pour la calculer. Ainsi, la
différence avant est évaluée en x 0 sur la base des valeurs situées vers l’avant soit en x 1 et

x2 .

On peut toujours chercher à évaluer la dérivée en x . Dans ce cas, on utilise les valeurs de f  x  h
et de f  x  2h pour évaluer la différence avant et les valeurs de f  x  h et de f  x  h pour la
différence centrée. En ce qui concerne le terme d’erreur, on ne retient que son ordre. Ainsi :

113
f  x  h  f  x 
f ' x   O h
h
Différence avant d' ordre 1

f  x   f  x  h
f ' x   O h
h
Différence arrière d' ordre 1

 f  x  2 h  4 f  x  h  3 f  x 
f ' x 
2h
O h 
2

Différence avant d' ordre 2

f  x  h  f  x  h
f ' x 
2h
 
O h
2

Différence centrée d' ordre 2

3 f  x   4 f  x  h  f  x  2 h
f ' x 
2h
 
O h
2

Différence arrière d' ordre 2

3. Dérivées d’ordre supérieur


En utilisant les polynômes de degré  élevé, en choisissant le développement de Taylor approprié
pour en obtenir l’ordre de convergence, on obtient les principales d’entre elles qui sont :

f  x  2 h  2 f  x  h  f  x 
f " x    O h
h2
Différence arrière d' ordre 1

114
f  x  2 h  2 f  x  h  f  x 
f" x   O h
h2
Différence avant d' ordre 1

f  x  h  2 f  x   f  x  h
f" x 
h 2
 
 O h2

Différence centrée d' ordre 2

 f  x  2 h  16 f  x  h  30 f  x   16 f  x  h  f  x  2 h
f " x 
12 h 2
 O h4  
Différence centrée d' ordre 4

f  x  2 h  4 f  x  h  6 f  x   4 f  x  h  f  x  2 h
f ""  x  
h 4
 
 O h2

Différence centrée d' ordre 2

On démontre que la différentiation est un procédé numériquement instable. Toutes les formules de
différences finies dépendent d’un paramètre h qui est la distance entre les points d’interpolation. On
peut croire de façon intuitive que la précision du résultat augmente à mesure que diminue la valeur
de h. Dans le cas de la différentiation numérique, il y a une limite aux valeurs de h qui peuvent être
utilisées. En effet, en prenant par exemple une différence centrée pour estimer la dérivée 1ère c à d :

f  x 0  h  f  x 0  h
f '  x0  
2h

On constate que lorsque h  0, le numérateur contient la soustraction de deux termes très proches
l’un de l’autre.

4. Extrapolation de RICHARDSON
La méthode de Richardson est valable non seulement pour la dérivation et l’intégration numérique
mais aussi pour l’interpolation et la résolution numérique des équations différentielles etc. Cette

115
technique permet d’augmenter la précision d’une méthode d’approximation par une technique
d’extrapolation qu’on verra ici.
Soit une approximation numérique initiale notée Qapp h d’une certaine quantité exacte Qexa

inconnue. En supposant que cette approximation est d’ordre n , on a :

Qexa  Qapp h  O h n 


 
La notation O hn signifie en fait que l’on a :

Qexa  Qapp h  Cn hn  Cn 1hn 1  C n 2 hn 2  


(12)

où les constantes C n dépendent de la méthode numérique utilisée. La technique d’extrapolation de

Richardson consiste à obtenir à partir de l’approximation (12) d’ordre n une nouvelle


approximation au moins d’ordre n  1 . Pour ce faire, il suffit de remplacer h par h 2 dans (12),
ce qui donne :

n n 1 n 2
 h  h  h  h
Qexa  Qapp    C n    C n 1    C n 2   
 2  2  2  2 (13)

 h
L’approximation Qapp   est généralement plus précise que Qapp h . On peut cependant se servir
2
de ces deux approximations pour en obtenir une nouvelle, encore plus précise. L’idée consiste à

combiner les relations (12) et (13) de telle sorte que le terme d’ordre n C n h n disparaisse. Cela
est possible si on multiplie l’équation (13) par 2 n pour obtenir :

 h  h n 1   h n 2 
2 n Qexa  2 n Qapp    C n h n  C n 1    C n 2 
  22
 

2  2   
Qexa  Qapp h  C n h n  C n 1 h n 1  C n 2 h n 2  
__________________________________________________________

2 n
  h
 1 Qexa  2 n Qapp    Qapp h  C n 1 h n 1  C n 2 h n 2  
1 3
2 2 4

116
d’où

 h
2 n Qapp    Qapp h  C n 1 hn 1  C n 2 hn 2
1 3
 2 2 4

 
Qexa (14)
2n  1

ou plus simplement :

 h
2 n Qapp    Qapp h
Qexa  2 
 O h n 1 
 2 1
n

L’expression de droite est donc une approximation d’ordre au moins n  1 de Qexa .


L’extrapolation de Richardson permet donc de gagner au moins un ordre de convergence. En fait,
on peut en gagner davantage si par exemple, on a C n 1  0 dès le départ. Dans ce cas, la nouvelle

approximation est d’ordre n  2  .

Exemple :

En utilisant une différence avant d’ordre 1 pour calculer la dérivée de e x en x  0 , on


obtient :

 pour h  0 ,1

e 0  h  e 0 e 0 ,1  e 0
f ' 0     1 ,05170918  Qapp 0 ,1
h 0 ,1

 pour h  0 ,05

e 0 ,05  e 0
f ' 0    1 ,0254219  Qapp 0 ,05 
0 ,05

En faisant maintenant le calcul à l’aide de (14) avec n  1

2 1 Qapp 0 ,05   Qapp 0 ,1


f ' 0  
21  1
 2  1 ,0254219  1 ,05170918  0 ,99913462

117
qui est une approximation d’ordre 2 et donc plus précise de f ' 0  . De même, si on utilise une
différence centrée d’ordre 2, on obtient :

 pour h  0 ,05
0 ,05
 e 0 ,05
f ' 0  
e
 1 ,0004167
2  0 ,05

 pour h  0 ,025

e 0 ,025  e 0 ,025
f ' 0    1 ,00010418
2  0 ,025

Dans ce cas, l’extrapolation de Richardson permet de gagner deux ordres de précisions


puisque seules les puissances paires de h apparaissent dans le terme d’erreur. Plus
précisément, on a :

f  x  h  f  x  h f '"  x  h 2 f  5   x  h 4
2h
 f ' x 
3!

5!
 
 O h6

La différence centrée étant d’ordre 2, l’extrapolation de Richardson avec n  2 donne :

2 2 Qapp 0 ,025   Qapp 0 ,05 


f ' 0  
22  1
4  1 ,00010418  1 ,0004167
  1 ,000000007
3

qui est une approximation d’ordre 4 de la solution exacte.

Remarque
Il vaut mieux éviter d’utiliser des valeurs de h très petites pour calculer une dérivée à l’aide d’une
formule de différence finie. Il est préférable de choisir une valeur de h pas trop petite et de faire
des extrapolations de Richardson.

118
CHAPITRE 8

INTEGRATION NUMERIQUE

1. Introduction
L’intégration numérique est basée principalement sur la relation :

x f  x  dx  x pn  x dx  x En  x dx
xn x
n x n

0 0 0 (1)

où pn  x  est un polynôme d’interpolation et En  x  est l’erreur associée.

En faisant varier la valeur de n , on obtient les formules de Newton-Cotes. En principe, plus n est
élevé plus grande est la précision liée à la valeur de l’intégrale recherchée. En pratique, les
numériciens emploient des valeurs de n  5 .
Par ailleurs, l’extrapolation de Richardson alliée à l’une des formules de Newton-Cotes, conduit à la
méthode de Romberg, l’une des techniques d’intégration les plus précises.

2. Formules de Newton-Cotes simples et composées


1. Méthode des trapèzes
C’est la méthode la plus simple. Soit à évaluer l’intégrale

x f  x dx
x1

où f  x  est une fonction connue seulement en deux points ou encore une fonction n’ayant pas de
primitives. La 1ère idée consiste à remplacer f  x  par le polynôme de degré 1 passant par les points

 x0 , f  x0  et  x1 , f  x1 

E1  x dx
x1
x
f  x1  0

f x

f  x0 
x p1  x  dx
x1

x0 x1

119
La valeur approximative de l’intégrale correspond à l’aire sous la courbe du polynôme qui donne
son nom à la méthode du trapèze. En effet, cette approximation est grossière et le résultat sera peu
précis.

En utilisant le polynôme de Newton

p1  x   a0  a1  x  x0   f  x0   f x0 , x1  x  x0 

et

f  2    x 
E1  x    x  x0  x  x1 
2!

où   x   x0 , x1 

on a :

f  x dx   p1  x dx   E1  x dx


x1 x1 x1
x 0 x0 x0

 f  x0   f x0 , x1  x1  x0 d x 
x1

x0

f  2    x 
 x  x0  x  x1  d x
x1

x0 2!

En intégrant le polynôme, il vient :

x x 
 f  x0   f  x1  
x f  x  dx  
x1
1 0
0 2
aire du trapèze
e

x 1 f "   x  (2)
  x  x0  x  x1  d x
2

x0 !
erreur commise

Si les abscisses sont équidistantes, on pose

x  x0
s  x  x0  s h
h

et
120
x  x i  x   x 0  ih   x  x0   ih
 sh  ih  s  i  h

donc d x  hds .

Le terme d’erreur devient :

 x1  x0   s h, h  sh  s  1

f "  s 
 x  x 0   x  x 1  d x   f "  s  s s  1 h 3d s
x1 1
x 0 2! 0 2!

THEOREME (2nd théorème de la moyenne)

Soit f 1  x  une fonction continue dans l’intervalle a , b et f 2  x  une fonction intégrable qui

ne change pas de signe dans l’intervalle a , b . Il existe alors   a , b tel que :

a f1  x  f2  x  d x  f1  a f2  x  d x
b b

(3)

comme la fonction s s  1 ne change pas de signe dans l’intervalle 0 , 1 on peut écrire :

f "  s  f "   3 1 f "   3


s  s  1 h d s  h  s  s  1 d s  
1
0
3
h
2! 2! 0 12

Conclusion :

La méthode du trapèze se résume à l’égalité suivante :

f x d x 
h
 f  x0   f  x1   f "   h3 pour   x0 , x1 
x1
x0 2 12 (4)

La méthode du trapèze demeure peu précise.

121
Exercice

 2
Evaluer numériquement par la méthode du trapèze 0 sin x d x

Solution

Analytiquement, on a :

 2  2
J   sin x d x   cos x 0
0

  cos  cos 0  0  1
2
J 1

Par la méthode numérique, on obtient :

J
h
 f  x0   f  x1 
2
 
h 0 
2 2
h  
J   sin 0  sin   0  1
2 2 4
J  0 ,785398164

Qui est une piètre approximation de la valeur exacte J  1 . Ceci est dû au fait que l’on a
approché la fonction f  x   sin x dans l’intervalle 0 ,  2 au moyen d’un polynôme de
degré 1.

Une stratégie intéressante consiste à décomposer l’intervalle où l’on doit faire l’intégration, soit
l’intervalle a , b en n sous-intervalles de longueur

ba
h
n (5)

122
x0  a x1 x2 x n  2 x n  1 xn  b

Les différents points engendrés sont notés xi pour i  0 ,1, 2 ,  , n . Les valeurs aux extrémités

sont : a  x0 et b  xn . Dans chaque intervalle xi , xi  1  on peut utiliser la méthode du trapèze.

n 1 x n 1
f  x d x   x f  x d x  
h
 f  xi   f  xi  1 
b
a
i 1

i 0 i
i 0 2

a f  x  d x  2  f  x0   f  x1    f  x1   f  x2    
b h

  f  xn  2   f  xn  1    f  xn  1   f  xn  
On remarque que tous les termes f  x i  sont répétés deux fois sauf le premier et le dernier. On
conclut :

a f  x  dx  2 f  x0   2  f  x1   f  x2     f  xn1   f  xn  
b h
(6)

(6) est la formule des trapèzes composée.

L’erreur totale commise ici est :

 f "   3  b  a f "   3 ba


f "   h
2
n h  h 
 12  h 12 12

Remarque :

123
Le raisonnement précédent n’est pas parfaitement rigoureux même si le résultat final est juste. En
effet, dans chaque intervalle xi , xi  1  l’erreur liée à la méthode du trapèze simple devrait faire

intervenir la dérivée seconde en i  f " i  c à d une valeur de  différente pour chaque sous-

intervalle. Un autre théorème de la moyenne est alors nécessaire pour conclure ; l’erreur globale est
donnée par :

ba
f "   h   a , b
2
 pour
12 (7)

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

Exercice :

Evaluer numériquement par la méthode des trapèzes composés l’intégrale suivante :

 2
0 sin x d x

Solution
En prenant 4 sous-intervalles de longueur

h
 20

 0 /8 /4 3/8 /2
4 8

 2     3  
J   sin x d x   sin 0  2 sin  sin  sin   sin 
0 8  8 4 8  2
 0 ,9871158

L’erreur absolue est environ 1  0 ,9871158  0 ,01288

On constate une nette amélioration en comparant ce résultat avec celui obtenu pour un seul
intervalle.

  
En refaisant ce calcul avec 8 intervalles  h   , on trouve :
 16 

124
  3  5 3 7 
h , 2h  , 3h  , 4h  , 5h  , 6h  ,7 h  , 8h 
16 8 16 4 16 8 8 2

 2  16     3  5 3 7  
0 sin x d x  
2 
sin 0  2 sin
 16
 sin  sin
8 16
 sin  sin
4 16
 sin
8
 sin   sin 
16  2

 0 ,9967852

L’erreur absolue 1  0 ,9967852 est réduite à 0,0032.

En faisant le rapport des erreurs absolues, on peut connaître l’ordre de la méthode :

0 ,01288
 4 ,025  4  2 2
0 ,0032

Ce qui confirme que cette méthode est d’ordre 2. On peut améliorer le résultat en utilisant la
méthode de Richardson.

2 n Qapp h 2   Qapp
Qexa 
2n  1

2 2 0 ,9967852  0 ,9871158
Qexa 
22  1

Qexa  1 ,000000833

Remarques

1. La méthode du trapèze avec un seul intervalle est également connue sous le nom de méthode
du trapèze simple.
2. La méthode des trapèzes composée est d’ordre 2. La méthode du trapèze simple, bien que
d’ordre 3 est rarement utilisée car elle est trop imprécise.
3. La méthode des trapèzes composée donne un résultat exact si la fonction f  x  est un
polynôme de degré ≤ 1. Cela s’explique par la présence de la dérivée seconde de f  x  dans
le terme d’erreur : celle-ci s’annule dans le cas de polynôme de degré 1.

125
Définitions

1. Les formules d’intégration numérique sont également appelées formules de quadrature.


2. Le degré de précision d’une formule de quadrature est la valeur maximale de n pour
laquelle cette formule de quadrature intègre exactement tout polynôme de degré  n.
Le degré de précision de la formule des trapèzes est 1.

2. Méthode de SIMPSON (formule de Simpson 1/3)


Soit p2  x  un polynôme de degré 2 dont la courbe passe par les points  x0 , f  x0  ,  x1 , f  x1  et

 x2 , f  x2  , en appliquant la formule de Newton, il vient :

     
p  x   f x0  f x0 , x1 x  x0  f x0 , x1 , x2 x  x0 x  x1
2
  
et on a :

f  x   p2  x    f  x  d x   2 p2  x  d x
x2 x
x0 x0

et donc:

x0 f  x dx  x0  f  x0   f x0 , x1   x  x0   f x0 , x1 , x 2  x  x0   x  x1 d x


x2 x2

En considérant le cas où les abscisses sont également distancées

s
x  x0
h
 
 x  xi   s  i  h

Et on a la formule :

0  f x0   f x0 ,   
x 1 h s  f x 0 , x 1 , x 2 h 2 s  s  1 h d s        
2 h
f x0  4 f x 1  f x 2
3

où :

126
  f x  h f x 
f x0 , x 1  1 2
et   f x  2 2f hx   f x 
f x0 , x 1 , x 2  2
2
1 0

En résumé

x f  x  dx  3  f x0   4 f x1   f x 2 
x2 h
0

qui est appelée formule de Simpson 1/3 simple ; cette terminologie est due au facteur 1/3 qui
multiplie h.

L’analyse du terme d’erreur donne :

f 4    5

90

h avec   x0 , x 2 
d’où :

f 4    5
f  x dx   f  x0   4 f  x1   f  x 2   h avec   x0 , x2 
x2 h
x 0 3 90 (8)

Remarque :

La valeur de h exprime toujours la distance entre les points x i , c à d qu’elle équivaut dans ce cas à

la longueur de l’intervalle divisée par 2.

La méthode de Simpson 1/3 simple est peu précise.

Exercice
Evaluer numériquement par la méthode de Simpson 1/3 simple l’intégrale

 2
0 sin x d x

Résolution

Déterminons h

127
l  20   1  
h   et x0  0 , x1    , x2 
2 2 4 2 2 4 2

x f  x  d x  3  f x0   4 f x1   f x 2 
x2 h
0

 4  
x f  x d x  3  sin 0  4 sin 4  sin 2 
x2

 1 ,0022799

Ce résultat est plus précis que l’approximation obtenue par la méthode de trapèze simple.
Mais il demeure peu satisfaisant.

On peut encore améliorer la précision de la formule de Simpson 1/3 simple en la composant ;


ceci revient à diviser l’intervalle a , b d’intégration en 2n sous-intervalles et à utiliser la
méthode de Simpson 1/3 simple dans chaque paire de sous-intervalle. On obtient :

a f  x dx  3  f x0   4 f x1   2 f x2   4 f x3   2 f x4     4 f x2 n 3  


b h

     
 2 f x2 n  2  4 f x2 n  1  f x2 n 
b  a  f 4    h4 (9)
180

pour   a , b

c’est la formule de Simpson 1/3 composée.

Remarques :

1. Tous les termes de rang impair sont multipliés par 4 tandis que ceux de rang pair sont
 
multipliés par 2, sauf le 1er f x0 et le dernier f x 2 n .  
2. La méthode de Simpson 1/3 composée est une méthode d’ordre 4.
De plus en raison de la présence de la dérivée 4ème de f  x  , cette méthode est exacte dans le cas
des polynômes de degré 3. Le degré de précision de cette méthode est donc 3.

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

128
 2
0 sin x d x

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

Résolution :

En divisant l’intervalle 0 ,  / 2 en 4 sous-intervalles de longueur h   / 8

l  20 
h  
4 4 8

 8  2 3 
 sin 
 2
0 sin xdx 
3 
sin 0  4 sin  2 sin
8 8
 4 sin
8 2
 1 ,0001346

Même méthode avec 8 sous-intervalles. On a h   / 16

 2  16    3 
0 sin xdx   sin 0  4 sin  2 sin  4 sin
3  16 8
 2 sin 
16 4
5 3 7 
 4 sin  2 sin  4 sin  sin   1 ,000008296
16 8 16 2

Ces deux résultats montrent que la méthode est bien d’ordre 4.

Extrapolation de Richardson

La plus grande précision de la méthode de Simpson composée vient du fait que cette méthode
est d’ordre 4.

2 4  1 ,000008296  1 ,0001346
Qexa   0 ,999999876
24  1

Qui est une approximation d’ordre au moins 5.

3. Méthode de ROMBERG
La méthode de Romberg est une méthode d’intégration qui permet d’atteindre des résultats très
précis. Elle est basée sur une utilisation astucieuse de la méthode des trapèzes composée (d’ordre 2)
et de la technique d’extrapolation de Richardson.

Soit T1 ,i le résultat obtenu à l’aide de la méthode des trapèzes composée avec 2 i  1 intervalles ; les

T1 ,i sont des approximations d’ordre 2.

129
Pour passer de T1 ,i à T1 ,i  1 on doit doubler le nombre de sous-intervalles, ce qui revient à diviser la

valeur de h par 2. Au moyen de l’extrapolation de Richardson avec n  2 on définit alors les


relations suivantes :

2 2 T1 ,i  1  T1 ,i
T2 ,i  (10)
22  1

et les T2 ,i sont des approximations d’ordre 4. On pose ensuite successivement :

2 4 T2 ,i  1  T2 ,i
T3 ,i 
24  1

2 6 T3 ,i  1  T3 ,i
T4 ,i 
26  1 (11)

2 8 T4 ,i  1  T4 ,i
T5 ,i 
28  1

ce qui définit un triangle de la forme :

T1 ,1 T1 ,2 T1 ,3 T1 ,4 T1 ,5 T1 ,6 ordre 2 
T2 ,1 T2 ,2 T2 ,3 T2 ,4 T2 ,5 ordre 4 
T3 ,1 T3 ,2 T3 ,3 T3 ,4 ordre 6 
T4 ,1 T4 ,2 T4 ,3 ordre 8 
T5 ,1 T5 ,2 ordre 10 
T6 ,1 ordre 12 

Chaque ligne de ce triangle est de deux ordres de convergence plus précise que la précédente. La
1ère ligne est tout simplement constituée des approximations obtenues à l’aide de la méthode des
trapèzes composée avec 1, 2, 4, 8, 16, … intervalles. Pour passer d’une ligne à l’autre, on utilise
l’extrapolation de Richardson pour les relations (10) et (11).

Remarque
130
On montre que la 2nde ligne du triangle n’est autre que le résultat de la méthode de Simpson 1/3
avec respectivement 2, 4, 8, … intervalles. On pourrait donc éliminer la 1ère ligne et commencer
directement avec la méthode de Simpson.

Exercice : Soit une fonction f  x  connue seulement pour quelques valeurs de x . Evaluer

0 f  x d x à l’aide de la méthode de Romberg.


1
l’intégrale

x f x

0,00 0,3989

0,25 0,3867

0,50 0,3521

0,75 0,3011

1,00 0,2420

Résolution :

Puisqu’il y a en tout 5 points, on peut utiliser la méthode des trapèzes composée avec 1, 2 et 4
intervalles seulement. On a :

T1 ,1 
1
 f 0 ,0   f 1 ,0   1 0 ,3989  0 ,2420   0 ,32045
2 2

T1 ,2 
0 ,5
 f 0 ,0   f 0 ,5   f 1 ,0   0 ,336275
2

T1 ,3 
14
 f 0 ,0   2 f 0 ,25   f 0 ,5   f 0 ,75   f 1 ,0   0 ,3400875
2

T1 ,1 T1 ,2 T1 ,3 ordre 2 
T2 ,1 T2 ,2 ordre 4 
T3 ,1 ordre 6 

131
2 2 T1 ,2  T1 ,1 2 2 0 ,336275   0 ,32015
T2 ,1  
22  1 22  1
T2 ,1  0 ,34155

2 2 T1 ,3  T1 ,2 2 2 0 ,3400875   0 ,336275
T2 ,2  
22  1 22  1
T2 ,2  0 ,3413583

2 4 T2 ,2  T2 ,1
T3 ,1   0 ,3413456
24  1

0 f  x d x T3 ,1  0 ,3413456
1
ordre 6

0 ,32045 0 ,336275 0 ,3400875


0 ,34155 0 ,3413583
0 ,3413456

Remarque
Dans le cas d’une fonction connue seulement en certains points, le nombre de points doit être de la
forme 2 n  1 pour que la méthode de Romberg puisse s’appliquer. En effet, il faut que le nombre
de sous-intervalles soit une puissance de 2. Dans l’exercice précédent, on a 2 2  1 points et 4 sous-
intervalles.

132
CHAPITRE 9
RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES

1. Introduction
La résolution numérique des équations différentielles est probablement le domaine de l’analyse
numérique où les applications sont les plus nombreuses.
Soit une équation différentielle d’ordre 1 avec condition initiale. Le problème consiste à déterminer
une fonction y t  solution de :

 y' t   f t , y( t )



 y t 0   y0 (1)

La variable indépendante t représente très souvent, mais pas toujours, le temps. La variable
dépendante est notée y et est fonction de t . La fonction f est ici une fonction quelconque de
 
deux variables, suffisamment différentiable. La condition y t0  y0 est la condition initiale. Il

s’agit d’obtenir y t  pour t  t0 si on cherche une solution analytique ou une approximation de

yt  , si on utilise une méthode numérique. L’objectif dans ce chap. est de présenter les méthodes
numériques de résolution des équations différentielles. A cet égard, on étudiera la notion d’erreur
de troncature locale qui indique l’ordre de la précision de la méthode utilisée.

Avec les outils numériques de résolution des équations différentielles, il n’est plus possible
d’obtenir une solution pour toutes les valeurs de la variable indépendante t . On obtient plutôt une
approximation de la solution analytique seulement à certaines valeurs de t notées t i et distancées

d’une valeur hi  t i  1  t i .

Dans la plupart des méthodes présentées ici, cette distance est constante pour tout i et est notée h ;
h est appelée le pas de temps.

Remarque :


On note y t i la solution analytique de l’équation différentielle (1) en t  t i .

On note yi la solution approximative en t  t i obtenue à l’aide d’une méthode numérique.

133
2. Méthode d’EULER
1. Principe
Bien que relativement simple et d’usage facile, la méthode d’Euler est peu utilisée en raison de sa
faible précision.
Soit ici l’équation différentielle (1) suivante :

 y' t   f t , y t 



  
y t 0  y0
(1)

Le but est d’obtenir à la 1ère itération une approximation de la solution en t  t1  t0  h . On peut

écrire :

 
y' t0  f t0 ,   
y t0  f t0 ,  y0 

L’équation de la droite d0 t  passant par t0 , 
y0 et de pente f t0 ,  
y0 s’écrit :

d0 t   y0  f t0 ,  
y0 t  t0 
en t  t1 , on a :

d 0 t 1   y0  f t 0 , y0 t 1  t 0 
 y0  h f t 0 , y0   y1

 
En d’autres termes d0 t1 est proche de la solution analytique y t1 c à d :  
   
y t 1  y 1  d 0 t 1  y0  h f t 0 ,  y0 
le plus souvent, y1  y t1  
A la 2nde itération, puisque la pente de la solution analytique en t  t1 est : y' t1  f t1 ,     
y t1 , on

a:

 
y' t1  f t1 ,   
y t1  f t1 ,  y1 
et la construction de la droite d’équation :

d1 t   y1  f t1 ,  
y1 t  t1 
134
 
permet d’estimer y t 2 ; il vient :

    
y t 2  y2  d1 t 2  y1  h f t1 , y1 
Remarque
L’erreur introduite à la 1ère itération a des répercussions sur les calculs de la 2nde itération, ce qui
signifie que les erreurs se propagent d’une itération à l’autre. Il en résulte que, de façon générale


l’erreur y t i  yi augmente légèrement avec i . On arrive à l’algorithme suivant :

2. Algorithme
1) Etant donné un pas de temps h , une condition initiale t0 ,  
y0 et un nombre

maximal d’itérations N
2) Pour 0  n  N
yn  1  yn  h f tn ,  yn 
tn  1  tn  h

Ecrire tn 1 et yn  1

3) Arrêt

Exercice d’application :
Résoudre par la méthode d’Euler l’équation différentielle :

 y' t    y t   t  1


 y 0   1 ( condition initiale)

Résolution :

f t , y   y  t  1 car y' t   f t , y

A la condition y0   1 on a donc : t 0  0 et y0  1 .

En prenant le pas de temps h  0 ,1 ; on obtient successivement les approximations


y0 ,1, y0 ,2 , y0 ,3 ,  notées y1 , y2 , y3 , 

135
 La 1ère itération donne :
y1  y0  h f t0 ,  y0 
y1  1  0 ,1 f 0 , 1   1  0 ,1 1  0  1
y1  1

 La 2e itération fonctionne de façon similaire et donne :


y2  y1  h f t1 ,  y1 
y2  1  0 ,1 f 0 ,1 , 1   1  0 ,1 1  0 ,1  1
y2  1 ,01

y3  y2  h f t2 ,  y2 
y3  1 ,01  0 ,1 f 0 ,2 , 1 ,01   1 ,01  0 ,1 1 ,01  0 ,2  1
y3  1 ,029

y4  y3  h f t3 ,  y3 
y4  1 ,029  0 ,1 f 0 ,3 , 1 ,029   1 ,029  0 ,1 1 ,029  0 ,3  1
y4  1 ,056100

y5  y4  h f t4 ,  y4 
y5  1 ,0561  0 ,1 f 0 ,4 , 1 ,0561   1 ,0561  0 ,1 1 ,0561  0 ,4  1
y5  1 ,09049


y6  y5  h f t5 , y5 
y6  1 ,09049  0 ,1 f 0 ,5 , 1 ,09049   1 ,09049  0 ,1 1 ,09049  0 ,5  1
y6  1 ,131441


y7  y6  h f t6 , y6 
y7  1 ,131441  0 ,1 f 0 ,6 , 1 ,131441   1 ,131441  0 ,1 1 ,131441  0 ,6  1
y7  1 ,178297

136

y8  y7  h f t7 , y7 
y8  1 ,178297  0 ,1 f 0 ,7 , 1 ,178297   1 ,178297  0 ,1 1 ,178297  0 ,7  1
y8  1 ,230467


y9  y8  h f t8 , y8 
y9  1 ,230467  0 ,1 f 0 ,8 , 1 ,230467   1 ,230467  0 ,1 1 ,230467  0 ,8  1
y9  1 ,287420


y10  y9  h f t9 , y9 
y10  1 ,287420  0 ,1 f 0 ,9 , 1 ,287420   1 ,287420  0 ,1 1 ,287420  0 ,9  1
y10  1 ,348678

La solution analytique de cette équation différentielle est yt   e  t  t . Ce qui permet de


comparer les solutions numérique et analytique et de constater la croissance de l’erreur.

ti  
y ti yi  
y t i  yi

0,0 1,000 000 1,000 000 0,000 000


0,1 1,004 837 1,000 000 0,004 837
0,2 1,018 731 1,010 000 0,008 731
0,3 1,040 818 1,029 000 0,011 818
0,4 1,070 302 1,056 100 0,014 220
0,5 1,106 531 1,090 490 0,016 041
0,6 1,148 812 1,131 441 0,017 371
0,7 1,196 585 1,178 297 0,018 288
0,8 1,249 329 1,230 467 0,018 862
0,9 1,306 570 1,287 420 0,019 150
1,0 1,367 879 1,348 678 0,019 201

3. Définition 1
Une méthode de résolution d’équations différentielles est dite à un pas si elle est de la forme :


y n  1  yn  h  t n , yn  (2)

où  est une fonction quelconque. Une telle relation est appelée équation aux différences.

137
La méthode est à un pas si, pour obtenir la solution en t  t n 1 , on doit utiliser la solution

numérique au temps t n seulement. On désigne par méthode à pas multiples les méthodes qui

exigent également la solution numérique au temps t n 1 , t n 2 , t n 3 , .

La méthode d’Euler est une méthode à un pas puisque :

 t , y   f t , y 

On étudiera que les méthodes à un pas dans ce cours.

4. Définition 2
L’erreur de troncature locale au temps t  t n est définie par :

 n 1 h 
    
y t n 1  y t n
  tn , y tn  
h (3)

L’erreur de troncature locale mesure la précision avec laquelle la solution analytique vérifie
l’équation aux différences (2).

Remarques

 
1. Dans la définition 2, la solution exacte est notée y t n et non y n . Cela s’explique par le fait

que l’on cherche à mesurer l’erreur introduite par l’équation aux différences à un pas donné, en
supposant que la méthode était exacte jusque là.
2. Il ne faut pas confondre l’ordre d’une équation différentielle avec l’ordre d’une méthode
numérique utilisée pour résoudre cette équation.

3. Méthodes de RUNGE-KUTTA
1. Méthode de Runge-Kutta d’ordre 2
Soit le développement de Taylor suivant :

    
y t n 1  y t n  h f t n , y t n   


h2  f

 t t n , y t n    yf t     f t
, y tn  
 
, y t n   O h3 (4)
2 n n

Le but est de remplacer cette dernière relation (4) par une expression équivalente possédant le
 
même ordre de précision O h 3 . On propose la forme :
138
   
y t n 1  y t n  a1h f t n ,   
yn  a 2 h f t n  a 3 h ,  
y t n  a4 h 
(5)

où on doit déterminer les paramètres a 1 , a 2 , a 3 , et a 4 de sorte que les expressions (4) et (5) aient

 
toutes deux une erreur en O h 3 . Pour y arriver, on a recours au développement de Taylor en deux
variables suivant :

  
f t n  a 3 h , y t n  a4 h  f t n ,    
y t n  a3 h
f
t ,
t n
  
y tn 

 a4 h
f
t ,
y n
    Oh 
y tn 2

La relation (5) devient alors :

f
y t n  1   y t n   a1  a 2  h f t n , y t n   a 2 a 3 h 2 t n , y t n  
t

 a 2 a4 h2
f
y
t n ,  
y t n   O h 3 (6)

Les expressions (4) et (6) sont du même ordre. Pour déterminer les coefficients a i , il suffit de

comparer ces deux expressions terme à terme ; il vient :

 
coefficients respectifs de f tn , y tn   : 
h  a1  a 2 h 
 coefficients respectifs de
f

t , y tn
t n
  : h2
2
 a2 a3 h2

 coefficients respectifs de
f
t ,
y n
   :
y tn
h2
2
f tn ,   
y t n  a 2 a4 h 2

On obtient ainsi un système non linéaire de trois équations à quatre inconnues :

1  a1  a 2

1
 a a
2 2 3


 f tn , y tn
 a 2 a4
 

 2 (7)

139
Le système (7) est sous-déterminé en ce sens qu’il y a moins d’équations que d’inconnues et donc il
n’a pas de solution unique. Cela permet la mise au point de plusieurs variantes de la méthode de
Runge-Kutta. Le choix le plus couramment utilisé est le suivant :

a) Méthode d’Euler modifiée

a  a  1
 1 2 2

a3  1


a4  f t n , y t n 


On établit sans peine que ces coefficients satisfont aux trois équations du système non linéaire. Il
suffit de remplacer ces valeurs dans les équations (5). Pour ce faire, on doit négliger le terme en
 
O h3 et remplacer la valeur exacte y t n   par son approximation y n . On obtient alors

l’algorithme :

Algorithme

1. Etant donné un pas de temps h, une condition initiale t0 ,  y0  et un nombre

maximal d’itérations N
2. Pour 0  n  N


ŷ  yn  h f t n , yn  prédiction

yn 1  yn 
h
2
 
f tn ,  
yn  f t n 1 , ŷ 
correction
(8)
t n 1  t n  h

Ecrire t n  1 et yn  1

3. Arrêt

Remarque :

Pour faciliter les calculs, l’évaluation de yn  1 a été scindée en deux étapes. La variable temporaire

ŷ correspond tout simplement à une itération de la méthode d’Euler. On fait ainsi une prédiction ŷ

140
de la solution en t n  1 qui est corrigé (et amélioré) à la seconde étape de l’algorithme. On parle donc

de méthode de prédiction-correction.

Exercice d’application
Résoudre numériquement y' t    yt   t  1 avec comme condition initiale y0   1

Solution

On choisit un pas de temps h  0 ,1

1ère itération (t=0) :

on prédit d' abord



ŷ  y0  h f t0 , y0   1  0 ,1 1  0  1  1
correction

yn  1  yn 
h
2
 
f tn ,  
yn  f t n  1 , ŷ 
y1  y0 
h
2
 
f t0 ,  
y0  f t1 , ŷ 
y1  1 
0 ,1
2
 1  0  1   1  0 ,1  1  1 ,005

2ère itération (t1=t0 + h = 0+0.1) :

ŷ  y1  h f t1 , y1 

y 2  y1 
h
 f t1 , y1  f t 2 , ŷ 
2
ŷ  1 ,005  0 ,1 1 ,005  0 ,1  1  1 ,0145
0 ,1
y 2  1 ,005   1 ,005  0 ,1  1   1 ,0145  0 ,2  1
2
 1 ,019025

ŷ  1 ,0145 (prédiction)
y 2  1 ,019025 (correctio n)

b) Méthode du point milieu


C’est une autre méthode de Runge-Kutta d’ordre deux qui est très utilisée et correspond au choix
suivant des coefficients a i :

141
1 f t n , yt n 
a1  0 , a 2  1 , a 3  et a 4 
2 2

En remplaçant ces valeurs des coefficients a i dans l’équation (5) on a l’algorithme :

Algorithme

1. Etant donné un pas de temps h, une condition initiale t0 ,  y0  et un nombre

maximal d’itérations N
2. Pour 0  n  N


k1  h f t n , yn 
 h k1 
yn  1  yn  hf  t n  , yn  
 2 2 
tn 1  tn  h

Ecrire t n  1 et yn  1

3. Arrêt

Remarques

1. La fonction f t ,  
y  est évaluée au point milieu de l’intervalle tn , tn  1 , c’est pourquoi

cette méthode est appelée du point milieu.


2. Les méthodes d’Euler modifiée et du point milieu étant du même ordre de troncature locale,
leur précision est semblable.

2. Méthode de Runge-Kutta d’ordre 4


En reprenant le développement de Taylor de la fonction f jusqu’à l’ordre 5, un raisonnement
similaire à celui qui a été mené aux méthodes de R-Kutta d’ordre 2 aboutit à un système de huit (8)
équations non linéaires comprenant dix (10) inconnues. Le résultat final est la méthode de R-Kutta
d’ordre 4 qui représente un outil d’une grande utilité.

142
Algorithme

1. Etant donné un pas de temps h , une condition initiale t0 ,  


y0 et un nombre maximal

d’itérations N
2. Pour 0  n  N

k1  hf tn , yn 
 h k1 
k2  h f  t n  , yn  
 2 2 

 h k2 
k3  h f  t n  , yn  
 2 2 


k4  h f t n  h , yn  k3 

yn  1  yn 
1

k  2 k 2  2 k 3  k4
6 1

tn 1  tn  h

Ecrire t n  1 et yn  1

3. Arrêt

Exercice 1 : Résoudre par la méthode de Runge-Kutta le système suivant :

 y' t    y t   t  1


 y 0   1 ( condition initiale)

Solution :
On choisit un pas de temps h  0 ,1

 
 k1  h f t0 , y0  0 ,1  1  0  1  0

 k 
k2  h f  t0  , y0  1   0 ,1 f 0 ,05 , 1
h
  2 2

 0 ,1 1  0 ,05  1  0 ,005

143
 k2 
h
k 3  h f  t0  , y0    0 ,1 f  0  0 ,1 , 1  0 ,005 
  2 2   2 2 

 0 ,1 1 ,0025  0 ,05  1


k4  hf t0  h , 
y0  k3  0 ,1 f 0 ,1 , 1 ,00475 

 0 ,1 1 ,00475  0 ,1  1  0 ,009525

y1  y0 
1

k  2 k 2  2 k 3  k4
6 1

 1
1
6
0  2  0 ,005  2  0 ,00475  0 ,009525 
 1 ,0048375
Et ainsi de suite.

Exercice 2

1. Transformer l’équation différentielle suivante :

d2x
dt 2

 1  x2 
dx
dt
 x0

où initialement x0   0 ,5 et x' 0   0 en un système d’équation d’ordre 1.

2. Indiquer les conditions initiales applicables au système.


3. Avec un pas de temps h  0 ,1 , calculer x t  et x' t  à t  0 ,1 à l’aide de la méthode
d’Euler.
Solution :

d2x
dt 2

 1  x2
dx
dt

 x0

Posons y  dx  x' t 
dt

dy d 2 x
 x' t  
dx
y  2
dt dt dt
1
dx  ydt  x  y 2  c
2
x 0    y 0   c  0 ,5 or y 0   x' 0   0
1 2
2
c  0 ,5

144
d2x
dt 2

 1  x2
dx
dt

 x  f 1  t , x ,

dx 
dt 
dy
dt
 
 1  x 2 y  x  f 2 t , x , y 

D’où le système équivalent :

dx
 dt  y  f 1 t , x , y 


 dy
 
 dt  1  x y  x  f 2 t , x , y 
2

x 0   0 ,5  x0
x' 0   y0   0  y0


xn  1  xn  h f 1 t n , xn , 
yn  x n  h yn
yn  1  yn  h f t
2 n
, xn , y  y
n n
 
 h 1  xn2 yn  xn 
1ère itération n  0 :

x1  x0  hy0  0 ,5  0 ,1  0  0 ,5

 
y1  y0  h 1  x02 y0  x0 
 0  0 ,11  0 ,5  0  0 ,5   0 ,05
2

x 0 ,1  x1  0 ,5
x' 0 ,1  y1  0 ,05

Exercice : on considère l’intégrale suivante :

1 dx 
I   0 ,785398163
0 1 x 2 4

Calculer les valeurs approchées de I par la méthode de Romberg. Prendre  0 ,001 comme
critère d’arrêt.

145

Vous aimerez peut-être aussi