Gauss-Seidel, SOR na prática?

8

Quando aprendi sobre o SOR, ele foi dado principalmente como um dos primeiros exemplos de métodos iterativos e, posteriormente, os métodos iterativos que eu acabaria usando seriam os métodos do subespaço de Krylov.

Algum dos métodos iterativos como Gauss-Seidel e SOR já foi usado na prática? Você conhece algum pacote real que os use "a sério", para algo diferente de fins de demonstração?

Kirill
fonte

Respostas:

10

Sim, mas não como solucionadores independentes para sistemas lineares de equações. Atualmente, eles são usados ​​como smoothers em multigrid ou como precondicionadores nos métodos de krylov .

Paulo
fonte
Obrigado pela resposta; você conhece pacotes de software específicos que os usam assim?
21914 Kirill
Muitos pacotes os implementam. Entre eles, eu achei o PETSC bastante fácil de usar para iniciantes.
Paul
Você também pode querer verificar o PyAMG se você é um usuário de python.
Daniel Shapero
6

Paul já deu a resposta curta (que todos os pacotes de álgebra linear e PDE implementam esses métodos, mas são mais frequentemente usados ​​apenas como smoothers em métodos multigrid). A resposta longa pode ser encontrada nas palestras 34-38 aqui: http://www.math.tamu.edu/~bangerth/videos.html

Wolfgang Bangerth
fonte
Wolfgang, sobre esse assunto, como você quantifica o que torna o melhor mais suave para os métodos multigrid? Certamente é viável usar métodos SOR / GS, RK explícito ou Krylov para realizar a mesma tarefa.
Aurelius
Não é trivial dar qualquer resposta teórica para isso. Na prática, as pessoas comparam números de iterações externas para atingir uma determinada tolerância para diferentes smoothers, ou melhor ainda, o tempo de execução.
Wolfgang Bangerth