Algoritmos Num´
ericos II / Computa¸c˜
ao Cient´ıfica
Autovalores e Autovetores
Lucia Catabriga
11DI/UFES - Brazil
Ideia B´
asica
Se multiplicarmos a matriz por um autovetor encontramos um
multiplo do pr´
oprio autovetor, com constante de multiplicidade
conhecida por autovalor.
Seja
A =
16
−24
18
3
−2
0
−9
18
−17
o vetor
2
1
0
satisfaz a
16
−24
18
3
−2
0
−9
18
−17
2
1
0
= 4
2
1
0
Portanto
2
1
0
Polinˆ
omio Caracter´ıstico
Aq = λq ⇒ (A − I λ)q = 0
(16 − λ) −24 18 3 (−2 − λ) 0 −9 18 (−17 − λ) q1 q2 q3 = λ 0 0 0 que ´e um sistema homogˆeneo. Este sistema s´o tem solu¸c˜ao n˜ao-trivial (qi 6= 0) se a
matriz for singular, ou seja se o determinante for nulo.
det (16 − λ) −24 18 3 (−2 − λ) 0 −9 18 (−17 − λ) = 0 ⇔ λ3+ 3λ2− 36λ + 32 = 0 ou (λ − 4)(λ − 1)(λ + 8) = 0
que ´e denominado polinˆomio caracter´ıstico. Os autovalores da matriz A s˜ao λ = 4, λ = 1 e λ = −8.
Polinˆ
omio Caracter´ıstico
Em geral a equa¸c˜
ao Aq = λq pode ser representada pelo sistema
homogˆ
eneo (A − λI )q = 0. Se A ´
e uma matriz de ordem n o
sistema homogˆ
eneo tem solu¸c˜
ao n˜
ao-trivial se
det
(a
11− λ)
a
12. . .
a
1na
21(a
22− λ) . . .
a
2n..
.
..
.
. ..
..
.
a
n1a
n2. . .
(a
nn− λ)
= 0
O polinˆ
omio caracter´ıstico tem a forma geral:
λ
n+ c
n−1λ
n−1+ . . . + c
1λ + c
0= 0
Propriedades
I O produto dos autovalores da matriz ´e igual ao determinante da matriz detA = (−1)nc
0= λ1λ2. . . λn. Portanto se A ´e singular, existe pelo menos um
autovalor λi= 0
I A matriz A e sua transposta At tem os mesmos autovalores, pois o
detA = detAt.
I O determinante de uma matriz triangular ´e igual ao produto dos elementos da diagonal. Ent˜ao se A ´e triangular:
det(A − λI ) = (a11− λ)(a22− λ) . . . (ann− λ). Portanto os autovalores de uma
matriz triangular s˜ao iguais aos elementos da diagonal.
I Se as linhas e colunas correspondentes de uma matriz s˜ao trocadas os autovalores permanecem os mesmos. Por exemplo:
16 −24 18 3 −2 0 −9 18 −17 q1 q2 q3 = λ q1 q2 q3
Se trocarmos a linha 1 com a linha 2 e a coluna 1 com a coluna 2, obtemos: −2 3 0 −24 16 18 18 −9 −17 q2 q1 q3 = λ q2 q1 q3
observe que os autovalores permanecem os mesmos, mas ao autovetores tem a 1a. coordenada q1trocada com a segunda coordenada q2.
C´
alculo de Autovetores
O c´alculo dos autovetores associados envolvem a solu¸c˜ao de um sistema homogˆeneo. Para cada autovalor definimos um sistema de n equa¸c˜oes e n inc´ognitas
(A − λI )q = 0. Por exemplo, a matriz:
A = 16 −24 18 3 −2 0 −9 18 −17
tem por autovalores λ1= 4, λ2= 1 e λ3= −8. O autovetor associado a λ2= 1 ´e o
vetor q tq (A − λ2I )q = 0, ou seja 15 −24 18 3 −3 0 −9 18 −18 q1 q2 q3 = 0 0 0 ∼ 15 −24 18 0 1.8 −3.6 0 3.6 −7.2 q1 q2 q3 = 0 0 0
Ou seja, L3= 2L2e q1= q2= 2q3. Portanto qualquer vetor que possui esta
propriedade ´e autovetor associado ao autovalor λ = 1. Seja q = 2 2 1 .
´
E poss´ıvel combinar a equa¸
c˜
ao padr˜
ao dos autovalores com todos
os autovalores e correspondentes autovetores na forma:
A
q
1q
2. . .
q
n
=
q
1q
2. . .
q
n
λ
1λ
2. ..
λ
n
isto ´
e,
AQ = QΛ
onde Λ ´
e a matriz diagonal dos autovalores.
Q matriz quadrada contendo todos os autovetores.
M´
etodo da Potˆ
encia
I
O objetivo do m´
etodo das potˆ
encias ´
e determinar o autovalor
de maior m´
odulo dentre todos os autovalores de uma matriz.
I
Seja A uma matriz de ordem n e λ
1, λ
2, . . . , λ
nos autovalores
de A e q
1, q
2, . . . , q
nos autovetores correspondentes.
I
Suponha que |λ
1| > |λ
2| ≥ . . . ≥ |λ
n|. Seja u
(0)uma
combina¸c˜
ao linear dos autovetores correspondentes:
u
(0)= c
1q
1+ c
2q
2+ . . . + c
nq
n IOs autovetores s˜
ao linearmente independentes.
u
(1)=
Au
(0)=
c
1Aq
1+ c
2Aq
2+ . . . + c
nAq
n=
c
1λ
1q
1+ c
2λ
2q
2+ . . . + c
nλ
nq
n=
λ
1h
c
1q
1+ c
2λλ21q
2+ . . . + c
nλλn1q
ni
u
(2)=
A
2u
(0)=
λ
1h
c
1Aq
1+ c
2λλ21Aq
2+ . . . + c
nλλn1Aq
ni
=
λ
2 1c
1q
1+ c
2 λ2 λ1 2q
2+ . . . + c
n λn λ1 2q
nSe pr´
e-multiplicarmos a express˜
ao pela matriz A k-vezes obtemos:
u
(k)= A
ku
(0)= λ
k1"
c
1q
1+ c
2λ
2λ
1 kq
2+ . . . + c
nλ
nλ
1 kq
n#
Como |λ
1| > |λ
2| ≥ . . . ≥ |λ
n|, temos que
λi λ1< 1, para
i = 2, . . . , n. Portanto quando k → ∞ ,
λi λ1 k→ 0 para
i = 2, . . . , n.
Ent˜
ao, o vetor
"
c
1q
1+ c
2λ
2λ
1 kq
2+ . . . + c
nλ
nλ
1 kq
n#
→ c
1q
1que ´
e um autovetor associado a λ
1. Portanto podemos afirmar que
para valores grandes de k
u
(k)' λ
k1c
1q
1u
(k)tende a ser proporcional ao autovetor q
1. Considerando que o
autovetor pode ter tamanho arbitr´
ario (ou seja, um autovetor
multiplicado por um escalar tem o mesmo autovalor associado) ´
e
conveniente normalizar o vetor que gera o processo iterativo depois
de cada multiplica¸
c˜
ao. O algoritmo iterativo para determinar q
1pode ser representado atrav´
es das equa¸
c˜
oes:
O processo iterativo para determinar q
1pode ser representado
atrav´
es das equa¸
c˜
oes:
v
(k)= Au
(k)u
(k+1)=
1αv
(k)onde α = ± k v
(k)k
Seja u(0)= (1 1 1)(t) e a norma do m´aximo para obter o valor de α, temos: I Itera¸c˜ao 1 528.2 547.6 156.4 273.8 312.8 98.0 78.2 98.0 39.0 | {z } A 1 1 1 | {z } u(0) = 1232.1 684.6 215.3 | {z } v(0) = 1232.1 | {z } α 1 0.5556 0.1747 | {z } u(1) I Itera¸c˜ao 2 A 1 0.5556 0.1747 | {z } u(1) = 859.7 464.7 139.5 | {z } v(1) = 859.7 | {z } α 1 0.5406 0.1622 | {z } u(2) I Itera¸c˜ao 3 A 1 0.5406 0.1622 | {z } u(2) = 849.5 458.8 137.3 | {z } v(2) = 849.5 | {z } α 1 0.5400 0.1616 | {z } u(3) I Itera¸c˜ao 4 A 1 0.5400 0.1616 | {z } u(3) = 849.1 458.6 137.4 | {z } v(3) = 849.1 | {z } α 1 0.5400 0.1619 | {z } u(4) O autovetor ´e u(4)' q
Observa¸c˜
oes:
I Quando a norma do m´aximo ´e usada o sinal de α pode ser o mesmo do maior elemento em m´odulo. Neste caso α convergir´a para λ1at´e mesmo quando ele
for negativo, al´em disso a sequˆencia de vetores convergir´a normalmente para q1.
I E possivel observar que a convergˆ´ encia para o autovalor pode ser mais r´apida que a convergˆencia para o autovetor associado.
I Em geral, dependendo de cada aplica¸c˜ao, ´e poss´ıvel escolher uma aproxima¸c˜ao inicial para o autovetor associado ao autovalor de maior m´odulo atrav´es de algum crit´erio. Por´em, quando n˜ao existe alguma informa¸c˜ao, ´e necess´ario um cuidado especial para n˜ao escolher u(0)tal que o coeficiente c1seja nulo ou
muito pequeno quando comparado com os outros coeficientes.
I Para implementa¸c˜oes computacionais do m´etodo das potˆencias, a determina¸c˜ao do vetor inicial u(0)´e feita atrav´es de procedimentos autom´aticos. Um procedimento bastante usado consiste em gerar os elementos dos vetor atrav´es de n´umeros randˆomicos no intervalo −1 ≤ ui(0)≤ 1. Quando este processo ´e usado a probabilidade de ocorrer c1= 0 ´e bem pequena.
Caracter´ısticas da Convergˆ
encia do M´
etodo das Potˆ
encias
O autovetor u(k)pode ser expresso: u(k)= q1+ e(k)ondee(k)= λ2 λ1 kc 2 c1q2+ . . . + λn λ1 kc n c1qn
Por hip´otese temos que |λ1| > |λ2| ≥ . . . ≥ |λn|, portanto para valores grande de k o
erro pode ser aproximado por k e(k)k∼ λ2 λ1 (k) |c2| |c1| k q2k
Podemows supor que |c2| ∼ |c1|, o que nos d´a a possibilidade de estimar o n´umero de
itera¸c˜oes necess´arias para atingir uma tolerˆancia pr´e-fixada. Supor tolerˆancia de 10−s. O erro na itera¸c˜ao k depende do quociente
λ2 λ1 k , ent˜ao: λ2 λ1 k ' 10−s⇒ k ' −sln10 ln|λ2/λ1| Portanto se λ2 λ1
estiver pr´oximo de 1, o m´etodo das potˆencias converge
vagarosamente. ´E poss´ıvel acelerar a convergˆencia do m´etodo das potˆencias usando o Coeficiente de Rayleigh para normalizar o vetor v(k):
α =(u
(k))tAu(k)
(u(k))tu(k) =
(u(k))tv(k) (u(k))tu(k)
Algoritmo 1: M´
etodo das Potˆ
encias - vers˜
ao 1
1Entrada: A,v
(0),,k
max2
Inicializar ρ (ρ = 1.0)
3Inicializar λ
k(λ
k= 0.0)
4while ρ > and k < k
maxdo
5u = Av
(k) 6λ
k+1=
v (k)Tu v(k)Tv(k) 7v
(k+1)=
λu k+1 8ρ =
|λk+1|λ −λk| k+1|ou ρ = kv
(k+1)− v
(k)k
9k = k + 1
10end
11Sa´ıda: λ
k+1, v
(k+1)No entanto, podemos escalonar a sequˆ
encia v
(k), antes de calcular
o λ
k.
Para isso, seja y
(k)=
kuu(k)(k)k, ent˜
ao ky
(k)k = 1.
λ
k=
y
(k)TAy
(k)y
(k)Ty
(k)= y
Algoritmo 2: M´
etodo das Potˆ
encias - vers˜
ao 2
1Entrada: A,z
(0),,k
max2
Inicializar ρ (ρ = 1.0)
3Inicializar λ
k(λ
k= 0.0)
4while ρ > and k < k
maxdo
5
y
(k)=
v(k) kv(k)k 6z = Ay
(k) 7λ
k+1= y
(k)Tz
(k+1) 8ρ =
|λk+1|λ −λk| k+1|ou ρ = ky
(k)− y
(k−1)k
9k = k + 1
10end
11Sa´ıda: λ
k+1, y
(k+1)Introdu¸c˜
ao
I
Os m´
etodos de transforma¸c˜
ao tem por objetivo modificar a
matriz original em outra que contenha os mesmos autovalores,
sendo sua determina¸
c˜
ao trivial.
I
Por exemplo, transformando a matriz original em uma matriz
diagonal ou triangular – de forma que as matrizes tenham os
mesmos autovalores – os elementos da diagonal da matriz
resultante ser˜
ao os autovalores da matriz original.
Ideia B´
asica
As transforma¸c˜
oes mais gerais consistem em obter:
¯
A = N
−1AN
(1)
onde N ´
e uma matriz n˜
ao singular da mesma ordem que A. Seja λ
e q autovalor e autovetor correspondente, ent˜
ao:
Aq = λq
(2)
sendo ¯
q = N
−1q temos que:
¯
A¯
q
=
N
−1ANN
−1q = N
−1λq
=
λN
−1q = λ¯
q
(3)
I
Considerando um sequˆ
encia de transforma¸c˜
oes, temos:
¯
A = A
k+1= N
k−1N
−1 k−1. . . N
−1 2N
−1 1AN
1N
2. . . N
k−1N
k(4)
sendo ¯
A uma matriz diagonal ou triangular.
I
Os autovalores de A ser˜
ao os elementos da diagonal de A
k+1.
ISendo λ
j= ¯
a
jjautovalor, o autovetor correspondente ser´
a a
I
Para matrizes sim´
etricas, as transforma¸
c˜
oes podem ser feitas
por matrizes ortogonais, ou seja,
N
−1= N
t, portanto ¯
A = N
tAN
(5)
Se λ e q s˜
ao autovalor e autovetor correspondentes de A,
ent˜
ao λ e N
tq s˜
ao autovalor e autovetor correspondentes de
¯
A.
I
Em geral, os m´
etodos de transforma¸
c˜
ao s˜
ao processos
iterativos, sendo portanto dependentes de condi¸
c˜
oes de
convergˆ
encia.
Diagonaliza¸c˜
ao de Jacobi para Matrizes sim´
etricas
I
M´
etodo baseado em transforma¸
c˜
oes orgogonais;
I
Cada transforma¸
c˜
ao tem por objetivo eliminar um par de
coeficientes;
I
N˜
ao h´
a garantias que na pr´
oxima transforma¸c˜
ao os
coeficientes anulados, permanecer˜
ao nulos.
I
Os erros de arredondamento podem influenciar o resultado,
uma vez que o n´
umero de opera¸
c˜
oes de ponto flutuante
necess´
ario ´
e grande.
suponha uma matriz de rota¸c˜
ao N
pqdefinida por:
N
pq=
p
q
1
c
−s
p
1
s
c
q
1
(6)
onde,
c =
cosα
s =
senα
(7)
sendo α o ˆ
angulo de rota¸
c˜
ao. A opera¸
c˜
ao N
tpq
AN
pq, altera apenas as
A cada itera¸
c˜
ao i o elemento a
pqser´
a eliminado seguindo os seguintes
passos:
1.
Calcular:
φ
=
a
qq− a
pp2a
pq(8)
t
=
1 φ+sinal (φ)√
φ2+1, se φ 6= 0;
1 se φ = 0.,
(9)
cosα
=
√
1
1 + t
2(10)
senα
=
√
t
1 + t
2(11)
2.
A
k+1= N
pqtAN
pqM´
etodo C´ıclico ce Jacobi
I
A escolha de qual elemento ser´
a eliminado ´
e um importante passo
para a convergˆ
encia do m´
etodo de Jacobi.
I
Uma alternativa ´
e percorrer ciclicamente os elementos de fora da
diagonal principal por linha;
I
Definir (p, q) sequencialmente por: (1, 2), (1, 3), ..., (1, n), (2, 3),
..., (2, n), ..., (n − 1, n).
I
Al´
em disso, como os elementos de um ciclo a outro tendem a
descrecer, podemos utilizar um crit´
erio para escolher eliminar ou
n˜
ao uma determinada posi¸
c˜
ao de acordo com um crit´
erio de
tolerˆ
ancia. Por exemplo a cada passo eliminar somente os
coeficientes tais que |a
pq| < ρ
010
−(c−1). Sendo, ρ
0uma tolerˆ
ancia
Determine os autovalores e autovetores, com tolerˆ
ancia
= 5 × 10
−2
e ρ
0
= 0.5
A =
3
0.4
5
0.4
4
0.1
5
0.1
−2
1
oCiclo:
|a
12| < 0.5 ⇒ a transforma¸c˜
ao sobre o elemento (1, 2) ser´
a omitida.
|a
13| > 0.5 ⇒ a transforma¸c˜
ao sobre o elemento (1, 3) ser´
a dada por:
N
1=
0.8507
0
−0.5257
0
1
0
0.5257
0
0.8507
⇒ A
2=
6.9202
0.3928
0
0.3928
4
−0.1252
0
−0.1252
−5.0902
|a
12| > 0.05 ⇒ a transforma¸c˜
ao sobre o elemento (1, 2) ser´
a dada por:
N
2=
0.9839
−0.1788
0
−0.1788
0.9839
0
0
0
1
⇒ A
3=
6.1616
0
−0.0224
0
3.9289
−0.1232
−0.0224
−0.1232
−5.0902
|a
13| < 0.05 ⇒ a transforma¸c˜
ao sobre o elemento (1, 3) ser´
a omitida.
|a
23| < 0.05 ⇒ a transforma¸c˜
ao sobre o elemento (2, 3) ser´
a dada por:
N
3=
1
0
0
0
0.9999
0.0137
0
−0.0137
0.9999
⇒ A
4=
6.1616
0.0003
−0.0224
0.0003
3.9303
0
−0.0224
0
−5.0919
6.1616, 3.9303 e −5.0919 s˜
ao autovalores e autovetores correspondentes
iguais as colunas de:
N
1N
2N
3=
0.8370
−0.1449
−0.5277
0.1788
0.9838
0.0135
0.5172
−0.1056
0.8439
M´
etodo LR
I
Determina todos os autovalores de uma matriz;
I
O m´
etodo consiste em construir uma sequˆ
encia de matrizes
A
1, A
2, . . . , A
kde tal forma que a matriz A
kseja aproximamente
triangular superior, sendo que os autovalores de A e A
ks˜
ao os
elementos da diagonal de A
k.
I
A cada itera¸
c˜
ao k, fatoramos A
k= L
kR
k, sendo L
ke R
k,
respectivamente, matriz triangular inferior com 1 na diagonal e
matriz triangular superior. A itera¸c˜
ao k + 1 deve ser calculada por,
A
k+1= R
kL
k.
Assim,
A
1=
A =
L
1R
1A
2=
R
1L
1=
L
2R
2A
3=
R
2L
2=
L
2R
2..
.
A
k=
R
k−1L
k−1=
L
kR
k..
.
(12)
Observa¸
c˜
oes:
I
Pode-se provar que: Se os autovalores de A s˜
ao distintos, a
sequˆ
encia {A
k+1} converge para uma matriz triangular superior R.
I
A matriz R tem os mesmos autovalores de A.
A
k= R
k−1L
k−1= L
−1k−1. . . L
−11AL
1. . . L
kM´
etodo QR
I
Determina todos os autovalores de uma matriz;
I
O m´
etodo consiste em construir uma sequˆ
encia de matrizes
A
1, A
2, . . . , A
kde tal forma que a matriz A
kseja aproximamente
triangular superior, sendo que os autovalores de A e A
ks˜
ao os
elementos da diagonal de A
k.
I
A cada itera¸
c˜
ao k, decompomos A
k= Q
kR
k, sendo Q
kuma matriz
ortogonal e R
kuma matriz triangular superior. A itera¸
c˜
ao k + 1
Assim,
A
1=
A =
Q
1R
1A
2=
R
1Q
1=
Q
2R
2A
3=
R
2Q
2=
Q
2R
2..
.
A
k=
R
k−1Q
k−1=
Q
kR
k..
.
(13)
Observa¸
c˜
oes:
I
Pode-se provar que: Se os autovalores de A s˜
ao distintos, a
sequˆ
encia {A
k+1} converge para uma matriz triangular superior R.
I
A matriz R tem os mesmos autovalores de A.
A
k= R
k−1Q
k−1= Q
k−1−1. . . Q
1−1AQ
1. . . Q
kEm cada passo do m´
etodo QR, devemos determinar matrizes Q
ke R
k,
sendo Q
kmatriz ortogonal e R
kmatriz triangular superior. Esta
decomposi¸
c˜
ao pode ser obtida utilizando transforma¸
c˜
oes ortogonais,
como por exemplo Rota¸c˜
oes de Givens que podem ser sumarizadas por:
para zerar os elementos abaixo da diagonal na coluna j , vamos executar
rota¸c˜
oes de Givens da linha j + 1 at´
e a linha n, considerando a matriz
ortogonal N
pqdada por:
N
pq=
p
q
1
c
s
p
1
−s
c
q
1
c =
q
a
ppa
2 pp+ a
2qps =
q
a
qpa
2 pp+ a
2qpA matriz Q
krespons´
avel por zerar os coeficientes abaixo da diagonal na
coluna j ´
e dada por:
Q
k= N
j +1,jtN
t j +2,jN
t j +3,j. . . N
t n,jRedu¸c˜
ao a Forma de Hessemberg
I
O processo termina quando o elemento de maior valor absoluto da
matriz A
kabaixo da diagonal for menor que uma tolerˆ
ancia
pr´
e-fixada.
I
Para matrizes de ordem elevada, o m´
etodo QR tende a ter uma
convergˆ
encia lenta. Para acelerar o processo ´
e utilizado estrat´
egias
para transformar a matriz original A em uma matriz com
caracter´ısticas especiais.
I
A forma de Hessemberg superior consiste em uma matriz triangular
com a subdiagonal inferior com elementos tamb´
em n˜
ao nulos.
I
A redu¸
c˜
ao est´
a baseada na utiliza¸
c˜
ao de opera¸
c˜
oes elementares,
organizadas por coluna em n − 2 etapas:
A
n−1= N
n−2−1. . . N
−1 2N
−1
1
AN
1N
2. . . N
n−2sendo N
jmatriz elementar.
M´
etodo da Itera¸c˜
ao Inversa
Seja λ autovalor aproximado de A. Desejamos obter q tal que:
Aq = λq. Considere z
(0)um vetor condi¸c˜
ao inicial para o c´
alculo
do autovetor correspondente. Define-se duas sequˆ
encias {w
(m)} e
{z
(m)} tq
(A − λI )w
(m+1)= z
(m)e z
(m+1)=
w
(m+1)kw
(m+1)k
p/ m ≥ 0
O processo que acabamos de apresentar ´
e essencialmente o
M´
etodo das potˆ
encias aplicado a matriz (A − λI )
−1.
Algoritmo 3: M´
etodo da Itera¸
c˜
ao Inversa
1 Entrada: A,λ,,maxiter2 Calcula os fatores L, U e P de (A − λI ) (Controlar singularidade de U)
3 Define q inicial (usar fun¸c˜ao randˆomica)
4 qa= Lq 5 ρ = kq − qak2 6 k = 0
7 while ρ > and k < maxiter do
8 Resolva Ly = Pqa 9 Resolva Uv = y 10 q =kv kv 2 11 ρ = kq − qak2 12 qa= q 13 k = k + 1 14 end 15 Sa´ıda: q, k