Métodos de Adams-Bashforth Se y é uma solução exacta do problema de Cauchy, então ti+1 y(t i+1 ) = y(t i )+ f(t, y(t)) dt. t i A ideia é de aproximar a função f(t, y(t)) no intervalo [t i, t i+1 ] pelo seu polinómio de interpolação Π i,r, nos pontos t i, t i 1, t i 2,, t i r, definido por Π i,r (t) = f i k L i,r,k (t) onde L i,r,k (t) = r j=0 j k t t i j t i k t i j
Assim com ti+1 y(t i+1 ) = y(t i )+ y(t i )+ = y(t i )+ = y(t i )+h b i,r,k = 1 h t i ti+1 t i f(t, y(t)) dt Π i,r (t) dt ti+1 f i k L i,r,k (t) dt t i b i,r,k f i k ti+1 t i L i,r,k (t) dt
Uma vez que h é constante, o método é invariante por translação e os coeficientes b i,k,r não dependem de i: b i,r,k = 1 h ih h = 1 h 0 (i+1)h r j=0 j k L i,r,k (t) dt = 1 h t jh (j+k)h dt b r,k h 0 L i,r,k (t + ih) dt O método de Adams-Bashforth de r+ 1 passos escreve-se AB r+1 : u i+1 = u i + h b r,k f i k, i r
Observações. 1. Na fase de inicialização do método (AB r+1 ), os primeiros valores (u 1, f 1 ),, (u r, f r ) serão fornecidos por algum método auxiliar de passo simples. Em geral, escolhemos um método de Runge-Kutta de ordem (r+ 1). 2. O interesse deste método reside na sua simplicidade e no facto que uma única evaluação de f é necessária em cada etapa, ao contrário dos métodos de Runge-Kutta.
3. Uma vez que Π i,r (P(t)) = P(t i k )L r,k (t) deduzimos que 1 = L r,k (t). Portanto h = ti+1 L r,k (t) dt = h t i implicando que os coeficientes b r,k satisfazem b r,k = 1 b r,k
1. Se r = 0, então Exemplos Π i,0 = constante = f i e b 0,0 = 1 Portanto AB 1 : u i+1 = u i + hf i que corresponde ao método de Euler progressivo.
2. Se r = 1, então t t Π i,1 (t) = f i L i,0,1 (t)+f i 1 L i,1,1 (t) = f i 1 i t i t i 1 + f i 1 e portanto ti+1 = f i + f i f i 1 t i t i 1 (t t i ) t t i t i 1 t i Π i,1 (t) dt = f i (t i+1 t i )+ f i f i 1 [ 1 t i t i 1 2 (t t i) 2] t i+1 t i t i = hf i + h 2 (f i f i 1 ) = h ( 3 2 f i 1 2 f i 1). O algoritmo associado é dado por AB 2 : u i+1 = u i + h ( 3 2 f i 1 2 f ) i 1
Para r = 0, 1, 2, 3 os coeficientes b r,k são dados pela tabela seguinte r b 0,r b 1,r b 2,r b 3,r β r = r b r,k 0 1 1 1 3 2 1 2 2 23 2 12 16 12 55 3 24 59 24 5 12 3.66 37 24-9 24 6.66 Tabela 1: Métodos de Adams-Bashforth
Erro de consistência e ordem do método AB r+1 Teorema 1. Suponha que f é de classe C r+1. Então o método de Adams-Bashforth de (r+ 1) passos é consistente e a sua ordem de consistência é igual a r+ 1.
Demonstração. Recordamos primeiro que o erro de interpolação é dado por r 1 f(t, y(t)) Π i,r (t) = (r+1)! f(r+1) (θ, y(θ)) (t t i k ) r 1 = (r+1)! y(r+2) (θ) (t t i k ) C (r+1)! em que θ ]t i r, t i+1 [ e C = max t [t 0,T] r (t t i k ) y (r+2) (t).
Além disso, para t [t i, t i+1 ] temos hk t t i k h(k+ 1) k = 0,, r r = (t t i k ) h r+1 (r+ 1)! = f(t, y(t)) Π i,r (t) Ch r+1. Assim, o erro de truncatura satisfaz ti+1 τ(t i, y(t i ), h) = 1 h (f(t, y(t)) Π i,r (t)) dt 1 h t i ti+1 t i f(t, y(t)) Π i,r (t) dt Ch r+1
Estabilidade do método AB r+1 Definição. O método AB r+1 é estável, com constante de estabilidade igual a S, se para u i, ũ i soluções de u i+1 = u i + h ũ i+1 = ũ i + h b r,k f i k r i < n b r,k f i k +ε i, r i < n, fi k = f(t i k, ũ i k ). temos max ũ i u i S 0 i n ( max ũ i u i + 0 i r ) n 1 ε i i=r
Teorema 2. Suponha que f éλ-lipschitzeana em y e que b r,k β r Então, o método de Adams-Bashforth de (r+ 1) passos é estável, com uma constante de estabilidade dada por S = e βrλ(t t 0)
Demonstração. Sejaδ i = max ũ k u k. Para r i < n, temos 0 k i ũ i+1 u i+1 (ũ ) i u i )+h b r,k ( fi k f i k +εi ũ i u i +h ũ i u i +hλ ( 1+λh b r,k fi k f + εi i k b r,k ũ i k u i k + ε i ) b r,k δ i + ε i (1+λhβ r )δ i + ε i.
Podemos então mostrar que δ n (1+λhβ r )δ n 1 + ε n 1 (1+λhβ r ) 2 δ n 2 +(1+λhβ r ) ε n 2 + ε n 1 + ε n 1. (1+λhβ r ) n r δ r +(1+λhβ r ) n r 1 ε r + + ε n 1 ) n 1 (1+λhβ r ) (δ n r r + ε i i=r
Utilizando o facto que 1+x e x para x 0, concluimos que δ n ) ( ) n r n 1 e (δ λhβr r + ε i i=r ) n 1 = e (δ λβr(tn tr) r + ε i ( ) n 1 S δ r + ε i i=r i=r com S = e λβr(t t 0).
Observação. Da Tabela 1, podemos ver que a constante β r cresce rapidamente quando r aumenta. A estabilidade torna-se cada vez pior com o aumento do número de passos r. Este problema de estabilidade é um dos inconvenientes dos métodos de Adams-Bashforth para r grande.
Nos métodos de Adams-Bashforth Métodos de Adams-Moulton f(t, y(t)), t [t i, t i+1 ] Problema: Π polinómio interpolador nos nós t i r,, t i Π é um polinómio extrapolador O erro de interpolação aumenta rapidamente fora do intervalo de interpolação = consequências sobra a convergência
Ideia dos métodos de Adams-Moulton: estender o polinómio interpolador ao próprio nó t i+1. SejaΠ i,r o polinómio de interpolação de grau r+ 1, nos pontos (t i k, f i k ) para 1 k r Π i,r (t) = f i k L i,r,k (t) k= 1 onde L i,r,k (t) = r j= 1 j k t t i j t i k t i j
Assim com ti+1 y(t i+1 ) = y(t i )+ y(t i )+ = y(t i )+ = y(t i )+h t i ti+1 t i ti+1 f(t, y(t)) dt Π i,r (t) dt ti+1 f i k k= 1 k= 1 t i b i,r,kf i k L i,r,k (t) dt b i,r,k = 1 h t i L i,r,k(t) dt b r,k
O método de Adams-Moulton de r+ 1 passos escreve-se AM r+1 : u i+1 hb i,r, 1 f i+1 = u i + h b i,r,k f i k, i r O método de Adams-Moulton é implícito: para resolver esta equação usaremos um método iterativo.
Exemplos 1. Se r = 0, então Π i,0 é o polinómio de interpolação de grau 1 nos pontos t i e t i+1 Π i,0 (t) = f i + f i+1 f i h (t t i ) pelo que Obtemos assim ti+1 t i Π i,0 (t) dt = h 2 (f i+1 + f i ). AM 1 : u i+1 = u i + h 2 (f i + f i+1 ) que corresponde ao método de Crank-Nicolson.
2. Se r = 1, então Π i,1 é o polinómio de interpolação de grau 2 nos pontos t i 1, t i e t i+1 pelo que Π i,1 (t) = (t t i)(t t i 1 ) f 2h 2 i+1 (t t i 1) 2 f h 2 i + (t t i)(t t i+1 ) 2h 2 ti+1 t i Π i,1(t) dt = h ( 5 12 f i+1 + 8 12 f i 1 12 f i 1). Obtemos assim o algoritmo AM 2 : u i+1 = u i + h ( 5 12 f i+1 + 8 12 f i 1 12 f ) i 1 f i 1
Para r = 0, 1, 2, 3 os coeficientes b k,r são dados pela tabela seguinte r b r, 1 b 0,r b 1,r b 2,r b 3,r βr = r b r,k 0 1 2 1 5 12 2 9 24 3 251 720 1 2 1 8 12 1 12 1.16 19 24 5 24 646 720 264 720 1 24 1.41 106 720 19 720 1.78 Tabela 2: Métodos de Adams-Moulton
Observações. 1. Os coeficientes b r,k satisfazem b r,k = 1 k= 1 2. A quantidade β r intervém no cálculo da constante de estabilidade do método.
Erro de consistência e ordem do método AM r+1 Teorema 3. Suponha que f é de classe C r+2. Então o método de Adams-Moulton de(r+ 1) passos é consistente e a sua ordem de consistência é igual a r+ 2.
Demonstração. Recordamos primeiro que o erro de interpolação é dado por r 1 f(t, y(t)) Π i,r (t) = (r+2)! f(r+2) (θ, y(θ)) (t t i k ) k= 1 r 1 = (r+2)! y(r+3) (θ) (t t i k ) k= 1 C r (r+2)! (t t i k ) em que θ ]t i r, t i+1 [ e C = max t [t 0,T] k= 1 y (r+3) (t).
Além disso, para t [t i, t i+1 ] temos = hk t t i k h(k+1) r (t t i k ) = (t i+1 t) k= 1 k = 0,, r r (t t i k ) h r+2 (r+ 1)! = f(t, y(t)) Π i,r (t) C r+2 hr+2. Assim, o erro de truncatura satisfaz ti+1 τ(t i, y(t i ), h) = 1 ( h f(t, y(t)) Π i,r (t) ) dt 1 h t i ti+1 t i f(t, y(t)) Π i,r (t) dt C r+2 hr+2
Estabilidade do método AM r+1 Teorema 4. Suponha que f éλ-lipschitzeana em y e que Se k= 1 b r,k β r h < 1 λ b r, 1 então o método de Adams-Moulton de(r+ 1) passos é estável, com uma constante de estabilidade S = e λβr (T t 0 ) 1 hλ b r, 1
Demonstração. Sejam u i, ũ i as soluções de ( ) u i+1 = u i + h b r, 1f i+1 + b r,kf i k ũ i+1 = ũ i + h ( fi k = f(t i k, ũ i k ). b r, 1 f i+1 + r i < n b r,k f i k )+ε i, r i < n,
Para r i < n, e utilizando o facto que f é lipschitzeana, temos ũ i+1 u i+1 (ũ i u i )+hb ) r, 1( f i+1 f i+1 + h r ) b r,k( f i k f i k +εi ũ i u i +h b r, 1 fi+1 f i+1 +h r b r,k fi k f + εi i k ũ i u i +hλ b r, 1 ũ i+1 u i+1 +hλ r b r,k ũ i k u i k + ε i ( hλ ũ i+1 u i+1 + 1+hλ ) r δ i + ε i. b r, 1 b r,k
Portanto ( ) 1 hλ b r, 1 ũ i+1 u i+1 } {{ } γ Se γ > 0, deduzimos que = ( 1+hλ r ( γ + hλ r b r,k k= 1 b r,k (γ + hλβ r)δ i + ε i. ũ i+1 u i+1 qδ i + 1 γ ε i with q = γ+hλβ r γ ) δ i + ε i ) δ i + ε i
Uma vez que e que q 1 vem que δ i+1 = max( ũ i+1 u i+1,δ i ) δ i+1 qδ i + 1 γ ε i i = r,, n 1. Assim, usando o facto que γ 1 e que qγ = γ +λhβ r 1 hλ b r, 1 +hλ = 1+hλ 1 b r,k k= 1 b r,k
δ n q n r δ r + q n r 1 εr γ + +q ε i 2 ( ) = q n r δ r + εr qγ + + ε i 1 q n r γ ( q n r δ r + ) n 1 i=r ε i ( ) n r ( = 1+h λβ r γ δ r + ) n 1 i=r ε i ( e λβ ) r n r( γ h δ r + ) n 1 i=r ε i = e λβ r (tn tr)( γ δ r + ) n 1 i=r ε i e λβ ( r γ (T t 0) δ r + ) n 1 i=r ε i γ + ε i 1 γ
Observações. 1. Baseado no Teorema 3, escolhe-se em geral um método de Runge-Kutta de ordem (r + 2) para inicializar o método. 2. Tendo em conta o Teorema 4, notar que se h 1 λ b r, 1, entaõ λβ r (T t 0 ) 1 hλ b S = e r, 1 S = e λβ r (T t 0 ). Fixando a ordem, e comparando as tabelas 1 e 2, podemos ver que os métodos de Adams-Moulton são muito mais estáveis que os métodos de Adams-Bashforth.
Princípio geral. Métodos preditor-corretor 1. Usar Adams-Bashforth para calcular explicitamente uma primeira aproximação pu i+1 do valor u i+1,.i.e pu i+1 = previsão de u i+1 pf i+1 = f(t i+1, pu i+1 ) = previsão de f i+1. 2. Na formula de Adams-Moulton, substituir f i+1 pelo valor pf i+1. Obtemos um novo valor corrigido u i+1 que será subsequentemente usado.
Um método preditor-corretor pode ser escrito da forma seguinte Previsão : pu i+1 = u i + h b r,k f i k Avaliação : pf i+1 = f(t i+1, pu i+1 ) (PECE) ( Correção : u i+1 = u i + h b 1, r pf i+1 + Avaliação : f i+1 = f(t i+1, u i+1 ) b k, r f i k )
Erro local do método PECE Seja y uma solução exacta para o problema de Cauchy. Seja u i+1 o valor obtido usando método PECE e seja u i+1 o valor obtido usando apenas o método corretor (de Adams-Moulton) de modo que u i+1 = u i + h ( f i+1 = f(t i+1, u i+1 ) b 1, r f i+1 + b k, r f i k ) O erro local correspondente é e i+1 = y(t i+1) u i+1. O método preditor introduze também um erro local pe i+1 = y(t i+1 ) pu i+1..
Portanto, o erro local do método PECE satisfaz e i+1 = y(t i+1 ) u i+1 = e i+1 + u i+1 u i+1 = e i+1 + ( ) hb 1, r f i+1 pf i+1 e i+1 +h b 1, r f i+1 pf i+1 e i+1 +hλ b 1, r u i+1 pu i+1 ( e +hλ b u i+1 1, r i+1 y(t i+1 ) + y(ti+1 ) pu i+1 ) ( 1+hλ ) b e +hλ b pei+1 1, r i+1 1, r.
Daqui resulta que ordem de convergência (PECE) = min( r, r) + 2 ordem(ab r+1 )+1 se r = r = ordem(ab r+1 )+1 se r > r ordem(am r+1 ) < ordem(ab r+1 )+1 se r < r
Se r = r, a ordem do método é r+2 = ordem du corretor = usar (AB r+1 ) não compromete a ordem do método. Se r > r a ordem é r + 2, i.e. o recurso a uma única correção limita a ordem à do preditor mais um = não vala a pena usar um corretor demasiado bom = basta escolher r = r. Se r < r, a ordem é r+2 = estamos a usar um preditor demasiado bom para o corretor escolhido.
Conclusão: A situação ideal é tomar r = r, ou seja, o método AB r+1 como método preditor e o método AM r+1 como método corretor. previsão : pu i+1 = u i + h b r,k f i k avaliação : pf i+1 = f(t i+1, pu i+1 ) ( correção : u i+1 = u i + h avaliação : f i+1 = f(t i+1, u i+1 ). b r, 1 pf i+1 + ) b r,k f i k
Exemplo Preditor Euler (ordem 1), Corretor AM 1 (ordem 2) previsão : pu i+1 = u i + hf i avaliação : pf i+1 = f(t i+1, pu i+1 ) correção : u i+1 = u i + h ( 1 2 pf i+1 + 1 2 f ) i avaliação : f i+1 = f(t i+1, u i+1 ) Este algoritmo corresponde ao método de Heun.
Estabilidade do método PECE Teorema 5. Suponha que f éλ-lipschitzeana em y e que b r,k β r e b r,k β r. k= 1 Então o método de PECE é estável, com uma constante de estabilidade S = e λ(t t 0)(β r +β rλh)
Demonstração. Seja ũ i a solução de pũ i+1 = ũ i + h b r,k f i k ( ũ i+1 = ũ i + h b r, 1 p f i+1 + b r,k f i k )+ε i, r i < n e seja δ i = max 0 k i ũ k u k e pδ i = max 0 k i pu k pu k
Utilizando argumentos similares aos das provas dos teoremas 2 e 4, obtemos para r i < n pδ i+1 δ i + hλβ r δ i e δ i+1 δ i + hλ δ i + hλ ( b r, 1 ( b = δ i (1+λh pδi+1 + r, 1 k= 1 b δi k,r )+ ε i (δ i + hλβ r δ i )+ b k,r b k,r +(λh) 2 β r )+ ε i = δ i ( 1+λhβ r +(λh) 2 β r )+ ε i. δ i )+ ε i
Assim, concluimos que o método é PECE é estável com uma constante de estabilidade igual a S = e λ(t t 0)(β r +β rλh). Observação. Se h é suficientemente pequeno, S e λ(t t 0)β r. A estabilidade do preditor não afeta a estabilidade do PECE sendo a constante de estabilidade correspondente pouco diferente da constante associada ao método de Adams-Moulton.
Sistemas de EDO s Considere o sistema de equações diferenciais ordinárias { d y dt = f(t, y(t)) t (t 0, T) y(t 0 ) = u 0 (1) em que são vetores de R m. y = (y 1,, y m ), f = (f1,, f m ) u 0 = (y 0,1,, y 0,m )
O sistema (1) pose ser reescrito na forma dy 1 dt dy 2 dt. = f 1 (t, y 1 (t), y 2 (t),, y m (t)) = f 2 (t, y 1 (t), y 2 (t),, y m (t)) dy m dt = f m (t, y 1 (t), y 2 (t),, y m (t)) y 1 (t 0 ) = y 0,1, y 2 (t 0 ) = y 0,2,, y m (t 0 ) = y 0,m.
A este sistema podemos aplicar quaisquer dos métodos já descritos com as devidas adaptações. Por exemplo, o método de Euler progressivo pode escrever-se em notação vectorial da seguinte forma u i+1 = u i + h f(t i, u i ) a que corresponde, em termos de componentes, a versão u 1,i+1 = u 1,i + h f 1 (t i, u 1,i, u 2,i,, u m,i ) u 2,i+1 = u 2,i + h f 1 (t i, u 1,i, u 2,i,, u m,i ). u m,i+1 = u m,i + h f 1 (t i, u 1,i, u 2,i,, u m,i ).
A generalidade dos resultados relativos a consistência, convergência e estabilidade continuam válidos. No entanto, os sistemas de equações diferenciais oridinarias suscitam problemas de maior complexidade.
EDO s de ordem superior Considere por exemplo a EDO de ordem p dada por com as condições iniciais y (p) (t) = f(t, y(t), y (t),, y (p 1) (t)) y(t 0 ) = y 0 y (t 0 ) = y 0. y (p 1) (t 0 ) = y (p 1) 0.
A ideia é de transformá-la num sistema de EDO s de primeira ordem. A transformação de variáveis a usar é a seguinte y 1 y 2. y p y 1 y 2. y p = = y y. y (p 1) y 2 y 3. f(t, y 1, y 2,, y p ).