| | | |

Matemática Numérica III

Ajude a manter o site livre, gratuito e sem propagandas. Colabore!

3.1 Método da Potência

Em revisão

O método da potência é uma técnica iterativa para computar o autovalor dominante de uma matriz e um autovetor associado. Modificações do método, tornam possível sua aplicação para a determinação de outros autovalores próximos a um número dado. Desta forma, pode ser utilizá-lo em conjunto com outra técnica de aproximação de autovalores e autovetores.

3.1.1 Autovalor dominante

Em revisão

Vamos denotar o espectro de uma dada matriz An×n por

σ(A)={λ1,λ2,,λn}, (3.1)

sendo λi o i-ésimo autovalor de uma matriz diagonalizável5252endnote: 52Existe uma base de n×n formada apenas de autovetores de A. A=[ai,j]i,j=1n,n, i.e. existe um vetor 𝟎𝒗in tal que

A𝒗i=λi𝒗i, (3.2)

sendo 𝒗i chamado de autovetor associado a λi. No desenvolvimento do método da potência, vamos assumir que os autovalores podem ser ordenados da seguinte forma

|λ1|>|λ2||λn|. (3.3)

Assim sendo, o λ1 é chamado de autovalor dominante. Na sequência, vamos denotar por 𝑨H a transposta conjugada de A, i.e. AH=[a¯j,i]i,j=1n,n.

A iteração do método da potência consiste em

𝒛(k)=A𝒒(k1), (3.4)
𝒒(k)=𝒛(k)/𝒛(k), (3.5)
ν(k)=(𝒒(k))HA𝒒(k), (3.6)

com dada aproximação inicial 𝒒(0) para um autovetor associado a λ1. Quando o método é bem sucedido, tem-se ν(k)λ1 quando k.

Convergência

Para mostrar a convergência do método, basta mostrar que 𝒒(k) converge para um autovetor associado a λ1. Primeiramente, notamos que5353endnote: 53Segue por indução matemática.

𝒒(k)=Ak𝒒(0)Ak𝒒(0),k1. (3.7)

Para A diagonalizável, temos que existe uma base {𝒗1,𝒗2,,𝒗n} de n×n formada apenas de autovetores de A. Segue que

𝒒(0)=i=1nαi𝒗i, (3.8)

onde αi. Vamos assumir que α105454endnote: 54Condição necessária para a convergência.. Ainda, A𝒗i=λi𝒗i, donde

Ak𝒒(0) =i=1nαiAk𝒗i (3.9)
=i=1nαiλik𝒗i (3.10)
=α1λ1k[𝒗1+i=2nαiα1(λkλ1)k𝒗i] (3.11)

Como |λi|/|λ1|<1, i=2,,n, temos que

𝒚(k)=i=2nαiα1(λkλ1)k𝒗i0, (3.12)

quando k. Logo, temos que

𝒒(k) =α1λ1k(𝒗1+𝒚(k))α1λ1(𝒗1+𝒚(k)) (3.13)
=λ1|λ1|(𝒗1+𝒚(k))𝒗1+𝒚(k). (3.14)

Por fim, observamos que λ1/|λ1| tem o mesmo sinal de λ1. Portanto, 𝒒(k) tende a um múltiplo não nulo de 𝒗1 quando k.

Observação 3.1.1.(Aproximação Inicial)

A convergência do método da potência está condicionada a escolha de uma aproximação inicial tal que (3.8) seja tal que α10. Não há como saber a priori que o 𝒒(0) escolhido satisfaz essa condição e, caso não satisfaça as iterações não são convergentes.

Observação 3.1.2.(Taxa de convergência)

Pode-se mostrar a seguinte taxa de convergência para o método da potência

𝒒~(k)𝒗1C|λ2λ1|k,k1, (3.15)

onde

𝒒~(k)=𝒗1+i=2nαiα1(λiλ1)k𝒗i. (3.16)

Consulte [Quarteroni2007a, Seção 5.3.].

Código 12: Algoritmo do Método da Potência
1import numpy as np
2import numpy.linalg as npla
3
4def metPot(A, q0, maxiter=1000, tol=1e-14):
5 q = q0/npla.norm(q0)
6 nu0 = np.dot(q, A @ q)
7 print(f"{0}: {nu0}")
8
9 info = -1
10 for k in range(maxiter):
11 z = A @ q
12 q = z/npla.norm(z)
13 nu = np.dot(q, A @ q)
14
15 print(f"{k+1}: {nu}")
16 if (np.fabs(nu-nu0) < tol):
17 info = 0
18 break
19
20 nu0 = nu
21
22 return nu, q, info

Exercícios

E. 3.1.1.

Use o método da potência para computar o autovalor dominante da matriz de coeficientes do problema discreto associado ao Exercício LABEL:exer:pvc1d. Estude sua convergência para diferentes tamanhos da matriz.

E. 3.1.2.

Use o método da potência para computar o autovalor dominante da matriz de coeficientes do problema discreto associado ao Exemplo LABEL:ex:poisson. Estude sua convergência para diferentes tamanhos da matriz.

3.1.2 Método da Potência Inversa

Em revisão

Esta variação do método da potência nos permite computar o autovalor mais próximo de um número μ dado, μσ(A). A ideia é aplicar o método para a matriz

Mμ1=(AμI)1. (3.17)

Neste contexto, μ é chamado de deslocamento (em inglês, shift).

Notamos que se (λi,𝒗i) é um autopar de A, então ξi=(λiμ)1 é autovalor de Mμ1 associado ao autovetor 𝒗i. De fato,

(λiμ)𝒗i=(AμI)𝒗i (3.18)
Mμ1(λiμ)𝒗i=𝒗i (3.19)
Mμ1𝒗i=(λiμ)1𝒗i. (3.20)

Isso também mostra que A e Mμ1 têm os mesmos autovetores.

Agora, se μ for suficientemente próximo de λm, autovalor simples de A, então

|λmμ|<|λiμ|,i=1,2,,n,im. (3.21)

Com isso, ξm=(λmμ)1 é o autovalor dominante de Mμ1 e, portanto, a iteração do método da potência aplicada a Mμ1 fornece este autovalor. Mais especificamente, como A e Mμ1 tem os mesmos autovetores, a iteração do método da potência inversa é dada como segue

(AμI)𝒛(k)=𝒒(k1), (3.22)
𝒒(k)=𝒛(k)/𝒛(k), (3.23)
ν(k)=(𝒒(k))HA𝒒(k), (3.24)

onde 𝒒(0) é uma aproximação inicial para o autovetor associado ao autovalor λm, ν(k)λm quando k.

Exercícios

E. 3.1.3.

Use o método da potência para computar diferentes autovalores da matriz de coeficientes do problema discreto associado ao Exercício LABEL:exer:pvc1d. Estude sua convergência para diferentes tamanhos da matriz.

E. 3.1.4.

Use o método da potência para computar diferentes autovalores da matriz de coeficientes do problema discreto associado ao Exemplo LABEL:ex:poisson. Verifique se há vantagem em aplicar os métodos GMRES e GC na resolução de (3.22).

3.1.3 Métodos de Deflação

Em construção


Envie seu comentário

Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Opcional. Preencha seu nome para que eu possa lhe contatar.
Opcional. Preencha seu e-mail para que eu possa lhe contatar.
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a política de uso de dados para mais informações.

Licença Creative Commons
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.

Matemática Numérica III

Ajude a manter o site livre, gratuito e sem propagandas. Colabore!

3.1 Método da Potência

Em revisão

O método da potência é uma técnica iterativa para computar o autovalor dominante de uma matriz e um autovetor associado. Modificações do método, tornam possível sua aplicação para a determinação de outros autovalores próximos a um número dado. Desta forma, pode ser utilizá-lo em conjunto com outra técnica de aproximação de autovalores e autovetores.

3.1.1 Autovalor dominante

Em revisão

Vamos denotar o espectro de uma dada matriz An×n por

σ(A)={λ1,λ2,,λn}, (3.1)

sendo λi o i-ésimo autovalor de uma matriz diagonalizável5252endnote: 52Existe uma base de n×n formada apenas de autovetores de A. A=[ai,j]i,j=1n,n, i.e. existe um vetor 𝟎𝒗in tal que

A𝒗i=λi𝒗i, (3.2)

sendo 𝒗i chamado de autovetor associado a λi. No desenvolvimento do método da potência, vamos assumir que os autovalores podem ser ordenados da seguinte forma

|λ1|>|λ2||λn|. (3.3)

Assim sendo, o λ1 é chamado de autovalor dominante. Na sequência, vamos denotar por 𝑨H a transposta conjugada de A, i.e. AH=[a¯j,i]i,j=1n,n.

A iteração do método da potência consiste em

𝒛(k)=A𝒒(k1), (3.4)
𝒒(k)=𝒛(k)/𝒛(k), (3.5)
ν(k)=(𝒒(k))HA𝒒(k), (3.6)

com dada aproximação inicial 𝒒(0) para um autovetor associado a λ1. Quando o método é bem sucedido, tem-se ν(k)λ1 quando k.

Convergência

Para mostrar a convergência do método, basta mostrar que 𝒒(k) converge para um autovetor associado a λ1. Primeiramente, notamos que5353endnote: 53Segue por indução matemática.

𝒒(k)=Ak𝒒(0)Ak𝒒(0),k1. (3.7)

Para A diagonalizável, temos que existe uma base {𝒗1,𝒗2,,𝒗n} de n×n formada apenas de autovetores de A. Segue que

𝒒(0)=i=1nαi𝒗i, (3.8)

onde αi. Vamos assumir que α105454endnote: 54Condição necessária para a convergência.. Ainda, A𝒗i=λi𝒗i, donde

Ak𝒒(0) =i=1nαiAk𝒗i (3.9)
=i=1nαiλik𝒗i (3.10)
=α1λ1k[𝒗1+i=2nαiα1(λkλ1)k𝒗i] (3.11)

Como |λi|/|λ1|<1, i=2,,n, temos que

𝒚(k)=i=2nαiα1(λkλ1)k𝒗i0, (3.12)

quando k. Logo, temos que

𝒒(k) =α1λ1k(𝒗1+𝒚(k))α1λ1(𝒗1+𝒚(k)) (3.13)
=λ1|λ1|(𝒗1+𝒚(k))𝒗1+𝒚(k). (3.14)

Por fim, observamos que λ1/|λ1| tem o mesmo sinal de λ1. Portanto, 𝒒(k) tende a um múltiplo não nulo de 𝒗1 quando k.

Observação 3.1.1.(Aproximação Inicial)

A convergência do método da potência está condicionada a escolha de uma aproximação inicial tal que (3.8) seja tal que α10. Não há como saber a priori que o 𝒒(0) escolhido satisfaz essa condição e, caso não satisfaça as iterações não são convergentes.

Observação 3.1.2.(Taxa de convergência)

Pode-se mostrar a seguinte taxa de convergência para o método da potência

𝒒~(k)𝒗1C|λ2λ1|k,k1, (3.15)

onde

𝒒~(k)=𝒗1+i=2nαiα1(λiλ1)k𝒗i. (3.16)

Consulte [Quarteroni2007a, Seção 5.3.].

Código 12: Algoritmo do Método da Potência
1import numpy as np
2import numpy.linalg as npla
3
4def metPot(A, q0, maxiter=1000, tol=1e-14):
5 q = q0/npla.norm(q0)
6 nu0 = np.dot(q, A @ q)
7 print(f"{0}: {nu0}")
8
9 info = -1
10 for k in range(maxiter):
11 z = A @ q
12 q = z/npla.norm(z)
13 nu = np.dot(q, A @ q)
14
15 print(f"{k+1}: {nu}")
16 if (np.fabs(nu-nu0) < tol):
17 info = 0
18 break
19
20 nu0 = nu
21
22 return nu, q, info

Exercícios

E. 3.1.1.

Use o método da potência para computar o autovalor dominante da matriz de coeficientes do problema discreto associado ao Exercício LABEL:exer:pvc1d. Estude sua convergência para diferentes tamanhos da matriz.

E. 3.1.2.

Use o método da potência para computar o autovalor dominante da matriz de coeficientes do problema discreto associado ao Exemplo LABEL:ex:poisson. Estude sua convergência para diferentes tamanhos da matriz.

3.1.2 Método da Potência Inversa

Em revisão

Esta variação do método da potência nos permite computar o autovalor mais próximo de um número μ dado, μσ(A). A ideia é aplicar o método para a matriz

Mμ1=(AμI)1. (3.17)

Neste contexto, μ é chamado de deslocamento (em inglês, shift).

Notamos que se (λi,𝒗i) é um autopar de A, então ξi=(λiμ)1 é autovalor de Mμ1 associado ao autovetor 𝒗i. De fato,

(λiμ)𝒗i=(AμI)𝒗i (3.18)
Mμ1(λiμ)𝒗i=𝒗i (3.19)
Mμ1𝒗i=(λiμ)1𝒗i. (3.20)

Isso também mostra que A e Mμ1 têm os mesmos autovetores.

Agora, se μ for suficientemente próximo de λm, autovalor simples de A, então

|λmμ|<|λiμ|,i=1,2,,n,im. (3.21)

Com isso, ξm=(λmμ)1 é o autovalor dominante de Mμ1 e, portanto, a iteração do método da potência aplicada a Mμ1 fornece este autovalor. Mais especificamente, como A e Mμ1 tem os mesmos autovetores, a iteração do método da potência inversa é dada como segue

(AμI)𝒛(k)=𝒒(k1), (3.22)
𝒒(k)=𝒛(k)/𝒛(k), (3.23)
ν(k)=(𝒒(k))HA𝒒(k), (3.24)

onde 𝒒(0) é uma aproximação inicial para o autovetor associado ao autovalor λm, ν(k)λm quando k.

Exercícios

E. 3.1.3.

Use o método da potência para computar diferentes autovalores da matriz de coeficientes do problema discreto associado ao Exercício LABEL:exer:pvc1d. Estude sua convergência para diferentes tamanhos da matriz.

E. 3.1.4.

Use o método da potência para computar diferentes autovalores da matriz de coeficientes do problema discreto associado ao Exemplo LABEL:ex:poisson. Verifique se há vantagem em aplicar os métodos GMRES e GC na resolução de (3.22).

3.1.3 Métodos de Deflação

Em construção


Envie seu comentário

Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Opcional. Preencha seu nome para que eu possa lhe contatar.
Opcional. Preencha seu e-mail para que eu possa lhe contatar.
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a política de uso de dados para mais informações.

Licença Creative Commons
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.

Pedro H A Konzen
| | | |