Você está na página 1de 17

Autovalores e Autovetores

Lucia Catabriga
Algoritmos Numericos II
Computacao Cientfica
Universidade Federal do Esprito Santo
10 de junho de 2014

Resumo
Este texto tem por objetivo introduzir os conceitos basicos para o calculo
aproximado de autovalores e autovetores dentro do contexto da disciplina
A;goritmos Numericos II do Departamento de Informatica da Universidade
Federal do Esprito Santo (DI/UFES). N
ao e um texto completo, apenas
introdutorio, detalhes devem ser consultados em ?? .

Captulo 1

Introduc
ao
Neste captulo estudaremos metodos numericos para encontrar autovalores
e autovetores de matrizes com coeficientes reais. Os autovalores e correspondentes autovetores de uma matriz satisfazem a propriedade:
Se multiplicarmos a matriz por um autovetor encontramos um multiplo
do pr
oprio autovetor, com constante de multiplicidade conhecida por autovalor.
Seja

16 24
18
0
A = 3 2
9
18 17

2
o vetor 1 satisfaz a
0


2
2
16 24
18
3 2
0 1 = 4 1
0
0
9
18 17

2
Portanto 1 e autovetor com autovalor correspondente igual a 4.
0
Como o autovetor foi pre-multiplicado pela matriz e conhecido como
autovetor direito. A equacao algebrica para o autovalor e correspondente
autovetor direito q de uma matriz A e:

Aq = q
observe que esta equacao s
o tem sentido para matrizes quadradas, portanto
somente tais matrizes possuem autovalores.

Um metodo para encontrar os autovalores de uma matriz A pode ser


ilustrado atraves da matriz do exemplo anterior.

q1
q1
16 24
18
3 2
0 q2 = q2
q3
q3
9
18 17

que pode ser escrito na forma

q1
0
(16 )
24
18

3 (2 )
0 q2 = 0
q3
0
9
18 (17 )

que e um sistema homogeneo. Este sistema s


o tem solucao nao-trivial (qi 6=
0) se a matriz for singular, ou seja se o determinante for nulo.

(16 )
24
18
3 (2 )
0 = 0 3 + 32 36 + 32 = 0
det
9
18 (17 )

ou

( 4)( 1)( + 8) = 0
que e denominada equacao caracteristica. Os autovalores da matriz A s
ao
= 4, = 1 e = 8.
Em geral a equacao Aq = q pode ser representada pelo sistema homogeneo (AI)q = 0. Se A e uma matriz de ordem n o sistema homogeneo
tem solucao nao-trivial se

(a11 )
a12 . . .
a1n

a21 (a22 ) . . .
a2n

det
..
.. = 0
.. . .

.
.
.
.
an1

an2 . . . (ann )

A equacao caracteristica tem a forma geral:

n + cn1 n1 + . . . + c1 + c0 = 0
O metodo da equacao caracterstica nao e um bom processo numerico
para determinar os autovalores de uma matriz. O n
umero de operacoes necess
arias para obter os coeficientes da equacao caracterstica e muito grande.
Nos proximos itens desenvolveremos processos mais eficientes para determinar os autovalores.
Diversas aplicacoes recaem em problemas de autovalores, tais como:
Flambagem de uma coluna
2

Vibracao de estruturas
Vibracoes amortecidas
Cadeias de Markov
No final deste captulo desenvolveremos algumas aplicacoes citadas. Estas
aplicacoes nos levaram a determinar autovalores e autovetores de matrizes
que apresentam caractersticas especiais, por exemplo matrizes tridiagonais.
Na proxima secao apresentamos algumas propriedades importantes de autovalores e autovetores que serao usadas no desenvolvimento numerico.

1.1

Algumas Propriedades de Autovalores

1. A equacao caracterstica pode ser fatorada na forma:


( 1 )( 2 ) . . . ( n ) = 0
Esta equacao mostra que uma matriz de ordem n tem n autovalores .
Porem os autovalores nao s
ao necessariamente distintos (por exemplo,
podemos ter 1 = 2 = n1 ).
2. A soma dos elementos da diagonal principal da matriz e chamada
traco. Sendo que:
tr(A) = a11 + a22 + . . . + ann = cn1 = 1 + 2 + . . . + n
ou seja:
A soma dos autovalores de uma matriz e igual ao traco da matriz
3. O produto dos autovalores da matriz e igual ao determinante da matriz
detA = (1)n c0 = 1 2 . . . n
Portanto se A e singular, existe pelo menos um autovalor i = 0
4. A matriz A e sua transposta At tem os mesmos autovalores, pois o
detA = detAt .
5. O determinante de uma matriz triangular e igual ao produto dos elementos da diagonal. Entao se A e triangular:
det(A I) = (a11 )(a22 ) . . . (ann )
Portanto os autovalores de uma matriz triangular s
ao iguais aos elementos da diagonal.

6. Se as linhas e colunas correspondentes de uma matriz s


ao trocadas os
autovalores permanecem os mesmos. Por exemplo:

q1
q1
16 24
18
3 2
0 q2 = q2
q3
q3
9
18 17

Se trocarmos a linha 1 com a linha 2 e a coluna 1 com a coluna 2,


obtemos:

q2
q2
2
3
0
24 16
18 q1 = q1
q3
q3
18 9 17

observe que os autovalores permanecem os mesmos, mas ao autovetores


tem a 1a. coordenada q1 trocada com a segunda coordenada q2 .

7. Considere uma matriz A 4x4 e um autovalor . Multiplicando a segunda linha de A por f, a segunda coluna de A por 1/f e a segunda
componente de q por f, obtemos:

q1
a11 a12 /f
a13
a14

f a21
a22 f a23 f a24 f q2

a31 a32 /f
a33
a34 q3
q4
a41 a42 /f
a43
a44

q1

= f q2

q3
q4

Portanto se uma linha de uma matriz e multiplicada por um escalar


e a coluna correpondente e multiplicada pelo inverso do escalar os
autovalores permanecem os mesmos.
O calculo dos autovetores associados envolvem a solucao de um sistema
homogeneo. Para cada autovalor definimos um sistema de n equacoes e n
incognitas
(A I)q = 0
Por exemplo:
A matriz

16 24
18
0
A = 3 2
9
18 17

tem por autovalores 1 = 4, 2 = 1 e 3 =


1 = 1 e o vetor q tq (A I)q = 0, ou seja

q1
15 24
18
3 3
0 q2 =
q3
9
18 18

8. O autovetor associado a

0
0 m21 = 0.2
m31 = 0.6
0

0
q1
15 24
18
0 1.8 3.6 q2 = 0 L3 = 2L2
q3
0
0 3.6 7.2

Considerando somente L1 e L2 , chegamos a:


q1 = q2 = 2q3

Portanto qualquer vetor que possui esta propriedade e autovetor associado


ao autovalor
= 1.
2

Seja q = 2 .
1
Para encontrar cada autovetor s
ao necessarios n3 /3 multiplicacoes se a
matriz dos coeficientes for cheia e nao simetrica. Portanto a determinacao
dos autovetores nao e considerado um processo numerico trivial, mesmo
quando os autovalores s
ao conhecidos.
possvel combinar a equacao padr
E
ao dos autovalores com todos os
autovalores e correspondentes autovetores na forma:

2
q1 q2 . . . qn q1 q2 . . . qn

..

.
n
isto e,

AQ = Q
onde e a matriz diagonal dos autovalores.
Q matriz quadrada contendo todos os autovetores.

Captulo 2

M
etodos Iterativos Simples
2.1

M
etodo Das Pot
encias

O objetivo do metodo das potencias e determinar o autovalor de maior


m
odulo dentre todos os autovalores de uma matriz.
Seja A uma matriz de ordem n.
Sejam 1 , 2 , . . . , n os autovalores de A e q1 , q2 , . . . , qn os autovetores
correspondentes.
Suponha que |1 | > |2 | . . . |n |. Vamos desenvolver um processo
iterativo para determinar 1 .
Seja u(0) uma combinacao linear dos autovetores correspondentes:
u(0) = c1 q1 + c2 q2 + . . . + cn qn
Os autovetores s
ao linearmente independentes.
u(1) =

Au(0)

u(2) = A2 u(0)

= c1 Aq1 + c2 Aq2 + . . . + cn Aqn


= c1 h1 q1 + c2 2 q2 + . . . + cn n qn i
= 1 c1 q1 + c2 21 q2 + . . . + cn n1 qn
i
h
= 1 c1 Aq1 + c2 12 Aq2 + . . . + cn n1 Aqn

 2
 2 
2
2
= 1 c1 q1 + c2 1 q2 + . . . + cn n1 qn

Se pre-multiplicarmos a expressao pela matriz A k-vezes obtemos:


"

u(k) = Ak u(0) = k1 c1 q1 + c2

2
1

k

q2 + . . . + c n

n
1

k

qn



Como |1 | > |2 | . . . |n |, temos que 1i < 1, para i = 2, . . . , n.
 k
Portanto quando k 1i
0 para i = 2, . . . , n.
6

Entao, o vetor
"

c 1 q1 + c 2

2
1

k

q2 + . . . + c n

n
1

k

qn c 1 q1

que e um autovetor associado a 1 . Portanto podemos afirmar que para


valores grandes de k
u(k) k1 c1 q1
u(k) tende a ser proporcional ao autovetor q1 . 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 multiplicacao. O algoritmo
iterativo para determinar q1 pode ser representado atraves das equacoes:
(k)
v = Au(k)
u(k+1) = 1 v (k)

onde = k v (k) k

Exemplo: Considere a matriz

528.2 547.6 156.4


A = 273.8 312.8 98.0
78.2 98.0 39.0

Seja u(0) = (1 1 1)(t) e considere a norma do m


aximo para obter o valor
de .
Iteracao 1

1
1232.1
1
528.2 547.6 156.4
273.8 312.8 98.0 1 = 684.6 = 1232.1 0.5556
| {z }
0.1747
215.3
1
78.2 98.0 39.0

|
|
{z
} | {z } |
{z
}
{z
}
A

Iteracao 2

Iteracao 3

u(0)

v (0)

859.7
1
1
0.5556 = 464.7 = 859.7 0.5406
| {z }
139.5
0.1747
0.1622

{z
} | {z }
{z
}
|
|

u(1)

u(1)

v (1)

u(2)

1
1
849.5
0.5406 = 458.8 = 849.5 0.5400
| {z }
0.1622
0.1616
137.3

|
|
{z
} | {z }
{z
}

u(2)

v (2)

u(3)

Iteracao 4

849.1
1
1
0.5400 = 458.6 = 849.1 0.5400
| {z }
137.4
0.1616
0.1619

{z
} | {z }
{z
}
|
|

u(3)

v (3)

u(4)

O autovetor aproximado e u(4) q1 com erro inferior a 103 . O autovetor


correspondente e 1 849.1.
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 1 ate mesmo
quando ele for negativo, alem disso a sequencia de vetores convergir
a normalmente para q1 .
Exemplo:
Encontre o maior autovalor da matriz

16 24
18
0
A = 3 2
9
18 17

usando u(0) = (1 1 1)(t) e norma do m


aximo para obter o valor de . Faca
algumas iteracoes.
Ap
os construir algumas iteracoes e possivel observar que a convergencia
para o autovalor pode ser mais rapida que a convergencia para o autovetor
associado.
Em geral, dependendo de cada aplicacao, e possvel escolher uma aproximacao inicial para o autovetor associado ao autovalor de maior m
odulo
atraves de algum criterio. Porem, quando nao existe alguma informacao, e
necessario um cuidado especial para nao escolher u(0) tal que o coeficiente c1
seja nulo ou muito pequeno quando comparado com os outros coeficientes.
Para implementacoes computacionais do metodo das potencias, a determinacao do vetor inicial u(0) e feita atraves de procedimentos automaticos.
Um procedimento bastante usado consiste em gerar os elementos dos vetor
(0)
atraves de n
umeros rand
omicos no intervalo 1 ui 1. Quando este
processo e usado a probabilidade de ocorrer c1 = 0 e bem pequena.

2.1.1

Caractersticas da Converg
encia do M
etodo das Pot
encias

O autovetor u(k) pode ser expresso:


u(k) = q1 + e(k)
onde
e

(k)

2
1

k

c2
q2 + . . . +
c1
8

n
1

k

cn
qn
c1

Por hip
otese temos que |1 | > |2 | . . . |n |, portanto para valores
grande de k o erro pode ser aproximado por
ke

(k)

(k)
2 |c2 |
k q2 k
k
1
|c1 |

possivel provar que |c2 | |c1 |.


E
Atraves desta aproximacao e possvel estimar o n
umero de iteracoes necess
arias para atingir uma toler
ancia pre-fixada. Para exemplificar, suponha
que desejamos calcular os autovalores de uma matriz com toler
ancia de 10s .
k

Como ja foi mostrado o erro na iteracao k depende do quociente 12 , entao:
k
2
10s
1

sln10
ln|2 /1 |



Portanto se 21 estiver proximo de 1, o metodo das potencias converge
vagarosamente.
possvel acelerar a convergencia do metodo das potencias. Nota-se que
E
o uso da Norma Euclidiana no metodo para normalizar os autovetores e
determinar os autovalores correspondentes aceleram a convergencia, principalmente no caso de matrizes simetricas. Porem este processo nao estabelece
um criterio simples para a escolha do sinal de . Em geral, adota-se que o
sinal de deve ser tal que as componentes do autovetor de uma iteracao
a outra permanecam com o mesmo sinal. Outro processo similar a norma
euclidiana para matrizes simetricas em termos de precisao e usar o Coeficiente de Rayleigh para normalizar o vetor v (k) :
=

(u(k) )t Au(k)
(u(k) )t v (k)
=
(u(k) )t u(k)
(u(k) )t u(k)

Apesar da precisao deste criterio ser similar a da norma euclidiana, nao


existe o incoveniente da escolha do sinal.
Portanto poderiamos definir o seguinte algoritmo:

Algoritmo 1: Metodo da Iteracao Inversa


1
2
3
4
5
6

Entrada: A,v (0) ,,kmax


Inicializar ( = 1.0)
Inicializar k (k = 0.0)
while > and k < kmax do
u = Av (k)
Resolva U v = y
T

v (k) u

k+1 =

v (k+1) =

10
11
12

T
v (k) v (k)

u
k+1
|k+1 k |
|k+1 |

k =k+1
end
Sada: k+1 , v (k+1)

No entanto, podemos escalonar a sequencia v (k) , antes de calcular o k .


(k)
Para isso, seja y (k) = kuu(k) k , entao ky (k) k = 1.
T

Ay (k) k y (k)

k =

y (k) Ay (k)
T
y (k) y (k)

= y (k) u(k+1)

Exemplo:
Considere a Matriz simetrica

2 1

1
2 1

A=

1
2 1
1
2

O autovalor de maior m
odulo calculado pelo metodo das potencias e
= 2.61803. A tabela abaixo mostra a toler
ancia atingida para algumas
iteracoes, demonstrando que o uso da norma euclidiana e/ou do coeficiente
de Rayleigh acelera moderadamente a convergencia. Para tal, Considere
(k)
(k1) k
u(0) = {1, 1, 1, 1} e criterio de parada ku kuu
< .
(k) k

N. M
aximo
N. Euclidiana
C. de Rayleigh

2.2

4 iteracoes
1.538 102
1.124 102
1.124 102

6 iteracoes
3.305 104
2.391 104
2.391 104

8 iteracoes
7.035 105
5.091 106
5.091 106

10 iteracoes
1.498 107
1.083 107
1.083 107

M
etodo da Pot
encia Inversa

O metodo da potencia inversa e usado para determinar o autovalor de menor


valor absoluto e seu correspondente autovalor de uma matriz A. De forma
10

semelhante ao metodo das potencias, o metodo e u


til para determinar o
menor autovalor em m
odulo, desde que o mesmo esteja bem separado dos
demais, isto e, seja menor que todos os outros e nao muito proximo do
segundo menor. Considerando que |1 | |2 | . . . |n1 | > |n |,
desejamos calcular |n |. Sabemos que se e autovalor de A, 1 e autovalor
de A1 . Portanto se n e o menor autovalor em m
odulo de A, 1
e o maior
n
1
autovalor de A em m
odulo. Assim, dado

2.3

M
etodo da Sequ
encia de Sturm

Em geral a solucao numerica de um problema de autovalor n


ao envolve a
determinacao do polin
omio caracterstico, pois o caculo do mesmo necessita
de muitas operacoes o que e envi
avel computacionalmente. Porem para
matrizes tridiagonais simetricas e possvel obter o polin
omio caracterstico
atraves de um processo simplificado.
Seja A uma matriz tridiagonal de ordem n:

1 1

1 2 2

2 3
2

A=

..
..
..

.
.
.

n2 n1 n1
n1 n
Considere a sequencia formada por

1 1
1 2
2

.
.
..
..
..
fk () = det
.

k2 k1 k1
k1 k

para 1 k n e f0 () 1.
Assim
f1 () = 1
f2 () = (1 )f1 () 12 f0 ()
..
.

2 f
fk () = (k )fk1 () k1
k2 ()

O processo descrito para obter o polin


omio caracterstico fn () requer
2n 3 multiplicacoes. Podemos entao considerar qualquer metodo numerico
para encontrar os zeros do polin
omio caracterstico. Porem a sequencia
{fk (), 1 k n} possui propriedades especiais e por isso e denominada
por sequencia de Sturm. Tais propriedades nos levar
ao a isolar facilmente
os autovalores de A.
11

Propriedade da Sequ
encia de Sturm: Seja a funcao de valores inteiros
s() que guarda o n
umero de trocas de sinal de membros consecutivos da
sequencia {fk ()}. Dado um intervalo [a, b], o n
umero de razes da equacao
fn () = 0 (ou o n
umero de autovalores de A) no intervalo [a, b] e igual a
|s(a) s(b)|. Se algum membro e nulo, ou seja, suponha que fj () = 0.
Neste caso, observa-se a troca de sinal entre os membros fj1 () e fj+1 (),
pois se fj () = 0 entao fj1 () 6= 0.
possivel determinar o intervalo que contenha os autovalores de uma
E
matriz. Suponha uma matriz A de ordem n. Seja um autovalor e q um
autovetor correspondente, portanto
Aq = q
suponha que o autovetor esta normalizado, ou seja, existe uma componente
qk = 1 e |qi | < 1 para i 6= k, assim:

q1
q1

... ...
q2
q2

... ...

..
..

.
.

ak1 ak2 . . . akk . . . akn 1 = 1

..

..
.
.

... ...
qn
qn
O produto da linha k com o vetor q gera a equacao:

ak1 q1 + ak2 q2 + . . . + akk + . . . + akn =


Portanto
akk =

akj qj

j6=k

como |qj | < 1


| akk |

|akj |

j6=k

O intervalo que contem todos os autovalores e formado pela uni


ao de
todos os intervalos definidos na expressao anterior, ou seja para todo k.
Exemplo:
A Sequencia de Sturm da matriz

2 1
2 1
A = 1
1
2

e dada por

12

f0 () = 1
f1 () = (2 )
f2 () = (2 )f1 () 1
f3 () = (2 )f2 () f1 ()
O intervalo que contem todos os autovalores e dado pela uni
ao dos intervalos:
| 2| 1
| 2| 2
| 2| 1
Todos os autovalores de A estao no intervalo [0,4]. Observe que f3 (2) = 0,
portanto = 2 e autovalor da matriz A. Na tabela a seguir calculamos um
autovalor de A no intervalo (2,4), usando a propriedade de Sturm. O processo consiste inicialmente em observar o n
umero de trocas de sinal que
ocorre no intervalo [2,4], que e igual a 2 (sendo que = 2 e autovalor. Este
fato, significa que existe somente um autovalor no intervalo (2,4). O processo iterativo deve continuar sempre particionando o intervalo que contem
o autovalor ao meio ate que uma determinada toler
ancia pre-fixada seja
atingida.

2
4
3
3.5
3.25
3.375
3.4375
3.40625
3.421875
3.4140625
3.4179688
3.4142968

2.4

f0
+
+
+
+
+
+
+
+
+
+
+
+

f1
0
-

f2
+
0
+
+
+
+
+
+
+
+
+

f3
0
- 4.0
+ 1.0
- 0.375
+ 0.546875
+ 0.1503906
- 0.0954589
+ 0.0315856
- 0.0621452
+ 0.0006041
- 0.0150806
- 0.0003333

No. trocas de sinal


1
3
2
3
2
2
3
2
3
2
3
3

M
etodo da Itera
c
ao Inversa

Seja Q a matriz que contem em cada coluna os autovetores de A e a matriz


diagonal contendo os autovalores correspondentes:
AQ = Q
onde

13

q1 q2 . . . qn

Q=

Em particular
Aqi = i qi

2
..

.
n

p/ i = 1, 2, . . . , n

Sem perda de generalidades, pode-se assumir que k qi k = 1 i.


Seja uma aproximacao de um autovalor k . Considere z (0) um vetor condicao inicial para o calculo do autovalor correspondente (ou k ).
Define-se duas sequencias {w(m) } e {z (m) } tq
(A I)w(m+1) = z (m) e z (m+1) =

w(m+1)
p/ m 0
k w(m+1) k

O processo que acabamos de apresentar e essencialmente o Metodo das


potencias aplicado a matriz (A I)1 . Porem a matriz (A I) e malcondicionada, pois
det(A k I) = 0 sendo

O processo de obtencao do autovalor ( k ) causa o ac


umulo de erros
de arredondamento na matriz (Ak I), o que leva a concluir que estes erros
possivel estudar com cautela este fato, porem
equilibram a instabilidade. E
neste texto nao aprofundaremos esta discuss
ao. O vetor z (m) gerado pelas
sequencias descritas converge para o autovetor correspondente de k .

2.4.1

Implementa
c
ao do M
etodo

A fatoracao LU sera usada para decompor a matriz (A I) e resolver o


sistema (A I)w(m+1) = z (m) . Portanto dado uma aproximacao z (m) :
LU w(m+1) = z (m)
w(m+1)

p/ m 0
(m+1)
(m)
Ly
= z
k w(m+1) k
U z (m+1)
= y (m+1)
Como (A I) e quase singular, o u
ltimo elemento da diagonal de U
pode ser bem pequeno. Caso seja nulo, e possvel executar uma pequena
alteracao no seu valor ou alterar o valor aproximado e recalcular L e U .
Este procedimento, em geral oferece bons resultados.

14

A condicao inicial z (0) , a princpio, poderia ser um vetor com n


umeros
rand
omicos de -1 a 1. Porem demonstra-se que o seguinte procedimento leva
a melhores resultados:

1
1

z (0) = Le onde e = .
..
1

Assim

y (1) = e U w(1) = e
z (m+1) =

w(m+1)
k w(m+1) k

onde
Ly (m+1) = z (m)

U w(m+1) = y (m)

Exemplo 1:
A matriz

2 1
A = 1 3 1 tem por autovalor = 1.2679
1 4

0.7321
1

1
1.7321
1
A 1.2679I =
1
2.7321

0.7321
1.0
1.0
LU = 1.3659 0.3662
2.7307 0.0014

z (0) = Le y (1)

y (2)

y (3)

1
1
..
.
1

1.0
2661.9365

w(1) = 1947.8037 z (1) = 0.7317

0.2683
714.2857

1.0
15984.869
1.0
= 2.0976 w(2) = 11701.523 z (2) = 0.7320
0.2679
4283.000
5.9962

1.0
15986.031
1.0
= 2.0979 w(3) = 11702.373 z (3) = 0.7320
0.2679
4283.3111
5.9966

Norma de k z (3) z (2) k= 0.

15