Você está na página 1de 35

Métodos Numéricos I

Tema 5. Aproximação de Autovalores


e Autovetores.

Prof. Dany S. Dominguez


dsdominguez@gmail.br
Sala 1 – NBCGIB
(73) 3680 5212 – ramal 30
ROTEIRO
• Introdução
• Autovalores e autovetores
– Definição
– Exemplos
– Raio espectral e teorema de Gersgorin
• Método da potencia
– Fundamentos
– Algoritmo
– Velocidade de convergência
• Comentários finais
Introdução
• Autovalores e autovetores aparecem em diversas
aplicações de ciências e engenharias
– Mecânica quântica
– Processamento de imagens
– Análises de vibrações
– Mecânica dos solidos
– Engenharia nuclear
– Resolução de EDOs

• Em inglês: eigenvalue e eigenvector


– Prefixo eigen (alemão) = próprio característico
Autovalores e autovetores
• Uma matriz quadrada A mapeia o conjunto de
vetores de dimensão n em se mesmo
• Existe um conjunto de vetores x paralelos a Ax pelo
tanto
Ax   x
• onde λ é uma constante
• Podemos escrever o sistema anterior como
 A  I  x  0
• e temos um sistema homogêneo, onde
– x é o vetor nulo se det(A-λI) ≠ 0
– x é um vetor não nulo se det(A-λI) = 0
Autovalores e autovetores
• Define-se o polinômio característico da matriz A
p     det  A   I 

• Definição: Se p for o polinômio caraterístico da


matriz A, os zeros de p são os autovalores (valores
próprios), da matriz A. Se λ for um autovalor de A e
x ≠ 0 satisfizer (A - λI)x = 0, então x é um autovetor
(vetor próprio) de A correspondente ao autovalor λ.
Autovalores e autovetores
• Se x for um vetor associado ao autovalor λ, a matriz
A transforma o vetor x em um múltiplo escalar dele
próprio

• Se x for um vetor associado ao autovalor λ, então αx


também é um autovetor associado a λ (α ≠ 0)
A  x     Ax      x     x 
Autovalores e autovetores
• Exemplo 1: Calcule os autovalores e autovetores da
matriz
2 0 0

A  1 1 2  
1 1 4 
– Polinômio característico

2   0 0 

p     det  A   I   det  1 1  2  
 1 1 4   
p      3  7 2  16  12
Autovalores e autovetores
• Exemplo 1 ...
– Raízes do polinômio característico

p      3  7 2  16  12
2
    3   2   0
1  3, 2,3  2
– Cálculo do autovetor x1 para λ1 = 3

 A  3I  x1  0   1 0 0 x
 1   0 x1  0
 1 2 2   x   0  x2  x3
  2  
 1 1 1   x3  0  T
x1   0; 1; 1
Autovalores e autovetores
• Exemplo 1 ...
– Cálculo do autovetor x2 e x3 para λ2,3 = 2

0 0 0   x1  0 
 A  2I  x 2,3  0 1 1 2   x   0 
  2  
1 1 2   x3  0 
x1  x2  2 x3  0
T
x1  0  x2  2 x3  x 2   0; 2; 1
T
x2  0  x1  2 x3  x3   2; 0; 1
Autovalores e autovetores
• Definição: O raio espectral ρ(A) da matriz A, é
definido por ρ(A) = max|λi| sendo λi autovalor de A.
• O raio espectral de uma matriz pode ser associado a
convergência de diversos métodos iterativos

• Para determinar os autovalores e autovetores de uma


matriz
– Construímos o polinômio característico
– Calculamos os zeros do polinômio
– Calculamos os autovetores
Autovalores e autovetores
• O cálculo de autovalores e autovetores envolve
– Avaliar determinantes de matrizes
– Calcular raízes de polinômios
• Ambas as tarefas são dispendiosas (algébrica ou
computacionalmente), principalmente para n grande
• Na maioria dos casos é conveniente utilizarmos
métodos numéricos
• Muitos métodos numéricos para cálculos de
autovalores são iterativos
• Nesses casos uma boa aproximação inicial influi na
convergência e eficiência do método
Autovalores e autovetores
• Teorema (Gersgorin) : Seja A uma matriz de
ordem n, denote por Ri, i=1:n, o círculo n
no
plano complexo com centro em aii e raio  aij ,
j 1
ou seja  
j i
n
 
Ri   z  C ; z  aii   aij  ,
 j 1 
 j  i  n

• Os autovalores de A estão contidos em R   Ri.


i 1
• A união de k círculos contêm precisamente k
autovalores (considerando multiplicidades).
Autovalores e autovetores
• Exemplo 2: Na matriz
 4 1 1
A   0 2 1 
 2 0 9 
utilize o teorema de Gersgorin para determinar as
regiões do plano complexo que contêm os
autovalores. É possível termos uma estimativa do
raio espectral?
Autovalores e autovetores
• Exemplo 2 . . .  4 1 1

A   0 2 1 
 2 0 9 
– Círculo R1

a11  4, a ij  2, R1   z  C ; z  4  2
i j

– Círculo R2
a22  2, a ij  1, R2   z  C ; z  2  1
i j
– Círculo R3
a33  9, a ij  2, R3   z  C ; z  9  2
i j
Autovalores e autovetores
• Exemplo 2 . . .
– Plotando os círculos

R1   z  C ; z  4  2

R2   z  C ; z  2  1

R3   z  C ; z  9  2

 1 , 2    R1  R2  ;  3    R3 
– Raio espectral
  A   max i , 7    A   11
1i  n
– Autovalores
1 =1,8828; 2 =4,6318; 3 =8,48535
Método da potência
• O MP é uma técnica iterativa para determinar o
autovalor dominante e o autovetor associado
• Autovalor dominante = autovalor de maior módulo
• Suponha que uma matriz quadrada A de dimensão n,
tenha n autovalores λ1, λ2, ... , λn com um conjunto
associado de autovetores {v1, v2, ..., vn} linearmente
independentes. Ademais os autovalores podem ser
ordenados |λ1|>|λ2|≥|λ3|≥ ... ≥ |λn|
• O autovalor dominante λ1 tem multiplicidade 1
Método da potência
• Caso os autovetores vi ,i=1:n, não sejam l.i. o MP
pode falhar
• A condição de autovetores l.i. é uma condição
suficiente
• Se os autovetores vi formam uma base para Rn, para
qualquer vetor x em Rn temos
n
x  1 v1   2 v 2     n v n    j v j
j 1

• Multiplicando do lado esquerdo e direito


sucessivamente por A1, A2 , . . . , Ak obtemos
Método da potência
n n
Ax    j Av j    j  j v j
j 1 j 1
n n
2 2
A x    j  j Av j    j  v j j
j 1 j 1


n
k k
A x    j v j j
j 1
k

• No lado direito multiplicamos e dividimos por 1
k
k  j 
k
n
A x   j   vj
1
j 1  1 
Método da potência
• Calculamos o limite quando k→
k
k k k
n
 j 
lim A x  lim  1 v1  lim    j   v j
1 1
k  k  k 
j 2  1 
k
 j 
• Como |λ1|>|λj|, para j = 2:n a razão   0 e
 1 
k k
lim A x  lim 1 1 v1
k  k 

• Nessa expressão, se β1≠0, temos duas alternativas


lim A k x  0 quando 1  1
k 

lim A k x   quando 1  1
k 
Método da potência
• Podemos realizar um ajuste de escala na sequencia
para garantir que o limite seja finito e não nulo
• Para isso, escolhemos x(0) como um vetor unitário em
relação à norma máxima x(0)  1

• Escolhendo uma componente p0 do vetor de forma
x (0)
p0  x (0)
1

(1) (0)
• Calculamos y  Ax
(1) (1)
• Definimos   y , a posição p0 do vetor y(1)
p0
n
 
y (1)  1v1p 0    j   j 1  v j p 0 
p0 j 2
 (1)  y (1)
p   1  n

0
x (0)  
p0
  v
1 1p 0    v
j jp0 
 j  2 
Método da potência
• Seja p1 a posição do maior elemento do vetor y(1),
isto é o menor inteiro tal que
y (1)
p1  y (1)

(1) 1 (1) 1 (0)


• Calculamos x  (1) y  (1) Ax
y p1 y p1
• Então x(1) é um vetor unitário x1p1  1  x (0) 
(2) (1) 1 2 (0)
• Podemos obter y  Ax  (1) A x
y p1
n
 2 
• E definimos
y (2)  1 1p1  j  j 1  j p1 
 v     v
p1 j 2
 (2)  y (2)
p   1  n

1
x (1)  
p1
v  
 1 1p1  j j 1 j p 1 
     v
 j 2 
Método da potência
• Novamente procuramos p2 como o menor inteiro tal
(2) (2) (2),
que p2
y  y

, posição do maior elemento de y
• E definimos o vetor unitário x(2)
1 (2) 1 1
x  2 y  (2) Ax  (1) (2) Ax(0)
(2) (1)

y p2 y p2 y p1 y p2

• Seguindo esse procedimento podemos definir as


sequencias de vetores x(m) e y(m), e de escalares μ(m),
m=1: na forma
y ( m )  Ax ( m1)
Método da potência
n
 m 
 1v1pm1    j   j 1  v j pm1 
j 2
 ( m )  y (pm )
m 1
 1  n

 m 1 
 1v1pm1    j   j 1  v j pm1 
 j 2 
y ( m ) A m x (0)
x( m)  (m)  m
y pm (k )
 pky
k 1

• Analisando a expressão de μ(m) nota-se que se   j   1


 1 
para j=2:n obtemos
 1v1p 
(m)
  1  m 1
  1
 1v1pm1 
Método da potência
• Ademais a sequencia de vetores x(m) converge para o
( m)
autovetor associado a λ1 com norma x 1

• Exemplo 3: Para a matriz


 4 14 0 

A   5 13 0 
 1 0 2 
execute três iterações do método da potencia e
encontre estimativas para o autovalor dominante e o
autovetor associado.
Método da potência
• Exemplo 3 . . .
– Aproximação inicial:
(0) T
x  1, 0; 1, 0; 1, 0  p0  1
– Primeira iteração, m=1
 4 14 0  1 10 
y (1)
 Ax (0)     
  5 13 0  1   8  
 1 0 2  1  1 

 (1)  y (1)
p  y (1)
1  10
0

(1)
(1) y T
x  (1)  1, 0; 0,8; 0,1
y1
Método da potência
• Exemplo 3 . . .
– Segunda iteração, m=2 p1  1

 4 14 0   1   7, 2 
y (2)  Ax (1)   5 13 0  0,8   5, 4 
 1 0 2   0,1  0,8

(2) (2) (2)


 y p1 y1  7, 2
(2)
(2) y T
x  (2)  1, 0; 0, 75; -0,11
y1
Método da potência
• Exemplo 3 . . .
– Terceira iteração, m=3 p2  1

 4 14 0   1   6,50 
y (3)  Ax(2)   5 13 0   0, 75    4, 75 
 1 0 2   0,11  1, 22 

(3) (3) (3)


 y p2 y 1  6,5

(3)
(3) y T
x  (3)  1, 0; 0, 7308; -0,1877 
y1
Método da potência
• Exemplo 3 . . .
m μ(m) x(m)
0 - (1,0; 1,0; 1,0)T
1 10 (1,0; 0,8; 0,1)T
2 7,2 (1,0; 0,75; -0,11)T
3 6,5 (1,0; 0,731; -0,188)T
Solução 6,0 (1,0; 0,714; -0,25)T

– Observamos que as estimativas do autovalor e autovetor


convergem para a solução do problema
– O autovalor converge mais rapidamente que o autovetor
– Quando teremos uma estimativa precisa? Como deter o
processo iterativo?
Método da potência
• De forma semelhante a outros métodos iterativos
• Uma estimativa para o erro é a diferença entre a
estimativa de duas iterações consecutivas
• Utilizamos o autovetor que converge mais
lentamente
• Podemos deter o processo iterativo quando
x ( m 1)  x ( m )  TOL

onde TOL é a tolerância ou critério de convergência


fixado para o problema.
Método da potência - Algoritmo
ENTRADA: n , A, x(0), TOL, IterMax
SAÍDA:autovalor μ, autovetor x; ou mensagem de erro

PASSO 1:k = 1
PASSO 2:Encontre p, sendo 1≤p≤n, e |xp|=||x||
PASSO 3:Faça x=x/xp
PASSO 4: Enquanto k<IterMax execute passos 5-12
PASSO 5: Faça y=Ax
PASSO 6:Faça μ=yp
PASSO 7:Encontre p, sendo 1≤p≤n, e |yp|=||y||
PASSO 8:Se yp=0, Saída(Mensagem de Erro), FIM
PASSO 9:Calcule Err = ||x-(y/yp)||
Método da potência - Algoritmo
PASSO 10:Faça x=(y/yp)
PASSO 11:Se (Err<TOL) Saída(μ, x)
PASSO 12:k = k+1
PASSO 13:Saída(Numero de iterações excedido)

• A taxa com a qual μ(m) converge para λ é determinada


pelas razões |λj / λ1| para j=2:n
• A razão |λ2 / λ1| tem o maior impacto na taxa de
convergência
• Alguns autores provam que a taxa de convergência é
linear em (λ2 / λ1)
Método da potência
• Quando (λ2 /λ1)>>0 a convergencia do MP é muito
lenta
• A convergência do autovalor pode ser acelerada
utilizando o procedimento de Aitken
• Nesse casso construímos a sequencia para o
autovalor na forma
2

ˆ (m)
 m2 
 m1  m2 
 ( m )  2 m 1  m  2
Método da potência
• Mudanças no algoritmo com o procedimento de Aitken

PASSO 1:k = 1, μ0=0, μ1=0


...
PASSO 6:Faça μ=yp
μ´= μ0 – (μ1 – μ0)2/(μ-2μ1-μ0)
...
PASSO 11:Se (Err<TOL) Saída(μ´, x)
PASSO 12:k = k+1, μ0=μ1, μ1=μ

• Mesmo, com o procedimento de Aitken a convergência é


muito lenta quando (λ2 ≈ λ1), ou (λ2 /λ1)>>0
Comentários finais
• O método da potencia permite obter o autovalor
dominante e o autovetor associado
• Para termos sucesso com o MP
– O autovalor dominante deve ter multiplicidade 1
– Os autovetores do problema devem ser l.i.
• O MP converge lentamente
• Muito lento se (λ2 /λ1)>>0
• Alternativas para acelerar a convergência do MP
– Métodos de aceleração (Chevischeb ou Wielandt)
– Método da potencia simétrico (matriz simétrica)
– Método da potencia inversa
Comentários finais
• Desvantagens do MP
– Pode não convergir quando tem λ1 multiplicidade
– Pode não convergir se os autovetores vj não forem l.i.
– A escolha de x(0) afeta a convergencia
– Apenas calcula o autovalor dominante e o autovetor
associado

• Existem técnicas que permitem calcular todos os


autovalores e autovetores
– Técnicas de deflação(2do, 3ro, ... autovalor)
– Método de Householder
– Método QR