Qual é um bom critério de parada ao usar um método iterativo para encontrar valores próprios?

8

Li essa resposta e percebi que tenho usado a diferença entre iterações sucessivas para definir um critério de parada para um método iterativo de encontrar autovalores / vetores.

Quais são os bons critérios de parada para métodos iterativos que convergem para autovalores e autovetores?

Dan
fonte

Respostas:

8

Youssef Saad's book Numerical Methods for Large Eigenvalue Problems, 2a edição usa a norma do vetor residual para definir critérios de convergência. Ele define o vetor residual da seguinte forma na página 59:

ACn×nλ~Cu~Cnλ~r(λ~,u~)

r=Au~λ~u~.

Muitos dos resultados de erro no livro de Saad são declarados em termos da norma do vetor residual (geralmente a norma 2), e ele usa a norma do vetor residual como uma métrica para convergência sempre que apresenta resultados numéricos. Com base nessa evidência, o critério de parada seria

__r__<ε.

O SLEPc (baseado no PETSc ) parece usar um critério de convergência semelhante em seus exercícios práticos (eles usam nos Exercícios 1 e 2).__r__/__λ~você~__

No entanto, o LAPACK não usa necessariamente essa métrica para convergência (veja, por exemplo, na nota de trabalho LAPACK (LAWN) # 15 , usando o método de Jacobi para calcular autovetores e autovalores de matrizes definidas positivas simétricas). Os LAWNs são bastante densos (perdoem o trocadilho) e técnicos, mas se você estiver interessado em ver o que implementações de alta qualidade usam para convergência, talvez valha uma leitura detalhada.

Geoff Oxberry
fonte
Pelo que entendi, para sistemas lineares , se estiver mal condicionado, o residual pode ser muito menor que o erro real do vetor de solução . O mesmo vale para problemas de autovalor? Nesse caso, o que podemos fazer para garantir que e no nosso caso sejam razoavelmente convergidos quando o resíduo for pequeno? UMAx=bUMAxvocêλ
Nkeguy