• Aucun résultat trouvé

It´eration dans les sous-espaces de Krylov

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+1k) = xk+ λkdk. (3.121) Il est l`a aussi facile de montrer que J(xk+1k)) 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 que

Vect{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.