| | | |

Matemática numérica I

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

4.1 Método de Newton

Consideramos o problema de encontrar

𝒙=(x1,x2,…,xn)∈ℝn (4.2)

tal que

F⁢(𝒙)=𝟎, (4.3)

onde F:ℝn→ℝn é uma dada função vetorial com

F⁢(𝒙)=(f1⁢(𝒙),f2⁢(𝒙),…,fn⁢(𝒙))∈ℝn. (4.4)

Sejam 𝒙∗ a solução exata de (4.3) e 𝒙(0) uma dada aproximação de 𝒙∗. Assim sendo, tomamos a seguinte expansão de F em polinômio de Taylor111Brook Taylor, 1685 - 1731, matemático britânico. Fonte: Wikipédia: Brook Taylor.:

F⁢(𝒙∗)=F⁢(𝒙(0))+JF⁢(𝒙(0))⁢(𝒙∗−𝒙(0))+𝒓, (4.5)

onde JF é a matriz jacobiana222Carl Gustav Jakob Jacobi, 1804 - 1851, matemático alemão. Fonte: Wikipédia: Carl Gustav Jakob Jacobi. de F

JF⁢(𝒙) :=∂(f1,f2,…,fn)∂(x1,x2,…,xn) (4.6)
:=[∂f1∂x1∂f1∂x2…∂f1∂xn∂f2∂x1∂f2∂x2…∂f2∂xn⋮⋮⋮⋮∂fn∂x1∂fn∂x2…∂fn∂xn] (4.7)

e ‖𝒓‖2→0 quando ‖𝒙(0)−𝒙∗‖→0.

Daí, como F⁢(𝒙∗)=𝟎, segue que

JF⁢(𝒙(0))⁢(𝒙∗−𝒙(0))≈−F⁢(𝒙(0)). (4.8)

Então, multiplicando a inversa da jacobiana à esquerda, obtemos

𝒙∗−𝒙(0)≈−JF−1⁢(𝒙(0))⁢F⁢(𝒙(0)) (4.9)

e, também,

𝒙∗≈𝒙(0)−JF−1⁢(𝒙(0))⁢F⁢(𝒙(0)). (4.10)

O exposto acima nos motiva a iteração de Newton333Isaac Newton, 1642 - 1727, matemático, físico, astrônomo, teólogo e autor inglês. Fonte: Wikipédia: Isaac Newton.:

𝒙(0)=aprox. inicial, (4.11)
𝒙(k+1)=𝒙(k)−JF−1⁢(𝒙(k))⁢F⁢(𝒙(k)), (4.12)

com k=0,1,2,….

Exemplo 4.1.1.

Seja o sistema de equações não lineares

x1⁢x22=x12⁢x2−6, (4.13)
x12⁢x23−7=−x1. (4.14)

Para usarmos o método de Newton, reescrevemos o sistema na seguinte forma

x1⁢x22−x12⁢x2+6=0, (4.15)
x1+x12⁢x23−7=0. (4.16)

Com isso, identificamos a função objetivo

F⁢(𝒙)=[f1⁢(𝒙)f2⁢(𝒙)] (4.17)
=[x1⁢x22−x12⁢x2+6x1+x12⁢x23−7] (4.18)

e calculamos sua matriz jacobiana

JF⁢(𝒙)=∂(f1,f2)∂(x1,x2) (4.19)
=[∂f1∂x1∂f1∂x2∂f2∂x1∂f2∂x2] (4.20)
=[x22−2⁢x1⁢x22⁢x1⁢x2−x121+2⁢x1⁢x233⁢x12⁢x22] (4.21)

Definidas F e JF e tomando a aproximação inicial

𝒙(0)=(−1.5,1.5) (4.22)

computamos as iterações de Newton e obtemos os resultados apresentados na Tabela 4.1.

Tabela 4.1: Resultados referentes ao Exemplo 4.1.1.
k 𝒙(k) ‖F⁢(𝒙(k))‖
0 (−1.50,1.50) 1.2⁢e+0
1 (−1.07,1.82) 1.2⁢e+0
2 (−9.95⁢e−1,2.00) 7.6⁢e−2
3 (−1.00,2.00) 1.2⁢e−4
4 (−1.00,2.00) 2.1⁢e−9
1import numpy as np
2import numpy.linalg as npla
3
4def newton(F, J, x0,
5 maxiter=100, tol=1.49e-8):
6 print(f'\n{0}: x = {x0}, ' + \
7 f'norm = {npla.norm(F(x0)):.1e}')
8 info = -1
9 for k in range(maxiter):
10 x = x0 - npla.inv(J(x0))@F(x0)
11 print(f'{k+1}: x = {x}, ' + \
12 f'norm = {npla.norm(F(x)):.1e}')
13 if (npla.norm(x - x0) < tol):
14 info = 0
15 break
16 x0 = x.copy()
17 return x, info
18
19def F(x):
20 n = x.size
21 y = np.empty(n)
22 y[0] = x[0]*x[1]**2 - x[0]**2*x[1] + 6
23 y[1] = x[0] + x[0]**2*x[1]**3 - 7
24 return y
25
26def J(x):
27 n = x.size
28 y = np.empty((n,n))
29 y[0,0] = x[1]**2 - 2*x[0]*x[1]
30 y[0,1] = 2*x[0]*x[1] - x[0]**2
31 y[1,0] = 1 + 2*x[0]*x[1]**3
32 y[1,1] = 3*x[0]**2*x[1]**2
33 return y
34
35x0 = np.array([-1.5, 1.5])
36x, info = newton(F, J, x0)

4.1.1 Análise numérica

Para uma função F suficientemente suave e com uma escolha apropriada da aproximação inicial 𝒙(0), temos que as iterações de Newton

𝒙(k+1)=𝒙(k)−JF−1⁢(𝒙(k))⁢F⁢(𝒙(k)), (4.23)

com k=0,1,2,…, são quadraticamente convergentes444Para informações mais precisas sobre a convergência do Método de Newton, consulte [8, Seção 5.3]., i.e.

‖𝒙(k+1)−𝒙∗‖≤C⁢‖𝒙(k)−𝒙∗‖2, (4.24)

onde 𝒙∗ é a solução exata, i.e. F⁢(𝒙∗)=𝟎.

Exemplo 4.1.2.

Consideremos o seguinte sistema de equações não lineares

x1⁢x22−x12⁢x2+6=0, (4.25)
x1+x12⁢x23−7=0. (4.26)

A Figura 4.1 é um esboço do gráfico da ‖F⁢(⋅)‖. Este problema foi confeccionado de forma que 𝒙∗=(−1,2). Então, tomando 𝒙(0)=(1.5,1.5) como aproximação inicial, computamos as iterações de Newton para este problema, donde obtemos os resultados reportados na Tabela 4.2.

Refer to caption
Figura 4.1: Esboço do gráfico de ‖F⁢(⋅)‖ referente ao Exemplo 4.1.2.
k 𝒙(k) ‖𝒙(k)−𝒙∗‖
0 (−1.50,1.50) 7.1⁢e−01
1 (−1.07,1.82) 2.0⁢e−01
2 (−9.95⁢e−1,2.00) 5.1⁢e−03
3 (−1.00,2.00) 2.6⁢e−05
4 (−1.00,2.00) 2.0⁢e−10
5 (−1.00,2.00) 3.1⁢e−16
Tabela 4.2: Resultados referentes ao Exemplo 4.1.2.

4.1.2 Exercícios

E. 4.1.1.

Use o Método de Newton para computar uma solução aproximada para o sistema de equações

x123+x22=1 (4.27)
x12+x224=1 (4.28)

Soluções exatas: 𝒙=±(911,811).

E. 4.1.2.

Use o Método de Newton, com aproximação inicial 𝒙(0)=(1.5,0.5) para computar uma solução aproximada para o sistema de equações

x12=cos⁡(x1⁢x2)+1 (4.29)
sen⁡(x2)=2⁢cos⁡(x1) (4.30)

𝒙=(1.3468109,0.4603195)

E. 4.1.3.

Use o Método de Newton, com aproximação inicial 𝒙(0)=(1,−1) para computar uma solução aproximada para o sistema de equações

3⁢x1=cos⁡(x1⁢x2)+12 (4.31)
4⁢x12+2⁢x2⁢x1=0 (4.32)

𝒙=(4.668417⁢e−1,−9.368334⁢e−1)

E. 4.1.4.

Use o método de Newton para obter uma aproximação de uma solução de

x2⁢sen⁡(x3)+x1−2=0, (4.33)
x1⁢x2−sen⁡(x2)+0.2=0, (4.34)
x32+cos⁡(x1⁢x2)−4.5=0. (4.35)

Para tanto, use 𝒙(1)=(1,−1,−1).


𝒙=(1.7519⁢e+0,−2.6202⁢e−1,−1.8983⁢e+0)

E. 4.1.5.

Considere o problema de encontrar os pontos de interseção no plano x−y da elipse

x24+y29=1 (4.36)

com a curva

x=y2⁢x. (4.37)

Escreva o problema na forma F⁢(𝒙)=𝟎 e use o Método de Newton para encontrar o ponto de interseção próximo de (x,y)=(1.5,1.5).


x=1.842996⁢e+0, y=1.165148⁢e+0


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