| | | |

Matemática numérica I

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

2.4 Método de Steffensen

O método de Steffensen101010Johan Frederik Steffensen, 1873 - 1961, matemático, estatístico e atuário dinamarquês. Fonte: Wikipédia: Johan Frederik Steffensen. é uma aplicação do método de aceleração de convergência Δ2 de Aitken111111Alexander Craig Aitken, 1895 - 1967, matemático neozelandês. Fonte: Wikipédia: Alexander Aitken. à iteração de ponto fixo.

2.4.1 Acelerador Δ2 de Aitken

Seja dada uma sequência (x(k))k=1∞ monotonicamente convergente para x∗. Assumimos que k seja suficientemente grande tal que

x(k+1)−x∗x(k)−x∗≈x(k+2)−x∗x(k+1)−x∗. (2.107)

Então, isolando x∗ obtemos

x∗≈x(k)⁢x(k+2)−(x(k+1))2x(k)−2⁢x(k+1)+x(k+2). (2.108)

Ainda, somando e subtraindo (x(k))2 e 2⁢x(k)⁢x(k+1) no numerador acima e rearranjando os termos, obtemos

x∗≈x(k)−(x(k+1)−x(k))2x(k+2)−2⁢x(k+1)+x(k). (2.109)

O observado acima, nos motiva a introduzir o acelerador Δ2 de Aitken

Δ2⁢{x(k),x(k+1),x(k+2)}:=x(k)−(x(k+1)−x(k))2x(k+2)−2⁢x(k+1)+x(k). (2.110)
Exemplo 2.4.1.

Consideremos o problema de encontrar o zero da função

f⁢(x)=sen2⁡(x+π4)−x3
+π4⁢x2+5⁢π216⁢x+3⁢π364. (2.111)

no intervalo [2,3]. Para tanto, podemos aplicar a iteração de ponto fixo dada por

x(k+1)=g⁢(x(k)) (2.112)
:=x(k)−αf(x(k)),k=1,2,…, (2.113)

com α=−0.05 e x(0)=2.6. Na Tabela 2.7 temos os valores das iteradas x(k) e das correções Δ2=Δ2⁢{x(k),x(k+1),x(k+2)} de Aitken. Neste caso, a aceleração de convergência é notável.

Tabela 2.7: Resultados referentes ao Exemplo 2.4.1.
k x(k) Δ2
0 2.6000 -x-
1 2.4632 -x-
2 2.4073 2.3687
3 2.3814 2.3590
4 2.3688 2.3569
5 2.3625 2.3564
6 2.3594 2.3562
7 2.3578 2.3562
1import numpy as np
2
3# fun obj
4f = lambda x: np.sin(x+np.pi/4)**2 \
5 - x**3 + np.pi/4*x**2 + 5*np.pi**2/16*x \
6 + 3*np.pi**3/64
7
8# fun pto fixo
9alpha = -0.05
10g = lambda x: x - alpha*f(x)
11
12x0 = 2.6
13print(f'\n1: {x0:.4f}')
14for k in range(7):
15 x1 = g(x0)
16 x2 = g(x1)
17 x = x0 - (x1-x0)**2/(x2-2*x1+x0)
18 print(f'\n{k+2}: {x1:.4f}, {x:.4f}')
19 x0 = x1

2.4.2 Análise numérica

Definição 2.4.1.(Diferença progressiva)

Para uma sequência (x(k))k=1∞, Δ⁢x(k) denota o operador de diferença progressiva e é definido por

Δ⁢x(k):=x(k+1)−x(k) (2.114)

Potências maiores do operador são definidas recursivamente por

Δn⁢x(k)=Δ⁢(Δn−1⁢x(k)),n≥2. (2.115)

Da definição acima, temos que

Δ2⁢x(k):=Δ⁢(δ⁢x(k)) (2.116)
=Δ(x(k+1)−x(k)) (2.117)
=Δx(k+1)−Δx(k) (2.118)
=(x(k+2)−x(k+1))−(x(k+1)−x(k)) (2.119)
=x(k+2)−2x(k+1)+x(k) (2.120)

Com isso, temos que o acelerador Δ2 de Aitken (2.110) pode ser reescrito como

Δ2⁢{x(k),x(k+1),x(k+2)}:=x(k)−(Δ⁢x(k))2Δ2⁢x(k). (2.121)
Teorema 2.4.1.

Seja (x(k))k=1∞ uma sequência linearmente convergente para x∗ e

limk→∞x(k+1)−x∗x(k)−x∗<1. (2.122)

Então, a sequência Δ2 de Aitken (x^(k))k=1∞, com

x^(k):=Δ2⁢{x(k),x(k+1),x(k+2)}, (2.123)

converge para x∗ mais rápido que (x(k)) no sentido de que

limk→∞x^(k)−x∗x(k)−x∗=0. (2.124)
Demonstração.

Em construção …∎

2.4.3 Algoritmo de Steffensen

O método de Steffensen consiste em aplicar o acelerador Δ2 de Aitken à iteração de ponto fixo. Mais especificamente, sejam uma aproximação inicial x(0) e uma iteração de ponto fixo

x(k+1)=g⁢(x(k)),k=0,1,2,…. (2.125)

O algoritmo de Steffensen consiste em:

  1. 1.

    x←x(0).

  2. 2.

    Para k=0,1,2,…,N−1:

    1. (a)

      x1←g⁢(x).

    2. (b)

      x2←g⁢(x1).

    3. (c)

      x(k+1)←Δ2⁢{x,x1,x2}.

    4. (d)

      x←x(k+1).

Exemplo 2.4.2.

Retornamos ao exemplo anterior Exemplo 2.4.1. Na Tabela 2.8 temos os valores das iteradas de Steffensen x(k) e do indicador de convergência |x(k)−x(k−1)|.

Tabela 2.8: Resultados referentes ao Exemplo 2.4.2.
k x(k) |x(k)−x(k−1)|
0 2.6000 -x-
1 2.3687 2.3⁢e−1
2 2.3562 1.2⁢e−2
3 2.3562 4.2⁢e−5
1import numpy as np
2
3# fun obj
4f = lambda x: np.sin(x+np.pi/4)**2 \
5 - x**3 + np.pi/4*x**2 + 5*np.pi**2/16*x \
6 + 3*np.pi**3/64
7
8# fun pto fixo
9alpha = -0.05
10g = lambda x: x - alpha*f(x)
11
12x0 = 2.6
13print(f'\n1: {x0:.4f}')
14for k in range(3):
15 x1 = g(x0)
16 x2 = g(x1)
17 x = x0 - (x1-x0)**2/(x2-2*x1+x0)
18 nd = np.fabs(x-x0)
19 print(f'\n{k+2}: {x:.4f}, {nd:.1e}')
20 x0 = x

2.4.4 Exercícios

E. 2.4.1.

Use o método de Steffensen para obter uma aproximação do zero de f⁢(x)=x3⁢sen⁡(x)−cos⁡(x) no intervalo [0.5,1] com precisão de 10−6.


9.15811⁢e−1

E. 2.4.2.

Use o Método da Iteração de Ponto Fixo para aproximar um zero de

f⁢(x)=x3⁢sen⁡(x)−cos⁡(x) (2.126)

no intervalo inicial [0.5,1].

E. 2.4.3.

Use o Método de Steffensen para computar a(s) solução(ões) das seguintes equações com precisão de 8 dígitos significativos.

  1. a)

    x=2−x para 0≤x≤2.

  2. b)

    e−x2=3⁢x−x2 para −1≤x≤4.


a) 6.4118574⁢e−1; b) 3.3536470⁢e−1; 2.9999589

E. 2.4.4.

Use o Método de Steffensen para encontrar uma aproximação com precisão de 4 dígitos significativos do zero de

f⁢(x)=(−x2+1.154⁢x−0.332929)⁢cos⁡(x)+x2−1.154⁢x+0.332929 (2.127)

no intervalo [−1,0].


−7.861⁢e−1

E. 2.4.5.

Use o Método de Steffensen para encontrar uma aproximação com precisão de 10−4 do zero de

f⁢(x)=(−x2+1.154⁢x−0.332929)⁢cos⁡(x)+x2
−1.154⁢x+0.332929 (2.128)

no intervalo (0.55,0.65). Forneça a aproximação computada com 7 dígitos significativos por arredondamento.


5.770508⁢e−1

E. 2.4.6.

Use o Método de Steffensen para encontrar o ponto crítico121212Definimos que x é ponto crítico de uma dada f, quando f′⁢(x)=0 ou ∄⁢f′⁢(x). de

f⁢(x)=(1−x2)⁢e−x2 (2.129)

no intervalo (0,2). Obtenha o resultado com precisão de 5 dígitos significativos por arredondamento.


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
| | | |