Notas de Aula Equa C Oes Diferenciais Num Ericas: Rodney Josu e Biezuner

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 153

Notas de Aula

Equações Diferenciais Numéricas

1
Rodney Josué Biezuner
Departamento de Matemática
Instituto de Ciências Exatas (ICEx)
Universidade Federal de Minas Gerais (UFMG)

Notas de aula da disciplina Equações Diferenciais Numéricas


do Curso de Bacharelado em Matemática Computacional,
lecionada pelo autor durante o segundo semestre de 2015.

9 de novembro de 2015

1
E-mail: rodney@mat.ufmg.br; homepage: http://www.mat.ufmg.br/∼rodney.
Sumário

1 Métodos Numéricos para Equações Diferenciais Ordinárias 4


1.1 Problema de Valor Inicial para Equações Diferenciais Ordinárias . . . . . . . . . . . . . . . . 4
1.1.1 Discretização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Métodos de Passo Único para EDOs de Primeira Ordem . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Métodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.3 Formulação Geral dos Métodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . 14
1.3 Métodos de Passo Múltiplo para EDOs de Primeira Ordem . . . . . . . . . . . . . . . . . . . 21
1.3.1 Métodos de Adams-Bashforth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4 Métodos de Passo Único para Sistemas de EDOs de Primeira Ordem . . . . . . . . . . . . . . 23

2 Método de Diferenças Finitas para Equações Diferenciais Elı́pticas 24


2.1 O Caso Unidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.1 Séries de Taylor e Diferenças Finitas em Uma Dimensão . . . . . . . . . . . . . . . . . 24
2.1.2 Discretização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.3 Resolução Numérica do Problema de Autovalor Unidimensional . . . . . . . . . . . . . 27
2.2 O Caso Bidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.1 A Fórmula dos Cinco Pontos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.2 Existência e Unicidade da Solução Discreta – Autovalores do Problema Bidimensional 32
2.2.3 Princı́pio do Máximo Discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.4 Convergência da Solução Discreta para a Solução Clássica . . . . . . . . . . . . . . . . 37
2.3 Discretizações de Ordem Superior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.1 Caso Unidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.2 Caso Bidimensional: A Fórmula dos Nove Pontos Compacta . . . . . . . . . . . . . . 42
2.4 Diferenças Finitas em Coordenadas Polares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.5 Domı́nios Arbitrários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.6 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3 Existência e Unicidade de Soluções 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ção . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.6.1 Esquemas de Diferenças Finitas para o Intervalo e para o Retângulo . . . . . . . . . . 69
3.6.2 Esquema de Coordenadas Polares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.6.3 Esquema de Shortley-Weller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

1
Rodney Josué Biezuner 2

4 Equações Diferenciais Parciais Hiperbólicas e Parabólicas 72


4.1 Equação da Onda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2 Esquemas de Diferenças Finitas para a Equação da Onda . . . . . . . . . . . . . . . . . . . . 73
4.3 Convergência de Problemas de Valor Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.1 Espaços de Sequências e suas Normas . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.2 Convergência Puntual e Uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.3 Convergência Uniforme do Esquema de Lax-Friedrichs . . . . . . . . . . . . . . . . . . 77
4.4 Consistência de Problemas de Valor Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.2 Consistência Puntual do Esquema FTFS . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.4.3 Consistência Puntual do Esquema de Lax-Friedrichs . . . . . . . . . . . . . . . . . . . 81
4.4.4 Consistência e Convergência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.5 Estabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.6 Condição CFL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.7 Teorema da Equivalência de Lax-Richtmyer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.8 Equação do Calor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.8.1 Consistência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.8.2 Escolhas Especiais de ∆x e ∆t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.8.3 Condições de Fronteira de Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.9 Convergência do Esquema de Diferenças Finitas Explı́cito FTCS . . . . . . . . . . . . . . . . 89

5 Métodos Iterativos para a Resolução de Sistemas Lineares 94


5.1 Métodos Iterativos Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.1.1 Método de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.1.2 Método de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1.3 Método SOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1.4 Comparação da Velocidade de Convergência dos Três Métodos . . . . . . . . . . . . . 97
5.1.5 Método de Jacobi Amortecido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2 Análise de Convergência dos Métodos Iterativos Lineares . . . . . . . . . . . . . . . . . . . . . 99
5.2.1 Convergência dos Métodos Iterativos Lineares . . . . . . . . . . . . . . . . . . . . . . . 100
5.2.2 Velocidade de Convergência dos Métodos Iterativos Lineares . . . . . . . . . . . . . . 102
5.2.3 Convergência para Matrizes Simétricas Positivas Definidas . . . . . . . . . . . . . . . . 104
5.3 Convergência dos Métodos Iterativos Lineares para as Matrizes de Discretização . . . . . . . 105
5.3.1 Convergência do Método de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.3.2 Convergência do Método de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.3.3 Convergência do Método SOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.3.4 Convergência do Método de Jacobi Amortecido . . . . . . . . . . . . . . . . . . . . . . 116
5.3.5 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.4 Método do Gradiente Conjugado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.4.1 Métodos de Descida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.4.2 Método da Descida Mais Acentuada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.4.3 Método do Gradiente Conjugado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.5 Convergência do Método do Gradiente Conjugado . . . . . . . . . . . . . . . . . . . . . . . . 125

6 Métodos Multigrid 128


6.1 A Malha de Multigrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.2 Freqüências Altas e Baixas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.3 Suavização do Erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.3.1 Método de Jacobi Amortecido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.4 O Ciclo de Duas Malhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.5 O Ciclo Multigrid: Ciclos V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Rodney Josué Biezuner 3

7 Método dos Volumes Finitos 138


7.1 Leis de Conservação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
7.1.1 Lei de Conservação Unidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
7.1.2 Lei de Conservação em Várias Dimensões . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.1.3 Relações Constitutivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
7.2 O Caso Unidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.3 O Caso Bidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
7.4 Linearização 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
7.4.3 Termo Fonte do Tipo f (u) com f 0 (u) < 0 . . . . . . . . . . . . . . . . . . . . . . . . . 150
Capı́tulo 1

Métodos Numéricos para Equações


Diferenciais Ordinárias

Para complementar este capı́tulo, consulta às referências [Iserles], [HNW] e [Butcher] é fortemente recomen-
dada.

1.1 Problema de Valor Inicial para Equações Diferenciais Ordinárias


Sejam I, J intervalos abertos de R e f : I × J −→ R uma função real. Considere o problema de valor inicial
para uma equação diferencial ordinária de primeira ordem
 0
y (t) = f (t, y (t))
(1.1)
y (t0 ) = y0 .
Queremos buscar soluções numéricas, isto é, soluções computacionalmente calculáveis que aproximem a
solução exata para este problema. Consequentemente, antes de fazer isso, precisamos saber que condições a
função f tem que satisfazer para que o problema (1.1) tenha de fato uma solução, e que esta solução seja
única. No que se segue, denotaremos por I, J intervalos de R, que podem ser abertos, fechados, semiabertos,
raios ou o próprio R.
1.1 Definição. Dizemos que f : I × J −→ R é uniformemente de Lipschitz na segunda variável 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 λ é chamada uma constante de Lipschitz para f .
Exemplos de funções f : I × J −→ R uniformemente de Lipschitz na segunda variável são funções conti-
∂f
nuamente diferenciáveis cuja derivada parcial é uniformemente limitada no domı́nio I × J; isto é uma
∂y
consequência imediata do Teorema do Valor Médio.
1.2 Teorema (Teorema de Existência e Unicidade para EDOs). Se f : I × J −→ R é uma função contı́nua,
uniformemente de Lipschitz na segunda variável, então o problema (1.1) tem uma solução única de classe
C 1 definida em um intervalo [t0 , b) para algum b > t0 .

1.1.1 Discretização
Denote a aproximação numérica para a solução exata y (t) para t > t0 por y. Embora em princı́pio uma
aproximação para a solução exata pudesse estar definida em todo o domı́nio em que a solução exata y estiver

4
Rodney Josué Biezuner 5

definida, nossa aproximação numérica y, computacionalmente calculável, só estará definida em um número
finito de pontos. Fixe um intervalo [t0 , T ]. Se quisermos analisar o comportamento assintótico da solução
quando t → ∞, este intervalo poderá 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és de n − 1 pontos interiores uniformemente espaçados
t0 = t0
t1 = t0 + h
t2 = t0 + 2h
.. (1.2)
.
tn−1 = t0 + (n − 1) h
tn = t0 + nh = T
de modo que [t0 , T ] = [t0 , t1 ] ∪ [t1 , t2 ] ∪ . . . ∪ [tn−1 , tn ]. Esta partição uniforme do intervalo [t0 , T ] é chamada
uma discretização 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ém chamada
uma malha de nós). Introduzimos a notação:
yi = y(ti ) (1.3)
para denotar o valor da solução exata no instante de tempo ti ; o valor da solução aproximada neste ponto
será denotado correspondentemente por yi . Assim, em princı́pio, a solução aproximada y existirá apenas
na malha discretizada; através de interpolação, valores para y podem ser produzidos em outros pontos
do intervalo. Uma vez discretizado o domı́nio da equação diferencial, procedemos à discretização desta
propriamente dita. Isso pode ser feito de várias maneiras. Veremos algumas destas maneiras nas seções a
seguir. Para analizar o quão bem estas diversas soluções aproximam a solução exata, introduzimos o seguinte
conceito:
1.3 Definição. Definimos o erro absoluto da solução aproximada no ponto i da malha por
ei = yi − y i , (1.4)
o erro de discretização local da solução aproximada no ponto i da malha por
|ei | = |yi − yi | (1.5)
e o erro de discretização global da solução aproximada no intervalo [t0 , tn ] discretizado por uma partição
de norma h por
E ([t0 , T ] , h) = max |ei | = max |yi − yi | . (1.6)
i=1,...,n i=1,...,n

Dizemos que o erro é 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étodos de Passo Único para EDOs de Primeira Ordem


1.2.1 Método de Euler
De acordo com a fórmula de Taylor, podemos escrever
1 00 1
y (ti+1 ) = y (ti + h) = y (ti ) + y 0 (ti ) h + y (ti ) h2 + y 000 (ti ) h3 + . . . + O (hn ) .
2! 3!
Rodney Josué Biezuner 6

Se truncarmos a série de Taylor no termo de primeira ordem, teremos a aproximação

y (ti+1 ) ' y (ti ) + y 0 (ti ) h.

Substituindo a derivada primeira pela expressão dada na EDO, podemos definir uma solução aproximada y
por
yi+1 = yi + hf (ti , yi ) . (1.9)
Este é o chamado método de Euler. Geometricamente, estamos aproximando yi+1 através de seguir a reta
tangente à solução em yi durante um intervalo de tempo h. Por este motivo, o método de Euler também é
chamado método da reta tangente. Vamos agora examinar o quão bem a solução numérica obtida através do
método de Euler aproxima a solução exata. Para isso, introduzimos o seguinte conceito:
1.4 Definição. O erro de truncamento local do método de Euler no ponto t é definido por

y (t + h) − y (t)
L (t, h) = − f (t, y) . (1.10)
h
O erro de truncamento global do método de Euler é definido por

L (h) = max L (ti , h) . (1.11)


i=1,...,n


O erro de truncamento local do método de Euler mede simplesmente o quanto o quociente de diferença que
aproxima a derivada y 0 (t) difere do valor exato para y 0 (t) dado por f (t, y) na equação diferencial. Além
disso, se yi = yi , isto é, se começássemos da solução exata, a diferença entre a solução exata yi+1 e a solução
aproximada yi+1 seria dada por

yi+1 − yi+1 = yi+1 − [yi + f (ti , yi ) h]


= yi+1 − [yi + f (ti , yi ) h]
 
yi+1 − yi
=h − f (ti , yi )
h
= hL (ti , h) ,

de modo que o erro de truncamento local vezes h é precisamente o erro de discretização absoluto local que
seria produzido pelo método de Euler em um único passo se começássemos da solução exata. Evidentemente,
embora no primeiro passo comecemos do valor exato da solução, dado pela condição inicial, este erro vai se
propagando à medida que calculamos os valores aproximados y1 , . . . , yn−1 , yn , com cada valor nesta sequência
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ção aproximada converge para a solução exata quando h → 0. Além disso,
estamos interessados na velocidade de convergência, isto é, o quão pequeno h precisa ser para um certo valor
especificado do erro.
1.5 Teorema (Convergência do Método de Euler). Considere o problema (1.1) com solução exata no in-
∂f
tervalo [t0 , T ]. Se f é de classe C 1 e é limitada em [t0 , T ] × R, então a solução aproximada obtida pelo
∂y
método de Euler converge para a solução exata quando h → 0 e o erro é de primeira ordem, isto é,

E ([t0 , T ] , h) = O (h) .
Rodney Josué Biezuner 7

Prova. Considere uma discretização uniforme do intervalo [t0 , T ] com norma h, de modo que tn = T , para
n = (tn − t0 ) /h. Seja
∂f
λ = sup (t, y) (1.12)
t∈[t0 ,T ] ∂y
y∈R

a constante de Lipschitz para f . Observe que como f é de classe C 1 , segue da regra da cadeia que y é uma
solução de classe C 2 , pois

y 0 (t) = f (t, y (t)) ,


∂f ∂f
y 00 (t) = (t, y (t)) + (t, y (t)) y 0 (t, y (t))
∂t ∂y
∂f ∂f
= (t, y (t)) + f (t, y (t)) (t, y (t)) .
∂t ∂y
Denote então
1
N= sup |y 00 (t)| . (1.13)
2 [t0 ,T ]
Pelo Teorema do Valor Médio, para t ∈ [t0 , T ], x, y ∈ R, temos

∂f
|f (t, x) − f (t, y)| 6 sup (t, y) |x − y| = λ |x − y| ,
t∈[t0 ,T ] ∂y
y∈R

ou seja, f é uniformemente de Lipschitz em [t0 , T ] × R sendo λ a constante de Lipschitz para f .


Pela fórmula de Taylor
1
yi+1 = yi + y 0 (ti ) h + y 00 (ξi ) h2
2
1
= yi + f (ti , yi ) h + y 00 (ξi ) h2 ,
2
onde ξi ∈ [ti , ti+1 ], logo
yi+1 = yi + f (ti , yi ) h + L (ti , h) (1.14)
e
yi+1 − yi 1
L (ti , h) = − f (ti , yi ) = y 00 (ξi ) h,
h 2
donde
L (h) 6 N h, (1.15)
ou seja, o erro de truncamento global é de primeira ordem.
Segue de (1.14) e da definição 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órmula de iteração para o erro absoluto:

ei+1 = ei + h [f (ti , yi ) − f (ti , yi )] + hL (ti , h) . (1.16)

Daı́ segue que


|ei+1 | 6 (1 + λh) |ei | + hL (h) 6 (1 + λh) |ei | + N h2 . (1.17)
Rodney Josué Biezuner 8

Denotando

A = 1 + λh,
B = N h2 ,

temos uma desigualdade iterativa para o erro de discretização 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 | + A2 B + AB + B
6 ...
= Ai+1 |e0 | + Ai B + . . . + A2 B + AB + B.

Como e0 = 0, já que y0 = y0 (o valor da condição inicial), segue que

|ei+1 | 6 Ai + . . . + A2 + A + 1 B.


Observe que estes números são todos positivos, pois o erro tende a crescer à medida que i cresce, isto é,
à medida que executamos mais passos no método de Euler. De qualquer modo, o crescimento do erro é
controlado, pois para todo i temos

|ei | 6 An−1 + . . . + A2 + A + 1 B


An − 1
= B
A−1
n
(1 + λh) − 1
= N h2
λh
n
(1 + λh)
6 N h.
λ
Portanto,
n
(1 + λh)
E ([t0 , T ] , h) = max |ei | 6 N h. (1.18)
i=1,...,n λ
Usando a desigualdade
1 + x 6 ex ,
válida para todo x > 0 (que por sua vez segue diretamente da expansão em série da função exponencial),
escrevemos
eλnh eλ(T −t0 )
E ([t0 , T ] , h) 6 Nh 6 N h. (1.19)
λ λ
Em particular, E ([t0 , T ] , h) = O (h). 
Portanto, a convergência do método de Euler é apenas linear. Além disso, quanto maior é o intervalo
considerado, isto é, quanto maior é T , a tendência do erro é aumentar, embora isso fosse esperado, pela
acumulação dos erros de aproximação. Se f não é de Lipschitz, a convergência não é assegurada, mas isso
vale também para a solução exata: sua existència não é assegurada quando f não é de Lipschitz. Por outro
lado, a estimativa (1.19) obtida no teorema não é a melhor possı́vel; na prática, o resultado obtido pode ser
muito melhor, dependendo de f .
Rodney Josué Biezuner 9

1.6 Exemplo. Considere o problema de valor inicial


 0
y (t) = −100y
y (0) = 1.

Como f (t, y) = −100y, segue que f é contı́nua, uniformemente de Lipschitz em R2 com constante de
Lipschitz 100. A solução exata deste problema é

y (t) = e−100t .

Logo,
y 00 (t) = 104 e−100t
e
sup |y 00 | 6 104 .
[0,+∞)

Pela estimativa (1.19) obtida no teorema anterior, o erro de discretização global no intervalo [0, T ] é limitado
por
E ([0, T ] , h) 6 100e100T h. (1.20)
Por outro lado, a fórmula iterativa de Euler neste caso se reduz a

yi+1 = yi + hf (ti , yi ) = yi − 100yi h = (1 − 100h) yi ,

de modo que

y0 = 1,
y1 = 1 − 100h,
2
y2 = (1 − 100h) ,
..
.
n
yn = (1 − 100h) .

Assim
i
E ([0, T ] , h) = max |yi − yi | = max e−100ih − (1 − 100h)
i=1,...,n i=1,...,n
i
= max e−100ih − (1 − 100h) .
i=1,...,n

Este erro efetivo é 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 e−i = e−1 ,
i=1,...,n

independente de T , enquanto que a estimativa do erro (1.20) para este valor de h é

E ([0, T ] , h) 6 e100T ,

que cresce exponencialmente com o valor de T . 


Rodney Josué Biezuner 10

1.2.2 Métodos de Runge-Kutta


Existem métodos com convergência bem mais rápida que o método de Euler. Entre os mais populares estão
os métodos de Runge-Kutta de segunda e quarta ordem (o método de Euler é um método de Runge-Kutta)
que veremos nesta seção.
A solução exata da equação diferencial ordinária
 0
y (t) = f (t)
y (t0 ) = y0

é Z t
y (t) = y0 + f (s) ds.
t0

No caso de (1.1), temos a solução implı́cita


Z t
y (t) = y0 + f (s, y (s)) ds. (1.21)
t0

Existe uma teoria rica e métodos robustos e eficientes para calcular integrais numericamente. Esta é a base
dos métodos de Runge-Kutta para resolver equações diferenciais ordinárias numericamente. Integrando de
ti até ti+1 = ti + h temos
Z ti +h
yi+1 = yi + f (s, y (s)) ds.
ti

Fazendo a mudança de variável s = ti + hu, obtemos


Z 1
yi+1 = yi + h f (ti + hu, y (ti + hu)) du. (1.22)
0

Por um método de quadratura (veja [Iserles], p. 33 para uma breve introdução) a integral pode ser numeri-
camente integrada, fornecendo
m
X
yi+1 = yi + h aj f (ti + hbj , y (ti + hbj )) (1.23)
j=1

para alguns números aj , bj ∈ [0, 1], j = 1, . . . , m. Antes de fazermos algumas escolhas especı́ficas de métodos
de Runge-Kutta com diferentes velocidades de convergência, vamos analizar a convergência de métodos de
passo único de uma maneira mais geral. Na próxima subseção, definiremos o que queremos dizer exatamente
por métodos de Runge-Kutta e, além disso, forneceremos uma formulação mais conveniente para trabalhar.

1.7 Definição. Um método de passo único (explı́cito) para a resolução numérica de equações diferenciais
ordinárias é um método da forma
yi+1 = yi + hφ (ti , yi ; h) , (1.24)
onde φ = φ (t, y; h) é chamada a função de iteração. 
A função de iteração representa uma aproximação para f (t, y) no intervalo [t0 , T ] onde buscamos a solução
aproximada y para a solução exata y (t). O método de Euler é um método de Runge-Kutta de primeira
ordem onde
φ (ti , yi ; h) = f (ti , yi ) (1.25)
é a função de iteração.
Rodney Josué Biezuner 11

1.8 Exemplo (Método de Heun). O método de Heun é um método de Runge-Kutta de segunda ordem
(veja Corolário 1.14 a seguir) onde
1
φ (ti , yi ; h) = [f (ti , yi ) + f (ti+1 , yi + hf (ti , yi ))] (1.26)
2
é a função de iteração. Neste caso, aproximamos f (ti+1 , yi+1 ) pela média dos valores f (ti , yi ) e f (ti+1 , y
bi+1 ),
onde y bi+1 é a aproximação de yi+1 que seria obtida pelo método de Euler. Geometricamente, ao invés de
seguirmos a direção da reta tangente à curva y (t) em ti , como fazemos no método de Euler, no método de
Heun seguimos a média das direções das retas tangentes em ti e ti+1 . 
1.9 Exemplo (Método de Euler modificado). O método de Euler modificado ou método do ponto
médio é um método de Runge-Kutta de segunda ordem (veja Corolário 1.14 a seguir) que tem como função
de iteração  
h h
φ (ti , yi ; h) = f ti + , yi + f (ti , yi ) (1.27)
2 2
Geometricamente, ao invés de seguirmos a direção da reta tangente à curva y (t) em ti como no método
de Euler, no método de Euler modificado seguimos a direção da reta tangente no ponto médio do intervalo
[ti , ti+1 ]. 
1.10 Exemplo (Método de Runge-Kutta de Quarta Ordem Clássico). O método de Runge-Kutta de
quarta ordem clássico (veja Corolário 1.21 a seguir), imensamente popular, tem como função de iteração
1
φ (ti , yi ; h) = (F1 + 2F2 + 2F3 + F4 ) (1.28)
6
onde

F1 = f (ti , yi ) ,
 
h h
F2 = f t i + , y i + F1 , (1.29)
2 2
 
h h
F3 = f t i + , y i + F2 ,
2 2
F4 = f (ti + h, yi + hF3 ) .


1.11 Definição. O erro de iteração local de um método de passo único no ponto (t + h, y (t + h)) é
definido por
η (t, h) = y (t + h) − [y (t) + hφ (t, y (t) ; h)] . (1.30)
Dizemos que um método de passo único tem ordem de consistência p se

η (t, h) = O hp+1 .



1.12 Teorema. Considere um método de passo único

yi+1 = yi + hφ (ti , yi ; h)

para o problema (1.1) no intervalo [t0 , T ]. Se φ é uniformemente de Lipschitz em relação à segunda variável,
independentemente de 0 < h 6 T − t, e tem ordem de consistência p, então o método tem ordem de
convergência p.
Rodney Josué Biezuner 12

Prova. A demonstração é similar à do Teorema 1.5.


Seja λ a constante de Lipschitz para φ, isto é,

|φ (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ém

|η (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ção,

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ção do Teorema 1.5, obtemos


n
(1 + λh)
|ei | 6 (Chp )
λ
para todo i, donde
eλ(T −t0 )
E ([t0 , T ] , h) 6 Chp . (1.34)
λ

1.13 Teorema (Convergência de Métodos de Runge-Kutta de Segunda Ordem). Considere o problema (1.1)
∂f
com solução exata no intervalo [t0 , T ], tal que f é de classe C 2 e é limitada em [t0 , T ] × R. Então um
∂y
método de Runge-Kutta com função de iteração

φ (ti , yi ; h) = a1 f (ti , yi ) + a2 f (ti + b1 h, yi + b2 hf (ti , yi )) (1.35)

tem ordem de convergência 2 se os coeficientes a1 , a2 , b1 , b2 satisfazem



 a1 + a2 = 1

1


a2 b1 =

2 (1.36)

1


a2 b2 =


2
Rodney Josué Biezuner 13

Prova. Temos
φ (t, y; h) = a1 f (t, y) + a2 f (t + b1 h, y + b2 hf (t, y)) .
Denote
∂f
M= sup .
[t0 ,T ]×R ∂y
Como

|φ (t, x; h) − φ (t, y; h)| 6 a1 f |(t, x) − f (t, y)|


+ a2 |f (t + b1 h, x + b2 hf (t, x)) − f (t + b1 h, y + b2 hf (t, y))|
6 a1 M |x − y| + a2 M |x + b2 hf (t, x) − [y + b2 hf (t, y)]|
6 a1 M |x − y| + a2 M |x − y| + a2 b2 M h |f (t, x) − f (t, y)|
6 a1 M |x − y| + a2 M |x − y| + a2 b2 M 2 (T − t0 ) |x − y|
= M [a1 + a2 + a2 b2 M (T − t0 )] |x − y|

segue que φ satisfaz a condição de Lipschitz requerida pelo Teorema 1.12, com constante de Lipschitz

λ = M [a1 + a2 + a2 b2 M (T − t0 )] .

A expansão de Taylor desta função com respeito a h = 0 é


∂φ
(t, y; 0) h + O h2 .

φ (t, y; h) = φ (t, y; 0) +
∂h
Como

φ (t, y; 0) = a1 f (t, y) + a2 f (t + 0, y + 0)
= (a1 + a2 ) f (t, y)
= f (t, y) ,

e, pela regra da cadeia,


∂φ ∂f
(t, y; h) = a2 (t + b1 h, y + b2 hf (t, y)) b1
∂h ∂t
∂f
+ a2 (t + b1 h, y + b2 hf (t, y)) b2 f (t, y)
∂y
de modo que
∂φ ∂f ∂f
(t, y; 0) = a2 b1 (t, y) + a2 b2 f (t, y) (t, y)
∂h ∂t ∂y
 
1 ∂f ∂f
= (t, y) + f (t, y) (t, y) ,
2 ∂t ∂y
segue que  
h ∂f ∂f
(t, y) + O h2 .

φ (t, y; h) = f (t, y) + (t, y) + f (t, y) (1.37)
2 ∂t ∂y
Rodney Josué Biezuner 14

A condição de f ser de classe C 2 garante que a solução exata é de classe C 3 , pois

y 0 (t) = f (t, y (t)) ,


∂f ∂f 0
y 00 (t) = + y
∂t ∂y
∂f ∂f
= +f ,
∂t ∂y
∂2f ∂2f 0
 2
∂2f 0
  
000 ∂f ∂f ∂f ∂ f
y (t) = 2 + y + +f +f + y
∂t ∂t∂y ∂t ∂y ∂y ∂y∂t ∂y 2
 2
∂2f ∂2f ∂2f ∂f ∂f ∂f
= 2 + 2f + f2 2 + +f ,
∂t ∂t∂y ∂y ∂t ∂y ∂y

logo, a expansão de Taylor da solução exata é


1
y (t + h) = y (t) + y 0 (t) h + y 00 (t) h2 + O h3 ,

2
ou seja,
  
h ∂f ∂f
(t, y (t)) + O h3 .

y (t + h) = y (t) + h f (t, y (t)) + (t, y (t)) + f (t, y (t)) (1.38)
2 ∂t ∂y

Substituindo (1.37) nesta expressão, 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ário. O método de Heun e o método de Euler modificado são métodos convergentes de segunda
ordem.
Prova. Os coeficientes da função de iteração do método de Heun satisfazem a1 = a2 = 12 e b1 = b2 = 1.
Os coeficientes da função de iteração do método de Euler modificado satisfazem a1 = 0, a2 = 1 e
b1 = b2 = 21 . 
A convergência de métodos de Runge-Kutta de ordem mais alta será vista na próxima subseção.

1.2.3 Formulação Geral dos Métodos de Runge-Kutta


1.15 Definição. Sejam s um inteiro e

a21 ,
a31 , a32 ,
a41 , a42 , a43 , (1.39)
..
.
as1 , as2 , as3 , . . . , as,s−1 ,

b1 , . . . , b s ,
c2 , . . . , cs ,
Rodney Josué Biezuner 15

coeficientes reais. Um método de Runge-Kutta explı́cito com s estágios é um método de passo único com
função de iteração da forma
φ (ti , yi ; h) = b1 k1 + . . . + bs ks , (1.40)
onde
k1 = f (ti , yi ) ,
k2 = f (ti + c2 h, yi + a21 k1 h) ,
k3 = f (ti + c3 h, yi + (a31 k1 + a32 k2 ) h) (1.41)
..
.
ks = f (ti + cs h, yi + (as1 k1 + . . . + as,s−1 ks−1 ) h) ,
com a condição
i−1
X
ci = ai,j . (1.42)
j=1

Observamos que a condição (1.42) expressa que todos os pontos onde f é calculada são aproximações de
primeira ordem para a solução e simplificam consideravelmente a obtenção de condições para métodos de
ordem de convergência alta; para ordem de convergência baixa, no entanto, ela não é necessária (veja [HNW],
p. 142, Exercı́cio 6).
1.16 Notação. Os coeficientes de um método de Runge-Kutta especificado são 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étodos RK de 2 estágios tem tabelas RK com formato
0
c2 a21
b1 b2
Nesta notação, as condições do Teorema 1.13 para que um método RK de 2 estágios seja de segunda ordem
são 

 b1 + b2 = 1
1


b2 c2 = (1.43)

 2

c2 = a21

A última condição é também à condição (1.42). Os métodos de Heun e de Euler modificado tem as seguintes
tabelas RK, respectivamente,
0 0
1 1 1 1
e 2 2 .
1 1
2 2 0 1

Rodney Josué Biezuner 16

1.18 Teorema (Convergência de Métodos de Runge-Kutta de Terceira Ordem). Considere o problema (1.1)
∂f
com solução exata no intervalo [t0 , T ], tal que f é de classe C 3 e é limitada em [t0 , T ] × R. Então um
∂y
método RK com tabela RK
0
c2 a21
c3 a31 a32
b1 b2 b3
tem ordem de convergência 3 se os seus coeficientes satisfazem


 b1 + b2 + b3 = 1
1



 b2 c2 + b3 c3 =




 2

1


b2 c22 + b3 c23 =


3 (1.44)

1



 b3 a32 c2 =

6





a = c

 21

 2
a31 = c3 − a32

Prova. A expansão de Taylor da solução exata (como f é de classe C 3 , a solução exata é de classe C 4 ) é
1 1
y (t + h) = y (t) + y 0 (t) h + y 00 (t) h2 + y 000 (t) h3 + O h4 .

2 6
Segue de (1.1) e da regra da cadeia que
y 0 (t) = f (t, y (t)) = f,
∂f ∂f
y 00 (t) = (t, y (t)) + f (t, y (t)) (t, y (t))
∂t ∂y
∂f ∂f
= +f ,
∂t ∂y
∂2f ∂2f
y 000 (t) = 2 (t, y (t)) + (t, y (t)) y 0 (t)
∂t ∂t∂y
 
∂f ∂f ∂f
+ (t, y (t)) + f (t, y (t)) (t, y (t)) (t, y (t))
∂t ∂y ∂y
 2
∂2f

∂ f 0
+ f (t, y (t)) (t, y (t)) + 2 (t, y (t)) y (t)
∂y∂t ∂y
2
∂2f ∂2f ∂2f ∂2f

∂f ∂f ∂f
= 2 +f + +f +f + f2 2
∂t ∂t∂y ∂t ∂y ∂y ∂y∂t ∂y
2 2
 2 2
∂ f ∂ f ∂f ∂f ∂f ∂ f
= 2 + 2f + +f + f2 2 .
∂t ∂t∂y ∂t ∂y ∂y ∂y
Daı́,
y (t + h) = y (t)
( " 2 #)
h2 ∂2f ∂2f 2
  
h ∂f ∂f ∂f ∂f ∂f 2∂f
+h f + +f + 2
+ 2f + +f +f
2 ∂t ∂y 6 ∂t ∂t∂y ∂t ∂y ∂y ∂y 2
4

+O h .
Rodney Josué Biezuner 17

Se mostrarmos que
" 2 #
h2 ∂2f ∂2f 2
  
h ∂f ∂f ∂f ∂f ∂f 2∂
f
+ O h3 , (1.45)

φ (t, y; h) = f + +f + 2
+ 2f + +f +f
2 ∂t ∂y 6 ∂t ∂t∂y ∂t ∂y ∂y ∂y 2
obteremos
η (t, h) = y (t + h) − [y (t) + hφ (t, y (t) ; h)] = O h4


e o resultado seguirá do Teorema 1.12.


Temos
φ (t, y; h) = b1 k1 (t, y; h) + b2 k2 (t, y; h) + b3 k3 (t, y; h) ,
onde
k1 (t, y; h) = f (t, y) ,
k2 (t, y; h) = f (t + c2 h, y + a21 f (t, y) h)
= f (t + c2 h, y + c2 f (t, y) h) ,
k3 (t, y; h) = f (t + c3 h, y + a31 f (t, y) h + a32 k2 (t, y; h) h) .
usando a relação c2 = a21 . A condição sobre f garante que φ satisfaz a condição de Lipschitz requerida pelo
Teorema 1.12. A expansão de Taylor desta função com respeito a h = 0 é
∂φ 1 ∂2φ
(t, y; 0) h2 + O h3 .

φ (t, y; h) = φ (t, y; 0) + (t, y; 0) h + 2
(1.46)
∂h 2 ∂h
Temos
φ (t, y; 0) = b1 k1 (t, y; 0) + b2 k2 (t, y; 0) + b3 k3 (t, y; 0)
= b1 f (t, y) + b2 f (t, y) + b3 f (t, y)
= (b1 + b2 + b3 ) f (t, y) . (1.47)
Para obter as derivadas, como k1 independe de h, temos
∂φ ∂k2 ∂k3
(t, y; 0) = b2 (t, y; 0) + b3 (t, y; 0) , (1.48)
∂h ∂h ∂h
∂2φ ∂ 2 k2 ∂ 2 k3
2
(t, y; 0) = b2 2
(t, y; 0) + b3 (t, y; 0) . (1.49)
∂h ∂h ∂h2
Calcularemos cada um dos termos.
Para a derivada primeira, temos
∂k2 ∂f ∂f
(t, y; h) = c2 (t + c2 h, y + c2 f (t, y) h) + c2 f (t, y) (t + c2 h, y + c2 f (t, y) h) ,
∂h ∂t ∂y
∂k3 ∂f
(t, y; h) = c3 (t + c3 h, y + [a31 f (t, y) + a32 k2 (t, y; h)] h)
∂h ∂t  
∂f ∂k2
+ (t + c3 h, y + a31 f (t, y) h + a32 k2 (t, y; h) h) a31 f (t, y) + a32 k2 (t, y; h) + a32 (t, y; h) h
∂y ∂h
de modo que
∂k2 ∂f ∂f
(t, y; 0) = c2 (t, y) + c2 f (t, y) (t, y) ,
∂h ∂t ∂y
∂k3 ∂f ∂f
(t, y; 0) = c3 (t, y) + (t, y) [a31 f (t, y) + a32 k2 (t, y; 0)]
∂h ∂t ∂y
∂f ∂f
= c3 (t, y) + (a31 + a32 ) f (t, y) (t, y)
∂t ∂y
∂f ∂f
= c3 (t, y) + c3 f (t, y) (t, y) .
∂t ∂y
Rodney Josué Biezuner 18

usando c3 = a31 + a32 . Segue de (1.48) que


   
∂φ ∂f ∂f ∂f ∂f
(t, y; 0) = b2 c2 + c2 f (t, y) + b3 c3 + c3 f (t, y)
∂h ∂t ∂y ∂t ∂y
 
∂f ∂f
= (b2 c2 + b3 c3 ) +f (t, y) . (1.50)
∂t ∂y
Para a derivada segunda temos
∂ 2 k2 2∂ f
2
2 ∂2f
(t, y; h) = c 2 (t + c2 h, y + c2 f (t, y) h) + c 2 f (t, y) (t + c2 h, y + c2 f (t, y) h)
∂h2 ∂t2 ∂t∂y
∂2f ∂2f
+ c22 f (t, y) (t + c2 h, y + c2 f (t, y) h) + c22 f 2 (t, y) 2 (t + c2 h, y + c2 f (t, y) h)
∂y∂t ∂y
2 2
∂ f ∂ f
= c22 2 (t + c2 h, y + c2 f (t, y) h) + 2c22 f (t, y) (t + c2 h, y + c2 f (t, y) h)
∂t ∂t∂y
∂2f
+ c22 f 2 (t, y) 2 (t + c2 h, y + c2 f (t, y) h) ,
∂y
e
∂ 2 k3
(t, y; h)
∂h2
∂2f
= c23 2 (t + c3 h, y + [a31 f (t, y) + a32 k2 (t, y; h)] h)
∂t
∂2f
 
∂k2
+ c3 (t + c3 h, y + [a31 f (t, y) + a32 k2 (t, y; h)] h) a31 f (t, y) + a32 k2 (t, y; h) + a32 (t, y; h) h
∂t∂y ∂h
2
 
∂ f ∂k2
+ c3 (t + c3 h, y + a31 f (t, y) h + a32 k2 (t, y; h) h) a31 f (t, y) + a32 k2 (t, y; h) + a32 (t, y; h) h
∂y∂t ∂h
2
 2
∂ f ∂k2
+ 2 (t + c3 h, y + a31 f (t, y) h + a32 k2 (t, y; h) h) a31 f (t, y) + a32 k2 (t, y; h) + a32 (t, y; h) h
∂y ∂h
∂ 2 k2
 
∂f ∂k2 ∂k2
+ (t + c3 h, y + a31 f (t, y) h + a32 k2 (t, y; h) h) a32 (t, y; h) + a32 (t, y; h) + a32 (t, y; h) h ,
∂y ∂h ∂h ∂h2
de modo que
∂ 2 k2 ∂2f ∂2f ∂2f
2
(t, y; 0) = c22 2 (t, y) + 2c22 f (t, y) (t, y) + c22 f 2 (t, y) 2 (t, y) ,
∂h ∂t ∂t∂y ∂y
∂ 2 k3 2 ∂ 2
f 2 ∂ 2
f 2 2 ∂ 2
f
2
(t, y; 0) = c 3 2
(t, y) + 2c3 f (t, y) (t, y) + c 3 f (t, y) (t, y)
∂h ∂t ∂t∂y ∂y 2
 2
∂f ∂f ∂f
+ 2a32 c2 (t, y) (t, y) + 2a32 c2 f (t, y) (t, y) .
∂y ∂t ∂y
Segue de (1.49) que
∂2φ 2
2∂ f 2 ∂ f
2 2
2 2∂ f
(t, y; 0) = b 2 c 2 + 2b2 c2 f + b 2 c2 f
∂h2 ∂t2 ∂t∂y ∂y 2
 2
∂2f 2 ∂ f
2
2 2∂ f
2
∂f ∂f ∂f
+ b3 c23 + 2b c
3 3 f + b c
3 3 f + b a c
3 32 2 + b a c
3 32 2 f
∂t2 ∂t∂y ∂y 2 ∂y ∂t ∂y
2 2 2
∂ f ∂ f ∂ f
= b2 c22 + b3 c23 + 2 b2 c22 + b3 c23 f + b2 c22 + b3 c23 f 2 2
  
∂t2 ∂t∂y ∂y
 2
∂f ∂f ∂f
+ 2b3 a32 c2 + 2b3 a32 c2 f . (1.51)
∂t ∂y ∂y
Rodney Josué Biezuner 19

Portanto, (1.46) juntamente com (1.47), (1.50) e (1.51) produz


 
∂f ∂f
φ (t, y; h) = (b1 + b2 + b3 ) f + h (b2 c2 + b3 c3 ) +f
∂t ∂y
h2 2 2  2 ∂2f

∂ f ∂ f
b2 c22 + b3 c23 2 2 2 2
 
+ + 2 b 2 c 2 + b 3 c 3 f + b 2 c 2 + b3 c3 f
2 ∂t2 ∂t∂y ∂y 2
 2 #
∂f ∂f ∂f
+ O h3 .

+2b3 a32 c2 + 2b3 a32 c2 f (1.52)
∂t ∂y ∂y

Comparando (1.52) com (1.45), vemos que as condições para que estas duas expressões sejam idènticas são
exatamente
b1 + b2 + b3 = 1,
1
b2 c2 + b3 c3 = ,
2

1
b2 c22 + b3 c23 = ,
3

1
b3 a32 c2 = .
6


1.19 Exemplo. O método de Runge-Kutta de terceira ordem clássico tem tabela RK
0
1 1
2 2
.
1 −1 2
1 2 1
6 3 6
Ou seja,
h
yi+1 = yi + (F1 + 4F2 + F3 ) , (1.53)
6
com
F1 = f (ti , yi ) ,
 
h h
F2 = f ti + , yi + F1 ,
2 2
F3 = f (ti + h, yi − hF1 + 2hF2 ) .

É fácil verificar que as condições do Teorema 1.18 são satisfeitas. 


1.20 Teorema (Convergência de Métodos de Runge-Kutta de Quarta Ordem). Considere o problema (1.1)
com f : [t0 , T ] × R −→ R de classe C 4 . Então um método RK com tabela RK
0
c2 a21
c3 a31 a32
c4 a41 a42 a43
b1 b2 b3 b4
Rodney Josué Biezuner 20

tem ordem de convergência 4 se os seus coeficientes satisfazem




 b1 + b2 + b3 + b4 = 1
1




 b2 c2 + b3 c3 + b4 c4 =



 2

1


b2 c22 + b3 c23 + b4 c24 =






 3

1


b2 c32 + b3 c33 + b4 c34 =






 4

1




 b3 a32 c2 + b4 a42 c2 + b4 a43 c3 =
6

(1.54)
 1
b3 a32 c22 + b4 a42 c22 + b4 a43 c23 =



12







 1

 b3 c3 a32 c2 + b4 c4 a42 c2 + b4 c4 a43 c3 =
8







 1

 b4 a43 a32 c2 =
12





a21 = c2




a31 = c3 − a32




a41 = c4 − a42 − a43

Prova. Uma demonstração análoga à demonstração do Teorema 1.19 é 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ção bem mais elegante baseada em teoria dos grafos. Além disso, esta técnica é essencial na
obtenção e análise da convergência de métodos RK de ordem superior a 4. 
1.21 Corolário. O método de Runge-Kutta de quarta ordem clássico é de fato um método convergente de
quarta ordem.
Prova. A tabela RK do método de Runge-Kutta de quarta ordem clássico é

0
1 1
2 2
1 1
0
2 2
1 0 0 1
1 1 1 1
6 3 3 6
É fácil, embora tedioso, verificar que todas as condições do teorema são satisfeitas. 
O maior esforço computacional requerido pelos métodos de Runge-Kutta (abreviação: métodos RK) é
o número de avaliações de f necessários. O método de Euler requer apenas uma avaliação da função f ,
enquanto que os métodos de Runge-Kutta de segunda ordem requerem duas avaliações de f , métodos RK
de terceira ordem requerem três avaliações e métodos de RK de quarta ordem requerem quatro avaliações.
O maior número de avaliações é contrabalançado pelo maior tamanho do passo h necessário para se atingir
uma precisão determinada e, consequentemente, um menor número de cálculos. Além disso, o tamanho
do passo tem fundamental importância em computação prática, pois quanto menor o tamanho do passo,
maiores são os erros de arredondamento, exatamente porque quanto menor h mais cálculos são necessários
Rodney Josué Biezuner 21

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ção aproximada e a solução
exata começará a divergir à medida que h diminui. Por exemplo, um método RK de ordem 4 que requer 4
vezes o número de avaliações do método de Euler, deverá em geral produzir respostas mais precisas que o
método de Euler que utilizar 1/4 do tamanho de passo do primeiro.
Para obter métodos RK de ordem n > 5, no entanto, o número de avaliações requerido começa a ser
maior que n e a aumentar com n. Por exemplo, são necessárias 6 avaliações para obter um método de RK
de ordem 5, 7 avaliações para um método RK de ordem 6, 9 avaliações para um método RK de ordem 7 e
11 avaliações para um método RK de ordem 8. Até o momento, o método RK de maior ordem construı́do
explicitamente tem ordem 10 e necessita 17 avaliações de f , embora não se saiba se este número é otimal.
Por este motivo, métodos RK de ordem maior que 4 não são populares.
Para maiores detalhes sobre métodos de Runge-Kutta, veja [HNW]. Uma idéia importante na prática que
não trabalhamos aqui é a variação do tamanho do passo h em diferentes regiões do domı́nio: em regiões do
domı́nio de baixa concavidade (derivada segunda pequena), não é necessário usar passos de tamanho grande
para atingir uma determinada precisão, diferente de regiões de alta concavidade, onde um menor passo é
necessário para atingir a precisão desejada. Bons códigos que usam métodos RK em geral implementam
algum algoritmo que permite variar o tamanho do passo h à medida que o programa executa. Estes são
chamados métodos adaptativos, porque o número e posição dos nós da malha variam ao mesmo tempo
que o processamento é feito. Em geral, a decisão de modificar o tamanho do passo no próximo passo do
programa pode ser tomada a partir de uma estimativa do erro de discretização local e há várias maneiras de
fazê-lo, mas isso pode ser muito custoso. Uma maneira computacionalmente eficiente de fazê-lo é dada pelo
método de Runge-Kutta-Fehlberg em que, por exemplo, um método RK de quinta ordem é utilizado
para estimar o erro de discretização local de um método RK de quarta ordem.

1.3 Métodos de Passo Múltiplo para EDOs de Primeira Ordem


Nos métodos de passo único, o valor de yi+1 depende apenas do valor aproximado da solução no ponto ti .
É de se esperar que poderı́amos obter uma aproximação mais precisa se usássemos a informação já obtida
nos passos anteriores ti , ti−1 , ti−2 , . . . , ts .
Uma classe grande e importante de métodos de passo múltiplo é obtida da seguinte maneira. Integrando
a solução sobre o intervalo [ti , t+1 ] obtemos
Z ti+1 Z ti+1
0
yi+1 − yi = y (t) dt = f (t, y (t)) dt.
ti ti

Aproximando f (t, y (t)) por um polinômio p (t) segue que a solução aproximada será dada por
Z ti+1
yi+1 = yi + p (t) dt. (1.55)
ti

1.3.1 Métodos de Adams-Bashforth


A idéia deste método é aproximar f (t, y (t)) por um polinômio Pk (t) de grau k usando os k + 1 dados
calculados anteriormente para determinar os coeficientes de Pk .
Se k = 0, obtemos o método de Euler. Se k = 1, então P1 é simplesmente a função 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,


P1 (ti−1 ) = f (ti−1 , yi−1 ) = Ati−1 + B;
Rodney Josué Biezuner 22

resolvendo este sistema, obtemos


f (ti , yi ) − f (ti−1 , yi−1 )
A= , (1.57)
h
f (ti−1 , yi−1 ) ti − f (ti , yi ) ti−1
B= .
h
Denotando
fk = f (tk , yk ) ,
segue que
Z ti+1 ti+1  
fi − fi−1 fi−1 ti − fi ti−1
Z
P1 (t) dt = t+ dt
ti ti h h
fi − fi−1 2  fi−1 ti − fi ti−1
= ti+1 − t2i + (ti+1 − ti )
2h h
fi t2i+1 − fi−1 t2i+1 − fi t2i + fi−1 t2i fi−1 ti ti+1 − fi−1 t2i − fi ti−1 ti+1 + fi ti−1 ti
= +
2h h
fi t2i+1 − fi−1 t2i+1 − fi t2i − fi−1 t2i + 2fi−1 ti ti+1 − 2fi ti−1 ti+1 + 2fi ti−1 ti
= .
2h
Usando o fato que ti−1 = ti − h e que ti+1 = ti + h segue que
Z ti+1
1  2
p (t) dt = fi ti + 2hfi ti + fi h2 − fi−1 t2i − 2hfi−1 ti − fi−1 h2 − fi t2i − fi−1 t2i
ti 2h
+2fi−1 t2i + 2hfi−1 ti − 2fi t2i − 2fi h2 + 2fi t2i − 2hfi ti


3fi h2 − fi−1 h2 3fi − fi−1


= = h.
2h 2
Portanto o método de Adams-Bashforth de segunda ordem (como pode ser provado) é dado por
h
yi+1 = yi +[3f (ti , yi ) − f (ti−1 , yi−1 )] . (1.58)
2
Observe que para obter y1 ainda é necessário utilizar um método de passo único, já que apenas o ponto
inicial está disponı́vel; apenas a partir de y2 podemos utilizar este método. Para não contaminar a ordem de
convergência deste método, é necessário também utilizar um método de passo único de segunda ordem para
encontrar y1 ou então diminuir o passo h inicialmente até chegar em y1 , obtendo alguns pontos intermediários
antes de chegar aı́.
Procedendo de maneira semelhante, usando polinômios de grau 2 e 3, obtemos respectivamente o método
de Adams-Bashforth de terceira ordem
h
yi+1 = yi + [23f (ti , yi ) − 16f (ti−1 , yi−1 ) + 5f (ti−2 , yi−2 )] (1.59)
12
e o método de Adams-Bashforth de quarta ordem
h
yi+1 = yi + [55f (ti , yi ) − 59f (ti−1 , yi−1 ) + 37f (ti−2 , yi−2 ) − 9f (ti−3 , yi−3 )] . (1.60)
24
Métodos de Adams-Bashforth de ordem arbitrária podem ser obtidos da mesma maneira. Em todos estes
métodos, os k pontos iniciais necessários para começar o método multipasso devem ser obtidos por um método
de passo único adequado, isto é, de mesma ou melhor ordem de convergência que o método multipasso que
se pretende usar. Também é possı́vel usar um método de passo único no primeiro passo, um método de
passo duplo no segundo passo e assim por diante até que um número suficiente de pontos tenha sido obtido
para começar o método multipasso (com a possibilidade de se usar tamanhos de passo diferentes em cada
método, construindo pontos intermediários até chegar nos pontos de interesse). Historicamente, os métodos
multipasso foram desenvolvidos antes dos métodos de Runge-Kutta.
Rodney Josué Biezuner 23

1.4 Métodos de Passo Único 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ções diferenciais ordinária de primeira ordem com condição
inicial
 0
y (t) = f (t, y) ,
(1.61)
y (t0 ) = y0 ,
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étodos numéricos vistos anteriormente se aplicam em forma vetorial. Por exemplo, o método de Euler
se escreve da mesma forma
yi+1 = yi + f (ti , yi ) h (1.62)
mas desta vez a solução aproximada y é um vetor com n componentes:

yi = (y1,i (t) , . . . , yn,i (t)) .

Por exemplo, para um sistema 2 × 2


 0
 y1 (t) = f1 (t, y1 , y2 ) ,
y 0 (t) = f2 (t, y1 , y2 ) , (1.63)
 2
y1 (t0 ) = y1,0 , y2 (t0 ) = y2,0 ,

o método 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,
y1,0 = y1,0 , y2,0 (t0 ) = y2,0 .

Capı́tulo 2

Método de Diferenças Finitas para


Equações Diferenciais Elı́pticas

2.1 O Caso Unidimensional


Nesta seção, desenvolveremos um método numérico de diferenças finitas para resolver o problema de Dirichlet
para a equação de Poisson em uma dimensão

−u00 = f (x)

em [0, L] ,
u (0) = a, u (L) = b.

2.1.1 Séries de Taylor e Diferenças Finitas em Uma Dimensão


Seja ∆x > 0. Considere as seguintes expansões de Taylor de uma função u em torno de um ponto x0 ,
respectivamente à direita e à esquerda de x0 :
1 00 1 000
u(x0 + ∆x) = u(x0 ) + u0 (x0 )∆x + u (x0 )∆x2 + u (x0 )∆x3 + . . . , (2.1)
2! 3!
1 1 000
u(x0 − ∆x) = u(x0 ) − u0 (x0 )∆x + u00 (x0 )∆x2 − u (x0 )∆x3 + . . . (2.2)
2! 3!
Daı́,
u(x0 + ∆x) − u(x0 ) 1 1 000
u0 (x0 ) = − u00 (x0 )∆x − u (x0 )∆x2 − . . . ,
∆x 2! 3!
u(x0 ) − u(x0 − ∆x) 1 1 000
u0 (x0 ) = + u00 (x0 )∆x − u (x0 )∆x2 + . . .
∆x 2! 3!
Isso fornece duas aproximações possı́veis para a primeira derivada u0 (x0 ) de u em x0 :

u(x0 + ∆x) − u(x0 )


u0 (x0 ) ≈ , (2.3)
∆x
u(x0 ) − u(x0 − ∆x)
u0 (x0 ) ≈ . (2.4)
∆x
A primeira é chamada uma diferença progressiva e a segunda é uma diferença regressiva. Pela Fórmula
de Taylor com Resto, o erro destas aproximações é dado por
1
 = ± u00 (ξ)∆x = O(∆x),
2
24
Rodney Josué Biezuner 25

onde x0 6 ξ 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

u(x0 + ∆x) − u(x0 − ∆x) 1 1


u0 (x0 ) = − u000 (x0 )∆x2 − u(5) (x0 )∆x4 − . . .
2∆x 3! 5!
o que dá uma outra aproximação possı́vel para a primeira derivada u0 (x0 ) de u em x0 :

u(x0 + ∆x) − u(x0 − ∆x)


u0 (x0 ) ≈ (2.5)
2∆x
com erro
1
 = − u000 (ξ)∆x2 = O(∆x2 ),
6
para algum x0 − ∆x 6 ξ 6 x0 + ∆x. Esta aproximação por diferença finita é chamada diferença centrada.
Ela é uma melhor aproximação que as aproximações laterais (progressiva e regressiva).
Se, ao invés, adicionarmos (2.1) e (2.2), obtemos

u(x0 + ∆x) + u(x0 − ∆x) − 2u(x0 ) 2 2


u00 (x0 ) = − u(4) (x0 )∆x2 − u(6) (x0 )∆x4 − . . .
∆x2 4! 5!
o que fornece uma aproximação para a derivada segunda u00 (x0 ) de u em x0 :

u(x0 + ∆x) + u(x0 − ∆x) − 2u(x0 )


u00 (x0 ) ≈ (2.6)
∆x2
com erro
1 (4)
u (ξ)∆x2 = O(∆x2 ),
=−
12
onde x0 − ∆x 6 ξ 6 x0 + ∆x. Esta aproximação é também chamada uma diferença centrada para a
derivada segunda.

2.1.2 Discretização
Dividimos o intervalo [0, L] em n subintervalos de comprimento ∆x = L/n através de n − 1 pontos interiores
uniformemente espaçados:

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ção:

ui = u(xi ),
fi = f (xi ) .

Esta é uma discretização uniforme do intervalo [0, L]. Uma vez discretizado o domı́nio da equação dife-
rencial parcial, procedemos à discretização desta. Usando diferenças centradas para cada ponto interior xi ,
1 6 i 6 n − 1, temos
−ui−1 + 2ui − ui+1
= fi . (2.7)
∆x2
Para os pontos de fronteira, a condição de Dirichlet implica

u0 = a e un = b. (2.8)
Rodney Josué Biezuner 26

Portanto, para encontrar a solução discretizada temos que resolver o sistema linear com n − 1 equações a
n − 1 incógnitas:
 ∆x−2 (2u1 − u2 ) = f1 + a∆x−2

−2

 ∆x (−u1 + 2u2 − u3 ) = f2



.. ,
 .
−2
∆x (−un−3 + 2un−2 − un−1 ) = fn−2




∆x−2 (−un−2 + 2un−1 ) = fn−1 + b∆x−2

ou seja,
f1 + a∆x−2
    
2 −1 u1
 −1 2 −1  u2   f2 
.. ..
    
 .. ..    
1  −1 . . 
 .  
= . 
.
∆x2  .. ..  ..   .. 

 . . −1 
 .  
  . 

 −1 2 −1   un−2   fn−2 
−1 2 un−1 fn−1 + b∆x−2
Esta é uma matriz tridiagonal simétrica, esparsa. Além disso, como veremos na próxima subseção, ela é
positiva definida (isto é, seus autovalores são positivos) e portanto possui uma inversa, o que garante a
existência e unicidade da solução. Dada sua simplicidade, ela pode ser resolvida por eliminação gaussiana
ou sua inversa pode ser efetivamente calculada. Por exemplo, para n = 4, 5, 6 temos
 1
1 12 13
  
 −1 2 0 0 1 0 0  
2 −1 0     3 2 1
 −1
 
2 
 2
 
 1
 1
2 −1  =   0 1 3  0 3 0  2 1 0  = 4 2 4 2 ,
  
0 −1 2     1 2 3
1 2
0 0 1 0 0 43 3 3 1
 1
1 21 13 14
  
2 0 0 0 1 0 0 0
 −1      
2 −1 0 0  0 1 2 2  0 2 0 0  1 1 0 0 
    4 3 2 1
 −1 2 −1 0   3 4  3  2  1 3 6 4 2 
  =   =  
 0 −1 2 −1  0 0 1 3  0 0 3 0  1 2 1 0  5 2 4 6 3
        
0 0 −1 2 

4 

 4 

 3 3 
 1 2 3 4
4 1 2 3
0 0 0 1 0 0 0 5 4 4 4 1

1 1 1 1 1
   
1 2 3 4 5 2 0 0 0 0 1 0 0 0 0
   
 −1  2 2 2
 2
 1

2 −1 0 0 0  0
 1 3 4 5
 0
 3 0 0 0 


2 1 0 0 0 

 −1 2 −1 0 0     
   3

3  3
 1 2

 0
 −1 2 −1 0 
  0
= 0 1 4 5  0 0 4 0 0 


3 3 1 0 0 

 0 0 −1 2 −1  







4  4 1 1 3
0 0 0 −1 2  0
 0 0 1 5  0 0 0 5 0 


4 2 4 1 0 

   
5 1 2 3 4
0 0 0 0 1 0 0 0 0 6 5 5 5 5 1
 
5 4 3 2 1
 4 8 6 4 2 
1 
=  3 6 9 6 3 
.
6
 2 4 6 8 4 
1 2 3 4 5

A forma da inversa no caso geral pode ser facilmente adivinhada.


Rodney Josué Biezuner 27

2.1.3 Resolução Numérica 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)  
2 −1
 −1 2 −1 
 
 .. .. 
1  −1 . . 
A=  
∆x2  .. .. 

 . . −1 

 −1 2 −1 
−1 2
quando n → ∞ e correspondentemente ∆x → 0.
Lembrando que as autofunções de Dirichlet do laplaciano no intervalo [0, L] são as funções

jπx
Uj (x) = sen ,
L
este fato sugere que os autovetores uj da matriz A são 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


 
jπ 2jπ (n − 2) jπ (n − 1) jπ
uj = sen , sen , . . . , sen , sen .
n n n n

Usando identidades trigonométricas, vamos verificar que isso de fato acontece:


2.1 Lema. Os n − 1 autovalores da matriz A são
 
2 jπ 4 jπ
λj = 2
1 − cos = 2
sen2 , j = 1, . . . , n − 1, (2.9)
∆x n ∆x 2n

e os autovetores correspondentes são


 
jπ 2jπ (n − 2) jπ (n − 1) jπ
uj = sen , sen , . . . , sen , sen , j = 1, . . . , n − 1. (2.10)
n n n n

Prova. Temos
jπ 2jπ
 
 jπ  2 sen − sen
sen  n n 
n
 
2 −1   
 


jπ 2jπ 3jπ

 −1 2 −1 2jπ   
− sen − sen

  sen   + 2 sen 
 .. ..  n   n n n 
 −1 . .  ..

 
= ..



 .. ..

 .   . 
. . −1   − sen (n − 3) jπ + 2 sen (n − 2) jπ − sen (n − 1) jπ

(n − 2) jπ
    
 
 −1 2 −1   sen  
n n n

 n   
−1 2 

(n − 1) jπ
  
sen  (n − 2) jπ (n − 1) jπ 
n − sen + 2 sen
n n
Rodney Josué Biezuner 28


 
sen

 n 

 
 2jπ 
 sen 
  n 
jπ 

..

= 2 1 − cos ,

n 
 .
(n − 2) jπ

 
 sen 

 n 

 
 (n − 1) jπ 
sen
n
pois  
jπ 2jπ jπ jπ jπ jπ jπ
2 sen − sen = 2 sen − 2 sen cos = 2 1 − cos sen ,
n n n n n n n

(n − k − 1) jπ (n − k) jπ (n − k + 1) jπ
− sen + 2 sen − sen
 n  n n
 
(n − k) jπ jπ (n − k) jπ (n − k) jπ jπ
= − sen − + 2 sen − sen +
n n n n n
(n − k) jπ jπ (n − k) jπ jπ (n − k) jπ
= − sen cos + cos sen + 2 sen
n n n n n
(n − k) jπ jπ (n − k) jπ jπ
− sen cos − cos sen
 n  n n n
jπ (n − k) jπ
= 2 1 − cos sen ,
n n
e
(n − 2) jπ (n − 1) jπ
− sen + 2 sen
 n  n
(n − 1) jπ jπ (n − 1) jπ
= − sen − + 2 sen
n n n
(n − 1) jπ jπ (n − 1) jπ jπ (n − 1) jπ
= − sen cos + cos sen + 2 sen
n n n n n
(n − 1) jπ jπ (n − 1) jπ jπ (n − 1) jπ
= − sen cos − sen cos + 2 sen
 n  n n n n
jπ (n − 1) jπ
= 2 1 − cos sen ,
n n

onde na penúltima identidade usamos o fato que

(n − 1) jπ jπ (n − 1) jπ jπ
cos sen = − sen cos
n n n n
porque  
(n − 1) jπ jπ (n − 1) jπ jπ (n − 1) jπ jπ
0 = sen jπ = sen + = sen cos + cos sen .
n n n n n n

Os autovalores de A são positivos, portanto A é uma matriz positiva definida. Observe que, fixado j, se n é
arbitrariamente grande então
jπ j 2 π2
cos ≈1− ,
n 2n2
Rodney Josué Biezuner 29

pois o desenvolvimento em série de Taylor da função cosseno em torno da origem é


1
cos x = 1 − x2 + O x3 ;

2
tomando x = jπ/n para n suficientemente grande e desprezando os termos de terceira ordem, obtemos a
aproximação acima. Daı́,
2n2 2n2 j 2 π2 j 2 π2
      
2 jπ jπ
2
1 − cos = 2
1 − cos ≈ 2
1 − 1 − 2
= 2 ,
∆x n L n L 2n L
de forma que os menores autovalores da matriz A são uma boa aproximação para os menores autovalores de
Dirichlet do laplaciano no intervalo [0, L]. Já o maior autovalor da matriz A é

2n2 4n2
   
2 (n − 1) π (n − 1) π
λn−1 = 1 − cos = 1 − cos ≈ ,
∆x2 n L2 n L2
que não é uma boa aproximação para um autovalor do laplaciano. Vemos que se aumentarmos o número de
pontos de discretização (malha mais refinada) obteremos melhores aproximações e uma quantidade maior de
autovalores próximos 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
2n2 jπ
na demais colunas os autovalores da matriz A, λj = 2 1 − cos , com a linha superior indicando o
π n
número 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ção, desenvolveremos um método numérico de diferenças finitas para resolver o problema de Dirichlet
para a equação de Poisson no retângulo (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ângulo



−∆u = λu em (0, a) × (0, b) ,
u=0 sobre ∂ ((0, a) × (0, b)) .

2.2.1 A Fórmula dos Cinco Pontos


Vamos estabelecer alguma notação. Denote

Ω = (0, a) × (0, b) = (x, y) ∈ R2 : 0 < x < a, 0 < y < b .



Rodney Josué Biezuner 30

Ao discretizar Ω através dos pontos

(xi , yj ) = (i∆x, j∆y) , 0 6 i 6 n, 0 6 j 6 m

onde
a b
∆x =
, ∆y = ,
n 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 é 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ção 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ça centrada, obtendo
−ui−1,j + 2ui,j − ui+1,j
−uxx ≈ ,
∆x2
−ui,j−1 + 2ui,j − ui,j+1
−uyy ≈ .
∆y 2
Portanto, a equação de Poisson discretizada toma a forma
−ui−1,j + 2ui,j − ui+1,j −ui,j−1 + 2ui,j − ui,j+1
+ = fi,j . (2.11)
∆x2 ∆y 2
Como a função u é calculada em cinco pontos, esta equação é chamada a fórmula dos cinco pontos.
Para cada ponto interior da malha obtemos uma equação, logo temos um sistema linear de (n − 1) (m − 1)
equações com o mesmo número de incógnitas. Diferente do caso unidimensional, no entanto, não existe uma
maneira natural de ordenar os pontos da malha, logo não podemos obter imediatamente uma representação
matricial para o problema discretizado. Precisamos antes escolher uma ordenação para os pontos da malha,
e como existem várias ordenações possı́veis, existem várias matrizes associadas.
Talvez a mais simples ordenação é a ordem lexicográfica induzida de Z2 . Nesta ordem, os pontos da
malha são 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 .

Neste caso, a matriz associada ao sistema linear é uma matriz (n − 1) (m − 1) × (n − 1) (m − 1) que pode
Rodney Josué Biezuner 31

ser escrita como uma matriz de (m − 1) × (m − 1) blocos de dimensão (n − 1) × (n − 1) na forma


 1 
B − I
 ∆y 2 
 − 1 I 1
 
 ∆y 2 B − 2I 
 ∆y 

 1 .. .. 
 − I . . 

A= ∆y 2 

 .. .. 1 
 . . − I 
 ∆y 2 
1 1
 
− − 2I 
 
 I B
 ∆y 2 ∆y 
 1 
− I B
∆y 2 (m−1)×(m−1)

onde I é a matriz identidade (n − 1) × (n − 1) e B é a matriz (n − 1) × (n − 1) dada por


  
1 1 1

 2 ∆x2 + ∆y 2 −
  ∆x2 


 1 1 1 1 
 − 2
2 2
+ 2
− 2


 ∆x ∆x ∆y ∆x 

 1 . .. .. 
 − 2
. 
 ∆x 
.. .. 1
 
. . −
 
∆x2
 
   
 1 1 1 1 
 − 2
2 2
+ 2
− 2


 ∆x ∆x ∆y  ∆x 


 1 1 1 
− 2 +
∆x2 ∆x2 ∆y 2 (n−1)×(n−1)

Observe que  
1 1
aii = 2 +
∆x2 ∆y 2
para todo 1 6 i 6 (n − 1) (m − 1), enquanto que
1
aij = −
∆y 2
se o ponto j é vizinho à esquerda ou à direita do ponto i e
1
aij = −
∆x2
se o ponto j é vizinho acima ou abaixo do ponto i. Por exemplo, no caso especial ∆x = ∆y, se n = 4 e m = 6
Rodney Josué Biezuner 32

(ou seja 3 × 5 = 15 pontos internos na malha e uma matriz 15 × 15), temos


 
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 
1  
A=  0 0 0 0 −1 0 −1 4 −1 0 −1 0 0 0 0 
∆x2  
 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 é uma matriz simétrica, pentadiagonal e esparsa.

2.2.2 Existência e Unicidade da Solução Discreta – Autovalores do Problema


Bidimensional
Denotaremos por ud a função u|Ωd , isto é, ud é a discretização da função u no domı́nio discretizado Ωd .
Vamos definir o operador laplaciano discreto obtido a partir da fórmula dos cinco pontos por
 
ui−1,j − 2ui,j + ui+1,j ui,j−1 − 2ui,j + ui,j+1
− ∆d ud = − + . (2.12)
∆x2 ∆y 2

de modo que a discretização do problema



−∆u = f em Ω,
u=0 sobre ∂Ω,

é o problema 
−∆d ud = fd em Ωd ,
(2.13)
ud = 0 sobre ∂Ωd .
Para estabelecer a existência e unicidade da solução discreta, provaremos que a matriz de discretização A,
que é uma matriz simétrica, é também uma matriz positiva definida, pois isso implica em particular que A
é invertı́vel.
Lembrando que as autofunções de Dirichlet do laplaciano no retângulo [0, a] × [0, b] são as funções

kπx lπy
Ukl (x, y) = sen sen ,
a b
este fato sugere que os autovetores ukl da matriz A na ordem lexicográfica são 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 (x1 , ym−1 ) , Ukl (x2 , ym−1 ) , . . . , Ukl (xn−1 , ym−1 )
Rodney Josué Biezuner 33

= 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



kπ lπ 2kπ lπ (n − 1) kπ lπ
ukl = sen sen , sen sen , . . . , sen sen ,
n m n m n m
kπ 2lπ 2kπ 2lπ (n − 1) kπ 2lπ
sen sen , sen sen , . . . , sen sen ,
n m n m n m
...,

kπ (m − 1) lπ 2kπ (m − 1) lπ (n − 1) kπ (m − 1) lπ
sen sen , sen sen , . . . , sen sen .
n m n m n m

2.2 Lema. Os (n − 1) × (m − 1) autovalores da matriz A são


      
1 kπ 1 lπ 1 2 kπ 1 2 lπ
λkl = 2 1 − cos + 1 − cos = 4 sen + sen , (2.14)
∆x2 n ∆y 2 m ∆x2 2n ∆y 2 2m
k = 1, . . . , n − 1, l = 1, . . . , m − 1, e os autovetores correspondentes são

kπ lπ 2kπ lπ (n − 1) kπ lπ
ukl = sen sen , sen sen , . . . , sen sen ,
n m n m n m
kπ 2lπ 2kπ 2lπ (n − 1) kπ 2lπ
sen sen , sen sen , . . . , sen sen , (2.15)
n m n m n m
...,

kπ (m − 1) lπ 2kπ (m − 1) lπ (n − 1) kπ (m − 1) lπ
sen sen , sen sen , . . . , sen sen ,
n m n m n m
k = 1, . . . , n − 1, l = 1, . . . , m − 1.
Prova. Embora a demonstração deste lema possa ser feita de maneira análoga à do Lema 1.1, usando
identidades trigonométricas, daremos uma demonstração diferente. Lembrando que as autofunções e os
autovalores de Dirichlet do laplaciano no retângulo são facilmente obtidos através do método de separação
de variáveis, encontraremos os autovalores da matriz A usando um método de separação de variáveis discreto
para achar os autovalores do laplaciano discreto
 
ui−1,j − 2ui,j + ui+1,j ui,j−1 − 2ui,j + ui,j+1
− + = λui,j . (2.16)
∆x2 ∆y 2

Em particular, este método não depende da maneira como os pontos da malha são ordenados (não depende
da matriz A usada para representar o laplaciano discreto). Como no método de separação de variáveis
contı́nuo, assumimos que as soluções da equação discreta acima são produtos da forma

ui,j = F (i) G (j) , (2.17)

onde F e G são funções de uma variável inteira. Substituindo esta expressão na equação de Helmholtz
discreta, obtemos
F (i − 1) G (j) − 2F (i) G (j) + F (i + 1) G (j) F (i) G (j − 1) − 2F (i) G (j) + F (i) G (j + 1)
+ = −λF (i) G (j) .
∆x2 ∆y 2
Rodney Josué Biezuner 34

Dividindo esta equação por F (i) G (j), segue que


F (i − 1) − 2F (i) + F (i + 1) G (j − 1) − 2G (j) + G (j + 1)
+ = −λ.
∆x2 F (i) ∆y 2 G (j)
Separando as variáveis, concluı́mos que cada um dos quocientes acima é independente de i ou de j, isto é,
eles são constantes:
F (i − 1) − 2F (i) + F (i + 1)
= A, (2.18)
F (i)
G (j − 1) − 2G (j) + G (j + 1)
= B, (2.19)
G (j)
onde as constantes A, B estão relacionadas pela identidade
A B
2
+ = −λ. (2.20)
∆x ∆y 2
Estas equações podem ser escritas como fórmulas de recorrência (análogas às equações diferenciais ordinárias
obtidas no método de separação de variáveis 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ê-las, é mais conveniente trabalhar com as constantes

2α = A + 2, 2β = B + 2.

Desta forma, as equações 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  
1−α 1−β
λ=2 + . (2.23)
∆x2 ∆y 2
Vamos resolver a equação para F , já que a equação para G é completamente análoga. Substituindo em
(2.21) uma solução da forma
F (i) = z i (2.24)
obtemos
z i−1 − 2αz i + z i+1 = 0,
donde, dividindo por z i−1 extraı́mos a equação quadrática (análoga à equação indicial)

z 2 − 2αz + 1 = 0. (2.25)

As duas raı́zes são p


z± = α ± α2 − 1,
com z+ + z− = 2α e z+ z− = 1. Portanto, a solução geral para a equação (2.21) é
i i
F (i) = c1 z+ + c2 z−

para algumas constantes c1 , c2 . Para determinarmos estas constantes e também α, aplicamos as condições
de fronteira, que implicam
F (0) = F (n) = 0.
Rodney Josué Biezuner 35

A primeira destas por sua vez implica que c1 = −c2 , logo


i i

F (i) = c z+ − z− . (2.26)

Como a equação para F é homogênea, a constante c é arbitrária. Aplicando a segunda, segue que
n n
z+ = z− ,

ou, como z+ z− = 1,
2n
z+ =1
Conseqüentemente, z+ é uma 2n-ésima 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ções não-triviais F de (2.21).
Portanto,
z+ + z− eiπk/n + e−iπk/n kπ
α= = = cos , 0 6 k 6 n − 1,
2 2 n
e, escolhendo c = 1/2,
ikπ
Fk (i) = eiπki/n − e−iπki/n = sen .
n
Analogamente,

β = cos , 0 6 l 6 m − 1,
m
e
jlπ
Gl (j) = sen .
m
Segue que os autovalores são
    
1 kπ 1 lπ
λkl = 2 1 − cos + 1 − cos
∆x2 n ∆y 2 m

e as coordenadas das autofunções associadas são dadas por


ikπ jlπ
(ukl )i,j = Fk (i) Gl (j) = sen sen .
n m


2.3 Teorema (Existência e Unicidade da Solução Discreta). Seja Ω = (0, a) × (0, b). Então o problema
discretizado 
−∆d ud = fd em Ωd ,
ud = 0 sobre ∂Ωd ,
possui uma única solução.
Prova. Pelo lema anterior, os autovalores da matriz simétrica A são positivos, logo ela é uma matriz
invertı́vel. 
Rodney Josué Biezuner 36

2.2.3 Princı́pio do Máximo Discreto


Para obter uma estimativa a priori para a equação de Poisson discretizada, e com isso provar a convergência
da solução discreta para a solução clássica, usaremos um princı́pio do máximo discreto que enunciaremos e
provaremos nesta subseção.

2.4 Lema (Propriedade do Valor Médio). Se ∆d ud = 0, então para pontos interiores vale

∆x2 (ui,j−1 + ui,j+1 ) + ∆y 2 (ui−1,j + ui+1,j )


ui,j = .
2 (∆x2 + ∆y 2 )

Em particular, se ∆x = ∆y, então para pontos interiores vale


ui,j−1 + ui,j+1 + ui−1,j + ui+1,j
ui,j = .
4
2.5 Teorema (Princı́pio do Máximo Discreto). Se ∆d ud > 0, o máximo de ud em Ωd é atingido na fronteira
∂Ωd ; se o máximo de ud é atingido no interior, então ud é constante.
Se ∆d ud 6 0, o mı́nimo de ud em Ωd é atingido na fronteira ∂Ωd ; se o mı́nimo de ud é atingido no
interior, então ud é constante.
Prova. Primeiro provaremos para ∆x = ∆y, para ilustrar a analogia com o caso contı́nuo. ∆d ud > 0 implica
ui,j−1 + ui,j+1 + ui−1,j + ui+1,j
ui,j 6 .
4
Logo, um ponto interior é um máximo local, isto é,

ui,j > ui,j−1 , ui,j+1 , ui−1,j , ui+1,j

(ou seja, é um máximo em relação aos seus quatro vizinhos), somente se cada um dos seus quatro vizinhos
assume este mesmo valor máximo, e a desigualdade torna-se uma identidade. Aplicando este argumento a
todos os pontos da malha, concluı́mos que ou não existe um máximo interior, e portanto o máximo é atingido
na fronteira, ou existe um máximo interior e todos os pontos da malha assumem o mesmo valor, isto é, ud é
constante.
No caso geral ∆x 6= ∆y, se ∆d ud > 0 temos
   
1 1 1 ui,j−1 + ui,j+1 ui−1,j + ui+1,j
+ u i,j 6 + .
∆x2 ∆y 2 2 ∆y 2 ∆x2

Se ui,j é um máximo local, segue que


     
1 1 1 ui,j + ui,j ui,j + ui,j 1 1
+ ui,j 6 + 6 + ui,j ,
∆x2 ∆y 2 2 ∆y 2 ∆x2 ∆x2 ∆y 2

donde    
1 1 1 ui,j + ui,j ui,j + ui,j
+ ui,j = + ,
∆x2 ∆y 2 2 ∆y 2 ∆x2
logo nenhum dos seus quatro vizinhos pode assumir um valor menor que ui,j , isto é, cada um dos quatro
vizinhos assume o mesmo valor máximo e o argumento segue como no caso anterior. O caso ∆d ud 6 0 é
provado considerando-se −ud . 
Rodney Josué Biezuner 37

2.2.4 Convergência da Solução Discreta para a Solução Clássica


Por simplicidade, trabalharemos no quadrado unitário, isto é, Ω = (0, 1) × (0, 1). Consideraremos a norma
do máximo discreta para funções vd definidas no domı́nio discretizado Ωd :
kvd k∞ = max |vi,j | .
06i6n
06j6m

Em primeiro lugar, obtemos uma estimativa a priori discreta (que também pode ser visto como um resultado
de regularidade discreto) para soluções da equação de Poisson discreta com condição de Dirichlet homogênea:
2
2.6 Lema (Estimativa a Priori). Seja Ω = (0, 1) . Seja ud uma solução de

−∆d ud = fd em Ωd ,
ud = 0 sobre ∂Ωd .
Então
1
kud k∞ 6 k∆d ud k∞ . (2.28)
8
Prova. Considere a função " 2  2 #
1 1 1
w (x, y) = x− + y−
4 2 2
e sua versão discretizada wd definida por
" 2  2 #
1 1 1
wi,j = xi − + yj − . (2.29)
4 2 2
Então
w>0 e ∆w = 1,
e também
wd > 0 e ∆d wd = 1, (2.30)
pois
wi−1,j − 2wi,j + wi+1,j wi,j−1 − 2wi,j + wi,j+1
∆d wd = +
∆x2 ∆y 2
2 2 2 2 2 2
"
1 xi−1 − 12 + yj − 12 − 2 xi − 12 − 2 yj − 12 + xi+1 − 21 + yj − 12
 
=
4 ∆x2
2 2 2 2 2 2 #
xi − 21 + yj−1 − 12 − 2 xi − 12 − 2 yj − 12 + xi − 12 + yj+1 − 12
+
∆y 2
2 2 2 2 2 2 #
"
1 xi−1 − 12 − 2 xi − 12 + xi+1 − 12 yj−1 − 12 − 2 yj − 12 + yj+1 − 21
 
= +
4 ∆x2 ∆y 2
" 2 2 2 2 2 2 #
1 xi − ∆x − 12 − 2 xi − 12 + xi + ∆x − 12 yj − ∆y − 12 − 2 yj − 12 + yj + ∆y − 12
= +
4 ∆x2 ∆y 2
"
1 x2i + ∆x2 + 14 − 2xi ∆x − xi + ∆x − 2 x2i − xi + 14 + x2i + ∆x2 + 14 + 2xi ∆x − xi − ∆x
  
=
4 ∆x2
#
yj2 + ∆y 2 + 14 − 2yj ∆y − yj + ∆y − 2 yj2 − yj + 14 + yj2 + ∆y 2 + 14 + 2yj ∆y − yj − ∆y
 
+
∆y 2
1 2∆x2 2∆y 2
 
= + = 1.
4 ∆x2 ∆y 2
Rodney Josué Biezuner 38

Considere agora a função


ud − k∆d ud k∞ wd . (2.31)
Temos então

∆d (ud − k∆d ud k∞ wd ) = ∆d ud − k∆d ud k∞ ∆d wd


= ∆d ud − k∆d ud k∞
6 0.

Segue do Princı́pio do Máximo Discreto que a função ud − k∆d ud k∞ wd assume o seu mı́nimo na fronteira.
Este último é igual a − k∆d ud k∞ max∂Ωd wd . Por sua vez, o máximo de wd na fronteira é menor ou igual ao
máximo de w em ∂Ω, dado por
 2  2
1 1 1 1 1
max x− = max y− = .
06x61 4 2 06x61 4 2 8

Portanto, concluı́mos que


1
ui,j > ui,j − k∆d ud k∞ wi,j > − k∆d ud k∞ (2.32)
8
para todos i, j. Analogamente,
∆d (ud + k∆d ud k∞ wd ) > 0
e a função ud + k∆d ud k∞ wd assume o seu máximo na fronteira, igual a k∆d ud k∞ max∂Ωd wd 6 18 a, donde

1
ui,j 6 ui,j − k∆d ud k∞ wi,j 6 k∆d ud k∞ (2.33)
8
para todos i, j. Reunindo as duas desigualdades, segue que
1
|ui,j | 6 k∆d ud k∞
8
para todos i, j, o que conclui a demonstração. 
2 
2.7 Teorema. Seja Ω = (0, 1) . Sejam u ∈ C 4 Ω uma solução clássica para o problema de Dirichlet

−∆u = f em Ω,
u=0 sobre ∂Ω,

e vd uma solução do correspondente problema discretizado



−∆d vd = fd em Ωd ,
vd = 0 sobre ∂Ωd .

Então existe uma constante C > 0 independente de u tal que

kud − vd k∞ 6 C D4 u ∆x2 + ∆y 2 .

L∞ (Ω)
(2.34)
 
Prova. A hipótese f ∈ C 2,α Ω garante que u ∈ C 4 Ω . Lembre-se que

∂4u
D4 u L∞ (Ω)
= sup (x, y) .
(x,y)∈Ω ∂xp ∂y q
p+q=4
Rodney Josué Biezuner 39

Pela Fórmula de Taylor,

∂2u u(xi − ∆x, yj ) − 2u(xi , yj ) + u(xi + ∆x, yj ) 2 ∂4u 2 ∂6u


2
(xi , yj ) = 2
− 4
(xi , yj )∆x2 − (xi , yj )∆x4 − . . .
∂x ∆x 4! ∂x 5! ∂x6
ui−1,j − 2ui,j + ui+1,j 2 ∂4u 2 2 ∂6u
= − (xi , yj )∆x − (xi , yj )∆x4 − . . . ,
∆x2 4! ∂x4 5! ∂x6
∂2u u(xi , yj − ∆y) − 2u(xi , yj ) + u(xi , yj + ∆y) 2 ∂4u 2 ∂6u
2
(xi , yj ) = 2
− 4
(xi , yj )∆y 2 − (xi , yj )∆y 4 − . . .
∂y ∆y 4! ∂y 5! ∂y 6
ui,j−1 − 2ui,j + ui,j+1 2 ∂4u 2 ∂6u
= 2
− 4
(xi , yj )∆y 2 − (xi , yj )∆y 4 − . . . ,
∆y 4! ∂y 5! ∂y 6
donde
∂4u ∂4u
 
1 2
(xi , yj )∆y 2 + O ∆x4 , ∆y 4 .

∆u (xi , yj ) = (∆d ud )ij − (x i , yj )∆x + (2.35)
3! ∂x4 ∂y 4
Como
−∆u (xi , yj ) = f (xi , yj ) ,
temos que

∂4u ∂4u
 
1 2
(xi , yj )∆y 2 + O ∆x4 , ∆y 4 .

− (∆d ud )i,j = (fd )i,j − (x i , yj )∆x + (2.36)
3! ∂x4 ∂y 4

Subtraindo desta equação a equação


− (∆d vd )i,j = (fd )i,j ,
obtemos
∂4u ∂4u
 
1
(xi , yj )∆x2 + 4 (xi , yj )∆y 2 + O ∆x4 , ∆y 4 ,

− (∆d ud − ∆d vd )i,j = − 4
3! ∂x ∂y
o que implica
1
D4 u ∆x2 + ∆y 2 + O ∆x4 , ∆y 4
 
k∆d (ud − vd )k∞ 6 L∞ (Ω)
3!
6 C D4 u ∆x2 + ∆y 2 .

L∞ (Ω)

Usando a estimativa a priori do lema anterior, obtemos finalmente o resultado desejado. 


2.8 Definição. Dizemos que as soluções do problema discretizado

−∆d vd = fd em Ωd ,
vd = 0 sobre ∂Ωd ,

convergem para a solução exata u do problema de Poisson



−∆u = f em Ω,
u=0 sobre ∂Ω,

com relação à norma k·k se


kud − vd k → 0
quando ∆x, ∆y → 0. Dizemos que a convergência é de ordem k (ou que o esquema de diferenças finitas é
convergente de ordem k) se
kud − vd k = O ∆xk , ∆y k .



Rodney Josué Biezuner 40

O Teorema 2.7 diz que o esquema de diferenças


 finitas da fórmula de cinco pontos é um esquema convergente
na norma do sup de ordem 2, se u ∈ C 4 Ω . Maior regularidade da solução u não causa melhor convergência
no método. Na verdade, a ordem de convergência da fórmula de cinco
 pontos ainda é 2 mesmo  sob hipóteses
mais fracas sobre a regularidade de u: basta assumir u ∈ C 3,1 Ω , ao invés de u ∈ C 4 Ω . No entanto,
regularidade menor que esta em u afeta negativamente
 a ordem de convergência da fórmula de cinco pontos.
Em geral, pode-se provar que se u ∈ C k,α Ω , 2 6 k 6 4, então existe uma constante C = C (k, α) tal que

kud − vd k∞ 6 C ∆xk+α−2 + ∆y k+α−2 kukC k,α (Ω) .



(2.37)

Para uma demonstração destes resultados, veja [Hackbusch], págs. 60-61. Se quisermos uma melhor ordem
de convergência para as soluções discretizadas, é necessário considerar outras forma de discretizar o laplaciano
através de diferenças finitas. Isto será feito na próxima seção.

2.3 Discretizações de Ordem Superior


Para obter esquemas de diferenças finitas com melhor ordem de convergência, em geral é necessário acres-
centar mais pontos na fórmula. O método dos coeficientes indeterminados é um método simples para
construir estes esquemas.

2.3.1 Caso Unidimensional


Vamos obter um esquema de diferenças finitas convergente de ordem 4 para o caso unidimensional. O
esquema envolvendo três pontos, que obtivemos no inı́cio do capı́tulo através da aproximação da derivada
segunda em um ponto por uma diferença finita centrada (que envolve o ponto e seus dois vizinhos, à esquerda
e à direita), é convergente de ordem 2 (isso que pode ser provado de maneira semelhante a como fizemos para
a fórmula de cinco pontos). Para obter um esquema com uma maior ordem de convergência, acrescentamos
mais dois pontos à fórmula de diferenças finitas do esquema, que denotaremos por δui :

δui = c1 ui−2 + c2 ui−1 + c3 ui + c4 ui+1 + c5 ui+2 . (2.38)

Cada termo tem sua expansão em série de Taylor:


4 00 8 16 32
u(xi − 2∆x) = u(xi ) − 2u0 (xi )∆x + u (xi )∆x2 − u000 (xi )∆x3 + u(4) (xi )∆x4 − u(5) (xi )∆x5 + O ∆x6 ,

2! 3! 4! 5!
0 1 00 1 000 1 (4) 1 (5)
u(xi − ∆x) = u(xi ) − u (xi )∆x + u (xi )∆x − u (xi )∆x + u (xi )∆x − u (xi )∆x5 + O ∆x6 ,
2 3 4

2! 3! 4! 5!
0 1 00 1 000 1 (4) 1
u(xi + ∆x) = u(xi ) + u (xi )∆x + u (xi )∆x + u (xi )∆x + u (xi )∆x + u(5) (xi )∆x5 + O ∆x6 ,
2 3 4

2! 3! 4! 5!
0 4 00 8 000 16 (4) 32
u(xi + 2∆x) = u(xi ) + 2u (xi )∆x + u (xi )∆x + u (xi )∆x + u (xi )∆x + u(5) (xi )∆x5 + O ∆x6 .
2 3 4

2! 3! 4! 5!
Rodney Josué Biezuner 41

Substituindo estas expressões na fórmula acima, obtemos:

δui = (c1 + c2 + c3 + c4 + c5 ) u (xi )


+ ∆x (−2c1 − c2 + c4 + 2c5 ) u0 (xi )
 
1 1
+ ∆x2 2c1 + c2 + c4 + 2c5 u00 (xi )
2 2
 
4 1 1 4
+ ∆x3 − c1 − c2 + c4 + c5 u000 (xi )
3 6 6 3
 
2 1 1 2
+ ∆x4 c1 + c2 + c4 + c5 u(4) (xi )
3 24 24 3
 
4 1 1 4
+ ∆x5 − c1 − c2 + c4 + c5 u(5) (xi )
15 120 120 15
6

+ O ∆x .

Como procuramos um esquema de diferenças finitas com ordem de convergência maior que 2, queremos obter
uma solução não-nula para o sistema

c + c2 + c3 + c4 + c5 = 0
 1



 −2c 1 − c2 + c 4 + 2c 5 = 0

 2c1 + 1 c2 + 1 c4 + 2c5 1


=

2 2 ∆x2 ;
 4 1 1 4
 − c1 − c2 + c4 + c5 =
 0
3 6 6 3



 2c + 1 c + 1 c + 2c =



1 2 4 5 0
3 24 24 3
isso implicaria em princı́pio em um esquema com ordem de convergência pelo menos igual a 3:

δui = u00 (xi ) + O ∆x3 .




Como a matriz
1 1 1 1 1
 
 −2 −1 0 1 2 
 
 1 1 
 2 0 2 

 2 2 

 4 1 1 4 
 −
 3 −6 0

6 3 
2 1 1 2
 
0
3 24 24 3
tem determinante igual a 1, ela é invertı́vel e o sistema possui a solução única
1 1
c1 = − ,
12 ∆x2
4 1
c2 = ,
3 ∆x2
5 1
c3 =−
2 ∆x2
4 1
c4 = ,
3 ∆x2
1 1
c5 =− .
12 ∆x2
Rodney Josué Biezuner 42

Incidentalmente, esta solução também implica


4 1 1 4
− c1 − c2 + c4 + c5 = 0
15 120 120 15
o que permite obter um esquema com ordem de convergência igual a 4:

δui = u00 (xi ) + O ∆x4 ,




aproximando a derivada segunda u00 pela diferença finita


1 4 5 4 1
− ui−2 + ui−1 − ui + ui+1 − ui+2
00
u = 12 3 2 3 12
∆x2
ou
ui−2 − 16ui−1 + 30ui − 16ui+1 + ui+2
− u00 = . (2.39)
12∆x2

2.3.2 Caso Bidimensional: A Fórmula dos Nove Pontos Compacta


Um esquema de ordem 4 para a equação de Poisson em duas dimensões é a fórmula de nove pontos compacta.
Se buscássemos uma fórmula de nove pontos simplesmente a partir da fórmula de cinco pontos unidi-
mensional obtida na subseção precedente (como obtivemos a fórmula de cinco pontos bidimensional a partir
da fórmula de três pontos unidimensional), escreverı́amos
ui−2,j − 16ui−1,j + 30ui,j − 16ui+1,j + ui+2,j ui,j−2 − 16ui,j−1 + 30ui,j − 16ui,j+1 + ui,j+2
− ∆d ud = 2
+ ,
12∆x 12∆y 2
(2.40)
que pode ser resumida na forma
 1 

 12∆y 2 
 16 
 − 2


  12∆y 


 1 16 1 1 16 1 
−∆d ud =  −

2
− 2
30 2
+ 2
− 2
− 2
.
 12∆x 12∆x 12∆x 12∆y 12∆x 12∆x 
16

 
 − 2

 12∆y 
 1 

12∆y 2
Embora este esquema seja de fato de ordem 4, ele apresenta dificuldades para pontos interiores adjacentes à
fronteira do retângulo (por exemplo, se considerarmos o ponto (x1 , y1 ), os pontos (x−1 , y1 ) e (x1 , y−1 ) estão
fora do retângulo). Uma possibilidade para resolver este problema seria aplicar a fórmula dos cinco pontos
nos pontos interiores adjacentes à fronteira e aplicar a fórmula dos nove pontos apenas nos pontos interiores
mais distantes da fronteira. No entanto, como a fórmula de cinco pontos é de segunda ordem, a convergência
deste método misto não deve ser de ordem 4.
Vamos tentar encontrar uma fórmula de nove pontos compacta, em que os nove pontos estão dispostos
em três linhas e três colunas, de modo que não há problemas em usá-la nos pontos interiores adjacentes à
fronteira. Aplicando o método dos coeficientes indeterminados, buscamos nove coeficientes para a diferença
finita

−∆d ud = c1 ui−1,j−1 + c2 ui,j−1 + c3 ui+1,j−1


+ c4 ui−1,j + c5 ui,j + c6 ui+1,j (2.41)
+ c7 ui−1,j+1 + c8 ui,j+1 + c9 ui+1,j+1 .
Rodney Josué Biezuner 43

Observe a distribuição dos nove pontos. Além dos cinco usuais, foram acrescentados os quatro pontos que
ocupam as posições diagonais. Para os quatro pontos vizinhos horizontais ou verticais do ponto central, a
fórmula de Taylor produz

∂u 1 ∂2u 1 ∂3u 1 ∂4u


u(xi − ∆x, yj ) = u(xi , yj ) − (xi , yj )∆x + 2
(xi , yj )∆x2 − 3
(xi , yj )∆x3 + (xi , yj )∆x4
∂x 2! ∂x 3! ∂x 4! ∂x4
1 ∂5u
(xi , yj )∆x5 + O ∆x6

− 5
5! ∂x
∂u 1 ∂2u 1 ∂3u 1 ∂4u
u(xi + ∆x, yj ) = u(xi , yj ) + (xi , yj )∆x + 2
(xi , yj )∆x2 + 3
(xi , yj )∆x3 + (xi , yj )∆x4
∂x 2! ∂x 3! ∂x 4! ∂x4
1 ∂5u
(xi , yj )∆x5 + O ∆x6

+
5! ∂x5
∂u 1 ∂2u 2 1 ∂3u 3 1 ∂4u
u(xi , yj − ∆y) = u(xi , yj ) − (xi , yj )∆y + (x i , yj )∆y − (x i , yj )∆y + (xi , yj )∆y 4
∂y 2! ∂y 2 3! ∂y 3 4! ∂y 4
1 ∂5u
(xi , yj )∆x5 + O ∆x6

− 5
5! ∂x
∂u 1 ∂2u 1 ∂3u 1 ∂4u
u(xi , yj + ∆y) = u(xi , yj ) + (xi , yj )∆y + 2
(xi , yj )∆y 2 + 3
(xi , yj )∆y 3 + (xi , yj )∆y 4
∂y 2! ∂y 3! ∂y 4! ∂y 4
1 ∂5u
(xi , yj )∆x5 + O ∆x6 , ∆y 6

+ 5
5! ∂x
enquanto que para os quatro pontos diagonais temos

u(xi + ∆x, yj + ∆y)


1 ∂2u ∂2u ∂2u
   
∂u ∂u 2 2
= u(xi , yj ) + (xi , yj )∆x + (xi , yj )∆y + (xi , yj )∆x + 2 (xi , yj )∆x∆y + 2 (xi , yj )∆y
∂x ∂y 2! ∂x2 ∂x∂y ∂y
 3 3 3 3

1 ∂ u ∂ u ∂ u ∂ u
+ (xi , yj )∆x3 + 3 2 (xi , yj )∆x2 ∆y + 3 (xi , yj )∆x∆y 2 + 3 (xi , yj )∆y 3
3! ∂x3 ∂x ∂y ∂x∂y 2 ∂y
 4 4 4
∂3u ∂4u

1 ∂ u 4 ∂ u 3 ∂ u 2 2 3 4
+ (xi , yj )∆x + 4 3 (xi , yj )∆x ∆y + 6 (xi , yj )∆x ∆y + 4 (xi , yj )∆x∆y + 4 (xi , yj )∆y
4! ∂x4 ∂x ∂y ∂x∂y 3 ∂x∂y 3 ∂y
 5 5 5 5
1 ∂ u ∂ u ∂ u ∂ u
+ (xi , yj )∆x5 + 5 4 (xi , yj )∆x4 ∆y + 10 3 2 (xi , yj )∆x3 ∆y 2 + 10 (xi , yj )∆x2 ∆y 3
5! ∂x5 ∂x ∂y ∂x ∂y ∂x∂y 4
∂5u ∂5u

(xi , yj )∆x∆y + 5 (xi , yj )∆y + O ∆x6 , ∆y 6 ,
4 5

+5 4
∂x∂y ∂y

u(xi − ∆x, yj − ∆y)


1 ∂2u ∂2u ∂2u
   
∂u ∂u 2 2
= u(xi , yj ) − (xi , yj )∆x + (xi , yj )∆y + (x ,
i jy )∆x + 2 (x ,
i jy )∆x∆y + (x ,
i jy )∆y
∂x ∂y 2! ∂x2 ∂x∂y ∂y 2
 3
∂3u ∂3u ∂3u

1 ∂ u
− 3
(xi , yj )∆x3 + 3 2 (xi , yj )∆x2 ∆y + 3 2
(xi , yj )∆x∆y 2 + 3 (xi , yj )∆y 3
3! ∂x ∂x ∂y ∂x∂y ∂y
 4 4 4
∂3u ∂4u

1 ∂ u 4 ∂ u 3 ∂ u 2 2 3 4
+ (x ,
i jy )∆x + 4 (x ,
i jy )∆x ∆y + 6 (x ,
i jy )∆x ∆y + 4 (x ,
i jy )∆x∆y + (x ,
i jy )∆y
4! ∂x4 ∂x3 ∂y ∂x∂y 3 ∂x∂y 3 ∂y 4
 5
1 ∂ u ∂5u ∂5u ∂5u
− 5
(xi , yj )∆x5 + 5 4 (xi , yj )∆x4 ∆y + 10 3 2 (xi , yj )∆x3 ∆y 2 + 10 (xi , yj )∆x2 ∆y 3
5! ∂x ∂x ∂y ∂x ∂y ∂x∂y 4
∂5u ∂5u

4 5
+ O ∆x6

+5 4
(x ,
i jy )∆x∆y + 5
(x ,
i jy )∆y
∂x∂y ∂y
Rodney Josué Biezuner 44

u(xi + ∆x, yj − ∆y)


 
∂u ∂u
= u(xi , yj ) + (xi , yj )∆x − (xi , yj )∆y
∂x ∂y
1 ∂2u ∂2u ∂2u
 
2 2
+ (x i , yj )∆x − 2 (x i , y j )∆x∆y + (x i , yj )∆y
2! ∂x2 ∂x∂y ∂y 2
 3
∂3u ∂3u ∂3u

1 ∂ u 3 2 2 3
+ (x ,
i j y )∆x − 3 (x ,
i j y )∆x ∆y + 3 (x ,
i jy )∆x∆y − (x ,
i jy )∆y
3! ∂x3 ∂x2 ∂y ∂x∂y 2 ∂y 3
 4
∂4u ∂4u ∂3u ∂4u

1 ∂ u 4 3 2 2 3 4
+ (x ,
i j y )∆x − 4 (x ,
i j y )∆x ∆y + 6 (x ,
i jy )∆x ∆y − 4 (x ,
i jy )∆x∆y + (x ,
i jy )∆y
4! ∂x4 ∂x3 ∂y ∂x∂y 3 ∂x∂y 3 ∂y 4
 5
1 ∂ u ∂5u ∂5u ∂5u
+ 5
(xi , yj )∆x5 − 5 4 (xi , yj )∆x4 ∆y + 10 3 2 (xi , yj )∆x3 ∆y 2 − 10 (xi , yj )∆x2 ∆y 3
5! ∂x ∂x ∂y ∂x ∂y ∂x∂y 4
∂5u ∂5u

4 5
+ O ∆x6 , ∆y 6 ,

+5 4
(x ,
i j y )∆x∆y − 5
(x ,
i j y )∆y
∂x∂y ∂y

u(xi − ∆x, yj + ∆y)


 
∂u ∂u
= u(xi , yj ) + − (xi , yj )∆x + (xi , yj )∆y
∂x ∂y
 2
∂2u ∂2u

1 ∂ u 2 2
+ (xi , yj )∆x − 2 (xi , yj )∆x∆y + 2 (xi , yj )∆y
2! ∂x2 ∂x∂y ∂y
 3 3
∂3u ∂3u

1 ∂ u 3 ∂ u 2 2 3
+ − 3 (xi , yj )∆x + 3 2 (xi , yj )∆x ∆y − 3 (xi , yj )∆x∆y + 3 (xi , yj )∆y
3! ∂x ∂x ∂y ∂x∂y 2 ∂y
 4 4 4
∂3u ∂4u

1 ∂ u 4 ∂ u 3 ∂ u 2 2 3 4
+ (xi , yj )∆x − 4 3 (xi , yj )∆x ∆y + 6 (xi , yj )∆x ∆y − 4 (xi , yj )∆x∆y + 4 (xi , yj )∆y
4! ∂x4 ∂x ∂y ∂x∂y 3 ∂x∂y 3 ∂y
 5 5 5 5
1 ∂ u ∂ u ∂ u ∂ u
+ − 5 (xi , yj )∆x5 + 5 4 (xi , yj )∆x4 ∆y − 10 3 2 (xi , yj )∆x3 ∆y 2 + 10 (xi , yj )∆x2 ∆y 3
5! ∂x ∂x ∂y ∂x ∂y ∂x∂y 4
∂5u ∂5u

(xi , yj )∆x∆y + 5 (xi , yj )∆y + O ∆x6 , ∆y 6 .
4 5

−5 4
∂x∂y ∂y
Rodney Josué Biezuner 45

Substituindo estas expressões na fórmula acima, obtemos:

−∆d ud = (c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9 ) u (xi , yj )


∂u
+ ∆x (−c1 + c3 − c4 + c6 − c7 + c9 ) (xi , yj )
∂x
∂u
+ ∆y (−c1 − c2 − c3 + c7 + c8 + c9 ) (xi , yj )
∂y
  2
1 1 1 1 1 1 ∂ u
+ ∆x2 c1 + c3 + c4 + c6 + c7 + c9 (xi , yj )
2 2 2 2 2 2 ∂x2
∂2u
+ ∆x∆y (c1 − c3 − c7 + c9 ) (xi , yj )
∂x∂y
  2
1 1 1 1 1 1 ∂ u
+ ∆y 2 c1 + c2 + c3 + c7 + c8 + c9 (xi , yj )
2 2 2 2 2 2 ∂y 2
  3
1 1 1 1 1 1 ∂ u
+ ∆x3 − c1 + c3 − c4 + c6 − c7 + c9 (xi , yj )
6 6 6 6 6 6 ∂x3
  3
1 1 1 1 ∂ u
+ ∆x2 ∆y − c1 − c3 + c7 + c9 (xi , yj )
2 2 2 2 ∂x2 ∂y
  3
1 1 1 1 ∂ u
+ ∆x∆y 2 − c1 + c3 − c7 + c9 (xi , yj )
2 2 2 2 ∂x∂y 2
  3
3 1 1 1 1 1 1 ∂ u
+ ∆y − c1 − c2 − c3 + c7 + c8 + c9 (xi , yj )
6 6 6 6 6 6 ∂y 3
  4
1 1 1 1 1 1 ∂ u
+ ∆x4 c1 + c3 + c4 + c6 + c7 + c9 (xi , yj )
24 24 24 24 24 24 ∂x4
  4
1 1 1 1 ∂ u
+ ∆x3 ∆y c1 − c3 − c7 + c9 (xi , yj )
6 6 6 6 ∂x3 ∂y
∂4u
 
1 1 1 1
+ ∆x2 ∆y 2 c1 + c3 + c7 + c9 (xi , yj )
4 4 4 4 ∂x2 ∂y 2
  4
1 1 1 1 ∂ u
+ ∆x∆y 3 c1 − c3 − c7 + c9 (xi , yj )
6 6 6 6 ∂x∂y 3
  4
4 1 1 1 1 1 1 ∂ u
+ ∆y c1 + c2 + c3 + c7 + c8 + c9 (xi , yj )
24 24 24 24 24 24 ∂y 4

  5
1 1 1 1 1 1 ∂ u
+ ∆x5 − c1 + c3 − c4 + c6 − c7 + c9 (xi , yj )
120 120 120 120 120 120 ∂x5
  5
1 1 1 1 ∂ u
+ ∆x4 ∆y − c1 − c3 + c7 + c9 (xi , yj )
24 24 24 24 ∂x4 ∂y
∂5u
 
1 1 1 1
+ ∆x3 ∆y 2 − c1 + c3 + c7 + c9 (xi , yj )
12 12 12 12 ∂x3 ∂y 2
∂5u
 
1 1 1 1
+ ∆x2 ∆y 3 − c1 − c3 − c7 + c9 (xi , yj )
12 12 12 12 ∂x2 ∂y 3
  5
4 1 1 1 1 ∂ u
+ ∆x∆y − c1 + c3 − c7 + c9 (xi , yj )
24 24 24 24 ∂x∂y 4
  5
5 1 1 1 1 1 1 ∂ u
+ ∆y − c1 − c2 − c3 + c7 + c8 + c9 (xi , yj )
120 120 120 120 120 120 ∂y 5
Rodney Josué Biezuner 46

Para obter um esquema com ordem de convergência pelo menos igual a 3, precisarı́amos obter uma solução
não-nula para o sistema


 c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9 = 0
−c1 + c3 − c4 + c6 − c7 + c9 = 0




−c1 − c2 − c3 + c7 + c8 + c9 = 0



1




 c1 + c3 + c4 + c6 + c7 + c9 =
∆x2



 c1 − c3 − c7 + c9 = 0


1


c1 + c2 + c3 + c7 + c8 + c9 =


∆y 2




−c1 + c3 − c4 + c6 − c7 + c9 = 0


 −c1 − c3 + c7 + c9 = 0
−c1 + c3 − c7 + c9 = 0




 −c1 − c2 − c3 + c7 + c8 + c9 = 0



 c1 + c3 + c4 + c6 + c7 + c9 = 0



 c1 − c3 − c7 + c9 = 0



 c1 + c3 + c7 + c9 = 0



 c1 − c3 − c7 + c9 = 0



c1 + c2 + c3 + c7 + c8 + c9 = 0

Infelizmente este sistema não tem solução pois ele é inconsistente: a sexta e a última equação são incom-
patı́veis, assim como a quarta e a décima primeira. Portanto, não existe uma fórmula de nove pontos
compacta tal que
−∆d ud = −∆u + O ∆x3 , ∆y 3 .


No entanto, em 1975 o matemático e lógico Rosser introduziu a seguinte fórmula de nove pontos compacta
no caso especial ∆x = ∆y (em [Rosser1]; veja também [Rosser2])
ui−1,j−1 + 4ui,,j−1 + ui+1,j−1 + 4ui−1,j − 20ui,j + 4ui+1,j + ui−1,j+1 + 4ui,j+1 + ui+1,j+1
∆d ud = , (2.42)
6∆x2
que pode ser resumida na forma
 
−1 −4 −1
1 
− ∆d ud = −4 20 −4  , (2.43)
6∆x2
−1 −4 −1
 
a qual produz um esquema convergente de quarta ordem se a solução u ∈ C 6 Ω (ou mesmo se u ∈ C 5,1 Ω
apenas) dependendo
 de como a função f é discretizada. Para entender como isso ocorre, observe que se
u ∈ C 8 Ω a fórmula de Taylor produz

∆x2 2 ∆x4 ∂ 4 ∂4 ∂4
 
+ 4 2 2 + 4 ∆u + O ∆x6

−∆d ud = −∆u − ∆ u− (2.44)
12 360 ∂x4 ∂x ∂y ∂y
∆x2 ∆x4 ∂ 4 ∂4 ∂4
 
f + O ∆x6 .

= −∆u + ∆f + 4
+ 4 2 2
+ 4
(2.45)
12 360 ∂x ∂x ∂y ∂y
O ponto crucial aqui é que o erro é expresso em termos de −∆u e, conseqüentemente, por f . Ainda é
necessário escolher uma discretização especial para f :
fi,,j−1 + fi−1,j + 8fi,j + fi+1,j + fi,j+1
fd = (2.46)
12
ou  
1
1 
fd = 1 8 1 . (2.47)
12
1
Rodney Josué Biezuner 47

Usando a fórmula de Taylor para f , obtemos que esta discretização especial para f satisfaz

∆x2
∆f + O ∆x4 .

fd = f + (2.48)
12
Somando esta estimativa com (2.45), e usando −∆d ud = fd , −∆u = f , obtemos

−∆d ud = −∆u + O ∆x4




Para este esquema, pode-se provar (veja [Hackbusch], pág. 64) que existe uma constante C > 0 tal que

kud − vd k∞ 6 C∆x4 kukC 6 (Ω) ou kud − vd k∞ 6 C∆x4 kukC 5,1 (Ω) (2.49)

O esquema de Rosser também satisfaz o princı́pio do máximo. Concluindo, vemos que uma maior regularidade
da solução permite obter métodos de diferenças finitas com maior ordem de convergência, embora esta não
seja uma tarefa simples.

2.4 Diferenças Finitas em Coordenadas Polares


Consideraremos nesta seção diferenças finitas em coordenadas polares para domı́nios com simetria radial.
Consideraremos em detalhes os casos do disco e do anel. O primeiro caso inclui a origem no domı́nio da
definição, onde o laplaciano apresenta uma singularidade quando escrito em coordenadas polares, singulari-
dade esta que não existe no problema original, e esta particularidade deve ser tratada com cuidado para não
atrapalhar a ordem de convergência do esquema obtido.
Considere a equação de Poisson em coordenadas polares no disco Ω = [0, R) × [0, 2π) :
1 1
(
urr + ur + 2 uθθ = f (r, θ) se 0 6 r < R e 0 < θ < 2π,
r r
u (R, θ) = 0 se 0 6 θ 6 2π.

A solução exata deste problema deve satisfazer a condição de continuidade

u (r, 0) = u (r, 2π) para todo 0 6 r 6 R.

Embora esta condição não seja uma condição de fronteira e aparece apenas por causa do sistema de coor-
denadas utilizado, ela acaba funcionando como uma condição de fronteira em muitos métodos numéricos (e
mesmo analı́ticos), pois não deixa de ser uma condição na fronteira do retângulo (0, R) × (0, 2π).

∆r

∆θ

Discretizamos o disco através de uma malha polar

Ωd = {(ri , θj ) ∈ Ω : ri = i∆r, θj = j∆θ, 0 6 i 6 n − 1, 0 6 j 6 m}

onde
R 2π
∆r = , ∆θ = .
n m
Rodney Josué Biezuner 48

Sua fronteira discretizada é o conjunto

∂Ωd = {(rn , θj ) ∈ ∂Ω : rn = n∆r = R, θj = j∆θ, 0 6 j 6 m} .

Discretizamos a equação de Poisson da seguinte forma. Denotamos os valores das discretizações ud e fd


em pontos da malha por

ui,j = u (ri , θj ) ,
fi,j = f (ri , θj ) ,

entendendo que ui,j e fi,j devem satisfazer

u0,0 = u0,j e f0,0 = f0,j (2.50)

para todo 0 6 j 6 m, já que existe apenas um ponto associado com i = 0 (a origem, correspondente a r = 0).
Além disso, pela condição de continuidade, devemos ter também

ui,0 = ui,2π e fi,0 = fi,2π (2.51)

para todo 0 6 i 6 n. Usando uma diferença centrada usual para derivadas segundas, o terceiro termo do
laplaciano em coordenadas polares pode ser aproximado para pontos interiores do disco por
 
1 1 ui,j−1 − 2ui,j − ui,j+1
2
uθθ (ri , θj ) ≈ 2 . (2.52)
r ri ∆θ2

Para aproximar os primeiros dois termos, escrevemos


1 1
urr + ur = (rur )r .
r r
Se (ri , θj ) é um ponto interior do disco diferente da origem (isto é, i 6= 0), podemos usar diferenças centradas
para a derivada primeira, tanto na primeira quanto na segunda aproximações a seguir, obtendo

1 1 (rur ) (ri + ∆r/2, θj ) − (rur ) (ri − ∆r/2, θj )


(rur )r (ri , θj ) ≈
r ri 2∆r/2
u (ri + ∆r, θj ) − u (ri , θj ) u (ri , θj ) − u (ri − ∆r, θj )
1 ri+1/2 − ri−1/2
≈ ∆r ∆r
ri ∆r
1 ri+1/2 (ui+1,j − ui,j ) − ri−1/2 (ui,j − ui−1,j )
= . (2.53)
ri ∆r2
Portanto, a discretização da equação de Poisson no disco para pontos interiores do disco diferentes da origem

1 ri+1/2 (ui+1,j − ui,j ) − ri−1/2 (ui,j − ui−1,j )
 
1 ui,j−1 − 2ui,j − ui,j+1
− + = fi,j (2.54)
ri ∆r2 ri2 ∆θ2
para 1 6 i 6 n − 1 e 1 6 j 6 m − 1. Se j = 0, usando a condição de continuidade que identifica o ponto
(i, 0) com o ponto (i, n), substituı́mos ui,j−1 por ui,n−1 e escrevemos

1 ri+1/2 (ui+1,0 − ui,0 ) − ri−1/2 (ui,0 − ui−1,0 )


 
1 ui,n−1 − 2ui,0 − ui,1
− + = fi,0 (2.55)
ri ∆r2 ri2 ∆θ2

para 1 6 i 6 n − 1. Como este esquema de diferenças finitas foi obtido através de diferenças centradas,
ele deve ser de segunda ordem. No entanto, devemos ter cuidado ao discretizar a equação de Poisson na
Rodney Josué Biezuner 49

origem para preservar esta ordem de convergência. Para isso, multiplicamos a equação de Poisson por r e
integramos o resultado sobre um pequeno disco Dε centrado na origem de raio ε:
Z 2π Z ε Z 2π Z ε  
1 1
f r drdθ = r (rur )r + 2 uθθ drdθ
0 0 0 0 r r
Z 2π Z ε Z ε Z 2π
1
= (rur )r drdθ + uθθ drdθ
0 0 0 r 0
Z 2π Z ε
ε 1 2π
= [rur ]0 dθ + [uθ ]0 drdθ
0 0 r
Z 2π
=ε ur (ε, θ) dθ,
0

onde assumimos u ∈ C 2 (Ω) de modo que

uθ (r, 0) = uθ (r, 2π)

para todo 0 6 r < R. Escolhendo ε = ∆r/2, discretizamos a equação integral


Z 2π Z 2π Z ∆r/2
∆r
ur (∆r/2, θ) dθ = f r drdθ
2 0 0 0

aproximando a derivada primeira ur (∆r/2, θ) = (ur )i+1/2,j por diferenças centradas e f por f (0) (pois ∆r
é suposto pequeno), de modo que
u1,j − u0,j
ur (∆r/2, θj ) ≈ ,
∆r
Z 2π Z ∆r/2 Z 2π Z ∆r/2 ∆r/2
r2 π
f r drdθ ≈ f (0) r drdθ = 2πf (0) = f (0) ∆r2 ,
0 0 0 0 2 0 4

e assim
m−1
∆r X u1,j − u0,j π
∆θ = f (0) ∆r2 ,
2 j=0 ∆r 4

donde, como u0 := u0,j independe de j, segue que o valor de u na origem será dado por
m−1
∆θ ∆θ X π
m u0 = u1,j − f (0) ∆r2 ,
2 2 j=0 4

ou, usando m∆θ = 2π,


m−1
4u0 2∆θ X
− u1,j = f0 . (2.56)
∆r2 π∆r2 j=0

Para escrever essas diferenças finitas em forma matricial

Au = f ,

escolhemos ordenar os pontos da malha discretizada no retângulo polar {(ri , θj ) : 1 6 i 6 n − 1, 0 6 j 6 m}


pela ordem lexicográfica em (θ, r) e colocando a origem antes de todos estes pontos:.

u = (u0 , u1,0 , u1,1 , . . . , u1,m−1 , u2,0 , u2,1 , . . . , u2,m−1 , . . . . . . , un−1,0 , un−1,1 , . . . , un−1,m−1 ) . (2.57)
Rodney Josué Biezuner 50

Observe que existem (n − 1) × m + 1 incógnitas. Nesta ordenação, segue que A tem a forma em blocos
 
α0 b
 a
 B1 −β1 I 

 .. 

 −α2 I B2 −β2 I . 

A=  −α3 I B3 −β3 I ,
 (2.58)

 . .. . .. . ..


 
 −αn−2 I Bn−2 −βn−2 I 
−αn−1 I Bn−1

onde
4
α0 = ,
∆r2
 
−α1
a =  ...  ,
 

−α1 m×1

1 ri−1/2
αi = , i = 1, . . . , n − 1,
∆r2 ri
1 ri+1/2
βi = , i = 1, . . . , n − 2,
∆r2 ri
 
b = −β0 . . . −β0 1×m ,
2 ∆θ
β0 = ,
π ∆r2
I = Im ,
 
γi −δi 0 −δi
 −δi γi −δi 
 
 −δi γi −δi 
Bi =  ,
 
.. .. .. 

 . . . 

 −δi γi −δi 
−δi −δi γi m×m

onde
1 ri+1/2 + ri−1/2 2 1
γi = 2
+ 2 ,
ri ∆r ri ∆θ2
1 1
δi = 2 .
ri ∆θ2
Rodney Josué Biezuner 51

A matriz A em geral não é simétrica. Por exemplo, no caso n = 4 e m = 5 ((n − 1) × m + 1 = 16) temos
 
α −β0 −β0 −β0 −β0 −β0 0 0 0 0 0 0 0 0 0 0
 −α1 γ1 −δ1 0 0 −δ1 −β1 0 0 0 0 0 0 0 0 0 
 
 −α1 −δ1 γ1 −δ1 0 0 0 −β1 0 0 0 0 0 0 0 0 
 
 −α1 0 −δ1 γ1 −δ1 0 0 0 −β1 0 0 0 0 0 0 0 
 
 −α1 0 0 −δ1 γ1 −δ1 0 0 0 −β1 0 0 0 0 0 0 
 
 −α1 −δ1 0 0 −δ1 γ1 0 0 0 0 −β1 0 0 0 0 0 
 

 0 −α2 0 0 0 0 γ2 −δ2 0 0 −δ2 −β2 0 0 0 0 


 0 0 −α2 0 0 0 −δ2 γ2 −δ2 0 0 0 −β2 0 0 0 


 0 0 0 −α2 0 0 0 −δ2 γ2 −δ2 0 0 0 −β2 0 0 


 0 0 0 0 −α2 0 0 0 −δ2 γ2 −δ2 0 0 0 −β2 0 


 0 0 0 0 0 −α2 −δ2 0 0 −δ2 γ2 0 0 0 0 −β2 


 0 0 0 0 0 0 −α3 0 0 0 0 γ3 −δ3 0 0 −δ3 


 0 0 0 0 0 0 0 −α3 0 0 0 −δ3 γ3 −δ3 0 0 


 0 0 0 0 0 0 0 0 −α3 0 0 0 −δ3 γ3 −δ3 0 

 0 0 0 0 0 0 0 0 0 −α3 0 0 0 −δ3 γ3 −δ3 
0 0 0 0 0 0 0 0 0 0 −α3 −δ3 0 0 −δ3 γ3
A primeira linha e a primeira coluna são diferentes porque os pontos (0, j), j = 0, . . . , m, são realmente um
único ponto e este ponto é vizinho a todos os pontos (1, j), j = 0, . . . , m.
A matriz de discretização A no caso do anel será um pouco mais simples, já que ela será igual à matriz
de discretização no caso do disco menos a primeira linha e a primeira coluna.

2.5 Domı́nios Arbitrários


Queremos agora discutir a resolução numérica da equação de Poisson através de diferenças finitas em um
domı́nio arbitrário.
Seja Ω ⊂ R2 um domı́nio arbitrário. Se sobrepusermos uma malha uniforme
M = {(i∆x, j∆y) ∈ Ω : i ∈ Z e j ∈ Z}
sobre Ω, obtemos um domı́nio discretizado definido por
Ωd = {(x, y) ∈ Ω : x/∆x ∈ Z e y/∆y ∈ Z} . (2.59)
Esta é exatamente a maneira como discretizamos o retângulo. No entanto, o conjunto discretizado dos
pontos de fronteira ∂Ωd de um domı́nio arbitrário deve ser tratado de maneira diferente do retângulo, já que
a malha uniforme M em geral não vai se sobrepor à fronteira de Ω, podendo não possuir nenhum ponto em
comum com a fronteira ou um número muito pequeno de pontos em poucas regiões da fronteira.
Uma maneira de tratar este problema é a seguinte. Para determinar se o ponto (xi , yj ) ∈ Ωd é adjacente
à “fronteira esquerda” de Ω, por exemplo, e ao mesmo tempo encontrar o seu vizinho à esquerda na fronteira
se for o caso, basta verificar se o segmento
[xi − ∆x, yj ] = {(xi − t∆x, yj ) : t ∈ [0, 1]}
está inteiramente contido em Ω ou não. Se não estiver, então (xi , yj ) é um ponto interior adjacente à fronteira
e existe um número tW ∈ (0, 1) tal que
(xi − tW ∆x, yj ) ∈ ∂Ω e (xi − t∆x, yj ) ∈ Ω para todo t ∈ [0, tW ). (2.60)
Este será o vizinho à esquerda de (xi , yj ) na fronteira discretizada ∂Ωd do domı́nio. Analogamente, os
pontos vizinhos na fronteira discretizada à direita, abaixo e acima de pontos adjacentes à fronteira podem
ser encontrados; eles satisfazem, respectivamente,
(xi + tE ∆x, yj ) ∈ ∂Ω e (xi + t∆x, yj ) ∈ Ω para todo t ∈ [0, tE ). (2.61)
Rodney Josué Biezuner 52

(xi , yj − tS ∆y) ∈ ∂Ω e (xi , yj − t∆y) ∈ Ω para todo t ∈ [0, tS ). (2.62)


(xi , yj + tN ∆y) ∈ ∂Ω e (xi , yj + t∆y) ∈ Ω para todo t ∈ [0, tN ). (2.63)
(os subı́ndices W, E, S, N correspondem aos quatro pontos cardeais oeste, leste, sul, norte em inglês). Defi-
nimos
∂Ωd = {(x, y) ∈ ∂Ω : (x, y) satisfaz (2.60), (2.61), (2.62) ou (2.63)} (2.64)
Dependendo da geometria de Ω é concebı́vel que um ponto seja simultaneamente adjacente às “quatro
fronteiras” de Ω, isto é, que ele tenha os seus quatro vizinhos em ∂Ωd . Além disso, embora os pontos
interiores da malha estejam distribuı́dos uniformemente, esta discretização da fronteira do domı́nio permite
que às vezes dois pontos da malha da fronteira estejam bem próximos um do outro em alguma região da
fronteira e relativamente distantes em outras (isso ocorre mesmo em domı́nio regulares como um disco).
Para discretizar a equação de Poisson nesta malha, observe que pela fórmula de Taylor temos, para pontos
x− < x < x + ,  
2 u (x+ ) − u (x) u (x) − u (x− )
u00 (x) = − + r, (2.65)
x+ − x− x+ − x x − x−
onde
2 2
1 (x+ − x) + (x − x− ) 1
|r| 6 kukC 3 ([x− ,x+ ]) 6 max (x+ − x, x − x− ) kukC 3 ([x− ,x+ ]) . (2.66)
3 x+ − x− 3

De fato,
1 2 1 000 3
u(x− ) = u(x) − u0 (x) (x − x− ) + u00 (x) (x − x− ) − u (ξ− ) (x − x− ) ,
2 3!
1 2 1 000 3
u(x+ ) = u(x) + u0 (x) (x+ − x) + u00 (x) (x+ − x) + u (ξ+ ) (x+ − x) ,
2 3!
para alguns ξ− ∈ [x− , x] , ξ+ ∈ [x, x+ ], de modo que

u (x) − u (x− ) 1 1 2
− = −u0 (x) + u00 (x) (x − x− ) − u000 (ξ− ) (x − x− ) ,
x − x− 2 6
u (x+ ) − u (x) 1 1 2
= u0 (x) + u00 (x) (x+ − x) + u000 (ξ+ ) (x+ − x) ,
x+ − x 2 6

donde, somando as duas expressões,

u (x+ ) − u (x) u (x) − u (x− ) 1 1 h 000 2 2


i
− = u00 (x) (x+ − x− ) + u (ξ+ ) (x+ − x) − u000 (ξ− ) (x − x− ) .
x+ − x x − x− 2 6

Assim, podemos aproximar


 
2 u (x+ ) − u (x) u (x) − u (x− )
u00 (x) ≈ −
x+ − x− x+ − x x − x−

Se x− = x − ∆x e x+ = x + ∆x, obtemos a fórmula de diferenças centradas usual para a derivada segunda.


Para aproximar o laplaciano através de uma fórmula de cinco pontos, usamos os quatro pontos vizinhos

(xi − tW ∆x, yj ) , (xi + tE ∆x, yj ) , (xi , yj − tS ∆y) , (xi , yj + tN ∆y) , com t∗ ∈ (0, 1]
Rodney Josué Biezuner 53

definindo o esquema de diferenças finitas de Shortley-Weller :


 
2 u (xi + tE ∆x, yj ) − u (xi , yj ) u (xi , yj ) − u (xi − tW ∆x, yj )
∆d u d = −
(xi + tE ∆x) − (xi − tW ∆x) (xi + tE ∆x) − xi xi − (xi − tW ∆x)
 
2 u (xi , yj + tN ∆y) − u (xi , yj ) u (xi , yj ) − u (xi , yj − tS ∆y)
+ −
(yj + tN ∆y) − (yj − tS ∆y) (yj + tN ∆y) − yj yj − (yj − tS ∆y)
 
2 ui+tE ∆x,j − ui,j ui,j − ui−tW ∆x,j
= −
(tE + tW ) ∆x tE ∆x tW ∆x
 
2 ui,j+tN ∆y − ui,j ui,j − ui,j−tS ∆y
+ −
(tN + tS ) ∆y tN ∆y tS ∆y
ou
 
2 1 1 1
−∆d ud = − ui+tE ∆x,j + ui,j − ui−tW ∆x,j (2.67)
∆x2 tE (tE + tW ) tE tW tW (tE + tW )
 
2 1 1 1
+ − ui,j−tS ∆y + ui,j − ui,j+tN ∆y .
∆y 2 tS (tN + tS ) tN tS tN (tN + tS )

Se (xi , yj ) é um ponto interior distante da fronteira (isto é, não adjacente à fronteira), então t∗ = 1 e para este
ponto vale a fórmula dos cinco pontos usual. Observe que a matriz obtida pelo esquema de Shortley-Weller
não é simétrica, em geral.
Embora a ordem de aproximação do laplaciano para pontos próximos à fronteira é apenas 1, o esquema
de Shortley-Weller é convergente de segunda ordem. No próximo capı́tulo, provaremos que o problema
discretizado possui solução única.

2.6 Exercı́cios
1. Implemente os métodos discutidos neste capı́tulo computacionalmente, verifique a precisão comparando
com a solução exata e também a velocidade de convergência.
2. Discretize o problema de Poisson com valor de fronteira de Dirichlet a seguir, usando a fórmula de
cinco pontos. 
−∆u = f (x, y) em (0, a) × (0, b) ,
u = g (x, y) sobre ∂ ((0, a) × (0, b)) ,
Implemente alguns exemplos deste problema computacionalmente e compare os resultados obtidos com
as soluções exatas.
3. Prove que a fórmula dos nove pontos compacta satisfaz o princı́pio do máximo discreto.

4. Prove resultados equivalentes ao Lema 1.5 e ao Teorema 1.6 para a fórmula dos nove pontos compacta.
5. Investigue a ordem de convergência do esquema de diferenças finitas misto: fórmula dos nove pontos nos
pontos interiores distantes da fronteira e fórmula dos cinco pontos para pontos adjacentes à fronteira.
6. Encontre um esquema de diferenças finitas de segunda ordem para a equação de laplace tridimensional
em um paralelepı́pedo reto. Escolha uma ordenação apropriada dos pontos da malha e descreva a
matriz de discretização obtida. Implemente o método no computador.
7. Mostre que o esquema de diferenças finitas em coordenadas polares introduzido neste capı́tulo satisfaz
o princı́pio do máximo discreto desde que o valor de u0 seja dado pela fórmula (2.56).
Rodney Josué Biezuner 54

8. Mostre que se ∆d denota o esquema de diferenças finitas em coordenadas polares introduzido neste
capı́tulo e Ω é o disco unitário, então vale a estimativa a priori: se ud é uma solução de

−∆d ud = fd em Ωd ,
ud = 0 sobre ∂Ωd ,

então
1
k∆d ud k∞
kud k∞ 6 (2.68)
4
desde que o valor de u0 seja dado pela fórmula (2.56). Conclua que este esquema tem ordem de
convergência 2.

9. Encontre os autovalores da matriz de discretização do esquema de diferenças finitas em coordenadas


polares e compare com os autovalores de Dirichlet do laplaciano no disco.
10. Discretize o problema de Poisson com valor de fronteira de Dirichlet para o anel:

 −∆u = f (r, θ) se R1 < r < R2 e 0 < θ < 2π,
u (R1 , θ) = g1 (θ)
u (R2 , θ) = g2 (θ) se 0 6 θ 6 2π.

Implemente alguns exemplos deste problema computacionalmente e compare os resultados obtidos com
as soluções exatas.
11. Mostre que tomando o “quadrado” da fórmula de três pontos para o laplaciano unidimensional (es-
quema de diferenças centradas para a derivada segunda) obtemos a seguinte fórmula de cinco pontos
para o operador biharmônico unidimensional (esquema de diferenças centradas para a derivada quarta):
ui−2 − 4ui−1 + 6ui − 4ui+1 + ui+2
δ 4 ui = (2.69)
∆x4
Usando a fórmula de Taylor, obtenha o expoente p tal que

δ 4 ui = u(4) (xi ) + O (∆xp ) .

12. O esquema de diferenças finitas mais simples para o operador biharmônico ∆2 em duas dimensões é a
seguinte fórmula de 13 pontos (para o caso ∆x = ∆y):
 
1
 2 −8 2 
2 1  
∆ u=  1 −8 20 −8 1  . (2.70)
∆x4 
 2 −8 2 
1

Mostre que esta fórmula pode ser obtida a partir do “quadrado” da fórmula de cinco pontos para
o laplaciano. Como a equação biharmônica não satisfaz o princı́pio do máximo, a demonstração da
ordem de convergência deste esquema necessita de argumentos diferentes dos usados neste capı́tulo
para o laplaciano. Na realidade, dependendo de como as duas
 condições de fronteira são discretizadas,
a ordem de convergência deste método pode ser O ∆x3/2 ou O ∆x2 . Veja [Hackbusch], pág. 103 e
págs. 105-109, para detalhes e referências.
Capı́tulo 3

Existência e Unicidade de Soluções


Discretas

Determinar a existência e unicidade de soluções discretas para as matrizes de discretização obtidas via
esquemas de diferenças finitas através do cálculo de seus autovalores como fizemos no capı́tulo anterior para
diferenças centradas em uma dimensão e para a fórmula de cinco pontos é inviável em geral (tente calcular
os autovalores da matriz de discretização para a fórmula dos nove pontos, para o esquema em coordenadas
polares e para o esquema de Shortley-Weller). Neste capı́tulo, desenvolveremos métodos mais gerais e mais
fáceis de aplicar.

3.1 Normas Matriciais


Uma norma matricial no espaço vetorial Mn (C) das matrizes complexas n × n é uma norma vetorial que
satisfaz a propriedade submultiplicativa
kABk 6 kAk kBk (3.1)
para todas as matrizes A, B ∈ Mn (C). Algumas das normas mais importantes em Mn (C) são as seguintes:

1. Norma l1
n
X
kAk1 = |aij | . (3.2)
i,j=1

De fato,
n
X n
X n
X n
X n
X n
X
kABk1 = aik bkj 6 |aik bkj | 6 |aik blj | = |aik | |blj | = kAk1 kBk1 .
i,j=1 k=1 i,j,k=1 i,j,k,l=1 i,j=1 k,l=1

2. Norma l2
 1/2
n
X 2
kAk2 =  |aij |  . (3.3)
i,j=1

Com efeito,
  
n n 2 n n
! n
! n n
2
X X X X 2
X 2
X 2
X 2 2 2
kABk2 = aik bkj 6 |aik | |blj | = |aik |   |blj |  = kAk2 kBk2 .
i,j=1 k=1 i,j=1 k=1 l=1 i,k=1 j,l=1

55
Rodney Josué Biezuner 56

A norma l2 também é chamada norma euclidiana e, mais raramente e somente para matrizes, norma
de Schur, norma de Frobenius ou norma de Hilbert-Schmidt.
3. Norma l∞ modificada
A norma l∞
kAk∞ = max |aij | .
16i,j6n

é uma norma vetorial no espaço das matrizes complexas, mas não é uma norma matricial, pois se
 
1 1
A= ,
1 1
então  
2 2
A2 =
2 2
e portanto
A2 ∞
= 2 > 1 = kAk∞ kAk∞ .
Mas um múltiplo escalar desta norma vetorial é uma norma matricial:

kAkn∞ = n max |aij | . (3.4)


16i,j6n

Com efeito,
n
X n
X n
X
kABkn∞ = n max aik bkj 6 n max |aik bkj | 6 n max kAk∞ kBk∞
16i,j6n 16i,j6n 16i,j6n
k=1 k=1 k=1
= n kAk∞ n kBk∞ = kABkn∞ .

4. Norma induzida
Dada uma norma vetorial |·| em Cn , ela induz uma norma matricial através da definição
|Ax|
kAk = max |Ax| = max . (3.5)
|x|=1 x6=0 |x|
De fato,
 
|ABx| |ABx| |Bx| |ABx| |Bx| |Ay| |Bx|
kABk = max = max 6 max max 6 max max = kAk kBk .
x6=0 |x| x6=0 |Bx| |x| x6=0 |Bx| x6=0 |x| y6=0 |y| x6=0 |x|

Esta norma também é chamada norma do operador. Ela satisfaz a propriedade muitas vezes útil

|Ax| 6 kAk |x| (3.6)

para todo vetor x ∈ Cn .


5. Norma do máximo das somas das linhas
n
X
kAkL = max |aij | . (3.7)
16i6n
j=1

Esta norma é induzida pela norma vetorial l∞ . De fato, se x = (x1 , . . . , xn ), temos

n
X n
X n
X
|Ax|∞ = max aij xj 6 max |aij xj | 6 max |aij | |x|∞ = kAkL |x|∞ ,
16i6n 16i6n 16i6n
j=1 j=1 j=1
Rodney Josué Biezuner 57

de modo que
max |Ax|∞ 6 kAkL .
|x|=1

Supondo que a k-ésima linha de A é não-nula, definimos o vetor y = (y1 , . . . , yn ) ∈ Cn por



 akj se aij 6= 0,
yi = |a | ,
 1kj se aij = 0.

o que implica |y|∞ = 1, akj yj = |akj | e

n
X n
X n
X
max |Ax|∞ > |Ay|∞ = max aij yj > akj yj = |akj | .
|x|∞ =1 16i6n
j=1 j=1 j=1

Isso vale para todo k, logo


n
X
max |Ax|∞ > max |aij | = kAkL .
|x|∞ =1 16k6n
j=1

6. Norma do máximo das somas das colunas


n
X
kAkC = max |aij | . (3.8)
16j6n
i=1

Esta norma é induzida pela norma vetorial l1 . De fato, escrevendo A em termos de suas colunas

A = [A1 . . . An ]

segue que
kAkC = max |Aj |1 .
16j6n

Se x = (x1 , . . . , xn ), segue que


n
X n
X n
X
|Ax|1 = |x1 A1 + . . . + xn An |1 6 |xi Ai |1 = |xi | |Ai |1 6 |xi | max |Aj |1
16j6n
i=1 i=1 i=1
n
X
= kAkC |xi | = kAkC |x|1 ,
i=1

donde
max |Ax|1 6 kAkC .
|x|1 =1

Agora, se escolhermos y = ej , temos que |y|1 = 1 e

|Ay|1 = |Aj |1

para todo k, logo


max |Ax|1 > |Ay|1 = max |Aj |1 = kAkC .
|x|1 =1 16j6n

7. p-normas
Este é o nome geral para as normas induzidas pela norma vetorial lp . O caso especial da norma induzida
pela norma vetorial l2 (a norma vetorial euclidiana) é também chamada a norma espectral e satisfaz
p n√ o
k|A|k2 = λmax = max λ : λ é um autovalor de A∗ A .
Rodney Josué Biezuner 58

De fato, A∗ A é uma matriz hermitiana e possui autovalores não-negativos, pois se A∗ Ay = λy, então
2 2
λ |y|2 = hy, λyi2 = hy, A∗ Ayi2 = hAy, Ayi2 = |Ay|2

e, além disso, pela caracterização variacional dos autovalores de uma matriz hermitiana temos
2
hA∗ Ax, xi2 |Ax|2
λmax = max 2 = max 2 .
x6=0 |x|2 x6=0 |x|2

Observe que a 2-norma é diferente da norma matricial l2 . Note também que se A é uma matriz
hermitiana, então A∗ A = A2 e k|A|k2 é portanto o módulo do maior autovalor de A, isto é, a norma
espectral de A é o raio espectral de A, definido como sendo o maior valor absoluto dos autovalores
de A:
ρ (A) = max |λi | ,
i=1,...,n

8. Norma induzida por uma matriz invertı́vel


Se k·k é uma norma matricial qualquer e se S é uma matriz invertı́vel, então

kAkS = S −1 AS (3.9)

define uma norma matricial. Com efeito,

kABkS = S −1 ABS = S −1 ASS −1 BS 6 S −1 AS S −1 BS = kAkS kBkS .

Lembramos que todas as normas em um espaço vetorial são equivalentes, e isso vale em particular para
normas matriciais.

3.2 Matrizes Diagonalmente Dominantes


3.1 Definição. Dizemos que uma matriz An×n é diagonalmente dominante se
n
X
|aii | > |aij | para todo i = 1, . . . , n
j=1
j6=i

e estritamente diagonalmente dominante se


n
X
|aii | > |aij | para todo i = 1, . . . , n.
j=1
j6=i


3.2 Proposição. Se A é uma matriz estritamente diagonalmente dominante, então A é invertı́vel.

Prova. Uma matriz A é invertı́vel se existe alguma norma matricial k·k tal que kI − Ak < 1. De fato, se
esta condição é satisfeita, então a inversa é dada explicitamente pela série

X k
A−1 = (I − A) . (3.10)
k=0
Rodney Josué Biezuner 59

P∞
A condição kI − Ak < 1 garante a convergência desta série, pois a série geométrica k=0 rk tem raio de
convergência 1; como para todo N temos
N
X N
X N
X N
X +1
k k k k N +1
A (I − A) = [I − (I − A)] (I − A) = (I − A) − (I − A) = I − (I − A) ,
k=0 k=0 k=0 k=1

tomando o limite quando N → ∞, concluı́mos (3.10).


Para provar a proposição, denote por D a matriz diagonal cujas entradas diagonais são as entradas
diagonais de A. Uma matriz estritamente diagonalmente dominante possui, por definição, entradas diagonais
não-nulas, logo D é uma matriz invertı́vel. A matriz D−1 A tem apenas 1’s na diagonal principal e se
mostramos que D−1 A é invertı́vel, isto implicará que A é invertı́vel. Para provar isso, considere a matriz
I − D−1 A. Temos 
0 se i = j,
I − D−1 A ij =

−aij /aii se i 6= j.
Usemos a norma do máximo das somas das linhas. Para cada 1 6 i 6 n temos
n n n
X X aij 1 X
I − D−1 A

ij
= = |aij | < 1,
j=1 j=1
aii |aii | j=1
j6=i j6=i

logo I − D−1 A < 1 e o resultado segue. 


Às vezes, exigir dominância diagonal estrita em todas as linhas é pedir demais. Para certas matrizes,
dominância diagonal junto com dominância diagonal estrita em apenas uma linha é suficiente para garantir
a sua invertibilidade. As matrizes de discretização obtidas no capı́tulo anterior satisfazem esta condição
(nas linhas correspondentes à pontos adjacentes à fronteira), e nenhuma delas é estritamente diagonalmente
dominante. Por outro lado, esta condição não é suficiente para estabelecer a invertibilidade de uma matriz
em geral, como o exemplo  
4 2 1
 0 1 1 
0 1 1
demonstra. Precisamos de desenvolver várias idéias e ferramentas teóricas antes de provar a invertibilidade
das matrizes de discretização do capı́tulo anterior.

3.3 Teorema dos Discos de Gershgorin


A primeira ferramenta teórica é o importante Teorema dos Discos de Gershgorin. Ele decorre da seguinte
observação: se A é uma matriz complexa n × n, podemos sempre escrever A = D + B, onde D = diag
(a11 , . . . , ann ) é a matriz diagonal formada pela diagonal principal de A e B consiste dos elementos restantes
de A, possuindo uma diagonal principal nula. Se definirmos Aε = D + εB, então A0 = D e A1 = A. Os
autovalores de D são a11 , . . . , ann , enquanto que os autovalores de Aε devem estar localizados em vizinhanças
dos pontos a11 , . . . , ann , desde que ε seja suficientemente pequeno. O mesmo deve valer para os autovalores
da matriz A: eles devem estar contidos em discos centrados nos elementos a11 , . . . , ann da diagonal principal
se os discos são suficientemente grandes. O Teorema de Gershgorin dá uma estimativa precisa e simples de
calcular para os raios destes discos em função das entradas restantes da matriz A. Denote o disco complexo
fechado de centro em a e raio R por

DR (a) = {z ∈ C : |z − a| 6 R} .
Rodney Josué Biezuner 60

3.3 Teorema (Teorema dos Discos de Gershgorin). Se A ∈ Mn (C) e


n
X
Ri (A) = |aij | (3.11)
j=1
j6=i

denota a soma dos valores absolutos dos elementos da linha i de A excetuando o elemento da diagonal
principal, então todos os autovalores de A estão contidos na união dos n discos de Gershgorin
n
[
G (A) = DRi (A) (aii ) . (3.12)
i=1

Além disso, se uma união de k destes discos forma uma região que é disjunta dos n − k discos restantes,
então existem exatamente k autovalores de A nesta região.
Prova. Seja λ um autovalor de A e x = (x1 , . . . , xn ) 6= 0 um autovetor associado. Seja k um ı́ndice tal que

|xk | > |xj | para j = 1, . . . , n,

isto é, xk é a coordenada de x de maior valor absoluto. Denotando por (Ax)k a k-ésima coordenada do vetor
Ax = λx, temos
Xn
λxk = (Ax)k = akj xj
j=1

que é equivalente a
n
X
xk (λ − akk ) = akj xj .
j=1
j6=k

Daı́,
n
X n
X n
X
|xk | |λ − akk | 6 |akj xj | = |akj | |xj | 6 |xk | |akj | = |xk | Rk (A) ,
j=1 j=1 j=1
j6=k j6=k j6=k

ou seja,
|λ − akk | 6 Rk (A) .
Isso prova o resultado principal do Teorema de Gershgorin (como não sabemos qual k é apropriado para
cada autovalor λ, e um mesmo k pode servir para vários autovalores λ, tudo o que podemos afirmar é que
os autovalores estão na união dos discos).
Para provar a segunda afirmação, escreva A = D + B, onde D = diag (a11 , . . . , ann ) e defina

At = D + tB

para 0 6 t 6 1. Note que


Ri (At ) = Ri (tB) = tRi (A) .
Para simplificar a notação, assuma que a união dos primeiros k discos de Gershgorin
k
[
Gk (A) = DRi (A) (aii )
i=1

satisfaz Gk (A) ∩ [G (A) \Gk (A)] = ∅. Temos

DRi (At ) (aii ) = {z ∈ C : |z − aii | 6 Ri (At )} = {z ∈ C : |z − aii | 6 tRi (A)} ⊂ DRi (A) (aii ) ,
Rodney Josué Biezuner 61

logo
Gk (At ) ⊂ Gk (A)
e
Gk (A) ∩ [G (At ) \Gk (At )] = ∅
para 0 6 t 6 1. Porque os autovalores são funções contı́nuas das entradas de uma matriz, o caminho

λi (t) = λi (At )

é um caminho contı́nuo que liga λi (A0 ) = λi (D) = aii a λi (A1 ) = λi (A). Como λi (At ) ∈ Gk (At ) ⊂ Gk (A),
concluı́mos que para cada 0 6 t 6 1 existem k autovalores de At em Gk (A); em particular, fazendo t = 1,
obtemos que Gk (A) possui pelo menos k autovalores de A. Da mesma forma, não pode haver mais que
k autovalores de A em Gk (A), pois os n − k autovalores restantes de A0 = D começam fora do conjunto
Gk (A) e seguem caminhos contı́nuos que permanecem fora de Gk (A). 
A união G (A) dos discos de Gershgorin é conhecida como a região de Gershgorin. Observe que enquanto
não podemos em geral afirmar com certeza que cada disco de Gershgorin possui um autovalor, a segunda
afirmação do teorema permite-nos fazer tal conclusão desde que os discos de Gershgorin sejam dois a dois
disjuntos.
O Teorema dos Discos de Gershgorin permite entender o resultado da Proposição 3.2: se uma matriz A é
estritamente diagonalmente dominante, então os discos de Gershgorin DRi (A) (aii ) não interceptam a origem,
logo 0 não pode ser um autovalor para a matriz A, o que implica que A é invertı́vel. Além disso, se todos
os elementos da diagonal principal de A são reais e positivos, então os autovalores de A estão localizados no
semiplano direito de C, de modo que se A é também simétrica, concluı́mos que todos os autovalores de A
são positivos.
A aplicação mais óbvia do Teorema dos Discos de Gershgorin é na estimativa dos autovalores de uma
matriz, o que é importante se vamos usar os autovalores de matrizes de discretização para aproximar os
autovalores do laplaciano:

Aplicação 1. Pelo Teorema dos Discos de Gershgorin, os autovalores da matriz de discretização do lapla-
ciano no intervalo (0, π) discretizado com n + 1 pontos (esquema de diferenças finitas centradas para
a derivada segunda unidimensional)
 
2 −1
 −1 2 −1 
 
2 
 . . . . 
n −1 . . 
A= 2 
π   .. .. 
 . . −1 

 −1 2 −1 
−1 2

estão todos localizados no intervalo (A é simétrica, logo seusautovalores são todos reais) centrado em
x = 2n2 /π 2 de raio 2n2 /π 2 , ou seja, no intervalo 0, 4n2 /π 2 . Em particular o maior autovalor de A
não pode exceder 4n2 /π 2 . Como os autovalores do laplaciano neste intervalo são da forma λj = j 2 ,
para termos esperança em aproximar o autovalor λj por autovalores da matriz A precisamos que
j 2 6 4n2 /π 2 , isto é, precisamos discretizar o intervalo (0, π) com
π
n> j
2
pontos. Isso dá uma estimativa bastante grosseira do quão refinada a nossa malha precisa ser para
aproximar os autovalores do laplaciano. Na prática, vimos que apenas os primeiros autovalores de
A aproximam bem os primeiros autovalores do laplaciano e portanto precisamos de uma malha com
um número muito maior de pontos. Observe que uma estimativa semelhante vale para a matriz de
Rodney Josué Biezuner 62

2
discretização M fornecida pela fórmula de cinco pontos no quadrado (0, π) quando tomamos ∆x =
2 2
∆y = π/n: como os autovalores  de M estão localizados no intervalo de centro em x = 4n /π de raio
4n2 /π 2 , isto é, em 0, 8n2 /π 2 , precisamos de
π p2
n> √ i + j2
2 2
pontos no eixos horizontal e vertical para aproximar o autovalor i2 + j 2 . Por outro lado, no caso
bidimensional isso implica em uma matriz de discretização da ordem de i2 + j 2 . 
Usos mais refinados do Teorema de Gershgorin permitem obter conhecimento mais preciso sobre onde
os autovalores da matriz se encontram e correspondentemente melhores estimativas para o raio espectral
de uma matriz. Por exemplo, como A e At possuem os mesmos autovalores, existe um teorema dos discos
de Gershgorin equivalente para as colunas de uma matriz. Em particular, todos os autovalores de A estão
localizados na interseção destas duas regiões: G (A) ∩ G (At ). Isso implica a seguinte estimativa simples para
o raio espectral de uma matriz complexa:
3.4 Corolário. Se A ∈ Mn (C), então
 
n
X n
X
ρ (A) 6 min  max |aij | , max |aij | = min (kAkL , kAkC ) .
i=1,...,n j=1,...,n
j=1 i=1

Prova. O ponto no i-ésimo disco de Gershgorin que é mais distante da origem tem módulo
n
X
|aii | + Ri (A) = |aij |
j=1

e um resultado semelhante vale para as colunas de A. 


O resultado do Corolário 3.4 não é surpreendente em vista do raio espectral de uma matriz ser menor que
qualquer norma matricial (veja o próximo capı́tulo). Um resultado melhor pode ser obtido uma vez que
se observa que A e S −1 AS também possuem os mesmos autovalores, qualquer que seja a matriz invertı́vel
S. Em particular, quando S = D = diag (p1 , . . . , pn ) é uma matriz diagonal com todos os seus elementos
positivos, isto é, pi > 0 para todo i, aplicando o Teorema de Gershgorin à matriz
 
pj
D−1 AD = aij
pi
e à sua transposta, obtemos o seguinte resultado que permite obter uma estimativa arbitrariamente boa dos
autovalores de A:
3.5 Corolário. Se A ∈ Mn (C) e p1 , . . . , pn > 0, então todos os autovalores de A estão contidos em
 
 
n  n 
−1
 t −1
 [  1 X 
G D AD ∩ G DA D = z ∈ C : |z − aii | 6 pj |aij | (3.13)

i=1 
pi j=1 

 
j6=i
 
n  n 
[  X 1 
∩ z ∈ C : |z − aii | 6 pj |aij | .

i=1  i=1 i
p 

i6=j

Em particular,  
n n
1 X X 1
ρ (A) 6 min  max pj |aij | , max pj |aij | . (3.14)
p1 ,...,pn >0 i=1,...,n pi j=1,...,n p
j=1 i=1 i
Rodney Josué Biezuner 63

3.4 Propriedade FC
Na nossa busca por propriedades para matrizes diagonalmente dominantes que garantirão a sua invertibili-
dade, uma observação fundamental é a de que se A é uma matriz diagonalmente dominante, então 0 não
pode ser um ponto interior de nenhum disco de Gershgorin. De fato, se λ é um autovalor de A interior a
algum disco de Gershgorin então devemos ter desigualdade estrita
n
X
|λ − aii | < Ri (A) = |aij |
j=1
j6=i

para algum i. Se 0 é um autovalor de A interior a algum disco de Gershgorin, então


n
X
|aii | < |aij |
j=1
j6=i

para algum i e A não pode ser diagonalmente dominante na linha i.


Uma condição equivalente para que um autovalor λ de A não seja um ponto interior de nenhum disco de
Gershgorin é que
n
X
|λ − aii | > Ri (A) = |aij | para todo i = 1, . . . , n.
j=1
j6=i

Tais pontos λ na região de Gershgorin G (A) (não necessariamente autovalores de A) constituem precisa-
mente a fronteira ∂G (A) da região de Gershgorin. Chamaremos a fronteira de um disco de Gershgorin
{z ∈ C : |z − aii | = Ri (A)} um cı́rculo de Gershgorin.
3.6 Lema. Seja A ∈ Mn (C) e λ um autovalor de A que não é um ponto interior de nenhum disco de
Gershgorin. Seja x = (x1 , . . . , xn ) 6= 0 um autovetor associado a λ e k um ı́ndice tal que

|xk | > |xj | para j = 1, . . . , n.

Se i é qualquer ı́ndice tal que


|xi | = |xk |
então o i-ésimo cı́rculo de Gershgorin passa por λ. Se, além disso,

aij 6= 0,

então
|xj | = |xk |
e o j-ésimo cı́rculo de Gershgorin também passa por λ.
Prova. Como na demonstração do Teorema de Gershgorin, temos
n
X n
X n
X
|xi | |λ − aii | 6 |aij xj | = |aij | |xj | 6 |xk | |aij | = |xk | Ri (A) (3.15)
j=1 j=1 j=1
j6=k j6=k j6=k

para todo ı́ndice i. Logo, se |xi | = |xk |, temos

|λ − aii | 6 Ri (A) .

Como por hipótese


|λ − aii | > Ri (A)
Rodney Josué Biezuner 64

para todo ı́ndice i, segue que


|λ − aii | = Ri (A) .
Em geral, |xi | = |xk | implica que as desigualdades em (3.15) são identidades; em particular,
n
X n
X
|aij | |xj | = |xi | |aij |
j=1 j=1
j6=k j6=k

donde
n
X
|aij | (|xi | − |xj |) = 0.
j=1
j6=k

Esta é uma soma de termos não-negativos, pois |xi | > |xj |, logo se aij 6= 0 necessariamente devemos ter
|xj | = |xi | = |xk |. 
Este lema técnico tem as seguintes conseqüências úteis:

3.7 Teorema. Seja A ∈ Mn (C) uma matriz cujas entradas são todas não-nulas e seja λ um autovalor de A
que não é um ponto interior de nenhum disco de Gershgorin. Então todo cı́rculo de Gershgorin de A passa
por λ (isto é, λ está na interseção de todos os cı́rculos de Gershgorin de A) e se x = (x1 , . . . , xn ) 6= 0 é um
autovetor associado a λ então
|xi | = |xj | para todos i, j = 1, . . . , n.

Prova. Decorre diretamente do lema anterior. 


3.8 Corolário. Se A ∈ Mn (C) é uma matriz cujas entradas são todas não-nulas e diagonalmente dominante
n
P
tal que |aii | > |aij | para pelo menos alguma linha i, então A é invertı́vel.
j=1
j6=i

Prova. Pois, como A é diagonalmente dominante, se 0 é um autovalor de A então 0 não pode ser um ponto
interior de nenhum disco de Gershgorin. Por outro lado, pelo teorema anterior, segue que todo cı́rculo de
Gershgorin passa por 0. Entretanto, o i-ésimo cı́rculo de Gershgorin centrado em aii e com raio Ri < |aii |
não pode passar por 0. Concluı́mos que 0 não é um autovalor de A, logo A é invertı́vel. 
Na verdade, usando com maior cuidado a informação dada pelo Lema 3.6 podemos obter resultados ainda
melhores:
3.9 Definição. Dizemos que uma matriz A = (aij ) ∈ Mn (C) satisfaz a propriedade FC se para todo par de
inteiros distintos i, j existe uma seqüência de inteiros distintos i1 = i, i2 , i3 , . . . , im−1 , im = j, com 1 6 m 6 n,
tais que todas as entradas matriciais
ai1 i2 , ai2 i3 , . . . , aim−1 im
são não-nulas. 
Por exemplo, a matriz diagonalmente dominante não-invertı́vel
 
4 2 1
 0 1 1 ,
0 1 1

já vista anteriormente, não satisfaz a propriedade FC porque o par 2, 1 não admite tal seqüência (a única
seqüência possı́vel é a23 , a31 ). Já qualquer par de inteiros distintos i, j tal que aij 6= 0 admite a seqüência
trivial não-nula aij , de modo que uma matriz cujas entradas não-diagonais são todas não-nulas satisfaz a
propriedade FC. O significado da abreviatura “FC”, ou “fortemente conexo”, ficará claro mais adiante.
Rodney Josué Biezuner 65

3.10 Teorema. Seja A ∈ Mn (C) uma matriz que satisfaz a propriedade FC e seja λ um autovalor de A
que não é um ponto interior de nenhum disco de Gershgorin. Então todo cı́rculo de Gershgorin de A passa
por λ (isto é, λ está na interseção de todos os cı́rculos de Gershgorin de A) e se x = (x1 , . . . , xn ) 6= 0 é um
autovetor associado a λ então
|xi | = |xj | para todos i, j = 1, . . . , n.
Prova. Seja x = (x1 , . . . , xn ) 6= 0 um autovetor associado a λ e i um ı́ndice tal que

|xi | > |xk | para k = 1, . . . , n.

Pelo Lema 3.6,


|λ − aii | = Ri (A) .
Seja j 6= i qualquer outro ı́ndice e i1 = i, i2 , i3 , . . . , im−1 , im = j, com 1 6 m 6 n, ı́ndices tais que todas as
entradas matriciais
aii2 , ai2 i3 , . . . , aim−1 j 6= 0.
Como aii2 6= 0, segue da segunda afirmativa do Lema 3.6 que |xi2 | = |xi |. Mas então ai2 i3 6= 0 e portanto
|xi3 | = |xi2 | = |xi |. Prosseguindo desta forma, concluı́mos que

|xi | = |xi2 | = . . . xim−1 = |xj | .

Em particular, segue novamente do Lema 3.6 que o j-ésimo cı́rculo de Gershgorin passa por λ. Como j é
arbitrário, isso prova o teorema. 
3.11 Corolário. Se A ∈ Mn (C) é uma matriz que satisfaz a propriedade FC e diagonalmente dominante
n
P
tal que |aii | > |aij | para pelo menos alguma linha i, então A é invertı́vel.
j=1
j6=i

Prova. Segue do teorema anterior da mesma forma que o Corolário 3.8 segue do Teorema 3.7. 
Vamos tentar entender melhor o significado da propriedade FC. Note que ela se refere apenas à localização
dos elementos não-nulos de A fora da diagonal principal – os elementos da diagonal principal e os valores
especı́ficos dos elementos fora da diagonal principal são irrelevantes. Isso motiva as seguintes definições:
3.12 Definição. Dada uma matriz A = (aij ) ∈ Mn (C) definimos o módulo da matriz A como sendo a
matriz
|A| = (|aij |)
cujos elementos são os módulos dos elementos da matriz A e a matriz indicadora de A como sendo a
matriz
M (A) = (µij ) ,
onde 
1 se aij 6= 0,
µij =
0 se aij = 0.

O conceito de uma seqüência de entradas não-nulas da matriz A que aparece na definição da propriedade
FC pode ser visualizado em termos de caminhos em um grafo associado a A:
3.13 Definição. Dada uma matriz A ∈ Mn (C), o grafo direcionado de A é o grafo direcionado Γ (A)
com n nodos P1 , . . . , Pn tais que existe um arco direcionado em Γ (A) de Pi a Pj se e somente se aij 6= 0.
Um caminho direcionado γ em um grafo Γ é uma seqüência de arcos Pi1 Pi2 , Pi2 Pi3 , . . . em Γ. O
comprimento de um caminho direcionado é o número de arcos sucessivos no caminho direcionado. Um ciclo
é um caminho direcionado que começa e termina no mesmo nó.
Dizemos que um grafo direcionado é fortemente conexo se entre qualquer par de nodos distintos
Pi , Pj ∈ Γ existir um caminho direcionado de comprimento finito que começa em Pi e termina em Pj . 
Rodney Josué Biezuner 66

Observe que quando Γ é um grafo direcionado com n nodos, se existe um caminho direcionado entre dois
nodos de Γ, então sempre existe um caminho direcionado entre estes dois nodos de comprimento menor que
ou igual a n − 1.
3.14 Teorema. A ∈ Mn (C) satisfaz a propriedade FC se e somente se Γ (A) é fortemente conexo.

Verificar a propriedade FC a partir do grafo direcionado de A pode ser impraticável se o tamanho da


matriz for muito grande. Existe um método computacional mais explı́cito para fazê-lo:
3.15 Teorema. Sejam A ∈ Mn (C) e Pi , Pj nodos de Γ (A). Existe um caminho direcionado de comprimento
m em Γ (A) de Pi para Pj se e somente se
m
(|A| )ij 6= 0
ou, equivalentemente, se e somente se
m
[M (A) ]ij 6= 0.

Prova. Provaremos o teorema por indução. Para m = 1 a afirmativa é trivial. Para m = 2, temos
  n
X n
X
2
|A| = (|A|)ik (|A|)kj = |aik | |akj | ,
ij
k=1 k=1
 
2
de modo que |A| 6= 0 se e somente se aik , akj são ambos não-nulos para algum ı́ndice k. Mas isso é
ij
equivalente a dizer que existe um caminho direcionado de comprimento 2 em Γ (A) de Pi para Pj .
Em geral, supondo a afirmativa provada para m, temos
  n
X n
X
m+1 m m
|A| = (|A| )ik (|A|)kj = (|A| )ik |akj | =
6 0
ij
k=1 k=1

m
se e somente se (|A| )ik , akj são ambos não-nulos para algum ı́ndice k. Por hipótese de indução, isso é
equivalente a existir um caminho direcionado de comprimento m em Γ (A) de Pi para Pk e um caminho
direcionado de comprimento 1 em Γ (A) de Pk para Pj , isto é, um caminho direcionado de comprimento
m + 1 em Γ (A) de Pi para Pj . O mesmo argumento vale para M (A). 
3.16 Definição. Seja A = (aij ) ∈ Mn (C). Dizemos que A > 0 se aij > 0 para todos 1 6 i, j 6 n e que
A > 0 se aij > 0 para todos 1 6 i, j 6 n. 
3.17 Corolário. Seja A ∈ Mn (C). Existe um caminho direcionado de comprimento m em Γ (A) de cada
nodo Pi para cada nodo Pj se e somente se
m
|A| > 0
ou, equivalentemente, se e somente se
m
M (A) > 0.
3.18 Corolário. Seja A ∈ Mn (C). A satisfaz a propriedade FC se e somente se
n−1
(I + |A|) >0

ou, equivalentemente, se e somente se


n−1
[I + M (A)] > 0.
Prova. Temos
   
n−1 n−1 2 n−1 n−1 n−1
(I + |A|) = I + (n − 1) |A| + |A| + . . . + |A| + |A| >0
2 n−3
Rodney Josué Biezuner 67

2 n−1
se e somente se para cada par de ı́ndices i, j com i 6= j pelo menos um dos termos |A| , |A| , . . . , |A|
tem uma entrada positiva em (i, j). Pelo Teorema 3.15, isso ocorre se e somente se existe algum caminho
direcionado em Γ (A) de Pi para Pj com comprimento 6 n−1. Isto é equivalente a A satisfazer a propriedade
FC. O mesmo argumento vale para M (A). 
Em geral, a maneira como uma matriz foi obtida (como as nossas matrizes de discretização; veja a última
seção do capı́tulo) torna clara se elas são matrizes que satisfazem a propriedade FC ou não. Se isso
não é possı́vel, e pretende-se verificar a propriedade FC através do Corolário 3.18, é preferı́vel calcular
n−1
[I + M (A)] , já que M (A) é uma matriz composta apenas de 0’s e 1’s.

3.5 Matrizes Irredutı́veis


Lembre-se que uma matriz de permutação P é uma matriz quadrada cujas entradas são todas 0 ou 1 e,
além disso, em cada linha e em cada coluna de P existe exatamente um 1. Em particular, P é uma matriz
ortogonal, de modo que P −1 = P t , isto é, a inversa de P também é uma matriz de permutação. Um caso
especial de uma matriz de permutação é uma matriz de transposição, que é uma matriz de permutação T
igual à matriz identidade exceto em duas posições, isto é, para algum par de ı́ndices fixado k, l temos

 δij se (i, j) 6= (k, l) , (l, k) , (k, k) ou (l, l) ,
Tij = 1 e (i, j) = (k, l) ou se (i, j) = (l, k) ,
0 se (i, j) = (k, k) ou se (i, j) = (l, l) .

Matrizes de transposição são simétricas. O efeito de multiplicar uma matriz A por uma matriz de transposição
à esquerda é trocar a posição de duas linhas da matriz A (no caso acima, as linhas k e l), enquanto que a
multiplicação de A por uma matriz de transposição à direita muda a posição de duas colunas de A (no caso
acima, as colunas k e l).
    
1 0 0 0 a11 a12 a13 a14 a11 a12 a13 a14
 0 0 1 0   a21 a22 a23 a24   a31 a32 a33 a34 
TA =  0 1 0 0   a31 a32 a33 a34  =  a21 a22 a23 a24  ,
   

0 0 0 1 a41 a42 a43 a44 a41 a42 a43 a44


    
a11 a12 a13 a14 1 0 0 0 a11 a13 a12 a14
 a21 a22 a23 a24   0 0 1 0   a21 a23 a22 a24 
AT =  a31 a32 a33 a34   0 1 0 0  =  a31 a33 a32 a34  .
   

a41 a42 a43 a44 0 0 0 1 a41 a43 a42 a44

Pode-se provar que toda matriz de permutação P é o produto de matrizes de transposição P = T1 . . . Tm ;


em particular, P t = Tm . . . T1 . A matriz

P t AP = Tm . . . T1 AT1 . . . Tm

é portanto obtida através da permutação de linhas e colunas de A, de modo que nenhum novo elemento é
criado ou algum elemento existente de A destruı́do.
3.19 Definição. Dizemos que uma matriz A ∈ Mn (C) é redutı́vel se existe alguma matriz de permutação
P e algum inteiro 1 6 m 6 n − 1 tal que
 
B C
P t AP =
0 D

onde B é uma matriz m × m, D é uma matriz (n − m) × (n − m), C é uma matriz m × (n − m) e 0 é a


matriz nula (n − m) × m. Caso contrário, dizemos que A é irredutı́vel. 
Rodney Josué Biezuner 68

Da definição vemos que se |A| > 0, então A é irredutı́vel, e para que A seja redutı́vel, ela precisa ter pelo
menos n − 1 zeros (caso m = 1). A motivação para este nome é a seguinte. Suponha que queiramos resolver
o sistema Ax = b e que A seja redutı́vel. Então, se escrevermos
 
t B C
A = P AP = ,
0 D

teremos Ax = P AP t x = b ou AP t x = P t b; denotando x = P t x e b = P t b, resolver o sistema Ax = b é então


equivalente a resolver o sistema
Ax = b.
Escrevendo    
y b1
x= , b=
z b2
onde y, b1 ∈ Cm e z, b2 ∈ Cn−m , este sistema é por sua vez equivalente ao sistema

By + Cz = b1
Dz = b2
Se resolvermos primeiro Dz = b2 e utilizarmos o valor de z encontrado na primeira equação resolvendo
By = b1 − Cz, teremos reduzido o problema original a dois problemas menores, mais fáceis de resolver.
3.20 Teorema. Uma matriz A ∈ Mn (C) é irredutı́vel se e somente se
n−1
(I + |A|) >0

ou, equivalentemente, se e somente se


n−1
[I + M (A)] > 0.
n−1
Prova. Para provar o resultado, mostraremos que A é redutı́vel se e somente se (I + |A|) possui pelo
menos uma entrada nula.
Assuma primeiramente que A é redutı́vel, de modo que para alguma matriz de permutação P tenhamos
 
B C
A=P P t =: P AP t .
0 D
Observe que
|A| = P AP t = P A P t ,
já que o efeito de P é apenas trocar linhas e colunas. Além disso, note que
 k 
k B Ck
A =
0 Dk
para alguma matriz Ck . Logo, como
n−1 n−1 n−1 t
(I + |A|) = I + P A Pt =P I+ A P
     
n−1 2 n−1 n−1 n−1
= P I + (n − 1) |A| + |A| + . . . + |A| + |A| Pt
2 n−3
e todos os termos dentro dos colchetes são matrizes que tem um bloco (n − m) × m nulo no canto esquerdo
n−1
inferior, segue que (I + |A|) é redutı́vel, logo possui entradas nulas e não pode ser positiva.
n−1
Reciprocamente, suponha que (I + |A|) possui pelo menos uma entrada nula. Como
n−1  
n−1
X n−1 m
(I + |A|) =I+ |A| ,
m=1
m
Rodney Josué Biezuner 69

n−1
h + |A|)
(I i possui entradas diagonais nulas, logo podemos assumir que para algum par i 6= j temos
não
n−1 m
(I + |A|) = 0, o que implica [|A| ]ij = 0 para todo 1 6 m 6 n − 1. Pelo Teorema 3.15 (e observação
ij
imediatamente posterior à Definição 3.13), não existe um caminho direcionado em Γ (A) de comprimento
finito entre Pi e Pj . Defina os conjuntos de nodos

S1 := {Pk : Pk = Pj ou existe um caminho direcionado em Γ (A) entre Pk e Pj } ,


S2 = [ nodos de Γ (A)] \S1 .

Por definição destes conjuntos, não pode existir nenhum caminho de algum nodo de S2 para algum nodo de
m
S1 , logo [|A| ]lk = 0 se Pl ∈ S2 e Pk ∈ S1 . E ambos os conjuntos são não-vazios, pois Pj ∈ S1 e Pi ∈ S2 .
Renomeando os nodos de modo que
n o
S1 = Pe1 , . . . , Pem ,
n o
S2 = Pem+1 , . . . , Pen ,

segue que existe uma matriz de permutação P tal que


 
t B C
P AP = .
0 D

De fato, P é justamente a matriz de permutação que troca as colunas de tal forma que as variáveis anteriores
correspondentes aos nodos Pe1 , . . . , Pem no sistema Ax = b são as novas m primeiras variáveis do sistema linear
Ax = b; como não existe nenhum caminho direcionado entre nenhum dos nodos Pem+1 , . . . , Pen e qualquer um
dos nodos Pe1 , . . . , Pem , temos aij = 0 para m + 1 6 i 6 n e 1 6 j 6 m pelo Teorema 3.15. 

3.21 Corolário. Uma matriz A ∈ Mn (C) é irredutı́vel se e somente se ela satisfaz a propriedade FC.
n
P
3.22 Proposição. Se A é uma matriz irredutı́vel, diagonalmente dominante tal que |aii | > |aij | para
j=1
j6=i
pelo menos alguma linha i, então A é invertı́vel.
Além disso, se A é hermitiana e todos os elementos da diagonal principal de A são positivos, então todos
os autovalores de A são positivos.

Prova. O resultado segue do Teorema 3.20, do Corolário 3.11 e do Teorema dos Discos de Gershgorin (veja
comentários após o Teorema 3.3). 

3.6 Invertibilidade de Matrizes de Discretização


Os resultados obtidos nas seções anteriores fornecem uma demonstração alternativa de que as matrizes
de discretização do capı́tulo anterior (tanto no caso unidimensional, quanto no caso bidimensional) são
invertı́veis, sem a necessidade de se calcular os seus autovalores.

3.6.1 Esquemas de Diferenças Finitas para o Intervalo e para o Retângulo


É fácil ver que todas as matrizes de discretização obtidas no capı́tulo anterior para o intervalo e para o
retângulo (isto é, os esquemas unidimensionais de três pontos e cinco pontos, e os esquemas bidimensionais
de cinco e nove pontos, compacto ou não-compacto) são matrizes diagonalmente dominantes com dominância
diagonal estrita nas linhas correspondentes a pontos adjacentes à fronteira. Além disso, elas são matrizes
irredutı́veis porque elas satisfazem a propriedade FC. De fato, cada ı́ndice i da matriz corresponde a um
ponto interior Pi da malha e aij 6= 0 sempre que Pi e Pj são pontos vizinhos naqueles esquemas. Então,
Rodney Josué Biezuner 70

dados dois pontos distintos Pi , Pj é fácil encontrar uma seqüência de ı́ndices i1 = i, i2 , i3 , . . . , im−1 , im = j,
com 1 6 m 6 n, tais que todas as entradas matriciais

ai1 i2 , ai2 i3 , . . . , aim−1 im

são não-nulas: no caso unidimensional, basta percorrer a malha diretamente de Pi até Pj (andando a partir
de Pi sempre para a direita ou sempre para a esquerda, conforme o caso, até encontrar Pj ), e no caso
bidimensional basta usar qualquer caminho interior de Pi até Pj (pode-se usar a ordem lexicográfica para
percorrer a malha, ou a ordem lexicográfica inversa, dependendo das posições relativas de Pi e Pj ; no entanto,
estes caminhos são mais longos que o necessário). Em outras palavras, identificando as malhas de pontos
internos com os grafos direcionados da matriz de discretização, de modo que existe um arco direcionado entre
dois pontos da malha se e somente se eles são vizinhos, os esquemas de discretização considerados garantem
que estes grafos são fortemente conexos.
As matrizes obtidas através de diferenças finitas em geral são irredutı́veis, pois elas satisfazem a proprie-
dade FC. É difı́cil imaginar um esquema de diferenças finitas para uma malha sobre um domı́nio conexo em
que não houvesse um caminho direcionado entre pontos vizinhos (isto é, em que tivéssemos aij = 0 para dois
pontos vizinhos Pi e Pj ). Outra maneira de pensar sobre isso é observar que se uma matriz de discretização
fôsse (após permutação de linhas e colunas) da forma
 
B C
,
0 D

isso implicaria que um conjunto de pontos da malha (os correspondentes ao bloco D) teriam diferenças
finitas independentes do conjunto dos pontos restantes da malha (os correspondentes ao bloco D); pior
ainda, estes últimos poderiam ter diferenças finitas dependentes dos primeiros (já que o bloco C poderia
ser não-nulo). Em última análise, seria possı́vel reduzir o problema de resolver o sistema linear associado à
discretização a dois problemas mais simples. É difı́cil imaginar um esquema de diferenças finitas com esta
propriedade, embora talvez possa ocorrer em algum domı́nio com geometria altamente irregular em que a
malha de pontos interiores se dividisse em essencialmente duas malhas independentes. Tal situação deve ser
evitada com cuidado na hora de discretizar tais regiões.

3.6.2 Esquema de Coordenadas Polares


As mesmas observações anteriores valem para a matriz de discretização obtida através do esquema de coorde-
nadas polares do capı́tulo anterior, isto é, ela satisfaz a propriedade FC. Para verificar que ela é diagonalmente
dominante, note que para todas as linhas, exceto a primeira que deve ser tratada separadamente, temos
1 ri+1/2 + ri−1/2 2 1
|aii | = γi = + 2 .
ri ∆r2 ri ∆θ2

Além disso, para todas as linhas, excetuando a primeira e as linhas correspondentes a pontos adjacentes à
fronteira do disco temos
n
X 1 ri−1/2 1 ri+1/2 2 1
|aij | = αi + βi + 2δi = 2
+ 2
+ 2 = |aii | .
j=1
∆r ri ∆r ri ri ∆θ2
j6=i

Nestas linhas existe dominância diagonal, enquanto que nas linhas correspondentes a pontos adjacentes à
fronteira do disco temos
(n−1)×m+1
X
|aij | = αi + 2δi < |aii | ,
j=1
j6=i
Rodney Josué Biezuner 71

isto é, temos dominância diagonal estrita. Finalmente, para a primeira linha também temos dominância
diagonal, pois
4
|a00 | = ,
∆r2
(n−1)×m+1
X 2 ∆θ m ∆θ 4
|a0j | = m =4 = = |a00 | .
j=1
π ∆r2 2π ∆r2 ∆r2
j6=0

3.6.3 Esquema de Shortley-Weller


Se a geometria é razoavelmente regular, o esquema de Shortley-Weller para o problema de Dirichlet deve
satisfazer a propriedade FC : aij 6= 0 sempre que Pi e Pj são pontos internos vizinhos, e se a geometria não é
altamente irregular (por exemplo, se o domı́nio é “razoavelmente” convexo) existe um caminho direcionado de
um ponto interno arbitrário a qualquer outro ponto interno da malha passando apenas por pontos internos do
domı́nio. Caso contrário, a matriz de discretização obtida pode deixar de ser irredutı́vel, mas isso deve ocorrer
apenas devido à quebra da malha de pontos internos em várias submalhas desconexas, e cada submalha por
si só deve ser fortemente conexa. Portanto, a matriz de discretização total deve ser uma matriz em blocos,
cada bloco satisfazendo a propriedade FC, logo a matriz é invertı́vel.
Capı́tulo 4

Equações Diferenciais Parciais


Hiperbólicas e Parabólicas

4.1 Equação da Onda


Neste capı́tulo, examinaremos dentre outras equações, equações hiperbólicas não lineares do tipo

ut + [F (u)]x = 0, (4.1)

cujas soluções apresentam aspectos ondulatórios e a convecção domina a difusão. Pela regra da cadeia,

[F (u)]x = F 0 (u) vx ,

logo esta equação pode ser escrita na forma

ut + F 0 (u) ux = 0, (4.2)

quando F é diferenciável, o que assumiremos de agora em diante. Uma condição inicial em t = 0 é assumida.
A esta classe pertence a equação da onda de primeira ordem (equação do transporte) linear com coeficientes
constantes, para a qual o problema de valor inicial homogêneo

ut + cux = 0 se x ∈ R e t ∈ R,
u(x, 0) = f (x) se x ∈ R,

possui a solução única


u(x, t) = f (x − ct).
Outro membro desta classe é o problema de valor inicial não homogêneo

ut + cux = F (x, t) se x ∈ R e t ∈ R,
u(x, 0) = f (x) se x ∈ R,

que possui a solução única Z t


u(x, t) = f (x − tc) + F (x + (s − t)c, s) ds.
0

Para equações do tipo (4.1) e mesmo (4.2), em geral temos resultados de existência local e a unicidade não é
garantida sem hipóteses adicionais. Em muitas situações temos a presença de ondas de choque, o que torna
bastante complexa até mesmo a definição do que se quer dizer por soluções da equação.

72
Rodney Josué Biezuner 73

Outro exemplo de (4.2) é a equação cinemática da onda, que descreve fenômenos não lineares em dinâmica
dos fluidos em que os efeitos dissipativos tais como viscosidade e difusão são ignorados. Ela é dada por

ut + c(u)ux = 0,

onde u representa densidade e c é uma função de classe C 1 dada. O termo c(u) significa que a velocidade
do fluido em um ponto depende exclusivamente de sua densidade naquele ponto.
Um caso especial importante é a equação de Burgers (invı́scida) que aparece no estudo da dinâmica dos
gases, dada por
ut + uux = 0,
quando, mais uma vez, ignora-se os efeitos dissipativos (note que F (u) = u2 /2). Neste caso, a velocidade do
fluido em cada ponto é diretamente proporcional à densidade do fluido no ponto.
Quando se leva em conta efeitos dissipativos, obtemos a equação de Burgers viscosa

ut + uux = εuxx ,

onde assume-se ε > 0 pequeno. A existência do pequeno elemento difusivo (dissipativo) permite a dissipação
de eventuais choques.
Referências para os métodos numéricos que trataremos neste capı́tulo são [Strikwerda], [Thomas1] e
[Thomas2].

4.2 Esquemas de Diferenças Finitas para a Equação da Onda


Consideremos a equação da onda
vt + cvx = 0.
Nesta equação temos duas derivadas primeiras, uma no tempo e outra no espaço. Conforme as diferenças
finitas que usamos para aproximar estas derivadas primeiras, obtemos esquemas de diferenças finitas dife-
rentes. De agora em diante, geralmente usaremos a letra v para denotar a solução exata e u para denotar
a solução aproximada obtida através de um esquema de diferenças finitas. Além disso, discretizando o
semiplano superior
R2+ = {(x, t) : x ∈ R, t > 0}
pelos pontos

xk = k∆x,
tn = n∆t,

com k ∈ Z e n ∈ N ∪ {0}, denotaremos a solução exata no ponto (xk , tn ) por

vkn = v (xk , tn )

e a solução aproximada por


unk .

Esquema FTFS. No esquema FTFS (forward time, forward space), usamos diferenças progressivas para
aproximar ambas as derivadas primeiras:
un+1 − unk un − unk
k
+ c k+1 = 0,
∆t ∆x
ou seja,
∆t n
ukn+1 = unk − c uk+1 − unk .

(4.3)
∆x

Rodney Josué Biezuner 74

Esquema FTBS. No esquema FTBS (forward time, backward space), usamos uma diferença progressiva
para aproximar a derivada primeira em relação ao tempo e uma diferença regressiva para aproximar a
derivada primeira em relação ao espaço:

un+1 − unk un − unk−1


k
+c k = 0,
∆t ∆x
ou seja,
∆t n
un+1 = unk − c u − unk−1 .

(4.4)
k
∆x k

Esquema FTCS. No esquema FTCS (forward time, central space), usamos uma diferença progressiva
para aproximar a derivada primeira em relação ao tempo e uma diferença centrada para aproximar a
derivada primeira em relação ao espaço:

un+1 − unk un − unk−1


k
+ c k+1 = 0,
∆t 2∆x
ou seja,
c∆t n
un+1 = unk − uk+1 − unk−1 .

k (4.5)
2∆x

Esquema Pulo do Sapo No esquema pulo do sapo (leapfrog, em inglês), usamos diferenças centradas para
aproximar ambas as derivadas primeiras:

un+1 − un−1 un − unk−1


k k
+ c k+1 = 0,
2∆t 2∆x
ou seja,
∆t n
un+1 = un−1 uk+1 − unk−1 .

k k −c (4.6)
∆x

Esquema Lax-Friedrichs O esquema Lax-Friedrichs é definido por
1 n
un+1

− u + unk−1 un − unk−1
k
2 k+1 + c k+1 = 0,
∆t 2∆x
ou seja,
1 n  c∆t n
un+1 + unk−1 − − unk−1 .

= u u (4.7)
k
2 k+1 2∆x k+1


Todos os esquemas acima, com exceção do esquema Pulo do Sapo, são esquemas de passo único, isto é,
envolvem v apenas em dois nı́veis, n e n + 1. Dado o valor inicial u0k , que vem diretamente da condição
inicial do problema, todos os valores unk podem ser obtidos para todos os valores de n. O esquema Pulo do
Sapo é um esquema multipasso, pois envolve três nı́veis diferentes, n − 1, n e n + 1. Neste caso, o valor de
u1k também deve ser especificado ou calculado através de um esquema de passo único e então os valores unk
para n > 2 podem ser obtidos através do esquema. Algumas das propriedades do esquema Pulo do Sapo são
independentes da forma escolhida para inicializá-lo, outras não.
Definir esquemas de diferenças finitas é fácil. Já a sua análise, para determinar se eles são úteis para
obter aproximações numéricas da solução exata da equação requer ferramentas matemáticas sofisticadas,
Rodney Josué Biezuner 75

como veremos. Veja os Exemplos 1.3.1 e 1.3.2 em [Strikwerda], pp. 18–20, onde vemos entre outras coisas
que a convergência de um esquema de diferenças finitas depende crucialmente do valor de
∆t
λ= .
∆x
Dependendo do valor de λ um dado método pode ser convergente ou não, quando se faz ∆x, ∆t → 0.

4.3 Convergência de Problemas de Valor Inicial


Dada uma equação diferencial parcial
Lv = F, (4.8)
onde L é um operador diferencial parcial e F é uma função, denotaremos um esquema de diferenças finitas
para esta equação por
Lnk unk = Fkn . (4.9)

4.3.1 Espaços de Sequências e suas Normas


Denotaremos uma sequência real por u : Z −→ R; em coordenadas,

u = (uk ) = (. . . , u−1 , u0 , u1 , . . .) .

Uma solução un para o esquema de diferenças finitas no instante de tempo discretizado n∆t é então denotada
por
un = . . . , un−1 , un0 , un1 , . . . .


e, similarmente,
Fn = . . . , F−1
n
, F0n , F1n , . . . .


Denotaremos um subespaço qualquer não especificado do espaço de sequências reais por `. Nestas notas,
consideraremos o espaço das sequências limitadas
 
`∞ = u : Z −→ R : sup |uk | < ∞ ,
Z

com norma
kuk∞ = sup |uk | .
Z

Também consideraremos o espaço das sequências quadrado-somáveis



( )
X 2
`2 = u : Z −→ R : |uk | < ∞ .
k=−∞

Consideraremos as seguintes normas em `2 :


v
u ∞
u X
2
kuk2 = t |uk |
k=−∞

e v
u ∞
u X
2
kuk2,∆x = t |uk | ∆x.
k=−∞
Rodney Josué Biezuner 76

A necessidade de se considerar esta última norma é devida ao fato de que a norma `2 diverge para ∞ quando
∆x → 0 no seguinte sentido. Seja v ∈ L2 (R) uma função contı́nua e dado ∆x > 0 defina vk = v (k∆x);
denote a sequência resultante por
v∆x = (vk ) ;
em outras palavras, v∆x é a discretização da função v associada à malha uniforme sobre R com comprimento
∆x. É possı́vel provar que v∆x ∈ `2 , qualquer que seja o valor de ∆x. Como o vetor v∆x/2 é duas vezes mais
longo que o vetor v∆x (em um certo sentido, porque tem o dobro de pontos em qualquer intervalo finito;
não se esqueça que ambos são infinitamente longos), temos que

v∆x/2 2 ≈ 2 kv∆x k2 .
Iterando esta igualdade, temos que
v∆x/2p 2
≈ 2p/2 kv∆x k2 ,
o que implica que
kv∆x k2 → ∞ quando ∆x → 0.
Por outro lado, é fácil ver que
kvk2,∆x → kvkL2 (R) quando ∆x → 0.
Considere o problema de valor inicial

Lv = F se x ∈ R e t > 0,
v (x, 0) = f (x) se x ∈ R,
e sua correspondente aproximação através de um esquema de diferenças finitas
 n n
Lk uk = Fkn k ∈ Z, n ∈ N,
u0k = fk k ∈ Z.
Várias noções de convergência da solução aproximada para a solução exata à medida que a norma da partição
da malha tende a 0 são possı́veis. Podemos considerar uma noção de convergência puntual ou uma noção de
convergência global. Esta última dependerá da norma adotada no espaço de sequências.

4.3.2 Convergência Puntual e Uniforme


4.1 Definição (Convergência Puntual). Dizemos que um esquema de diferenças finitas Lnk unk = Fkn para
a equação diferencial parcial Lv = F é um esquema puntualmente convergente se para todo (x, t) ∈
R × (0, +∞) temos
unk → v (x, t)
quando ∆x, ∆t → 0 e (k∆x, (n + 1) ∆t) → (x, t). 
A convergência uniforme ou na norma do sup é definida da maneira natural:
4.2 Definição (Convergência Uniforme). Dizemos que um esquema de diferenças finitas Lnk unk = Fkn para a
equação diferencial parcial Lv = F é um esquema espacialmente uniformemente convergente em t se
kun − vn k∞ → 0
quando ∆x, ∆t → 0 e n∆t → t.
Mais precisamente, dizemos que ele é um esquema espacialmente uniformemente convergente de ordem
(p, q) em t se
kun − vn k∞ = O (∆xp ) + O (∆tq )
quando ∆x, ∆t → 0 e (n + 1) ∆t → t. Se as constantes presentes em O (∆xp ) e O (∆tq ) não dependerem do
instante de tempo t considerado, dizemos simplesmente que o esquema é uniformemente convergente de
ordem (p, q).
Rodney Josué Biezuner 77

Para provar os resultados de convergência a seguir, precisaremos do seguinte resultado teórico:


4.3 Lema. Seja f ∈ C 1 (R). Então a solução para o problema de valor inicial

vt + cvx = 0 se x ∈ R e t > 0,
v (x, 0) = f (x) se x ∈ R,


v (x, t) = f (x − ct) .
2 00 ∞
Consequentemente, se f ∈ C (R) e f ∈ L (R), então

|vtt (x, t)| 6 c2 kf 00 kL∞ (R) ,


|vxx (x, t)| 6 kf 00 kL∞ (R) ,

para todos (x, t) ∈ R × [0, +∞).

4.3.3 Convergência Uniforme do Esquema de Lax-Friedrichs


Consideremos o problema de valor inicial homogêneo

Lv = 0 se x ∈ R e t > 0,
v (x, 0) = f (x) se x ∈ R.

Vamos provar a convergência do esquema de diferenças finitas de Lax-Friedrichs


 n n
Lk uk = 0 k ∈ Z, n ∈ N,
u0k = f (k∆x) k ∈ Z.

onde  
1 n ∆t n
Lnk unk = un+1 uk+1 + unk−1 − c uk+1 − unk−1

k −
2 ∆x
sujeito à restrição
∆t
c 6 1.
∆x
4.4 Teorema. Suponha que
∆t
ε0 6 c 61
∆x
para algum ε0 > 0. Se f ∈ C 2 (R) e f 00 ∈ L∞ (R), então o esquema de Lax-Friedrichs converge uniforme-
mente com ordem (1, 1).
Prova. Denotando
∆t
r=c ,
∆x
o esquema de Lax-Friedrichs pode ser escrito na forma
 
1 n ∆t n 1 n  r n
un+1 n n
uk+1 + unk−1 − uk+1 − unk−1
 
k = uk+1 + uk−1 − c u k+1 − u k−1 =
2 ∆x 2 2
ou
1−r n 1+r n
un+1
k = uk+1 + uk−1 . (4.10)
2 2
Denotemos
zkn = unk − vkn . (4.11)
Rodney Josué Biezuner 78

A solução exata v é de classe C 1 em R × (0, +∞), como vimos no lema anterior. Podemos então usar a
fórmula de Taylor com resto dado pelo teorema do valor médio para escrever
n 1
vkn+1 = vkn + (vt )k ∆t + vtt (k∆x, t1 ) ∆t2 , (4.12)
2
para algum n∆t 6 t1 6 (n + 1) ∆t, e
n n 1
vk+1 = vkn + (vx )k ∆x + vxx (x1 , n∆t) ∆x2 ,
2
n 1
vk−1 = vk − (vx )k ∆x + vxx (x2 , n∆t) ∆x2 ,
n n
2
para alguns k∆x 6 x1 6 (k + 1) ∆x, (k − 1) ∆x 6 x2 6 k∆x, donde
n n 1
vk+1 + vk−1 = 2vkn + (vxx (x1 , n∆t) + vxx (x2 , n∆t)) ∆x2 , (4.13)
2
n n n 1
vk+1 − vk−1 = 2 (vx )k ∆x + (vxx (x1 , n∆t) − vxx (x2 , n∆t)) ∆x2 , (4.14)
2
Segue de (4.12) e (4.13) que
1 n n 1 1
vkn+1 = n
+ (vt )k ∆t + vtt (k∆x, t1 ) ∆t2 − (vxx (x1 , n∆t) + vxx (x2 , n∆t)) ∆x2 .

vk+1 + vk−1
2 2 4
Daı́, o fato de que v é a solução exata para a equação da advecção e (4.14) implicam que
1 n n 1 1
vkn+1 = n
− c (vx )k ∆t + vtt (k∆x, t1 ) ∆t2 − (vxx (x1 , n∆t) + vxx (x2 , n∆t)) ∆x2

vk+1 + vk−1
2  2 4 
1 n n c 1
vk+1 − vk−1 − (vxx (x1 , n∆t) − vxx (x2 , n∆t)) ∆x2 ∆t
n n

= vk+1 + vk−1 −
2 2∆x 2
1 1
+ vtt (k∆x, t1 ) ∆t2 − (vxx (x1 , n∆t) + vxx (x2 , n∆t)) ∆x2
2 4
1 n n
 c∆t n n
 c
= vk+1 + vk−1 − vk+1 − vk−1 − (vxx (x1 , n∆t) − vxx (x2 , n∆t)) ∆x∆t
2 2∆x 4
1 1
+ vtt (k∆x, t1 ) ∆t − (vxx (x1 , n∆t) + vxx (x2 , n∆t)) ∆x2 ,
2
2 4
ou seja,
1 n  r n  c
vkn+1 = v n
+ vk−1 − v n
− vk−1 − (vxx (x1 , n∆t) − vxx (x2 , n∆t)) ∆x∆t
2 k+1 2 k+1 4
1 1
+ vtt (k∆x, t1 ) ∆t2 − (vxx (x1 , n∆t) + vxx (x2 , n∆t)) ∆x2 .
2 4
Usando o lema anterior, podemos escrever de forma mais compacta
1−r n 1+r n
vkn+1 = vk−1 + O ∆t2 + O (∆t∆x) + O ∆x2 ,
 
vk+1 + (4.15)
2 2
onde as constantes nos termos de ordem O independem de k e n se f 00 ∈ L∞ (R). Segue que
1−r n 1+r n
zkn+1 = zk−1 + O ∆t2 + O (∆t∆x) + O ∆x2 .
 
zk+1 + (4.16)
2 2
Como |r| 6 1 por hipótese, segue que 1 ± r > 0 e podemos escrever
1−r n 1+r n
zkn+1 6 zk−1 + O ∆t2 + O (∆t∆x) + O ∆x2
 
zk+1 +
2 2
1−r n 1+r n
kz k∞ + O ∆t2 + O (∆t∆x) + O ∆x2
 
6 kz k∞ +
2 2
6 kzn k∞ + C ∆t2 + ∆t∆x + ∆x2 ,

Rodney Josué Biezuner 79

onde C é uma constante independente de k, n se f 00 ∈ L∞ (R). Logo,


zn+1 6 kzn k∞ + C ∆t2 + ∆t∆x + ∆x2 .


(4.17)
Iterando esta desigualdade, obtemos
zn+1 6 zn−1 + 2C ∆t2 + ∆t∆x + ∆x2

∞ ∞
6 zn−2 + 3C ∆t2 + ∆t∆x + ∆x2


..
.
6 z0 + (n + 1) C ∆t2 + ∆t∆x + ∆x2


= (n + 1) C ∆t2 + ∆t∆x + ∆x2 ,


pois
zk0 = u0k − vk0 = f (k∆x) − v (k∆x, 0) = 0.
Portanto, para todos k, n, temos
∆x2
 
un+1
k − v (k∆x, (n + 1) ∆t) 6 (n + 1) ∆tC ∆t + ∆x +
∆t
 c 
= (n + 1) ∆tC ∆t + ∆x + ∆x .
r
→0
quando ∆t, ∆x → 0 e (n + 1) ∆t → t, porque
c 1
6 .
r ε0

Provar diretamente que um esquema de diferenças finitas é convergente é difı́cil em geral. Duas pro-
priedades que são mais fáceis de verificar, a consistência e a estabilidade de esquemas numéricos, podem
ser usadas para provar indiretamente que um determinado esquema é convergente. A seguir definiremos e
estudaremos estas duas propriedades.

4.4 Consistência de Problemas de Valor Inicial


4.4.1 Definição
Considere o problema de valor inicial

Lv = F se x ∈ R e t > 0,
v (x, 0) = f (x) se x ∈ R,
e uma aproximação correspondente através de um esquema de diferenças finitas
 n n
Lk uk = Fkn k ∈ Z, n ∈ N,
u0k = f (xk ) k ∈ Z.
Denotaremos o operador diferencial parcial P atuando em um espaço de funções por
P v = Lv − F
e o correspondente operador de diferenças finitas por
Pkn v = Lnk v − Fkn .
Primeiro definimos uma noção de consistência pontual para esquemas de diferenças finitas:
Rodney Josué Biezuner 80

4.5 Definição. Dizemos que o esquema de diferenças finitas Lnk unk = Fkn é pontualmente consistente
com a equação diferencial parcial Lv = F se para todo (x, t) ∈ R × (0, +∞) e para toda função ϕ ∈
C ∞ (R × (0, +∞)) temos
(P ϕ) (xk , tn ) − (Pkn ϕ) (xk , tn ) → 0
quando ∆x, ∆t → 0 e (k∆x, (n + 1) ∆t) → (x, t).
Ele é uniformemente consistente se

kP ϕ − Pkn ϕk∞ → 0

quando ∆x, ∆t → 0, independentemente de t. 

4.4.2 Consistência Puntual do Esquema FTFS


4.6 Teorema. O esquema FTFS para o problema de valor inicial

vt + cvx = 0 se x ∈ R e t > 0,
v (x, 0) = f (x) se x ∈ R,

é puntualmente consistente.
Prova. O operador diferencial parcial é
P ϕ = ϕt + cϕx
enquanto que o operador de diferenças para o esquema FTFS é o operador

ϕn+1 − ϕnk ϕn − ϕnk


(Pkn ϕ) (xk , tn ) = k
+ c k+1 .
∆t ∆x
Pela série de Taylor, temos

n 1 n
ϕn+1 = ϕnk + (ϕt )k ∆t + (ϕtt )k ∆t2 + O ∆t3 ,

k
2
n 1 n
ϕnk+1 n
= ϕk + (ϕx )k ∆x + (ϕxx )k ∆x2 + O ∆x3 .

2
Logo,

n 1 n n c n
(Pkn ϕ) (xk , tn ) = (ϕt )k + (ϕtt )k ∆t + O ∆t2 + c (ϕx )k + (ϕxx )k ∆x + O ∆x2
 
2 2
n n 1 n c n
= (ϕt )k + c (ϕx )k + (ϕtt )k ∆t + (ϕxx )k ∆x + O ∆t2 + O ∆x2 .
 
2 2
Daı́,
1 n c n
(P ϕ) (xk , tn ) − (Pkn ϕ) (xk , tn ) = (ϕtt )k ∆t + (ϕxx )k ∆x + O ∆t2 + O ∆x2 .
 
2 2
Portanto,
|(P ϕ) (xk , tn ) − (Pkn ϕ) (xk , tn )| = O (∆t) + O (∆x) .

Rodney Josué Biezuner 81

4.4.3 Consistência Puntual do Esquema de Lax-Friedrichs


4.7 Teorema. O esquema de Lax-Friedrichs para o problema de valor inicial

vt + cvx = 0 se x ∈ R e t > 0,
v (x, 0) = f (x) se x ∈ R,

é puntualmente consistente se também valer a condição


∆x2
−→ 0.
∆t
Prova. O operador diferencial parcial é
P ϕ = ϕt + cϕx
enquanto que o operador de diferenças para o esquema de Lax-Friedrichs é o operador
1 n
ϕn+1

k − ϕk+1 + ϕnk−1 ϕn − ϕnk−1
(Pkn ϕ) (xk , tn ) = 2 + c k+1 .
∆t 2∆x
Pela série de Taylor, temos
n 1 n
ϕn+1 = ϕnk + (ϕt )k ∆t + (ϕtt )k ∆t2 + O ∆t3 ,

k
2
n 1 n 1 n
ϕnk+1 = ϕnk + (ϕx )k ∆x + (ϕxx )k ∆x2 + (ϕxxx )k ∆x3 + O ∆x4 ,

2 6
n 1 n 1 n
ϕnk−1 = ϕnk − (ϕx )k ∆x + (ϕxx )k ∆x2 − (ϕxxx )k ∆x3 + O ∆x4 ,

2 6
de modo que
ϕnk+1 + ϕnk−1 1 n
= ϕnk + (ϕxx )k ∆x2 + O ∆x4 ,

2 2
ϕnk+1 − ϕnk−1 n 1 n
= (ϕx )k + (ϕxxx )k ∆x2 + O ∆x3 .

2∆x 6
Logo,
2
∆x4
 
n 1 n  1 n ∆x
(Pkn ϕ) (xk , tn ) = (ϕt )k + (ϕtt )k ∆t + O ∆t2 − (ϕxx )k +O
2 2 ∆t ∆t
n c n
+ c (ϕx )k + (ϕxxx )k ∆x2 + O ∆x3

6
∆x2
 
n n
= (ϕt )k + c (ϕx )k + O (∆t) + O ∆x2 + O

.
∆t
Portanto,
∆x4
 
(Pkn ϕ) (xk , tn )| 2

|(P ϕ) (xk , tn ) − = O (∆t) + O ∆x +O .
∆t


4.4.4 Consistência e Convergência


Consistência é uma condição necessária para convergência, mas um esquema consistente não é necessa-
riamente convergente. Por outro lado, a maioria dos esquemas de diferenças finitas usados são de fato
consistentes. A maior dificuldade é obter a estabilidade, apesar de isso ainda ser mais fácil de provar que a
convergência.
Rodney Josué Biezuner 82

4.5 Estabilidade
Estabilidade em geral quer dizer que pequenas diferenças nas condições iniciais causam pequenos erros na
solução aproximada, um conceito análogo ao de problemas bem postos em EDPs.
4.8 Definição. Um esquema de diferenças finitas é estável se para qualquer T > 0 existe uma constante
C = C (T ) > 0 tais que
kun k 6 C u0
para todos 0 6 n∆t 6 T . 

4.9 Proposição. Esquemas de diferenças finitas das formas

un+1
k = αunk + βunk+1

e
un+1
k = αunk+1 + βunk−1
onde α, β ∈ R são constantes tais que
|α| + |β| 6 1
é estável.
Prova. Temos
∞ ∞
2 X 2 X 2
un+1 = un+1
k = αunk + βunk+1
k=−∞ k=−∞
∞  
X 2 2 2 2
6 |α| |unk | + 2 |α| |β| |unk | unk+1 + |β| unk+1
k=−∞
∞ h   i
X 2 2 2 2 2 2
6 |α| |unk | + |α| |β| |unk | + unk+1 + |β| unk+1 ,
k=−∞

usando a desigualdade elementar 2ab 6 a2 + b2 . Segue que


∞ h i ∞ h i
2 X 2 2 2
X 2 2 2
un+1 6 |α| |unk | + |α| |β| |unk | + |α| |β| unk+1 + |β| unk+1
k=−∞ k=−∞
X∞ h i X∞ h i
2 2 2 2 2 2
= |α| |unk | + |α| |β| |unk | + |α| |β| |unk | + |β| |unk |
k=−∞ k=−∞
X∞  
2 2 2
= |α| + 2 |α| |β| + |β| |unk |
k=−∞

X
2 2
= (|α| + |β|) |unk |
k=−∞
2 n 2
= (|α| + |β|) ku k .

Portanto,
un+1 6 (|α| + |β|) kun k .
Iterando esta desigualdade, obtemos
n
un+1 6 (|α| + |β|) u0 .
Rodney Josué Biezuner 83

Como |α| + |β| 6 1, segue que


un+1 6 u0
e neste caso a constante de estabilidade independende do tempo T considerado (estabilidade uniforme). 
Note que se
|α| + |β| < 1
então na verdade o erro da condição inicial tenderá a zero à medida que iteramos mais a solução aproximada
(o esquema de diferenças finitas corrige o erro inicial).
4.10 Corolário. O esquema FTFS é estável se

c<0

e
∆t
c > −1.
∆x
Prova. Denotando
∆t
λ=c
∆x
o esquema FTFS é dado por
un+1
k = (1 + λ) unk − λunk+1 .
A condição
|1 + λ| + |λ| 6 1
é equivalente a
−1 6 λ 6 0.


4.11 Corolário. O esquema de Lax-Friedrichs é estável se

∆t
c 6 1.
∆x

Prova. Denotando
∆t
λ=c ,
∆x
o esquema de Lax-Friedrichs é dado por
1 n  λ n
un+1 uk+1 + unk−1 − uk+1 − unk−1

k =
2
  2 
1−λ n 1+λ
= uk+1 + unk−1 .
2 2

A condição
1−λ 1+λ
+ 61
2 2
é equivalente a
|λ| 6 1.

Rodney Josué Biezuner 84

4.6 Condição CFL


Em muitos esquemas de diferenças finitas a condição
∆t
c 61
∆x
considerada como condição suficiente nos Corolários 4.10 e 4.11 é uma condição necessária para a estabilidade.
4.12 Teorema (Condição de Courant-Friedrichs-Lewy). Uma condição necessária para que o esquema de
diferenças finitas
un+1
k = αunk−1 + βunk + γunk+1
para o problema hiperbólico 
ut + cux = 0 se x ∈ R e t ∈ R,
u(x, 0) = f (x) se x ∈ R,
seja convergente é a condição CFL
∆t
c 6 1.
∆x
Prova. Uma das propriedades especı́ficas das equações hiperbólicas é que, por causa da velocidade finita
de propagação de informação (ondas), a solução tem um domı́nio de dependência finito. No nosso caso
especı́fico, como a solução é
u(x, t) = f (x − ct),
o valor de u (x, t) no ponto x depende apenas do valor de f no ponto inicial x0 = x − ct. Da mesma forma,
podemos considerar domı́nios de dependência numéricos para esquemas de diferenças finitas explı́citos, onde
o valor da solução aproximada em um dado ponto em um momento de tempo discreto depende do valor da
solução aproximada em certos pontos em momentos de tempo discreto anteriores. No caso de um método
numérico da forma
un+1
k = αunk + βunk−1 ,
o domı́nio de dependência é um triângulo retângulo de pontos com um cateto vertical, um cateto no eixo x
e a hipotenusa inclinada positivamente; um método numérico da forma

un+1
k = αunk + βunk+1

tem como domı́nio de dependência um triângulo retângulo de pontos com um cateto vertical, um cateto no
eixo x e a hipotenusa inclinada negativamente. O domı́nio de dependência de um método da forma

un+1
k = αunk−1 + βunk + γunk+1

é a união destes dois triângulos. Ultimamente, é a base destes triângulos que dá o domı́nio de dependência
global, já que todos os segmentos horizontais dos triângulos dependem no final das contas apenas deste último
onde está definida a condição inicial. No primeiro caso, o domı́nio de dependência do ponto (xk , tn+1 ) será
o intervalo
[xk−n−1 , xk ] ,
no segundo caso, o intervalo
[xk , xk+n+1 ]
e no último caso a união destes intervalos, isto é, o intervalo

[xk−n−1 , xk+n+1 ] .

Mais geralmente, dizemos que uma equação diferencial parcial e um esquema de diferenças finitas asso-
ciado satisfaz a condição de Courant-Friedrichs-Lewy quando o domı́nio de dependência analı́tico (isto é, da
Rodney Josué Biezuner 85

solução exata) está contido no domı́nio de dependência numérico. Claramente, uma condição necessária para
que em esquema convirja é que a condição CFL seja satisfeita; caso contrário, como a solução exata em um
ponto P depende do valor inicial em um ponto P0 , se este ponto P0 estiver fora do domı́nio de dependência
numérico, o esquema númérico vai ignorá-lo e não pode produzir uma solução próxima à solução exata em
P , principalmente levando-se em conta que quando ∆x → 0 o domı́nio de dependência numérica ficará cada
vez mais distante do ponto P0 .
No nosso caso, considerando o ponto (xk , tn+1 ), esta condição CFL geral se traduz em que o ponto

x0 = xk − ctn+1
= k∆x − c (n + 1) ∆t
= [k − λ (n + 1)] ∆x,

onde definimos
∆t
λ=c ,
∆x
esteja dentro do intervalo

[xk−n−1 , xk+n+1 ] = [(k − n − 1) ∆x, (k + n + 1) ∆x] ,

ou seja,
(k − n − 1) ∆x 6 [k − λ (n + 1)] ∆x 6 (k + n + 1) ∆x.
Daı́, segue que
k − n − 1 6 k − λ (n + 1) 6 k + n + 1,
donde
−n − 1 6 −λ (n + 1) 6 n + 1,
o que implica
−1 6 −λ 6 1,
isto é,
|λ| 6 1.

Uma consequência particular do resultado acima é que qualquer esquema de diferenças finitas explı́cito
para a equação da onda, e para equações hiperbólicas em geral, terá que satisfazer uma condição da forma
∆t
C1 6 6 C2
∆x
e, portanto, não temos a liberdade de escolher ∆t e ∆x independentemente.

4.7 Teorema da Equivalência de Lax-Richtmyer


Para um esquema consistente, convergência é equivalente à estabilidade:
4.13 Teorema (Teorema de Equivalência de Lax-Richtmyer). Um esquema de diferenças finitas consistente
para um problema de valor inicial bem-posto é convergente se e somente se ele é estável.
Prova: Para uma demonstração, veja [Strikwerda], Seção 10.5. 
Rodney Josué Biezuner 86

4.8 Equação do Calor


Considere o seguinte problema da condução do calor em uma barra uniforme homogênea de comprimento L,
isolada termicamente exceto pelas extremidades, que estão mantidas à mesma temperatura zero, com uma
distribuição inicial de temperaturas f :

 ut = c2 uxx (x, t) ∈ [0, L] × [0, T ],
u(0, t) = u(L, t) = 0 t ∈ [0, T ], (4.18)
u(x, 0) = f (x) x ∈ [0, L].

Utilizando uma malha uniforme, dividimos o intervalo [0, L] em n subintervalos de mesmo comprimento
∆x = L/n escolhendo os pontos x0 = 0, x1 = ∆x, x2 = 2∆x, ..., xn−1 = (n − 1)∆x, xn = L; similarmente,
dividimos o intervalo [0, T ] em m subintervalos de mesmo comprimento ∆t = T /m escolhendo os pontos
t0 = 0, t1 = ∆t, t2 = 2∆t, ..., tm−1 = (m − 1)∆t, tm = T . Assim,

uji = u(i∆x, j∆t) = u(xi , tj ).

Em seguida, substituı́mos a equação diferencial parcial parabólica por uma equação parcial de diferenças
finitas. Por exemplo, escolhendo o esquema FTCS, isto é, uma diferença finita progressiva para ut e uma
diferença centrada para uxx , uma aproximação uji para a solução exata u do problema satisfaz a equação de
diferenças parciais
uj+1 − uji uj − 2uji + uji−1
i
= c2 i+1 (4.19)
∆t ∆x2
com condição inicial
u0i = f (i∆x) = f (xi ) = fi para i = 0, . . . , n,
e condição de fronteira
uj0 = ujn = 0 para j = 0, . . . , m.
A equação (4.19) pode ser resolvida em termos de uj+1
i :

∆t  j 
uj+1
i = uji + c2 ui+1 − 2uj
i + uj
i−1 . (4.20)
∆x2
Denotando
∆t
s = c2 , (4.21)
∆x2
ela também pode ser escrita na forma
 
uj+1
i = (1 − 2s)uj
i + s uj
i+1 + uj
i−1 . (4.22)

Este esquema é um esquema explı́cito, pois podemos obter o valor de u no instante de tempo j + 1 explici-
tamente em função do valor de u no instante de tempo j.
Na verdade, não é preciso considerar condições de fronteira homogêneas. Se as extremidades têm tem-
peraturas controladas por funções dadas, o método de diferenças finitas funciona do mesmo jeito. De fato,
considere o problema geral  2
 ut = c uxx
 (x, t) ∈ [0, L] × [0, T ],
u(0, t) = a(t) t ∈ [0, T ],

(4.23)

 u(L, t) = b(t) t ∈ [0, T ],
u(x, 0) = f (x) x ∈ [0, L].

Então,
uj0 = a(j∆t) = a(tj ) = aj para j = 0, . . . , m,
(4.24)
ujn = b(j∆t) = b(tj ) = bj para j = 0, . . . , m.
Rodney Josué Biezuner 87

4.8.1 Consistência
Temos
j j j
uj+1 − uji u − 2ui + ui−1
ut (i∆x, j∆t) − c2 uxx (i∆x, j∆t) = i
− c2 i+1 + O(∆t) + O(∆x2 ),
∆t ∆x2
o que significa que a equação em diferenças finitas (4.19) aproxima a equação diferencial do calor na primeira
ordem em t e na segunda ordem em x. Isso não diz nada sobre quão bem a solução da equação em diferenças
finitas aproxima a solução da equação diferencial parcial.
É possı́vel obter um esquema de diferenças finitas para a equação do calor que é de segunda ordem
também em t. Basta usar uma diferença centrada também para ut :
j j j
ui,j+1 − ui,j−1 u − 2ui + ui−1
= c2 i+1
2k ∆x2
de modo que
∆t  j 
uj+1
i = uj−1
i + 2c2 u i+1 − 2uj
i + u j
i−1 .
∆x2
Este esquema é chamado o esquema leapfrog. No entanto, ele é um esquema de três nı́veis no tempo. Para
iniciá-lo, pode-se usar no primeiro passo o esquema de primeira ordem obtido anteriormente, e os valores de
primeira ordem do primeiro passo não contaminarão a solução, de modo que a aproximação ainda será de
segunda ordem, como veremos mais tarde.
Usaremos a seguinte notação:

δ+ uk = uk+1 − uk diferença progressiva


δ− uk = uk − uk−1 diferença regressiva
δ0 uk = uk+1 − uk−1 diferença centrada

δ 2 uk = uk+1 − 2uk + uk−1 diferença centrada de segunda ordem

4.8.2 Escolhas Especiais de ∆x e ∆t


Expandindo os termos em (1.4) com mais cuidado, vemos que uma escolha especial de ∆x e ∆t transforma
este esquema de primeira ordem no tempo e segunda ordem no espaço, em um esquema de segunda ordem
no tempo e segunda ordem no espaço. De fato,
j j j
!
2
j uj+1
i − uji 2 ui+1 − 2ui + ui−1
ut − c uxx i − −c
∆t ∆x2
∆t2 2∆x2 2∆x4
 
∆t j j j j
=− (utt )i − (uttt )i − ... + c2 (uxxxx )i + (uxxxxxx )i + ... ,
2 3! 4! 6!
e como
utt = c2 uxxt = c2 (ut )xx = c4 uxxxx ,
Rodney Josué Biezuner 88

segue que
j j j
!
j+1 j
j u − u u − 2u + u
ut − c2 uxx i − i i
− c2 i+1 i i−1
∆t ∆x2
∆t2 2
2∆x4
 
∆t 4 j j 2 2∆x j j
= − c (uxxxx )i − (uttt )i − ... + c (uxxxx )i + (uxxxxxx )i + ...
2 3! 4! 6!
2
∆t2 4
   
2 2∆x ∆t 4 j j 2 2∆x j
= c − c (uxxxx )i − (uttt )i − ... + c (uxxxxxx )i + ...
4! 2 3! 6!
∆x2
 
∆t 4 j
= c2 − c (uxxxx )i + O(∆t2 ) + O(∆x4 ),
4! 2
de modo que se escolhermos
∆x2
∆t = ,
6c2
obteremos !
j j j
j uj+1 − uji u − 2ui + ui−1
2
ut − c uxx − i
− c2 i+1 = O(∆t2 ) + O(∆x4 ).
i ∆t ∆x2

4.8.3 Condições de Fronteira de Neumann


Considere agora que uma das extremidades está mantidas à temperatura fixa 0 e a outra está isolada
termicamente: 

 ut = c2 uxx (x, t) ∈ [0, L] × [0, T ],
ux (0, t) = 0 t ∈ [0, T ],


 u(L, t) = 0 t ∈ [0, T ],
u(x, 0) = f (x) x ∈ [0, L].

Como antes, temos a equação em diferenças finitas


∆t  j 
uj+1
i = uji + c2 ui+1 − 2uj
i + uj
i−1 , (4.25)
∆x2
a condição inicial
u0i = f (i∆x) = f (xi ) = fi para i = 0, . . . , n, (4.26)
e uma condição de fronteira
ujn = 0 para j = 0, . . . , m. (4.27)
Podemos tratar a condição de fronteira de Neumann da seguinte maneira:

u(∆x, j∆t) − u(0, j∆t) uj − uj0


0 = ux (0, j∆t) = = 1 ,
∆x ∆x
aproximando
uj0 = uj1 . (4.28)
O único problema desta aproximação é que ela é uma aproximação da condição de fronteira de Neumann
de primeira ordem no espaço, enquanto que o nosso esquema de diferenças finitas que aproxima a equação
diferencial parcial é de segunda ordem no espaço. O resultado final pode ser de primeira ordem em espaço.
Para aproximar a condição de fronteira de Neumann de uma maneira consistente com o nosso esquema
de diferença finita, aplicamos uma diferença centrada no ponto da fronteira, o que leva necessariamente à
consideração de um ponto fantasma: x−1 = −∆x. Assim,

j uj1 − uj−1
0= (ux )0 = ,
2∆x
Rodney Josué Biezuner 89

donde
uj−1 = uj1 , (4.29)
e daı́, usando o nosso esquema de diferenças finitas,
∆t  j 
uj+1
0 = uj0 + c2 u1 − 2uj
0 + uj
−1
∆x2
segue que
∆t  j 
uj+1
0 = uj0 + c2 u 1 − u j
0 . (4.30)
∆x2
com u00 obviamente dado pela condição inicial.
Neste capı́tulo, estudaremos esquemas de diferenças finitas para a equação da difusão não-homogênea

vt − Kvxx = F (x, t) (4.31)

como modelo para equações parabólicas unidimensionais. Consideraremos o problema de valor inicial

vt − Kvxx = F (x, t) se x ∈ R e t > 0,
(4.32)
v (x, 0) = f (x) se x ∈ R,
e o problema de valor inicial e de valor de fronteira


 vt − Kvxx = 0 se x ∈ [0, L] e t > 0,
v (x, 0) = f (x) se x ∈ [0, L] ,

(4.33)

 a1 (t) v (0, t) + a2 (t) vx (0, t) = 0 se t > 0,
b1 (t) v (L, t) + b2 (t) vx (L, t) = 0 se t > 0.

Denotaremos o operador diferencial parcial parabólico

L = ∂t − K∂xx (4.34)

e um esquema de diferenças finitas para a equação de difusão

Lv = F (4.35)

será denotado por


Lnk vkn = Gnk , (4.36)
onde n denota o passo temporal e k o ponto na malha espacial. Em geral, v denotará a solução exata da
equação diferencial parcial, enquanto que unk denotará a solução aproximada, isto é, a solução da equação de
diferenças finitas. Com esta convenção, escreveremos

vkn = v (k∆x, n∆t) , (4.37)

para denotar o valor da solução exata no ponto (k∆x, n∆t) da malha.

4.9 Convergência do Esquema de Diferenças Finitas Explı́cito FTCS


Consideremos o problema de valor inicial homogêneo

vt − Kvxx = 0 se x ∈ R e t > 0,
v (x, 0) = f (x) se x ∈ R.
Vamos provar a convergência do esquema de diferenças finitas explı́cito FTCS
 n n
Lk uk = 0 se k ∈ Z, n ∈ N,
u0k = f (k∆x) se k ∈ Z.
Rodney Josué Biezuner 90

onde  
∆t
Lnk unk = un+1 n n n n

− uk + K u − 2u + u
k
∆x2 k−1 k k+1

sujeito à restrição
∆t 1
K 6 .
∆x2 2
Precisaremos antes do seguinte resultado teórico:

4.14 Lema. Seja f ∈ C 0 (R) ∩ L∞ (R). Então o problema de valor inicial



vt − Kvxx = 0 se x ∈ R e t > 0,
v (x, 0) = f (x) se x ∈ R,

possui uma solução v ∈ C 0 (R × [0, +∞)) ∩ C ∞ (R × (0, +∞)), e existe uma constante C > 0 tal que para
todo x ∈ R temos
C
|vtt (x, t)| 6 kf kL∞ (R) ,
t3/2
C
|vxxxx (x, t)| 6 kf kL∞ (R) .
t3/2
Se, além disso, f ∈ C 4 (R) e f (4) ∈ L∞ (R), então existe uma constante C > 0 tal que para todo x ∈ R e
para todo t > 0 temos

|vtt (x, t)| 6 C f (4) ,


L∞ (R)

|vxxxx (x, t)| 6 C f (4) .


L∞ (R)

Prova. Através da teoria analı́tica para a equação do calor na reta, sabe-se que a solução para este problema
é dada pela convolução com o núcleo do calor
1 x2
Φ (x, t) = √ e− 4Kt ,
4πKt
isto é, Z
v (x, t) = Φ (x − s, t) f (s) ds.
R

O núcleo do calor é uma função de classe C ∞ em R × (0, +∞) que satisfaz


Z
Φ (x, t) dx = 1
R

para todo x ∈ R. Por simplicidade, e sem perda de generalidade, vamos tomar K = 1. Por indução, as
derivadas parciais de Φ são dadas por

P (x, t) − x2
Φxp tq (x, t) = e 4t
Q (t)
Rodney Josué Biezuner 91


aij xi tj e Q (t) = ak πtk/2 . Por exemplo,
P
para alguns polinômios algébricos P (x, t) =
−x − x2
Φx = √ e 4t ,
2t 4πt
x2 − 2t − x2
Φt = √ e 4t ,
8 πt5/2
x2 − 2t − x2
Φxx = √ e 4t ,
8 πt5/2
x4 − 12x2 t + 12t2 − x2
Φtt = √ e 4t ,
32 πt9/2
−x3 + 6xt − x2
Φxt = √ e 4t .
16 πt7/2

Como f é limitada, isso permite derivar sob o sinal de integração


Z
vxp tq (x, t) = Φxp tq (x − s, t) f (s) ds,
R

e assim provar que v é de classe C ∞ em R × (0, +∞); usando o fato que f é contı́nua, também pode-se provar
que u é contı́nua até a fronteira (para detalhes, veja algum livro-texto de EDPs analı́ticas).
Agora, observe que dado β > 0 existe uma constante C = C (β) tal que
z
z β e−z 6 Ce− 2 para todo z > 0;
z z z
basta escrever z β e−z = z β e− 2 e− 2 e usar o fato que a exponencial negativa e− 2 tende a zero mais
z
rapidamente que o polinômio z β quando z → +∞, logo a função z β e− 2 assume um máximo em [0, +∞).
Usaremos esta propriedade da seguinte forma. Para cada t > 0, temos

x4 − 12x2 t + 12t2 − x2 x4 x2 3x2 x2 3 x2


Φtt (x, t) = √ 9/2 e 4t = √ 9/2 e− 4t − √ 7/2 e− 4t + √ 5/2 e− 4t ,
32 πt 32 πt 8 πt 8 πt

que podemos escrever na forma


" 2 #
1 x2 2
− x4t x2 x2 3 x2
Φtt (x, t) = √ 5/2 e − 3 e− 4t + e− 4t
2 πt 4t 4t 4

x2
Pela propriedade mencionada, tomando z = − e β = 2, 1, 0 em cada um dos três termos do lado direito
4t
desta equação, obtemos
C x2 C x2
|Φtt (x, t)| 6 √ 5/2 e− 8t = √ e− 8t ,
2 πt t 3/2 8πt
de modo que
C
|Φtt (x, t)| 6 Φ (x, 2t) (4.38)
t3/2
para todo x ∈ R. Daı́,
Z Z Z
C
|vtt (x, t)| = Φtt (x − s, t) f (s) ds 6 kf kL∞ (R) |Φtt (x − s, t)| ds = 3/2 kf kL∞ (R) Φ (x, 2t) ds
R R t R
C
6 3/2 kf kL∞ (R) .
t
Rodney Josué Biezuner 92

Similarmente, obtemos
x4 − 12x2 t + 12t2 − x2
Φxxxx (x, t) = √ e 4t = Φtt (x, t) , (4.39)
32 πt9/2
logo o mesmo tipo de argumento produz a estimativa para vxxxx .
Suponha agora que f ∈ C 4 (R) e f (4) ∈ L∞ (R). Usando a mudança de variáveis r = x − s, podemos
escrever Z Z
v (x, t) = Φ (x − s, t) f (s) ds = Φ (r, t) f (x − r) dr.
R R
Derivando sob o sinal de integração, segue que
Z
vxxxx (x, t) = Φ (r, t) f (4) (x − r) dr,
R

logo Z
|vxxxx (x, t)| 6 f (4) Φ (r, t) dr = f (4) .
L∞ (R) R L∞ (R)

O resultado para vtt segue da observação em (4.39) que


Z Z
vtt (x, t) = Φtt (x − s, t) f (s) ds = Φxxxx (x − s, t) f (s) ds = vxxxx (x, t) .
R R


4.15 Teorema. Suponha que
∆t 1
2
K
6 .
∆x 2
Se f ∈ L∞ (R), então o esquema F T CS converge espacialmente uniformemente com precisão de ordem
(2, 1). Se f ∈ C 4 (R) ∩ L∞ (R) e f (4) ∈ L∞ (R), então o esquema F T CS converge uniformemente com
precisão de ordem (2, 1).
Prova. Denotando
∆t
r=K ,
∆x2
o esquema F T CS pode ser escrito na forma

un+1 = unk + r unk−1 − 2unk + unk+1 = (1 − 2r) unk + r unk−1 + unk+1 .


 
k (4.40)

Denotemos
zkn = unk − vkn . (4.41)

A solução exata v é de classe C em R × (0, +∞), como vimos no lema anterior. Podemos então usar a
fórmula de Taylor com resto dado pelo teorema do valor médio e o fato que v é a solução exata para a
equação da difusão para escrever
n 1
vkn+1 = vkn + (vt )k ∆t + vtt (k∆x, t1 ) ∆t2
2
n 1
n
= vk + K (vxx )k ∆t + vtt (k∆x, t1 ) ∆t2 ,
2
para algum n∆t 6 t1 6 (n + 1) ∆t. Usando novamente a fórmula de Taylor com resto dado pelo teorema do
valor médio, segue também que

n n 1 n 1 n 1
vk+1 = vkn + (vx )k ∆x + (vxx )k ∆x2 + (vxxx )k ∆x3 + vxxxx (x1 , n∆t) ∆x4 ,
2 3! 4!
n n 1 n 1 n 1
vk−1 = vkn − (vx )k ∆x + (vxx )k ∆x2 − (vxxx )k ∆x3 + vxxxx (x2 , n∆t) ∆x4 ,
2 3! 4!
Rodney Josué Biezuner 93

para alguns k∆x 6 x1 6 (k + 1) ∆x, (k − 1) ∆x 6 x2 6 k∆x, donde

n n n 1
vk−1 + vk+1 = 2vkn + (vxx )k ∆x2 + (vxxxx (x1 , n∆t) + vxxxx (x2 , n∆t)) ∆x4 ,
4!
e daı́,
n 1  1
(vxx )k = 2
−2vkn + vk+1
n n
+ vk−1 − (vxxxx (x1 , n∆t) + vxxxx (x2 , n∆t)) ∆x2 .
∆x 4!
Portanto,
 1 1
vkn+1 = (1 − 2r) vkn + r vk−1
n n
+ vk+1 + vtt (k∆x, t1 ) ∆t2 − (vxxxx (x1 , n∆t) + vxxxx (x2 , n∆t)) ∆t∆x2 .
2 4!
Usando o lema anterior, podemos escrever de forma mais compacta

vkn+1 = (1 − 2r) vkn + r vk−1


n n
+ O ∆t2 + O ∆t∆x2 ,
  
+ vk+1 (4.42)

onde as constantes nos termos de ordem O independem de k e n se f ∈ C 4 (R) ∩ L∞ (R) e f (4) ∈ L∞ (R).
Segue que
zkn+1 = (1 − 2r) zkn + r zk−1
n n
+ O ∆t2 + O ∆t∆x2 .
  
+ zk+1 (4.43)
1
Como 0 < r 6 2 por hipótese, segue que 1 − 2r > 0 e podemos escrever

zkn+1 6 (1 − 2r) |zkn | + r zk−1


n n
+ O ∆t2 + O ∆t∆x2
 
+ zk+1
6 (1 − 2r) kzn k∞ + 2r kzn k∞ + O ∆t2 + O ∆t∆x2
 

6 kzn k∞ + C ∆t2 + ∆t∆x2 ,




onde C é uma constante independente de k, n se f ∈ C 4 (R) ∩ L∞ (R) e f (4) ∈ L∞ (R). Logo,

zn+1 ∞ 6 kzn k∞ + C ∆t2 + ∆t∆x2 .



(4.44)

Iterando esta desigualdade, obtemos

zn+1 6 zn−1 + 2C ∆t2 + ∆t∆x2



∞ ∞
6 zn−2 + 3C ∆t2 + ∆t∆x2


..
.
6 z0 + (n + 1) C ∆t2 + ∆t∆x2


= (n + 1) C ∆t2 + ∆t∆x2 ,


pois
zk0 = u0k − vk0 = f (k∆x) − v (k∆x, 0) = 0.
Portanto, para todos k, n, temos

un+1 − v (k∆x, (n + 1) ∆t) 6 (n + 1) ∆tC ∆t + ∆x2 → 0



k

quando ∆t, ∆x → 0 e (n + 1) ∆t → t. 
Capı́tulo 5

Métodos Iterativos para a Resolução


de Sistemas Lineares

Neste capı́tulo investigaremos métodos iterativos para a resolução de sistemas lineares

Ax = b.

Embora a matriz A que temos em mente é em geral uma matriz grande e esparsa, do tipo que aparece
em esquemas de diferenças finitas, os métodos considerados aqui requerem apenas que A seja uma matriz
invertı́vel com todas as entradas diagonais aii não-nulas.
Métodos iterativos requerem um chute inicial x0 , um vetor inicial que aproxima a solução exata x (se
não há nenhuma informação disponı́vel sobre a solução exata, de modo que não temos como construir o
chute inicial de forma inteligente, x0 pode ser uma aproximação muito ruim de x). Uma vez que x0 é dado,
o método iterativo gera a partir de x0 uma nova aproximação x1 , que esperamos deve aproximar melhor a
solução exata. Em seguida, x1 é usada para geraruma nova melhor aproximação x2 e assim por diante.
Desta forma, gera-se uma seqüência de vetores xk que espera-se convergir para x. Como na prática não
podemos iterar para sempre, algum critério de parada deve ser estabelecido a priori. Uma vez que xk esteja
suficientemente próximo da solução exata quanto se precise, de acordo com uma margem de tolerância aceita,
pára-se o processo de iteração e aceita-se xk como a solução aproximada adequada para o problema. Por
exemplo, o critério de parada pode ser estabelecido através de uma cota de tolerância τ : quando

b − Axk < τ

ou quando
xk+1 − xk < τ
as iterações são interrompidas e o último valor aproximado obtido é aceito como a melhor aproximação da
solução dentro das circunstâncias.
Os métodos discutidos neste capı́tulo não necessitam de um bom chute inicial (embora, é claro, quanto
melhor o chute inicial, menor o número de iterações necessárias para se chegar à solução aproximada com a
precisão especificada).

5.1 Métodos Iterativos Lineares


Nesta seção apresentamos alguns exemplos clássicos de métodos iterativos lineares. Na próxima seção dare-
mos condições necessárias e suficientes para estabelecer a sua convergência.

94
Rodney Josué Biezuner 95

5.1.1 Método de Jacobi


O primeiro método iterativo (que já foi descrito como o mais lento para convergir, embora isso realmente
depende da matriz A do sistema) é o algoritmo de Jacobi. Escrevendo o sistema Ax = b na forma
 n
P


 a1j xj = b1
 j=1


.. ,
.
n


 P


 anj xj = bn
j=1

se aii 6= 0 para todo i, cada xi pode ser isolado na i-ésima equação e escrito na forma
 
n
1 bi −
X 
xi = aij xj 
.
aii 
j=1
j6=i

Isso sugere definir um método iterativo da seguinte forma: suposto xk = xk1 , . . . , xkn obtido no passo
anterior, obtemos xk+1 = xk+1

1 , . . . , xk+1
n por
 
n
1  X
xk+1 aij xkj 

= bi −
i
aii  . (5.1)
j=1
j6=i

No caso da fórmula de cinco pontos para o problema de Poisson com ∆x = ∆y, como a equação para
cada ponto (i, j) é dada por

−ui,j−1 − ui,j+1 + 4ui,j − ui−1,j − ui+1,j = ∆x2 fi,j

o método de Jacobi é
1 k
uk+1 ui,j−1 + uki,j+1 + uki−1,j + uki+1,j + ∆x2 fi,j .

i,j = (5.2)
4
No caso especial da equação de Laplace (f = 0) com condição de fronteira de Dirichlet não-nula, o método
de Jacobi é simplesmente a propriedade do valor médio discreta
1 k
uk+1 ui,j−1 + uki,j+1 + uki−1,j + uki+1,j .

i,j = (5.3)
4
Em outras palavras, calculados os valores de u em todos os pontos da malha na iteração anterior, o novo
valor de u em um ponto interior da malha nesta iteração é calculado através da média dos seus quatro
pontos vizinhos. Os valores iniciais de u nos pontos interiores da malha para a primeira iteração (isto é, o
chute inicial) podem ser atribuidos arbitrariamente ou através de algum argumento razoável; por exemplo,
podemos utilizar uma média ponderada dos valores de fronteira para o valor inicial em cada ponto interior
da malha, de acordo com a posição do ponto em relação aos pontos das quatro fronteiras discretizadas.
Em forma matricial, o algoritmo de Jacobi pode ser descrito da seguinte forma. Denotando por D = diag
(a11 , . . . , ann ) a matriz diagonal cujas entradas são as entradas diagonais de A, temos que

xk+1 = D−1 (D − A) xk + b
 
(5.4)

ou
xk+1 = D−1 Cxk + b

(5.5)
onde C = D − A é a matriz consistindo dos elementos restantes de A fora da diagonal principal.
Rodney Josué Biezuner 96

5.1.2 Método de Gauss-Seidel


Um método iterativo que converge cerca de duas vezes mais rápido que o método de Jacobi (pelo menos em
várias aplicações) é o método de Gauss-Seidel, onde os valores de x são atualizados dentro de cada iteração,
sem esperar pela próxima. Em outras palavras, obtido o valor de xk+1 l este é usado no lugar de xkl no cálculo
seguinte. No sistema Ax = b em que aii 6= 0 para todo i, como antes isolamos cada xi na i-ésima equação
mas desta vez escrevemos  
i−1 n
1  X X
xi = bi − aij xj + aij xj  .
aii j=1 j=i+1

Então definimos  
i−1 n
1  X X
xk+1
i = bi − aij xk+1
j + aij xkj  (5.6)
aii j=1 j=i+1

pois os valores xk+1


1 , . . . , xk+1 k k
i−1 já foram computados nesta iteração, enquanto que os valores xi+1 , . . . , xn são
fornecidos pela iteração anterior.
Por exemplo, no caso da equação de Laplace, poderı́amos utilizar a fórmula
1 k+1
uk+1 ui,j−1 + uki,j+1 + uk+1 k

i,j = i−1,j + ui+1,j (5.7)
4
assumindo que os pontos da malha são percorridos na ordem lexicográfica, de modo que quando vamos
calcular o valor de u no ponto i, j na iteração k + 1, nesta mesma iteração já calculamos os valores de u em
i − 1, j e em i, j − 1, e usamos estes valores para calcular uk+1 k k
i,j ao invés dos valores ui,j−1 e ui−1,j obtidos
na iteração anterior.
Em forma matricial, o algoritmo de Jacobi pode ser descrito da seguinte forma. Dada uma matriz A,
existe uma única decomposição
A=D−L−U (5.8)
onde D é uma matriz diagonal, L é uma matriz estritamente triangular inferior e U é uma matriz estritamente
triangular superior; de fato, D = diag (a11 , . . . , ann ) é a parte diagonal de A, −L é a parte estritamente
triangular inferior de A e −U é a parte estritamente triangular superior de A. Então o algoritmo de Jacobi
pode ser definido por
xk+1 = D−1 Lxk+1 + U xk + b

(5.9)
ou
(D − L) xk+1 = U xk + b,
donde
−1
xk+1 = (D − L) U xk + b .

(5.10)
É importante ressaltar que existem matrizes para as quais o método de Jacobi converge e o método de
Gauss-Seidel diverge, e vice-versa. Veja a próxima seção sobre a convergência dos métodos.

5.1.3 Método SOR


O processo de corrigir uma equação através da modificação de uma variável é às vezes chamado de relaxa-
mento. Antes da correção, a equação não é verdadeira; como um conjunto de partes que não se ajustam,
ela está em estado de tensão. A correção de uma variável relaxa a tensão. O método de Gauss-Seidel efetua
relaxamento sucessivo, ou seja, passa de equação para equação, relaxando uma depois da outra. [Watkins]
Por este motivo, os métodos de Jacobi e de Gauss-Seidel são também chamados métodos de relaxamento.
Em muitos casos, a convergência pode ser substancialmente acelerada através de sobrerelaxamento. Isso
significa que ao invés de fazer uma correção para a qual a equação é satisfeita exatamente, nós fazemos uma
correção maior. No caso mais simples, escolhe-se um fator de relaxamento ω > 1 que sobrecorrige por aquele
Rodney Josué Biezuner 97

fator em cada passo (se mover um passo na direção de xk para xk+1 é bom, mover naquela direção ω > 1
passos é melhor). Este é o chamado método de sobrerelaxamento sucessivo (SOR, successive overrelaxation):
usando o método de Gauss-Seidel obtemos
 
i−1 n
1 X X
bk+1
x i = bi − aij xk+1
j + aij xkj  ;
aii j=1 j=i+1

daı́ tomamos
xk+1 bk+1
= xki + ω x − xki .

i i

Isso pode ser resumido em


   
i−1 n
1 X X
xk+1
i = xki +ω bi − k+1
aij xj − k k
aij xj  − xi  . (5.11)
aii j=1 j=i+1

Quando ω = 1, o método SOR é exatamente o método de Gauss-Seidel. Um fator ω < 1 (subrelaxamento)


normalmente diminui a velocidade de convergência.
Para a maioria dos problemas, o melhor valor para o fator de relaxamento é desconhecido. Para a matriz
de discretização obtida a partir da fórmula de cinco pontos, é sabido que o valor ótimo de ω é, como veremos
na próxima seção,
2
ω= . (5.12)
1 + sen (π∆x)
Em forma matricial, o método SOR pode ser descrito da seguinte forma. Como antes, dada uma matriz
A escrevemos
A=D−L−U (5.13)
onde D é uma matriz diagonal, L é uma matriz estritamente triangular inferior e U é uma matriz estritamente
triangular superior. Então, escrevendo o algoritmo SOR na forma
 
i−1
X n
X
aii xk+1
i = aii xki + ω bi − aij xk+1
j − aij xkj  ,
j=1 j=i

temos
Dxk+1 = Dxk + ω Lxk+1 + (U − D) xk + b
 
(5.14)
ou    
1 k+1 1−ω
D−L x = D + U xk + b,
ω ω
donde  −1   
k+1 1 1−ω k
x = D−L D+U x +b . (5.15)
ω ω

5.1.4 Comparação da Velocidade de Convergência dos Três Métodos


A tabela a seguir foi extraı́da de [Watkins], págs. 533 e 542. Os métodos introduzidos acima foram usados
para resolver o sistema linear Ax = b onde A é a matriz de discretização obtida a partir da fórmula dos
2
cinco pontos do laplaciano no quadrado unitário Ω = (0, 1) e b é estabelecido pela condição de fronteira de
Dirichlet dada por 

 0 se x = 0,
y se x = 1,

g (x, y) =

 (x − 1) sen x se y = 0,
x (2 − x) se y = 1,

Rodney Josué Biezuner 98

ou seja, para resolver o problema discretizado



−∆d ud = 0 em Ωd ,
ud = gd sobre ∂Ωd .
As iterações foram interrompidas quando
uk+1 − uk 2
< 10−8 .
|uk+1 |2
O número de iterações necessárias para convergir de acordo com esta margem de tolerância, para três refina-
mentos possı́veis da malha (correspondentes a matrizes de dimensões n = 81, 361 e 1521, respectivamente),
de acordo com cada método e para diferentes valores de ω no caso do método SOR é apresentado na tabela
abaixo.

∆x = 0.1 ∆x = 0.05 ∆x = 0.025


Jacobi 299 1090 3908
SOR (ω = 0.8) 235 845 3018
Gauss-Seidel 160 581 2082
SOR (ω = 1.4) 67 262 955
SOR (ω = 1.6) 42 151 577
SOR (ω = 1.7) 57 96 412
SOR (ω = 1.8) 86 89 252
SOR (ω = 1.9) 176 180 179
SOR (ω = 2.0) ∞ ∞ ∞
Vemos que o método de Gauss-Seidel é cerca de duas vezes mais rápido para convergir que o método de
Jacobi e que dependendo da escolha de ω, o método SOR pode ser até dez vezes mais rápido que o método
de Gauss-Seidel para a malha mais refinada. Subrelaxamento não ajuda e para ω = 2 o método SOR é
divergente.

5.1.5 Método de Jacobi Amortecido


O método de Gauss-Seidel pode ser sobrerelaxado através de um parâmetro ω > 1 para obter um método
que converge mais rápido.Já o método de Jacobi não pode em geral ser sobrerelaxado, porque o método
obtido não converge. Ele pode no entanto ser subrelaxado através de um parâmetro ω < 1 para obter um
método convergente, se bem que mais vagaroso. A vantagem de se utilizar um tal método é que para certos
valores de ω ele é um ótimo suavizador de erro (em um sentido que será explicado no próximo capı́tulo),
enquanto que o método de Jacobi usual não possui esta propriedade. Assim, o método de Jacobi amortecido
pode ser usado em métodos multigrid (veja o próximo capı́tulo).
Pelo método de Jacobi usual obtemos
 
n
1  X
bk+1 aij xkj 

x = bi −
i
aii  ,
j=1
j6=i

e tomamos
xk+1 bk+1
= xki + ω x − xki ,

i i

ou seja,    
n
 1  X
xk+1 k
aij xkj  k
 
bi −
= x + ω  − xi  . (5.16)
i

i  aii 
j=1
j6=i
Rodney Josué Biezuner 99

Este método é conhecido como método de Jacobi amortecido, método de Jacobi ponderado ou ainda
método de relaxamento simultâneo (diferente do método de relaxamento sucessivo, baseado no método de
Gauss-Seidel, em que cada variável é substituı́da sucessivamente dentro da mesma iteração à medida que
ela é atualizada; no método de Jacobi, as variáveis são todas substituı́das simultameamente na próxima
iteração).
Em forma matricial, o método de Jacobi amortecido pode ser descrito da seguinte forma. Denotando por
D a parte diagonal de A, temos
 
Xn
aii xk+1
i = aii xki + ω bi − aij xkj  ,
j=1

temos
Dxk+1 = Dxk + ω b − Axk
 
(5.17)
ou    
1 1
D xk+1 = D − A xk + ωb,
ω ω
donde  −1   
k+1 1 1 k
x = D D−A x +b . (5.18)
ω ω
Em contraste com o método SOR, que converge em geral para 0 < ω < 2, o método de Jacobi amortecido
converge para 0 < ω 6 1 (veja a próxima seção).

5.2 Análise de Convergência dos Métodos Iterativos Lineares


Os métodos descritos na seção anterior são casos especiais de uma classe geral de métodos chamados métodos
iterativos lineares ou métodos de correção residual. Um método iterativo linear para resolver o sistema
linear
Ax = b
envolve a decomposição da matriz A na forma
A = B − C, (5.19)
onde B é necessariamente uma matriz invertı́vel, e então a resolução iterativa do sistema de equações
Bxk+1 = Cxk + b (5.20)
ou, mais explicitamente,
xk+1 = B −1 Cxk + b .


Se xk → x, então Bx = Cx + b, donde Ax = b. Do ponto de vista prático, é importante que a matriz B


seja “fácil de resolver” (mesmo que a inversa de B não seja efetivamente calculada), como nos exemplos da
seção anterior:
B C
Jacobi D D−A
Gauss-Seidel D−L U
1 1−ω
SOR D−L D+U
ω ω
Para obter uma convergência rápida, também gostarı́amos que B ≈ A e C ≈ 0. Deste ponto de vista, o ideal
seria B = A e C = 0 (convergência em uma iteração), mas isso viola em geral o critério que B seja “fácil
de resolver”. Um compromisso é necessário: B deve aproximar A o melhor possı́vel sem se tornar muito
complicada.
Rodney Josué Biezuner 100

5.2.1 Convergência dos Métodos Iterativos Lineares


Para métodos iterativos em geral, definimos o erro algébrico por

ek = x − xk , (5.21)

enquanto que o erro residual é dado por

rk = Ax − Axk = f − Axk . (5.22)

O erro algébrico tem interesse puramente teórico (para provar que determinado método iterativo converge,
precisamos mostrar que o erro algébrico tende a zero), já que ele só pode ser calculado uma vez que se
conhece a solução exata, e se este for o caso obviamente não há necessidade de resolver o sistema. Já o erro
residual pode ser usado como critério de parada para o método iterativo. Como

Bek+1 = Bx − Bxk+1 = Ax + Cx − Cxk − b = C x − xk = Cek ,




segue que
ek+1 = B −1 Cek .
Observe que
B −1 C = B −1 (B − A) = I − B −1 A.
A matriz
R = I − B −1 A = B −1 C (5.23)
é chamada a matriz de iteração ou matriz de propagação do erro do algoritmo considerado, porque

xk+1 = Rxk + B −1 b. (5.24)

e o erro é dado por


ek+1 = Rek . (5.25)
Em particular,
ek = Rk e0 (5.26)
0 k
de modo que o erro converge para 0, independentemente do chute inicial x , se e somente se R → 0. Isso
ocorre se e somente se existe alguma norma matricial k·k tal que kRk < 1. Obter uma norma matricial
que satisfaz esta propriedade, no entanto, é difı́cil. Vamos obter uma condição necessária e suficiente para
Rk → 0 em termos do raio espectral da matriz de iteração (Corolário 5.5 a seguir), que é em geral um pouco
mais fácil de calcular. Antes, para motivar o resultado, suponha que A seja uma matriz diagonalizável com
λ1 , . . . , λn os seus autovalores e {v1 , . . . , vn } uma correspondente base de autovetores. Escrevendo o erro
inicial como uma combinação linear dos autovetores, temos
n
X
e0 = ai vi .
i=1

Logo,
n
X
ek = R k e0 = ai λki vi ,
i=1

de modo que
n
X k
ek 6 |ai | |λi | |vi | .
i=1
k
Como |λi | → 0 se e somente se |λi | < 1, concluı́mos que ek → 0 qualquer que seja o erro inicial (isto é,
qualquer que seja o chute inicial), se e somente se ρ (R) = max16i6n |λi | < 1 .
Rodney Josué Biezuner 101

5.1 Lema. Se A ∈ Mn (C) e k·k é qualquer norma matricial, então

ρ (A) 6 kAk .

Prova. Seja λ um autovalor qualquer de A e x um autovetor não-nulo correspondente a λ, de modo que

Ax = λx.

Considere a matriz X ∈ Mn (C) cujas colunas são todas iguais ao vetor x. Temos também

AX = λX

de modo que
|λ| kXk = kAXk 6 kAk kXk ,
donde
|λ| 6 kAk
para todo autovalor λ de A. Como existe um autovalor λ de A tal que ρ (A) = λ, isso prova o resultado. 
5.2 Lema. Seja A ∈ Mn (C) e ε > 0 dado. Então existe uma norma matricial k·k tal que

ρ (A) 6 kAk 6 ρ (A) + ε. (5.27)

Prova. Toda matriz complexa é triangularizável através de uma matriz unitária (isto é, uma matriz U que
satisfaz U ∗ U = U U ∗ = I; sua inversa é a sua adjunta ou transposta conjugada). Sejam então
 
λ1 a12 a22 . . . a1n

 λ2 a23 . . . a2n  
T =
 λ3 . . . a3n  
 . . .. 
 . . 
λn

uma matriz triangular e U uma matriz unitária tais que

A = U ∗ T U.

Considere a matriz diagonal  


t
 t2 
Dt =  .
 
..
 . 
tn
Temos
a12 t−1 a22 t−2 a1n t−n+1
 
λ1 ... ...
 λ2 a23 t−1 ... ... a2n t−n+2 
a3n t−n+3
 
 λ3 ... ... 
Dt T Dt−1 = .
 
.. ..

 . . 

 λn−1 an−1,n t−1 
λn
Logo, para t > 0 suficientemente grande, a matriz Dt T Dt−1 tem a propriedade que a soma dos valores
absolutos de elementos fora da diagonal principal é menor que ε. Em particular, se k·kL denota a norma do
máximo das somas das linhas, podemos garantir que

Dt T Dt−1 L
6 ρ (A) + ε
Rodney Josué Biezuner 102

para t suficientemente grande. Portanto, fixado um tal t, se definirmos uma norma por
−1
kAk := Dt U AU ∗ Dt−1 L
= U ∗ Dt−1 AU ∗ Dt−1 ,
L

teremos
kAk = Dt U AU ∗ Dt−1 L
= Dt T Dt−1 L
6 ρ (A) + ε.
Pelo lema anterior, ρ (A) 6 kAk. 
5.3 Lema. Seja A ∈ Mn (C). Se existe alguma norma matricial k·k tal que kAk < 1, então

Ak → 0.

Prova. Se kAk < 1, então


k
Ak 6 kAk → 0.

5.4 Proposição. Seja A ∈ Mn (C). Então
Ak → 0
se e somente se
ρ (A) < 1.
Prova. Se existe algum autovalor λ de A tal que |λ| > 1 e x é um autovetor não-nulo correspondente, então

Ak x = λ k x

não converge para 0. Reciprocamente, se ρ (A) < 1, então pelo Lema 5.2 existe uma norma matricial k·k tal
que kAk < 1, logo Ak → 0 pelo lema anterior. 
5.5 Corolário. Seja R a matriz de iteração de um método iterativo linear. Então

ek → 0

se e somente se
ρ (R) < 1.
Em outras palavras, um método iterativo linear é convergente independentemente da escolha do chute inicial
se e somente se todos os autovalores da matriz de iteração têm valor absoluto menor que 1.

5.2.2 Velocidade de Convergência dos Métodos Iterativos Lineares


O raio espectral também dá informação sobre a velocidade de convergência. Se nós tivermos dois métodos
iterativos lineares diferentes, isto é, duas maneiras diferentes de decompor a matriz A:

A = B1 − C1 = B2 − C2 ,

então o segundo método convergirá mais rápido se e somente se

ρ (R2 ) < ρ (R1 ) .

Vamos analisar a velocidade de convergência dos métodos iterativos com maior precisão. Novamente à
tı́tulo de motivação, suponha que R é uma matriz diagonalizável com seu maior autovalor sendo um autovalor
simples. Ordene os autovalores de R na forma

|λ1 | > |λ2 | > . . . > |λn |


Rodney Josué Biezuner 103

e seja {v1 , . . . , vn } uma correspondente base de autovetores. Escrevendo de novo


n
X
e0 = ai vi ,
i=1

donde
n
X
ek = R k e0 = ai λki vi ,
i=1
segue que " #
n  k
k
X λi
e = λk1 a 1 x1 + ai vi .
i=2
λ1
Como  k
λi
→ 0,
λ1
k
a taxa de convergência é determinada por |λ1 | . Para k grande, temos
ek ≈ λk1 a1 v1 .
Portanto,
ek+1
= |λ1 | = ρ (R) . (5.28)
|ek |
Em outras palavras, a convergência é linear com taxa de convergência igual ao raio espectral. Se a1 =
0 a convergência será mais rápida, pois dependerá do módulo do segundo autovalor, mas é obviamente
extremamente raro que o chute inicial satisfaça esta condição. Para o caso geral, precisamos do seguinte
resultado:
5.6 Proposição. Seja A ∈ Mn (C) e k·k uma norma matricial. Então
1/k
ρ (A) = lim Ak .
Prova. Como os autovalores da matriz Ak são as k-ésimas potências dos autovalores de A, temos que
k
ρ (A) = ρ Ak 6 Ak ,


donde
1/k
ρ (A) 6 Ak .
Dado ε > 0, a matriz
1
B= A
ρ (A) + ε
tem raio espectral menor que 1, logo B k → 0. Portanto, existe algum N = N (ε, A) tal que
Bk < 1
ou seja,
1/k
Ak < ρ (A) + ε
para todo k > N . 
Definimos a taxa média de convergência de um método iterativo linear com matriz de iteração R por
1/k 1
Rk (R) = − log10 Rk = − log10 Rk (5.29)
k
e a taxa assintótica de convergência por
R∞ (R) = lim Rk (R) . (5.30)
k→∞
Rodney Josué Biezuner 104

5.7 Corolário. Seja R a matriz de iteração de um método iterativo linear. Então a taxa assintótica de
convergência do método é dada por
R∞ (R) = − log10 ρ (R) . (5.31)
Prova. Pois
1/k 1/k
R∞ (R) = − lim log10 Rk = − log10 lim Rk = − log10 ρ (R) .
k→∞ k→∞


A taxa assintótica de convergência mede o aumento no número de casas decimais corretas na solução por
iteração. De fato, usando a norma matricial do Lema 5.2 e medindo as normas dos vetores de acordo, temos

ek+1 Rk+1 e0
= 6 kRk = ρ (R) + ε,
|ek | |Rk e0 |

donde
ek+1
− log10 = − log10 ρ (R) + O (ε)
|ek |
ou
log10 ek − log10 ek+1 = R∞ (R) + O (ε) . (5.32)
Assim, se

ek = O 10−p ,


ek+1 = O 10−q ,


teremos
q − p ≈ R∞ (R) ,
isto é, reduzimos R∞ (R) ≈ q − p casas decimais no erro. Visto de outra forma, como

ek+m Rk+m e0 m
k
= 6 kRm k = ρ (R) + O (ε) ,
|e | |Rk e0 |

donde
ek+m
− log10 ≈ −m log10 ρ (R) ,
|ek |
ou 
log10 ek+m / ek
m= (5.33)
log10 ρ (R)
é o número de iterações necessárias para diminuir o erro de um número prescrito de casas decimais.

5.2.3 Convergência para Matrizes Simétricas Positivas Definidas


Para matrizes reais simétricas positivas definidas é mais fácil provar a convergência dos métodos iterativos
lineares. Temos o seguinte resultado básico a seguir. Antes precisamos da seguinte definição:
5.8 Definição. Introduzimos uma ordenação parcial em Mn (C) definindo

A6B

se
hAx, xi 6 hBx, xi
para todo x ∈ Cn . 
Rodney Josué Biezuner 105

Em particular, se A é uma matriz positiva definida, segue que A > εI para algum ε (o menor autovalor de
A) e denotamos este fato por
A > 0.
5.9 Teorema. Seja A uma matriz simétrica positiva definida e seja A = B − C com B invertı́vel. Então o
método iterativo linear com matriz de iteração R = B −1 C converge se e somente se B t + C é uma matriz
simétrica positiva definida.
Prova. Medimos a norma do erro através da norma induzida por A
1/2
|x|A := hAx, xi

e consideraremos a norma matricial k·kA induzida por esta norma. Se provarmos que

kRkA < 1,

o método convergirá. Temos


2
2 −1 2 B −1 Cx A
AB −1 Cx, B −1 Cx C t B −t AB −1 Cx, x
kRkA = B C A
= sup 2 = sup = sup . (5.34)
x6=0 |x|A x6=0 hAx, xi x6=0 hAx, xi

Suponha que B t + C é uma matriz simétrica, positiva definida. Temos

C t B −t AB −1 C = B t − A B −t AB −1 (B − A) = I − AB −t A I − B −1 A
  

= A − AB −t A + AB −1 A − AB −t AB −1 A


= A − AB −t B + B t − A B −1 A

t
= A − B −1 A B + B t − A B −1 A


ou t
C t B −t AB −1 C = A − B −1 A B t + C B −1 A,

(5.35)
de modo que C t B −t AB −1 C é uma matriz simétrica, positiva definida. Logo, por (5.34), mostrar que
kRkA < 1 é equivalente a provar que
C t B −t AB −1 C < A,
t
e por (5.35) C t B −t AB −1 C < A se e somente se B −1 A (B t + C) B −1 A > 0, o que é verdade porque B t +C
é positiva definida. 

5.3 Convergência dos Métodos Iterativos Lineares para as Matri-


zes de Discretização
5.3.1 Convergência do Método de Jacobi
n
P
5.10 Teorema. Se A é uma matriz irredutı́vel, diagonalmente dominante tal que |aii | > |aij | para pelo
j=1
j6=i
menos alguma linha i, então o método de Jacobi converge.
Prova. Seja D a parte diagonal da matriz A e R = D−1 (D − A) = I − D−1 A a matriz de iteração do
 para A. Suponha por absurdo que exista um autovalor λ de R tal que |λ| > 1. Como
método de Jacobi
λ det λ−1 R − I = det (R − λI) = 0, temos

det I − λ−1 R = 0.

Rodney Josué Biezuner 106

Por outro lado, observe que I − λ−1 R também é irredutı́vel, pois


(
0 se i = j,
Rij = I − D−1 A ij = aij

− se i 6= j,
aii
(
1 se i = j,
−1
−1 aij

I − λ R ij = λ se i 6= j,
aii
de modo que, onde A se anula, I − λ−1 R também se anula. Além disso, I −λ−1 R é diagonalmente dominante
−1
e estritamente dominante nas linhas onde A é, pois |λ| 6 1, I − λ−1 R ii = 1 e
n −1 n n
X |λ| X 1 X
I − λ−1 R

ij
= |aij | 6 |aij | .
j=1
|aii | j=1 |aii | j=1
j6=i j6=i j6=i

Mas, isso implica que I − λ−1 R é invertı́vel, uma contradição. 


O Teorema 5.10 mostra que o método de Jacobi converge para as matrizes de discretização obtidas através
dos esquemas de diferenças finitas do Capı́tulo 2.
Através do Teorema 5.10, fomos capazes de provar a convergência do método de Jacobi para as matrizes de
discretização sem calcular explicitamente os seus raios espectrais. Para analizar a velocidade de convergência
do método de Jacobi, no entanto, é necessário obter os raios espectrais destas matrizes. Vamos fazer isso
para as matrizes de discretização obtidas a partir da fórmula de três pontos unidimensional e a partir da
fórmula de cinco pontos bidimensional.
5.11 Teorema. Seja A a matriz de discretização obtida a partir da fórmula de três pontos unidimensional
ou a partir da fórmula de cinco pontos bidimensional com ∆x = ∆y. Seja R = D−1 (D − A) a matriz de
iteração do método de Jacobi. Então
π
ρ (R) = cos . (5.36)
n
Prova. Para o método de Jacobi, a matriz de discretização xk+1 = Rxk + D−1 b é obtida através da fórmula:
1 k
uk+1 + uki,j+1 + uki−1,j + uki+1,j .

i,j = u
4 i,j−1
Já vimos no Lema 2.2 que
−ukl kl kl kl kl 2
 kl
i−1,j − ui+1,j + 4ui,j − ui,j−1 − ui,j+1 = λkl ∆x ui,j
com  
2 kπ lπ
λkl = 2 − cos − cos .
∆x2 n n
Daı́ segue que
ukl kl kl kl 2
 kl
i,j−1 + ui,j+1 + ui−1,j + ui+1,j = 4 − λkl ∆x ui,j
Logo
1 kl
ui,j−1 + ukl kl kl kl

i,j+1 + ui−1,j + ui+1,j = µlk ui,j
4
para    
1 2 1 kπ lπ 1 kπ lπ
µlk = 1 − λkl ∆x = 1 − 2 − cos − cos = cos + cos .
4 2 n n 2 n n
Estes são os autovalores da matriz de iteração de Jacobi para a matriz de discretização obtida a partir da
fórmula de cinco pontos (observe que elas possuem os mesmos autovetores; no entanto R possui autovalores
nulos). Segue que o máximo autovalor ocorre quando k = l = 1, logo
π
ρ (R) = cos .
n
Rodney Josué Biezuner 107

O argumento para a fórmula de três pontos é análogo. 


Para o quadrado unitário temos
ρ (R) = cos (π∆x) . (5.37)
Vemos em particular que ρ (R) → 1 quando ∆x → 0, de modo que a velocidade de convergência do método
de Jacobi vai ficando cada vez menor para malhas mais refinadas. Podemos dizer mais usando a expansão
da função cosseno em torno da origem
1
cos x = 1 − x2 + O x4 ;

2
se ∆x é pequeno podemos aproximar

π2
cos (π∆x) ≈ 1 − ∆x2 ,
2
de modo que ρ (R) → 1 quadraticamente quando ∆x → 0. Em outras palavras, para uma malha duas vezes
mais refinada (isto é, ∆x reduzido pela metade), o método de Jacobi é cerca de quatro vezes mais vagaroso
em média (consulte novamente a tabela no final da seção anterior). A tabela abaixo mostra os valores do
raio espectral para alguns valores de ∆x:

∆x 0.1 0.05 0.025


ρ (R) 0.9511 0.9877 0.9969

Para ∆x = 0.025 (correspondente a uma matriz de tamanho n = 39 × 39 = 1521), temos

R∞ (R) = − log10 (0.9969) = 0.0013484,

de modo que para reduzir o erro pelo fator de uma casa decimal precisamos de
log10 0.1 1 1
m= =− = ≈ 742
log10 ρ (R) log10 ρ (R) 0.00135
iterações.

5.3.2 Convergência do Método de Gauss-Seidel


n
P
5.12 Teorema. Se A é uma matriz irredutı́vel, diagonalmente dominante tal que |aii | > |aij | para pelo
j=1
j6=i
menos alguma linha i, então o método de Gauss-Seidel converge.
Prova. Sejam D a parte diagonal, −L a parte triangular inferior estrita e −U a parte triangular superior
−1
estrita da matriz A, e seja R = (D − L) U a matriz de iteração do método de Gauss-Seidel para A.
Escrevemos −1
−1
R = (D − L) U = D I − D−1 L

U
ou −1 −1
R = I − D−1 L D U. (5.38)
Suponha por absurdo que exista um autovalor λ de R tal que |λ| > 1; como na demonstração do Teorema
3.9, temos  h −1 −1 i
det I − λ−1 R = det I − λ−1 I − D−1 L

D U = 0.

Agora, observando que


det I − D−1 L = 1

Rodney Josué Biezuner 108

porque I − D−1 L é uma matriz triangular inferior com apenas 1’s na diagonal principal, escrevemos
 h −1 −1 i
0 = det I − λ−1 I − D−1 L D U
 h −1 −1 i
= det I − D−1 L det I − λ−1 I − D−1 L

D U
n  h −1
io
= det I − D−1 L I − λ−1 I − D−1 L D−1 U
 

= det I − D−1 L − λ−1 D−1 U .




Por outro lado,


D−1 A = I − D−1 L − D−1 U
é irredutı́vel, diagonalmente dominante e estritamente dominante nas linhas onde A é porque
(
1 se i = j,
−1 aij

D A ij = se i 6= j.
aii
Logo, a matriz I − D−1 L − λ−1 D−1 U também satisfaz estas propriedades, pois I, −D−1 L e −D−1 U são
respectivamente a parte diagonal, a parte triangular inferior estrita e a parte triangular superior estrita da
matriz D−1 A, e multiplicar a parte triangular inferior estrita pelo número λ−1 cujo módulo é menor que ou
igual a 1 não alterará a dominância diagonal (na verdade só tende a melhorá-la) nem acrescentará zeros à
matriz. Isso implica então que I − D−1 L − λ−1 D−1 U é invertı́vel, um absurdo. 
Usando o Teorema 5.12, concluı́mos que o método de Gauss-Seidel converge para as matrizes de discretização
obtidas através dos esquemas de diferenças finitas do Capı́tulo 2. Para analizar a velocidade de convergência
do método de Gauss-Seidel, vamos obter os raios espectrais para as matrizes de discretização obtidas a partir
da fórmula de três pontos unidimensional e a partir da fórmula de cinco pontos bidimensional.
5.13 Teorema. Seja A a matriz de discretização obtida a partir da fórmula de três pontos unidimensional
−1
ou a partir da fórmula de cinco pontos bidimensional com ∆x = ∆y. Seja R = (D − L) U a matriz de
iteração do método de Gauss-Seidel. Então
π
ρ (R) = cos2 . (5.39)
n
Prova. Para obter o raio espectral da matriz de iteração R, queremos encontrar os autovalores µ de R:
−1
Ru = (D − L) U u = µu,

ou seja,
U u = µ (D − L) u
(um problema de autovalor generalizado). No caso da matriz de discretização da fórmula de cinco pontos,
isso significa encontrar µ tal que

ui,j+1 + ui+1,j = µ (4ui,j − ui,j−1 − ui−1,j ) . (5.40)

Para os autovalores não-nulos, podemos fazer a substituição


i+j
ui,j = µ 2 vi,j (5.41)

para transformar a equação de autovalor naquela que aparece no método de Jacobi. Temos
i+j+1 i+j+1
 i+j i+j−1 i+j−1

µ 2 vi,j + µ 2 vi+1,j = µ 4µ 2 vi,j − µ 2 vi,j−1 − µ 2 vi−1,j
i+j+2 i+j+1 i+j+1
= 4µ 2 vi,j − µ 2 vi,j−1 − µ 2 vi−1,j ,
Rodney Josué Biezuner 109

i+j+1
de modo que, dividindo por µ 2 , obtemos

vi−1,j + vi+1,j + vi,j−1 + vi,j+1 = µ1/2 4vi,j .

Portanto os autovalores da matriz de iteração de Gauss-Seidel para esta matriz são exatamente os quadrados
dos autovalores da matriz de iteração de Jacobi (e os autovetores são os mesmos):
 2
1 kπ lπ
µlk = cos + cos .
4 n n
Portanto, o máximo autovalor ocorre quando k = l = 1 e
π
ρ (R) = cos2 .
n
O argumento para a fórmula de três pontos é análogo. 
Para o quadrado unitário temos
ρ (R) = cos2 (π∆x) ,
e usando
 2
 
1
cos2 x = 1 − x2 + O x4 = 1 − x2 + O x4 ,

2
se ∆x é pequeno podemos aproximar

cos2 (π∆x) ≈ 1 − π 2 ∆x2 .

No método de Gauss-Seidel ainda temos ρ (R) → 1 quadraticamente quando ∆x → 0, mas a sua velocidade
de convergência para a matriz de discretização de cinco pontos do quadrado unitário é duas vezes maior que
a do método de Jacobi. Para ver isso, faça a expansão do logaritmo em torno do ponto x = 1:

log (1 + x) = x + O ∆x2 .


Segue que
π2
∆x2 + O ∆x4 ,

R∞ (RJacobi ) = (5.42)
2
R∞ (RGauss-Seidel ) = π 2 ∆x2 + O ∆x4 .

(5.43)

5.3.3 Convergência do Método SOR


5.14 Teorema. Se o método SOR converge, então

0 < ω < 2.

Prova. A matriz de iteração do método SOR é


−1 
 −1 1 − ω
     
1 1−ω 1 −1
R= D−L D+U = D I − ωD L D+U
ω ω ω ω
 
−1 1−ω
= I − ωD−1 L ωD−1 D+U
ω
ou −1 
R = I − ωD−1 L (1 − ω) I + ωD−1 U .

(5.44)
Se λ1 , . . . , λn são os autovalores de R, então

det R = λ1 . . . λn .
Rodney Josué Biezuner 110

Mas,
n −1  o
det R = det I − ωD−1 L (1 − ω) I + ωD−1 U
−1
= det I − ωD−1 L det (1 − ω) I + ωD−1 U
 
n
= (1 − ω) ,
já que I − ωD−1 L é uma matriz triangular inferior com apenas 1 na diagonal principal e (1 − ω) I + ωD−1 U
é uma matriz triangular superior com apenas 1 − ω na diagonal principal. Logo
n
λ1 . . . λn = (1 − ω) .
Em particular, pelo menos um dos autovalores λj de R deve satisfazer
|λj | > |1 − ω| .
Mas, se o método SOR converge, devemos ter também |λ| < 1 para todo autovalor λ de R. Logo
|1 − ω| < 1,
donde
0 < ω < 2.

5.15 Corolário. Se R é a matriz de iteração n × n para o método SOR, então
n
det R = (1 − ω) .
Em particular, diferente das matrizes de iteração dos métodos de Jacobi e de Gauss-Seidel (para a matriz de
discretização de cinco pontos), zero não é um autovalor para a matriz de iteração do método SOR se ω 6= 1
(para nenhuma matriz).
n
P
5.16 Teorema. Se A é uma matriz irredutı́vel, diagonalmente dominante tal que |aii | > |aij | para pelo
j=1
j6=i
menos alguma linha i, então o método SOR converge se 0 < ω 6 1.
Prova. A demonstração é análoga à do Teorema 5.12. A matriz de iteração do método SOR é
−1 
R = I − ωD−1 L (1 − ω) I + ωD−1 U .


Suponha por absurdo que exista um autovalor λ de R tal que |λ| > 1; temos
 n −1  o
det I − λ−1 R = det I − λ−1 I − ωD−1 L (1 − ω) I + ωD−1 U

= 0.

Agora, observando que


det I − ωD−1 L = 1


porque I − ωD−1 L é uma matriz triangular inferior com apenas 1’s na diagonal principal, escrevemos
 n −1  o
0 = det I − λ−1 I − ωD−1 L (1 − ω) I + ωD−1 U
 n −1  o
= det I − ωD−1 L det I − λ−1 I − ωD−1 L (1 − ω) I + ωD−1 U

h  n −1  oi
= det I − ωD−1 L I − λ−1 I − ωD−1 L (1 − ω) I + ωD−1 U
= det I − ωD−1 L − λ−1 (1 − ω) I + ωD−1 U
 

= det 1 − λ−1 (1 − ω) I − ωD−1 L − λ−1 ωD−1 U .


 
Rodney Josué Biezuner 111

Por outro lado, como vimos na demonstração do Teorema 5.12, a matriz

D−1 A = I − D−1 L − D−1 U

é irredutı́vel, diagonalmente dominante e estritamente dominante nas linhas onde A é, logo a matriz

S = 1 − λ−1 (1 − ω) I − ωD−1 L − λ−1 ωD−1 U


 

também satisfaz estas propriedades. De fato, S tem zeros nas mesmas posições que I − D−1 L − D−1 U , logo
a sua irredutibilidade não é afetada. Além disso, pela dominância diagonal de D−1 A, sabemos que se

bij = D−1 L ij ,


cij = D−1 U ij .


então
i−1
X n
X
1> |bij | + |cij | .
j=1 j=i+1

Para provar a dominância diagonal de S, observamos que os valores que S possui na diagonal principal são
1−ω λ+ω−1
1 − λ−1 (1 − ω) = 1 − = ,
λ λ
de modo que precisamos provar que
i−1 n
λ+ω−1 X ω X
>ω |bij | + |cij |
λ j=1
|λ| j=i+1

se 0 < ω 6 1 e |λ| > 1. Provaremos que

λ+ω−1
> ω,
λ
λ+ω−1 ω
> .
λ |λ|

Para isso, observe que como |λ| > 1 basta provar a primeira desigualdade, a qual por sua vez é equivalente a

|λ + ω − 1| > |λ| ω.

É fácil ver que esta desigualdade é válida quando λ ∈ R, pois

|λ + ω − 1| = λ + ω − 1 > λω porque λ − 1 > λω − ω = ω (λ − 1) .

Para o caso geral em que λ ∈ C, fazemos cair no caso real escrevendo


2 2 2 2
|λ + ω − 1| = |λ − (1 − ω)| = |λ| − 2 (Re λ) (1 − ω) + (1 − ω)
2 2 2
> |λ| − 2 |λ| (1 − ω) + (1 − ω) = [|λ| − (1 − ω)]
2 2
= [|λ| + ω − 1] > |λ| ω 2 .

O resultado acima continua valendo com desigualdade estrita nas linhas onde a desigualdade é estrita. Isso
implica então que S é invertı́vel, contradizendo det S = 0. 
5.17 Teorema. Seja A uma matriz simétrica positiva definida. Então o método SOR converge se 0 < ω < 2.
Rodney Josué Biezuner 112

Prova. Usaremos o Teorema 5.9. Escrevendo A = D − L − U , temos Lt = U porque A é simétrica e as


entradas diagonais de D positivas porque A é positiva definida. Para o método SOR temos
1 1−ω
B= D−L e C= D + U,
ω ω
logo
1 1−ω 2−ω
Bt + C = D − Lt + D+U = D
ω ω ω
é uma matriz simétrica positiva definida se 0 < ω < 2. 
Na verdade, se as entradas diagonais de uma matriz simétrica são positivas, a condição de ser definida
positiva é equivalente à convergência do método SOR para 0 < ω < 2, como o próximo resultado mostra.
5.18 Teorema. Seja A uma matriz simétrica com entradas diagonais positivas. Então o método SOR
converge se e somente se A é positiva definida e 0 < ω < 2.
Prova. Assuma que A é positiva definida e que 0 < ω < 2. Seja
−1 
R = I − ωD−1 L (1 − ω) I + ωD−1 U


a matriz de iteração do método SOR. Se λ é um autovalor de R e x um autovetor associado, temos Rx = λx,


donde
(1 − ω) I + ωD−1 U x = λ I − ωD−1 L x.
  

Fazendo o produto interno canônico (hermitiano) de Cn de ambos os lados com o vetor x, segue que

(1 − ω) hx, xi + ω x, D−1 U x = λ hx, xi − ω x, D−1 Lx




Isolando λ,
(1 − ω) hx, xi + ω x, D−1 U x
λ= . (5.45)
hx, xi − ω hx, D−1 Lxi
Como A é simétrica, o produto de matrizes simétricas D−1 A = I − D−1 U − D−1 L também é; como
D−1 U, D−1 L são respectivamente a parte estritamente triangular superior e estritamente triangular infe-
rior de uma matriz simétrica, temos
t
D−1 U = D−1 L.
Logo D E
t
x, D−1 U x = D−1 U D−1 L x, x = hx, (D−1 L) xi,

x, x =

e definindo
x, D−1 L x

z= ,
hx, xi
podemos escrever
(1 − ω) + ωz
λ= . (5.46)
1 − ωz
Os argumentos acima assumem que o denominador é não-nulo. E, de fato, temos
 !
x, D−1 L x x, D−1 U x 1 x, D−1 L + D−1 U x
 
1 1
Re z = (z + z) = + =
2 2 hx, xi hx, xi 2 hx, xi
!
1 x, I − D−1 A x x, D−1 A x
 
1
= = 1− .
2 hx, xi 2 hx, xi
Rodney Josué Biezuner 113

e como A é positiva definida, D−1 A também é, o que implica

x, D−1 A x

>0
hx, xi

donde
1
.
Re z <
2
de modo que a parte real do denominador 1 − ωz de λ é não-nula para 0 < ω < 2. Segue que
2 2
2 [(1 − ω) + ωz] [(1 − ω) + ωz] (1 − ω) + 2ω (1 − ω) Re z + ω 2 |z|
|λ| = λλ = = 2
(1 − ωz) (1 − ωz) 1 − 2ω Re z + ω 2 |z|
2
ω 2 − 2ω 2 Re z − 2ω + 4ω Re z + 1 − 2ω Re z + ω 2 |z|
= 2
1 − 2ω Re z + ω 2 |z|
ω (2 − ω) (1 − 2 Re z)
=1− 2 .
1 − 2ω Re z + ω 2 |z|
1
Como 0 < ω < 2 e Re z < , temos
2
ω (2 − ω) (1 − 2 Re z) > 0,
e concluı́mos que
|λ| < 1
para todo autovalor λ de R, logo o método SOR converge. A demonstração da recı́proca (assim como uma
demonstração alternativa, variacional, deste teorema) pode ser vista em [Young]. 
Usando o Teorema 5.16, concluı́mos que o método SOR converge para as matrizes de discretização obtidas
através dos esquemas de diferenças finitas do Capı́tulo 2 se 0 < ω 6 1. Isso permite apenas subrelaxamento
do método de Gauss-Seidel, o que em geral reduz a velocidade de convergência. Por outro lado, usando o
Teorema 5.17 ou o Teorema 5.18, concluı́mos que o método SOR converge para as matrizes de discretização
obtidas a partir da fórmula de três pontos unidimensional e a partir da fórmula de cinco pontos bidimensional
se 0 < ω < 2, já que estas são matrizes simétricas, positivas definidas (já as matrizes de discretização obtidas
através de coordenadas polares ou pelo esquema de Shortley-Weller não são simétricas, em geral, como
vimos).
Em seguida fazemos uma análise da velocidade de convergência do método SOR para a matriz de discre-
tização da fórmula de cinco pontos, bem como obtemos o melhor valor do fator de relaxamento ω para este
caso.
5.19 Lema. Seja A a matriz de discretização obtida a partir da fórmula de três pontos unidimensional ou
a partir da fórmula de cinco pontos bidimensional com ∆x = ∆y. Se λ 6= 0 é um autovalor de RSOR , então
existe um autovalor λJ de RJ tal que
1−ω−λ
λJ = . (5.47)
λ1/2 ω 2
Reciprocamente, se λJ é um autovalor de RJ e λ ∈ C satisfaz a equação acima, então λ é um autovalor de
RSOR .
Prova. Argumentamos como na demonstração do Teorema 5.13. Para obter o raio espectral da matriz de
iteração RSOR , queremos encontrar os autovalores λ de RSOR :
−1 
RSOR u = I − ωD−1 L (1 − ω) I + ωD−1 U u = λu,


ou seja,
(1 − ω) I + ωD−1 U u = λ I − ωD−1 L u
  
Rodney Josué Biezuner 114

No caso da matriz de discretização da fórmula de cinco pontos, isso significa encontrar λ tal que
ω ω  ω ω 
(1 − ω) ui,j + ui,j+1 + ui+1,j = λ ui,j − ui,j−1 − ui−1,j
4 4 4 4
ou
1−ω−λ 1
ui,j = (ui,j+1 + ui+1,j + λui,j−1 + λui−1,j ) . (5.48)
ω 4
Fazendo a substituição
i+j
ui,j = λ 2 vi,j
i+j+1
e dividindo por µ 2 , segue que
1−ω−λ
vi−1,j + vi+1,j + vi,j−1 + vi,j+1 = 4vi,j
λ1/2 ω
e daı́ o resultado.  √ p 2
Resolvendo a equação (5.47) como uma equação quadrática em λ, vemos que as duas raı́zes λ± = λ±
podem ser escritas na forma
 2
1
q
λ± = −ωλJ ± ω 2 λ2J − 4 (ω − 1) . (5.49)
4
Denotaremos
Λω,λJ = max (|λ+ | , |λ− |) (5.50)
e por λJ = ρ (RJ ) o maior autovalor do método de Jacobi.
5.20 Proposição. Seja A a matriz de discretização obtida a partir da fórmula de três pontos unidimensional
ou a partir da fórmula de cinco pontos bidimensional com ∆x = ∆y. Então

ρ (RSOR,ω ) = Λω,λJ (5.51)

Prova. Por definição,


ρ (RSOR,ω ) = max Λω,λJ .
λJ

De (5.49) segue que


q 2
1 2
Λω,λJ = ωλJ + ω 2 λJ − 4 (ω − 1) .
4
2
Se 0 < ω 6 1, ω 2 λJ − 4 (ω − 1) > 0 e Λω,λJ é uma função crescente de λJ , logo o máximo é atingido em λJ .
Se ω > 1, defina r
4 (ω − 1)
λc = .
ω2
2 2
Se λJ > λc , ω 2 λJ − 4 (ω − 1) > 0 e segue a conclusão como no caso anterior. Se λJ 6 λc , então ω 2 λJ −
4 (ω − 1) 6 0 e q q
2 2
ω λJ − 4 (ω − 1) = 4 (ω − 1) − ω 2 λJ i,
2


onde i = −1, logo
q 2 r 2
2
h 2
i
Λω,λJ = ωλJ + ω 2 λJ − 4 (ω − 1) = ω 2 λ2J + 4 (ω − 1) − ω 2 λJ

= ω − 1,

e novamente Λω,λJ é uma função crescente de λJ . 


Rodney Josué Biezuner 115

Defina
2
ωótimo = q . (5.52)
2
1 + 1 − λJ
Note que 1 < ωótimo < 2. Mostraremos que ωótimo é de fato o melhor valor para o fator de relaxamento no
método SOR. Antes precisamos do seguinte resultado:
5.21 Proposição. Seja A a matriz de discretização obtida a partir da fórmula de três pontos unidimensional
ou a partir da fórmula de cinco pontos bidimensional com ∆x = ∆y. Então
  2
 1
q
2
ωλ + ω 2 λ − 4 (ω − 1) se 0 < ω 6 ωótimo ,
ρ (RSOR,ω ) = J J (5.53)
 4
ω−1 se ωótimo 6 ω < 2.
2
Prova. Temos ω 2 λJ − 4 (ω − 1) > 0 para 0 < ω < 2 se e somente se ω 6 ωótimo . De fato, as raı́zes de
2
f (ω) = ω 2 λJ − 4ω + 4 são q
2
4 ± 4 1 − λJ
 q 
2 2
ω± = 2 = 2 1 ± 1 − λJ
2λJ λJ
de modo que a raiz positiva de f é maior que 2, logo para que f (ω) > 0 se 0 < ω < 2, devemos ter
 2

2
 q
2

2 1 − 1 − λ J 2
ω 6 2 1 − 1 − λJ = 2 q = q .
λJ λJ 1 + 1 − λ 2 2
J 1 + 1 − λJ

O resultado segue então como na demonstração da proposição anterior. 

5.22 Teorema. Seja A a matriz de discretização obtida a partir da fórmula de três pontos unidimensional
ou a partir da fórmula de cinco pontos bidimensional com ∆x = ∆y. Então o fator de relaxamento ótimo
para o método SOR é dado por
2
ωótimo = π (5.54)
1 + sen
n
é o fator de relaxamento ótimo para o método SOR.
2
Prova. Se 0 < ω 6 ωótimo , então ω 2 λJ − 4 (ω − 1) > 0 e
q
2 2
λJ ω 2 λJ − 4 (ω − 1) + ωλJ − 2
 q 
d 2
ωλJ + ω 2 λJ − 4 (ω − 1) = q .
dω 2
2
ω λJ − 4 (ω − 1)
2
Temos ωλJ − 2 < 0, porque 0 < ω < 2 e λJ < 1, e
q
2 2
ωλJ − 2 > λJ ω 2 λJ − 4 (ω − 1),

pois

2 2 4 2 4 2 2 4 2
ωλJ − 2 = ω 2 λJ − 4λJ ω + 4 > ω 2 λJ − 4λJ ω + 4λJ > ω 2 λJ − 4λJ (ω − 1)
 q 2
2
= λJ ω 2 λJ − 4 (ω − 1) .
Rodney Josué Biezuner 116

Isso implica  q 
d 2
ωλJ + ω 2 λJ − 4 (ω − 1) < 0,

logo ρ (RSOR,ω ) é decrescente de 0 até ωótimo . Para ωótimo 6 ω < 2, ρ (RSOR,ω ) = ω − 1 é claramente
crescente. Portanto, ρ (RSOR,ω ) atinge o seu mı́nimo em ωótimo .
Pelo Teorema 5.11, temos
π
λJ = cos ,
n
logo
2 2 2
ωótimo = q = r = π.
2 π 1 + sen
1 + 1 − λJ 1 + 1 − cos 2
n
n

Para o quadrado unitário temos
2
ωótimo =
1 + sen (π∆x)
e conseqüentemente
2 1 − sen (π∆x)
ρ (RSOR,ω ) = −1= .
1 + sen (π∆x) 1 + sen (π∆x)
e usando
1−x
= 1 − 2x + O x2 ,

1+x
sen x = x + O x3 ,


se ∆x é pequeno podemos aproximar

1 − sen (π∆x)
≈ 1 − 2π∆x + O ∆x2 .

1 + sen (π∆x)

Portanto, usando o valor ótimo de ω no método SOR, temos ρ (R) → 1 linearmente quando ∆x → 0, um
resultado muito melhor que o obtido nos métodos de Jacobi e de Gauss-Seidel. Para uma comparação mais
precisa, usando
log (1 + x) = x + O ∆x2


temos que
R∞ (RSOR ) = 2π∆x + O ∆x2 .

(5.55)
Segue que
R∞ (RSOR ) 2π∆x 2
≈ 2 2 = .
R∞ (RGauss-Seidel ) π ∆x π∆x
Em particular, se ∆x = 0.025, temos ωótimo = 1. 8545 e R∞ (RSOR ) /R∞ (RGauss-Seidel ) = 25.5, isto é, o
método SOR é 25 vezes mais rápido que o método de Gauss-Seidel. Quanto mais refinada a malha, maior é
a diferença na velocidade de convergência entre os dois métodos.

5.3.4 Convergência do Método de Jacobi Amortecido


5.23 Teorema. Se o método de Jacobi converge, então o método de Jacobi amortecido converge para

0 < ω 6 1.
Rodney Josué Biezuner 117

Prova. Vamos escrever a matriz de iteração RJ,ω do método de Jacobi amortecido em função da matriz de
iteração do método de Jacobi RJ . Temos

RJ = D−1 (D − A)

de modo que
 −1      
1 1 1 1
RJ,ω = D D − A = ωD−1 D − D + D − A = ωD−1 D − D + ωD−1 (D − A)
ω ω ω ω
donde
RJ,ω = (1 − ω) I + ωRJ . (5.56)
Em particular,
RJ v = λv
se e somente se
[RJ,ω − (1 − ω) I] v = ωλv.
Portanto, λJ é um autovalor de RJ se e somente se

λJ,ω = ωλJ + 1 − ω (5.57)

é um autovalor de RJ,ω . Logo, se todo autovalor de RJ satisfaz |λJ | < 1 (isto é, ρ (RJ ) < 1 equivalente ao
método de Jacobi convergir) e ω < 1, então
2 
|λJ,ω | = (ωλJ + 1 − ω) ωλJ + 1 − ω
2 2
= ω 2 |λJ | + 2 Re λJ ω (1 − ω) + (1 − ω)
2 2
6 ω 2 |λJ | + 2 |λJ | ω (1 − ω) + (1 − ω)
2
= (ω |λJ | + 1 − ω)
< 1.


Segue do Teorema 5.9 que o método de Jacobi amortecido converge para as matrizes de discretização do
Capı́tulo 1 se 0 < ω 6 1.
5.24 Corolário.
ρ (RJ,ω ) = ω [ρ (RJ ) − 1] + 1. (5.58)
Para o quadrado unitário temos
ρ (RJ,ω ) = ω [cos (π∆x) − 1] + 1. (5.59)
Usando
1
cos x = 1 − x2 + O x4 ,

2
log (1 + x) = x + O ∆x2 ,


se ∆x é pequeno podemos aproximar


π2
∆x2 + O ∆x4 ,

ρ (RJ,ω ) ≈ 1 − ω
2
π2
R∞ (RJ,ω ) ≈ ω ∆x2 .
2
Vemos que a velocidade de convergência do método de Jacobi amortecido é da mesma ordem que a do método
de Jacobi, um pouco pior para valores de ω próximos de 1 e muito pior para valores de ω próximos de 0.
Rodney Josué Biezuner 118

5.3.5 Resumo
Método ρ (R) R∞ (R)
π2 
Jacobi cos (π∆x) ∆x2 + O ∆x4
2

Gauss-Seidel cos2 (π∆x) π 2 ∆x2 + O ∆x4
 
SOR ótimo 1 − 2π∆x + O ∆x2 2π∆x + O ∆x2

π2  π2 
Jacobi amortecido 1−ω ∆x2 + O ∆x4 ω ∆x2 + O ∆x4
2 2

5.4 Método do Gradiente Conjugado


Nesta seção, A será sempre uma matriz real simétrica, positiva definida. Neste caso, a resolução do sistema
Ax = b é equivalente à resolução de um problema de minimização de um funcional quadrático:
5.25 Teorema (Método Variacional para a Resolução de Sistemas Lineares). Seja A ∈ Mn (R) uma matriz
simétrica positiva definida e b ∈ Rn . Então a solução do sistema

Ax = b

é o único ponto x que minimiza o funcional quadrático


1 t
f (y) = y Ay − y t b. (5.60)
2
Prova: Uma matriz simétrica positiva definida é invertı́vel, logo existe uma única solução x para o sistema
Ax = b. Para provar o teorema, começamos observando que, como y t Ax ∈ R é um escalar, temos
t
y t Ax = y t Ax = xt At y = xt Ay.

Daı́,
1 t 1
f (y) − f (x) = y Ay − y t b − xt Ax + xt b
2 2
1 t 1
= y Ay − y t Ax − xt Ax + xt Ax
2 2
1 t 1
= y Ay − y t Ax + xt Ax
2 2
1 t 1 1 1
= y Ay − y t Ax − xt Ay + xt Ax
2 2 2 2
1 t 1 t
= y A (y − x) − x A (y − x)
2 2
ou
1 t
f (y) − f (x) = (y − x) A (y − x) . (5.61)
2
Como A é positiva definida, segue que
t
(y − x) A (y − x) = hA (y − x) , (y − x)i > 0

e
t
(y − x) A (y − x) = 0
Rodney Josué Biezuner 119

se e somente se y = x. Portanto,
f (y) > f (x)
para todo y 6= x e o mı́nimo de f ocorre em x. 
Em muitos problemas, o funcional f tem significado fı́sico, correspondente a um funcional de energia que
quando é minimizado corresponde a um estado de equilı́brio do sistema. Observe que definindo um produto
interno a partir da matriz simétrica positiva definida A da maneira usual por hv, wiA = v t Aw e considerando
1/2
a norma induzida kvkA = hv, viA , o funcional f pode ser escrito na forma
1
f (y) = hy, Ayi − hy, Axi (5.62)
2
ou
1 2
kykA − hy, xiA .
f (y) = (5.63)
2
Outra maneira de enxergar o resultado do teorema anterior é observar que o gradiente do funcional f é
∇f (y) = Ay − b. (5.64)
Se x é um ponto de mı́nimo temos ∇f (x) = 0, ou seja,
Ax = b.
Este método variacional é a base dos métodos iterativos de descida em geral, e do método do gradiente
conjugado em particular. A idéia é usar as idéias do cálculo diferencial para encontrar o mı́nimo do funcional
quadrático f .

5.4.1 Métodos de Descida


A filosofia dos métodos de descida é começar com um chute inicial x0 e gerar uma seqüência de iterados
x1 , x2 , . . . , xk , . . . que satisfazem
f xk+1 6 f xk
 

ou, melhor ainda,


f xk+1 < f xk
 

de tal modo que xk convirja para o minimizador de  f . Em outras palavras, em um método de descida
buscamos encontrar uma seqüência minimizante xk que convirja para a solução do sistema.
O passo de xk para xk+1 envolve dois ingredientes: (1) uma direção de busca e (2) um avanço de
comprimento especificado na direção de busca. Uma direção de busca significa a escolha de um vetor pk que
indicará a direção que avançaremos de xk para xk+1 . O comprimento do avanço é equivalente à escolha de
um escalar αk multiplicando o vetor pk . Assim,
xk+1 = xk + αk pk .
A escolha de αk é também chamada uma busca na reta, já que queremos escolher um ponto na reta
 k
x + αpk : α ∈ R
tal que
f xk + αpk 6 f xk .
 

Idealmente, gostarı́amos de escolher αk de tal modo que


f xk+1 = f xk + αk pk = min f xk + αpk
  
α∈R

Esta é chamada uma busca na reta exata. Para funcionais quadráticos, a busca na reta exata é trivial e
obtemos uma fórmula para o valor de αk , como veremos a seguir. Denotaremos o resı́duo em cada iteração
por
rk = b − Axk . (5.65)
Rodney Josué Biezuner 120

5.26 Proposição. Seja αk ∈ R tal que

f xk + αk pk = min f xk + αpk .
 
α∈R

Então t
pk rk pk , rk
αk = t = . (5.66)
(pk ) Apk hpk , Apk i
Prova: Considere o funcional
g (α) = f xk + αpk .


g é um polinômio quadrático em α, pois


1 k t t
x + αpk A xk + αpk − xk + αpk b

g (α) =
2
1 k t t α k t k α k t α 2 k t k t
= x Axk − xk b + x Ap + p Axk + p Ap − α pk b
2 2 2 2
α 2 k t k
 
k
 1 k t k 1 k t k k t

=f x +α p Ax + p Ax − p b + p Ap
2 2 2
t α 2 k t k
= f xk − α pk Ark +

p Ap ,
2
portanto o mı́nimo de g é atingido no vértice −B/2A da parábola Y = AX 2 + BX + C. 
t
Observe que αk = 0 se e somente se pk rk = 0, isto é, a direção de busca é ortogonal ao resı́duo. Como
gostarı́amos sempre que possı́vel de ter xk+1 6= xk , devemos sempre escolher a direçãode busca de forma a
não ser ortogonal a rk . Se esta escolha é feita, então teremos sempre f xk+1 < f xk .
5.27 Exemplo (Método de Gauss-Seidel). Considere o método de descida em que as primeiras n direções
de busca p1 , . . . , pn são os vetores e1 , . . . , en da base canônica de Rn , e isso é repetido a cada n iterações,
de modo que pk+n = ek para todo k = 1, . . . , n, com uma busca na reta exata executada em cada iteração.
Então cada grupo de n iterações corresponde a uma iteração do método de Gauss-Seidel. 
5.28 Exemplo (Método SOR). Usando as mesmas direções de busca do exemplo anterior, mas com xk+1 =
xk + ωαk pk , ω 6= 1, obtemos um método de descida em que as buscas nas retas são inexatas. Cada grupo de
n iterações corresponde a uma iteração do método SOR. 

5.4.2 Método da Descida Mais Acentuada


Do Cálculo Diferencial, sabemos que a direção em que a função cresce a uma taxa mais rápida a partir de
um ponto é a direção do gradiente neste ponto. Esta observação é a base da escolha da direção de busca no
método da descida mais acentuada. Em outras palavras, escolhemos

pk = −∇f xk = b − Axk


ou
pk = rk . (5.67)
Buscar na direção da descida mais acentuada é uma idéia natural, mas que na prática não funciona sem
modificações. De fato, em alguns casos o método é de velocidade comparável à do método de Jacobi, como
na matriz de discretização da fórmula de cinco pontos aplicada ao problema descrito na primeira seção deste
capı́tulo [Watkins]:

∆x = 0.1 ∆x = 0.05 ∆x = 0.025


Jacobi 299 1090 3908
Descida Mais Acentuada 304 1114 4010
Rodney Josué Biezuner 121

De fato, como as iterações do método de descida mais acentuada são bem mais custosas que as do método
de Jacobi, o primeiro é muito pior que este último.
Para entender melhor o método da descida mais acentuada, porque ele pode ser lento e as modificações que
vamos fazer para torná-lo mais rápido levando ao método do gradiente conjugado, vamos entender o processo
do ponto de vista geométrico. Como vimos na demonstração do Teorema 5.25, o funcional quadrático f é
da forma
1 t
f (y) = (y − x) A (y − x) + c (5.68)
2
onde c = f (x) = 21 xt Ax − xt b é uma constante. Já que A é uma matriz simétrica, existe uma matriz
ortogonal P tal que P t AP é uma matriz diagonal D , cujos valores na diagonal principal são exatamente os
autovalores positivos de A. Nas coordenadas

z = P t (y − x) ,

o funcional f tem a forma


n
1 t 1X
f (z) = z Dz + c = λi zi2 + c. (5.69)
2 2 i=1

As curvas de nı́vel do funcional f neste sistema de coordenadas são elipses (em R2 , elipsóides em R3 e
hiperelipsóides em Rn ) centradas na origem com eixos paralelos aos eixos coordenados e f (0) = c é nı́vel
mı́nimo de f ; elipses correspondentes a menores valores de f estão dentro de elipses correspondentes a
maiores valores de f . Como P é uma aplicação ortogonal, as curvas de nı́vel de f no sistema de coordenadas
original também são elipses, centradas em x, e uma reta de um ponto y até o ponto x corta elipses de nı́veis
cada vez menores até chegar ao mı́nimo da função f em x, centro de todas as elipses. O vetor gradiente é
perpendicular às curvas de nı́vel, logo é perpendicular às elipses. Seguir a direção de descida mais acentuada
equivale a cortar a elipse que contém xk ortogonalmente na direção do interior da elipse até encontrar um
ponto xk+1 situado em uma elipse que a reta tangencie, pois a partir daı́ a reta irá na direção de elipses com
nı́veis maiores, portanto este é o ponto da reta onde f atinge o seu mı́nimo. Em particular, vemos que a
próxima direção pk+1 é ortogonal à direção anterior pk , tangente a esta elipse. Em geral, a direção de descida
mais acentuada não é a direção de x (quando bastaria uma iteração para atingir a solução exata) a não ser
que A seja um múltiplo escalar da identidade, de modo que todos os autovalores de A são iguais e as elipses
são cı́rculos. Por outro lado, se os autovalores de A têm valores muito diferentes uns dos outros, com alguns
muito pequenos e alguns muito grandes, as elipses serão bastante excêntricas e, dependendo do chute inicial,
a convergência pode ser muito lenta (matrizes com estas propriedades são chamadas mal-condicionadas; para
que o método de descida acentuada seja lento, a matriz A não precisa ser muito mal-condicionada).
Como vimos na seção anterior, os algoritmos de Gauss-Seidel e SOR podem ser encarados como algoritmos
de descida. A discussão no parágrafo anterior também pode ser usada para entender a relativa lentidão destes
algoritmos.

5.4.3 Método do Gradiente Conjugado


Todos os métodos iterativos que vimos neste capı́tulo são limitados pela sua falta de memória, no sentido de
que apenas informação sobre xk é usada para obter xk+1 . Toda a informação sobre as iterações anteriores é
deletada. O método do gradiente conjugado é uma variação simples do método da descida mais acentuada
que funciona melhor porque a informação obtida através das iterações anteriores é utilizada.
Para entender brevemente como isso funciona, observe que depois de j iterações xk+1 = xk + αk pk de
um método de descida temos

xj = x0 + α0 p0 + α1 p1 + . . . + αj−1 pj−1 ,

de modo que xj está no subespaço afim gerado pelo chute inicial x0 e pelos vetores p0 , p1 , . . . , pj−1 .
Enquanto o método da descida mais acentuada minimiza o funcional de energia f apenas ao longo das j
Rodney Josué Biezuner 122

retas xk + αk pk , cuja união constitui apenas um pequeno subconjunto de x0 + p0 , p1 , . . . , pj−1 , o método


do gradiente conjugado minimiza f sobre todo o subespaço afim x0 + p0 , p1 , . . . , pj−1 .
Para definir as direções de busca do método do gradiente conjugado (que é, antes de mais nada, um
método de descida), lembramos que o funcional f foi escrito na forma
1 2
f (y) = kykA − hy, xiA .
2
Defina o erro
e = x − y. (5.70)
Pela regra do paralelogramo, temos
2 2 2 2
kx + ykA + kx − ykA = 2 kxkA + 2 kykA ,

donde
2 2 2 2 2
2 kykA = kx − ykA + kxkA + 2 hy, xiA + kykA − 2 kxkA
2 2 2
= kx − ykA + 2 hy, xiA − kxkA + kykA ,

ou
2 2 2
kykA − 2 hy, xiA = kx − ykA − kxkA .
Logo, podemos escrever
1 2 1 2
kekA − kxkA .
f (y) = (5.71)
2 2
Conseqüentemente, minimizar o funcional f é equivalente a minimizar a A-norma do erro.
Agora, em um método de descida, depois de j iterações temos:

ej = x − xj = x − x0 − α0 p0 + α1 p1 + . . . + αj−1 pj−1


= e0 − α0 p0 + α1 p1 + . . . + αj−1 pj−1 .


2
Logo, minimizar ej A
é equivalente a minimizar

e0 − α0 p0 + α1 p1 + . . . + αj−1 pj−1

A
,

o que por sua vez é equivalente a encontrar a melhor aproximação do vetor e0 no subespaço Wj = p0 , p1 , . . . , pj−1 .
Esta é dada pelo lema da melhor aproximação:
5.29 Proposição. Sejam A ∈ Mn (R) uma matriz simétrica positiva definida, v ∈ Rn e W um subsespaço
de Rn . Então existe um único w ∈ W tal que

kv − wkA = min kv − zkA .


z∈W

O vetor w é caracterizado pela condição v − w ⊥A W .


Segue deste resultado que ej A
é minimizado quando escolhemos p = α0 p0 + α1 p1 + . . . + αj−1 pj−1 ∈ Wj
tal que ej = e0 − p satisfaz
ej ⊥A pi para i = 1, . . . , j − 1. (5.72)
5.30 Definição. Dois vetores y, z que são ortogonais com respeito ao produto interno h·, ·iA , isto é, tais que

hy, ziA = 0

são chamados conjugados. 


Rodney Josué Biezuner 123

Nosso objetivo então é desenvolver um método em que o erro a cada passo é conjugado com todas as direções
de busca anteriores. O próximo resultado, que é basicamente uma reafirmação da Proposição 5.26, mostra
que em qualquer método de descida em que a busca na reta é exata satisfaz automaticamente ej ⊥A pj−1 ,
isto é, (5.72) é válido para a última iteração (o erro da iteração presente é A-ortogonal à direção de busca
da iteração anterior).

5.31 Proposição. Seja xk+1 = xk + αk pk obtido através de uma busca na reta exata. Então

rk+1 ⊥ pk

e
ek+1 ⊥A pk .
Prova: Temos
b − Axk+1 = b − Axk − αk Apk ,
de modo que a seqüência dos resı́duos é dada pela fórmula

rk+1 = rk − αk Apk . (5.73)

Logo,
pk , rk
rk+1 , pk = rk+1 , pk − αk Apk , pk = rk , pk − Apk , pk = 0.
hpk , Apk i
Além disso, como
Aek+1 = rk+1 ,
segue que
ek+1 , pk A
= Aek+1 , pk = rk+1 , pk = 0.

O significado geométrico deste resultado é que o mı́nimo do funcional f na reta xk + αk pk ocorre quando a
derivada direcional de f na direção de busca é zero, ou seja,
∂f
xk+1 = ∇f xk+1 , pk = rk+1 , pk .
 
0=
∂pk

De acordo com a Proposição 5.31, depois do primeiro passo temos e1 ⊥A p0 . Para manter os erros
subseqüentes conjugados a p0 , como

ek+1 = x − xk+1 = x − xk − αk pk

ou
ek+1 = ek − αk pk , (5.74)
0 1 0
basta escolher as direções de busca subseqüentes conjugadas a p . Se escolhemos p conjugado a p , obtemos
x2 para o qual o erro satisfaz e2 ⊥A p1 ; como p1 ⊥A p0 , segue de (5.74) que e2 ⊥A p0 também. Para manter
os erros subseqüentes conjugados a p0 e p1 , basta escolher as direções de busca subseqüentes conjugadas a
p0 e p1 . Assim, vemos que para obter a condição (5.72) basta escolher as direções de busca de tal forma que

pi ⊥A pj para todos i 6= j.

Um método com estas caracterı́sticas é chamado um método de direções conjugadas. Estes resultados
são resumidos na proposição a seguir:
Rodney Josué Biezuner 124

5.32 Teorema. Se um método emprega direções de busca conjugadas e performa buscas na reta exatas,
então
ej ⊥A pi para i = 1, . . . , j − 1,
para todo j. Conseqüentemente
ej A
= min e0 − p A
,
p∈Wj

onde Wj = p0 , p1 , . . . , pj−1 .
Prova: A demonstração é por indução. Para j = 1, temos e1 ⊥A p0 pela Proposição 5.31 porque a busca
na reta é exata. Em seguida, assuma ej ⊥A pi para i = 1, . . . , j − 1; queremos mostrar que ej+1 ⊥A pi
para i = 1, . . . , j. Como
ej+1 = ej − αj pj ,
para i = 1, . . . , j − 1 temos

ej+1 , pi A
= ej − αj pj , pi A
= ej , pi A
− αj pj , pi A
=0−0=0

porque as direções de busca são conjugadas. ej+1 ⊥A pj segue novamente da Proposição 5.31. 
Quando a direção inicial é dada pelo vetor gradiente de f , como na primeira iteração do método da descida
mais acentuada, obtemos o método do gradiente conjugado. As direções subseqüentes são escolhidas
através de A-ortogonalizar o resı́duo (ou vetor gradiente de f , que é a direção de busca em cada iteração
do método da descida mais acentuada) com todas as direções de busca anteriores, para isso utilizando o
algoritmo de Gram-Schmidt. Assim, dado um chute inicial p0 , a primeira direção é

p0 = −∇f x0 = b − Ax0 = r0


ou seja, a direção inicial é o primeiro resı́duo:

p0 = r 0 . (5.75)

Depois de k passos com direções de busca conjugadas p0 , . . . , pk , escolhemos


k
X
pk+1 = rk+1 − cki pi (5.76)
i=0

onde os cki são dados pelo algoritmo de Gram-Schmidt:

rk+1 , pi A
cki = . (5.77)
hpi , pi iA

de forma que pk+1 ⊥A pi para todos i = 1, . . . , k. Felizmente, como veremos a seguir depois de algum trabalho
preliminar (Corolário 5.37), cki = 0 para todo i exceto i = k, o que torna necessário que apenas a direção
de busca mais recente pk seja armazenada na memória do computador, o que garante que a implementação
do gradiente conjugado é eficiente:

rk+1 , pk A k rk+1 , Apk k


pk+1 = rk+1 − p = r k+1
− p (5.78)
hpk , pk iA hpk , Apk i

ou, definindo
rk+1 , Apk
βk = − , (5.79)
hpk , Apk i
temos que
pk+1 = rk+1 + βk pk . (5.80)
Rodney Josué Biezuner 125

Esta é a modificação do método do gradiente conjugado em relação ao método da descida mais acentuada,
no qual tomamos pk+1 = rk+1 .
Podemos obter uma expressão mais simples para o escalar βk , em função apenas dos resı́duos. Com
efeito, temos
rk+1 , rk+1 = rk+1 , rk − αk rk+1 , Apk = −αk rk+1 , Apk
porque os resı́duos obtidos através do método do gradiente conjugado são mutualmente ortogonais (veja
Corolário 5.36), logo
rk+1 , Apk rk+1 , rk+1
β=− k k
= .
hp , Ap i αk hpk , Apk i
Temos
pk , r k rk + βpk−1 , rk rk , rk
αk = = = ,
hpk , Apk i hpk , Apk i hpk , Apk i
porque pk−1 , rk = 0 pela Proposição 5.31, logo

rk , rk
αk = . (5.81)
hpk , Apk i
Portanto
rk+1 , rk+1
β= . (5.82)
hrk , rk i
Podemos obter um algoritmo ainda mais eficiente para o método do gradiente conjugado se observarmos que
para calcular o resı́duo rk+1 = b − Axk+1 em cada iteração não é necessário calcular Axk+1 explicitamente;
de fato, como vimos na demonstração da Proposição 5.31, temos rk+1 = rk − αk Apk . Assim, um algoritmo
eficiente para o método do gradiente conjugado poderia ser escrito da seguinte forma:
initialize x;
set b;
r ← b − Ax;
rScalarR ← hr, ri ;
set M ; //maximumNumberOfIterations
numberOf Iterations = 0;
do
 until numberOf Iterations > M
Ap ← Ap;
 pScalarAp ← hp, Api ;

 α ← rScalarR/pScalarAp;

 x ← x + αp;

 r ← r − αAp;

 rN ewScalarRN ew ← hr, ri ;

 β ← rN ewScalarRN ew/rScalarR;

 p ← r + βp;

 rScalarR ← rN ewScalarRN ew;
numberOf Iterations + +;

5.5 Convergência do Método do Gradiente Conjugado


Vamos agora provar uma série de resultados com o objetivo principal de demonstrar o fato mencionado
acima que cki = 0 para todo i = 1, . . . , k − 1 e também que o método do gradiente conjugado converge em
aritmética exata em precisas n iterações para uma matriz de tamanho n.
5.33 Definição. Dada uma matriz A ∈ Mn (C) e um vetor v ∈ Cn , o espaço de Krylov Kj (A, v) é o
subespaço v, Av, . . . , Aj−1 v . 
Rodney Josué Biezuner 126

5.34 Teorema. Depois de j iterações do algoritmo do gradiente conjugado (com rk 6= 0 em cada iteração),
temos
p0 , p1 , . . . , pj−1 = r0 , r1 , . . . , rj−1 = Kj A, r0 .


Prova: A demonstração é por indução. O resultado é trivial para j = 0, pois p0 = r0 . Assuma o resultado
válido para j − 1. Em primeiro lugar, mostraremos que

r0 , r1 , . . . , rj ⊂ Kj+1 A, r0 .

(5.83)

basta mostrar que rj ∈ Kj+1 A, r0 . Como rj = rj−1 − αj−1 Ap


 j−1
Em vista da hipótese de indução, e
∈ Kj A, r ⊂ Kj+1 A, r por hipótese de indução, K
j−1 0
 0
 j−1 0

r basta provar que Ap ∈ j+1 A, r . Mas,
também por hipótese de indução, pj−1 ∈ Kj+1 A, r0 , logo


Apj−1 ∈ Kj A, Ar0 = Ar0 , A2 r0 , . . . , Aj r0 ⊂ r0 , Ar0 , A2 r0 , . . . , Aj r0 = Kj+1 A, r0 .


 

Em seguida, mostraremos que

p0 , p1 , . . . , pj ⊂ r0 , r1 , . . . , rj . (5.84)

Por hipótese de indução, basta provar que pj ∈ r0 , r1 , . . . , rj . Isso segue de (5.76) e da hipótese de indução.
Até aqui provamos que

p0 , p1 , . . . , pj ⊂ r0 , r1 , . . . , rj ⊂ Kj+1 A, r0 .

(5.85)

Para provar que eles são iguais, basta mostrar que eles têm a mesma dimensão. Isso decorre de

dim r0 , r1 , . . . , rj 6 j + 1,
dim Kj+1 A, r0 6 j + 1


e
dim p0 , p1 , . . . , pj = j + 1,
o último porque os vetores p0 , p1 , . . . , pj são vetores não-nulos A-ortogonais. 

5.35 Corolário. Depois de j iterações do algoritmo do gradiente conjugado, temos

ej ⊥A Kj A, r0


para todo j.

Prova: Segue imediatamente do teorema anterior e do Teorema 5.32. 


5.36 Corolário. Depois de j iterações do algoritmo do gradiente conjugado, temos

rj ⊥ Kj A, r0


para todo j.
Prova: Em vista do Teorema 5.34, basta provar que rj ⊥ p0 , p1 , . . . , pj−1 para todo j. Como Aej+1 = rj+1 ,

rj+1 , pi = Aej+1 , pi = ej+1 , pi A


=0

para todo i = 1, . . . , j − 1, como vimos na demonstração do Teorema 5.32. 


5.37 Corolário. cki = 0 para todo i = 1, . . . , k − 1.
Rodney Josué Biezuner 127

Prova: Temos que provar que


rk+1 , pi A
= rk+1 , Api = 0
para todos i = 1, . . . , k − 1. Pelo Teorema 5.34, pi ∈ p0 , p1 , . . . , pi = r0 , Ar0 , . . . , Ai r = Ki+1 A, r0 ,


logo
Api ∈ Ar0 , A2 r0 , . . . , Ai+1 r ⊂ Ki+2 A, r0 ⊂ Kk+1 A, r0
 

e o resultado segue do corolário anterior. 

5.38 Teorema. Seja A uma matriz simétrica positiva definida n×n. Então o método do gradiente conjugado
converge em n iterações.
Prova: Se fizemos n − 1 iterações em obter x, pelo Corolário 5.37 os vetores r0 , r1 , . . . , rn−1 formam uma
base ortogonal para Rn . Depois de mais uma iteração, de acordo com este mesmo corolário o resı́duo rn
satisfaz rn ⊥ r0 , r1 , . . . , rn−1 = Rn , logo rn = 0. 
De fato, na maioria das aplicações o método do gradiente conjugado converge ainda mais rápido, se apenas
uma boa aproximação é requerida. Defina o número de condição de uma matriz simétrica positiva definida
por
max {λ : λ é um autovalor de A}
κ (A) = ; (5.86)
min {λ : λ é um autovalor de A}
assim, quanto maior o número de condição de uma matriz, ela é mais mal-condicionada e a convergência
de métodos de descida é mais vagarosa. Pode-se provar a seguinte estimativa de erro para o método do
gradiente conjugado (veja [Strikwerda]):
p !k
k 0 κ (A) − 1
e A
62 e A
p . (5.87)
κ (A) + 1

Esta estimativa é uma estimativa grosseira, mas mostra que o método do gradiente conjugado converge
mais rapidamente para matrizes bem-condicionadas (κ (A) ∼ 1). Uma comparação entre a velocidade de
convergência dos dois métodos para a matriz de discretização da fórmula de cinco pontos aplicada ao problema
descrito na primeira seção deste capı́tulo, desta vez com o tamanho das matrizes indicado na linha superior
da tabela, é dada a seguir [Watkins].

n = 81 n = 361 n = 1521
Descida Mais Acentuada 304 1114 4010
Gradiente Conjugado 29 60 118

No caso desta matriz de discretização no quadrado unitário temos

(n − 1) π
sen2 π π∆x 4
κ (A) = 2n = cot2 = cot2 ≈ 2 2
2
π 2n 2 π ∆x
sen
2n
de modo que p
κ (A) − 1 1 − π∆x/2
p ≈ ≈ 1 − π∆x,
κ (A) + 1 1 + π∆x/2
o que dá uma velocidade de convergência para o método do gradiente conjugado duas vezes maior que a
do método SOR com o fator de relaxamento ótimo. No entanto, deve-se ter em mente que enquanto que a
taxa de covergência que obtivemos para o método SOR é precisa, a estimativa de erro (5.87) para o método
do gradiente conjugado é apenas um limitante superior grosseiro (veja [Watkins] para algumas estimativas
melhoradas).
Capı́tulo 6

Métodos Multigrid

Neste capı́tulo consideraremos o método multigrid, que é o método mais rápido para resolver equações
elı́pticas em geral. Embora o método possa ser empregado em malhas de elementos finitos e volumes fini-
tos também, neste capı́tulo consideraremos o seu emprego apenas em malhas de diferenças finitas para a
equação de Poisson no quadrado. A tabela a seguir (adaptada de [TOS]) compara o custo de processamento
em uma máquina serial de alguns dos métodos mais populares para resolver sistemas lineares que surgem na
discretização do
 problema de Poisson (à exceção do método de eliminação gaussiana cujo custo de armazena-
mento é O n2 , todos os demais métodos tem custo de armazenamento O (n)). Como estamos comparando
métodos diretos (eliminação gaussiana e transformada de Fourier rápida (FFT) ) com métodos iterativos
(todos os demais), assumimos um único critério de parada para os vários métodos iterativos; se o critério de
parada for escolhido da ordem do erro de discretização da malha, um fator O (log n) deve ser multiplicado
para todos os métodos iterativos, à exceção do multigrid completo.

Método número de operações (2D; n = N 2 )


Eliminação Gaussiana O n3 
Jacobi O n2 
Gauss-Seidel O n2 
SOR O n3/2 
Gradiente Conjugado O n3/2
FFT O (n log n)
Multigrid iterativo O (n)
Multigrid completo O (n)

A idéia do método multigrid é baseada em dois princı́pios: suavização do erro e a sua correção em
um grid mais grosseiro (menos refinado). Estes princı́pios serão explicados em detalhes nas próximas
seções.
Em linhas gerais, a idéia básica é eliminar os componentes de alta freqüência do erro em uma malha
refinada. Para que isso ocorra, é necessário que estes componentes de alta freqüência correspondam aos
menores autovalores da matriz de iteração porque, como vimos no capı́tulo anterior, estes são eliminados
rapidamente pelos métodos iterativos lineares (a velocidade de convergência de cada método é dada pelo raio
espectral da matriz de iteração, que corresponde ao valor absoluto do maior autovalor |λ1 | < 1, enquanto
que as componentes do erro correspondentes aos menores autovalores λj convergem para zero muito mais
rapidamente (|λj /λ1 |  1); isso significa que este método iterativo suaviza o erro, pois quanto maior a
influência das componentes de maior freqüência (maior oscilação), menos suave é a função. Aqui é útil fazer
uma analogia com a série de Fourier: é exatamente a presença de componentes de oscilação arbitrariamente
maior que permite que a série convirja para uma função não diferenciável, ou mesmo descontı́nua; se a
série for truncada a qualquer momento o resultado é sempre uma função suave, pois é a combinação linear
finita de autofunções suaves. Esta visualização também permanece verdade para funções discretizadas em

128
Rodney Josué Biezuner 129

malhas de diferenças finitas escritas como uma combinação linear das autofunções da matriz de iteração nesta
malha: mesmo que o número de componentes da função seja finito, porque a malha é discreta a presença de
componentes de alta oscilação dão origem a um gráfico com um aspecto escarpado, não suave.
Assim, como o nosso objetivo é eliminar apenas as componentes de alta freqüência do erro, e não todo o
erro, poucas iterações do método iterativo são necessárias nesta malha refinada, onde o custo computacional é
alto (malhas muito refinadas significa que elas possuem muitos pontos, o que por sua vez implica em matrizes
de discretização muito grandes). Ocorre que algumas autofunções de freqüência baixa em uma malha mais
refinada correspondem a autofunções de freqüência alta em uma malha mais grosseira (como veremos). Uma
vez tendo eliminado as componentes de alta freqüência do erro na malha mais refinada, tendo deixado as
componentes de baixa freqüência praticamente intocadas, transferimos o problema para uma malha mais
grosseira, cujos componentes de alta freqüência do erro correspondem a alguns dos componentes de baixa
freqüência do erro na malha mais refinada anterior, que não puderam ser eliminados com as poucas iterações
do método iterativo permitidas na malha mais refinada. Com poucas iterações do método iterativo nesta
malha mais grosseira, estes erros também são rapidamente eliminados, a um custo computacional mais baixo
do que se tivéssemos tentado eliminá-los ainda na malha mais refinada. Este processo é a correção do erro
em uma malha mais grosseira. Ele é repetido em malhas cada vez mais grosseiras até que todo o erro é
eliminado, a um custo computacional muito mais baixo do que se tivéssemos trabalhado sempre na malha
mais refinada original.

6.1 A Malha de Multigrid


A discretização uniforme do problema de Poisson

−∆u = f em Ω,
u=0 sobre ∂Ω,
2
onde Ω = (0, 1) ⊂ R2 é o quadrado unitário, será denotada por

−∆h uh = fh em Ωh ,
(6.1)
uh = 0 sobre ∂Ωh ,

onde uh como usual denota a solução do problema discretizado (aproximação da solução exata), fh a discre-
tização da função f em Ωh ,
1
h= , (6.2)
n
Ωh = {(x, y) ∈ Ω : (x, y) = (ih, jh) , 1 6 i, j 6 n − 1} ,
∂Ωh = {(x, y) ∈ ∂Ω : (x, y) = (ih, jh) , i = 0 ou i = n e 0 6 j 6 n; j = 0 ou j = n e 0 6 i 6 n}
e  
−1
1 
− ∆h uh = 2 −1 4 −1  (6.3)
h
−1
ou, em outras palavras,

−uh (xi−1 , yj ) − uh (xi+1 , yj ) + 4uh (xi , yj ) − uh (xi , yj−1 ) − uh (xi , yj+1 )


−∆h uh = ,
h2
com (xi , yj ) = (ih, jh), é o operador de discretização dado pela fórmula dos cinco pontos. Denotaremos
usualmente a solução aproximada uh na iteração k (ou seja, uma aproximação da solução discretizada, de
acordo com o método iterativo utilizado) por
umh (6.4)
Rodney Josué Biezuner 130

de modo que o erro do método iterativo na iteração m é dado por

em m
h (xi , yj ) = uh (xi , yj ) − uh (xi , yj ) . (6.5)

Em geral, tomaremos n par, ou mesmo n = 2p para algum p. Assim, uma malha Ωh é mais refinada que
uma malha Ω2h (esta é mais grosseira que a primeira). Temos uma seqüência de malhas progressivamente
mais grosseiras:
Ωh ⊂ Ω2h ⊂ Ω4h ⊂ . . . ⊂ Ω2p h = Ω1 ,
onde Ω1 possui apenas uma célula.

6.2 Freqüências Altas e Baixas


Para analizar as propriedades de suavização de um método iterativo de maneira rigorosa, precisamos dis-
tingüir de maneira precisa entre as freqüências baixas e altas. Estas devem ser definidas de acordo com a
malha usada.
As autofunções dos métodos iterativos lineares considerados no capı́tulo anterior são exatamente as
autofunções do laplaciano discretizado −∆h na malha discretizada Ωh , dadas por

ϕkl
h (x, y) = sen kπx sen lπy, 1 6 k, l 6 n − 1 (6.6)

onde x, y denotam as variáveis discretizadas (isto é, x = ih e y = jh para 0 6 i, j 6 n). Assim, o erro na
m-ésima iteração pode ser escrito na forma
n−1
X n−1
X
em
h (x, y) =
m kl
αk,l ϕh (x, y) = m
αk,l sen kπx sen lπy. (6.7)
k,l=1 k,l=1

m
O erro ser suavizado significa que após algumas poucas iterações temos αk,l muito pequeno para k, l grandes,
isto é, para
ϕkl
h (x, y) = sen kπx sen lπy de alta freqüência,

m
enquanto que o valor de αk,l para k, l pequenos, isto é, para

ϕkl
h (x, y) = sen kπx sen lπy de baixa freqüência,

pode ter mudado muito pouco. Como o fato de k, l serem grandes ou pequenos é definido relativamente de
acordo com o valor de n (valores de k, l próximos de n são considerados grandes, enquanto que valores de k, l
distantes de n são considerados pequenos), segue que autofunções de baixa freqüência em uma malha mais
refinada (n maior) podem ser autofunções de alta freqüência em uma malha mais grosseira (n relativamente
pequeno). Para propósitos de análise, vamos dar uma definição precisa a este conceito:

6.1 Definição. Para 1 6 k, l 6 n − 1, dizemos que ϕkl


h é uma autofunção (ou componente) de

n
baixa freqüência se max (k, l) < ,
2
n
alta freqüência se 6 max (k, l) < n.
2

Além disso, se considerarmos especialmente a passagem da malha mais refinada Ωh para a malha mais
grosseira Ω2h com o dobro do espaçamento de malha, apenas as autofunções de freqüências mais baixas em
Rodney Josué Biezuner 131

Ωh são visı́veis em Ω2h , pois todas as autofunções de freqüência alta em Ωh coincidem com as autofunções
de freqüência baixa em Ω2h ou desaparecem em Ω2h . De fato, como

ϕk,l n−k,l
h (x, y) = −ϕh (x, y) = −ϕk,n−l
h (x, y) = ϕn−k,n−l
h (x, y) para (x, y) ∈ Ω2h , (6.8)

estas quatro autofunções não podem ser distingüidas umas das outras em Ω2h . Além disso, se k = n/2 ou
l = n/2, temos
ϕk,l
h (x, y) = 0 para (x, y) ∈ Ω2h . (6.9)
Para provar estas afirmações, escrevemos, por exemplo,
       
2i 2j 2i 2j
ϕhn−k,l (i (2h) , j (2h)) = sen (n − k) π sen lπ = sen −kπ + 2iπ sen lπ
n n n n
   
2i 2j
= − sen kπ sen lπ = −ϕk,l
h (i (2h) , j (2h))
n n
e      
n/2,l n/2,l 2i 2j n 2i 2j 2jlπy
ϕh (i (2h) , j (2h)) = ϕh , = sen π sen lπ = sen iπ sen = 0.
n n 2 n n n
Assim, podemos decompor o erro em duas somas, uma representando os componentes de baixa freqüência
e a outras os componentes de alta freqüência:
n/2−1 n−1
X X
em
h (x, y) = m kl
αk,l ϕh (x, y) + m kl
αk,l ϕh (x, y) (6.10)
k,l=1 max(k,l)> n
2
Xbaixa Xalta
m kl m kl
= αk,l ϕh (x, y) + αk,l ϕh (x, y) . (6.11)

6.3 Suavização do Erro


Os dois métodos iterativos clássicos, o método de Jacobi amortecido e o método de Gauss-Seidel (incluindo o
método SOR) são métodos iterativos lineares suavizadores de erro. Como já vimos acima, isso significa apenas
que o erro torna-se mais suave com poucas iterações, mesmo que não fique necessariamente menor (em outras
palavras, aqui a velocidade de convergência não é o fator principal). Componentes de alta freqüência do erro
são eliminadas rapidamente, em comparação com as componentes de baixa freqüência. As propriedades de
suavização de cada um dos métodos dependem da escolha correta dos parâmetros de suavização e, no caso do
método de Gauss-Seidel, também da ordenação dos pontos da malha. Apesar do método de Gauss-Seidel ser
um melhor suavizador que o método de Jacobi amortecido, analisaremos rigorosamente apenas este último
(sua análise é mais simples porque as autofunções da sua matriz de iteração são as mesmas do laplaciano
discretizado; veja [TOS] para uma análise completa do poder de suavização do método de Gauss-Seidel).
Uma comparação entre os poderes suavizadores dos métodos é dada na seguinte tabela (adaptada de [TOS]):

Método Fator suavizante Suavização


Jacobi amortecido, ω = 1 1 Nenhuma
Jacobi amortecido, ω = 0.5 0.75 Não satisfatória
Jacobi amortecido, ω = 0.8 0.6 Aceitável
Gauss-Seidel (ordem lexicográfica) 0.5 Boa
Gauss-Seidel (ordem vermelho-negra) 0.25 Muito boa

6.3.1 Método de Jacobi Amortecido


Embora no que se refere à velocidade de convergência, a escolha de ω = 1 no método de Jacobi amortecido
é a melhor possı́vel (ou seja, correspondendo ao método de Jacobi), isso não é verdade com respeito às
Rodney Josué Biezuner 132

propriedades de suavização do erro, como veremos a seguir. A fórmula de iteração para o método de Jacobi
para o problema de Poisson discretizado é dada por

ukh (xi−1 , yj ) + ukh (xi+1 , yj ) + ukh (xi , yj−1 ) + ukh (xi , yj+1 ) + h2 fh (xi , yj )
uk+1
h (xi , yj ) = . (6.12)
4
Em notação de operadores, esta fórmula pode ser escrita como

h2
uk+1
h = Rh ukh + fh , (6.13)
4
onde o operador de iteração Rh é dado por

h2
Rh = Ih − Lh , (6.14)
4
Ih sendo o operador identidade e Lh = −∆h . No método de Jacobi amortecido, introduzimos o parâmetro
de relaxamento 0 < ω 6 1:

uk+1
h (xi , yj ) = ukh (xi , yj )
 k
uh (xi−1 , yj ) + ukh (xi+1 , yj ) + ukh (xi , yj−1 ) + ukh (xi , yj+1 ) + h2 fh (xi , yj )

+ω − ukh (xi , yj ) .
4

Logo

h2
 
uk+1
h = Ih ukh+ω Sh ukh
+ fh − Ih uh k
4
2
h2
 
k k h k k
= Ih uh + ω Ih uh − Lh uh + fh − Ih uh
4 4
2 2
ωh ωh
= Ih ukh − Lh ukh + fh ,
4 4
ou
ωh2
uk+1
h = Rh (ω) ukh + fh , (6.15)
4
onde
ωh2
Rh (ω) = Ih −
Lh . (6.16)
4
Em notação estêncil, o operador iteração para o método de Jacobi amortecido pode ser escrito na forma
   
2 −1
ωh 1  −1
Rh (ω) =  1 − 4 −1 
4 h2
−1
1
 
4
1 1
= 4 1−ω 4

1
4

ou também
1
 
 
ω  1 
Rh (ω) =
 1 4 −1 1 
.
4

 ω 
1
Rodney Josué Biezuner 133

Em particular, de (6.16) segue que

ωh2
Rh (ω) = Ih + ∆h ,
4
logo os autovalores de Rh e −∆h estão relacionados da seguinte forma: λ é um autovalor de −∆h se e
somente se
ωh2
(Rh − Ih ) v = − λv,
4
isto é, se e somente se
ωh2
λh (ω) = 1 − λ (6.17)
4
é um autovalor de Rh e as autofunções de Rh são as mesmas autofunções de −∆h . As autofunções de −∆h
são, como já vimos,
ϕkl
h (x, y) = sen kπx sen lπy, 1 6 k, l 6 n − 1,

enquanto que os correspondentes autovalores de −∆h são (veja o Teoremas 3.10)


2
λkl = (2 − cos kπh − cos lπh) .
h2
Logo, os correspondentes autovalores de Rh são
ω
λkl
h (ω) = 1 − (2 − cos kπh − cos lπh) . (6.18)
2
[O raio espectral de Rh , correspondente ao maior autovalor em módulo, é

ρ (Rh ) = λ1,1 = |1 − ω (1 − cos πh)| = 1 − O ωh2



h

para 0 < ω 6 1, de modo que ω = 1 (método de Jacobi) oferece a melhor velocidade de convergência,
enquanto que ρ (Rh ) > 1 para ω > 1 se h é suficientemente pequeno e o método não converge.]
Para analisar as propriedades suavizadoras do método de Jacobi amortecido quantitativamente, introdu-
zimos o fator suavizante de Rh :

6.2 Definição. O fator suavizante µh (ω) de Rh é definido por


n n o
µh (ω) = max λklh (ω) : 6 max (k, l) 6 n − 1 .
2
Definimos também
µ∗ (ω) = sup µh (ω) ,
h∈H

onde H = {h = 1/n : n ∈ N e n > 4} denota o conjunto dos tamanhos de malha admissı́veis. 

Observe que µh (ω) é o maior autovalor dentre as maiores freqüências e representa o pior fator pelo qual os
componentes de alta freqüência do erro são reduzidos por passo de iteração. Para entender isso, fixe um
tamanho de malha h e escreva os autovalores de Rh (como no capı́tulo anterior) na forma

λ1 > λ2 > . . . > λq ,


2
onde q = (n − 1) , com {ϕ1 , . . . , ϕq } sendo a correspondente base de autofunções. Escrevendo o erro inicial
na forma
Xq
0
eh = αi ϕi ,
i=1
Rodney Josué Biezuner 134

temos
q
X
ekh = Rhk e0h = αi λki ϕi .
i=1
Como
k
|λi | → 0,
k k
se |λi | < 1, a taxa de eliminação para o componente ϕi do erro é determinada por |λi | e em cada iteração
este componente é reduzido por um fator exatamente igual a |λi |. Como
n ω n o
µh (ω) = max 1 − (2 − cos kπh − cos lπh) : 6 max (k, l) 6 n − 1 ,
2 2

n ω o
µ (ω) = max 1 − , |1 − 2ω| ,
2
segue que para 0 < ω < 1 o fator suavizante é menor que 1 e permanece  longe de 1 por um limitante
independente de h. Para ω = 1, o fator suavizante é da ordem de 1 − O h2 apenas; os menores autovalores
do método de Jacobi
1
λkl = (cos kπh + cos lπh)
2
estão associados às autofunções de freqüências médias, logo as autofunções de freqüências altas não são
rapidamente eliminadas e não há suavização. Por exemplo,
 
cos πh se ω = 1,

  1
 se ω = 1,
 2 + cos πh  3

 

se ω = 0.5, se ω = 0.5,
µh (ω) = 4 µ∗ (ω) = 4
 
 1 + 2 cos πh  3

 

 se ω = 0.8,  se ω = 0.8,
5 5
A escolha de ω = 0.8 é ótima no sentido de que

inf µ∗ (ω) = µ∗ (0.8) = 3/5, (6.19)


0<ω61

enquanto que  
4 3 cos πh 3
= − O h2 .

inf µh (ω) = µh = (6.20)
0<ω61 4 + cos πh 4 + cos πh 5
Isso significa que um passo do método de Jacobi amortecido com ω = 0.8 reduz todos os componentes do
erro de alta freqüência por um fator de pelo menos 3/5, independente do tamanho h da malha.

6.4 O Ciclo de Duas Malhas


O segundo princı́pio básico do método multigrid é a de que um termo de erro suave pode ser bem aproximado
em uma malha grosseira. Uma malha grosseira, por conter menos pontos, necessita de menos operações para
executar esta aproximação (ela é muito mais barata que uma malha refinada). Introduzimos o ciclo de duas
malhas, que é a base para qualquer algoritmo de multigrid.
Enquanto que o erro na iteração m é dado por

em m
h = uh − uh ,

o resı́duo (ou defeito) é definido por


rhm = fh − Lh um
h . (6.21)
A equação discretizada original Lh uh = fh é equivalente à equação do resı́duo

Lh em m
h = rh . (6.22)
Rodney Josué Biezuner 135

Para transferir funções definidas em uma malha mais refinada Ωh para funções definidas em uma malha mais
grosseira Ω2h e vice-versa, precisamos definir dois operadores lineares de transferência: um operador de
restrição
Ih2h : G (Ωh ) −→ G (Ω2h ) (6.23)
e um operador de interpolação (ou de prolongamento)
h
I2h : G (Ω2h ) −→ G (Ωh ) . (6.24)

O operador de restrição será usado para restringir o resı́duo rhm obtido na malha mais refinada Ωh para a
malha mais grosseira Ω2h onde ele será corrigido:
m
r2h = Ih2h rhm . (6.25)

O operador de interpolação será usado para estender a correção em


2h obtida na malha mais grosseira Ω2h até
a malha mais refinada Ωh :
em h m
h = I2h e2h . (6.26)
6.3 Exemplo. Um operador de restrição particularmente simples de implementar computacionalmente é o
operador de injeção, definido por

Ih2h vh (x, y) = vh (x, y) para todo (x, y) ∈ Ω2h .



(6.27)

Outro operador freqüentemente usado é o operador peso total, que em notação estêncil é dado por
 
1 2 1
1 
2 4 2 ,
16
1 2 1

ou seja,
1
Ih2h vh (x, y) =

[4vh (x, y) + 2vh (x, y − h) + 2vh (x − h, y) + 2vh (x + h, y) + 2vh (x, y + h)
16
+vh (x − h, y − h) + vh (x + h, y − h) + vh (x − h, y + h) + vh (x + h, y + h)] .

Um terceiro operador de restrição é o operador metade peso:


 
0 1 0
1
1 4 1 .
8
0 1 0

6.4 Exemplo. Um dos operadores de interpolação mais simples de implementar é o operador de interpolação
bilinear :

 v2h (x, y)
 se (x, y) = (2kh, 2lh) ,
1


(v2h (x, y − h) + v2h (x, y + h)) se (x, y) = (2kh, (2l − 1) h) ,





 2


h 1

I2h v2h (x, y) = (v2h (x − h, y) + v2h (x, y + h)) se (x, y) = ((2k − 1) h, 2lh) ,



 2
1


[vh (x − h, y − h) + vh (x + h, y − h)


se (x, y) = ((2k − 1) h, (2l − 1) h) .


 4
+ vh (x − h, y + h) + vh (x + h, y + h)]

Rodney Josué Biezuner 136

para 1 6 k, l 6 n. Em notação estêncil, ele é denotado por


 
1 2 1
1
2 4 2 
4
1 2 1

Cada passo de iteração (ciclo) de um método de duas malhas pode ser resumido no algoritmo seguinte
(adaptado de [TOS]):

Ciclo de 2 Malhas

1. Pré-suavização

a) Calcule um m
h através de n1 passos de um suavizador aplicado a uh :

um
h = SUAVIZE
n1
(um
h , Lh , fh ).

2. Correção na malha grosseira

a) Calcule o resı́duo rm m
h = fh − Lh uh .

b) Restrinja o resı́duo à malha mais grosseira: rm 2h m


2h = Ih r h .

c) Calcule o erro na malha mais grosseira: L2h em m


2h = r 2h .

d) Interpole a correção para a malha mais refinada: em h m


h = I2h e2h .

m m
em
e) Calcule a aproximação corrigida: uh = uh + eh .

3. Pós-suavização

a) Calcule um+1
h em
através de n2 passos de um suavizador aplicado a uh :

um+1
h = SUAVIZEn2 (e
um
h , Lh , fh ).

A necessidade da pós-suavização deve-se ao fato que as freqüências mais baixas na malha mais grosseira
correspondem não somente às freqüências mais baixas na malha mais refinada, como também às freqüências
mais altas, como vimos em (4.1) (em outras palavras, freqüências baixas em Ω2h são mapeadas para a mesma
freqüência baixa em Ωh e para três outras freqüências altas em Ωh ); para evitar que estas componentes
do erro reapareçam, fazemos uma segunda suavização. Observe que vários componentes individuais do
ciclo de duas malhas devem ser especificados, e sua escolha pode ter uma forte influência na eficiência do
algoritmo: o procedimento suavizador SUAVIZE (um h , Lh , fh ); os números n1 e n2 de passos de suavização,
a malha grosseira (aqui escolhemos Ω2h , mas outras escolhas são possı́veis) e os operadores de restrição e de
interpolação.

6.5 O Ciclo Multigrid: Ciclos V


O ciclo de duas malhas per si é obviamente de pouco significado prático, já que o custo computacional na
malha Ω2h ainda é relativamente alto. A idéia de um ciclo multigrid é não resolver a equação de correção
Rodney Josué Biezuner 137

do resı́duo L2h em m
2h = r 2h exatamente, mas suavizá-la e transferir o problema para uma malha ainda mais
grosseira Ω4h , onde o custo computacional é ainda menor. Esta idéia é repetida até que podemos em princı́pio
chegar na malha Ω1 , onde a correção do resı́duo pode então ser calculada exatamente. Daı́, voltamos para
a malha mais refinada original, formando um ciclo no formato da letra “V”.
Capı́tulo 7

Método dos Volumes Finitos

A discretização do domı́nio no métodos dos volumes finitos difere da do método de diferenças finitas em que
nesta o domı́nio é substituı́do por um conjunto de pontos, enquanto que na primeira o domı́nio é subdividido
em volumes de controle ou células. Os pontos nodais ou simplesmente nós, são os centros das células.
No método dos volumes finitos, ao invés de aproximarmos diretamente a equação diferencial como no método
de diferenças finitas, ela é antes integrada sobre cada volume de controle. As integrais obtidas são então
aproximadas. As equações integrais estão na forma de leis de conservação, o que assegura a conservação
das grandezas fı́sicas tratadas em cada volume de controle (conservação no nı́vel discreto) e portanto este
método é bastante adequado para tratar de fenômenos fı́sicos que envolvem leis de conservação. Muitas
vezes pode-se trabalhar diretamente com as equações integrais, sem passar pelas equações diferenciais, o que
torna o método particularmente útil para tratar de fenômenos descontı́nuos melhor modelados por equações
integrais, tais como fenômenos que envolvem ondas de choque.

7.1 Leis de Conservação


Muitas das equações diferenciais parciais fundamentais são obtidas através de leis de conservação.
Leis de conservação são essencialmente leis de balanceamento, expressando o fato de que alguma substância
é balanceada. Aqui, o termo substância pode indicar uma substância realmente material, ou até mesmo um
conceito abstrato, tal como energia ou uma população de animais. Por exemplo, a primeira lei da termo-
dinâmica é a lei de conservação da energia: a variação de energia interna de um sistema é igual ao calor
total adicionado ao sistema mais o trabalho realizado sobre o sistema. Como outro exemplo, considere um
fluido escoando em alguma região do espaço, consistindo de substâncias sofrendo reações quı́micas: para
cada substância quı́mica individual, a taxa de variação da quantidade total da substância na região é igual
à taxa com que a substância flui para dentro da região, menos a taxa com que ela flui para fora da região,
mais a taxa com que ela é criada, ou consumida, pelas reações quı́micas. Como último exemplo, a taxa de
variação de uma dada população de animais em uma região é igual à taxa de nascimentos, menos a taxa de
mortes, mais a taxa de migração para dentro ou fora da região.
Matematicamente, leis de conservação traduzem-se em equações integrais, de onde podem ser deduzidas
equações diferenciais, na maior parte dos casos. Estas equações descrevem como o processo evolui com o
tempo. Por este motivo, elas são também chamadas de equações de evolução. Vamos examinar primeiro
o caso unidimensional.

7.1.1 Lei de Conservação Unidimensional


Seja u = u(x, t) a densidade ou concentração de alguma substância, por unidade de volume, que depende
apenas de uma variável espacial x ∈ R e do tempo t > 0. Novamente enfatizamos que a substância cuja
densidade estamos medindo pode ser massa, momento, energia, população, ou qualquer outra coisa, material

138
Rodney Josué Biezuner 139

ou abstrata. Por exemplo, no caso da equação do calor, a temperatura u é uma medida da densidade de
energia térmica. De fato, se e(x, t) denota a densidade de energia térmica, isto é, a quantidade de energia
térmica por unidade de volume, então a densidade de energia térmica e a temperatura estão relacionadas
através da equação
e(x, t) = c(x)ρ(x)u(x, t),
cujo significado é: a energia térmica por unidade de volume é igual à energia térmica por unidade de massa
por unidade de temperatura (i.e., o calor especı́fico), vezes a temperatura, vezes a densidade volumétrica de
massa.
Imaginamos que a substância está distribuı́da em um tubo uniforme com seção transversal de área
constante A. Por hipótese, u é constante em cada seção transversal do tubo, variando apenas na direção x.
Considere um segmento arbitrário do tubo, entre as seções transversais localizadas em x = a e em x = b.
Chamamos este segmento de volume de controle. A quantidade total da substância dentro do volume de
controle no instante de tempo t é
Z b
Quantidade total da substância
= u(x, t)A dx.
dentro do volume de controle a

Assuma agora que existe movimento da substância através do tubo na direção axial. Definimos o fluxo
φ(x, t) da substância no tempo t como sendo a quantidade da substância fluindo através da seção transversal
em x no tempo t por unidade de área, por unidade de tempo. Assim as dimensões de φ são [φ] = quantidade
da substância / (área × tempo). Por convenção, φ será positivo se a substância estiver se movendo na direção
positiva do eixo x, e negativo se ela estiver se movendo na direção negativa do eixo x. Portanto, no tempo t,
a quantidade lı́quida de substância permanecendo no volume de controle será a diferença entre a quantidade
da substância entrando em x = a e a quantidade da substância saindo em x = b:

Taxa de transferência lı́quida da substância


= φ(a, t)A − φ(b, t)A.
para dentro do volume de controle

A substância pode ser criada ou destruı́da dentro do volume de controle por uma fonte interna ou externa.
A taxa de criação ou destruição da substância, que chamaremos de termo fonte e denotaremos por f (x, t, u),
tem dimensões [f ] = quantidade da substância / (volume × tempo), tendo sinal positivo se a substância é
criada dentro do volume de controle e negativa se a substância for destruı́da dentro do volume de controle.
Observe que ela pode depender da própria quantidade da substância disponı́vel, medida pela densidade u.
A taxa de criação ou destruição da substância dentro do volume de controle é então dada por
Z b
Taxa de criação da substância
= f (x, t, u)A dx.
dentro do volume de controle a

A lei de conservação para a substância pode ser formulada da seguinte forma:

Taxa de variação Taxa de transferência lı́quida de substância


Taxa de criação da substância
da quantidade de substância = para dentro do volume de controle +
dentro do volume de controle
dentro do volume de controle através de sua fronteira

ou, em termos matemáticos, após cancelar o termo comum A,


Z b Z b
d
u(x, t) dx = φ(a, t) − φ(b, t) + f (x, t, u) dx. (7.1)
dt a a

Esta é a lei de conservação na forma integral, valendo mesmo se u, φ ou f não forem funções diferenciáveis
(o que pode ocorrer em certos fenômenos fı́sicos, como por exemplo naqueles que envolvem ondas de choque
Rodney Josué Biezuner 140

ou outros tipos de descontinuidade). Se estas funções forem continuamente diferenciáveis, podemos derivar
sob o sinal de integração na primeira integral

d b
Z Z b
u(x, t) dx = ut (x, t) dx,
dt a a

e usar o Teorema Fundamental do Cálculo para escrever


Z b
φ(a, t) − φ(b, t) = − φx (x, t) dx,
a

obtendo a equação diferencial parcial


ut + φx = f (x, t, u) (7.2)

que é a lei de conservação na forma diferencial.

7.1.2 Lei de Conservação em Várias Dimensões


Vamos formular a lei de conservação nas formas integral e diferencial para os espaços Rn , n = 2 ou n = 3
(na verdade, tudo o que deduzirmos aqui, vale para qualquer n > 2). Considere um volume de controle V em
Rn , em que a densidade ou concentração u = u(x, t) de alguma substância por unidade de volume depende
de n variáveis espaciais x = (x1 , . . . , xn ) e do tempo t > 0. Temos
Z
Quantidade total da substância
= u(x, t) dV
dentro do volume de controle V

e, se f (x, t, u) denota o termo fonte,


Z
Taxa de criação da substância
= f (x, t, u) dV.
dentro do volume de controle V

Em n dimensões, o fluxo pode ser em qualquer direção, logo ele é uma grandeza vetorial que denotaremos
por φ(x, t). Se η(x) denota o vetor unitário normal apontando para fora da região V , a taxa de transferência
lı́quida da substância para fora do volume de controle através de sua fronteira ∂V é dada por
Z
Taxa de transferência lı́quida da substância
= φ(x, t) · η(x) dS.
para fora do volume de controle ∂V

A lei de conservação é, portanto,


Z Z Z
d
u(x, t) dV = − φ(x, t) · η(x) dS + f (x, t, u) dV. (7.3)
dt V ∂V V

Se u, φ e f forem todas de classe C 1 (assim como a região V ), podemos derivar sob o sinal de integração e
usar o Teorema da Divergência
Z Z
φ(x, t) · η(x) dS = div φ(x, t) dV,
∂V V

para obter a lei de conservação em forma diferencial

ut + div φ = f (x, t, u). (7.4)


Rodney Josué Biezuner 141

7.1.3 Relações Constitutivas


A lei de conservação na forma diferencial é uma equação diferencial parcial em duas incógnitas, u e φ.
Precisamos, portanto, de uma segunda equação para obter um sistema bem determinado. A equação adicional
é freqüentemente baseada nas propriedades fı́sicas do meio, as quais freqüentemente decorrem de observações
empı́ricas. Tais equações são chamadas de relações constitutivas ou equações de estado.
7.1 Exemplo (Equação do Calor). No caso da equação do calor, a relação constitutiva é a lei de Fourier:

φ(x, t) = −k (x) ux (x, t)

onde a constante de condutividade térmica k = k (x) depende do material e muitas vezes pode ser considerada
constante.
Em dimensões mais altas, a lei de Fourier assume a forma

φ(x, t) = −k (x) ∇u(x, t).

De fato, para materiais isotrópicos (isto é, materiais em que não existem direções preferenciais) verifica-se
experimentalmente que o calor flui de pontos quentes para pontos frios na direção em que a diferença de
temperatura é a maior. O fluxo de calor é proporcional à taxa de variação da temperatura nesta direção, com a
constante de proporcionalidade k sendo por definição a condutividade térmica, como no caso unidimensional.
Como sabemos, a direção onde uma função cresce mais rápido é exatamente aquela dada pelo vetor gradiente
da função, e o módulo do gradiente fornece a magnitude da taxa de variação da função nesta direção. O sinal
negativo ocorre, como no caso unidimensional, porque o vetor gradiente aponta na direção de crescimento
da temperatura, enquanto que o fluxo do calor se dá na direção oposta (da temperatura maior para a
temperatura menor). O fluxo do calor em uma região bi ou tridimensional pode ser facilmente visualizado
quando se lembra que o gradiente de uma função é perpendicular às superfı́cies de nı́vel da função. No
caso em que a função é a temperatura, as superfı́cies de nı́vel são chamadas superfı́cies isotérmicas ou,
simplesmente, isotermas. Assim, o calor flui das isotermas mais quentes para as isotermas mais frias, e em
cada ponto da isoterma perpendicularmente à isoterma. Em outras palavras, as linhas de corrente do fluxo
de calor correspondem às linhas de fluxo do campo gradiente da temperatura.
Substituindo a relação constitutiva na lei de conservação, obtemos a equação do calor: na forma diver-
gente,
ut = div (k∇u) + f (x, t, u),
ou, quando k é constante, na forma usual envolvendo o laplaciano,

ut = k∆u + f (x, t, u).


7.2 Exemplo (Equação da Difusão). Em muitos outros processos fı́sicos observa-se que a substância flui a
uma taxa diretamente proporcional ao gradiente de densidade, de regiões de maior densidade para regiões
de menor densidade. Esta relação geral é chamada de lei de Fick :

φ(x, t) = −D (x) ∇u(x, t),

onde D = D (x) é a constante de difusão. Assumindo D constante, se o termo fonte independe de u, obtemos
a equação da difusão
ut = D∆u + f (x, t),
caso contrário a equação diferencial parcial obtida é chamada equação da difusão-reação

ut = D∆u + f (x, t, u),


Rodney Josué Biezuner 142

que aparece na teoria de combustão e em biologia. Se D não é constante, obtemos as respectivas equações
na forma divergente. O nome difusão vem do fato de que a substância difunde-se para regiões adjacentes por
causa de gradientes (i.e., diferenças) de concentração, e não porque é transportada pela corrente (i.e., não
através de convecção). Por este motivo, o termo D∆u é chamado de termo difusivo.
Além do calor, exemplos de outras substâncias que se comportam assim são substâncias quı́micas dissol-
vidas em algum fluido (neste caso, u representa a concentração quı́mica) e até mesmo populações de insetos.
Além de ser confirmada através de observações empı́ricas, a lei de Fick que governa estes e vários outros
fenômenos fı́sicos e biológicos pode ser justificada teoricamente através de argumentos baseados em modelos
probabilı́sticos e caminhos aleatórios. 
Neste texto sobre equações elı́pticas, obviamente estamos interessados na equação de estado estacionário
resultante da equação da difusão ou de difusão-reação, isto é, no caso em que ut = 0:

− ∆u = f (x, t, u), (7.5)

ou, na forma divergente,


− div (A (x) ∇u) = f (x, t, u), (7.6)
onde no caso mais geral A é uma matriz n × n. Em termos da lei de conservação, isto se escreve na forma
Z Z
− A (x) ∇u(x, t) · η(x) dS = f (x, t, u) dV. (7.7)
∂V V

7.2 O Caso Unidimensional


Consideramos a seguinte equação elı́ptica na forma divergente com condição de Dirichlet:
  
d du
− a (x) = f (x, u) em [0, L] ,

dx dx (7.8)
u (0) = u0 , u (L) = uL .

O primeiro passo é gerar a malha de volumes finitos no intervalo [0, L], isto é, discretizar o domı́nio
em volumes de controle. Para isso, inserimos um número n de pontos nodais ou nós P1 , . . . , Pn entre
os pontos 0 e L da fronteira do domı́nio. Os n volumes de controle V1 , . . . , Vn serão centrados nestes nós.
As faces (fronteiras) dos volumes de controle serão posicionadas no ponto médio entre dois nós. Em geral,
posiciona-se os volumes de controle de modo que as fronteiras do domı́nio coincidem com faces dos volumes
de controle, isto é, o ponto 0 está na face esquerda do primeiro volume de controle e o ponto L está na face
direita do último volume de controle. Para simplificar a apresentação, assumiremos que os pontos nodais
foram posicionados de modo a estarem igualmente espaçados, de modo que todos os volumes de controle
têm mesma largura igual a ∆x.
Estabelecemos a seguinte notação (esta convenção é freqüentemente utilizada em dinâmica dos fluidos
computacional, onde o método dos volumes finitos é bastante popular): um ponto nodal arbitrário será
designado simplesmente por P e os seus pontos nodais vizinhos serão designados por W (oeste, isto é, o
ponto nodal vizinho à esquerda) e E (leste, correspondendo ao vizinho à direita). A face esquerda (à oeste)
do volume de controle será designada por w e a face direita (à leste) por e. Assim, a distância entre dois nós
vizinhos, assim como a distância entre as duas faces de um volume de controle é igual a ∆x.
Uma vez discretizado o domı́nio com a geração da malha de volumes de controle, integrando a equação di-
ferencial parcial em cada volume de controle para colocá-la na forma integral (reobtendo a lei de conservação;
é claro que podemos desde o inı́cio trabalhar diretamente com esta, se estiver disponı́vel):
Z    Z
d du
− a (x) dx = f (x, u) dx.
Vp dx dx Vp
Rodney Josué Biezuner 143

Segue pelo teorema fundamental do cálculo que


du du
a (xw ) (xw ) − a (xe ) (xe ) = f V ∆x (7.9)
dx dx
onde f V denota o valor médio de f sobre o volume de controle, isto é,
Z
1
f VP = f (x, u) dx.
∆x Vp

Observe que a equação integral obtida é uma equação exata, ainda não discretizada. Na linguagem de leis
de conservação, ela diz simplesmente que o fluxo de u deixando a face direita do volume de controle menos
o fluxo deixando a face esquerda do mesmo (respeitando a nossa convenção de sinal para fluxos) é igual à
quantidade de u gerada pela fonte dentro do volume de controle:

φw − φe = f VP ∆x.

Agora procedemos à discretização da equação integral. Valores nas faces devem ser dados em funções de
valores nos pontos nodais. Consideremos primeiro os volumes de controle interiores V2 , . . . , Vn−1 . Usando
interpolação linear, podemos obter valores aproximados para a (xe ) , a (xw ), calculados nas faces dos volumes
de controle, em termos dos valores de a nos pontos nodais dos volumes de controle:
aW + aP
aw := a (xw ) = , (7.10)
2
aP + aE
ae := a (xe ) = . (7.11)
2
As derivadas primeiras, ou seja, os fluxos, podem ser aproximadas através de diferenças finitas apropriadas,
por exemplo diferenças finitas centradas:
du du uP − uW
:= (xw ) = , (7.12)
dx w dx ∆x
du du uE − uP
:= (xe ) = . (7.13)
dx e dx ∆x
O termo fonte, que pode expressar uma dependência não linear do valor de u, pode ser linearizado e assumido
constante ao longo do volume de controle, produzindo
fP0 + fP1 up
Z Z
1 0 1
dx = fP0 + fP1 up .

f VP = f + fP up dx = (7.14)
∆x Vp P ∆x Vp

(Como queremos obter um sistema linear no final, não é possı́vel aproximar o termo fonte por uma apro-
ximação de ordem maior que 1. A linearização do termo linear será discutida em maiores detalhes na seção
4 deste capı́tulo) Daı́,
uP − uW uE − uP
= fP0 + fP1 up ∆x,

aw − ae
∆x ∆x
ou
ap uP + aW uW + aE uE = bp , (7.15)
onde
aw ae
ap = + − fP1 , (7.16)
∆x2 ∆x2
aw ae
aW = − , aE = − , (7.17)
∆x2 ∆x2
bp = fP0 . (7.18)
Rodney Josué Biezuner 144

O tratamento dos volumes de controle adjacentes à fronteira é ligeiramente diferente. Para o volume de
controle V1 adjacente à fronteira esquerda (oeste) do domı́nio, temos

aw = a0 , (7.19)

e
du uP − u0
= , (7.20)
dx w ∆x/2
porque a distância entre P e 0 é apenas ∆x/2; neste caso somos forçados a utilizar uma diferença finita
progressiva para aproximar a derivada primeira em w. Assim, a equação discretizada correspondente a este
volume de controle é
uP − u0 uE − uP
= fP0 + fP1 up ∆x,

2a0 − ae
∆x ∆x
ou
ap uP + aE uE = bp , (7.21)
onde
2a0 ae
ap = + − fP1 , (7.22)
∆x2 ∆x2
ae
aE = − , (7.23)
∆x2
2a0
bp = fP0 + u0 . (7.24)
∆x2
Para o volume de controle Vn adjacente à fronteira direita temos

ae = aL ,

du uL − uP
= ,
dx e ∆x/2
utilizando uma diferença finita regressiva para aproximar a derivada primeira em e, de modo que a equação
discretizada correspondente a este volume de controle é
uP − uW uL − uP
= fP0 + fP1 up ∆x,

aw − 2ae
∆x ∆x
ou
ap uP + aE uE = bp , (7.25)
onde
aw 2aL
ap = + − fP1 , (7.26)
∆x2 ∆x2
aw
aW = − , (7.27)
∆x2
2aL
bp = fP0 + uL . (7.28)
∆x2
Ordenando os volumes de controle (geralmente da esquerda para a direita), obtemos um sistema linear cuja
solução será uma solução aproximada para a equação com as condições de fronteira dadas.
7.3 Exemplo (Equação de Poisson). Vamos aplicar o método de volumes finitos à equação de Poisson com
condição de fronteira de Dirichlet

−u00 = f (x)

em [0, L] ,
(7.29)
u (0) = u0 , u (L) = uL .
Rodney Josué Biezuner 145

Aqui a (x) ≡ 1 e f (x, u) = f (x), de modo que fP1 = 0. Se decidimos aproximar o valor médio de f no
volume de controle pelo valor de f em P , segue que
2 1 1
ap = 2
, aW = − 2
, aE = − , bp = fP
∆x ∆x ∆x2
para os volumes de controle interiores V2 , . . . , Vn−1 . Para os volumes de controle adjacentes à fronteira, para
o primeiro volume de controle V1 temos
3 1 2
ap = , aE = − , bp = fP + u0 ,
∆x2 ∆x2 ∆x2
enquanto que para o último volume de controle Vn temos
3 1 2
ap = , aW = − , bp = fP + uL .
∆x2 ∆x2 ∆x2
O sistema discretizado é, portanto:
2
 

3 −1

u1
 f +
 1 ∆x2 0  u
 −1 2 −1   u2   f2 
  
. .
 
 . .. . ..   ..  
   
..

1  −1 =
 
.
  
∆x2  . .  .   .
 . . . . −1  .  . .
.


   
−1 2 −1   un−1   fn−1
 

−1 3 un
 2 
fn + 2
uL
∆x
Compare com o correspondente sistema discretizado obtido pelo método de diferenças finitas; a única dife-
rença está na primeira e última linhas dos sistemas. 
7.4 Exemplo (Equação Elı́ptica Linear). Consideremos agora o seguinte problema linear elı́ptico com
condição de fronteira de Dirichlet
−u00 = Au + B

em [0, L] ,
(7.30)
u (0) = u0 , u (L) = uL .
Novamente a (x) ≡ 1, mas desta vez f (x, u) = f (u) = Au + B, de modo que fP0 = B e fP1 = A. Segue que
2 1 1
ap = 2
− A, aW = − 2
, aE = − , bp = B
∆x ∆x ∆x2
para os volumes de controle interiores V2 , . . . , Vn−1 . Para os volumes de controle adjacentes à fronteira, para
o primeiro volume de controle V1 temos
3 1 2
ap = − A, aE = − , bp = B + u0 ,
∆x2 ∆x2 ∆x2
enquanto que para o último volume de controle Vn temos
3 1 2
ap = − A, aW = − , bp = B + uL .
∆x2 ∆x2 ∆x2
O sistema discretizado é, portanto:
2
 

3−A −1

u1
 B + u0 
 ∆x2
 −1 2 − A −1   u2    B 

. .
   
 . .. . ..   ..  
   ..

1  −1 =
 
.
  
∆x2  . .  .   .
 . . . . −1 .
 .   .
.


   
−1 2 − A −1   un−1   B
 

−1 3 − A un
 2 
B+ 2
uL
∆x
Rodney Josué Biezuner 146

Como é sabido, podemos assegurar que o problema linear elı́ptico possui solução única se A 6 0, utilizando
o princı́pio do máximo. Isso se traduz do ponto de vista numérico, no fato de que a matriz discretizada
permanece diagonalmente dominante. No caso em que A > 0 é preciso ter cuidado, pois pode haver infinitas
soluções exatas e não existir solução numérica e vice-versa, pois os autovalores do problema exato não
são iguais aos autovalores da matriz de discretização (na maioria dos casos estes últimos não são nem
boas aproximações para os primeiros: usualmente as aproximações são razoavelmente boas apenas para os
primeiros autovalores e em malhas bastante refinadas, com um número enorme de pontos ou células). Para
evitar este tipo de problema, é possı́vel modificar a linearização; veja a seção 4 deste capı́tulo. 

7.3 O Caso Bidimensional


Considere agora a seguinte equação elı́ptica na forma divergente com condição de Dirichlet em um domı́nio
retangular: 
− div [A (x, y) ∇u] = f (x, y, u) em Ω = [0, 1] × [0, 1] ,
(7.31)
u (x, y) = g (x, y) . sobre ∂Ω,
onde A (x, y) é uma matriz 2 × 2. Vamos considerar o caso mais simples em que A (x, y) = a (x, y) I.
No caso bidimensional, os quatro pontos nodais vizinhos de um ponto nodal arbitrário P serão designados
por W (oeste), E (leste), S (sul ) e N (norte), e as faces correspondentes do volume de controle por w, e,
s e n. A distância horizontal entre dois nós vizinhos (que é a largura de um volume de controle) será igual
a ∆x, enquanto que a distância vertical entre dois nós vizinhos (altura do volume de controle) será igual a
∆y.
Integrando a equação diferencial parcial em cada volume de controle, como
   
∂ ∂u ∂ ∂u
div [a (x, y) ∇u] = a (x, y) + a (x, y) ,
∂x ∂x ∂y ∂y

obtemos agora
Z    Z    Z
∂ ∂u ∂ ∂u
− a (x, y) dxdy − a (x, y) dxdy = f (x, y, u) dxdy,
Vp ∂x ∂x Vp ∂y ∂y Vp

ou
Z n Z e     Z e Z n     Z
∂ ∂u ∂ ∂u
− a (x, y) dx dy − a (x, y) dy dx = f (x, y, u) dxdy.
s w ∂x ∂x w s ∂y ∂y Vp

Através do teorema fundamental do cálculo obtemos a equação exata


Z n  Z e 
∂u ∂u ∂u ∂u
− a (xe , y) (xe , y) − a (xw , y) (xw , y) dy − a (x, yn ) (x, yn ) − a (x, ys ) (x, ys ) dx
∂x ∂x ∂y ∂y
Zs w

= f (x, y, u) dxdy.
Vp

Para continuar o processo de integração, precisamos aproximar as integrais. Escolhemos a aproximação do


integrando pelo ponto médio do intervalo:
Z n   
∂u ∂u ∂u ∂u
a (xe , y) (xe , y) − a (xw , y) (xw , y) dy ≈ a (xe , yp ) (xe , yp ) − a (xw , yp ) (xw , yp ) ∆y,
s ∂x ∂x ∂x ∂x
Z e   
∂u ∂u ∂u ∂u
a (x, yn ) (x, yn ) − a (x, ys ) (x, ys ) dx ≈ a (xp , yn ) (xp , yn ) − a (xp , ys ) (xp , ys ) ∆x
w ∂y ∂y ∂y ∂y
Rodney Josué Biezuner 147

Obtemos, portanto, a seguinte equação parcialmente discretizada (diferente do caso unidimensional, esta
equação não é exata):
∂u ∂u ∂u ∂u
a (xw , yp ) (xw , yp ) ∆y − a (xe , yp ) (xe , yp ) ∆y + a (xp , ys ) (xp , ys ) ∆x − a (xp , yn ) (xp , yn ) ∆x
∂x ∂x ∂y ∂y
= f V ∆x∆y,
onde Z
1
f VP = f (x, u) dxdy.
∆x∆y Vp
Em termos de fluxos discretizados,
φw − φe + φs − φn = f VP ∆x∆y.
Usando interpolação linear como antes, obtemos valores aproximados para a (xw ) , a (xe ) , a (xs ) , a (xn ), cal-
culados nas faces dos volumes de controle, em termos dos valores de a nos pontos nodais dos volumes de
controle:
aW + aP
aw := a (xw , yp ) = , (7.32)
2
aP + aE
ae := a (xe , yp ) = , (7.33)
2
aS + aP
as := a (xp , xs ) = , (7.34)
2
aP + aN
an := a (xp , xn ) = . (7.35)
2
Os fluxos são aproximadas através de diferenças finitas centradas:
∂u ∂u uP − uW
:= (xw , yp ) = , (7.36)
∂x w ∂x ∆x
∂u ∂u uE − uP
:= (xe , yp ) = , (7.37)
∂x e ∂x ∆x
∂u ∂u uP − uS
:= (xp , ys ) = , (7.38)
∂y s ∂y ∆y
∂u ∂u uN − uP
:= (xp , yn ) = . (7.39)
∂y n ∂y ∆y
O termo fonte é linearizado
f 0 + fP1 up
Z Z
1
fP0 + fP1 up dxdy = P dxdy = fP0 + fP1 up .

f VP = (7.40)
∆x∆y Vp ∆x∆y Vp

Daı́,
uP − uW uE − uP uP − uS uN − uP
∆x = fP0 + fP1 up ∆x∆y,

aw ∆y − ae ∆y + as ∆x − an
∆x ∆x ∆y ∆y
ou
ap uP + aW uW + aE uE + aS uS + aN uN = bp . (7.41)
com
aw ae as an
ap = 2
+ 2
+ 2
+ − fP1 , (7.42)
∆x ∆x ∆y ∆y 2
aw ae as an
aW = − , aE = − , aS = − 2 , aN = − 2 , (7.43)
∆x2 ∆x2 ∆y ∆y
bp = fP0 . (7.44)
Rodney Josué Biezuner 148

O tratamento dos volumes de controle adjacentes à fronteira é diferente. Por exemplo, para volumes de
controle adjacentes à fronteira esquerda (oeste), que não sejam os dois volumes de controle dos cantos, temos
aw = a (0, yp ) , (7.45)
e
∂u uP − u (0, yp )
= , (7.46)
∂x w ∆x/2
porque a distância horizontal entre P e 0 é ∆x/2. Assim, a equação discretizada correspondente a este
volume de controle é
uP − u (0, yp ) uE − uP uP − uS uN − uP
∆x = fP0 + fP1 up ∆x∆y,

2a (0, yp ) ∆y − ae ∆y + as ∆x − an
∆x ∆x ∆y ∆y
ou
ap uP + aE uE + aS uS + aN uN = bp , (7.47)
com
2a (0, yp ) ae as an
ap = 2
+ 2
+ 2
+ − fP1 , (7.48)
∆x ∆x ∆y ∆y 2
ae as an
aE = − 2
, aS = − 2 , aN = − 2 , (7.49)
∆x ∆y ∆y
2a (0, yp )
bp = fP0 + g (0, yp ) . (7.50)
∆x2
Fórmulas semelhantes são obtidas para volumes de controle adjacentes às demais fronteiras que não estejam
em um dos quatro cantos do domı́nio retangular. Para os volumes de controle nos cantos do retângulo,
precisamos fazer mais uma modificação. Por exemplo, para o volume de controle no canto superior esquerdo
temos
aw = a (0, yp ) , (7.51)
an = a (xp , 1) , (7.52)
e
∂u uP − u (0, yp )
= , (7.53)
∂x w ∆x/2
∂u u (xp , 1) − uP
= , (7.54)
∂y n ∆y/2
e a equação discretizada correspondente a este volume de controle é
uP − u (0, yp ) uE − uP uP − uS u (xp , 1) − uP
∆x = fP0 + fP1 up ∆x∆y,

2a (0, yp ) ∆y−ae ∆y+as ∆x−2a (xp , 1)
∆x ∆x ∆y ∆y
ou
ap uP + aE uE + aS uS = bp , (7.55)
com
2a (0, yp ) ae as 2a (xp , 1)
ap = 2
+ 2
+ 2
+ − fP1 , (7.56)
∆x ∆x ∆y ∆y 2
ae as
aE = − 2
, aS = − 2 , (7.57)
∆x ∆y
2a (0, yp ) 2a (xp , 1)
bp = fP0 + g (0, yp ) + g (xp , 1) . (7.58)
∆x2 ∆x2
Ordenando os volumes de controle (por exemplo, usando a ordem lexicográfica), obtemos um sistema linear
cuja solução será uma solução aproximada para a equação com as condições de fronteira dadas.
Rodney Josué Biezuner 149

7.5 Exemplo (Equação de Poisson). Vamos aplicar o método de volumes finitos à equação de Poisson com
condição de fronteira de Dirichlet
 2
−∆u = f (x, y) em [0, 1] ,
2 (7.59)
u = g (x, y) sobre ∂ [0, 1] .

Temos a (x) ≡ 1, fP1 = 0, fP0 = fP , e optamos por discretizar a malha por volumes de controle quadrados,
isto é, satisfazendo ∆x = ∆y. Segue que a linha do sistema discretizado corresponde a um volume de controle
interior tem a forma (multiplicamos todas as linhas do sistema por ∆x2 )

elemento na diagonal: ap = 4,
elementos fora da diagonal: a∗ = −1 (4 elementos),
elemento constante: bP = fP ∆x2 .

Para volumes de controle adjacentes à fronteira, não localizados nos cantos, a linha correspondente no sistema
discretizado é

elemento na diagonal: ap = 5,
elementos fora da diagonal: a∗ = −1 (3 elementos),
elemento constante: bP = fP ∆x2 + 2g (∗) .

Finalmente, para volumes de controle localizados nos cantos, temos

elemento na diagonal: ap = 6,
elementos fora da diagonal: a∗ = −1 (2 elementos),
elemento constante: bP = fP ∆x2 + 2g (∗) + 2g (∗∗) .

Compare com o correspondente sistema discretizado obtido pelo método de diferenças finitas; como no caso
unidimensional, as diferenças surgem apenas para as linhas correspondentes a células e pontos na fronteira
do domı́nio. 

7.4 Linearização do Termo Fonte


Ao linearizar o termo fonte
f (u) = fP0 + fP1 up
devemos ter cuidado para esolher a linearização de tal forma a obter

fP1 6 0. (7.60)

A necessidade matemática desta escolha já foi discutida no Exemplo 4.4. Fisicamente, esta exigência também
faz sentido: a maioria dos termos fontes em fenômenos transientes que tendem a um estado estacionário em
geral têm derivada primeira negativa, caso contrário o sistema não tenderia a um regime permanente. Por
exemplo, na difusão do calor, a existência de um termo linear com derivada positiva implicaria na acumulação
de energia térmica dentro do domı́nio, a não ser que o calor pudesse ser rapidamente dissipado através da
fronteira, o que geral não ocorre, pois mesmo o calor perdido por um objeto quente através da sua imersão
em um recipiente cheio de lı́quido frio é transferido para o lı́quido a uma taxa linear. Isso tende a gerar
uma situação instável que eventualmente leva ao colapso térmico do sistema (explosão ou derretimento do
objeto).
Rodney Josué Biezuner 150

7.4.1 Termo Fonte do Tipo f (u) = Au + B com A < 0


A linearização óbvia neste caso é tomar
fP0 = B, fP1 = A, (7.61)
o que aumentará a dominância diagonal da matriz, como já vimos no Exemplo 4.4. Outra possibilidade é
usar um processo iterativo, definindo

fP0 = Auk−1
P +B e fP1 = 0, (7.62)

usando o valor Auk−1


P +B obtido na iteração anterior no lado direito do sistema a ser resolvido nesta iteração.
Como o termo fonte neste caso é linear, a primeira sugestão é mais aconselhada neste caso.

7.4.2 Termo Fonte do Tipo f (u) = Au + B com A > 0


Neste caso, como já mencionado várias vezes, não é aconselhável tomar a linearização óbvia (especialmente
se existirem outras não-linearidades, e um processo não-iterativo se fazer necessário para resolver o sistema,
isso pode levar o processo iterativo a divergir). A segunda sugestão da subseção anterior é a mais adequada
neste caso, isto é, tomar
fP0 = Auk−1
P + B e fP1 = 0, (7.63)
e usar um processo iterativo.

7.4.3 Termo Fonte do Tipo f (u) com f 0 (u) < 0


A maneira mais simples de lidar com um termo fonte não-linear é usar um processo iterativo simples,
definindo
fP0 = f uk−1 e fP1 = 0.

P (7.64)
A desvantagem deste método é que ele não toma conhecimento da dependência de f em u na iteração
corrente. Uma linearização que leva isto em conta é a seguinte: escrevendo
 df k−1  k
f ukP = f uk−1 uP − uk−1
 
P + uP P , (7.65)
du
tomamos
 df k−1  k−1 df k−1 
fP0 = f uk−1
P − u uP e fP1 = u . (7.66)
du P du P
Por exemplo, se f (u) = 4 − 5u3 , terı́amos
3 2 k
f ukP = 4 − 5 uk−1 − 15 uk−1 uP − uk−1
 
P P P
3 2 k
= 4 + 10 uk−1
P − 15 uk−1
P uP .
Referências Bibliográficas

[Asmar] Nakhlé ASMAR, Partial Differential Equations and Boundary Value Problems, Pren-
tice Hall, 2000.
[Biezuner] Rodney Josué BIEZUNER, Notas de Aula: Equações Diferenciais Parciais, UFMG,
2005.
[BHM] William L. BRIGGS, Van Emden HENSON e Steve F. McCORMICK, A Multigrid
Tutorial, SIAM, 2000.
[Butcher] J. C. BUTCHER, Numerical Methods for Ordinary Differential Equations, 2nd. Ed.
Wiley, 2008.
[Demmel] James W. DEMMEL, Applied Numerical Linear Algebra, SIAM, 1997.
[Hackbusch] W. HACKBUSCH, Elliptic Differential Equations: Theory and Numerical Treatment,
Springer Series in Computational Mathematics 18, Springer, 1992.
[HNW] E. HAIRER, S.P. NORSETT e G. WANNER, Solving Ordinary Differential Equations
I: Nonstiff problems, 2nd. Ed., Springer Series in Computational Mathematics 8,
Springer-Verlag, 1993.
[Heuveline] Vincent HEUVELINE, On the computation of a very large number of eigenvalues for
selfadjoint elliptic operators by means of multigrid methods, Journal of Computational
Physics 184 (2003), 321–337.
[Horn-Johnson] Roger A. HORN e Charles R. JOHNSON, Matrix Analysis, Cambridge University
Press, 1985.
[Iserles] A. ISERLES, A First Course in the Numerical Analysis of Differential Equations,
2nd. Ed., Cambridge Texts in Applied Mathematics, Cambridge University Press,
2008.
[Maliska] CLOVIS R. MALISKA, Transferência de Calor e Mecânica dos Fluidos Computaci-
onal, 2a. Edição, LTC, 2004.
[Patankar] S. V. PATANKAR, Numerical Heat Transfer and Fluid Flow, Hemisphere, 1980.
[Plato] R. PLATO, Concise Numerical Mathematics, Graduate Studies in Mathematics 57,
American Mathematical Society, 2003.
[Rosser1] J. Barkley ROSSER, Nine point difference solutions for Poisson’s equation, Comp.
Math. Appl. 1 (1975), 351–360.
[Rosser2] J. Barkley ROSSER, Finite-difference solution of Poisson’s equation in rectangles of
arbitrary proportions, Zeitschrift für Angewandte Mathematik und Physik (ZAMP)
28 (1977), no.2, 185–196.

151
Rodney Josué Biezuner 152

[SMM] D. SPERANDIO, J.T. MENDES e L. H. MONKEN e SILVA, Cálculo Numérico: ca-


racterı́sticas matemáticas e computacionais dos métodos numéricos, Pearson Prentice
Hall, 2003.
[Strang] Gilbert STRANG, Linear Algebra and its Applications, 3rd Ed., Harcourt Brace Jo-
vanovich, 1988.
[Strikwerda] John C. STRIKWERDA, Finite Difference Schemes and Partial Differential Equati-
ons, 2nd Ed., SIAM, 2004.
[Thomas1] J. W. THOMAS, Numerical Partial Differential Equations: Finite Difference
Methods, Texts in Applied Mathematics 22, Springer, 1995.
[Thomas2] J. W. THOMAS, Numerical Partial Differential Equations: Conservation Laws and
Elliptic Equations, Texts in Applied Mathematics 33, Springer, 1999.
[TOS] Ulrich TROTTENBERG, Cornelis OOSTERLEE e Anton SCHÜLLER, Multigrid,
Elsevier, 2001.

[Versteeg-Malalasekera] H. K. VERSTEEG e W. MALALASEKERA, An introduction to computational fluid


dynamics: The finite volume method, Prentice Hall, 1995.
[Watkins] David S. WATKINS, Fundamentals of Matrix Computations, 2nd Ed., John Wiley &
Sons, 2002.

[Young] David M. YOUNG, Iterative Solutions of Large Linear Systems, Academic Press,
1971.

Você também pode gostar