3.6.2 ´ Elimination gaussienne
3.7 M´ethodes it´eratives
3.7.2 It´eration dans les sous-espaces de Krylov
L’it´eration dans les sous-espaces de Krylov [89, 240] a donn´e un coup de vieux aux m´ethodes it´eratives classiques, qui peuvent se r´ev´eler tr`es lentes ou mˆeme ne pas converger. Elle est qualifi´ee dans [55] de l’un des dix algorithmes qui ont eu la plus grande influence dans le d´eveloppement et la pratique de la science et de l’ing´enierie au 20-`eme si`ecle.
3.7.2.1 De Jacobi `a Krylov
L’it´eration de Jacobi peut s’´ecrire
xk+1=−D−1(L + U)xk+ D−1b. (3.105) L’´equation (3.94) implique que L+ U = A− D, de sorte que
xk+1= (I− D−1A)xk+ D−1b. (3.106) Puisque la vraie solution x?= A−1b est inconnue, l’erreur
δ xk= xk
− x? (3.107) ne peut pas ˆetre calcul´ee. Pour caract´eriser la qualit´e de la solution approximative obtenue jusqu’ici, on remplace donc cette erreur par le r´esidu
rk= b− Axk=−A(xk
− x?) =−Aδ xk. (3.108) Normalisons le syst`eme d’´equations `a r´esoudre pour le rendre tel que D= I. Alors
xk+1 = (I− A)xk+ b
= xk+ rk. (3.109) Soustrayons x?des deux membres de (3.109), et multiplions le r´esultat par−A pour obtenir
rk+1= rk− Ark. (3.110) L’´equation de r´ecurrence (3.110) implique que rkest une combinaison lin´eaire des vecteurs r0, Ar0,··· ,Akr0:
rk∈ Vect{r0, Ar0,··· ,Akr0}, (3.111) et (3.109) implique alors que
xk− x0=
k−1
∑
i=0
On a donc
xk∈ x0+ Vect{r0, Ar0,··· ,Ak−1r0
}, (3.113) o`u Vect{r0, Ar0,··· ,Ak−1r0} est le k-`eme sous-espace de Krylov g´en´er´e par A `a partir de r0, not´eKk(A, r0).
Remarque 3.17.La d´efinition des sous-espaces de Krylov implique que
Kk−1(A, r0)⊂ Kk(A, r0), (3.114) et que chaque it´eration augmente la dimension de l’espace de recherche au plus d’une unit´e. Supposons, par exemple, que x0= 0, ce qui implique que r0= b. Sup-posons de plus que b soit un vecteur propre de A tel que
Ab= λ b. (3.115) Alors
∀k > 1, Vect{r0, Ar0,··· ,Ak−1r0
} = Vect{b}. (3.116) Ceci est bien adapt´e, puisque la solution est x= λ−1b. Remarque 3.18.Soit Pn(λ ) le polynˆome caract´eristique de A,
Pn(λ ) = det(A− λ In). (3.117) D’apr`es le th´eor`eme de Cayley-Hamilton, Pn(A) est la matrice n× n dont tous les ´el´ements sont nuls. Anest donc une combinaison lin´eaire de An−1, An−2,··· ,In, de sorte que
∀k > n, Kk(A, r0) =Kn(A, r0). (3.118) La dimension de l’espace dans lequel la recherche prend place ne peut donc plus croˆıtre apr`es les n premi`eres it´erations.
Un point crucial, non prouv´e ici, est qu’il existe ν6 n tel que
x?∈ x0+Kν(A, r0). (3.119) En principe, on peut donc esp´erer obtenir la solution en au plus n= dim x it´erations dans les sous-espaces de Krylov, alors qu’une telle borne n’existe pas pour les it´erations de Jacobi, Gauss-Seidel ou SOR. En pratique, avec des calculs `a virgule flottante, on peut encore obtenir de meilleurs r´esultats en it´erant jusqu’`a ce que la solution soit jug´ee satisfaisante.
3.7.2.2 A est sym´etrique d´efinie positive
Quand A 0, la famille des m´ethodes de gradients conjugu´es [97], [78], [218] reste `a ce jour la r´ef´erence. La solution approximative est recherch´ee en minimisant
J(x) =1 2x
TAx− bTx. (3.120) En utilisant les conditions th´eoriques d’optimalit´e pr´esent´ees en section 9.1, il est facile de montrer que le seul minimiseur de cette fonction de coˆut est en effet b
x= A−1b. Partant de xk, l’approximation de x? `a l’it´eration k, xk+1est calcul´e par recherche `a une dimension dans une direction dkcomme
xk+1(λk) = xk+ λkdk. (3.121) Il est l`a aussi facile de montrer que J(xk+1(λk)) est minimal si
λk=(d
k)T(b− Axk)
(dk)TAdk . (3.122) La direction de recherche dkest choisie pour assurer que
(di)TAdk= 0, i= 0,··· ,k − 1, (3.123) ce qui veut dire qu’elle est conjugu´ee par rapport `a A (ou A-orthogonale) avec toutes les directions de recherche pr´ec´edentes. Si les calculs ´etaient exacts, ceci assurerait la convergence versbx en n it´erations au plus. A cause de l’effet des erreurs d’arrondi, il peut s’av´erer utile d’autoriser plus de n it´erations, quoique n puisse ˆetre si large que n it´erations soit en fait plus que ce qui est possible. (On obtient souvent une approximation utile de la solution en moins de n it´erations.)
Apr`es n it´erations, xn= x0+ n−1
∑
i=0 λidi, (3.124) de sorte que xn∈ x0+ Vect{d0,··· ,dn−1}. (3.125) Un solveur dans les espaces de Krylov est obtenu si les directions de recherche sont telles queVect{d0,··· ,di
} = Ki+1(A, r0) i= 0, 1,··· (3.126) Ceci peut ˆetre accompli avec un algorithme ´etonnamment simple [97], [218], r´esum´e par le tableau 3.1. Voir aussi la section 9.3.4.6 et l’exemple 9.8.
Remarque 3.19.La notation := dans le tableau 3.1 signifie que la variable du membre de gauche se voit assigner la valeur qui r´esulte de l’´evaluation du membre de droite. Elle ne doit pas ˆetre confondue avec le signe ´egal, et on peut ´ecrire k:= k + 1 alors que k = k + 1 n’aurait aucun sens. Ceci dit, MATLAB, comme d’autres langages de programmation, utilise le signe = au lieu de :=.
Tableau 3.1 Solveur dans les espaces de Krylov r0:= b− Ax0, d0:= r0, δ0:=kr0k2 2, k:= 0. Tant que||rk||2> seuil, calculer
δ0 k:= (dk)TAdk, λk:= δk/δ0 k, xk+1:= xk+ λkdk, rk+1:= rk− λkAdk, δk+1:=krk+1k2 2, βk:= δk+1/δk, dk+1:= rk+1+ βkdk, k:= k + 1.
3.7.2.3 A n’est pas sym´etrique d´efinie positive
C’est une situation beaucoup plus compliqu´ee et plus coˆuteuse. Des m´ethodes sp´ecifiques, non d´etaill´ees ici, ont ´et´e d´evelopp´ees pour les matrices sym´etriques qui ne sont pas d´efinies positives [175], ainsi que pour des matrices non sym´etriques [203], [239].
3.7.2.4 Pr´econditionnement
La vitesse de convergence d’un solveur de Krylov d´epend fortement du condi-tionnement de A. Une acc´el´eration spectaculaire peut ˆetre obtenue en remplac¸ant (3.1) par
MAx= Mb, (3.127) o`u M est une matrice de pr´econditionnement convenablement choisie, et de nom-breux travaux de recherche ont ´et´e consacr´es `a ce th`eme [11], [200]. Les m´ethodes de Krylov pr´econditionn´ees qui en r´esultent convergent beaucoup plus vite et pour des classes de matrices beaucoup plus g´en´erales que les m´ethodes it´eratives clas-siques de la section 3.7.1.
Une des approches possibles pour choisir M est de rechercher une approximation creuse de l’inverse de A en r´esolvant
b
M= arg min
M∈SkIn− AMkF, (3.128) o`u k · kF est la norme de Frobenius et S est un ensemble de matrices creuses `a pr´eciser. Puisque kIn− AMk2 F= n
∑
j=1 kej − Amj k2 2, (3.129)o`u ej est la j-`eme colonne de Inet mjla j-`eme colonne de M, le calcul de M peut ˆetre d´ecompos´e en n probl`emes de moindres carr´es ind´ependants (un par colonne), sous des contraintes sp´ecifiant le caract`ere creux de M. Les ´el´ements non nuls de mj sont alors obtenus en r´esolvant un petit probl`eme de moindres carr´es lin´eaires sans contrainte(voir la section 9.2). Le calcul des colonnes de bM est donc facile `a parall´eliser. La difficult´e principale est le choix d’un bon ensemble S, qui peut ˆetre men´e avec une strat´egie adaptative [86]. On peut commencer avec M diagonale, ou ayant la mˆeme r´epartition de ses ´el´ements nuls que A.
Remarque 3.20.Le pr´econditionnement peut aussi ˆetre utilis´e avec des m´ethodes
directes.