Considere a situação em que você deseja resolver um sistema linear usando um método pré-condicionado de Krylov, mas a aplicação do pré-condicionador envolve a solução de um sistema auxiliar, o que é feito com outro método pré-condicionado de Krylov.
Em um extremo, você pode executar a resolução interna para convergência em cada etapa da resolução externa.
Por outro lado, você não poderia resolver o problema de maneira alguma, mas substituí-lo pelo pré-condicionador interno.
Em algum lugar no meio, você pode truncar o loop interno de Krylov após um número fixo de iterações ou após uma certa tolerância ser alcançada.
Empiricamente, deparei-me com situações em que o primeiro extremo é melhor e situações diferentes em que o segundo extremo é melhor (em termos de custo total). No entanto, não consigo encontrar uma razão clara para certas situações favorecerem uma estratégia em detrimento de outra.
Existe alguma orientação ou teoria sobre quando essas estratégias diferentes são preferíveis?
fonte
Respostas:
Esta questão está aberta há muito tempo, mas acho que ainda merece ser respondida.
Isso contrasta com muitos outros métodos usados para pré-condição: por exemplo, uma etapa SSOR é uma operação linear no vetor ao qual você a aplica, assim como todos os outros métodos que aplicam uma etapa de uma iteração de ponto fixo.
O problema fundamental agora é que a maioria dos métodos espaciais de Krylov exige que o pré-condicionador seja um operador linear. Eles simplesmente não convergirão se o pré-condicionador não for linear, explicando sua observação. Por outro lado, existem variações de alguns métodos espaciais de Krylov - normalmente prefixados pela palavra "Flexível", como F-GMRES em "GMRES flexível" - que resolvem isso e podem lidar com pré-condicionadores não lineares operadores. Essas variantes flexíveis dos métodos originais ainda convergirão, e geralmente são métodos poderosos quando combinadas com bons pré-condicionadores (mas não lineares).
fonte