La méthode de Gram–Schmidt–Arnoldi
Daniele A. Di Pietro
11 avril 2013
Soit ARn,net vRnnon nul. L’algorithme de Gram–Schmidt–Arnoldi (GSA) permet
de trouver une base orthonormée pour l’espace de Krylov
Kk(A,v):={v,Av,...,Ak1v}.
Il est utile de rappeler qu’il existe un indice k0à partir duquel l’inclusion Kk1(A,v)Kk(A,v)
devient une égalité, à savoir
(dim(Kk(A,v)) = ksi 0 kk0,
dim(Kk(A,v)) = k0si kk0.
L’algorithme GSA consiste à poser v1:=v/kvk2puis à calculer pour k=1,...
hi k =vT
iAvk1ik
wk=Avk
k
X
i=1
hi k vi,hk+1,k=kwk2.(1)
Si wk=0 l’algorithme s’arrête et k=k0, sinon on pose vk+1=wk/kwkk2, on incrémente
kd’une unité, et on reprend. Les vecteurs v1,...,vk0ainsi obtenus forment une base pour
l’espace de Krylov Kk0(A,v).
En pratique, on peut arrêter l’algorithme à toute itération 1 mk0, ce qui permet de
déterminer une base pour l’espace Km(A,v). La mémorisation de la base demande alors de
stocker une matrice de Hessenberg supérieure HRm+1,mcontenant les coefficients hi j .
Soit V
mRn,mla matrice dont les colonnes sont les vecteurs v(k), 1 km, engendrés par
l’algorithme GSA. On peut prouver que
VT
m+1AV
m=Hm. (2)
1) On considère la procédure suivante pour le calcul de la base de Km(A,v): pour , entiers
donnés et avec et ,
1
avec
La fonction a pour but de réaliser l’itération (1) à partir des matri-
ces V
k+1et Hk. L’entier kcorrespond à la dimension courante de l’espace de Krylov et,
plus précisément,
(a) si k>m, la dimension souhaitée de l’espace de Krylov a été atteinte, et on sort de
la fonction ;
(b) si km, on effectue une itération (1). Deux cas sont possibles : (i) soit w(k)6=0, et
alors on ajoute le vecteur normalisé à la base en posant V
:k+1=w(k)/kw(k)k2puis on
met à jour la dimension courante lk+1. La nouvelle matrice V
laura alors une
colonne non nulle en plus par rapport à V
k; (ii) soit w(k)=0, ce qui indique que
kk0et la suite Kk(A,v)est devenue stationnaire. Dans ce cas on n’ajoute aucun
vecteur à la base et lk. Le fait que l=kà la sortie de la fonction est utilisé pour
arrêter l’itération sur k.
Mettre en œuvre la fonction en suivant les indications données.
2) A l’aide de la procédure développée au point précédent, calculer une base orthonormée
pour l’espace de Krylov Km(A,v)avec m=3 et
A=
5 7 6 5 7
10 8 7 6 8
10 9 5 7 9
10 5 7 6 5
7 10 8 7 6
,v=
1
1
1
1
1
.
Vérifier numériquement la condition (2).
3) Déterminer la dimension maximale k0de l’espace de Krylov Kk(A,v)avec
A:=tridiag4(1,2,1)v=1 1 1 1T
2
1 / 2 100%