Escolar Documentos
Profissional Documentos
Cultura Documentos
Algebra
Linear Num
erica
Rodney Josu
e Biezuner
Departamento de Matematica
Instituto de Ciencias Exatas (ICEx)
Universidade Federal de Minas Gerais (UFMG)
30 de novembro de 2009
Sum
ario
0 Introdu
c
ao: Representa
c
ao de N
umeros
0.1 Ponto Flutuante . . . . . . . . . . . . .
0.2 Erros de Arredondamento . . . . . . . .
0.3 O Padrao de Ponto Flutuante IEEE 754
0.3.1 N
umeros normalizados . . . . . .
0.3.2 N
umeros denormalizados . . . .
0.3.3 Outros valores numericos . . . .
Reais
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
no
. .
. .
. .
. .
. .
. .
Computador
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
5
5
5
6
6
1 Matrizes Esparsas
1.1 Problema Modelo . . . . . . . . . . . . . . . . . . . .
1.1.1 Problema de Poisson Unidimensional . . . . .
1.1.2 Problema de Poisson Bidimensional . . . . .
1.2 Matrizes Esparsas . . . . . . . . . . . . . . . . . . .
1.3 Implementacao Computacional de Matrizes Esparsas
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
8
10
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
18
19
22
27
29
. . . . .
. . . . .
. . . . .
. . . . .
Modelo
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
32
32
33
33
34
35
36
37
40
42
44
44
50
52
59
61
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 M
etodos Iterativos Lineares
3.1 Metodo Iterativos Basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Metodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Metodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 Metodo SOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.4 Comparacao da Velocidade de Convergencia dos Tres Metodos no Problema
3.1.5 Metodo de Jacobi Amortecido . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Analise de Convergencia dos Metodos Iterativos Lineares . . . . . . . . . . . . . . .
3.2.1 Convergencia dos Metodos Iterativos Lineares . . . . . . . . . . . . . . . . .
3.2.2 Velocidade de Convergencia dos Metodos Iterativos Lineares . . . . . . . .
3.2.3 Convergencia para Matrizes Simetricas Positivas Definidas . . . . . . . . . .
3.3 Convergencia dos Metodos Iterativos Lineares para Matrizes de Discretizacao . . .
3.3.1 Convergencia do Metodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Convergencia do Metodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . .
3.3.3 Convergencia do Metodo SOR . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.4 Convergencia do Metodo de Jacobi Amortecido . . . . . . . . . . . . . . . .
3.3.5 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 M
etodos de Proje
c
ao
4.1 Teoria Geral . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Representacao Matricial . . . . . . . . . . . .
4.1.2 Minimizacao de Funcionais . . . . . . . . . .
4.1.3 Estimativa do Erro em Metodos de Projecao
4.2 Caso Unidimensional: Metodos de Descida . . . . . .
4.2.1 Metodos de Descida . . . . . . . . . . . . . .
4.2.2 Metodo da Descida Mais Acentuada . . . . .
4.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
62
62
63
64
66
67
67
68
72
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 M
etodos de Subespa
cos de Krylov
5.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Subespacos de Krylov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Algoritmo de Arnoldi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Implementacao Pratica: Metodos de Ortogonalizacao Estaveis . . . . . . . . . .
5.4.1 Metodo de Gram-Schmidt Modificado (MGS) . . . . . . . . . . . . . . .
5.4.2 Metodo de Gram-Schmidt Modificado com Reortogonalizacao (MGSR) .
5.5 Metodo de Arnoldi para Sistemas Lineares . . . . . . . . . . . . . . . . . . . . .
5.6 Decomposicao QR via MGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7 Algoritmo de Lanczos e Metodo do Gradiente Conjugado . . . . . . . . . . . .
5.8 Metodo do Gradiente Conjugado como um Metodo de Descida . . . . . . . . .
5.8.1 Convergencia do Metodo do Gradiente Conjugado em Aritmetica Exata
5.9 Velocidade de Convergencia do Metodo do Gradiente Conjugado . . . . . . . .
5.9.1 Polinomios de Chebyshev . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9.2 Velocidade de Convergencia do CG . . . . . . . . . . . . . . . . . . . . .
5.10 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
74
. 74
. 75
. 76
. 79
. 79
. 82
. 83
. 85
. 87
. 91
. 94
. 96
. 96
. 99
. 101
6 O Problema do Autovalor
6.1 Caracterizacao Variacional dos Autovalores de uma Matriz Simetrica: Quociente de Rayleigh
6.2 Metodo das Potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Metodo das Potencias Inverso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.2 Metodo das Potencias com Deslocamento . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.3 Iteracao do Quociente de Rayleigh . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Algoritmo QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1 Reducao de uma matriz a sua forma de Hessenberg . . . . . . . . . . . . . . . . . . . .
6.3.2 Aceleracao do algoritmo QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.3 Implementacao pratica do algoritmo QR . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4 Iteracao de subespacos e iteracao simultanea . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.1 Equivalencia entre o Algoritmo QR e Iteracao Simultanea . . . . . . . . . . . . . . . .
6.4.2 Convergencia do Algoritmo QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5 Metodo de Arnoldi e Algoritmo de Lanczos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6 O Problema de Autovalor Simetrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.7 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
102
102
105
107
107
109
110
111
114
116
116
118
119
119
120
121
Captulo 0
Introduc
ao: Representa
c
ao de
N
umeros 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
c
ao. Definimos o erro absoluto causado por uma computacao por
Erro absoluto = |(valor calculado) (valor exato)| .
O erro relativo causado por uma computacao e definido por
erro absoluto
.
Erro relativo =
valor exato
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
` vezes o erro relativo e expresso como uma porcentagem:
maior que o erro cometido no segundo caso. As
Erro percentual = [(erro relativo) 100] %.
Assim, o erro percentual no primeiro caso e 100%, enquanto que o erro percentual no segundo caso e
104 = 0, 0001%.
0.1
Ponto Flutuante
Na Matematica Pura, os n
umeros reais sao infinitos, infinitamente grandes e infinitamente pequenos. Nao
existe um n
umero maior ou um n
umero menor. Alem disso, eles tambem sao continuamente distribudos:
nao existem espacos entre n
umeros reais, pois entre quaisquer dois n
umeros reais sempre existe outro n
umero
real. Mais que isso, eles sao distribudos uniformemente na reta real. Um n
umero real e infinitamente preciso:
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
a = a0 +
X
an
10n
n=1
1 101 = 0, 1
2 101 = 0, 2
3 101 = 0, 3
4 101 = 0, 4
5 101 = 0, 5
6 101 = 0, 6
7 101 = 0, 7
8 101 = 0, 8
9 101 = 0, 9
0
0
1 100
2 100
3 100
4 100
5 100
6 100
7 100
8 100
9 100
1
=1
=2
=3
=4
=5
=6
=7
=8
=9
1 101
2 101
3 101
4 101
5 101
6 101
7 101
8 101
9 101
= 10
= 20
= 30
= 40
= 50
= 60
= 70
= 80
= 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
c
ao. Definimos a precis
ao de um ponto flutuante como sendo o n
umero de dgitos significativos
que ele possui em seu significando. A exatid
ao 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.
0.2
Erros de Arredondamento
Quando um valor computado esta entre dois valores representaveis, ele sera substitudo pelo valor representado mais proximo. Esta e a origem dos erros de arredondamento.
0.3 Defini
c
ao. Definimos o erro de arredondamento por
Erro de arredondamento = |(valor representado) (valor exato)| .
0.4 Defini
c
ao. 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 implementados 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 n
umero
s
n = (1) (1.f ) 2E
onde E = e 127 (float) ou E = e 1023 (double), chamado um n
umero normalizado. O algarismo 1 e
o ponto binario implcitos, juntamente com a parte fracionaria f , constituem o significando do n
umero, de
modo que um n
umero de precisao simples possui 24 bits no seu significando, enquanto que um n
umero de
precisao dupla possui 53 bits no seu significando.
Assim, o maior valor possvel em modulo para float corresponde a
s = 1, e = 254 e f = 11111111111111111111111,
ou seja,
23
X
1
2127 3, 4028 1038 ,
i
2
i=0
0.3.2
N
umeros denormalizados
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 n
umeros denormalizados.
No entanto, o espa
entre
umeros representados no intervalo [1, 2] e igual a 252 2.22 1016 ; em
j coj+1
n
geral, no intervalo 2 , 2
o espaco e 2j 252 , de modo que o espaco relativo nunca excede 252 .
0.3.3
Captulo 1
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 n
umero 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.
1.1
Problema Modelo
Como fonte de matrizes esparsas, consideraremos o problema de resolver a equacao de Poisson com condicao
de Dirichlet discretizada atraves de diferencas finitas em uma e duas dimensoes, que fornece uma matriz
esparsa simetrica.
1.1.1
Considere o problema de Dirichlet para a equacao de Poisson no intervalo unitario I = (0, 1):
u00 = f (x)
se 0 < x < 1,
u (0) = a, u (1) = b.
(1.1)
Seja h > 0. As expansoes de Taylor para uma funcao u `a direita e `a esquerda de um ponto x0 sao dadas
respectivamente por
u(x0 + h) = u(x0 ) + u0 (x0 )h +
1
1 00
u (x0 )h2 + u000 (x0 )h3 + . . . ,
2!
3!
1 00
1
u (x0 )h2 u000 (x0 )h3 + . . .
2!
3!
e
Se somarmos estas duas equacoes, obtemos
u00 (x0 ) =
2
2
u(x0 h) 2u(x0 ) + u(x0 + h)
u(4) (x0 )h2 u(6) (x0 )h4 . . . ,
h2
4!
5!
7
com erro
1 (4)
u ()h2 = O(h2 ),
12
onde x0 h 6 6 x0 + h. Esta aproximacao e chamada uma diferenca centrada para a derivada segunda.
Divida o intervalo [0, 1] em n subintervalos de comprimento h = 1/n atraves de n 1 pontos interiores
uniformemente espacados:
=
x0 = 0, x1 = h, x2 = 2h, . . . , xn1 = (n 1) h, xn = nh = 1,
de modo que [0, 1] = [x0 , x1 ] [x1 , x2 ] . . . [xn1 , xn ]. Introduzimos a notacao:
ui = u(xi ),
fi = f (xi ) .
Esta e uma discretizac
ao uniforme do intervalo [0, 1]. Uma vez discretizado o domnio da equacao diferencial
parcial, procedemos `a discretizacao desta u
ltima. Usando diferencas centradas para cada ponto interior xi ,
1 6 i 6 n 1, temos
ui1 + 2ui ui+1
= fi .
(1.2)
h2
Esta discretizacao em diferencas finitas para a equacao de Poisson e chamada f
ormula dos tres pontos.
Portanto, para encontrar a solucao discretizada temos que resolver o sistema linear com n 1 equacoes a
n 1 incognitas:
2
h (2u1 u2 )
= f1 + ah2
= f2
h (u1 + 2u2 u3 )
..
,
.
2
h (un2 + 2un1 )
= fn1 + bh2
ou seja,
2
1
h2
1
2
1
1
..
.
..
..
..
. 1
1
2
1
1
2
u1
u2
..
.
..
.
un2
un1
f1 + ah2
f2
..
.
...
fn2
fn1 + bh2
1.1.2
Considere o problema de Dirichlet homogeneo para a equacao de Poisson no quadrado unitario = (0, 1)
(0, 1)
u = f (x, y)
em ,
(1.3)
u=0
sobre .
Discretizamos o quadrado atraves dos pontos
(xi , yj ) = (ih, jh) ,
0 6 i, j 6 n,
onde
h=
1
,
n
.
y 2
uxx
uyy
(1.4)
Como a funcao u e calculada em cinco pontos, esta discretizacao em diferencas finitas para a equacao de
Poisson e chamada a f
ormula 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 n
umero 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:
u1,1 , u2,1 , . . . , un1,1 , u1,2 , u2,2 , . . . , un1,2 , . . . . . . , u1,m1 , u2,m1 , . . . , un1,m1 .
2
Neste caso, a matriz associada ao sistema linear e uma matriz (n 1) (n 1) que pode ser escrita como
2
uma matriz de (n 1) blocos de dimensao (n 1) (n 1) na forma
B I
I
B I
.
.
..
..
1
I
A= 2
..
..
h
.
. I
I
B I
I
B (n1)(n1)
10
4 1
1
4 1
..
.
1
B=
..
..
..
.
1
1
4
1
1
4 (n1)(n1)
Observe que
aii = 4
2
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
0 1
0 1
4 1
0 1
0
A= 2
h
0 1
0 1
4
0
0 1
0
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
Observe que a matriz A e uma matriz simetrica, pentadiagonal e esparsa.
1.2
Matrizes Esparsas
Outros problemas de EDPs, especialmente aqueles envolvendo derivadas primeiras (tais como problemas de
conveccao-difusao), em geral levam a matrizes nao-simetricas. Discretizacoes de outros tipos, tais como as
encontradas em elementos finitos, levam a matrizes esparsas com outro tipo de estrutura. De qualquer modo,
todos possuem em comum o fato de a matriz de discretizacao ser uma matriz esparsa.
Existem essencialmente dois tipos de matrizes esparsas: estruturadas e n
ao-estruturadas. Uma
matriz estruturada e uma em que as entradas nao-nulas formam um padrao regular, frequentemente ao
longo de um n
umero pequeno de diagonais (tais como as matrizes que vimos no problema modelo na secao
anterior). Os elementos nao-nulos podem tambem estar organizados em blocos (submatrizes densas) de
mesmo tamanho, organizadas ao longo de um n
umero pequeno de blocos diagonais. Discretizacoes atraves de
diferencas finitas tipicamente dao origem a matrizes esparsas com estruturas regulares. Uma matriz esparsa
em que as entradas nao-nulas sao irregularmente localizadas e uma matriz esparsa irregularmente estruturada.
Os metodos de volumes finitos ou elementos finitos aplicados a domnios com geometria complexa em geral
levam matrizes irregularmente estruturadas.
Esta distincao nao afeta em geral metodos de solucao direta mas e muito importante para os metodos de
solucao iterativos. Neste u
ltimos, uma das operacoes basicas essenciais e a do produto de uma matriz por
um vetor.
1.3
11
Implementac
ao Computacional de Matrizes Esparsas
0
7
0
0
0
valueArray = 2
7 ,
rowIndexArray = 3
2 ,
columnIndexArray = 3
2 .
A=
0
0
2
6
0
3
0
4
9
0
1
5
3
0
0
0
2
0
0
4
A=
1
5
3
0
0
0
7
0
0
0
0
0
2
6
0
3
0
4
9
0
0
2
0
0
4
columIndexArray = 1
rowPointerArray = 1
11
12
12
C/C++ ou Java):
for( int i = 0; i < n; i++ )
{
lowerIndex = rowPointerArray[i];
upperIndex = rowPointerArray[i+1];
//loop over row i
for( int j = lowerIndex; j < upperIndex; j++ )
Av[i] += valueArray[j]* v[columArray[j]];
}
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 encadeadas, 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 exemplo, 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
2.1
Normas Matriciais
(2.1)
n
X
i,j=1
13
|aij | .
(2.2)
14
De fato,
n
n
n X
X
X
aik bkj 6
|aik bkj | 6
kABk1 =
i,j=1 k=1
i,j,k=1
n
X
|aik blj | =
i,j,k,l=1
n
X
i,k=1
|aik |
n
X
j,l=1
n
X
kAk2 =
1/2
|aij |
(2.3)
i,j=1
Com efeito,
n
2
n
! n
! n
n X
n
n
X
X
X
X
X
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
n
X
p
kAkp =
|aij | .
(2.4)
i,j=1
aximo modificada):
2.6 Exemplo. Norma l modificada (norma do m
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
A2 =
e portanto
2
A
2
2
2
2
No entanto, um m
ultiplo escalar desta norma vetorial e uma norma matricial:
kAkn = n max |aij | .
(2.5)
16i,j6n
Com efeito,
kABkn
n
n
n
X
X
X
= 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
15
|x|61
x6=0
|Ax|
.
|x|
(2.6)
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
x
|Ax|
.
= 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
|x|
|x|
|x|=1
|x|61
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
x6
=
0
Bx6
=
0
x6
=
0
y6
=
0
x6
=
0
|x|
|Bx| |x|
|Bx|
|x|
|y|
|x|
A norma do operador satisfaz a propriedade extremamente u
til
|Ax| 6 kAk |x|
(2.7)
16i6n
n
X
|aij | .
(2.8)
j=1
Esta norma e a norma do operador induzida pela norma vetorial l . De fato, se x = (x1 , . . . , xn ),
temos
n
n
X
X
X
|Ax| = max
aij xj 6 max
|aij xj | 6 max
|aij | |x| = kAkL |x| ,
16i6n
16i6n
16i6n j=1
j=1
j=1
de modo que
max |Ax| 6 kAkL .
|x|=1
aij
se aij 6= 0,
,
yi =
|a |
1ij
se aij = 0.
16
|x| =1
n
X
n
= max
aij yj = max
|aij | = kAkL .
16i6n
16i6n j=1
j=1
n
X
16j6n
|aij | .
(2.9)
i=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
n
X
|xi Ai |1 =
i=1
= kAkC
n
X
n
X
|xi | |Ai |1 6
i=1
n
X
i=1
i=1
donde
max |Ax|1 6 kAkC .
|x|1 =1
|x|1 =1
16j6n
16j6n
|Ax|p
|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
np
o
p
|| : e um autovalor de A A .
|||A|||2 = max = max
17
De fato, A A e uma matriz hermitiana logo todos os seus autovalores sao nao-negativos. Pela caracterizacao variacional dos autovalores de uma matriz hermitiana temos
max = max
hA Ax, xi2
2
|x|2
x6=0
= max
x6=0
|Ax|2
2
|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
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 s
ao 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
x=
n
X
x i ei
i=1
n
X
i=1
|xi | .
18
n
X
kxi ei k2 =
i=1
|xi | kei k2
i=1
n
X
max kei k2
i=1,...,n
X
n
|xi |
i=1
= C2 kxk1 ,
onde denotamos C2 = max kei k2 .
i=1,...,n
Para provar a desigualdade reversa, considere a esfera unitaria na norma da soma S = {x V : kxk1 = 1}.
A desigualdade anterior garante que a funcao x 7 kxk2 e contnua na topologia definida pela norma kk1 e
portanto assume um valor mnimo m no conjunto fechado e limitado (compacto) S. Necessariamente m > 0:
n
n
P
P
se existisse e =
xi ei S tal que kek2 = 0, teramos e =
xi ei = 0, contrariando o fato que {e1 , . . . , en }
i=1
i=1
kxk > m
1 2
para todo x V , x 6= 0. Tomando C1 = 1/m, segue que kxk1 6 C1 kxk2 para todo x V .
2.2
2.13 Defini
c
ao. Dizemos que uma matriz Ann e diagonalmente dominante se
|aii | >
n
X
|aij |
para todo i = 1, . . . , n
j=1
j6=i
n
X
|aij |
para todo i = 1, . . . , n.
j=1
j6=i
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
A1 =
(I A) .
(2.11)
k=0
N
X
k=0
(I A) = [I (I A)]
N
X
k=0
(I A) =
N
X
(I A)
k=0
k
k
(I A) 6 kI Ak .
N
+1
X
k=1
N +1
(I A) = I (I A)
19
N +1
= 0.
0
se i = j,
1
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
n
X
X
aij
X
1
= 1
|aij | < 1,
I D A ij =
aii |aii |
j=1
j=1
j=1
j6=i
j6=i
4 2 1
0 1 1
0 1 1
demonstra.
2.3
A primeira ferramenta teorica e o importante Teorema dos Discos de Gershgorin. Ele decorre da seguinte
observacao: se A e uma matriz complexa n n, podemos sempre escrever A = D + B, onde D = diag
(a11 , . . . , ann ) e a matriz diagonal formada pela diagonal principal de A e B consiste dos elementos restantes
de A, possuindo uma diagonal principal nula. Se definirmos A = D + B, entao A0 = D e A1 = A. Os
autovalores de D sao a11 , . . . , ann , enquanto que os autovalores de A devem estar localizados em vizinhancas
dos pontos a11 , . . . , ann , desde que seja suficientemente pequeno. O mesmo deve valer para os autovalores
da matriz A: eles devem estar contidos em discos centrados nos elementos a11 , . . . , ann da diagonal principal
se os discos sao suficientemente grandes. O Teorema de Gershgorin da uma estimativa precisa e simples de
calcular para os raios destes discos em funcao das entradas restantes da matriz A. Denote o disco complexo
fechado de centro em a e raio R por
DR (a) = {z C : |z a| 6 R} .
20
n
X
|aij |
(2.12)
j=1
j6=i
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
G (A) =
n
[
(2.13)
i=1
para j = 1, . . . , n,
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
n
X
xk = (Ax)k =
akj xj
j=1
que e equivalente a
xk ( akk ) =
n
X
akj xj .
j=1
j6=k
Da,
|xk | | akk | 6
n
X
|akj xj | =
j=1
j6=k
n
X
j=1
j6=k
n
X
j=1
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
para 0 6 t 6 1. Note que
Ri (At ) = Ri (tB) = tRi (A) .
Para simplificar a notacao, assuma que a uniao dos primeiros k discos de Gershgorin
Gk (A) =
k
[
i=1
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
i=1,...,n
j=1
|aij | , max
n
X
j=1,...,n
i=1
Prova. O ponto no i-esimo disco de Gershgorin que e mais distante da origem tem modulo
|aii | + Ri (A) =
n
X
|aij |
j=1
pj
aij
D1 AD =
pi
e `a sua transposta, obtemos o seguinte resultado que permite obter uma estimativa arbitrariamente boa dos
autovalores de A:
22
2.19 Corol
ario. Se A Mn (C) e p1 , . . . , pn > 0, ent
ao todos os autovalores de A est
ao contidos em
n
n
[
1 X
t 1
G D AD G DA D
=
z C : |z aii | 6
pj |aij |
(2.14)
pi j=1
i=1
j6=i
n
n
[
X
1
z C : |z aii | 6 pj
|aij | .
i=1
i=1 i
i6=j
Em particular,
n
n
X
X
1
1
(A) 6 min max
pj |aij | , max pj
|aij | .
p1 ,...,pn >0 i=1,...,n pi
j=1,...,n
p
j=1
i=1 i
2.4
(2.15)
Propriedade FC
Na nossa busca por propriedades para matrizes diagonalmente dominantes que garantirao a sua invertibilidade, 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
| aii | < Ri (A) =
n
X
|aij |
j=1
j6=i
n
X
|aij |
j=1
j6=i
Tais pontos na regiao de Gershgorin G (A) (nao necessariamente autovalores de A) constituem precisamente 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
|xk | > |xj |
para j = 1, . . . , n.
23
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 .
Prova. Como na demonstracao do Teorema de Gershgorin, temos
|xi | | aii | 6
n
X
|aij xj | =
j=1
j6=i
n
X
j=1
j6=i
n
X
(2.16)
j=1
j6=i
j=1
j6=i
donde
n
X
n
X
|aij |
j=1
j6=i
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 ent
ao
|xi | = |xj |
para todos i, j = 1, . . . , n.
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 Defini
c
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
ai1 i2 , ai2 i3 , . . . , aim1 im
sao nao-nulas.
Por exemplo, a matriz diagonalmente dominante nao-invertvel
4 2 1
0 1 1 ,
0 1 1
ja vista anteriormente, nao satisfaz a propriedade FC porque o par 2, 1 nao admite tal seq
uencia (a u
nica
seq
uencia possvel e a23 , a31 ). Ja qualquer par de inteiros distintos i, j tal que aij 6= 0 admite a seq
uencia
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
|xi | = |xj |
para todos i, j = 1, . . . , n.
para k = 1, . . . , n.
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 Defini
c
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
ij =
1
0
se aij 6= 0,
se aij = 0.
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 comprimento m em (A) de Pi para Pj se e somente se
m
(|A| )ij 6= 0
ou, equivalentemente, 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
|A|
2
de modo que |A|
ij
ij
n
X
(|A|)ik (|A|)kj =
k=1
n
X
|aik | |akj | ,
k=1
6= 0 se e somente se aik , akj sao ambos nao-nulos para algum ndice k. Mas isso e
|A|
m+1
ij
n
X
k=1
n
X
k=1
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
c
ao. 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|
ou, equivalentemente, se e somente se
>0
M (A)
> 0.
2.33 Corol
ario. Seja A Mn (C). A satisfaz a propriedade FC se e somente se
(I + |A|)
n1
>0
[I + M (A)]
> 0.
27
Prova. Temos
(I + |A|)
n1
= I + (n 1) |A| +
n1
n1
n1
n1
2
|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.
2.5
Matrizes Irredutveis
` vezes, os resultados da secao anterior sao formulados em termos de matrizes irredutveis. Neste secao
As
examinaremos esta formulacao equivalente.
Lembre-se que uma matriz de permuta
c
ao P e uma matriz quadrada cujas entradas sao todas 0 ou 1
e, alem disso, em cada linha e em cada coluna de P existe exatamente um 1. Em particular, P e uma matriz
ortogonal, de modo que P 1 = P t , isto e, a inversa de P tambem e uma matriz de permutacao. Um caso
especial de uma matriz de permutacao e uma matriz de transposic
ao, que e uma matriz de permutacao T
igual `a matriz identidade exceto em duas posicoes, isto e, para algum par de ndices fixado k, l temos
0
se (i, j) = (k, k) ou se (i, j) = (l, l) .
Matrizes de transposicao sao simetricas. O efeito de multiplicar uma matriz A por uma matriz de transposicao
a` esquerda e trocar a posicao de duas linhas da matriz A (no caso acima, as linhas k e l), enquanto que a
multiplicacao de A por uma matriz de transposicao `a direita muda a posicao de duas colunas de A (no caso
acima, as colunas k e l).
1 0 0 0
a11 a12 a13 a14
a11 a12 a13 a14
0 0 1 0 a21 a22 a23 a24 a31 a32 a33 a34
TA =
0 1 0 0 a31 a32 a33 a34 = a21 a22 a23 a24 ,
0 0 0 1
a41 a42 a43 a44
a41 a42 a43 a44
AT =
a31 a32 a33 a34 0 1 0 0 = a31 a33 a32 a34 .
a41 a42 a43 a44
0 0 0 1
a41 a43 a42 a44
Pode-se provar que toda matriz de permutacao P e o produto de matrizes de transposicao P = T1 . . . Tm ;
em particular, P t = Tm . . . T1 . A matriz
P t AP = Tm . . . T1 AT1 . . . Tm
e portanto obtida atraves da permutacao de linhas e colunas de A, de modo que nenhum novo elemento e
criado ou algum elemento existente de A destrudo.
2.34 Defini
c
ao. Dizemos que uma matriz A Mn (C) e redutvel se existe alguma matriz de permutacao
P e algum inteiro 1 6 m 6 n 1 tal que
B C
t
P AP =
0 D
28
B C
t
,
A = P AP =
0 D
teremos Ax = P AP t x = b ou AP t x = P t b; denotando x = P t x e b = P t b, resolver o sistema Ax = b e entao
equivalente a resolver o sistema
Ax = b.
Escrevendo
x=
y
z
b=
b1
b2
By + Cz = b1
Dz = b2
Se resolvermos primeiro Dz = b2 e utilizarmos o valor de z encontrado na primeira equacao resolvendo
By = b1 Cz, teremos reduzido o problema original a dois problemas menores, mais faceis de resolver.
2.35 Teorema. Uma matriz A Mn (C) e irredutvel se e somente se
(I + |A|)
n1
>0
[I + M (A)]
> 0.
n1
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
para alguma matriz Ck . Logo, como
(I + |A|)
n1
n1
n1 t
= I + P A P t
= P I + A
P
n1
n1
2
n1
n1
= P I + (n 1) |A| +
|A| + . . . +
|A|
+ |A|
Pt
2
n3
29
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
(I + |A|)
n1
m
=I+
|A| ,
m
m=1
n1
X
n1
(I
n
h + |A|)
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
S1 := {Pk : Pk = Pj ou existe um caminho direcionado em (A) entre Pk e Pj } ,
S2 = [ nodos de (A)] \S1 .
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 ,
segue que existe uma matriz de permutac
ao P tal que
B
P t AP =
0
C
D
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.
2.37 Proposi
c
ao. Se A e uma matriz irredutvel, diagonalmente dominante tal que |aii | >
n
P
j=1
j6=i
|aij | para
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.
30
Captulo 3
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
2
melhor a solucao exata. Em seguida, x1 e usada paragerar
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 <
31
3.1
3.1.1
32
M
etodo Iterativos B
asicos
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
..
,
.
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
xi =
n
X
1
bi
aij xj
.
aii
j=1
j6=i
Isso sugere definir um metodo iterativo da seguinte forma: suposto xk = xk1 , . . . , xkn obtido no passo
, . . . , xk+1
anterior, obtemos xk+1 = xk+1
por
n
1
xk+1
=
i
n
X
1
bi
aij xkj
.
aii
j=1
(3.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
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
uk+1
i,j =
uk+1
i,j =
1 k
ui,j1 + uki1,j + uki+1,j + uki,j+1 .
4
(3.3)
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)
3.1.2
33
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
este e usado no lugar de xki no calculo seguinte de xk+1
i+1 . No
i
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
n
X
X
1
xi =
bi
aij xj
aij xj .
aii
j=1
j=i+1
Entao definimos
xk+1
i
i1
n
X
X
1
=
bi
aij xk+1
aij xkj
j
aii
j=1
j=i+1
(3.6)
1 k+1
k
k
ui,j1 + uk+1
i1,j + ui+1,j + ui,j+1
4
(3.7)
assumindo que os pontos da malha sao percorridos na ordem lexicografica, de modo que quando vamos
calcular o valor de u no ponto i, j na iteracao k + 1, nesta mesma iteracao ja calculamos os valores de u em
i 1, j e em i, j 1, e usamos estes valores para calcular uk+1
es dos valores uki,j1 e uki1,j obtidos
i,j ao inv
na iteracao anterior.
Em forma matricial, o algoritmo de Gauss-Seidel pode ser descrito da seguinte forma. Dada uma matriz
A, existe uma u
nica decomposicao
A=DLU
(3.8)
onde D e uma matriz diagonal, L e uma matriz estritamente triangular inferior e U e uma matriz estritamente
triangular superior; de fato, D = diag (a11 , . . . , ann ) e a parte diagonal de A, L e a parte estritamente
triangular inferior de A e U e a parte estritamente triangular superior de A. Entao o algoritmo de GaussSeidel pode ser definido por
xk+1 = D1 Lxk+1 + U xk + b
(3.9)
ou
(D L) xk+1 = U xk + b,
donde
xk+1 = (D L)
Ux + b .
(3.10)
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
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
n
X
X
1
bi
x
bk+1
=
aij xk+1
aij xkj ;
i
j
aii
j=1
j=i+1
da tomamos
k+1
xk+1
= xki + x
bi xki .
i
xk+1
i
i1
n
X
X
1
bi
= xki +
aij xk+1
(3.11)
i1
n
X
X
aii xk+1
aij xk+1
= aii xki + bi
aij xkj ,
i
j
j=1
temos
ou
k+1
(3.14)
1
1
k+1
DL x
=
D + U xk + b,
donde
3.1.4
j=i
1
1
k
DL
D+U x +b .
(3.15)
Compara
c
ao da Velocidade de Converg
encia dos Tr
es M
etodos no Problema 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
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
ud = gd
em d ,
sobre d .
u
uk
|uk+1 |2
< 108 .
O n
umero de iteracoes necessarias para convergir de acordo com esta margem de tolerancia, para tres refinamentos 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.
Jacobi
SOR ( = 0.8)
Gauss-Seidel
SOR ( = 1.4)
SOR ( = 1.6)
SOR ( = 1.7)
SOR ( = 1.8)
SOR ( = 1.9)
SOR ( = 2.0)
h = 0.1
299
235
160
67
42
57
86
176
h = 0.05
1090
845
581
262
151
96
89
180
h = 0.025
3908
3018
2082
955
577
412
252
179
Vemos que o metodo de Gauss-Seidel e cerca de duas vezes mais rapido para convergir que o metodo de
Jacobi e que dependendo da escolha de , o metodo SOR pode ser ate dez vezes mais rapido que o metodo
de Gauss-Seidel para a malha mais refinada. Subrelaxamento nao ajuda e para = 2 o metodo SOR e
divergente.
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
x
bk+1
=
i
n
X
1
bi
aij xkj
,
aii
j=1
j6=i
36
e tomamos
k+1
xk+1
= xki + x
bi xki ,
i
ou seja,
n
X
xk+1
= xki +
aij xkj
i
aii bi
xi .
j=1
(3.16)
j6=i
n
X
aij xkj ,
aii xk+1
= aii xki + bi
i
j=1
temos
ou
1
1
k+1
D x
=
D A xk + b,
donde
k+1
(3.17)
1
D
1
k
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
c
ao. Um m
etodo iterativo linear para resolver o sistema Ax = b e um metodo da forma
xk+1 = Rxk + N b
onde R e N sao matrizes dadas. A matriz R e chamada a matriz de itera
c
ao do metodo.
Em geral, um metodo iterativo linear para resolver o sistema linear
Ax = b
envolve a decomposicao da matriz A na forma
A = B C,
(3.19)
onde B e necessariamente uma matriz invertvel, e em seguida a resolucao iterativa do sistema de equacoes
Bxk+1 = Cxk + b
(3.20)
37
xk+1 = B 1 Cxk + b .
(3.21)
N = B 1 .
(3.22)
Jacobi
Jacobi amortecido
Gauss-Seidel
SOR
DA
1
D
1
DA
DL
1
DL
1
D+U
D1 (D A)
1
1
1
D
DA
(D L) U
1
1
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
c
ao. 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
ek+1 = B 1 C ek
38
ek+1 = Rek .
(3.26)
Logo,
ek = Rk e0 =
n
X
ai ki vi ,
i=1
de modo que
n
k X
k
e 6
|ai | |i | |vi | .
i=1
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
(R) = max |i | < 1 .
16i6n
(3.28)
39
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 ;
T e chamada a forma triangular ou forma normal de
1 a12
T =
a22 . . . a1n
a23 . . . a2n
3 . . . a3n
..
..
.
.
n
t2
Dt =
.
.
..
n
t
Temos
Dt T Dt1
a12 t1
2
a22 t2
a23 t1
3
...
...
...
..
.
...
...
...
a1n tn+1
a2n tn+2
a3n tn+3
..
.
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
teremos
k
A 6 kAkk 0.
40
3.7 Proposi
c
ao. 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 autovalores de sua matriz de iteracao R. Como esta u
ltima 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.
3.2.2
Velocidade de Converg
encia dos M
etodos Iterativos Lineares
O raio espectral tambem da informacao sobre a velocidade de convergencia. Se nos tivermos dois metodos
iterativos lineares diferentes, isto e, duas maneiras diferentes de decompor a matriz A:
A = B1 C1 = B2 C2 ,
entao o segundo metodo convergira mais rapido se e somente se
(R2 ) < (R1 ) .
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
|1 | > |2 | > . . . > |n |
e seja {v1 , . . . , vn } uma correspondente base de autovetores. Escrevendo de novo
e0 =
n
X
ai vi ,
i=1
donde
ek = Rk e0 =
n
X
i=1
ai ki vi ,
41
segue que
"
ek = k1 a1 v1 +
n
X
ai
i=2
Como
i
1
i
1
vi .
k
0,
k+1
e
|ek |
= |1 | = (R) .
(3.29)
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
c
ao. 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
k
(A) = Ak 6 Ak ,
donde
1/k
(A) 6 Ak .
1
A
(A) +
tem raio espectral menor que 1, logo B k 0. Portanto, existe algum N = N (, A) tal que
k
B < 1,
para todo k > N . Logo,
k
A < ( (A) + )k ,
donde
k 1/k
A
< (A) +
(3.31)
42
3.11 Corol
ario. Seja R a matriz de iterac
ao de um metodo iterativo linear. Ent
ao a taxa assint
otica de
convergencia do metodo e dada por
R (R) = log10 (R) .
Prova. Pois
(3.32)
1/k
1/k
R (R) = lim log10 Rk
= log10 lim Rk
= log10 (R) .
k
e
=
6 kRk = (R) + ,
|ek |
|Rk e0 |
donde
log10
ou
k+1
e
|ek |
= log10 (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
log10
ou
k+m
e
|ek |
m log10 (R) ,
log10 ek+m / ek
m=
log10 (R)
(3.34)
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
c
ao. Introduzimos uma ordenacao parcial em Mn definindo
A6B
se
hAx, xi 6 hBx, xi
n
para todo x C .
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
metodo iterativo linear com matriz de iterac
ao R = B 1 C converge se e somente se a matriz simetrica
B t + C e positiva definida.
Prova. Para ver que B t + C e simetrica, escreva B t + C = B t + B A e note que
t
t
t
B + C = B t + B A = B + B t A = B t + B A = B t + C.
Medimos a norma do erro atraves da norma induzida por A
1/2
|x|A := hAx, xi
e consideraremos a norma matricial kkA induzida por esta norma. Se provarmos que
kRkA < 1,
o metodo convergira. Temos
2
kRkA
1 2
t t
B Cx
1 2
AB 1 Cx, B 1 Cx
C B AB 1 Cx, x
A
= B C A = sup
=
sup
=
sup
.
2
hAx, xi
hAx, xi
|x|A
x6=0
x6=0
x6=0
(3.35)
C t B t AB 1 C = B t A B t AB 1 (B A) = I AB t A I B 1 A
= I B 1 A A I B 1 A .
Portanto, para provar que kRkA < 1, basta mostrar que
C t B t AB 1 C < A.
Continuando o desenvolvimento da expressao em outra direcao, temos
C t B t AB 1 C = I AB t A I B 1 A
= A AB t A + AB 1 A AB t AB 1 A
= A AB t B + B t A B 1 A
= A B 1 A B t + C B 1 A.
de modo que (3.36) vale se e somente se B t + C e positiva definida.
(3.36)
3.3
44
Converg
encia dos M
etodos Iterativos Lineares para Matrizes
de Discretizac
ao
3.3.1
Converg
encia do M
etodo de Jacobi
3.14 Teorema. Se A e uma matriz irredutvel, diagonalmente dominante tal que |aii | >
n
P
j=1
j6=i
det I 1 R = 0.
Por outro lado, observe que I 1 R tambem e irredutvel, pois
(
0
se i = j,
aij
Rij = I D1 A ij =
se i 6= j,
aii
(
1
se i = j,
1
I R ij =
1 aij
se i 6= j,
aii
1
de modo que, onde A se anula, I 1 R tambem se anula. Alem
disso,1I R e diagonalmente dominante
1
e estritamente dominante nas linhas onde A e, pois || 6 1, I R ii = 1 e
n
n
n
X
||1 X
1 X
|aij | 6
|aij | .
I 1 R ij =
|aii | j=1
|aii | j=1
j=1
j6=i
j6=i
j6=i
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
Uj (x) = sen jx,
isso sugere que os autovetores uj da matriz A sejam os vetores de coordenadas
Uj (x1 ) , Uj (x2 ) , . . . , Uj (xn2 ) , Uj (xn1 ) = Uj (h) , Uj (2h) , . . . , Uj ((n 2) h) , Uj ((n 1) h) ,
ou seja, como h = 1/n, os vetores
2j
(n 2) j
(n 1) j
j
, . . . , sen
, sen
.
uj = sen , sen
n
n
n
n
Usando identidades trigonometricas, vamos verificar que isso de fato acontece:
45
2
j
4
j
j = 2 1 cos
= 2 sen2
(3.37)
h
n
h
2n
e os autovetores correspondentes s
ao
j
2j
(n 2) j
(n 1) j
uj = sen , sen
, . . . , sen
, sen
n
n
n
n
(3.38)
j = 1, . . . , n 1.
Prova. Temos
2
1
pois
1
2
1
1
..
.
..
..
..
.
1
1
2
1
j
n
2j
sen
n
..
.
j
2j
2 sen
sen
n
n
j
2j
3j
+ 2 sen
sen
sen
n
n
n
..
=
.
(n 3) j
(n 2) j
(n 1) j
(n 2) j
+ 2 sen
sen
sen
sen
n
n
n
n
(n 2) j
(n 1) j
(n 1) j
sen
+ 2 sen
sen
n
n
n
j
sen
2j
sen
j
..
= 2 1 cos
,
(n 2) j
sen
(n 1) j
sen
n
sen
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
+ 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
j
(n k) j
j
(n k) j
cos
cos
sen
sen
n
n
n
n
j
(n k) j
= 2 1 cos
sen
,
n
n
sen
46
e
(n 2) j
(n 1) j
+ 2 sen
n
n
(n 1) j
(n 1) j j
+ 2 sen
= 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
sen
onde na pen
ultima identidade usamos o fato que
cos
porque
0 = sen j = sen
(n 1) j
j
(n 1) j
j
sen
= sen
cos
n
n
n
n
(n 1) j j
(n 1) j
j
(n 1) j
j
+
= 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 laplaciano no quadrado unitario [0, 1] [0, 1] sao as funcoes
Ukl (x, y) = sen kx sen ly,
isso sugere que os autovetores ukl da matriz A na ordem lexicografica sao os vetores de coordenadas
Ukl (x1 , y1 ) , Ukl (x2 , y1 ) , . . . , Ukl (xn1 , y1 ) ,
Ukl (x1 , y2 ) , Ukl (x2 , y2 ) , . . . , Ukl (xn1 , y2 ) ,
..
.
Ukl (x1 , yn1 ) , Ukl (x2 , yn1 ) , . . . , Ukl (xn1 , yn1 )
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
l
2k
l
(n 1) k
l
k
sen , sen
sen , . . . , sen
sen
,
ukl = 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
...,
sen
k
(n 1) l
2k
(n 1) l
(n 1) k
(n 1) l
sen
, sen
sen
, . . . , sen
sen
n
n
n
n
n
n
47
2
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
2l
2k
2l
(n 1) k
2l
k
sen
, sen
sen
, . . . , sen
sen
,
sen
n
n
n
n
n
n
...,
sen
k
(n 1) l
2k
(n 1) l
(n 1) k
(n 1) l
sen
, sen
sen
, . . . , sen
sen
n
n
n
n
n
n
(3.40)
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:
(3.41)
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
ui,j = F (i) G (j) ,
(3.42)
onde F e G sao funcoes de uma variavel inteira. Substituindo esta expressao na equacao de Helmholtz
discreta, obtemos
F (i) G (j 1) + F (i 1) G (j) 4F (i) G (j) + F (i + 1) G (j) + F (i) G (j + 1) = h2 F (i) G (j) .
Dividindo esta equacao por F (i) G (j), segue que
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,
F (i)
G (j 1) 2G (j) + G (j + 1)
= B,
G (j)
(3.43)
(3.44)
(3.45)
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.
Para resolve-las, e mais conveniente trabalhar com as constantes
2 = A + 2,
2 = B + 2.
Desta forma, as equacoes para F e G tornam-se
F (i 1) 2F (i) + F (i + 1) = 0,
G (j 1) 2G (j) + G (j + 1) = 0.
(3.46)
(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,
(3.49)
p
2 1,
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)
49
Portanto,
=
z+ + z
eik/n + eik/n
k
=
= cos
,
2
2
n
e, escolhendo c = 1/2,
Fk (i) = eiki/n eiki/n = sen
Analogamente,
= cos
e
l
,
n
kl =
ik
.
n
0 6 l 6 n 1,
Gl (j) = sen
Segue que os autovalores sao
0 6 k 6 n 1,
jl
.
n
k
l
2
2
cos
cos
h2
n
n
jl
ik
sen
.
n
m
(R) = cos .
(3.52)
n
Prova. Vamos provar para a formula de cinco pontos bidimensional; o argumento para a formula de tres
pontos unidimensional e analogo e fica deixado como exerccio. Para o metodo de Jacobi, a matriz de
discretizacao xk+1 = Rxk + D1 b e obtida atraves da formula:
uk+1
i,j =
1 k
ui,j1 + uki,j+1 + uki1,j + uki+1,j .
4
kl
kl
kl
kl
kl
2
ukl
ui,j
i1,j ui+1,j + 4ui,j ui,j1 ui,j+1 = kl h
com
kl =
Da segue que
2
h2
k
l
2 cos
cos
.
n
n
kl
kl
kl
kl
2
ukl
ui,j
i,j1 + ui,j+1 + ui1,j + ui+1,j = 4 kl h
Logo
para
lk
1 kl
kl
kl
kl
ui,j1 + ukl
i,j+1 + ui1,j + ui+1,j = lk ui,j
4
1
1
k
l
1
k
l
2
= 1 kl h = 1
2 cos
cos
=
cos
+ cos
.
4
2
n
n
2
n
n
Estes sao os autovalores da matriz de iteracao de Jacobi para a matriz de discretizacao obtida a partir da
formula de cinco pontos (observe que elas possuem os mesmos autovetores; no entanto R possui autovalores
nulos). Segue que o maximo autovalor ocorre quando k = l = 1, logo
(R) = cos
.
n
50
(3.53)
Vemos em particular que (R) 1 quando h 0, de modo que a velocidade de convergencia do metodo
de Jacobi vai ficando cada vez menor para malhas mais refinadas. Podemos dizer mais usando a expansao
da funcao cosseno em torno da origem
1
cos x = 1 x2 + O x4 ;
2
se h e pequeno podemos aproximar
2 2
h ,
2
de modo que (R) 1 quadraticamente quando h 0. Em outras palavras, para uma malha duas vezes
mais refinada (isto e, h reduzido pela metade), o metodo de Jacobi e cerca de quatro vezes mais vagaroso
em media (consulte novamente a tabela no final da secao anterior). A tabela abaixo mostra os valores do
raio espectral para alguns valores de h:
cos (h) 1
h
(R)
0.1
0.05
0.025
0.9511
0.9877
0.9969
log10 0.1
1
1
=
=
742
log10 (R)
log10 (R)
0.00135
iteracoes.
3.3.2
Converg
encia do M
etodo de Gauss-Seidel
3.18 Teorema. Se A e uma matriz irredutvel, diagonalmente dominante tal que |aii | >
n
P
j=1
j6=i
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
D U = 0.
det I 1 R = det I 1 I D1 L
Agora, observando que
det I D1 L = 1
51
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
1 1 i
= det I D1 L det I 1 I D1 L
D U
n
1 1 io
= det I D1 L I 1 I D1 L
D U
1
1 1
= det I D L D U .
Por outro lado,
D1 A = I D1 L D1 U
(R) = cos2 .
(3.55)
n
Prova. Para obter o raio espectral da matriz de iteracao R, queremos encontrar os autovalores de R:
1
Ru = (D L)
U u = u,
ou seja,
U u = (D L) u
(um problema de autovalor generalizado). No caso da matriz de discretizacao da formula de cinco pontos,
isso significa encontrar tal que
ui,j+1 + ui+1,j = (4ui,j ui,j1 ui1,j ) .
(3.56)
i+j
2
vi,j
(3.57)
para transformar a equacao de autovalor naquela que aparece no metodo de Jacobi. Temos
i+j
i+j+1
i+j+1
i+j1
i+j1
2 vi,j + 2 vi+1,j = 4 2 vi,j 2 vi,j1 2 vi1,j
= 4
i+j+2
2
vi,j
i+j+1
2
vi,j1
i+j+1
2
vi1,j ,
52
i+j+1
2
, obtemos
1
4
2
k
l
cos
+ cos
.
n
n
.
n
2
1
= 1 x2 + O x4 ,
cos2 x = 1 x2 + O x4
2
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
h + O h4 ,
2
R (RGauss-Seidel ) = 2 h2 + O h4 .
R (RJacobi ) =
3.3.3
(3.58)
(3.59)
Converg
encia do M
etodo SOR
1 1
1
1
1
1
R=
DL
D+U =
D I D L
D+U
1
1
D1
= I D1 L
D+U
ou
R = I D1 L
(1 ) I + D1 U .
(3.60)
53
Mas,
1
o
I D1 L
(1 ) I + D1 U
= det I D1 L
det (1 ) I + D1 U
det R = det
= (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).
3.22 Teorema. Se A e uma matriz irredutvel, diagonalmente dominante tal que |aii | >
n
P
j=1
j6=i
R = I D1 L
(1 ) I + D1 U .
Suponha por absurdo que exista um autovalor de R tal que || > 1; temos
1
o
det I 1 R = det I 1 I D1 L
(1 ) I + D1 U
= 0.
Agora, observando que
det I D1 L = 1
porque I D1 L e uma matriz triangular inferior com apenas 1s na diagonal principal, escrevemos
n
1
o
0 = det I 1 I D1 L
(1 ) I + D1 U
n
1
o
= det I D1 L det I 1 I D1 L
(1 ) I + D1 U
n
h
1
oi
(1 ) I + D1 U
= det I D1 L I 1 I D1 L
= det I D1 L 1 (1 ) I + D1 U
= det 1 1 (1 ) I D1 L 1 D1 U .
54
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
1>
i1
X
n
X
|bij | +
j=1
|cij | .
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
=
,
n
i1
X
+ 1
X
>
|cij |
|b
|
+
ij
|| j=i+1
j=1
se 0 < 6 1 e || > 1. Provaremos que
+ 1
> ,
+ 1
> .
||
Para isso, observe que como || > 1 basta provar a primeira desigualdade, a qual por sua vez e equivalente a
| + 1| > || .
facil ver que esta desigualdade e valida quando R, pois
E
| + 1| = + 1 >
porque
1 > = ( 1) .
| + 1| = | (1 )| = || 2 (Re ) (1 ) + (1 )
2
> || 2 || (1 ) + (1 ) = [|| (1 )]
2
= [|| + 1] > || 2 .
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.23 Teorema. Seja A uma matriz simetrica positiva definida. Ent
ao o metodo SOR converge se 0 < < 2.
55
1
DL
C=
1
D + U,
logo
1
1
2
D Lt +
D+U =
D
ao o metodo SOR
3.24 Teorema. Seja A uma matriz simetrica com entradas diagonais positivas. Ent
converge se e somente se A e positiva definida e 0 < < 2.
Prova. Assuma que A e positiva definida e que 0 < < 2. Seja
R = I D1 L
(1 ) I + D1 U
a matriz de iteracao do metodo SOR. Se e um autovalor de R e x um autovetor associado, temos Rx = x,
donde
(1 ) I + D1 U x = I D1 L x.
Fazendo o produto interno canonico (hermitiano) de Cn de ambos os lados com o vetor x, segue que
(1 ) hx, xi + x, D1 U x = hx, xi x, D1 Lx
Isolando ,
(1 ) hx, xi + x, D1 U x
=
.
hx, xi hx, D1 Lxi
(3.61)
D
t
podemos escrever
(1 ) + z
.
1 z
Os argumentos acima assumem que o denominador e nao-nulo. E, de fato, temos
1 !
x, D U x
x, D1 L x
1
1
1 x, D1 L + D1 U x
Re z = (z + z) =
+
=
2
2
hx, xi
hx, xi
2
hx, xi
x, D1 A x
1
1 x, I D1 A x
=
1
.
=
2
hx, xi
2
hx, xi
=
(3.62)
56
1
.
2
de modo que a parte real do denominador 1 z de e nao-nula para 0 < < 2. Segue que
Re z <
|| = =
[(1 ) + z] [(1 ) + z]
(1 ) + 2 (1 ) Re z + 2 |z|
=
2
(1 z) (1 z)
1 2 Re z + 2 |z|
2 2 2 Re z 2 + 4 Re z + 1 2 Re z + 2 |z|
1 2 Re z + 2 |z|
(2 ) (1 2 Re z)
=1
2 .
1 2 Re z + 2 |z|
1
, temos
2
(2 ) (1 2 Re z) > 0,
e conclumos que
|| < 1
para todo autovalor de R, logo o metodo SOR converge. A demonstracao da recproca (assim como uma
demonstracao alternativa, variacional, deste teorema) pode ser vista em [Young].
Usando o Teorema 3.22, conclumos que o metodo SOR converge para as matrizes de discretizacao obtidas
atraves dos esquemas de diferencas finitas do Captulo 1 se 0 < 6 1. Isso permite apenas subrelaxamento
do metodo de Gauss-Seidel, o que em geral reduz a velocidade de convergencia. Por outro lado, usando o
Teorema 3.23 ou o Teorema 3.24, conclumos que o metodo SOR converge para as matrizes de discretizacao
obtidas a partir da formula de tres pontos unidimensional e a partir da formula de cinco pontos bidimensional
se 0 < < 2, ja que estas sao matrizes simetricas, positivas definidas (ja as matrizes de discretizacao obtidas
atraves de coordenadas polares ou pelo esquema de Shortley-Weller nao sao simetricas, em geral, como
vimos).
Em seguida fazemos uma analise da velocidade de convergencia do metodo SOR para a matriz de discretizacao da formula de cinco pontos, bem como obtemos o melhor valor do fator de relaxamento para
este caso.
3.25 Lema. Seja A a matriz de discretizac
ao obtida a partir da f
ormula de tres pontos unidimensional ou
a partir da f
ormula de cinco pontos bidimensional. Se 6= 0 e um autovalor de RSOR , ent
ao existe
um autovalor J de RJ tal que
1
.
(3.63)
J =
1/2 2
Reciprocamente, se J e um autovalor de RJ e C satisfaz a equac
ao acima, ent
ao e um autovalor
de RSOR .
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 :
RSOR u = I D1 L
(1 ) I + D1 U u = u,
ou seja,
(1 ) I + D1 U u = I D1 L u
57
No caso da matriz de discretizacao da formula de cinco pontos, isso significa encontrar tal que
4
Fazendo a substituicao
i+j
ui,j = 2 vi,j
e dividindo por
i+j+1
2
(3.64)
, segue que
vi1,j + vi+1,j + vi,j1 + vi,j+1 =
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 =
q
1
2
2
(3.65)
=
J J 4 ( 1) .
4
Denotaremos
,J = max (|+ | , | |)
(3.66)
(3.67)
2
q
1
2
2
= J + J 4 ( 1) .
4
onde i = 1, logo
2 r
q
i 2
h
2
2
,J = J + 2 J 4 ( 1) = 2 2J + 4 ( 1) 2 J
= 1,
e novamente ,J e uma funcao crescente de J .
58
Defina
otimo =
2
q
.
2
1 + 1 J
(3.68)
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:
3.27 Proposi
c
ao. Seja A a matriz de discretizac
ao obtida a partir da f
ormula de tres pontos unidimensional
ou a partir da f
ormula de cinco pontos bidimensional. Ent
ao
2
q
1
2
2 4 ( 1)
se 0 < 6 otimo ,
J
J
(RSOR, ) =
(3.69)
4
1
se otimo 6 < 2.
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 1 1 J
2
2J
J
de modo que a raiz positiva de f e maior que 2, logo para que f () > 0 se 0 < < 2, devemos ter
J
2
2
2
2
q
q
=
.
6 2 1 1 J = 2
2
J
J 1 + 1 2
1
+
1
J
J
O resultado segue entao como na demonstracao da proposicao anterior.
3.28 Teorema. Seja A a matriz de discretizac
ao obtida a partir da f
ormula de tres pontos unidimensional
ou a partir da f
ormula de cinco pontos bidimensional. Ent
ao o fator de relaxamento
otimo para o
metodo SOR e dado por
2
otimo =
(3.70)
1 + sen
n
e o fator de relaxamento
otimo para o metodo SOR.
2
q
J
2
J + 2 J 4 ( 1) =
q
2
2
2 J 4 ( 1) + J 2
q
.
2
2 J 4 ( 1)
2
J 2 > J 2 J 4 ( 1),
pois
2
4
2
4
2
2
4
2
2
J 2 = 2 J 4J + 4 > 2 J 4J + 4J > 2 J 4J ( 1)
q
2
2
2
= J J 4 ( 1) .
59
Isso implica
d
d
q
2
2
J + J 4 ( 1) < 0,
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
r
q
=
otimo =
=
.
2
1 + sen
1 + 1 J
1 + 1 cos2
n
n
2
1 + sen (h)
2
1 sen (h)
1=
.
1 + sen (h)
1 + sen (h)
e usando
1x
= 1 2x + O x2 ,
1+x
sen x = x + O x3 ,
se h e pequeno podemos aproximar
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
Segue que
R (RSOR ) = 2h + O h2 .
(3.71)
R (RSOR )
2h
2
2 2 =
.
R (RGauss-Seidel )
h
h
3.3.4
Converg
encia do M
etodo de Jacobi Amortecido
60
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, ent
ao
2
|J, | = (J + 1 ) J + 1
2
= 2 |J | + 2 Re J (1 ) + (1 )
2
6 2 |J | + 2 |J | (1 ) + (1 )
= ( |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.75)
Usando
1
cos x = 1 x2 + O x4 ,
2
log (1 + x) = x + O h2 ,
se h e pequeno podemos aproximar
(RJ, ) 1
R (RJ, )
2 2
h + O h4 ,
2
2 2
h .
2
Vemos que a velocidade de convergencia do metodo de Jacobi amortecido e da mesma ordem que a do metodo
de Jacobi, um pouco pior para valores de proximos de 1 e muito pior para valores de proximos de 0.
3.3.5
Resumo
Metodo
(R)
Jacobi
cos (h)
Gauss-Seidel
SOR otimo
Jacobi amortecido
3.4
61
cos2 (h)
1 2h + O h2
1
2 2
h + O h4
2
R (R)
2 2
h + O h4
2
2 h2 + O h4
2h + O h2
2 2
h + O h4
2
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.
4.1
Teoria Geral
A ideia basica de uma tecnica de projecao e extrair uma solucao aproximada para a solucao do sistema Ax = b
de um subespaco especificado K Rn , chamado o subespa
co de busca. Se m = dim K, entao em geral
sao necessarias m restricoes para obter esta aproximacao. Uma maneira tpica de descrever estas restricoes
e impor m condic
oes de ortogonalidade; um exemplo e exigir que o vetor residual r = b Ax seja ortogonal
a m vetores linearmente independentes que geram um subespaco L, chamado o subespa
co de restri
c
oes.
Muitos metodos matematicos sao baseados neste tipo de descricao, conhecida como as condic
oes de PetrovGalerkin. Existem duas classes gerais de metodos de projecao: os metodos de projec
ao ortogonal, quando
L = K (e neste caso as condicoes de Petrov-Galerkin sao chamadas simplesmente condic
oes de Galerkin), e
os metodos de projeca
o oblqua, quando L 6= K.
4.1 Defini
c
ao. Seja A Mn (C) uma matriz invertvel e K, L Rn dois subespacos vetoriais m-dimensionais.
Um metodo de projecao sobre o subespaco K ortogonal ao subespaco L e um processo que encontra
uma solucao aproximada x
e em K para o sistema Ax = b tal que o vetor residual re = b Ae
x e ortogonal
a L, ou seja,
encontrar x
e K tal que re = b Ae
x L.
(4.1)
Se queremos explorar o conhecimento de um bom chute inicial x0 para a solucao, entao a aproximacao e
buscada no espaco afim x0 + K. Neste caso, a tecnica e redefinida como
encontrar x
e x0 + K
Denotando
tal que
re = b Ae
x L.
(4.2)
x
e = x0 + p
r0 = b Ax0 ,
de modo que re = b Ae
x = b A x0 + p = r0 Ap, a solucao aproximada pode ser descrita como
x
x0 + p, p K,
e =
0
r Ap, w = 0 para todo w L.
O vetor p que esta no subespaco de busca e chamado o vetor de busca.
62
(4.3)
4.1.1
63
Representa
c
ao Matricial
(4.4)
W = [w1 wm ] ,
que tem estes vetores como colunas. Entao a solucao aproximada pode ser escrita na forma
x
e = x0 + V y
(4.5)
T
(W z) r0 AV y = z T W T r0 AV y = 0
para todo z Rm , ou seja,
W T r0 AV y = 0
ou
W T AV y = W T r0 .
(4.6)
A partir da, se assumirmos que a matriz m m W T AV e invertvel (o que nao e garantido mesmo quando
A e invertvel; veja Exerccio 4.1), obtemos a seguinte expressao matricial para a solucao aproximada:
1 T 0
x
e = x0 + V W T AV
W r .
(4.7)
r b Ax;
y W T AV 1 W T r;
x x + V y;
end do
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
c
ao. Se A Mn (C) e os subespacos K, L Rn satisfazem qualquer uma das duas condic
oes a
seguir
(i) A e positiva definida e L = K, ou
(ii) A e invertvel e L = AK.
Ax = b
ent
ao a matriz W T AV e invertvel quaisquer que sejam as bases V, W de K, L, respectivamente.
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
c
ao de Funcionais
A solucao aproximada x
e 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
f (y) f (x) =
=
=
=
=
=
1
1
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
65
1
2
kykA hx, yiA .
2
(4.9)
O vetor de aproximacao x
e de um metodo de projecao ortogonal sobre K a partir de um vetor inicial x0 e
exatamente o minimizante da primeira parte deste funcional sobre o subespaco afim x0 + K:
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 de um metodo de projec
ao ortogonal sobre K a partir de um vetor inicial x0 se e somente
se ele minimiza a A-norma do erro sobre x0 + K, isto e, se e somente se
E (e
x) = min
E (y) .
0
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.
ao x
e e o vetor de aproximac
ao
4.5 Proposi
c
ao. Sejam A Mn (C) uma matriz qualquer e L = AK. Ent
de um metodo de projec
ao oblqua sobre K ortogonal a L a partir de um vetor inicial x0 se e somente
se ele minimiza a 2-norma do resduo sobre x0 + K, isto e, se e somente se
R (e
x) = min
R (y) .
0
yx +K
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)).
4.1.3
66
Estimativa do Erro em M
etodos de Projec
ao
Se nenhum vetor do subespaco K esta proximo da solucao exata x, entao e impossvel encontrar uma boa
aproximacao x
e para x em K. Por outro lado, se existir algum vetor em K que esta a uma pequena distancia
de x, entao podemos perguntar qual a melhor aproximacao a x podemos encontrar em K. No que se segue
assumiremos x0 = 0; em particular, o subespaco afim x0 + K e o subespaco vetorial K.
Seja PK a projecao ortogonal sobre K, definida por
PK x K,
x PK x K,
(4.10)
x QL
K x L.
(4.11)
ao o problema de aproximacao da
(Observe que se K = L (isto e, projecao ortogonal), temos QK
K = PK .) Ent
Definicao 4.1 pode ser expresso na linguagem destes operadores como
encontrar x
eK
tal que
x) = 0.
QL
K (b Ae
(4.12)
tal que
Am x
e = QL
K b,
(4.13)
= QL
K A (I PK ) .
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
L
L
b Am x = QL
K (b APK x) = QK A (x PK x) = QK A (I PK ) x.
2
kb Am xk = QL
K A (I PK ) (I PK ) x 6 k(I PK ) xk .
4.2
67
Caso Unidimensional: M
etodos de Descida
Nesta secao, A sera sempre uma matriz real simetrica positiva definida.
Outra maneira de enxergar o resultado do Teorema 4.3 e observar que o gradiente do funcional f e
f (y) = Ay b.
(4.14)
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
x + pk : R
tal que
f xk + pk 6 f xk .
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
c
ao. Seja k R tal que
f xk + k pk = min f xk + pk .
R
Ent
ao
k k
p ,r
k = k
.
hp , Apk i
(4.16)
68
g () = f xk + pk .
1 k
A x + pk , xk + pk b, xk + pk
2
1 k k k k k k k 2 k k
Ax , x b, x +
Ap , x +
Ax , p +
Ap , p b, pk
=
2
2
2
2
k
k k k 2 k k
= f x + Ax , p b, p
+
Ap , p
2
2 k k
= f xk rk , pk +
Ap , p ,
2
g () =
2
portanto o mnimo de g e atingido novertice
B/2A da parabola Y = AX + BX + C.
k k
Observe que k = 0 se e somente se p , r = 0, isto e, a direcao de busca e ortogonal ao resduo. Como
gostaramos sempre que possvel de ter xk+1 6= xk , devemos sempre escolher
a dire
caode busca de forma a
nao ser ortogonal a rk . Se esta escolha e feita, entao teremos sempre f xk+1 < f xk .
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]:
Jacobi
Descida Mais Acentuada
x = 0.1
299
304
x = 0.05
1090
1114
x = 0.025
3908
4010
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.
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
f (y) =
1
hA (y x) , (y x)i + c
2
(4.18)
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
f (z) =
1X
1
hDz, zi + c =
i zi2 + c.
2
2 i=1
(4.19)
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 )
6
2
4min max
hx, xi
para todo x 6= 0.
Prova: Denote os autovalores de A por 1 6 . . . 6 n , de modo que min = 1 e max = n . Como o
quociente `a esquerda da desigualdade e homogeneo, basta provar a desigualdade para vetores x unitarios.
Como A e simetrica, existem uma matriz diagonal D e uma matriz ortogonal P tais que A = P T DP . Segue
que
hAx, xi A1 x, x = P T DP x, x P T D1 P x, x = hDP x, P xi D1 P x, P x .
70
n
X
i i
i=1
X
i
:= D1 y, y =
i=1 i
1
1
.
1
n
1 n
(4.20)
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
t 7
1
1
1
t+
+
,
1 n
1
n
1 6 t 6 n .
1
1
hAx, xi A1 x, x = 6
+
.
1
n
1 n
O maximo da funcao quadratica
t 7 t
1 1
t
+
a b ab
1 + n
hAx, xi A1 x, x 6
2
1
1
1 + n
+
1
n
21 n
(1 + 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
k+1
,p
= rk+1 , pk k Apk , pk = rk , pk
(4.21)
k k
k k
p ,r
Ap , p = 0.
hpk , Apk i
71
k+1 k
e
, p A = Aek+1 , pk = rk+1 , pk = 0.
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
A
max + min
Em particular,
k
e 6
A
max min
max + min
0
e
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 .
e
= ek+1 , ek+1 = ek+1 , ek k ek+1 , rk = ek+1 , ek
A
A
A
A
A
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
k
hr , Ar i hek , rk i
k k k k !
k
r ,r
r ,r
k
1 k
= e , Ae
hr , Ark i hA1 rk , rk i
k k k k !
k 2
r ,r
r ,r
= e A 1 k
k
k
hr , Ar i hr , A1 rk i
!
k 2
4
min
max
6 e A 1
2
(min + max )
k 2 max min 2
= e A
.
max + min
72
Observamos que o fator de convergencia obtido no Teorema 4.13 e otimo (veja Exerccio 4.6).
Introduzimos o n
umero de condic
ao de uma matriz, que e uma medida do quao mal-comportada ela e.
4.14 Defini
c
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
n
umero de condicao da matriz:
4.15 Corol
ario. 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
(A) + 1
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
A=
0
I
I
I
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
A
max + min
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
kf k2
1 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
c
ao de Richardson:
xm+1 = (I A) xm + b = xm + b Axm
ou, simplesmente,
xm+1 = xm + rm .
(5.1)
(5.2)
(5.3)
(5.4)
rm = (I A) r0
= pm (A) r ,
74
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
m
X
(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
= r0 , Ar0 , . . . , Am r0 .
5.2
Subespacos de Krylov
5.1 Defini
c
ao. Dada uma matriz A Mn (C) e um vetor v Cn , definimos o subespa
co de Krylov
Km A, r0 = r0 , Ar0 , . . . , Am1 r0 .
(5.6)
As diferentes versoes de metodos de subespaco de Krylov decorrem principalmente das diferentes escolhas
de Lm .
76
5.3
Algoritmo de Arnoldi
O m
etodode Arnoldi e um metodo de projecao ortogonal em subespacos de Krylov, ou seja, Lm = Km =
Km A, r0 , aplicavel para matrizes gerais, nao necessariamente hermitianas. O procedimento foi introduzido
pela primeira vez em 1951 como uma maneira de calcular a forma de Hessenberg de matrizes densas. Arnoldi
sugeriu que os autovalores da forma de Hessenberg, obtida atraves de menos que n passos, eram boas
aproximacoes para alguns dos autovalores da matriz original. Posteriormente, verificou-se que isso conduz
a uma tecnica eficiente para a aproximacao dos autovalores de matrizes esparsas grandes, como veremos
em detalhes quando formos estudar metodos para a obtencao de autovalores de matrizes. Posteriormente o
metodo foi estendido para a solucao de sistemas lineares esparsos grandes.
O algoritmo de Arnoldi , propriamente dito, e um procedimento para a construcao de uma base ortonormal
para o subespaco de Krylov Km , ja que, como observado antes, a base natural v, Av, . . . , Am1 v nao e
bem condicionada. Simplesmente ortogonalizar esta base mal-condicionada tambem nao e uma boa opcao
numerica. No algoritmo de Arnoldi, o processo de ortogonalizacao de Gram-Schmidt e usado da seguinte
maneira. Inicialmente obtem-se o primeiro vetor unitario atraves da normalizacao do vetor v:
v1 =
v
.
kvk
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:
w1 = Av1 proj Av1 = Av1 hAv1 , v1 i v1 ,
hv1 i
w1
v2 =
.
kw1 k
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:
w2 = Av2 proj Av2 = Av2 hAv2 , v1 i v1 hAv2 , v2 i v2 ,
hv1 ,v2 i
w2
v3 =
.
kw2 k
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:
wj = Avj
vj+1 =
wj
.
kwj k
j
X
hAvj , vi i vi ,
(5.7)
i=1
(5.8)
77
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 p
ara antes do m-esimo passo. Ent
ao os vetores
v1 , . . . , vm formam uma base ortonormal para o subespaco de Krylov
j
X
j
X
i=1
i=1
j
P
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 Proposi
c
ao. 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
c
ao. 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 ).
78
h11 h12
h21 h22
0 h32
0
0
H=
0
0
.
..
..
.
.
..
.
.
.
0
0
h14
h24
h34
h43
h44
..
.
0
..
.
..
.
0
..
...
...
...
..
.
..
..
..
..
..
.
...
..
.
0
...
...
...
h1m
h2m
h3m
...
h4m
..
.
..
.
..
..
.
hm,m1
hm1,m
hmm
(5.9)
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
h21
0
H=
0
.
..
.
..
0
0
h12
h22
h32
h13
h23
h33
h14
h24
h34
h43
h44
..
.
0
..
.
..
.
0
0
0
..
.
..
.
0
0
..
...
...
...
..
.
..
..
..
..
..
.
...
0
0
0
...
...
...
h1m
h2m
h3m
...
h4m
..
.
..
.
.
.
..
.
0
0
..
..
hm,m1
0
hm1,m
hmm
hm+1,m
(5.10)
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.
e m a matriz
ao os vetores v1 , . . . , vm , por H
5.7 Proposi
c
ao. Denote por Vm a matriz n m cujas colunas s
de Hessenberg (m + 1) m cujas entradas n
ao-nulas s
ao os elementos hij definidos pelo algoritmo de
e m . Ent
Arnoldi e por Hm a matriz m m obtida de atraves da eliminac
ao da u
ltima linha de H
ao
valem as seguintes relaco
es:
em,
AVm = Vm Hm + wm eTm = Vm+1 H
VmT AVm
(5.11)
= Hm .
(5.12)
Prova: Se M e uma matriz, denotemos por (M )j a sua j-esima coluna. Do algoritmo de Arnoldi temos,
para j = 1, . . . , m,
(AVm )j = Avj =
j
X
hij vi + wj =
i=1
em
Vm+1 H
j
X
i=1
kj
m+1
X
i=1
hij vi =
j+1
X
i=1
j+1
X
i=1
hij vi ,
hij vi .
(5.13)
79
em
Vm+1 H
j+1
X
hij vi = (AVm )j ,
i=1
(Vm Hm )j =
hij vi ,
i=1
wm eTm j = 0,
de modo que
j+1
X
Vm Hm + wm eTm j =
hij vi = (AVm )j
i=1
wm eTm
m
X
him vi ,
i=1
= wm = hj+1,j vm+1 ,
de modo que
Vm Hm + wm eTm
m+1
X
hij vi = (AVm )m .
i=1
e
ortogonal
a
todos
eles,
segue que VmT Vm = I
1
m
m
5.4
Implementac
ao Pr
atica: M
etodos de Ortogonalizac
ao Est
aveis
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 GramSchmidt 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
wj = uj
j1
X
hij vi ,
(5.14)
i=1
vj =
wj
.
kwj k
(5.15)
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.
1
Assim, os vetores v21 , . . . , vm
ja sao ortogonais a v1 . Em particular, podemos tomar v2 = v21 / v21 2 . Uma
1
vez obtido v2 , todos os vetores v31 , . . . , vm
sao atualizados atraves dos escalares h2i = vi1 , v2 :
vi2 = vi1 h2i v2 ,
i = 3, . . . , m.
2
Assim, os vetores v32 , . . . , vm
sao ortogonais a v1 e v2 . Em particular, tomamos v3 = v32 / v32 e continuamos o
processo ate o fim. Em geral, no passo j, uma vez obtido o vetor unitario vj , ortogonal aos vetores ortonormais
j1
j1
v1 , . . . , vj1 , os vetores vj+1
, . . . , vm
que ja eram ortogonais aos vetores v1 , . . . , vj1 , sao atualizados atraves
D
E
j1
j
j
dos escalares hji = vj , vj para produzir vetores vj+1
, . . . , vm
ortogonais a v1 , . . . , vj1 , vj :
e tomamos
(5.16)
j
vj+1
vj+1 =
j .
vj+1
(5.17)
.
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
w3GS = v3 h13 v1 h23 v2
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 e
h13 v1
e depois
com
Da,
v32 = v31 e
h23 v2 ,
e
h13 = hu3 , v1 i = h13 e e
h23 = v31 , v2 .
w3MGS = v32 = u3 e
h13 v1 e
h23 v2 = u3 h13 v1 e
h23 v2
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
wj = uj
j
X
projvi uj ,
i=1
vj =
wj
,
kwj k
=
=
vjj3
vjj2
vjj1
projvj2
projvj1
(5.18)
vjj3 ,
vjj2 ,
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 :
v21 = Av1 projv1 Av1 = Av1 hAv1 , v1 i v1 ,
v2 =
v21
.
kv21 k
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 :
v31 = Av2 projv1 Av2 = Av2 hAv2 , v1 i v1 ,
v32
.
kv32 k
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
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 ,
(5.19)
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
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
ortogonal
aos
vetores
w
,
.
.
.
,
w
.
Isso
pode
ser
verificado
diretamente,
calculando
os
produtos
internos
1
j1
D
E
(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
83
Ortogonalizacoes adicionais sao superfluas: duas ortogonalizacoes sao suficientes para fazer o vetor wj ortogonal aos vetores w1 , . . . , wj1 na precisao de maquina (veja [Watkins], p. 233, ou [Saad], p. 156).
Flops
Armazenagem
5.5
GS
2m2 n
(m + 1) n
MGS
2m2 n
(m + 1) n
MGSR
4m2 n
(m + 1) n
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
1 T 0
y m = VmT AVm
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
m
etodo da ortogonaliza
c
ao completa (ou FOM de full orthogonalization method ):
Algoritmo de Arnoldi para Sistemas Lineares FOM
Inicialize x0 ;
Calcule r0 =b Ax0 ;
Calcule = r0 2 ;
v1 r0 /;
Inicialize a matriz Hm = (hij )mm = 0;
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
Este algoritmo pode ser tambem obtido diretamente. A condicao de Galerkin rm Km A, r0 e equivalente
a
VmT (b Axm ) = 0
84
ou
Escolhendo o chute inicial x0 = 0 para simplificar, temos que b = r0 = r0 v1 , donde
VmT Axm = r0 VmT v1 = 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
c
ao. O resduo calculado atraves do metodo de Arnoldi FOM satisfaz
rm = hm+1,m hem , y m i v m+1 ,
logo
Em particular, os resduos s
ao ortogonais.
Prova: Temos, pela Proposicao 5.7,
rm = b Axm = b A x0 + Vm y m
= r0 AVm y m
= r0 v1 Vm Hm + wm eTm y m
= r0 v1 Vm Hm y m wm eTm y m
(5.22)
5.6
85
Decomposic
ao QR via MGS
(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,
de modo que o sistema original e equivalente ao sistema
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
wj = Aj
j1
X
hAj , vi i vi ,
(5.26)
i=1
wj
.
kwj k
vj =
(5.27)
j1
X
rij vi + kwj k vj =
j
X
rij vi
(5.28)
i=1
i=1
com
rij = hAj , vi i ,
rjj = kwj k .
Assim, tomando
Q=
e
r11
0
0
R=
0
.
..
0
v1
v2
r12
r22
0
r13
r23
r33
0
..
.
0
..
.
...
...
...
..
.
..
.
...
(5.29)
(5.30)
vm
..
0
(5.31)
r1m
r2m
r3m
..
.
..
.
rmm
(5.32)
86
segue que
A1
A2
Am
v1
v2
vm
r11
0
0
.
..
0
r12
r22
0
r13
r23
r33
0
..
.
0
..
.
...
...
...
..
.
..
.
...
..
0
r1m
r2m
r3m
..
.
..
.
rmm
(5.33)
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 ,
vj =
j1 ,
vj
em termos de Aj , denotando
vj0 = Aj ,
(5.34)
segue que
Aj = vj1 + hAj , v1 i v1
j1
X
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
rjj = vjj1 .
se i = 1, . . . , j 1,
Assim, se Q e R sao definidas como em (5.31) e (5.32), novamente nos temos A = QR.
(5.36)
(5.37)
5.7
87
Algoritmo de Lanczos e M
etodo do Gradiente Conjugado
O algoritmo de Lanczos pode ser visto como uma simplificacao do metodo de Arnoldi para matrizes simetricas.
Quando a matriz A e simetrica, a matriz de Hessenberg Hm torna-se uma matriz tridiagonal simetrica, pois
Hm = VmT AVm e uma matriz de Hessenberg simetrica e necessariamente tridiagonal. Isso leva a uma
recorrencia de tres termos no processo de Arnoldi e a recorrencias curtas para algoritmos de solucao tais
como o FOM.
A notacao padrao para descrever o algoritmo de Lanczos e obtida tomando
j = hjj ,
j = hj1,j
de modo que a matriz de Hessenberg Hm resultante tem a forma
1 2
2 2
3
.
.
..
..
..
Tm =
.
m1 m1
m
m
m
(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):
Algoritmo de Lanczos com MGS
Inicialize x0 ;
Calcule r0 =b Ax0 ;
Calcule = r0 2 ;
v1 r0 /;
Inicialize 1 = 0, v0 0;
Para
j = 1, . . . , m faca
wj Avj j vj1 ;
j hwj , vi i ;
wj wj j vj ;
j+1 kwj k ;
1
2
1
2 3
2 1
3
.
3
Tm =
(5.38)
.
.
.
.
..
.
.
. m
m 1
m
Lm
Um
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
1 1
xm = x0 + Vm Um
Lm (e1 ) .
(5.41)
Definindo
1
Pm = Vm Um
,
L1
m
(5.42)
(e1 ) ,
(5.43)
xm = x0 + Pm z m .
(5.44)
z
segue que
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 =
m
com
m = m m1 .
(5.47)
Assim,
m
=x +
Pm1
pm
(5.46)
z m1
m
= x0 + Pm1 z m1 + m pm ,
89
donde
xm = xm1 + m pm .
(5.48)
Isso da a seguinte versao direta para o algoritmo de Lanczos para sistemas lineares:
Algoritmo de Lanczos Direto
Inicialize x0 ;
0
Calcule r0 = b Ax
0;
1
Calcule = = r 2 ;
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
m m1 ;
m
m1
;
m
m m m m ;
pm (vm m pm1 ) /m ;
m
x xm1 + m pm ;
w w m vm ;
m+1 kwk ;
(5.49)
para todos i 6= j.
Prova: Para provar isso, basta mostrar que
T
Pm
APm
xm+1 = xm + m pm ,
(5.50)
90
rm+1 = rm m Apm .
(5.51)
Como os resduos sao ortogonais (Proposicao 5.8), segue que hrm m Apm , rm i = 0, donde
m =
hrm , rm i
.
hApm , rm i
(5.52)
(5.53)
para isso usamos a Proposicao 5.8 e fazemos uma mudanca de escala nos vetores pm (isso nao altera a
validade de (5.50), em que assumimos os vetores pm tomados ja com a mudanca de escala; assim os vetores
pm do algoritmo do gradiente conjugado considerado aqui tambem sao diferentes dos vetores considerados
acima no algoritmo de Lanczos, sendo m
ultiplos adequados destes). Da, como
m+1
r
+ m pm , Apm = pm+1 , Apm = 0,
segue que
m
Observe porem que
Apm , rm+1
.
=
hApm , pm i
(5.54)
m+1
1
Apm = m
r
rm .
(5.55)
hrm , rm i
.
hApm , pm i
(5.56)
Estas u
ltimas formulas para m e m sao muito mais convenientes para o algoritmo do gradiente conjugado:
Algoritmo do Gradiente Conjugado
Inicialize x0 ;
Atribua b;
r b Ax0 ;
p r;
current hr, ri r0 , r0 ;
Atribua o limite de tolerancia e o n
umero maximo de iteracoes;
N = 0; //n
umero de iteracoes.
Faca ate que o limite de tolerancia seja atingido
ou
umero maximo de iteracoes
ate o n
Calcule Ap;
current hr, ri / hp, Api ;
x x + p;
r r Ap;
p r + p;
5.8
91
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 sistemas 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
, p ,. . . , pm1 , o metodo do gradiente conjugado minimiza f sobre
0 1x + p m1
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
1
2
2
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.
f (y) =
1
1
1
2
2
2
kykA hy, xiA = kekA kxkA .
2
2
2
= x x0 0 p0 + 1 p1 + . . . + m1 pm1
= e0
m1
X
i=0
i pi .
(5.58)
92
m1
0 X
i
i p ,
e
i=0
0
vez
e equivalente a encontrar a melhor aproximacao do vetor e no subespaco Wm =
o 0que1 por sua
m1
p ,p ,...,p
. Esta e dada pelo lema da melhor aproximacao, que enunciamos em detalhe por comodidade:
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
kv wkA = min kv zkA .
zW
em A pi
m1
P
i=0
i pi Wm tal que em = e0 p
para i = 1, . . . , m 1.
(5.59)
Nosso objetivo entao e desenvolver um metodo em que o erro a cada passo e conjugado com todas as direcoes
de busca anteriores. Como fazer isso? Pelo Lema 4.11, cujo enunciado repetimos a seguir como Proposicao
5.12 para facilitar a consulta, sabemos que em qualquer metodo de descida em que a busca na reta e exata
satisfaz automaticamente em A pm1 , isto e, (5.59) e valido para a u
ltima iteracao (o erro da iteracao
presente e A-ortogonal `a direcao de busca da iteracao anterior):
5.12 Proposi
c
ao. Seja xm+1 = xm + m pm obtido atraves de uma busca na reta exata. Ent
ao
rm+1 pm
e
em+1 A pm .
em = em1 m1 pm1 ,
m
m2
(5.60)
m
93
na reta xm1 + tpm1 . Assim, uma condicao necessaria para obter (5.59) e escolher as direcoes de busca de
tal forma que
(5.61)
pi A pj para todos i 6= j.
Um metodo com estas caractersticas e chamado um m
etodo de dire
c
oes conjugadas. Estes resultados
sao resumidos na proposicao a seguir:
5.13 Teorema. Se um metodo emprega direc
oes de busca conjugadas e performa buscas na reta exatas,
ent
ao
em A pi para i = 1, . . . , m 1,
para todo m. Conseq
uentemente
onde Wm
kem kA = min e0 pA ,
pWm
= p0 , p1 , . . . , pm1 .
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
ou seja, a direcao inicial e o primeiro resduo:
p0 = r0 .
(5.62)
m
X
cmi pi
(5.63)
i=0
(5.64)
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
r
,p A m
r
, Apm m
m+1
m+1
m+1
p
=r
p =r
p
(5.65)
hpm , pm iA
hpm , Apm i
94
ou, definindo
rm+1 , Apm
=
,
hpm , Apm i
(5.66)
pm+1 = rm+1 + m pm .
(5.67)
m
temos que
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
m
hp , Ap i
m hp , Apm i
Temos
m
r + pm1 , rm
hpm , rm i
hrm , rm i
= m
=
= m
,
m
m
m
hp , Ap i
hp , Ap i
hp , Apm i
m =
Portanto
hrm , rm i
.
hpm , Apm i
rm+1 , rm+1
=
.
hrm , rm i
(5.68)
(5.69)
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.
5.14 Teorema. Depois de j iterac
oes do algoritmo do gradiente conjugado (com rm 6= 0 em cada iterac
ao),
temos
0 1
p , p , . . . , pj1 = r0 , r1 , . . . , rj1 = Kj A, r0 .
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)
j1
Em vista da
hipotese de indu
cao,
basta mostrar que rj Kj+1 A, r0 . Como rj = rj1 j1 Ap
e
j1
0
0
j1
0
.
Mas,
c
a
o,
basta
provar
que
Ap
K
A,
r
r
Kj A, r Kj+1 A, r por hipotese de indu
j+1
95
p , p , . . . , pj r0 , r1 , . . . , rj .
(5.71)
Por hipotese de inducao, basta provar que pj r0 , r1 , . . . , rj . Isso segue de (5.63) e da hipotese de inducao.
Ate aqui provamos que
0 1
p , p , . . . , pj r0 , r1 , . . . , rj Kj+1 A, r0 .
(5.72)
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,
ou
ltimo porque os vetores p0 , p1 , . . . , pj s
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.
Prova: Segue imediatamente do teorema anterior e do Teorema 5.13.
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
para todo i = 1, . . . , j 1, como vimos na demonstracao do Teorema 5.13.
5.17 Corol
ario. cmi = 0 para todo i = 1, . . . , m 1.
Prova: Temos que provar que
m+1 i
r
, p A = rm+1 , Api = 0
5.9
96
Velocidade de Converg
encia do M
etodo do Gradiente Conjugado
Na maioria das aplicacoes o metodo do gradiente conjugado converge ainda mais rapido do que as n iteracoes
previstas pelo Teorema 5.18, se apenas uma boa aproximacao e requerida. Para obter uma estimativa da
velocidade de convergencia do metodo do gradiente conjugado, precisamos desenvolver algumas ferramentas
teoricas antes.
5.9.1
Polin
omios 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
(5.73)
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) =
(5.74)
k
1
(1) cosh k cosh |t|
se t 6 1.
De fato, usando a identidade trigonometrica hiperbolica
cosh [(k + 1) ] + cosh [(k 1) ] = 2 cosh cosh k,
97
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
` ttulo de informacao, eles formam
fora deste intervalo. Observe tambem que |Ck (t)| 6 1 para t [1, 1]. A
uma base ortogonal no espaco de funcoes apropriado no sentido que
Z 1
se k 6= l,
0
dt
se k = l = 0,
=
Ck (t) Cl (t)
1 t2
1
/2
se k = l 6= 0.
5.21 Proposi
c
ao. Se |t| > 1, vale
k
k
p
p
1
2
2
Ck (t) =
t+ t 1 + t+ t 1
.
2
Prova: Como resultado de (5.74), segue que
i
1 h k cosh1 t
1
Ck (t) = cosh k cosh1 t =
e
+ ek cosh t
2
1 cosh1 t k cosh1 t k
=
e
+ e
.
2
Por outro lado,
ex = cosh x + sinh x
cosh2 x sinh2 x = 1,
logo
1
ecosh
= t + cosh2 cosh1 t 1
p
= t + t2 1,
xb
Ck 1 + 2
ba
bk (x) :=
.
C
cb
Ck 1 + 2
ba
98
Consequentemente,
1
.
k =
C k 1 + 2 c b
ba
(5.75)
a+b
2
Assim, se c
/ [a, b] entao
b a + 2x 2b
2x (a + b)
xb
=
=
ba
ba
ba
xm
=2
.
ba
c m
2
ba >1
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
bk (x) atinge os valores k nos pontos
Correspondentemente, C
1
j
xj =
a + b + (b a) cos
, j = 0, 1, . . . , k
2
k
dentro do intervalo [a, b]. Como
|pk (xj )| 6 k = C
k (xj ) ,
5.9.2
99
Velocidade de Converg
encia do CG
5.23 Lema. Seja A Mn (R) uma matriz simetrica positiva definida. Ent
ao o erro algebrico do metodo do
gradiente conjugado satisfaz
ek = min p (A) e0 .
A
A
pPk [x]
p(0)=1
0
0
e + Kk A, r consiste de todos os vetores da forma e0 + q (A) Ae0 , ou seja, de todos os vetores na forma
p (A) e0 onde p e um polinomio de grau menor ou igual a k tal que p (0) = 1.
5.24 Teorema. Seja A Mn (R) uma matriz simetrica positiva definida. Ent
ao o erro algebrico do metodo
do gradiente conjugado satisfaz
p
!k
k
0
(A)
1
e 6 2 p
e .
(5.76)
A
A
(A) + 1
Prova: Denote por 1 6 . . . 6 n os autovalores de A e por v1 , . . . , vn uma base A-ortonormal de autovetores
correspondentes. Escrevendo
n
X
e0 =
ai vi ,
i=1
segue que
p (A) e0 =
n
X
ai p (i ) vi .
i=1
Assim,
n
X
2
p (A) e0 2 =
a2i p (i ) 6
A
i=1
max p (i )
16i6n
k
e 6 min
A
0 2
e 6
A
max p (x)
x[1 ,n ]
0 2
e ,
A
max p (x) e0 A .
k
e 6 e0
A
A
onde
1
1
1
=
=
+ 1
n
n
n
1
C k 1 2
C k
Ck
n 1
n 1
n 1
=
Ck
1
,
(A) + 1
(A) 1
(para obter a u
ltima igualdade usamos a simetria dos polinomios de Chebyshev, como visto na Proposicao
5.20, e a sua positividade no intervalo [1, +) que decorre diretamente da formula da Proposicao 5.21). Pela
Proposicao 5.21 e o comentario que se segue, temos
k
s
1 (A) + 1
(A) + 1
(A) + 1
'
+
1 ,
Ck
(A) 1
2 (A) 1
(A) 1
100
donde
k
s
2
k
(A)
+
1
(A)
+
1
e 6 2
+
1 e0 A
A
(A) 1
(A) 1
q
= 2
(A) + 1 +
( (A) + 1) ( (A) 1)
(A) 1
0
e
!k
p
0
(A) + 1 + 2 (A)
e
=2
A
(A) 1
k
2
p
(A)
+
1
0
= 2 p
e A
(A) + 1
(A) 1
p
!k
0
(A) 1
e .
=2 p
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 discretizacao 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
304
29
n = 361
1114
60
n = 1521
4010
118
x
4
2n
= cot2
= cot2
2 2
2n
2
x
sen2
2n
sen2
(A) =
de modo que
(A) 1
(A) + 1
1 x/2
1 x,
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 n
umero 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:
101
5.25 Teorema. Seja A Mn (R) uma matriz simetrica positiva definida com apenas m autovalores distintos. Ent
ao o metodo do gradiente conjugado converge em m iterac
oes.
Prova: Sejam 1 , . . . , m os m autovalores distintos de A. Seja
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
p (A) e0 =
n
X
ai p (i ) vi = 0.
i=1
5.10
Exerccios
v1 =
0 ,
0
1
0
v2 =
0
1
0
v3 =
0 ,
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 ortonormal 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
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
1 0
1 0
0
..
.
a0
a1
a2
..
.
..
an1
an1
6.1
Caracterizac
ao Variacional dos Autovalores de uma Matriz
Sim
etrica: Quociente de Rayleigh
hAx, xi
2
kxk
103
P
r (x) =
aij xi xj
P 2
xi
i,j=1
i,j=1
Temos
r
(x) =
xk
2 kxk
P
i=1
aik xi 2xk
P
i,j=1
aij xi xj
=
kxk
de modo que
r (x) =
2
2
kxk
2
2
kxk
[(Ax)k r (x) xk ] ,
[Ax r (x) x] .
Portanto,
r (x) = 0
se e somente se
Ax = r (x) x.
6.3 Corol
ario. 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
Prova: Segue da formula de Taylor, ja que r (v) = 0.
Podemos obter uma descricao geometrica mais precisa dos pontos crticos do funcional de Rayleigh:
6.4 Teorema. (Princpio de Rayleigh) Seja A Mn (R) uma matriz simetrica. Sejam 1 6 . . . 6 n os
autovalores de A, de modo que 1 e o menor autovalor de A e n e o maior autovalor de A. Ent
ao
hAx, xi
1 = min
(6.1)
kxk
xR
x6=0
hAx, xi
n = max
kxk
xRn
x6=0
(6.2)
Prova: Seja B = {v1 , . . . , vn } uma base ortonormal de autovetores de A correspondentes aos autovalores
n
P
1 , . . . , n . Entao, para todo x =
xi vi temos
i=1
1 kxk =
n
X
1 x2i
i=1
n
X
i x2i =
i=1
* n
X
n
X
i xi xj hvi , vj i =
i,j=1
i xi vi ,
i=1
= hAx, xi .
n
X
j=1
+
xj vj
* n
X
i=1
n
X
hi xi vi , xj vj i
i,j=1
xi Avi ,
n
X
j=1
+
xj vj
*
=
n
X
i=1
!
xi vi
n
X
j=1
+
xj vj
104
hAx, xi
2
kxk
i=1
j =
min
W Rn subespa
co
dim W =j
max hAx, xi .
(6.3)
xW
kxk=1
xW
kxk=1
dim W Z > 1
n
P
xk vk , temos kxk =
k=j
hAx, xi =
=
* n
X
xk Avk ,
k=j
n
X
n
X
+
xl vl
* n
X
l=j
2
k |xk | > j
k=j
xk k vk ,
k=j
n
X
n
X
n
P
|xk | = 1, donde
k=j
+
x l vl
l=j
n
X
k xk xl hvk , vl i
k,l=j
|xk | = j .
k=j
j
X
xk Avk ,
k=1
j
X
j
X
O minimax e atingido em vj .
xl vl
*
=
l=1
2
k |xk | 6 j
k=1
j
X
xk k vk ,
k=1
j
X
k=1
|xk | = j .
j
X
l=1
+
xl vl
j
X
k,l=1
k xk xl hvk , vl i
6.2
105
M
etodo das Pot
encias
O m
etodo 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
|1 | > |2 | > . . . > |n |
e seja {v1 , . . . , vn } uma base correspondente de autovetores. Assim, 1 e o autovalor dominante de A e
v1 um autovetor dominante. Quando A tem um autovalor dominante, este e um correspondente autovetor
dominante podem ser encontrados atraves do metodo das potencias, que consiste essencialmente em tomar
um vetor v0 arbitrario e considerar as potencias
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
n
X
Ak v0 =
ai vi ,
i=1
donde escrevemos
"
Ak v0 = k1 a1 v1 +
n
X
ai
i=2
i
1
#
vi .
i
1
k
0,
Ak v0
kAk v0 k
(6.5)
onde kk e uma norma qualquer (por exemplo, a norma do maximo), que converge para um autovetor
dominante unitario.
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 ,
onde v1 e um autovetor dominante unit
ario. Alem disso, a taxa assint
otica de convergencia e
2
O .
1
Se A e uma matriz simetrica real e definirmos
k = hAwk , wk i ,
ent
ao
k 1
com taxa assint
otica de convergencia
!
2 2
O .
1
Prova: Temos
wk =
Ak v0
,
ek
onde
ek = 1 . . . k e simplesmente o escalar apropriado que normaliza o vetor Ak v0 , isto e,
ek = Ak v0 .
Escrevendo
n
X
v0 =
a i vi ,
i=1
segue que
"
k #
n
X
i
k1
a1 v1 +
ai
wk =
vi .
ek
1
i=2
Como
a 1 v1 +
n
X
ai
i=2
i
1
k
vi a1 v1
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 ,
107
logo lim k = 1 .
Finalmente, a taxa assint
otica de convergencia segue de
n
!
k
k
k
n
n
X
X
X
i
2 k
2
i
ai
vi 6
|ai | kvi k 6
|ai | kvi k 6 C (v0 ) .
1
1
1
1
i=2
i=2
i=2
O caso A simetrico segue do Corolario 6.3.
Vemos que a velocidade de convergencia do metodo das potencias pode ser muito lenta se a diferenca entre
o maior e o segundo maior autovalores nao for muito grande, uma situacao frequentemente encontrada na
pratica. O metodo das potencias funciona mesmo quando o autovalor dominante nao e simples, desde que
nao existam outros autovalores de A diferentes do autovalor dominante que tenham o mesmo valor em
claro que o metodo nao vai
modulo, isto e quando existe apenas um autovalor dominante (Exerccio 6.1). E
produzir uma base para o autoespaco dominante, apenas um autovetor deste autoespaco, correspondente ao
vetor unitario na direcao da componente do vetor inicial. Quando existem varios autovalores dominantes, o
metodo nao pode ser aplicado. Em particular, o metodo nao pode ser aplicado a matrizes reais que possuem
um autovalor dominante complexo, ja que neste caso o seu conjugado tambem e um autovalor dominante.
Esta situacao ocorre tambem com matrizes ortogonais, ja que todos os autovalores de uma matriz ortogonal
tem norma 1.
Se A nao e diagonalizavel, o autovalor dominante de A ainda pode ser encontrado pelo metodo das
potencias (desde que nao haja mais de um autovalor dominante, como observado no paragrafo anterior),
como discutido no Exerccio 6.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
ve0 = v0 a1 v1 =
n
X
ai vi ,
i=2
e proceder desta maneira ate encontrar todos os autovalores de A (desde que nao haja autovalores distintos mas iguais em modulo). Na pratica isso nao funciona, porque erros de arredondamento apareceriam
imediatamente:
n
X
Ae
v0 = 1 v1 +
ai i vi ;
i=2
108
1
1
1
,...,
,
1
n
1
1
i
(6.6)
n
k
k
h
ik
X
1
i
1
ai vi +
(A I)
v0 =
vj
ai
i
j
j=1
j6=i
donde
n
h
X
ik
i k
1
1
|vj |
a i vi 6
v0
|ai |
(A I)
i
j
j=1
j6=i
i k
|ai | |vj |
e
i
j=1
n
X
j6=i
e
i
onde ei e o autovalor mais proximo a i . Tomando o deslocamento significantemente mais proximo de i
do que de ei , podemos obter
e 1,
i
acelerando a convergencia do metodo.
importante observar que tanto na iteracao inversa, quanto na iteracao com deslocamento, em nenhum
E
momento e necessario calcular a inversa A1 explicitamente, o que consumiria muito tempo e recursos.
Embora as iteradas satisfazem
1
1
(A I) wk ,
wk+1 =
k+1
basta resolver o sistema
(A I) w
ek+1 = wk
109
e entao tomar
wk+1 =
1
k+1
w
ek+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
c
ao 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:
Itera
c
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
k+1
1 k
A k I
v
,
=
1
(A k I) v k
= Av k+1 , v k+1 .
Ent
ao v k converge para um autovetor unit
ario vi associado a i e k i com uma taxa de convergencia que satisfaz
k+1
3
v
vi = O v k (vi )
e
k+1
i = O k i .
i = O v k vi 2 .
Pelas estimativas para a iteracao inversa com deslocamento obtidas na subsecao anterior, temos
k+1
i k k
v vi .
vi 6 C
ei k
110
3
k+1
v
vi = O k i v k vi = O v k+1 vi .
As constantes implcitas no smbolo O sao uniformes para vizinhancas suficientemente pequenas de i e vi .
Para obter a taxa de convergencia para os autovalores, use o resultado obtido e o Corolario 6.3 duas vezes
escrevendo
k+1
2
6
3
i = O v k+1 vi = O v k vi = O k i .
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)
(6.8)
Ak = Rk Qk .
(6.9)
Ak = Qk Ak1 Qk ,
(6.10)
Em seguida definimos
Observe que, como
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
..
..
.
2
.
.
..
n
onde os autovalores da diagonal principal aparecem em ordem descrescente de magnitude. Em particular,
como as matrizes da sequencia QR sao semelhantes, se A e hermitiana entao a sequencia converge para uma
matriz diagonal.
O algoritmo basico QR e ineficiente
para uso pratico. Cada decomposicao QR custa 43 n3 flops e cada
3
multiplicacao matricial custa O n flops. Alem disso, a convergencia para a forma triangular e muito
vagarosa, de forma que um n
umero muito grande de passos e necessario antes que se atinja um limite de
tolerancia razoavel. No que se segue, veremos procedimentos para diminuir os custos das decomposicoes
QR e aumentar a velocidade de convergencia do metodo. O primeiro procedimento, reduzir a matriz `a sua
111
forma de Hessenberg, reduz cada passo no algoritmo QR a um custo de O n2 flops para uma matriz geral
e O (n) para uma matriz hermitiana. O segundo procedimento, deflacao e deslocamento usando o quociente
de Rayleigh, reduz o n
umero de iteracoes necessarias para produzir convergencia na precisao da m
a
aquina
3
O (n) iteracoes. Assim o custo
total
do
algoritmo
QR
na
sua
implementa
c
a
o
mais
eficiente
ser
a
O
n
flops
6.3.1
Redu
c
ao 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 Proposi
c
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
3
(o custo da transformacao sera de 10
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
c
ao. Seja u Rn um vetor unitario. Entao o operador Q : Rn Rn definido por
Q = I 2uuT
e chamado um refletor de Householder (ou simplesmente um refletor ).
A proposicao a seguir resume as propriedades que caracterizam uma reflexao:
6.10 Proposi
c
ao. 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).
(6.11)
112
(iv) QT = Q1 ( Q e ortogonal).
(v) Q1 = Q ( Q e uma involuc
ao).
Prova: (i) Usando o fato que uT u = hu, ui = 1, temos
Qu = u 2 uuT u = u 2u uT u = u 2u = u
(ii) Usando o fato que uT v = hu, vi = 0, temos
Qv = v 2 uuT v = u 2u uT v = u 0 = u.
(iii)
T
T
QT = I 2uuT
= I 2 uT uT = I 2uuT = Q.
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:
6.11 Teorema. Sejam x, y Rn tais que x 6= y mas kxk = kyk. Ent
ao existe um u
nico refletor tal que
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
1
1
[Q (x y) + Q (x + y)] = [y x + x + y] = y.
2
2
6.12 Corol
ario. Seja x Rn um vetor n
ao nulo. Ent
ao existe um refletor Q tal que
x1
x2 0
Q . = . .
.. ..
xn
113
Prova: Escolha y = ( kxk , 0, . . . , 0) no teorema anterior, com o sinal escolhido de tal forma a garantir que
x 6= y.
No caso complexo, basta tomar
Q = I 2uu
(6.13)
e temos resultados 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
b 1 : Fn1 Fn1 um refletor (onde F = R ou C) tal que
Seja Q
1
0
b1 b =
Q
..
.
0
onde |1 | = kbk e 1 b1 < 0. Defina o refletor Q1 : Fn Fn
1 0T
Q1 =
b1
0 Q
e tome
A1/2
= Q1 A =
a11
1
0
..
.
cT
b1 A
b
Q
0
Entao
A1 =
Q1 AQ1
1
= Q1 AQ1 = A1/2 Q1 =
a11
1
0
..
.
0
b1
cT Q
b1 A
bQ
b1
Q
a11
1
0
..
.
b1
A
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.
b1 , nas posicoes
O segundo passo cria zeros na segunda coluna de A1 , isto e, na primeira coluna de A
b 2 : Fn2 Fn2 exatamente como no primeiro passo, exceto que
desejadas. Assim, usamos um refletor Q
b1 ao inves de A, e definimos
usamos A
0 0
1 0
0 1
0 0
0 0
Q2 =
.. ..
b2
Q
. .
0 0
114
A3/2
= Q2 A1 =
a11
1
0
..
.
2
..
.
Da,
b2 A
b1
Q
A2 =
Q2 A1 Q1
2
= Q2 A1 Q2 = A3/2 Q2 =
a11
1
0
..
.
2
..
.
b2 A
b1 Q
b2
Q
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
c
ao do algoritmo QR
k
...
ak1n
a11 ak12 ak13 ak14 . . .
ak21 ak22 ak23 ak24 . . .
...
ak2n
k
k
k
0 a32 a33 a34 . . .
...
ak3n
..
k
k
k
0
.
...
a4n
0 a43 a44
.
..
..
..
..
Ak =
0
.
.
.
0
0
.
..
..
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
..
..
..
..
k
..
.
.
.
.
.
a
0
...
akn,n1
n1,n
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
aki+1,i
i+1
, i = 1, . . . , n 1.
com taxa de convergencia
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.
115
Assim, se escolhermos suficientemente proximo de um autovalor arbitrario que chamaremos n apos reordenar 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
..
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
defla
c
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.
nico efeito dessa escolha e
Na pratica, depois de apenas uma iteracao QR ja e seguro usar 1 = a1nn . O u
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
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
c
ao 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, . . .
Cada iterada Ak S e um subespaco de Fn que pode ser caracterizado por
Ak S = Ak x : x 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
c
ao. Dados dois subespacos S, T Fn , a dist
ancia entre eles e definida por
dist (S, T ) = sen
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
|1 | > |2 | > . . . > |n |
e uma correspondente base de autovetores {v1 , . . . , vn }. Suponha que |m | > |m+1 | para algum m.
Sejam
Tm = hv1 , . . . , vm i ,
Um = hvm+1 , . . . , vn i .
Seja S um subespaco vetorial de dimens
ao m tal que S Um = {0}. Ent
ao existe uma constante C
tal que
m+1
k
dist A S, Tm 6 C
m
Em particular, Ak S Tm linearmente com taxa de convergencia |m+1 /m |.
117
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 .
Isso pode ser facilmente visto escrevendo os vetores em coordenadas: dado um vetor v =
Ak v =
n
X
(6.14)
Pn
i=1
ai vi , temos
ai ki vi ,
i=1
n
X
ai 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
k
m
n
X
Ak v X
i
i
=
a
v
+
a
vi .
i
i
i
km
m
m
i=1
i=m+1
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 mdimensional 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:
0
Q0 = q10 qm
.
Em cada passo k da iteracao, calculamos
Bk = AQk
e fazemos a decomposicao QR de Bk para obter uma base ortonormal para o subespaco Ak S: se
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).
6.4.1
118
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
e, reciprocamente, no algoritmo QR
Ak = Qk AQk ,
(6.16)
Rk = Rk R1
(6.17)
A0 = A,
Ak1 = Qk Rk ,
Ak = Rk Qk ,
(6.18)
definirmos
b k = Q1 Qk ,
Q
bk = Rk R1
R
(6.19)
Ak = Ak ,
bk ,
Qk = Q
(6.21)
bk .
Rk = R
(6.23)
(6.20)
segue que
(6.22)
bk , R
bk sao ambas caracterizadas como sendo a
De fato, afirmamos que as matrizes Qk , Rk e as matrizes Q
k
decomposicao QR (portanto u
nica) da matriz A , a k-esima potencia de A:
bk R
bk .
Ak = Qk Rk = Q
(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
bk1 = Qk1 Rk1 ,
Ak1 = Q
donde
b k1 ,
Qk1 = Q
bk1 .
Rk1 = R
Da, no caso da iteracao simultanea temos
Ak = AAk1 = AQk1 Rk1 = Qk Rk Rk1 = Qk Rk ,
enquanto que no algoritmo QR temos
b k1 R
bk1 = Q
b k1 Ak1 R
bk1 = Q
b k1 Qk Rk R
bk1 = Q
bk R
bk .
Ak = AAk1 = AQ
119
Portanto,
bk R
bk
Ak = Qk Rk = Q
donde
bk ,
Qk = Q
bk .
Rk = R
Finalmente, pelo algoritmo QR podemos escrever (como em (6.10))
Ak = Qk Ak1 Qk ,
donde, pela hipotese de inducao,
b k1 AQ
b k1 Qk
Ak = Qk Ak1 Qk = Qk Qk1 AQk1 Qk = Qk Q
b k AQ
bk
= Qk Qk1 Q1 AQ1 Qk1 Qk = Q
= Ak .
6.4.2
Converg
encia do Algoritmo QR
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 =
Qm+1 =
q1
...
qm
q1
...
qm
,
qm+1
120
(6.26)
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)
6.15 Proposi
c
ao. Sejam A Mn (F) e q1 , . . . , qm Fn linearmente independentes. Sejam S = hq1 , . . . , qm i
e considere a matriz n m
Q = q1 . . . qm .
Ent
ao S e invariante sob A se e somente se existe algum B Mm (F) tal que
AQ = QB.
Alem disso, todo autovalor de B e um autovalor de A com autovetor correspondente em S.
Prova. Se existe tal B, entao
Aqj =
m
X
qi bij S.
i=1
Reciprocamente, se S e invariante sob A, entao para cada ndice j = 1, . . . , m existem escalares bij tais que
Aqj =
m
X
bij qi .
i=1
6.6
Para matrizes simetricas, existem algoritmos bem mais eficiente que o algoritmo QR.
[Trefethen-Bau], entre outros.
Veja [Parlett],
6.7
121
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
|1 | = . . . = |r | > |2 | > . . . > |n |
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?
6.5 Prove a unicidade do refletor na Proposicao 6.11.
Refer
encias Bibliogr
aficas
[BHM]
[Demmel]
[Hackbusch]
[Hoffman-Kunze]
[Horn-Johnson]
[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.
[Parlett]
[Saad]
Yousef SAAD, Iterative Methods for Sparse Linear Systems, 2nd Ed., SIAM, 2003.
[Stoer-Bulirsch]
[Strang]
Gilbert STRANG, Linear Algebra and its Applications, 3rd Ed., Harcourt Brace Jovanovich, 1988.
[Trefethen-Bau]
Henk A. van der VORST, Iterative Krylov Methods for Large Linear Systems, Cambridge University Press, 2003.
[Watkins]
David S. WATKINS, Fundamentals of Matrix Computations, 2nd Ed., John Wiley &
Sons, 2002.
[Young]
122