La méthode de Gram–Schmidt–Arnoldi
Daniele A. Di Pietro
11 avril 2013
Soit A∈Rn,net v∈Rnnon 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,...,Ak−1v}.
Il est utile de rappeler qu’il existe un indice k0à partir duquel l’inclusion Kk−1(A,v)⊂Kk(A,v)
devient une égalité, à savoir
(dim(Kk(A,v)) = ksi 0 ≤k≤k0,
dim(Kk(A,v)) = k0si k≥k0.
L’algorithme GSA consiste à poser v1:=v/kvk2puis à calculer pour k=1,...
hi k =vT
iAvk∀1≤i≤k
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 ≤m≤k0, 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 H∈Rm+1,mcontenant les coefficients hi j .
Soit V
m∈Rn,mla matrice dont les colonnes sont les vecteurs v(k), 1 ≤k≤m, 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