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−1Q˜Tb, (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∗= A†b, (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)i/σi 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= A†b, 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(ci/λi)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).