Vous êtes sur la page 1sur 162

REPUBLIQUE DU BENIN

Ministère de l’Enseignement Supérieur et de la


Recherche Scientifique

Université d’Abomey Calavi

Ecole Polytechnique d’Abomey Calavi

CLASSES PREPARATOIRES AUX CYCLES D’INGENIEURS

Notes de Cours :

ANALYSE NUMERIQUE POUR L’INGENIEUR

Enseignant :

Joël M. ZINSALO,

Mai 2012
Analyse numérique pour Ingénieurs

Contenu

Chapitre 1 : Analyse d’erreurs

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

Chapitre 3 : Résolution des systèmes d’équations linéaires : méthodes directes

Chapitre 4 : Résolution des systèmes d’équations non linéaires : méthodes


itératives

Chapitre 5 : Résolution numérique des systèmes non linéaires

Chapitre 6 : Interpolation - Approximation

Chapitre 7 : Dérivation numérique

Chapitre 8 : Intégration numérique

Chapitre 9 : Résolution numérique des équations différentielles

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 2


Analyse numérique pour Ingénieurs

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* .

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 3


Analyse numérique pour Ingénieurs

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

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
Enseignant : Joël M. ZINSALO /EPAC-UAC Page 4
Analyse numérique pour Ingénieurs

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.

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)
f(x pn(x
)

f(x0) p0(x)

p1(x)

x0

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 5


Analyse numérique pour Ingénieurs

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 :

Pn = f (x ) +
x − x0
f ' ( x0 ) +
( x − x0 ) f " ( x ) + ⋯ + ( x − x 0 ) f ( n ) ( x )
2 n

0 0 0 (4)
1! 2! n!
(n)
où f ( 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 x0 . On a l’égalité suivante :

f ( x ) = Pn ( x ) + R n ( 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 :

R (x) =
(x − x ) 0
n+ 1

f ( n+ 1 ) [ξ ( x )]
n
(n + 1)! (6)

pour un certain ξ ( x ) compris entre x0 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


x0 en vertu du terme ( x − x 0 )
n+ 1
.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 6


Analyse numérique pour Ingénieurs

3. Inversement, pour une valeur de x proche de x0 , 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. 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 [x0 , 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) !

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 7


Analyse numérique pour Ingénieurs

pour un certain ξ ( h ) compris entre x0 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).

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) = e ξ (h ) avec ξ (h) ∈ [x0 , x0 + h] = [0 , h]


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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 8


Analyse numérique pour Ingénieurs

0 ≤ ξ ( h ) ≤ h ⇔ e 0 ≤ eξ( h) ≤ e h
1 ≤ e ξ (h) ≤ e h
donc e ξ (h) ≤ e h
h n+1 h n+1
il en résulte que : eξ( h) ≤ eh
( n + 1 )! ( n + 1 )!

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

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


significatifs

En prenant h = 0 ,1 , on a :

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 9


Analyse numérique pour Ingénieurs

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

au voisinage de x0 = 0 .

Remarque :
Pour avoir une idée du comportement d’une fonction de type O ( h ) , il suffit de
n

remarquer que, lorsque h est divisé par 2, la fonction O ( h )


n
diminue selon un

n n
facteur approximatif de 2 . En effet, en remplaçant h par h/2 dans C h , 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
n+ 1
). Cela 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 h = 0 ,1 à h = 0 ,05 , on divise h par un facteur
4

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 )

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 10


Analyse numérique pour Ingénieurs

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.

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 )

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 11


Analyse numérique pour Ingénieurs

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
R 3 ( h ) = h cos [ξ ( h )] pour ξ ∈ [ 0, h ]
120

h5
∀ ξ (h) ∈ [ 0, h ] , on a : cosξ (h) ≤ 1 donc R 3 ( h ) ≤
120

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 , x 2 , x 3 ) une fonction de trois variables que l’on suppose

suffisamment différentiable. On a alors :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 12


Analyse numérique pour Ingénieurs

( +ℎ , +ℎ , +ℎ )
( , , ) ( , , ) ( , , )
= ( , , )+ ℎ +ℎ +ℎ

1 ( , , ) ( , , ) ( , , )
+ ℎ +ℎ +ℎ
2!
( , , ) ( , , ) ( , , )
+ ℎ ℎ +ℎ ℎ +ℎ ℎ +⋯

+( é )

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


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

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 .

Solution :

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

En posant x 1 = 1 + h1 et x 2 = 0 + h2 = h2 , le développement de Taylor permet

d’écrire :

∂ f ( 1,0 ) ∂ f ( 1,0 ) 1  2 ∂ 2 f ( 1,0 )


f ( 1 + h1 ,0 + h2 ) = f ( 1,0 ) + h1 + h2 +  h1 +
∂ x1 ∂x2 2!  ∂ x 12
∂ 2 f ( 1,0 )  ∂ 2 f ( 1,0 )
+ h22 +
 1 2
h h + ⋅ ⋅ ⋅ + ( ordres sup érieures )
∂ x 22  ∂ x1 ∂ x2

• Calculons d’abord f(1,0).

f ( 1,0 ) = 1 + 0 = 1

• Calculons ensuite les dérivées partielles du premier ordre :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 13


Analyse numérique pour Ingénieurs

∂ f ( x1 , x2 )
= 2 x1 + s i n x2 ; ∂
f ( 1,0 )
= 2+0 = 2
∂ x1 ∂ x1
∂ f ( x1 , x2 )
= 0 + x1 c o s x2 ; ∂
f ( 1,0 )
= 1c o s 0 = 1
∂ x2 ∂ x2

• Calculons ensuite les dérivées partielles du second ordre :

∂ f ( x1 , x2 ) ∂ f ( 1,0 )
2 2
= 2; =2
∂ x 12 ∂ x 12
∂ f ( x1 , x2 ) ∂ f ( 1,0 )
2 2
= − x1 s i n x2 ; =0
∂ x 22 ∂ x 22

• Calculons enfin la dérivée mixte :

∂ f ( x1 , x2 ) ∂ ( x1 c o s x2 ) ∂ f ( 1,0 )
2 2

= = c o s x2 ; =1
∂ x 1∂ x 2 ∂ x1 ∂ x 1∂ x 2

D’où le développement de f ( x1 , x2 ) suivant :

f ( 1 + h1 ,0 + h2 ) = 1 + 2h1 + h2 + h12 + h1 h2 + . . . + ( o r d r e s s u p )

2. Approximation de f en prenant h1 = h2 = 0,05

Le résultat précédent donne en posant h1 = h2 = 0,05

f (1 ,1 , 0 ,1) ≈ 1 + 2 × 0 ,1 + 0 ,1 + 0 ,1 + 0 ,1 × 0 ,1
2

f (1 ,1 , 0 ,1) ≈ 1 ,32

3. Ordre de cette approximation en utilisant h1 = h2 = 0,05 .

f ( 1,1 , 0 ,1 ) = 1,319816758 et f ( 1,05 , 0,05 ) = 1,154978128


P( 1,1 , 0 ,1 ) = 1,32 et P( 1,05 , 0 ,05 ) = 1,155

Donc :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 14


Analyse numérique pour Ingénieurs

f (1 ,1 , 0 ,1) − P (1 ,1 , 0 ,1) 1 ,319816758 − 1 ,32


=
f (1 ,05 , 0 ,05 ) − P (1 ,05 , 0 ,05 ) 1 ,154978128 − 1 ,155
−6
183 ,24169 ⋅ 10
= −6
21 ,87227 ⋅ 10

= 8 ,37 ≈ 2
3

D’où le polynôme P ( 1 + h1 ,0 + h2 ) = 1 + 2h1 + h2 + h12 + h1 h2 de degré 2 est une

approximation d’ordre 3 de f ( x1 , x 2 ) = x12 + x1 sin x 2 au voisinage du point

(1, 0).

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 15


Analyse numérique pour Ingénieurs

∆ f ≈ f ' (x*) ⋅ ∆ x

que l’on peut également écrire :

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 ,2 cm 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 16


Analyse numérique pour Ingénieurs

Exercice

Un signal électrique est donné par la relation :

V = Asin( 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 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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 17


Analyse numérique pour Ingénieurs

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 18


Analyse numérique pour Ingénieurs

CHAPITRE 2
RESOLUTION NUMERIQUE 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 ) .

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 19


Analyse numérique pour Ingénieurs

f (x)

r
x1 xm x2

Soit  x1 , x 2  un intervalle ayant un changement de signe de f ( x ) c à d :

f ( x1 ) ⋅ f ( x 2 ) < 0 (2)

On pose :

x + x2
xm = 1
2

le point milieu de l’intervalle  x1 , x 2  . Il s’agit alors de déterminer entre les

intervalles  x1 , xm  et  xm , x 2  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 , x 2  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 ;

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 20


Analyse numérique pour Ingénieurs

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 , x 2 , xm , f x1 , f x 2 , f x m ;

( ) ( )
6. Si f x1 ⋅ f xm < 0 alors x2 = xm ;

( ) ( )
7. Si f xm ⋅ f x 2 < 0 alors x1 = xm ;

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

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 , x 2  qui sont

toutes deux de longueur :

x 2 − x1
2

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 21


Analyse numérique pour Ingénieurs

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 , x 2 {bornes de l’intervalle}

E {précision souhaitée}

f(x) {fonction}

Calculs :

 x2 − x1 
 ln E 
N = partie entière  + 1
 ln 2 
 

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 22


Analyse numérique pour Ingénieurs

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
−3
précision de E = 10 .

Nous avons :

 x2 − x1   2−1 
ln  ln −3 
 E  10
N = INT  + 1 = INT  + 1
 ln 2   ln 2 
   
= INT ( 10 ,966 ) = 10

x = 2 ⇒ x 2 − 2 = 0; f ( x ) = x 2 − 2 = 0
y1 = f ( x1 ) = f ( 1 ) = 1 − 2 = −1
y2 = f ( x2 ) = 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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 23


Analyse numérique pour Ingénieurs

x1 x2 xm ym
N
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

Exercice :

Montrer que la fonction f ( x ) = x 3 + x 2 − 3 x − 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 24


Analyse numérique pour Ingénieurs

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 :

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

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 25


Analyse numérique pour Ingénieurs

L
2N

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

L
≺ ∆r
2N

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


suivante :

 L 
ln 
 ∆ r 
N≻
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 
 ∆ r 
N≻
ln 2

il vient :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 26


Analyse numérique pour Ingénieurs

 1,0 
ln  
 0 ,5 × 10 −2 
N=
ln 2
N = 7 ,64
N = 8 itérations

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 :

( x* − xn )
2
f " ( xn )
( ) ( ) ( )
f x* = f ( xn ) + x* − xn f ' xn +
2
+ ⋅⋅⋅ (1)

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 :


*
Enseignant : Joël M. ZINSALO /EPAC-UAC
x n + 1 = xn + en Page 27
Analyse numérique pour Ingénieurs

!" = ! + ! (4)

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

f ( xn )
x n+ 1 = x n − ; n=0,1, ⋅ ⋅⋅ ,nmax
f ' ( xn )
formule de Newton-Raphson

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 )
xn + 1 = xn −
f ' ( xn )

x n + 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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 28


Analyse numérique pour Ingénieurs

3.3. Interprétation géométrique

f ( x0 )

f ( x1 )
x1 x0

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 − x 2 ) ⋅ f ' ( x 1 ) ⇒ x 2 = x1 −
f ' ( x1 )

f ( x2 )
M 2 ( x2 , f ( x2 ) ) : f ( x2 ) = ( x2 − x3 ) ⋅ f ' ( x2 ) ⇒ x3 = x2 −
f ' ( x2 )
. . .
. . .

f ( xn )
( xn , f ( xn )) : f ( xn ) = ( xn + 1 − xn ) f ' ( xn ) ⇒ xn + 1 = xn −
f ' ( xn )

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 29


Analyse numérique pour Ingénieurs

f ( xn )
On a : xn+1 = xn − (5)
f ' ( xn )

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

∀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 " ( x 0 ) ⋅ 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 + (6)
f ' ( en )

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


Enseignant : Joël M. ZINSALO /EPAC-UAC Page 30
Analyse numérique pour Ingénieurs

f ( x* ) = f ( x n ) + ( x* − xn ) ⋅ f ' ( x n )
=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

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 = − e n −
2 f ' ( en )

en2 f "( a )
en + 1 = −
2 f ' ( xn )

e n+ 1 1 f " (a )
Si f "( x ) ≠ 0 alors = lim − =0
2 f ' (xn )
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é

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 31


Analyse numérique pour Ingénieurs

Pour i = 1 à n , on a :

 f ( x)
x
 m = x −
 f ' ( x)

 écrire i, xm
 si x − x ≺ ε , on arrête les calculs
 m
 sinon x = xm

ORGANIGRAMME :

x , ε , f ( x ), f '( x )

n = 50

Pour i = 1 à n

xn+ 1 = xn −
f ( xn )
f ' ( xn )

Ecrire i, xm

x − xm ≺ ε

x = xm

Ecrire ‘’NON CONVERGENCE’’

FIN

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 32


Analyse numérique pour Ingénieurs

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

L’algorithme se résume à :

f ( xn ) e − xn − xn
xn + 1 = xn − = xn − − x
f ' ( xn ) − e 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 .

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 33


Analyse numérique pour Ingénieurs

Solution

f ( xn ) = xn2 − 2 f ' ( xn ) = 2 xn f ( xn )
xn + 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

( )
La convergence est atteinte à n = 5 , f x n ≈ 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 ( x n ) − f ( xn − 1 )
f ' ( xn ) ≈
x n − 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 ))

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 34


Analyse numérique pour Ingénieurs

f ( x0 )

f ( x1 )

r
x0 x2
x1

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 )
x n + 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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 35


Analyse numérique pour Ingénieurs

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 :

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 x 0 = 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 , x 2 , e , f ( x )

Calculs de N
y1 = f ( x1 ) ; y 2 = f ( x 2 )

Pour i = 1 à N

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 36


Analyse numérique pour Ingénieurs

 y 2 ( x 2 − x1 )
 x3 = x2 − ( y − y )
 2 1

 é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 )

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 37


Analyse numérique pour Ingénieurs

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 à
 x1 
 x2  T
trouver un vecteur x =  x 3  ou x =  x1 x2 x 3 ⋯ xn  (T signifiant transposée)
⋮ 
 xn 

solution de :

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ù :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 38


Analyse numérique pour Ingénieurs

 a11 a12 a13 ⋯ a1n   b1 


 a 21 a 22 a23 ⋯ a2 n   b2 
A =  a 31 a 32 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 x 2 = 11

par la méthode de substitution.

Solution

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

8 − 3 x2
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 x2 = 11
 2 
⇒ x2 = 2
⇒ x1 = 1

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 39


Analyse numérique pour Ingénieurs

Remarque 2 :

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   x2  =  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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 40


Analyse numérique pour Ingénieurs

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 :

 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 ⋯ an n-1 ann 
 n1 n2 n3

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 a 22 a 23 ⋯ a 2 n− 1 a2 n 
0 0 a 33 ⋯ a 3 n− 1 a3 n 
⋮ ⋮ ⋮ ⋯ ⋮ ⋮ 
0 ⋯ 0 0 an − 1 n − 1 an − 1 n 
0 ⋯ 0 0 0 an n 

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 

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 41


Analyse numérique pour Ingénieurs

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 ⇔ 3 x1 = 9 ⇒ x1 = a 1 = 9 = 3
11 3

Puisque x1 est maintenant connue, on peut déterminer x2 à partir de la

ligne suivante :

b2 − a 21 ⋅ x1 7 − 1 × 3
x2 = = =2
a22 2

La dernière équation permet de trouver x3 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 =  i
k =1  pour i = 1,2,⋅ ⋅ ⋅ ,n
aii

Pour la remontée triangulaire, on a :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 42


Analyse numérique pour Ingénieurs

bn
xn =
ann
(4)
 n 
 bi − ∑ 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 A x = 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.

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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 43


Analyse numérique pour Ingénieurs

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 A x = 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 ← λli ) : remplacer la ligne i par un multiple d’elle-même


(λ ∈ R ) ;
( )
2. opération l i ↔ l j : intervertir la ligne i et la ligne j ;

3. opération ( l i ← li + λl j ): remplacer la ligne i par la ligne i plus un

multiple de la ligne j.
Ces trois opérations élémentaires sont permises car elles équivalent à multiplier
le système (6) par une matrice inversible.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 44


Analyse numérique pour Ingénieurs

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=
ie
1 
 λ 
 1 ligne
aii

Remarques 4 :

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 

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 45


Analyse numérique pour Ingénieurs

dont la solution est x = [ 1 1 1] , multiplier la ligne 2 de ce système par un


T

facteur 3.
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
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   x 3   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 ↔lj ) 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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 46


Analyse numérique pour Ingénieurs

ie jecolonne
colonne
1 
 1 
 
 ⋱ 
 
ie
 1 
 0 1 
  ligne
(
W = P li ↔ l j ) 
=
1



 
 
jeligne
1
 1 0 
 
 1 
 
 ⋱ 
 1

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 47


Analyse numérique pour Ingénieurs

( )
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 =λ )

Colonne j

1 
 1 
 
 1 
 
 1 
W = ⋱ 
 
 λ 1  Ligne i
 ⋱ 
 
 1 
 1

aij

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 48


Analyse numérique pour Ingénieurs

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   x 3   0 0 1   10 

On trouve :

 3 1 2   x1   6 
 0 2 − 3   x  =  −1 
   2  
 5 4 1   x 3   10 

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.


Enseignant : Joël M. ZINSALO /EPAC-UAC Page 49
Analyse numérique pour Ingénieurs

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.

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’est-

à-dire :
Enseignant : Joël M. ZINSALO /EPAC-UAC Page 50
Analyse numérique pour Ingénieurs

 a 11 a 12 ⋯ ⋯ a 1n b1 
a a 22 ⋯ ⋯ a2 n b2 
 21
 a 31 a 32 a 33 ⋯ a3n b3 
   A b
 
⋮ ⋮ ⋮ ⋮ ⋮ ⋮  ou (11)
 a n 1 an 2 an3 ⋯ a nn 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 :

pivot

 2 1 2 10 
6 4 0 26  (
T1 l 2 ← l 2 − ( 6 2 ) l1 )
 
 8 5 1 35  T2 (l 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 )
On a indiqué ci-dessous la matrice augmentée de même que les opérations
Ligne
élémentaires pour éliminer les3 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 51


Analyse numérique pour Ingénieurs

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 52


Analyse numérique pour Ingénieurs

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 53


Analyse numérique pour Ingénieurs

détA = ( 1 )( 1 )( 1 )( 2 )( 1 )( −1 )
= −2

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

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 

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 54


Analyse numérique pour Ingénieurs

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.

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 lij 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 1
 21 a22 a23 l 22 0 0   u23 u24 
=
 a31 a32 a33 a34   l 31 l 32 l 33 0  0 0 1 u34 
     
 a41 a42 a43 a44   l41 l 42 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 lij 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
l 41 = a41

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 55


Analyse numérique pour Ingénieurs

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

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 :

l 21 u12 + l 22 = a22 l 22 = a22 − l 21 u12


l 31 u12 + l 32 = a32 ⇔ l 32 = 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 21 u14
l 21 u14 + l 22 u24 = a24 ⇒ u24 =
l 22

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

On a :

l 31 u13 + l 32 u 23 + l 33 = a 33 ⇒ l 33 = a 33 − l 31 u13 − l 32 u 23
l41 u13 + l42 u 23 + l43 = a 33 ⇒ l43 = a43 − l41 u13 − l42 u 23

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 56


Analyse numérique pour Ingénieurs

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

On a :

a34 − l 31 u14 − l 32 u24


l 31 u14 + l 32 u24 + l 33 u34 = a34 ⇒ u34 =
l 33

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

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 :
li 1 = 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 57


Analyse numérique pour Ingénieurs

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 :

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 58


Analyse numérique pour Ingénieurs

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 ê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  x1   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 aij par l ij ou uij ; les cases que nous allons mettre souligneront

que les éléments aij correspondant ont été détruits.

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 59


Analyse numérique pour Ingénieurs

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)

 −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
Enseignant : Joël M. ZINSALO/EPAC-UAC− 1  Page 60
Analyse numérique pour Ingénieurs

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 :

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 61


Analyse numérique pour Ingénieurs

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.

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 62


Analyse numérique pour Ingénieurs

0 2 1 
Soit A =  1 0 0  la matrice de départ et le vecteur de permutation
 3 0 1

O = [1 2 3]
T
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
t
1 0 0 
  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 

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 

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 63


Analyse numérique pour Ingénieurs

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 

5. Calcul de l33

l 33 = a 33 − l 31 u13 − l 32 u 23
= 0 − 1( 1 / 3 ) − 0 ( 1 / 2 ) = −1 / 3

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 64


Analyse numérique pour Ingénieurs

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 A x = 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.

Remarque

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 65


Analyse numérique pour Ingénieurs

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.

Exemple
Soit la matrice suivante :
 1 2 3
A =  4 5 6 

7 8 9 

En multipliant A par le vecteur e3 = [0 0 1]T on a la 3e colonne de A, donc :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 66


Analyse numérique pour Ingénieurs

A e3 = [3 6 9 ]T

e 1 = [1 0 0 ]T A e 1 = [1 4 7 ]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 = A C 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 67


Analyse numérique pour Ingénieurs

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

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 C1 = 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 C1 = e1 où C1 est l’inconnue

A C1 = e1 ⇔ L U C1 = e 1
y
1
(1)

En posant :

U C1 = y
1

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

or e1 = [1 0 0 ]T ; puisque la matrice A est perturbée, le produit L ⋅ U l’est

aussi.

Comme le vecteur de permutation est O = [3 1 2 ]T , e1 perturbé s’écrit :

0 
e1 =  1
0 

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 68


Analyse numérique pour Ingénieurs

y 
y =  y12 
11
Si
1
 y 
13

(2) devient :

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 1 3  C   0 
0 1 1 2  C12  = 1 2 
11


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 : )
C 2 = [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 
−1 1 2 3 2 
A = − 1 2
 0 − 3 1 

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 69


Analyse numérique pour Ingénieurs

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 ∞ .

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 70


Analyse numérique pour Ingénieurs

x = x12 + x 22 + ⋯ + x n2 (28)
e

où x 1 , x 2 ,⋯ , x n 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
1
= ∑ xi (29)
i=1

Tandis que la norme l ∞ est définie par :

x = max x i (30)
∞ 1≤ i ≤ n

Exercice : étant donné le vecteur x = [1 − 3 − 8 ] , déterminer


T
x , x et
1 ∞

x .
e

Solution

x = x1 + x2 + x3
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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 71


Analyse numérique pour Ingénieurs

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’est-à-dire :
A+ B ≤ A + B (33)

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

A× B ≤ A × B (34)

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= 2
∑ a ij
i , j =1

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


norme de Frobénius.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 72


Analyse numérique pour Ingénieurs

 1 −2 5

Exercice : soit la matrice A =  − 3 1 − 5 
 1 − 9 0 

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

Solution :
A 1 = max( 5 ,12 ,10 ) = 12
A ∞ = max( 8 ,9 ,10 ) = 10

= 1 2 + (− 2 ) + (5 ) + (− 3 ) + 1 2 + (− 5 ) + 1 2 + (− 9 ) + 0 2
2 2 2 2 2
A 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


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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 73


Analyse numérique pour Ingénieurs

 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

Ax = − 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

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 74


Analyse numérique pour Ingénieurs

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 A x = 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

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)

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 75


Analyse numérique pour Ingénieurs

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 A x = 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
≤ ≤
A −1 b x b (42)

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ù

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 76


Analyse numérique pour Ingénieurs

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

x et la solution 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 A x = 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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 77


Analyse numérique pour Ingénieurs

(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é.

[
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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 78


Analyse numérique pour Ingénieurs

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 

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 AX =B où

B = [100 200 0 100 ] . Une approximation de la solution est donnée


T

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


X − X* ∞
une borne 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 79


Analyse numérique pour Ingénieurs

On a :

AX = B où B = [100 200 0 100]


T

 49 ,0 
74 ,0 
X ≈ X* = A −1 B =  
 24 ,0 
 
 49 ,0 

On rappelle que :

1 R X − X* R
≤ ≤C
C B X B

B ∞
= 200

 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 80


Analyse numérique pour Ingénieurs

R = A E ⇒ E = A −1 R 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 

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 81


Analyse numérique pour Ingénieurs

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é.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 82


Analyse numérique pour Ingénieurs

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 .
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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 83


Analyse numérique pour Ingénieurs

∆ = 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

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 A n = 0
n→ ∞ (4)

THEOREME

Les conditions suivantes sont équivalentes :

1) La matrice A est convergente.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 84


Analyse numérique pour Ingénieurs

2) Pour toute norme matricielle, nous avons :

lim A n = 0
n→ ∞
(5)

3) Pour tout vecteur x :


lim A n x = 0 (6)
n→ ∞

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


ρ ( A) < 1

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 =  
0 ,13008 ⋅ 10 − 2 0 ,95367 ⋅ 10 − 6 
⋯⋯⋯⋯⋯⋯⋯
⋯⋯⋯⋯⋯⋯⋯
0 ,88818 ⋅ 10 − 15 0 ,0 
A50 =  −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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 85


Analyse numérique pour Ingénieurs

III. Méthode de Jacobi


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

 a 11 x 1 + a 12 x 2 + a 13 x 3 + ⋯ + a 1 n x n = b1
a x
 21 1 + a 22 x 2 + a 23 x 3 + ⋯ + a 2 n x n = b 2
 a 31 x 1 + a 32 x 2 + a 33 x 3 + ⋯ + a 3 n x n = b 3
 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
 (7)
 a n 1 x 1 + a n 2 x 2 + a n 3 x 3 + ⋯ + a nn x n = bn

On suppose pour l’instant que tous les éléments de la diagonale sont non nuls
(aii ≠ 0 , ∀i ) .
A partir d’une approximation initiale de la solution notée
0
x = x10[ x 20 x 30 ⋯ xn0 ]
T
(comme dans toute méthode itérative) on construit

l’algorithme suivant :

1 n 
x 1k + 1 =  b1 − ∑ a 1 j x kj 

a 11 
 j= 2 
1  n 
k +1
x2 = b2 − ∑ a 2 j x kj  (8)
a 22  j=1, j≠ 2


1  n 
x 3k + 1 = b3 − ∑ a 3 j x kj 
a 33  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 
x ik +1 = bi − ∑ a ij x kj 
a ii  
 j =1, j ≠i 
(9)

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 86


Analyse numérique pour Ingénieurs

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
a22
( 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 x 2k + x2k
6
)
 x 0  0 
1
0  0  
A partir de x =  x 2  = 0  , on trouve :
 x 0  0 
 3   

1ère itération :

x11 =
1
3
( 3
)
2 − x 20 + x 30 = (2 − 0 + 0 ) =
1 2
3
1
(
x 21 = 17 − x10 − 2 x 30 =
5
17
5
)
1
(
x 31 = − − 18 − 2 x10 + x 20 = 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 ]T
2

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 87


Analyse numérique pour Ingénieurs

D’où le tableau des résultats suivant :

K x1k x2k x3k

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
≈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 

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 88


Analyse numérique pour Ingénieurs

 0  0 a 12 a 13 ⋯ a1n 
a  
 21 0   0 a 23 ⋯ a 2 n 
Ti =  a 31 a 32 0  Ts =  0 ⋯ a3n 
   
 ⋮ ⋮ ⋮ ⋱   ⋱ ⋮ 
 a n 1 an2 an3 ⋯ 0   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 :

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 89


Analyse numérique pour Ingénieurs

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 :

(11)
ρ ( A) ≤ A

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 :

 n 
x ik + 1 =
1 b − k
a ii  i ∑ ij j 
a x (12)
 j=1, j≠i 

qui peut aussi s’exprimer comme suit :

k+1 1  i −1 n
k

xi = b − k
a x − ∑ a x
aii  i j = 1 ij j j = i + 1 ij j 

 

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

1  i−1 n 
x ik + 1 =  bi − ∑ a ij x kj + 1 − ∑ a ij x kj 
a ii 
 j=1 j=i+1  (13)
Enseignant : Joël M. ZINSALO /EPAC-UAC Page 90
Analyse numérique pour Ingénieurs

Sous la forme matricielle, on a :

k +1 k+1
= D − 1  b − Ti x − T S x 
k
x
 

ou encore

k +1
(Ti + D )x
k
= b − TS x

ou enfin

k+1
= − (Ti + D )− T S x + (Ti + D )− b
−1 k −1
x
TGS C GS

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 )

x 2k + 1 =
a 22
(b2 − a 21 x 1k + 1 − a 23 x 3k )
1

x 2k + 1 = (17 − x 1k + 1 − 2 x 3k )
1
5

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 91


Analyse numérique pour Ingénieurs

x 3k + 1 =
1
a 33
(b3 − a 31 x 1k + 1 − a 32 x 2k + 1 )

x 3k + 1 = − (− 18 − 2 x 1k + 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

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-

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 92


Analyse numérique pour Ingénieurs

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
0
méthode de Gauss-Seidel converge quelque soit la solution initial x .

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 93


Analyse numérique pour Ingénieurs

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 x 3 ⋯ xn ]
T
x2

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

 f 1 ( x 1 , x 2 , x 3 ,⋯ , x n ) = 0


 f 2 ( x1 , x 2 , x 3 ,⋯ , x n ) = 0


 f 3 ( x 1 , x 2 , x 3 ,⋯ , x n ) = 0

 ⋮ ⋮ ⋮
(1)
 f n ( x 1 , 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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 94


Analyse numérique pour Ingénieurs

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

Soit (x 0
1 , 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 + δx 1 , x 20 + δx 2 = 0 )
(
f 2 x 10 + δx 1 , 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 2 ( )
∂f 1 x 10 , x 20
+⋯= 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 2 ( )
∂f 2 x 10 , x 20
+⋯= 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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 95


Analyse numérique pour Ingénieurs

 ∂f 1 (x ) ( )
∂f 1 x 10 , x 20  δx 1  
( )
0
1 , x 20
     f 1 x 10 , x 20
 ∂x 1 ∂x 2    

   =− 
     
  
 ∂f 2 (x 0
, x 20 ) (
∂f 2 x 1 , x 2  
0 0
)
 




( )
1
  δ x  f 2 x 10 , x 20 
 ∂x 1 ∂x 2   2
ou encore sous forme compacte

( )
J x 10 , x 20 δx = − R x 10 , x 20 ( )
(
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 =  ∂x 1 ∂x 2 ∂x n 
 
 
 ⋮ ⋮ ⋱ ⋮ 
 
 
 ∂f n  x i  ∂f n  x i  ∂f n  x i  
      
 ∂x ⋯
 1 ∂x 2 ∂x n 

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 96


Analyse numérique pour Ingénieurs

x i = x 1i [ x 2i ⋯ x ni ]T

De plus, on pose :

  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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 97


Analyse numérique pour Ingénieurs

• 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.

Solution :

x 2 = e x1 (1)

C (O , R ) = {M ( x 1 , x 2 ) ∈ P / d (O , M ) = R}
d (O , M ) = OM = (x1M − x 1O ) 2 + ( x 2 M − x 2 O ) 2

= x1 2 + x 2 2 = R
⇒ x1 2 + x 2 2 = R 2 (2)

d'où le système à résoudre est:


 e x1 − x 2 = 0


 x 2 + x 2 − 16 = 0
 1 2 (3)

Faisons le graphisme des deux courbes :

x1
e − x2 = 0

x12 + x 22 = 16

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 98


Analyse numérique pour Ingénieurs

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 :

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 99


Analyse numérique pour Ingénieurs

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 ]T . (3) devient :


1

 e 2 ,0211 −1  δx 1   e 2 ,0211 − 3 ,63604 


   =− 
     
 2( 2 ,0211 ) 2( 3 ,63604 ) δx 2   2 ,0211 2 + 3 ,63604 2 − 16 
  
càd
7 ,5466 −1  δx 1   3 ,9106 
   =− 
     
 4 ,0422 7 ,2721 δx 2   1 ,3056 

 − 0 ,5048
Dont la solution est : δx =  

 0 ,10166 

On a maintenant comme solution :


x12 = x11 + δx1 = 2 ,0211 − 0 ,5048 = 1 ,5163

x22 = x 21 + δx2 = 3 ,63604 + 0 ,10106 = 3 ,7371

x 2 = [1 ,5163 3 ,7371]
T

x = [1 ,3281 3 ,7781 ]T
5

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 100


Analyse numérique pour Ingénieurs

1) La convergence de la méthode de Newton dépend de l’approximation initiale


0 0
x de la 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
x − x i +1 ≈ C x − x i

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 101


Analyse numérique pour Ingénieurs

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 ) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 + ⋯ + a n x n (a n ≠ 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 102


Analyse numérique pour Ingénieurs

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.

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

a 0 + a 1 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 x 02 ⋯ x0n   a0   f ( x 0 )
   a   f ( x )
1 x1 x 12 ⋯ x 1n   1  1 
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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 103


Analyse numérique pour Ingénieurs

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  
 1 1 1   a1   2 
=
1 2 4 8  a 2   9 
     
1 3 9 27   a 3   28 

dont la solution (obtenue par la décomposition L U ) est [1 0 0 1] . Le


T

polynôme 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 104


Analyse numérique pour Ingénieurs

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 ( x 0 , f ( x 0 )) et ( x 1 , f ( x 1 )) . 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

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 ( x 0 ) 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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 105


Analyse numérique pour Ingénieurs

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 )) , ( x 1 , f ( x 1 )) 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 )

( x − x0 ) ( x − x 2 )
L1 ( x ) =
( x1 − x0 ) ( x1 − 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 ( x 2 )

Exercice : Trouver l’équation de la parabole (polynôme de degré 2) passant


par les points (1 , 2 ) , (3 , 7 ) et (4 , − 1) .

Solution :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 106


Analyse numérique pour Ingénieurs

( x − 3 ) ( x − 4 ) ( x − 1) ( x − 4 ) ( x − 1) ( x − 3 )
p2 ( x ) = 2 +7 + ( −1 )
(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 − x 0 ) ( x − x 1 )⋯ ( x − x i − 1 ) ( x − x i + 1 )⋯ ( x − x n )
( x i − x 0 ) ( x i − x 1 )⋯ ( x i − x i − 1 ) ( x i − x i + 1 )⋯ ( x i − x n )

(3)

où seul le facteur ( x − x i ) est absent.

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 )L i ( x )
i =0

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 107


Analyse numérique pour Ingénieurs

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 108


Analyse numérique pour Ingénieurs

pn ( x ) = a 0
+ a 1 ( x − x0 )
+ a 2 ( x − x0 ) ( x − x 1 )
+ a 3 ( x − x0 ) ( x − x1 ) ( x − x 2 )
+ ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ (4)
+ a n − 1 ( x − x0 ) ( x − x 1 ) ( x − x 2 )⋯ ( x − x n − 2 )
+ a n ( x − x0 ) ( x − x 1 ) ( x − x 2 )⋯ ( x − x n − 2 ) ( x − x n − 1 )

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érence s divisées

Remarque :

On démontre que le polynôme de degré 1 est :

p1 ( x ) = f ( x 0 ) + f [ x 0 , x 1 ] ( x − x 0 )

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 [ x i + 1 , x i + 2 ] − f [ xi , x i + 1 ]
f [ xi , xi + 1 , xi + 2 ] =
( xi + 2 − xi )
2 e différences divisées de f ( x ) (6)

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 109


Analyse numérique pour Ingénieurs

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 [ x 1 , x 2 , ⋯ x n ] − f [ x0 , x 1 , ⋯ x n − 1 ]
f [ x0 , x1 , x 2 , ⋯ , x n ] = (7)
( x n − 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 :

p2 ( x ) = f ( x0 ) + f [x0 , x 1 ] ( x − x 0 ) + f [ x0 , x 1 , x 2 ] ( x − x0 ) ( 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 ) + a n ( x − x0 )( x − x 1 )⋯ ( x − x n − 1 ) (8)

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 110


Analyse numérique pour Ingénieurs

Les coefficients de ce polynôme sont les différences divisées :

a i = f [ x0 , x 1 , x 2 , ⋯ x i ] 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 :

p n ( x ) = a 0 + ( x − x 0 ) (a 1 + ( x − x 1 ) (a 2 + ( x − x 2 ) (a 3 + ⋯

+ ( x − x n − 2 ) (a n − 1 + a n ( x − x n − 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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 111


Analyse numérique pour Ingénieurs

TABLE DES DIFFERENCES DIVISEES

xi f ( xi ) f [xi , xi +1 ] f [xi , xi +1 , xi + 2 ] f [x i , x i +1 , x i + 2 , x i + 3 ]

x0 f ( x0 )

f [x0 , x1 ]

x1 f (x1 ) f [ x0 , x 1 , x 2 ]

f [x 1 , x 2 ] f [x0 , x 1 , x 2 , x 3 ]

x2 f (x2 ) f [x1 , 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 ( x1 ) − f ( x0 )
f [x0 , x1 ] =
x1 − x0 (10)

Les deuxièmes différences divisées

f [ x 1 , x 2 ] − f [x 0 , x 1 ]
f [x0 , x 1 , x 2 ] =
x 2 − x0

Les troisièmes différences divisées :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 112


Analyse numérique pour Ingénieurs

f [x 1 , x 2 , x 3 ] − f [x0 , x 1 , x 2 ]
f [x0 , x 1 , x 2 , x 3 ] =
x 3 − x0

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 [xi , xi +1 ] f [xi , xi +1 , xi + 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
+ a1 (x − x0 )
+ a 2 ( x − x 0 )( x − x 1 )
+ a 3 ( x − x 0 )( x − x 1 )( x − x 2 )

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 113


Analyse numérique pour Ingénieurs

on obtient :

p 3 ( x ) = 1 + 1( x − 0 ) + 3( x − 0 )( x − 1) + 1( x − 0 )( x − 1)( x − 2 )
= x3 + 1

Remarques :

1. On remarque que : p 2 ( 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 p n ( x ) de degré n procure une approximation de la

fonction f ( x ) avec une erreur E n ( x ) . On constate immédiatement que :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 114


Analyse numérique pour Ingénieurs

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 ( xi , f ( x i )) pour i = 0 , 1 , 2 ,⋯ , n sont

exactes, ce qui n’est pas toujours le cas.

THEOREME : (FORTIN et PIERRE)

Soit x0 < x 1 < 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 − x 0 ) ( x − x 1 )⋯( x − x n ) (11)
(n + 1) !

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 − xi ) , 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 − x 1 ) ⋯ ( x − x n ) 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 115


Analyse numérique pour Ingénieurs

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 :

E n ( x ) ≈ f [ x0 , x1 , x 2 , ⋯ , x n+ 1 ] ( x − x0 ) ( x − x 1 )⋯ ( x − x n ) (12)

au point x = 8 .

Solution :

xi f ( xi ) f [xi , xi +1 ] f [xi , xi +1 , xi + 2 ] f [xi , … , xi + 3 ] f [xi , … , 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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 116


Analyse numérique pour Ingénieurs

p1 ( x ) = 2 ,645751 + 0 ,177124 ( x − 7 )

de sorte que p 1 ( 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

On constate que E 1 (8 ) ≈ E 1 (8 )
(1) (2)

• En considérant le polynôme de degré 2,

p 2 ( x ) = p 1 ( x ) − 0 ,00470299 ( x − 7 )( x − 9 )

et

p 2 (8 ) = 2 ,822875 + 0 ,00470299 = 2 ,827577990

soit une erreur de :

E 2 (8 ) = f (8 ) − p 2 (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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 117


Analyse numérique pour Ingénieurs

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 :

x − x0
s= ou encore x − x 0 = 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 − x i ) 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
(14)
(n + 1) !

pour un certain ξ dans l’intervalle [ x 0 , x n ] et pour s défini par l’équation (13).

Remarque :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 118


Analyse numérique pour Ingénieurs

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 < x 1 < x 2 < ⋯ < x n .

... ...

x0 x1 xi xn = 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 x 0 , x 1 , x 2 ,⋯ , x n doivent être ordonnés c à d x0 < x 1 < x 2 < ⋯ < x n

sinon la formule n’est plus valable.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 119


Analyse numérique pour Ingénieurs

pn ( x ) = a0 + a 1 ( x − x 0 ) + a 2 ( x − x0 )( x − x 1 ) + ⋯ + a n ( x − x0 )( x − x 1 )⋯( x − x n−1 )

a i = y[ x 0 ,⋯ , x n ] différences divisées

= f [ x 0 ,⋯ , x n ] i≠0

a0 = f ( x 0 ) = y0

Si les x i sont équidistants et si x0 < x 1 < x 2 < ⋯ < x n , on démontre que :

∆n y 0
an = n
où ∆n y 0 = f [ x i , x i + 1 , x i + 2 , x i + n ]
n! h

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 ) = y0 + 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
p n ( x ) = y 0 + s ∆y 0 + ∆ y0 + ∆ y0 + ⋯ + ∆ y0
2! 3! n!

qu’on écrit sous la forme :

 s  s  s  s
p n ( x ) = y 0 +   ∆ y 0 +   ∆2 y 0 +   ∆3 y 0 + ⋯ +   ∆n y 0
 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 .

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 120


Analyse numérique pour Ingénieurs

2. le polynôme p n++ 1 ( x ) qui passe par les points précédents et le nouveau point

est évidemment donné par :

 s  n+ 1
p n+ 1 ( x ) = p n ( x ) +  ∆ y 0
 n + 1

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
x0 = 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 ) = y 0 +   ∆ y 0 +   ∆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 ) = y 0 + s ∆y 0 + ∆ y0 + ∆ y0
2! 3!
Enseignant : Joël M. ZINSALO /EPAC-UAC Page 121
Analyse numérique pour Ingénieurs

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

p 3 (0 ,73) = 0 ,89 3

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 122


Analyse numérique pour Ingénieurs

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 ) + E n ( 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 − x 1 ) ⋯ ( x − x n )
(n + 1)! (1’)

pour un certain ξ ( x ) ξ ( x ) ∈ [ x 0 , 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


( xi , 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 123


Analyse numérique pour Ingénieurs

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.

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 − x 0 ) ( x − x 1 ) ⋯ ( x − x n )] +
(n + 1 )!
f ( n + 1 ) [ξ ( x )]  n
() x − x )
n

(n + 1 )!  k∑
+  Π j
=0 j=0 ( j≠ k  (3)

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 124


Analyse numérique pour Ingénieurs

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 ) =  Π x −x
(n + 1)!  j =0 ( j ≠ i ) i j
( )

De plus, en supposant que les x i sont équidistants c à d

x i +1 − x i = h

ce qui signifie que

(x i )
− x j = (i − j ) h

on obtient :

f (n + 1 ) (ξ i ) h n  n 
E n' ( x i ) = Π (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 ) h n f (n + 1 ) (ξ 0 )
n
E n' ( x0 ) =
(n + 1)! (5)

pour un certain ξ 0 compris dans [ x 0 , 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 ) .

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 125


Analyse numérique pour Ingénieurs

Définition
Aux points d’interpolation, on a :

f ' ( x i ) = p n' ( x i ) + E n' ( x i )


(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 ( x 0 , f ( x0 )) et

( x1 , f ( x 1 )) , on a, grâce à la formule d’interpolation de Newton :

p1 ( x ) = a 0 + a 1 ( x − x 0 )
= f ( x0 ) + f [x0 , x 1 ] ( x − x0 )

donc f ( x ) = p1 ( x ) + E 1 ( x )

f ' ( x ) = p1' ( x ) + E 1' ( x )

f ' ( x ) = f [ x0 , x 1 ] + E 1' ( x ) (7)

compte tenue de la relation (5) et puisque ( x 1 − x0 ) = h , on a :

f ( x 1 ) − f ( x 0 ) h f (2 ) (ξ 0 )
f ' ( x0 ) = − pour ξ 0 ∈ [ x 0 , 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 = x 0 on cherche

de l’information vers l’avant.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 126


Analyse numérique pour Ingénieurs

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 ( x 1 ) − f ( x0 ) f ( x 1 ) − f ( x 0 ) h f ( 2 ) (ξ 1 )  1
1

f ' ( x1 ) = + E' ( x 1 ) = +  Π (1 − j )
x1 − x0 h 2!  j =0 , j ≠ 1 

ou encore :

(2 )
f ( x 1 ) − f ( x 0 ) h f (ξ 1 )
f ' (x1 ) = + pour ξ 1 ∈ [x0 , x1 ]
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 = x 0 et en x = x 1 . On remarque

cependant que le terme d’erreur est différent aux deux endroits.

Exemple 2 :

En prenant un polynôme de degré 2 qui passe par les points ( x0 , f ( x0 )) ,

( x1 , f ( x 1 )) et ( x 2 , f ( x 2 )) , on a :

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 )

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 ' ( x 1 )= −
2h 6
Différence centrée d' ordre 2

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 127


Analyse numérique pour Ingénieurs

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 [ x 0 , 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 x 2 .

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 + 2 h ) 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 :

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 128


Analyse numérique pour Ingénieurs

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

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) =
h2
+ 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 129


Analyse numérique pour Ingénieurs

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 ( x0 + h) − f ( x0 − 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 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 :

Q exa = Q app (h ) + C n h n + C n + 1 h n + 1 + C n + 2 h n + 2 + ⋯ (12)

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 130


Analyse numérique pour Ingénieurs

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
 2
cependant se servir 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 Qapp   + C n h + C n+ 1    +⋯
 + C n+ 2  2 2
n n n
2 Qexa 
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

d’où

 h
2 n Qapp   − Qapp (h ) − C n + 1 h n + 1 − C n + 2 h n+ 2
1 3

= 2 2 4
+⋯
( )
Qexa (14)
2 −1
n

ou plus simplement :

 h
2 n Qapp   − Qapp (h)
=
 2 (
+ O h n+ 1 )
( )
Qexa
2n − 1

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 131


Analyse numérique pour Ingénieurs

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

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

e 0 ,05 − e −0 ,05
f ' (0 ) = = 1 ,0004167
2 × 0 ,05

• pour h = 0 ,025

e 0 ,025 − e −0 ,025
f ' (0 ) = = 1 ,00010418
2 × 0 ,025

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 132


Analyse numérique pour Ingénieurs

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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 133


Analyse numérique pour Ingénieurs

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 E n ( x )dx
xn xn 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 )) .

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 134


Analyse numérique pour Ingénieurs

E1 ( x )dx
x1
∫x
f ( x1 ) 0

f (x)

f ( x0 )
∫x p1 ( x ) dx
x1

x0 x1

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 135


Analyse numérique pour Ingénieurs

( x1 − x0 ) ( f ( x ) + f ( x )) +
∫x f ( x ) dx =
x1
0 1
0 2
aire du trapèze
e

" [ξ ( x )] (2)
( x − x0 )( x − x1 ) d x
x1 f
+∫
x0 2!
erreur commise

Si les abscisses sont équidistantes, on pose

x − x0
s= ⇒ x − x0 = s h
h

et

x − x i = x − ( x 0 + ih) = ( x − x 0 ) − 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 :

f1 ( x ) f2 ( x ) d x = f1 (η ) ∫ f2 ( x ) d x
b b
∫a a
(3)

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 136


Analyse numérique pour Ingénieurs

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 3
∫0 2! 2! 0 12
h

Conclusion :

La méthode du trapèze se résume à l’égalité suivante :

f " (η ) 3
∫ x f ( x ) d x = 2 [ f ( x0 ) + f ( x1 )] − h pour η ∈ [ x0 , x1 ]
x1 h
0 12 (4)

La méthode du trapèze demeure peu précise.

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 137


Analyse numérique pour Ingénieurs

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)

x0 = a x1 x2 xn − 2 xn − 1 xn = b

Les différents points engendrés sont notés x i 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 = ∑ ∫ f ( x )d x ≈ ∑
h
[ f ( xi ) + f ( xi + 1 )]
b i +1
∫a i =0
xi
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 )] }

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 138


Analyse numérique pour Ingénieurs

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 ( x 2 ) + ⋯ + f ( x n− 1 )] + f ( x n ) }
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 :

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 139


Analyse numérique pour Ingénieurs

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 

π π 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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 140


Analyse numérique pour Ingénieurs

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.

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 141


Analyse numérique pour Ingénieurs

( ) [ ](
p ( x ) = f x0 + f x0 , x 1 x − x0 + f x0 , x 1 , x 2 x − x0 x − x 1
2
) [ ]( )( )
et on a :

f ( x ) ≈ p2 ( x ) ⇒ ∫ f ( x ) d x ≈ ∫ 2 p2 ( x ) d x
x2 x
x0 x0

et donc:

f ( x )dx ≈ ∫ { f ( x0 ) + f [ x0 , x 1 ] ( x − x0 ) + f [ x0 , x 1 , x 2 ] ( x − x0 ) ( x − x1 ) }d x
x2 x2
∫x0 x0

En considérant le cas où les abscisses sont également distancées

s=
x− x
h
0
(i
)
⇒ x − x = (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ù :

[ ] f (x ) −h f (x )
f x0 , x 1 = 1 2
et [
f x0 , x 1 , x 2 = ] f (x ) − 2 2f h(x ) + f (x )
2
2
1 0

En résumé

∫x f ( x ) dx ≈ 3 [ f (x0 ) + 4 f (x1 ) + f (x 2 )]
x 2 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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 142


Analyse numérique pour Ingénieurs

f (4 ) (η ) 5

90
[
h avec η ∈ x0 , x 2 ]
d’où :

[ f ( x 0 ) + 4 f ( x 1 ) + f ( x 2 )] − f (η ) h5 avec η ∈ [x 0 ,
(4 )
f ( x ) dx = x2 ]
x2 h
∫x0 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

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 )]
x 2 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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 143


Analyse numérique pour Ingénieurs

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
180 (9)

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 :

π 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 144


Analyse numérique pour Ingénieurs

π 2 π 8 π 2π 3π π
∫0 sin xdx ≈  sin 0 + 4 sin + 2 sin + 4 sin + sin 
3  8 8 8 2
≈ 1 ,0001346

Même méthode avec 8 sous-intervalles. On a h = π / 16

π 2 π 16  π π 3π π
∫0 sin xdx ≈
3   sin 0 + 4 sin
16
+ 2 sin + 4 sin
8 16
+ 2 sin +
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.

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 145


Analyse numérique pour Ingénieurs

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 (ordre6 )
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 : 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 146


Analyse numérique pour Ingénieurs

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

∫0 f ( x )d x
1
de x . Evaluer l’intégrale à l’aide de la méthode de Romberg.

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 (ordre6 )

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 147


Analyse numérique pour Ingénieurs

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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 148


Analyse numérique pour Ingénieurs

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 149


Analyse numérique pour Ingénieurs

()
On note y t i la solution analytique de l’équation différentielle (1) en t = ti .

On note yi la solution approximative en t = ti obtenue à l’aide d’une méthode

numérique.

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 d 0 (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 ( )

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 150


Analyse numérique pour Ingénieurs

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 :

d 1 (t ) = y1 + f t1 ,( )(
y1 t − t 1 )
( )
permet d’estimer y t 2 ; il vient :

( ) ( )
y t 2 ≈ y2 = d 1 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 t n , 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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 151


Analyse numérique pour Ingénieurs

 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 y 0 = 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 , ⋯

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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 152


Analyse numérique pour Ingénieurs

(
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

(
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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 153


Analyse numérique pour Ingénieurs

3. Définition 1
Une méthode de résolution d’équations différentielles est dite à un pas si elle est
de la forme :

(
yn+ 1 = yn + h φ t n , yn ) (2)

où φ est une fonction quelconque. Une telle relation est appelée équation aux
différences.

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à.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 154


Analyse numérique pour Ingénieurs

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 tn , y t n ( )) +

+
h2 ∂ f
( ( ) ) + ∂∂yf (t
 ∂t t n , y t n , y tn ( ) ) × f (t ( ))

, y tn  + 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 : ( )

( ) ( )
y t n+ 1 = y t n + a1 h 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 tn + a3 h, y tn + a4 h = f tn , ) ( ( ))
y tn + 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 ) + (a 1 + a 2 ) h f (t n , y (t n )) + a 2 a 3 h 2 (t n , y (t n )) +
∂t

+ a2 a4 h 2
∂f
∂y
(t n , y (t n )) + O h 3( ) (6)

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 155


Analyse numérique pour Ingénieurs

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
= a 2 a 3 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 ( ))
= a2a4

 2 (7)

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 h 3 et remplacer la valeur exacte y t n ( )
par son approximation y n . On obtient alors l’algorithme :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 156


Analyse numérique pour Ingénieurs

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
[ (
f tn , ) (
y n + f t n+ 1 , ŷ )]
2 correction
t n+ 1 = t n + h (8)

Ecrire tn + 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 ŷ de la solution en tn + 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) :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 157


Analyse numérique pour Ingénieurs

on prédit d' abord


(
ŷ = y0 + h f t0 , y0 ) = 1 + 0 ,1(− 1 + 0 + 1) = 1
correction

yn + 1 = y n +
h
2
[ (
f tn , ) (
yn + f t n + 1 , ŷ )]
y1 = y0 +
h
2
[ (
f t0 , ) (
y0 + f t 1 , ŷ )]
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 (correction)

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 :

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 ai 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

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 158


Analyse numérique pour Ingénieurs

(
k1 = h f t n , yn )
 h k1 
yn + 1 = yn + hf  t n + , yn + 
 2 2 
tn+ 1 = tn + h

Ecrire tn + 1 et yn + 1

3. Arrêt

Remarques
1. La fonction f (t , [
y ) est évaluée au point milieu de l’intervalle tn , t n + 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 Runge-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 Runge-Kutta d’ordre 4 qui
représente un outil d’une grande utilité.
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 
k 2 = h f  t n + , yn + 
 2 2 

 h k2 
k 3 = h f  t n + , yn + 
 2 2 

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 159


Analyse numérique pour Ingénieurs

(
k4 = h f t n + h , yn + k3 )

yn + 1 = y n +
1
(k + 2k2 + 2k3 + k4
6 1
)
t n+ 1 = tn + h

Ecrire tn + 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 
k 2 = h f  t0 + , y0 + 1  = 0 ,1 f (0 ,05 , 1)
h
 2 2

= 0 ,1(− 1 + 0 ,05 + 1) = 0 ,005

 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 + k 3 = 0 ,1 f (0 ,1 , 1 ,00475 )
= 0 ,1(− 1 ,00475 + 0 ,1 + 1) = 0 ,009525

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 160


Analyse numérique pour Ingénieurs

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

= x' (t )
dx
Posons y =
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

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 :

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 161


Analyse numérique pour Ingénieurs

dx y = f (t , x , y )
 dt = 1


 dy
( )
 dt = 1 − x y − x = f 2 (t , x ,
2
y)

x (0 ) = 0 ,5 = x0
x' (0 ) = y (0 ) = 0 = y0

(
xn + 1 = xn + h f 1 t n , xn , )
yn = x n + h y n
yn + 1 = yn + h f (t
2 n
, xn , y )= y
n n
[( )
+ h 1 − x n2 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 :

I=∫
1dx π
= = 0 ,785398163
01+ 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.

Enseignant : Joël M. ZINSALO /EPAC-UAC Page 162

Vous aimerez peut-être aussi