GMRES

Cet article est une ébauche concernant les mathématiques.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Consultez la liste des tâches à accomplir en page de discussion.

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Le fond de cet article de mathématiques est à vérifier ().

Améliorez-le ou discutez des points à vérifier. Si vous venez d’apposer le bandeau, merci d’indiquer ici les points à vérifier.

En mathématique, la généralisation de la méthode de minimisation du résidu (ou GMRES, pour Generalized minimal residual) 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 une approximation de la solution par un vecteur appartenant à un sous-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].

Principe de la méthode

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

A x = b . {\displaystyle 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 {\displaystyle \|b\|=1} (dans cet article, {\displaystyle \|\cdot \|} représente la norme euclidienne).

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

K n = Vect { b , A b , A 2 b , , A n 1 b } {\displaystyle \mathbb {K} _{n}=\operatorname {Vect} \,\{b,Ab,A^{2}b,\dotsc ,A^{n-1}b\}}

Vect signifie le sous-espace vectoriel engendré par les vecteurs.

La méthode GMRES donne une approximation de la solution exacte du système de départ par un vecteur x n K n {\displaystyle x_{n}\in \mathbb {K} _{n}} qui minimise la norme du résidu : A x n b {\displaystyle \|Ax_{n}-b\|} .

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

q 1 , q 2 , , q n {\displaystyle q_{1},q_{2},\dotsc ,q_{n}}

qui constituent une base de K n {\displaystyle \mathbb {K} _{n}} . Ainsi, le vecteur x n K n {\displaystyle x_{n}\in \mathbb {K} _{n}} peut s'écrire xn = Qn yn avec y n R n {\displaystyle y_{n}\in \mathbb {R} ^{n}} , 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 H ~ n {\displaystyle {\tilde {H}}_{n}} de taille (n+1) x n avec

A Q n = Q n + 1 H ~ n . {\displaystyle AQ_{n}=Q_{n+1}{\tilde {H}}_{n}.}

Comme Qn est orthogonale, on a

A x n b = H ~ n y n β e 1 , {\displaystyle \|Ax_{n}-b\|=\|{\tilde {H}}_{n}y_{n}-\beta e_{1}\|,}

e 1 = ( 1 , 0 , 0 , , 0 ) {\displaystyle e_{1}=(1,0,0,\dotsc ,0)}

est le premier vecteur de la base canonique de R n + 1 {\displaystyle \mathbb {R} ^{n+1}} , et

β = b A x 0 , {\displaystyle \beta =\|b-Ax_{0}\|\,,}

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

r n = H ~ n y n β e 1 . {\displaystyle r_{n}={\tilde {H}}_{n}y_{n}-\beta e_{1}.}

On reconnait un problème linéaire de moindres carrés de taille n.

L'algorithme se résume donc en :

  • effectuer une étape de l'algorithme d'Arnoldi ;
  • trouver yn qui minimise |rn| ;
  • calculer xn = Qn yn ;
  • 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).

Coûts

À chaque itération, un produit matrice-vecteur A qn 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

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).

Références

  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Generalized minimal residual method » (voir la liste des auteurs).
  1. (en) Y. Saad et M.H. Schultz, « GMRES: A generalized minimal residual algorithm for solving nonsymmetric linear systems », SIAM J. Sci. Stat. Comput., vol. 7, no 3,‎ , p. 856-869 (ISSN 0196-5204, DOI 10.1137/0907058)

Bibliographie

  • (en) A. Meister, Numerik linearer Gleichungssysteme, 2e éd., Vieweg 2005, (ISBN 978-3-528-13135-7).
  • (en) Y. Saad, Iterative Methods for Sparse Linear Systems, 2e éd., Society for Industrial and Applied Mathematics, 2003. (ISBN 978-0-89871-534-7).
  • (en) J. Stoer et R. Bulirsch, Introduction to numerical analysis, 3e éd., Springer, New York, 2002. (ISBN 978-0-387-95452-3).
  • (en) Lloyd N. Trefethen et David Bau, III, Numerical Linear Algebra, Society for Industrial and Applied Mathematics, 1997. (ISBN 978-0-89871-361-9).
  • (en) J. Dongarra et al., Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, 2e éd., SIAM, Philadelphia, 1994
  • icône décorative Portail des mathématiques