Syst`emes d’Equations Lin´eaires
Consid´erons un syst`eme d’´equations lin´eaires ( donn´es)
!!!
... ... ... ...
"#$%&#
(0.1)
et cherchons sa solution$&&'
. Tr`es souvent, il est commode d’utiliser la notation matricielle
(
)*+ (0.2)
Rappelons que le syst`eme (0.2) poss`ede une solution unique si et seulement si,.-'/
(10
*2 .
Bibliographie sur ce chapitre
A. Bj¨orck (1996): Numerical Methods for Least Squares Problems. SIAM. [MA 65/387]˚
P.G. Ciarlet (1982): Introduction `a l’analyse num´erique matricielle et `a l’optimisation, Masson.
J.J. Dongarra, C.B. Moler, J.R. Bunch & G.W. Stewart (1979): LINPACK Users’ Guide. SIAM.
D.K. Faddeev & V.N. Faddeeva (1963): Computational Methods of Linear Algebra. Freeman &
Co. [MA 65/271]
G.H. Golub & C.F. Van Loan (1989): Matrix Computations. Second edition. John Hopkins Univ.
Press. [MA 65/214]
N.J. Higham (1996): Accuracy and Stability of Numerical Algorithms. SIAM. [MA 65/379]
A.S. Householder (1964): The Theory of Matrices in Numerical Analysis. Blaisdell Publ. Comp.
[MA 65/262]
G.W. Stewart (1973): Introduction to Matrix Computations. Academic Press.
L.N. Trefethen & D. Bau (1997): Numerical Linear Algebra. SIAM. [MA 65/388]
J.H. Wilkinson (1969): Rundungsfehler. Springer-Verlag.
J.H. Wilkinson & C. Reinsch (1971): Handbook for Automatic Computation, Volume II, Linear Algebra. Springer-Verlag.
IV.1 Elimination de Gauss
L’´elimination dite “de Gauss” a ´et´e pratiqu´ee pendant des si`ecles sans grand tam-tam, notamment par Newton et par Lagrange (en 1781 dans ses calculs astronomiques). Toutefois, Gauss ayant le souci de prouver l’existence des solutions pour son principium nostrum des moindres carr´es (voir notices historiques du cours d’Alg`ebre Lin´eaire, p. 17) d´ecrit l’algorithme explicitement :
Soit donn´e le syst`eme (0.1) et supposons que ,.-'/
( 0
32 . Si
0
32 , on peut ´eliminer la variable dans les ´equations 4 `a5 `a l’aide de l’´equation 6 , c.-`a-d., on calcule
7
89 8
pour : 4 && 5 (1.1)
et on remplace la ligne: par
ligne:<;
7
8>=
ligne 6 De cette mani`ere, on obtient le syst`eme ´equivalent
?
@
?
@
%A?
@
*?
@
?
@
%A
?
@
*
?
@
... ... ...
?
@
#
%A
?
@
&
*
?
@
(1.2)
o`u
?
@
B#
?
@
*#
?
@
; 7 8$
?
@
; 7
#
pour : 4 && 5 (1.3)
(si%C2 , on ´echange la premi`ere ligne de (0.1) avec une autre ligne pour arriver `a *20 ; ceci est toujours possible car,.- /
(D0
B2 ).
Le syst`eme (1.2) contient un sous-syst`eme de dimension 5E;F6 sur lequel on peut r´ep´eter la proc´edure pour ´eliminer dans les ´equations G `a 5 . On multiplie la ligne 4 de (1.2) par
7
HI ?
@
HKJ
?
@
et on la soustrait de la ligne: . Apr`es5L;M6 ´etapes
N (
PORQ N ( ?
@
&
?
@
OSQ N ( ?
@
?
@
ORQ TQ
N( ? UV@
?
"UV@
O9KW NX
Y+O
on obtient un syst`eme triangulaireZ
[
Z
A
Z
*Y#
Z
A
Z
*Y
. .. Z ... ...
&!*Y'
(1.4) qui se r´esoud facilement par “back substitution”
Y'
J Z
&\ [
N
Y'
;
]"8^V
Z
_+O
J Z
pour : 5L;M6 && 6 (1.5)
Th´eor`eme 1.1 Soit,.- / (D0C2 . L’´elimination de Gauss donne
` (
*a
X
(1.6) o`u` est une matrice de permutation et
ab
6
7
6
... . .. . ..
7
"
7
dc"UV
6 X Z
Z
Z
Z
Z
. .. Z ...
#
(1.7)
La formule (1.6) s’appelle d´ecomposition LR (left - right) de la matrice( .
Remarque. Les colonnes et les lignes d’une matrice de permutation ` sont des vecteurs unit´e. On
a,.- / ` e 6 . Un exemple est
` 2 6 2
6 2 2
2 2 6 `
ligne 6 ligne4 ligneG
ligne4 ligne 6 ligneG
D´emonstration. Supposons que toutes les permutations n´ecessaires soient d´ej`a faites avant que l’on commence l’´elimination des variables (par abus de notation, nous ´ecrivons ( au lieu de ` ( dans cette d´emonstration). En utilisant les matrices
a9
6
; 7
6
;
7f
2 6
... ... . .. ...
; 7
" 2 2 6 ag
6
2 6
2 ;
7f
6
... ... . .. ...
2 ; 7
2 6
(1.8)
le premier pas de l’´elimination de Gauss correspond `a une multiplication de
(
aveca% , le deuxi`eme aveca , etc.,
a%
( ( ?
@
a
( ?
@
( ?
@
a["UV
( ? U@
( ?
"UV@
X
Par cons´equent,
X N
a["UVhaiUkjd&jda%$O[j
(
et
( N
a["UV$a["Uj"&"jda%$O UV
j X
Il reste `a montrer que la matrice a de (1.7) est ´egale `a
N
a[UVaiUIj.lj.a%$O UV
. Pour ceci, nous appliquons la mˆeme proc´edure `a la matricea . La multiplication dea aveca% ´elimine les ´el´ements de la premi`ere colonne en-dessous de la diagonale, puis la multiplication aveca ´elimine ceux de la deuxi`eme colonne, etc. Finalement, on obtient
N
a["UVa["U%jdjda$O[jdam*no
identit´e, ce qu’il fallait d´emontrer.
Calcul du d´eterminant d’une matrice. La formule (1.6) implique que ,.- / ` j ,p-'/
(
,.- / abj
,.- /
X
. Comme,p-'/ `
N
;q6
O_r , o`us est le nombre de permutations dans l’´elimination de Gauss, on obtient
,.-'/
( N
;t6 O r j Z
jd&"j
Z
&\
(1.9)
R´esolution de syst`emes lin´eaires. En pratique, on rencontre souvent la situation o`u il faut r´esoudre une suite de syst`emes lin´eaires
(
u ,
(
v v,
(
vvwBvv
, etc., poss´edant tous la mˆeme matrice.
Tr`es souvent, on connaˆıtv seulement apr`es la r´esolution du premier syst`eme.
C’est la raison pour laquelle on ´ecrit, en g´en´eral, le programme pour l’´elimination de Gauss en deux sous-programmes :
DEC– calculer la d´ecomposition LR (voir (1.6)) de la matrice;
SOL – r´esoudre le syst`eme
(
<
. D’abord on calcule le vecteur Y (voir (1.4)), d´efini par
axYy
`
, puis on r´esoud le syst`eme triangulaire
X
) Y .
Pour le probl`eme ci-dessus, on appelle une fois le sous-programme DEC et puis, pour chaque syst`eme lin´eaire, le sous-programmeSOL.
Co ˆut de l’´elimination de Gauss. Pour le passage de
(
`a
( ?
@
, on a besoin de
5L;M6 divisions (voir (1.1)) et de
N
5L;M6 O
multiplications et additions (voir (1.3)).
Le calcul de
( ?
@
n´ecessite5z;E4 divisions et
N
5z;E4 O
multiplications et additions, etc. Comme le travail dˆu aux divisions est ici n´egligeable, le coˆut total de la d´ecomposition LR s’´el`eve `a environ
N
5L;M6
O N
5L;4 O
4 6
g{
|
i}
u 5 f
G
op´erations (op´eration multiplication addition).
Le calcul de ?
@
n´ecessite5b;~6 op´erations (voir (1.3)). Par cons´equent, on obtient Y avec
{ N
5;6
O
4 6 { 5 J 4 op´erations. Similairement, la r´esolution du syst`eme (1.4) se fait en5
J 4 op´erations.
En r´esum´e, l’appel au sous-programme DEC n´ecessite
{ 5 f J G op´erations, tandis que SOL a seulement besoin de
{ 5
op´erations (sur des ordinateurs s´eriels). A titre de comparaison, la formule habituelle pour le d´eterminant d’une matrice5bL5 contient5
{ 5
J"
termes.
IV.2 Le choix du pivot
Dans l’´elimination de Gauss, il faut au d´ebut choisir une ´equation (avec 8
0
2
; cet ´el´ement s’appelle “le pivot”) `a l’aide de laquelle on ´elimine dans les autres ´equations. Le choix de cette
´equation (choix du pivot) peut-il influencer la pr´ecision du r´esultat num´erique, si l’on fait le calcul sur ordinateur en virgule flottante?
Exemple 2.1 (Forsythe) Consid´erons le syst`eme
6
2"2Ij
6 2 U
j&z
6
2"2Ij&
6
2"2
6
2"2Ij&z
6
2"2Ij&
4
2"2
(2.1) avec pour solution exacte
%
6
2"""
6
2"2"2
6
2"2"2
6
+ g
2"""
2"""
*2d""""""%+
(2.2) Appliquons l’´elimination de Gauss et simulons un calcul en virgule flottante avecG chiffres signi- ficatifs (en base 6 2 ).
a) Si l’on prend g 6 2"2j 6 2
U
comme pivot, on obtient
7
g!
J
6
2"2j
6 2
, l?
@
6
2"2
;M6
2"2j
6 2
;q6
2"2j
6 2
et ?
@
4
2"2
;16
22gj
6 2
;q6
2"2j
6 2
. Par cons´equent,
I ?
@
J
?
@
6
2"2
(exacte!), mais pour nous obtenons
9
N
;
!O
J
9 N 6
2"2
;M6
2"2I=
6
22"O
J N 6
2"2j
6 2 U
O%C2d
Le r´esultat num´erique, obtenu pour , est faux.
b) Si l’on ´echange les deux ´equations de (2.1), le pivot est6 2"2 et l’´elimination de Gauss donne:
7
9
6
2"2j
6 2 U
,?
@
6
2"2
;6
22j
6 2 U
6
2"2
et?
@
6
2"2
;u4
2"2=
6
2"2j
6 2 U
6
2"2
. De nouveau, on obtient*?
@
J
?
@
6
2"2
. Mais cette fois le r´esultat pour est
%
N
;
!O
J
l9 N 4
2"2
;M6
22=
6
2"2"O
J 6
2"2
6
2"2d
Les deux valeurs num´eriques (pour et aussi pour ) sont correctes.
Pour mieux comprendre dans quelle partie de l’´elimination de Gauss on a perdu une informa- tion essentielle, consid´erons les sous-probl`emes (addition, soustraction, multiplication, division) s´epar´ement et ´etudions leur “condition”.
Condition d’un probl`eme. Consid´erons une application Wn
X Q nX
, le probl`eme consistant
`a calculer
N
[O pour les donn´ees <
N
&&h\O
. Il est int´eressant d’´etudier l’influence de perturbations dans sur le r´esultat
N
[O .
D´efinition 2.2 La condition d’un probl`eme est le plus petit nombre tel que
;
eps
N
iO
;
N
[O
N
[O
j
eps (2.3)
On dit que le probl`eme est bien conditionn´e, si n’est pas trop grand. Sinon, il est mal condi- tionn´e.
Dans cette d´efinition, eps repr´esente un petit nombre. Si eps est la pr´ecision de l’ordinateur (voir le paragraphe II.5) alors, peut ˆetre interpr´et´e comme l’arrondi de . Remarquons en- core que la condition d´epend des donn´ees et du probl`eme , mais qu’elle ne d´epend pas de l’algorithme avec lequel on calcule
N
[O .
Exemple 2.3 (multiplication de deux nombres r´eels) Soient donn´es les nombres et , con- sid´erons le probl`eme de calculer
N
h!Oxij&
. Pour les deux valeurs perturb´ees
%E N 6
P$O$ I
N 6
!O
_
eps (2.4)
on a
[j
;
ij&
ij
N 6
P$O N 6
O
; 6
*PPijd
Comme eps est un petit nombre, le produit Pj est n´egligeable par rapport `a
et on obtient
[j
;
[j&
ij&
4 j
eps (2.5)
On a donc 4 et ce probl`eme est bien conditionn´e.
Exemple 2.4 (soustraction) Pour le probl`eme
N
h!O9
;
, un calcul analogue donne
N
;
O
; N
;
!O
;
P
;
;
;
j
eps (2.6)
Si sign9 ; sign (ceci correspond `a une addition et non pas `a une soustraction) on a 6 ; le probl`eme est bien conditionn´e.
Par contre, si
{
la condition
N
O J
;
devient tr`es grande et on est confront´e `a un probl`eme qui est extrˆemement mal conditionn´e. Pour mieux illustrer l’effet de cette grande condition, consid´erons l’exemple num´erique
9
6
6 g
6
4
pour lequel
{ 4 J 2
N 6 J
2"O
6
2"2d
En faisant le calcul avecG chiffres significatifs (en base 6 2 ), on obtient<2"
6
j
6 2 UV
,
2d
6 4 j 6 2 UV
et ; g*2""22kj 6 2 U f
. Comme les deux premiers chiffres sont les mˆemes pour et , la soustraction les fait disparaˆıtre et on n’a plus qu’un chiffre qui est significatif (le r´esultat exact est 6 J
N 6 j 4
O9*2d
G""
j 6 2 U f
). On parle d’extinction de chiffres.
Explication du choix du pivot. Si 7 est tr`es grand (ce qui est le cas dans la situation (a) de l’exemple de Forsythe) alors,
?
@
; 7
$
{ ; 7
?
@
; 7
$
{ ; 7
#?
@
l?
@
{
(2.7)
Cette valeur, obtenue pour , est en g´en´eral correcte. Mais le calcul de
9
N
;
!O
J
n´ecessite une soustraction qui est tr`es mal conditionn´ee car
{
et, `a cause de l’extinction de chiffres, on perd de la pr´ecision.
La conclusion de cette ´etude est qu’il faut ´eviter des
7
trop grands.
Recherche partielle de pivot. L’id´ee est de ne pas se contenter d’un pivot qui soit diff´erent de z´ero (l
0
D2 ), mais d’´echanger les ´equations de (0.1) afin que soit le plus grand ´el´ement (en valeur absolue) de la premi`ere colonne de
(
. De cette mani`ere, on a toujours
7
6 . La mˆeme strat´egie est r´ep´et´ee pour les sous-syst`emes apparaissant dans l’´elimination de Gauss.
Exp´erience num´erique. Pour chaque5 &"
"
nous choisissons 4 2"22 matrices al´eatoires avec coefficients uniform´ement distribu´es dans ¡;q6 6¢ et des solutions uniform´ement dis- tribu´ees dans £;t6 6#¢. Alors on calcule en double pr´ecision les pour cette solution exacte. Ensuite
10 20 30 40 50
10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1
5
errmax
matrice quelconque sans recherche de pivot
10 20 30 40 50
10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1
5
errmax
matrice quelconque avec recherche de pivot
10 20 30 40 50
10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1
5
errmax
matrice orthogonale sans recherche de pivot
10 20 30 40 50
10−8 10−7 10−6 10−5 10−4 10−3 10−2 10−1
5
errmax
matrice orthogonale avec recherche de pivot
FIG. IV.1: Erreurs pour 1 million de syst`emes lin´eaires de dimensions `a "
on applique l’algorithme de Gauss, une fois sans recherche de pivot, et une fois avec recherche de pivot, en simple pr´ecision. L’erreur ¤¥#¦
num
; ex de chaque r´esultat est repr´esent´ee par un petit point dans les dessins sup´erieurs de la figure IV.1. Bien que nous ne soyons pas surpris par les nombreuses erreurs sans recherche de pivot, quelques cas demeurent inacceptables `a droite ; bon nombre de r´esultats restent cependant bons !
Faisons une deuxi`eme exp´erience : une matrice avec uniform´ement distribu´es dans £;t6 6#¢
pour§u¨: est compl´et´ee par Ay ; , pour assurer que©
N n ; ( O UV
N
nK ( O
soit orthog- onale. Cette matrice est calcul´ee en double pr´ecision, le reste de l’exp´erience continue comme auparavant (voir les r´esultats au bas de la figure IV.1). Cette fois-ci il n’y a pas d’exception dans la bonne performance de l’algorithme de Gauss avec recherche de pivot. Nous allons d´emontrer ces observations dans les paragraphes suivantes.
IV.3 La condition d’une matrice
En principe, un probl`eme avecª donn´ees et5 solutions poss`edeª«)5 coefficients d´ecrivant la sensibilit´e de la5 -`eme solution par rapport `a laª -`eme donn´ee. Devant cette myriade de valeurs, il est parfois pr´ef´erable d’exprimer la condition par un seul nombre. On r´eussira cela `a l’aide de normes de vecteurs et de matrices (recherche initi´ee par A. Turing 1948).
Rappel sur la norme d’une matrice. Pour une matrice `aª lignes et5 colonnes, on d´efinit
¬ ( ¬
¤¥#¦
®
]V
¬ ( ¬
¤¯¥¦®°]
| ¬ ( ¬
¬ ¬
(3.1) c.-`a-d., la norme de( est le plus petit nombre
¬ ( ¬
qui poss`ede la propri´et´e
¬ ( ¬ ¬ ( ¬ j ¬ ¬
pour tout ²±bn
X
(3.2) Evidemment,
¬ ( ¬
d´epend des normes choisies dansn
X
etn
X³
. Il y a des situations o`u l’on connaˆıt des formules explicites pour
¬ ( ¬
. Par exemple, si l’on prend la mˆeme norme dans les deux espaces alors,
pour
¬ ¬
x
8]V
, on a
¬ ( ¬
9
¤¯¥¦
]V cµ´µ´µ´c ³
]V
¶
(3.3) pour
¬ ¬
g
N
]V
O
·_
, on a
¬ ( ¬
I plus grande valeur propre de
(¸(
¶
(3.4) pour
¬
¬¹
¤¥#¦
8]V cµ´µ´µ´c
, on a
¬ (
¬¹
¤¥#¦
8]V cµ´µ´µ´c³
]V
(3.5) La norme
¬ ( ¬
d’une matrice satisfait toutes les propri´et´es d’une norme. En plus, elle v´erifie
¬ n ¬ 6 pour la matrice d’identit´e et
¬ (
jdº
¬ ¬ ( ¬ j ¬ º ¬
.
Apr`es ce rappel sur la norme d’une matrice, essayons d’estimer la condition du probl`eme( )
. Pour ceci, consid´erons un deuxi`eme syst`eme lin´eaire
(
u
avec des donn´ees perturb´ees
AHk N 6
O$
_
_»i
N
_O$
_¼
(3.6)
o`u _» et ¼ sp´ecifient la pr´ecision des donn´ees (par exemple _» eps, _¼ eps o`u eps est la pr´ecision de l’ordinateur). Les hypoth`eses (3.6) impliquent (au moins pour les normes
¬ j ¬
et
¬ j
¬¹
) que
¬ ( ; ( ¬
_»½j
¬ ( ¬ ¬ ; ¬
¼ij
¬ ¬
(3.7) Notre premier r´esultat donne une estimation de
¬ ; ¬
, en supposant que (3.7) soit vrai.
Th´eor`eme 3.1 Consid´erons les deux syst`emes lin´eaires
(
<
et
(
o`u
(
est une matrice inversible. Si (3.7) est v´erifi´e et si »zj
N (
O%¾
6 , alors on a
¬ ; ¬
¬ ¬ N ( O
69;
_»½j
N ( O j N
_»½_¼$O
(3.8) o`u
N(
OxW¿
¬ ( ¬ j ¬ ( UV
¬
. Le nombre
N ( O
s’appelle condition de la matrice
(
. D´emonstration. De ;
( ; (
)
N ( ; ( O t
( N ;
[O , nous d´eduisons que
;
u
(
UV
; N( ; ( Ot
N ;
PO
(3.9) Maintenant, prenons la norme de (3.9), utilisons l’in´egalit´e du triangle, les estimations (3.7),
¬ ¬
¬ ¬ ¬ ; ¬
et
¬ ¬ ¬ ( ¬ ¬ ( ¬ j ¬ ¬
. Nous obtenons ainsi
¬ ; ¬ ¬ (
UV
¬
_»zj
¬ ( ¬ j N$¬
¬ ¬ ; ¬
O_¼j
¬ ( ¬ j ¬ ¬
Ceci donne l’estimation (3.8).
La formule (3.8) montre que pour _»Sj
N (
OtÀ
6 , l’amplification maximale de l’erreur des donn´ees sur le r´esultat est de
N ( O
. Propri´et´es de
N ( O
. Soit
(
une matrice inversible. Alors, a)
N (
O%Á
6 pour toute ( , b)
NÂ (
Ox
N( O
pour
 0
C2 ,
c)
N (
Ox
¤¥#¦
Ã&
]V
¬
(%Ä
¬
¤Å¿Æ
Ç
]V
¬
(gÈ
¬
.
La propri´et´e (c) permet d’´etendre la d´efinition de
N ( O
aux matrices de dimension ª 5 avec
ª 0
5 .
D´emonstration. La propri´et´e (a) est une cons´equence de 6
¬ n ¬ ¬ ((
UV
¬ ¬ ( ¬ j ¬ ( UV
¬
. La propri´et´e (b) est ´evidente. Pour montrer (c), nous utilisons
¬ ( UV
¬
¤¥#¦®°]
| ¬ ( UV
¬
¬ ¬
¤¥#¦Ç°]
| ¬ È ¬
¬ (gÈ ¬
¤ÅÆÇ#°]
| ¬ (È
¬
¬ È ¬ UV
Exemples de matrices ayant une grande condition. Consid´erons les matrices É (matrice de Hilbert) etÊ (matrice de Vandermonde) d´efinies par (Y'k § J 5 )
É
o
6
:
§;*6
Ëc]V
Ê
Y
8UV
8c]V
Leur condition pour la norme
¬ j
¬¹
est donn´ee dans le tableau IV.1.
Exemples de matrices ayant une petite condition. Une matriceÌ est orthogonale siÌ
¸ Ì
n .
Pour la norme euclidienne, sa condition vaut 6 car
¬ Ì ¬
6 et
¬ Ì UV
¬
6 (l’inverseÌ
UV
Ì ¸
est aussi orthogonale).
TAB. IV.1:Condition de matrices de Hilbert et Vandermonde
5 2 4 6 8 10 12
N É
\O
4" 4
gj
6 2 4
Ij
6
2\Í
G
Ij
6 2 | G j 6 2 f G
Ij
6 2 Î
N Ê
O
gj
6 2 G j 6 2 4
Ij
6 2 Î 6
j
6
2Ï
6
2Ij
6 2 |
Concernant l’interpolation avec des fonctions splines, nous avons rencontr´e la matrice (voir le paragraphe II.10, cas ´equidistant)
( 6
Ð 6
6 6
6 . .. ...
. .. ...
5 (3.10)
Le facteur 6 J Ð n’influence pas
N ( O
. Posons alors Ð 6 . Avec la formule (3.5), on v´erifie facilement que
¬ ( ¬¹
Ñ . Pour estimer
¬ ( UV
¬¹
, ´ecrivons
(
sous la forme
(
Ñ
N
nÒO
o`u n est l’identit´e et Ò contient le reste. On voit que
¬ Ò
¬¹
6 J 4 . En exprimant (
UV
par une s´erie g´eom´etrique, on obtient
¬ ( UV
¬¹
6
6 ¬ Ò
¬¹
¬ Ò ¬ ¹ ¬ Ò ¬ f¹
&
6
4
Par cons´equent,
¹ÓN ( O G ind´ependamment de la dimension du syst`eme.
IV.4 La stabilit´e d’un algorithme
Le but de ce paragraphe est d’´etudier l’influence des erreurs d’arrondi sur le r´esultat pour l’´elimi- nation de Gauss. Commenc¸ons par la d´efinition de la stabilit´e d’un algorithme et avec quelques exemples simples.
Un algorithme pour r´esoudre le probl`eme
N
[O est une suite d’op´erations ´el´ementairesÔ &,
Ô
(addition, soustraction, multiplication, division, ´evaluation d’une racine, d’une fonction ´el´e- mentaire,&) telle que
N [O
Ô N Ô UV
N
&
Ô N Ô N
[O$O&OhO
(4.1) En g´en´eral, il existe beaucoup d’algorithmes diff´erents pour r´esoudre le mˆeme probl`eme
N
[O . L’amplification de l’erreur, en faisant l’op´eration Ô , est d´ecrite par la condition
N Ô
O (voir la d´efinition dans le paragraphe IV.2). L’estimation
N O N Ô
$O[j
N Ô
O[jd"j
N Ô
\O (4.2)
est une cons´equence simple de la d´efinition de la condition d’un probl`eme.
D´efinition 4.1 Un algorithme est num´eriquement stable (au sens de “forward analysis”) si
NÔ
$O[j
N Ô
O[jdj
N Ô
\O
Constj
N O
(4.3) o`u Const n’est pas trop grand (par exemple, Const *Õ
N5 O
).
La formule (4.3) exprime le fait que l’influence des erreurs d’arrondi durant le calcul de
N
[O
n’est pas beaucoup plus grande que l’influence d’erreurs dans les donn´ees (qui sont in´evitables).
Exemple 4.2 Soit 6 2
et consid´erons le probl`eme de calculer 6 J
N N 6
T[O$O
. Examinons les deux algorithmes suivants :
a) Ö×
½
6 ×Ö N
½
6 O ; Q 6
N t
6 O .
Toutes ces op´erations sont tr`es bien conditionn´ees (voir le paragraphe IV.3). Ainsi, cet algorithme est num´eriquement stable.
b) Ö×
6 J
t
6 ; Q 6 J N
t
6 O ×Ö 6
; 6
t
6 6
N
½
6 O .
Dans cet algorithme, seules les trois premi`eres op´erations sont bien conditionn´ees. La soustraction,
`a la fin, est tr`es mal conditionn´ee car 6 J
{ 6 J N
z
6 O
. Ainsi, cet algorithme est num´eriquement instable.
La v´erification, si un algorithme (non-trivial) est stable (au sens de “forward analysis”), est souvent tr`es complexe et difficile. Pour cette raison, Wilkinson (1961, J. Ass. Comp. Mach. 8) a introduit une autre d´efinition de la stabilit´e d’un algorithme.
D´efinition 4.3 Un algorithme pour r´esoudre le probl`eme
N
[O est num´eriquement stable (au sens de “backward analysis”) si le r´esultat num´erique
Ä
peut ˆetre interpr´et´e comme un r´esultat exact pour des donn´ees perturb´ees (c.-`a-d.,
Ä N
iO ) et si
;
Constj eps (4.4)
o`u Const n’est pas trop grand et eps est la pr´ecision de l’ordinateur.
Remarque. Pour l’´etude de cette stabilit´e, il ne faut pas connaˆıtre la condition du probl`eme.
Exemple 4.4 Consid´erons le probl`eme de calculer le produit scalaireij&kb
f
j . On utilise l’algorithme
N
h!h
f
'!O
Ö×
ij&
f j&
×Ö
[j&R
f
j&
(4.5) Le r´esultat num´erique (sous l’influence des erreurs d’arrondi) est
N 6
$O[j&
N 6
!O N 6
RØ$O
f N 6
f
O[j&
N 6
!O N 6
bØO N 6
Ø f O
o`u
Ød
eps. Ce r´esultat est ´egal `aij % f j si l’on pose
x N 6
PhO N 6
ØV$O f
f N 6
f O N 6
RØ"O$
g N 6
O N 6
Ø
f
O
N 6
!O N 6
RØ
f
O$
Ainsi, (4.4) est v´erifi´e pour Const 4 (on n´eglige les produits_ jHØd ). En cons´equence, l’algorithme (4.5) est toujours num´eriquement stable (au sens de “backward analysis”).
Cet exemple montre bien qu’un algorithme peut ˆetre stable, mˆeme si le probl`eme est mal conditionn´e. Ainsi, il faut bien distinguer les notions “stabilit´e num´erique” et “condition d’un probl`eme”.
La stabilit´e de l’´elimination de Gauss. Soit donn´ee une matrice
(
(,.-'/
(0
B2 ) ayant la d´ecompo- sition
(
Da
X
(on suppose que les permutations n´ecessaires sont d´ej`a effectu´ees). En appliquant l’´elimination de Gauss, nous obtenons deux matrices a et
X
, qui repr´esentent la d´ecomposition exacte de la matrice ( W aj
X
. Pour montrer la stabilit´e num´erique (au sens de “backward analysis”) de l’´elimination de Gauss, on a besoin de trouver une estimation de la forme
;
j
Const j eps. En tous cas, il faut estimer la diff´erence ; .
Th´eor`eme 4.5 (Wilkinson) Soit
(
une matrice inversible eta ,
X
le r´esultat num´erique de l’´elimination de Gauss (avec recherche de pivot, c.-`a-d.
7
6 pour tout: § ). Alors,
;
4
jdj
¤ÅÆ
N
:i;M6 §
Oj eps (4.6)
o`u o ¤¯¥¦ 8c cÙ
l?
Ù!@
H
.
D´emonstration. Lors de laÚ `eme ´etape de l’´elimination de Gauss, on calcule?
Ù!@
`a partir de?
Ù!UV@
.
Si l’on prend en consid´eration les erreurs d’arrondi, on obtient
?
Ù!@
N ?
Ù!UV@
; 7
Ùj ?
Ù!UV@
Ù j N 6
_HÙO$O N 6
ØdHÙO
?
Ù!UV@
; 7
Ùj ?
Ù!UV@
Ù
RÛ[Ù
(4.7) o`u (en n´egligeant les termesÕ
N
eps
O
)
Û[HÙ
? Ù@
j
ØdÙ
7
Ù
j
? Ù!UV@
Ù
j
_Ù
4
jdgj eps (4.8)
Par d´efinition de
(
, on a ÜÞݵß?
Ëc@
Ù!]V
7
Ùj
Z
Ùg ÜÞݵß!?
Ëc$@
Ù!]V
7
ÙIj ?
Ù!UV@
Ù et, en utilisant la formule (4.7), on obtient pour:¨E§
y
Ù!]V
N
? Ù!UV@
;
? Ù!@
RÛ[ÙOx*
Ù!]V
Û[Ù (4.9a)
carl?
@
H
B2 dans cette situation. Pour: § , on a
y 8UV
Ù!]V
N
? Ù!UV@
;
? Ù!@
ÛÙ!O
7
j ?
8UV@
*
UV
Ù!]V
Û[Ù (4.9b)
car
7
HÞ
6 . Les formules (4.9) ensemble avec l’estimation (4.8) d´emontrent l’estimation (4.6).
Cons´equence. L’´elimination de Gauss est stable (au sens de “backward analysis”) si le quotient
¤¥#¦
Ëc cÙ ? Ù!@
H
¤¯¥¦Ëc
(4.10) n’est pas trop grand. En fait, il existe des matrices pathologiques pour lesquelles ce quotient atteint 4
"UV
, o`u5 est la dimension de la matrice
(
(voir exercice 12). Mais heureusement cette constante est en g´en´eral beaucoup plus petite. Pour illustrer ceci, en suivant une id´ee de Trefethen
& Schreiber (1990, SIAM J. Matrix Anal. Appl. 11) nous avons pris un grand nombre de matrices de dimensions allant de 4 `a4 dont les ´el´ements sont des nombres al´eatoires dans £;t6 6#¢. Nous avons dessin´e dans la figure IV.2 le quotient (4.10) en fonction de la dimension de la matrice (chaque point repr´esente la moyenne deG 2 ´echantillons). En ´echelle doublement logarithmique, le r´esultat semble myst´erieusement devenir une droite.
100 101
4G 5
quotient (4.10)
FIG. IV.2: Stabilit´e num´erique de l’´elimination de Gauss