Use o botão abaixo para reportar erros ou dar sugestões.

Cálculo Numérico - Versão Python

4.8 Cálculo de autovalores e autovetores


Considere o problema de autovalores Av = λv, onde A é uma matriz diagonalizável, isto é, existe uma matriz diagonal D e uma matriz ortogonal U tal que A = UDU-1.

4.8.1 Método da potência


O método da potência para cálculo do maior autovalor (em módulo) consiste na iteração

x(1) = aprox. inicial do autovetor, λ(1) = x(1)T Ax(1), x(k+1) = Ax(k) Ax(k)2, λ(k+1) = x(k+1)T Ax(k+1), ,k 1. (4.268)

Observação 4.8.1. Observe que na iteração do método da potência (4.268), temos Ax(k) = A(k)x(1).

Exemplo 4.8.1. A seguinte matriz

A = 1 0 0 2 3 0 3 4 2 (4.269)

tem λ = 3 como maior autovalor (por quê?). Tomando x(1) = (1, 1, 1), a iteração do método da potência nos fornece os seguintes resultados:

k x(k) λ(k)



1 (1, 1, 1) 17
2 (0,08,0,41,0,91) 4,10
3 (0,02,0,34,0,94) 3,50
4 (0,01,0,30,0,95) 3,28
5 (0,00,0,28,0,96) 3,16
14 (0,00,0,24,0,97) 3,00




Aqui, cabe um código Python explicativo. Escreva você mesmo o código.
Veja como participar da escrita do livro em:
https://github.com/livroscolaborativos/CalculoNumerico

Para entendermos melhor o comportamento assintótico da sequência {x(n)} n1, primeiro consideramos o caso particular onde A é uma matriz diagonal, isto é,

A = λ1 0 0 0 0 λ2 0 0 0 0 λ3 0 0 0 0 λn . (4.270)

Suponha que um dos autovalores seja estritamente maior que os demais, isto é, |λ1| > |λ2||λ3| |λn|. Dado x(1) = (ξ 1,ξ2,ξ3,,ξn), então

Akx(1) = Ak ξ1 ξ2 ξ3 ξ n = λ1kξ 1 λ2kξ 2 λ3kξ 3 λnkξ n = λ1kξ 1 1 ξ2 ξ1 λ2 λ1 k ξ3 ξ1 λ3 λ1 k ξn ξ1 λn λ1 k , (4.271)

desde que ξ10. Como λn λ1 λn-1 λ1 λ3 λ1 λ2 λ1 < 1, então λj λ1 k tende a 0 para cada j, 2 j n. Devido à normalização realizada em cada passo da sequência,

x(k+1) = Akx(1) Akx(1)2 (4.272)

converge para ± e1, e1 = (1, 0, 0,, 0). Também, a sequência

λ(k) = x(k)T Ax(k) (4.273)

converge para λ1, pois

lim kλ(k) = (±e 1)T A(±e 1) = λ1e1T e 1 = λ1. (4.274)

Considere, agora, o caso onde A é diagonalizável, ou seja, A = UDU-1 com U uma matriz ortogonal contendo os autovetores em cada coluna e D uma matriz diagonal contendo os autovalores:

D = λ1 0 0 0 0 λ2 0 0 0 0 λ3 0 0 0 0 λn . (4.275)

Considere a mesma hipótese sobre os autovalores: |λ1| > |λ2||λ3| |λn|. Então

Ak = (UDU-1)(UDU-1)(UDU-1)(UDU-1) = UDkU-1 (4.276)

visto que UU-1 = I. Suponha que o chute inicial x(1) pode ser escrito da forma

x(1) = UU-1x(1) = U[ξ 1ξ2ξ3ξn]T (4.277)

com ξ10. Então

Akx(1) = (UDkU-1)U ξ1 ξ2 ξ3 ξ n = U λ1kξ 1 λ2kξ 2 λ3kξ 3 λnkξ n = λ1kξ 1U 1 ξ2 ξ1 λ2 λ1 k ξ3 ξ1 λ3 λ1 k ξn ξ1 λn λ1 k . (4.278)

Como na discussão anterior, o último vetor converge para ± e1 e

x(k) = Akx(1) Akx(1)2 (4.279)

converge para v1 = ±Ue1 que é um múltiplo do autovetor associado a λ1. Também, a sequência

λ(k) = x(k)T Ax(k) (4.280)

converge para o autovalor dominante λ1:

lim kλ(k) = v 1T Av 1 = λ1v1T v 1 = λ1. (4.281)

Observação 4.8.2. O método da potência tem duas restrições:

  • A aproximação inicial x(1) não pode ser ortogonal ao autovetor associado ao autovalor dominante.
  • Um autovalor deve ter o módulo estritamente maior que os demais. Essa restrição impede o funcionamento do método no caso em que o autovalor dominante é complexo, pois eles aparecem em pares conjugados, possuindo o mesmo módulo.

Outra análise para a convergência do método

Aqui, vamos apresentar uma análise alternativa para a convergência do método da potência: se A n,n é diagonalizável, então existe um conjunto {vj}j=1n de autovetores de A tais que qualquer elemento x n pode ser escrito como uma combinação linear dos vj. Sejam {λj}j=1n o conjunto de autovalores associados aos autovetores tal que um deles seja dominante, ou seja, |λ1| > |λ2||λ3||λn| > 0. Como os autovetores são linearmente independentes, todo vetor x n, x = (x1,x2,...,xn), pode ser escrito com combinação linear dos autovetores da seguinte forma:

x = j=1nβ jvj. (4.282)

Observamos que se x está na forma (4.282), então Akx pode ser escrito como

Akx = j=1nβ jAkv j = j=1nβ jλjkv j = β1λ1k v 1 + j=2nβj β1 λj λ1 kv j . (4.283)

Como λj λ1 < 1 para todo j 2, temos

j=2nβj β1 λj λ1 kv j 0. (4.284)

Assim,

Akx Akx2 = β1λ1k Akx v1 + O λ2 λ1 k . (4.285)

Como a norma de Akx Akx é igual a um, temos

β1λ1k Akxv1 1 (4.286)

e, portanto,

β1λ1k Akx 1 v1 . (4.287)

Ou seja, se definimos α(k) = β1λ1k Akx , então

|α(k)| 1. (4.288)

Retornando a (4.285), temos:

Akx Akx - α(k)v 1 0. (4.289)

Observe que um múltiplo de autovetor também é um autovetor e, portanto,

x(k) = Akx(1) Akx(1) . (4.290)

é um esquema que oscila entre os autovetores ou converge para o autovetor v1.

4.8.2 Método da iteração inversa


Nesta seção, vamos estudar a sequência

x0, (A - σI)-1x 0 (A - σI)-1x02, (A - σI)-2x 0 (A - σI)-2x02, (A - σI)-3x 0 (A - σI)-3x02, (4.291)

para valores iniciais x0 e σ. Para o caso onde A é diagonalizável podemos escrever A = UDU-1 com D diagonal,

D = λ1 0 0 0 0 λ2 0 0 0 0 λ3 0 0 0 0 λn . (4.292)

Assim, A - σI = U(D - σI)U-1 e, portanto, (A - σI)-1 = U(D - σI)-1U-1. Observamos que as matrizes A e (A - σI)-1 possuem os mesmos autovetores associados aos autovalores λj e (λj - σ)-1, respectivamente. Agora, supomos que σ satisfaça |λk - σ| < |λj - σ| para algum k e para todo jk. Também, Supomos que o chute inicial x0 possa ser escrito da forma

x0 = UU-1x 0 = U[ξ1ξ2ξ3ξn]T (4.293)

com ξk0. Então (A - σI)-kx 0 = (U(D - σI)-kU-1)U ξ1 ξ2 ξ3 ξ n (4.294) = U (λ1 - σ)-kξ 1 (λ2 - σ)-kξ 2 (λ3 - σ)-kξ 3 (λn - σ)-kξ n = (λi - σ)-kξ 1U ξ1 ξi λi-σ λ1-σ k 1 ξn ξi λi-σ λn-σ k . (4.295)

Como λi-σ λj-σ < 1, o último vetor converge para ± ei e

xk = (A - σI)-kx 0 (A - σI)-kx02 (4.296)

converge para Uei = vi que é um múltiplo do autovetor associado a λi. Também, a sequência

λk = xkT Ax k (4.297)

converge para λi:

lim kλk = viT Av i = λiviT v i = λi. (4.298)

A método da iteração inversa tem restrições semelhantes àquelas do método da potência:

  • O chute x0 não pode ser ortogonal ao autovetor associado ao autovalor λi.
  • O chute σ deve estar mais próximo de λi do que dos λj, ji.

A vantagem é que conseguimos calcular qualquer autovalor, não apenas o autovalor dominante.

Exercícios resolvidos


Esta seção carece de exercícios resolvidos. Clique em e inicie a editá-la agora mesmo. Veja outras formas de participar clicando aqui.

Exercícios


E 4.8.1. Calcule o autovalor dominante e o autovetor associado da matriz

4 41 78 48 28 21 26 13 11 . (4.299)

Expresse sua resposta com seis dígitos significativos.

Resposta. λ = 86.1785 associado ao autovetor dado por v1 = 0.659680.668340.34372 T .

E 4.8.2. Calcule o autovalor dominante e o autovetor associado da matriz

3 4 2 - 1 (4.300)

usando o método da potência inciando com o vetor x = [11]T .

Resposta.

Este exercício está sem resposta sugerida. Clique em e inicie a editá-la agora mesmo. Veja outras formas de participar clicando aqui.

E 4.8.3. A norma L2 de um matriz A é dada pela raiz quadrada do autovalor dominante da matriz A*A (autovalor de maior módulo), isto é:

A2 = max {|λ| : λ σ(A* A)}. (4.301)

Use o método da potência para obter a norma L2 da seguinte matriz:

A = 69 84 88 15 - 40 11 70 41 20 . (4.302)

Expresse sua resposta com seis dígitos significativos.

Resposta. 158,726

E 4.8.4. Os autovalores de uma matriz triangular são os elementos da diagonal principal. Verifique o método da potência aplicada à seguinte matriz:

2 3 1 0 3 - 1 0 0 1 . (4.303)

Resposta.

Este exercício está sem resposta sugerida. Clique em e inicie a editá-la agora mesmo. Veja outras formas de participar clicando aqui.

Creative Commons License Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC-BY-SA 3.0). Página gerada em 15/5/2019 às 15:24:50.

Informe erros ou edite você mesmo!