GMRES

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

En mathématique, la généralisation de la Méthode de Minimisation du Résidu (ou GMRES) est une méthode itérative pour déterminer une solution numérique d'un système d'équations linéaires. La méthode donne un approximation de la solution par un vecteur appartenant à un espace de Krylov avec un résidu minimal. Pour déterminer ce vecteur, on utilise la méthode itérative d' Arnoldi.

La méthode GMRES fut développée par Yousef Saad et Martin H. Schultz en 1986[1].

La méthode[modifier | modifier le code]

On cherche à résoudre le système d'équations linéaires suivant :

 Ax = b. \,

La matrice A est supposée inversible et de taille (m x m). De plus, on suppose que b est normé, i.e., ||b|| = 1 (dans cet article, ||·|| représente la norme euclidienne).

Le n-ième espace de Krylov pour ce problème est défini ainsi :

 K_n = \operatorname{Vect} \, \{ b, Ab, A^2b, \ldots, A^{n-1}b \}. \,

Où Vect signifie sous-espace vectoriel engendré.

GMRES donne une approximation de la solution exacte de Ax = b par le vecteur xnKn qui minimise la norme du résidu : ||Axnb||.

Pour garantir le caractère linéairement indépendant aux vecteurs b, Ab, …, An−1b, on utilise la méthode d'Arnoldi pour trouver des vecteurs orthonormaux

 q_1, q_2, \ldots, q_n \,

qui constituent une base de Kn. Ainsi, le vecteur xnKn peut s'écrire xn = Qnyn avec ynRn, et Qn une matrice de taille (m x n) formée des q1, …, qn.

La méthode d'Arnoldi produit aussi une matrice de Hessenberg supérieure \tilde{H}_n de taille (n+1) xn avec

 AQ_n = Q_{n+1} \tilde{H}_n. \,

Comme Q_n est orthogonale, on a

 \| Ax_n - b \| = \| \tilde{H}_ny_n - \beta e_1 \|, \,

 e_1 = (1,0,0,\ldots,0) \,

est le premier vecteur de la base canonique de Rn+1, et

 \beta = \|b-Ax_0\| \, ,

avec x_0 vecteur d'initialisation (pour simplifier, on peut prendre zéro). Ainsi, x_n peut être trouvé en minimisant la norme du résidu

 r_n = \tilde{H}_n y_n - \beta e_1.

C'est un problème linéaire de moindres carrés de taille n.

Voici le contenu de chaque itération de l'algorithme du GMRES :

  • effectuer une étape de l'algorithme d'Arnoldi ;
  • trouver  y_n qui minimise ||rn|| ;
  • calculer  x_n = Q_n y_n  ;
  • recommencer tant que le résidu est plus grand qu'une quantité choisie arbitrairement au début de l'algorithme (on appelle cette quantité tolérance).

À chaque itération, un produit matrice-vecteur Aqn doit être effectué. Cela génère un coût en calcul de 2m2 opérations pour les matrices non creuses de taille m, mais le coût peut être ramené à O(m) pour les matrices creuses. En plus du produit matrice-vecteur, O(n m) opérations doivent être effectuées à la n-ième itération.

Extensions de la méthode[modifier | modifier le code]

Comme d'autres méthodes itératives, GMRES est souvent combiné avec des méthodes de préconditionnement pour accroître la vitesse de convergence.

Le coût des itérations croît en O(n2), où n est le numéro de l'itération. De ce fait, La méthode est parfois relancée après un nombre k d'itérations, avec xk comme vecteur initial. Cette méthode est appelée GMRES(k).

Notes[modifier | modifier le code]

  1. Saad and Schultz

Références[modifier | modifier le code]

Notes et références[modifier | modifier le code]