Escolar Documentos
Profissional Documentos
Cultura Documentos
Alg Lin Num PDF
Alg Lin Num PDF
Alg Lin Num PDF
1
Rodney Josu
e Biezuner
Departamento de Matematica
Instituto de Ciencias Exatas (ICEx)
Universidade Federal de Minas Gerais (UFMG)
Notas de aula da disciplina Algebra Linear Numerica do Curso de Graduaca
o
em Matem
atica Computacional, ministrado durante o segundo semestre do ano de 2009.
30 de novembro de 2009
1
E-mail: rodney@mat.ufmg.br; homepage: http://www.mat.ufmg.br/rodney.
Sum
ario
0 Introdu c
ao: Representacao de N umeros Reais no Computador 3
0.1 Ponto Flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
0.2 Erros de Arredondamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
0.3 O Padrao de Ponto Flutuante IEEE 754 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
0.3.1 N umeros normalizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
0.3.2 N umeros denormalizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
0.3.3 Outros valores numericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
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 Implementacao Computacional de Matrizes Esparsas . . . . . . . . . . . . . . . . . . . . . . . 11
1
Rodney Josue Biezuner 2
3.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4 M etodos de Proje c
ao 62
4.1 Teoria Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.1.1 Representacao Matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1.2 Minimizacao de Funcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.1.3 Estimativa do Erro em Metodos de Projecao . . . . . . . . . . . . . . . . . . . . . . . 66
4.2 Caso Unidimensional: Metodos de Descida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.1 Metodos de Descida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.2 Metodo da Descida Mais Acentuada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Introduc
ao: Representa
c
ao de
Numeros Reais no Computador
Computadores digitais usam um n umero finito de bits para representar um n umero real, portanto eles
podem representar apenas um subconjunto finito dos n umeros reais, o que leva a dois tipos diferentes de
limitacoes: (1) n
umeros representados nao podem ser arbitrariamente grandes ou arbitrariamente pequenos;
(2) existem lacunas entre os numeros representados. Estas limitacoes fsicas 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
cao. Definimos o erro absoluto causado por uma computacao 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) sao os mesmos. No entanto, o erro relativo no primeiro caso e 1, enquanto que o erro
relativo no segundo caso e 106 , expressando o fato intuitivo que o erro cometido no primeiro caso e muito
maior que o erro cometido no segundo caso. As ` vezes o erro relativo e expresso como uma porcentagem:
Assim, o erro percentual no primeiro caso e 100%, enquanto que o erro percentual no segundo caso e
104 = 0, 0001%.
3
Rodney Josue Biezuner 4
os n
umeros depois do ponto decimal sao infinitos (incluindo o 0). Em outras palavras, usando a base 10,
n
umeros reais correspondem a series da forma
X
an
a = a0 +
n=1
10n
1 0 1
0 0
1 1 101 = 0, 1 1 100 =1 1 101 = 10
2 2 101 = 0, 2 2 100 =2 2 101 = 20
3 3 101 = 0, 3 3 100 =3 3 101 = 30
4 4 101 = 0, 4 4 100 =4 4 101 = 40
5 5 101 = 0, 5 5 100 =5 5 101 = 50
6 6 101 = 0, 6 6 100 =6 6 101 = 60
7 7 101 = 0, 7 7 100 =7 7 101 = 70
8 8 101 = 0, 8 8 100 =8 8 101 = 80
9 9 101 = 0, 9 9 100 =9 9 101 = 90
O fato do espaco entre os valores em ponto flutuante aumentar em proporcao ao tamanho dos n umeros e
que justifica o nome ponto flutuante. Uma representacao em que os espacos entre os valores representados
tem um tamanho fixo e chamada uma representacao em ponto fixo.
0.2 Defini
cao. Definimos a precis ao de um ponto flutuante como sendo o n
umero de dgitos significativos
que ele possui em seu significando. A exatidao de um ponto flutuante e a sua aproximacao do valor
exato.
Quanto mais dgitos significativos um ponto flutuante possui, mais preciso ele e: o double 0.3333333333333333
e uma representacao mais precisa do n umero real 1/3 do que o float 0.3333333. Por outro lado, o float
0.3333333 e uma representacao mais exata de 1/3 do que o double 0.3444444444444444, apesar deste ser
um ponto flutuante mais preciso, porque a maioria dos seus dgitos significativos estao errados. Os erros
computacionais tais como os erros de cancelamento e arredondamento afetam a exatidao de um valor em
ponto flutuante. Aumentar a precisao de float para double tem o potencial de aumentar a exatidao, mas
nao a garante.
Rodney Josue Biezuner 5
0.3 Defini
cao. Definimos o erro de arredondamento por
0.4 Definicao. Um erro de cancelamento e um erro de arredondamento que ocorre quando a maioria
dos dgitos significativos sao perdidos durante a subtracao de dois valores aproximadamente iguais.
0.3 O Padr
ao de Ponto Flutuante IEEE 754
Antes do padrao IEEE 754 ser publicado em 1985, existiam muitos formatos de ponto flutuante implementa-
dos em hardware e software, o que dificultava a portabilidade dos programas. Os resultados obtidos variavam
de uma maquina para outra. Atualmente, a maioria dos fabricadores aderem ao padrao IEEE 754, fruto de
uma cooperacao historica entre cientistas de computacao e desenhistas de chips de microprocessadores. A
sigla IEEE significa Institute of Electrical and Electronics Engineers.
Os formatos de precisao aritmetica simples float e dupla double sao armazenados em 32 bits e 64 bits,
respectivamente. Cada formato divide um n umero em tres partes: sinal (um bit), expoente e frac
ao. Os dois
formatos diferem quanto ao n umero de bits alocados para o expoente e para a fracao. No formato float 8
bits sao alocados para o expoente e 23 para a fracao, enquanto que no formato double 11 bits sao alocados
para o expoente e 52 para a fracao. O bit de sinal representa o sinal do n umero: 0 para positivo e 1 para
negativo. O expoente nao possui sinal: para representar expoentes negativos, o padrao adiciona um vies
positivo; para obter o valor verdadeiro do expoente (sem vies), e necessario subtrair o vies. No formato de
precisao simples, o expoente com 8 bits pode armazenar valores (com vies) entre 0 e 255, mas 0 e 255 sao
reservados; o vies e 127, de modo que os valores verdadeiros (sem vies) do expoente variam entre 126 e
+127. No formato de precisao dupla, o expoente com 11 bits pode armazenar valores (com vies) entre 0 e
2047, com 0 e 2047 sao reservados; o vies e 1023, de modo que os valores verdadeiros (sem vies) do expoente
variam entre 1022 e +1023.
0.3.1 N
umeros normalizados
Representemos por s o sinal, e o expoente e f a fracao. Quando e nao e um valor reservado (isto e, 1 6 e 6 254
no formato float e 1 6 e 6 2047 no formato double) existe um algarismo 1 e um ponto binario . implcitos
`a esquerda do primeiro bit de f , de modo que o n umero representado por s, e, f e o numero
s
n = (1) (1.f ) 2E
s = 1, e = 254 e f = 11111111111111111111111,
ou seja,
X23
1
i
2127 3, 4028 1038 ,
i=0
2
Rodney Josue Biezuner 6
0.3.2 N
umeros denormalizados
Se e = 0 (um dos valores reservados) e f 6= 0, nos temos o que se chama um n umero denormalizado (ou
subnormal ). Existe um algarismo 0 e um ponto binario . implcitos `a esquerda do primeiro bit de f , de modo
que o n
umero representado por s, e, f e o n
umero
s
n = (1) (0.f ) 2E
onde E = 126 (float) ou E = 1022 (double).
Assim, o menor valor possvel em modulo para float corresponde a
s = 0, e = 0 e f = 00000000000000000000001,
ou seja,
1
2126 1, 4013 1045 ,
223
um pouco menor do que o menor valor possvel 1 2126 = 1, 1755 1038 para um float normalizado,
correspondente a
s = 0, e = 1 e f = 00000000000000000000000.
O menor valor possvel em modulo para double corresponde a
s = 0, e = 0 e f = 0000000000000000000000000000000000000000000000000001,
ou seja,
1
21022 4, 9407 10324
252
um pouco menor do que o menor valor possvel 1 21022 2, 2251 10308 para um double normalizado,
correspondente a
s = 0, e = 1 e f = 0000000000000000000000000000000000000000000000000000.
A existencia dos n
umeros denormalizados permitem uma convergencia para zero menos abrupta. Quando
os valores computados vao se tornando menores e menores, atingindo o menor valor possvel para um float
ou double normalizado, ao inves de carem abruptamente para zero na proxima iteracao, eles sao convertidos
em numeros denormalizados.
No entanto, o espa
j coj+1
entre
n umeros representados no intervalo [1, 2] e igual a 252 2.22 1016 ; em
geral, no intervalo 2 , 2 o espaco e 2j 252 , de modo que o espaco relativo nunca excede 252 .
Matrizes Esparsas
Matrizes esparsas sao matrizes onde a imensa maioria das entradas sao nulas. Esta e uma definicao
vaga. Nao existe um limite inferior para o numero de zeros em uma matriz, em relacao ao tamanho desta,
a partir do qual podemos declarar uma matriz com sendo esparsa. Isto e, nao existe um limite preciso a
partir do qual uma matriz deixa de ser esparsa e se torna uma matriz densa (isto e, uma matriz em que
o n umero de zeros e irrelevante). Em geral, matrizes esparsas sao definidas operacionalmente, no sentido
de que uma matriz pode ser chamada esparsa, sempre que tecnicas especiais podem ser usadas para tirar
vantagem do grande n umero de zeros e sua localizacao. Equacoes diferenciais parciais sao a maior fonte de
problemas de algebra linear numerica envolvendo matrizes esparsas. Engenheiros eletricos lidando com redes
eletricas 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 umero enorme de variaveis,
metodos de solucao direta que tiram vantagem da existencia de um n umero muito grande de zeros tiveram
que ser desenvolvidos.
x0 = 0, x1 = h, x2 = 2h, . . . , xn1 = (n 1) h, xn = nh = 1,
ui = u(xi ),
fi = f (xi ) .
onde
1
h= ,
n
produzindo a malha (ou gride) uniforme
d = (x, y) : x = ix, y = jy, 0 6 i, j 6 n .
A equacao 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 diferenca centrada, obtendo
ui1,j + 2ui,j ui+1,j
uxx ,
x2
ui,j1 + 2ui,j ui,j+1
uyy .
y 2
Portanto, a equacao de Poisson discretizada toma a forma
ui1,j ui,j1 + 4ui,j ui+1,j ui,j+1
= fi,j . (1.4)
h2
Como a funcao u e calculada em cinco pontos, esta discretizacao em diferencas finitas para a equacao de
Poisson e chamada a formula dos cinco pontos.
2
Para cada ponto interior da malha obtemos uma equacao, logo temos um sistema linear de (n 1)
equacoes com o mesmo numero de incognitas. Diferente do caso unidimensional, no entanto, nao existe uma
maneira natural de ordenar os pontos da malha, logo nao podemos obter imediatamente uma representacao
matricial para o problema discretizado. Precisamos antes escolher uma ordenacao para os pontos da malha,
e como existem varias ordenacoes possveis, existem varias matrizes associadas.
Talvez a mais simples ordenacao e a ordem lexicogr
afica. Nesta ordem, os pontos da malha sao 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 e vizinho `a esquerda ou `a direita do ponto i, ou se o ponto j e 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
1.3 Implementac
ao Computacional de Matrizes Esparsas
Para tirar vantagem do grande n umero de elementos nulos, esquemas especiais sao necessarios para armazenar
matrizes esparsas na memoria do computador. O principal objetivo e representar apenas os elementos nao-
nulos.
O esquema mais simples de armazenamento e o chamado formato de coordenadas. A estrutura de dados
consiste de tres vetores (arrays): um vetor real contendo os valores e dois vetores inteiros, um deles contendo
os ndices das linhas, enquanto que o outro contem os ndices das colunas.
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 umero de elementos nao-nulos da matriz. Observe que os
elementos sao listados em ordem arbitraria.
Provavelmente, o formato mais popular para armazenar matrizes esparsas gerais e o formato compressed
row storage (CRS). Neste esquema, as linhas da matriz sao armazenadas uma a uma em um vetor real, da
primeira ate a u
ltima, preservando a ordem. Um segundo vetor inteiro contendo os ndices das colunas e
usado. Um terceiro vetor inteiro contem a posicao no vetor de valores reais ou no vetor de ndices de coluna
onde cada linha comeca, mais um elemento para indicar a primeira posicao 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 e igual ao n umero de elementos nao-nulos da
matriz., o comprimento do terceiro vetor e igual ao n
umero de linhas da matriz mais um. Dentro
de cada linha os elementos ainda podem ser armazenados em ordem arbitraria, o que pode ser muito
conveniente.
C/C++ ou Java):
Um esquema correspondente, armazenando colunas ao inves de linhas e o compressed column storage (CCS),
usado no Octave.
Os esquemas considerados acima sao chamados est aticos. Esquemas din amicos, envolvendo listas en-
cadeadas, em geral economizam ainda mais memoria e tem acesso ainda mais rapido `a memoria. Cada linha
da matriz pode ser representada por uma lista encadeada. A matriz toda e representada por uma lista de
listas encadeadas, seguindo a ordem de linhas da matriz. Desta forma, o incio de cada linha nao precisa ser
representado. O ndice da coluna de cada elemento da linha ainda precisa ser representado, e claro, e isso
pode ser feito atraves de um ponteiro especfico.
Outras esquemas podem ser utilizados, tirando vantagem da estrutura da matriz esparsa. Por exem-
plo, em matrizes diagonais as diagonais nao-nulas podem ser armazenadas separadamente. Em matrizes
simetricas, e necessario 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 operacoes com
a matriz.
Captulo 2
Neste captulo desenvolveremos metodos gerais e faceis de aplicar para determinar a invertibilidade de ma-
trizes esparsas, principalmente aquelas que surgem atraves da discretizacao de equacoes diferenciais parciais
atraves de diferencas finitas. Em particular, isso implicara a existencia e unicidade de solucoes para sistemas
lineares envolvendo tais matrizes. Uma vez que isso esteja estabelecido, poderemos nos dedicar nos proximos
captulos a estudar metodos iterativos para encontrar estas solucoes.
2.1 Defini c
ao. Seja V um espaco vetorial real ou complexo. Uma norma vetorial em V e uma funcao
|| : V R que satisfaz as seguintes propriedades:
Denotaremos por Mn (R) o espaco vetorial das matrizes complexas n n e por Mn (C) o espaco vetorial
das matrizes complexas n n. Quando estivermos nos referindo a qualquer um destes espacos (ou seja,
quando a afirmacao que fizermos valer para qualquer um deles), usaremos a notacao Mn simplesmente.
2.2 Definic
ao. Uma norma matricial no espaco vetorial Mn e uma norma vetorial kk : Mn R que
satisfaz a propriedade submultiplicativa
A seguir, veremos alguns exemplos das normas matriciais mais importantes em Mn . A verificacao de que
as normas apresentadas constituem normas vetoriais e deixada como exerccio (Exerccio 2.1).
13
Rodney Josue 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 tambem e 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
aximo modificada):
A norma l (norma do maximo)
kAk = max |aij |
16i,j6n
e uma norma vetorial em Mn mas nao e uma norma matricial: por exemplo, se
1 1
A= ,
1 1
entao
2 2
A2 =
2 2
e portanto 2
A = 2 > 1 = kAk kAk .
No entanto, um m
ultiplo escalar desta norma vetorial e 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 Josue Biezuner 15
Aqui vemos A como um operador linear em Rn ou Cn , portanto contnuo, de modo que o maximo de
A e atingido na esfera e na bola fechada. Para ver que a primeira e a terceira definicoes coincidem (de
modo que o sup na terceira definicao e de fato um maximo), use o fato que
|Ax| x
= A .
|x| |x|
Agora observe que
max |Ax| 6 max |Ax| ,
|x|=1 |x|61
ja que a bola fechada contem a esfera. Por outro lado, se |x| = < 1, segue que
A x = |Ax| = |Ax| > |Ax| ,
|x| |x|
de modo que o maximo de |Ax| nao e atingido no interior da bola, logo
e portanto a primeira e a segunda definicoes coincidem. Finalmente, para ver que a norma do operador
e 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 u
til
Esta norma e 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 e 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 e 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 proprio espaco vetorial Mn , vamos denota-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) e
tambem chamada a norma espectral e satisfaz
p np o
|||A|||2 = max = max || : e um autovalor de A A .
Rodney Josue Biezuner 17
De fato, A A e uma matriz hermitiana logo todos os seus autovalores sao nao-negativos. Pela carac-
terizacao 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 e diferente da norma matricial l2 (Exerccio 2.3). Note tambem que se A e
uma matriz hermitiana, entao A A = A2 e |||A|||2 e portanto o modulo do maior autovalor de A, isto
e, a norma espectral de A e 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 invertvel:
Se kk e uma norma matricial qualquer e se S e uma matriz invertvel, entao
kAkS = S 1 AS (2.10)
Lembramos que todas as normas em um espaco vetorial de dimensao finita sao equivalentes, e isso vale em
particular para normas matriciais:
2.12 Teorema. Seja V um espaco vetorial real ou complexo de dimens ao finita. Ent
ao todas as normas
vetoriais em V sao equivalentes, isto e, se kk1 e kk2 s
ao duas normas vetoriais quaisquer em V ,
ent
ao existem constantes C1 , C2 > 0 tais que
kxk1 6 C1 kxk2
e
kxk2 6 C2 kxk1
para todo x V .
Prova: Para mostrar a equivalencia entre todas as normas de um espaco vetorial, por transitividade basta
fixar uma norma kk1 e mostrar que qualquer norma arbitraria kk2 e equivalente a kk1 . 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 kk tal que kI Ak < 1, ent
ao A e invertvel.
Prova. De fato, sob esta condicao, afirmamos que a inversa e dada explicitamente pela serie
X k
A1 = (I A) . (2.11)
k=0
2.16 Proposi
cao. Se A e uma matriz estritamente diagonalmente dominante, ent
ao A e invertvel.
Prova. Denote por D a matriz diagonal cujas entradas diagonais sao as entradas diagonais de A. Uma
matriz estritamente diagonalmente dominante possui, por definicao, entradas diagonais nao-nulas, logo D e
uma matriz invertvel. A matriz D1 A tem apenas 1s na diagonal principal e se mostramos que D1 A e
invertvel, isto implicara que A e invertvel. Para provar isso, considere a matriz I D1 A. Temos
1
0 se i = j,
I D A ij =
aij /aii se i 6= j.
Usemos a norma do maximo 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 D1 A < 1 e o resultado segue do Lema 2.14.
` vezes, exigir dominancia diagonal estrita em todas as linhas e pedir demais. Para certas matrizes,
As
dominancia diagonal junto com dominancia diagonal estrita em apenas uma linha e suficiente para garantir
a sua invertibilidade. As matrizes de discretizacao obtidas no captulo anterior satisfazem esta condicao
(nas linhas correspondentes `a pontos adjacentes `a fronteira), e nenhuma delas e estritamente diagonalmente
dominante. Por outro lado, vale a pena ressaltar que esta condicao nao e 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 Josue Biezuner 20
denota a soma dos valores absolutos dos elementos da linha i de A excetuando o elemento da diagonal
principal, ent
ao todos os autovalores de A est
ao contidos na uni
ao dos n discos de Gershgorin
n
[
G (A) = DRi (A) (aii ) . (2.13)
i=1
Prova. Seja um autovalor de A e x = (x1 , . . . , xn ) 6= 0 um autovetor associado. Seja k um ndice tal que
isto e, xk e a coordenada de x de maior valor absoluto. Denotando por (Ax)k a k-esima coordenada do vetor
Ax = x, temos
Xn
xk = (Ax)k = akj xj
j=1
que e 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 nao sabemos qual k e apropriado para
cada autovalor , e um mesmo k pode servir para varios autovalores , tudo o que podemos afirmar e que
os autovalores estao na uniao dos discos).
Para provar a segunda afirmacao, 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 Josue Biezuner 21
logo,
Gk (At ) Gk (A)
e
Gk (A) [G (At ) \Gk (At )] =
para 0 6 t 6 1. Porque os autovalores sao funcoes contnuas das entradas de uma matriz, o caminho
i (t) = i (At )
e um caminho contnuo 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), conclumos 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, nao
pode haver mais que k autovalores de A em Gk (A), pois os n k autovalores restantes de A0 = D comecam
fora do conjunto Gk (A) e seguem caminhos contnuos que permanecem fora de Gk (A).
A uniao G (A) dos discos de Gershgorin e conhecida como a regi ao de Gershgorin. Observe que enquanto
nao podemos em geral afirmar com certeza que cada disco de Gershgorin possui um autovalor, a segunda
afirmacao do teorema permite-nos fazer tal conclusao desde que os discos de Gershgorin sejam dois a dois
disjuntos.
O Teorema dos Discos de Gershgorin permite entender o resultado da Proposicao 2.16: se uma matriz A e
estritamente diagonalmente dominante, entao os discos de Gershgorin DRi (A) (aii ) nao interceptam a origem,
logo 0 nao pode ser um autovalor para a matriz A, o que implica que A e invertvel. Alem disso, se todos
os elementos da diagonal principal de A sao reais e positivos, entao os autovalores de A estao localizados no
semiplano direito de C, de modo que se A e tambem simetrica, conclumos que todos os autovalores de A
sao positivos.
A aplicacao mais obvia do Teorema dos Discos de Gershgorin e 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 estao
localizados na intersecao destas duas regioes: G (A) G (At ). Isso implica a seguinte estimativa simples para
o raio espectral de uma matriz complexa:
2.18 Corol
ario. Se A Mn (C), ent
ao
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-esimo disco de Gershgorin que e mais distante da origem tem modulo
n
X
|aii | + Ri (A) = |aij |
j=1
2.19 Corol
ario. Se A Mn (C) e p1 , . . . , pn > 0, entao todos os autovalores de A est ao contidos em
1 t 1
[ n
1 X
n
G D AD G DA D = z C : |z aii | 6 pj |aij | (2.14)
pi j=1
i=1
j6=i
[n Xn
1
z C : |z aii | 6 pj |aij | .
p
i=1 i=1 i
i6=j
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 garantirao a sua invertibil-
idade, uma observacao fundamental e a de que se A e uma matriz diagonalmente dominante, ent
ao 0 n
ao
pode ser um ponto interior de nenhum disco de Gershgorin. De fato, se e um autovalor de A interior a
algum disco de Gershgorin entao devemos ter desigualdade estrita
n
X
| aii | < Ri (A) = |aij |
j=1
j6=i
Tais pontos na regiao de Gershgorin G (A) (nao necessariamente autovalores de A) constituem precisa-
mente a fronteira G (A) da regiao de Gershgorin. Chamaremos a fronteira de um disco de Gershgorin
{z C : |z aii | = Ri (A)} um crculo de Gershgorin.
2.20 Lema. Seja A Mn (C) e um autovalor de A que n ao e um ponto interior de nenhum disco de
Gershgorin. Seja x = (x1 , . . . , xn ) 6= 0 um autovetor associado a e k um ndice tal que
ent
ao o i-esimo crculo de Gershgorin passa por . Se, alem disso,
aij 6= 0,
ent
ao
|xj | = |xk |
e o j-esimo crculo de Gershgorin tambem passa por .
| aii | 6 Ri (A) .
donde
n
X
|aij | (|xi | |xj |) = 0.
j=1
j6=i
Esta e uma soma de termos nao-negativos, pois |xi | > |xj |, logo se aij 6= 0 necessariamente devemos ter
|xj | = |xi | = |xk |.
Este lema tecnico tem as seguintes conseq
uencias u
teis:
2.21 Teorema. Seja A Mn (C) uma matriz cujas entradas s ao todas n ao-nulas e seja um autovalor
de A que n ao e um ponto interior de nenhum disco de Gershgorin. Ent ao todo crculo de Gershgorin
de A passa por (isto e, est a na interseca
o de todos os crculos de Gershgorin de A) e se x =
(x1 , . . . , xn ) 6= 0 e um autovetor associado a entao
2.22 Corolario. Se A Mn (C) e uma matriz cujas entradas s ao todas nao-nulas e diagonalmente domi-
P
n
nante tal que |aii | > |aij | para pelo menos alguma linha i, ent
ao A e invertvel.
j=1
j6=i
Rodney Josue Biezuner 24
Prova. Pois, como A e diagonalmente dominante, se 0 e um autovalor de A entao 0 nao pode ser um ponto
interior de nenhum disco de Gershgorin. Por outro lado, pelo teorema anterior, segue que todo crculo de
Gershgorin passa por 0. Entretanto, o i-esimo crculo de Gershgorin centrado em aii e com raio Ri < |aii |
nao pode passar por 0. Conclumos que 0 nao e um autovalor de A, logo A e invertvel.
As matrizes do Corolario 2.22 sao as antteses das matrizes esparsas que nos interessam. Usando com
maior cuidado a informacao dada pelo Lema 2.20 podemos obter resultados que se aplicam a matrizes
esparsas.
2.23 Definic
ao. Dizemos que uma matriz A = (aij ) Mn (C) satisfaz a propriedade FC se para todo par
de inteiros distintos i, j existe uma seq
uencia de inteiros distintos i1 = i, i2 , i3 , . . . , im1 , im = j, com
1 6 m 6 n, tais que todas as entradas matriciais
sao nao-nulas.
ja vista anteriormente, nao satisfaz a propriedade FC porque o par 2, 1 nao admite tal seq uencia (a u
nica
sequencia possvel e a23 , a31 ). Ja qualquer par de inteiros distintos i, j tal que aij 6= 0 admite a sequencia
trivial nao-nula aij , de modo que uma matriz cujas entradas nao-diagonais sao todas nao-nulas satisfaz a
propriedade FC. O significado da abreviatura FC, ou fortemente conexo, ficara 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
ao e um ponto interior de nenhum disco de Gershgorin. Ent ao todo crculo de Gershgorin de A passa
por (isto e, est
a na intersec
ao de todos os crculos de Gershgorin de A) e se x = (x1 , . . . , xn ) 6= 0
e um autovetor associado a ent ao
Em particular, segue novamente do Lema 2.20 que o j-esimo crculo de Gershgorin passa por . Como j e
arbitrario, isso prova o teorema.
2.25 Corol ario. Se A Mn (C) e uma matriz que satisfaz a propriedade FC e diagonalmente dominante
P
n
tal que |aii | > |aij | para pelo menos alguma linha i, ent
ao A e invertvel.
j=1
j6=i
Rodney Josue Biezuner 25
Prova. Segue do teorema anterior da mesma forma que o Corolario 2.22 segue do Teorema 2.21.
Vamos tentar entender melhor o significado da propriedade FC. Note que ela se refere apenas `a localizacao
dos elementos nao-nulos de A fora da diagonal principal os elementos da diagonal principal e os valores
especficos dos elementos fora da diagonal principal sao irrelevantes. Isso motiva as seguintes definic
oes:
2.26 Definic
ao. Dada uma matriz A = (aij ) Mn (C) definimos o m
odulo da matriz A como sendo a
matriz
|A| = (|aij |)
cujos elementos sao os modulos 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 uencia de entradas nao-nulas da matriz A que aparece na definicao da propriedade
FC pode ser visualizado em termos de caminhos em um grafo associado a A:
2.27 Defini
cao. Dada uma matriz A Mn (C), o grafo direcionado de A e 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 e uma seq uencia de arcos Pi1 Pi2 , Pi2 Pi3 , . . . em . O
comprimento de um caminho direcionado e o n umero de arcos sucessivos no caminho direcionado. Um
ciclo e um caminho direcionado que comeca e termina no mesmo no.
Dizemos que um grafo direcionado e fortemente conexo se entre qualquer par de nodos distintos
Pi , Pj existir um caminho direcionado de comprimento finito que comeca em Pi e termina em Pj .
Observe que quando e um grafo direcionado com n nodos, se existe um caminho direcionado entre dois
nodos de , entao sempre existe um caminho direcionado entre estes dois nodos de comprimento menor que
ou igual a n 1 (Exerccio 2.7).
Agora estamos em condicoes de verificar a invertibilidade das matrizes esparsas oriundas da discretizacao
de EDPs atraves de diferencas finitas:
Prova. E facil ver que as matrizes de discretizacao obtidas no captulo anterior para o intervalo e para
o quadrado sao matrizes diagonalmente dominantes com dominancia diagonal estrita nas linhas correspon-
dentes a pontos interiores adjacentes `a fronteira. Alem 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 sao pontos
vizinhos naqueles esquemas. Entao, dados dois pontos distintos Pi , Pj e facil encontrar uma seq uencia de
ndices i1 = i, i2 , i3 , . . . , im1 , im = j, com 1 6 m 6 n, tais que todas as entradas matriciais
sao nao-nulas: no caso unidimensional, basta percorrer a malha diretamente de Pi ate Pj (andando a partir
de Pi sempre para a direita ou sempre para a esquerda, conforme o caso, ate encontrar Pj ), e no caso
bidimensional basta usar qualquer caminho interior de Pi ate Pj (pode-se usar a ordem lexicografica para
percorrer a malha, ou a ordem lexicografica inversa, dependendo das posicoes relativas de Pi e Pj ; no entanto,
estes caminhos sao mais longos que o necessario). Em outras palavras, identificando as malhas de pontos
internos com os grafos direcionados da matriz de discretizacao, de modo que existe um arco direcionado entre
Rodney Josue Biezuner 26
dois pontos da malha se e somente se eles sao vizinhos, os esquemas de discretizacao considerados garantem
que estes grafos sao fortemente conexos.
Verificar a propriedade FC a partir do grafo direcionado de A pode ser impraticavel se o tamanho da
matriz for muito grande ou se a matriz nao tiver origem na discretizacao de um problema de EDPs. Existe
um metodo computacional mais explcito para faze-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 inducao. Para m = 1 a afirmativa e 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 sao ambos nao-nulos para algum ndice k. Mas isso e
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 sao ambos nao-nulos para algum ndice k. Por hipotese de inducao, isso e
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 e, um caminho direcionado de comprimento
m + 1 em (A) de Pi para Pj . O mesmo argumento vale para M (A).
2.31 Defini
cao. 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
ario. 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
2.33 Corol
ario. Seja A Mn (C). A satisfaz a propriedade FC se e somente se
n1
(I + |A|) >0
Prova. Temos
n1 n1 2 n1 n1 n1
(I + |A|) = I + (n 1) |A| + |A| + . . . + |A| + |A| >0
2 n3
2 n1
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 n1. Isto e 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 discretizacao; veja a u ltima
secao do captulo) torna clara se elas sao matrizes que satisfazem a propriedade FC ou nao. Se isso
nao e possvel, e pretende-se verificar a propriedade FC atraves do Corolario 2.33, e prefervel calcular
n1
[I + M (A)] , ja que M (A) e uma matriz composta apenas de 0s e 1s.
Da definicao vemos que se |A| > 0, entao A e irredutvel, e para que A seja redutvel, ela precisa ter pelo
menos n 1 zeros (caso m = 1). A motivacao para este nome e a seguinte. Suponha que queiramos resolver
o sistema Ax = b e que A seja redutvel. Entao, se escrevermos
t B C
A = P AP = ,
0 D
n1
Prova. Para provar o resultado, mostraremos que A e redutvel se e somente se (I + |A|) possui pelo
menos uma entrada nula.
Assuma primeiramente que A e redutvel, de modo que para alguma matriz de permutacao P tenhamos
B C
A=P P t =: P AP t .
0 D
Observe que
|A| = P AP t = P A P t ,
ja que o efeito de P e apenas trocar linhas e colunas. Alem disso, note que
k
k B Ck
A =
0 Dk
e todos os termos dentro dos colchetes sao matrizes que tem um bloco (n m) m nulo no canto esquerdo
n1
inferior, segue que (I + |A|) e redutvel, logo possui entradas nulas e nao pode ser positiva.
n1
Reciprocamente, suponha que (I + |A|) possui pelo menos uma entrada nula. Como
n1
X
n1 n1 m
(I + |A|) =I+ |A| ,
m=1
m
n1
(I
h + |A|) n
iao possui entradas diagonais nulas, logo podemos assumir que para algum par i 6= j temos
n1 m
(I + |A|) = 0, o que implica [|A| ]ij = 0 para todo 1 6 m 6 n 1. Pelo Teorema 2.30 (e observacao
ij
imediatamente posterior `a definicao de grafo direcionado), nao existe um caminho direcionado em (A) de
comprimento finito entre Pi e Pj . Defina os conjuntos de nodos
Por definicao destes conjuntos, nao 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 sao nao-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 e justamente a matriz de permutacao que troca as colunas de tal forma que as variaveis anteriores
correspondentes aos nodos Pe1 , . . . , Pem no sistema Ax = b sao as novas m primeiras variaveis do sistema linear
Ax = b; como nao 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
ario. Uma matriz A Mn (C) e irredutvel se e somente se ela satisfaz a propriedade FC.
P
n
2.37 Proposi
cao. Se A e uma matriz irredutvel, diagonalmente dominante tal que |aii | > |aij | para
j=1
j6=i
pelo menos alguma linha i, ent
ao A e invertvel.
Alem disso, se A e hermitiana e todos os elementos da diagonal principal de A s
ao positivos, ent
ao
todos os autovalores de A sao positivos.
Prova. O resultado segue do Teorema 2.34, do Corolario 2.25 e do Teorema dos Discos de Gershgorin (veja
comentarios apos o Teorema 2.18).
2.6 Exerccios
2.1 Mostre que as normas matriciais introduzidas na primeira secao deste captulo (Exemplos 2.3 ate 2.11)
sao de fato normas vetoriais.
Rodney Josue Biezuner 30
M
etodos Iterativos Lineares
Neste captulo investigaremos os metodos iterativos basicos para a resolucao de sistemas lineares
Ax = b.
Embora a matriz A que temos em mente e em geral uma matriz grande e esparsa, do tipo que aparece em
esquemas de diferencas finitas para equacoes diferenciais parciais, os metodos considerados aqui requerem
em princpio apenas que A seja uma matriz invertvel com todas as entradas diagonais aii nao-nulas (embora
a matriz A deva satisfazer criterios adicionais, de acordo com cada metodo, para assegurar a convergencia
para a solucao exata).
Metodos iterativos requerem um chute inicial x0 , ou seja, um vetor inicial que aproxima a solucao exata
x (se nao ha nenhuma informacao disponvel sobre a solucao exata, de modo que nao temos como construir
o chute inicial de forma inteligente, x0 pode ser uma aproximacao muito ruim de x). Uma vez que x0 e
dado, o metodo iterativo gera a partir de x0 uma nova aproximacao x1 , que esperamos deve aproximar
melhor a solucao exata. Em seguida, x1 e usada paragerar 2
uma nova melhor aproximacao x e assim por
diante. Desta forma, gera-se uma seq uencia de vetores xk que espera-se convergir para x. Como na pratica
nao podemos iterar para sempre, algum criterio de parada deve ser estabelecido a priori. Uma vez que xk
esteja suficientemente proximo da solucao exata quanto se precise, de acordo com uma margem de tolerancia
previamente fixada, para-se o processo de iteracao e aceita-se xk como a solucao aproximada adequada para
o problema. Por exemplo, o criterio de parada pode ser estabelecido atraves de uma cota de toler ancia :
quando
b Axk <
ou quando k+1
x xk <
as iteracoes sao interrompidas e o u
ltimo valor aproximado obtido e aceito como a melhor aproximacao da
solucao dentro das circunstancias.
Os metodos discutidos neste captulo nao necessitam de um bom chute inicial (embora, e claro, quanto
melhor o chute inicial, menor o n umero de iteracoes necessarias para se chegar `a solucao aproximada com
a exatidao especificada). Embora os metodos iterativos lineares sao muitos lentos em relacao a outros
metodos iterativos desenvolvidos mais recentemente, sendo portanto raramente utilizados isoladamente, eles
sao frequentemente usados hoje em dia como componentes de certos metodos iterativos ultra-rapidos, tais
como o metodo multigrid.
31
Rodney Josue Biezuner 32
3.1 M
etodo Iterativos B
asicos
3.1.1 M
etodo de Jacobi
O metodo iterativo linear mais simples (que ja foi descrito tambem como o mais lento para convergir, embora
isso realmente depende da matriz A do sistema) e o m etodo de Jacobi (1845) Escrevendo o sistema Ax = b
na forma n
P
a1j xj = b1
j=1
.. ,
.
Pn
anj xj = bn
j=1
se aii 6= 0 para todo i, cada xi pode ser isolado na i-esima equacao e escrito na forma
Xn
1 bi
xi = aij xj
.
aii j=1
j6=i
Isso sugere definir um metodo 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 formula de cinco pontos para o problema de Poisson, como a equacao para cada ponto (i, j)
e dada por
ui,j1 ui,j+1 + 4ui,j ui1,j ui+1,j = h2 fi,j
o metodo de Jacobi e
1 k
uk+1
i,j = ui,j1 + uki1,j + uki+1,j + uki,j+1 + h2 fi,j . (3.2)
4
No caso especial da equacao de Laplace (f = 0) com condicao de fronteira de Dirichlet nao-nula, o metodo
de Jacobi e simplesmente a propriedade do valor medio discreta
1 k
uk+1
i,j = ui,j1 + uki1,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 iteracao anterior, o novo
valor de u em um ponto interior da malha nesta iteracao e calculado atraves da media dos seus quatro
pontos vizinhos. Os valores iniciais de u nos pontos interiores da malha para a primeira iteracao (isto e, o
chute inicial) podem ser atribuidos arbitrariamente ou atraves de algum argumento razoavel; por exemplo,
podemos utilizar uma media ponderada dos valores de fronteira para o valor inicial em cada ponto interior
da malha, de acordo com a posicao do ponto em relacao 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 sao as entradas diagonais de A, temos que
xk+1 = D1 (D A) xk + b (3.4)
ou
xk+1 = D1 Cxk + b (3.5)
onde C = D A e a matriz consistindo dos elementos restantes de A fora da diagonal principal.
Rodney Josue Biezuner 33
3.1.2 M
etodo de Gauss-Seidel
Um metodo iterativo que converge cerca de duas vezes mais rapido que o metodo de Jacobi (na maioria
das aplicacoes) e o m
etodo de Gauss-Seidel (desenvolvido inicialmente por Gauss em 1819 para resolver
sistemas de equacoes lineares que apareciam no seu metodo de quadrados mnimos e obtendo sua forma final
em 1874 por Seidel), onde os valores de x sao atualizados dentro de cada iteracao, sem esperar pela proxima.
Em outras palavras, obtido o valor de xk+1 i este e usado no lugar de xki no calculo seguinte de xk+1
i+1 . No
sistema Ax = b em que aii 6= 0 para todo i, como antes isolamos cada xi na i-esima equacao mas desta vez
escrevemos
i1
X Xn
1
xi = bi aij xj aij xj .
aii j=1 j=i+1
Entao definimos
i1
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 metodo de Jacobi converge e o metodo de Gauss-Seidel
diverge, e vice-versa. Veja o Exerccio 3.1.
3.1.3 M
etodo SOR
O processo de corrigir uma equac ao atraves da modificac
ao de uma variavel e `
as vezes chamado de relax-
amento. Antes da correc ao, a equac
ao n
ao e verdadeira; como um conjunto de partes que n ao se ajustam,
ela est
a em estado de tensao. A correc
ao de uma variavel relaxa a tens
ao. O metodo de Gauss-Seidel efetua
relaxamento sucessivo, ou seja, passa de equacao para equac
ao, relaxando uma depois da outra. [Watkins]
Por este motivo, os metodos de Jacobi e de Gauss-Seidel sao tambem chamados metodos de relaxamento.
Em muitos casos, a convergencia pode ser substancialmente acelerada atraves de sobrerelaxamento. Isso
Rodney Josue Biezuner 34
significa que ao inves de fazer uma correcao para a qual a equacao e satisfeita exatamente, nos fazemos
uma correcao 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 direcao de xk para xk+1 e bom, mover naquela direcao
> 1 passos e melhor). Este e o chamado m etodo de sobrerelaxamento sucessivo (SOR, successive
overrelaxation; desenvolvido em 1950 por Young): usando o metodo de Gauss-Seidel obtemos
i1
X Xn
1 bi
bk+1
xi = aij xk+1
j aij xkj ;
aii j=1 j=i+1
da tomamos k+1
xk+1
i = xki + x
bi xki .
Isso pode ser resumido em
i1
X Xn
1
xk+1
i = xki + bi aij xk+1
j aij xkj xki . (3.11)
aii j=1 j=i+1
temos
Dxk+1 = Dxk + Lxk+1 + (U D) xk + b (3.14)
ou
1 k+1 1
DL x = D + U xk + b,
donde 1
k+1 1 1 k
x = DL D+U x +b . (3.15)
3.1.4 Compara
cao da Velocidade de Converg
encia dos Tr
es M
etodos no Prob-
lema Modelo
A tabela a seguir foi extrada de [Watkins], pags. 533 e 542. Os metodos introduzidos acima foram usados
para resolver o sistema linear Ax = b onde A e a matriz de discretizacao obtida a partir da formula dos
Rodney Josue Biezuner 35
2
cinco pontos do laplaciano no quadrado unitario = (0, 1) e b e estabelecido pela condicao 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 numero de iteracoes necessarias para convergir de acordo com esta margem de tolerancia, para tres refina-
mentos possveis da malha (correspondentes a matrizes de dimensoes n = 81, 361 e 1521, respectivamente),
de acordo com cada metodo e para diferentes valores de no caso do metodo SOR e apresentado na tabela
abaixo.
3.1.5 M
etodo de Jacobi Amortecido
O metodo de Gauss-Seidel pode ser sobrerelaxado atraves de um parametro > 1 para obter um metodo
que converge mais rapido. Ja o metodo de Jacobi nao pode em geral ser sobrerelaxado, porque o metodo
obtido nao converge. Ele pode no entanto ser subrelaxado atraves de um parametro < 1 para obter um
metodo convergente, se bem que mais vagaroso. A vantagem de se utilizar um tal metodo e que para certos
valores de ele e um otimo suavizador de erro (em um sentido que sera explicado mais tarde), enquanto
que o metodo de Jacobi usual nao possui esta propriedade. Assim, o metodo de Jacobi amortecido pode ser
usado em metodos multigrid, como veremos mais tarde.
Pelo metodo de Jacobi usual obtemos
Xn
1 bi
bk+1
x i = aij xkj
,
aii j=1
j6=i
Rodney Josue Biezuner 36
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 metodo e conhecido como m etodo de Jacobi amortecido, metodo de Jacobi ponderado ou ainda
metodo de relaxamento simultaneo (diferente do metodo de relaxamento sucessivo, baseado no metodo de
Gauss-Seidel, em que cada variavel e substituda sucessivamente dentro da mesma iteracao `a medida que
ela e atualizada; no metodo de Jacobi, as variaveis sao todas substitudas simultameamente na proxima
iteracao).
Em forma matricial, o metodo 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 DA x +b . (3.18)
Em contraste com o metodo SOR, que converge em geral para 0 < < 2, o metodo de Jacobi amortecido
converge para 0 < 6 1 (veja a proxima secao).
3.2 An
alise de Converg
encia dos M
etodos Iterativos Lineares
Os metodos iterativos basicos sao casos especiais de uma classe geral de metodos chamados metodos iterativos
lineares:
3.2 Defini
cao. Um m
etodo iterativo linear para resolver o sistema Ax = b e um metodo da forma
xk+1 = Rxk + N b
Ax = b
A = B C, (3.19)
onde B e necessariamente uma matriz invertvel, e em seguida a resolucao iterativa do sistema de equacoes
R = B 1 C = B 1 (B A) = I B 1 A (3.21)
e
N = B 1 . (3.22)
Se xk x, entao Bx = Cx + b, donde Ax = b. Do ponto de vista pratico, e importante que a matriz B
seja facil de resolver (mesmo que a inversa de B nao seja efetivamente calculada), como nos exemplos da
secao anterior:
B C R
Jacobi D DA D1 (D A)
1
1 1 1 1
Jacobi amortecido D DA D DA
1
Gauss-Seidel DL U (D L) U
1
1 1 1 1
SOR DL D+U DL D+U
Para obter uma convergencia rapida tambem gostaramos que B A e C 0. Deste ponto de vista, o ideal
seria B = A e C = 0 (convergencia em uma iteracao), mas isso viola em geral o criterio que B seja facil
de resolver. Um compromisso e necessario: B deve aproximar A o melhor possvel sem se tornar muito
complicada.
3.2.1 Converg
encia dos M
etodos Iterativos Lineares
3.3 Defini
cao. Para metodos iterativos em geral, o erro alg
ebrico e definido por
ek = x xk , (3.23)
rk = b Axk . (3.24)
O erro algebrico tem interesse puramente teorico (para provar que determinado metodo iterativo converge,
precisamos mostrar que o erro algebrico tende a zero), ja que ele so pode ser calculado uma vez que se
conhece a solucao exata, e se este for o caso obviamente nao ha necessidade de resolver o sistema. Ja o erro
residual pode ser usado como criterio de parada para o metodo iterativo. O erro algebrico e o erro residual
estao relacionados atraves da expressao:
Aek = rk , (3.25)
pois Aek = Ax Axk = b Axk = rk .
Para os metodos 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 Josue Biezuner 38
ou
ek+1 = Rek . (3.26)
Por este motivo, a matriz de iteracao tambem e chamada de matriz de propagac
ao 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 kk tal que kRk < 1. Obter uma norma matricial
que satisfaz esta propriedade, no entanto, e difcil. Vamos obter uma condicao necessaria e suficiente para
Rk 0 em termos do raio espectral da matriz de iteracao, que e em geral um pouco mais facil de calcular.
Antes, para motivar o resultado, suponha que R seja uma matriz diagonalizavel com 1 , . . . , n os seus
autovalores e {v1 , . . . , vn } uma correspondente base de autovetores. Escrevendo o erro inicial como uma
combinacao 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, conclumos que ek 0 qualquer que seja o erro inicial (isto e,
qualquer que seja o chute inicial), se e somente se
(A) 6 kAk .
Ax = x.
Considere a matriz X Mn (C) cujas colunas sao todas iguais ao vetor x. Temos tambem
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.
Prova. Toda matriz complexa A e triangularizavel atraves de uma matriz unitaria U isto e, isto e, 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 t1 a22 t2 ... ... a1n tn+1
2 a23 t1 ... ... a2n tn+2
3 ... ... a3n tn+3
Dt T Dt1 = .. .. .
. .
n1 an1,n t1
n
Logo, para t > 0 suficientemente grande, a matriz Dt T Dt1 tem a propriedade que a soma dos valores
absolutos de elementos fora da diagonal principal e menor que . Em particular, se kkL denota a norma do
maximo das somas das linhas, podemos garantir que
Dt T Dt1 6 (A) +
L
para t suficientemente grande. Portanto, fixado um tal t, se definirmos uma norma por
1
kAk := Dt U AU Dt1 L = U Dt1 AU Dt1 ,
L
teremos
kAk = Dt U AU Dt1 L = Dt T Dt1 L 6 (A) + .
Pelo lema anterior, (A) 6 kAk.
3.6 Lema. Seja A Mn (C). Se existe alguma norma matricial kk tal que kAk < 1, ent
ao
Ak 0.
3.7 Proposi
cao. Seja A Mn (C). Ent
ao
Ak 0
se e somente se
(A) < 1.
Prova. Se existe algum autovalor de A tal que || > 1 e x e um autovetor nao-nulo correspondente, entao
Ak x = k x
nao converge para 0. Reciprocamente, se (A) < 1, entao pelo Lema 3.5 existe uma norma matricial kk tal
que kAk < 1, logo Ak 0 pelo lema anterior.
Finalmente obtemos uma condicao necessaria e suficiente para um metodo iterativo linear convergir:
3.8 Corol
ario. Seja R a matriz de iterac
ao de um metodo iterativo linear. Ent
ao
ek 0
se e somente se
(R) < 1.
Em outras palavras, um metodo iterativo linear e convergente independentemente da escolha do chute
inicial se e somente se todos os autovalores da matriz de iterac
ao tem valor absoluto menor que 1.
Portanto, a analise da convergencia de um determinado metodo iterativo linear passa pela analise dos au-
tovalores de sua matriz de iteracao R. Como esta ultima depende da matriz de coeficientes A do sistema
linear, a convergencia ou nao de qualquer um dos metodos iterativos lineares vai depender da matriz A.
A = B1 C1 = B2 C2 ,
Em particular, a velocidade de convergencia relativa dos metodos iterativos lineares tambem vai depender
da matriz A: para certas matrizes um determinado metodo e superior ao outro, enquanto que para outras
matrizes o contrario e verdadeiro.
Vamos analisar a velocidade de convergencia dos metodos iterativos com maior precisao. Novamente `a
ttulo de motivacao, suponha que R e uma matriz diagonalizavel 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 Josue Biezuner 41
ek k1 a1 v1 .
Portanto, k+1
e
= |1 | = (R) . (3.29)
|ek |
Em outras palavras, a convergencia e linear com taxa de convergencia igual ao raio espectral. Se a1 =
0 a convergencia sera mais rapida, pois dependera do modulo do segundo autovalor, mas e obviamente
extremamente raro que o erro inicial satisfaca esta condicao, isto e, que ele nao tenha nenhuma componente
na direcao do primeiro autovetor. Para o caso geral, precisamos do seguinte resultado:
3.9 Proposi
cao. Seja A Mn (C) e kk uma norma matricial. Ent
ao
1/k
(A) = lim Ak .
Prova. Como os autovalores da matriz Ak sao as k-esimas potencias 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 Definicao. A taxa m edia de convergencia de um metodo iterativo linear com matriz de iteracao
R e definida como sendo
1/k 1
Rk (R) = log10 Rk = log10 Rk (3.30)
k
e a taxa assintotica de convergencia e dada por
A taxa assintotica de convergencia mede o aumento no n umero de casas decimais corretas na solucao por
iteracao. 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 10p ,
k+1
e = O 10q ,
teremos
q p R (R) ,
isto e, 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)
e o n
umero de iteracoes necessarias para diminuir o erro de um n
umero prescrito de casas decimais.
3.2.3 Converg
encia para Matrizes Sim
etricas Positivas Definidas
Para matrizes reais simetricas positivas definidas e mais facil provar a convergencia dos metodos iterativos
lineares. Temos o seguinte resultado basico a seguir. Antes precisamos da seguinte definicao:
3.12 Defini
cao. Introduzimos uma ordenacao parcial em Mn definindo
A6B
se
hAx, xi 6 hBx, xi
n
para todo x C .
Rodney Josue Biezuner 43
Em particular, se A e 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 e uma matriz simetrica positiva definida e P e uma matriz invertvel, entao B = P t AP
tambem e uma matriz simetrica 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 simetrica positiva definida e seja A = B C com B invertvel. Ent ao o
ao R = B 1 C converge se e somente se a matriz simetrica
metodo iterativo linear com matriz de iterac
B t + C e positiva definida.
e consideraremos a norma matricial kkA induzida por esta norma. Se provarmos que
kRkA < 1,
C t B t AB 1 C < A. (3.36)
Mas, pela Proposicao 2.36, isso implica que I 1 R e invertvel, uma contradicao.
O Teorema 3.14 mostra que o metodo de Jacobi converge para as matrizes de discretizacao obtidas atraves
dos esquemas de diferencas finitas do Captulo 1.
Atraves do Teorema 3.14, fomos capazes de provar a convergencia do metodo de Jacobi para as matrizes de
discretizacao sem calcular explicitamente os seus raios espectrais. Para analizar a velocidade de convergencia
do metodo de Jacobi, no entanto, e necessario obter os raios espectrais destas matrizes. Vamos fazer isso para
as matrizes de discretizacao obtidas a partir da formula de tres pontos unidimensional e a partir da formula
de cinco pontos bidimensional. Para isso, precisaremos obter os autovalores destas matrizes de discretizacao.
No caso da formula de tres pontos unidimensional, lembrando que as autofuncoes para o problema de
Dirichlet do laplaciano no intervalo [0, 1] sao as funcoes trigonometricas
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 Josue 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
onde na pen
ultima identidade usamos o fato que
(n 1) j j (n 1) j j
cos sen = sen cos
n n n n
porque
(n 1) j j (n 1) j j (n 1) j j
0 = sen j = sen + = sen cos + cos sen .
n n n n n n
No caso da formula de cinco pontos bidimensional, lembrando que as autofuncoes de Dirichlet do lapla-
ciano no quadrado unitario [0, 1] [0, 1] sao as funcoes
isso sugere que os autovetores ukl da matriz A na ordem lexicografica sao 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 Josue Biezuner 47
2
3.16 Lema. Os (n 1) autovalores da matriz de discretizac
ao A da f
ormula dos cinco pontos bidimensional
s
ao
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 ao
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 demonstracao deste lema possa ser feita de maneira analoga `a do lema anterior, usando
identidades trigonometricas, daremos uma demonstracao diferente. Lembrando que as autofuncoes e os
autovalores de Dirichlet do laplaciano no retangulo sao facilmente obtidos atraves do metodo de separacao
de variaveis, encontraremos os autovalores da matriz A usando um metodo de separac ao de vari
aveis discreto
para achar os autovalores do laplaciano discreto dado pela formula dos cinco pontos:
ui,j1 + ui1,j 4ui,j + ui+1,j + ui,j+1
= ui,j . (3.41)
h2
Em particular, este metodo nao depende da maneira como os pontos da malha sao ordenados (nao depende
da matriz A usada para representar o laplaciano discreto). Como no metodo de separacao de variaveis
contnuo, assumimos que as solucoes da equacao discreta acima sao produtos da forma
onde F e G sao funcoes de uma variavel inteira. Substituindo esta expressao na equacao 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 variaveis, conclumos que cada um dos quocientes acima e independente de i ou de j, isto e,
eles sao 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 Josue Biezuner 48
Estas equacoes podem ser escritas como formulas de recorrencia (analogas `as equacoes diferenciais ordinarias
obtidas no metodo de separacao de variaveis contnuo)
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.
F (i 1) 2F (i) + F (i + 1) = 0, (3.46)
G (j 1) 2G (j) + G (j + 1) = 0. (3.47)
Vamos resolver a equacao para F , ja que a equacao para G e identica. Substituindo em (3.46) uma solucao
da forma
F (i) = z i (3.48)
obtemos
z i1 2z i + z i+1 = 0,
donde, dividindo por z i1 extramos a equacao quadratica (analoga `a equacao indicial)
z 2 2z + 1 = 0. (3.49)
para algumas constantes c1 , c2 . Para determinarmos estas constantes e tambem , aplicamos as condicoes
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 equacao para F e homogenea, a constante c e arbitraria. Aplicando a segunda, segue que
n n
z+ = z ,
ou, como z+ z = 1,
2n
z+ =1
Conseq
uentemente, z+ e uma 2n-esima 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 solucoes nao-triviais F de (3.46).
Rodney Josue Biezuner 49
Portanto,
z+ + z eik/n + eik/n k
= = = cos , 0 6 k 6 n 1,
2 2 n
e, escolhendo c = 1/2,
ik
Fk (i) = eiki/n eiki/n = sen .
n
Analogamente,
l
= cos , 0 6 l 6 n 1,
n
e
jl
Gl (j) = sen .
n
Segue que os autovalores sao
2 k l
kl = 2 cos cos
h2 n n
e as coordenadas das autofuncoes associadas sao dadas por
ik jl
(ukl )i,j = Fk (i) Gl (j) = sen sen .
n m
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
iteracoes.
3.3.2 Converg
encia do M
etodo de Gauss-Seidel
P
n
3.18 Teorema. Se A e uma matriz irredutvel, diagonalmente dominante tal que |aii | > |aij | para pelo
j=1
j6=i
menos alguma linha i, ent
ao o metodo de Gauss-Seidel converge.
Prova. Sejam D a parte diagonal, L a parte triangular inferior estrita e U a parte triangular superior
1
estrita da matriz A, e seja R = (D L) U a matriz de iteracao do metodo de Gauss-Seidel para A.
Escrevemos 1
1
R = (D L) U = D I D1 L U
ou 1 1
R = I D1 L D U. (3.54)
Suponha por absurdo que exista um autovalor de R tal que || > 1; como na demonstracao do Teorema
3.9, temos h
1 1 i
det I 1 R = det I 1 I D1 L D U = 0.
porque I D1 L e uma matriz triangular inferior com apenas 1s na diagonal principal, escrevemos
h 1 1 i
0 = det I 1 I D1 L D U
h 1 1 i
= det I D1 L det I 1 I D1 L D U
n h 1 1 io
= det I D1 L I 1 I D1 L D U
1 1 1
= det I D L D U .
ou seja,
U u = (D L) u
(um problema de autovalor generalizado). No caso da matriz de discretizacao da formula de cinco pontos,
isso significa encontrar tal que
para transformar a equacao de autovalor naquela que aparece no metodo de Jacobi. Temos
i+j+1 i+j+1
i+j i+j1 i+j1
2 vi,j + 2 vi+1,j = 4 2 vi,j 2 vi,j1 2 vi1,j
i+j+2 i+j+1 i+j+1
= 4 2 vi,j 2 vi,j1 2 vi1,j ,
Rodney Josue Biezuner 52
i+j+1
de modo que, dividindo por 2 , obtemos
Portanto os autovalores da matriz de iteracao de Gauss-Seidel para esta matriz sao exatamente os quadrados
dos autovalores da matriz de iteracao de Jacobi (e os autovetores sao os mesmos):
2
1 k l
lk = cos + cos .
4 n n
Portanto, o maximo autovalor ocorre quando k = l = 1 e
(R) = cos2 .
n
O argumento para a formula de tres pontos e analogo.
Para o quadrado unitario temos
(R) = cos2 (h) ,
e usando
1 2
cos2 x = 1 x2 + O x4 = 1 x2 + O x4 ,
2
se h e pequeno podemos aproximar
cos2 (h) 1 2 h2 .
No metodo de Gauss-Seidel ainda temos (R) 1 quadraticamente quando h 0, mas a sua velocidade
de convergencia para a matriz de discretizacao de cinco pontos do quadrado unitario e duas vezes maior que
a do metodo de Jacobi. Para ver isso, faca a expansao 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)
3.3.3 Converg
encia do M
etodo SOR
3.20 Teorema. Se o metodo SOR converge, ent
ao
0 < < 2.
det R = 1 . . . n .
Rodney Josue Biezuner 53
Mas,
n 1 o
det R = det I D1 L (1 ) I + D1 U
1
= det I D1 L det (1 ) I + D1 U
n
= (1 ) ,
ja que I D1 L e uma matriz triangular inferior com apenas 1 na diagonal principal e (1 ) I + D1 U
e 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 metodo SOR converge, devemos ter tambem || < 1 para todo autovalor de R. Logo
|1 | < 1,
donde
0 < < 2.
3.21 Corol
ario. Se R e a matriz de iterac
ao n n para o metodo SOR, ent
ao
n
det R = (1 ) .
Em particular, diferente das matrizes de iteracao dos metodos de Jacobi e de Gauss-Seidel (para a matriz de
discretizacao de cinco pontos), zero nao e um autovalor para a matriz de iteracao do metodo SOR se 6= 1
(para nenhuma matriz).
P
n
3.22 Teorema. Se A e uma matriz irredutvel, diagonalmente dominante tal que |aii | > |aij | para pelo
j=1
j6=i
menos alguma linha i, ent
ao o metodo SOR converge se 0 < 6 1.
Prova. A demonstracao e analoga `a do Teorema 3.18. A matriz de iteracao do metodo SOR e
1
R = I D1 L (1 ) I + D1 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 D1 L (1 ) I + D1 U = 0.
D1 A = I D1 L D1 U
e irredutvel, diagonalmente dominante e estritamente dominante nas linhas onde A e, logo a matriz
S = 1 1 (1 ) I D1 L 1 D1 U
tambem satisfaz estas propriedades. De fato, S tem zeros nas mesmas posicoes que I D1 L D1 U , logo
a sua irredutibilidade nao e afetada. Alem disso, pela dominancia diagonal de D1 A, sabemos que se
bij = D1 L ij ,
cij = D1 U ij .
entao
i1
X n
X
1> |bij | + |cij | .
j=1 j=i+1
Para provar a dominancia diagonal de S, observamos que os valores que S possui na diagonal principal sao
1 +1
1 1 (1 ) = 1 = ,
de modo que precisamos provar que
i1 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 e equivalente a
| + 1| > || .
facil ver que esta desigualdade e valida quando R, pois
E
O resultado acima continua valendo com desigualdade estrita nas linhas onde a desigualdade e estrita. A
Proposicao 2.36 implica entao que S e invertvel, contradizendo det S = 0.
3.24 Teorema. Seja A uma matriz simetrica com entradas diagonais positivas. Ent
ao o metodo SOR
converge se e somente se A e positiva definida e 0 < < 2.
Isolando ,
(1 ) hx, xi + x, D1 U x
= . (3.61)
hx, xi hx, D1 Lxi
Como A e simetrica, o produto de matrizes simetricas D1 A = I D1 U D1 L tambem e; como
D1 U, D1 L sao respectivamente a parte estritamente triangular superior e estritamente triangular infe-
rior de uma matriz simetrica, temos
1 t
D U = D1 L.
Logo
D t E
x, D1 U x = D1 U x, x = D1 L x, x = hx, (D1 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 e nao-nulo. E, de fato, temos
1 !
1 1 x, D1 L x x, D U x 1 x, D1 L + D1 U x
Re z = (z + z) = + =
2 2 hx, xi hx, xi 2 hx, xi
!
1 x, I D1 A x 1 x, D1 A x
= = 1 .
2 hx, xi 2 hx, xi
Rodney Josue Biezuner 56
Prova. Argumentamos como na demonstracao do Teorema 3.13. Para obter o raio espectral da matriz de
iteracao RSOR , queremos encontrar os autovalores de RSOR :
1
RSOR u = I D1 L (1 ) I + D1 U u = u,
ou seja,
(1 ) I + D1 U u = I D1 L u
Rodney Josue Biezuner 57
No caso da matriz de discretizacao da formula de cinco pontos, isso significa encontrar tal que
(1 ) ui,j + ui,j+1 + ui+1,j = ui,j ui,j1 ui1,j
4 4 4 4
ou
1 1
ui,j = (ui,j+1 + ui+1,j + ui,j1 + ui1,j ) . (3.64)
4
Fazendo a substituicao
i+j
ui,j = 2 vi,j
i+j+1
e dividindo por 2 , segue que
1
vi1,j + vi+1,j + vi,j1 + vi,j+1 = 4vi,j
1/2
e da o resultado. p 2
Resolvendo a equacao (3.63) como uma equacao quadratica em , vemos que as duas razes =
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 metodo de Jacobi.
(RSOR, ) = ,J (3.67)
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
otimo = q . (3.68)
2
1 + 1 J
Note que 1 < otimo < 2. Mostraremos que otimo e de fato o melhor valor para o fator de relaxamento no
metodo SOR. Antes precisamos do seguinte resultado:
2
Prova. Temos 2 J 4 ( 1) > 0 para 0 < < 2 se e somente se 6 otimo . De fato, as razes de
2
f () = 2 J 4 + 4 sao q
2 q
4 4 1 J 2 2
= 2 = 2 1 1 J
2J J
de modo que a raiz positiva de f e 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
pois
2
2 4 2 4 2 2 4 2
J 2 = 2 J 4J + 4 > 2 J 4J + 4J > 2 J 4J ( 1)
q 2
2
2
= J J 4 ( 1) .
Rodney Josue Biezuner 59
Isso implica q
d 2
2
J + J 4 ( 1) < 0,
d
logo (RSOR, ) e decrescente de 0 ate otimo . Para otimo 6 < 2, (RSOR, ) = 1 e claramente
crescente. Portanto, (RSOR, ) atinge o seu mnimo em otimo .
Pelo Teorema 3.15, temos
J = cos ,
n
logo
2 2 2
otimo = q = r = .
2 1 + sen
1 + 1 J 1 + 1 cos2 n
n
1 sen (h)
1 2h + O h2 .
1 + sen (h)
Portanto, usando o valor otimo de no metodo SOR, temos (R) 1 linearmente quando h 0, um
resultado muito melhor que o obtido nos metodos de Jacobi e de Gauss-Seidel. Para uma comparacao mais
precisa, usando
log (1 + x) = x + O h2
temos que
R (RSOR ) = 2h + O h2 . (3.71)
Segue que
R (RSOR ) 2h 2
2 2 = .
R (RGauss-Seidel ) h h
Em particular, se h = 0.025, temos otimo = 1. 8545 e R (RSOR ) /R (RGauss-Seidel ) = 25.5, isto e, o
metodo SOR e 25 vezes mais rapido que o metodo de Gauss-Seidel. Quanto mais refinada a malha, maior e
a diferenca na velocidade de convergencia entre os dois metodos.
3.3.4 Converg
encia do M
etodo de Jacobi Amortecido
3.29 Teorema. Se o metodo de Jacobi converge, ent
ao o metodo de Jacobi amortecido converge para
0 < 6 1.
Rodney Josue Biezuner 60
Prova. Vamos escrever a matriz de iterac ao RJ, do metodo de Jacobi amortecido em funcao da matriz de
iteracao do metodo de Jacobi RJ . Temos
RJ = D1 (D A)
de modo que
1
1 1 1 1
RJ, = D D A = D1 D D + D A = D1 D D + D1 (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 e um autovalor de RJ se e somente se
J, = J + 1 (3.73)
e um autovalor de RJ, . Logo, se todo autovalor de RJ satisfaz |J | < 1 (isto e, (RJ ) < 1 equivalente ao
metodo de Jacobi convergir) e < 1, entao
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 metodo de Jacobi amortecido converge para as matrizes de discretizacao do
Captulo 1 se 0 < 6 1.
3.30 Corol
ario.
(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 Exerccios
3.1 Os metodos de Jacobi e Gauss-Seidel nao sao sempre comparaveis: existem sistemas lineares para as
quais o metodo de Jacobi converge, enquanto que o metodo de Gauss-Seidel nao converge ou ate mesmo
diverge, e vice-versa.
a) Verifique no computador que o metodo de Jacobi converge para o sistema linear
x+z =2
x + y = 0
x + 2y 3z = 0
enquanto que o metodo de Gauss-Seidel nao converge (observe que a solucao exata deste sistema e
(1, 1, 1)).
b) Verifique no computador que o metodo de Gauss-Seidel converge se
2x + y + z = 4
x + 2y + z = 4
x + y + 2z = 4
enquanto que o metodo de Jacobi nao converge, usando o vetor (0, 0, 0) como chute inicial (observe
que a solucao exata deste sistema e (1, 1, 1)).
c) Justifique matematicamente o resultado de cada um dos tens anteriores.
Captulo 4
M
etodos de Projec
ao
A maioria dos metodos iterativos praticos para a resolucao de sistemas lineares grandes usa um processo
de projecao de uma forma ou outra. Um processo de projecao e uma maneira canonica de obter uma
aproximacao para a solucao do sistema linear dentro de um subespaco especificado. Neste captulo veremos
a tecnica descrita de maneira geral e uma aplicacao detalhada para o caso unidimensional.
62
Rodney Josue Biezuner 63
4.1.1 Representa
cao Matricial
Sejam BK = {v1 , . . . , vm } e BL = {w1 , . . . , wm } bases para K e L, respectivamente. Construmos as matrizes
nm
V = [v1 vm ] , (4.4)
W = [w1 wm ] ,
que tem estes vetores como colunas. Entao a solucao aproximada pode ser escrita na forma
e = x0 + V y
x (4.5)
para algum vetor y Rm , ou seja, p = V y. A condicao de ortogonalidade r0 AV y, w = 0 para todo
w L tambem 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 nao precisa ser formada, e muito menos sua inversa calculada, da
mesma forma que a matriz de iteracao nao precisava ser explicitamente calculada nos metodos iterativos
lineares.
A matriz W T AV e invertvel se e somente se nenhum vetor do subespaco AK e ortogonal ao subespaco
L (Exerccio 4.2). Duas condicoes independentes que garantem a invertibilidade de W T AV sao dadas pela
proposicao seguinte:
4.2 Proposi ao. Se A Mn (C) e os subespacos K, L Rn satisfazem qualquer uma das duas condic
c oes a
seguir
(i) A e positiva definida e L = K, ou
(ii) A e invertvel e L = AK.
Ax = b
ao a matriz W T AV e invertvel quaisquer que sejam as bases V, W de K, L, respectivamente.
ent
Rodney Josue Biezuner 64
Prova: (i) Como L = K, podemos escrever W = V P para alguma matriz m m invertvel P (Exerccio
4.3). Ent
ao
W T AV = P T V T AV
Como A e positiva definida, segue que V T AV tambem e (Exerccio 4.4); em particular, a matriz m m
V T AV e invertvel. Logo, sendo o produto de duas matrizes invertveis, W T AV e invertvel.
(ii) Neste caso, como L = AK, podemos escrever W = AV P para alguma matriz m m invertvel P .
Da,
T
W T AV = P T (AV ) AV.
T
Como A e invertvel, a matriz n m AV possui posto maximo, logo a matriz m m (AV ) AV e invertvel
(Exerccio 4.5). Novamente, sendo o produto de duas matrizes invertveis, W T AV e invertvel.
Em particular, se A e uma matriz simetrica e um metodo de projecao ortogonal e utilizado, podemos tomar
V = W e a matriz projetada V T AV tambem e simetrica; da mesma forma, se alem disso A for positiva
definida, V T AV tambem sera.
4.1.2 Minimiza
cao de Funcionais
A solucao aproximada xe do sistema Ax = b atraves de um metodo de projecao pode ser obtida como o ponto
de mnimo de um funcional quadratico associado `a matriz A. Consideremos primeiro o caso em que A e uma
matriz simetrica positiva definida. Neste caso, a propria solucao do sistema Ax = b e o minimizante de um
funcional quadratico associado `a matriz A:
4.3 Teorema. (Metodo Variacional para a Resolucao de Sistemas Lineares) Seja A Mn (R) uma matriz
simetrica positiva definida e b Rn . Ent ao a soluc
ao do sistema Ax = b e o u
nico ponto x que
minimiza o funcional quadr atico
1
f (y) = hAy, yi hb, yi . (4.8)
2
Prova: Uma matriz simetrica positiva definida e em particular invertvel, logo existe uma u
nica solucao 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 e 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 Josue Biezuner 65
4.4 Proposi c
ao. Sejam A Mn (R) uma matriz simetrica positiva definida e L = K. Ent ao x
e e o vetor de
aproximac ao ortogonal sobre K a partir de um vetor inicial x0 se e somente
ao de um metodo de projec
se ele minimiza a A-norma do erro sobre x0 + K, isto e, se e somente se
E (e
x) = min
0
E (y) .
yx +K
Prova: Seja x a solucao exata do sistema Ax = b. Entao a A-norma do erro e dada por
E (y) = kx ykA .
Segue do lema da projecao ortogonal (ou lema da melhor aproximacao) que x e e um minimizante de E (y)
sobre o subespaco afim x0 + K se e somente se x x
e 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 e a condicao de Galerkin que define o vetor de aproximacao de um metodo de projecao ortogonal (veja
(4.2)).
Vamos considerar agora o caso de um metodo de projecao oblqua em que L = AK.
4.5 Proposi ao. Sejam A Mn (C) uma matriz qualquer e L = AK. Ent
c ao x
e e o vetor de aproximac
ao
ao oblqua sobre K ortogonal a L a partir de um vetor inicial x0 se e somente
de um metodo de projec
se ele minimiza a 2-norma do resduo sobre x0 + K, isto e, se e somente se
R (e
x) = min
0
R (y) .
yx +K
R (y) = kb Ayk2 .
Segue do lema da projecao ortogonal (ou lema da melhor aproximacao) que xe e um minimizante de R (y)
sobre o subespaco afim x0 + K se e somente se b Ae
x e ortogonal a AK = L, ou seja, se e somente se
hb Ae
x, wi = 0 para todo w L.
Esta e a condicao de Petrov-Galerkin que define o vetor de aproximacao de um metodo de projecao oblqua
(veja (4.2)).
Rodney Josue Biezuner 66
Ent
ao a soluc
ao exata x satisfaz a estimativa
kb Am xk 6 k(I PK ) xk ,
isto e,
dist (Am x, b) 6 dist (x, K) .
Prova: Como b K, segue que
b Am x = QL L L
K (b APK x) = QK A (x PK x) = QK A (I PK ) x.
2
Da, ja que I PK e uma projecao e portanto satisfaz (I PK ) = (I PK ), podemos escrever
kb Am xk = QL
K A (I PK ) (I PK ) x 6 k(I PK ) xk .
f (y) = Ay b. (4.14)
Ax = b.
O metodo variacional sugerido pelo Teorema 4.3 e a base dos metodos iterativos de descida em geral, e do
metodo do gradiente conjugado em particular. A ideia e usar as ideias do calculo diferencial para encontrar
o mnimo do funcional quadratico f .
4.2.1 M
etodos de Descida
A filosofia dos metodos de descida e comecar com um chute inicial x0 e gerar uma seq
uencia de iterados
x1 , x2 , . . . , xk , . . . que satisfazem
f xk+1 6 f xk
ou, melhor ainda,
f xk+1 < f xk
de tal modo que xk convirja para o minimizador de
f . Em outras palavras, em um metodo de descida
buscamos encontrar uma seq uencia minimizante xk que convirja para a solucao do sistema.
O passo de xk para xk+1 envolve dois ingredientes: (1) uma direc ao de busca e (2) um avanco de
comprimento especificado na direcao de busca. Uma direcao de busca significa a escolha de um vetor pk que
indicara a direcao que avancaremos de xk para xk+1 . O comprimento do avanco e equivalente `a escolha de
um escalar k multiplicando o vetor pk . Assim,
xk+1 = xk + k pk .
A escolha de k e tambem chamada uma busca na reta, ja que queremos escolher um ponto na reta
k
x + pk : R
tal que
f xk + pk 6 f xk .
Idealmente, gostaramos de escolher k de tal modo que
f xk+1 = f xk + k pk = min f xk + pk
R
Esta e chamada uma busca exata na reta. Para funcionais quadraticos, a busca exata na reta e trivial e
obtemos uma formula para o valor de k , como veremos a seguir. Denotaremos o resduo em cada iteracao
por
rk = b Axk . (4.15)
4.7 Proposi
cao. Seja k R tal que
f xk + k pk = min f xk + pk .
R
Ent
ao k k
p ,r
k = k . (4.16)
hp , Apk i
Rodney Josue Biezuner 68
4.8 Exemplo. (Metodo de Gauss-Seidel) Considere o metodo de descida em que as primeiras n direcoes de
busca p1 , . . . , pn sao os vetores e1 , . . . , en da base canonica de Rn , e isso e repetido a cada n iteracoes,
de modo que pk+n = ek para todo k = 1, . . . , n, com uma busca na reta exata executada em cada
iteracao. Entao cada grupo de n iteracoes corresponde a uma iteracao do metodo de Gauss-Seidel.
4.9 Exemplo. (Metodo SOR) Usando as mesmas direcoes de busca do exemplo anterior, mas com xk+1 =
xk + k pk , 6= 1, obtemos um metodo de descida em que as buscas nas retas sao inexatas. Cada
grupo de n iteracoes corresponde a uma iteracao do metodo SOR.
Observe
que
o metodo de descida e um metodo de projecao em que L e K sao subespacos unidimensionais,
com K = pk e L um subespaco nao ortogonal a K, em cada iteracao k. Se o metodo de descida sera um
metodo de projecao ortogonal ou oblquo dependera da escolha do vetor de direcao de busca pk .
4.2.2 M
etodo da Descida Mais Acentuada
Do Calculo Diferencial, sabemos que a direcao em que a funcao cresce a uma taxa mais rapida a partir de
um ponto e a direcao do gradiente neste ponto. Esta observacao e a base da escolha da direcao de busca no
metodo da descida mais acentuada (tambem chamado metodo do gradiente). Em outras palavras, escolhemos
pk = f xk = b Axk
ou
pk = rk . (4.17)
k
Como neste caso K = L = p , o metodo da descida mais acentuada sera um metodo de projecao ortogonal.
Buscar na direcao da descida mais acentuada e uma ideia natural, mas que na pratica nao funciona sem
modificacoes. De fato, em alguns casos o metodo e de velocidade comparavel `a do metodo de Jacobi, como
na matriz de discretizacao da formula de cinco pontos aplicada ao problema descrito na primeira secao deste
captulo [Watkins]:
De fato, como as iteracoes do metodo de descida mais acentuada sao bem mais custosas que as do metodo
de Jacobi, o primeiro e muito pior que este u
ltimo.
Rodney Josue Biezuner 69
Para entender melhor o metodo da descida mais acentuada, porque ele pode ser lento e as modificacoes
que vamos fazer para torna-lo mais rapido levando ao metodo do gradiente conjugado a ser visto no proximo
captulo, vamos entender o processo do ponto de vista geometrico. Como vimos na demonstracao do Teorema
4.3, o funcional quadratico f e da forma
1
f (y) = hA (y x) , (y x)i + c (4.18)
2
onde c = f (x) e uma constante. Ja que A e uma matriz simetrica, existe uma matriz ortogonal P tal que
P t AP e uma matriz diagonal D , cujos valores na diagonal principal sao 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 nvel do funcional f neste sistema de coordenadas sao elipses (em R2 , elipsoides em R3 e
hiperelipsoides em Rn ) centradas na origem com eixos paralelos aos eixos coordenados e f (0) = c e nvel
mnimo de f ; elipses correspondentes a menores valores de f estao dentro de elipses correspondentes a maiores
valores de f . Como P e uma aplicacao ortogonal, as curvas de nvel de f no sistema de coordenadas original
tambem sao elipses, centradas em x, e uma reta de um ponto y ate o ponto x corta elipses de nveis cada vez
menores ate chegar ao mnimo da funcao f em x, centro de todas as elipses. O vetor gradiente e perpendicular
`as curvas de nvel, logo e perpendicular `as elipses. Seguir a direcao de descida mais acentuada equivale a
cortar a elipse que contem xk ortogonalmente na direcao do interior da elipse ate encontrar um ponto xk+1
situado em uma elipse que a reta tangencie, pois a partir da a reta ira na direcao de elipses com nveis
maiores, portanto este e o ponto da reta onde f atinge o seu mnimo. Em particular, vemos que a proxima
direcao pk+1 e ortogonal `a direcao anterior pk , tangente a esta elipse (veja tambem o Corolario 4.12). Em
geral, a direcao de descida mais acentuada nao e a direcao de x (quando bastaria uma iteracao para atingir
a solucao exata) a nao ser que A seja um m ultiplo escalar da identidade, de modo que todos os autovalores
de A sao iguais e as elipses sao crculos. Por outro lado, se os autovalores de A tem valores muito diferentes
uns dos outros, com alguns muito pequenos e alguns muito grandes, as elipses serao bastante excentricas
e, dependendo do chute inicial, a convergencia pode ser muito lenta. Matrizes com estas propriedades sao
chamadas mal-condicionadas; para que o metodo de descida acentuada seja lento, a matriz A nao precisa
ser muito mal-condicionada (veja a Definicao 4.14 e a discussao que se segue).
Como vimos na secao anterior, os algoritmos de Gauss-Seidel e SOR podem ser encarados como algoritmos
de descida. A discussao no paragrafo anterior tambem pode ser usada para entender a relativa lentidao destes
algoritmos.
A seguir, provaremos a convergencia do metodo da descida mais acentuada.
4.10 Lema. (Desigualdade de Kantorovich) Sejam A Mn (R) uma matriz simetrica positiva definida e
denote por max e min seu menor autovalor e seu maior autovalor, respectivamente. Ent
ao
1 2
hAx, xi A x, x (min + max )
2 6
hx, xi 4min max
para todo x 6= 0.
1 1
6 + . (4.20)
1 n 1 n
De fato, a funcao (t) = 1/t e convexa, logo o ponto (, ), que e a combinacao convexa de pontos localizados
no grafico de , esta localizado na regiao plana convexa limitada pelo grafico de e o segmento de reta que
une os pontos extremos do grafico (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 (, ) esta abaixo do ponto do segmento correspondente a t = .
Portanto,
1 1
hAx, xi A1 x, x = 6 + .
1 n 1 n
O maximo da funcao quadratica
1 1 t
t 7 t +
a b ab
e atingido para t = (a + b) /2. Conclumos que
2
1 + n 1 1 1 + n (1 + n )
hAx, xi A1 x, x 6 + = .
2 1 n 21 n 41 n
4.11 Lema. Seja xk+1 = xk + k pk obtido atraves de uma busca exata na reta. Ent
ao
rk+1 pk
e
ek+1 A pk .
Prova: Temos
b Axk+1 = b Axk k Apk ,
de modo que a seq
uencia dos resduos e dada pela formula
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 Josue Biezuner 71
O significado geometrico deste resultado e que o mnimo do funcional f na reta xk + k pk ocorre quando a
derivada direcional de f na direcao de busca e zero, ou seja,
f k+1
0= x = f xk+1 , pk = rk+1 , pk .
pk
4.12 Corol
ario. No metodo da descida mais acentuada vale
rk+1 rk
e
ek+1 A rk .
4.13 Teorema. Sejam A Mn (R) uma matriz simetrica positiva definida e denote por max e min seu
menor autovalor e seu maior autovalor, respectivamente. Ent
ao o erro algebrico do metodo da descida
mais acentuada satisfaz a estimativa
k+1
e 6 max min ek .
A max + min A
Em particular,
k
k max min 0
e 6 e
A max + min A
e portanto o metodo 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 Corolario 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 hA1 rk , rk i
k k k k !
k 2 r ,r r ,r
= e A 1 k
hr , Ar i hr , A1 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 Josue Biezuner 72
Observamos que o fator de convergencia obtido no Teorema 4.13 e otimo (veja Exerccio 4.6).
Introduzimos o numero de condicao de uma matriz, que e uma medida do quao mal-comportada ela e.
4.14 Definic
ao. Seja A Mn (R) uma matriz simetrica positiva definida. O n
umero de condicao de A e
definido por
max
(A) = .
min
Quanto menor o n umero de condicao de A, isto e, quanto mais proximo de 1, mais proximos a esferas
sao os elipsoides de nvel do funcional f ; reciprocamente, quando maior o n
umero de condicao de A, mais
excentricos sao estes. A constante do Teorema 4.13 pode ser mais convenientemente expressa em termos do
numero de condicao da matriz:
4.15 Corolario. Sejam A Mn (R) uma matriz simetrica positiva definida e denote por max e min seu
menor autovalor e seu maior autovalor, respectivamente. Ent
ao o erro algebrico do metodo 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) e proximo de 1 maior e a velocidade de convergencia do metodo
da descida acentuada; reciprocamente, quando maior (A), mais lento ele e.
Reunindo as informacoes obtidas, um algoritmo para o metodo 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 Exerccios
4.1 Considere a matriz invertvel
0 I
A= ,
I I
onde I e a matriz identidade m m, e seja V = W = {e1 , . . . , em }. Verifique que W T AV e singular.
4.2 Verifique que a matriz W T AV e invertvel se e somente se nenhum vetor do subespaco AK e ortogonal
ao subespaco L.
4.3 Sejam B1 = {v1 , . . . , vm } e B2 = {w1 , . . . , wm } duas bases para o subespaco K Rn e considere as
matrizes n m V = [v1 vm ] e W = [w1 wm ]. Mostre que existe uma matriz m m invertvel P
tal que V = W P .
4.4 Mostre que se A e uma matriz positiva definida n n e V e uma matriz n m cujas colunas sao
linearmente independentes, entao a matriz m m V T AV tambem e uma matriz positiva definida.
4.5 Mostre que se A e uma matriz n m cujas colunas sao linearmente independentes, entao a matriz
m m B T B e invertvel.
Rodney Josue Biezuner 73
4.6 Verifique que a taxa de convergencia para o metodo da descida mais acentuada obtida no Teorema 4.12
e otima da seguinte maneira: se v1 e vn sao os autovetores associados a min e max , respectivamente,
mostre que se e0 = v1 + v2 , entao
k+1
e = max min ek .
A max + min A
4.7 O n
umero de condic
ao para uma matriz invertvel A Mn (C) qualquer e definido por
(A) = kAk2 A1 2 .
a) Mostre que se A e uma matriz simetrica positiva definida esta definicao coincide com a Definicao
4.14.
b) Verifique que (A) > 1 para toda matriz A.
c) Considere o sistema Ax = b. Se y e uma aproximacao de x com erro algebrico 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 e otima, no sentido de que a igualdade e atingida para certos valores de y. Ela
mostra que para uma matriz mal-condicionada (isto e, com um n umero de condicao relativamente
alto), o erro residual pode ser muito pequeno ao mesmo tempo em que o erro algebrico pode ser muito
grande e vice-versa.
Captulo 5
M
etodos de Subespacos de Krylov
Os metodos de projecao deste captulo estao entre os mais importantes e populares disponveis. Eles estao
baseados na projecao sobre subespacos de Krylov, que sao subespacos gerados por vetores da forma p (A) v
onde p e um polinomio.
5.1 Motivac
ao
Como vimos ao estudar os metodos iterativos lineares para a resolucao do sistema Ax = b, estes metodos
consistem em obter uma decomposicao apropriada A = B C da matriz do sistema, onde B e uma matriz
proxima da matriz original A mas facil de resolver. Entao o metodo iterativo pode ser descrito pela relacao
de recorrencia
xm+1 = I B 1 A xm + B 1 b,
onde R = I B 1 A e a matriz de iteracao. A matriz mais facil de resolver e
B = I,
exceto que esta matriz em geral esta muito longe de A. Quando esta escolha e feita, obtemos a chamada
itera
cao de Richardson:
xm+1 = (I A) xm + b = xm + b Axm
ou, simplesmente,
xm+1 = xm + rm . (5.1)
Assim, o metodo da iteracao de Richardson consiste simplesmente em somar o resduo da aproximacao `a
propria aproximacao para obter a proxima aproximacao. Na verdade, o metodo de iteracao de Richardson
desempenha papel importante na teoria de convergencia dos metodos iterativos: por exemplo, todo metodo
iterativo linear com decomposicao A = B C pode ser visto como a iteracao de Richardson aplicada ao
sistema equivalente (precondicionado)
B 1 Ax = B 1 b.
A partir de (5.1) obtemos sua correspondente equacao residual:
rm+1 = (I A) rm . (5.2)
74
Rodney Josue Biezuner 75
ou seja, o m-esimo resduo e da forma pm (A) r0 onde pm e um polinomio de grau m. Alem disso, como
m
X
xm+1 = xm + rm = xm1 + rm1 + rm = . . . = rj
j=0
m
X j
= (I A) r0 ,
j=0
segue que as aproximacao tambem sao da forma qm (A) r0 onde qm e um polinomio de grau igual a m.
Portanto, tanto os resduos r0 , . . . , rm como as aproximacoes x0 , . . . , xm pertencem ao subespaco
Km+1 A, r0 = p (A) r0 : p e um polinomio de grau menor que ou igual a m
= r0 , Ar0 , . . . , Am r0 .
Em outras palavras, Km (A, v) e o subespaco de todos os vetores que podem ser escritos na forma w = p (A) v,
onde p e um polinomio de grau menor que ou igual a m1. Se nao houver motivo para confusao denotaremos
o subespaco de Krylov Km (A, v) simplesmente por Km .
Como vimos no captulo anterior, um metodo de projecao geral para resolver o sistema linear
Ax = b
5.2 Defini
cao. O polin omio mnimo de um vetor v com respeito `a matriz A (tambem chamado o A-
anulador de v) e o polinomio monico de menor grau p que anula v, isto e, tal que p (A) v = 0. O grau
do polinomio mnimo e chamado o grau de v com respeito a A.
uma consequencia do Teorema de Cayley-Hamilton que
E
grau v 6 n.
5.3 Proposi
cao. Seja d = grau v. Ent
ao Kd e invariante por A e Kd = Km para todo m > d.
Alem disso,
dim Km = m
se e somente se m 6 d. Portanto,
dim Km = min {m, d} .
Rodney Josue Biezuner 76
Prova: Os vetores v, Av, . . . , Am1 v formam uma base para Km se e somente se o u nico polinomio de grau
menor ou igual a m 1 que anula v e o polinomio nulo.
Apesar dos vetores v, Av, . . . , Am1 v formarem uma base para o subespaco de Krylov Km (quando m 6
grau v), esta e uma base mal-condicionada, no sentido que `a medida que k aumenta o vetor Ak v fica cada vez
mais proximo do autovetor associado ao maior autovalor de A, como veremos em detalhe quando estudarmos
o metodo de potencias para obter autovalores de matrizes. Assim, para m grande os vetores v, Av, . . . , Am1 v
tornam-se aproximadamente linearmente dependentes, o que torna-se um problema em aritmetica de precisao
finita. Para obter uma base bem condicionada para o subespaco de Krylov e necessario usar um metodo de
ortogonalizacao, como veremos a seguir.
Em seguida, calcula-se o vetor Av1 (ao inves de Av) e ortogonaliza-se este vetor com relacao ao vetor v1
atraves do metodo de Gram-Schmidt:
Tendo sido obtido o vetor v2 , calcula-se Av2 (ao inves de A2 v = A (Av)) e ortogonaliza-se este vetor com
relacao aos vetores v1 , v2 atraves do metodo de Gram-Schmidt:
No passo geral, tendo sido obtido o vetor vj no passo anterior, calcula-se e ortogonaliza-se este vetor com
relacao aos vetores v1 , . . . , vj obtidos nos passos anteriores atraves do metodo 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 Josue Biezuner 77
Algoritmo de Arnoldi
Atribua v;
v1 v/ kvk2 ;
Para
j = 1, . . . , m faca:
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 entao pare;
vj+1 wj /hj+1,j ;
fim do laco
O algoritmo sofre um colapso se o vetor wj e nulo e o vetor vj+1 nao pode mais ser calculado.
5.4 Proposi c
ao. Assuma que o algoritmo de Arnoldi n ao para antes do m-esimo passo. Ent
ao os vetores
v1 , . . . , vm formam uma base ortonormal para o subespaco de Krylov
Km (A, v1 ) = v1 , Av1 , . . . , Am1 v1
Prova: Os vetores v1 , . . . , vm sao ortonormais por construcao, logo sao linearmente independentes. Basta
entao 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 e da forma qj1 (A) v1 para algum polinomio qj1 de grau j 1. Isso
pode ser visto por inducao. Se j = 1, temos q0 (t) 1. Assumindo o resultado verdadeiro para todos os
inteiros ate j, considere vj+1 . Temos
j
X j
X
hj+1,j vj+1 = wj = Avj hij vi = Aqj1 (A) v1 hij qi1 (A) v1 ,
i=1 i=1
P
j
de modo que vj+1 = qj (A) v1 para qj = (1/hj+1,j ) tqj1 (t) hij qi1 (t) , que e um polinomio de grau
i=1
j.
O significado do colapso do algoritmo de Arnoldi, quando o vetor vj+1 nao pode ser mais calculado e
dado a seguir:
5.5 Proposicao. O algoritmo de Arnoldi sofre um colapso no passo j, isto e hj+1,j = 0, se e somente se
o polin
omio mnimo de v tem grau j. Alem disso, neste caso o subespaco Kj e invariante por A e
portanto a soluc
ao obtida pelo metodo de projec
ao associado e exata.
Prova: Se o grau de v e j, entao hj+1,j = 0, caso contrario vj+1 poderia ser definido e pela Proposicao 5.4
Kj+1 teria dimensao j + 1 maior que o grau de v, contrariando a Proposicao 5.3.
Reciprocamente, assuma hj+1,j = 0. Entao pelas Proposicoes 5.3 e 5.4 o grau de v e d 6 j. Mas pela
primeira parte desta demonstracao, nao podemos ter d < j, pois isso implicaria hd+1,d = 0 e o algoritmo ja
teria entrado em colapso no passo d.
O restante do enunciado segue diretamente da Proposicao 5.3 e da Proposicao 4.6.
Por isso, tais colapsos sao chamados colapsos sortudos. Infelizmente eles raramente ocorrem na pratica, mas
mesmo quando isso nao ocorre as iteradas obtidas aproximam a solucao exata em um n umero relativamente
pequeno de iteracoes se comparado com os metodos lineares basicos.
Vamos agora representar o algoritmo de Arnoldi em uma forma matricial.
5.6 Defini
cao. Dizemos que A = (aij ) e 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 Josue Biezuner 78
ou seja, e uma matriz obtida a partir de uma matriz triangular superior em que a subdiagonal inferior e
preenchida. Similarmente, uma matriz de Hessenberg inferior quadrada e uma matriz obtida a partir de uma
matriz triangular inferior em que a subdiagonal superior e preenchida. Uma tpica matriz de Hessenberg
superior (m + 1) m e 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)
. .. .. .. .. .. .. ..
.. . . . . . . .
. .. .. .. .. ..
.. . . . . . hm1,m
0 0 0 0 ... 0 hm,m1 hmm
0 0 0 0 0 0 0 hm+1,m
A partir da, em uma matriz de Hessenberg superior nm com n > m+1 todas as linhas i tais que i > m+1
sao nulas.
Prova: Se M e uma matriz, denotemos por (M )j a sua j-esima 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 u ltima relacao por VmT e
usando
o fato que
os vetores
v 1 , . . . , v m s
a o ortonormais e wm
e ortogonal a todos eles, segue que VmT Vm = I
e VmT wm eTm = VmT wm eTm = 0, donde obtemos a u ltima relacao do enunciado desta proposicao.
5.4 Implementac
ao Pr
atica: M
etodos de Ortogonalizac
ao Est
aveis
O algoritmo de Gram-Schmidt e numericamente instavel: pequenos erros de arredondamento podem dar
origem a vetores muito longe de serem ortogonais (veja Exerccio 5.1). Na implementacao pratica do algo-
ritmo de Arnoldi e necessario considerar metodos de ortogonalizacao numericamente estaveis.
5.4.1 M
etodo de Gram-Schmidt Modificado (MGS)
O m etodo de Gram-Schmidt modificado (MGS) e uma modificacao pequena do metodo de Gram-
Schmidt que produz um algoritmo de ortogonalizacao estavel. Na ausencia de erros de arredondamento,
eles produzem os mesmos vetores. No algoritmo de Gram-Schmidt classico, dada uma base {u1 , . . . , um } de
um subespaco vetorial, uma vez calculados os vetores ortonormais v1 , . . . , vj1 correspondentes, os escalares
hij = huj , vi i, i = 1, . . . , j 1 sao todos calculados simultaneamente para produzir o proximo vetor ortogonal
unitario vj
j1
X
wj = uj hij vi , (5.14)
i=1
wj
vj = . (5.15)
kwj k
Rodney Josue Biezuner 80
No metodo modificado, assim que o primeiro vetor ortogonal v1 = u1 e obtido, todos os vetores u2 , . . . , um
sao atualizados atraves do escalar h1i = hui , v1 i:
vi1 = ui h1i v1 , i = 2, . . . , m.
Assim, os vetores v21 , . . . , vm
1
ja sao ortogonais a v1 . Em particular, podemos tomar v2 = v21 / v21 2 . Uma
vez obtido v2 , todos os vetores v31 , . . . , vm
1
sao atualizados atraves dos escalares h2i = vi1 , v2 :
e tomamos
j
vj+1
vj+1 =
j .
(5.17)
vj+1
.
Em aritmetica exata, os algoritmos de Gram-Schmidt e de Gram-Schmidt modificado sao equivalentes;
alem disso, eles tem o mesmo custo computacional (2m2 n flops) e de armazenamento ((m + 1) n). Para
entender porque o MGS e mais estavel, observe que os dois metodos sao identicos no calculo de v1 e v2 . A
primeira diferenca surge no calculo de v3 . No metodo de Gram-Schmidt classico (GS) temos
com
h13 = hu3 , v1 i e h23 = hu3 , v2 i .
O termo h23 v2 e a componente de u3 na direcao de v2 . Quando este componente e removido de u3 , obtemos
um vetor ortogonal a v2 , desde que o escalar h23 seja calculado com exatidao. No metodo 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 princpio, u3 e v31 = u3 h13 v1 tem as mesmas componentes na direcao de v2 , ja que v1 e ortogonal
a v2 , e nao faria diferenca usar h23 ou e
h23 . Na pratica, os vetores v1 e v2 nao sao exatamente ortogonais,
por causa de erros de arredondamento, portanto o termo h13 v1 tem uma pequena componente na direcao de
v2 . Alem disso, erros de arredondamento tambem ocorrem na subtracao de h13 v1 de u3 , portanto este vetor
diferenca tambem tem uma componente na direcao de v2 . O metodo de Gram-Schmidt classico ignora estes
erros, enquanto que o metodo modificado, trabalhando com o vetor v31 ao inves de u3 , leva estes erros em
conta e os corrige no calculo de e h23 .
Rodney Josue Biezuner 81
Para obter um algoritmo computacionalmente implementavel para o MGS, observe que enquanto que no
metodo de Gram-Schmidt classico, uma vez obtidos os vetores ortonormais v1 , . . . , vj1 obtemos o proximo
vetor ortogonal unitario 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)
vjj2 = vjj3 projvj2 vjj3 ,
vjj1 = vjj2 projvj1 vjj2 ,
vjj1
vj =
j1 .
vj
Usando o MGS, o algoritmo de Arnoldi tem o seguinte aspecto. Obtem-se o primeiro vetor unitario
atraves da normalizacao do vetor v:
v
v1 = .
kvk
Em seguida, calcula-se o vetor Av1 e ortogonaliza-se este vetor com relacao ao vetor v1 :
Como ja observado anteriormente, ate aqui o MGS e identico ao metodo de Gram-Schmidt classico. Tendo
sido obtido o vetor v2 , calcula-se Av2 e ortogonaliza-se este vetor primeiro com relacao ao vetor v1 e depois
o vetor resultante e ortogonalizado com relacao ao vetor v2 :
No passo geral, tendo sido obtido o vetor vj no passo anterior, calcula-se Avj e ortogonaliza-se este vetor
com relacao ao primeiro vetor v1 ; em seguida o vetor resultante e ortogonalizado com relacao ao vetor v2 , e
Rodney Josue Biezuner 82
assim por diante, ate que o vetor resultante do passo anterior seja ortogonalizado com relacao ao vetor vj :
vj1 = Avj projv1 Avj = Avj hAvj , v1 i v1 ,
vj2 = vj1 projv2 vj1 = vj1 vj1 , v2 v2 ,
..
.
D E
vj = vjj2 projvj1 vjj2 = vjj2 vjj2 , vj1 vj1 ,
j1
(5.19)
D E
vjj = vjj1 projvj vjj1 = vjj1 vjj1 , 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 faca
Calcule wj = Avj ;
Para i = 1, . . . , j faca
hij hwj , vi i ;
wj wj hij vi
fim do laco
hj+1,j = kwj k ;
2
Se hj+1,j = 0 entao pare;
vj+1 wj /hj+1,j ;
fim do laco
Embora o MGS seja mais estavel, em situacoes onde os erros de cancelamento podem ser muito severos
nos passos de ortogonalizacao e necessario considerar metodos ainda mais estaveis.
5.4.2 M
etodo de Gram-Schmidt Modificado com Reortogonalizac
ao (MGSR)
(j1)
Uma melhoria simples e recorrer `a ortogonalizacao dupla. Ou seja, no passo j obtemos o vetor vj que deve
ser
D ortogonal
E aos vetores w1 , . . . , wj1 . Isso pode ser verificado diretamente, calculando os produtos internos
(j1)
vj , wi e verificando se eles sao proximos de 0 dentro de uma margem de tolerancia pre-estabelecida. Se
temos que nos dar a este trabalho, e melhor aproveitar os calculos destes produtos internos e fazer logo uma
segunda ortogonalizacao. Assim no primeiro loop do algoritmo MGS anterior acrescentamos um segundo
loop:
Calcule wj = Avj ;
Para i = 1, . . . , j faca
hij hwj , vi i ;
wj wj hij vi
Para i = 1, . . . , j faca
hwj , vi i ;
wj wj vi ;
hij hij + ;
fim do laco
hj+1,j = kwj k ;
2
Se hj+1,j = 0 entao pare;
vj+1 wj /hj+1,j ;
Rodney Josue Biezuner 83
Ortogonalizacoes adicionais sao superfluas: duas ortogonalizacoes sao suficientes para fazer o vetor wj or-
togonal aos vetores w1 , . . . , wj1 na precisao de maquina (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
5.5 M
etodo de Arnoldi para Sistemas Lineares
Dado um chute inicial x0 para a solucao do sistema linear Ax = b, o metodo de Arnoldi para sistemas
lineares e um metodo de projecao ortogonal em que
K = L = Km A, r0 = r0 , Ar0 , A2 r0 , . . . , Am1 r0
em que r0 = b Ax0 . Portanto, o metodo busca uma solucao aproximada xm x0 + Km impondo a condicao
de Galerkin
rm = b Axm Km .
De acordo com o captulo anterior, se Vm = [v1 vm ] e uma matriz cujas colunas formam uma base
ortonormal para Km , obtidas atraves 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 observacoes, temos entao o seguinte metodo de Arnoldi para sistemas lineares, chamado
metodo da ortogonaliza cao 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 subespaco 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 aproximacao
xm = Vm y m . (5.21)
Como em geral m n, este sistema e bem mais facil de resolver que o sistema original, possibilitando
o uso de metodos diretos. De fato, embora a matriz de Hessenberg seja uma matriz densa, como ela e
quase triangular uma decomposicao QR passa a ser competitiva com a decomposicao LU e e indicada (para
matrizes gerais, o custo da decomposicao LU e a metade do custo da decomposicao QR). Maiores detalhes
serao fornecidos na proxima secao.
O algoritmo depende do parametro m que em geral deve ser selecionado dinamicamente. Em geral, m e
progressivamente aumentado ate que o resduo rm e menor que alguma tolerancia previamente estabelecida.
Ao inves de calcular o resduo diretamente, podemos obter a norma do resduo de maneira menos custosa
atraves do seguinte resultado:
5.8 Proposi
cao. O resduo calculado atraves do metodo de Arnoldi FOM satisfaz
logo
krm k2 = hm+1,m eTm y m (5.22)
Em particular, os resduos s
ao ortogonais.
5.6 Decomposic
ao QR via MGS
Lembramos que uma decomposic
ao QR de uma matriz A e uma fatorizacao
A = QR (5.23)
onde Q e uma matriz ortogonal (no caso real, unitaria no caso complexo) e R e uma matriz triangular superior.
Usando esta decomposicao, podemos resolver o sistema linear Ax = b da seguinte maneira. Multiplicando
ambos os lados da equacao por QT obtemos
QT Ax = QT b,
Rx = QT b (5.24)
cuja matriz de coeficientes e uma matriz triangular superior, logo pode ser resolvido por substituicao.
Para calcular a decomposicao QR de uma matriz, um dos metodos que podem ser usados e o proprio
MGS. Outros metodos serao vistos no captulo sobre autovalores. Para facilitar a compreensao, veremos
primeiro como fazer a decomposicao QR usando o metodo de Gram-Schmidt modificado. No que se segue
assumiremos que A e uma matriz nm cujas m colunas sao linearmente independentes. Escrevendo a matriz
A em colunas
A = A1 A2 Am , (5.25)
aplicamos o metodo de Gram-Schmidt `as colunas de A, obtendo
j1
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 Josue 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 metodo de Gram-Schmidt classico, e melhor usar o metodo de
Gram-Schmidt modificado para fazer a decomposicao QR de uma matriz. Resolvendo o j-esimo passo do
MGS
vj1 = Aj hAj , v1 i v1 ,
vj2 = vj1 vj1 , v2 v2 ,
vj3 = vj2 vj2 , v3 v3 ,
..
.
D E
vj = vjj3 vjj3 , vj2 vj2 ,
j2
D E
vjj1 = vjj2 vjj2 , vj1 vj1 ,
vjj1
vj =
j1 ,
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
...
j1
X
= vjj1 + vji1 , vi vi (5.35)
i=1
j1
X i1
= vjj1 vj + vj , vi vi
i=1
j
X
= rij vi ,
i=1
onde definimos
rij = vji1 , vi se i = 1, . . . , j 1, (5.36)
rjj = vjj1 . (5.37)
Assim, se Q e R sao definidas como em (5.31) e (5.32), novamente nos temos A = QR.
Rodney Josue Biezuner 87
j = hjj ,
j = hj1,j
(na notacao padrao do algoritmo de Lanczos, a matriz de Hessenberg Hm e denotada por Tm , para enfatizar
a sua tridiagonalidade). Isto leva `a seguinte variacao MGS do metodo de Arnoldi (FOM):
Este algoritmo pode ser consideravelmente simplificado, atraves da obtencao de uma formula de recorrencia
de tres termos, levando ao metodo do gradiente conjugado. Primeiro, fazemos uma decomposicao LU da
matriz tridiagonal Tm = Lm Um sem pivos:
1 1 2
2 1 2 3
.
1 . .
Tm = 3 3 (5.38)
. . . .
. . ..
. m
m 1 m
Lm Um
Rodney Josue Biezuner 88
onde os coeficientes das matrizes bidiagonais Lm e Um podem ser obtidas atraves da seguinte formula de
recorrencia:
1 = 1 ,
2 = 2 11 ,
2 = 2 2 2 ,
3 = 3 21 ,
..
.
1
m = m m1 ,
m = m m m ,
isto e,
1
j = j j1 , (5.39)
j = j j j . (5.40)
(Observe que j 6= 0 para todo j porque Tm e simetrica, positiva definida.) A solucao aproximada e dada
entao por
xm = x0 + Vm Um 1 1
Lm (e1 ) . (5.41)
Definindo
1
Pm = Vm Um , (5.42)
m
z = L1
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 relacao Pm Um = Vm segue que
m pm1 + m pm = vm ,
donde
1
pm = m (vm m pm1 ) . (5.45)
Alem disso, por causa da estrutura triangular inferior bidiagonal com diagonal unitaria de Um , da relacao
Lm z m = e1 segue que
m
m zj1 + zjm = 0
para j > 1, e portanto podemos escrever (lembrando que z m e um vetor de Rm assim como y m )
m1
z
zm = (5.46)
m
com
m = m m1 . (5.47)
Assim,
m 0
z m1
x =x + Pm1 pm
m
= x0 + Pm1 z m1 + m pm ,
Rodney Josue Biezuner 89
donde
xm = xm1 + m pm . (5.48)
Isso da a seguinte versao direta para o algoritmo de Lanczos para sistemas lineares:
v1 r0 /;
Inicialize 1 = 1 0;
Inicialize p0 0;
Para
m = 1, 2, . . . , ate limite de tolerancia faca
w Avm m vm1 ;
m hw, vm i ;
Se m > 1 ent ao
m m1 ;
/
m
m
m
m1
;
m m m m ;
pm (vm m pm1 ) /m ;
m
x xm1 + m pm ;
w w m vm ;
m+1 kwk ;
Se m+1 = 0 entao pare;
vm+1 w/ m+1 ;
fim do laco
Este algoritmo ainda pode ser consideravelmente simplificado. O resultado, uma formula tripla de
recorrencia, extremamente simples e que nao envolve o calculo da base ortonormal {v1 , . . . , vm }, e o chamado
metodo do gradiente conjugado (CG). Para obte-lo, observamos primeiramente que os vetores pm sao
A-conjugados (isto e, A-ortogonais):
5.9 Proposi
cao.
hpi , pj iA = hApi , pj i = 0 (5.49)
para todos i 6= j.
xm+1 = xm + m pm , (5.50)
Rodney Josue Biezuner 90
5.8 M
etodo do Gradiente Conjugado como um M
etodo de Descida
O metodo do gradiente conjugado e uma das mais conhecidas e usadas tecnicas iterativas para resolver sis-
temas lineares envolvendo matrizes simetricas esparsas, dada sua eficiencia e simplicidade de implementacao.
Como vimos na secao anterior, ele e matematicamente equivalente ao FOM. No que se segue, veremos uma
descricao alternativa do metodo CG, em que ele e visto como uma modificacao do metodo de descida mais
acentuada (metodo do gradiente).
Os metodos iterativos lineares basicos e os metodos de descida que vimos anteriormente sao limitados
pela sua falta de memoria, no sentido de que apenas informacao sobre xk e usada para obter xk+1 . Toda a
informacao sobre as iteracoes anteriores e perdida. O metodo do gradiente conjugado e uma variacao simples
do metodo da descida mais acentuada que funciona melhor porque a informacao obtida atraves das iteracoes
anteriores e utilizada.
Para entender como isso funciona, observe que depois de m iteracoes xk+1 = xk + k pk de um metodo
de descida temos
xm = x0 + 0 p0 + 1 p1 + . . . + m1 pm1 ,
de modo que xm esta no subespaco afim gerado pelo chute inicial x0 e pelos vetores p0 , p1 , . . . , pm1 .
Enquanto o metodo da descida mais acentuada minimiza o funcional quadratico de energia f associado ao
sistema Ax = b apenas ao longo das m retas xk + k pk , cuja uniao constitui apenas um pequeno subconjunto
0 0 1
do subespaco afim m-dimensional 0 1x + p m1 , p ,. . . , pm1 , o metodo do gradiente conjugado minimiza f sobre
0
todo o subespaco afim x + p , p , . . . , p .
Para definir as direcoes de busca do metodo do gradiente conjugado (que e, antes de mais nada, um metodo
de descida), comecamos dando uma prova mais simples da Proposicao 4.4 que nao utiliza a linguagem de
metodos de projecao:
5.10 Teorema. Seja A Mn (R) uma matriz simetrica positiva definida e b Rn . Ent
ao, o funcional
quadr
atico de energia associado ao sistema Ax = b pode ser escrito na forma
1 2 1 2
f (y) =
kekA kxkA . (5.57)
2 2
onde e = x y e o erro algebrico. Em particular, minimizar o funcional quadr
atico f e equivalente a
minimizar a A-norma do erro.
Prova: Pela regra do paralelogramo, temos
2 2 2 2
kx + ykA + kx ykA = 2 kxkA + 2 kykA ,
donde
2 2 2 2 2
2 kykA = kx ykA + kxkA + 2 hy, xiA + kykA 2 kxkA
2 2 2
= kx ykA + 2 hy, xiA kxkA + kykA ,
ou
2 2 2
kykA 2 hy, xiA = kx ykA kxkA .
Logo,
1 2 1 2 1 2
f (y) = kykA hy, xiA = kekA kxkA . (5.58)
2 2 2
0
o 0que1 por sua
m1
vez
e equivalente a encontrar a melhor aproximacao do vetor e no subespaco Wm =
p ,p ,...,p . Esta e dada pelo lema da melhor aproximacao, que enunciamos em detalhe por co-
modidade:
5.11 Proposi c
ao. (Lema da Melhor Aproximacao) Sejam A Mn (R) uma matriz simetrica positiva
definida, v Rn e W um subsespaco de Rn . Ent
ao existe um u
nico w W tal que
5.12 Proposi
cao. Seja xm+1 = xm + m pm obtido atraves de uma busca na reta exata. Ent
ao
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 e necessario 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
em = x xm = x xm1 m1 pm1
ou seja,
em = em1 m1 pm1 , (5.60)
m 0 m2 m
para que o erro e seja conjugado aos vetores p , . . . , p basta escolher a direcao de busca p conjugada
a p0 , . . . , pm1 ; para assegurar que em tambem seja conjugado ao vetor pm1 , basta fazer uma busca exata
Rodney Josue Biezuner 93
na reta xm1 + tpm1 . Assim, uma condicao necessaria para obter (5.59) e escolher as direcoes de busca de
tal forma que
pi A pj para todos i 6= j. (5.61)
Um metodo com estas caractersticas e chamado um m
etodo de dire
coes conjugadas. Estes resultados
sao resumidos na proposicao a seguir:
Prova: A demonstracao e por inducao. Para m = 1, temos e1 A p0 pela Proposicao 5.12 porque a busca
na reta e 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 direcoes de busca sao conjugadas. em+1 A pm segue novamente da Proposicao 5.12.
Quando a direcao inicial e dada pelo vetor gradiente de f , como na primeira iteracao do metodo da descida
mais acentuada, obtemos o metodo do gradiente conjugado. As direcoes subseq uentes sao escolhidas atraves
de A-ortogonalizar o resduo (ou vetor gradiente de f , que e a direcao de busca em cada iteracao do metodo
da descida mais acentuada) com todas as direcoes de busca anteriores, o que pode ser feito simplesmente
utilizando-se o algoritmo de Gram-Schmidt que no metodo do gradiente conjugado produz o mesmo resultado
que um metodo mais estavel como o MGS, como veremos. Dado um chute inicial p0 , a primeira direcao e
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 (Corolario 5.17), cmi = 0 para todo i exceto i = m, o que torna necessario que apenas
a direcao de busca mais recente pm seja armazenada na memoria do computador, o que garante que a
implementacao do gradiente conjugado e 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 Josue Biezuner 94
ou, definindo
rm+1 , Apm
m = , (5.66)
hpm , Apm i
temos que
pm+1 = rm+1 + m pm . (5.67)
Esta e a modificacao do metodo do gradiente conjugado em relacao ao metodo da descida mais acentuada,
no qual tomamos pm+1 = rm+1 .
Podemos obter uma expressao mais simples para o escalar m , em funcao apenas dos resduos. Com
efeito, temos m+1 m+1 m+1 m
r ,r = r , r m rm+1 , Apm = m rm+1 , Apm
porque os resduos obtidos atraves do metodo do gradiente conjugado sao mutualmente ortogonais (veja
Corolario 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 + pm1 , rm hrm , rm i
m = m m
= m m
= m ,
hp , Ap i hp , Ap i hp , Apm i
porque pm1 , rm = 0 pela Proposicao 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 metodo do gradiente conjugado se observarmos que
para calcular o resduo rm+1 = b Axm+1 em cada iteracao nao e necessario calcular Axm+1 explicitamente;
de fato, como vimos na demonstracao da Proposicao 5.12, temos rm+1 = rm m Apm . Desta forma, obtemos
o mesmo algoritmo do gradiente conjugado obtido na secao anterior a partir do algoritmo de Lanczos.
5.8.1 Converg
encia do M
etodo do Gradiente Conjugado em Aritm
etica Exata
Vamos agora provar uma serie de resultados com o objetivo principal de demonstrar o fato mencionado
acima que cmi = 0 para todo i = 1, . . . , m 1 e tambem que o metodo do gradiente conjugado converge em
aritmetica exata em precisas n iteracoes se a matriz A tem tamanho n.
Prova: A demonstracao e por inducao. O resultado e trivial para j = 0, pois p0 = r0 . Assuma o resultado
valido para j 1. Em primeiro lugar, mostraremos que
0 1
r , r , . . . , rj Kj+1 A, r0 . (5.70)
Em vista da hipotese de indu
cao,
basta mostrar que rj Kj+1 A, r0 . Como rj = rj1 j1 Ap
j1
e
j1 0 0 j1 0
r Kj A, r Kj+1 A, r por hipotese de indu c a
o, basta provar que Ap K j+1 A, r . Mas,
tambem por hipotese de inducao, pj1 Kj+1 A, r0 , logo
Apj1 Kj A, Ar0 = Ar0 , A2 r0 , . . . , Aj r0 r0 , Ar0 , A2 r0 , . . . , Aj r0 = Kj+1 A, r0 .
Rodney Josue Biezuner 95
Para provar que eles sao iguais, basta mostrar que eles tem a mesma dimensao. 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,
ltimo porque os vetores p0 , p1 , . . . , pj s
ou ao vetores nao-nulos A-ortogonais.
5.15 Corol
ario. Depois de j iterac
oes do algoritmo do gradiente conjugado, temos
ej A Kj A, r0
para todo j.
5.16 Corol
ario. Depois de j iterac
oes do algoritmo do gradiente conjugado, temos
rj Kj A, r0
para todo j.
Prova: Em vista do Teorema 5.14, basta provar que rj p0 , p1 , . . . , pj1 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.17 Corol
ario. cmi = 0 para todo i = 1, . . . , m 1.
5.18 Teorema. Seja A Mn (R) uma matriz simetrica positiva definida. Ent
ao o metodo do gradiente
conjugado converge em n iterac
oes.
Prova: Se fizemos n 1 iteracoes para obter x, pelo Corolario 5.16 os vetores r0 , r1 , . . . , rn1 formam uma
base ortogonal
para Rn . Depois den mais uma iteracao, de acordo com este mesmo corolario o resduo rn
n 0 1 n1 n
satisfaz r r , r , . . . , r = R , logo r = 0.
Rodney Josue Biezuner 96
5.9.1 Polin
omios de Chebyshev
Polinomios de Chebyshev sao provavelmente os mais u teis polinomios na Teoria de Aproximacao, a area
que se ocupa em determinar como melhor aproximar funcoes atraves de funcoes mais simples (tais como
polinomios). Os polinomios de Chebyshev do primeiro tipo surgiram inicialmente como solucoes da equacao
de Chebyshev:
1 x2 y 00 xy 0 + n2 y = 0
5.19 Defini c
ao. O polin
omio de Chebyshev do primeiro tipo de grau k e o polinomio de grau k Ck :
[1, 1] R definido por
Ck (t) = cos k cos1 t .
Que Ck e de fato um polinomio de grau k pode ser visto atraves da seguinte formula de recorrencia:
5.20 Proposi
cao. Vale a seguinte f
ormula de recorrencia de tres termos para os polin
omios de Chebyshev
C0 (t) = 1,
C1 (t) = t, (5.73)
Ck+1 (t) = 2tCk (t) Ck1 (t) .
segue que
Ck+1 (t) + Ck1 (t) = cos [(k + 1) arccos t] + cos [(k 1) arccos t]
= 2 cos (arccos t) cos [k arccos t]
= 2tCk (t) .
A formula de recorrencia da Proposicao 5.20 permite estender naturalmente o domnio dos polinomios de
Chebyshev `a reta toda. Isso tambem pode ser feito estendendo a definicao trigonometrica:
cosh k cosh1 t se t > 1,
Ck (t) = k 1
(5.74)
(1) cosh k cosh |t| se t 6 1.
vemos que vale a mesma formula de recorrencia da Definicao 5.19. O polinomio de Chebyshev Ck (t) possui
k razes simples, todas localizadas no intervalo [1, 1] dadas por
2j 1
tj = cos , j = 1, . . . , k,
2k
como pode ser verificado diretamente da definicao. Em particular, os polinomios de Chebyshev nao se anulam
fora deste intervalo. Observe tambem que |Ck (t)| 6 1 para t [1, 1]. A ` ttulo de informacao, eles formam
uma base ortogonal no espaco de funcoes 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
cao. 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
ba
Prova: Denote por
a+b
m :=
2
o ponto medio do intervalo [a, b]. Entao
xb b a + 2x 2b 2x (a + b)
1+2 = =
ba ba ba
xm
=2 .
ba
Assim, se c
/ [a, b] entao
c m
2
ba >1
bk (x) nunca se anula. Por outro lado, se x [a, b] ent
de modo que o denominador na expressao de C ao
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 mnimo e atingido pelo polinomio C
e tal que p (c) = 1 e
max |p (x)| 6 k ,
x[a,b]
bk . De fato, pela definicao trigonometrica dos polinomios de Chebyshev, Ck (t) atinge os valores
entao 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 ) ,
Prova: Pelos Teoremas 5.13 e 5.14, o m etodo do gradiente conjugado minimiza a A-norma do erro no
subespaco afim e0 + Kk A, r0 . Mas Kk A, r0 e o conjunto de todos os vetores da forma q (A) r0 onde
q e um polin
omio de grau menor ou igual a k 1, enquanto que r0 = Ae0 . Portanto, o subespaco afim
e + Kk A, r consiste de todos os vetores da forma e0 + q (A) Ae0 , ou seja, de todos os vetores na forma
0 0
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 e bem melhor que a estimativa do metodo da descida mais acentuada (o n umero de condicao
e subtituido aqui pela sua raiz quadrada), mostrando que o metodo do gradiente conjugado e bem mais
rapido. Por outro lado, como naquele metodo, a velocidade de convergencia do metodo CG dependera
fortemente da boa ou ma condicionalidade da matriz A.
Uma comparacao entre a velocidade de convergencia dos metodos de gradiente para a matriz de dis-
cretizacao da formula de cinco pontos aplicada ao mesmo problema do Captulo 3 (Secao 3.1.4) e dada na
tabela a seguir [Watkins]. O tamanho das matrizes usadas e indicado na linha superior da tabela e o n umero
de iteracoes necessarias para obter um erro algebrico menor normalizado menor que igual a 108 e dado
para cada metodo.
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 da uma velocidade de convergencia para o metodo do gradiente conjugado duas vezes maior que a
do metodo SOR com o fator de relaxamento otimo. No entanto, deve-se ter em mente que enquanto que a
taxa de covergencia que obtivemos para o metodo SOR e precisa, a estimativa de erro (5.76) do Teorema
5.24 para o metodo do gradiente conjugado e apenas um limitante superior grosseiro e pode ser melhorada
(veja [Watkins] para algumas estimativas melhoradas). De fato, embora a taxa de convergencia assintotica
(5.76) dependa apenas do numero de condicao, e portanto apenas dos autovalores extremais, a convergencia
do metodo do gradiente conjugado e influenciada pelo espectro inteiro, como o proximo resultado ilustra:
Rodney Josue Biezuner 101
5.25 Teorema. Seja A Mn (R) uma matriz simetrica positiva definida com apenas m autovalores distin-
tos. Ent
ao o metodo do gradiente conjugado converge em m iterac
oes.
p (x) = a (x 1 ) . . . (x m )
um polinomio de grau m onde a e escolhido de tal forma a produzir p (0) = 1. Como p (i ) = 0 para todo i,
pela demonstracao do Teorema 5.24 (e usando a mesma notacao de la) segue que
n
X
p (A) e0 = ai p (i ) vi = 0.
i=1
5.10 Exerccios
5.1 Considere os vetores
1 1 1
0 0
v1 =
0 , v2 =
e v3 =
0 ,
0 0
onde 1. Estes vetores sao aproximadamente linearmente independentes.
a) Use o metodo de Gram-Schmidt classico para ortogonalizar estes vetores, usando a aproximacao
1 + 2 = 1 (um computador faria erros de arredondamento adicionais). Verifique que hw2 , w3 i = 1/2 e
portanto estes vetores estao muito longe de serem ortogonais.
b) Use o metodo de Gram-Schmidt modificado para ortogonalizar estes vetores, tambem usando a
aproximacao 1 + 2 = 1. Verifique que hw2 , w3 i = 0 e que hw1 , w2 i = / 2, hw1 , w3 i = / 6;
portanto estes vetores estao muito proximos de serem ortogonais.
5.2 Mostre que os algoritmos de Gram-Schmidt classico e modificado sao matematicamente equivalentes
em aritmetica exata, isto e, 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 subespaco de Krylov Km (A, v).
5.4 Prove que o inversa de uma matriz triangular superior e uma matriz triangular superior. Prove a
afirmativa equivalente para matrizes triangulares inferiores.
5.5 Prove que o produto de matrizes triangulares superiores e uma matriz triangular superior. Prove a
afirmativa equivalente para matrizes triangulares inferiores.
Captulo 6
O Problema do Autovalor
Por causa do teorema de Abel com respeito `a inexistencia de uma formula para calcular as razes de um
polinomio de grau maior ou igual a 5, nao existem metodos diretos para calcular autovalores. Todo metodo
para calcular autovalores e necessariamente um metodo iterativo.
De fato, dado um polinomio monico
p (z) = z n + an1 z n1 + . . . + a1 z + a0 ,
n
seu determinante e igual a (1) vezes o determinante da matriz
z a0
1 z a 1
1 z a 2
.. ,
1 z .
. .
.. .. an1
1 z an1
logo as razes de p sao os autovalores da matriz
0 a0
1 0 a1
1 0 a2
.. .
1 0 .
.. ..
. . an1
1 an1
Portanto, o problema de encontrar as razes de um polinomio e equivalente ao problema de encontrar os
autovalores de uma matriz.
6.1 Caracterizac
ao Variacional dos Autovalores de uma Matriz
Sim
etrica: Quociente de Rayleigh
Os autovalores de uma matriz simetrica podem ser caracterizados variacionalmente.
6.1 Defini
cao. Seja A Mn (R) uma matriz simetrica. Dado x Rn , o quociente
hAx, xi
r (x) = 2
kxk
102
Rodney Josue Biezuner 103
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 Corolario. O quociente de Rayleigh e uma aproximaca o de segunda ordem para os autovalores de A,
ou seja, se v e 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)
xRn kxk
x6=0
Prova: Seja B = {v1 , . . . , vn } uma base ortonormal de autovetores de A correspondentes aos autovalores
P
n
1 , . . . , n . Entao, 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 = hi 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 Josue Biezuner 104
6.5 Teorema. (Princpio de Minimax para Autovalores) Seja A Mn (R) uma matriz simetrica. Sejam
1 6 . . . 6 n os autovalores de A. Ent
ao
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 e atingido em vj .
Rodney Josue Biezuner 105
6.2 M
etodo das Pot
encias
O metodo das pot encias ou metodo das iteraco
es e o algoritmo mais simples para o calculo de autovalores
de matrizes, mas ele pode encontrar apenas o maior autovalor (em modulo) de uma matriz A Mn (C),
chamado o autovalor dominante de A, desde que haja apenas um. Para simplificar a exposicao, suponha
que A e uma matriz diagonalizavel cujo maior autovalor (em modulo) e um autovalor simples (isto e, seu
autoespaco associado tem dimensao 1). Ordene os autovalores de A na forma
v0 , Av0 , A2 v0 , . . . , Ak v0 , . . . (6.4)
essencial que o vetor v0 possua uma componente na direcao do autovetor dominante v1 . Este nao e a
E
priori conhecido, mas se a escolha e arbitraria ha grande probabilidade que isso ocorra na pratica. 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 aleatoria de v0 produzira um vetor no subespaco hv2 , . . . , vn i. Temos
entao
Xn
Ak v0 = ai vi ,
i=1
Ak v0
a1 v1
k1
converge para um autovetor dominante. No entanto, como o autovalor 1 nao e conhecido a priori, e
impossvel trabalhar com esta sequencia. Portanto, trabalhamos ao inves com a sequencia normalizada
Ak v0
wk = (6.5)
kAk v0 k
onde kk e uma norma qualquer (por exemplo, a norma do maximo), que converge para um autovetor
dominante unitario.
Rodney Josue Biezuner 106
6.6 Proposi c
ao. Seja A Mn (C) uma matriz diagonaliz avel e assuma que o seu autovalor dominante 1
e simples. Dado um vetor arbitr ario v0 Cn que possui uma componente n ao-nula no autoespaco
associado a 1 , defina a sequencia
w0 = v0 ,
Awk
wk+1 = .
k
onde
k = kAwk k .
Ent
ao
wk v1 ,
k 1 ,
k = hAwk , wk i ,
ent
ao
k 1
com taxa assint
otica de convergencia !
2 2
O .
1
Prova: Temos
Ak v0
wk = ,
ek
ek = Ak v0 .
ek = 1 . . . k e simplesmente o escalar apropriado que normaliza o vetor Ak v0 , isto e,
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 sequencia unitaria possui uma subsequencia convergente, conclumos que wk converge para
um vetor unitario na direcao de v1 .
Como
Awk = ek wk ,
tomando o limite em ambos os lados conclumos que
Av1 = (lim k ) v1 ,
Rodney Josue Biezuner 107
logo lim k = 1 .
Finalmente, a taxa assint
otica de convergencia 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
6.2.1 M
etodo das Pot
encias Inverso
O metodo das potencia permite apenas encontrar o autovalor dominante. Para obter o menor autovalor
de A, podemos aplicar o metodo das potencias `a matriz inversa A1 , pois se e o menor autovalor de A,
1/ sera o maior autovalor de A1 . Este metodo e chamado m etodo das pot encias inverso ou iteraca
o
inversa (quando o metodo das potencias e chamado iterac
ao direta).
6.2.2 M
etodo das Pot
encias com Deslocamento
Teoricamente, o metodo das potencias poderia ser aplicado diretamente para encontrar todos os autovalores
de A. Por exemplo, para encontrar 2 e um autovetor associado, uma vez encontrado o autovetor associado
ao primeiro autovalor, bastaria tomar um novo vetor inicial que nao tivesse componentes na direcao do
autovetor dominante (ou autoespaco dominante; veja Exerccio 6.1), mas apenas na direcao de v2 . Isso seria
facil de conseguir se os autovetores de A fosse ortogonais (por exemplo, se A e simetrica): bastaria tomar
um vetor inicial aleatorio v0 , com componentes na direcao de todos os autovetores de A, e subtrair dele a
sua componente ortogonal na direcao do autovetor dominante. Na notacao da secao anterior, bastaria tomar
n
X
ve0 = v0 a1 v1 = ai vi ,
i=2
e proceder desta maneira ate encontrar todos os autovalores de A (desde que nao haja autovalores distin-
tos mas iguais em modulo). Na pratica isso nao funciona, porque erros de arredondamento apareceriam
imediatamente:
n
X
Aev0 = 1 v1 + ai i vi ;
i=2
1
o metodo das potencias `a matriz (A I) , pois os autovalores de A sao
1 1
,..., ,
1 n
1
de modo que o autovalor dominante de (A I) e
1
(6.6)
i
onde i e o autovalor de A mais proximo de . Assim, podemos encontrar todos os autovalores de A
variando o deslocamento . Este metodo e chamado m etodo das pot encias com deslocamento ou
iterac
ao com deslocamento. Ele e particularmente eficiente quando possumos boas estimativas para os
autovalores de A (estimativas grosseiras podem ser obtidas atraves do teorema dos discos de Gershgorin).
Como ja observado anteriormente, a convergencia do metodo das potencias direto sera lenta quando 1 e
2 forem muito proximos. No caso do metodo das potencias com deslocamento, uma escolha cuidadosa do
deslocamento pode aumentar substancialmente a velocidade de convergencia. Com efeito, observe que
neste caso temos (para simplificar a compreensao, novamente supomos A diagonalizavel e, adicionalmente,
que todos os autovalores sao 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
e entao tomar
1
wk+1 = w
ek+1 .
k+1
Alem disso, apesar de A I ser uma matriz singular quando e um autovalor de A, e portanto tomar um
deslocamento muito proximo a produz uma matriz A I muito mal condicionada, isso nao atrapalha
a eficencia da iteracao com deslocamento em nada (veja [Parlett]).
Finalmente, notamos que se os autovalores de uma matriz ja sao conhecidos, o metodo padrao para
encontrar os autovetores de A e o metodo das potencias com deslocamento, ja que os deslocamentos podem
ser escolhido arbitrariamente proximos dos autovalores, tornando a convergencia muito rapida.
6.2.3 Itera
cao do Quociente de Rayleigh
Quando a matriz A e simetrica, combinando a iteracao inversa e o quociente de Rayleigh e possvel obter
um metodo extremamente rapido, de tal forma que depois de 2 ou 3 passos o n umero de dgitos corretos no
autovalor triplica a cada iteracao. A ideia e nao manter o valor de deslocamento constante, mas atualiza-lo
a cada iteracao com uma aproximacao melhor do autovalor dada pelo quociente de Rayleigh. O algoritmo
para a iteracao do quociente de Rayleigh e o seguinte:
Iterac
ao do Quociente de Rayleigh
Atribua v0 ;
v 0 v 0 / v 0 ;
0 = hAv0 , v0 i ;
Para k = 0,1, 2, . . ., at
e limite de tolerancia
Resolva A k I w = v k ;
v k+1 w/ kwk ;
k+1 Av k+1 , v k+1 ;
fim do laco
Vamos verificar que a convergencia da iteracao de Rayleigh e c
ubica:
6.7 Proposi c
ao. Seja A Mn (R) uma matriz simetrica e assuma que o autovalor i e simples. Dado um
0 n
vetor arbitr
ario
v R que possui uma componente n ao-nula no autoespaco associado a i , tome
0 0 0
= Av , v e defina a sequencia
1 k
k+1 A k I v
v =
,
1
(A k I) v k
k+1 = Av k+1 , v k+1 .
Pelas estimativas para a iteracao inversa com deslocamento obtidas na subsecao anterior, temos
k+1 i k k
v
vi 6 C v vi .
ei k
Rodney Josue Biezuner 110
Como k esta proximo 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 nao e simples (Exerccio 6.3).
No caso em que A nao e simetrica, a iteracao do quociente de Rayleigh ainda pode ser usada, mas
a convergencia e apenas quadratica (veja [Watkins]). Para uma analise mais rigorosa da convergencia do
metodo das potencias e todas as suas variacoes, inclusive a iteracao do quociente de Rayleigh, veja [Parlett].
6.3 Algoritmo QR
O algoritmo QR (nao confundir com a decomposicao QR) e o algoritmo preferido para encontrar todos os
autovalores de uma matriz nao-simetrica densa. O algoritmo basico QR pode ser descrito da seguinte forma.
Seja A Mn (C) uma matriz cujos autovalores queremos calcular. Comecando com
A0 = A, (6.7)
Ak1 = Qk Rk . (6.8)
Em seguida definimos
Ak = Rk Qk . (6.9)
Observe que, como
Ak = Qk Ak1 Qk , (6.10)
todas as matrizes da sequencia, que denominaremos sequencia QR, possuem os mesmos autovalores. Veremos
mais tarde que o algortimo QR e simplesmente uma implementacao de um procedimento conhecido como
iterac
ao simult
anea, o qual e uma extensao natural do metodo das potencias. Consequentemente, pode ser
mostrado que a sequencia QR converge, sob certas condicoes, para uma matriz triangular superior na forma
1
.. ..
2 . .
.
..
n
6.3.1 Redu
cao de uma matriz a sua forma de Hessenberg
O custo das decomposicoes QR e reduzido drasticamente se reduzirmos a matriz A `a sua forma de Hessenberg
antes de comecar as iteracoes QR, ja que o custo de uma decomposicao QR para matrizes de Hessenberg
e O n2 ; se alem disso a matriz for Hermitiana, ou seja, tridiagonal, o custo e apenas O (n). Tambem o
custo
da multiplicacao, de uma matriz de Hessenberg superior por uma matriz triangular, e reduzido para
O n2 . Essa reducao funciona porque o algoritmo QR preserva a forma de Hessenberg, de modo que todas
as matrizes da sequencia QR sao de Hessenberg assim como os fatores Q:
6.8 Proposic
ao. Seja H Mn (C) uma matriz de Hessenberg superior. Ent ao toda matriz da sequencia
QR e tambem uma matriz de Hessenberg superior. Alem disso, os fatores Qk da decomposic
ao Ak1 =
Qk Rk tambem s
ao Hessenberg superiores.
Prova: Assuma A invertvel, de modo que todas as matrizes da sequencia QR sao invertveis; em particular,
os fatores Qk , Rk tambem sao invertveis. Suponha por inducao que Ak1 e uma matriz de Hessenberg
superior. Seja Ak1 = Qk Rk uma decomposicao QR de Ak1 . Afirmamos que
Qk = Ak1 Rk1
e uma matriz de Hessenberg superior. De fato, como a inversa de uma matriz triangular superior e uma
matriz triangular superior, Qk e o produto de uma matriz de Hessenberg superior e de uma matriz triangular
superior, logo tambem e uma matriz de Hessenberg superior. Segue que Ak = Rk Qk e o produto de uma
matriz triangular superior e uma matriz de Hessenberg superior, logo tambem e uma matriz de Hessenberg
superior.
O caso geral, em que A e singular, e um pouco mais difcil. De fato, nao e verdade que toda decomposicao
QR de uma matriz de Hessenberg superior vai produzir um fator Q Hessenberg superior. Mas e possvel
provar que e sempre possvel escolher a decomposicao QR de tal forma que o fator Q produzido e Hessenberg
superior (veja [Watkins]).
Antes de descrever o algoritmo que transforma uma matriz geral em uma matriz de Hessenberg superior
(o custo da transformacao sera de 10 3
3 n flops) vamos introduzir o conceito de refletores de Householder que
sao usados para introduzir zeros abaixo da subdiagonal inferior.
No que se segue assumiremos sempre a norma vetorial como sendo a norma euclidiana.
6.9 Defini
cao. Seja u Rn um vetor unitario. Entao o operador Q : Rn Rn definido por
Q = I 2uuT (6.11)
6.10 Proposi
cao. Sejam u Rn um vetor unit
ario e Q = I 2uuT um refletor. Ent
ao
(i) Qu = u.
(ii) Qv = v para todo v u.
(iii) Q = QT ( Q e simetrico).
Rodney Josue Biezuner 112
(iv) QT = Q1 ( Q e ortogonal).
(v) Q1 = Q ( Q e uma involuc
ao).
(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 reflexao com relacao 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:
Qx = y.
Prova: (Existencia) Para encontrar um vetor u tal que I 2uuT x = y, primeiro notamos que o hiperplano
de reflexao bisecta o angulo entre x e y, de modo que o vetor x y deve ser perpendicular a este plano.
Portanto, nosso candidato e
xy
u= . (6.12)
kx yk
De fato, de (i) e (ii) da proposicao 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
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 analogos, bastando substituir simetrico ortogonal por hermitiano unitario.
Vamos agora descrever o algoritmo para reduzir uma matriz geral A `a forma de Hessenberg. Cada passo
introduz os zeros nas posicoes desejadas de cada coluna, da primeira ate a u
ltima, em um total de n2 passos
(ja que evidentemente nao ha necessidade de transformar as u ltimas 2 colunas da matriz para coloca-la na
forma de Hessenberg). Primeiro faca uma particao 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
Entao
a11 b1
cT Q a11
1 1
0 0
A1 = Q1 AQ1
1 = Q1 AQ1 = A1/2 Q1 = b1 A
bQb1 = b1 .
.. Q .. A
. .
0 0
Este e o fim do primeiro passo: a matriz A1 , semelhante `a matriz A atraves 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 e, na primeira coluna de A b1 , nas posicoes
desejadas. Assim, usamos um refletor Q b 2 : Fn2 Fn2 exatamente como no primeiro passo, exceto que
usamos A b1 ao inves de A, e definimos
1 0 0 0
0 1 0 0
0 0
Q2 =
.. .. b2
. . Q
0 0
Rodney Josue 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 Q1
2 = Q2 A1 Q2 = A3/2 Q2 = .
.. .. b2 A
b1 Q
b2
. . Q
0 0
Procedemos desta forma em n 2 passos ate encontrar uma matriz de Hessenberg An2 semelhante `a matriz
original A atraves de uma matriz ortogonal Q = Qn2 . . . Q2 Q1 .
6.3.2 Acelera
cao do algoritmo QR
Ordene os autovalores de A na forma
Considere uma sequencia (Ak ) de iteradas do algoritmo QR tal que cada matriz Ak e 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
n1,n
0 0 0 0 ... 0 akn,n1 aknn
No algoritmo QR as entradas subdiagonais (ou a maioria delas) convergem para 0 quando n . Mais
precisamente, como veremos mais tarde, se
|i | > |i+1 | ,
entao
i+1
aki+1,i 0
com taxa de convergencia , i = 1, . . . , n 1.
i
Portanto, uma maneira de acelerar a convergencia do algoritmo e decrescer os quocientes |i+1 /i |. Um modo
de fazer isso e atraves do uso de um deslocamento, como no metodo das potencias. A matriz deslocada AI
tem autovalores
|1 | > |2 | > . . . > |n |
e as taxas de convergencia associadas sao
i+1
i , i = 1, . . . , n 1.
Rodney Josue Biezuner 115
Assim, se escolhermos suficientemente proximo de um autovalor arbitrario que chamaremos n apos re-
ordenar os ndices (e assumindo n1 6= n ), aplicando o algoritmo QR a A I observaremos que a
k k
(A I)n,n1 converge para 0 rapidamente. Uma vez que (A I)n,n1 seja suficientemente pequeno, esta
entrada pode ser considerado 0 na pratica e, adicionando I `a iterada (A I)k do algoritmo QR, obtemos
0
bk ..
A .
Ak = .
0
0 0 aknn
bk . Podemos
com aknn uma boa aproximacao para n . Os autovalores restantes de Ak sao os autovalores de A
b
entao aplicar o algoritmo QR `a 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 ate obter todos os autovalores de A.
Este processo, em que o tamanho da matriz e reduzido cada vez que um autovalor e encontrado, e chamado
deflac
ao.
O proprio algoritmo QR pode ser usado para obter os valores para os deslocamentos , ja que depois
de algumas iteracoes a matriz esta proxima da forma triangular e os valores na diagonal principal estao
proximos aos autovalores de A. De fato, as entradas na diagonal principal sao quocientes de Rayleigh, ja
que
akii = eTi Ak ei = hAk ei , ei i .
Assim, o deslocamento pode ser modificado em cada iteracao, como no metodo da iteracao do quociente de
Rayleigh, usando-se
k = aknn
de modo que
i+1 k
i k 0 quando k
e obtemos uma taxa de convergencia melhor que linear. De fato, veremos que, como no metodo da iteracao
do quociente de Rayleigh, este algoritmo QR com deslocamento dado pelo quociente de Rayleigh
possui convergencia quadratica em geral e c
ubica para matrizes hermitianas.
Na pratica, depois de apenas uma iteracao QR ja e seguro usar 1 = a1nn . O u
nico efeito dessa escolha e
que a ordem dos autovalores obtidos no processo nao e necessariamente crescente.
O deslocamento dado pelo quociente de Rayleigh pode falhar `as vezes, por exemplo quando o deslocamento
obtido esta a mesma distancia de dois autovalores distintos, fazendo com que o metodo tenha dificuldade
de decidir qual autovalor aproximar. Para evitar esta situacao, e prefervel usar o deslocamento de
Wilkinson, que e definido como sendo o autovalor da submatriz 2 2
k
an1,n1 akn1,n
akn,n1 aknn
que esta mais proximo de aknn . Ele e facil de calcular porque e a raiz de um polinomio do segundo grau. E
possvel provar para matrizes simetricas tridiagonais o algoritmo QR com deslocamento de Wilkinson sempre
converge. Alem disso, como estamos usando maior informacao para obter o deslocamento, a taxa convergencia
no mnimo igual `a 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 experiencia tem mostrado que sao necessarias apenas 5 ou 9 iteracoes do algoritmo
QR para obter uma aproximacao satisfatoria para o primeiro autovalor e de 3 a 5 iteracoes em media para
os autovalores restantes (`as vezes menos); para matrizes hermitianas, 2 ou 3 iteracoes em media bastam.
O deslocamento de Wilkinson tem a vantagem inicial de que pode ser usado para aproximar autovalores
complexos de matrizes reais, ja que ele pode ser um n umero complexo, enquanto que o quociente de Rayleigh
Rodney Josue Biezuner 116
de uma matriz real sempre e um valor real. Para maiores detalhes sobre as informacoes contidas este paragrafo
veja [Watkins].
Por fim, `as vezes ocorre durante as iteracoes do algoritmo QR que um elemento da subdiagonal inferior
localizado proximo ao meio da matriz e suficientemente proximo 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 iteracao QR de Hessenberg e O n2 , dividindo o tamanho da matriz pela metade
implica numa diminuicao do custo por um fator de 4.
6.3.3 Implementa
cao pr
atica do algoritmo QR
Veja [Watkins].
6.4 Iterac
ao de subespacos e iterac
ao simult
anea
No metodo das potencias ou iteracao direta, ao inves de iterarmos apenas um vetor, podemos considerar a
iteracao de um subespaco inteiro: se S Fn (onde F = R ou C), consideramos as iteradas
S, AS, A2 S, . . .
Como no metodo da iteracao direta as iteradas convergem para o autovetor dominante, esperamos que estes
subespacos iterados convirjam para um autoespaco. Para verificar isso, precisamos definir uma nocao de
distancia entre subespacos vetoriais.
6.13 Defini
cao. Dados dois subespacos S, T Fn , a dist
ancia entre eles e definida por
onde e o maior angulo principal entre S e T . Dizemos que uma sequencia de subespacos {Sk }
converge para S se dist (Sk , S) 0 e denotamos este fato por Sk S.
6.14 Teorema. Seja A Mn (F) diagonaliz
avel 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 .
Prova: Uma demonstracao rigorosa deste teorema esta alem dos propositos deste curso. Daremos apenas
algumas ideias 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 SUm = {0} que pelo menos um dos escalares a1 , . . . , am e nao nulo (assim, a condicao SUm = {0}
e equivalente a exigir no metodo das potencias que o vetor inicial tenha uma componente na direcao do
autovetor dominante; aqui exigimos que cada vetor do subespaco tenha uma componente no autoespaco
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 subespaco Um tendem a zero quando k aumenta com
taxa de convergencia |m+1 /m | ou melhor (dependendo dos valores de am+1 , . . . , an ), consequentemente o
vetor limite esta no subespaco Tm . Como cada subsespaco Ak S tem dimensao m, o limite dos subespacos
nao pode ser um subespaco proprio de Tm .
Observe que a condicao S Um = {0} ocorre quase sempre para uma escolha aleatoria do subespaco m-
dimensional S (por exemplo, no caso de R3 a escolha aleatoria de uma reta e um plano quase sempre resultara
que o u nico ponto em que eles se interceptam e a origem).
Para fazer a iteracao de subespacos na pratica, deve-se escolher uma base para S e iterar todos os
vetores desta base simultaneamente. No processo de iterar o subespaco, devemos obviamente ortonormalizar
a base do subespaco Ak S em cada passo da iteracao, usando um algoritmo robusto tal como o MGS com
reortogonalizacao. Este processo todo e chamado itera c
ao simult anea.
Em notacao matricial, a iteracao simultanea pode ser descrita da seguinte maneira. Seja S um subespaco
de dimensao m com base v1 , . . . , vm . Utilizando um algoritmo robusto, encontramos uma base ortonormal
q1 , . . . , qm . Formamos entao uma matriz inicial n m com colunas ortonormais:
Q0 = q10 qm 0
.
Bk = Qk+1 Rk+1 ,
entao 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 condicoes do teorema anterior).
Rodney Josue Biezuner 118
6.4.1 Equival
encia entre o Algoritmo QR e Iterac
ao Simult
anea
O algoritmo QR puro e equivalente `a iteracao simultanea aplicada `a matriz identidade, isto e, tomando
Q0 = I. Ou seja, se na iteracao simultanea
Q0 = I,
Bk1 = AQk1 , (6.15)
Bk1 = Qk Rk ,
definirmos
Ak = Qk AQk , (6.16)
Rk = Rk R1 (6.17)
e, reciprocamente, no algoritmo QR
A0 = A,
Ak1 = 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 verificacao de todos estes fatos segue por inducao. O caso k = 0 e imediato, ja que B0 = A. Como
hipotese de inducao, assumimos
Ak1 = Ak1 ,
b k1 R
Ak1 = Q bk1 = Qk1 Rk1 ,
donde
b k1 ,
Qk1 = Q
bk1 .
Rk1 = R
Portanto,
bk R
Ak = Qk Rk = Q bk
donde
bk ,
Qk = Q
bk .
Rk = R
Ak = Qk Ak1 Qk ,
6.4.2 Converg
encia do Algoritmo QR
Por simplicidade considere A simetrica. A relacao
bk R
Ak = Q bk = (Q1 Qk ) (Rk R1 )
explica porque o algoritmo QR encontra os autovetores de A: ele constroi bases ortonormais para o espaco
coluna das potencias sucessivas Ak (e as colunas de Ak sao Ak e1 , . . . , Ak en ). A relacao
b tk AQ
Ak = Q bk
6.5 M
etodo de Arnoldi e Algoritmo de Lanczos
Para matrizes esparsas, nao simetricas, o metodo de Arnoldi e o metodo mais usado para encontrar os
autovalores e autovetores, e para matrizes simetricas esparsas o metodo escolhido e o algoritmo de Lanczos.
Na Proposicao 5.7 vimos que no metodo de Arnoldi obtemos
em
AQm = Qm+1 H (6.25)
onde
Qm = q1 ... qm ,
Qm+1 = q1 ... qm qm+1 ,
sao matrizes com colunas ortonormais e He m e uma matriz de Hessenberg superior (m + 1) m (na notacao
daquela proposicao, a matriz Qm e denotada por Vm ). Como naquela proposicao, denote por Hm a matriz
de Hessenberg superior quadrada obtida atraves de He m quando suprimimos a ultima linha desta. Segue que
AQm = Qm Hm + qm+1 0 . . . 0 hm+1,m
Rodney Josue Biezuner 120
ou
AQm = Qm Hm + qm+1 hm+1,m etm . (6.26)
m
Como vimos no captulo anterior, se q, Aq, . . . , A q sao linearmente independentes, entao hm+1,m 6= 0. Se
eles sao linearmente dependentes, entao hm+1,m = 0 e
AQm = Qm Hm . (6.27)
AQ = QB.
Reciprocamente, se S e invariante sob A, entao 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 metodo de Arnoldi. Seja um autovalor de Hm
com autovetor unit
ario x. Seja v = Qm x. Ent
ao
onde xm denota a u
ltima componente de x.
O metodo de Arnoldi em geral obtem os autovalores perifericos. Os autovalores interiores podem ser encon-
tradas atraves da estrategia do deslocamento.
Quando A e simetrica, como vimos no captulo anterior Hm e uma matriz tridiagonal Tm que pode ser
obtida atraves de uma formula de recorrencia.
Veja [Watkins] para detalhes sobre implementacoes eficientes do metodo de Arnoldi e algoritmo de Lanczos
para encontrar autovalores e autovetores de matrizes esparsas.
6.7 Exerccios
6.1 Suponha que A Mn (C) e uma matriz diagonalizavel tal que nenhum autovalor de A diferente do
autovalor dominante 1 tem modulo igual a A. Em outras palavras, se r e a dimensao do autoespaco
associado a 1 , ou autovalores de A satisfazem
com
1 = . . . = r .
Mostre que o metodo das potencias pode ser aplicado a A para encontrar 1 e um autovetor unitario
no autoespaco associado a 1 .
6.2 Usando a forma can onica de Jordan, mostre que a hipotese de A ser diagonalizavel pode ser removida
da hipotese do exerccio anterior decompondo o vetor inicial v0 como a soma de um vetor na direcao
do autovetor dominante v1 e de vetores principais nos subespacos de Jordan da matriz.
6.3 Prove a Proposicao 6.7 sem assumir que o autovalor e simples.
6.4 Prove que o produto de uma matriz triangular superior e uma matriz de Hessenberg superior e 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 Programmers Guide to Numerical
Computing, Prentice Hall, 2003.
[Meurant] Gerard MEURANT, The Lanczos and Conjugate Gradient Algorithms: from theory
to finite precision computations, SIAM, 2006.
122