• Aucun résultat trouvé

Syst` emes ind´ etermin´ es

Dans le document Méthodes Numériques (Page 120-126)

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

3.12 Syst` emes ind´ etermin´ es

etapeide l’algorithme, l’erreur relative x−x(i) / x est diminu´ee d’un facteur ρdonn´e par

ρ2 ncond(A,x)u (RPF),

ou ρu (RPM).

Remarquer queρest ind´ependant du conditionnement de A dans le cas RPM.

Une convergence lente de RPF est une indication claire du grand conditionne-ment de la matrice : sipest le nombre d’it´erations n´ecessaires `a la convergence de la m´ethode, on peut montrer queK(A)βt(1−1/p).

Mˆeme quand il est effectu´e en pr´ecision fixe, le raffinement it´eratif est utile dans la mesure o`u il am´eliore la stabilit´e globale des m´ethodes directes pour la r´esolution d’un syst`eme. Nous renvoyons le lecteur `a [Ric81], [Ske80], [JW77]

[Ste73], [Wil63] et [CMSW79] pour davantage de renseignements sur ce sujet.

3.12 Syst` emes ind´ etermin´ es

Nous avons vu que sin=met si A est inversible alors la solution du syst`eme lin´eaire Ax=bexiste et est unique. Dans cette section, nous donnons un sens

`

a la solution d’un syst`emesurd´etermin´e,i.e.quandm > n, etsousd´etermin´e, i.e. quand m < n. Notons qu’un syst`eme ind´etermin´e n’a g´en´eralement pas de solution `a moins que le second membrebn’appartienne `a Im(A).

Nous renvoyons `a [LH74], [GL89] et [Bj¨o88] pour une pr´esentation plus d´ e-taill´ee.

Etant donn´e A∈ Rm×n avec m ≥n, et b∈ Rm, on dit que x ∈ Rn est une solution du syst`eme lin´eaire Ax=bau sens des moindres carr´essi

Φ(x)≤ min

x∈RnΦ(x), o`u Φ(x) = Ax−b 22. (3.62)

Le probl`eme consiste donc `a minimiser la norme euclidienne du r´esidu. La solution de (3.62) peut ˆetre d´etermin´ee en imposant au gradient de la fonction Φ de s’annuler enx. Puisque

Φ(x) = (Ax−b)T(Ax−b) =xTATAx−2xTATb+bTb, on a

∇Φ(x) = 2ATAx−2ATb= 0.

Il en d´ecoule quex doit ˆetre solution du syst`eme carr´e

ATAx = ATb, (3.63)

appel´e syst`eme des´equations normales. Le syst`eme est non singulier si A est de rang maximum. Dans ce cas, la solution au sens des moindres carr´es existe et est unique.

Remarquons que B = ATA est une matrice sym´etrique d´efinie positive.

Ainsi, pour r´esoudre les ´equations normales, on pourrait d’abord effectuer la factorisation de Cholesky B = HTH, puis r´esoudre les deux syst`emes HTy = ATbet Hx =y. Cependant, cette m´ethode pr´esentent deux incon-v´enients majeur. D’une part le syst`eme (3.63) est mal conditionn´e. D’autre part, les erreurs d’arrondi peuvent entraˆıner une perte du nombre de chiffres significatifs lors du calcul de ATA, ce qui peut alt´erer les propri´et´es d’inversi-bilit´e et/ou de positivit´e de cette matrice. Ainsi, dans l’exemple suivant (o`u les calculs sont effectu´es dans MATLAB), A est de rang maximal et la matrice fl(ATA) est singuli`ere

A =

⎣ 1 1 2−27 0

0 2−27

⎦, fl(ATA) = 1 1

1 1

.

Il est en g´en´eral plus efficace d’utiliser la factorisation QR introduite `a la Section 3.4.3. On a alors le r´esultat suivant :

Th´eor`eme 3.7 Soit A∈Rm×n, avecm≥n, une matrice de rang maximal.

Alors, l’unique solution de(3.62)est donn´ee par

x = ˜R−1Tb, (3.64)

o`u R˜ ∈Rn×n et Q˜ ∈Rm×n sont les matrices d´efinies dans (3.45)`a partir de la factorisation QR de A. De plus, le minimum deΦest donn´e par

Φ(x) = m i=n+1

[(QTb)i]2.

D´emonstration.La factorisation QR de A existe et est unique puisque A est de rang maximal. Ainsi, il existe deux matrices, Q∈Rm×m et R∈Rm×n telles que A=QR, o`u Q est orthogonale. Le fait que les matrices orthogonales pr´eservent le produit scalaire euclidien entraˆıne

Ax−b22 =Rx−QTb22. En rappelant que R est trap´ezo¨ıdale, on a

Rx−QTb22=Rx˜ −Q˜Tb22+ m i=n+1

[(QTb)i]2.

Le minimum est donc atteint enx=x. 3

Pour plus de pr´ecisions sur l’analyse du coˆut de cet algorithme (qui d´epend de l’impl´ementation de la factorisation QR), ainsi que pour des r´esultats sur sa stabilit´e, nous renvoyons le lecteur aux ouvrages cit´es au d´ebut de la section.

Si A n’est pas de rang maximal, les techniques de r´esolution ci-dessus ne s’appliquent plus. Dans ce cas en effet, six est solution de (3.62), le vecteur x +z, avec z ∈ Ker(A), est ´egalement solution. On doit par cons´equent imposer une contrainte suppl´ementaire pour forcer l’unicit´e de la solution.

Typiquement, on peut chercher `a minimiser la norme euclidienne dex. Le probl`eme des moindres carr´es peut alors ˆetre formul´e ainsi :

trouverx∈Rn de norme euclidienne minimale tel que Ax−b 22≤ min

x∈Rn Ax−b 22. (3.65)

Ce probl`eme est consistant avec (3.62) si A est de rang maximal puisque dans ce cas (3.62) a une unique solution (qui est donc n´ecessairement de norme minimale).

L’outil pour r´esoudre (3.65) est la d´ecomposition en valeurs singuli`eres (ou DVS, voir Section 1.9). On a en effet le th´eor`eme suivant :

Th´eor`eme 3.8 Soit A∈Rm×n dont la d´ecomposition en valeurs singuli`eres est donn´ee par A = UΣVT. Alors, l’unique solution de(3.65)est

x= Ab, (3.66)

o`u A est la pseudo-inverse deA introduite dans la D´efinition 1.16.

D´emonstration.En utilisant la DVS de A, le probl`eme (3.65) est ´equivalent `a trouverw= VTxtel quewait une norme euclidienne minimale et

Σw−UTb22≤ Σy−UTb22, ∀y∈Rn. Sir est le nombre de valeurs singuli`eresσinon nulles de A, alors

Σw−UTb22= r i=1

#

σiwi−(UTb)i

$2

+ m i=r+1

# (UTb)i

$2

,

qui est minimal siwi= (UTb)ii pouri= 1, . . . , r. De plus, il est clair que parmi les vecteursw deRndont lesr premi`eres composantes sont fix´ees, celui de norme euclidienne minimale est celui dont les n−r composantes restantes sont nulles.

Ainsi, la solution estw= ΣUTb, c’est-`a-dire,x= VΣUTb= Ab, o`u Σest la

matrice diagonale d´efinie en (1.12). 3

En ce qui concerne la stabilit´e du probl`eme (3.65), pr´ecisons que si la matrice A n’est pas de rang maximal, la solutionx n’est pas n´ecessairement une fonction continue des donn´ees, de sorte qu’une petite modification de ces derni`eres peut induire de grandes variations dansx. En voici un exemple :

Exemple 3.9 Consid´erons le syst`eme Ax=bavec

A =

⎣ 1 0 0 0 0 0

⎦, b=

⎣ 1 2 3

⎦, rg(A) = 1.

La fonctionsvdde MATLAB permet de calculer la d´ecomposition en valeurs singu-li`eres de A. En calculant la pseudo-inverse, on trouve alors la solutionx= [1, 0]T. Si on modifie de 10−12 l’´el´ement nul a22, la matrice perturb´ee est de rang 2 (i.e.

de rang maximal) et la solution (unique au sens de (3.62)) est alors donn´ee par

x= [1, 2·1012]T. •

Dans le cas des syst`emes sousd´etermin´es,i.e.pour lesquelsm < n, si A est de rang maximal, la factorisation QR peut encore ˆetre utilis´ee. En particulier, quand on l’applique `a la matrice transpos´ee AT, la m´ethode conduit `a la solution de norme euclidienne minimale. Si, au contraire, la matrice n’est pas de rang maximal, on doit effectuer une d´ecomposition en valeurs singuli`eres.

Remarque 3.7 Si m = n (syst`eme carr´e), la DVS et la factorisation QR peuvent ˆetre utilis´ees comme alternative `a la m´ethode de Gauss pour r´esoudre le syst`eme lin´eaire Ax=b. Mˆeme si ces algorithmes sont plus coˆuteux que la m´ethode de Gauss (la DVS, par exemple, n´ecessite 12n3flops), ils se r´ev`elent plus pr´ecis quand le syst`eme est mal conditionn´e et presque singulier.

Exemple 3.10 Calculons la solution du syst`eme lin´eaire H15x=b, o`u H15 est la matrice de Hilbert d’ordre 15 (voir (3.29)) et o`u le second membre est choisi de fa¸con `a ce que la solution exacte soit le vecteur unit´ex=1. La m´ethode de Gauss avec changement de pivot partiel donne une solution dont l’erreur relative d´epasse 100%. Une meilleure solution est obtenue en effectuant le calcul de la matrice pseudo-inverse, dans lequel les ´el´ements de Σ inf´erieurs `a 10−13 ont ´et´e remplac´es par 0.

3.13 Exercices

1. Pour une matrice carr´ee quelconque A∈Rn×n, montrer les relations suivantes : 1

nK2(A)≤K1(A)≤nK2(A), 1

nK(A)≤K2(A)≤nK(A), 1

n2K1(A)≤K(A)≤n2K1(A).

Ceci permet de conclure qu’un syst`eme mal conditionn´e dans une certaine norme demeure mal conditionn´e dans une autre norme, `a un facteur multiplicatif pr`es d´ependant den.

2. V´erifier que la matrice B∈Rn×n :bii = 1,bij=−1 sii < j,bij = 0 sii > j, est telle que d´et(B) = 1 etK(B) =n2n−1.

3. Montrer queK(AB)≤K(A)K(B), pour toutes matrices A et B∈Rn×n inver-sibles.

6. Soit A la matrice de l’Exemple 3.5. Prouver que les ´el´ements des matrices L et U sont tr` es grands en module. V´erifier qu’on obtient la solution exacte en utilisant la m´ethode de Gauss avec changement de pivot total.

7. Construire une variante de la m´ethode de Gauss qui transforme une matrice inversible A∈Rn×ndirectement en une matrice diagonale D. Cet algorithme est connu sous le nom de m´ethode de Gauss-Jordan. Trouver les matrices de transformation de Gauss-Jordan Gi,i= 1, . . . , n, telles que Gn. . .G1A = D.

8. Etudier l’existence et l’unicit´e de la factorisation LU des matrices suivantes B =

[Solution: d’apr`es la Propri´et´e 3.4, la matrice singuli`ere B, dont la sous-matrice principale B1= 1 est inversible, admet une unique factorisation LU. La matrice inversible C dont la sous-matrice C1est singuli`ere n’admet pas de factorisation, tandis que la matrice (singuli`ere) D, dont la sous-matrice D1 est singuli`ere, admet une infinit´e de factorisations de la forme D = LβUβ, avec l11β = 1,

(1) Est-il possible d’utiliser la m´ethode de Gauss sans pivot ? (2) Trouver une permutation de A, sous la forme PAQ, pour laquelle on peut appliquer la m´ e-thode de Gauss. Comment transforme-t-elle le syst`eme lin´eaire ?

[Solution: la Propri´et´e 3.4 n’est pas satisfaite car d´et(A22) = 0. La matrice de permutation est celle qui ´echange d’une part la premi`ere et la seconde lignes, d’autre part la seconde et la troisi`eme colonnes.]

10. Montrer que, si A est une matrice sym´etrique d´efinie positive, r´esoudre le sys-t`eme lin´eaire Ax =brevient `a calculer x=n

i=1(cii)vi, o`u lesλi sont les valeurs propres de A et o`u lesvisont les vecteurs propres correspondants.

11. (D’apr`es [JM92]). On se donne le syst`eme lin´eaire suivant 1001 1000

1000 1001 x1 x2

= b1

b2

.

En utilisant l’Exercice 10, expliquer pourquoi, quand b = [2001, 2001]T, un petite perturbationδb= [1,0]T produit de grandes variations dans la solution, et r´eciproquement quand b= [1, −1]T, une petite variationδx = [0.001,0]T dans la solution induit de grandes variations dans b.

[Indication : d´ecomposer le second membre sur la base des vecteurs propres de la matrice.]

12. D´eterminer le remplissage pour une matrice A∈Rn×nn’ayant des termes non nuls que sur la diagonale principale, sur la premi`ere colonne et sur la derni`ere ligne. Proposer une permutation qui minimise le remplissage.

[Indication : il suffit d’´echanger la premi`ere ligne et la premi`ere colonne avec la derni`ere ligne et la derni`ere colonne respectivement.]

13. Soit Hnx=bun syst`eme lin´eaire o`u Hn est la matrice de Hilbert d’ordren.

Estimer, en fonction de n, le nombre maximum de chiffres significatifs qu’on peut attendre en r´esolvant ce syst`eme avec la m´ethode de Gauss.

14. Montrer que si A=QR alors 1

nK1(A)≤K1(R)≤nK1(A), et K2(A) =K2(R).

4

M´ ethodes it´ eratives pour la r´ esolution

Dans le document Méthodes Numériques (Page 120-126)