Você está na página 1de 123

Notas de Aula

Algebra
Linear Num
erica
Rodney Josu
e Biezuner

Departamento de Matematica
Instituto de Ciencias Exatas (ICEx)
Universidade Federal de Minas Gerais (UFMG)

Notas de aula da disciplina Algebra


Linear Numerica do Curso de Graduaca
o
em Matem
atica Computacional, ministrado durante o segundo semestre do ano de 2009.

30 de novembro de 2009

E-mail: rodney@mat.ufmg.br; homepage: http://www.mat.ufmg.br/rodney.

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

2 Invertibilidade de Matrizes Esparsas


2.1 Normas Matriciais . . . . . . . . . .
2.2 Matrizes Diagonalmente Dominantes
2.3 Teorema dos Discos de Gershgorin .
2.4 Propriedade FC . . . . . . . . . . .
2.5 Matrizes Irredutveis . . . . . . . . .
2.6 Exerccios . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

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

Rodney Josue Biezuner


3.4

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:

Rodney Josue Biezuner

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

onde a0 Z e an {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.


O padrao para representar n
umeros reais em Matematica Computacional e o n
umero de ponto flutuante. N
umeros de ponto flutuante nao sao infinitos: existe um n
umero de ponto flutuante maximo e um
n
umero de ponto flutuante mnimo. Existe um n
umero fixado de pontos flutuantes, logo existem espacos
entre eles. N
umeros de ponto flutuante de precisao simples (tipo float) tem aproximadamente 8 dgitos
decimais significantes, enquanto que n
umeros de ponto flutuante de precisao dupla (tipo double) tem aproximadamente 17 dgitos decimais significantes. O qualificativo aproximadamente se refere ao fato que os
n
umeros de ponto flutuante sao armazenados no computador na base binaria, logo a conversao da base
binaria para a base decimal introduz alguma imprecisao.
Um n
umero de ponto flutuante e armazenado internamente em duas partes: um significando e um
expoente, semelhante `a notacao cientfica.
Esta escolha de representacao garante que a distribuicao dos valores representados em ponto flutuante
nao sera uniforme. Para entender isso, vamos assumir que o significando e limitado a um u
nico dgito decimal
e que o expoente e restrito aos valores 1, 0, 1. A tabela abaixo registra todos os n
umeros reais positivos
que podemos representar:
1
0
1
2
3
4
5
6
7
8
9

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.

Rodney Josue Biezuner

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

Rodney Josue Biezuner

enquanto que o maior valor possvel em modulo para double corresponde a


s = 0, e = 2047 e f = 1111111111111111111111111111111111111111111111111111,
ou seja,
52
X
1
21023 1, 7977 10308 .
i
2
i=0

0.3.2

N
umeros denormalizados

Se e = 0 (um dos valores reservados) e f 6= 0, nos temos o que se chama um n


umero denormalizado (ou
subnormal ). Existe um algarismo 0 e um ponto binario . implcitos `a esquerda do primeiro bit de f , de modo
que o n
umero representado por s, e, f e o n
umero
s

n = (1) (0.f ) 2E
onde E = 126 (float) ou E = 1022 (double).
Assim, o menor valor possvel em modulo para float corresponde a
s = 0, e = 0 e f = 00000000000000000000001,
ou seja,

1
2126 1, 4013 1045 ,
223
um pouco menor do que o menor valor possvel 1 2126 = 1, 1755 1038 para um float normalizado,
correspondente a
s = 0, e = 1 e f = 00000000000000000000000.
O menor valor possvel em modulo para double corresponde a
s = 0, e = 0 e f = 0000000000000000000000000000000000000000000000000001,
ou seja,

1
21022 4, 9407 10324
252
um pouco menor do que o menor valor possvel 1 21022 2, 2251 10308 para um double normalizado,
correspondente a
s = 0, e = 1 e f = 0000000000000000000000000000000000000000000000000000.
A existencia dos n
umeros denormalizados permitem uma convergencia para zero menos abrupta. Quando
os valores computados vao se tornando menores e menores, atingindo o menor valor possvel para um float
ou double normalizado, ao inves de carem abruptamente para zero na proxima iteracao, eles sao convertidos
em 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

Outros valores num


ericos

Se e = f = 0, o valor numerico e 0 ou +0, dependendo de s. Se f = 0 e e = 255 para float ou se e = 2047


para double, entao o valor numerico e Infinity ou +Infinity. Se f 6= 0 e e = 255 para float ou se
e = 2047 para double, entao independentemente do valor de 0 nos temos NaN (Not a Number ). Por exemplo,
dividindo 0 por 0 resulta em NaN.
Em geral, no padrao IEEE 754 uma operacao invalida produz NaN, divisao por zero produz Infinity,
overflow produz o maior n
umero normalizado possvel ou Infinity e underflow produz 0, o menor
n
umero normalizado possvel ou um n
umero denormalizado.

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

Problema de Poisson Unidimensional

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!

u(x0 h) = u(x0 ) u0 (x0 )h +

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

Rodney Josue Biezuner

o que fornece uma aproximacao para a derivada segunda u00 (x0 ) de u em x0 :


u00 (x0 )

u(x0 h) 2u(x0 ) + u(x0 + h)


h2

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 )
..
,
.

h (un3 + 2un2 un1 ) = fn2

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

Esta e uma matriz tridiagonal, simetrica e esparsa.

1.1.2

Problema de Poisson Bidimensional

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,

Rodney Josue Biezuner

onde
h=

1
,
n

produzindo a malha (ou gride) uniforme

d = (x, y) : x = ix, y = jy, 0 6 i, j 6 n .


A malha dos pontos interiores e dada por
d = {(x, y) : x = ix, y = jy, 1 6 i, j 6 n 1} ,
enquanto que a fronteira discretizada e o conjunto
d = {(x, y) : x = ix, y = jy, 0 6 i 6 n, 0 6 j 6 m} .
A equacao de Poisson
uxx uyy = f (x, y)
pode ser agora discretizada. Denotamos
ui,j = u (xi , yj ) ,
fi,j = f (xi , yj ) .
Aproximamos cada derivada parcial de segunda ordem pela sua diferenca centrada, obtendo
ui1,j + 2ui,j ui+1,j
,
x2
ui,j1 + 2ui,j ui,j+1

.
y 2

uxx
uyy

Portanto, a equacao de Poisson discretizada toma a forma


ui1,j ui,j1 + 4ui,j ui+1,j ui,j+1
= fi,j .
h2

(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)

Rodney Josue Biezuner

10

onde I e a matriz identidade (n 1) (n 1) e B

4 1
1
4 1

..

.
1
B=

..

e a matriz (n 1) (n 1) dada por

..
..

.
1

1
4
1

1
4 (n1)(n1)

Observe que
aii = 4
2

para todo 1 6 i 6 (n 1) , enquanto que


aij = 1
se o ponto j e vizinho `a esquerda ou `a direita do ponto i, ou se o ponto j e vizinho acima ou abaixo do ponto
i. Por exemplo, se n = 4, temos

4 1
0 1
0
0
0
0
0
1
4 1
0 1
0
0
0
0

0 1
4
0
0
1
0
0
0

1
0
0
4 1
0 1
0
0

1
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.

Rodney Josue Biezuner

1.3

11

Implementac
ao Computacional de Matrizes Esparsas

Para tirar vantagem do grande n


umero de elementos nulos, esquemas especiais sao necessarios para armazenar
matrizes esparsas na memoria do computador. O principal objetivo e representar apenas os elementos naonulos.
O esquema mais simples de armazenamento e o chamado formato de coordenadas. A estrutura de dados
consiste de tres vetores (arrays): um vetor real contendo os valores e dois vetores inteiros, um deles contendo
os ndices das linhas, enquanto que o outro contem os ndices das colunas.
1.1 Exemplo. A matriz

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

pode ser representada por

Cada vetor tem comprimento igual ao n


umero de elementos nao-nulos da matriz. Observe que os
elementos sao listados em ordem arbitraria.
Provavelmente, o formato mais popular para armazenar matrizes esparsas gerais e o formato compressed
row storage (CRS). Neste esquema, as linhas da matriz sao armazenadas uma a uma em um vetor real, da
primeira ate a u
ltima, preservando a ordem. Um segundo vetor inteiro contendo os ndices das colunas e
usado. Um terceiro vetor inteiro contem a posicao no vetor de valores reais ou no vetor de ndices de coluna
onde cada linha comeca, mais um elemento para indicar a primeira posicao vazia dos dois vetores.
1.2 Exemplo. A matriz

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

pode ser representada no formato CSR por


valueArray = 1

columIndexArray = 1

rowPointerArray = 1

11

12

Enquanto o comprimento dos dois primeiros vetores e igual ao n


umero de elementos nao-nulos da
matriz., o comprimento do terceiro vetor e igual ao n
umero de linhas da matriz mais um. Dentro
de cada linha os elementos ainda podem ser armazenados em ordem arbitraria, o que pode ser muito
conveniente.
Este esquema e o preferido pois e o mais u
til para realizar as computacoes tpicas, tais como multiplicacao
da matriz por vetores. Em CRS, a multiplicacao matriz-vetor pode ser implementada da seguinte forma (em

Rodney Josue Biezuner

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

Invertibilidade de Matrizes Esparsas


Neste captulo desenvolveremos metodos gerais e faceis de aplicar para determinar a invertibilidade de matrizes esparsas, principalmente aquelas que surgem atraves da discretizacao de equacoes diferenciais parciais
atraves de diferencas finitas. Em particular, isso implicara a existencia e unicidade de solucoes para sistemas
lineares envolvendo tais matrizes. Uma vez que isso esteja estabelecido, poderemos nos dedicar nos proximos
captulos a estudar metodos iterativos para encontrar estas solucoes.

2.1

Normas Matriciais

Lembramos o conceito de norma vetorial:


2.1 Defini
c
ao. Seja V um espaco vetorial real ou complexo. Uma norma vetorial em V e uma funcao
|| : V R que satisfaz as seguintes propriedades:
(i) |x| > 0 para todo x 6= 0 e |x| = 0 se x = 0;
(ii) kxk = || kxk para todo x V e para todo R;
(iii) (Desigualdade Triangular) kx + yk 6 kxk + kyk para todos x, y V.
Denotaremos por Mn (R) o espaco vetorial das matrizes complexas n n e por Mn (C) o espaco vetorial
das matrizes complexas n n. Quando estivermos nos referindo a qualquer um destes espacos (ou seja,
quando a afirmacao que fizermos valer para qualquer um deles), usaremos a notacao Mn simplesmente.
2.2 Defini
c
ao. Uma norma matricial no espaco vetorial Mn e uma norma vetorial kk : Mn R que
satisfaz a propriedade submultiplicativa
kABk 6 kAk kBk

(2.1)

para todas as matrizes A, B Mn .


A seguir, veremos alguns exemplos das normas matriciais mais importantes em Mn . A verificacao de que
as normas apresentadas constituem normas vetoriais e deixada como exerccio (Exerccio 2.1).
2.3 Exemplo. Norma l1 (norma da soma):
kAk1 =

n
X
i,j=1

13

|aij | .

(2.2)

Rodney Josue Biezuner

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

|blj | = kAk1 kBk1 .

j,l=1

2.4 Exemplo. Norma l2 (norma euclidiana):

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

= 2 > 1 = kAk kAk .

No entanto, um m
ultiplo escalar desta norma vetorial e uma norma matricial:
kAkn = n max |aij | .

(2.5)

16i,j6n

Com efeito,
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

= n (n kAk kBk ) = n kAk n kBk = kABkn .

k=1

Rodney Josue Biezuner

15

2.7 Exemplo. Norma do operador:


Dada uma norma vetorial || em Rn ou Cn , ela induz uma norma matricial atraves da definicao
kAk = max |Ax| = max |Ax| = sup
|x|=1

|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

A x = |Ax| = |Ax| > |Ax| ,

|x|
|x|

de modo que o maximo de |Ax| nao e atingido no interior da bola, logo


max |Ax| > max |Ax|

|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)

para todo vetor x Rn ou Cn .


2.8 Exemplo. Norma do m
aximo das somas das linhas:
kAkL = max

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

Supondo que a i-esima linha de A e nao-nula, definimos o vetor y = (y1 , . . . , yn ) Cn por

aij
se aij 6= 0,
,
yi =
|a |
1ij
se aij = 0.

Rodney Josue Biezuner

16

o que implica |y| = 1, aij yj = |aij | e


max |Ax| > |Ay|

|x| =1

n
X
n

= max
aij yj = max
|aij | = kAkL .
16i6n
16i6n j=1
j=1

aximo das somas das colunas:


2.9 Exemplo. Norma do m
kAkC = max

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

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


|Ax|1 = |x1 A1 + . . . + xn An |1 6

n
X

|xi Ai |1 =

i=1

= kAkC

n
X

n
X

|xi | |Ai |1 6

i=1

n
X
i=1

|xi | max |Aj |1


16j6n

|xi | = kAkC |x|1 ,

i=1

donde
max |Ax|1 6 kAkC .

|x|1 =1

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


|Ay|1 = |Aj |1
para todo k, logo
max |Ax|1 > max |Ayj |1 = max |Aj |1 = kAkC .

|x|1 =1

16j6n

16j6n

2.10 Exemplo. p-normas:


Este e o nome geral para as normas do operador induzidas pela norma vetorial lp em Rn ou Cn . Para
distingui-las das normas matriciais lp no proprio espaco vetorial Mn , vamos denota-las por
|||A|||p = sup
x6=0

|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

Rodney Josue Biezuner

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

2.11 Exemplo. Norma induzida por uma matriz invertvel:


Se kk e uma norma matricial qualquer e se S e uma matriz invertvel, entao

kAkS = S 1 AS

(2.10)

define uma norma matricial. Com efeito,

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

Lembramos que todas as normas em um 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

e defina kk1 como sendo a norma `1 em relacao a esta base:


kxk1 =

n
X
i=1

|xi | .

Rodney Josue Biezuner

18

Entao, se kk2 e uma norma qualquer em V , segue da desigualdade triangular que


kxk2 6

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

e um conjunto linearmente independente. Portanto,

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

Matrizes Diagonalmente Dominantes

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

e estritamente diagonalmente dominante se


|aii | >

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

Para todo N N podemos escrever


A

N
X
k=0

(I A) = [I (I A)]

N
X
k=0

(I A) =

N
X

(I A)

k=0

Como kk e uma norma matricial, temos que

k
k
(I A) 6 kI Ak .

N
+1
X
k=1

N +1

(I A) = I (I A)

Rodney Josue Biezuner

19

Logo, de kI Ak < 1 segue que


lim (I A)

N +1

= 0.

Portanto, tomando o limite quando N , conclumos (2.11).


2.15 Corol
ario. Se A Mn e uma matriz singular e kk e uma norma matricial, ent
ao kI Ak > 1. Em
particular, se kk e uma norma matricial, ent
ao kIk > 1.
Prova. Para provar a segunda afirmacao do enunciado, basta tomar A = 0.
2.16 Proposi
c
ao. Se A e uma matriz estritamente diagonalmente dominante, ent
ao A e invertvel.
Prova. Denote por D a matriz diagonal cujas entradas diagonais sao as entradas diagonais de A. Uma
matriz estritamente diagonalmente dominante possui, por definicao, entradas diagonais nao-nulas, logo D e
uma matriz invertvel. A matriz D1 A tem apenas 1s na diagonal principal e se mostramos que D1 A e
invertvel, isto implicara que A e invertvel. Para provar isso, considere a matriz I D1 A. Temos

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

logo I D1 A < 1 e o resultado segue do Lema 2.14.


` vezes, exigir dominancia diagonal estrita em todas as linhas e pedir demais. Para certas matrizes,
As
dominancia diagonal junto com dominancia diagonal estrita em apenas uma linha e suficiente para garantir
a sua invertibilidade. As matrizes de discretizacao obtidas no captulo anterior satisfazem esta condicao
(nas linhas correspondentes `a pontos adjacentes `a fronteira), e nenhuma delas e estritamente diagonalmente
dominante. Por outro lado, vale a pena ressaltar que esta condicao nao e suficiente para estabelecer a
invertibilidade de uma matriz em geral, como o exemplo

4 2 1
0 1 1
0 1 1
demonstra.

2.3

Teorema dos Discos de Gershgorin

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} .

Rodney Josue Biezuner

20

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


Ri (A) =

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
[

DRi (A) (aii ) .

(2.13)

i=1

Alem disso, se uma uni


ao de k destes discos forma uma regi
ao que e disjunta dos nk discos restantes,
ent
ao existem exatamente k autovalores de A nesta regi
ao.
Prova. Seja um autovalor de A e x = (x1 , . . . , xn ) 6= 0 um autovetor associado. Seja k um ndice tal que
|xk | > |xj |

para j = 1, . . . , n,

isto 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

|akj | |xj | 6 |xk |

j=1
j6=k

n
X

|akj | = |xk | Rk (A) ,

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
[

DRi (A) (aii )

i=1

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


DRi (At ) (aii ) = {z C : |z aii | 6 Ri (At )} = {z C : |z aii | 6 tRi (A)} DRi (A) (aii ) ,

Rodney Josue Biezuner

21

logo,
Gk (At ) Gk (A)
e
Gk (A) [G (At ) \Gk (At )] =
para 0 6 t 6 1. Porque os autovalores sao funcoes contnuas das entradas de uma matriz, o caminho
i (t) = i (At )
e um caminho contnuo que liga i (A0 ) = i (D) = aii a i (A1 ) = i (A). Seja 1 6 i 6 k. Como
i (At ) Gk (At ) Gk (A), conclumos que para cada 0 6 t 6 1 existem k autovalores de At em Gk (A); em
particular, fazendo t = 1, obtemos que Gk (A) possui pelo menos k autovalores de A. Da mesma forma, nao
pode haver mais que k autovalores de A em Gk (A), pois os n k autovalores restantes de A0 = D comecam
fora do conjunto Gk (A) e seguem caminhos contnuos que permanecem fora de Gk (A).
A uniao G (A) dos discos de Gershgorin e conhecida como a regi
ao de Gershgorin. Observe que enquanto
nao podemos em geral afirmar com certeza que cada disco de Gershgorin possui um autovalor, a segunda
afirmacao do teorema permite-nos fazer tal conclusao desde que os discos de Gershgorin sejam dois a dois
disjuntos.
O Teorema dos Discos de Gershgorin permite entender o resultado da Proposicao 2.16: se uma matriz A e
estritamente diagonalmente dominante, entao os discos de Gershgorin DRi (A) (aii ) nao interceptam a origem,
logo 0 nao pode ser um autovalor para a matriz A, o que implica que A e invertvel. Alem disso, se todos
os elementos da diagonal principal de A sao reais e positivos, entao os autovalores de A estao localizados no
semiplano direito de C, de modo que se A e tambem simetrica, conclumos que todos os autovalores de A
sao positivos.
A aplicacao mais obvia do Teorema dos Discos de Gershgorin e na estimativa dos autovalores de uma
matriz. Usos mais refinados do Teorema de Gershgorin permitem obter conhecimento mais preciso sobre
onde os autovalores da matriz se encontram e correspondentemente melhores estimativas para o raio espectral
de uma matriz. Por exemplo, como A e At possuem os mesmos autovalores, existe um teorema dos discos
de Gershgorin equivalente para as colunas de uma matriz. Em particular, todos os autovalores de A estao
localizados na intersecao destas duas regioes: G (A) G (At ). Isso implica a seguinte estimativa simples para
o raio espectral de uma matriz complexa:
2.18 Corol
ario. Se A Mn (C), ent
ao

(A) 6 min max

n
X

i=1,...,n

j=1

|aij | , max

n
X

j=1,...,n

|aij | = min (kAkL , kAkC ) .

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

e um resultado semelhante vale para as colunas de A.


O resultado do Corolario 2.18 nao e surpreendente em vista do raio espectral de uma matriz ser menor que
qualquer norma matricial (veja o proximo captulo). Um resultado melhor pode ser obtido uma vez que
se observa que A e S 1 AS tambem possuem os mesmos autovalores, qualquer que seja a matriz invertvel
S. Em particular, quando S = D = diag (p1 , . . . , pn ) e uma matriz diagonal com todos os seus elementos
positivos, isto e, pi > 0 para todo i, aplicando o Teorema de Gershgorin `a matriz

pj
aij
D1 AD =
pi
e `a sua transposta, obtemos o seguinte resultado que permite obter uma estimativa arbitrariamente boa dos
autovalores de A:

Rodney Josue Biezuner

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

para algum i. Se 0 e um autovalor de A interior a algum disco de Gershgorin, entao


|aii | <

n
X

|aij |

j=1
j6=i

para algum i e A nao pode ser diagonalmente dominante na linha i.


Uma condicao equivalente para que um autovalor de A nao seja um ponto interior de nenhum disco de
Gershgorin e que
n
X
| aii | > Ri (A) =
|aij | para todo i = 1, . . . , n.
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.

Se i e qualquer ndice tal que


|xi | = |xk |

Rodney Josue Biezuner

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

|aij | |xj | 6 |xk |

j=1
j6=i

n
X

|aij | = |xk | Ri (A)

(2.16)

j=1
j6=i

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


| aii | 6 Ri (A) .
Como por hipotese
| aii | > Ri (A)
para todo ndice i, segue que
| aii | = Ri (A) .
Em geral, |xi | = |xk | implica que as desigualdades em (2.16) sao identidades; em particular,
n
X

|aij | |xj | = |xi |

j=1
j6=i

donde

n
X

n
X

|aij |

j=1
j6=i

|aij | (|xi | |xj |) = 0.

j=1
j6=i

Esta e uma soma de termos nao-negativos, pois |xi | > |xj |, logo se aij 6= 0 necessariamente devemos ter
|xj | = |xi | = |xk |.
Este lema tecnico tem as seguintes conseq
uencias u
teis:
2.21 Teorema. Seja A Mn (C) uma matriz cujas entradas s
ao todas n
ao-nulas e seja um autovalor
de A que n
ao e um ponto interior de nenhum disco de Gershgorin. Ent
ao todo crculo de Gershgorin
de A passa por (isto e, est
a na interseca
o de todos os crculos de Gershgorin de A) e se x =
(x1 , . . . , xn ) 6= 0 e um autovetor associado a ent
ao
|xi | = |xj |

para todos i, j = 1, . . . , n.

Prova. Decorre diretamente do lema anterior.


2.22 Corol
ario. Se A Mn (C) e uma matriz cujas entradas s
ao todas n
ao-nulas e diagonalmente domin
P
nante tal que |aii | >
|aij | para pelo menos alguma linha i, ent
ao A e invertvel.
j=1
j6=i

Rodney Josue Biezuner

24

Prova. Pois, como A e diagonalmente dominante, se 0 e um autovalor de A entao 0 nao pode ser um ponto
interior de nenhum disco de Gershgorin. Por outro lado, pelo teorema anterior, segue que todo crculo de
Gershgorin passa por 0. Entretanto, o i-esimo crculo de Gershgorin centrado em aii e com raio Ri < |aii |
nao pode passar por 0. Conclumos que 0 nao e um autovalor de A, logo A e invertvel.
As matrizes do Corolario 2.22 sao as antteses das matrizes esparsas que nos interessam. Usando com
maior cuidado a informacao dada pelo Lema 2.20 podemos obter resultados que se aplicam a matrizes
esparsas.
2.23 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.

Prova. Seja x = (x1 , . . . , xn ) 6= 0 um autovetor associado a e i um ndice tal que


|xi | > |xk |

para k = 1, . . . , n.

Pelo Lema 2.20,


| aii | = Ri (A) .
Seja j 6= i qualquer outro ndice e i1 = i, i2 , i3 , . . . , im1 , im = j, com 1 6 m 6 n, ndices tais que todas as
entradas matriciais
aii2 , ai2 i3 , . . . , aim1 j 6= 0.
Como aii2 6= 0, segue da segunda afirmativa do Lema 2.20 que |xi2 | = |xi |. Mas entao ai2 i3 6= 0 e portanto
|xi3 | = |xi2 | = |xi |. Prosseguindo desta forma, conclumos que

|xi | = |xi2 | = . . . xim1 = |xj | .


Em particular, segue novamente do Lema 2.20 que o j-esimo crculo de Gershgorin passa por . Como j e
arbitrario, isso prova o teorema.
2.25 Corol
ario. Se A Mn (C) e uma matriz que satisfaz a propriedade FC e diagonalmente dominante
n
P
tal que |aii | >
|aij | para pelo menos alguma linha i, ent
ao A e invertvel.
j=1
j6=i

Rodney Josue Biezuner

25

Prova. Segue do teorema anterior da mesma forma que o Corolario 2.22 segue do Teorema 2.21.
Vamos tentar entender melhor o significado da propriedade FC. Note que ela se refere apenas `a localizacao
dos elementos nao-nulos de A fora da diagonal principal os elementos da diagonal principal e os valores
especficos dos elementos fora da diagonal principal sao irrelevantes. Isso motiva as seguintes definic
oes:
2.26 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.

O conceito de uma seq


uencia de entradas nao-nulas da matriz A que aparece na definicao da propriedade
FC pode ser visualizado em termos de caminhos em um grafo associado a A:
2.27 Defini
c
ao. Dada uma matriz A Mn (C), o grafo direcionado de A e o grafo direcionado (A)
com n nodos P1 , . . . , Pn tais que existe um arco direcionado em (A) de Pi a Pj se e somente se aij 6= 0.
Um caminho direcionado em um grafo e uma seq
uencia de arcos Pi1 Pi2 , Pi2 Pi3 , . . . em . O
comprimento de um caminho direcionado e o n
umero de arcos sucessivos no caminho direcionado. Um
ciclo e um caminho direcionado que comeca e termina no mesmo no.
Dizemos que um grafo direcionado e fortemente conexo se entre qualquer par de nodos distintos
Pi , Pj existir um caminho direcionado de comprimento finito que comeca em Pi e termina em Pj .
Observe que quando e um grafo direcionado com n nodos, se existe um caminho direcionado entre dois
nodos de , entao sempre existe um caminho direcionado entre estes dois nodos de comprimento menor que
ou igual a n 1 (Exerccio 2.7).
2.28 Teorema. A Mn (C) satisfaz a propriedade FC se e somente se (A) e fortemente conexo.
Agora estamos em condicoes de verificar a invertibilidade das matrizes esparsas oriundas da discretizacao
de EDPs atraves de diferencas finitas:
2.29 Teorema. As matrizes de discretizac
ao do problema modelo s
ao invertveis.
facil ver que as matrizes de discretizacao obtidas no captulo anterior para o intervalo e para
Prova. E
o quadrado sao matrizes diagonalmente dominantes com dominancia diagonal estrita nas linhas correspondentes a pontos interiores adjacentes `a fronteira. Alem disso, elas satisfazem a propriedade FC. De fato, cada
ndice i da matriz corresponde a um ponto interior Pi da malha e aij 6= 0 sempre que Pi e Pj sao pontos
vizinhos naqueles esquemas. Entao, dados dois pontos distintos Pi , Pj e facil encontrar uma seq
uencia de
ndices i1 = i, i2 , i3 , . . . , im1 , im = j, com 1 6 m 6 n, tais que todas as entradas matriciais
ai1 i2 , ai2 i3 , . . . , aim1 im
sao nao-nulas: no caso unidimensional, basta percorrer a malha diretamente de Pi ate Pj (andando a partir
de Pi sempre para a direita ou sempre para a esquerda, conforme o caso, ate encontrar Pj ), e no caso
bidimensional basta usar qualquer caminho interior de Pi ate Pj (pode-se usar a ordem lexicografica para
percorrer a malha, ou a ordem lexicografica inversa, dependendo das posicoes relativas de Pi e Pj ; no entanto,
estes caminhos sao mais longos que o necessario). Em outras palavras, identificando as malhas de pontos
internos com os grafos direcionados da matriz de discretizacao, de modo que existe um arco direcionado entre

Rodney Josue Biezuner

26

dois pontos da malha se e somente se eles sao vizinhos, os esquemas de discretizacao considerados garantem
que estes grafos sao fortemente conexos.
Verificar a propriedade FC a partir do grafo direcionado de A pode ser impraticavel se o tamanho da
matriz for muito grande ou se a matriz nao tiver origem na discretizacao de um problema de EDPs. Existe
um metodo computacional mais explcito para faze-lo:
2.30 Teorema. Sejam A Mn (C) e Pi , Pj nodos de (A). Existe um caminho direcionado de 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

equivalente a dizer que existe um caminho direcionado de comprimento 2 em (A) de Pi para Pj .


Em geral, supondo a afirmativa provada para m, temos

|A|

m+1

ij

n
X

(|A| )ik (|A|)kj =

k=1

n
X

(|A| )ik |akj | 6= 0

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

ou, equivalentemente, se e somente se


n1

[I + M (A)]

> 0.

Rodney Josue Biezuner

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

se (i, j) 6= (k, l) , (l, k) , (k, k) ou (l, l) ,


ij
1
e (i, j) = (k, l) ou se (i, j) = (l, k) ,
Tij =

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

a11 a12 a13 a14


1 0 0 0
a11 a13 a12 a14
a21 a22 a23 a24 0 0 1 0 a21 a23 a22 a24

AT =
a31 a32 a33 a34 0 1 0 0 = a31 a33 a32 a34 .
a41 a42 a43 a44
0 0 0 1
a41 a43 a42 a44
Pode-se provar que toda matriz de 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

Rodney Josue Biezuner

28

onde B e uma matriz m m, D e uma matriz (n m) (n m), C e uma matriz m (n m) e 0 e


a matriz nula (n m) m. Caso contrario, dizemos que A e irredutvel.
Da definicao vemos que se |A| > 0, entao A e irredutvel, e para que A seja redutvel, ela precisa ter pelo
menos n 1 zeros (caso m = 1). A motivacao para este nome e a seguinte. Suponha que queiramos resolver
o sistema Ax = b e que A seja redutvel. Entao, se escrevermos

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

onde y, b1 Cm e z, b2 Cnm , este sistema e por sua vez equivalente ao sistema

By + Cz = b1
Dz = b2
Se resolvermos primeiro Dz = b2 e utilizarmos o valor de z encontrado na primeira 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

ou, equivalentemente, se e somente se


n1

[I + M (A)]

> 0.
n1

Prova. Para provar o resultado, mostraremos que A e redutvel se e somente se (I + |A|)


possui pelo
menos uma entrada nula.
Assuma primeiramente que A e redutvel, de modo que para alguma matriz de permutacao P tenhamos

B C
A=P
P t =: P AP t .
0 D
Observe que


|A| = P AP t = P A P t ,

ja que o efeito de P e apenas trocar linhas e colunas. Alem disso, note que
k

k
B
Ck
A =
0 Dk
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

Rodney Josue Biezuner

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

pelo menos alguma linha i, ent


ao A e invertvel.
Alem disso, se A e hermitiana e todos os elementos da diagonal principal de A s
ao positivos, ent
ao
todos os autovalores de A s
ao positivos.
Prova. O resultado segue do Teorema 2.34, do Corolario 2.25 e do Teorema dos Discos de Gershgorin (veja
comentarios apos o Teorema 2.18).
ao do problema modelo s
ao positivos.
2.38 Corol
ario. Os autovalores das matrizes de discretizac

2.6

Exerccios

2.1 Mostre que as normas matriciais introduzidas na primeira secao deste captulo (Exemplos 2.3 ate 2.11)
sao de fato normas vetoriais.

Rodney Josue Biezuner

30

2.2 Mostre que a norma lp (Exemplo 2.5) e uma norma matricial.


2.3 Mostre que a norma l2 e diferente da 2-norma em Mn (veja Exemplo 2.10).
2.4 Seja V um espaco vetorial de dimensao finita e kk1 , kk2 normas vetoriais quaisquer. Prove que existe
uma constante C > 0 tal que
1
kxk1 6 kxk2 6 C kxk1
C
para todo vetor x V .
2.5 Seja kk uma norma matricial. Prove diretamente das propriedades de uma norma matricial que
kIk > 1.
2.6 a) Seja kk uma norma vetorial. Prove que se > 0, entao kk e tambem uma norma vetorial.
b) Seja kk uma norma matricial. Conclua do Lema 2.14 que se < 1, entao kk nao e uma norma
matricial.
c) Seja kk uma norma matricial. Se > 1, podemos concluir que kk nao e uma norma matricial?
2.7 Mostre que se e um grafo direcionado com n nodos, se existe um caminho direcionado entre dois
nodos de , entao sempre existe um caminho direcionado entre estes dois nodos de comprimento menor
que ou igual a n 1

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 <

as iteracoes sao interrompidas e o u


ltimo valor aproximado obtido e aceito como a melhor aproximacao da
solucao dentro das circunstancias.
Os metodos discutidos neste captulo nao necessitam de um bom chute inicial (embora, e claro, quanto
melhor o chute inicial, menor o n
umero de iteracoes necessarias para se chegar `a solucao aproximada com
a exatidao especificada). Embora os metodos iterativos lineares sao muitos lentos em relacao a outros
metodos iterativos desenvolvidos mais recentemente, sendo portanto raramente utilizados isoladamente, eles
sao frequentemente usados hoje em dia como componentes de certos metodos iterativos ultra-rapidos, tais
como o metodo multigrid.

31

Rodney Josue Biezuner

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

onde C = D A e a matriz consistindo dos elementos restantes de A fora da diagonal principal.

(3.5)

Rodney Josue Biezuner

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)

pois os valores xk+1


, . . . , xk+1
a foram computados nesta iteracao, enquanto que os valores xki+1 , . . . , xkn sao
1
i1 j
fornecidos pela iteracao anterior.
Por exemplo, no caso da equacao de Laplace, poderamos utilizar a formula
uk+1
i,j =

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

O processo de corrigir uma equac


ao atraves da modificac
ao de uma vari
avel e `
as vezes chamado de relaxamento. Antes da correc
ao, a equac
ao n
ao e verdadeira; como um conjunto de partes que n
ao se ajustam,
ela est
a em estado de tens
ao. A correc
ao de uma vari
avel relaxa a tens
ao. O metodo de Gauss-Seidel efetua
relaxamento sucessivo, ou seja, passa de equac
ao para equac
ao, relaxando uma depois da outra. [Watkins]
Por este motivo, os metodos de Jacobi e de Gauss-Seidel sao tambem chamados metodos de relaxamento.
Em muitos casos, a convergencia pode ser substancialmente acelerada atraves de sobrerelaxamento. Isso

Rodney Josue Biezuner

34

significa que ao inves de fazer uma correcao para a qual a equacao e satisfeita exatamente, nos fazemos
uma correcao maior. No caso mais simples, escolhe-se um fator de relaxamento > 1 que sobrecorrige por
aquele fator em cada passo (se mover um passo na direcao de xk para xk+1 e bom, mover naquela direcao
> 1 passos e melhor). Este e o chamado m
etodo de sobrerelaxamento sucessivo (SOR, successive
overrelaxation; desenvolvido em 1950 por Young): usando o metodo de Gauss-Seidel obtemos

i1
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

Isso pode ser resumido em

xk+1
i

i1
n
X
X
1
bi
= xki +
aij xk+1

aij xkj xki .


j
aii
j=1
j=i+1

(3.11)

Quando = 1, o metodo SOR e exatamente o metodo de Gauss-Seidel. Um fator < 1 (subrelaxamento)


normalmente diminui a velocidade de convergencia.
Para a maioria dos problemas, o melhor valor para o fator de relaxamento e desconhecido. Para a matriz
de discretizacao obtida a partir da formula de cinco pontos, e sabido que o valor otimo de e, como veremos
na proxima secao,
2
=
.
(3.12)
1 + sen (h)
Em forma matricial, o metodo SOR pode ser descrito da seguinte forma. Como antes, dada uma matriz
A escrevemos
A=DLU
(3.13)
onde D e uma matriz diagonal, L e uma matriz estritamente triangular inferior e U e uma matriz estritamente
triangular superior. Entao, escrevendo o algoritmo SOR na forma

i1
n
X
X
aii xk+1
aij xk+1
= aii xki + bi

aij xkj ,
i
j
j=1

temos

Dxk+1 = Dxk + Lxk+1 + (U D) xk + b

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

Rodney Josue Biezuner

35
2

cinco pontos do laplaciano no quadrado unitario = (0, 1) e b e estabelecido pela condicao de fronteira de
Dirichlet dada por

0
se x = 0,

y
se x = 1,
g (x, y) =
(x

1)
sen
x
se y = 0,

x (2 x)
se y = 1,
ou seja, para resolver o problema discretizado

d ud = 0
ud = gd

em d ,
sobre d .

As iteracoes foram interrompidas quando


k+1

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

Rodney Josue Biezuner

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

Este metodo e conhecido como m


etodo de Jacobi amortecido, metodo de Jacobi ponderado ou ainda
metodo de relaxamento simult
aneo (diferente do metodo de relaxamento sucessivo, baseado no metodo de
Gauss-Seidel, em que cada variavel e substituda sucessivamente dentro da mesma iteracao `a medida que
ela e atualizada; no metodo de Jacobi, as variaveis sao todas substitudas simultameamente na proxima
iteracao).
Em forma matricial, o metodo de Jacobi amortecido pode ser descrito da seguinte forma. Denotando por
D a parte diagonal de A, temos

n
X
aij xkj ,
aii xk+1
= aii xki + bi
i
j=1

temos

Dxk+1 = Dxk + b Axk

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)

Rodney Josue Biezuner

37

ou, mais explicitamente,

xk+1 = B 1 Cxk + b .

Na notacao da definicao, temos que a matriz de iteracao e


R = B 1 C = B 1 (B A) = I B 1 A

(3.21)

N = B 1 .

(3.22)

Se xk x, entao Bx = Cx + b, donde Ax = b. Do ponto de vista pratico, e importante que a matriz B


seja facil de resolver (mesmo que a inversa de B nao seja efetivamente calculada), como nos exemplos da
secao anterior:

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)

enquanto que o erro residual e dado por

O erro algebrico tem interesse puramente teorico (para provar que determinado metodo iterativo converge,
precisamos mostrar que o erro algebrico tende a zero), ja que ele so pode ser calculado uma vez que se
conhece a solucao exata, e se este for o caso obviamente nao ha necessidade de resolver o sistema. Ja o erro
residual pode ser usado como criterio de parada para o metodo iterativo. O erro algebrico e o erro residual
estao relacionados atraves da expressao:
Aek = rk ,
(3.25)
pois Aek = Ax Axk = b Axk = rk .
Para os metodos iterativos lineares, como

Bek+1 = Bx Bxk+1 = Ax + Cx Cxk b = C x xk = Cek ,


segue que

ek+1 = B 1 C ek

Rodney Josue Biezuner


ou

38

ek+1 = Rek .

(3.26)

Por este motivo, a matriz de iteracao tambem e chamada de matriz de propagac


ao do erro. Segue de (3.26)
que
ek = R k e0 ,
(3.27)
de modo que o erro converge para 0, independentemente do chute inicial x0 , se e somente se Rk 0. Isso
ocorre se e somente se existe alguma norma matricial kk tal que kRk < 1. Obter uma norma matricial
que satisfaz esta propriedade, no entanto, e difcil. Vamos obter uma condicao necessaria e suficiente para
Rk 0 em termos do raio espectral da matriz de iteracao, que e em geral um pouco mais facil de calcular.
Antes, para motivar o resultado, suponha que R seja uma matriz diagonalizavel com 1 , . . . , n os seus
autovalores e {v1 , . . . , vn } uma correspondente base de autovetores. Escrevendo o erro inicial como uma
combinacao linear dos autovetores, temos
n
X
e0 =
ai vi .
i=1

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.4 Lema. Se A Mn (C) e kk e qualquer norma matricial, ent


ao
(A) 6 kAk .
Prova. Seja um autovalor qualquer de A e x um autovetor nao-nulo associado a , de modo que
Ax = x.
Considere a matriz X Mn (C) cujas colunas sao todas iguais ao vetor x. Temos tambem
AX = X
de modo que
|| kXk = kAXk 6 kAk kXk ,
donde
|| 6 kAk
para todo autovalor de A. Como existe um autovalor de A tal que (A) = ||, isso prova o resultado.
3.5 Lema. Seja A Mn (C) e > 0 dado. Ent
ao existe uma norma matricial kk tal que
(A) 6 kAk 6 (A) + .

(3.28)

Rodney Josue Biezuner

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 =

Schur de A. Seja entao

a22 . . . a1n
a23 . . . a2n

3 . . . a3n

..
..
.
.
n

a forma triangular de A. Para t R arbitrario, considere a matriz diagonal

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

kAk := Dt U AU Dt1 L = U Dt1


AU Dt1 ,
L

teremos

kAk = Dt U AU Dt1 L = Dt T Dt1 L 6 (A) + .

Pelo lema anterior, (A) 6 kAk.


3.6 Lema. Seja A Mn (C). Se existe alguma norma matricial kk tal que kAk < 1, ent
ao
Ak 0.
Prova. Se kAk < 1, entao

k
A 6 kAkk 0.

Rodney Josue Biezuner

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 ,

Rodney Josue Biezuner

41

segue que

"
ek = k1 a1 v1 +

n
X

ai

i=2

Como

i
1

i
1

vi .

k
0,

a taxa de convergencia e determinada por |1 | . Para k grande, temos


ek k1 a1 v1 .
Portanto,

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 .

Por outro lado, dado > 0, a matriz


B=

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) +

para todo k > N .


3.10 Defini
c
ao. A taxa m
edia de converg
encia de um metodo iterativo linear com matriz de iteracao
R e definida como sendo

1/k
1
Rk (R) = log10 Rk
(3.30)
= log10 Rk
k
e a taxa assint
otica de converg
encia e dada por
R (R) = lim Rk (R) .
k

(3.31)

Rodney Josue Biezuner

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

A taxa assintotica de convergencia mede o aumento no n


umero de casas decimais corretas na solucao por
iteracao. De fato, usando a norma matricial do Lema 3.5 e medindo as normas dos vetores de acordo, temos
k+1 0
k+1
R
e

e
=
6 kRk = (R) + ,
|ek |
|Rk e0 |
donde
log10
ou

k+1
e

|ek |

= log10 (R) + O ()

log10 ek log10 ek+1 = R (R) + O () .

(3.33)

Assim, se
k

e = O 10p ,
k+1

e
= O 10q ,
teremos
q p R (R) ,
isto e, reduzimos R (R) q p casas decimais no erro. Visto de outra forma, como
k+m
k+m 0
e

R
e
m
=
6 kRm k = (R) + O () ,
|ek |
|Rk e0 |
donde
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 .

Rodney Josue Biezuner

43

Em particular, se A e uma matriz positiva definida, segue que A > I para algum (o menor autovalor de
A) e denotamos este fato por
A > 0.
Lembramos que se A e uma matriz simetrica positiva definida e P e uma matriz invertvel, entao B = P t AP
tambem e uma matriz simetrica positiva definida, pois

t
t
B t = P t AP = P t At P t = P t AP = B
e

hBx, xi = P t AP x, x = hAP x, P xi .

3.13 Teorema. Seja A uma matriz simetrica positiva definida e seja A = B C com B invertvel. Ent
ao o
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)

Observe que C t B t AB 1 C e uma matriz simetrica positiva definida, pois

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)

Rodney Josue Biezuner

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

|aij | para pelo

menos alguma linha i, ent


ao o metodo de Jacobi converge.
Prova. Seja D a parte diagonal da matriz A e R = D1 (D A) = I D1 A a matriz de iteracao do
metodo
de Jacobi
para A. Suponha por absurdo que exista um autovalor de R tal que || > 1. Como
det 1 R I = det (R I) = 0, temos

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:

Rodney Josue Biezuner

45

3.15 Lema. Os n 1 autovalores da matriz de discretizac


ao A da f
ormula dos tres pontos unidimensional
s
ao

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

Rodney Josue Biezuner

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

Rodney Josue Biezuner

47
2

3.16 Lema. Os (n 1) autovalores da matriz de discretizac


ao A da f
ormula dos cinco pontos bidimensional
s
ao

2
k
l
4
k
l
kl = 2 2 cos
cos
= 2 sen2
+ sen2
(3.39)
h
n
n
h
2n
2n
e os autovetores correspondentes s
ao

k
l
2k
l
(n 1) k
l
ukl = sen
sen , sen
sen , . . . , sen
sen
,
n
n
n
n
n
n
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:

ui,j1 + ui1,j 4ui,j + ui+1,j + ui,j+1


= ui,j .
h2

(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)

onde as constantes , estao relacionadas pela identidade


A + B = h2 .

(3.45)

Rodney Josue Biezuner

48

Estas equacoes podem ser escritas como formulas de recorrencia (analogas `as equacoes diferenciais ordinarias
obtidas no metodo de separacao de variaveis contnuo)
F (i + 1) (A + 2) F (i) + F (i 1) = 0,
G (j 1) (B + 2) G (j) + G (j + 1) = 0.
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,

donde, dividindo por z i1 extramos a equacao quadratica (analoga `a equacao indicial)


z 2 2z + 1 = 0.
As duas razes sao
z =

(3.49)

p
2 1,

com z+ + z = 2 e z+ z = 1. Portanto, a solucao geral para a equacao (3.46) e


i
i
+ c2 z
F (i) = c1 z+

para algumas constantes c1 , c2 . Para determinarmos estas constantes e tambem , aplicamos as condicoes
de fronteira, que implicam
F (0) = F (n) = 0.
A primeira destas por sua vez implica que c1 = c2 , logo
i

i
F (i) = c z+
z
.

(3.50)

Como a equacao para F e homogenea, a constante c e arbitraria. Aplicando a segunda, segue que
n
n
z+
= z
,

ou, como z+ z = 1,

2n
z+
=1

Conseq
uentemente, z+ e uma 2n-esima raiz complexa de 1:
z+ = eij/n

(3.51)

para algum inteiro 1 6 k 6 2n 1, onde i = 1. Como z = 1/z+ , podemos restringir 0 6 k 6 n 1 e


(3.50) produz todas as solucoes nao-triviais F de (3.46).

Rodney Josue Biezuner

49

Portanto,
=

z+ + z
eik/n + eik/n
k
=
= cos
,
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

e as coordenadas das autofuncoes associadas sao dadas por


(ukl )i,j = Fk (i) Gl (j) = sen

jl
ik
sen
.
n
m

3.17 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. Seja R = D1 (D A) a matriz de iterac
ao do
metodo de Jacobi. Ent
ao

(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

Ja vimos no Lema 3.16 que

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

Rodney Josue Biezuner

50

Para o quadrado unitario temos


(R) = cos (h) .

(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

Para h = 0.025 (correspondente a uma matriz de tamanho n = 39 39 = 1521), temos


R (R) = log10 (0.9969) = 0.0013484,
de modo que para reduzir o erro pelo fator de uma casa decimal precisamos de
m=

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

|aij | para pelo

menos alguma linha i, ent


ao o metodo de Gauss-Seidel converge.
Prova. Sejam D a parte diagonal, L a parte triangular inferior estrita e U a parte triangular superior
1
estrita da matriz A, e seja R = (D L) U a matriz de iteracao do metodo de Gauss-Seidel para A.
Escrevemos

1
1
R = (D L) U = D I D1 L
U
ou

1 1
R = I D1 L
D U.

(3.54)

Suponha por absurdo que exista um autovalor de R tal que || > 1; como na demonstracao do Teorema
3.9, temos
h

1 1 i
D U = 0.
det I 1 R = det I 1 I D1 L
Agora, observando que

det I D1 L = 1

Rodney Josue Biezuner

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

e irredutvel, diagonalmente dominante e estritamente dominante nas linhas onde A e porque


(
1
se i = j,
1
aij
D A ij =
se i 6= j.
aii
Logo, a matriz I D1 L 1 D1 U tambem satisfaz estas propriedades, pois I, D1 L e D1 U sao
respectivamente a parte diagonal, a parte triangular inferior estrita e a parte triangular superior estrita da
matriz D1 A, e multiplicar a parte triangular inferior estrita pelo n
umero 1 cujo modulo e menor que ou
igual a 1 nao alterara a dominancia diagonal (na verdade so tende a melhora-la) nem acrescentara zeros `a
matriz. A Proposicao 2.16 implica entao que I D1 L 1 D1 U e invertvel, um absurdo.
Usando o Teorema 3.18, conclumos que o metodo de Gauss-Seidel converge para as matrizes de discretizacao
obtidas atraves dos esquemas de diferencas finitas do Captulo 1. Para analizar a velocidade de convergencia
do metodo de Gauss-Seidel, vamos obter os raios espectrais para as matrizes de discretizacao obtidas a partir
da formula de tres pontos unidimensional e a partir da formula de cinco pontos bidimensional.
ao obtida a partir da f
ormula de tres pontos unidimensional
3.19 Teorema. Seja A a matriz de discretizac
1
ou a partir da f
ormula de cinco pontos bidimensional. Seja R = (D L) U a matriz de iterac
ao do
metodo de Gauss-Seidel. Ent
ao

(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)

Para os autovalores nao-nulos, podemos fazer a substituicao


ui,j =

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 ,

Rodney Josue Biezuner

52

de modo que, dividindo por

i+j+1
2

, obtemos

vi1,j + vi+1,j + vi,j1 + vi,j+1 = 1/2 4vi,j .


Portanto os autovalores da matriz de iteracao de Gauss-Seidel para esta matriz sao exatamente os quadrados
dos autovalores da matriz de iteracao de Jacobi (e os autovetores sao os mesmos):
lk =

1
4

2
k
l
cos
+ cos
.
n
n

Portanto, o maximo autovalor ocorre quando k = l = 1 e


(R) = cos2

.
n

O argumento para a formula de tres pontos e analogo.


Para o quadrado unitario temos
(R) = cos2 (h) ,
e usando

2

1
= 1 x2 + O x4 ,
cos2 x = 1 x2 + O x4
2

se h e pequeno podemos aproximar

cos2 (h) 1 2 h2 .

No metodo de Gauss-Seidel ainda temos (R) 1 quadraticamente quando h 0, mas a sua velocidade
de convergencia para a matriz de discretizacao de cinco pontos do quadrado unitario e duas vezes maior que
a do metodo de Jacobi. Para ver isso, faca a expansao do logaritmo em torno do ponto x = 1:

log (1 + x) = x + O h2 .
Segue que

2 2
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

3.20 Teorema. Se o metodo SOR converge, ent


ao
0 < < 2.
Prova. A matriz de iteracao do metodo SOR e

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 .

Se 1 , . . . , n sao os autovalores de R, ent


ao
det R = 1 . . . n .

(3.60)

Rodney Josue Biezuner

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

|aij | para pelo

menos alguma linha i, ent


ao o metodo SOR converge se 0 < 6 1.
Prova. A demonstracao e analoga `a do Teorema 3.18. A matriz de iteracao do metodo SOR e

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 .

Rodney Josue Biezuner

54

Por outro lado, como vimos na demonstracao do Teorema 3.18, a matriz


D1 A = I D1 L D1 U
e irredutvel, diagonalmente dominante e estritamente dominante nas linhas onde A e, logo a matriz

S = 1 1 (1 ) I D1 L 1 D1 U
tambem satisfaz estas propriedades. De fato, S tem zeros nas mesmas posicoes que I D1 L D1 U , logo
a sua irredutibilidade nao e afetada. Alem disso, pela dominancia diagonal de D1 A, sabemos que se

bij = D1 L ij ,

cij = D1 U ij .
entao
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
=
,

de modo que precisamos provar que

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) .

Para o caso geral em que C, fazemos cair no caso real escrevendo


2

| + 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.

Rodney Josue Biezuner

55

Prova. Usaremos o Teorema 3.13. Escrevendo A = D L U , temos Lt = U porque A e simetrica e as


entradas diagonais de D positivas porque A e positiva definida. Para o metodo SOR temos
B=

1
DL

C=

1
D + U,

logo

1
1
2
D Lt +
D+U =
D

e uma matriz simetrica positiva definida se 0 < < 2.


Na verdade, se as entradas diagonais de uma matriz simetrica sao positivas, a condicao de ser definida
positiva e equivalente `a convergencia do metodo SOR para 0 < < 2, como o proximo resultado mostra.
Bt + C =

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)

Como A e simetrica, o produto de matrizes simetricas D1 A = I D1 U D1 L tambem e; como


D1 U, D1 L sao respectivamente a parte estritamente triangular superior e estritamente triangular inferior de uma matriz simetrica, temos
1 t
D U = D1 L.
Logo
e definindo

D
t

x, D1 U x = D1 U x, x = D1 L x, x = hx, (D1 L) xi,


1
x, D L x
z=
,
hx, xi

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)

Rodney Josue Biezuner

56

e como A e positiva definida, D1 A tambem e, o que implica


1
x, D A x
>0
hx, xi
donde

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|

Como 0 < < 2 e Re 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

Rodney Josue Biezuner

57

No caso da matriz de discretizacao da formula de cinco pontos, isso significa encontrar tal que

(1 ) ui,j + ui,j+1 + ui+1,j = ui,j ui,j1 ui1,j


4
4
4
4
ou
1
1
ui,j = (ui,j+1 + ui+1,j + ui,j1 + ui1,j ) .

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 =

podem ser escritas na forma


2

q
1
2
2
(3.65)
=
J J 4 ( 1) .
4
Denotaremos
,J = max (|+ | , | |)

(3.66)

e por J = (RJ ) o maior autovalor do metodo de Jacobi.


3.26 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
(RSOR, ) = ,J

(3.67)

Prova. Por definicao,


(RSOR, ) = max ,J .
J

De (3.65) segue que


,J

2
q

1
2
2
= J + J 4 ( 1) .
4

Se 0 < 6 1, 2 J 4 ( 1) > 0 e ,J e uma funcao crescente de J , logo o maximo e atingido em J .


Se > 1, defina
r
4 ( 1)
.
c =
2
2

Se J > c , 2 J 4 ( 1) > 0 e segue a conclusao como no caso anterior. Se J 6 c , entao 2 J


4 ( 1) 6 0 e
q
q
2
2
2
J 4 ( 1) = 4 ( 1) 2 J i,

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 .

Rodney Josue Biezuner

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

Prova. Se 0 < 6 otimo , entao 2 J 4 ( 1) > 0 e


d
d

q
J
2
J + 2 J 4 ( 1) =

q
2
2
2 J 4 ( 1) + J 2
q
.
2
2 J 4 ( 1)

Temos J 2 < 0, porque 0 < < 2 e J < 1, e


q

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) .

Rodney Josue Biezuner

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

Para o quadrado unitario temos


otimo =
e conseq
uentemente
(RSOR, ) =

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

Em particular, se h = 0.025, temos otimo = 1. 8545 e R (RSOR ) /R (RGauss-Seidel ) = 25.5, isto e, o


metodo SOR e 25 vezes mais rapido que o metodo de Gauss-Seidel. Quanto mais refinada a malha, maior e
a diferenca na velocidade de convergencia entre os dois metodos.

3.3.4

Converg
encia do M
etodo de Jacobi Amortecido

ao o metodo de Jacobi amortecido converge para


3.29 Teorema. Se o metodo de Jacobi converge, ent
0 < 6 1.

Rodney Josue Biezuner

60

Prova. Vamos escrever a matriz de iterac


ao RJ, do metodo de Jacobi amortecido em funcao da matriz de
iteracao do metodo de Jacobi RJ . Temos
RJ = D1 (D A)
de modo que

1
1
1
1
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)

Para o quadrado unitario temos


(RJ, ) = [cos (h) 1] + 1.

(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.

Rodney Josue Biezuner

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

e o vetor resduo inicial

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)

Rodney Josue Biezuner

4.1.1

63

Representa
c
ao Matricial

Sejam BK = {v1 , . . . , vm } e BL = {w1 , . . . , wm } bases para K e L, respectivamente. Construmos as matrizes


nm
V = [v1 vm ] ,

(4.4)

W = [w1 wm ] ,
que tem estes vetores como colunas. Entao a solucao aproximada pode ser escrita na forma
x
e = x0 + V y

(4.5)

para algum vetor y Rm , ou seja, p = V y. A condicao de ortogonalidade r0 AV y, w = 0 para todo


w L tambem pode ser representada matricialmente na forma

T
(W z) r0 AV y = z T W T r0 AV y = 0
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)

Desta forma, um algoritmo tpico para um metodo de projecao tem a forma


Algoritmo para um M
etodo de Proje
c
ao
do until stop criterion

Selecione um par de subespacos K e L


Escolha bases BK = {v1 , . . . , vn } e BL = {w1 , . . . , wn } para K e L

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.

Rodney Josue Biezuner

64

Prova: (i) Como L = K, podemos escrever W = V P para alguma matriz m m invertvel P (Exerccio
4.3). Ent
ao
W T AV = P T V T AV
Como A e positiva definida, segue que V T AV tambem e (Exerccio 4.4); em particular, a matriz m m
V T AV e invertvel. Logo, sendo o produto de duas matrizes invertveis, W T AV e invertvel.
(ii) Neste caso, como L = AK, podemos escrever W = AV P para alguma matriz m m invertvel P .
Da,
T
W T AV = P T (AV ) AV.
T

Como A e invertvel, a matriz n m AV possui posto maximo, logo a matriz m m (AV ) AV e invertvel
(Exerccio 4.5). Novamente, sendo o produto de duas matrizes invertveis, W T AV e invertvel.
Em particular, se A e uma matriz simetrica e um metodo de projecao ortogonal e utilizado, podemos tomar
V = W e a matriz projetada V T AV tambem e simetrica; da mesma forma, se alem disso A for positiva
definida, V T AV tambem sera.

4.1.2

Minimiza
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

Como A e positiva definida, segue que


hA (y x) , y xi > 0
e
hA (y x) , y xi = 0
se e somente se y = x. Portanto,
f (y) > f (x)

Rodney Josue Biezuner

65

para todo y 6= x e o mnimo de f ocorre em x.


Em muitos problemas, o funcional f tem um significado fsico, correspondendo a um funcional de energia; o
minimizante deste funcional de energia corresponde a um estado de equilbrio do sistema.
Observe que, definindo um produto interno a partir da matriz simetrica positiva definida A da maneira
1/2
usual por hv, wiA = hAv, wi e considerando a norma vetorial induzida kvkA = hv, viA , chamada A-norma,
o funcional f pode ser escrito na forma (substituindo b = Ax)
f (y) =

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

Prova: Considere o sistema Ax = b. Entao a 2-norma do resduo e dada por


R (y) = kb Ayk2 .
Segue do lema da projecao ortogonal (ou lema da melhor aproximacao) que x
e e um minimizante de R (y)
sobre o subespaco afim x0 + K se e somente se b Ae
x e ortogonal a AK = L, ou seja, se e somente se
hb Ae
x, wi = 0

para todo w L.

Esta e a condicao de Petrov-Galerkin que define o vetor de aproximacao de um metodo de projecao oblqua
(veja (4.2)).

Rodney Josue Biezuner

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)

cao oblqua sobre K e ortogonalmente a L, definida por


e QL
K a proje
QL
K x K,

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)

Equivalentemente, definindo o operator Am : K K por


Am = QL
K APK ,
ele pode ser expresso na forma
encontrar x
eK

tal que

Am x
e = QL
K b,

(4.13)

de modo que um problema n-dimensional e aproximado por um problema m-dimensional.


4.6 Proposi
c
ao. Assuma x0 = 0. Suponha que K e invariante por A e que b K. Ent
ao o vetor de
aproximac
ao x
e de um metodo de projec
ao (ortogonal ou oblqua) sobre K a partir do vetor inicial x0
e a soluc
ao exata x.
Prova: Temos QL
x) = 0. Como por hipotese Ae
x, b K, segue que QL
x = Ae
x e QL
K (b Ae
K Ae
K b = b, logo
b Ae
x = 0 e portanto x
e = x.
O mesmo resultado vale se x0 6= 0 sob a hipotese adicional que o resduo inicial r0 = b Ax0 K.
A distancia da solucao exata x ao subespaco K, que pode ser escrita como k(I PK ) xk, desempenha um
papel fundamental na estimativa do erro da solucao aproximada x
e K, ja que a distancia desta `a solucao
exata obviamente nao pode ser menor que a distancia de x a K. O proximo resultado fornece uma estimativa
superior para a norma do resduo da solucao exata com respeito ao operador aproximado Am .
4.7 Teorema. Assuma x0 = 0 e b K. Denote

= 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

Da, ja que I PK e uma projecao e portanto satisfaz (I PK ) = (I PK ), podemos escrever

kb Am xk = QL
K A (I PK ) (I PK ) x 6 k(I PK ) xk .

Rodney Josue Biezuner

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)

Se x e um ponto de mnimo temos f (x) = 0, ou seja,


Ax = b.
O metodo variacional sugerido pelo Teorema 4.3 e a base dos metodos iterativos de descida em geral, e do
metodo do gradiente conjugado em particular. A ideia e usar as ideias do calculo diferencial para encontrar
o mnimo do funcional quadratico f .

4.2.1

M
etodos de Descida

A filosofia dos metodos de descida e comecar com um chute inicial x0 e gerar uma seq
uencia de iterados
x1 , x2 , . . . , xk , . . . que satisfazem


f xk+1 6 f xk
ou, melhor ainda,


f xk+1 < f xk

de tal modo que xk convirja para o minimizador


de
f . Em outras palavras, em um metodo de descida
buscamos encontrar uma seq
uencia minimizante xk que convirja para a solucao do sistema.
O passo de xk para xk+1 envolve dois ingredientes: (1) uma direc
ao de busca e (2) um avanco de
comprimento especificado na direcao de busca. Uma direcao de busca significa a escolha de um vetor pk que
indicara a direcao que avancaremos de xk para xk+1 . O comprimento do avanco e equivalente `a escolha de
um escalar k multiplicando o vetor pk . Assim,
xk+1 = xk + k pk .
A escolha de k e tambem chamada uma busca na reta, ja que queremos escolher um ponto na reta
k

x + pk : R
tal que


f xk + pk 6 f xk .

Idealmente, gostaramos de escolher k de tal modo que

f xk+1 = f xk + k pk = min f xk + pk
R

Esta e chamada uma busca exata na reta. Para funcionais quadraticos, a busca exata na reta e trivial e
obtemos uma formula para o valor de k , como veremos a seguir. Denotaremos o resduo em cada iteracao
por
rk = b Axk .
(4.15)
4.7 Proposi
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)

Rodney Josue Biezuner


Prova: Considere o funcional

68

g () = f xk + pk .

g e um polinomio quadratico em , pois

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.

Rodney Josue Biezuner

69

Para entender melhor o metodo da descida mais acentuada, porque ele pode ser lento e as modificacoes
que vamos fazer para torna-lo mais rapido levando ao metodo do gradiente conjugado a ser visto no proximo
captulo, vamos entender o processo do ponto de vista geometrico. Como vimos na demonstracao do Teorema
4.3, o funcional quadratico f e da forma
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 .

Rodney Josue Biezuner

70

Denote y = P x = (y1 , . . . , yn ) e i = yi2 . Entao y tambem e um vetor unitario e


:= hDy, yi =

n
X

i i

i=1

e uma combinacao convexa dos autovalores i de A, ao passo que


n

X
i
:= D1 y, y =

i=1 i

e uma combinacao convexa dos autovalores 1


de A1 . Consequentemente,
i
6

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 .

Em particular, o ponto (, ) esta abaixo do ponto do segmento correspondente a t = .


Portanto,

1
1

hAx, xi A1 x, x = 6
+

.
1
n
1 n
O maximo da funcao quadratica

t 7 t

1 1
t
+
a b ab

e atingido para t = (a + b) /2. Conclumos que

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

b Axk+1 = b Axk k Apk ,

de modo que a seq


uencia dos resduos e dada pela formula
rk+1 = rk k Apk .
Logo,

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

Rodney Josue Biezuner

71

A segunda relacao de A-ortogonalidade segue diretamente da primeira relacao de ortogonalidade; de fato,


lembrando que
Aek+1 = rk+1 ,
temos

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 .

Logo, pelo Corolario 4.12,


k+1 2

e
= ek+1 , ek+1 = ek+1 , ek k ek+1 , rk = ek+1 , ek
A
A
A
A
A

= ek+1 , Aek = ek+1 , rk .


Da, usando a desigualdade de Kantorovich,
k+1 2

e
= ek k rk , rk = ek , rk k rk , rk
A

k k k k !
k k
r ,r
r ,r
= e ,r
1 k
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

Rodney Josue Biezuner

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

4.1 Considere a matriz invertvel

A=

0
I

I
I

onde I e a matriz identidade m m, e seja V = W = {e1 , . . . , em }. Verifique que W T AV e singular.


4.2 Verifique que a matriz W T AV e invertvel se e somente se nenhum vetor do subespaco AK e ortogonal
ao subespaco L.
4.3 Sejam B1 = {v1 , . . . , vm } e B2 = {w1 , . . . , wm } duas bases para o subespaco K Rn e considere as
matrizes n m V = [v1 vm ] e W = [w1 wm ]. Mostre que existe uma matriz m m invertvel P
tal que V = W P .
4.4 Mostre que se A e uma matriz positiva definida n n e V e uma matriz n m cujas colunas sao
linearmente independentes, entao a matriz m m V T AV tambem e uma matriz positiva definida.
4.5 Mostre que se A e uma matriz n m cujas colunas sao linearmente independentes, entao a matriz
m m B T B e invertvel.

Rodney Josue Biezuner

73

4.6 Verifique que a taxa de convergencia para o metodo da descida mais acentuada obtida no Teorema 4.12
e otima da seguinte maneira: se v1 e vn sao os autovetores associados a min e max , respectivamente,
mostre que se e0 = v1 + v2 , entao
k+1

e
= max min ek .
A
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)

Assim, o metodo da iteracao de Richardson consiste simplesmente em somar o resduo da aproximacao `a


propria aproximacao para obter a proxima aproximacao. Na verdade, o metodo de iteracao de Richardson
desempenha papel importante na teoria de convergencia dos metodos iterativos: por exemplo, todo metodo
iterativo linear com decomposicao A = B C pode ser visto como a iteracao de Richardson aplicada ao
sistema equivalente (precondicionado)
B 1 Ax = B 1 b.
A partir de (5.1) obtemos sua correspondente equacao residual:
rm+1 = (I A) rm .

(5.2)

Atraves da iteracao para tras desta equac


ao obtemos
m

(5.3)

(5.4)

rm = (I A) r0
= pm (A) r ,
74

Rodney Josue Biezuner

75

ou seja, o m-esimo resduo e da forma pm (A) r0 onde pm e um polinomio de grau m. Alem disso, como
m
X

xm+1 = xm + rm = xm1 + rm1 + rm = . . . =


rj
j=0

m
X

(I A) r0 ,

j=0

segue que as aproximacao tambem sao da forma qm (A) r0 onde qm e um polinomio de grau igual a m.
Portanto, tanto os resduos r0 , . . . , rm como as aproximacoes x0 , . . . , xm pertencem ao subespaco

Km+1 A, r0 = p (A) r0 : p e um polinomio de grau menor que ou igual a m

= r0 , Ar0 , . . . , Am r0 .

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, v) = v, Av, . . . , Am1 v .


(5.5)
Em outras palavras, Km (A, v) e o subespaco de todos os vetores que podem ser escritos na forma w = p (A) v,
onde p e um polinomio de grau menor que ou igual a m1. Se nao houver motivo para confusao denotaremos
o subespaco de Krylov Km (A, v) simplesmente por Km .
Como vimos no captulo anterior, um metodo de projecao geral para resolver o sistema linear
Ax = b
extrai uma solucao aproximada xm de um subespaco afim x0 + Km de dimensao m atraves da imposicao da
condicao de Petrov-Galerkin
rm = b Axm Lm .
Um m
etodo de subespa
co de Krylov e um metodo de projecao para o qual o subespaco Km e o subespaco
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 .

Lembramos alguns fatos de Algebra


Linear.
omio mnimo de um vetor v com respeito `a matriz A (tambem chamado o A5.2 Defini
c
ao. O polin
anulador de v) e o polinomio monico de menor grau p que anula v, isto e, tal que p (A) v = 0. O grau
do polinomio mnimo e chamado o grau de v com respeito a A.
uma consequencia do Teorema de Cayley-Hamilton que
E
grau v 6 n.
ao Kd e invariante por A e Kd = Km para todo m > d.
5.3 Proposi
c
ao. Seja d = grau v. Ent
Alem disso,
dim Km = m
se e somente se m 6 d. Portanto,
dim Km = min {m, d} .

Rodney Josue Biezuner

76

Prova: Os vetores v, Av, . . . , Am1 v formam uma base para Km se e somente se o u


nico polinomio de grau
menor ou igual a m 1 que anula v e o polinomio nulo.
Apesar dos vetores v, Av, . . . , Am1 v formarem uma base para o subespaco de Krylov Km (quando m 6
grau v), esta e uma base mal-condicionada, no sentido que `a medida que k aumenta o vetor Ak v fica cada vez
mais proximo do autovetor associado ao maior autovalor de A, como veremos em detalhe quando estudarmos
o metodo de potencias para obter autovalores de matrizes. Assim, para m grande os vetores v, Av, . . . , Am1 v
tornam-se aproximadamente linearmente dependentes, o que torna-se um problema em aritmetica de precisao
finita. Para obter uma base bem condicionada para o subespaco de Krylov e necessario usar um metodo de
ortogonalizacao, como veremos a seguir.

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

proj Avj = Avj


hv1 ,...,vj i

vj+1 =

wj
.
kwj k

j
X

hAvj , vi i vi ,

(5.7)

i=1

(5.8)

Rodney Josue Biezuner

77

Podemos resumir este procedimento no seguinte algoritmo:


Algoritmo de Arnoldi
Atribua v;
v1 v/ kvk2 ;
Para
j = 1, . . . , m faca:

Calcule hij = hAvj , vi i para i = 1, . . . , j;


j

Calcule wj = Avj P hij vi ;

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

Km (A, v1 ) = v1 , Av1 , . . . , Am1 v1


Prova: Os vetores v1 , . . . , vm sao ortonormais por construcao, logo sao linearmente independentes. Basta
entao mostrar que v1 , . . . , vm Km (A, v1 ) para concluir que eles formam uma base para Km (A, v1 ). Para
isso, basta mostrar que cada vetor vj e da forma qj1 (A) v1 para algum polinomio qj1 de grau j 1. Isso
pode ser visto por inducao. Se j = 1, temos q0 (t) 1. Assumindo o resultado verdadeiro para todos os
inteiros ate j, considere vj+1 . Temos
hj+1,j vj+1 = wj = Avj

j
X

hij vi = Aqj1 (A) v1

j
X

hij qi1 (A) v1 ,

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 ).

Rodney Josue Biezuner

78

Assim, uma tpica matriz de Hessenberg

h11 h12
h21 h22

0 h32

0
0

H=
0
0
.
..
..
.

.
..
.
.
.
0
0

superior quadrada m m e da forma


h13
h23
h33

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

Por outro lado,

em
Vm+1 H

j
X

hij vi + hj+1,j vj+1 =

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)

Rodney Josue Biezuner

79

de modo que segue de (5.13) que

em
Vm+1 H

j+1
X

hij vi = (AVm )j ,

i=1

e m . Da mesma forma, para j = 1, . . . , m 1,


logo AVm = Vm+1 H
j+1
X

(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

para j = 1, . . . , m 1, enquanto que para j = m temos


(Vm Hm )m =

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

ltima relacao por VmT e


Portanto, AVm = Vm Hm + wm eTm . Finalmente, multiplicando ambos os lados desta u
usando
o
fato
que
os
vetores
v
,
.
.
.
,
v
s
a
o
ortonormais
e
w

e
ortogonal
a
todos
eles,
segue que VmT Vm = I
1
m
m

e VmT wm eTm = VmT wm eTm = 0, donde obtemos a u


ltima relacao do enunciado desta proposicao.

5.4

Implementac
ao Pr
atica: M
etodos de Ortogonalizac
ao Est
aveis

O algoritmo de Gram-Schmidt e numericamente instavel: pequenos erros de arredondamento podem dar


origem a vetores muito longe de serem ortogonais (veja Exerccio 5.1). Na implementacao pratica do algoritmo de Arnoldi e necessario considerar metodos de ortogonalizacao numericamente estaveis.

5.4.1

M
etodo de Gram-Schmidt Modificado (MGS)

O m
etodo de Gram-Schmidt modificado (MGS) e uma modificacao pequena do metodo de 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)

Rodney Josue Biezuner

80

No metodo modificado, assim que o primeiro vetor ortogonal v1 = u1 e obtido, todos os vetores u2 , . . . , um
sao atualizados atraves do escalar h1i = hui , v1 i:
vi1 = ui h1i v1 , i = 2, . . . , m.

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

vij = vij1 hji vj , i = j + 1, . . . , m,

(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

Em princpio, u3 e v31 = u3 h13 v1 tem as mesmas componentes na direcao de v2 , ja que v1 e ortogonal


a v2 , e nao faria diferenca usar h23 ou e
h23 . Na pratica, os vetores v1 e v2 nao sao exatamente ortogonais,
por causa de erros de arredondamento, portanto o termo h13 v1 tem uma pequena componente na direcao de
v2 . Alem disso, erros de arredondamento tambem ocorrem na subtracao de h13 v1 de u3 , portanto este vetor
diferenca tambem tem uma componente na direcao de v2 . O metodo de Gram-Schmidt classico ignora estes
erros, enquanto que o metodo modificado, trabalhando com o vetor v31 ao inves de u3 , leva estes erros em
conta e os corrige no calculo de e
h23 .

Rodney Josue Biezuner

81

Para obter um algoritmo computacionalmente implementavel para o MGS, observe que enquanto que no
metodo de Gram-Schmidt classico, uma vez obtidos os vetores ortonormais v1 , . . . , vj1 obtemos o proximo
vetor ortogonal unitario vj fazendo
wj = uj

j
X

projvi uj ,

i=1

vj =

wj
,
kwj k

no metodo de Gram-Schmidt modificado fazemos


vj1 = uj projv1 uj ,
vj2 = vj1 projv2 vj1 ,
vj3 = vj2 projv3 vj2 ,
..
.
vjj2
vjj1

=
=

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 = v31 projv2 v31 = v31 v31 , v2 v2 ,


v3 =

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

Rodney Josue Biezuner

82

assim por diante, ate que o vetor resultante do passo anterior seja ortogonalizado com relacao ao vetor vj :
vj1 = Avj projv1 Avj = Avj hAvj , v1 i v1 ,

vj2 = vj1 projv2 vj1 = vj1 vj1 , v2 v2 ,


..
.
D
E
j1
vj = vjj2 projvj1 vjj2 = vjj2 vjj2 , vj1 vj1 ,
D
E
vjj = vjj1 projvj vjj1 = vjj1 vjj1 , vj vj ,

(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

Se hj+1,j = 0 entao pare;


vj+1 wj /hj+1,j ;
fim do laco
Embora o MGS seja mais estavel, em situacoes onde os erros de cancelamento podem ser muito severos
nos passos de ortogonalizacao e necessario considerar metodos ainda mais estaveis.

5.4.2

M
etodo de Gram-Schmidt Modificado com Reortogonalizac
ao (MGSR)
(j1)

Uma melhoria simples e recorrer `a ortogonalizacao dupla. Ou seja, no passo j obtemos o vetor vj
que deve
ser
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

Se hj+1,j = 0 entao pare;


vj+1 wj /hj+1,j ;

Rodney Josue Biezuner

83

Ortogonalizacoes adicionais sao superfluas: duas ortogonalizacoes sao suficientes para fazer o vetor wj 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

Se hj+1,j = 0 tome m := j e saia do laco;


vj+1 wj /hj+1,j ;
fim do laco
1
1
Calcule y m = Hm
(e1 ) ; //nao e necessario encontrar Hm
Calcule xm = x0 + Vm y m .

Este algoritmo pode ser tambem obtido diretamente. A condicao de Galerkin rm Km A, r0 e equivalente
a
VmT (b Axm ) = 0

Rodney Josue Biezuner

84

ou

VmT Axm = VmT b


Escolhendo o chute inicial x0 = 0 para simplificar, temos que b = r0 = r0 v1 , donde


VmT Axm = r0 VmT v1 = r0 e1 .

Como xm Km A, r0 , podemos escrever xm = Vm y m para algum vetor y m Rm . Logo



VmT AVm y m = r0 e1 ,

que pode ser interpretado como o sistema Ax = b projetado no subespaco Km A, r0 . Usando o fato que
VmT AVm = Hm , segue que

H m y m = r0 e1 .
(5.20)
Resolvendo este sistema obtemos y m e da a aproximacao
xm = Vm y m .

(5.21)

Como em geral m n, este sistema e bem mais facil de resolver que o sistema original, possibilitando
o uso de metodos diretos. De fato, embora a matriz de Hessenberg seja uma matriz densa, como ela e
quase triangular uma decomposicao QR passa a ser competitiva com a decomposicao LU e e indicada (para
matrizes gerais, o custo da decomposicao LU e a metade do custo da decomposicao QR). Maiores detalhes
serao fornecidos na proxima secao.
O algoritmo depende do parametro m que em geral deve ser selecionado dinamicamente. Em geral, m e
progressivamente aumentado ate que o resduo rm e menor que alguma tolerancia previamente estabelecida.
Ao inves de calcular o resduo diretamente, podemos obter a norma do resduo de maneira menos custosa
atraves do seguinte resultado:
5.8 Proposi
c
ao. O resduo calculado atraves do metodo de Arnoldi FOM satisfaz
rm = hm+1,m hem , y m i v m+1 ,
logo

krm k2 = hm+1,m eTm y m

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

= r0 v1 Vm r0 e1 hm+1,m v m+1 eTm y m


= hm+1,m hem , y m i v m+1 .

(5.22)

Rodney Josue Biezuner

5.6

85

Decomposic
ao QR via MGS

Lembramos que uma decomposic


ao QR de uma matriz A e uma fatorizacao
A = QR

(5.23)

onde Q e uma matriz ortogonal (no caso real, unitaria no caso complexo) e R e uma matriz triangular superior.
Usando esta decomposicao, podemos resolver o sistema linear Ax = b da seguinte maneira. Multiplicando
ambos os lados da equacao por QT obtemos
QT Ax = QT b,
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)

Resolvendo em termos de Aj , podemos escrever


Aj =

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)

Rodney Josue Biezuner

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 ,

vj2 = vj1 vj1 , v2 v2 ,

vj3 = vj2 vj2 , v3 v3 ,


..
.
D
E
j2
vj = vjj3 vjj3 , vj2 vj2 ,
D
E
vjj1 = vjj2 vjj2 , vj1 vj1 ,
vjj1

vj =
j1 ,
vj
em termos de Aj , denotando

vj0 = Aj ,

(5.34)

segue que
Aj = vj1 + hAj , v1 i v1

= vj2 + vj1 , v2 v2 + hAj , v1 i v1

= vj3 + vj2 , v3 v3 + vj1 , v2 v2 + hAj , v1 i v1


...
= vjj1 +

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)

Rodney Josue Biezuner

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 ;

Se j+1 = 0 entao pare;


vj+1 wj / j+1 ;
fim do laco
Atribua a matriz Tm = tridiag (i , i , i+1 );
Atribua a matriz Vm = [v1 vm ] ;
1
1
Calcule y m = Tm
(e1 ) ; //nao e necessario encontrar Tm
m
0
m
Calcule x = x + Vm y .
Este algoritmo pode ser consideravelmente simplificado, atraves da obtencao de uma formula de recorrencia
de tres termos, levando ao metodo do gradiente conjugado. Primeiro, fazemos uma decomposicao LU da
matriz tridiagonal Tm = Lm Um sem pivos:


1
2
1

2 3
2 1

3
.
3
Tm =
(5.38)

.
.

.
.
..


.
.
. m
m 1
m
Lm

Um

Rodney Josue Biezuner

88

onde os coeficientes das matrizes bidiagonais Lm e Um podem ser obtidas atraves da seguinte formula de
recorrencia:
1 = 1 ,
2 = 2 11 ,
2 = 2 2 2 ,
3 = 3 21 ,
..
.
1
m = m m1
,
m = m m m ,

isto e,
1
j = j j1
,

(5.39)

j = j j j .

(5.40)

(Observe que j 6= 0 para todo j porque Tm e simetrica, positiva definida.) A solucao aproximada e dada
entao por
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 ,

Rodney Josue Biezuner

89

donde

xm = xm1 + m pm .

(5.48)

Isso da a seguinte versao direta para o algoritmo de Lanczos para sistemas lineares:
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 ;

Se m+1 = 0 entao pare;


vm+1 w/ m+1 ;
fim do laco
Este algoritmo ainda pode ser consideravelmente simplificado. O resultado, uma formula tripla de
recorrencia, extremamente simples e que nao envolve o calculo da base ortonormal {v1 , . . . , vm }, e o chamado
m
etodo do gradiente conjugado (CG). Para obte-lo, observamos primeiramente que os vetores pm sao
A-conjugados (isto e, A-ortogonais):
5.9 Proposi
c
ao.
hpi , pj iA = hApi , pj i = 0

(5.49)

para todos i 6= j.
Prova: Para provar isso, basta mostrar que

T
Pm
APm

e uma matriz diagonal. Isso segue de


T
T T
1
Pm
APm = Um
Vm AVm Um
T
1
= Um
Tm Um
T
= Um
Lm
T
e do fato que Um
Lm e uma matriz triangular inferior (a inversa de uma matriz triangular superior e uma
matriz triangular superior e o produto de duas matrizes triangulares inferiores e uma matriz triangular
inferior) que e simetrica.
Usando a notacao padrao do metodo do gradiente conjugado (ou seja, agora os escalares m , m terao
um significado completamente diferente do anterior), reescrevemos (5.48) na forma

xm+1 = xm + m pm ,

(5.50)

Rodney Josue Biezuner

90

de modo que os resduos satisfazem

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)

Reescrevemos tambem (5.45) na forma


pm+1 = rm+1 + m pm ;

(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

hApm , rm i = Apm , pm m pm1 = hApm , pm i ,

enquanto que de (5.51) temos

(5.54)

m+1

1
Apm = m
r
rm .

Portanto, usando a ortogonalidade dos resduos, podemos escrever


m m+1
m+1 m+1
Ap , r
r
,r
m =
=
.
m
m
m
hAp , r i
hr , rm i

(5.55)

Alem disso, usando (5.54) tambem podemos reescrever (5.52) na forma


m =

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;

hr, ri /current hr, ri ;

p r + p;

current hr, ri hr, ri ;


N + +;
fim do laco

Rodney Josue Biezuner

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) =

Prova: Pela regra do paralelogramo, temos


2

kx + ykA + kx ykA = 2 kxkA + 2 kykA ,


donde
2

2 kykA = kx ykA + kxkA + 2 hy, xiA + kykA 2 kxkA


2

= kx ykA + 2 hy, xiA kxkA + kykA ,


ou

kykA 2 hy, xiA = kx ykA kxkA .


Logo,
f (y) =

1
1
1
2
2
2
kykA hy, xiA = kekA kxkA .
2
2
2

Em um metodo de descida, depois de m iteracoes temos:


em = x xm

= x x0 0 p0 + 1 p1 + . . . + m1 pm1
= e0

m1
X
i=0

i pi .

(5.58)

Rodney Josue Biezuner

92

Minimizar kem kA e portanto equivalente a minimizar

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

O vetor w e caracterizado pela condic


ao v w A W .
Segue deste resultado que kem kA e minimizado quando escolhemos p =
satisfaz

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 .

Fazendo uma busca exata na reta x0 + tp0 obtemos o escalar 0 e


x1 = x0 + 0 p0
Pela Proposicao 5.12 segue que e1 A p0 . Como
e2 = x x2 = x x1 1 p1 = e1 1 p1 ,
para que tenhamos e2 A p0 e necessario escolher p1 conjugado a p0 . Se isso foi feito, fazendo em seguida
uma busca exata na reta x1 + tp1 obtemos o escalar 1 ,
x1 = x0 + 0 p0
e, pela Proposicao 5.12, e2 A p1 . No m-esimo passo, como
em = x xm = x xm1 m1 pm1
ou seja,

em = em1 m1 pm1 ,
m

m2

(5.60)
m

para que o erro e seja conjugado aos vetores p , . . . , p


basta escolher a direcao de busca p conjugada
a p0 , . . . , pm1 ; para assegurar que em tambem seja conjugado ao vetor pm1 , basta fazer uma busca exata

Rodney Josue Biezuner

93

na reta xm1 + tpm1 . Assim, uma condicao necessaria para obter (5.59) e escolher as direcoes de busca de
tal forma que
(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)

Depois de m passos com direcoes de busca conjugadas p0 , . . . , pm , escolhemos


pm+1 = rm+1

m
X

cmi pi

(5.63)

i=0

onde os cmi sao dados pelo algoritmo de Gram-Schmidt:


m+1 i
r
,p A
cmi =
.
i
hp , pi iA

(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

Rodney Josue Biezuner

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

porque pm1 , rm = 0 pela Proposicao 5.12, logo

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

tambem por hipotese de inducao, pj1 Kj+1 A, r0 , logo

Apj1 Kj A, Ar0 = Ar0 , A2 r0 , . . . , Aj r0 r0 , Ar0 , A2 r0 , . . . , Aj r0 = Kj+1 A, r0 .

Rodney Josue Biezuner

95

Em seguida, mostraremos que


0 1

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

para todos i = 1, . . . , m 1. Pelo Teorema 5.14, pi p0 , p1 , . . . , pi = r0 , Ar0 , . . . , Ai r = Ki+1 A, r0 ,


logo

Api Ar0 , A2 r0 , . . . , Ai+1 r Ki+2 A, r0 Km+1 A, r0


e o resultado segue do corolario anterior.
5.18 Teorema. Seja A Mn (R) uma matriz simetrica positiva definida. Ent
ao o metodo do gradiente
conjugado converge em n iterac
oes.
Prova: Se fizemos n 1 iteracoes para obter x, pelo Corolario 5.16 os vetores r0 , r1 , . . . , rn1 formam uma
base ortogonal
Rn . Depois
iteracao, de acordo com este mesmo corolario o resduo rn
para
den mais uma
n
0 1
n1
n
satisfaz r r , r , . . . , r
= R , logo r = 0.

Rodney Josue Biezuner

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

Polinomios de Chebyshev sao provavelmente os mais u


teis polinomios na Teoria de Aproximacao, a area
que se ocupa em determinar como melhor aproximar funcoes atraves de funcoes mais simples (tais como
polinomios). Os polinomios de Chebyshev do primeiro tipo surgiram inicialmente como solucoes da equacao
de Chebyshev:

1 x2 y 00 xy 0 + n2 y = 0
5.19 Defini
c
ao. O polin
omio de Chebyshev do primeiro tipo de grau k e o polinomio de grau k Ck :
[1, 1] R definido por

Ck (t) = cos k cos1 t .


Que Ck e de fato um polinomio de grau k pode ser visto atraves da seguinte formula de recorrencia:
ormula de recorrencia de tres termos para os polin
omios de Chebyshev
5.20 Proposi
c
ao. Vale a seguinte f
C0 (t) = 1,
C1 (t) = t,
Ck+1 (t) = 2tCk (t) Ck1 (t) .

(5.73)

Em particular, Ck (t) e um polin


omio real de grau k, Ck (t) e uma func
ao par se k e par e uma func
ao
mpar se k e mpar.
Prova: Usando a identidade trigonometrica
cos [(k + 1) ] + cos [(k 1) ] = 2 cos cos k,
segue que
Ck+1 (t) + Ck1 (t) = cos [(k + 1) arccos t] + cos [(k 1) arccos t]
= 2 cos (arccos t) cos [k arccos t]
= 2tCk (t) .

A formula de recorrencia da Proposicao 5.20 permite estender naturalmente o domnio dos polinomios de
Chebyshev `a reta toda. Isso tambem pode ser feito estendendo a definicao trigonometrica:

cosh k cosh1 t
se t > 1,

Ck (t) =
(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,

Rodney Josue Biezuner

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

= cosh cosh1 t + sinh cosh1 t


q

= t + cosh2 cosh1 t 1
p
= t + t2 1,

donde segue o resultado.


Em particular, para valores grandes de k pode-se usar a aproximacao
k
p
1
Ck (t) '
t + t2 1 .
2
para |t| > 1. No que se segue denotaremos o subespaco de todos os polinomios reais de grau menor ou igual
a k por Pk [x]. O seguinte teorema e um importante resultado em Teoria da Aproximacao:
ao vazio e c
/ [a, b]. Ent
ao o mnimo
5.22 Teorema. Seja [a, b] R um intervalo n
k = min max |p (x)|
pPk [x] x[a,b]
p(c)=1

e atingido pelo polin


omio

xb
Ck 1 + 2
ba
bk (x) :=

.
C
cb
Ck 1 + 2
ba

Rodney Josue Biezuner

98

Consequentemente,

1
.
k =

C k 1 + 2 c b

ba

Prova: Denote por


m :=

(5.75)

a+b
2

o ponto medio do intervalo [a, b]. Entao


1+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

bk (x) nunca se anula. Por outro lado, se x [a, b] ent


de modo que o denominador na expressao de C
ao

x m
2

b a 6 1.
Como
max |Ck (t)| = 1,

t[1,1]

segue (5.75).
bk , precisamos mostrar que se pk Pk [x]
Portanto, para provar que o mnimo e atingido pelo polinomio C
e tal que p (c) = 1 e
max |p (x)| 6 k ,
x[a,b]

bk . De fato, pela definicao trigonometrica dos polinomios de Chebyshev, Ck (t) atinge os valores
entao pk = C
1 alternadamente nos pontos

j
tj = cos
, j = 0, 1, . . . , k.
k
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 ) ,

bk pk de grau menor ou igual a k satisfaz


conclumos que o polinomio diferenca rk = C
rk (xj ) > 0 se j e par,
rk (xj ) 6 0 se j e mpar.
Pelo teorema do valor intermediario, rk possui pelo menos uma raiz em cada subintervalo [xj , xj+1 ]. Mesmo
quando as razes de rk em [xj1 , xj ] e [xj , xj+1 ] coincidem, ou seja, xj e uma raiz de rk , esta e uma raiz de
multiplicidade 2 (pois rk0 (xj ) = 0, isto e, xj tambem e uma raiz da derivada de rk ). Consequentemente, o
polinomio rk tem pelo menos k razes em [a, b]. Mas, como
bk (c) pk (c) = 1 1 = 0,
rk (c) = C
c
/ [a, b] e a (k + 1)-esima raiz de rk . Isso constitui uma contradicao, a menos que rk 0, o que implica
bk .
pk = C

Rodney Josue Biezuner

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

Prova: Pelos Teoremas 5.13 e 5.14, o m


etodo do gradiente conjugado minimiza a A-norma do erro no
subespaco afim e0 + Kk A, r0 . Mas Kk A, r0 e o conjunto de todos os vetores da forma q (A) r0 onde
q e um polin
omio de grau menor ou igual a k 1, enquanto que r0 = Ae0 . Portanto, o subespaco afim

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

donde, pelo lema anterior,

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 .

pPk [x] x[1 ,n ]


p(0)=1

Segue agora do Lema 5.22 que

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

Rodney Josue Biezuner

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

Descida Mais Acentuada


Gradiente Conjugado

n = 361
1114
60

n = 1521
4010
118

No caso desta matriz de discretizacao temos


(n 1)

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:

Rodney Josue Biezuner

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

Logo, pelo Lema 5.23, temos que em = 0.


Mesmo se isso nao ocorre, se os autovalores de A nao estao distribudos uniformemente em [min , max ] mas
se acumulam em subintervalos de [min , max ], pode-se obter melhores taxas de convergencia do que (5.76)
(veja [Hackbusch] e [Watkins]).

5.10

Exerccios

5.1 Considere os vetores

v1 =
0 ,
0

1
0

v2 =

0

1
0

v3 =
0 ,

onde 1. Estes vetores sao aproximadamente linearmente independentes.


a) Use o metodo de Gram-Schmidt classico para ortogonalizar estes vetores, usando a aproximacao
1 + 2 = 1 (um computador faria erros de arredondamento adicionais). Verifique que hw2 , w3 i = 1/2 e
portanto estes vetores estao muito longe de serem ortogonais.
b) Use o metodo de Gram-Schmidt modificado para ortogonalizar estes vetores,
tambem usando

a
aproximacao 1 + 2 = 1. Verifique que hw2 , w3 i = 0 e que hw1 , w2 i = / 2, hw1 , w3 i = / 6;
portanto estes vetores estao muito proximos de serem ortogonais.
5.2 Mostre que os algoritmos de Gram-Schmidt classico e modificado sao matematicamente equivalentes
em aritmetica exata, isto e, produzem os mesmos vetores.
5.3 Prove que os vetores v1 , . . . , vm gerados pelo algoritmo de Arnoldi com MGS formam uma base 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

seu determinante e igual a (1) vezes o determinante da matriz

z
a0
1 z
a
1

1
z
a
2

..

1 z
.

.
.
..
..

an1
1 z an1
logo as razes de p sao os autovalores da matriz

0
1 0

1 0

0
..
.

a0
a1
a2
..
.
..

an1
an1

Portanto, o problema de encontrar as razes de um polinomio e equivalente ao problema de encontrar os


autovalores de uma matriz.

6.1

Caracterizac
ao Variacional dos Autovalores de uma Matriz
Sim
etrica: Quociente de Rayleigh

Os autovalores de uma matriz simetrica podem ser caracterizados variacionalmente.


6.1 Defini
c
ao. Seja A Mn (R) uma matriz simetrica. Dado x Rn , o quociente
r (x) =
102

hAx, xi
2

kxk

Rodney Josue Biezuner

103

e chamado o quociente de Rayleigh de x. A funcao r : Rn R e chamada o funcional de


Rayleigh (ou tambem o quociente de Rayleigh).
6.2 Teorema. (Princpio de Rayleigh) Seja A Mn (R) uma matriz simetrica. Se x e um ponto crtico do
funcional de Rayleigh, ent
ao x e um autovetor de A e r (x) e o autovalor correspondente.
Prova: Escrevendo

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

Rodney Josue Biezuner

104

Portanto, para todo x Rn , x 6= 0, vale


1 6

hAx, xi
2

kxk

O mnimo e atingido em x = v1 ou em qualquer outro autovetor de A associado a 1 . Da mesma forma,


obtemos
n
n
X
X
2
n kxk =
n x2i >
i x2i = hAx, xi .
i=1

i=1

Os outros autovalores de A, 2 , . . . , n1 , sao pontos de sela e podem ser encontrado atraves de um


princpio de minimax:
6.5 Teorema. (Princpio de Minimax para Autovalores) Seja A Mn (R) uma matriz simetrica. Sejam
1 6 . . . 6 n os autovalores de A. Ent
ao

j =

min

W Rn subespa
co
dim W =j

max hAx, xi .

(6.3)

xW
kxk=1

Prova: Seja W Rn um subespaco de dimensao j. Primeiro mostraremos que


max hAx, xi > j .

xW
kxk=1

Seja B = {v1 , . . . , vn } uma base ortonormal de autovetores de A correspondentes aos autovalores 1 , . . . , n .


Seja Z = hv1 , . . . , vj1 i. Como Z = hvj , . . . , vn i, temos

n > dim W + Z = dim W + dim Z dim W Z = j + n (j 1) dim W Z ,


de modo que

dim W Z > 1

e existe um vetor x W Z tal que kxk = 1. Escrevendo x =

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

Para completar a demonstracao, devemos encontrar um subespaco W Rn de dimensao j tal que


hAx, xi 6 j para todo x W com kxk = 1. Tomemos W = hv1 , . . . , vj i. Temos
*
hAx, xi =

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

Rodney Josue Biezuner

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 .

Embora Ak v0 se 1 > 1 e Ak v0 0 se 1 < 1, como

i
1

k
0,

para todo i = 2, . . . , n, segue que a sequencia reescalada


Ak v0
a1 v1
k1
converge para um autovetor dominante. No entanto, como o autovalor 1 nao e conhecido a priori, e
impossvel trabalhar com esta sequencia. Portanto, trabalhamos ao inves com a sequencia normalizada
wk =

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.

Rodney Josue Biezuner

106

6.6 Proposi
c
ao. Seja A Mn (C) uma matriz diagonaliz
avel e assuma que o seu autovalor dominante 1
e simples. Dado um vetor arbitr
ario v0 Cn que possui uma componente n
ao-nula no autoespaco
associado a 1 , defina a sequencia
w0 = v0 ,
Awk
wk+1 =
.
k
onde
k = kAwk k .
Ent
ao
wk v1 ,
k 1 ,
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 ,

Rodney Josue Biezuner

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

ao inves de obter 2 e um autovetor associado, voltaramos a obter 1 e um autovetor dominante.


Para encontrar os demais autovalores da matriz A, observe que se A tem autovalores 1 , . . . , n , entao
A I tem autovalores 1 , . . . , n . O escalar e chamado um deslocamento. Podemos entao aplicar

Rodney Josue Biezuner

108
1

o metodo das potencias `a matriz (A I)

, pois os autovalores de A sao

1
1
,...,
,
1
n
1

de modo que o autovalor dominante de (A I)

1
i

(6.6)

onde i e o autovalor de A mais proximo de . Assim, podemos encontrar todos os autovalores de A


variando o deslocamento . Este metodo e chamado m
etodo das pot
encias com deslocamento ou
iterac
ao com deslocamento. Ele e particularmente eficiente quando possumos boas estimativas para os
autovalores de A (estimativas grosseiras podem ser obtidas atraves do teorema dos discos de Gershgorin).
Como ja observado anteriormente, a convergencia do metodo das potencias direto sera lenta quando 1 e
2 forem muito proximos. No caso do metodo das potencias com deslocamento, uma escolha cuidadosa do
deslocamento pode aumentar substancialmente a velocidade de convergencia. Com efeito, observe que
neste caso temos (para simplificar a compreensao, novamente supomos A diagonalizavel e, adicionalmente,
que todos os autovalores sao simples):

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

de modo que a taxa assintotica de convergencia e dada por

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

Rodney Josue Biezuner

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 Av k+1 , v k+1 ;


fim do laco
Vamos verificar que a convergencia da iteracao de Rayleigh e c
ubica:
6.7 Proposi
c
ao. Seja A Mn (R) uma matriz simetrica e assuma que o autovalor i e simples. Dado um
0
n
vetor arbitr
ario
ao-nula no autoespaco associado a i , tome
v R que possui uma componente n
0
0 0
= Av , v e defina a sequencia
v

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

Prova: Pelo Corolario 6.3,

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

Rodney Josue Biezuner

110

Como k esta proximo de i , podemos substituir ei k por ei i no denominador, de modo que

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)

definimos iterativamente uma sequencia de matrizes A1 , A2 , . . ., recursivamente da seguinte maneira. Primeiro


fazemos a decomposicao QR da matriz obtida no passo anterior:
Ak1 = Qk Rk .

(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

Rodney Josue Biezuner

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

para matrizes gerais e O n2 flops para matrizes hermitianas.

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)

Rodney Josue Biezuner

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.

(iv),(v) Usando (iii) segue que

QQT = QQ = I 2uuT I 2uuT = I 4uuT + 4uuT uuT

= I 4uuT + 4u uT u uT = I 4uuT + 4uuT


= I.

Em outras palavras Q = I 2uuT leva cada vetor x Rn em sua reflexao com relacao ao hiperplano
H = {v : hu, vi = 0} ortogonal a u.
A possibilidade do uso de refletores para criar zeros em matrizes segue do seguinte resultado:
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

hx y, x + yi = hx, xi + hx, yi hy, xi hy, yi = kxk kyk = 0.


Logo,
Qx =

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

Rodney Josue Biezuner

113

Prova: Escolha y = ( kxk , 0, . . . , 0) no teorema anterior, com o sinal escolhido de tal forma a garantir que
x 6= y.
No caso complexo, basta tomar
Q = I 2uu
(6.13)
e temos resultados 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

Rodney Josue Biezuner

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

Ordene os autovalores de A na forma


|1 | > |2 | > . . . > |n | .
Considere uma sequencia (Ak ) de iteradas do algoritmo QR tal que cada matriz Ak e de Hessenberg superior.
Denote

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.

Rodney Josue Biezuner

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

Rodney Josue Biezuner

116

de uma matriz real sempre e um valor real. Para maiores detalhes sobre as informacoes contidas este paragrafo
veja [Watkins].
Por fim, `as vezes ocorre durante as iteracoes do algoritmo QR que um elemento da subdiagonal inferior
localizado proximo ao meio da matriz e suficientemente proximo de 0. Neste caso a matriz Ak tem a forma
em blocos

B11 B12
0
B22
e o problema pode ser quebrado em dois, aplicando o algoritmo
QR aos blocos B11 e B22 separadamente.

Como o custo de uma iteracao QR de Hessenberg e O n2 , dividindo o tamanho da matriz pela metade
implica numa diminuicao do custo por um fator de 4.

6.3.3

Implementa
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 |.

Rodney Josue Biezuner

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

de modo que Ak v = 0 implica a1 = . . . = am = 0 pois v1 , . . . , vn sao linearmente independentes e 1 , . . . , m


sao nao nulos, ja que |1 | > . . . > |m | > |m+1 | > 0. Da, (6.14) juntamente com dim S = m e S Um = {0}
implicam imediatamente que dim Ak S = m para todo k.
Agora, seja v S um vetor nao nulo. Escrevendo
v=

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).

Rodney Josue Biezuner

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

Rodney Josue Biezuner

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

Por simplicidade considere A simetrica. A relacao


bk R
bk = (Q1 Qk ) (Rk R1 )
Ak = Q
explica porque o algoritmo QR encontra os autovetores de A: ele constroi bases ortonormais para o espaco
coluna das potencias sucessivas Ak (e as colunas de Ak sao Ak e1 , . . . , Ak en ). A relacao
b tk AQ
bk
Ak = Q
explica porque o algoritmo QR encontra os autovalores de A: os elementos da diagonal de Ak sao os quocientes
b k , isto e, aos autovetores de A. Como os autovetores de A sao
de Rayleigh correspondentes `as colunas de Q
ortogonais e A-ortogonais, os elementos fora da diagonal principal tambem convergem para 0.

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

e m e uma matriz de Hessenberg superior (m + 1) m (na notacao


sao matrizes com colunas ortonormais e H
daquela proposicao, a matriz Qm e denotada por Vm ). Como naquela proposicao, denote por Hm a matriz
e m quando suprimimos a u
de Hessenberg superior quadrada obtida atraves de H
ltima linha desta. Segue que

AQm = Qm Hm + qm+1 0 . . . 0 hm+1,m

Rodney Josue Biezuner


ou

120

AQm = Qm Hm + qm+1 hm+1,m etm .

(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

Defina B = (bij ). Se w e um autovetor de B com autovalor , entao v = Qw S e um autovetor de A com


autovalor .
Portanto, os autovalores da matriz de Hessenberg Hm sao tambem autovalores de A. Se m nao e muito
grande, podemos entao usar o algoritmo QR para encontrar os autovalores de Hm . Na pratica, dificilmente
obteremos hm+1,m = 0 exatamente, mas se hm+1,m e proximo de zero podemos esperar que estamos proximos
de um subespaco invariante e, portanto, que os autovalores de Hm estao proximos aos autovalores de A:
6.16 Teorema. Sejam Qm , Hm e hm+1,m gerados pelo metodo de Arnoldi. Seja um autovalor de Hm
com autovetor unit
ario x. Seja v = Qm x. Ent
ao
kAv vk = |hm+1,m | |xm |
onde xm denota a u
ltima componente de x.
O metodo de Arnoldi em geral obtem os autovalores perifericos. Os autovalores interiores podem ser encontradas atraves da estrategia do deslocamento.
Quando A e simetrica, como vimos no captulo anterior Hm e uma matriz tridiagonal Tm que pode ser
obtida atraves de uma formula de recorrencia.
Veja [Watkins] para detalhes sobre implementacoes eficientes do metodo de Arnoldi e algoritmo de Lanczos
para encontrar autovalores e autovetores de matrizes esparsas.

6.6

O Problema de Autovalor Sim


etrico

Para matrizes simetricas, existem algoritmos bem mais eficiente que o algoritmo QR.
[Trefethen-Bau], entre outros.

Veja [Parlett],

Rodney Josue Biezuner

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]

William L. BRIGGS, Van Emden HENSON e Steve F. McCORMICK, A Multigrid


Tutorial, 2nd. Ed., SIAM, 2000.

[Demmel]

James W. DEMMEL, Applied Numerical Linear Algebra, SIAM, 1997.

[Hackbusch]

W. HACKBUSCH, Iterative Solutions of Large Sparse Systems of Equations, Applied


Mathematical Sciences 95, Springer-Verlag, 1994.

[Hoffman-Kunze]

K. HOFFMAN e R. KUNZE, Linear Algebra, 2nd. Ed., Prentice Hall, 1971.

[Horn-Johnson]

Roger A. HORN e Charles R. JOHNSON, Matrix Analysis, Cambridge University


Press, 1985.

[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]

Beresford N. PARLETT, The Symmetric Eigenvalue Problem, SIAM, 1998.

[Saad]

Yousef SAAD, Iterative Methods for Sparse Linear Systems, 2nd Ed., SIAM, 2003.

[Stoer-Bulirsch]

Josef STOER e Roland BULIRSCH, Introduction to Numerical Analysis, 3rd Ed.,


Springer, 2002.

[Strang]

Gilbert STRANG, Linear Algebra and its Applications, 3rd Ed., Harcourt Brace Jovanovich, 1988.

[Trefethen-Bau]

Lloyd N. TREFETHEN e David BAU, Numerical Linear Algebra, SIAM, 1997.

[van der Vorst]

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]

David M. YOUNG, Iterative Solutions of Large Linear Systems, Academic Press,


1971.

122