Pré-condicionamento e efeitos na precisão da solução de LSE

8

Nos meus cursos de análise numérica, fui ensinado que a principal e principal motivação para pré-condicionar sistemas lineares de equações é aumentar a taxa de convergência de solucionadores iterativos para essa LSE.

Mas, existe algum efeito na precisão da solução computada?

Lembro-me de um resultado na precisão da solução computacional de eliminação gaussiana, que pode ser encontrada em Matrix Computations por Golub e Van Loan (p. 122). O número da condição (com relação a alguma norma específica) realmente afeta a precisão da solução numérica calculada por esse algoritmo.

Pode-se esperar que algo semelhante seja válido para soluções obtidas por, por exemplo, Gradientes Conjugados. Eu acho que observei isso em um experimento computacional. Quando o método de gradiente Conjugado foi executado em um sistema não condicionado por um (longo) tempo até que algum critério de parada fosse atendido, a solução computada ainda exibia um alto residual. Então, eu me pergunto se os números de condição mais baixos não apenas levam a tempos de execução mais baixos, mas também a um menor resíduo (ou erro) na solução computada. Observe que isso é necessariamente uma questão de estabilidade numérica, o que exige que trabalhemos em aritmética imprecisa.

(Fiz a mesma pergunta em math.SE, mas acho que este site pode ser mais apropriado.)

shuhalo
fonte
1
κ
Você perdeu o ponto da minha pergunta, que pode ter sido por mim deixado de fora. Corrigi, por favor, releia a pergunta novamente agora. - Note que não peço a taxa de convergência, mas a "qualidade" da solução, por mais que se possa definir isso.
Shuhalo 14/05

Respostas:

5

A precisão da eliminação gaussiana não é limitada em termos de número de condição. Há um exemplo de uma matriz bem condicionada em Trefethen e Bau (e provavelmente em outros lugares) para a qual a eliminação gaussiana é exponencialmente instável em relação ao tamanho da matriz.

ABxκ(A)κ(B)κ(AB)

De qualquer forma, o pré-condicionamento faz duas coisas:

  1. Torna a solução bem representada em um pequeno número de vetores que aparecem no início da iteração.
  2. Faz com que a norma em que avaliamos a otimização sobre um subespaço se aproxime da norma do erro do que a norma do residual.

Depende de você se você deseja que o erro seja pequeno ou o residual pequeno.

Jed Brown
fonte