En general, todos los métodos de Krylov buscan esencialmente un polinomio que sea pequeño cuando se evalúa en el espectro de la matriz. En particular, el º residual de un método Krylov (con conjetura inicial cero) se puede escribir en la forman
rn=Pn(A)b
donde es algún polinomio monico de grado n .Pnn
Si es diagonalizable, con A = V Λ V - 1 , tenemosAA=VΛV−1
∥rn∥≤=∥V∥⋅∥Pn(Λ)∥⋅∥V−1∥⋅∥b∥κ(V)⋅∥Pn(Λ)∥⋅∥b∥.
En el caso de que sea normal (p. Ej., Simétrica o unitaria), sabemos que κ ( V ) = 1. GMRES construye dicho polinomio a través de la iteración de Arnoldi, mientras que CG construye el polinomio usando un producto interno diferente (vea esta respuesta para más detalles) . Del mismo modo, BiCG construye su polinomio a través del proceso de Lanczos no simétrico, mientras que la iteración de Chebyshev utiliza información previa sobre el espectro (generalmente estimaciones de los valores propios más grandes y más pequeños para matrices simétricas definidas).Aκ(V)=1.
Como un buen ejemplo (motivado por Trefethen + Bau), considere una matriz cuyo espectro es este:
En MATLAB, construí esto con:
A = rand(200,200);
[Q R] = qr(A);
A = (1/2)*Q + eye(200,200);
Si consideramos GMRES, que construye polinomios que realmente minimizan el residuo sobre todos los polinomios monicos de grado , podemos predecir fácilmente el historial residual observando el polinomio candidaton
Pn(z)=(1−z)n
que en nuestro caso da
|Pn(z)|=12n
para en el espectro de A .zA
Ahora, si ejecutamos GMRES en un RHS aleatorio y comparamos el historial residual con este polinomio, deberían ser bastante similares (los valores de polinomios candidatos son más pequeños que el residual de GMRES porque ):∥b∥2>1