Вы находитесь на странице: 1из 18

Captulo 6

Autovalores e Autovetores
6.1 Introdu cao
Neste captulo, apresentaremos alguns dos metodos utilizados para a solu cao do problema do
autovalor, i.e., o sistema de n equa coes lineares
Ax = x (6.1)
para o qual procuramos um vetor solucao x tal que x
i
= 0 para pelo menos algum i, ou seja, uma
solu cao n ao-trivial. Para que tal seja possvel, e necessario que
det(A I) = 0 (6.2)
a qual e uma equacao polinomial de grau n na vari avel , chamada de equacao caracterstica de
A; o polin omio det(A I) e chamado de polin omio caracterstico de A.
As n razes de (6.2) sao chamadas de autovalores, razes latentes ou valores caractersticos de
A. A cada raiz corresponde um vetor x IC
n
= 0 que satisfaz a equa cao (6.1), o qual e chamado
de autovetor, vetor latente ou vetor caracterstico de A. Note que, se x e um autovetor de A, ent ao
kx, onde k IR, tambem e, pois
Akx = kAx = kx = kx.
Costumeiramente os autovetores sao normalizados, i.e. || x|| = 1 em alguma norma escolhida (o
que pode ser feito pela rela cao acima).
Se todas as razes de (6.2) sao distintas entre si, ent ao isso implica em que a matriz A apresenta
um conjunto completo de autovetores linearmente independentes (L.I.). No entanto, mesmo para
casos em que os autovalores n ao sao todos distintos, podemos encontrar um conjunto completo de
autovetores L.I.
Podemos tambem calcular os autovalores da matriz inversa de A, A
1
, a partir dos autovalores
de A. Se multiplicarmos a equacao (6.1) ` a esquerda por A
1
, temos
x = A
1
x
ou
A
1
x =
1

x. (6.3)
Essa ultima equacao nos diz que
1

e autovalor de A
1
, onde e um autovalor de A, com o
autovetor x correspondente.
Problemas envolvendo autovalores e autovetores surgem em in umeras aplica coes, como pode-
mos ver nos exemplos que seguem, conforme apresentados em [6].
110
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Exemplo 6.1 O estudo das vibra coes de sistemas dinamicos e de estruturas requer a solu cao de
problemas de autovalores e autovetores. Considere, apenas para ns de explanacao, o problema
de se determinar as vibra coes de pequenas partculas presas por um o uniforme, sem peso, ao
qual e aplicada uma for ca

F nas extremidades (cf. a gura 6.1) e no qual desconsidera-se a a cao
da gravidade. As partculas encontram-se a dist ancias iguais entre si e as vibra coes das mesmas
s ao consideradas pequenas e perpendiculares ` a posi cao de descanso do o. Escrevendo as equacoes
Figura 6.1: O problema das vibracoes.
diferenciais para as for cas atuantes em cada partcula, temos:
m
1
d
2
x
1
dt
2
= F
x
1
h
+ F
x
2
x
1
h
m
2
d
2
x
2
dt
2
= F
x
2
x
1
h
+ F
x
3
x
2
h
m
3
d
2
x
3
dt
2
= F
x
3
x
2
h
F
x
3
x
4
h
m
4
d
2
x
4
dt
2
= +F
x
3
x
4
h
F
x
4
h
Introduzindo a notacao
x = (x
1
, x
2
, x
3
, x
4
)
T
d
i
=
m
i
h
F
, i = 1, 2, 3, 4
podemos escrever o sistema de equacoes diferenciais acima na forma matricial
D
d
2
x
dt
2
= Tx (6.4)
onde D e a matriz diagonal
D =

d
1
d
2
d
3
d
4

e T e a matriz tridiagonal
T =

2 1 0 0
1 2 1 0
0 1 2 1
0 0 1 2

.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 111
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Quando as partculas vibram em fase ou em dire c oes opostas, i.e., em modo normal, entao a
condic ao
d
2
x
dt
2
= w
2
x, w IR (6.5)
e satisfeita. Substituindo a equac ao (6.5) em (6.4), obtemos o problema de autovalor
Dw
2
i
x
i
= Tx
i
, i = 1, 2, 3, 4 (6.6)
para as freq uencias de vibra cao w
1
, w
2
, w
3
e w
4
e os modos normais correspondentes, i.e., os
autovetores x
1
, x
2
, x
3
e x
4
.
Aparentemente, se isolarmos x no lado direito da equacao (6.6), obteramos o que se chama
de problema generalizado do autovalor, cuja forma geral e
(A B)x = 0
onde A e B s ao matrizes de ordem n. Porem, se introduzirmos o vetor
y = D
1/2
x
o que e possvel, j a que os elementos da diagonal de D s ao positivos, por deni cao, ent ao podemos
escrever (6.6) como
D
1/2
TD
1/2
y
i
= w
2
i
y
i
o qual recai na forma 6.1.
Exemplo 6.2 A teoria de Leontief sobre a compra e a venda de produtos e muito utilizada no
campo de estudo da macroeconomia; como exemplo, consideramos as vendas e compras de produtos
num setor industrial.
Seja b
ij
as vendas da ind ustria i para a ind ustria j; b
ii
representa os bens produzidos pela
ind ustria i e retidos por ela pr opria. As vendas de bens da ind ustria i para o mercado e denotada
por y
i
e o total de bens produzidos por x
i
. Entao,
x
i
= y
i
+

j
b
ij
(6.7)
A m de denirmos b
ij
, assume-se que as vendas da ind ustria i para a j estao em propor cao
constante `a produ cao da ind ustria j, i.e.
b
ij
= a
ij
x
j
onde a
ij
s ao ditos coecientes de entrada. Em uma situa cao estatica, podemos escrever, a partir
de (6.7),
x = y + Ax (6.8)
onde x = (x
1
, x
2
, . . . , x
n
)
T
e y = (y
1
, y
2
, . . . , y
n
)
T
e A e matriz de ordem n cujos elementos (i, j)
s ao os coecientes de entrada a
ij
. Ora, a equa cao (6.8) pode ser reescrita como
(I A)x = y (6.9)
onde I A e chamada de matriz de Leontief. A equacao (6.9) pode ser resolvida calculando-
se os autovalores e autovetores de A. Sua utilidade reside no fato de que, com ela, e possvel
determinar-se a quantidade de bens produzidos (x) necess arios para satisfazer a uma demanda
nal (y), pre-estabelecida.
Se a produ cao e a demanda nao se encontram em equilbrio, ent ao devemos considerar um
modelo din amico, que leve em considera cao a taxa de varia cao da producao. Nesse caso, usual-
mente considera-se que a produ cao em cada ind ustria varia a uma taxa proporcional `a diferen ca
entre os nveis de venda e de producao. Da,
dx(t)
dt
= D((A I)x(t) + y(t)) (6.10)
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 112
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
onde D e uma matriz diagonal de ordem n, cujos elementos d
ii
representam os coecientes de
rea cao das ind ustrias.
A equacao (6.10) substitui nesse caso a equa cao (6.8) e representa o comportamento din amico
do sistema econ omico em estudo. Uma das quest oes a serem estudadas, nesse caso, e se o sistema
e estavel, determinando-se os autovalores e autovetores da matriz D(A I). Particularmente,
procura-se determinar se esses autovalores tem parte real positiva pois, como as solu coes do
sistema de equa c oes diferenciais (6.10) s ao da forma e
it
, isso indicaria uma instabilidade, j a
que a demanda x(t) cresceria exponencialmente com o tempo.
A seguir, apresentaremos dois importantes teoremas, os quais nos permitir ao desenvolver
tecnicas de determinacao de autovalores e autovetores para um tipo especco de matrizes.
6.2 Teoremas de limites sobre autovalores
Teorema 6.2.1 Discos de Gerschgorin: Seja A uma matriz de ordem n, e d
i
, i = 1, 2, . . . , n
os discos cujos centros s ao os elementos a
ii
e cujos raios r
i
s ao dados por
r
i
=
n

j=1
j=i
|a
ij
|, i = 1, 2, . . . , n.
Seja D a uni ao de todos os discos d
i
. Entao, todos os autovalores de A encontram-se contidos em
D.
Prova: Seja um autovalor de A e x um autovetor correspondente, tal que max
i
| x
i
| = 1. Ent ao,
x = Ax
de onde
( a
ii
)x
i
=
n

j=1
j=i
a
ij
x
j
, i = 1, 2, . . . n
Supondo que | x
k
| = 1, ent ao
| a
kk
|
n

j=1
j=i
| a
kj
|| x
j
|

j=1
j=i
| a
kj
| = r
k
i.e., o autovalor esta contido no disco d
k
e, como e arbitr ario, ent ao todos os autovalores de A
devem estar contidos na uni ao de todos os discos, D.
O exemplo a seguir apresenta uma aplicacao do teorema 6.2.1.
Exemplo 6.3 A matriz
A =

1 0 1
1 4 1
1 2 10

tem como seus autovalores


1
= 10, 3863,
2
= 3, 8037 e
3
= 0, 8100. Calculando os discos de
Gerschgorin, temos:
d
1
= |z 1| < |0| +| 1| = 1
d
2
= |z 4| < | 1| +| 1| = 2
d
3
= |z 10| < | 1| +| 2| = 3
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 113
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Como todos os autovalores de A s ao reais, e observando (veja a gura 6.2) que em cada disco
devemos ter um autovalor, podemos dizer que:
existe um autovalor,
1
, que est a dentro do disco centrado em 10 e raio 3 e, de fato, 7 <
10, 3863 < 13;
existe um autovalor,
2
, que est a dentro do disco centrado em 4 e raio 2 e, realmente,
2 < 3, 8037 < 6;
existe um autovalor,
3
, que est a dentro do disco centrado em 1 e raio 1 e, com efeito,
0 < 0, 81 < 2;
A gura 6.2 ilustra esse resultado.
Figura 6.2: Discos de Gerschgorin
Uma conseq uencia do teorema de Gerschgorin e a determinacao do maior disco que contem
todos os autovalores de A. Podemos obter, a partir dos discos, os extremos ao longo do eixo dos
n umeros reais, i.e. o intervalo [, ] tal que
= min
i
{a
ii
r
i
}, = max
i
{a
ii
+ r
i
}, i = 1, 2, . . . , n (6.11)
e o maior disco e justamente aquele com centro (+)/2 e raio (+)/2. No caso em que todos
os autovalores s ao reais, basta ent ao considerar o intervalo [, ].
Teorema 6.2.2 Maior e menor autovalor: Seja A uma matriz real simetrica de ordem n, e
x IC um vetor arbitr ario. Entao,

1
= max
x=0
x
T
Ax
x
T
x
,
n
= min
x=0
x
T
Ax
x
T
x
onde os autovalores sao ordenados tais que
1

2
. . .
n
.
A razao
x
T
Ax
x
T
x
, x = 0 (6.12)
e chamada de quociente de Rayleigh correspondente a x e, juntamente com o teorema 6.2.2, nos
permitir a estimar de forma bastante r apida um autovalor de uma matriz simetrica, conforme
veremos na secao 6.5.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 114
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
6.3 Calculo de autovalores e autovetores via determinantes
J a vimos que, por deni cao, os autovalores de uma matriz A sao as razes do polin omio caracte-
rstico de A. Evidentemente, para matrizes de ordem n > 4, n ao e aconselhavel que se utilize a
equa cao (6.2) para se obter o polinomio caracterstico, por duas raz oes:
1. o calculo de determinantes de ordem superior a 4 envolve consider avel custo computacional;
2. o polin omio caracterstico de uma matriz grande pode ser instavel numericamente.
No entanto, algumas aplica coes de engenharia, fsica e outros campos do conhecimento envolvem
a determina cao de autovalores de matrizes de ordem n = 2 ou n = 3 e, nesse caso, e possvel obter-
se os autovalores extraindo as razes do polin omio caracterstico, conforme mostra o exemplo a
seguir.
Exemplo 6.4 Seja a matriz

2 5
3 4

.
O seu polin omio caracterstico e
p() = det(A I) =

2 5
3 4

= (2 )(4 ) 15
ou p() =
2
+ 2 23, cujas razes s ao
1
= 3, 8990 e
2
= 5, 8990.
Para se determinar os autovetores, utiliza-se a equa cao (6.1) para cada autovalor
i
, na forma
(A
i
I)x
i
= 0, como segue:
Exemplo 6.5 Calcule os autovetores do exemplo 6.4.
Solu cao: Para o autovalor
1
= 3, 8990, escrevemos
(A 3, 8990I)x
1
= 0

7, 8990 5
3 1, 8990

(x
1
)
1
(x
1
)
2

0
0

de onde obtemos
x
1
=

k
1, 5798k

, k = 0
O autovetor correspondente a
2
= 5, 8990 e obtido de forma similar:
(A + 5, 8990I)x
1
= 0

1, 8990 5
3 7, 8990

(x
2
)
1
(x
2
)
2

0
0

de onde obtemos
x
2
=

k
0, 3798k

, k = 0
Computacionalmente, no entanto, podemos estimar o autovetor correspondente a um autovalor
utilizando os metodos da potencia com translacao da origem (secao 6.5.2) ou da itera c ao inversa
com transla cao da origem (secao 6.5.3).
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 115
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
6.4 Autovalores de uma matriz tridiagonal simetrica
Em muitas aplica coes surgem matrizes tridiagonais simetricas, das quais necessitamos extrair
autovalores e/ou autovetores. Por exemplo, ao aproximarmos a equa cao diferencial parcial
u
t
=

2
u
x
2
por diferen cas nitas, obtemos uma matriz

2 1 0 0
1 2 1 0
0 1 2 1
0 0 1 2

a qual apresenta aquela caracterstica.


De forma geral, consideramos uma matriz T de ordem n,
T =

a
1
b
1
0 . . . 0
b
1
a
2
.
.
.
.
.
.
.
.
.
0
.
.
.
.
.
.
.
.
. 0
.
.
.
.
.
.
.
.
.
.
.
. b
n1
0 . . . 0 b
n1
a
n

(6.13)
e chamamos de T
r
a matriz principal de ordem r de T, i.e.
T
1
=

a
1

, T
2
=

a
1
b
1
b
1
a
2

, T
3
=

a
1
b
1
0
b
1
a
2
b
2
0 b
2
a
3

, . . .
Escrevendo as equacoes caractersticas p
1
(), p
2
() e p
3
() das matrizes T
1
, T
2
e T
3
, obtemos:
p
1
() = det(T
1
I) = a
1
(6.14)
p
2
() = det(T
2
I) = (a
2
)(a
1
) b
2
1
= (a
2
)p
1
() b
2
1
(6.15)
p
3
() = det(T
3
I) = (a
3
)

(a
2
)(a
1
) b
2
1
(a
3
)

b
2
2
(a
1
) =
= (a
3
)p
2
() b
2
2
p
1
() (6.16)
de onde podemos escrever, generalizando para r,
p
r
() = (a
r
)p
r1
() b
2
r1
p
r2
(), r = 2, 3, . . . , n, p
0
() = 1, (6.17)
A equa cao (6.17) nos permite avaliar o polin omio caracterstico da matriz T de forma bastante
eciente; no entanto, estamos preocupados em obter os autovalores de T, ou as razes de p
n
. O
teorema a seguir nos permitir a escrever um algoritmo bastante eciente para se extrair alguns ou
todos os autovalores de T.
Teorema 6.4.1 Seq uencia de Sturm: Se a matriz tridiagonal (6.13) e nao-reduzvel
1
, entao
os r 1 autovalores da matriz T
r1
separam estritamente os r autovalores da matriz T
r
:

r
<
r1
<
r1
<
r2
< <
2
<
1
<
1
.
Mais ainda, se s() representa o n umero de trocas de sinal na seq uencia
{p
0
(), p
1
(), . . . , p
n
()}
entao s() e igual ao n umero de autovalores de T menores do que , onde p
r
() e dado por (6.17)
e assume-se que p
r
() tem o sinal oposto de p
r1
() se p
r
() = 0.
1
Uma matriz A e dita nao-reduzvel se os elementos da diagonal da matriz triangular superior R, resultante de
sua fatoracao no produto QR, sao todos nao-nulos, onde Q e uma matriz ortogonal (i.e. Q
T
Q = I).
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 116
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
O teorema 6.4.1 e extremamente importante: ele nos diz que, se tivermos os n autovalores
de uma matriz triadiagonal T
n
(de ordem n), ent ao entre cada par de autovalores consecutivos
(com exce cao do menor e do maior), existe um e apenas um autovalor da matriz tridiagonal
T
n+1
(de ordem n + 1), obtida acrescentando-se uma linha e uma coluna `a matriz T
n
. Devido ` a
essa caracterstica, podemos utilizar o algoritmo da bissec cao (ver algoritmo 2.2.1), juntamente
com a equacao (6.17), para obtermos rapidamente, e com seguran ca, um autovalor de T
n+1
, ` a
partir de um intervalo que e um par de autovalores consecutivos de T
n
.
Para obter-se o menor e o maior autovalores de T
n+1
, utilizamos o teorema de Gerschgorin -
mais especicamente, calculamos o maior intervalo que engloba todos os autovalores, com a equa-
cao (6.11). Assim, o menor autovalor e calculado usando-se como estimativa inicial para o metodo
da bisseccao o intervalo [,
r1
]; para o maior autovalor, utiliza-se o intervalo [
1
, ].
Os algoritmos 6.4.1, 6.4.2 e 6.4.3 combinam as ideias apresentadas acima. Da maneira como o
algoritmo 6.4.3 e apresentado, todos os autovalores s ao obtidos; no entanto, simples modica coes
do mesmo nos permitem obter apenas alguns autovalores (por exemplo, o maior e o menor, ou os
dois maiores, etc.).
O exemplo 6.6 demonstra uma situa cao tpica, resolvido utilizando-se esses algoritmos.
Algoritmo 6.4.1 Avalia polin omio caracterstico de uma matriz
tridiagonal simetrica
function pol carac trid(input: x, a, b; output: p)
% a e b s ao os vetores contendo os elementos da
% diagonal e subdiagonal, respectivamente,
% da matriz tridiagonal
p
0
1
p
1
a
1
x
p p
1
for r 2, 3, . . . , n do
p (a
r
x)p
1
b
2
r1
p
0
p
0
p
1
p
1
p
endfor
endfunction
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 117
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Algoritmo 6.4.2 Metodo da bissec cao com polinomio caracte-
rstico
proc bissec cao trid(input: a, b, , , k
max
, , ; output: )
% a e b s ao os vetores contendo os elementos da
% diagonal e subdiagonal, respectivamente,
% da matriz tridiagonal
u pol carac trid(, a, b)
v pol carac trid(, a, b)
e
if (sign(u) = sign(v)) then
nao pode proceder
else
k 1
w 1
while ((k k
max
) AND (| e | ) AND (| w| ))
e e/2
+ e
w pol carac trid(, a, b)
if (sign(w) = sign(u)) then

v w
else

u w
endif
k k + 1
endwhile
endif
endproc
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 118
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Algoritmo 6.4.3 Autovalores de uma matriz tridiagonal
simetrica
proc autovalores tridiagonal(input: a, b, n; output: )
% Calcula os raios dos discos de Gerschgorin, cada qual com centro a(i)
r
1
| b
1
|
for i 2, 3, . . . , n 1 do
r
i
| b
i1
| +| b
i
|
endfor
r
n
| b
n1
|
% Calcula o intervalo [, ] na reta dos reais
% contendo os autovalores
min
n
i=1
(a
i
r
i
)
max
n
i=1
(a
i
+ r
i
)
% Calcula os autovalores, iniciando com o autovalor
% de T
1
= [a
1
], = a
1

1
= a
1
for i 2, 3, . . . , n do
% Calcula os autovalores de T
i
% a. entre e
1
call bissec cao trid(a, b, ,
1
, k
max
, , ,
1
)
% b. autovalores entre
1
e
i1
for j 1, 2, . . . , i 2 do
call bissec cao trid(a, b,
j
,
j+1
, k
max
, , ,
j+1
)
endfor
% c. entre
i1
e
call bissec cao trid(a, b,
i1
, , k
max
, , ,
1
)

endfor

endproc
Exemplo 6.6 Seja a matriz tridiagonal
T =

2 1
1 2 1
1 2 1
1 2

a qual pode ser representada de forma compacta atraves dos vetores


a = (2, 2, 2, 2)
T
e b = (1, 1, 1)
T
Para se obter os autovalores de T, iniciamos com a matriz
T
1
=

a
1

=

2

a qual tem como seu unico autovalor
1
= a
1
= 2. Alem disso, calculamos os extremos do intervalo
de Gerschgorin, = 0 e = 6, atraves da equacao (6.11).
Agora, precisamos calcular os dois autovalores da matriz
T
2
=

a
1
b
1
b
1
a
2

2 1
1 2

os quais, pelos teoremas de Gerschgorin e 6.4.1, satisfazem


<
2
<
1
<
1
<
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 119
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Estipulando-se como tolerancias de convergencia para o metodo da bissecao = =

e um
m aximo de 200 itera c oes,
2
e obtido em 2 itera coes utilizando-se como intervalo de busca [,
1
] =
[0, 2], resultando no valor
2
= 1. O autovalor
1
tambem e obtido em 2 itera coes, usando-se como
intervalo de busca [
1
, ] = [2, 6], com o qual obtem-se
1
= 3.
Antes de procedermos ao calculo dos autovalores de T
3
, fazemos uma c opia dos , armazenando-
os em ; assim, temos
1
= 3 e
2
= 1.
Procedemos, ent ao, com o c alculo dos autovalores de T
3
; para tanto, utilizamos os intervalos
de busca
[,
2
] = [0, 1] para calcular o autovalor
3
;
[
2
,
1
] = [1, 3] para calcular o autovalor
2
;
[
1
, ] = [3, 6] para calcular o autovalor
1
.
Os autovalores
3
,
2
e
1
s ao entao obtidos com o metodo da bissec cao, utilizando-se as mesmas
toler ancias especicadas anteriormente, resultando em
3
= 0, 5858,
2
= 2 e
1
= 3, 4142, obtidos
em 27, 2 e 27 itera c oes respectivamente.
Finalmente, basta calcularmos os autovalores de T
4
. Procedendo de forma similar, fazemos

3
= 0, 5858,
2
= 2 e
1
= 3, 4142 e estipulamos os intervalos de busca
[,
3
] = [0, 0, 5858] para calcular o autovalor
4
;
[
3
,
2
] = [0, 5858, 2] para calcular o autovalor
3
;
[
2
,
1
] = [2, 3, 4142] para calcular o autovalor
2
;
[
1
, ] = [3, 4142, 6] para calcular o autovalor
1
.
de onde, apos aplicarmos o algoritmo da bissec cao a cada um desses intervalos, obtemos os
autovalores de T
4
T,
4
= 0, 3820,
3
= 1, 3820,
2
= 2, 6180 e
1
= 3, 6180, ap os 27 itera coes
(para todos os intervalos de busca).
Note que n ao se obtem, com essa tecnica, os autovetores correspondentes aos autovalores. Os
metodos apresentados na se cao a seguir podem ser utilizados para se obter esses autovetores.
6.5 Metodos para aproxima cao de autovalores e autovetores
Em muitas aplica coes, nao e necessario obter-se todos os autovalores; e comum desejar-se, por
exemplo, obter apenas o maior autovalor e seu correspondente autovetor. Os metodos apresentados
nessa secao sao indicados para o caso em que apenas um dos autovalores (e seu autovetor) necessita
ser calculado. Particularmente, tais metodos s ao iterativos e apresentam boa eciencia quando a
matriz em estudo e grande, esparsa e apresenta uma grande separacao relativa entre o autovalor
desejado e os demais autovalores.
6.5.1 Metodo da potencia
Seja A uma matriz de ordem n com autovalores
i
tais que
|
1
| = |
2
| = . . . = |
r
| > |
r+1
| . . . |
n
| (6.18)
Nesse caso, diz-se que A apresenta r autovalores dominantes. Por hip otese, assumimos que existem
n autovetores linearmente independentes x
i
, de onde qualquer vetor arbitr ario z
0
pode ser expresso
como combinacao linear desses autovetores, i.e.
z
0
=
n

i=1

i
x
i
(6.19)
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 120
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Considere agora o metodo de aproxima cao sucessiva
z
k
= Az
k1
, k = 1, 2, . . . (6.20)
onde z
0
e um valor inicial, dado. Usando as equa coes (6.1), (6.19) e escrevendo (6.20) em termos
de z
0
, temos
z
k
= Az
k1
= A
2
z
k2
= . . . = A
k
z
0
=
n

i=1

k
i
x
i
(6.21)
Se pelo menos um dos
1
,
2
, . . .,
r
n ao e nulo, ent ao os termos correspondentes a eles, i.e.

r
i=1

i

k
i
x
i
ir ao dominar o somat orio da equacao (6.21).
Suponha, por exemplo, que temos um autovalor dominante,
1
, de A. Considerando que

1
= 0, podemos reescrever (6.21) como
z
k
=
k
1

1
x
1
+
n

i=1

k
x
i

Note agora que, como


1
>
2
. . .
n
, por hip otese, entao os termos

k
tendem a zero `a medida que k cresce. Da, podemos escrever
z
k
=
k
1
(
1
x
1
+
k
) (6.22)
onde
k
e um vetor com elementos pr oximos a zero. O vetor z
k
tende, ent ao, a aproximar o
autovetor n ao-normalizado x
1
. Essa equa cao nos permite escrever o assim chamado metodo da
potencia.
Da equa cao (6.22), podemos escrever
z
k+1
=
k+1
1
(
1
x
1
+
k+1
)
e, dividindo a i-esima componente da equa cao acima pela componente correspondente de (6.22),
obtemos
(z
k+1
)
i
(z
k
)
i
=
1

1
x
1
+
k+1

1
x
1
+
k

1
, quando k , i = 1, 2, . . . , n (6.23)
onde (z
k
)
i
indica o elemento i do vetor z
k
. A equa cao (6.23) nos diz que a taxa de convergencia
do metodo depende n ao so das constantes
i
, mas principalmente das fra coes

, . . . ,

.
Quanto menores forem esses fracoes, mais rapida e a convergencia; por isso diz-se que o metodo
da potencia e eciente converge rapidamente para um autovalor desde que este autovalor seja
dominante, i.e., relativamente distante dos demais.
De posse das equa coes (6.20) e (6.23), podemos escrever um algoritmo para o metodo da
potencia. Uma quest ao que se coloca e: quais valores iniciais,
0
e z
0
, devemos utilizar para o
autovalor dominante e seu autovetor? Para z
0
, consideraremos um vetor arbitrario, o qual ser a
normalizado antes de se iniciar as itera coes. Com essa escolha, valemo-nos da equa cao (6.1) e
escrevemos
Az
0
=
0
z
0
.
.. || z
0
|| = 1
.
..
z
T
0
Az
0
= z
T
0

0
z
0
=
0
(z
T
0
z
0
) =
0
Aplica-se, entao, repetidamente a equacao (6.20), normalizando o vetor z
k
a cada itera cao, conforme
mostrado no algoritmo 6.5.1. O exemplo 6.7 mostra o funcionamento do metodo.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 121
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Algoritmo 6.5.1 Metodo da potencia
proc potencia(input: A, z
0
, , k
max
; output:
k
, z
k
)
z
0
z
0
/|| z
0
||

0
z
T
0
Az
0
for k = 1, 2, . . . , k
max
do
q Az
k1
z
k
q/|| q ||

k
z
T
k
Az
k
if |
k

k1
| < then
break
endif
endfor
endproc
Exemplo 6.7 Seja a matriz
A =

8 1 2
1 5 1
0 1 90

,
a qual tem como autovalores e respectivos autovetores,

1
= 90, 0115,
2
= 7, 6308,
3
= 5, 3577
x
1
=

0, 0245
0, 0115
0, 9996

, x
2
=

0, 9353
0, 3539
0, 0043

, x
3
=

0, 0043
0, 0111
0, 9996

.
Utilizando-se o metodo da potencia com um vetor com tres elementos escolhidos arbitrariamente
e normalizado, z
0
= (0, 4394, 0, 6415, 0, 6287)
T
, obtem-se a seguinte seq uencia de valores, com uma
toler ancia para convergencia de 10
5
:
k z
k

k
0 (0, 4394, 0, 6415, 0, 6287)
T
40, 5408
1 (0, 0940, 0, 0590, 0, 9938)
T
89, 2834
2 (0, 0313, 0, 0133, 0, 9994)
T
89, 9939
3 (0, 0251, 0, 0115, 0, 9996)
T
90, 0102
4 (0, 0246, 0, 0115, 0, 9996)
T
90, 0114
5 (0, 0245, 0, 0115, 0, 9996)
T
90, 0115
6 (0, 0245, 0, 0115, 0, 9996)
T
90, 0115
onde pode-se vericar que z
6
e uma boa aproxima cao para x
1
, sujeita ` aquela toler ancia.
Caso a matriz tenha autovalores dominantes repetidos, i.e.

1
=
2
= . . . =
r
o metodo da potencia ir a obter apenas um autovetor, o qual ser a combina cao linear dos autovetores
correspondentes a
1
.
O metodo da potencia diverge se A tiver autovalores diferentes, porem de mesmo valor absoluto
como, por exemplo, um par conjugado de autovalores dominantes complexos,
2
=
1
; o exemplo
a seguir ilustra tal situa cao:
Exemplo 6.8 Seja a matriz
A =

1 10 2
1 1 10
10 1 13

,
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 122
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
a qual tem como autovalores e respectivos autovetores,

1
= 9, 4515 + 3, 8807i,
2
= 9, 4515 3, 8807i,
3
= 7, 9030
x
1
=

0, 0307 0, 4143i
0, 2160 + 0, 5518i
0, 4368 0, 5343i

, x
2
=

0, 0307 + 0, 4143i
0, 2160 0, 5518i
0, 4368 + 0, 5343i

, x
3
=

0, 7897
0, 4651
0, 4000

.
Utilizando-se o metodo da potencia com um vetor com tres elementos escolhidos arbitrariamente
e normalizado, z
0
= (0, 4857, 0, 0197, 0, 8739)
T
, obtem-se a seguinte seq uencia de valores, com uma
toler ancia para convergencia de 10
5
:
k z
k

k
0 (0, 4857, 0, 0197, 0, 8739)
T
4, 3241
1 (0, 2253, 0, 7668, 0, 6010)
T
9, 1975
2 (0, 4829, 0, 3946, 0, 7817)
T
8, 1345
3 (0, 2066, 0, 7546, 0, 6229)
T
9, 4601
4 (0, 5786, 0, 5001, 0, 6443)
T
6, 4876
5 (0, 4517, 0, 7731, 0, 4454)
T
6, 2931
6 (0, 8581, 0, 4338, 0, 2749)
T
1, 8886
a qual apresenta um comportamento n ao convergente.
6.5.2 O metodo da potencia com transla cao da origem
Como vimos na secao anterior, a convergencia do metodo da potencia depende de |
2
/
1
|, para
o caso de existir apenas um autovalor dominante. Se essa razao for muito pr oxima de 1, ent ao a
convergencia e muito lenta.
No entanto, podemos obter a solu cao de forma mais r apida se procedermos a uma modica cao
do metodo da potencia. Essa modica cao baseia-se no fato de que, se e um autovalor de uma
matriz A, ent ao e o autovalor correspondente da matriz AI. Dessa forma, se aplicarmos
o metodo da potencia a uma matriz AI, tal que
1
ainda seja dominante, a convergencia
do metodo depender a de

o que, para um valor adequado de , poder a ser menor do que |


2
/
1
|. A esse processo, da-se
o nome de transla c ao da origem e como se os autovalores estivessem distribudos em um novo
sistema de referencia cuja origem e , e n ao mais zero e pode ser bastante ecaz, desde que a
escolha de seja criteriosa.
Obviamente, poderamos calcular explicitamente a matriz A I e utilizar o algoritmo 6.5.1;
no entanto, pequenas modicacoes naquele algoritmo nos permitem utilizar o processo de trans-
la cao da origem de forma mais eciente. Novamente, z
0
e considerado um vetor unitario, de onde
podemos obter a seguinte estimativa para
0
:
(A I)z
0
=
0
z
0
; pre-multiplicando por z
T
0
,
z
T
0
Az
0
z
T
0
z
0
=
0
(z
T
0
z
0
)
.
.. || z
0
|| = 1
.
..

0
= z
T
0
Az
0

e, por analogia, escrevemos

k
= z
T
k
Az
k

Alem disso, ao inves de calcularmos q = Az


k
, devemos calcular q = Az
k
z
k
. Ao nal do
processo, devemos corrigir
k
, adicionando a ele . Essas ideias s ao apresentadas no algoritmo
6.5.2.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 123
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Algoritmo 6.5.2 Metodo da potencia (com transla cao)
proc potencia transla cao(input: A, z
0
, , , k
max
; output:
k
, z
k
)
z
0
z
0
/|| z
0
||

0
z
T
0
Az
0

for k = 1, 2, . . . , k
max
do
q Az
k1
z
k1
z
k
q/|| q ||

k
z
T
k
Az
k

if |
k

k1
| < then
break
endif
endfor

k

k
+
endproc
O exemplo a seguir ilustra o uso do metodo da potencia com translacao de origem.
Exemplo 6.9 Seja a matriz
A =

2 1 0
1 2 1
0 1 2

,
a qual tem como autovalores e respectivos autovetores,

1
= 3, 4142,
2
= 2,
3
= 0, 5858
x
1
=

0, 5000
0, 7071
0, 5000

, x
2
=

0, 7071
0, 0000
0, 7071

, x
3
=

0, 5000
0, 7071
0, 5000

.
Note que |
2
/
1
| = 0, 5858. Se utilizarmos o metodo da potencia, a uma toler ancia de 10
5
e
vetor inicial z
0
= (1, 0, 0)
T
, necessitaremos de 13 itera coes para obter a aproxima cao 3, 4142 para
o autovalor
1
.
No entanto, se usarmos o transla cao da origem, com = 1, necessitamos apenas de 9 itera coes
para obter a mesma aproximacao; veja que

2
1

1
1

1
2, 4142

= 0, 4142 < 0, 5858 =

o que sugere o menor n umero de itera coes.


6.5.3 Metodo da itera cao inversa
Como vimos, o metodo da potencia nos permite aproximar o autovalor dominante de A; suponha,
agora, que desejamos aproximar o menor autovalor (e seu correspondente autovetor) de A. Re-
lembrando que os autovalores de A
1
sao o inverso dos autovalores de A (equa cao (6.3)), ent ao,
se utilizarmos o metodo da potencia sobre a matriz A
1
, aproximaremos o menor autovalor de
A pois ele e o maior autovalor de A
1
. A essa modicacao do metodo da potencia chamamos de
metodo da iterac ao inversa.
O metodo da itera cao inversa procede, basicamente, com o c alculo sucessivo de vetores z
k
dados por
z
k
= A
1
z
k1
, k = 1, 2, . . .
mas ja vimos (captulo 4) que, computacionalmente, devemos evitar, se possvel, calcular a inversa
de uma matriz. Nesse caso, e aconselhado que se resolva o sistema
Az
k
= z
k1
, k = 1, 2, . . .
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 124
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
atraves da fatoracao LU de A (secao 4.3.2), uma vez que v arias itera coes serao necess arias para
se aproximar o menor autovalor e respectivo autovetor.
Alem disso, o metodo da itera cao inversa e, normalmente, combinado com a transla cao de
origem, o que resulta na fatoracao LU da matriz A I. O algoritmo 6.5.3 apresenta o metodo
da itera cao inversa, incorporando transla cao de origem.
Algoritmo 6.5.3 Metodo da iteracao inversa (com translacao)
proc itera cao inversa transla cao(input: A, z
0
, , , k
max
;
output:
k
, z
k
)
Fatore A I no produto LU
z
0
z
0
/|| z
0
||

0
z
T
0
Az
0

for k = 0, 1, . . . , k
max
do
Resolva o sistema Ly = z
k
Resolva o sistema Uq = y
z
k
q/|| q ||

k
z
T
k
Az
k

if |
k

k1
| < then
break
endif
endfor

k

k
+
endproc
Exemplo 6.10 Seja a matriz do exemplo 6.9,
A =

2 1 0
1 2 1
0 1 2

,
cujo menor autovalor e
3
= 0, 5858 e o seu correspondente autvetor e x
3
= (0, 5000, 0, 7071, 0, 5000)
T
.
Se utilizarmos o algoritmo 6.5.3 com = 0, i.e. sem transla cao da origem, a uma toler ancia
de 10
5
e vetor inicial z
0
= (1, 0, 0)
T
, necessitaremos de 7 itera coes para obter a aproxima cao
0, 5858 para o autovalor
3
e (0, 5002, 0, 7071, 0, 4998)
T
para o correspondente autovetor.
No entanto, se usarmos o transla cao da origem, com = 0, 5, necessitamos apenas de 4
itera coes para obter a mesma aproxima cao; veja que

1
2
0, 5

1
3
0, 5

0
0, 0858

= 0 < 0, 2929 =

1
2

1
3

o que sugere o menor n umero de itera coes; na verdade, = 0, 5 e a melhor escolha possvel, nesse
caso.
Outro exemplo mostra como usar o metodo da itera cao inversa em conjunto com o teorema de
Gerschgorin, a m de se determinar um autovalor especco.
Exemplo 6.11 Seja a matriz
A =

5 2 1
2 3 1
1 1 1

Os discos de Gerschgorin s ao:


d
1
: c
1
= 5, r
1
= 3
d
2
: c
2
= 3, r
2
= 3
d
3
: c
3
= 1, r
3
= 2
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 125
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Suponha que desejamos aproximar o menor autovalor; como o disco d
3
e aquele que se encontra
mais ` a esquerda em compara cao aos demais, podemos utilizar o seu centro como fator de transla-
c ao. Entao, utilizamos o metodo da iteracao inversa com = 1, vetor inicial z
0
=

3
1
(1, 1, 1)
T
e toler ancia 10
5
e obtemos = 0, 5764 e z = (0, 0597, 0, 3380, 0, 9393)
T
apos 10 itera coes.
Por outro lado, se tivessemos utilizado = c
3
+ r
3
, a convergencia para o mesmo autovalor seria
obtida em apenas 4 itera c oes.
6.5.4 O metodo da itera cao inversa e o quociente de Rayleigh
Como visto no teorema 6.2.2, o valor do autovalor dominante
1
de uma matriz real simetrica
e o maximo do quociente de Rayleigh, dentre todos os vetores x = 0. Isso nos permite utilizar
a expressao (6.12) juntamente com o metodo da itera cao inversa, conforme mostra o algoritmo
6.5.4.
Algoritmo 6.5.4 Metodo da iteracao inversa com translacao via
quociente de Rayleigh)
proc itera cao inversa transla cao(input: A, z
0
, , k
max
;
output:
k
, z
k
)
z
0
z
0
/|| z
0
||
for k = 0, 1, . . . , k
max
do

k
=
z
T
k
Az
k
z
T
k
z
k
Resolva o sistema (A
k
I)q = z
k
z
k
q/|| q ||
if || z
k
z
k1
|| < then
break
endif
endfor
endproc
Note que, no algoritmo 6.5.4, um sistema de equacoes diferente e resolvido a cada itera cao, j a
que uma nova estimativa
k
e utilizada a cada itera cao.

E possvel, no entanto, que o sistema
A
k
I seja singular e, nesse caso, o processo deve ser terminado.
6.6 Exerccios
Exerccio 6.1 Determine os autovalores e autovetores correspondentes da matriz

1 1 1
0 2 5
0 0 1

.
Exerccio 6.2 Calcule o autovalor dominante de

10 9 8
3 5 6
7 2 1

.
Exerccio 6.3 Calcule o autovalor dominante e o autovetor correspondente da matriz

6 2 1
2 3 1
1 1 1

,
usando o metodo da potencia, com z
0
= (1, 1, 1)
T
e toler ancia 10
5
.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 126
Introdu c ao ao Calculo Numerico Autovalores e Autovetores
Exerccio 6.4 Calcule o autovalor dominante e o autovetor correspondente da matriz

0 1 1
1 0 1
1 1 0

,
usando o metodo da potencia, com z
0
= (1, 1, 1)
T
e toler ancia 10
5
.
Exerccio 6.5 Explique o que acontece com o metodo da potencia para a matriz

2 1 1
1 2 1
1 1 2

,
com z
0
= (1, 1, 1)
T
e toler ancia 10
5
, sabendo que os seus autovalores s ao 1, 2 e 3. Repita para
z
0
= (1, 0, 10
6
)
T
.
Exerccio 6.6 Utilize o metodo da iteracao inversa para calcular o menor autovalor da matriz

2 1 1
1 2 1
1 1 2

,
com z
0
= (1, 1, 1)
T
e toler ancia 10
5
.
Exerccio 6.7 Seja a matriz
A =

5 2 1
2 3 1
1 1 1

Explique o que ocorre com o metodo da iteracao inversa utilizado com = 3, z


0
= (1, 0, 0)
T
e
toler ancia 10
5
. Generalize a sua resposta.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 127

Вам также может понравиться