• Aucun résultat trouvé

Chapitre IV Syst`emes d’Equations Lin´eaires

N/A
N/A
Protected

Academic year: 2021

Partager "Chapitre IV Syst`emes d’Equations Lin´eaires"

Copied!
26
0
0

Texte intégral

(1)

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.

(2)

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

(3)

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.

(4)

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

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 matrice5b‚L5 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

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"2Œj 6 2

comme pivot, on obtient

7

g!

J

Ž

6

†2"2j

6 2 ‡

, l?

@

6

†2"2

;M6

†2"2Žj

6 2 ‡

;q6

†2"2Žj

6 2 ‡

et ?

@

4

†2"2

;16

ˆ22gj

6 2 ‡

;q6

†2"2Žj

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"2j

6 2

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"2„j

6 2

,?

@

6

†2"2

;‘6

ˆ22„j

6 2

6

†2"2

et?

@

6

†2"2

;u4

ˆ2"2=

6

ˆ2"2j

6 2

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.

(5)

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!Ox‰ij&

. 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

*™P™™Pijd™

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 ”

• •

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

(6)

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 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›› ‚ ›"›

(7)

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)

(8)

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

(

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

(9)

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

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

(10)

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

. 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

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

(11)

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

jdŽj

¤ÅˆÆ

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

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

Références

Documents relatifs

Pour tout second membre b, le syst` eme (S b ) poss` ede une unique solution.. Pour tout second membre b, le syst` eme (S b ) poss` ede au moins

On ne change pas le rang d’une matrice en effectuant des op´ erations ´ el´ ementaires sur ses lignes et ses colonnes.. On transforme donc la matrice par op´ erations ´ el´

Autrement dit, dans chaque ligne non nulle, le premier coefficient non nul ` a partir de la gauche est situ´ e plus ` a droite que le premier coefficient non nul de la ligne pr´

Une matrice ´ echelonn´ ee en lignes est dite ´ echelonn´ ee r´ eduite par lignes si elle est nulle ou si tous ses pivots sont ´ egaux ` a 1 et sont les seuls ´ el´ ements non nuls

Une matrice ´ echelonn´ ee en lignes est dite ´ echelonn´ ee r´ eduite par lignes si elle est nulle ou si tous ses pivots sont ´ egaux ` a 1 et sont les seuls ´ el´ ements non nuls

Au moyen d’op´erations ´el´ementaires sur les ´equations, nous pouvons nous ramener `a un syst`eme dont la matrice est triangulaire sup´erieure.. Le coˆ ut de cette transformation

Jordan qui est la matrice des coefficients d’un syst` eme dont l’ensemble des solutions est encore V. Cette hypoth` ese ne restreint pas la g´ en´ eralit´ e, car on peut toujours

En g´en´eral, celui-ci n’est pas connu avec une pr´ecision infinie car il peut y avoir des erreurs de mesures et car la pr´ecision des instruments et de l’ordinateur n’est