Em geral, todos os métodos de Krylov buscam essencialmente um polinômio pequeno quando avaliado no espectro da matriz. Em particular, o th residual de um método Krylov (com zero de estimativa inicial) pode ser escrita sob a forman
rn= Pn( A ) b
onde é algum polinômio monônico de grau n .Pnn
Se é diagonalizável, com A = V Λ V - 1 , temosUMAA = VΛ V- 1
∥ rn∥≤=∥ V∥ ⋅ ∥ Pn( Λ ) ∥ ⋅ ∥ V- 1∥ ⋅ ∥ b ∥κ ( V) ⋅ ∥ Pn( Λ ) ∥ ⋅ ∥ b ∥ .
No caso de ser normal (por exemplo, simétrico ou unitário), sabemos que κ ( V ) = 1. GMRES constrói esse polinômio através da iteração de Arnoldi, enquanto CG constrói o polinômio usando um produto interno diferente (consulte esta resposta para obter detalhes) . Da mesma forma, o BiCG constrói seu polinômio através do processo não simétrico de Lanczos, enquanto a iteração Chebyshev usa informações anteriores sobre o espectro (geralmente estimativas dos maiores e menores valores próprios para matrizes definidas simétricas).UMAκ ( V) = 1.
Como um exemplo interessante (motivado por Trefethen + Bau), considere uma matriz cujo espectro é este:
No MATLAB, eu construí isso com:
A = rand(200,200);
[Q R] = qr(A);
A = (1/2)*Q + eye(200,200);
Se considerarmos o GMRES, que constrói polinômios que realmente minimizam o residual sobre todos os polinômios mônicos de grau , podemos prever facilmente o histórico residual observando o polinômio candidaton
Pn( z) = ( 1 - z)n
que no nosso caso dá
| Pn( z) | = 12n
para no espectro de Uma .zUMA
Agora, se rodarmos o GMRES em um RHS aleatório e compararmos o histórico residual com esse polinômio, eles deverão ser bastante semelhantes (os valores polinomiais candidatos são menores que o residual do GMRES porque ):∥ b ∥2> 1