Notas de Aula
Equa¸
c˜
oes Diferenciais Num´
ericas
Rodney Josu´
e Biezuner
1Departamento de Matem´
atica
Instituto de Ciˆ
encias Exatas (ICEx)
Universidade Federal de Minas Gerais (UFMG)
Notas de aula da disciplina Equa¸c˜oes Diferenciais Num´ericas do Curso de Bacharelado em Matem´atica Computacional, lecionada pelo autor durante o segundo semestre de 2015.
9 de novembro de 2015
1
Sum´
ario
1 M´etodos Num´ericos para Equa¸c˜oes Diferenciais Ordin´arias 4
1.1 Problema de Valor Inicial para Equa¸c˜oes Diferenciais Ordin´arias . . . 4
1.1.1 Discretiza¸c˜ao . . . 4
1.2 M´etodos de Passo ´Unico para EDOs de Primeira Ordem . . . 5
1.2.1 M´etodo de Euler . . . 5
1.2.2 M´etodos de Runge-Kutta . . . 10
1.2.3 Formula¸c˜ao Geral dos M´etodos de Runge-Kutta . . . 14
1.3 M´etodos de Passo M´ultiplo para EDOs de Primeira Ordem . . . 21
1.3.1 M´etodos de Adams-Bashforth . . . 21
1.4 M´etodos de Passo ´Unico para Sistemas de EDOs de Primeira Ordem . . . 23
2 M´etodo de Diferen¸cas Finitas para Equa¸c˜oes Diferenciais El´ıpticas 24 2.1 O Caso Unidimensional . . . 24
2.1.1 S´eries de Taylor e Diferen¸cas Finitas em Uma Dimens˜ao . . . 24
2.1.2 Discretiza¸c˜ao . . . 25
2.1.3 Resolu¸c˜ao Num´erica do Problema de Autovalor Unidimensional . . . 27
2.2 O Caso Bidimensional . . . 29
2.2.1 A F´ormula dos Cinco Pontos . . . 29
2.2.2 Existˆencia e Unicidade da Solu¸c˜ao Discreta – Autovalores do Problema Bidimensional 32 2.2.3 Princ´ıpio do M´aximo Discreto. . . 36
2.2.4 Convergˆencia da Solu¸c˜ao Discreta para a Solu¸c˜ao Cl´assica . . . 37
2.3 Discretiza¸c˜oes de Ordem Superior. . . 40
2.3.1 Caso Unidimensional. . . 40
2.3.2 Caso Bidimensional: A F´ormula dos Nove Pontos Compacta . . . 42
2.4 Diferen¸cas Finitas em Coordenadas Polares . . . 47
2.5 Dom´ınios Arbitr´arios . . . 51
2.6 Exerc´ıcios . . . 53
3 Existˆencia e Unicidade de Solu¸c˜oes Discretas 55 3.1 Normas Matriciais . . . 55
3.2 Matrizes Diagonalmente Dominantes . . . 58
3.3 Teorema dos Discos de Gershgorin . . . 59
3.4 Propriedade FC . . . 63
3.5 Matrizes Irredut´ıveis . . . 67
3.6 Invertibilidade de Matrizes de Discretiza¸c˜ao . . . 69
3.6.1 Esquemas de Diferen¸cas Finitas para o Intervalo e para o Retˆangulo . . . 69
3.6.2 Esquema de Coordenadas Polares. . . 70
3.6.3 Esquema de Shortley-Weller. . . 71 1
4 Equa¸c˜oes Diferenciais Parciais Hiperb´olicas e Parab´olicas 72
4.1 Equa¸c˜ao da Onda. . . 72
4.2 Esquemas de Diferen¸cas Finitas para a Equa¸c˜ao da Onda . . . 73
4.3 Convergˆencia de Problemas de Valor Inicial . . . 75
4.3.1 Espa¸cos de Sequˆencias e suas Normas . . . 75
4.3.2 Convergˆencia Puntual e Uniforme . . . 76
4.3.3 Convergˆencia Uniforme do Esquema de Lax-Friedrichs . . . 77
4.4 Consistˆencia de Problemas de Valor Inicial. . . 79
4.4.1 Defini¸c˜ao . . . 79
4.4.2 Consistˆencia Puntual do Esquema FTFS . . . 80
4.4.3 Consistˆencia Puntual do Esquema de Lax-Friedrichs . . . 81
4.4.4 Consistˆencia e Convergˆencia. . . 81
4.5 Estabilidade. . . 82
4.6 Condi¸c˜ao CFL . . . 84
4.7 Teorema da Equivalˆencia de Lax-Richtmyer . . . 85
4.8 Equa¸c˜ao do Calor. . . 86
4.8.1 Consistˆencia . . . 87
4.8.2 Escolhas Especiais de ∆x e ∆t . . . 87
4.8.3 Condi¸c˜oes de Fronteira de Neumann . . . 88
4.9 Convergˆencia do Esquema de Diferen¸cas Finitas Expl´ıcito FTCS . . . 89
5 M´etodos Iterativos para a Resolu¸c˜ao de Sistemas Lineares 94 5.1 M´etodos Iterativos Lineares . . . 94
5.1.1 M´etodo de Jacobi . . . 95
5.1.2 M´etodo de Gauss-Seidel . . . 96
5.1.3 M´etodo SOR . . . 96
5.1.4 Compara¸c˜ao da Velocidade de Convergˆencia dos Trˆes M´etodos . . . 97
5.1.5 M´etodo de Jacobi Amortecido. . . 98
5.2 An´alise de Convergˆencia dos M´etodos Iterativos Lineares. . . 99
5.2.1 Convergˆencia dos M´etodos Iterativos Lineares . . . 100
5.2.2 Velocidade de Convergˆencia dos M´etodos Iterativos Lineares . . . 102
5.2.3 Convergˆencia para Matrizes Sim´etricas Positivas Definidas. . . 104
5.3 Convergˆencia dos M´etodos Iterativos Lineares para as Matrizes de Discretiza¸c˜ao . . . 105
5.3.1 Convergˆencia do M´etodo de Jacobi . . . 105
5.3.2 Convergˆencia do M´etodo de Gauss-Seidel . . . 107
5.3.3 Convergˆencia do M´etodo SOR . . . 109
5.3.4 Convergˆencia do M´etodo de Jacobi Amortecido . . . 116
5.3.5 Resumo . . . 118
5.4 M´etodo do Gradiente Conjugado . . . 118
5.4.1 M´etodos de Descida . . . 119
5.4.2 M´etodo da Descida Mais Acentuada . . . 120
5.4.3 M´etodo do Gradiente Conjugado . . . 121
5.5 Convergˆencia do M´etodo do Gradiente Conjugado . . . 125
6 M´etodos Multigrid 128 6.1 A Malha de Multigrid . . . 129
6.2 Freq¨uˆencias Altas e Baixas . . . 130
6.3 Suaviza¸c˜ao do Erro . . . 131
6.3.1 M´etodo de Jacobi Amortecido. . . 131
6.4 O Ciclo de Duas Malhas . . . 134
7 M´etodo dos Volumes Finitos 138
7.1 Leis de Conserva¸c˜ao . . . 138
7.1.1 Lei de Conserva¸c˜ao Unidimensional. . . 138
7.1.2 Lei de Conserva¸c˜ao em V´arias Dimens˜oes . . . 140
7.1.3 Rela¸c˜oes Constitutivas . . . 141
7.2 O Caso Unidimensional . . . 142
7.3 O Caso Bidimensional . . . 146
7.4 Lineariza¸c˜ao do Termo Fonte . . . 149
7.4.1 Termo Fonte do Tipo f (u) = Au + B com A < 0 . . . 150
7.4.2 Termo Fonte do Tipo f (u) = Au + B com A > 0 . . . 150
Cap´ıtulo 1
M´
etodos Num´
ericos para Equa¸
c˜
oes
Diferenciais Ordin´
arias
Para complementar este cap´ıtulo, consulta `as referˆencias [Iserles], [HNW] e [Butcher] ´e fortemente recomen-dada.
1.1
Problema de Valor Inicial para Equa¸
c˜
oes Diferenciais Ordin´
arias
Sejam I, J intervalos abertos de R e f : I × J −→ R uma fun¸c˜ao real. Considere o problema de valor inicial para uma equa¸c˜ao diferencial ordin´aria de primeira ordem
y0(t) = f (t, y (t)) y (t0) = y0.
(1.1) Queremos buscar solu¸c˜oes num´ericas, isto ´e, solu¸c˜oes computacionalmente calcul´aveis que aproximem a solu¸c˜ao exata para este problema. Consequentemente, antes de fazer isso, precisamos saber que condi¸c˜oes a fun¸c˜ao f tem que satisfazer para que o problema (1.1) tenha de fato uma solu¸c˜ao, e que esta solu¸c˜ao seja ´
unica. No que se segue, denotaremos por I, J intervalos de R, que podem ser abertos, fechados, semiabertos, raios ou o pr´oprio R.
1.1 Defini¸c˜ao. Dizemos que f : I × J −→ R ´e uniformemente de Lipschitz na segunda vari´avel se existe uma constante λ > 0 tal que
|f (t, x) − f (t, y)| 6 λ |x − y|
para todos t ∈ I e para todos x, y ∈ J . A constante λ ´e chamada uma constante de Lipschitz para f . Exemplos de fun¸c˜oes f : I × J −→ R uniformemente de Lipschitz na segunda vari´avel s˜ao fun¸c˜oes conti-nuamente diferenci´aveis cuja derivada parcial ∂f
∂y ´e uniformemente limitada no dom´ınio I × J ; isto ´e uma consequˆencia imediata do Teorema do Valor M´edio.
1.2 Teorema (Teorema de Existˆencia e Unicidade para EDOs). Se f : I × J −→ R ´e uma fun¸c˜ao cont´ınua, uniformemente de Lipschitz na segunda vari´avel, ent˜ao o problema (1.1) tem uma solu¸c˜ao ´unica de classe C1 definida em um intervalo [t
0, b) para algum b > t0.
1.1.1
Discretiza¸
c˜
ao
Denote a aproxima¸c˜ao num´erica para a solu¸c˜ao exata y (t) para t > t0 por y. Embora em princ´ıpio uma
aproxima¸c˜ao para a solu¸c˜ao exata pudesse estar definida em todo o dom´ınio em que a solu¸c˜ao exata y estiver 4
definida, nossa aproxima¸c˜ao num´erica y, computacionalmente calcul´avel, s´o estar´a definida em um n´umero finito de pontos. Fixe um intervalo [t0, T ]. Se quisermos analisar o comportamento assint´otico da solu¸c˜ao
quando t → ∞, este intervalo poder´a ser mais tarde aumentado, escolhendo valores sucessivamente maiores para T . Dividimos o intervalo [t0, T ] em n subintervalos de mesmo comprimento igual a h = (T − t0) /n
atrav´es de n − 1 pontos interiores uniformemente espa¸cados t0 = t0 t1 = t0+ h t2 = t0+ 2h .. . tn−1 = t0+ (n − 1) h tn = t0+ nh = T (1.2)
de modo que [t0, T ] = [t0, t1] ∪ [t1, t2] ∪ . . . ∪ [tn−1, tn]. Esta parti¸c˜ao uniforme do intervalo [t0, T ] ´e chamada
uma discretiza¸c˜ao uniforme do intervalo [t0, T ] de norma h. Ela produz um conjunto discreto de pontos
{t0, t1, . . . , tn−1, tn} que chamamos uma malha discretizada para o intervalo [t0, T ] (tamb´em chamada
uma malha de n´os). Introduzimos a nota¸c˜ao:
yi= y(ti) (1.3)
para denotar o valor da solu¸c˜ao exata no instante de tempo ti; o valor da solu¸c˜ao aproximada neste ponto
ser´a denotado correspondentemente por yi. Assim, em princ´ıpio, a solu¸c˜ao aproximada y existir´a apenas
na malha discretizada; atrav´es de interpola¸c˜ao, valores para y podem ser produzidos em outros pontos do intervalo. Uma vez discretizado o dom´ınio da equa¸c˜ao diferencial, procedemos `a discretiza¸c˜ao desta propriamente dita. Isso pode ser feito de v´arias maneiras. Veremos algumas destas maneiras nas se¸c˜oes a seguir. Para analizar o qu˜ao bem estas diversas solu¸c˜oes aproximam a solu¸c˜ao exata, introduzimos o seguinte conceito:
1.3 Defini¸c˜ao. Definimos o erro absoluto da solu¸c˜ao aproximada no ponto i da malha por
ei= yi− yi, (1.4)
o erro de discretiza¸c˜ao local da solu¸c˜ao aproximada no ponto i da malha por
|ei| = |yi− yi| (1.5)
e o erro de discretiza¸c˜ao global da solu¸c˜ao aproximada no intervalo [t0, tn] discretizado por uma parti¸c˜ao
de norma h por
E ([t0, T ] , h) = max
i=1,...,n|ei| = maxi=1,...,n|yi− yi| . (1.6)
Dizemos que o erro ´e de ordem k, denotado
E ([t0, T ] , h) = O hk , (1.7)
se existe uma constante C > 0 tal que
|E ([t0, T ] , h)| 6 Chk. (1.8)
1.2
M´
etodos de Passo ´
Unico para EDOs de Primeira Ordem
1.2.1
M´
etodo de Euler
De acordo com a f´ormula de Taylor, podemos escrever y (ti+1) = y (ti+ h) = y (ti) + y0(ti) h + 1 2!y 00(t i) h2+ 1 3!y 000(t i) h3+ . . . + O (hn) .
Se truncarmos a s´erie de Taylor no termo de primeira ordem, teremos a aproxima¸c˜ao y (ti+1) ' y (ti) + y0(ti) h.
Substituindo a derivada primeira pela express˜ao dada na EDO, podemos definir uma solu¸c˜ao aproximada y por
yi+1= yi+ hf (ti, yi) . (1.9)
Este ´e o chamado m´etodo de Euler. Geometricamente, estamos aproximando yi+1 atrav´es de seguir a reta
tangente `a solu¸c˜ao em yi durante um intervalo de tempo h. Por este motivo, o m´etodo de Euler tamb´em ´e
chamado m´etodo da reta tangente. Vamos agora examinar o qu˜ao bem a solu¸c˜ao num´erica obtida atrav´es do m´etodo de Euler aproxima a solu¸c˜ao exata. Para isso, introduzimos o seguinte conceito:
1.4 Defini¸c˜ao. O erro de truncamento local do m´etodo de Euler no ponto t ´e definido por L (t, h) = y (t + h) − y (t)
h − f (t, y) . (1.10)
O erro de truncamento global do m´etodo de Euler ´e definido por L (h) = max
i=1,...,nL (ti, h) . (1.11)
O erro de truncamento local do m´etodo de Euler mede simplesmente o quanto o quociente de diferen¸ca que aproxima a derivada y0(t) difere do valor exato para y0(t) dado por f (t, y) na equa¸c˜ao diferencial. Al´em disso, se yi= yi, isto ´e, se come¸c´assemos da solu¸c˜ao exata, a diferen¸ca entre a solu¸c˜ao exata yi+1 e a solu¸c˜ao
aproximada yi+1 seria dada por
yi+1− yi+1= yi+1− [yi+ f (ti, yi) h]
= yi+1− [yi+ f (ti, yi) h]
= h yi+1− yi
h − f (ti, yi)
= hL (ti, h) ,
de modo que o erro de truncamento local vezes h ´e precisamente o erro de discretiza¸c˜ao absoluto local que seria produzido pelo m´etodo de Euler em um ´unico passo se come¸c´assemos da solu¸c˜ao exata. Evidentemente, embora no primeiro passo comecemos do valor exato da solu¸c˜ao, dado pela condi¸c˜ao inicial, este erro vai se propagando `a medida que calculamos os valores aproximados y1, . . . , yn−1, yn, com cada valor nesta sequˆencia
dependendo do valor aproximado calculado anteriormente. Precisamos saber se o erro pode ser limitado e, crucialmente, se o erro pode ser tornado arbitrariamente pequeno tomando h pequeno. Em outras palavras, precisamos saber se a solu¸c˜ao aproximada converge para a solu¸c˜ao exata quando h → 0. Al´em disso, estamos interessados na velocidade de convergˆencia, isto ´e, o qu˜ao pequeno h precisa ser para um certo valor especificado do erro.
1.5 Teorema (Convergˆencia do M´etodo de Euler). Considere o problema (1.1) com solu¸c˜ao exata no in-tervalo [t0, T ]. Se f ´e de classe C1 e
∂f
∂y ´e limitada em [t0, T ] × R, ent˜ao a solu¸c˜ao aproximada obtida pelo m´etodo de Euler converge para a solu¸c˜ao exata quando h → 0 e o erro ´e de primeira ordem, isto ´e,
Prova. Considere uma discretiza¸c˜ao uniforme do intervalo [t0, T ] com norma h, de modo que tn= T , para n = (tn− t0) /h. Seja λ = sup t∈[t0,T ] y∈R ∂f ∂y (t, y) (1.12)
a constante de Lipschitz para f . Observe que como f ´e de classe C1, segue da regra da cadeia que y ´e uma
solu¸c˜ao de classe C2, pois
y0(t) = f (t, y (t)) , y00(t) = ∂f ∂t (t, y (t)) + ∂f ∂y (t, y (t)) y 0(t, y (t)) = ∂f ∂t (t, y (t)) + f (t, y (t)) ∂f ∂y (t, y (t)) . Denote ent˜ao N = 1 2[tsup0,T ] |y00(t)| . (1.13)
Pelo Teorema do Valor M´edio, para t ∈ [t0, T ], x, y ∈ R, temos
|f (t, x) − f (t, y)| 6 sup t∈[t0,T ] y∈R ∂f ∂y (t, y) |x − y| = λ |x − y| ,
ou seja, f ´e uniformemente de Lipschitz em [t0, T ] × R sendo λ a constante de Lipschitz para f .
Pela f´ormula de Taylor
yi+1 = yi+ y0(ti) h + 1 2y 00(ξ i) h2 = yi+ f (ti, yi) h + 1 2y 00(ξ i) h2,
onde ξi∈ [ti, ti+1], logo
yi+1= yi+ f (ti, yi) h + L (ti, h) (1.14) e L (ti, h) = yi+1− yi h − f (ti, yi) = 1 2y 00(ξ i) h, donde L (h) 6 N h, (1.15)
ou seja, o erro de truncamento global ´e de primeira ordem. Segue de (1.14) e da defini¸c˜ao de y que
ei+1 = yi+1− yi+1
= yi+ hf (ti, yi) + hL (ti, h) − [yi+ f (ti, yi) h]
donde obtemos a seguinte f´ormula de itera¸c˜ao para o erro absoluto:
ei+1= ei+ h [f (ti, yi) − f (ti, yi)] + hL (ti, h) . (1.16)
Da´ı segue que
Denotando
A = 1 + λh, B = N h2,
temos uma desigualdade iterativa para o erro de discretiza¸c˜ao local com a forma |ei+1| 6 A |ei| + B.
Iterando esta desigualdade, obtemos
|ei+1| 6 A |ei| + B 6 A [A |ei−1| + B] + B = A2|ei−1| + AB + B 6 A2[A |ei−2| + B] + AB + B = A3|ei−2| + A2B + AB + B 6 . . . = Ai+1|e0| + AiB + . . . + A2B + AB + B.
Como e0= 0, j´a que y0= y0 (o valor da condi¸c˜ao inicial), segue que
|ei+1| 6 Ai+ . . . + A2+ A + 1 B.
Observe que estes n´umeros s˜ao todos positivos, pois o erro tende a crescer `a medida que i cresce, isto ´e, `
a medida que executamos mais passos no m´etodo de Euler. De qualquer modo, o crescimento do erro ´e controlado, pois para todo i temos
|ei| 6 An−1+ . . . + A2+ A + 1 B = A n− 1 A − 1 B = (1 + λh) n − 1 λh N h 2 6 (1 + λh) n λ N h. Portanto, E ([t0, T ] , h) = max i=1,...,n|ei| 6 (1 + λh)n λ N h. (1.18) Usando a desigualdade 1 + x 6 ex,
v´alida para todo x > 0 (que por sua vez segue diretamente da expans˜ao em s´erie da fun¸c˜ao exponencial), escrevemos E ([t0, T ] , h) 6 eλnh λ N h 6 eλ(T −t0) λ N h. (1.19) Em particular, E ([t0, T ] , h) = O (h).
Portanto, a convergˆencia do m´etodo de Euler ´e apenas linear. Al´em disso, quanto maior ´e o intervalo considerado, isto ´e, quanto maior ´e T , a tendˆencia do erro ´e aumentar, embora isso fosse esperado, pela acumula¸c˜ao dos erros de aproxima¸c˜ao. Se f n˜ao ´e de Lipschitz, a convergˆencia n˜ao ´e assegurada, mas isso vale tamb´em para a solu¸c˜ao exata: sua exist`encia n˜ao ´e assegurada quando f n˜ao ´e de Lipschitz. Por outro lado, a estimativa (1.19) obtida no teorema n˜ao ´e a melhor poss´ıvel; na pr´atica, o resultado obtido pode ser muito melhor, dependendo de f .
1.6 Exemplo. Considere o problema de valor inicial
y0(t) = −100y
y (0) = 1.
Como f (t, y) = −100y, segue que f ´e cont´ınua, uniformemente de Lipschitz em R2 com constante de
Lipschitz 100. A solu¸c˜ao exata deste problema ´e
y (t) = e−100t. Logo, y00(t) = 104e−100t e sup [0,+∞) |y00| 6 104.
Pela estimativa (1.19) obtida no teorema anterior, o erro de discretiza¸c˜ao global no intervalo [0, T ] ´e limitado por
E ([0, T ] , h) 6 100e100Th. (1.20)
Por outro lado, a f´ormula iterativa de Euler neste caso se reduz a
yi+1= yi+ hf (ti, yi) = yi− 100yih = (1 − 100h) yi, de modo que y0= 1, y1= 1 − 100h, y2= (1 − 100h) 2 , .. . yn= (1 − 100h) n . Assim E ([0, T ] , h) = max
i=1,...,n|yi− yi| = maxi=1,...,n
e −100ih− (1 − 100h)i = max i=1,...,n e −100ih− (1 − 100h)i .
Este erro efetivo ´e muito menor que a estimativa de erro dada pelo teorema em (1.20). Por exemplo, se h = 10−2, segue que
E ([0, T ] , h) = max
i=1,...,n
e−i= e−1,
independente de T , enquanto que a estimativa do erro (1.20) para este valor de h ´e E ([0, T ] , h) 6 e100T,
1.2.2
M´
etodos de Runge-Kutta
Existem m´etodos com convergˆencia bem mais r´apida que o m´etodo de Euler. Entre os mais populares est˜ao os m´etodos de Runge-Kutta de segunda e quarta ordem (o m´etodo de Euler ´e um m´etodo de Runge-Kutta) que veremos nesta se¸c˜ao.
A solu¸c˜ao exata da equa¸c˜ao diferencial ordin´aria y0(t) = f (t) y (t0) = y0 ´ e y (t) = y0+ Z t t0 f (s) ds. No caso de (1.1), temos a solu¸c˜ao impl´ıcita
y (t) = y0+
Z t
t0
f (s, y (s)) ds. (1.21)
Existe uma teoria rica e m´etodos robustos e eficientes para calcular integrais numericamente. Esta ´e a base dos m´etodos de Runge-Kutta para resolver equa¸c˜oes diferenciais ordin´arias numericamente. Integrando de ti at´e ti+1= ti+ h temos
yi+1= yi+
Z ti+h ti
f (s, y (s)) ds. Fazendo a mudan¸ca de vari´avel s = ti+ hu, obtemos
yi+1 = yi+ h
Z 1
0
f (ti+ hu, y (ti+ hu)) du. (1.22)
Por um m´etodo de quadratura (veja [Iserles], p. 33 para uma breve introdu¸c˜ao) a integral pode ser numeri-camente integrada, fornecendo
yi+1= yi+ h m
X
j=1
ajf (ti+ hbj, y (ti+ hbj)) (1.23)
para alguns n´umeros aj, bj∈ [0, 1], j = 1, . . . , m. Antes de fazermos algumas escolhas espec´ıficas de m´etodos
de Runge-Kutta com diferentes velocidades de convergˆencia, vamos analizar a convergˆencia de m´etodos de passo ´unico de uma maneira mais geral. Na pr´oxima subse¸c˜ao, definiremos o que queremos dizer exatamente por m´etodos de Runge-Kutta e, al´em disso, forneceremos uma formula¸c˜ao mais conveniente para trabalhar. 1.7 Defini¸c˜ao. Um m´etodo de passo ´unico (expl´ıcito) para a resolu¸c˜ao num´erica de equa¸c˜oes diferenciais ordin´arias ´e um m´etodo da forma
yi+1= yi+ hφ (ti, yi; h) , (1.24)
onde φ = φ (t, y; h) ´e chamada a fun¸c˜ao de itera¸c˜ao.
A fun¸c˜ao de itera¸c˜ao representa uma aproxima¸c˜ao para f (t, y) no intervalo [t0, T ] onde buscamos a solu¸c˜ao
aproximada y para a solu¸c˜ao exata y (t). O m´etodo de Euler ´e um m´etodo de Runge-Kutta de primeira ordem onde
φ (ti, yi; h) = f (ti, yi) (1.25)
´
1.8 Exemplo (M´etodo de Heun). O m´etodo de Heun ´e um m´etodo de Runge-Kutta de segunda ordem (veja Corol´ario1.14a seguir) onde
φ (ti, yi; h) =
1
2[f (ti, yi) + f (ti+1, yi+ hf (ti, yi))] (1.26) ´
e a fun¸c˜ao de itera¸c˜ao. Neste caso, aproximamos f (ti+1, yi+1) pela m´edia dos valores f (ti, yi) e f (ti+1,byi+1), ondeybi+1 ´e a aproxima¸c˜ao de yi+1 que seria obtida pelo m´etodo de Euler. Geometricamente, ao inv´es de
seguirmos a dire¸c˜ao da reta tangente `a curva y (t) em ti, como fazemos no m´etodo de Euler, no m´etodo de
Heun seguimos a m´edia das dire¸c˜oes das retas tangentes em ti e ti+1.
1.9 Exemplo (M´etodo de Euler modificado). O m´etodo de Euler modificado ou m´etodo do ponto m´edio ´e um m´etodo de Runge-Kutta de segunda ordem (veja Corol´ario1.14a seguir) que tem como fun¸c˜ao de itera¸c˜ao φ (ti, yi; h) = f ti+ h 2, yi+ h 2f (ti, yi) (1.27) Geometricamente, ao inv´es de seguirmos a dire¸c˜ao da reta tangente `a curva y (t) em ti como no m´etodo
de Euler, no m´etodo de Euler modificado seguimos a dire¸c˜ao da reta tangente no ponto m´edio do intervalo [ti, ti+1].
1.10 Exemplo (M´etodo de Runge-Kutta de Quarta Ordem Cl´assico). O m´etodo de Runge-Kutta de quarta ordem cl´assico (veja Corol´ario1.21a seguir), imensamente popular, tem como fun¸c˜ao de itera¸c˜ao
φ (ti, yi; h) = 1 6(F1+ 2F2+ 2F3+ F4) (1.28) onde F1= f (ti, yi) , F2= f ti+ h 2, yi+ h 2F1 , (1.29) F3= f ti+ h 2, yi+ h 2F2 , F4= f (ti+ h, yi+ hF3) .
1.11 Defini¸c˜ao. O erro de itera¸c˜ao local de um m´etodo de passo ´unico no ponto (t + h, y (t + h)) ´e definido por
η (t, h) = y (t + h) − [y (t) + hφ (t, y (t) ; h)] . (1.30) Dizemos que um m´etodo de passo ´unico tem ordem de consistˆencia p se
η (t, h) = O hp+1 .
1.12 Teorema. Considere um m´etodo de passo ´unico
yi+1 = yi+ hφ (ti, yi; h)
para o problema (1.1) no intervalo [t0, T ]. Se φ ´e uniformemente de Lipschitz em rela¸c˜ao `a segunda vari´avel,
independentemente de 0 < h 6 T − t, e tem ordem de consistˆencia p, ent˜ao o m´etodo tem ordem de convergˆencia p.
Prova. A demonstra¸c˜ao ´e similar `a do Teorema1.5. Seja λ a constante de Lipschitz para φ, isto ´e,
|φ (t, x; h) − φ (t, y; h)| 6 λ |x − y| (1.31) para todo t ∈ [t0, T ], para todos x, y ∈ R e para todo 0 < h 6 T − t. Seja tamb´em
|η (t, h)| 6 Chp+1 (1.32)
para todo t ∈ [t0, T ] e para todo 0 < h 6 T − t. Defina
ei= yi− yi,
ηi= η (ti, h) .
Temos, por defini¸c˜ao,
yi+1= yi+ hφ (ti, yi; h) + ηi, yi+1= yi+ hφ (ti, yi; h) , donde ei+1= ei+ h [φ (ti, yi; h) − φ (ti, yi; h)] + ηi. (1.33) Logo, |ei+1| 6 |ei| + hλ |yi− yi| + |ηi| 6 (1 + λh) |ei| + (Chp) h.
Iterando esta desigualdade como fizemos na demonstra¸c˜ao do Teorema1.5, obtemos |ei| 6
(1 + λh)n
λ (Ch
p)
para todo i, donde
E ([t0, T ] , h) 6
eλ(T −t0)
λ Ch
p. (1.34)
1.13 Teorema (Convergˆencia de M´etodos de Runge-Kutta de Segunda Ordem). Considere o problema (1.1) com solu¸c˜ao exata no intervalo [t0, T ], tal que f ´e de classe C2 e
∂f
∂y ´e limitada em [t0, T ] × R. Ent˜ao um m´etodo de Runge-Kutta com fun¸c˜ao de itera¸c˜ao
φ (ti, yi; h) = a1f (ti, yi) + a2f (ti+ b1h, yi+ b2hf (ti, yi)) (1.35)
tem ordem de convergˆencia 2 se os coeficientes a1, a2, b1, b2 satisfazem
a1+ a2= 1 a2b1= 1 2 a2b2= 1 2 (1.36)
Prova. Temos φ (t, y; h) = a1f (t, y) + a2f (t + b1h, y + b2hf (t, y)) . Denote M = sup [t0,T ]×R ∂f ∂y . Como |φ (t, x; h) − φ (t, y; h)| 6 a1f |(t, x) − f (t, y)| + a2|f (t + b1h, x + b2hf (t, x)) − f (t + b1h, y + b2hf (t, y))| 6 a1M |x − y| + a2M |x + b2hf (t, x) − [y + b2hf (t, y)]| 6 a1M |x − y| + a2M |x − y| + a2b2M h |f (t, x) − f (t, y)| 6 a1M |x − y| + a2M |x − y| + a2b2M2(T − t0) |x − y| = M [a1+ a2+ a2b2M (T − t0)] |x − y|
segue que φ satisfaz a condi¸c˜ao de Lipschitz requerida pelo Teorema1.12, com constante de Lipschitz λ = M [a1+ a2+ a2b2M (T − t0)] .
A expans˜ao de Taylor desta fun¸c˜ao com respeito a h = 0 ´e φ (t, y; h) = φ (t, y; 0) +∂φ ∂h(t, y; 0) h + O h 2 . Como φ (t, y; 0) = a1f (t, y) + a2f (t + 0, y + 0) = (a1+ a2) f (t, y) = f (t, y) , e, pela regra da cadeia,
∂φ ∂h(t, y; h) = a2 ∂f ∂t (t + b1h, y + b2hf (t, y)) b1 + a2 ∂f ∂y(t + b1h, y + b2hf (t, y)) b2f (t, y) de modo que ∂φ ∂h(t, y; 0) = a2b1 ∂f ∂t (t, y) + a2b2f (t, y) ∂f ∂y(t, y) = 1 2 ∂f ∂t (t, y) + f (t, y) ∂f ∂y(t, y) , segue que φ (t, y; h) = f (t, y) +h 2 ∂f ∂t (t, y) + f (t, y) ∂f ∂y(t, y) + O h2 . (1.37)
A condi¸c˜ao de f ser de classe C2 garante que a solu¸c˜ao exata ´e de classe C3, pois y0(t) = f (t, y (t)) , y00(t) = ∂f ∂t + ∂f ∂yy 0 = ∂f ∂t + f ∂f ∂y, y000(t) = ∂ 2f ∂t2 + ∂2f ∂t∂yy 0+ ∂f ∂t + f ∂f ∂y ∂f ∂y + f ∂2f ∂y∂t+ ∂2f ∂y2y 0 = ∂ 2f ∂t2 + 2f ∂2f ∂t∂y + f 2∂2f ∂y2 + ∂f ∂t ∂f ∂y + f ∂f ∂y 2 , logo, a expans˜ao de Taylor da solu¸c˜ao exata ´e
y (t + h) = y (t) + y0(t) h +1 2y 00(t) h2+ O h3 , ou seja, y (t + h) = y (t) + h f (t, y (t)) + h 2 ∂f ∂t (t, y (t)) + f (t, y (t)) ∂f ∂y(t, y (t)) + O h3 . (1.38) Substituindo (1.37) nesta express˜ao, obtemos
y (t + h) = y (t) + hφ (t, y (t) ; h) + O h3 , donde
η (t, h) = y (t + h) − [y (t) + hφ (t, y (t) ; h)] = O h3 .
1.14 Corol´ario. O m´etodo de Heun e o m´etodo de Euler modificado s˜ao m´etodos convergentes de segunda ordem.
Prova. Os coeficientes da fun¸c˜ao de itera¸c˜ao do m´etodo de Heun satisfazem a1= a2= 12 e b1= b2= 1.
Os coeficientes da fun¸c˜ao de itera¸c˜ao do m´etodo de Euler modificado satisfazem a1 = 0, a2 = 1 e
b1= b2= 12.
A convergˆencia de m´etodos de Runge-Kutta de ordem mais alta ser´a vista na pr´oxima subse¸c˜ao.
1.2.3
Formula¸
c˜
ao Geral dos M´
etodos de Runge-Kutta
1.15 Defini¸c˜ao. Sejam s um inteiro e a21, a31, a32, a41, a42, a43, (1.39) .. . as1, as2, as3, . . . , as,s−1, b1, . . . , bs, c2, . . . , cs,
coeficientes reais. Um m´etodo de Runge-Kutta expl´ıcito com s est´agios ´e um m´etodo de passo ´unico com fun¸c˜ao de itera¸c˜ao da forma
φ (ti, yi; h) = b1k1+ . . . + bsks, (1.40) onde k1= f (ti, yi) , k2= f (ti+ c2h, yi+ a21k1h) , k3= f (ti+ c3h, yi+ (a31k1+ a32k2) h) (1.41) .. . ks= f (ti+ csh, yi+ (as1k1+ . . . + as,s−1ks−1) h) , com a condi¸c˜ao ci= i−1 X j=1 ai,j. (1.42)
Observamos que a condi¸c˜ao (1.42) expressa que todos os pontos onde f ´e calculada s˜ao aproxima¸c˜oes de primeira ordem para a solu¸c˜ao e simplificam consideravelmente a obten¸c˜ao de condi¸c˜oes para m´etodos de ordem de convergˆencia alta; para ordem de convergˆencia baixa, no entanto, ela n˜ao ´e necess´aria (veja [HNW], p. 142, Exerc´ıcio 6).
1.16 Nota¸c˜ao. Os coeficientes de um m´etodo de Runge-Kutta especificado s˜ao geralmente organizados em uma tabela RK com o seguinte formato:
0 c2 a21 c3 a31 a32 .. . ... ... . .. cs as1 as2 . . . as,s−1 b1 b2 . . . bs−1 bs
1.17 Exemplo. M´etodos RK de 2 est´agios tem tabelas RK com formato 0
c2 a21
b1 b2
Nesta nota¸c˜ao, as condi¸c˜oes do Teorema1.13para que um m´etodo RK de 2 est´agios seja de segunda ordem s˜ao b1+ b2= 1 b2c2= 1 2 c2= a21 (1.43)
A ´ultima condi¸c˜ao ´e tamb´em `a condi¸c˜ao (1.42). Os m´etodos de Heun e de Euler modificado tem as seguintes tabelas RK, respectivamente, 0 1 1 1 2 1 2 e 0 1 2 1 2 0 1 .
1.18 Teorema (Convergˆencia de M´etodos de Runge-Kutta de Terceira Ordem). Considere o problema (1.1) com solu¸c˜ao exata no intervalo [t0, T ], tal que f ´e de classe C3 e
∂f
∂y ´e limitada em [t0, T ] × R. Ent˜ao um m´etodo RK com tabela RK
0 c2 a21
c3 a31 a32
b1 b2 b3
tem ordem de convergˆencia 3 se os seus coeficientes satisfazem b1+ b2+ b3= 1 b2c2+ b3c3= 1 2 b2c22+ b3c23= 1 3 b3a32c2= 1 6 a21= c2 a31= c3− a32 (1.44)
Prova. A expans˜ao de Taylor da solu¸c˜ao exata (como f ´e de classe C3, a solu¸c˜ao exata ´e de classe C4) ´e
y (t + h) = y (t) + y0(t) h +1 2y
00(t) h2+1
6y
000(t) h3+ O h4 .
Segue de (1.1) e da regra da cadeia que y0(t) = f (t, y (t)) = f, y00(t) =∂f ∂t (t, y (t)) + f (t, y (t)) ∂f ∂y(t, y (t)) =∂f ∂t + f ∂f ∂y, y000(t) =∂ 2f ∂t2 (t, y (t)) + ∂2f ∂t∂y(t, y (t)) y 0(t) + ∂f ∂t (t, y (t)) + f (t, y (t)) ∂f ∂y (t, y (t)) ∂f ∂y (t, y (t)) + f (t, y (t)) ∂ 2f ∂y∂t(t, y (t)) + ∂2f ∂y2(t, y (t)) y 0(t) =∂ 2f ∂t2 + f ∂2f ∂t∂y + ∂f ∂t ∂f ∂y + f ∂f ∂y 2 + f ∂ 2f ∂y∂t+ f 2∂2f ∂y2 =∂ 2f ∂t2 + 2f ∂2f ∂t∂y + ∂f ∂t ∂f ∂y + f ∂f ∂y 2 + f2∂ 2f ∂y2. Da´ı, y (t + h) = y (t) + h ( f +h 2 ∂f ∂t + f ∂f ∂y +h 2 6 " ∂2f ∂t2 + 2f ∂2f ∂t∂y + ∂f ∂t ∂f ∂y + f ∂f ∂y 2 + f2∂ 2f ∂y2 #) + O h4 .
Se mostrarmos que φ (t, y; h) = f +h 2 ∂f ∂t + f ∂f ∂y +h 2 6 " ∂2f ∂t2 + 2f ∂2f ∂t∂y + ∂f ∂t ∂f ∂y + f ∂f ∂y 2 + f2∂ 2f ∂y2 # + O h3 , (1.45) obteremos η (t, h) = y (t + h) − [y (t) + hφ (t, y (t) ; h)] = O h4 e o resultado seguir´a do Teorema 1.12.
Temos φ (t, y; h) = b1k1(t, y; h) + b2k2(t, y; h) + b3k3(t, y; h) , onde k1(t, y; h) = f (t, y) , k2(t, y; h) = f (t + c2h, y + a21f (t, y) h) = f (t + c2h, y + c2f (t, y) h) , k3(t, y; h) = f (t + c3h, y + a31f (t, y) h + a32k2(t, y; h) h) .
usando a rela¸c˜ao c2= a21. A condi¸c˜ao sobre f garante que φ satisfaz a condi¸c˜ao de Lipschitz requerida pelo
Teorema1.12. A expans˜ao de Taylor desta fun¸c˜ao com respeito a h = 0 ´e φ (t, y; h) = φ (t, y; 0) + ∂φ ∂h(t, y; 0) h + 1 2 ∂2φ ∂h2(t, y; 0) h 2+ O h3 . (1.46) Temos φ (t, y; 0) = b1k1(t, y; 0) + b2k2(t, y; 0) + b3k3(t, y; 0) = b1f (t, y) + b2f (t, y) + b3f (t, y) = (b1+ b2+ b3) f (t, y) . (1.47)
Para obter as derivadas, como k1 independe de h, temos
∂φ ∂h(t, y; 0) = b2 ∂k2 ∂h (t, y; 0) + b3 ∂k3 ∂h (t, y; 0) , (1.48) ∂2φ ∂h2(t, y; 0) = b2 ∂2k 2 ∂h2 (t, y; 0) + b3 ∂2k 3 ∂h2 (t, y; 0) . (1.49)
Calcularemos cada um dos termos. Para a derivada primeira, temos ∂k2 ∂h (t, y; h) = c2 ∂f ∂t (t + c2h, y + c2f (t, y) h) + c2f (t, y) ∂f ∂y (t + c2h, y + c2f (t, y) h) , ∂k3 ∂h (t, y; h) = c3 ∂f ∂t (t + c3h, y + [a31f (t, y) + a32k2(t, y; h)] h) +∂f ∂y(t + c3h, y + a31f (t, y) h + a32k2(t, y; h) h) a31f (t, y) + a32k2(t, y; h) + a32 ∂k2 ∂h (t, y; h) h de modo que ∂k2 ∂h (t, y; 0) = c2 ∂f ∂t (t, y) + c2f (t, y) ∂f ∂y (t, y) , ∂k3 ∂h (t, y; 0) = c3 ∂f ∂t (t, y) + ∂f ∂y(t, y) [a31f (t, y) + a32k2(t, y; 0)] = c3 ∂f ∂t (t, y) + (a31+ a32) f (t, y) ∂f ∂y(t, y) = c3 ∂f ∂t (t, y) + c3f (t, y) ∂f ∂y (t, y) .
usando c3= a31+ a32. Segue de (1.48) que ∂φ ∂h(t, y; 0) = b2 c2 ∂f ∂t + c2f ∂f ∂y (t, y) + b3 c3 ∂f ∂t + c3f ∂f ∂y (t, y) = (b2c2+ b3c3) ∂f ∂t + f ∂f ∂y (t, y) . (1.50)
Para a derivada segunda temos ∂2k 2 ∂h2 (t, y; h) = c 2 2 ∂2f ∂t2 (t + c2h, y + c2f (t, y) h) + c 2 2f (t, y) ∂2f ∂t∂y(t + c2h, y + c2f (t, y) h) + c22f (t, y) ∂ 2f ∂y∂t(t + c2h, y + c2f (t, y) h) + c 2 2f 2(t, y)∂2f ∂y2(t + c2h, y + c2f (t, y) h) = c22∂ 2f ∂t2 (t + c2h, y + c2f (t, y) h) + 2c 2 2f (t, y) ∂2f ∂t∂y(t + c2h, y + c2f (t, y) h) + c22f2(t, y)∂ 2f ∂y2 (t + c2h, y + c2f (t, y) h) , e ∂2k 3 ∂h2 (t, y; h) = c23∂ 2f ∂t2 (t + c3h, y + [a31f (t, y) + a32k2(t, y; h)] h) + c3 ∂2f ∂t∂y(t + c3h, y + [a31f (t, y) + a32k2(t, y; h)] h) a31f (t, y) + a32k2(t, y; h) + a32 ∂k2 ∂h (t, y; h) h + c3 ∂2f ∂y∂t(t + c3h, y + a31f (t, y) h + a32k2(t, y; h) h) a31f (t, y) + a32k2(t, y; h) + a32 ∂k2 ∂h (t, y; h) h +∂ 2f ∂y2(t + c3h, y + a31f (t, y) h + a32k2(t, y; h) h) a31f (t, y) + a32k2(t, y; h) + a32 ∂k2 ∂h (t, y; h) h 2 +∂f ∂y(t + c3h, y + a31f (t, y) h + a32k2(t, y; h) h) a32 ∂k2 ∂h (t, y; h) + a32 ∂k2 ∂h (t, y; h) + a32 ∂2k 2 ∂h2 (t, y; h) h , de modo que ∂2k 2 ∂h2 (t, y; 0) = c 2 2 ∂2f ∂t2 (t, y) + 2c 2 2f (t, y) ∂2f ∂t∂y(t, y) + c 2 2f 2(t, y)∂2f ∂y2 (t, y) , ∂2k3 ∂h2 (t, y; 0) = c 2 3 ∂2f ∂t2 (t, y) + 2c 2 3f (t, y) ∂2f ∂t∂y(t, y) + c 2 3f2(t, y) ∂2f ∂y2 (t, y) + 2a32c2 ∂f ∂y(t, y) ∂f ∂t (t, y) + 2a32c2f (t, y) ∂f ∂y(t, y) 2 . Segue de (1.49) que ∂2φ ∂h2(t, y; 0) = b2c 2 2 ∂2f ∂t2 + 2b2c 2 2f ∂2f ∂t∂y + b2c 2 2f 2∂2f ∂y2 + b3c23 ∂2f ∂t2 + 2b3c 2 3f ∂2f ∂t∂y + b3c 2 3f 2∂2f ∂y2 + b3a32c2 ∂f ∂y ∂f ∂t + b3a32c2f ∂f ∂y 2 = b2c22+ b3c23 ∂ 2f ∂t2 + 2 b2c 2 2+ b3c23 f ∂2f ∂t∂y + b2c 2 2+ b3c23 f 2∂2f ∂y2 + 2b3a32c2 ∂f ∂t ∂f ∂y + 2b3a32c2f ∂f ∂y 2 . (1.51)
Portanto, (1.46) juntamente com (1.47), (1.50) e (1.51) produz φ (t, y; h) = (b1+ b2+ b3) f + h (b2c2+ b3c3) ∂f ∂t + f ∂f ∂y +h 2 2 b2c22+ b3c23 ∂ 2f ∂t2 + 2 b2c 2 2+ b3c23 f ∂2f ∂t∂y + b2c 2 2+ b3c23 f 2∂ 2f ∂y2 +2b3a32c2 ∂f ∂t ∂f ∂y + 2b3a32c2f ∂f ∂y 2# + O h3 . (1.52)
Comparando (1.52) com (1.45), vemos que as condi¸c˜oes para que estas duas express˜oes sejam id`enticas s˜ao exatamente b1+ b2+ b3= 1, b2c2+ b3c3= 1 2, b2c22+ b3c23= 1 3, b3a32c2= 1 6.
1.19 Exemplo. O m´etodo de Runge-Kutta de terceira ordem cl´assico tem tabela RK 0 1 2 1 2 1 −1 2 1 6 2 3 1 6 . Ou seja, yi+1 = yi+ h 6(F1+ 4F2+ F3) , (1.53) com F1= f (ti, yi) , F2= f ti+ h 2, yi+ h 2F1 , F3= f (ti+ h, yi− hF1+ 2hF2) . ´
E f´acil verificar que as condi¸c˜oes do Teorema1.18s˜ao satisfeitas.
1.20 Teorema (Convergˆencia de M´etodos de Runge-Kutta de Quarta Ordem). Considere o problema (1.1) com f : [t0, T ] × R −→ R de classe C4. Ent˜ao um m´etodo RK com tabela RK
0 c2 a21
c3 a31 a32
c4 a41 a42 a43
tem ordem de convergˆencia 4 se os seus coeficientes satisfazem b1+ b2+ b3+ b4= 1 b2c2+ b3c3+ b4c4= 1 2 b2c22+ b3c23+ b4c24= 1 3 b2c32+ b3c33+ b4c34= 1 4 b3a32c2+ b4a42c2+ b4a43c3= 1 6 b3a32c22+ b4a42c22+ b4a43c23= 1 12 b3c3a32c2+ b4c4a42c2+ b4c4a43c3= 1 8 b4a43a32c2= 1 12 a21= c2 a31= c3− a32 a41= c4− a42− a43 (1.54)
Prova. Uma demonstra¸c˜ao an´aloga `a demonstra¸c˜ao do Teorema 1.19 ´e poss´ıvel, embora muito, muito mais longa. Sugerimos consultar [HNW], Cap´ıtulo II-2, pp. 143–155, e [Butcher], Cap´ıtulo 3, para uma demonstra¸c˜ao bem mais elegante baseada em teoria dos grafos. Al´em disso, esta t´ecnica ´e essencial na obten¸c˜ao e an´alise da convergˆencia de m´etodos RK de ordem superior a 4.
1.21 Corol´ario. O m´etodo de Runge-Kutta de quarta ordem cl´assico ´e de fato um m´etodo convergente de quarta ordem.
Prova. A tabela RK do m´etodo de Runge-Kutta de quarta ordem cl´assico ´e 0 1 2 1 2 1 2 0 1 2 1 0 0 1 1 6 1 3 1 3 1 6 ´
E f´acil, embora tedioso, verificar que todas as condi¸c˜oes do teorema s˜ao satisfeitas.
O maior esfor¸co computacional requerido pelos m´etodos de Runge-Kutta (abrevia¸c˜ao: m´etodos RK) ´e o n´umero de avalia¸c˜oes de f necess´arios. O m´etodo de Euler requer apenas uma avalia¸c˜ao da fun¸c˜ao f , enquanto que os m´etodos de Runge-Kutta de segunda ordem requerem duas avalia¸c˜oes de f , m´etodos RK de terceira ordem requerem trˆes avalia¸c˜oes e m´etodos de RK de quarta ordem requerem quatro avalia¸c˜oes. O maior n´umero de avalia¸c˜oes ´e contrabalan¸cado pelo maior tamanho do passo h necess´ario para se atingir uma precis˜ao determinada e, consequentemente, um menor n´umero de c´alculos. Al´em disso, o tamanho do passo tem fundamental importˆancia em computa¸c˜ao pr´atica, pois quanto menor o tamanho do passo, maiores s˜ao os erros de arredondamento, exatamente porque quanto menor h mais c´alculos s˜ao necess´arios
para produzir a resposta e os erros de arredondamento passam a se acumular. Eventualmente, dependendo do computador, para um determinado tamanho do passo h o erro entre a solu¸c˜ao aproximada e a solu¸c˜ao exata come¸car´a a divergir `a medida que h diminui. Por exemplo, um m´etodo RK de ordem 4 que requer 4 vezes o n´umero de avalia¸c˜oes do m´etodo de Euler, dever´a em geral produzir respostas mais precisas que o m´etodo de Euler que utilizar 1/4 do tamanho de passo do primeiro.
Para obter m´etodos RK de ordem n > 5, no entanto, o n´umero de avalia¸c˜oes requerido come¸ca a ser maior que n e a aumentar com n. Por exemplo, s˜ao necess´arias 6 avalia¸c˜oes para obter um m´etodo de RK de ordem 5, 7 avalia¸c˜oes para um m´etodo RK de ordem 6, 9 avalia¸c˜oes para um m´etodo RK de ordem 7 e 11 avalia¸c˜oes para um m´etodo RK de ordem 8. At´e o momento, o m´etodo RK de maior ordem constru´ıdo explicitamente tem ordem 10 e necessita 17 avalia¸c˜oes de f , embora n˜ao se saiba se este n´umero ´e otimal. Por este motivo, m´etodos RK de ordem maior que 4 n˜ao s˜ao populares.
Para maiores detalhes sobre m´etodos de Runge-Kutta, veja [HNW]. Uma id´eia importante na pr´atica que n˜ao trabalhamos aqui ´e a varia¸c˜ao do tamanho do passo h em diferentes regi˜oes do dom´ınio: em regi˜oes do dom´ınio de baixa concavidade (derivada segunda pequena), n˜ao ´e necess´ario usar passos de tamanho grande para atingir uma determinada precis˜ao, diferente de regi˜oes de alta concavidade, onde um menor passo ´e necess´ario para atingir a precis˜ao desejada. Bons c´odigos que usam m´etodos RK em geral implementam algum algoritmo que permite variar o tamanho do passo h `a medida que o programa executa. Estes s˜ao chamados m´etodos adaptativos, porque o n´umero e posi¸c˜ao dos n´os da malha variam ao mesmo tempo que o processamento ´e feito. Em geral, a decis˜ao de modificar o tamanho do passo no pr´oximo passo do programa pode ser tomada a partir de uma estimativa do erro de discretiza¸c˜ao local e h´a v´arias maneiras de fazˆe-lo, mas isso pode ser muito custoso. Uma maneira computacionalmente eficiente de fazˆe-lo ´e dada pelo m´etodo de Runge-Kutta-Fehlberg em que, por exemplo, um m´etodo RK de quinta ordem ´e utilizado para estimar o erro de discretiza¸c˜ao local de um m´etodo RK de quarta ordem.
1.3
M´
etodos de Passo M´
ultiplo para EDOs de Primeira Ordem
Nos m´etodos de passo ´unico, o valor de yi+1 depende apenas do valor aproximado da solu¸c˜ao no ponto ti.
´
E de se esperar que poder´ıamos obter uma aproxima¸c˜ao mais precisa se us´assemos a informa¸c˜ao j´a obtida nos passos anteriores ti, ti−1, ti−2, . . . , ts.
Uma classe grande e importante de m´etodos de passo m´ultiplo ´e obtida da seguinte maneira. Integrando a solu¸c˜ao sobre o intervalo [ti, t+1] obtemos
yi+1− yi= Z ti+1 ti y0(t) dt = Z ti+1 ti f (t, y (t)) dt.
Aproximando f (t, y (t)) por um polinˆomio p (t) segue que a solu¸c˜ao aproximada ser´a dada por yi+1= yi+
Z ti+1 ti
p (t) dt. (1.55)
1.3.1
M´
etodos de Adams-Bashforth
A id´eia deste m´etodo ´e aproximar f (t, y (t)) por um polinˆomio Pk(t) de grau k usando os k + 1 dados
calculados anteriormente para determinar os coeficientes de Pk.
Se k = 0, obtemos o m´etodo de Euler. Se k = 1, ent˜ao P1 ´e simplesmente a fun¸c˜ao linear que interpola
(ti−1, fi−1) e (ti, fi). Assim, escrevendo
P1(t) = At + B, (1.56)
temos
P1(ti) = f (ti, yi) = Ati+ B,
resolvendo este sistema, obtemos
A = f (ti, yi) − f (ti−1, yi−1)
h , (1.57)
B = f (ti−1, yi−1) ti− f (ti, yi) ti−1
h . Denotando fk = f (tk, yk) , segue que Z ti+1 ti P1(t) dt = Z ti+1 ti fi− fi−1 h t + fi−1ti− fiti−1 h dt =fi− fi−1 2h t 2 i+1− t 2 i + fi−1ti− fiti−1 h (ti+1− ti) =fit 2
i+1− fi−1t2i+1− fit2i + fi−1t2i
2h +
fi−1titi+1− fi−1t2i − fiti−1ti+1+ fiti−1ti
h =fit
2
i+1− fi−1t2i+1− fit2i − fi−1t2i + 2fi−1titi+1− 2fiti−1ti+1+ 2fiti−1ti
2h .
Usando o fato que ti−1= ti− h e que ti+1= ti+ h segue que
Z ti+1 ti
p (t) dt = 1 2hfit
2
i + 2hfiti+ fih2− fi−1t2i − 2hfi−1ti− fi−1h2− fit2i − fi−1t2i
+2fi−1t2i + 2hfi−1ti− 2fiti2− 2fih2+ 2fit2i − 2hfiti = 3fih 2− f i−1h2 2h = 3fi− fi−1 2 h.
Portanto o m´etodo de Adams-Bashforth de segunda ordem (como pode ser provado) ´e dado por yi+1 = yi+
h
2[3f (ti, yi) − f (ti−1, yi−1)] . (1.58) Observe que para obter y1 ainda ´e necess´ario utilizar um m´etodo de passo ´unico, j´a que apenas o ponto
inicial est´a dispon´ıvel; apenas a partir de y2podemos utilizar este m´etodo. Para n˜ao contaminar a ordem de
convergˆencia deste m´etodo, ´e necess´ario tamb´em utilizar um m´etodo de passo ´unico de segunda ordem para encontrar y1ou ent˜ao diminuir o passo h inicialmente at´e chegar em y1, obtendo alguns pontos intermedi´arios
antes de chegar a´ı.
Procedendo de maneira semelhante, usando polinˆomios de grau 2 e 3, obtemos respectivamente o m´etodo de Adams-Bashforth de terceira ordem
yi+1= yi+
h
12[23f (ti, yi) − 16f (ti−1, yi−1) + 5f (ti−2, yi−2)] (1.59) e o m´etodo de Adams-Bashforth de quarta ordem
yi+1= yi+
h
24[55f (ti, yi) − 59f (ti−1, yi−1) + 37f (ti−2, yi−2) − 9f (ti−3, yi−3)] . (1.60) M´etodos de Adams-Bashforth de ordem arbitr´aria podem ser obtidos da mesma maneira. Em todos estes m´etodos, os k pontos iniciais necess´arios para come¸car o m´etodo multipasso devem ser obtidos por um m´etodo de passo ´unico adequado, isto ´e, de mesma ou melhor ordem de convergˆencia que o m´etodo multipasso que se pretende usar. Tamb´em ´e poss´ıvel usar um m´etodo de passo ´unico no primeiro passo, um m´etodo de passo duplo no segundo passo e assim por diante at´e que um n´umero suficiente de pontos tenha sido obtido para come¸car o m´etodo multipasso (com a possibilidade de se usar tamanhos de passo diferentes em cada m´etodo, construindo pontos intermedi´arios at´e chegar nos pontos de interesse). Historicamente, os m´etodos multipasso foram desenvolvidos antes dos m´etodos de Runge-Kutta.
1.4
M´
etodos de Passo ´
Unico para Sistemas de EDOs de Primeira
Ordem
EDOs de segunda ordem, ou mesmo de ordem maior, podem ser transformadas em sistemas de EDOs de primeira ordem. Considere o sistema de equa¸c˜oes diferenciais ordin´aria de primeira ordem com condi¸c˜ao inicial
y0(t) = f (t, y) , y (t0) = y0,
(1.61) onde desta vez y e f denotam vetores com n componentes:
y (t) = (y1(t) , . . . , yn(t)) ,
f (t, y) = (f1(t, y) , . . . , fn(t, y)) ,
Os m´etodos num´ericos vistos anteriormente se aplicam em forma vetorial. Por exemplo, o m´etodo de Euler se escreve da mesma forma
yi+1= yi+ f (ti, yi) h (1.62)
mas desta vez a solu¸c˜ao aproximada y ´e um vetor com n componentes: yi= (y1,i(t) , . . . , yn,i(t)) .
Por exemplo, para um sistema 2 × 2 y10(t) = f1(t, y1, y2) , y20(t) = f2(t, y1, y2) , y1(t0) = y1,0, y2(t0) = y2,0, (1.63)
o m´etodo de Euler se escreve na forma
y1,i+1= y1,i+ f (ti, y1,i, y2,i) h,
y2,i+1= y2,i+ f (ti, y1,i, y2,i) h,
Cap´ıtulo 2
M´
etodo de Diferen¸
cas Finitas para
Equa¸
c˜
oes Diferenciais El´ıpticas
2.1
O Caso Unidimensional
Nesta se¸c˜ao, desenvolveremos um m´etodo num´erico de diferen¸cas finitas para resolver o problema de Dirichlet para a equa¸c˜ao de Poisson em uma dimens˜ao
−u00= f (x) em [0, L] ,
u (0) = a, u (L) = b.
2.1.1
S´
eries de Taylor e Diferen¸
cas Finitas em Uma Dimens˜
ao
Seja ∆x > 0. Considere as seguintes expans˜oes de Taylor de uma fun¸c˜ao u em torno de um ponto x0,
respectivamente `a direita e `a esquerda de x0:
u(x0+ ∆x) = u(x0) + u0(x0)∆x + 1 2!u 00(x 0)∆x2+ 1 3!u 000(x 0)∆x3+ . . . , (2.1) u(x0− ∆x) = u(x0) − u0(x0)∆x + 1 2!u 00(x 0)∆x2− 1 3!u 000(x 0)∆x3+ . . . (2.2) Da´ı, u0(x0) = u(x0+ ∆x) − u(x0) ∆x − 1 2!u 00(x 0)∆x − 1 3!u 000(x 0)∆x2− . . . , u0(x0) = u(x0) − u(x0− ∆x) ∆x + 1 2!u 00(x 0)∆x − 1 3!u 000(x 0)∆x2+ . . .
Isso fornece duas aproxima¸c˜oes poss´ıveis para a primeira derivada u0(x0) de u em x0:
u0(x0) ≈ u(x0+ ∆x) − u(x0) ∆x , (2.3) u0(x0) ≈ u(x0) − u(x0− ∆x) ∆x . (2.4)
A primeira ´e chamada uma diferen¸ca progressiva e a segunda ´e uma diferen¸ca regressiva. Pela F´ormula de Taylor com Resto, o erro destas aproxima¸c˜oes ´e dado por
= ±1 2u
00(ξ)∆x = O(∆x),
onde x06 ξ 6 x0+ ∆x no primeiro caso, e x0− ∆x 6 ξ 6 x0 no segundo caso.
Por outro lado, se subtrairmos (2.2) de (2.1), obtemos u0(x0) = u(x0+ ∆x) − u(x0− ∆x) 2∆x − 1 3!u 000(x 0)∆x2− 1 5!u (5)(x 0)∆x4− . . .
o que d´a uma outra aproxima¸c˜ao poss´ıvel para a primeira derivada u0(x0) de u em x0:
u0(x0) ≈ u(x0+ ∆x) − u(x0− ∆x) 2∆x (2.5) com erro = −1 6u 000(ξ)∆x2= O(∆x2),
para algum x0− ∆x 6 ξ 6 x0+ ∆x. Esta aproxima¸c˜ao por diferen¸ca finita ´e chamada diferen¸ca centrada.
Ela ´e uma melhor aproxima¸c˜ao que as aproxima¸c˜oes laterais (progressiva e regressiva). Se, ao inv´es, adicionarmos (2.1) e (2.2), obtemos
u00(x0) =
u(x0+ ∆x) + u(x0− ∆x) − 2u(x0)
∆x2 − 2 4!u (4)(x 0)∆x2− 2 5!u (6)(x 0)∆x4− . . .
o que fornece uma aproxima¸c˜ao para a derivada segunda u00(x0) de u em x0:
u00(x0) ≈
u(x0+ ∆x) + u(x0− ∆x) − 2u(x0)
∆x2 (2.6)
com erro
= −1 12u
(4)(ξ)∆x2= O(∆x2),
onde x0− ∆x 6 ξ 6 x0+ ∆x. Esta aproxima¸c˜ao ´e tamb´em chamada uma diferen¸ca centrada para a
derivada segunda.
2.1.2
Discretiza¸
c˜
ao
Dividimos o intervalo [0, L] em n subintervalos de comprimento ∆x = L/n atrav´es de n − 1 pontos interiores uniformemente espa¸cados:
x0= 0, x1= ∆x, x2= 2∆x, . . . , xn−1= (n − 1) ∆x, xn= n∆x = L,
de modo que [0, L] = [x0, x1] ∪ [x1, x2] ∪ . . . ∪ [xn−1, xn]. Introduzimos a nota¸c˜ao:
ui= u(xi),
fi= f (xi) .
Esta ´e uma discretiza¸c˜ao uniforme do intervalo [0, L]. Uma vez discretizado o dom´ınio da equa¸c˜ao dife-rencial parcial, procedemos `a discretiza¸c˜ao desta. Usando diferen¸cas centradas para cada ponto interior xi,
1 6 i 6 n − 1, temos
−ui−1+ 2ui− ui+1
∆x2 = fi. (2.7)
Para os pontos de fronteira, a condi¸c˜ao de Dirichlet implica
Portanto, para encontrar a solu¸c˜ao discretizada temos que resolver o sistema linear com n − 1 equa¸c˜oes a n − 1 inc´ognitas: ∆x−2(2u1− u2) = f1+ a∆x−2 ∆x−2(−u1+ 2u2− u3) = f2 .. . ∆x−2(−un−3+ 2un−2− un−1) = fn−2 ∆x−2(−un−2+ 2un−1) = fn−1+ b∆x−2 , ou seja, 1 ∆x2 2 −1 −1 2 −1 −1 . .. . .. . .. . .. −1 −1 2 −1 −1 2 u1 u2 .. . .. . un−2 un−1 = f1+ a∆x−2 f2 .. . .. . fn−2 fn−1+ b∆x−2 .
Esta ´e uma matriz tridiagonal sim´etrica, esparsa. Al´em disso, como veremos na pr´oxima subse¸c˜ao, ela ´e positiva definida (isto ´e, seus autovalores s˜ao positivos) e portanto possui uma inversa, o que garante a existˆencia e unicidade da solu¸c˜ao. Dada sua simplicidade, ela pode ser resolvida por elimina¸c˜ao gaussiana ou sua inversa pode ser efetivamente calculada. Por exemplo, para n = 4, 5, 6 temos
2 −1 0 −1 2 −1 0 −1 2 −1 = 1 12 13 0 1 23 0 0 1 1 2 0 0 0 23 0 0 0 34 1 0 0 1 2 1 0 1 3 2 3 1 = 1 4 3 2 1 2 4 2 1 2 3 , 2 −1 0 0 −1 2 −1 0 0 −1 2 −1 0 0 −1 2 −1 = 1 12 13 14 0 1 23 24 0 0 1 34 0 0 0 1 1 2 0 0 0 0 23 0 0 0 0 34 0 0 0 0 45 1 0 0 0 1 2 1 0 0 1 3 2 3 1 0 1 4 2 4 3 4 1 =1 5 4 3 2 1 3 6 4 2 2 4 6 3 1 2 3 4 2 −1 0 0 0 −1 2 −1 0 0 0 −1 2 −1 0 0 0 −1 2 −1 0 0 0 −1 2 −1 = 1 12 13 14 15 0 1 23 24 25 0 0 1 34 35 0 0 0 1 45 0 0 0 0 1 1 2 0 0 0 0 0 23 0 0 0 0 0 34 0 0 0 0 0 45 0 0 0 0 0 56 1 0 0 0 0 1 2 1 0 0 0 1 3 2 3 1 0 0 1 4 1 2 3 4 1 0 1 5 2 5 3 5 4 5 1 = 1 6 5 4 3 2 1 4 8 6 4 2 3 6 9 6 3 2 4 6 8 4 1 2 3 4 5 .
2.1.3
Resolu¸
c˜
ao Num´
erica do Problema de Autovalor Unidimensional
Os autovalores de Dirichlet do laplaciano em [0, L] devem ser aproximados pelos autovalores da matriz (n − 1) × (n − 1) A = 1 ∆x2 2 −1 −1 2 −1 −1 . .. . .. . .. . .. −1 −1 2 −1 −1 2 quando n → ∞ e correspondentemente ∆x → 0.
Lembrando que as autofun¸c˜oes de Dirichlet do laplaciano no intervalo [0, L] s˜ao as fun¸c˜oes Uj(x) = sen
jπx L ,
este fato sugere que os autovetores uj da matriz A s˜ao os vetores de coordenadas
Uj(x1) , Uj(x2) , . . . , Uj(xn−2) , Uj(xn−1) = Uj(∆x) , Uj(2∆x) , . . . , Uj((n − 2) ∆x) , Uj((n − 1) ∆x) ,
ou seja, como ∆x = L/n, os vetores uj = senjπ n, sen 2jπ n , . . . , sen (n − 2) jπ n , sen (n − 1) jπ n . Usando identidades trigonom´etricas, vamos verificar que isso de fato acontece: 2.1 Lema. Os n − 1 autovalores da matriz A s˜ao
λj= 2 ∆x2 1 − cosjπ n = 4 ∆x2sen 2 jπ 2n, j = 1, . . . , n − 1, (2.9) e os autovetores correspondentes s˜ao uj= senjπ n, sen 2jπ n , . . . , sen (n − 2) jπ n , sen (n − 1) jπ n , j = 1, . . . , n − 1. (2.10) Prova. Temos 2 −1 −1 2 −1 −1 . .. . .. . .. . .. −1 −1 2 −1 −1 2 senjπ n sen2jπ n .. . sen(n − 2) jπ n sen(n − 1) jπ n = 2 senjπ n − sen 2jπ n − senjπ n + 2 sen 2jπ n − sen 3jπ n .. . − sen(n − 3) jπ n + 2 sen (n − 2) jπ n − sen (n − 1) jπ n − sen(n − 2) jπ n + 2 sen (n − 1) jπ n
= 2 1 − cosjπ n senjπ n sen2jπ n .. . sen(n − 2) jπ n sen(n − 1) jπ n , pois 2 senjπ n − sen 2jπ n = 2 sen jπ n − 2 sen jπ n cos jπ n = 2 1 − cosjπ n senjπ n , − sen(n − k − 1) jπ n + 2 sen (n − k) jπ n − sen (n − k + 1) jπ n = − sen (n − k) jπ n − jπ n + 2 sen(n − k) jπ n − sen (n − k) jπ n + jπ n = − sen(n − k) jπ n cos jπ n + cos (n − k) jπ n sen jπ n + 2 sen (n − k) jπ n − sen(n − k) jπ n cos jπ n − cos (n − k) jπ n sen jπ n = 2 1 − cosjπ n sen(n − k) jπ n , e − sen(n − 2) jπ n + 2 sen (n − 1) jπ n = − sen (n − 1) jπ n − jπ n + 2 sen(n − 1) jπ n = − sen(n − 1) jπ n cos jπ n + cos (n − 1) jπ n sen jπ n + 2 sen (n − 1) jπ n = − sen(n − 1) jπ n cos jπ n − sen (n − 1) jπ n cos jπ n + 2 sen (n − 1) jπ n = 2 1 − cosjπ n sen(n − 1) jπ n ,
onde na pen´ultima identidade usamos o fato que cos(n − 1) jπ n sen jπ n = − sen (n − 1) jπ n cos jπ n porque 0 = sen jπ = sen (n − 1) jπ n + jπ n = sen(n − 1) jπ n cos jπ n + cos (n − 1) jπ n sen jπ n .
Os autovalores de A s˜ao positivos, portanto A ´e uma matriz positiva definida. Observe que, fixado j, se n ´e arbitrariamente grande ent˜ao
cosjπ n ≈ 1 −
j2π2 2n2,
pois o desenvolvimento em s´erie de Taylor da fun¸c˜ao cosseno em torno da origem ´e cos x = 1 − 1
2x
2+ O x3 ;
tomando x = jπ/n para n suficientemente grande e desprezando os termos de terceira ordem, obtemos a aproxima¸c˜ao acima. Da´ı,
2 ∆x2 1 − cosjπ n = 2n 2 L2 1 − cosjπ n ≈ 2n 2 L2 1 − 1 −j 2π2 2n2 =j 2π2 L2 ,
de forma que os menores autovalores da matriz A s˜ao uma boa aproxima¸c˜ao para os menores autovalores de Dirichlet do laplaciano no intervalo [0, L]. J´a o maior autovalor da matriz A ´e
λn−1= 2 ∆x2 1 − cos(n − 1) π n = 2n 2 L2 1 − cos(n − 1) π n ≈ 4n 2 L2,
que n˜ao ´e uma boa aproxima¸c˜ao para um autovalor do laplaciano. Vemos que se aumentarmos o n´umero de pontos de discretiza¸c˜ao (malha mais refinada) obteremos melhores aproxima¸c˜oes e uma quantidade maior de autovalores pr´oximos aos autovalores do laplaciano. Para comparar, veja a tabela a seguir para os autovalores do laplaciano no intervalo [0, π]; na primeira coluna temos os autovalores exatos do laplaciano, enquanto que na demais colunas os autovalores da matriz A, λj =
2n2 π2 1 − cosjπ n
, com a linha superior indicando o n´umero n de subintervalos na malha
n = 11 n = 21 n = 31 n = 51 n = 101 n = 1001 1 0.993 221 21 0.998 136 38 0.999 144 44 0.999 683 82 0.999 919 37 0.999 999 18 4 3.892 419 95 3.970 248 82 3.986 325 21 3.994 943 16 3.998 710 15 3.999 986 87 9 8.462 720 39 8.849 945 24 8.930 889 79 8.974 415 97 8.993 471 18 8.999 933 51 16 14.333 863 96 15.528 221 28 15.782 100 25 15.919 213 41 15.979 370 36 15.999 789 87 25 21.030 205 54 23.855 895 28 24.469 653 89 24.802 991 47 24.949 649 29 24.999 486 99 36 28.009 247 34 33.646 940 78 34.904 404 68 35.592 050 94 35.895 629 79 35.998 936 22 49 34.705 588 92 44.682 641 99 46.979 277 93 48.245 465 23 48.806 722 35 48.998 029 23 64 40.576 732 50 56.716 479 58 60.570 369 11 62.715 235 6 63.670 436 30 63.996 637 97 81 45.147 032 93 69.479 637 52 75.538 215 24 78.946 473 26 80.472 391 97 80.994 614 71 100 48.046 231 68 82.687 007 94 91.729 225 95 96.877 607 56 99.196 334 56 99.991 792 02
2.2
O Caso Bidimensional
Nesta se¸c˜ao, desenvolveremos um m´etodo num´erico de diferen¸cas finitas para resolver o problema de Dirichlet para a equa¸c˜ao de Poisson no retˆangulo (0, a) × (0, b)
−∆u = f (x, y) em (0, a) × (0, b) , u = 0 sobre ∂ ((0, a) × (0, b)) , e para o problema de autovalor de Dirichlet para o laplaciano no retˆangulo
−∆u = λu em (0, a) × (0, b) , u = 0 sobre ∂ ((0, a) × (0, b)) .
2.2.1
A F´
ormula dos Cinco Pontos
Vamos estabelecer alguma nota¸c˜ao. Denote
Ao discretizar Ω atrav´es dos pontos (xi, yj) = (i∆x, j∆y) , 0 6 i 6 n, 0 6 j 6 m onde ∆x = a n, ∆y = b m, substitu´ımos o dom´ınio Ω pela malha (ou gride) uniforme
Ωd= {(x, y) ∈ Ω : x = i∆x, y = j∆y, 1 6 i 6 n − 1, 1 6 j 6 m − 1} .
Sua fronteira discretizada ´e o conjunto
∂Ωd= {(x, y) ∈ ∂Ω : x = i∆x, y = j∆y, 0 6 i 6 n, 0 6 j 6 m} ,
de forma que
Ωd=(x, y) ∈ Ω : x = i∆x, y = j∆y, 0 6 i 6 n, 0 6 j 6 m .
A equa¸c˜ao de Poisson
−uxx− uyy = f (x, y)
pode ser agora discretizada. Denotamos
ui,j= u (xi, yj) ,
fi,j= f (xi, yj) .
Aproximamos cada derivada parcial de segunda ordem pela sua diferen¸ca centrada, obtendo −uxx≈
−ui−1,j+ 2ui,j− ui+1,j
∆x2 ,
−uyy ≈
−ui,j−1+ 2ui,j− ui,j+1
∆y2 .
Portanto, a equa¸c˜ao de Poisson discretizada toma a forma −ui−1,j+ 2ui,j− ui+1,j
∆x2 +
−ui,j−1+ 2ui,j− ui,j+1
∆y2 = fi,j. (2.11)
Como a fun¸c˜ao u ´e calculada em cinco pontos, esta equa¸c˜ao ´e chamada a f´ormula dos cinco pontos. Para cada ponto interior da malha obtemos uma equa¸c˜ao, logo temos um sistema linear de (n − 1) (m − 1) equa¸c˜oes com o mesmo n´umero de inc´ognitas. Diferente do caso unidimensional, no entanto, n˜ao existe uma maneira natural de ordenar os pontos da malha, logo n˜ao podemos obter imediatamente uma representa¸c˜ao matricial para o problema discretizado. Precisamos antes escolher uma ordena¸c˜ao para os pontos da malha, e como existem v´arias ordena¸c˜oes poss´ıveis, existem v´arias matrizes associadas.
Talvez a mais simples ordena¸c˜ao ´e a ordem lexicogr´afica induzida de Z2. Nesta ordem, os pontos da
malha s˜ao percorridos linha por linha, da esquerda para a direita, de baixo para cima:
u1,1, u2,1, . . . , un−1,1, u1,2, u2,2, . . . , un−1,2, . . . , u1,m−1, u2,m−1, . . . , un−1,m−1.
ser escrita como uma matriz de (m − 1) × (m − 1) blocos de dimens˜ao (n − 1) × (n − 1) na forma A = B − 1 ∆y2I − 1 ∆y2I B − 1 ∆y2I − 1 ∆y2I . .. . .. . .. . .. − 1 ∆y2I − 1 ∆y2I B − 1 ∆y2I − 1 ∆y2I B (m−1)×(m−1)
onde I ´e a matriz identidade (n − 1) × (n − 1) e B ´e a matriz (n − 1) × (n − 1) dada por 2 1 ∆x2 + 1 ∆y2 − 1 ∆x2 − 1 ∆x2 2 1 ∆x2 + 1 ∆y2 − 1 ∆x2 − 1 ∆x2 . .. . .. . .. . .. − 1 ∆x2 − 1 ∆x2 2 1 ∆x2 + 1 ∆y2 − 1 ∆x2 − 1 ∆x2 2 1 ∆x2 + 1 ∆y2 (n−1)×(n−1) Observe que aii = 2 1 ∆x2 + 1 ∆y2
para todo 1 6 i 6 (n − 1) (m − 1), enquanto que aij= −
1 ∆y2
se o ponto j ´e vizinho `a esquerda ou `a direita do ponto i e aij = −
1 ∆x2
(ou seja 3 × 5 = 15 pontos internos na malha e uma matriz 15 × 15), temos A = 1 ∆x2 4 −1 0 −1 0 0 0 0 0 0 0 0 0 0 0 −1 4 −1 0 −1 0 0 0 0 0 0 0 0 0 0 0 −1 4 0 0 −1 0 0 0 0 0 0 0 0 0 −1 0 0 4 −1 0 −1 0 0 0 0 0 0 0 0 0 −1 0 −1 4 −1 0 −1 0 0 0 0 0 0 0 0 0 −1 0 −1 4 0 0 −1 0 0 0 0 0 0 0 0 0 −1 0 0 4 −1 0 −1 0 0 0 0 0 0 0 0 0 −1 0 −1 4 −1 0 −1 0 0 0 0 0 0 0 0 0 −1 0 −1 4 0 0 −1 0 0 0 0 0 0 0 0 0 −1 0 0 4 −1 0 −1 0 0 0 0 0 0 0 0 0 −1 0 −1 4 −1 0 −1 0 0 0 0 0 0 0 0 0 −1 0 −1 4 0 0 −1 0 0 0 0 0 0 0 0 0 −1 0 0 4 −1 0 0 0 0 0 0 0 0 0 0 0 −1 0 −1 4 −1 0 0 0 0 0 0 0 0 0 0 0 −1 0 −1 4
Observe que a matriz A ´e uma matriz sim´etrica, pentadiagonal e esparsa.
2.2.2
Existˆ
encia e Unicidade da Solu¸
c˜
ao Discreta – Autovalores do Problema
Bidimensional
Denotaremos por ud a fun¸c˜ao u|Ωd, isto ´e, ud ´e a discretiza¸c˜ao da fun¸c˜ao u no dom´ınio discretizado Ωd.
Vamos definir o operador laplaciano discreto obtido a partir da f´ormula dos cinco pontos por − ∆dud= −
ui−1,j− 2ui,j+ ui+1,j
∆x2 +
ui,j−1− 2ui,j+ ui,j+1
∆y2
. (2.12)
de modo que a discretiza¸c˜ao do problema −∆u = f em Ω, u = 0 sobre ∂Ω, ´ e o problema −∆dud= fd em Ωd, ud= 0 sobre ∂Ωd. (2.13) Para estabelecer a existˆencia e unicidade da solu¸c˜ao discreta, provaremos que a matriz de discretiza¸c˜ao A, que ´e uma matriz sim´etrica, ´e tamb´em uma matriz positiva definida, pois isso implica em particular que A ´
e invert´ıvel.
Lembrando que as autofun¸c˜oes de Dirichlet do laplaciano no retˆangulo [0, a] × [0, b] s˜ao as fun¸c˜oes Ukl(x, y) = sen
kπx a sen
lπy b ,
este fato sugere que os autovetores ukl da matriz A na ordem lexicogr´afica s˜ao os vetores de coordenadas
Ukl(x1, y1) , Ukl(x2, y1) , . . . , Ukl(xn−1, y1) ,
Ukl(x1, y2) , Ukl(x2, y2) , . . . , Ukl(xn−1, y2) ,
.. .
= Ukl(∆x, ∆y) , Ukl(2∆x, ∆y) , . . . , Ukl((n − 1) ∆x, ∆y) ,
Ukl(∆x, 2∆y) , Ukl(2∆x, 2∆y) , . . . , Ukl((n − 1) ∆x, 2∆y) ,
.. .
Ukl(∆x, (m − 1) ∆y) , Ukl(2∆x, (m − 1) ∆y) , . . . , Ukl((n − 1) ∆x, (m − 1) ∆y) ,
ou seja, como ∆x = a/n e ∆y = b/m, os vetores ukl= senkπ n sen lπ m, sen 2kπ n sen lπ m, . . . , sen (n − 1) kπ n sen lπ m , senkπ n sen 2lπ m , sen 2kπ n sen 2lπ m , . . . , sen (n − 1) kπ n sen 2lπ m , . . . , senkπ n sen (m − 1) lπ m , sen 2kπ n sen (m − 1) lπ m , . . . , sen (n − 1) kπ n sen (m − 1) lπ m . 2.2 Lema. Os (n − 1) × (m − 1) autovalores da matriz A s˜ao
λkl = 2 1 ∆x2 1 − coskπ n + 1 ∆y2 1 − coslπ m = 4 1 ∆x2sen 2kπ 2n + 1 ∆y2sen 2 lπ 2m , (2.14) k = 1, . . . , n − 1, l = 1, . . . , m − 1, e os autovetores correspondentes s˜ao ukl= senkπ n sen lπ m, sen 2kπ n sen lπ m, . . . , sen (n − 1) kπ n sen lπ m , senkπ n sen 2lπ m , sen 2kπ n sen 2lπ m , . . . , sen (n − 1) kπ n sen 2lπ m , (2.15) . . . , senkπ n sen (m − 1) lπ m , sen 2kπ n sen (m − 1) lπ m , . . . , sen (n − 1) kπ n sen (m − 1) lπ m , k = 1, . . . , n − 1, l = 1, . . . , m − 1.
Prova. Embora a demonstra¸c˜ao deste lema possa ser feita de maneira an´aloga `a do Lema 1.1, usando identidades trigonom´etricas, daremos uma demonstra¸c˜ao diferente. Lembrando que as autofun¸c˜oes e os autovalores de Dirichlet do laplaciano no retˆangulo s˜ao facilmente obtidos atrav´es do m´etodo de separa¸c˜ao de vari´aveis, encontraremos os autovalores da matriz A usando um m´etodo de separa¸c˜ao de vari´aveis discreto para achar os autovalores do laplaciano discreto
− ui−1,j− 2ui,j+ ui+1,j
∆x2 +
ui,j−1− 2ui,j+ ui,j+1
∆y2
= λui,j. (2.16)
Em particular, este m´etodo n˜ao depende da maneira como os pontos da malha s˜ao ordenados (n˜ao depende da matriz A usada para representar o laplaciano discreto). Como no m´etodo de separa¸c˜ao de vari´aveis cont´ınuo, assumimos que as solu¸c˜oes da equa¸c˜ao discreta acima s˜ao produtos da forma
ui,j= F (i) G (j) , (2.17)
onde F e G s˜ao fun¸c˜oes de uma vari´avel inteira. Substituindo esta express˜ao na equa¸c˜ao de Helmholtz discreta, obtemos
F (i − 1) G (j) − 2F (i) G (j) + F (i + 1) G (j)
∆x2 +
F (i) G (j − 1) − 2F (i) G (j) + F (i) G (j + 1)
Dividindo esta equa¸c˜ao por F (i) G (j), segue que F (i − 1) − 2F (i) + F (i + 1)
∆x2F (i) +
G (j − 1) − 2G (j) + G (j + 1) ∆y2G (j) = −λ.
Separando as vari´aveis, conclu´ımos que cada um dos quocientes acima ´e independente de i ou de j, isto ´e, eles s˜ao constantes:
F (i − 1) − 2F (i) + F (i + 1)
F (i) = A, (2.18)
G (j − 1) − 2G (j) + G (j + 1)
G (j) = B, (2.19)
onde as constantes A, B est˜ao relacionadas pela identidade A
∆x2+
B
∆y2 = −λ. (2.20)
Estas equa¸c˜oes podem ser escritas como f´ormulas de recorrˆencia (an´alogas `as equa¸c˜oes diferenciais ordin´arias obtidas no m´etodo de separa¸c˜ao de vari´aveis cont´ınuo)
F (i + 1) − (A + 2) F (i) + F (i − 1) = 0, G (j − 1) − (B + 2) G (j) + G (j + 1) = 0. Para resolvˆe-las, ´e mais conveniente trabalhar com as constantes
2α = A + 2, 2β = B + 2. Desta forma, as equa¸c˜oes para F e G tornam-se
F (i − 1) − 2αF (i) + F (i + 1) = 0, (2.21) G (j − 1) − 2βG (j) + G (j + 1) = 0. (2.22) Observe que λ = 2 1 − α ∆x2 + 1 − β ∆y2 . (2.23)
Vamos resolver a equa¸c˜ao para F , j´a que a equa¸c˜ao para G ´e completamente an´aloga. Substituindo em (2.21) uma solu¸c˜ao da forma
F (i) = zi (2.24)
obtemos
zi−1− 2αzi+ zi+1= 0,
donde, dividindo por zi−1extra´ımos a equa¸c˜ao quadr´atica (an´aloga `a equa¸c˜ao indicial)
z2− 2αz + 1 = 0. (2.25)
As duas ra´ızes s˜ao
z±= α ±
p α2− 1,
com z++ z−= 2α e z+z−= 1. Portanto, a solu¸c˜ao geral para a equa¸c˜ao (2.21) ´e
F (i) = c1z+i + c2zi−
para algumas constantes c1, c2. Para determinarmos estas constantes e tamb´em α, aplicamos as condi¸c˜oes
de fronteira, que implicam
A primeira destas por sua vez implica que c1= −c2, logo
F (i) = c z+i − zi− . (2.26)
Como a equa¸c˜ao para F ´e homogˆenea, a constante c ´e arbitr´aria. Aplicando a segunda, segue que z+n = zn−,
ou, como z+z−= 1,
z+2n= 1 Conseq¨uentemente, z+´e uma 2n-´esima raiz complexa de 1:
z+= eijπ/n (2.27)
para algum inteiro 1 6 k 6 2n − 1, onde i =√−1. Como z− = 1/z+, podemos restringir 0 6 k 6 n − 1 e
(2.26) produz todas as solu¸c˜oes n˜ao-triviais F de (2.21). Portanto, α = z++ z− 2 = eiπk/n+ e−iπk/n 2 = cos kπ n , 0 6 k 6 n − 1, e, escolhendo c = 1/2,
Fk(i) = eiπki/n− e−iπki/n= sen
ikπ n . Analogamente, β = coslπ m, 0 6 l 6 m − 1, e Gl(j) = sen jlπ m. Segue que os autovalores s˜ao
λkl= 2 1 ∆x2 1 − coskπ n + 1 ∆y2 1 − coslπ m
e as coordenadas das autofun¸c˜oes associadas s˜ao dadas por (ukl)i,j= Fk(i) Gl(j) = sen
ikπ n sen
jlπ m.
2.3 Teorema (Existˆencia e Unicidade da Solu¸c˜ao Discreta). Seja Ω = (0, a) × (0, b). Ent˜ao o problema discretizado
−∆dud= fd em Ωd,
ud= 0 sobre ∂Ωd,
possui uma ´unica solu¸c˜ao.
Prova. Pelo lema anterior, os autovalores da matriz sim´etrica A s˜ao positivos, logo ela ´e uma matriz invert´ıvel.
2.2.3
Princ´ıpio do M´
aximo Discreto
Para obter uma estimativa a priori para a equa¸c˜ao de Poisson discretizada, e com isso provar a convergˆencia da solu¸c˜ao discreta para a solu¸c˜ao cl´assica, usaremos um princ´ıpio do m´aximo discreto que enunciaremos e provaremos nesta subse¸c˜ao.
2.4 Lema (Propriedade do Valor M´edio). Se ∆dud= 0, ent˜ao para pontos interiores vale
ui,j=
∆x2(u
i,j−1+ ui,j+1) + ∆y2(ui−1,j+ ui+1,j)
2 (∆x2+ ∆y2) .
Em particular, se ∆x = ∆y, ent˜ao para pontos interiores vale ui,j =
ui,j−1+ ui,j+1+ ui−1,j+ ui+1,j
4 .
2.5 Teorema (Princ´ıpio do M´aximo Discreto). Se ∆dud> 0, o m´aximo de ud em Ωd´e atingido na fronteira
∂Ωd; se o m´aximo de ud ´e atingido no interior, ent˜ao ud ´e constante.
Se ∆dud 6 0, o m´ınimo de ud em Ωd ´e atingido na fronteira ∂Ωd; se o m´ınimo de ud ´e atingido no
interior, ent˜ao ud ´e constante.
Prova. Primeiro provaremos para ∆x = ∆y, para ilustrar a analogia com o caso cont´ınuo. ∆dud > 0 implica
ui,j 6
ui,j−1+ ui,j+1+ ui−1,j+ ui+1,j
4 .
Logo, um ponto interior ´e um m´aximo local, isto ´e,
ui,j> ui,j−1, ui,j+1, ui−1,j, ui+1,j
(ou seja, ´e um m´aximo em rela¸c˜ao aos seus quatro vizinhos), somente se cada um dos seus quatro vizinhos assume este mesmo valor m´aximo, e a desigualdade torna-se uma identidade. Aplicando este argumento a todos os pontos da malha, conclu´ımos que ou n˜ao existe um m´aximo interior, e portanto o m´aximo ´e atingido na fronteira, ou existe um m´aximo interior e todos os pontos da malha assumem o mesmo valor, isto ´e, ud´e
constante.
No caso geral ∆x 6= ∆y, se ∆dud> 0 temos
1 ∆x2 + 1 ∆y2 ui,j6 1 2 ui,j−1+ ui,j+1 ∆y2 + ui−1,j+ ui+1,j ∆x2 . Se ui,j ´e um m´aximo local, segue que
1 ∆x2 + 1 ∆y2 ui,j6 1 2 ui,j+ ui,j ∆y2 + ui,j+ ui,j ∆x2 6 1 ∆x2+ 1 ∆y2 ui,j, donde 1 ∆x2 + 1 ∆y2 ui,j= 1 2 ui,j+ ui,j ∆y2 + ui,j+ ui,j ∆x2 ,
logo nenhum dos seus quatro vizinhos pode assumir um valor menor que ui,j, isto ´e, cada um dos quatro
vizinhos assume o mesmo valor m´aximo e o argumento segue como no caso anterior. O caso ∆dud 6 0 ´e