Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Rodney Josué Biezuner
Departamento de Matemática
Instituto de Ciências Exatas (ICEx)
Universidade Federal de Minas Gerais (UFMG)
30 de novembro de 2009
1
E-mail: rodney@mat.ufmg.br; homepage: http://www.mat.ufmg.br/∼rodney.
Sumário
1 Matrizes Esparsas 7
1.1 Problema Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 Problema de Poisson Unidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2 Problema de Poisson Bidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Matrizes Esparsas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Implementação Computacional de Matrizes Esparsas . . . . . . . . . . . . . . . . . . . . . . . 11
1
Rodney Josué Biezuner 2
3.4 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4 Métodos de Projeção 62
4.1 Teoria Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.1.1 Representação Matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1.2 Minimização de Funcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.1.3 Estimativa do Erro em Métodos de Projeção . . . . . . . . . . . . . . . . . . . . . . . 66
4.2 Caso Unidimensional: Métodos de Descida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.1 Métodos de Descida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.2 Método da Descida Mais Acentuada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Introdução: Representação de
Números Reais no Computador
Computadores digitais usam um número finito de bits para representar um número real, portanto eles
podem representar apenas um subconjunto finito dos números reais, o que leva a dois tipos diferentes de
limitações: (1) números representados não podem ser arbitrariamente grandes ou arbitrariamente pequenos;
(2) existem lacunas entre os numéros representados. Estas limitações fı́sicas levam respectivamente aos erros
de overf low e underf low e aos erros de arredondamento.
Para discutir estes erros de maneira inteligente, introduzimos alguma terminologia.
0.1 Definição. Definimos o erro absoluto causado por uma computação por
O erro relativo permite comparar entre os erros cometidos de maneira significativa. Por exemplo, o erro
absoluto entre 1 (valor exato) e 2 (valor calculado) e o erro absoluto entre 1.000.000 (valor exato) e 1.000.001
(valor calculado) são os mesmos. No entanto, o erro relativo no primeiro caso é 1, enquanto que o erro
relativo no segundo caso é 10−6 , expressando o fato intuitivo que o erro cometido no primeiro caso é muito
maior que o erro cometido no segundo caso. Às vezes o erro relativo é expresso como uma porcentagem:
Assim, o erro percentual no primeiro caso é 100%, enquanto que o erro percentual no segundo caso é
10−4 = 0, 0001%.
3
Rodney Josué Biezuner 4
os números depois do ponto decimal são infinitos (incluindo o 0). Em outras palavras, usando a base 10,
números reais correspondem a séries da forma
X∞
an
a = a0 +
n=1
10n
−1 0 1
0 0
1 1 × 10−1 = 0, 1 1 × 100 =1 1 × 101 = 10
2 2 × 10−1 = 0, 2 2 × 100 =2 2 × 101 = 20
3 3 × 10−1 = 0, 3 3 × 100 =3 3 × 101 = 30
4 4 × 10−1 = 0, 4 4 × 100 =4 4 × 101 = 40
5 5 × 10−1 = 0, 5 5 × 100 =5 5 × 101 = 50
6 6 × 10−1 = 0, 6 6 × 100 =6 6 × 101 = 60
7 7 × 10−1 = 0, 7 7 × 100 =7 7 × 101 = 70
8 8 × 10−1 = 0, 8 8 × 100 =8 8 × 101 = 80
9 9 × 10−1 = 0, 9 9 × 100 =9 9 × 101 = 90
O fato do espaço entre os valores em ponto flutuante aumentar em proporção ao tamanho dos números é
que justifica o nome ponto flutuante. Uma representação em que os espaços entre os valores representados
tem um tamanho fixo é chamada uma representação em ponto fixo.
0.2 Definição. Definimos a precisão de um ponto flutuante como sendo o número de dı́gitos significativos
que ele possui em seu significando. A exatidão de um ponto flutuante é a sua aproximação do valor
exato.
Quanto mais dı́gitos significativos um ponto flutuante possui, mais preciso ele é: o double 0.3333333333333333
é uma representação mais precisa do número real 1/3 do que o float 0.3333333. Por outro lado, o float
0.3333333 é uma representação mais exata de 1/3 do que o double 0.3444444444444444, apesar deste ser
um ponto flutuante mais preciso, porque a maioria dos seus dı́gitos significativos estão errados. Os erros
computacionais tais como os erros de cancelamento e arredondamento afetam a exatidão de um valor em
ponto flutuante. Aumentar a precisão de float para double tem o potencial de aumentar a exatidão, mas
não a garante.
Rodney Josué Biezuner 5
0.4 Definição. Um erro de cancelamento é um erro de arredondamento que ocorre quando a maioria
dos dı́gitos significativos são perdidos durante a subtração de dois valores aproximadamente iguais.
s = 1, e = 254 e f = 11111111111111111111111,
ou seja,
X23
1
i
× 2127 ≈ 3, 4028 × 1038 ,
i=0
2
Rodney Josué Biezuner 6
Matrizes Esparsas
Matrizes esparsas são matrizes onde a imensa maioria das entradas são nulas. Esta é uma definição
vaga. Não existe um limite inferior para o número de zeros em uma matriz, em relação ao tamanho desta,
a partir do qual podemos declarar uma matriz com sendo esparsa. Isto é, não existe um limite preciso a
partir do qual uma matriz deixa de ser esparsa e se torna uma matriz densa (isto é, uma matriz em que
o número de zeros é irrelevante). Em geral, matrizes esparsas são definidas operacionalmente, no sentido
de que uma matriz pode ser chamada esparsa, sempre que técnicas especiais podem ser usadas para tirar
vantagem do grande número de zeros e sua localização. Equações diferenciais parciais são a maior fonte de
problemas de álgebra linear numérica envolvendo matrizes esparsas. Engenheiros elétricos lidando com redes
elétricas nos anos 1960s foram os primeiros a explorar a esparcidade das matrizes de coeficientes associadas
aos problemas tratados para resolver sistemas lineares. Como os computadores tinham pouca capacidade
de armazenamento e poder de processamento, e os problemas envolviam um número enorme de variáveis,
métodos de solução direta que tiram vantagem da existência de um número muito grande de zeros tiveram
que ser desenvolvidos.
x0 = 0, x1 = h, x2 = 2h, . . . , xn−1 = (n − 1) h, xn = nh = 1,
ui = u(xi ),
fi = f (xi ) .
Esta é uma discretização uniforme do intervalo [0, 1]. Uma vez discretizado o domı́nio da equação diferencial
parcial, procedemos à discretização desta última. Usando diferenças centradas para cada ponto interior xi ,
1 6 i 6 n − 1, temos
−ui−1 + 2ui − ui+1
= fi . (1.2)
h2
Esta discretização em diferenças finitas para a equação de Poisson é chamada fórmula dos três pontos.
Portanto, para encontrar a solução discretizada temos que resolver o sistema linear com n − 1 equações a
n − 1 incógnitas: −2
h (2u1 − u2 ) = f1 + ah−2
−2
h (−u1 + 2u2 − u3 )
= f2
.. ,
.
−2
h (−un−3 + 2un−2 − un−1 ) = fn−2
−2
h (−un−2 + 2un−1 ) = fn−1 + bh−2
ou seja,
2 −1 u1 f1 + ah−2
−1 2 −1 u2 f2
.. .. .. ..
1 −1 . .
.
= .
.
h2
..
.
..
. −1
..
...
.
−1 2 −1 un−2 fn−2
−1 2 un−1 fn−1 + bh−2
Esta é uma matriz tridiagonal, simétrica e esparsa.
onde
1
h= ,
n
produzindo a malha (ou gride) uniforme
© ª
Ωd = (x, y) ∈ Ω : x = i∆x, y = j∆y, 0 6 i, j 6 n .
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 − ui,j−1 + 4ui,j − ui+1,j − ui,j+1
= fi,j . (1.4)
h2
Como a função u é calculada em cinco pontos, esta discretização em diferenças finitas para a equação de
Poisson é chamada a fórmula dos cinco pontos.
2
Para cada ponto interior da malha obtemos uma equação, logo temos um sistema linear de (n − 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. Nesta ordem, os pontos da malha são percorridos
linha por linha, da esquerda para a direita, de baixo para cima:
Observe que
aii = 4
2
para todo 1 6 i 6 (n − 1) , enquanto que
aij = −1
se o ponto j é vizinho à esquerda ou à direita do ponto i, ou se o ponto j é vizinho acima ou abaixo do ponto
i. Por exemplo, se n = 4, temos
4 −1 0 −1 0 0 0 0 0
−1 4 −1 0 −1 0 0 0 0
0 −1 4 0 0 −1 0 0 0
−1 0 0 4 −1 0 −1 0 0
1
A= 2 0 −1 0 −1 4 −1 0 −1 0
h
0 0 −1 0 −1 4 0 0 −1
0 0 0 −1 0 0 4 −1 0
0 0 0 0 −1 0 −1 4 −1
0 0 0 0 0 −1 0 −1 4
valueArray = 2 9 1 4 3 4 2 5 3 6 7 ,
rowIndexArray = 3 4 1 3 3 5 2 2 1 4 2 ,
columnIndexArray = 3 4 1 4 1 5 5 1 4 3 2 .
Cada vetor tem comprimento igual ao número de elementos não-nulos da matriz. Observe que os
elementos são listados em ordem arbitrária. ¤
Provavelmente, o formato mais popular para armazenar matrizes esparsas gerais é o formato compressed
row storage (CRS). Neste esquema, as linhas da matriz são armazenadas uma a uma em um vetor real, da
primeira até a última, preservando a ordem. Um segundo vetor inteiro contendo os ı́ndices das colunas é
usado. Um terceiro vetor inteiro contém a posição no vetor de valores reais ou no vetor de ı́ndices de coluna
onde cada linha começa, mais um elemento para indicar a primeira posição vazia dos dois vetores.
valueArray = 1 3 5 7 2 3 2 4 6 9 4 ,
columIndexArray = 1 4 1 2 5 1 3 4 3 4 5 ,
rowPointerArray = 1 3 6 9 11 12 .
Enquanto o comprimento dos dois primeiros vetores é igual ao número de elementos não-nulos da
matriz., o comprimento do terceiro vetor é igual ao número de linhas da matriz mais um. Dentro
de cada linha os elementos ainda podem ser armazenados em ordem arbitrária, o que pode ser muito
conveniente. ¤
Este esquema é o preferido pois é o mais útil para realizar as computações tı́picas, tais como multiplicação
da matriz por vetores. Em CRS, a multiplicação matriz-vetor pode ser implementada da seguinte forma (em
Rodney Josué Biezuner 12
C/C++ ou Java):
Um esquema correspondente, armazenando colunas ao invés de linhas é o compressed column storage (CCS),
usado no Octave.
Os esquemas considerados acima são chamados estáticos. Esquemas dinâmicos, envolvendo listas en-
cadeadas, em geral economizam ainda mais memória e tem acesso ainda mais rápido à memória. Cada linha
da matriz pode ser representada por uma lista encadeada. A matriz toda é representada por uma lista de
listas encadeadas, seguindo a ordem de linhas da matriz. Desta forma, o inı́cio de cada linha não precisa ser
representado. O ı́ndice da coluna de cada elemento da linha ainda precisa ser representado, é claro, e isso
pode ser feito através de um ponteiro especı́fico.
Outras esquemas podem ser utilizados, tirando vantagem da estrutura da matriz esparsa. Por exem-
plo, em matrizes diagonais as diagonais não-nulas podem ser armazenadas separadamente. Em matrizes
simétricas, é necessário armazenar apenas os elementos da diagonal principal e da parte triangular superior
(ou inferior) da matriz, mas isso em geral implica em algoritmos mais complicados para fazer operações com
a matriz.
Capı́tulo 2
Neste capı́tulo desenvolveremos métodos gerais e fáceis de aplicar para determinar a invertibilidade de ma-
trizes esparsas, principalmente aquelas que surgem através da discretização de equações diferenciais parciais
através de diferenças finitas. Em particular, isso implicará a existência e unicidade de soluções para sistemas
lineares envolvendo tais matrizes. Uma vez que isso esteja estabelecido, poderemos nos dedicar nos próximos
capı́tulos a estudar métodos iterativos para encontrar estas soluções.
2.1 Definição. Seja V um espaço vetorial real ou complexo. Uma norma vetorial em V é uma função
|·| : V −→ R que satisfaz as seguintes propriedades:
Denotaremos por Mn (R) o espaço vetorial das matrizes complexas n × n e por Mn (C) o espaço vetorial
das matrizes complexas n × n. Quando estivermos nos referindo a qualquer um destes espaços (ou seja,
quando a afirmação que fizermos valer para qualquer um deles), usaremos a notação Mn simplesmente.
2.2 Definição. Uma norma matricial no espaço vetorial Mn é uma norma vetorial k·k : Mn −→ R que
satisfaz a propriedade submultiplicativa
A seguir, veremos alguns exemplos das normas matriciais mais importantes em Mn . A verificação de que
as normas apresentadas constituem normas vetoriais é deixada como exercı́cio (Exercı́cio 2.1).
13
Rodney Josué Biezuner 14
De fato,
¯ n
n ¯X
¯
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,k=1 j,l=1
¤
2.4 Exemplo. Norma l2 (norma euclidiana):
1/2
n
X 2
kAk2 = |aij | . (2.3)
i,j=1
Com efeito,
¯ n
n ¯X
¯2 Ã n !Ã n ! n
X ¯ n
X X X X n
X
2 ¯ ¯ 2 2 2 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
A norma l2 também é chamada mais raramente (e somente para matrizes) norma de Schur, norma de
Frobenius ou norma de Hilbert-Schmidt. ¤
2.5 Exemplo. Normas lp :
De modo geral, dado p > 1, definimos a norma matricial
1/p
Xn
p
kAkp = |aij | . (2.4)
i,j=1
¤
2.6 Exemplo. Norma l∞ modificada (norma do máximo modificada):
A norma l∞ (norma do máximo)
kAk∞ = max |aij |
16i,j6n
é uma norma vetorial em Mn mas não é uma norma matricial: por exemplo, se
· ¸
1 1
A= ,
1 1
então · ¸
2 2
A2 =
2 2
e portanto ° 2°
°A ° = 2 > 1 = kAk∞ kAk∞ .
∞
No entanto, um múltiplo escalar desta norma vetorial é uma norma matricial:
kAkn∞ = n max |aij | . (2.5)
16i,j6n
Com efeito,
¯ ¯
¯Xn ¯ 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 (n kAk∞ kBk∞ ) = n kAk∞ n kBk∞ = kABkn∞ .
¤
Rodney Josué Biezuner 15
Aqui vemos A como um operador linear em Rn ou Cn , portanto contı́nuo, de modo que o máximo de
A é atingido na esfera e na bola fechada. Para ver que a primeira e a terceira definições coincidem (de
modo que o sup na terceira definição é de fato um máximo), use o fato que
¯ µ ¶¯
|Ax| ¯¯ x ¯¯
= ¯A .
|x| |x| ¯
Agora observe que
max |Ax| 6 max |Ax| ,
|x|=1 |x|61
já que a bola fechada contém a esfera. Por outro lado, se |x| = ε < 1, segue que
¯ µ ¶¯
¯ ¯
¯A x ¯ = |Ax| = |Ax| > |Ax| ,
¯ |x| ¯ |x| ε
de modo que o máximo de |Ax| não é atingido no interior da bola, logo
e portanto a primeira e a segunda definições coincidem. Finalmente, para ver que a norma do operador
é uma norma matricial, escreva
µ ¶
|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| Bx6 = 0 |Bx| x6 =0 |x| y6 = 0 |y| x6 = 0 |x|
A norma do operador satisfaz a propriedade extremamente útil
Esta norma é a norma do operador induzida pela norma vetorial l∞ . De fato, se x = (x1 , . . . , xn ),
temos ¯ ¯
¯ n ¯ n n
¯X ¯ X X
|Ax|∞ = max ¯¯ aij xj ¯¯ 6 max |aij xj | 6 max |aij | |x|∞ = kAkL |x|∞ ,
16i6n ¯ ¯ 16i6n j=1 16i6n
j=1 j=1
de modo que
max |Ax|∞ 6 kAkL .
|x|=1
Esta norma é a norma do operador induzida pela norma vetorial l1 . De fato, escrevendo A em termos
de suas colunas
A = [A1 . . . An ]
segue que
kAkC = max |Aj |1 .
16j6n
donde
max |Ax|1 6 kAkC .
|x|1 =1
|Ay|1 = |Aj |1
¤
2.10 Exemplo. p-normas:
Este é o nome geral para as normas do operador induzidas pela norma vetorial lp em Rn ou Cn . Para
distingui-las das normas matriciais lp no próprio espaço vetorial Mn , vamos denotá-las por
|Ax|p
|||A|||p = sup .
x6=0 |x|p
O caso especial da norma do operador induzida pela norma vetorial l2 (a norma vetorial euclidiana) é
também chamada a norma espectral e satisfaz
p np o
|||A|||2 = λmax = max |λ| : λ é um autovalor de A∗ A .
Rodney Josué Biezuner 17
De fato, A∗ A é uma matriz hermitiana logo todos os seus autovalores são não-negativos. Pela carac-
terizaçã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 (Exercı́cio 2.3). Note também que se A é
uma matriz hermitiana, então A∗ A = A2 e |||A|||2 é 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 λ1 , . . . , λn de A:
ρ (A) = max |λi | ,
i=1,...,n
¤
2.11 Exemplo. 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 ° (2.10)
Lembramos que todas as normas em um espaço vetorial de dimensão finita são equivalentes, e isso vale em
particular para normas matriciais:
2.12 Teorema. Seja V um espaço vetorial real ou complexo de dimensão finita. Então todas as normas
vetoriais em V são equivalentes, isto é, se k·k1 e k·k2 são duas normas vetoriais quaisquer em V ,
então existem constantes C1 , C2 > 0 tais que
kxk1 6 C1 kxk2
e
kxk2 6 C2 kxk1
para todo x ∈ V .
Prova: Para mostrar a equivalência entre todas as normas de um espaço vetorial, por transitividade basta
fixar uma norma k·k1 e mostrar que qualquer norma arbitrária k·k2 é equivalente a k·k1 . Seja B = {e1 , . . . , en }
uma base para V , de modo que todo vetor x ∈ V se escreve na forma
n
X
x= x i ei
i=1
para todo x ∈ V , x 6= 0. Tomando C1 = 1/m, segue que kxk1 6 C1 kxk2 para todo x ∈ V . ¥
2.14 Lema. Seja A ∈ Mn . Se existe alguma norma matricial k·k tal que kI − Ak < 1, então A é invertı́vel.
Prova. De fato, sob esta condição, afirmamos que a inversa é dada explicitamente pela série
∞
X k
A−1 = (I − A) . (2.11)
k=0
2.15 Corolário. Se A ∈ Mn é uma matriz singular e k·k é uma norma matricial, então kI − Ak > 1. Em
particular, se k·k é uma norma matricial, então kIk > 1.
Prova. 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
½
¡ −1
¢ 0 se i = j,
I − D 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 ¯ ¯
X ¯¡ ¢ ¯¯ X ¯ aij ¯ Xn
−1
¯ I − D A ij ¯ = ¯ ¯= 1 |aij | < 1,
¯ aii ¯ |aii |
j=1 j=1 j=1
j6=i j6=i
° °
logo °I − D−1 A° < 1 e o resultado segue do Lema 2.14. ¥
À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, vale a pena ressaltar que 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.
DR (a) = {z ∈ C : |z − a| 6 R} .
Rodney Josué Biezuner 20
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 ) . (2.13)
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
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
DRi (At ) (aii ) = {z ∈ C : |z − aii | 6 Ri (At )} = {z ∈ C : |z − aii | 6 tRi (A)} ⊂ DRi (A) (aii ) ,
Rodney Josué Biezuner 21
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). Seja 1 6 i 6 k. 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 2.16: 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. 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:
2.18 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
Em particular,
Xn Xn
1 1
ρ (A) 6 min max pj |aij | , max pj |aij | . (2.15)
p1 ,...,pn >0 i=1,...,n pi j=1,...,n p
j=1 i=1 i
2.4 Propriedade FC
Na nossa busca por propriedades para matrizes diagonalmente dominantes que garantirão a sua invertibil-
idade, 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
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.
2.20 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
aij 6= 0,
então
|xj | = |xk |
e o j-ésimo cı́rculo de Gershgorin também passa por λ.
|λ − aii | 6 Ri (A) .
donde
n
X
|aij | (|xi | − |xj |) = 0.
j=1
j6=i
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:
2.21 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
2.22 Corolário. Se A ∈ Mn (C) é uma matriz cujas entradas são todas não-nulas e diagonalmente domi-
P
n
nante tal que |aii | > |aij | para pelo menos alguma linha i, então A é invertı́vel.
j=1
j6=i
Rodney Josué Biezuner 24
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. ¥
As matrizes do Corolário 2.22 são as antı́teses das matrizes esparsas que nos interessam. Usando com
maior cuidado a informação dada pelo Lema 2.20 podemos obter resultados que se aplicam a matrizes
esparsas.
2.23 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
são não-nulas.
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.
2.24 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
Em particular, segue novamente do Lema 2.20 que o j-ésimo cı́rculo de Gershgorin passa por λ. Como j é
arbitrário, isso prova o teorema. ¥
2.25 Corolário. Se A ∈ Mn (C) é uma matriz que satisfaz a propriedade FC e diagonalmente dominante
P
n
tal que |aii | > |aij | para pelo menos alguma linha i, então A é invertı́vel.
j=1
j6=i
Rodney Josué Biezuner 25
Prova. Segue do teorema anterior da mesma forma que o Corolário 2.22 segue do Teorema 2.21. ¥
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:
2.26 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:
2.27 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 .
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 (Exercı́cio 2.7).
Agora estamos em condições de verificar a invertibilidade das matrizes esparsas oriundas da discretização
de EDPs através de diferenças finitas:
Prova. É fácil ver que as matrizes de discretização obtidas no capı́tulo anterior para o intervalo e para
o quadrado são matrizes diagonalmente dominantes com dominância diagonal estrita nas linhas correspon-
dentes a pontos interiores adjacentes à fronteira. Além disso, 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, 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
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
Rodney Josué Biezuner 26
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. ¥
Verificar a propriedade FC a partir do grafo direcionado de A pode ser impraticável se o tamanho da
matriz for muito grande ou se a matriz não tiver origem na discretização de um problema de EDPs. Existe
um método computacional mais explı́cito para fazê-lo:
2.30 Teorema. Sejam A ∈ Mn (C) e Pi , Pj nodos de Γ (A). Existe um caminho direcionado de compri-
mento m em Γ (A) de Pi para Pj se e somente se
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). ¥
2.31 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.
2.32 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
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
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 2.30, 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 2.33, é preferı́vel calcular
n−1
[I + M (A)] , já que M (A) é uma matriz composta apenas de 0’s e 1’s.
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
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
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
X ¶
n−1 n−1 m
(I + |A|) =I+ |A| ,
m=1
m
n−1
(I
h + |A|) não
i possui entradas diagonais nulas, logo podemos assumir que para algum par i 6= j temos
n−1 m
(I + |A|) = 0, o que implica [|A| ]ij = 0 para todo 1 6 m 6 n − 1. Pelo Teorema 2.30 (e observação
ij
imediatamente posterior à definição de grafo direcionado), não existe um caminho direcionado em Γ (A) de
comprimento finito entre Pi e Pj . Defina os conjuntos de nodos
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 ,
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 2.30. ¥
2.36 Corolário. Uma matriz A ∈ Mn (C) é irredutı́vel se e somente se ela satisfaz a propriedade FC.
P
n
2.37 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 2.34, do Corolário 2.25 e do Teorema dos Discos de Gershgorin (veja
comentários após o Teorema 2.18). ¥
2.38 Corolário. Os autovalores das matrizes de discretização do problema modelo são positivos.
2.6 Exercı́cios
2.1 Mostre que as normas matriciais introduzidas na primeira seção deste capı́tulo (Exemplos 2.3 até 2.11)
são de fato normas vetoriais.
Rodney Josué Biezuner 30
Neste capı́tulo investigaremos os métodos iterativos básicos 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 para equações diferenciais parciais, os métodos considerados aqui requerem
em princı́pio apenas que A seja uma matriz invertı́vel com todas as entradas diagonais aii não-nulas (embora
a matriz A deva satisfazer critérios adicionais, de acordo com cada método, para assegurar a convergência
para a solução exata).
Métodos iterativos requerem um chute inicial x0 , ou seja, 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¡gerar 2
¢ uma nova melhor aproximação x 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
previamente fixada, 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 ° k+1 °
°x − 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 exatidão especificada). Embora os métodos iterativos lineares são muitos lentos em relação a outros
métodos iterativos desenvolvidos mais recentemente, sendo portanto raramente utilizados isoladamente, eles
são frequentemente usados hoje em dia como componentes de certos métodos iterativos ultra-rápidos, tais
como o método multigrid.
31
Rodney Josué Biezuner 32
se aii 6= 0 para todo i, cada xi pode ser isolado na i-ésima equação e escrito na forma
Xn
1 bi −
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
Xn
1 bi −
xk+1 = aij xkj
. (3.1)
i
aii j=1
j6=i
No caso da fórmula de cinco pontos para o problema de Poisson, 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 = h2 fi,j
o método de Jacobi é
1¡ k ¢
uk+1
i,j = ui,j−1 + uki−1,j + uki+1,j + uki,j+1 + h2 fi,j . (3.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
i,j = ui,j−1 + uki−1,j + uki+1,j + uki,j+1 . (3.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 (3.4)
ou ¡ ¢
xk+1 = D−1 Cxk + b (3.5)
onde C = D − A é a matriz consistindo dos elementos restantes de A fora da diagonal principal.
Rodney Josué Biezuner 33
Então definimos
i−1
X Xn
1
xk+1
i = bi − aij xk+1
j − aij xkj (3.6)
aii j=1 j=i+1
3.1 Exemplo. Existem matrizes para as quais o método de Jacobi converge e o método de Gauss-Seidel
diverge, e vice-versa. Veja o Exercı́cio 3.1. ¤
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 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; desenvolvido em 1950 por Young): usando o método de Gauss-Seidel obtemos
i−1
X Xn
1 bi −
bk+1
xi = aij xk+1
j − aij xkj ;
aii j=1 j=i+1
temos £ ¤
Dxk+1 = Dxk + ω Lxk+1 + (U − D) xk + b (3.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 . (3.15)
ω ω
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,
ou seja, para resolver o problema discretizado
½
−∆d ud = 0 em Ωd ,
ud = gd sobre ∂Ωd .
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.
e tomamos ¡ k+1 ¢
xk+1
i = xki + ω x
bi − xki ,
ou seja,
n
X
1
xk+1
i = xki + ω
aii bi − aij xkj k
− xi . (3.16)
j=1
j6=i
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 (3.17)
ou µ ¶ µ ¶
1 k+1 1
D x = D − A xk + ωb,
ω ω
donde µ ¶−1 ·µ ¶ ¸
k+1 1 1 k
x = D D−A x +b . (3.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).
3.2 Definição. Um método iterativo linear para resolver o sistema Ax = b é um método da forma
xk+1 = Rxk + N b
Ax = b
A = B − C, (3.19)
onde B é necessariamente uma matriz invertı́vel, e em seguida a resolução iterativa do sistema de equações
R = B −1 C = B −1 (B − A) = I − B −1 A (3.21)
e
N = B −1 . (3.22)
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 R
Jacobi D D−A D−1 (D − A)
µ ¶−1 µ ¶
1 1 1 1
Jacobi amortecido D D−A D D−A
ω ω ω ω
−1
Gauss-Seidel D−L U (D − L) U
µ ¶−1 µ ¶
1 1−ω 1 1−ω
SOR D−L D+U 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.
ek = x − xk , (3.23)
rk = b − Axk . (3.24)
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. O erro algébrico e o erro residual
estão relacionados através da expressão:
Aek = rk , (3.25)
pois Aek = Ax − Axk = b − Axk = rk .
Para os métodos iterativos lineares, como
¡ ¢
Bek+1 = Bx − Bxk+1 = Ax + Cx − Cxk − b = C x − xk = Cek ,
segue que ¡ ¢
ek+1 = B −1 C ek
Rodney Josué Biezuner 38
ou
ek+1 = Rek . (3.26)
Por este motivo, a matriz de iteração também é chamada de matriz de propagação do erro. Segue de (3.26)
que
ek = R k e0 , (3.27)
de modo que o erro converge para 0, independentemente do chute inicial x0 , se e somente se Rk → 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, que é em geral um pouco mais fácil de calcular.
Antes, para motivar o resultado, suponha que R 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
Xn
e0 = ai vi .
i=1
Logo,
n
X
ek = Rk e0 = ai λki vi ,
i=1
de modo que
n
¯ k¯ X
¯e ¯ 6 k
|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
ρ (A) 6 kAk .
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. ¥
3.5 Lema. Seja A ∈ Mn (C) e ε > 0 dado. Então existe uma norma matricial k·k tal que
Prova. Toda matriz complexa A é triangularizável através de uma matriz unitária U isto é, isto é, existe
uma matriz triangular T e uma matriz U que satisfaz U ∗ U = U U ∗ = I (veja [Hoffman-Kunze]) tais que
A = U ∗T U ;
Temos
λ1 a12 t−1 a22 t−2 ... ... a1n t−n+1
λ2 a23 t−1 ... ... a2n t−n+2
λ3 ... ... a3n t−n+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 ° 6 ρ (A) + ε
L
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. ¥
3.6 Lema. Seja A ∈ Mn (C). Se existe alguma norma matricial k·k tal que kAk < 1, então
Ak → 0.
¥
Rodney Josué Biezuner 40
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 3.5 existe uma norma matricial k·k tal
que kAk < 1, logo Ak → 0 pelo lema anterior. ¥
Finalmente obtemos uma condição necessária e suficiente para um método iterativo linear convergir:
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.
Portanto, a análise da convergência de um determinado método iterativo linear passa pela análise dos au-
tovalores de sua matriz de iteração R. Como esta última depende da matriz de coeficientes A do sistema
linear, a convergência ou não de qualquer um dos métodos iterativos lineares vai depender da matriz A.
A = B1 − C1 = B2 − C2 ,
Em particular, a velocidade de convergência relativa dos métodos iterativos lineares também vai depender
da matriz A: para certas matrizes um determinado método é superior ao outro, enquanto que para outras
matrizes o contrário é verdadeiro.
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
donde
n
X
ek = Rk e0 = ai λki vi ,
i=1
Rodney Josué Biezuner 41
ek ≈ λk1 a1 v1 .
Portanto, ¯ k+1 ¯
¯e ¯
= |λ1 | = ρ (R) . (3.29)
|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 erro inicial satisfaça esta condição, isto é, que ele não tenha nenhuma componente
na direção do primeiro autovetor. Para o caso geral, precisamos do seguinte resultado:
Prova. Como os autovalores da matriz Ak são as k-ésimas potências dos autovalores de A (este resultado
pode ser mais facilmente visto a partir da forma triangular de A), temos que
¡ ¢ ° °
ρ (A) = ρ Ak 6 °Ak ° ,
k
donde ° °1/k
ρ (A) 6 °Ak ° .
Por outro lado, 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
° k°
°B ° < 1,
3.10 Definição. A taxa média de convergência de um método iterativo linear com matriz de iteração
R é definida como sendo
° °1/k 1 ° °
Rk (R) = − log10 °Rk ° = − log10 °Rk ° (3.30)
k
e a taxa assintótica de convergência é dada por
3.11 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
¥
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 3.5 e medindo as normas dos vetores de acordo, temos
¯ k+1 ¯ ¯ k+1 0 ¯
¯e ¯ ¯R e ¯
= 6 kRk = ρ (R) + ε,
|ek | |Rk e0 |
donde ¯ k+1 ¯
¯e ¯
− log10 = − log10 ρ (R) + O (ε)
|ek |
ou ¯ ¯ ¯ ¯
log10 ¯ek ¯ − log10 ¯ek+1 ¯ = R∞ (R) + O (ε) . (3.33)
Assim, se
¯ k¯ ¡ ¢
¯e ¯ = O 10−p ,
¯ k+1 ¯ ¡ ¢
¯e ¯ = O 10−q ,
teremos
q − p ≈ R∞ (R) ,
isto é, reduzimos R∞ (R) ≈ q − p casas decimais no erro. Visto de outra forma, como
¯ k+m ¯ ¯ k+m 0 ¯
¯e ¯ ¯R e ¯ m
= 6 kRm k = ρ (R) + O (ε) ,
|ek | |Rk e0 |
donde ¯ k+m ¯
¯e ¯
− log10 ≈ −m log10 ρ (R) ,
|ek |
ou ¡¯ ¯ ¯ ¯¢
log10 ¯ek+m ¯ / ¯ek ¯
m= (3.34)
log10 ρ (R)
é o número de iterações necessárias para diminuir o erro de um número prescrito de casas decimais.
A6B
se
hAx, xi 6 hBx, xi
n
para todo x ∈ C .
Rodney Josué Biezuner 43
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.
Lembramos que se A é uma matriz simétrica positiva definida e P é uma matriz invertı́vel, então B = P t AP
também é uma matriz simétrica positiva definida, pois
¡ ¢t ¡ ¢t
B t = P t AP = P t At P t = P t AP = B
e ®
hBx, xi = P t AP x, x = hAP x, P xi .
3.13 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 a matriz simétrica
B t + C é positiva definida.
e consideraremos a norma matricial k·kA induzida por esta norma. Se provarmos que
kRkA < 1,
C t B −t AB −1 C < A. (3.36)
Mas, pela Proposição 2.36, isso implica que I − λ−1 R é invertı́vel, uma contradição. ¥
O Teorema 3.14 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 1.
Através do Teorema 3.14, 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. Para isso, precisaremos obter os autovalores destas matrizes de discretização.
No caso da fórmula de três pontos unidimensional, lembrando que as autofunções para o problema de
Dirichlet do laplaciano no intervalo [0, 1] são as funções trigonométricas
3.15 Lema. Os n − 1 autovalores da matriz de discretização A da fórmula dos três pontos unidimensional
são µ ¶
2 jπ 4 jπ
λj = 2 1 − cos = 2 sen2 (3.37)
h n h 2n
e os autovetores correspondentes são
µ ¶
jπ 2jπ (n − 2) jπ (n − 1) jπ
uj = sen , sen , . . . , sen , sen (3.38)
n n n n
j = 1, . . . , n − 1.
Prova. Temos
jπ
sen jπ 2jπ
2 −1 n 2 sen − sen
n n
−1 2 −1 2jπ jπ 2jπ 3jπ
sen − sen + 2 sen − sen
.. .. n n n n
−1 . . .. ..
= .
.. .. .
. .
−1 (n − 2) jπ (n − 3) jπ (n − 2) jπ (n − 1) jπ
−1 2 −1 sen − sen + 2 sen − sen
n n n n
−1 2 (n − 2) jπ (n − 1) jπ
(n − 1) jπ − sen + 2 sen
sen n n
n
jπ
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
Rodney Josué Biezuner 46
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
(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
¥
No caso da fórmula de cinco pontos bidimensional, lembrando que as autofunções de Dirichlet do lapla-
ciano no quadrado unitário [0, 1] × [0, 1] são as funções
isso sugere que os autovetores ukl da matriz A na ordem lexicográfica são os vetores de coordenadas
ou seja,
Ukl (h, h) , Ukl (2h, h) , . . . , Ukl ((n − 1) h, h) ,
Ukl (h, 2h) , Ukl (2h, 2h) , . . . , Ukl ((n − 1) h, 2h) ,
..
.
Ukl (h, (n − 1) h) , Ukl (2h, (n − 1) h) , . . . , Ukl ((n − 1) h, (n − 1) h) ,
ou seja, como h = 1/n, os vetores
µ
kπ lπ 2kπ lπ (n − 1) kπ lπ
ukl = sen sen , sen sen , . . . , sen sen ,
n m n n n n
kπ 2lπ 2kπ 2lπ (n − 1) kπ 2lπ
sen sen , sen sen , . . . , sen sen ,
n n n n n n
...,
¶
kπ (n − 1) lπ 2kπ (n − 1) lπ (n − 1) kπ (n − 1) lπ
sen sen , sen sen , . . . , sen sen .
n n n n n n
Rodney Josué Biezuner 47
2
3.16 Lema. Os (n − 1) autovalores da matriz de discretização A da fórmula dos cinco pontos bidimensional
são µ ¶ µ ¶
2 kπ lπ 4 kπ lπ
λkl = 2 2 − cos − cos = 2 sen2 + sen2 (3.39)
h n n h 2n 2n
e os autovetores correspondentes são
µ
kπ lπ 2kπ lπ (n − 1) kπ lπ
ukl = sen sen , sen sen , . . . , sen sen ,
n n n n n n
kπ 2lπ 2kπ 2lπ (n − 1) kπ 2lπ
sen sen , sen sen , . . . , sen sen , (3.40)
n n n n n n
...,
¶
kπ (n − 1) lπ 2kπ (n − 1) lπ (n − 1) kπ (n − 1) lπ
sen sen , sen sen , . . . , sen sen ,
n n n n n n
k = 1, . . . , n − 1, l = 1, . . . , m − 1.
Prova. Embora a demonstração deste lema possa ser feita de maneira análoga à do lema anterior, 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 dado pela fórmula dos cinco pontos:
ui,j−1 + ui−1,j − 4ui,j + ui+1,j + ui,j+1
− = λui,j . (3.41)
h2
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
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) − 2F (i) + F (i + 1) G (j − 1) − 2G (j) + G (j + 1)
+ = −λh2 .
F (i) 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, (3.43)
F (i)
G (j − 1) − 2G (j) + G (j + 1)
= B, (3.44)
G (j)
A + B = −λh2 . (3.45)
Rodney Josué Biezuner 48
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.
2α = A + 2,
2β = B + 2.
Vamos resolver a equação para F , já que a equação para G é idêntica. Substituindo em (3.46) uma solução
da forma
F (i) = z i (3.48)
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. (3.49)
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.
A primeira destas por sua vez implica que c1 = −c2 , logo
¡ i i
¢
F (i) = c z+ − z− . (3.50)
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 (3.51)
√
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
(3.50) produz todas as soluções não-triviais F de (3.46).
Rodney Josué Biezuner 49
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,
lπ
β = cos , 0 6 l 6 n − 1,
n
e
jlπ
Gl (j) = sen .
n
Segue que os autovalores são · ¸
2 kπ lπ
λkl = 2 − cos − cos
h2 n n
e as coordenadas das autofunções associadas são dadas por
ikπ jlπ
(ukl )i,j = Fk (i) Gl (j) = sen sen .
n m
¥
3.17 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. Seja R = D−1 (D − A) a matriz de iteração do
método de Jacobi. Então
π
ρ (R) = cos . (3.52)
n
Prova. Vamos provar para a fórmula de cinco pontos bidimensional; o argumento para a fórmula de três
pontos unidimensional é análogo e fica deixado como exercı́cio. 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
i,j = ui,j−1 + uki,j+1 + uki−1,j + uki+1,j .
4
Já vimos no Lema 3.16 que
¡ ¢ kl
−ukl kl kl kl kl
i−1,j − ui+1,j + 4ui,j − ui,j−1 − ui,j+1 = λkl h
2
ui,j
com µ ¶
2 kπ lπ
λkl = 2 − cos − cos .
h2 n n
Daı́ segue que ¡ ¢ kl
ukl kl kl kl
i,j−1 + ui,j+1 + ui−1,j + ui+1,j = 4 − λkl h
2
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 h = 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 50
¥
Para o quadrado unitário temos
ρ (R) = cos (πh) . (3.53)
Vemos em particular que ρ (R) → 1 quando h → 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 h é pequeno podemos aproximar
π2 2
cos (πh) ≈ 1 − h ,
2
de modo que ρ (R) → 1 quadraticamente quando h → 0. Em outras palavras, para uma malha duas vezes
mais refinada (isto é, h 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 h:
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.
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. (3.54)
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.
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 −1 i´o
= det I − D−1 L I − λ−1 I − D−1 L D U
¡ −1 −1 −1
¢
= det I − D L − λ D U .
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. A Proposição 2.16 implica então que I − D−1 L − λ−1 D−1 U é invertı́vel, um absurdo. ¥
Usando o Teorema 3.18, 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 1. 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.
3.19 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. Seja R = (D − L) U a matriz de iteração do
método de Gauss-Seidel. Então
π
ρ (R) = cos2 . (3.55)
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
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 52
i+j+1
de modo que, dividindo por µ 2 , obtemos
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 (πh) ,
e usando · ¸
1 ¡ ¢ 2 ¡ ¢
cos2 x = 1 − x2 + O x4 = 1 − x2 + O x4 ,
2
se h é pequeno podemos aproximar
cos2 (πh) ≈ 1 − π 2 h2 .
No método de Gauss-Seidel ainda temos ρ (R) → 1 quadraticamente quando h → 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 h2 .
Segue que
π2 2 ¡ ¢
R∞ (RJacobi ) = h + O h4 , (3.58)
2 ¡ ¢
R∞ (RGauss-Seidel ) = π 2 h2 + O h4 . (3.59)
0 < ω < 2.
det R = λ1 . . . λn .
Rodney Josué Biezuner 53
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.
¥
3.21 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).
P
n
3.22 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 3.18. 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.
é 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
¯ ¯>ω |b | + |cij |
¯ λ ¯ ij
|λ| j=i+1
j=1
Para isso, observe que como |λ| > 1 basta provar a primeira desigualdade, a qual por sua vez é equivalente a
|λ + ω − 1| > |λ| ω.
O resultado acima continua valendo com desigualdade estrita nas linhas onde a desigualdade é estrita. A
Proposição 2.36 implica então que S é invertı́vel, contradizendo det S = 0. ¥
3.23 Teorema. Seja A uma matriz simétrica positiva definida. Então o método SOR converge se 0 < ω < 2.
Rodney Josué Biezuner 55
3.24 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.
Isolando λ, ®
(1 − ω) hx, xi + ω x, D−1 U x
λ= . (3.61)
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
¡ −1 ¢t
D U = D−1 L.
Logo
® D¡ ¢t E ¡ ¢ ®
x, D−1 U x = D−1 U x, x = D−1 L x, x = hx, (D−1 L) xi,
e definindo ¡ −1 ¢ ®
x, D L x
z= ,
hx, xi
podemos escrever
(1 − ω) + ωz
λ= . (3.62)
1 − ωz
Os argumentos acima assumem que o denominador é não-nulo. E, de fato, temos
à ¡ ¢ ® ¡ −1 ¢ ® ! ¡ ¢ ®
1 1 x, D−1 L x x, D U x 1 x, D−1 L + D−1 U x
Re z = (z + z) = + =
2 2 hx, xi hx, xi 2 hx, xi
¡ ¢ ® Ã ¡ ¢ ® !
1 x, I − D−1 A x 1 x, D−1 A x
= = 1− .
2 hx, xi 2 hx, xi
Rodney Josué Biezuner 56
3.25 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. Se λ 6= 0 é um autovalor de RSOR , então existe
um autovalor λJ de RJ tal que
1−ω−λ
λJ = . (3.63)
λ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 3.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 57
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 ) . (3.64)
ω 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 (3.63) como uma equação quadrática em λ, vemos que as duas raı́zes λ± = λ±
podem ser escritas na forma
· q ¸2
1 2 2
λ± = −ωλJ ± ω λJ − 4 (ω − 1) . (3.65)
4
Denotaremos
Λω,λJ = max (|λ+ | , |λ− |) (3.66)
e por λJ = ρ (RJ ) o maior autovalor do método de Jacobi.
3.26 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. Então
√
onde i = −1, logo
¯ q ¯2 ¯¯r h
¯
i ¯2
¯ 2 ¯ ¯ 2 ¯
Λω,λJ = ¯¯ωλJ + ω 2 λJ − 4 (ω − 1)¯¯ = ¯ ω 2 λ2J + 4 (ω − 1) − ω 2 λJ ¯
¯ ¯
= ω − 1,
Defina
2
ωótimo = q . (3.68)
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:
3.27 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. Então
µ q ¶2
1 2
2 λ − 4 (ω − 1)
ρ (RSOR,ω ) = ωλ J + ω J se 0 < ω 6 ωótimo , (3.69)
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 µ q ¶
4 ± 4 1 − λJ 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
´
µ q ¶ 1 − 1 − λ
2 2 2 J 2
ω 6 2 1 − 1 − λJ = 2 q = q .
λJ λJ 1 + 1 − λ2 1 + 1 − λ
2
J J
3.28 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. Então o fator de relaxamento ótimo para o
método SOR é dado por
2
ωótimo = π (3.70)
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
µ q ¶ 2 2
d 2 λJ ω 2 λJ − 4 (ω − 1) + ωλJ − 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
2
= λJ ω λJ − 4 (ω − 1) .
Rodney Josué Biezuner 59
Isso implica µ q ¶
d 2
2
ωλJ + ω λJ − 4 (ω − 1) < 0,
dω
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 3.15, temos
π
λJ = cos ,
n
logo
2 2 2
ωótimo = q = r = π.
2 π 1 + sen
1 + 1 − λJ 1 + 1 − cos2 n
n
¥
Para o quadrado unitário temos
2
ωótimo =
1 + sen (πh)
e conseqüentemente
2 1 − sen (πh)
ρ (RSOR,ω ) = −1= .
1 + sen (πh) 1 + sen (πh)
e usando
1−x ¡ ¢
= 1 − 2x + O x2 ,
1+x
¡ ¢
sen x = x + O x3 ,
1 − sen (πh) ¡ ¢
≈ 1 − 2πh + O h2 .
1 + sen (πh)
Portanto, usando o valor ótimo de ω no método SOR, temos ρ (R) → 1 linearmente quando h → 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 h2
temos que ¡ ¢
R∞ (RSOR ) = 2πh + O h2 . (3.71)
Segue que
R∞ (RSOR ) 2πh 2
≈ 2 2 = .
R∞ (RGauss-Seidel ) π h πh
Em particular, se h = 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.
0 < ω 6 1.
Rodney Josué Biezuner 60
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 . (3.72)
Em particular,
RJ v = λv
se e somente se
[RJ,ω − (1 − ω) I] v = ωλv.
Portanto, λJ é um autovalor de RJ se e somente se
é 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 3.13 que o método de Jacobi amortecido converge para as matrizes de discretização do
Capı́tulo 1 se 0 < ω 6 1.
3.30 Corolário.
ρ (RJ,ω ) = ω [ρ (RJ ) − 1] + 1. (3.74)
3.3.5 Resumo
π2 2 ¡ ¢ π2 2 ¡ ¢
Jacobi amortecido 1−ω h + O h4 ω h + O h4
2 2
3.4 Exercı́cios
3.1 Os métodos de Jacobi e Gauss-Seidel não são sempre comparáveis: existem sistemas lineares para as
quais o método de Jacobi converge, enquanto que o método de Gauss-Seidel não converge ou até mesmo
diverge, e vice-versa.
a) Verifique no computador que o método de Jacobi converge para o sistema linear
x+z =2
−x + y = 0
x + 2y − 3z = 0
enquanto que o método de Gauss-Seidel não converge (observe que a solução exata deste sistema é
(1, 1, 1)).
b) Verifique no computador que o método de Gauss-Seidel converge se
2x + y + z = 4
x + 2y + z = 4
x + y + 2z = 4
enquanto que o método de Jacobi não converge, usando o vetor (0, 0, 0) como chute inicial (observe
que a solução exata deste sistema é (1, 1, 1)).
c) Justifique matematicamente o resultado de cada um dos ı́tens anteriores.
Capı́tulo 4
Métodos de Projeção
A maioria dos métodos iterativos práticos para a resolução de sistemas lineares grandes usa um processo
de projeção de uma forma ou outra. Um processo de projeção é uma maneira canônica de obter uma
aproximação para a solução do sistema linear dentro de um subespaço especificado. Neste capı́tulo veremos
a técnica descrita de maneira geral e uma aplicação detalhada para o caso unidimensional.
62
Rodney Josué Biezuner 63
V = [v1 · · · vm ] , (4.4)
W = [w1 · · · wm ] ,
que tem estes vetores como colunas. Então a solução aproximada pode ser escrita na forma
e = x0 + V y
x (4.5)
®
para algum vetor y ∈ Rm , ou seja, p = V y. A condição de ortogonalidade r0 − AV y, w = 0 para todo
w ∈ L também pode ser representada matricialmente na forma
T ¡ ¢ ¡ ¢
(W z) r0 − AV y = z T W T r0 − AV y = 0
Em muitos algoritmos, a matriz W T AV não precisa ser formada, e muito menos sua inversa calculada, da
mesma forma que a matriz de iteração não precisava ser explicitamente calculada nos métodos iterativos
lineares.
A matriz W T AV é invertı́vel se e somente se nenhum vetor do subespaço AK é ortogonal ao subespaço
L (Exercı́cio 4.2). Duas condições independentes que garantem a invertibilidade de W T AV são dadas pela
proposição seguinte:
4.2 Proposição. Se A ∈ Mn (C) e os subespaços K, L ⊂ Rn satisfazem qualquer uma das duas condições a
seguir
(i) A é positiva definida e L = K, ou
(ii) A é invertı́vel e L = AK.
Ax = b
então a matriz W T AV é invertı́vel quaisquer que sejam as bases V, W de K, L, respectivamente.
Rodney Josué Biezuner 64
Prova: (i) Como L = K, podemos escrever W = V P para alguma matriz m × m invertı́vel P (Exercı́cio
4.3). Então
W T AV = P T V T AV
Como A é positiva definida, segue que V T AV também é (Exercı́cio 4.4); em particular, a matriz m × m
V T AV é invertı́vel. Logo, sendo o produto de duas matrizes invertı́veis, W T AV é invertı́vel.
(ii) Neste caso, como L = AK, podemos escrever W = AV P para alguma matriz m × m invertı́vel P .
Daı́,
T
W T AV = P T (AV ) AV.
T
Como A é invertı́vel, a matriz n × m AV possui posto máximo, logo a matriz m × m (AV ) AV é invertı́vel
(Exercı́cio 4.5). Novamente, sendo o produto de duas matrizes invertı́veis, W T AV é invertı́vel. ¥
Em particular, se A é uma matriz simétrica e um método de projeção ortogonal é utilizado, podemos tomar
V = W e a matriz projetada V T AV também é simétrica; da mesma forma, se além disso A for positiva
definida, V T AV também será.
4.3 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
f (y) = hAy, yi − hb, yi . (4.8)
2
Prova: Uma matriz simétrica positiva definida é em particular invertı́vel, logo existe uma única solução x
para o sistema Ax = b. Temos
1 1
f (y) − f (x) = hAy, yi − hb, yi − hAx, xi + hb, xi
2 2
1 1
= hAy, yi − hAx, yi − hAx, xi + hAx, xi
2 2
1 1
= hAy, yi − hAx, yi + hAx, xi
2 2
1 1 1 1
= hAy, yi − hAx, yi − hAx, yi + hAx, xi
2 2 2 2
1 1
= hA (y − x) , yi − hA (y − x) , xi
2 2
1
= hA (y − x) , y − xi .
2
Como A é positiva definida, segue que
hA (y − x) , y − xi > 0
e
hA (y − x) , y − xi = 0
se e somente se y = x. Portanto,
f (y) > f (x)
Rodney Josué Biezuner 65
4.4 Proposição. Sejam A ∈ Mn (R) uma matriz simétrica positiva definida e L = K. Então x e é o vetor de
aproximação de um método de projeção ortogonal sobre K a partir de um vetor inicial x0 se e somente
se ele minimiza a A-norma do erro sobre x0 + K, isto é, se e somente se
E (e
x) = min
0
E (y) .
y∈x +K
Prova: Seja x a solução exata do sistema Ax = b. Então a A-norma do erro é dada por
E (y) = kx − ykA .
Segue do lema da projeção ortogonal (ou lema da melhor aproximação) que x e é um minimizante de E (y)
sobre o subespaço afim x0 + K se e somente se x − x
e é A-ortogonal a K, ou seja, se e somente se
hA (x − x
e) , vi = 0 para todo v ∈ K,
ou, equivalentemente,
hb − Ae
x, vi = 0 para todo v ∈ K.
Esta é a condição de Galerkin que define o vetor de aproximação de um método de projeção ortogonal (veja
(4.2)). ¥
Vamos considerar agora o caso de um método de projeção oblı́qua em que L = AK.
4.5 Proposição. Sejam A ∈ Mn (C) uma matriz qualquer e L = AK. Então x e é o vetor de aproximação
de um método de projeção oblı́qua sobre K ortogonal a L a partir de um vetor inicial x0 se e somente
se ele minimiza a 2-norma do resı́duo sobre x0 + K, isto é, se e somente se
R (e
x) = min
0
R (y) .
y∈x +K
R (y) = kb − Ayk2 .
Segue do lema da projeção ortogonal (ou lema da melhor aproximação) que xe é um minimizante de R (y)
sobre o subespaço afim x0 + K se e somente se b − Ae
x é ortogonal a AK = L, ou seja, se e somente se
hb − Ae
x, wi = 0 para todo w ∈ L.
Esta é a condição de Petrov-Galerkin que define o vetor de aproximação de um método de projeção oblı́qua
(veja (4.2)). ¥
Rodney Josué Biezuner 66
QL
K x ∈ K, x − QL
K x ⊥ L. (4.11)
(Observe que se K = L (isto é, projeção ortogonal), temos QK
K = PK .) Então o problema de aproximação da
Definição 4.1 pode ser expresso na linguagem destes operadores como
encontrar x
e∈K tal que QL
K (b − Ae
x) = 0. (4.12)
Equivalentemente, definindo o operator Am : K −→ K por
Am = QL
K APK ,
¥
Rodney Josué Biezuner 67
∇f (y) = Ay − b. (4.14)
Ax = b.
O método variacional sugerido pelo Teorema 4.3 é 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 .
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 exata na reta. Para funcionais quadráticos, a busca exata na reta é 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 . (4.15)
Então k k®
p ,r
αk = k . (4.16)
hp , Apk i
Rodney Josué Biezuner 68
4.8 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. ¤
4.9 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. ¤
Observe
que
® o método de descida é um método de projeção em que L e K são subespaços unidimensionais,
com K = pk e L um subespaço não ortogonal a K, em cada iteração k. Se o método de descida será um
método de projeção ortogonal ou oblı́quo dependerá da escolha do vetor de direção de busca pk .
ou
pk = rk . (4.17)
k®
Como neste caso K = L = p , o método da descida mais acentuada será um método de projeção ortogonal.
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]:
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.
Rodney Josué Biezuner 69
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 a ser visto no próximo
capı́tulo, vamos entender o processo do ponto de vista geométrico. Como vimos na demonstração do Teorema
4.3, o funcional quadrático f é da forma
1
f (y) = hA (y − x) , (y − x)i + c (4.18)
2
onde c = f (x) é 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 1X
f (z) = hDz, zi + c = λi zi2 + c. (4.19)
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 (veja também o Corolário 4.12). 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 (veja a Definição 4.14 e a discussão que se segue).
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.
A seguir, provaremos a convergência do método da descida mais acentuada.
4.10 Lema. (Desigualdade de Kantorovich) Sejam A ∈ Mn (R) uma matriz simétrica positiva definida e
denote por λmax e λmin seu menor autovalor e seu maior autovalor, respectivamente. Então
® 2
hAx, xi A−1 x, x (λmin + λmax )
2 6
hx, xi 4λmin λmax
para todo x 6= 0.
1 1 λ
µ6 + − . (4.20)
λ1 λn λ1 λn
De fato, a função ϕ (t) = 1/t é convexa, logo o ponto (λ, µ), que é a combinação convexa de pontos localizados
no gráfico de ϕ, está localizado na região plana convexa limitada pelo gráfico de ϕ e o segmento de reta que
une os pontos extremos do gráfico (λ1 , 1/λ1 ) e (λn , 1/λn ), ou seja, o segmento de reta
1 1 1
t 7−→ − t+ + , λ1 6 t 6 λn .
λ1 λn λ1 λn
Em particular, o ponto (λ, µ) está abaixo do ponto do segmento correspondente a t = λ.
Portanto, µ ¶
® 1 1 λ
hAx, xi A−1 x, x = λµ 6 λ + − .
λ1 λn λ1 λn
O máximo da função quadrática µ ¶
1 1 t
t 7−→ t + −
a b ab
é atingido para t = (a + b) /2. Concluı́mos que
µ ¶ 2
® λ1 + λn 1 1 λ1 + λn (λ1 + λn )
hAx, xi A−1 x, x 6 + − = .
2 λ1 λn 2λ1 λn 4λ1 λn
4.11 Lema. Seja xk+1 = xk + αk pk obtido através de uma busca exata na reta. 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
Logo, k k®
k+1 k
® ® ® ® p ,r k k®
r ,p = rk+1 , pk − αk Apk , pk = rk , pk − Ap , p = 0.
hpk , Apk i
Rodney Josué Biezuner 71
Em particular,
µ ¶k
° k° λmax − λmin ° 0°
°e ° 6 °e °
A λmax + λmin A
e portanto o método da descida mais acentuada converge qualquer que seja o chute inicial x0 .
Prova: Temos ¡ ¢
ek+1 = x − xk+1 = x − xk + αk rk = ek − αk rk .
Logo, pelo Corolário 4.12,
° k+1 °2 ® ® ® ®
°e ° = ek+1 , ek+1 = ek+1 , ek − αk ek+1 , rk = ek+1 , ek
A A A A A
® ®
= ek+1 , Aek = ek+1 , rk .
Daı́, usando a desigualdade de Kantorovich,
° k+1 °2 ® ® ®
°e ° = ek − αk rk , rk = ek , rk − αk rk , rk
A
à k k® k k® !
k k® r ,r r ,r
= e ,r 1− k
hr , Ar i hek , rk i
k
à k k® k k® !
k k
® r ,r r ,r
= e , Ae 1− k
hr , Ark i hA−1 rk , rk i
à k k® k k® !
° k °2 r ,r r ,r
° °
= e A 1− k
hr , Ar i hr , A−1 rk i
k k
à !
° k °2 4λ min λ max
6 °e °A 1 − 2
(λmin + λmax )
µ ¶
° k °2 λmax − λmin 2
°
= e A ° .
λmax + λmin
Rodney Josué Biezuner 72
¥
Observamos que o fator de convergência obtido no Teorema 4.13 é ótimo (veja Exercı́cio 4.6).
Introduzimos o número de condição de uma matriz, que é uma medida do quão mal-comportada ela é.
4.14 Definição. Seja A ∈ Mn (R) uma matriz simétrica positiva definida. O número de condição de A é
definido por
λmax
κ (A) = .
λmin
Quanto menor o número de condição de A, isto é, quanto mais próximo de 1, mais próximos a esferas
são os elipsóides de nı́vel do funcional f ; reciprocamente, quando maior o número de condição de A, mais
excêntricos são estes. A constante do Teorema 4.13 pode ser mais convenientemente expressa em termos do
número de condição da matriz:
4.15 Corolário. Sejam A ∈ Mn (R) uma matriz simétrica positiva definida e denote por λmax e λmin seu
menor autovalor e seu maior autovalor, respectivamente. Então o erro algébrico do método da descida
mais acentuada satisfaz a estimativa
° k+1 ° ° °
°e ° 6 κ (A) − 1 °ek ° .
A κ (A) + 1 A
Desta forma, vemos que quanto mais κ (A) é próximo de 1 maior é a velocidade de convergência do método
da descida acentuada; reciprocamente, quando maior κ (A), mais lento ele é.
Reunindo as informações obtidas, um algoritmo para o método da descida mais acentuada pode ser
apresentado da seguinte forma:
initialize x;
set b;
r ← b − Ax;
do
until stop criterion
compute Ar;
α ← hr, ri / hr, Ari ;
x ← x + αr;
r ← r − αAr;
4.3 Exercı́cios
4.1 Considere a matriz invertı́vel · ¸
0 I
A= ,
I I
onde I é a matriz identidade m × m, e seja V = W = {e1 , . . . , em }. Verifique que W T AV é singular.
4.2 Verifique que a matriz W T AV é invertı́vel se e somente se nenhum vetor do subespaço AK é ortogonal
ao subespaço L.
4.3 Sejam B1 = {v1 , . . . , vm } e B2 = {w1 , . . . , wm } duas bases para o subespaço K ⊂ Rn e considere as
matrizes n × m V = [v1 · · · vm ] e W = [w1 · · · wm ]. Mostre que existe uma matriz m × m invertı́vel P
tal que V = W P .
4.4 Mostre que se A é uma matriz positiva definida n × n e V é uma matriz n × m cujas colunas são
linearmente independentes, então a matriz m × m V T AV também é uma matriz positiva definida.
4.5 Mostre que se A é uma matriz n × m cujas colunas são linearmente independentes, então a matriz
m × m B T B é invertı́vel.
Rodney Josué Biezuner 73
4.6 Verifique que a taxa de convergência para o método da descida mais acentuada obtida no Teorema 4.12
é ótima da seguinte maneira: se v1 e vn são os autovetores associados a λmin e λmax , respectivamente,
mostre que se e0 = v1 + v2 , então
° k+1 ° ° °
°e ° = λmax − λmin °ek ° .
A λmax + λmin A
4.7 O número de condição para uma matriz invertı́vel A ∈ Mn (C) qualquer é definido por
° °
κ (A) = kAk2 °A−1 °2 .
a) Mostre que se A é uma matriz simétrica positiva definida esta definição coincide com a Definição
4.14.
b) Verifique que κ (A) > 1 para toda matriz A.
c) Considere o sistema Ax = b. Se y é uma aproximação de x com erro algébrico e = x − y e erro
residual r = b − Ay, mostre que
1 kf k2 kf k2
kek2 6 krk2 6 κ (A) kek2 .
κ (A) kxk2 kxk2
Esta desigualdade é ótima, no sentido de que a igualdade é atingida para certos valores de y. Ela
mostra que para uma matriz mal-condicionada (isto é, com um número de condição relativamente
alto), o erro residual pode ser muito pequeno ao mesmo tempo em que o erro algébrico pode ser muito
grande e vice-versa.
Capı́tulo 5
Os métodos de projeção deste capı́tulo estão entre os mais importantes e populares disponı́veis. Eles estão
baseados na projeção sobre subespaços de Krylov, que são subespaços gerados por vetores da forma p (A) v
onde p é um polinômio.
5.1 Motivação
Como vimos ao estudar os métodos iterativos lineares para a resolução do sistema Ax = b, estes métodos
consistem em obter uma decomposição apropriada A = B − C da matriz do sistema, onde B é uma matriz
próxima da matriz original A mas fácil de resolver. Então o método iterativo pode ser descrito pela relação
de recorrência ¡ ¢
xm+1 = I − B −1 A xm + B −1 b,
onde R = I − B −1 A é a matriz de iteração. A matriz mais fácil de resolver é
B = I,
exceto que esta matriz em geral está muito longe de A. Quando esta escolha é feita, obtemos a chamada
iteração de Richardson:
xm+1 = (I − A) xm + b = xm + b − Axm
ou, simplesmente,
xm+1 = xm + rm . (5.1)
Assim, o método da iteração de Richardson consiste simplesmente em somar o resı́duo da aproximação à
própria aproximação para obter a próxima aproximação. Na verdade, o método de iteração de Richardson
desempenha papel importante na teoria de convergência dos métodos iterativos: por exemplo, todo método
iterativo linear com decomposição A = B − C pode ser visto como a iteração de Richardson aplicada ao
sistema equivalente (precondicionado)
B −1 Ax = B −1 b.
A partir de (5.1) obtemos sua correspondente equação residual:
rm+1 = (I − A) rm . (5.2)
74
Rodney Josué Biezuner 75
ou seja, o m-ésimo resı́duo é da forma pm (A) r0 onde pm é um polinômio de grau m. Além disso, como
m
X
¡ ¢
xm+1 = xm + rm = xm−1 + rm−1 + rm = . . . = rj
j=0
m
X j
= (I − A) r0 ,
j=0
segue que as aproximação também são da forma qm (A) r0 onde qm é um polinômio de grau igual a m.
Portanto, tanto os resı́duos r0 , . . . , rm como as aproximações x0 , . . . , xm pertencem ao subespaço
¡ ¢ © ª
Km+1 A, r0 = p (A) r0 : p é um polinômio de grau menor que ou igual a m
®
= r0 , Ar0 , . . . , Am r0 .
Em outras palavras, Km (A, v) é o subespaço de todos os vetores que podem ser escritos na forma w = p (A) v,
onde p é um polinômio de grau menor que ou igual a m−1. Se não houver motivo para confusão denotaremos
o subespaço de Krylov Km (A, v) simplesmente por Km .
Como vimos no capı́tulo anterior, um método de projeção geral para resolver o sistema linear
Ax = b
5.2 Definição. O polinômio mı́nimo de um vetor v com respeito à matriz A (também chamado o A-
anulador de v) é o polinômio mônico de menor grau p que anula v, isto é, tal que p (A) v = 0. O grau
do polinômio mı́nimo é chamado o grau de v com respeito a A.
grau v 6 n.
5.3 Proposição. Seja d = grau v. Então Kd é invariante por A e Kd = Km para todo m > d.
Além disso,
dim Km = m
se e somente se m 6 d. Portanto,
dim Km = min {m, d} .
Rodney Josué Biezuner 76
Prova: Os vetores v, Av, . . . , Am−1 v formam uma base para Km se e somente se o único polinômio de grau
menor ou igual a m − 1 que anula v é o polinômio nulo. ¥
Apesar dos vetores v, Av, . . . , Am−1 v formarem uma base para o subespaço de Krylov Km (quando m 6
grau v), esta é uma base mal-condicionada, no sentido que à medida que k aumenta o vetor Ak v fica cada vez
mais próximo do autovetor associado ao maior autovalor de A, como veremos em detalhe quando estudarmos
o método de potências para obter autovalores de matrizes. Assim, para m grande os vetores v, Av, . . . , Am−1 v
tornam-se aproximadamente linearmente dependentes, o que torna-se um problema em aritmética de precisão
finita. Para obter uma base bem condicionada para o subespaço de Krylov é necessário usar um método de
ortogonalização, como veremos a seguir.
Em seguida, calcula-se o vetor Av1 (ao invés de Av) e ortogonaliza-se este vetor com relação ao vetor v1
através do método de Gram-Schmidt:
Tendo sido obtido o vetor v2 , calcula-se Av2 (ao invés de A2 v = A (Av)) e ortogonaliza-se este vetor com
relação aos vetores v1 , v2 através do método de Gram-Schmidt:
No passo geral, tendo sido obtido o vetor vj no passo anterior, calcula-se e ortogonaliza-se este vetor com
relação aos vetores v1 , . . . , vj obtidos nos passos anteriores através do método de Gram-Schmidt:
j
X
wj = Avj − proj Avj = Avj − hAvj , vi i vi , (5.7)
hv1 ,...,vj i i=1
wj
vj+1 = . (5.8)
kwj k
Rodney Josué Biezuner 77
Algoritmo de Arnoldi
Atribua v;
v1 ← v/ kvk2 ;
Para
j = 1, . . . , m faça:
Calcule hij = hAvj , vi i para i = 1, . . . , j;
Calcule wj = Avj − P hij vi ;
j
i=1
hj+1,j = kwj k ;
2
Se hj+1,j = 0 então pare;
vj+1 ← wj /hj+1,j ;
fim do laço
O algoritmo sofre um colapso se o vetor wj é nulo e o vetor vj+1 não pode mais ser calculado.
5.4 Proposição. Assuma que o algoritmo de Arnoldi não pára antes do m-ésimo passo. Então os vetores
v1 , . . . , vm formam uma base ortonormal para o subespaço de Krylov
®
Km (A, v1 ) = v1 , Av1 , . . . , Am−1 v1
Prova: Os vetores v1 , . . . , vm são ortonormais por construção, logo são linearmente independentes. Basta
então mostrar que v1 , . . . , vm ∈ Km (A, v1 ) para concluir que eles formam uma base para Km (A, v1 ). Para
isso, basta mostrar que cada vetor vj é da forma qj−1 (A) v1 para algum polinômio qj−1 de grau j − 1. Isso
pode ser visto por indução. Se j = 1, temos q0 (t) ≡ 1. Assumindo o resultado verdadeiro para todos os
inteiros até j, considere vj+1 . Temos
j
X j
X
hj+1,j vj+1 = wj = Avj − hij vi = Aqj−1 (A) v1 − hij qi−1 (A) v1 ,
i=1 i=1
· ¸
P
j
de modo que vj+1 = qj (A) v1 para qj = (1/hj+1,j ) tqj−1 (t) − hij qi−1 (t) , que é um polinômio de grau
i=1
j. ¥
O significado do colapso do algoritmo de Arnoldi, quando o vetor vj+1 não pode ser mais calculado é
dado a seguir:
5.5 Proposição. O algoritmo de Arnoldi sofre um colapso no passo j, isto é hj+1,j = 0, se e somente se
o polinômio mı́nimo de v tem grau j. Além disso, neste caso o subespaço Kj é invariante por A e
portanto a solução obtida pelo método de projeção associado é exata.
Prova: Se o grau de v é j, então hj+1,j = 0, caso contrário vj+1 poderia ser definido e pela Proposição 5.4
Kj+1 teria dimensão j + 1 maior que o grau de v, contrariando a Proposição 5.3.
Reciprocamente, assuma hj+1,j = 0. Então pelas Proposições 5.3 e 5.4 o grau de v é d 6 j. Mas pela
primeira parte desta demonstração, não podemos ter d < j, pois isso implicaria hd+1,d = 0 e o algoritmo já
teria entrado em colapso no passo d.
O restante do enunciado segue diretamente da Proposição 5.3 e da Proposição 4.6. ¥
Por isso, tais colapsos são chamados colapsos sortudos. Infelizmente eles raramente ocorrem na prática, mas
mesmo quando isso não ocorre as iteradas obtidas aproximam a solução exata em um número relativamente
pequeno de iterações se comparado com os métodos lineares básicos.
Vamos agora representar o algoritmo de Arnoldi em uma forma matricial.
5.6 Definição. Dizemos que A = (aij ) é uma matriz de Hessenberg se aij = 0 para todo i > j + 1
(matriz de Hessenberg superior ) ou se aij = 0 para todo i < j − 1 (matriz de Hessenberg inferior ).
Rodney Josué Biezuner 78
ou seja, é uma matriz obtida a partir de uma matriz triangular superior em que a subdiagonal inferior é
preenchida. Similarmente, uma matriz de Hessenberg inferior quadrada é uma matriz obtida a partir de uma
matriz triangular inferior em que a subdiagonal superior é preenchida. Uma tı́pica matriz de Hessenberg
superior (m + 1) × m é da forma
h11 h12 h13 h14 ... ... h1m
h21 h22 h23 h24 ... ... h2m
0 h32 h33 h34 ... ... h3m
..
0 0 h43 h44 . ... h4m
.. .. .. ..
H=
0 0 0 . . . . .
(5.10)
. .. .. .. .. .. .. ..
.. . . . . . . .
. .. .. .. .. ..
.. . . . . . hm−1,m
0 0 0 0 ... 0 hm,m−1 hmm
0 0 0 0 0 0 0 hm+1,m
A partir daı́, em uma matriz de Hessenberg superior n×m com n > m+1 todas as linhas i tais que i > m+1
são nulas.
e m a matriz
5.7 Proposição. Denote por Vm a matriz n × m cujas colunas são os vetores v1 , . . . , vm , por H
de Hessenberg (m + 1) × m cujas entradas não-nulas são os elementos hij definidos pelo algoritmo de
Arnoldi e por Hm a matriz m × m obtida de através da eliminação da última linha de H e m . Então
valem as seguintes relações:
em,
AVm = Vm Hm + wm eTm = Vm+1 H (5.11)
VmT AVm = Hm . (5.12)
Prova: Se M é uma matriz, denotemos por (M )j a sua j-ésima coluna. Do algoritmo de Arnoldi temos,
para j = 1, . . . , m,
j
X j
X j+1
X
(AVm )j = Avj = hij vi + wj = hij vi + hj+1,j vj+1 = hij vi . (5.13)
i=1 i=1 i=1
³ ´ j+1
X
em
Vm+1 H = hij vi = (AVm )j ,
j
i=1
de modo que
j+1
X
¡ ¢
Vm Hm + wm eTm j = hij vi = (AVm )j
i=1
de modo que
m+1
X
¡ ¢
Vm Hm + wm eTm m
= hij vi = (AVm )m .
i=1
Portanto, AVm = Vm Hm + wm eTm . Finalmente, multiplicando ambos os lados desta última relação por VmT e
T
usando
¡ o fato¢ que¡ os vetores
¢ v1 , . . . , vm são ortonormais e wm é ortogonal a todos eles, segue que Vm Vm = I
e VmT wm eTm = VmT wm eTm = 0, donde obtemos a última relação do enunciado desta proposição. ¥
No método modificado, assim que o primeiro vetor ortogonal v1 = u1 é obtido, todos os vetores u2 , . . . , um
são atualizados através do escalar h1i = hui , v1 i:
vi1 = ui − h1i v1 , i = 2, . . . , m.
° °
Assim, os vetores v21 , . . . , vm
1
já são ortogonais a v1 . Em particular, podemos tomar v2 = v21 / °v21 °2 . Uma
®
vez obtido v2 , todos os vetores v31 , . . . , vm
1
são atualizados através dos escalares h2i = vi1 , v2 :
e tomamos
j
vj+1
vj+1 = °
° j °.
° (5.17)
°vj+1 °
.
Em aritmética exata, os algoritmos de Gram-Schmidt e de Gram-Schmidt modificado são equivalentes;
além disso, eles têm o mesmo custo computacional (2m2 n flops) e de armazenamento ((m + 1) n). Para
entender porque o MGS é mais estável, observe que os dois métodos são idênticos no cálculo de v1 e v2 . A
primeira diferença surge no cálculo de v3 . No método de Gram-Schmidt clássico (GS) temos
com
h13 = hu3 , v1 i e h23 = hu3 , v2 i .
O termo h23 v2 é a componente de u3 na direção de v2 . Quando este componente é removido de u3 , obtemos
um vetor ortogonal a v2 , desde que o escalar h23 seja calculado com exatidão. No método MGS primeiro
calculamos
v31 = u3 − eh13 v1
e depois
v32 = v31 − e
h23 v2 ,
com ®
e
h13 = hu3 , v1 i = h13 e e
h23 = v31 , v2 .
Daı́,
w3MGS = v32 = u3 − e
h13 v1 − e
h23 v2 = u3 − h13 v1 − e
h23 v2
Em princı́pio, u3 e v31 = u3 − h13 v1 têm as mesmas componentes na direção de v2 , já que v1 é ortogonal
a v2 , e não faria diferença usar h23 ou e
h23 . Na prática, os vetores v1 e v2 não são exatamente ortogonais,
por causa de erros de arredondamento, portanto o termo h13 v1 tem uma pequena componente na direção de
v2 . Além disso, erros de arredondamento também ocorrem na subtração de h13 v1 de u3 , portanto este vetor
diferença também tem uma componente na direção de v2 . O método de Gram-Schmidt clássico ignora estes
erros, enquanto que o método modificado, trabalhando com o vetor v31 ao invés de u3 , leva estes erros em
conta e os corrige no cálculo de e h23 .
Rodney Josué Biezuner 81
Para obter um algoritmo computacionalmente implementável para o MGS, observe que enquanto que no
método de Gram-Schmidt clássico, uma vez obtidos os vetores ortonormais v1 , . . . , vj−1 obtemos o próximo
vetor ortogonal unitário vj fazendo
j
X
wj = uj − projvi uj ,
i=1
wj
vj = ,
kwj k
vj1 = uj − projv1 uj ,
vj2 = vj1 − projv2 vj1 ,
vj3 = vj2 − projv3 vj2 ,
..
. (5.18)
vjj−2 = vjj−3 − projvj−2 vjj−3 ,
vjj−1 = vjj−2 − projvj−1 vjj−2 ,
vjj−1
vj = ° °
° j−1 ° .
°vj °
Usando o MGS, o algoritmo de Arnoldi tem o seguinte aspecto. Obtém-se o primeiro vetor unitário
através da normalização do vetor v:
v
v1 = .
kvk
Em seguida, calcula-se o vetor Av1 e ortogonaliza-se este vetor com relação ao vetor v1 :
Como já observado anteriormente, até aqui o MGS é idêntico ao método de Gram-Schmidt clássico. Tendo
sido obtido o vetor v2 , calcula-se Av2 e ortogonaliza-se este vetor primeiro com relação ao vetor v1 e depois
o vetor resultante é ortogonalizado com relação ao vetor v2 :
No passo geral, tendo sido obtido o vetor vj no passo anterior, calcula-se Avj e ortogonaliza-se este vetor
com relação ao primeiro vetor v1 ; em seguida o vetor resultante é ortogonalizado com relação ao vetor v2 , e
Rodney Josué Biezuner 82
assim por diante, até que o vetor resultante do passo anterior seja ortogonalizado com relação ao vetor vj :
vj1 = Avj − projv1 Avj = Avj − hAvj , v1 i v1 ,
®
vj2 = vj1 − projv2 vj1 = vj1 − vj1 , v2 v2 ,
..
.
D E
vj = vjj−2 − projvj−1 vjj−2 = vjj−2 − vjj−2 , vj−1 vj−1 ,
j−1
(5.19)
D E
vjj = vjj−1 − projvj vjj−1 = vjj−1 − vjj−1 , vj vj ,
vjj
vj+1 = ° °
° j° .
°vj °
Podemos resumir este procedimento no seguinte algoritmo:
Algoritmo de Arnoldi MGS
Atribua v;
v1 ← v/ kvk2 ;
Para
j = 1, . . . , m faça
Calcule wj = Avj ;
Para i = 1, . . . , j faça
·
hij ← hwj , vi i ;
wj ← wj − hij vi
fim do laço
hj+1,j = kwj k ;
2
Se hj+1,j = 0 então pare;
vj+1 ← wj /hj+1,j ;
fim do laço
Embora o MGS seja mais estável, em situações onde os erros de cancelamento podem ser muito severos
nos passos de ortogonalização é necessário considerar métodos ainda mais estáveis.
Ortogonalizações adicionais são supérfluas: duas ortogonalizações são suficientes para fazer o vetor wj or-
togonal aos vetores w1 , . . . , wj−1 na precisão de máquina (veja [Watkins], p. 233, ou [Saad], p. 156).
GS MGS MGSR
Flops 2m2 n 2m2 n 4m2 n
Armazenagem (m + 1) n (m + 1) n (m + 1) n
em que r0 = b − Ax0 . Portanto, o método busca uma solução aproximada xm ∈ x0 + Km impondo a condição
de Galerkin
rm = b − Axm ⊥ Km .
De acordo com o capı́tulo anterior, se Vm = [v1 · · · vm ] é uma matriz cujas colunas formam uma base
ortonormal para Km , obtidas através do algoritmo de Arnoldi, temos
xm = x0 + Vm y m
com
¡ ¢−1 T 0 ¡° ° ¢ ° ° −1 T
−1 T ° 0 °
y m = VmT AVm −1 T 0
V m r = Hm V m r = Hm Vm r v1 = °r0 ° Hm Vm (v1 )
° 0 ° −1
° °
= r Hm (e1 ) .
Baseados nestas observações, temos então o seguinte método de Arnoldi para sistemas lineares, chamado
método da ortogonalização completa (ou FOM de full orthogonalization method ):
ou
VmT Axm = VmT b
° °
Escolhendo o chute inicial x0 = 0 para simplificar, temos que b = r0 = °r0 ° v1 , donde
° ° ° °
VmT Axm = °r0 ° VmT v1 = °r0 ° e1 .
¡ ¢
Como xm ∈ Km A, r0 , podemos escrever xm = Vm y m para algum vetor y m ∈ Rm . Logo
° °
VmT AVm y m = °r0 ° e1 ,
¡ ¢
que pode ser interpretado como o sistema Ax = b projetado no subespaço Km A, r0 . Usando o fato que
VmT AVm = Hm , segue que ° °
H m y m = °r0 ° e1 . (5.20)
Resolvendo este sistema obtemos y m e daı́ a aproximação
xm = Vm y m . (5.21)
Como em geral m ¿ n, este sistema é bem mais fácil de resolver que o sistema original, possibilitando
o uso de métodos diretos. De fato, embora a matriz de Hessenberg seja uma matriz densa, como ela é
quase triangular uma decomposição QR passa a ser competitiva com a decomposição LU e é indicada (para
matrizes gerais, o custo da decomposição LU é a metade do custo da decomposição QR). Maiores detalhes
serão fornecidos na próxima seção.
O algoritmo depende do parâmetro m que em geral deve ser selecionado dinamicamente. Em geral, m é
progressivamente aumentado até que o resı́duo rm é menor que alguma tolerância previamente estabelecida.
Ao invés de calcular o resı́duo diretamente, podemos obter a norma do resı́duo de maneira menos custosa
através do seguinte resultado:
logo ¯ ¯
krm k2 = hm+1,m ¯eTm y m ¯ (5.22)
Em particular, os resı́duos são ortogonais.
¥
Rodney Josué Biezuner 85
A = QR (5.23)
onde Q é uma matriz ortogonal (no caso real, unitária no caso complexo) e R é uma matriz triangular superior.
Usando esta decomposição, podemos resolver o sistema linear Ax = b da seguinte maneira. Multiplicando
ambos os lados da equação por QT obtemos
QT Ax = QT b,
Rx = QT b (5.24)
cuja matriz de coeficientes é uma matriz triangular superior, logo pode ser resolvido por substituição.
Para calcular a decomposição QR de uma matriz, um dos métodos que podem ser usados é o próprio
MGS. Outros métodos serão vistos no capı́tulo sobre autovalores. Para facilitar a compreensão, veremos
primeiro como fazer a decomposição QR usando o método de Gram-Schmidt modificado. No que se segue
assumiremos que A é uma matriz n×m cujas m colunas são linearmente independentes. Escrevendo a matriz
A em colunas £ ¤
A = A1 A2 · · · Am , (5.25)
aplicamos o método de Gram-Schmidt às colunas de A, obtendo
j−1
X
wj = Aj − hAj , vi i vi , (5.26)
i=1
wj
vj = . (5.27)
kwj k
com
Assim, tomando £ ¤
Q= v1 v2 ··· vm (5.31)
e
r11 r12 r13 ... r1m
0 r22 r23 ... r2m
0 0 r33 ... r3m
R=
0 ..
.
..
(5.32)
0 0 .
. .. .. .. .. ..
.. . . . . .
0 0 0 ... 0 rmm
Rodney Josué Biezuner 86
segue que
r11 r12 r13 ... r1m
0 r22 r23 ... r2m
0 0 r33 ... r3m
£ ¤ £ ¤
A1 A2 ··· Am = v1 v2 ··· vm .. .. , (5.33)
0 0 0 . .
. .. .. .. .. ..
.. . . . . .
0 0 0 ... 0 rmm
ou seja, A = QR.
Devido aos problemas da instabilidade do método de Gram-Schmidt clássico, é melhor usar o método de
Gram-Schmidt modificado para fazer a decomposição QR de uma matriz. Resolvendo o j-ésimo passo do
MGS
vj1 = Aj − hAj , v1 i v1 ,
®
vj2 = vj1 − vj1 , v2 v2 ,
®
vj3 = vj2 − vj2 , v3 v3 ,
..
.
D E
vj = vjj−3 − vjj−3 , vj−2 vj−2 ,
j−2
D E
vjj−1 = vjj−2 − vjj−2 , vj−1 vj−1 ,
vjj−1
vj = ° °
° j−1 ° ,
°vj °
em termos de Aj , denotando
vj0 = Aj , (5.34)
segue que
Aj = vj1 + hAj , v1 i v1
®
= vj2 + vj1 , v2 v2 + hAj , v1 i v1
® ®
= vj3 + vj2 , v3 v3 + vj1 , v2 v2 + hAj , v1 i v1
...
j−1
X ®
= vjj−1 + vji−1 , vi vi (5.35)
i=1
° ° j−1
X i−1 ®
° °
= °vjj−1 ° vj + vj , vi vi
i=1
j
X
= rij vi ,
i=1
onde definimos
®
rij = vji−1 , vi se i = 1, . . . , j − 1, (5.36)
° °
° °
rjj = °vjj−1 ° . (5.37)
Assim, se Q e R são definidas como em (5.31) e (5.32), novamente nós temos A = QR.
Rodney Josué Biezuner 87
αj = hjj ,
βj = hj−1,j
(na notação padrão do algoritmo de Lanczos, a matriz de Hessenberg Hm é denotada por Tm , para enfatizar
a sua tridiagonalidade). Isto leva à seguinte variação MGS do método de Arnoldi (FOM):
Este algoritmo pode ser consideravelmente simplificado, através da obtenção de uma fórmula de recorrência
de três termos, levando ao método do gradiente conjugado. Primeiro, fazemos uma decomposição LU da
matriz tridiagonal Tm = Lm Um sem pivôs:
η β
1 1 2
µ2 1 η2 β3
.
µ 1 . .
Tm = 3 η3 (5.38)
. . . .
. . ..
. βm
µm 1 ηm
Lm Um
Rodney Josué Biezuner 88
onde os coeficientes das matrizes bidiagonais Lm e Um podem ser obtidas através da seguinte fórmula de
recorrência:
η1 = α1 ,
µ2 = β2 η1−1 ,
η2 = α2 − µ2 β2 ,
µ3 = β3 η2−1 ,
..
.
−1
µm = βm ηm−1 ,
ηm = αm − µm βm ,
isto é,
−1
µj = βj ηj−1 , (5.39)
ηj = αj − µj βj . (5.40)
(Observe que ηj 6= 0 para todo j porque Tm é simétrica, positiva definida.) A solução aproximada é dada
então por
xm = x0 + Vm Um −1 −1
Lm (βe1 ) . (5.41)
Definindo
−1
Pm = Vm Um , (5.42)
m
z = L−1
m (βe1 ) , (5.43)
segue que
xm = x0 + Pm z m . (5.44)
Por causa da estrutura triangular superior bidiagonal de Um , Pm pode ser atualizada facilmente. De fato,
escreva Pm em colunas: £ ¤
Pm = p1 p2 · · · pm .
Da relação Pm Um = Vm segue que
βm pm−1 + ηm pm = vm ,
donde
−1
pm = ηm (vm − βm pm−1 ) . (5.45)
Além disso, por causa da estrutura triangular inferior bidiagonal com diagonal unitária de Um , da relação
Lm z m = βe1 segue que
m
µm zj−1 + zjm = 0
para j > 1, e portanto podemos escrever (lembrando que z m é um vetor de Rm assim como y m )
· m−1 ¸
z
zm = (5.46)
ζm
com
ζ m = −µm ζ m−1 . (5.47)
Assim,
· ¸
m 0
£ ¤ z m−1
x =x + Pm−1 pm
ζm
= x0 + Pm−1 z m−1 + ζ m pm ,
Rodney Josué Biezuner 89
donde
xm = xm−1 + ζ m pm . (5.48)
Isso dá a seguinte versão direta para o algoritmo de Lanczos para sistemas lineares:
v1 ← r0 /β;
Inicialize β1 = µ1 ≡ 0;
Inicialize p0 ≡ 0;
Para
m = 1, 2, . . . , até limite de tolerância faça
w ← Avm − βm vm−1 ;
αm ← hw, vm i ;
Se m > 1 então
·
µm ← βm /ηm−1 ;
ζ m
← −µm ζ m−1 ;
ηm ← α m − µ m β m ;
pm ← (vm − βm pm−1 ) /ηm ;
m
x ← xm−1 + ζ m pm ;
w ← w − αm vm ;
βm+1 ← kwk ;
Se βm+1 = 0 então pare;
vm+1 ← w/ βm+1 ;
fim do laço
Este algoritmo ainda pode ser consideravelmente simplificado. O resultado, uma fórmula tripla de
recorrência, extremamente simples e que não envolve o cálculo da base ortonormal {v1 , . . . , vm }, é o chamado
método do gradiente conjugado (CG). Para obtê-lo, observamos primeiramente que os vetores pm são
A-conjugados (isto é, A-ortogonais):
5.9 Proposição.
hpi , pj iA = hApi , pj i = 0 (5.49)
para todos i 6= j.
xm+1 = xm + αm pm , (5.50)
Rodney Josué Biezuner 90
0
o 0que1 por sua
m−1
vez
® é equivalente a encontrar a melhor aproximação do vetor e no subespaço Wm =
p ,p ,...,p . Esta é dada pelo lema da melhor aproximação, que enunciamos em detalhe por co-
modidade:
5.11 Proposição. (Lema da Melhor Aproximaçã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
5.12 Proposição. Seja xm+1 = xm + αm pm obtido através de uma busca na reta exata. Então
rm+1 ⊥ pm
e
em+1 ⊥A pm .
x1 = x0 + α0 p0
e2 = x − x2 = x − x1 − α1 p1 = e1 − α1 p1 ,
para que tenhamos e2 ⊥A p0 é necessário escolher p1 conjugado a p0 . Se isso foi feito, fazendo em seguida
uma busca exata na reta x1 + tp1 obtemos o escalar α1 ,
x1 = x0 + α0 p0
ou seja,
em = em−1 − αm−1 pm−1 , (5.60)
m 0 m−2 m
para que o erro e seja conjugado aos vetores p , . . . , p basta escolher a direção de busca p conjugada
a p0 , . . . , pm−1 ; para assegurar que em também seja conjugado ao vetor pm−1 , basta fazer uma busca exata
Rodney Josué Biezuner 93
na reta xm−1 + tpm−1 . Assim, uma condição necessária para obter (5.59) é escolher as direções de busca de
tal forma que
pi ⊥A pj para todos i 6= j. (5.61)
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:
5.13 Teorema. Se um método emprega direções de busca conjugadas e performa buscas na reta exatas,
então
em ⊥A pi para i = 1, . . . , m − 1,
para todo m. Conseqüentemente ° °
kem kA = min °e0 − p°A ,
p∈Wm
®
onde Wm = p0 , p1 , . . . , pm−1 .
Prova: A demonstração é por indução. Para m = 1, temos e1 ⊥A p0 pela Proposição 5.12 porque a busca
na reta é exata. Em seguida, assuma em ⊥A pi para i = 1, . . . , m − 1; queremos mostrar que em+1 ⊥A pi
para i = 1, . . . , m. Como
em+1 = em − αm pm ,
para i = 1, . . . , m − 1 temos
m+1 i ® ® ® ®
e , p A = em − αm pm , pi A = em , pi A − αm pm , pi A = 0 − 0 = 0
porque as direções de busca são conjugadas. em+1 ⊥A pm segue novamente da Proposição 5.12. ¥
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, o que pode ser feito simplesmente
utilizando-se o algoritmo de Gram-Schmidt que no método do gradiente conjugado produz o mesmo resultado
que um método mais estável como o MGS, como veremos. Dado um chute inicial p0 , a primeira direção é
¡ ¢
p0 = −∇f x0 = b − Ax0 = r0
p0 = r0 . (5.62)
de forma que pm+1 ⊥A pi para todos i = 1, . . . , m. Felizmente, como veremos a seguir depois de algum
trabalho preliminar (Corolário 5.17), cmi = 0 para todo i exceto i = m, o que torna necessário que apenas
a direção de busca mais recente pm seja armazenada na memória do computador, o que garante que a
implementação do gradiente conjugado é eficiente:
m+1 m ® m+1 ®
m+1 m+1
r ,p A m m+1 r , Apm m
p =r − p =r − p (5.65)
hpm , pm iA hpm , Apm i
Rodney Josué Biezuner 94
ou, definindo ®
rm+1 , Apm
βm =− , (5.66)
hpm , Apm i
temos que
pm+1 = rm+1 + βm pm . (5.67)
Esta é a modificação do método do gradiente conjugado em relação ao método da descida mais acentuada,
no qual tomamos pm+1 = rm+1 .
Podemos obter uma expressão mais simples para o escalar βm , em função apenas dos resı́duos. Com
efeito, temos m+1 m+1 ® m+1 m ® ® ®
r ,r = r , r − αm rm+1 , Apm = −αm rm+1 , Apm
porque os resı́duos obtidos através do método do gradiente conjugado são mutualmente ortogonais (veja
Corolário 5.16), logo m+1 ® m+1 m+1 ®
r , Apm r ,r
β=− m m
= .
hp , Ap i αm hp , Apm i
m
Temos m ®
hpm , rm i r + βpm−1 , rm hrm , rm i
αm = m m
= m m
= m ,
hp , Ap i hp , Ap i hp , Apm i
®
porque pm−1 , rm = 0 pela Proposição 5.12, logo
hrm , rm i
αm = . (5.68)
hpm , Apm i
Portanto ®
rm+1 , rm+1
β= . (5.69)
hrm , rm i
Podemos obter um algoritmo ainda mais eficiente para o método do gradiente conjugado se observarmos que
para calcular o resı́duo rm+1 = b − Axm+1 em cada iteração não é necessário calcular Axm+1 explicitamente;
de fato, como vimos na demonstração da Proposição 5.12, temos rm+1 = rm −αm Apm . Desta forma, obtemos
o mesmo algoritmo do gradiente conjugado obtido na seção anterior a partir do algoritmo de Lanczos.
5.14 Teorema. Depois de j iterações do algoritmo do gradiente conjugado (com rm 6= 0 em cada iteração),
temos 0 1 ® ® ¡ ¢
p , p , . . . , 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
0 1 ® ¡ ¢
r , r , . . . , rj ⊂ Kj+1 A, r0 . (5.70)
¡ ¢
Em vista da ¡ hipótese
¢ de indução,
¡ ¢ basta mostrar que rj ∈ Kj+1 A, r0 . Como rj = rj−1 −¡αj−1 Ap ¢
j−1
e
j−1 0 0 j−1 0
r ∈ Kj A, r ⊂ Kj+1 A, r por hipótese¡ de indução, ¢ basta provar que Ap ∈ K 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 .
Rodney Josué Biezuner 95
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. ¥
para todo j.
para todo j.
Prova: Em vista do Teorema 5.14, basta provar que rj ⊥ p0 , p1 , . . . , pj−1 para todo j. Como Aej+1 = rj+1 ,
j+1 i ® j+1 i ® j+1 i ®
r , p = Ae , p = e , p A = 0
5.18 Teorema. Seja A ∈ Mn (R) uma matriz simétrica positiva definida. Então o método do gradiente
conjugado converge em n iterações.
Prova: Se fizemos n − 1 iterações para obter x, pelo Corolário 5.16 os vetores r0 , r1 , . . . , rn−1 formam uma
base ortogonal
para Rn . Depois ® den mais uma iteração, de acordo com este mesmo corolário o resı́duo rn
n 0 1 n−1 n
satisfaz r ⊥ r , r , . . . , r = R , logo r = 0. ¥
Rodney Josué Biezuner 96
Que Ck é de fato um polinômio de grau k pode ser visto através da seguinte fórmula de recorrência:
5.20 Proposição. Vale a seguinte fórmula de recorrência de três termos para os polinômios de Chebyshev
C0 (t) = 1,
C1 (t) = t, (5.73)
Ck+1 (t) = 2tCk (t) − Ck−1 (t) .
Em particular, Ck (t) é um polinômio real de grau k, Ck (t) é uma função par se k é par e uma função
ı́mpar se k é ı́mpar.
segue que
Ck+1 (t) + Ck−1 (t) = cos [(k + 1) arccos t] + cos [(k − 1) arccos t]
= 2 cos (arccos t) cos [k arccos t]
= 2tCk (t) .
¥
A fórmula de recorrência da Proposição 5.20 permite estender naturalmente o domı́nio dos polinômios de
Chebyshev à reta toda. Isso também pode ser feito estendendo a definição trigonométrica:
½ £ ¤
cosh k cosh−1 t se t > 1,
Ck (t) = k £ −1
¤ (5.74)
(−1) cosh k cosh |t| se t 6 −1.
vemos que vale a mesma fórmula de recorrência da Definição 5.19. O polinômio de Chebyshev Ck (t) possui
k raı́zes simples, todas localizadas no intervalo [−1, 1] dadas por
µ ¶
2j − 1
tj = cos π , j = 1, . . . , k,
2k
como pode ser verificado diretamente da definição. Em particular, os polinômios de Chebyshev não se anulam
fora deste intervalo. Observe também que |Ck (t)| 6 1 para t ∈ [−1, 1]. À tı́tulo de informação, eles formam
uma base ortogonal no espaço de funções apropriado no sentido que
Z 1 0 se k 6= l,
dt
Ck (t) Cl (t) √ = π se k = l = 0,
−1 1 − t2
π/2 se k = l 6= 0.
5.21 Proposição. Se |t| > 1, vale
· ´−k ¸
1 ³ p
2
´k ³ p
2
Ck (t) = t+ t −1 + t+ t −1 .
2
Consequentemente,
1
µk = ¯¯ µ ¶¯ .
¯ (5.75)
¯C k 1 + 2 c − b ¯
¯ b−a ¯
Prova: Denote por
a+b
m :=
2
o ponto médio do intervalo [a, b]. Então
x−b b − a + 2x − 2b 2x − (a + b)
1+2 = =
b−a b−a b−a
x−m
=2 .
b−a
Assim, se c ∈
/ [a, b] então ¯ ¯
¯ c − m¯
¯2 ¯
¯ b−a ¯>1
bk (x) nunca se anula. Por outro lado, se x ∈ [a, b] então
de modo que o denominador na expressão de C
¯ ¯
¯ x − m¯
¯2 ¯
¯ b − a ¯ 6 1.
Como
max |Ck (t)| = 1,
t∈[−1,1]
segue (5.75).
bk , precisamos mostrar que se pk ∈ Pk [x]
Portanto, para provar que o mı́nimo é atingido pelo polinômio C
é tal que p (c) = 1 e
max |p (x)| 6 µk ,
x∈[a,b]
bk . De fato, pela definição trigonométrica dos polinômios de Chebyshev, Ck (t) atinge os valores
então pk = C
±1 alternadamente nos pontos µ ¶
j
tj = cos π , j = 0, 1, . . . , k.
k
Correspondentemente, C bk (x) atinge os valores ±µk nos pontos
· µ ¶¸
1 j
xj = a + b + (b − a) cos π , j = 0, 1, . . . , k
2 k
dentro do intervalo [a, b]. Como ¯ ¯
¯b ¯
|pk (xj )| 6 µk = ¯Ck (xj )¯ ,
donde
sµ −k
¶2
° k° κ (A) + 1 κ (A) + 1 ° °
°e ° 6 2 + − 1 °e0 °A
A κ (A) − 1 κ (A) − 1
q −k
2 2
κ (A) + 1 + (κ (A) + 1) − (κ (A) − 1) ° 0°
= 2 °e °
κ (A) − 1 A
à p !−k
κ (A) + 1 + 2 κ (A) ° 0°
=2 °e °
κ (A) − 1 A
³p ´2 −k
κ (A) + 1 ° 0°
= 2 ³p ´ ³p ´
°e °A
κ (A) + 1 κ (A) − 1
Ãp !k
κ (A) − 1 ° 0°
=2 p °e ° .
A
κ (A) + 1
¥
Esta estimativa é bem melhor que a estimativa do método da descida mais acentuada (o número de condição
é subtituido aqui pela sua raiz quadrada), mostrando que o método do gradiente conjugado é bem mais
rápido. Por outro lado, como naquele método, a velocidade de convergência do método CG dependerá
fortemente da boa ou má condicionalidade da matriz A.
Uma comparação entre a velocidade de convergência dos métodos de gradiente para a matriz de dis-
cretização da fórmula de cinco pontos aplicada ao mesmo problema do Capı́tulo 3 (Seção 3.1.4) é dada na
tabela a seguir [Watkins]. O tamanho das matrizes usadas é indicado na linha superior da tabela e o número
de iterações necessárias para obter um erro algébrico menor normalizado menor que igual a 10−8 é dado
para cada método.
n = 81 n = 361 n = 1521
Descida Mais Acentuada 304 1114 4010
Gradiente Conjugado 29 60 118
(n − 1) π
sen2 π π∆x 4
κ (A) = 2n = cot2 = cot2 ≈ 2 2
π 2n 2 π ∆x
sen2
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.76) do Teorema
5.24 para o método do gradiente conjugado é apenas um limitante superior grosseiro e pode ser melhorada
(veja [Watkins] para algumas estimativas melhoradas). De fato, embora a taxa de convergência assintótica
(5.76) dependa apenas do número de condição, e portanto apenas dos autovalores extremais, a convergência
do método do gradiente conjugado é influenciada pelo espectro inteiro, como o próximo resultado ilustra:
Rodney Josué Biezuner 101
5.25 Teorema. Seja A ∈ Mn (R) uma matriz simétrica positiva definida com apenas m autovalores distin-
tos. Então o método do gradiente conjugado converge em m iterações.
p (x) = a (x − λ1 ) . . . (x − λm )
um polinômio de grau m onde a é escolhido de tal forma a produzir p (0) = 1. Como p (λi ) = 0 para todo i,
pela demonstração do Teorema 5.24 (e usando a mesma notação de lá) segue que
n
X
p (A) e0 = ai p (λi ) vi = 0.
i=1
5.10 Exercı́cios
5.1 Considere os vetores
1 1 1
ε 0 0
v1 =
0 , v2 =
ε e v3 =
0 ,
0 0 ε
onde ε ¿ 1. Estes vetores são aproximadamente linearmente independentes.
a) Use o método de Gram-Schmidt clássico para ortogonalizar estes vetores, usando a aproximação
1 + ε2 = 1 (um computador faria erros de arredondamento adicionais). Verifique que hw2 , w3 i = 1/2 e
portanto estes vetores estão muito longe de serem ortogonais.
b) Use o método de Gram-Schmidt modificado para ortogonalizar estes vetores,√ também usando √a
aproximação 1 + ε2 = 1. Verifique que hw2 , w3 i = 0 e que hw1 , w2 i = −ε/ 2, hw1 , w3 i = −ε/ 6;
portanto estes vetores estão muito próximos de serem ortogonais.
5.2 Mostre que os algoritmos de Gram-Schmidt clássico e modificado são matematicamente equivalentes
em aritmética exata, isto é, produzem os mesmos vetores.
5.3 Prove que os vetores v1 , . . . , vm gerados pelo algoritmo de Arnoldi com MGS formam uma base ortonor-
mal para o subespaço de Krylov Km (A, v).
5.4 Prove que o inversa de uma matriz triangular superior é uma matriz triangular superior. Prove a
afirmativa equivalente para matrizes triangulares inferiores.
5.5 Prove que o produto de matrizes triangulares superiores é uma matriz triangular superior. Prove a
afirmativa equivalente para matrizes triangulares inferiores.
Capı́tulo 6
O Problema do Autovalor
Por causa do teorema de Abel com respeito à inexistência de uma fórmula para calcular as raı́zes de um
polinômio de grau maior ou igual a 5, não existem métodos diretos para calcular autovalores. Todo método
para calcular autovalores é necessariamente um método iterativo.
De fato, dado um polinômio mônico
p (z) = z n + an−1 z n−1 + . . . + a1 z + a0 ,
n
seu determinante é igual a (−1) vezes o determinante da matriz
−z −a0
1 −z −a 1
1 −z −a 2
.. ,
1 −z .
. .
.. .. −an−1
1 −z − an−1
logo as raı́zes de p são os autovalores da matriz
0 −a0
1 0 −a1
1 0 −a2
.. .
1 0 .
.. ..
. . −an−1
1 −an−1
Portanto, o problema de encontrar as raı́zes de um polinômio é equivalente ao problema de encontrar os
autovalores de uma matriz.
Temos P P
2
2 kxk aik xi − 2xk aij xi xj
∂r i=1 i,j=1 2
(x) = 4 = 2 [(Ax)k − r (x) xk ] ,
∂xk kxk kxk
de modo que
2
∇r (x) = 2 [Ax − r (x) x] .
kxk
Portanto,
∇r (x) = 0 se e somente se Ax = r (x) x.
¥
6.3 Corolário. O quociente de Rayleigh é uma aproximação de segunda ordem para os autovalores de A,
ou seja, se v é um autovetor de A, segue que
³ ´
2
r (x) − r (v) = O kx − vk quando x → v
e
hAx, xi
λn = max 2 (6.2)
x∈Rn kxk
x6=0
Prova: Seja B = {v1 , . . . , vn } uma base ortonormal de autovetores de A correspondentes aos autovalores
P
n
λ1 , . . . , λn . Então, para todo x = xi vi temos
i=1
n
X
2
λ1 kxk = λ1 x2i
i=1
n
X n
X n
X
6 λi x2i = λi xi xj hvi , vj i = hλi xi vi , xj vj i
i=1 i,j=1 i,j=1
* n n
+ * n n
+ * Ã n
! n
+
X X X X X X
= λi xi vi , xj vj = xi Avi , xj vj = A xi vi , xj vj
i=1 j=1 i=1 j=1 i=1 j=1
= hAx, xi .
Rodney Josué Biezuner 104
¥
Os outros autovalores de A, λ2 , . . . , λn−1 , são pontos de sela e podem ser encontrado através de um
princı́pio de minimax:
6.5 Teorema. (Princı́pio de Minimax para Autovalores) Seja A ∈ Mn (R) uma matriz simétrica. Sejam
λ1 6 . . . 6 λn os autovalores de A. Então
de modo que ¡ ¢
dim W ∩ Z ⊥ > 1
P
n P
n
2
e existe um vetor x ∈ W ∩ Z ⊥ tal que kxk = 1. Escrevendo x = xk vk , temos kxk = |xk | = 1, donde
k=j k=j
* n n
+ * n n
+ n
X X X X X
hAx, xi = xk Avk , xl vl = xk λk vk , x l vl = λk xk xl hvk , vl i
k=j l=j k=j l=j k,l=j
n
X n
X
2 2
= λk |xk | > λj |xk | = λj .
k=j k=j
O minimax é atingido em vj . ¥
Rodney Josué Biezuner 105
v0 , Av0 , A2 v0 , . . . , Ak v0 , . . . (6.4)
É essencial que o vetor v0 possua uma componente na direção do autovetor dominante v1 . Este não é a
priori conhecido, mas se a escolha é arbitrária há grande probabilidade que isso ocorra na prática. De fato,
para quase todas as escolhas de v0 devemos ter
n
X
v0 = a i vi
i=1
com a1 6= 0; raramente uma escolha aleatória de v0 produzirá um vetor no subespaço hv2 , . . . , vn i. Temos
então
Xn
Ak v0 = ai λvi ,
i=1
Ak v0
→ a1 v1
λk1
converge para um autovetor dominante. No entanto, como o autovalor λ1 não é conhecido a priori, é
impossı́vel trabalhar com esta sequência. Portanto, trabalhamos ao invés com a sequência normalizada
Ak v0
wk = (6.5)
kAk v0 k
onde k·k é uma norma qualquer (por exemplo, a norma do máximo), que converge para um autovetor
dominante unitário.
Rodney Josué Biezuner 106
6.6 Proposição. Seja A ∈ Mn (C) uma matriz diagonalizável e assuma que o seu autovalor dominante λ1
é simples. Dado um vetor arbitrário v0 ∈ Cn que possui uma componente não-nula no autoespaço
associado a λ1 , defina a sequência
w0 = v0 ,
Awk
wk+1 = .
αk
onde
αk = kAwk k .
Então
wk → v1 ,
αk → λ1 ,
µk = hAwk , wk i ,
então
µk → λ1
com taxa assintótica de convergência ï ¯ !
¯ λ2 ¯2
O ¯¯ ¯¯ .
λ1
Prova: Temos
Ak v0
wk = ,
α
ek
° °
ek = °Ak v0 °.
ek = α1 . . . αk é simplesmente o escalar apropriado que normaliza o vetor Ak v0 , isto é, α
onde α
Escrevendo
Xn
v0 = a i vi ,
i=1
segue que "
Xn µ ¶k #
λk1 λi
wk = a1 v1 + ai vi .
α
ek i=2
λ 1
Como µ ¶k
n
X λi
a 1 v1 + ai vi → a1 v1
i=2
λ1
e wk sendo uma sequência unitária possui uma subsequência convergente, concluı́mos que wk converge para
um vetor unitário na direção de v1 .
Como
Awk = αek wk ,
tomando o limite em ambos os lados concluı́mos que
Av1 = (lim αk ) v1 ,
Rodney Josué Biezuner 107
logo lim αk = λ1 .
Finalmente, a taxa assintótica de convergência segue de
° µ ¶k ° ¯ ¯k à n !¯ ¯ ¯ ¯k
°X n
λi ° X n
¯ λi ¯ X ¯ λ2 ¯k ¯ λ2 ¯
° ° ¯ ¯
° ai vi ° 6 |ai | ¯ ¯ kvi k 6 |ai | kvi k ¯ ¯ 6 C (v0 ) ¯¯ ¯¯ .
¯ ¯
° λ1 ° λ1 λ1 λ1
i=2 i=2 i=2
e proceder desta maneira até encontrar todos os autovalores de A (desde que não haja autovalores distin-
tos mas iguais em módulo). Na prática isso não funciona, porque erros de arredondamento apareceriam
imediatamente:
n
X
Aev0 = ελ1 v1 + ai λi vi ;
i=2
−1
o método das potências à matriz (A − σI) , pois os autovalores de A são
1 1
,..., ,
λ1 − σ λn − σ
−1
de modo que o autovalor dominante de (A − σI) é
1
(6.6)
λi − σ
onde λi é o autovalor de A mais próximo de σ. Assim, podemos encontrar todos os autovalores de A
variando o deslocamento σ. Este método é chamado método das potências com deslocamento ou
iteração com deslocamento. Ele é particularmente eficiente quando possuı́mos boas estimativas para os
autovalores de A (estimativas grosseiras podem ser obtidas através do teorema dos discos de Gershgorin).
Como já observado anteriormente, a convergência do método das potências direto será lenta quando λ1 e
λ2 forem muito próximos. No caso do método das potências com deslocamento, uma escolha cuidadosa do
deslocamento σ pode aumentar substancialmente a velocidade de convergência. Com efeito, observe que
neste caso temos (para simplificar a compreensão, novamente supomos A diagonalizável e, adicionalmente,
que todos os autovalores são simples):
h ik µ ¶k Xn µ ¶k
1 λi − σ
(A − σI)
−1
v0 = ai vi + ai vj
λi − σ λj − σ
j=1
j6=i
donde
° µ ¶k ° ¯ ¯
°h ik 1 ° X n
¯ λi − σ ¯k
° °
|ai | ¯¯ ¯ |vj |
−1
° (A − σI) v0 − a i vi ° 6
° λi − σ °
j=1
λj − σ ¯
j6=i
n ¯ ¯
X ¯ λi − σ ¯k
6
|ai | |vj | ¯ ¯
¯ λe − σ ¯
j=1 i
j6=i
onde λei é o autovalor mais próximo a λi . Tomando o deslocamento σ significantemente mais próximo de λi
do que de λei , podemos obter ¯ ¯
¯ λi − σ ¯
¯ ¯
¯ λe − σ ¯ ¿ 1,
i
acelerando a convergência do método.
É importante observar que tanto na iteração inversa, quanto na iteração com deslocamento, em nenhum
momento é necessário calcular a inversa A−1 explicitamente, o que consumiria muito tempo e recursos.
Embora as iteradas satisfazem
1 −1
wk+1 = (A − σI) wk ,
σk+1
basta resolver o sistema
(A − σI) w
ek+1 = wk
Rodney Josué Biezuner 109
e então tomar
1
wk+1 = w
ek+1 .
σk+1
Além disso, apesar de A − λI ser uma matriz singular quando λ é um autovalor de A, e portanto tomar um
deslocamento σ muito próximo a λ produz uma matriz A − σI muito mal condicionada, isso não atrapalha
a eficência da iteração com deslocamento em nada (veja [Parlett]).
Finalmente, notamos que se os autovalores de uma matriz já são conhecidos, o método padrão para
encontrar os autovetores de A é o método das potências com deslocamento, já que os deslocamentos podem
ser escolhido arbitrariamente próximos dos autovalores, tornando a convergência muito rápida.
6.7 Proposição. Seja A ∈ Mn (R) uma matriz simétrica e assuma que o autovalor λi é simples. Dado um
0 n
vetor arbitrário
® v ∈ R que possui uma componente não-nula no autoespaço associado a λi , tome
0 0 0
λ = Av , v e defina a sequência
¡ ¢−1 k
k+1 A − λk I v
v =°°
°,
°
−1
°(A − λk I) v k °
®
λk+1 = Av k+1 , v k+1 .
Então v k converge para um autovetor unitário vi associado a λi e λk → λi com uma taxa de con-
vergência que satisfaz ³°
° k+1 ° °3 ´
°v − vi ° = O °v k − (±vi )°
e ¯ k+1 ¯ ³¯ ¯3 ´
¯λ − λi ¯ = O ¯λk − λi ¯ .
Pelas estimativas para a iteração inversa com deslocamento obtidas na subseção anterior, temos
¯ ¯
° k+1 ° ¯ λi − λk ¯ ° k °
°v °
− vi 6 C ¯¯ ¯ °v − vi ° .
λei − λk ¯
Rodney Josué Biezuner 110
¯ ¯ ¯ ¯
Como λk está próximo de λi , podemos substituir ¯λei − λk ¯ por ¯λei − λi ¯ no denominador, de modo que
° k+1 ° ¡¯ ¯° °¢ ³° °3 ´
°v − vi ° = O ¯λk − λi ¯ °v k − vi ° = O °v k+1 − vi ° .
¥
Este resultado vale mesmo quando o autovalor não é simples (Exercı́cio 6.3).
No caso em que A não é simétrica, a iteração do quociente de Rayleigh ainda pode ser usada, mas
a convergência é apenas quadrática (veja [Watkins]). Para uma análise mais rigorosa da convergência do
método das potências e todas as suas variações, inclusive a iteração do quociente de Rayleigh, veja [Parlett].
6.3 Algoritmo QR
O algoritmo QR (não confundir com a decomposição QR) é o algoritmo preferido para encontrar todos os
autovalores de uma matriz não-simétrica densa. O algoritmo básico QR pode ser descrito da seguinte forma.
Seja A ∈ Mn (C) uma matriz cujos autovalores queremos calcular. Começando com
A0 = A, (6.7)
Ak−1 = Qk Rk . (6.8)
Em seguida definimos
Ak = Rk Qk . (6.9)
Observe que, como
Ak = Q∗k Ak−1 Qk , (6.10)
todas as matrizes da sequência, que denominaremos sequência QR, possuem os mesmos autovalores. Veremos
mais tarde que o algortimo QR é simplesmente uma implementação de um procedimento conhecido como
iteração simultânea, o qual é uma extensão natural do método das potências. Consequentemente, pode ser
mostrado que a sequência QR converge, sob certas condições, para uma matriz triangular superior na forma
λ1 ∗ · · · ∗
.. ..
λ2 . .
.
.. ∗
λn
6.8 Proposição. Seja H ∈ Mn (C) uma matriz de Hessenberg superior. Então toda matriz da sequência
QR é também uma matriz de Hessenberg superior. Além disso, os fatores Qk da decomposição Ak−1 =
Qk Rk também são Hessenberg superiores.
Prova: Assuma A invertı́vel, de modo que todas as matrizes da sequência QR são invertı́veis; em particular,
os fatores Qk , Rk também são invertı́veis. Suponha por indução que Ak−1 é uma matriz de Hessenberg
superior. Seja Ak−1 = Qk Rk uma decomposição QR de Ak−1 . Afirmamos que
Qk = Ak−1 Rk−1
é uma matriz de Hessenberg superior. De fato, como a inversa de uma matriz triangular superior é uma
matriz triangular superior, Qk é o produto de uma matriz de Hessenberg superior e de uma matriz triangular
superior, logo também é uma matriz de Hessenberg superior. Segue que Ak = Rk Qk é o produto de uma
matriz triangular superior e uma matriz de Hessenberg superior, logo também é uma matriz de Hessenberg
superior.
O caso geral, em que A é singular, é um pouco mais difı́cil. De fato, não é verdade que toda decomposição
QR de uma matriz de Hessenberg superior vai produzir um fator Q Hessenberg superior. Mas é possı́vel
provar que é sempre possı́vel escolher a decomposição QR de tal forma que o fator Q produzido é Hessenberg
superior (veja [Watkins]). ¥
Antes de descrever o algoritmo que transforma uma matriz geral em uma matriz de Hessenberg superior
(o custo da transformação será de 10 3
3 n flops) vamos introduzir o conceito de refletores de Householder que
são usados para introduzir zeros abaixo da subdiagonal inferior.
No que se segue assumiremos sempre a norma vetorial como sendo a norma euclidiana.
Q = I − 2uuT (6.11)
(i) Qu = −u.
(ii) Qv = v para todo v ⊥ u.
(iii) Q = QT ( Q é simétrico).
Rodney Josué Biezuner 112
(iii)
¡ ¢T ¡ ¢T
QT = I − 2uuT = I − 2 uT uT = I − 2uuT = Q.
(iv),(v) Usando (iii) segue que
¡ ¢¡ ¢
QQT = QQ = I − 2uuT I − 2uuT = I − 4uuT + 4uuT uuT
¡ ¢
= I − 4uuT + 4u uT u uT = I − 4uuT + 4uuT
= I.
¥
Em outras palavras Q = I − 2uuT leva cada vetor x ∈ Rn em sua reflexão com relação ao hiperplano
H = {v : hu, vi = 0} ortogonal a u.
A possibilidade do uso de refletores para criar zeros em matrizes segue do seguinte resultado:
6.11 Teorema. Sejam x, y ∈ Rn tais que x 6= y mas kxk = kyk. Então existe um único refletor tal que
Qx = y.
¡ ¢
Prova: (Existência) Para encontrar um vetor u tal que I − 2uuT x = y, primeiro notamos que o hiperplano
de reflexão bisecta o ângulo entre x e y, de modo que o vetor x − y deve ser perpendicular a este plano.
Portanto, nosso candidato é
x−y
u= . (6.12)
kx − yk
De fato, de (i) e (ii) da proposição anterior, temos
Q (x − y) = y − x,
Q (x + y) = x + y,
pois
2 2
hx − y, x + yi = hx, xi + hx, yi − hy, xi − hy, yi = kxk − kyk = 0.
Logo,
1 1
Qx = [Q (x − y) + Q (x + y)] = [y − x + x + y] = y.
2 2
¥
6.12 Corolário. Seja x ∈ Rn um vetor não nulo. Então existe um refletor Q tal que
x1 ∗
x2 0
Q . = . .
.. ..
xn 0
Rodney Josué Biezuner 113
Prova: Escolha y = (± kxk , 0, . . . , 0) no teorema anterior, com o sinal escolhido de tal forma a garantir que
x 6= y. ¥
No caso complexo, basta tomar
Q = I − 2uu∗ (6.13)
e temos resultados análogos, bastando substituir simétrico ortogonal por hermitiano unitário.
Vamos agora descrever o algoritmo para reduzir uma matriz geral A à forma de Hessenberg. Cada passo
introduz os zeros nas posições desejadas de cada coluna, da primeira até a última, em um total de n−2 passos
(já que evidentemente não há necessidade de transformar as últimas 2 colunas da matriz para colocá-la na
forma de Hessenberg). Primeiro faça uma partição por blocos de A na forma
· ¸
a11 cT
A= b
b A
e tome
a11 cT
τ1
0
A1/2 = Q1 A = b
b1 A
.. Q
.
0
Então
a11 b1
cT Q a11 ∗ ··· ∗
τ1 τ1
0 0
A1 = Q1 AQ−1
1 = Q1 AQ1 = A1/2 Q1 = b1 A
bQb1 = b1 .
.. Q .. A
. .
0 0
Este é o fim do primeiro passo: a matriz A1 , semelhante à matriz A através de uma matriz ortogonal, tem
zeros na primeira coluna abaixo do primeiro elemento da subdiagonal.
O segundo passo cria zeros na segunda coluna de A1 , isto é, na primeira coluna de A b1 , nas posições
desejadas. Assim, usamos um refletor Q b 2 : Fn−2 −→ Fn−2 exatamente como no primeiro passo, exceto que
usamos A b1 ao invés de A, e definimos
1 0 0 ··· 0
0 1 0 ··· 0
0 0
Q2 =
.. .. b2
. . Q
0 0
Rodney Josué Biezuner 114
e
a11 ∗ ∗ ··· ∗
τ1 ∗ ∗ ··· ∗
0 τ2
A3/2 = Q2 A1 = .
.. .. b2 A
b1
. . Q
0 0
Daı́,
a11 ∗ ∗ ··· ∗
τ1 ∗ ∗ ··· ∗
0 τ2
A2 = Q2 A1 Q−1
2 = Q2 A1 Q2 = A3/2 Q2 = .
.. .. b2 A
b1 Q
b2
. . Q
0 0
Procedemos desta forma em n − 2 passos até encontrar uma matriz de Hessenberg An−2 semelhante à matriz
original A através de uma matriz ortogonal Q = Qn−2 . . . Q2 Q1 .
Considere uma sequência (Ak ) de iteradas do algoritmo QR tal que cada matriz Ak é de Hessenberg superior.
Denote k
a11 ak12 ak13 ak14 . . . ... ak1n
ak21 ak22 ak23 ak24 . . . ... ak2n
k k k
0 a32 a33 a34 . . . ... ak3n
..
0 k
0 a43 a44 k . ... a4n
k
Ak = 0 ..
.
..
.
..
.
.. .
0 0 .
.. .. .. . . . . . . . . .
.
. . . . . . . .
. .. .. .. .. ..
.. . . . . . a k
n−1,n
0 0 0 0 ... 0 akn,n−1 aknn
No algoritmo QR as entradas subdiagonais (ou a maioria delas) convergem para 0 quando n → ∞. Mais
precisamente, como veremos mais tarde, se
então ¯ ¯
¯ λi+1 ¯
aki+1,i →0 ¯
com taxa de convergência ¯ ¯ , i = 1, . . . , n − 1.
λi ¯
Portanto, uma maneira de acelerar a convergência do algoritmo é decrescer os quocientes |λi+1 /λi |. Um modo
de fazer isso é através do uso de um deslocamento, como no método das potências. A matriz deslocada A−σI
tem autovalores
|λ1 − σ| > |λ2 − σ| > . . . > |λn − σ|
e as taxas de convergência associadas são
¯ ¯
¯ λi+1 − σ ¯
¯ ¯
¯ λi − σ ¯ , i = 1, . . . , n − 1.
Rodney Josué Biezuner 115
Assim, se escolhermos σ suficientemente próximo de um autovalor arbitrário que chamaremos λn após re-
ordenar os ı́ndices (e assumindo λn−1 6= λn ), aplicando o algoritmo QR a A − σI observaremos que a
k k
(A − σI)n,n−1 converge para 0 rapidamente. Uma vez que (A − σI)n,n−1 seja suficientemente pequeno, esta
entrada pode ser considerado 0 na prática e, adicionando σI à iterada (A − σI)k do algoritmo QR, obtemos
0
bk ..
A .
Ak = .
0
0 ··· 0 aknn
bk . Podemos
com aknn uma boa aproximação para λn . Os autovalores restantes de Ak são os autovalores de A
b
então aplicar o algoritmo QR à matriz Ak , que tem ordem um a menos que a ordem de A. Continuando
desta forma, usaremos o algoritmo QR em matrizes cada vez menores até obter todos os autovalores de A.
Este processo, em que o tamanho da matriz é reduzido cada vez que um autovalor é encontrado, é chamado
deflação.
O próprio algoritmo QR pode ser usado para obter os valores para os deslocamentos σ, já que depois
de algumas iterações a matriz está próxima da forma triangular e os valores na diagonal principal estão
próximos aos autovalores de A. De fato, as entradas na diagonal principal são quocientes de Rayleigh, já
que
akii = eTi Ak ei = hAk ei , ei i .
Assim, o deslocamento pode ser modificado em cada iteração, como no método da iteração do quociente de
Rayleigh, usando-se
σk = aknn
de modo que ¯ ¯
¯ λi+1 − σk ¯
¯ ¯
¯ λi − σk ¯ → 0 quando k → ∞
e obtemos uma taxa de convergência melhor que linear. De fato, veremos que, como no método da iteração
do quociente de Rayleigh, este algoritmo QR com deslocamento dado pelo quociente de Rayleigh
possui convergência quadrática em geral e cúbica para matrizes hermitianas.
Na prática, depois de apenas uma iteração QR já é seguro usar σ1 = a1nn . O único efeito dessa escolha é
que a ordem dos autovalores obtidos no processo não é necessariamente crescente.
O deslocamento dado pelo quociente de Rayleigh pode falhar às vezes, por exemplo quando o deslocamento
obtido está a mesma distância de dois autovalores distintos, fazendo com que o método tenha dificuldade
de “decidir” qual autovalor aproximar. Para evitar esta situação, é preferı́vel usar o deslocamento de
Wilkinson, que é definido como sendo o autovalor da submatriz 2 × 2
· k ¸
an−1,n−1 akn−1,n
akn,n−1 aknn
que está mais próximo de aknn . Ele é fácil de calcular porque é a raiz de um polinômio do segundo grau. É
possı́vel provar para matrizes simétricas tridiagonais o algoritmo QR com deslocamento de Wilkinson sempre
converge. Além disso, como estamos usando maior informação para obter o deslocamento, a taxa convergência
no mı́nimo igual à do algoritmo QR usando o deslocamento dado pelo quociente de Rayleigh e muitas vezes
melhor. Em geral, existem apenas casos muito especiais de matrizes para as quais o deslocamento de
Wilkinson falha. A experiência tem mostrado que são necessárias apenas 5 ou 9 iterações do algoritmo
QR para obter uma aproximação satisfatória para o primeiro autovalor e de 3 a 5 iterações em média para
os autovalores restantes (às vezes menos); para matrizes hermitianas, 2 ou 3 iterações em média bastam.
O deslocamento de Wilkinson tem a vantagem inicial de que pode ser usado para aproximar autovalores
complexos de matrizes reais, já que ele pode ser um número complexo, enquanto que o quociente de Rayleigh
Rodney Josué Biezuner 116
de uma matriz real sempre é um valor real. Para maiores detalhes sobre as informações contidas este parágrafo
veja [Watkins].
Por fim, às vezes ocorre durante as iterações do algoritmo QR que um elemento da subdiagonal inferior
localizado próximo ao meio da matriz é suficientemente próximo de 0. Neste caso a matriz Ak tem a forma
em blocos · ¸
B11 B12
0 B22
e o problema pode ser quebrado em dois, aplicando o algoritmo
¡ ¢ QR aos blocos B11 e B22 separadamente.
Como o custo de uma iteração QR de Hessenberg é O n2 , dividindo o tamanho da matriz pela metade
implica numa diminuição do custo por um fator de 4.
S, AS, A2 S, . . .
Como no método da iteração direta as iteradas convergem para o autovetor dominante, esperamos que estes
subespaços iterados convirjam para um autoespaço. Para verificar isso, precisamos definir uma noção de
distância entre subespaços vetoriais.
6.13 Definição. Dados dois subespaços S, T ⊂ Fn , a distância entre eles é definida por
onde θ é o maior ângulo principal entre S e T . Dizemos que uma sequência de subespaços {Sk }
converge para S se dist (Sk , S) → 0 e denotamos este fato por Sk → S.
6.14 Teorema. Seja A ∈ Mn (F) diagonalizável com autovalores
e uma correspondente base de autovetores {v1 , . . . , vn }. Suponha que |λm | > |λm+1 | para algum m.
Sejam
Tm = hv1 , . . . , vm i ,
Um = hvm+1 , . . . , vn i .
Seja S um subespaço vetorial de dimensão m tal que S ∩ Um = {0}. Então existe uma constante C
tal que ¯ ¯
¡ k ¢ ¯ λm+1 ¯
dist A S, Tm 6 C ¯ ¯ ¯
λm ¯
Em particular, Ak S → Tm linearmente com taxa de convergência |λm+1 /λm |.
Rodney Josué Biezuner 117
Prova: Uma demonstração rigorosa deste teorema está além dos propósitos deste curso. Daremos apenas
algumas idéias para justificar o resultado.
Em primeiro lugar, observe que dim Ak S = m para todo k. De fato, temos
ker Ak ⊂ Um . (6.14)
Pn
Isso pode ser facilmente visto escrevendo os vetores em coordenadas: dado um vetor v = i=1 ai vi , temos
n
X
Ak v = ai λki vi ,
i=1
segue de S∩Um = {0} que pelo menos um dos escalares a1 , . . . , am é não nulo (assim, a condição S∩Um = {0}
é equivalente a exigir no método das potências que o vetor inicial tenha uma componente na direção do
autovetor dominante; aqui exigimos que cada vetor do subespaço tenha uma componente no autoespaço
dominante). Temos
m µ ¶k n µ ¶k
Ak v X λi X λi
= a i vi + ai vi .
λkm i=1
λm i=m+1
λm
As componentes do vetor “normalizado” Ak v/λkm no subespaço Um tendem a zero quando k aumenta com
taxa de convergência |λm+1 /λm | ou melhor (dependendo dos valores de am+1 , . . . , an ), consequentemente o
vetor limite está no subespaço Tm . Como cada subsespaço Ak S tem dimensão m, o limite dos subespaços
não pode ser um subespaço próprio de Tm . ¥
Observe que a condição S ∩ Um = {0} ocorre quase sempre para uma escolha aleatória do subespaço m-
dimensional S (por exemplo, no caso de R3 a escolha aleatória de uma reta e um plano quase sempre resultará
que o único ponto em que eles se interceptam é a origem).
Para fazer a iteração de subespaços na prática, deve-se escolher uma base para S e iterar todos os
vetores desta base simultaneamente. No processo de iterar o subespaço, devemos obviamente ortonormalizar
a base do subespaço Ak S em cada passo da iteração, usando um algoritmo robusto tal como o MGS com
reortogonalização. Este processo todo é chamado iteração simultânea.
Em notação matricial, a iteração simultânea pode ser descrita da seguinte maneira. Seja S um subespaço
de dimensão m com base v1 , . . . , vm . Utilizando um algoritmo robusto, encontramos uma base ortonormal
q1 , . . . , qm . Formamos então uma matriz inicial n × m com colunas ortonormais:
£ ¤
Q0 = q10 · · · qm 0
.
Bk = Qk+1 Rk+1 ,
então as colunas ortonormais de Qk+1 formam uma base ortonormal para Ak S. No limite, teremos que as
colunas das matrizes Qk convergem para os m autovetores dominantes (nas condições do teorema anterior).
Rodney Josué Biezuner 118
definirmos
∗
Ak = Qk AQk , (6.16)
Rk = Rk · · · R1 (6.17)
e, reciprocamente, no algoritmo QR
A0 = A,
Ak−1 = Qk Rk , (6.18)
Ak = Rk Qk ,
definirmos
b k = Q1 · · · Qk ,
Q (6.19)
bk = Rk · · · R1
R (6.20)
segue que
Ak = Ak , (6.21)
bk ,
Qk = Q (6.22)
bk .
Rk = R (6.23)
bk R
Ak = Qk Rk = Q bk . (6.24)
A verificação de todos estes fatos segue por indução. O caso k = 0 é imediato, já que B0 = A. Como
hipótese de indução, assumimos
Ak−1 = Ak−1 ,
b k−1 R
Ak−1 = Q bk−1 = Qk−1 Rk−1 ,
donde
b k−1 ,
Qk−1 = Q
bk−1 .
Rk−1 = R
Portanto,
bk R
Ak = Qk Rk = Q bk
donde
bk ,
Qk = Q
bk .
Rk = R
Ak = Q∗k Ak−1 Qk ,
explica porque o algoritmo QR encontra os autovetores de A: ele constrói bases ortonormais para o espaço
coluna das potências sucessivas Ak (e as colunas de Ak são Ak e1 , . . . , Ak en ). A relação
b tk AQ
Ak = Q bk
onde
£ ¤
Qm = q1 ... qm ,
£ ¤
Qm+1 = q1 ... qm qm+1 ,
são matrizes com colunas ortonormais e He m é uma matriz de Hessenberg superior (m + 1) × m (na notação
daquela proposição, a matriz Qm é denotada por Vm ). Como naquela proposição, denote por Hm a matriz
de Hessenberg superior quadrada obtida através de He m quando suprimimos a última linha desta. Segue que
£ ¤
AQm = Qm Hm + qm+1 0 . . . 0 hm+1,m
Rodney Josué Biezuner 120
ou
AQm = Qm Hm + qm+1 hm+1,m etm . (6.26)
m
Como vimos no capı́tulo anterior, se q, Aq, . . . , A q são linearmente independentes, então hm+1,m 6= 0. Se
eles são linearmente dependentes, então hm+1,m = 0 e
AQm = Qm Hm . (6.27)
AQ = QB.
Reciprocamente, se S é invariante sob A, então para cada ı́ndice j = 1, . . . , m existem escalares bij tais que
m
X
Aqj = bij qi .
i=1
6.16 Teorema. Sejam Qm , Hm e hm+1,m gerados pelo método de Arnoldi. Seja λ um autovalor de Hm
com autovetor unitário x. Seja v = Qm x. Então
O método de Arnoldi em geral obtém os autovalores periféricos. Os autovalores interiores podem ser encon-
tradas através da estratégia do deslocamento.
Quando A é simétrica, como vimos no capı́tulo anterior Hm é uma matriz tridiagonal Tm que pode ser
obtida através de uma fórmula de recorrência.
Veja [Watkins] para detalhes sobre implementações eficientes do método de Arnoldi e algoritmo de Lanczos
para encontrar autovalores e autovetores de matrizes esparsas.
6.7 Exercı́cios
6.1 Suponha que A ∈ Mn (C) é uma matriz diagonalizável tal que nenhum autovalor de A diferente do
autovalor dominante λ1 tem módulo igual a A. Em outras palavras, se r é a dimensão do autoespaço
associado a λ1 , ou autovalores de A satisfazem
com
λ1 = . . . = λr .
Mostre que o método das potências pode ser aplicado a A para encontrar λ1 e um autovetor unitário
no autoespaço associado a λ1 .
6.2 Usando a forma canônica de Jordan, mostre que a hipótese de A ser diagonalizável pode ser removida
da hipótese do exercı́cio anterior decompondo o vetor inicial v0 como a soma de um vetor na direção
do autovetor dominante v1 e de vetores principais nos subespaços de Jordan da matriz.
6.3 Prove a Proposição 6.7 sem assumir que o autovalor é simples.
6.4 Prove que o produto de uma matriz triangular superior e uma matriz de Hessenberg superior é uma
matriz de Hessenberg superior. O que se pode dizer sobre o produto de duas matrizes de Hessenberg
superiores?
[Komzsik] Louis KOMZSIK, The Lanczos Method: evolution and application, SIAM, 2003.
[Kreyszig] KREYSZIG, E., Introductory Functional Analysis with Applications, John Wiley &
Sons, 1978.
[Mak] Ronald MAK, Java Number Cruncher: the Java Programmer’s Guide to Numerical
Computing, Prentice Hall, 2003.
[Meurant] Gérard MEURANT, The Lanczos and Conjugate Gradient Algorithms: from theory
to finite precision computations, SIAM, 2006.
122