18
Cap´ ıtulo 6 Autovalores e Autovetores 6.1 Introdu¸ ao Neste cap´ ıtulo, apresentaremos alguns dos m´ etodos utilizados para a solu¸ c˜aodo problema do autovalor, i.e., o sistema de n equa¸ c˜oeslineares Ax = λx (6.1) para o qual procuramosum vetorsolu¸c˜ao x tal que x i = 0 para pelo menos algum i, ou seja, uma solu¸ c˜aon˜ ao-trivial. Para que tal seja poss´ ıvel, ´ e necess´ario que det(A λI )=0 (6.2) a qual ´ e uma equa¸c˜ao polinomial de grau n na vari´ avel λ, chamada de equa¸c˜ ao caracter´ ıstica de A; o polinˆ omio det(A λI e chamado de polinˆ omio caracter´ ıstico de A. As n ra´ ızes de (6.2) s˜ao chamadas de autovalores, ra´ ızes latentes ou valores caracter´ ısticos de A. A cada raiz λ corresponde um vetor x IC n = 0 que satisfaz a equa¸ c˜ao(6.1), o qual´ e chamado de autovetor, vetor latente ou vetor caracter´ ıstico de A. Note que, se x ´ e um autovetor de A, ent˜ ao kx, onde k IR, tamb´ em ´ e, pois Akx = kAx = λkx = kλx. Costumeiramente os autovetores s˜ao normalizados, i.e. || x || = 1 em alguma norma escolhida (o que pode ser feito pela rela¸ c˜aoacima). Se todas as ra´ ızesde (6.2)s˜ao distintas entre si, ent˜ ao isso implica em que a matriz A apresenta um conjunto completo de autovetores linearmente independentes (L.I.). No entanto, mesmo para casos em que os autovalores n˜ ao s˜ao todos distintos, podemos encontrarum conjunto completo de autovetores L.I. Podemos tamb´ em calcular os autovalores da matriz inversa de A, A 1 , a partir dos autovalores de A. Se multiplicarmos a equa¸c˜ao (6.1) ` a esquerda por A 1 , temos x = λA 1 x ou A 1 x = 1 λ x. (6.3) Essa ´ ultima equa¸c˜ao nos diz que 1 λ ´ e autovalor de A 1 , onde λ ´ e um autovalor de A, com o autovetor x correspondente. Problemas envolvendo autovalores e autovetores surgem em in´ umeras aplica¸ c˜oes, como pode- mos ver nos exemplos que seguem, conforme apresentados em [6]. 110

Autovalores e Autovetores.pdf

Embed Size (px)

Citation preview

Page 1: Autovalores e Autovetores.pdf

Capıtulo 6

Autovalores e Autovetores

6.1 Introducao

Neste capıtulo, apresentaremos alguns dos metodos utilizados para a solucao do problema doautovalor, i.e., o sistema de n equacoes lineares

Ax = λx (6.1)

para o qual procuramos um vetor solucao x tal que xi �= 0 para pelo menos algum i, ou seja, umasolucao nao-trivial. Para que tal seja possıvel, e necessario que

det(A− λI) = 0 (6.2)

a qual e uma equacao polinomial de grau n na variavel λ, chamada de equacao caracterıstica deA; o polinomio det(A− λI) e chamado de polinomio caracterıstico de A.

As n raızes de (6.2) sao chamadas de autovalores, raızes latentes ou valores caracterısticos deA. A cada raiz λ corresponde um vetor x ∈ ICn �= 0 que satisfaz a equacao (6.1), o qual e chamadode autovetor, vetor latente ou vetor caracterıstico de A. Note que, se x e um autovetor de A, entaokx, onde k ∈ IR, tambem e, pois

Akx = kAx = λkx = kλx.

Costumeiramente os autovetores sao normalizados, i.e. ||x || = 1 em alguma norma escolhida (oque pode ser feito pela relacao acima).

Se todas as raızes de (6.2) sao distintas entre si, entao isso implica em que a matriz A apresentaum conjunto completo de autovetores linearmente independentes (L.I.). No entanto, mesmo paracasos em que os autovalores nao sao todos distintos, podemos encontrar um conjunto completo deautovetores L.I.

Podemos tambem calcular os autovalores da matriz inversa de A, A−1, a partir dos autovaloresde A. Se multiplicarmos a equacao (6.1) a esquerda por A−1, temos

x = λA−1x

ouA−1x =

1λx. (6.3)

Essa ultima equacao nos diz que 1λ e autovalor de A−1, onde λ e um autovalor de A, com o

autovetor x correspondente.Problemas envolvendo autovalores e autovetores surgem em inumeras aplicacoes, como pode-

mos ver nos exemplos que seguem, conforme apresentados em [6].

110

Page 2: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Exemplo 6.1 O estudo das vibracoes de sistemas dinamicos e de estruturas requer a solucao deproblemas de autovalores e autovetores. Considere, apenas para fins de explanacao, o problemade se determinar as vibracoes de pequenas partıculas presas por um fio uniforme, sem peso, aoqual e aplicada uma forca −→F nas extremidades (cf. a figura 6.1) e no qual desconsidera-se a acaoda gravidade. As partıculas encontram-se a distancias iguais entre si e as vibracoes das mesmassao consideradas pequenas e perpendiculares a posicao de descanso do fio. Escrevendo as equacoes

Figura 6.1: O problema das vibracoes.

diferenciais para as forcas atuantes em cada partıcula, temos:

m1d2x1

dt2= −F x1

h+ F

x2 − x1

h

m2d2x2

dt2= −F x2 − x1

h+ F

x3 − x2

h

m3d2x3

dt2= −F x3 − x2

h− F

x3 − x4

h

m4d2x4

dt2= +F

x3 − x4

h− F

x4

h

Introduzindo a notacao

x = (x1, x2, x3, x4)T

di =mih

F, i = 1, 2, 3, 4

podemos escrever o sistema de equacoes diferenciais acima na forma matricial

Dd2x

dt2= Tx (6.4)

onde D e a matriz diagonal

D =

d1

d2

d3

d4

e T e a matriz tridiagonal

T =

−2 1 0 0

1 −2 1 00 1 −2 10 0 1 −2

.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 111

Page 3: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Quando as partıculas vibram em fase ou em direcoes opostas, i.e., em modo normal, entao acondicao

d2x

dt2= −w2x, w ∈ IR (6.5)

e satisfeita. Substituindo a equacao (6.5) em (6.4), obtemos o problema de autovalor

Dw2i xi = −Txi, i = 1, 2, 3, 4 (6.6)

para as frequencias de vibracao w1, w2, w3 e w4 e os modos normais correspondentes, i.e., osautovetores x1, x2, x3 e x4.

Aparentemente, se isolarmos x no lado direito da equacao (6.6), obterıamos o que se chamade problema generalizado do autovalor, cuja forma geral e

(A− λB)x = 0

onde A e B sao matrizes de ordem n. Porem, se introduzirmos o vetor

y = D1/2x

o que e possıvel, ja que os elementos da diagonal de D sao positivos, por definicao, entao podemosescrever (6.6) como

D−1/2TD−1/2yi = −w2i yi

o qual recai na forma 6.1.

Exemplo 6.2 A teoria de Leontief sobre a compra e a venda de produtos e muito utilizada nocampo de estudo da macroeconomia; como exemplo, consideramos as vendas e compras de produtosnum setor industrial.

Seja bij as vendas da industria i para a industria j; bii representa os bens produzidos pelaindustria i e retidos por ela propria. As vendas de bens da industria i para o mercado e denotadapor yi e o total de bens produzidos por xi. Entao,

xi = yi +∑

j

bij (6.7)

A fim de definirmos bij, assume-se que as vendas da industria i para a j estao em proporcaoconstante a producao da industria j, i.e.

bij = aijxj

onde aij sao ditos coeficientes de entrada. Em uma situacao estatica, podemos escrever, a partirde (6.7),

x = y + Ax (6.8)

onde x = (x1, x2, . . . , xn)T e y = (y1, y2, . . . , yn)T e A e matriz de ordem n cujos elementos (i, j)sao os coeficientes de entrada aij. Ora, a equacao (6.8) pode ser reescrita como

(I −A)x = y (6.9)

onde I − A e chamada de matriz de Leontief. A equacao (6.9) pode ser resolvida calculando-se os autovalores e autovetores de A. Sua utilidade reside no fato de que, com ela, e possıveldeterminar-se a quantidade de bens produzidos (x) necessarios para satisfazer a uma demandafinal (y), pre-estabelecida.

Se a producao e a demanda nao se encontram em equilıbrio, entao devemos considerar ummodelo dinamico, que leve em consideracao a taxa de variacao da producao. Nesse caso, usual-mente considera-se que a producao em cada industria varia a uma taxa proporcional a diferencaentre os nıveis de venda e de producao. Daı,

dx(t)dt

= D ((A− I)x(t) + y(t)) (6.10)

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 112

Page 4: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

onde D e uma matriz diagonal de ordem n, cujos elementos dii representam os coeficientes dereacao das industrias.

A equacao (6.10) substitui nesse caso a equacao (6.8) e representa o comportamento dinamicodo sistema economico em estudo. Uma das questoes a serem estudadas, nesse caso, e se o sistemae estavel, determinando-se os autovalores e autovetores da matriz D(A − I). Particularmente,procura-se determinar se esses autovalores tem parte real positiva pois, como as solucoes dosistema de equacoes diferenciais (6.10) sao da forma eλit, isso indicaria uma instabilidade, jaque a demanda x(t) cresceria exponencialmente com o tempo.

A seguir, apresentaremos dois importantes teoremas, os quais nos permitirao desenvolvertecnicas de determinacao de autovalores e autovetores para um tipo especıfico de matrizes.

6.2 Teoremas de limites sobre autovalores

Teorema 6.2.1 Discos de Gerschgorin: Seja A uma matriz de ordem n, e di, i = 1, 2, . . . , nos discos cujos centros sao os elementos aii e cujos raios ri sao dados por

ri =n∑

j=1j �=i

|aij |, i = 1, 2, . . . , n.

Seja D a uniao de todos os discos di. Entao, todos os autovalores de A encontram-se contidos emD.

Prova: Seja λ um autovalor de A e x um autovetor correspondente, tal que maxi |xi | = 1. Entao,

λx = Ax

de onde

(λ− aii)xi =n∑

j=1j �=i

aijxj , i = 1, 2, . . . n

Supondo que |xk | = 1, entao

|λ− akk | ≤n∑

j=1j �=i

| akj ||xj |

≤n∑

j=1j �=i

| akj | = rk

i.e., o autovalor λ esta contido no disco dk e, como λ e arbitrario, entao todos os autovalores de Adevem estar contidos na uniao de todos os discos, D. ♦

O exemplo a seguir apresenta uma aplicacao do teorema 6.2.1.

Exemplo 6.3 A matriz

A =

−1 0 −1−1 4 −1−1 −2 10

tem como seus autovalores λ1 = 10, 3863, λ2 = 3, 8037 e λ3 = 0, 8100. Calculando os discos deGerschgorin, temos:

d1 = |z − 1| < |0|+ | − 1| = 1d2 = |z − 4| < | − 1|+ | − 1| = 2d3 = |z − 10| < | − 1|+ | − 2| = 3

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 113

Page 5: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Como todos os autovalores de A sao reais, e observando (veja a figura 6.2) que em cada discodevemos ter um autovalor, podemos dizer que:

• existe um autovalor, λ1, que esta dentro do disco centrado em 10 e raio 3 e, de fato, 7 <10, 3863 < 13;

• existe um autovalor, λ2, que esta dentro do disco centrado em 4 e raio 2 e, realmente,2 < 3, 8037 < 6;

• existe um autovalor, λ3, que esta dentro do disco centrado em 1 e raio 1 e, com efeito,0 < 0, 81 < 2;

A figura 6.2 ilustra esse resultado.

Figura 6.2: Discos de Gerschgorin

Uma consequencia do teorema de Gerschgorin e a determinacao do maior disco que contemtodos os autovalores de A. Podemos obter, a partir dos discos, os extremos ao longo do eixo dosnumeros reais, i.e. o intervalo [α, ω] tal que

α = mini{aii − ri}, ω = max

i{aii + ri}, i = 1, 2, . . . , n (6.11)

e o maior disco e justamente aquele com centro (α+ω)/2 e raio (α+ω)/2. No caso em que todosos autovalores sao reais, basta entao considerar o intervalo [α, ω].

Teorema 6.2.2 Maior e menor autovalor: Seja A uma matriz real simetrica de ordem n, ex ∈ IC um vetor arbitrario. Entao,

λ1 = maxx �=0

xTAx

xTx, λn = min

x �=0

xTAx

xTx

onde os autovalores sao ordenados tais que λ1 ≥ λ2 ≥ . . . ≥ λn.

A razaoxTAx

xTx, x �= 0 (6.12)

e chamada de quociente de Rayleigh correspondente a x e, juntamente com o teorema 6.2.2, nospermitira estimar de forma bastante rapida um autovalor de uma matriz simetrica, conformeveremos na secao 6.5.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 114

Page 6: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

6.3 Calculo de autovalores e autovetores via determinantes

Ja vimos que, por definicao, os autovalores de uma matriz A sao as raızes do polinomio caracte-rıstico de A. Evidentemente, para matrizes de ordem n > 4, nao e aconselhavel que se utilize aequacao (6.2) para se obter o polinomio caracterıstico, por duas razoes:

1. o calculo de determinantes de ordem superior a 4 envolve consideravel custo computacional;

2. o polinomio caracterıstico de uma matriz grande pode ser instavel numericamente.

No entanto, algumas aplicacoes de engenharia, fısica e outros campos do conhecimento envolvema determinacao de autovalores de matrizes de ordem n = 2 ou n = 3 e, nesse caso, e possıvel obter-se os autovalores extraindo as raızes do polinomio caracterıstico, conforme mostra o exemplo aseguir.

Exemplo 6.4 Seja a matriz [2 53 −4

].

O seu polinomio caracterıstico e

p(λ) = det(A− λI) =∣∣∣∣ 2− λ 5

3 −4− λ

∣∣∣∣ = (2 − λ)(−4− λ)− 15

ou p(λ) = λ2 + 2λ− 23, cujas raızes sao λ1 = 3, 8990 e λ2 = −5, 8990.

Para se determinar os autovetores, utiliza-se a equacao (6.1) para cada autovalor λi, na forma(A− λiI)xi = 0, como segue:

Exemplo 6.5 Calcule os autovetores do exemplo 6.4.Solucao: Para o autovalor λ1 = 3, 8990, escrevemos

(A− 3, 8990I)x1 = 0[7, 8990 5

3 1, 8990

] [(x1)1(x1)2

]=

[00

]

de onde obtemos

x1 =[

k−1, 5798k

], k �= 0

O autovetor correspondente a λ2 = −5, 8990 e obtido de forma similar:

(A + 5, 8990I)x1 = 0[ −1, 8990 53 −7, 8990

] [(x2)1(x2)2

]=

[00

]

de onde obtemos

x2 =[

k0, 3798k

], k �= 0

Computacionalmente, no entanto, podemos estimar o autovetor correspondente a um autovalorutilizando os metodos da potencia com translacao da origem (secao 6.5.2) ou da iteracao inversacom translacao da origem (secao 6.5.3).

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 115

Page 7: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

6.4 Autovalores de uma matriz tridiagonal simetrica

Em muitas aplicacoes surgem matrizes tridiagonais simetricas, das quais necessitamos extrairautovalores e/ou autovetores. Por exemplo, ao aproximarmos a equacao diferencial parcial

∂u

∂t=

∂2u

∂x2

por diferencas finitas, obtemos uma matriz−2 1 0 0

1 −2 1 00 1 −2 10 0 1 −2

a qual apresenta aquela caracterıstica.De forma geral, consideramos uma matriz T de ordem n,

T =

a1 b1 0 . . . 0

b1 a2. . . . . .

...

0. . .

. . .. . . 0

.... . . . . . . . . bn−1

0 . . . 0 bn−1 an

(6.13)

e chamamos de Tr a matriz principal de ordem r de T , i.e.

T1 =[a1

], T2 =

[a1 b1b1 a2

], T3 =

a1 b1 0

b1 a2 b20 b2 a3

, . . .

Escrevendo as equacoes caracterısticas p1(λ), p2(λ) e p3(λ) das matrizes T1, T2 e T3, obtemos:

p1(λ) = det(T1 − λI) = a1 − λ (6.14)p2(λ) = det(T2 − λI) = (a2 − λ)(a1 − λ)− b21 = (a2 − λ)p1(λ)− b21 (6.15)p3(λ) = det(T3 − λI) = (a3 − λ)

((a2 − λ)(a1 − λ)− b21(a3 − λ)

)− b22(a1 − λ) =

= (a3 − λ)p2(λ) − b22p1(λ) (6.16)

de onde podemos escrever, generalizando para r,

pr(λ) = (ar − λ)pr−1(λ)− b2r−1pr−2(λ), r = 2, 3, . . . , n, p0(λ) = 1, (6.17)

A equacao (6.17) nos permite avaliar o polinomio caracterıstico da matriz T de forma bastanteeficiente; no entanto, estamos preocupados em obter os autovalores de T , ou as raızes de pn. Oteorema a seguir nos permitira escrever um algoritmo bastante eficiente para se extrair alguns outodos os autovalores de T .

Teorema 6.4.1 Sequencia de Sturm: Se a matriz tridiagonal (6.13) e nao-reduzıvel 1, entaoos r − 1 autovalores µ da matriz Tr−1 separam estritamente os r autovalores λ da matriz Tr:

λr < µr−1 < λr−1 < µr−2 < · · · < λ2 < µ1 < λ1.

Mais ainda, se s(λ) representa o numero de trocas de sinal na sequencia

{p0(λ), p1(λ), . . . , pn(λ)}entao s(λ) e igual ao numero de autovalores de T menores do que λ, onde pr(λ) e dado por (6.17)e assume-se que pr(λ) tem o sinal oposto de pr−1(λ) se pr(λ) = 0.

1Uma matriz A e dita nao-reduzıvel se os elementos da diagonal da matriz triangular superior R, resultante desua fatoracao no produto QR, sao todos nao-nulos, onde Q e uma matriz ortogonal (i.e. QT Q = I).

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 116

Page 8: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

O teorema 6.4.1 e extremamente importante: ele nos diz que, se tivermos os n autovalores µde uma matriz triadiagonal Tn (de ordem n), entao entre cada par de autovalores consecutivosµ (com excecao do menor e do maior), existe um e apenas um autovalor λ da matriz tridiagonalTn+1 (de ordem n + 1), obtida acrescentando-se uma linha e uma coluna a matriz Tn. Devido aessa caracterıstica, podemos utilizar o algoritmo da bisseccao (ver algoritmo 2.2.1), juntamentecom a equacao (6.17), para obtermos rapidamente, e com seguranca, um autovalor de Tn+1, apartir de um intervalo que e um par de autovalores consecutivos de Tn.

Para obter-se o menor e o maior autovalores de Tn+1, utilizamos o teorema de Gerschgorin -mais especificamente, calculamos o maior intervalo que engloba todos os autovalores, com a equa-cao (6.11). Assim, o menor autovalor e calculado usando-se como estimativa inicial para o metododa bisseccao o intervalo [α, µr−1]; para o maior autovalor, utiliza-se o intervalo [µ1, ω].

Os algoritmos 6.4.1, 6.4.2 e 6.4.3 combinam as ideias apresentadas acima. Da maneira como oalgoritmo 6.4.3 e apresentado, todos os autovalores sao obtidos; no entanto, simples modificacoesdo mesmo nos permitem obter apenas alguns autovalores (por exemplo, o maior e o menor, ou osdois maiores, etc.).

O exemplo 6.6 demonstra uma situacao tıpica, resolvido utilizando-se esses algoritmos.

Algoritmo 6.4.1 Avalia polinomio caracterıstico de uma matriztridiagonal simetrica

function pol carac trid(input: x, a, b; output: p)% a e b sao os vetores contendo os elementos da% diagonal e subdiagonal, respectivamente,% da matriz tridiagonalp0 ← 1p1 ← a1 − xp← p1

for r← 2, 3, . . . , n dop← (ar − x)p1 − b2r−1p0

p0 ← p1

p1 ← pendfor

endfunction

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 117

Page 9: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Algoritmo 6.4.2 Metodo da bisseccao com polinomio caracte-rıstico

proc bisseccao trid(input: a, b, α, β, kmax, δ, ε; output: χ)% a e b sao os vetores contendo os elementos da% diagonal e subdiagonal, respectivamente,% da matriz tridiagonalu← pol carac trid(α, a, b)v ← pol carac trid(β, a, b)e← β − αif (sign(u) = sign(v)) then“nao pode proceder”

elsek ← 1w ← 1while ((k ≤ kmax) AND (| e | ≥ δ) AND (|w | ≥ ε))

e← e/2χ← α + ew ← pol carac trid(χ, a, b)if (sign(w) �= sign(u)) thenβ ← χv ← w

elseα← χu← w

endifk ← k + 1

endwhileendif

endproc

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 118

Page 10: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Algoritmo 6.4.3 Autovalores de uma matriz tridiagonalsimetrica

proc autovalores tridiagonal(input: a, b, n; output: λ)% Calcula os raios dos discos de Gerschgorin, cada qual com centro a(i)r1 ← | b1 |for i← 2, 3, . . . , n− 1 do

ri ← | bi−1 |+ | bi |endforrn ← | bn−1 |% Calcula o intervalo [α, ω] na reta dos reais% contendo os autovaloresα← minn

i=1(ai − ri)ω ← maxn

i=1(ai + ri)% Calcula os autovalores, iniciando com o autovalor% de T1 = [a1], µ = a1

µ1 = a1

for i← 2, 3, . . . , n do% Calcula os autovalores de Ti

% a. entre α e µ1

call bisseccao trid(a, b, α, µ1, kmax, δ, ε, λ1)% b. autovalores entre µ1 e µi−1

for j ← 1, 2, . . . , i− 2 docall bisseccao trid(a, b, µj , µj+1, kmax, δ, ε, λj+1)endfor

% c. entre µi−1 e ωcall bisseccao trid(a, b, µi−1, ω, kmax, δ, ε, λ1)µ← λ

endforλ← µ

endproc

Exemplo 6.6 Seja a matriz tridiagonal

T =

2 −1−1 2 −1

−1 2 −1−1 2

a qual pode ser representada de forma compacta atraves dos vetores

a = (2, 2, 2, 2)T e b = (−1,−1,−1)T

Para se obter os autovalores de T , iniciamos com a matriz

T1 =[a1

]=[

2]

a qual tem como seu unico autovalor µ1 = a1 = 2. Alem disso, calculamos os extremos do intervalode Gerschgorin, α = 0 e ω = 6, atraves da equacao (6.11).

Agora, precisamos calcular os dois autovalores λ da matriz

T2 =[a1 b1b1 a2

]=[

2 −1−1 2

]

os quais, pelos teoremas de Gerschgorin e 6.4.1, satisfazem

α < λ2 < µ1 < λ1 < ω

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 119

Page 11: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Estipulando-se como tolerancias de convergencia para o metodo da bissecao δ = ε =√ε e um

maximo de 200 iteracoes, λ2 e obtido em 2 iteracoes utilizando-se como intervalo de busca [α, µ1] =[0, 2], resultando no valor λ2 = 1. O autovalor λ1 tambem e obtido em 2 iteracoes, usando-se comointervalo de busca [µ1, β] = [2, 6], com o qual obtem-se λ1 = 3.

Antes de procedermos ao calculo dos autovalores de T3, fazemos uma copia dos λ, armazenando-os em µ; assim, temos µ1 = 3 e µ2 = 1.

Procedemos, entao, com o calculo dos autovalores λ de T3; para tanto, utilizamos os intervalosde busca

• [α, µ2] = [0, 1] para calcular o autovalor λ3;

• [µ2, µ1] = [1, 3] para calcular o autovalor λ2;

• [µ1, ω] = [3, 6] para calcular o autovalor λ1.

Os autovalores λ3, λ2 e λ1 sao entao obtidos com o metodo da bisseccao, utilizando-se as mesmastolerancias especificadas anteriormente, resultando em λ3 = 0, 5858, λ2 = 2 e λ1 = 3, 4142, obtidosem 27, 2 e 27 iteracoes respectivamente.

Finalmente, basta calcularmos os autovalores de T4. Procedendo de forma similar, fazemosµ3 = 0, 5858, µ2 = 2 e µ1 = 3, 4142 e estipulamos os intervalos de busca

• [α, µ3] = [0, 0, 5858] para calcular o autovalor λ4;

• [µ3, µ2] = [0, 5858, 2] para calcular o autovalor λ3;

• [µ2, µ1] = [2, 3, 4142] para calcular o autovalor λ2;

• [µ1, ω] = [3, 4142, 6] para calcular o autovalor λ1.

de onde, apos aplicarmos o algoritmo da bisseccao a cada um desses intervalos, obtemos osautovalores de T4 ≡ T , λ4 = 0, 3820, λ3 = 1, 3820, λ2 = 2, 6180 e λ1 = 3, 6180, apos 27 iteracoes(para todos os intervalos de busca).

Note que nao se obtem, com essa tecnica, os autovetores correspondentes aos autovalores. Osmetodos apresentados na secao a seguir podem ser utilizados para se obter esses autovetores.

6.5 Metodos para aproximacao de autovalores e autovetores

Em muitas aplicacoes, nao e necessario obter-se todos os autovalores; e comum desejar-se, porexemplo, obter apenas o maior autovalor e seu correspondente autovetor. Os metodos apresentadosnessa secao sao indicados para o caso em que apenas um dos autovalores (e seu autovetor) necessitaser calculado. Particularmente, tais metodos sao iterativos e apresentam boa eficiencia quando amatriz em estudo e grande, esparsa e apresenta uma grande separacao relativa entre o autovalordesejado e os demais autovalores.

6.5.1 Metodo da potencia

Seja A uma matriz de ordem n com autovalores λi tais que

|λ1| = |λ2| = . . . = |λr| > |λr+1| ≥ . . . ≥ |λn| (6.18)

Nesse caso, diz-se que A apresenta r autovalores dominantes. Por hipotese, assumimos que existemn autovetores linearmente independentes xi, de onde qualquer vetor arbitrario z0 pode ser expressocomo combinacao linear desses autovetores, i.e.

z0 =n∑

i=1

αixi (6.19)

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 120

Page 12: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Considere agora o metodo de aproximacao sucessiva

zk = Azk−1, k = 1, 2, . . . (6.20)

onde z0 e um valor inicial, dado. Usando as equacoes (6.1), (6.19) e escrevendo (6.20) em termosde z0, temos

zk = Azk−1 = A2zk−2 = . . . = Akz0

=n∑

i=1

αiλki xi (6.21)

Se pelo menos um dos α1, α2, . . ., αr nao e nulo, entao os termos correspondentes a eles, i.e.∑ri=1 αiλ

ki xi irao dominar o somatorio da equacao (6.21).

Suponha, por exemplo, que temos um autovalor dominante, λ1, de A. Considerando queα1 �= 0, podemos reescrever (6.21) como

zk = λk1

(α1x1 +

n∑i=1

αi

(λi

λ1

)k

xi

)

Note agora que, como λ1 > λ2 ≥ . . . ≥ λn, por hipotese, entao os termos(λi

λ1

)k

tendem a zero a medida que k cresce. Daı, podemos escrever

zk = λk1(α1x1 + εk) (6.22)

onde εk e um vetor com elementos proximos a zero. O vetor zk tende, entao, a aproximar oautovetor nao-normalizado x1. Essa equacao nos permite escrever o assim chamado metodo dapotencia.

Da equacao (6.22), podemos escrever

zk+1 = λk+11 (α1x1 + εk+1)

e, dividindo a i-esima componente da equacao acima pela componente correspondente de (6.22),obtemos

(zk+1)i

(zk)i= λ1

(α1x1 + εk+1

α1x1 + εk

)→ λ1, quando k →∞, i = 1, 2, . . . , n (6.23)

onde (zk)i indica o elemento i do vetor zk. A equacao (6.23) nos diz que a taxa de convergenciado metodo depende nao so das constantes αi, mas principalmente das fracoes∣∣∣∣λ2

λ1

∣∣∣∣ ,∣∣∣∣λ3

λ1

∣∣∣∣ , . . . ,∣∣∣∣λn

λ1

∣∣∣∣ .Quanto menores forem esses fracoes, mais rapida e a convergencia; por isso diz-se que o metododa potencia e eficiente – converge rapidamente para um autovalor – desde que este autovalor sejadominante, i.e., relativamente distante dos demais.

De posse das equacoes (6.20) e (6.23), podemos escrever um algoritmo para o metodo dapotencia. Uma questao que se coloca e: quais valores iniciais, λ0 e z0, devemos utilizar para oautovalor dominante e seu autovetor? Para z0, consideraremos um vetor arbitrario, o qual seranormalizado antes de se iniciar as iteracoes. Com essa escolha, valemo-nos da equacao (6.1) eescrevemos

Az0 = λ0z0... || z0 || = 1 ...

zT0 Az0 = zT

0 λ0z0 = λ0(zT0 z0) = λ0

Aplica-se, entao, repetidamente a equacao (6.20), normalizando o vetor zk a cada iteracao, conformemostrado no algoritmo 6.5.1. O exemplo 6.7 mostra o funcionamento do metodo.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 121

Page 13: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Algoritmo 6.5.1 Metodo da potencia

proc potencia(input: A, z0, ε, kmax; output: λk, zk)z0 ← z0/|| z0 ||λ0 ← zT

0 Az0

for k = 1, 2, . . . , kmax doq ← Azk−1

zk ← q/|| q ||λk ← zT

k Azk

if |λk − λk−1 | < ε thenbreak

endifendfor

endproc

Exemplo 6.7 Seja a matriz

A =

8 1 2−1 5 1

0 1 90

,

a qual tem como autovalores e respectivos autovetores,

λ1 = 90, 0115, λ2 = 7, 6308, λ3 = 5, 3577

x1 =

0, 0245

0, 01150, 9996

, x2 =

−0, 9353

0, 3539−0, 0043

, x3 =

−0, 0043−0, 0111

0, 9996

.

Utilizando-se o metodo da potencia com um vetor com tres elementos escolhidos arbitrariamentee normalizado, z0 = (0, 4394, 0, 6415, 0, 6287)T, obtem-se a seguinte sequencia de valores, com umatolerancia para convergencia de 10−5:

k zk λk

0 (0, 4394, 0, 6415, 0, 6287)T 40, 54081 (0, 0940, 0, 0590, 0, 9938)T 89, 28342 (0, 0313, 0, 0133, 0, 9994)T 89, 99393 (0, 0251, 0, 0115, 0, 9996)T 90, 01024 (0, 0246, 0, 0115, 0, 9996)T 90, 01145 (0, 0245, 0, 0115, 0, 9996)T 90, 01156 (0, 0245, 0, 0115, 0, 9996)T 90, 0115

onde pode-se verificar que z6 e uma boa aproximacao para x1, sujeita aquela tolerancia.

Caso a matriz tenha autovalores dominantes repetidos, i.e.

λ1 = λ2 = . . . = λr

o metodo da potencia ira obter apenas um autovetor, o qual sera combinacao linear dos autovetorescorrespondentes a λ1.

O metodo da potencia diverge se A tiver autovalores diferentes, porem de mesmo valor absolutocomo, por exemplo, um par conjugado de autovalores dominantes complexos, λ2 = λ1; o exemploa seguir ilustra tal situacao:

Exemplo 6.8 Seja a matriz

A =

1 10 2−1 1 1010 1 −13

,

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 122

Page 14: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

a qual tem como autovalores e respectivos autovetores,

λ1 = −9, 4515 + 3, 8807i, λ2 = −9, 4515− 3, 8807i, λ3 = 7, 9030

x1 =

0, 0307− 0, 4143i

0, 2160 + 0, 5518i−0, 4368− 0, 5343i

, x2 =

0, 0307 + 0, 4143i

0, 2160− 0, 5518i−0, 4368 + 0, 5343i

, x3 =

0, 7897

0, 46510, 4000

.

Utilizando-se o metodo da potencia com um vetor com tres elementos escolhidos arbitrariamentee normalizado, z0 = (0, 4857, 0, 0197, 0, 8739)T, obtem-se a seguinte sequencia de valores, com umatolerancia para convergencia de 10−5:

k zk λk

0 (0, 4857, 0, 0197, 0, 8739)T −4, 32411 (0, 2253, 0, 7668,−0, 6010)T −9, 19752 (0, 4829,−0, 3946, 0, 7817)T −8, 13453 (−0, 2066, 0, 7546,−0, 6229)T −9, 46014 (0, 5786,−0, 5001, 0, 6443)T −6, 48765 (−0, 4517, 0, 7731,−0, 4454)T −6, 29316 (0, 8581,−0, 4338, 0, 2749)T −1, 8886

a qual apresenta um comportamento nao convergente.

6.5.2 O metodo da potencia com translacao da origem

Como vimos na secao anterior, a convergencia do metodo da potencia depende de |λ2/λ1 |, parao caso de existir apenas um autovalor dominante. Se essa razao for muito proxima de 1, entao aconvergencia e muito lenta.

No entanto, podemos obter a solucao de forma mais rapida se procedermos a uma modificacaodo metodo da potencia. Essa modificacao baseia-se no fato de que, se λ e um autovalor de umamatriz A, entao λ− σ e o autovalor correspondente da matriz A− σI. Dessa forma, se aplicarmoso metodo da potencia a uma matriz A− σI, tal que λ1 − σ ainda seja dominante, a convergenciado metodo dependera de ∣∣∣∣ λ2 − σ

λ1 − σ

∣∣∣∣o que, para um valor adequado de σ, podera ser menor do que |λ2/λ1 |. A esse processo, da-seo nome de translacao da origem – e como se os autovalores estivessem distribuıdos em um novosistema de referencia cuja origem e σ, e nao mais zero – e pode ser bastante eficaz, desde que aescolha de σ seja criteriosa.

Obviamente, poderıamos calcular explicitamente a matriz A− σI e utilizar o algoritmo 6.5.1;no entanto, pequenas modificacoes naquele algoritmo nos permitem utilizar o processo de trans-lacao da origem de forma mais eficiente. Novamente, z0 e considerado um vetor unitario, de ondepodemos obter a seguinte estimativa para λ0:

(A− σI)z0 = λ0z0; pre-multiplicando por zT0 ,

zT0 Az0 − σzT

0 z0 = λ0(zT0 z0) ... || z0 || = 1 ...

λ0 = zT0 Az0 − σ

e, por analogia, escrevemosλk = zT

k Azk − σ

Alem disso, ao inves de calcularmos q = Azk, devemos calcular q = Azk − σzk. Ao final doprocesso, devemos corrigir λk, adicionando a ele σ. Essas ideias sao apresentadas no algoritmo6.5.2.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 123

Page 15: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Algoritmo 6.5.2 Metodo da potencia (com translacao)

proc potencia translacao(input: A, z0, σ, ε, kmax; output: λk, zk)z0 ← z0/|| z0 ||λ0 ← zT

0 Az0 − σfor k = 1, 2, . . . , kmax do

q ← Azk−1 − σzk−1

zk ← q/|| q ||λk ← zT

k Azk − σif |λk − λk−1 | < ε thenbreak

endifendforλk ← λk + σ

endproc

O exemplo a seguir ilustra o uso do metodo da potencia com translacao de origem.

Exemplo 6.9 Seja a matriz

A =

2 −1 0−1 2 −1

0 −1 2

,

a qual tem como autovalores e respectivos autovetores,

λ1 = 3, 4142, λ2 = 2, λ3 = 0, 5858

x1 =

0, 5000−0, 7071

0, 5000

, x2 =

0, 7071

0, 0000−0, 7071

, x3 =

0, 5000

0, 70710, 5000

.

Note que |λ2/λ1 | = 0, 5858. Se utilizarmos o metodo da potencia, a uma tolerancia de 10−5 evetor inicial z0 = (1, 0, 0)T , necessitaremos de 13 iteracoes para obter a aproximacao 3, 4142 parao autovalor λ1.

No entanto, se usarmos o translacao da origem, com σ = 1, necessitamos apenas de 9 iteracoespara obter a mesma aproximacao; veja que∣∣∣∣ λ2 − 1

λ1 − 1

∣∣∣∣ =∣∣∣∣ 1

2, 4142

∣∣∣∣ = 0, 4142 < 0, 5858 =∣∣∣∣ λ2

λ1

∣∣∣∣o que sugere o menor numero de iteracoes.

6.5.3 Metodo da iteracao inversa

Como vimos, o metodo da potencia nos permite aproximar o autovalor dominante de A; suponha,agora, que desejamos aproximar o menor autovalor (e seu correspondente autovetor) de A. Re-lembrando que os autovalores de A−1 sao o inverso dos autovalores de A (equacao (6.3)), entao,se utilizarmos o metodo da potencia sobre a matriz A−1, aproximaremos o menor autovalor deA pois ele e o maior autovalor de A−1. A essa modificacao do metodo da potencia chamamos demetodo da iteracao inversa.

O metodo da iteracao inversa procede, basicamente, com o calculo sucessivo de vetores zk

dados porzk = A−1zk−1, k = 1, 2, . . .

mas ja vimos (capıtulo 4) que, computacionalmente, devemos evitar, se possıvel, calcular a inversade uma matriz. Nesse caso, e aconselhado que se resolva o sistema

Azk = zk−1, k = 1, 2, . . .

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 124

Page 16: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

atraves da fatoracao LU de A (secao 4.3.2), uma vez que varias iteracoes serao necessarias parase aproximar o menor autovalor e respectivo autovetor.

Alem disso, o metodo da iteracao inversa e, normalmente, combinado com a translacao deorigem, o que resulta na fatoracao LU da matriz A − σI. O algoritmo 6.5.3 apresenta o metododa iteracao inversa, incorporando translacao de origem.

Algoritmo 6.5.3 Metodo da iteracao inversa (com translacao)

proc iteracao inversa translacao(input: A, z0, σ, ε, kmax;output: λk, zk)

Fatore A− σI no produto LUz0 ← z0/|| z0 ||λ0 ← zT

0 Az0 − σfor k = 0, 1, . . . , kmax do

Resolva o sistema Ly = zk

Resolva o sistema Uq = yzk ← q/|| q ||λk ← zT

k Azk − σif |λk − λk−1 | < ε thenbreak

endifendforλk ← λk + σ

endproc

Exemplo 6.10 Seja a matriz do exemplo 6.9,

A =

2 −1 0−1 2 −1

0 −1 2

,

cujo menor autovalor e λ3 = 0, 5858 e o seu correspondente autvetor e x3 = (0, 5000, 0, 7071, 0, 5000)T .Se utilizarmos o algoritmo 6.5.3 com σ = 0, i.e. sem translacao da origem, a uma tolerancia

de 10−5 e vetor inicial z0 = (1, 0, 0)T , necessitaremos de 7 iteracoes para obter a aproximacao0, 5858 para o autovalor λ3 e (0, 5002, 0, 7071, 0, 4998)T para o correspondente autovetor.

No entanto, se usarmos o translacao da origem, com σ = 0, 5, necessitamos apenas de 4iteracoes para obter a mesma aproximacao; veja que∣∣∣∣ λ−1

2 − 0, 5λ−1

3 − 0, 5

∣∣∣∣ =∣∣∣∣ 0

0, 0858

∣∣∣∣ = 0 < 0, 2929 =∣∣∣∣ λ−1

2

λ−13

∣∣∣∣o que sugere o menor numero de iteracoes; na verdade, σ = 0, 5 e a melhor escolha possıvel, nessecaso.

Outro exemplo mostra como usar o metodo da iteracao inversa em conjunto com o teorema deGerschgorin, a fim de se determinar um autovalor especıfico.

Exemplo 6.11 Seja a matriz

A =

5 2 1

2 3 11 1 1

Os discos de Gerschgorin sao:

d1 : c1 = 5, r1 = 3d2 : c2 = 3, r2 = 3d3 : c3 = 1, r3 = 2

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 125

Page 17: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Suponha que desejamos aproximar o menor autovalor; como o disco d3 e aquele que se encontramais a esquerda em comparacao aos demais, podemos utilizar o seu centro como fator de transla-cao. Entao, utilizamos o metodo da iteracao inversa com σ = 1, vetor inicial z0 =

√3−1

(1, 1, 1)T

e tolerancia 10−5 e obtemos λ = 0, 5764 e z = (−0, 0597,−0, 3380, 0, 9393)T apos 10 iteracoes.Por outro lado, se tivessemos utilizado σ = c3 + r3, a convergencia para o mesmo autovalor seriaobtida em apenas 4 iteracoes.

6.5.4 O metodo da iteracao inversa e o quociente de Rayleigh

Como visto no teorema 6.2.2, o valor do autovalor dominante λ1 de uma matriz real simetricae o maximo do quociente de Rayleigh, dentre todos os vetores x �= 0. Isso nos permite utilizara expressao (6.12) juntamente com o metodo da iteracao inversa, conforme mostra o algoritmo6.5.4.

Algoritmo 6.5.4 Metodo da iteracao inversa com translacao viaquociente de Rayleigh)

proc iteracao inversa translacao(input: A, z0, ε, kmax;output: λk, zk)

z0 ← z0/|| z0 ||for k = 0, 1, . . . , kmax do

λk = zTk Azk

zTk

zk

Resolva o sistema (A− λkI)q = zk

zk ← q/|| q ||if || zk − zk−1 || < ε thenbreak

endifendfor

endproc

Note que, no algoritmo 6.5.4, um sistema de equacoes diferente e resolvido a cada iteracao, jaque uma nova estimativa λk e utilizada a cada iteracao. E possıvel, no entanto, que o sistemaA− λkI seja singular e, nesse caso, o processo deve ser terminado.

6.6 Exercıcios

Exercıcio 6.1 Determine os autovalores e autovetores correspondentes da matriz 1 −1 −1

0 2 50 0 −1

.

Exercıcio 6.2 Calcule o autovalor dominante de 10 9 8

3 5 67 2 −1

.

Exercıcio 6.3 Calcule o autovalor dominante e o autovetor correspondente da matriz 6 2 1

2 3 11 1 1

,

usando o metodo da potencia, com z0 = (1, 1, 1)T e tolerancia 10−5.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 126

Page 18: Autovalores e Autovetores.pdf

Introducao ao Calculo Numerico Autovalores e Autovetores

Exercıcio 6.4 Calcule o autovalor dominante e o autovetor correspondente da matriz 0 1 1−1 0 1−1 −1 0

,

usando o metodo da potencia, com z0 = (1, 1, 1)T e tolerancia 10−5.

Exercıcio 6.5 Explique o que acontece com o metodo da potencia para a matriz 2 1 −1

1 2 −11 −1 2

,

com z0 = (1, 1, 1)T e tolerancia 10−5, sabendo que os seus autovalores sao 1, 2 e 3. Repita paraz0 = (1, 0, 10−6)T .

Exercıcio 6.6 Utilize o metodo da iteracao inversa para calcular o menor autovalor da matriz 2 1 −1

1 2 −11 −1 2

,

com z0 = (1, 1, 1)T e tolerancia 10−5.

Exercıcio 6.7 Seja a matriz

A =

5 2 1

2 3 11 1 1

Explique o que ocorre com o metodo da iteracao inversa utilizado com σ = 3, z0 = (1, 0, 0)T etolerancia 10−5. Generalize a sua resposta.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 127