O documento apresenta os conceitos de autovalor e autovetor e métodos para solução do problema do autovalor. Dois teoremas sobre limites de autovalores são descritos, incluindo o Teorema de Gerschgorin que fornece uma estimativa dos autovalores de uma matriz a partir de discos centrados nos elementos da diagonal principal. Exemplos ilustram a aplicação destes conceitos em problemas de vibrações mecânicas e modelos econômicos.
1. Cap´ıtulo 6
Autovalores e Autovetores
6.1 Introdu¸c˜ao
Neste cap´ıtulo, apresentaremos alguns dos m´etodos utilizados para a solu¸c˜ao do problema do
autovalor, i.e., o sistema de n equa¸c˜oes lineares
Ax = λx (6.1)
para o qual procuramos um vetor solu¸c˜ao x tal que xi = 0 para pelo menos algum i, ou seja, uma
solu¸c˜ao n˜ao-trivial. Para que tal seja poss´ıvel, ´e necess´ario que
det(A − λI) = 0 (6.2)
a qual ´e uma equa¸c˜ao polinomial de grau n na vari´avel λ, chamada de equa¸c˜ao caracter´ıstica de
A; o polinˆomio det(A − λI) ´e chamado de polinˆomio caracter´ıstico de A.
As n ra´ızes de (6.2) s˜ao chamadas de autovalores, ra´ızes latentes ou valores caracter´ısticos de
A. A cada raiz λ corresponde um vetor x ∈ ICn
= 0 que satisfaz a equa¸c˜ao (6.1), o qual ´e chamado
de autovetor, vetor latente ou vetor caracter´ıstico de A. Note que, se x ´e um autovetor de A, ent˜ao
kx, onde k ∈ IR, tamb´em ´e, pois
Akx = kAx = λkx = kλx.
Costumeiramente os autovetores s˜ao normalizados, i.e. || x || = 1 em alguma norma escolhida (o
que pode ser feito pela rela¸c˜ao acima).
Se todas as ra´ızes de (6.2) s˜ao 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 s˜ao todos distintos, podemos encontrar um conjunto completo de
autovetores L.I.
Podemos tamb´em calcular os autovalores da matriz inversa de A, A−1
, a partir dos autovalores
de A. Se multiplicarmos a equa¸c˜ao (6.1) `a esquerda por A−1
, temos
x = λA−1
x
ou
A−1
x =
1
λ
x. (6.3)
Essa ´ultima equa¸c˜ao 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¸c˜oes, como pode-
mos ver nos exemplos que seguem, conforme apresentados em [6].
110
2. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Exemplo 6.1 O estudo das vibra¸c˜oes de sistemas dinˆamicos e de estruturas requer a solu¸c˜ao de
problemas de autovalores e autovetores. Considere, apenas para fins de explana¸c˜ao, o problema
de se determinar as vibra¸c˜oes de pequenas part´ıculas presas por um fio uniforme, sem peso, ao
qual ´e aplicada uma for¸ca
−→
F nas extremidades (cf. a figura 6.1) e no qual desconsidera-se a a¸c˜ao
da gravidade. As part´ıculas encontram-se a distˆancias iguais entre si e as vibra¸c˜oes das mesmas
s˜ao consideradas pequenas e perpendiculares `a posi¸c˜ao de descanso do fio. Escrevendo as equa¸c˜oes
Figura 6.1: O problema das vibra¸c˜oes.
diferenciais para as for¸cas atuantes em cada part´ıcula, temos:
m1
d2
x1
dt2
= −F
x1
h
+ F
x2 − x1
h
m2
d2
x2
dt2
= −F
x2 − x1
h
+ F
x3 − x2
h
m3
d2
x3
dt2
= −F
x3 − x2
h
− F
x3 − x4
h
m4
d2
x4
dt2
= +F
x3 − x4
h
− F
x4
h
Introduzindo a nota¸c˜ao
x = (x1, x2, x3, x4)T
di =
mih
F
, i = 1, 2, 3, 4
podemos escrever o sistema de equa¸c˜oes diferenciais acima na forma matricial
D
d2
x
dt2
= T x (6.4)
onde D ´e a matriz diagonal
D =
d1
d2
d3
d4
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
3. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Quando as part´ıculas vibram em fase ou em dire¸c˜oes opostas, i.e., em modo normal, ent˜ao a
condi¸c˜ao
d2
x
dt2
= −w2
x, w ∈ IR (6.5)
´e satisfeita. Substituindo a equa¸c˜ao (6.5) em (6.4), obtemos o problema de autovalor
Dw2
i xi = −T xi, i = 1, 2, 3, 4 (6.6)
para as freq¨uˆencias de vibra¸c˜ao w1, w2, w3 e w4 e os modos normais correspondentes, i.e., os
autovetores x1, x2, x3 e x4.
Aparentemente, se isolarmos x no lado direito da equa¸c˜ao (6.6), obter´ıamos 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. Por´em, se introduzirmos o vetor
y = D1/2
x
o que ´e poss´ıvel, j´a que os elementos da diagonal de D s˜ao positivos, por defini¸c˜ao, ent˜ao podemos
escrever (6.6) como
D−1/2
T D−1/2
yi = −w2
i yi
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 bij as vendas da ind´ustria i para a ind´ustria j; bii 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 yi e o total de bens produzidos por xi. Ent˜ao,
xi = yi +
j
bij (6.7)
A fim de definirmos bij, assume-se que as vendas da ind´ustria i para a j est˜ao em propor¸c˜ao
constante `a produ¸c˜ao da ind´ustria j, i.e.
bij = aijxj
onde aij s˜ao ditos coeficientes de entrada. Em uma situa¸c˜ao est´atica, podemos escrever, a partir
de (6.7),
x = y + Ax (6.8)
onde x = (x1, x2, . . . , xn)T
e y = (y1, y2, . . . , yn)T
e A ´e matriz de ordem n cujos elementos (i, j)
s˜ao os coeficientes de entrada aij. Ora, a equa¸c˜ao (6.8) pode ser reescrita como
(I − A)x = y (6.9)
onde I − A ´e chamada de matriz de Leontief. A equa¸c˜ao (6.9) pode ser resolvida calculando-
se os autovalores e autovetores de A. Sua utilidade reside no fato de que, com ela, ´e poss´ıvel
determinar-se a quantidade de bens produzidos (x) necess´arios para satisfazer a uma demanda
final (y), pr´e-estabelecida.
Se a produ¸c˜ao e a demanda n˜ao se encontram em equil´ıbrio, ent˜ao devemos considerar um
modelo dinˆamico, que leve em considera¸c˜ao a taxa de varia¸c˜ao da produ¸c˜ao. Nesse caso, usual-
mente considera-se que a produ¸c˜ao em cada ind´ustria varia a uma taxa proporcional `a diferen¸ca
entre os n´ıveis de venda e de produ¸c˜ao. 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
4. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
onde D ´e uma matriz diagonal de ordem n, cujos elementos dii representam os coeficientes de
rea¸c˜ao das ind´ustrias.
A equa¸c˜ao (6.10) substitui nesse caso a equa¸c˜ao (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 est´avel, 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¸c˜oes 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
t´ecnicas de determina¸c˜ao de autovalores e autovetores para um tipo espec´ıfico de matrizes.
6.2 Teoremas de limites sobre autovalores
Teorema 6.2.1 Discos de Gerschgorin: Seja A uma matriz de ordem n, e di, i = 1, 2, . . ., n
os discos cujos centros s˜ao os elementos aii e cujos raios ri s˜ao dados por
ri =
n
j=1
j=i
|aij|, i = 1, 2, . . . , n.
Seja D a uni˜ao de todos os discos di. Ent˜ao, todos os autovalores de A encontram-se contidos em
D.
Prova: Seja λ um autovalor de A e x um autovetor correspondente, tal que maxi | xi | = 1. Ent˜ao,
λx = Ax
de onde
(λ − aii)xi =
n
j=1
j=i
aijxj, i = 1, 2, . . . n
Supondo que | xk | = 1, ent˜ao
| λ − akk | ≤
n
j=1
j=i
| akj || xj |
≤
n
j=1
j=i
| akj | = rk
i.e., o autovalor λ est´a contido no disco dk 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 aplica¸c˜ao 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:
d1 = |z − 1| < |0| + | − 1| = 1
d2 = |z − 4| < | − 1| + | − 1| = 2
d3 = |z − 10| < | − 1| + | − 2| = 3
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 113
5. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Como todos os autovalores de A s˜ao reais, e observando (veja a figura 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 figura 6.2 ilustra esse resultado.
Figura 6.2: Discos de Gerschgorin
Uma conseq¨uˆencia do teorema de Gerschgorin ´e a determina¸c˜ao do maior disco que cont´em
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
{aii − ri}, ω = max
i
{aii + ri}, 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 sim´etrica de ordem n, e
x ∈ IC um vetor arbitr´ario. Ent˜ao,
λ1 = max
x=0
xT
Ax
xT x
, λn = min
x=0
xT
Ax
xT x
onde os autovalores s˜ao ordenados tais que λ1 ≥ λ2 ≥ . . . ≥ λn.
A raz˜ao
xT
Ax
xT 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 sim´etrica, conforme
veremos na se¸c˜ao 6.5.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 114
6. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
6.3 C´alculo de autovalores e autovetores via determinantes
J´a vimos que, por defini¸c˜ao, os autovalores de uma matriz A s˜ao as ra´ızes do polinˆomio caracte-
r´ıstico de A. Evidentemente, para matrizes de ordem n > 4, n˜ao ´e aconselh´avel que se utilize a
equa¸c˜ao (6.2) para se obter o polinˆomio caracter´ıstico, por duas raz˜oes:
1. o c´alculo de determinantes de ordem superior a 4 envolve consider´avel custo computacional;
2. o polinˆomio caracter´ıstico de uma matriz grande pode ser inst´avel numericamente.
No entanto, algumas aplica¸c˜oes de engenharia, f´ısica e outros campos do conhecimento envolvem
a determina¸c˜ao de autovalores de matrizes de ordem n = 2 ou n = 3 e, nesse caso, ´e poss´ıvel obter-
se os autovalores extraindo as ra´ızes do polinˆomio caracter´ıstico, conforme mostra o exemplo a
seguir.
Exemplo 6.4 Seja a matriz
2 5
3 −4
.
O seu polinˆomio caracter´ıstico ´e
p(λ) = det(A − λI) =
2 − λ 5
3 −4 − λ
= (2 − λ)(−4 − λ) − 15
ou p(λ) = λ2
+ 2λ − 23, cujas ra´ızes s˜ao λ1 = 3, 8990 e λ2 = −5, 8990.
Para se determinar os autovetores, utiliza-se a equa¸c˜ao (6.1) para cada autovalor λi, na forma
(A − λiI)xi = 0, como segue:
Exemplo 6.5 Calcule os autovetores do exemplo 6.4.
Solu¸c˜ao: Para o autovalor λ1 = 3, 8990, escrevemos
(A − 3, 8990I)x1 = 0
7, 8990 5
3 1, 8990
(x1)1
(x1)2
=
0
0
de onde obtemos
x1 =
k
−1, 5798k
, k = 0
O autovetor correspondente a λ2 = −5, 8990 ´e obtido de forma similar:
(A + 5, 8990I)x1 = 0
−1, 8990 5
3 −7, 8990
(x2)1
(x2)2
=
0
0
de onde obtemos
x2 =
k
0, 3798k
, k = 0
Computacionalmente, no entanto, podemos estimar o autovetor correspondente a um autovalor
utilizando os m´etodos da potˆencia com transla¸c˜ao da origem (se¸c˜ao 6.5.2) ou da itera¸c˜ao inversa
com transla¸c˜ao da origem (se¸c˜ao 6.5.3).
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 115
7. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
6.4 Autovalores de uma matriz tridiagonal sim´etrica
Em muitas aplica¸c˜oes surgem matrizes tridiagonais sim´etricas, das quais necessitamos extrair
autovalores e/ou autovetores. Por exemplo, ao aproximarmos a equa¸c˜ao diferencial parcial
∂u
∂t
=
∂2
u
∂x2
por diferen¸cas finitas, obtemos uma matriz
−2 1 0 0
1 −2 1 0
0 1 −2 1
0 0 1 −2
a qual apresenta aquela caracter´ıstica.
De forma geral, consideramos uma matriz T de ordem n,
T =
a1 b1 0 . . . 0
b1 a2
...
...
...
0
...
...
... 0
...
...
...
... bn−1
0 . . . 0 bn−1 an
(6.13)
e chamamos de Tr a matriz principal de ordem r de T , i.e.
T1 = a1 , T2 =
a1 b1
b1 a2
, T3 =
a1 b1 0
b1 a2 b2
0 b2 a3
, . . .
Escrevendo as equa¸c˜oes caracter´ısticas p1(λ), p2(λ) e p3(λ) das matrizes T1, T2 e T3, obtemos:
p1(λ) = det(T1 − λI) = a1 − λ (6.14)
p2(λ) = det(T2 − λI) = (a2 − λ)(a1 − λ) − b2
1 = (a2 − λ)p1(λ) − b2
1 (6.15)
p3(λ) = det(T3 − λI) = (a3 − λ) (a2 − λ)(a1 − λ) − b2
1(a3 − λ) − b2
2(a1 − λ) =
= (a3 − λ)p2(λ) − b2
2p1(λ) (6.16)
de onde podemos escrever, generalizando para r,
pr(λ) = (ar − λ)pr−1(λ) − b2
r−1pr−2(λ), r = 2, 3, . . ., n, p0(λ) = 1, (6.17)
A equa¸c˜ao (6.17) nos permite avaliar o polinˆomio caracter´ıstico da matriz T de forma bastante
eficiente; no entanto, estamos preocupados em obter os autovalores de T , ou as ra´ızes de pn. O
teorema a seguir nos permitir´a escrever um algoritmo bastante eficiente para se extrair alguns ou
todos os autovalores de T .
Teorema 6.4.1 Seq¨uˆencia de Sturm: Se a matriz tridiagonal (6.13) ´e n˜ao-reduz´ıvel 1
, ent˜ao
os r − 1 autovalores µ da matriz Tr−1 separam estritamente os r autovalores λ da matriz Tr:
λr < µr−1 < λr−1 < µr−2 < · · · < λ2 < µ1 < λ1.
Mais ainda, se s(λ) representa o n´umero de trocas de sinal na seq¨uˆencia
{p0(λ), p1(λ), . . . , pn(λ)}
ent˜ao s(λ) ´e igual ao n´umero de autovalores de T menores do que λ, onde pr(λ) ´e dado por (6.17)
e assume-se que pr(λ) tem o sinal oposto de pr−1(λ) se pr(λ) = 0.
1Uma matriz A ´e dita n˜ao-reduz´ıvel se os elementos da diagonal da matriz triangular superior R, resultante de
sua fatora¸c˜ao no produto QR, s˜ao todos n˜ao-nulos, onde Q ´e uma matriz ortogonal (i.e. QT Q = I).
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 116
8. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
O teorema 6.4.1 ´e extremamente importante: ele nos diz que, se tivermos os n autovalores µ
de uma matriz triadiagonal Tn (de ordem n), ent˜ao entre cada par de autovalores consecutivos
µ (com exce¸c˜ao do menor e do maior), existe um e apenas um autovalor λ da matriz tridiagonal
Tn+1 (de ordem n + 1), obtida acrescentando-se uma linha e uma coluna `a matriz Tn. Devido `a
essa caracter´ıstica, podemos utilizar o algoritmo da bissec¸c˜ao (ver algoritmo 2.2.1), juntamente
com a equa¸c˜ao (6.17), para obtermos rapidamente, e com seguran¸ca, um autovalor de Tn+1, `a
partir de um intervalo que ´e um par de autovalores consecutivos de Tn.
Para obter-se o menor e o maior autovalores de Tn+1, utilizamos o teorema de Gerschgorin -
mais especificamente, calculamos o maior intervalo que engloba todos os autovalores, com a equa-
¸c˜ao (6.11). Assim, o menor autovalor ´e calculado usando-se como estimativa inicial para o m´etodo
da bissec¸c˜ao o intervalo [α, µr−1]; para o maior autovalor, utiliza-se o intervalo [µ1, ω].
Os algoritmos 6.4.1, 6.4.2 e 6.4.3 combinam as id´eias apresentadas acima. Da maneira como o
algoritmo 6.4.3 ´e apresentado, todos os autovalores s˜ao obtidos; no entanto, simples modifica¸c˜oes
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¸c˜ao t´ıpica, resolvido utilizando-se esses algoritmos.
Algoritmo 6.4.1 Avalia polinˆomio caracter´ıstico de uma matriz
tridiagonal sim´etrica
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
p0 ← 1
p1 ← a1 − x
p ← p1
for r ← 2, 3, . . . , n do
p ← (ar − x)p1 − b2
r−1p0
p0 ← p1
p1 ← p
endfor
endfunction
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 117
9. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Algoritmo 6.4.2 M´etodo da bissec¸c˜ao com polinˆomio caracte-
r´ıstico
proc bissec¸c˜ao trid(input: a, b, α, β, kmax, δ, ; 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
“n˜ao pode proceder”
else
k ← 1
w ← 1
while ((k ≤ kmax) 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
10. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Algoritmo 6.4.3 Autovalores de uma matriz tridiagonal
sim´etrica
proc autovalores tridiagonal(input: a, b, n; output: λ)
% Calcula os raios dos discos de Gerschgorin, cada qual com centro a(i)
r1 ← | b1 |
for i ← 2, 3, . . ., n − 1 do
ri ← | bi−1 | + | bi |
endfor
rn ← | bn−1 |
% Calcula o intervalo [α, ω] na reta dos reais
% contendo os autovalores
α ← minn
i=1(ai − ri)
ω ← maxn
i=1(ai + ri)
% Calcula os autovalores, iniciando com o autovalor
% de T1 = [a1], µ = a1
µ1 = a1
for i ← 2, 3, . . ., n do
% Calcula os autovalores de Ti
% a. entre α e µ1
call bissec¸c˜ao trid(a, b, α, µ1, kmax, δ, , λ1)
% b. autovalores entre µ1 e µi−1
for j ← 1, 2, . . . , i − 2 do
call bissec¸c˜ao trid(a, b, µj, µj+1, kmax, δ, , λj+1)
endfor
% c. entre µi−1 e ω
call bissec¸c˜ao trid(a, b, µi−1, ω, kmax, δ, , λ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 atrav´es 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
T1 = a1 = 2
a qual tem como seu ´unico autovalor µ1 = a1 = 2. Al´em disso, calculamos os extremos do intervalo
de Gerschgorin, α = 0 e ω = 6, atrav´es da equa¸c˜ao (6.11).
Agora, precisamos calcular os dois autovalores λ da matriz
T2 =
a1 b1
b1 a2
=
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
11. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Estipulando-se como tolerˆancias de convergˆencia para o m´etodo da bisse¸c˜ao δ = =
√
ε e um
m´aximo de 200 itera¸c˜oes, λ2 ´e obtido em 2 itera¸c˜oes utilizando-se como intervalo de busca [α, µ1] =
[0, 2], resultando no valor λ2 = 1. O autovalor λ1 tamb´em ´e obtido em 2 itera¸c˜oes, usando-se como
intervalo de busca [µ1, β] = [2, 6], com o qual obt´em-se λ1 = 3.
Antes de procedermos ao c´alculo dos autovalores de T3, 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 T3; 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 ent˜ao obtidos com o m´etodo da bissec¸c˜ao, utilizando-se as mesmas
tolerˆancias especificadas 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 T4. 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, ap´os aplicarmos o algoritmo da bissec¸c˜ao a cada um desses intervalos, obtemos os
autovalores de T4 ≡ T , λ4 = 0, 3820, λ3 = 1, 3820, λ2 = 2, 6180 e λ1 = 3, 6180, ap´os 27 itera¸c˜oes
(para todos os intervalos de busca).
Note que n˜ao se obt´em, com essa t´ecnica, os autovetores correspondentes aos autovalores. Os
m´etodos apresentados na se¸c˜ao a seguir podem ser utilizados para se obter esses autovetores.
6.5 M´etodos para aproxima¸c˜ao de autovalores e autovetores
Em muitas aplica¸c˜oes, n˜ao ´e necess´ario obter-se todos os autovalores; ´e comum desejar-se, por
exemplo, obter apenas o maior autovalor e seu correspondente autovetor. Os m´etodos apresentados
nessa se¸c˜ao s˜ao indicados para o caso em que apenas um dos autovalores (e seu autovetor) necessita
ser calculado. Particularmente, tais m´etodos s˜ao iterativos e apresentam boa eficiˆencia quando a
matriz em estudo ´e grande, esparsa e apresenta uma grande separa¸c˜ao relativa entre o autovalor
desejado e os demais autovalores.
6.5.1 M´etodo da potˆencia
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 xi, de onde qualquer vetor arbitr´ario z0 pode ser expresso
como combina¸c˜ao linear desses autovetores, i.e.
z0 =
n
i=1
αixi (6.19)
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 120
12. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Considere agora o m´etodo de aproxima¸c˜ao sucessiva
zk = Azk−1, k = 1, 2, . . . (6.20)
onde z0 ´e um valor inicial, dado. Usando as equa¸c˜oes (6.1), (6.19) e escrevendo (6.20) em termos
de z0, temos
zk = Azk−1 = A2
zk−2 = . . . = Ak
z0
=
n
i=1
αiλk
i xi (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 xi ir˜ao dominar o somat´orio da equa¸c˜ao (6.21).
Suponha, por exemplo, que temos um autovalor dominante, λ1, de A. Considerando que
α1 = 0, podemos reescrever (6.21) como
zk = λk
1 α1x1 +
n
i=1
αi
λi
λ1
k
xi
Note agora que, como λ1 > λ2 ≥ . . . ≥ λn, por hip´otese, ent˜ao os termos
λi
λ1
k
tendem a zero `a medida que k cresce. Da´ı, podemos escrever
zk = λk
1(α1x1 + k) (6.22)
onde k ´e um vetor com elementos pr´oximos a zero. O vetor zk tende, ent˜ao, a aproximar o
autovetor n˜ao-normalizado x1. Essa equa¸c˜ao nos permite escrever o assim chamado m´etodo da
potˆencia.
Da equa¸c˜ao (6.22), podemos escrever
zk+1 = λk+1
1 (α1x1 + k+1)
e, dividindo a i-´esima componente da equa¸c˜ao acima pela componente correspondente de (6.22),
obtemos
(zk+1)i
(zk)i
= λ1
α1x1 + k+1
α1x1 + k
→ λ1, quando k → ∞, i = 1, 2, . . . , n (6.23)
onde (zk)i indica o elemento i do vetor zk. A equa¸c˜ao (6.23) nos diz que a taxa de convergˆencia
do m´etodo depende n˜ao s´o das constantes αi, mas principalmente das fra¸c˜oes
λ2
λ1
,
λ3
λ1
, . . . ,
λn
λ1
.
Quanto menores forem esses fra¸c˜oes, mais r´apida ´e a convergˆencia; por isso diz-se que o m´etodo
da potˆencia ´e eficiente – converge rapidamente para um autovalor – desde que este autovalor seja
dominante, i.e., relativamente distante dos demais.
De posse das equa¸c˜oes (6.20) e (6.23), podemos escrever um algoritmo para o m´etodo da
potˆencia. Uma quest˜ao que se coloca ´e: quais valores iniciais, λ0 e z0, devemos utilizar para o
autovalor dominante e seu autovetor? Para z0, consideraremos um vetor arbitr´ario, o qual ser´a
normalizado antes de se iniciar as itera¸c˜oes. Com essa escolha, valemo-nos da equa¸c˜ao (6.1) e
escrevemos
Az0 = λ0z0
... || z0 || = 1 ...
zT
0 Az0 = zT
0 λ0z0 = λ0(zT
0 z0) = λ0
Aplica-se, ent˜ao, repetidamente a equa¸c˜ao (6.20), normalizando o vetor zk a cada itera¸c˜ao, conforme
mostrado no algoritmo 6.5.1. O exemplo 6.7 mostra o funcionamento do m´etodo.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 121
13. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Algoritmo 6.5.1 M´etodo da potˆencia
proc potencia(input: A, z0, , kmax; output: λk, zk)
z0 ← z0/|| z0 ||
λ0 ← zT
0 Az0
for k = 1, 2, . . ., kmax do
q ← Azk−1
zk ← q/|| q ||
λk ← zT
k Azk
if | λk − λk−1 | < 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
x1 =
0, 0245
0, 0115
0, 9996
, x2 =
−0, 9353
0, 3539
−0, 0043
, x3 =
−0, 0043
−0, 0111
0, 9996
.
Utilizando-se o m´etodo da potˆencia com um vetor com trˆes elementos escolhidos arbitrariamente
e normalizado, z0 = (0, 4394, 0, 6415, 0, 6287)T
, obt´em-se a seguinte seq¨uˆencia de valores, com uma
tolerˆancia para convergˆencia de 10−5
:
k zk λ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 verificar que z6 ´e uma boa aproxima¸c˜ao para x1, sujeita `aquela tolerˆancia.
Caso a matriz tenha autovalores dominantes repetidos, i.e.
λ1 = λ2 = . . . = λr
o m´etodo da potˆencia ir´a obter apenas um autovetor, o qual ser´a combina¸c˜ao linear dos autovetores
correspondentes a λ1.
O m´etodo da potˆencia diverge se A tiver autovalores diferentes, por´em de mesmo valor absoluto
como, por exemplo, um par conjugado de autovalores dominantes complexos, λ2 = λ1; o exemplo
a seguir ilustra tal situa¸c˜ao:
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
14. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
a qual tem como autovalores e respectivos autovetores,
λ1 = −9, 4515 + 3, 8807i, λ2 = −9, 4515 − 3, 8807i, λ3 = 7, 9030
x1 =
0, 0307 − 0, 4143i
0, 2160 + 0, 5518i
−0, 4368 − 0, 5343i
, x2 =
0, 0307 + 0, 4143i
0, 2160 − 0, 5518i
−0, 4368 + 0, 5343i
, x3 =
0, 7897
0, 4651
0, 4000
.
Utilizando-se o m´etodo da potˆencia com um vetor com trˆes elementos escolhidos arbitrariamente
e normalizado, z0 = (0, 4857, 0, 0197, 0, 8739)T
, obt´em-se a seguinte seq¨uˆencia de valores, com uma
tolerˆancia para convergˆencia de 10−5
:
k zk λ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 m´etodo da potˆencia com transla¸c˜ao da origem
Como vimos na se¸c˜ao anterior, a convergˆencia do m´etodo da potˆencia depende de | λ2/λ1 |, para
o caso de existir apenas um autovalor dominante. Se essa raz˜ao for muito pr´oxima de 1, ent˜ao a
convergˆencia ´e muito lenta.
No entanto, podemos obter a solu¸c˜ao de forma mais r´apida se procedermos a uma modifica¸c˜ao
do m´etodo da potˆencia. Essa modifica¸c˜ao baseia-se no fato de que, se λ ´e um autovalor de uma
matriz A, ent˜ao λ − σ ´e o autovalor correspondente da matriz A − σI. Dessa forma, se aplicarmos
o m´etodo da potˆencia a uma matriz A − σI, tal que λ1 − σ ainda seja dominante, a convergˆencia
do m´etodo depender´a de
λ2 − σ
λ1 − σ
o que, para um valor adequado de σ, poder´a ser menor do que | λ2/λ1 |. A esse processo, d´a-se
o nome de transla¸c˜ao da origem – ´e como se os autovalores estivessem distribu´ıdos em um novo
sistema de referˆencia cuja origem ´e σ, e n˜ao mais zero – e pode ser bastante eficaz, desde que a
escolha de σ seja criteriosa.
Obviamente, poder´ıamos calcular explicitamente a matriz A − σI e utilizar o algoritmo 6.5.1;
no entanto, pequenas modifica¸c˜oes naquele algoritmo nos permitem utilizar o processo de trans-
la¸c˜ao da origem de forma mais eficiente. Novamente, z0 ´e considerado um vetor unit´ario, de onde
podemos obter a seguinte estimativa para λ0:
(A − σI)z0 = λ0z0; pr´e-multiplicando por zT
0 ,
zT
0 Az0 − σzT
0 z0 = λ0(zT
0 z0) ... || z0 || = 1 ...
λ0 = zT
0 Az0 − σ
e, por analogia, escrevemos
λk = zT
k Azk − σ
Al´em disso, ao inv´es de calcularmos q = Azk, devemos calcular q = Azk − σzk. Ao final do
processo, devemos corrigir λk, adicionando a ele σ. Essas id´eias s˜ao apresentadas no algoritmo
6.5.2.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 123
15. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Algoritmo 6.5.2 M´etodo da potˆencia (com transla¸c˜ao)
proc potencia transla¸c˜ao(input: A, z0, σ, , kmax; output: λk, zk)
z0 ← z0/|| z0 ||
λ0 ← zT
0 Az0 − σ
for k = 1, 2, . . ., kmax do
q ← Azk−1 − σzk−1
zk ← q/|| q ||
λk ← zT
k Azk − σ
if | λk − λk−1 | < then
break
endif
endfor
λk ← λk + σ
endproc
O exemplo a seguir ilustra o uso do m´etodo da potˆencia com transla¸c˜ao 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
x1 =
0, 5000
−0, 7071
0, 5000
, x2 =
0, 7071
0, 0000
−0, 7071
, x3 =
0, 5000
0, 7071
0, 5000
.
Note que | λ2/λ1 | = 0, 5858. Se utilizarmos o m´etodo da potˆencia, a uma tolerˆancia de 10−5
e
vetor inicial z0 = (1, 0, 0)T
, necessitaremos de 13 itera¸c˜oes para obter a aproxima¸c˜ao 3, 4142 para
o autovalor λ1.
No entanto, se usarmos o transla¸c˜ao da origem, com σ = 1, necessitamos apenas de 9 itera¸c˜oes
para obter a mesma aproxima¸c˜ao; veja que
λ2 − 1
λ1 − 1
=
1
2, 4142
= 0, 4142 < 0, 5858 =
λ2
λ1
o que sugere o menor n´umero de itera¸c˜oes.
6.5.3 M´etodo da itera¸c˜ao inversa
Como vimos, o m´etodo da potˆencia 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
s˜ao o inverso dos autovalores de A (equa¸c˜ao (6.3)), ent˜ao,
se utilizarmos o m´etodo da potˆencia sobre a matriz A−1
, aproximaremos o menor autovalor de
A pois ele ´e o maior autovalor de A−1
. A essa modifica¸c˜ao do m´etodo da potˆencia chamamos de
m´etodo da itera¸c˜ao inversa.
O m´etodo da itera¸c˜ao inversa procede, basicamente, com o c´alculo sucessivo de vetores zk
dados por
zk = A−1
zk−1, k = 1, 2, . . .
mas j´a vimos (cap´ıtulo 4) que, computacionalmente, devemos evitar, se poss´ıvel, calcular a inversa
de uma matriz. Nesse caso, ´e aconselhado que se resolva o sistema
Azk = zk−1, k = 1, 2, . . .
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 124
16. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
atrav´es da fatora¸c˜ao LU de A (se¸c˜ao 4.3.2), uma vez que v´arias itera¸c˜oes ser˜ao necess´arias para
se aproximar o menor autovalor e respectivo autovetor.
Al´em disso, o m´etodo da itera¸c˜ao inversa ´e, normalmente, combinado com a transla¸c˜ao de
origem, o que resulta na fatora¸c˜ao LU da matriz A − σI. O algoritmo 6.5.3 apresenta o m´etodo
da itera¸c˜ao inversa, incorporando transla¸c˜ao de origem.
Algoritmo 6.5.3 M´etodo da itera¸c˜ao inversa (com transla¸c˜ao)
proc itera¸c˜ao inversa transla¸c˜ao(input: A, z0, σ, , kmax;
output: λk, zk)
Fatore A − σI no produto LU
z0 ← z0/|| z0 ||
λ0 ← zT
0 Az0 − σ
for k = 0, 1, . . ., kmax do
Resolva o sistema Ly = zk
Resolva o sistema Uq = y
zk ← q/|| q ||
λk ← zT
k Azk − σ
if | λk − λk−1 | < 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 x3 = (0, 5000, 0, 7071, 0, 5000)T
.
Se utilizarmos o algoritmo 6.5.3 com σ = 0, i.e. sem transla¸c˜ao da origem, a uma tolerˆancia
de 10−5
e vetor inicial z0 = (1, 0, 0)T
, necessitaremos de 7 itera¸c˜oes para obter a aproxima¸c˜ao
0, 5858 para o autovalor λ3 e (0, 5002, 0, 7071, 0, 4998)T
para o correspondente autovetor.
No entanto, se usarmos o transla¸c˜ao da origem, com σ = 0, 5, necessitamos apenas de 4
itera¸c˜oes para obter a mesma aproxima¸c˜ao; 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¸c˜oes; na verdade, σ = 0, 5 ´e a melhor escolha poss´ıvel, nesse
caso.
Outro exemplo mostra como usar o m´etodo da itera¸c˜ao inversa em conjunto com o teorema de
Gerschgorin, a fim de se determinar um autovalor espec´ıfico.
Exemplo 6.11 Seja a matriz
A =
5 2 1
2 3 1
1 1 1
Os discos de Gerschgorin s˜ao:
d1 : c1 = 5, r1 = 3
d2 : c2 = 3, r2 = 3
d3 : c3 = 1, r3 = 2
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 125
17. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Suponha que desejamos aproximar o menor autovalor; como o disco d3 ´e aquele que se encontra
mais `a esquerda em compara¸c˜ao aos demais, podemos utilizar o seu centro como fator de transla-
¸c˜ao. Ent˜ao, utilizamos o m´etodo da itera¸c˜ao inversa com σ = 1, vetor inicial z0 =
√
3
−1
(1, 1, 1)T
e tolerˆancia 10−5
e obtemos λ = 0, 5764 e z = (−0, 0597, −0, 3380, 0, 9393)T
ap´os 10 itera¸c˜oes.
Por outro lado, se tiv´essemos utilizado σ = c3 + r3, a convergˆencia para o mesmo autovalor seria
obtida em apenas 4 itera¸c˜oes.
6.5.4 O m´etodo da itera¸c˜ao inversa e o quociente de Rayleigh
Como visto no teorema 6.2.2, o valor do autovalor dominante λ1 de uma matriz real sim´etrica
´e o m´aximo do quociente de Rayleigh, dentre todos os vetores x = 0. Isso nos permite utilizar
a express˜ao (6.12) juntamente com o m´etodo da itera¸c˜ao inversa, conforme mostra o algoritmo
6.5.4.
Algoritmo 6.5.4 M´etodo da itera¸c˜ao inversa com transla¸c˜ao via
quociente de Rayleigh)
proc itera¸c˜ao inversa transla¸c˜ao(input: A, z0, , kmax;
output: λk, zk)
z0 ← z0/|| z0 ||
for k = 0, 1, . . ., kmax do
λk =
zT
k Azk
zT
k
zk
Resolva o sistema (A − λkI)q = zk
zk ← q/|| q ||
if || zk − zk−1 || < then
break
endif
endfor
endproc
Note que, no algoritmo 6.5.4, um sistema de equa¸c˜oes diferente ´e resolvido a cada itera¸c˜ao, j´a
que uma nova estimativa λk ´e utilizada a cada itera¸c˜ao. ´E poss´ıvel, no entanto, que o sistema
A − λkI seja singular e, nesse caso, o processo deve ser terminado.
6.6 Exerc´ıcios
Exerc´ıcio 6.1 Determine os autovalores e autovetores correspondentes da matriz
1 −1 −1
0 2 5
0 0 −1
.
Exerc´ıcio 6.2 Calcule o autovalor dominante de
10 9 8
3 5 6
7 2 −1
.
Exerc´ıcio 6.3 Calcule o autovalor dominante e o autovetor correspondente da matriz
6 2 1
2 3 1
1 1 1
,
usando o m´etodo da potˆencia, com z0 = (1, 1, 1)T
e tolerˆancia 10−5
.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 126
18. Introdu¸c˜ao ao C´alculo Num´erico Autovalores e Autovetores
Exerc´ıcio 6.4 Calcule o autovalor dominante e o autovetor correspondente da matriz
0 1 1
−1 0 1
−1 −1 0
,
usando o m´etodo da potˆencia, com z0 = (1, 1, 1)T
e tolerˆancia 10−5
.
Exerc´ıcio 6.5 Explique o que acontece com o m´etodo da potˆencia para a matriz
2 1 −1
1 2 −1
1 −1 2
,
com z0 = (1, 1, 1)T
e tolerˆancia 10−5
, sabendo que os seus autovalores s˜ao 1, 2 e 3. Repita para
z0 = (1, 0, 10−6
)T
.
Exerc´ıcio 6.6 Utilize o m´etodo da itera¸c˜ao inversa para calcular o menor autovalor da matriz
2 1 −1
1 2 −1
1 −1 2
,
com z0 = (1, 1, 1)T
e tolerˆancia 10−5
.
Exerc´ıcio 6.7 Seja a matriz
A =
5 2 1
2 3 1
1 1 1
Explique o que ocorre com o m´etodo da itera¸c˜ao inversa utilizado com σ = 3, z0 = (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