• Aucun résultat trouvé

Pr´ ecision de la m´ ethode de Gauss

Dans le document Méthodes Numériques (Page 114-117)

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

3.9 Pr´ ecision de la m´ ethode de Gauss

a la seconde, on ´elimine l’inconnue x1 et on obtient l’´equation ´equivalente suivante

A(1)22x2+ AT32x3=b2−H21c1,

avec A(1)22 = A22−HT21H21. On effectue alors la factorisation de A(1)22 puis on

´

elimine l’inconnuex3de la troisi`eme ligne et on r´ep`ete ces op´erations pour les autres lignes du syst`eme. A la fin de cette proc´edure, au cours de laquelle on a r´esolu (n−1)n−1

qui peut ˆetre r´esolu par une m´ethode de substitution r´etrograde (“remont´ee”) par blocs. Si tous les blocs sont de mˆeme taillep, le nombre de multiplications effectu´ees par cet algorithme est d’environ (7/6)(n−1)p3(en supposant pet ntr`es grands).

Remarque 3.5 (matrices creuses) Quand le nombre de coefficients non nuls de la matrice A ∈ Rn×n est de l’ordre de n et que la matrice n’a pas de structure particuli`ere, on dit que la matrice est creuse. Dans ce cas, la factorisation entraˆıne l’apparition d’un grand nombre de termes non nuls `a des endroits o`u les ´el´ements ´etaient initialement nuls. Ce ph´enom`ene, appel´e remplissage (fill-in en anglais), est tr`es coˆuteux car il empˆeche de stocker la matrice factoris´ee dans le mˆeme emplacement m´emoire que la matrice creuse elle-mˆeme. Pour cette raison, des algorithmes dont le but est de diminuer le remplissage ont ´et´e d´evelopp´es (voir p. ex. [QSS07], Section 3.9).

3.9 Pr´ ecision de la m´ ethode de Gauss

Analysons les effets des erreurs d’arrondi sur la pr´ecision de la solution obte-nue par la m´ethode de Gauss. Supposons que A etbsoient une matrice et un vecteur de nombres `a virgule flottante. NotonsL et U les matrices de la factori- sation LU induite par la m´ethode de Gauss effectu´ee en arithm´etique `a virgule

flottante. La solutionxfournie par la m´ethode de Gauss peut ˆetre vue comme la solution (en arithm´etique exacte) du syst`eme perturb´e (A +δA)x=b, o`u δA est une matrice de perturbation telle que

|δA| ≤nu

%

3|A|+ 5|L||U|&

+O(u2), (3.56)

o`u u d´esigne l’unit´e d’arrondi et o`u on a utilis´e la notation valeur absolue.

Par cons´equent, les ´el´ements deδA sont petits `a condition que ceux deL et U le soient. En effectuant un changement de pivot partiel, on peut majorer le module des ´el´ements deL par 1. Ainsi, en prenant la norme infinie, et en remarquant que L ≤n, l’estimation (3.56) devient

δA ≤nu

%

3 A + 5n U

&

+O(u2). (3.57) La majoration de δA dans (3.57) n’a d’int´erˆet pratique que s’il est possible d’avoir une estimation de U . Dans ce but, on peut effectuer une analyse r´etrograde en introduisant lefacteur d’accroissement

ρn= max

i,j,k|a(ijk)| max

i,j |aij|. (3.58)

En utilisant le fait que|uij| ≤ρnmax

i,j |aij|, le r´esultat suivant, dˆu `a Wilkinson, peut ˆetre d´eduit de (3.57),

δA ≤8un3ρn A +O(u2). (3.59) Le facteur d’accroissement peut ˆetre born´e par 2n−1, et, bien que dans la plupart des cas il soit de l’ordre de 10, il existe des matrices pour lesquelles l’in´egalit´e (3.59) devient une ´egalit´e (voir, par exemple, l’Exercice 5). Pour des classes de matrices particuli`eres, on peut trouver des majorations pr´ecises deρn :

1. pour les matrices bandes dont les largeurs de bande sup´erieure et inf´ e-rieure sont ´egales `ap,ρn ≤22p−1−(p−1)2p−2( par cons´equent, dans le cas tridiagonal on aρn ≤2) ;

2. pour les matrices de Hessenberg, ρn ≤n;

3. pour les matrices sym´etriques d´efinies positives,ρn = 1 ; 4. pour les matrices `a diagonale dominante par colonnes,ρn≤2.

Pour obtenir une meilleure stabilit´e en utilisant la m´ethode de Gauss avec des matrices quelconques, le recours `a la m´ethode du pivot total semble in-dispensable. On est alors assur´e que ρn ≤n1/2

2· 31/2· . . .· n1/(n−1)1/2

, dont la croissance est plus lente que 2n−1quandnaugmente.

N´eanmoins, en dehors de ce cas tr`es particulier, la m´ethode de Gauss avec changement de pivot partiel pr´esente des facteurs d’accroissement acceptables.

Ceci fait d’elle la m´ethode la plus couramment utilis´ee dans les calculs pra-tiques.

Exemple 3.5 Consid´erons le syst`eme lin´eaire (3.2) avec

qui admet comme solution exactex=1, quelle que soit la valeur deε. Le conditionne-ment de la matrice est petit puisqueK(A) = (1 +ε)2. En r´esolvant le syst`eme avec ε = 10−15 par une factorisation LU avec 16 chiffres significatifs, et en utilisant les Programmes 5, 2 et 3, on obtient x= [0.8881784197001253, 1.000000000000000]T, ce qui repr´esente une erreur de plus de 11% sur la premi`ere composante. On peut se faire une id´ee des raisons de ce manque de pr´ecision en examinant (3.56). Cette derni`ere in´egalit´e ne donne en effet pas une majoration uniform´ement petite de tous les termes de la matriceδA. Plus pr´ecis´ement :

|δA| ≤

3.55·10−30 1.33·10−15 1.33·10−15 2.22

.

Remarquer que les ´el´ements des matrices correspondantes L et U sont grands en module. En revanche, la m´ethode de Gauss avec changement de pivot total ou partiel conduit `a la solution exacte du syst`eme (voir Exercice 6). • Consid´erons `a pr´esent le rˆole du conditionnement dans l’analyse d’erreur de la m´ethode de Gauss. La solutionxobtenue par cet algorithme a typiquement un petit r´esidur=b−Ax (voir [GL89]). N´eanmoins, cette propri´et´e ne ga-rantit pas que l’erreurx−xsoit petite quandK(A)1 (voir l’Exemple 3.6).

En fait, en interpr´etantδbcomme le r´esidu dans (3.11), on a x−x

x ≤K(A) r 1

A x ≤K(A) r b .

Ce r´esultat sera utilis´e pour construire des m´ethodes, fond´ees sur l’analyse a posteriori, qui permettent d’am´eliorer la pr´ecision de la m´ethode de Gauss (voir Section 3.11).

Exemple 3.6 Consid´erons le syst`eme lin´eaire Ax=bavec A = au grand conditionnement de la matrice A. Dans ce cas en effetK(A) = 20001. • Une estimation du nombre de chiffres significatifs exacts de la solution num´erique peut ˆetre obtenue comme suit. D’apr`es (3.13), en posant γ = u (l’unit´e d’arrondi) et en supposantuK(A)≤1/2, on a

δx

x ≤ 2uK(A)

1−uK(A) ≤4uK(A).

Par cons´equent

x−x

x uK(A). (3.61)

En supposant que uβt et K(A)βm, on en d´eduit que la solutionx calcul´ee par la m´ethode de Gauss aura au moins t−m chiffres exacts, o`u t est le nombre de chiffres de la mantisse. En d’autres termes, le mauvais condi-tionnement d’un syst`eme d´epend `a la fois de la pr´ecision de l’arithm´etique `a virgule flottante utilis´ee et de la tol´erance requise pour la solution.

Dans le document Méthodes Numériques (Page 114-117)