autovalores e autovetores -...
Post on 01-Aug-2020
35 Views
Preview:
TRANSCRIPT
Autovalores e Autovetores
Algoritmos Numericos II / Computacao Cientıfica
Autovalores e Autovetores
Lucia Catabriga 1
1DI/UFES - Brazil
Junho 2016
Autovalores e Autovetores
Introducao
Ideia BasicaSe multiplicarmos a matriz por um autovetor encontramos ummultiplo do proprio autovetor, com constante de multiplicidadeconhecida por autovalor. Seja
A =
16 −24 183 −2 0−9 18 −17
o vetor
210
satisfaz a
16 −24 183 −2 0−9 18 −17
210
= 4
210
Portanto
210
e autovetor com autovalor correspondente igual a 4.
Autovalores e Autovetores
Introducao
Polinomio Caracterıstico
Aq = λq ⇒ (A− Iλ)q = 0
(16− λ) −24 183 (−2− λ) 0−9 18 (−17− λ)
q1
q2
q3
= λ
000
que e um sistema homogeneo. Este sistema so tem solucao nao-trivial (qi 6= 0) se amatriz for singular, ou seja se o determinante for nulo.
det
(16− λ) −24 183 (−2− λ) 0−9 18 (−17− λ)
= 0⇔ λ3 + 3λ2 − 36λ+ 32 = 0
ou(λ− 4)(λ− 1)(λ+ 8) = 0
que e denominado polinomio caracterıstico. Os autovalores da matriz A sao λ = 4,λ = 1 e λ = −8.
Autovalores e Autovetores
Introducao
Polinomio Caracterıstico
Em geral a equacao Aq = λq pode ser representada pelo sistemahomogeneo (A− λI )q = 0. Se A e uma matriz de ordem n osistema homogeneo tem solucao nao-trivial se
det
(a11 − λ) a12 . . . a1n
a21 (a22 − λ) . . . a2n...
.... . .
...an1 an2 . . . (ann − λ)
= 0
O polinomio caracterıstico tem a forma geral:
λn + cn−1λn−1 + . . .+ c1λ+ c0 = 0
Autovalores e Autovetores
Introducao
PropriedadesI O produto dos autovalores da matriz e igual ao determinante da matriz
detA = (−1)nc0 = λ1λ2 . . . λn. Portanto se A e singular, existe pelo menos umautovalor λi = 0
I A matriz A e sua transposta At tem os mesmos autovalores, pois odetA = detAt .
I O determinante de uma matriz triangular e igual ao produto dos elementos dadiagonal. Entao se A e triangular:det(A− λI ) = (a11 − λ)(a22 − λ) . . . (ann − λ). Portanto os autovalores de umamatriz triangular sao iguais aos elementos da diagonal.
I Se as linhas e colunas correspondentes de uma matriz sao trocadas osautovalores 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 1818 −9 −17
q2
q1
q3
= λ
q2
q1
q3
observe que os autovalores permanecem os mesmos, mas ao autovetores tem a1a. coordenada q1 trocada com a segunda coordenada q2.
Autovalores e Autovetores
Introducao
Calculo de AutovetoresO 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:
A =
16 −24 183 −2 0−9 18 −17
tem por autovalores λ1 = 4, λ2 = 1 e λ3 = −8. O autovetor associado a λ2 = 1 e ovetor q tq (A− λ2I )q = 0, ou seja 15 −24 18
3 −3 0−9 18 −18
q1
q2
q3
=
000
∼ 15 −24 18
0 1.8 −3.60 3.6 −7.2
q1
q2
q3
=
000
Ou seja, L3 = 2L2 e q1 = q2 = 2q3. Portanto qualquer vetor que possui estapropriedade e autovetor associado ao autovalor λ = 1.
Seja q =
221
.
Autovalores e Autovetores
Introducao
E possıvel combinar a equacao padrao dos autovalores com todosos autovalores e correspondentes autovetores na forma:
A
q1 q2 . . . qn
=
q1 q2 . . . qn
λ1
λ2
. . .
λn
isto e,
AQ = QΛ
onde Λ e a matriz diagonal dos autovalores.Q matriz quadrada contendo todos os autovetores.
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
Metodo da Potencia
I O objetivo do metodo das potencias e determinar o autovalorde maior modulo dentre todos os autovalores de uma matriz.
I Seja A uma matriz de ordem n e λ1, λ2, . . . , λn os autovaloresde A e q1, q2, . . . , qn os autovetores correspondentes.
I Suponha que |λ1| > |λ2| ≥ . . . ≥ |λn|. Seja u(0) umacombinacao linear dos autovetores correspondentes:
u(0) = c1q1 + c2q2 + . . .+ cnqn
I Os autovetores sao linearmente independentes.
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
u(1) = Au(0) = c1Aq1 + c2Aq2 + . . .+ cnAqn
= c1λ1q1 + c2λ2q2 + . . .+ cnλnqn
= λ1
[c1q1 + c2
λ2λ1
q2 + . . .+ cnλnλ1
qn
]u(2) = A2u(0) = λ1
[c1Aq1 + c2
λ2λ1
Aq2 + . . .+ cnλnλ1
Aqn
]= λ2
1
[c1q1 + c2
(λ2λ1
)2q2 + . . .+ cn
(λnλ1
)2qn
]
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
Se pre-multiplicarmos a expressao pela matriz A k-vezes obtemos:
u(k) = Ak u(0) = λk1
[c1q1 + c2
(λ2
λ1
)k
q2 + . . .+ cn
(λn
λ1
)k
qn
]
Como |λ1| > |λ2| ≥ . . . ≥ |λn|, temos que∣∣∣ λiλ1
∣∣∣ < 1, para
i = 2, . . . , n. Portanto quando k →∞ ,(λiλ1
)k→ 0 para
i = 2, . . . , n.
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
Entao, o vetor[c1q1 + c2
(λ2
λ1
)k
q2 + . . .+ cn
(λn
λ1
)k
qn
]→ c1q1
que e um autovetor associado a λ1. Portanto podemos afirmar quepara valores grandes de k
u(k) ' λk1c1q1
u(k) tende a ser proporcional ao autovetor q1. Considerando que oautovetor pode ter tamanho arbitrario (ou seja, um autovetormultiplicado por um escalar tem o mesmo autovalor associado) econveniente normalizar o vetor que gera o processo iterativo depoisde cada multiplicacao. O algoritmo iterativo para determinar q1
pode ser representado atraves das equacoes:
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
O processo iterativo para determinar q1 pode ser representadoatraves das equacoes:
v (k) = Au(k)
u(k+1) = 1αv (k)
onde α = ± ‖ v (k) ‖
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
Seja u(0) = (1 1 1)(t) e a norma do maximo para obter o valor de α, temos:I Iteracao 1 528.2 547.6 156.4
273.8 312.8 98.078.2 98.0 39.0
︸ ︷︷ ︸
A
111
︸ ︷︷ ︸
u(0)
=
1232.1684.6215.3
︸ ︷︷ ︸
v (0)
= 1232.1︸ ︷︷ ︸α
10.55560.1747
︸ ︷︷ ︸
u(1)
I Iteracao 2 A
10.55560.1747
︸ ︷︷ ︸
u(1)
=
859.7464.7139.5
︸ ︷︷ ︸
v (1)
= 859.7︸ ︷︷ ︸α
10.54060.1622
︸ ︷︷ ︸
u(2)
I Iteracao 3 A
10.54060.1622
︸ ︷︷ ︸
u(2)
=
849.5458.8137.3
︸ ︷︷ ︸
v (2)
= 849.5︸ ︷︷ ︸α
10.54000.1616
︸ ︷︷ ︸
u(3)
I Iteracao 4 A
10.54000.1616
︸ ︷︷ ︸
u(3)
=
849.1458.6137.4
︸ ︷︷ ︸
v (3)
= 849.1︸ ︷︷ ︸α
10.54000.1619
︸ ︷︷ ︸
u(4)
O autovetor e u(4) ' q1 com erro inferior a 10−3. O autovetor e λ1 ' 849.1.
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
Observacoes:I Quando a norma do maximo e usada o sinal de α pode ser o mesmo do maior
elemento em modulo. Neste caso α convergira para λ1 ate mesmo quando elefor negativo, alem disso a sequencia de vetores convergira normalmente para q1.
I E possivel observar que a convergencia para o autovalor pode ser mais rapidaque a convergencia para o autovetor associado.
I Em geral, dependendo de cada aplicacao, e possıvel escolher uma aproximacaoinicial para o autovetor associado ao autovalor de maior modulo atraves dealgum criterio. Porem, quando nao existe alguma informacao, e necessario umcuidado especial para nao escolher u(0) tal que o coeficiente c1 seja nulo oumuito pequeno quando comparado com os outros coeficientes.
I Para implementacoes computacionais do metodo das potencias, a determinacaodo vetor inicial u(0) e feita atraves de procedimentos automaticos. Umprocedimento bastante usado consiste em gerar os elementos dos vetor atraves
de numeros randomicos no intervalo −1 ≤ u(0)i ≤ 1. Quando este processo e
usado a probabilidade de ocorrer c1 = 0 e bem pequena.
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
Caracterısticas da Convergencia do Metodo das PotenciasO autovetor u(k) pode ser expresso: u(k) = q1 + e(k) onde
e(k) =(λ2λ1
)k c2c1
q2 + . . .+(λnλ1
)kcnc1
qn
Por hipotese temos que |λ1| > |λ2| ≥ . . . ≥ |λn|, portanto para valores grande de k o
erro pode ser aproximado por ‖ e(k) ‖∼∣∣∣λ2λ1
∣∣∣(k) |c2||c1|‖ q2 ‖
Podemows supor que |c2| ∼ |c1|, o que nos da a possibilidade de estimar o numero deiteracoes necessarias para atingir uma tolerancia pre-fixada. Supor tolerancia de 10−s .
O erro na iteracao k depende do quociente∣∣∣λ2λ1
∣∣∣k , entao:∣∣∣λ2λ1
∣∣∣k ' 10−s ⇒ k ' −sln10ln|λ2/λ1|
Portanto se∣∣∣λ2λ1
∣∣∣ estiver proximo de 1, o metodo das potencias converge
vagarosamente. E possıvel acelerar a convergencia do metodo das potencias usando oCoeficiente de Rayleigh para normalizar o vetor v (k):
α =(u(k))t Au(k)
(u(k))t u(k)=
(u(k))t v (k)
(u(k))t u(k)
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
Algoritmo 1: Metodo das Potencias - versao 1
1 Entrada: A,v (0),ε,kmax
2 Inicializar ρ (ρ = 1.0)3 Inicializar λk (λk = 0.0)4 while ρ > ε and k < kmax do5 u = Av (k)
6 λk+1 = v (k)Tu
v (k)Tv (k)
7 v (k+1) = uλk+1
8 ρ = |λk+1−λk ||λk+1| ou ρ = ‖v (k+1) − v (k)‖
9 k = k + 1
10 end
11 Saıda: λk+1, v (k+1)
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
No entanto, podemos escalonar a sequencia v (k), antes de calcularo λk .Para isso, seja y (k) = u(k)
‖u(k)‖ , entao ‖y (k)‖ = 1.
λk =y (k)T
Ay (k)
y (k)Ty (k)
= y (k)Tu(k+1)
Autovalores e Autovetores
Metodos Iterativos Simples - Metodo das Potencias
Algoritmo 2: Metodo das Potencias - versao 2
1 Entrada: A,z(0),ε,kmax
2 Inicializar ρ (ρ = 1.0)3 Inicializar λk (λk = 0.0)4 while ρ > ε and k < kmax do
5 y (k) = v (k)
‖v (k)‖6 z = Ay (k)
7 λk+1 = y (k)Tz(k+1)
8 ρ = |λk+1−λk ||λk+1| ou ρ = ‖y (k) − y (k−1)‖
9 k = k + 1
10 end
11 Saıda: λk+1, y (k+1)
Autovalores e Autovetores
Introducao
Introducao
I Os metodos de transformacao tem por objetivo modificar amatriz original em outra que contenha os mesmos autovalores,sendo sua determinacao trivial.
I Por exemplo, transformando a matriz original em uma matrizdiagonal ou triangular – de forma que as matrizes tenham osmesmos autovalores – os elementos da diagonal da matrizresultante serao os autovalores da matriz original.
Autovalores e Autovetores
Metodos de Transformacao
Ideia Basica
As transformacoes mais gerais consistem em obter:
A = N−1AN (1)
onde N e uma matriz nao singular da mesma ordem que A. Seja λe q autovalor e autovetor correspondente, entao:
Aq = λq (2)
sendo q = N−1q temos que:
Aq = N−1ANN−1q = N−1λq
= λN−1q = λq (3)
Assim, λ e q = Nq sao autovalor e autovetor correspondente de A.
Autovalores e Autovetores
Ideia Basica
I Considerando um sequencia de transformacoes, temos:
A = Ak+1 = N−1k N−1
k−1 . . .N−12 N−1
1 AN1N2 . . .Nk−1Nk (4)
sendo A uma matriz diagonal ou triangular.
I Os autovalores de A serao os elementos da diagonal de Ak+1.
I Sendo λj = ajj autovalor, o autovetor correspondente sera aj-esima coluna da matriz q = N1N1N2 . . .Nk−1Nk
Autovalores e Autovetores
Ideia Basica
I Para matrizes simetricas, as transformacoes podem ser feitaspor matrizes ortogonais, ou seja,
N−1 = Nt , portanto A = NtAN (5)
Se λ e q sao autovalor e autovetor correspondentes de A,entao λ e Ntq sao autovalor e autovetor correspondentes deA.
I Em geral, os metodos de transformacao sao processositerativos, sendo portanto dependentes de condicoes deconvergencia.
Autovalores e Autovetores
Diagonalizacao de Jacobi para Matrizes simetricas
Diagonalizacao de Jacobi para Matrizes simetricas
I Metodo baseado em transformacoes orgogonais;
I Cada transformacao tem por objetivo eliminar um par decoeficientes;
I Nao ha garantias que na proxima transformacao oscoeficientes anulados, permanecerao nulos.
I Os erros de arredondamento podem influenciar o resultado,uma vez que o numero de operacoes de ponto flutuantenecessario e grande.
Autovalores e Autovetores
Diagonalizacao de Jacobi para Matrizes simetricas
suponha uma matriz de rotacao Npq definida por:
Npq =
p q1
c −s p1
s c q
1
(6)
onde,
c = cosα
s = senα (7)
sendo α o angulo de rotacao. A operacao N tpqANpq, altera apenas as
linhas e colunas p e q.
Autovalores e Autovetores
Diagonalizacao de Jacobi para Matrizes simetricas
A cada iteracao i o elemento apq sera eliminado seguindo os seguintespassos:
1. Calcular:
φ =aqq − app
2apq(8)
t =
1
φ+sinal(φ)√φ2+1
, se φ 6= 0;
1 se φ = 0.,
(9)
cosα =1√
1 + t2(10)
senα =t√
1 + t2(11)
2. Ak+1 = N tpqANpq
Autovalores e Autovetores
Metodo Cıclico ce Jacobi
Metodo Cıclico ce Jacobi
I A escolha de qual elemento sera eliminado e um importante passopara a convergencia do metodo de Jacobi.
I Uma alternativa e percorrer ciclicamente os elementos de fora dadiagonal principal por linha;
I Definir (p, q) sequencialmente por: (1, 2), (1, 3), ..., (1, n), (2, 3),..., (2, n), ..., (n − 1, n).
I Alem disso, como os elementos de um ciclo a outro tendem adescrecer, podemos utilizar um criterio para escolher eliminar ounao uma determinada posicao de acordo com um criterio detolerancia. Por exemplo a cada passo eliminar somente oscoeficientes tais que |apq| < ρ010−(c−1). Sendo, ρ0 uma toleranciainicial e c o ciclo corrente.
Autovalores e Autovetores
Metodo Cıclico ce Jacobi
Determine os autovalores e autovetores, com toleranciaε = 5× 10−2 e ρ0 = 0.5
A =
3 0.4 50.4 4 0.1
5 0.1 −2
1o Ciclo:|a12| < 0.5⇒ a transformacao sobre o elemento (1, 2) sera omitida.|a13| > 0.5⇒ a transformacao sobre o elemento (1, 3) sera dada por:
N1 =
0.8507 0 −0.52570 1 0
0.5257 0 0.8507
⇒ A2 =
6.9202 0.3928 00.3928 4 −0.1252
0 −0.1252 −5.0902
|a23| < 0.5⇒ a transformacao sobre o elemento (2, 3) sera omitida.
Autovalores e Autovetores
Metodo Cıclico ce Jacobi
2o Ciclo:|a12| > 0.05⇒ a transformacao sobre o elemento (1, 2) sera dada por:
N2 =
0.9839 −0.1788 0−0.1788 0.9839 0
0 0 1
⇒ A3 =
6.1616 0 −0.02240 3.9289 −0.1232
−0.0224 −0.1232 −5.0902
|a13| < 0.05⇒ a transformacao sobre o elemento (1, 3) sera omitida.|a23| < 0.05⇒ a transformacao sobre o elemento (2, 3) sera dada por:
N3 =
1 0 00 0.9999 0.01370 −0.0137 0.9999
⇒ A4 =
6.1616 0.0003 −0.02240.0003 3.9303 0−0.0224 0 −5.0919
6.1616, 3.9303 e −5.0919 sao autovalores e autovetores correspondentesiguais as colunas de:
N1N2N3 =
0.8370 −0.1449 −0.52770.1788 0.9838 0.01350.5172 −0.1056 0.8439
Autovalores e Autovetores
Metodo LR
Metodo LR
I Determina todos os autovalores de uma matriz;
I O metodo consiste em construir uma sequencia de matrizesA1,A2, . . . ,Ak de tal forma que a matriz Ak seja aproximamentetriangular superior, sendo que os autovalores de A e Ak sao oselementos da diagonal de Ak .
I A cada iteracao k , fatoramos Ak = Lk Rk , sendo Lk e Rk ,respectivamente, matriz triangular inferior com 1 na diagonal ematriz triangular superior. A iteracao k + 1 deve ser calculada por,
Ak+1 = Rk Lk .
Autovalores e Autovetores
Metodo LR
Assim,
A1 = A = L1R1
A2 = R1L1 = L2R2
A3 = R2L2 = L2R2
...
Ak = Rk−1Lk−1 = Lk Rk
... (12)
Observacoes:
I Pode-se provar que: Se os autovalores de A sao distintos, asequencia {Ak+1} converge para uma matriz triangular superior R.
I A matriz R tem os mesmos autovalores de A.
Ak = Rk−1Lk−1 = L−1k−1 . . . L
−11 AL1 . . . Lk
Autovalores e Autovetores
Metodo QR
Metodo QR
I Determina todos os autovalores de uma matriz;
I O metodo consiste em construir uma sequencia de matrizesA1,A2, . . . ,Ak de tal forma que a matriz Ak seja aproximamentetriangular superior, sendo que os autovalores de A e Ak sao oselementos da diagonal de Ak .
I A cada iteracao k , decompomos Ak = Qk Rk , sendo Qk uma matrizortogonal e Rk uma matriz triangular superior. A iteracao k + 1deve ser calculada por Ak+1 = Rk Qk .
Autovalores e Autovetores
Metodo QR
Assim,
A1 = A = Q1R1
A2 = R1Q1 = Q2R2
A3 = R2Q2 = Q2R2
...
Ak = Rk−1Qk−1 = Qk Rk
... (13)
Observacoes:
I Pode-se provar que: Se os autovalores de A sao distintos, asequencia {Ak+1} converge para uma matriz triangular superior R.
I A matriz R tem os mesmos autovalores de A.
Ak = Rk−1Qk−1 = Q−1k−1 . . .Q
−11 AQ1 . . .Qk
Autovalores e Autovetores
Metodo QR
Em cada passo do metodo QR, devemos determinar matrizes Qk e Rk ,sendo Qk matriz ortogonal e Rk matriz triangular superior. Estadecomposicao pode ser obtida utilizando transformacoes ortogonais,como por exemplo Rotacoes de Givens que podem ser sumarizadas por:para zerar os elementos abaixo da diagonal na coluna j, vamos executarrotacoes de Givens da linha j + 1 ate a linha n, considerando a matrizortogonal Npq dada por:
Npq =
p q1
c s p1
−s c q
1
c =
app√a2
pp + a2qp
s =aqp√
a2pp + a2
qp
A matriz Qk responsavel por zerar os coeficientes abaixo da diagonal nacoluna j e dada por:
Qk = N tj+1,j N
tj+2,j N
tj+3,j . . .N
tn,j
Autovalores e Autovetores
Metodo QR
Reducao a Forma de Hessemberg
I O processo termina quando o elemento de maior valor absoluto damatriz Ak abaixo da diagonal for menor que uma tolerancia εpre-fixada.
I Para matrizes de ordem elevada, o metodo QR tende a ter umaconvergencia lenta. Para acelerar o processo e utilizado estrategiaspara transformar a matriz original A em uma matriz comcaracterısticas especiais.
I A forma de Hessemberg superior consiste em uma matriz triangularcom a subdiagonal inferior com elementos tambem nao nulos.
I A reducao esta baseada na utilizacao de operacoes elementares,organizadas por coluna em n − 2 etapas:
An−1 = N−1n−2 . . .N
−12 N−1
1 AN1N2 . . .Nn−2
sendo Nj matriz elementar.
I Os autovalores de An−1 sao os mesmos autovalores de A.
Autovalores e Autovetores
Calculo de autovetores
Metodo da Iteracao Inversa
Seja λ autovalor aproximado de A. Desejamos obter q tal que:Aq = λq. Considere z(0) um vetor condicao inicial para o calculodo autovetor correspondente. Define-se duas sequencias {w (m)} e{z(m)} tq
(A− λI )w (m+1) = z(m) e z(m+1) =w (m+1)
‖w (m+1)‖p/ m ≥ 0
O processo que acabamos de apresentar e essencialmente oMetodo das potencias aplicado a matriz (A− λI )−1.
Autovalores e Autovetores
Algoritmo Metodo da Iteracao Inversa
Algoritmo 3: Metodo da Iteracao Inversa1 Entrada: A,λ,ε,maxiter2 Calcula os fatores L, U e P de (A− λI ) (Controlar singularidade de U)3 Define q inicial (usar funcao randomica)4 qa = Lq5 ρ = ‖q − qa‖2
6 k = 07 while ρ > ε and k < maxiter do8 Resolva Ly = Pqa
9 Resolva Uv = y10 q = v
‖v‖2
11 ρ = ‖q − qa‖2
12 qa = q13 k = k + 1
14 end15 Saıda: q, k
top related