Quais são os benefícios relativos do uso do algoritmo Adams-Moulton sobre o algoritmo Adams-Bashforth?

14

Estou resolvendo um sistema de dois PDEs acoplados em duas dimensões espaciais e no tempo computacionalmente. Como as avaliações de funções são caras, eu gostaria de usar um método de várias etapas (inicializado usando o Runge-Kutta 4-5).

O método Adams-Bashforth, usando cinco avaliações de funções anteriores, tem um erro global de (este é o caso em que s = 5 no artigo da Wikipedia mencionado abaixo) e requer uma avaliação de função (por PDE) por etapa.O(h5)s=5

O método Adams-Moulton, por outro lado, requer duas avaliações de função por etapa: uma para a etapa de previsão e outra para a etapa do corretor. Mais uma vez, se cinco avaliações de função forem usadas, o erro global será . ( s = 4 no artigo da Wikipedia)O(h5)s=4

Então, qual é o raciocínio por trás do uso de Adams-Moulton sobre Adams-Bashforth? Há um erro da mesma ordem, para o dobro do número de avaliações de funções. Intuitivamente, faz sentido que um método preditor-corretor seja favorável, mas alguém pode explicar isso quantitativamente?

Referência: http://en.wikipedia.org/wiki/Linear_multistep_method#Adams.E2.80.93Bashforth_methods

SimonSciComp
fonte
Esta pergunta está errada . Você se refere a Adams-Moulton, que é um método totalmente implícito, mas depois discute o uso de um método preditor-corretor. Eles não são a mesma coisa em tudo .
David Ketcheson
@ David O método Adams-Moulton ao qual me refiro (às vezes chamado Adams-Bashforth-Moulton) é um método preditivo-corretor. A etapa preditora é realizada usando Adams-Bashforth. O resultado da previsão é então usado na etapa de Adams-Moulton, para torná-la explícita. Posso dar mais detalhes se isso não estiver claro.
SimonSciComp
Está claro. Mas não é isso que Adams-Moulton quer dizer. Você precisa usar os nomes corretos.
David Ketcheson

Respostas:

12

O método Adams-Moulton é significativamente mais estável. A analogia usada quando me ensinaram a diferença é a mesma que extrapolação e interpolação. A interpolação é relativamente segura numericamente. A extrapolação pode explodir se você tiver uma assíntota ou alguma outra característica estranha.

Por exemplo, resolvendo o ode

com y ( 0 ) = 1y(t)=-y(t)y(0 0)=1

o uso do método Adams-Bashforth de 3ª ordem torna - se mais instável à medida que o timestep é reduzido. Ao adicionar a etapa do corretor, você evita grande parte dessa instabilidade. Um gráfico das regiões de estabilidade para os dois métodos é mostrado aqui:

insira a descrição da imagem aqui

λhλλh

Godric Seer
fonte
λh
@SimonSciComp Adicionei mais explicações abaixo do enredo. Deixe-me saber se algo mais não está claro.
Godric Seer
λh(λh)<0 0
1
λ