• Aucun résultat trouvé

Analyse de stabilit´ e des syst` emes lin´ eaires

Dans le document Méthodes Numériques (Page 74-79)

M´ ethodes directes pour la r´ esolution des syst` emes lin´ eaires

3.1 Analyse de stabilit´ e des syst` emes lin´ eaires

La r´esolution d’un syst`eme lin´eaire par une m´ethode num´erique conduit inva-riablement `a l’introduction d’erreurs d’arrondi. Seule l’utilisation de m´ethodes stables peut ´eviter de d´et´eriorer la pr´ecision de la solution par la propagation de telles erreurs. Dans cette section, nous aborderons deux aspects de l’analyse de stabilit´e.

Tout d’abord, nous analyserons la sensibilit´e de la solution de (3.2) aux perturbations des donn´ees A etb(analysea prioridirecte). Ensuite, en sup-posant donn´ee une solution approch´ee xde (3.2), nous quantifierons les per-turbations des donn´ees A etbafin quexsoit la solution exacte d’un syst`eme perturb´e (analysea priorir´etrograde). La taille de ces perturbations nous per-mettra alors de mesurer la pr´ecision de la solution calcul´eexpar une analyse a posteriori.

3.1.1 Conditionnement d’une matrice

Leconditionnement d’une matrice A∈Cn×n est d´efini par

K(A) = A A−1 , (3.4)

o`u · est une norme matricielle subordonn´ee. En g´en´eral,K(A) d´epend du choix de la norme ; ceci est signal´e en introduisant un indice dans la notation, par exemple K(A) = A A−1 . Plus g´en´eralement, Kp(A) d´esigne le conditionnement de A dans la p-norme. Les cas remarquables sontp= 1, p= 2 etp=∞(nous renvoyons `a l’Exercice 1 pour des relations entreK1(A), K2(A) etK(A)).

Comme cela a d´ej`a ´et´e not´e dans l’Exemple 2.3, plus le conditionnement de la matrice est grand, plus la solution du syst`eme lin´eaire est sensible aux perturbations des donn´ees.

Commen¸cons par noter queK(A)≥1 puisque 1 = AA−1 ≤ A A−1 =K(A).

De plus,K(A−1) =K(A) et∀α∈Cavec α= 0,K(αA) =K(A). Enfin, si A est orthogonale, K2(A) = 1 puisque A 2 =

ρ(ATA) =

ρ(I) = 1 et A−1 = AT. Par convention, le conditionnement d’une matrice singuli`ere est infini.

Pourp= 2,K2(A) peut ˆetre caract´eris´e comme suit. En partant de (1.22), on peut montrer que

K2(A) = A 2 A−1 2= σ1(A) σn(A),

o`uσ1(A) est la plus grande valeur singuli`ere de A etσn(A) la plus petite (voir Propri´et´e 1.6). Par cons´equent, dans le cas d’une matrice sym´etrique d´efinie positive, on a

K2(A) =λmax

λmin =ρ(A)ρ(A−1), (3.5)

o`u λmax est la plus grande valeur propre de A et λmin la plus petite. Pour

´

etablir (3.5), remarquer que A 2= ρ(ATA) =

ρ(A2) =

λ2maxmax.

De plus, puisque λ(A−1) = 1/λ(A), on obtient A−1 2 = 1/λmin d’o`u l’on d´eduit (3.5). Pour cette raison,K2(A) est appel´econditionnement spectral.

Remarque 3.1 On d´efinit la distance relative de A∈Cn×n`a l’ensemble des matrices singuli`eres, par rapport `a lap-norme, par

distp(A) = min

δA p

A p : A +δA est singuli`ere

. On peut alors montrer que ([Kah66], [Gas83])

distp(A) = 1

Kp(A). (3.6)

L’´equation (3.6) sugg`ere qu’une matrice ayant un conditionnement ´elev´e peut se comporter comme une matrice singuli`ere de la forme A+δA. En d’autres termes, mˆeme si le membre de droite n’est pas perturb´e, la solution peut l’ˆetre, puisque si A+δA est singuli`ere, le syst`eme homog`ene (A +δA)z=0n’admet plus comme unique solution la solution nulle. On peut aussi montrer que si

A−1 p δA p<1, (3.7)

alors A+δA est inversible (voir p.ex. [Atk89], th´eor`eme 7.12).

La relation (3.6) semble indiquer que le d´eterminant est un candidat na-turel pour mesurer le conditionnement d’une matrice, puisqu’avec (3.3) on pourrait penser qu’une matrice ayant un petit d´eterminant est “presque” sin-guli`ere. En fait, cette conclusion est fausse car il existe des exemples de ma-trices dont le conditionnementet le d´eterminant sont tous les deux grands ou tous les deux petits (voir Exercice 2).

3.1.2 Analyse a priori directe

Dans cette section nous introduisons une mesure de la sensibilit´e du syst`eme aux perturbations des donn´ees. Ces perturbations seront interpr´et´ees `a la Section 3.9 comme ´etant les effets des erreurs d’arrondi induites par la m´ethode num´erique utilis´ee pour r´esoudre le syst`eme. Pour une analyse plus compl`ete du sujet nous renvoyons `a [Dat95], [GL89], [Ste73] et [Var62].

A cause des erreurs d’arrondi, une m´ethode num´erique pour r´esoudre (3.2) ne fournit pas la solution exacte mais seulement une solution approch´ee qui satisfait un syst`eme perturb´e. En d’autres termes, une m´ethode num´erique fournit une solution (exacte)x+δxdu syst`eme perturb´e

(A +δA)(x+δx) =b+δb. (3.8)

Le r´esultat suivant donne une estimation deδxen fonction de δA et δb.

Th´eor`eme 3.1 Soit A ∈ Rn×n une matrice inversible et δA ∈ Rn×n telles que l’in´egalit´e (3.7) soit satisfaite pour une norme matricielle subordonn´ee · . Si x∈Rn est la solution de Ax=bavec b∈Rn (b=0)et si δx∈Rn satisfait (3.8)pourδb∈Rn, alors

δx

x ≤ K(A)

1−K(A) δA / A

δb

b + δA A

. (3.9)

D´emonstration.D’apr`es (3.7), la matrice A−1δA a une norme inf´erieure `a 1.

Ainsi, d’apr`es le Th´eor`eme 1.5, I + A−1δA est inversible et (1.28) implique (I + A−1δA)−1 ≤ 1

1− A−1δA ≤ 1

1− A−1 δA. (3.10) D’autre part, en r´esolvant (3.8) enδxet en rappelant que Ax=b, on obtient

δx= (I + A−1δA)−1A−1(δb−δAx).

En passant aux normes et en utilisant (3.10), on a donc δx ≤ A−1

1− A−1 δA(δb+δA x).

Enfin, en divisant les deux membres par x(qui est non nul puisque b=0et A est inversible) et en remarquant quex ≥ b/A, on obtient le r´esultat voulu.

3

Le fait qu’un syst`eme lin´eaire soit bien conditionn´e n’implique pas n´ ecessaire-ment que sa solution soit calcul´ee avec pr´ecision. Il faut en plus, comme on l’a soulign´e au Chapitre 2, utiliser des algorithmes stables. Inversement, le fait d’avoir une matrice avec un grand conditionnement n’empˆeche pas n´ ecessai-rement le syst`eme global d’ˆetre bien conditionn´e pour des choix particuliers du second membreb(voir Exercice 4).

Voici un cas particulier du Th´eor`eme 3.1.

Th´eor`eme 3.2 Supposons que les conditions du Th´eor`eme 3.1 soient rem-plies et posons δA = 0. Alors

1 K(A)

δb

b ≤ δx

x ≤K(A) δb

b . (3.11)

D´emonstration.Nous prouvons seulement la premi`ere in´egalit´e puisque la se-conde d´ecoule directement de (3.9). La relation δx = A−1δb implique δb ≤ A δx. En multipliant les deux membres par x et en rappelant que x ≤ A−1 b, il vientx δb ≤K(A)b δx, qui est l’in´egalit´e voulue. 3 En vue d’utiliser les in´egalit´es (3.9) et (3.11) pour l’analyse de la propa-gation des erreurs d’arrondi dans le cas des m´ethodes directes, δA et δb doivent ˆetre major´es en fonction de la dimension du syst`eme et des caract´ e-ristiques de l’arithm´etique `a virgule flottante.

Il est en effet raisonnable de s’attendre `a ce que les perturbations induites par une m´ethode de r´esolution soient telles que δA ≤γ A et δb ≤γ b , γ´etant un nombre positif qui d´epend de l’unit´e d’arrondiu(d´efini en (2.34)).

Par exemple, nous supposerons dor´enavant queγ=β1−t, o`uβ est la base et tle nombre de chiffres significatifs de la mantisse du syst`emeFdes nombres `a virgule flottante. Dans ce cas, on peut compl´eter (3.9) par le th´eor`eme suivant.

Th´eor`eme 3.3 Supposons que δA ≤γ A , δb ≤γ b avec γ ∈R+ et δA∈Rn×n,δb∈Rn. Alors, siγK(A)<1, on a les in´egalit´es suivantes :

x+δx

x ≤ 1 +γK(A)

1−γK(A), (3.12)

δx

x ≤ 2γ

1−γK(A)K(A). (3.13)

D´emonstration.D’apr`es (3.8), (I + A−1δA)(x+δx) = x+ A−1δb. De plus, puisque γK(A) < 1 et δA ≤ γA, I + A−1δA est inversible. En prenant l’inverse de cette matrice et en passant aux normes, on obtient x +δx ≤ (I + A−1δA)−1

x+γA−1 b

. Le Th´eor`eme 1.5 entraˆıne alors que x+δx ≤ 1

1− A−1δA

x+γA−1 b ,

ce qui implique (3.12), puisqueA−1δA ≤γK(A) etb ≤ A x. Montrons (3.13). En retranchant (3.2) de (3.8), on a

Aδx=−δA(x+δx) +δb.

En prenant l’inverse de A et en passant aux normes, on obtient l’in´egalit´e suivante δx ≤ A−1δA x+δx+A−1 δb

≤ γK(A)x+δx+γA−1 b.

En divisant les deux membres par x et en utilisant l’in´egalit´e triangulairex+

δx ≤ δx+x, on obtient finalement (3.13). 3

3.1.3 Analyse a priori r´etrograde

Les m´ethodes num´eriques que nous avons consid´er´ees jusqu’`a pr´esent ne n´ eces-sitent pas le calcul explicite de l’inverse de A pour r´esoudre Ax=b. N´eanmoins, on peut toujours supposer qu’elles conduisent `a une solution approch´ee de la formex= Cb, o`u la matrice C est une approximation de A−1 tenant compte des erreurs d’arrondi. En pratique, C est tr`es rarement construite ; dans le cas o`u on devrait le faire, le r´esultat suivant donne une estimation de l’erreur commise quand on remplace A−1par C (voir [IK66], Chapitre 2, Th´eor`eme 7).

Propri´et´e 3.1 SoitR = AC−I; si R <1, alorsAetCsont inversibles et A−1 ≤ C

1− R , R

A ≤ C−A−1 ≤ C R

1− R . (3.14) Dans le cadre de l’analysea priorir´etrograde, on peut interpr´eter C comme

´

etant l’inverse de A +δA (o`uδA est inconnue). On suppose ainsi que C(A + δA) = I, ce qui implique

δA = C−1−A =−(AC−I)C−1=−RC−1. Par cons´equent, si R <1, on en d´eduit que

δA ≤ R A

1− R , (3.15)

o`u on a utilis´e la seconde in´egalit´e de (3.14) avec A comme approximation de l’inverse de C (remarquer que les rˆoles de C et A sont interchangeables).

3.1.4 Analyse a posteriori

Avoir une approximation de l’inverse de A par une matrice C revient `a avoir une approximation de la solution du syst`eme lin´eaire (3.2). Notons y une

solution approch´ee connue. Le but de l’analysea posterioriest de relier l’erreur (inconnue)e=y−x`a des quantit´es qu’on peut calculer en utilisantyet C.

Le point de d´epart de l’analyse repose sur le fait que ler´esidur=b−Ay est en g´en´eral non nul, puisquey n’est qu’une approximation de la solution exacte inconnue. Le r´esidu peut ˆetre reli´e `a l’erreur grˆace `a la Propri´et´e 3.1 : si R <1 alors

e ≤ r C

1− R . (3.16)

Remarquer que l’estimation ne n´ecessite pas que y co¨ıncide avec la solution

x= Cbde l’analysea priorir´etrograde. On pourrait donc songer `a calculer C dans le seul but d’utiliser l’estimation (3.16) (par exemple, dans le cas o`u (3.2) est r´esolu par la m´ethode d’´elimination de Gauss, on peut calculer C a posteriorien utilisant la factorisation LU de A, voir les Sections 3.3 et 3.3.1).

Concluons en remarquant que si δb est interpr´et´e dans (3.11) comme le r´esidu de la solution calcul´eey=x+δx, on a ´egalement

e

x ≤K(A) r

b . (3.17)

L’estimation (3.17) n’est pas utilis´ee en pratique car le r´esidu calcul´e est en-tach´e d’erreur d’arrondi. En posant r = fl(b−Ay) et en supposant que notation sera d´esign´ee dans la suitenotation valeur absolue. Nous utiliserons aussi la notation suivante

C≤D, o`u C, D∈Rm×n pour indiquer que

cij≤dij pour i= 1, . . . , m, j= 1, . . . , n.

Des formules du type de (3.18) sont impl´ement´ees dans la biblioth`eque d’al-g`ebre lin´eaire LAPACK (voir [ABB+92]).

Dans le document Méthodes Numériques (Page 74-79)