Está en la página 1de 32

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Métodos para equações


não-lineares

Ricardo Biloti
biloti@ime.unicamp.br

Cálculo Numérico – UNICAMP

1S/2016
http://goo.gl/rYq41

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares Seus direitos e deveres são:

• Você é livre para copiar e redistribuir este material, em qualquer meio ou formato,
Licença para adaptá-lo, transformá-lo ou utilizá-lo para construir seu próprio material.

• Você deve dar os créditos apropriados, fornecendo link para a licença e indicando se
alterações foram feitas. Você pode fazer isto de qualquer forma razoável, porém sem
tentar passar a ideia ou sugerir que o autor endosse suas alterações ou seu uso do
material.

• Você não pode utilizar este material para fins comerciais.

• Se você alterar, transformar ou construir seu próprio material com base neste
trabalho, você deverá distribuı́-lo sob a mesma licença usada no original.

Este trabalho é licenciado sob os termos da Licença Internacional


Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0.

Para ver uma cópia desta licença, visite


http://creativecommons.org/licenses/by-nc-sa/4.0/.

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
Suponha que um canhão dispara projéteis a uma velocidade v0 . O objetivo é calibrar o
ângulo de tiro para que o projétil acerte um alvo à distância d conhecida.
Exemplo Após o disparo, a única força agindo sobre o projétil é a força da gravidade.

y 00 (t) = −g
y (0) = 0, y 0 (0) = v0 sin θ

g 2
y (t) = (v0 sin θ)t − t
2

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


O momento do impacto pode ser encontrado resolvendo-se y (T ) = 0. Feito isso, sabendo-
se que a distância horizontal percorrida é (v0 cos θ)T , para calibrar o ângulo de tiro basta
resolver a equação não-linear em θ, f (θ) = 0.
Exemplo

g 2
y (t) = (v0 sin θ)t − t
2
Impacto:
2v0 sin θ
y (T ) = 0 ⇒ T =
g
Distância percorrida:

(v0 cos θ)T = d

2v02 sin θ cos θ


f (θ) ≡ −d =0
g

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
Antes de tentar resolver uma equação como esta, devemos pensar sobre algumas questões:

Exemplo • A equação tem solução? O que poderia acontecer com um método numérico para
aproximar a solução de equações quando aplicado a uma equação que não tenha
solução?

• Havendo solução, será que ela é única? Como um método numérico se comportaria se
a equação que ele tenta resolver tivesse mais de uma solução? Ele deveria encontrar
2v02 sin θ cos θ todas? Ele encontraria alguma? Ele ficaria indeciso sobre qual solução aproximar?
f (θ) ≡ −d =0
g
• Será que todas as soluções da equação fazem sentido fı́sico? O método numérico tem
obrigação de encontrar a solução que eu quero? É possı́vel guiar o método para
I Pode não ter solução (d > v02 /g ) buscar uma solução especı́fica?

I Pode não haver unicidade • Será que não tem como simplificar a equação, antes de aplicar um método numérico?
Isto pode fazer a diferença entre o método ser bem sucedido ou não, ou mesmo na
velocidade com que a uma aproximação é obtida.
I Nem todas as soluções fazem sentido
• Por fim, como muito métodos (como veremos) utilizam informação de derivada, é
I f pode ser simplificada? preciso saber se f pode ou não ser diferenciada. Isso influencia a escolha do método
numérico.
I f pode ser diferenciada?

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Uma função contı́nua que troca de sinal nos extremos de um intervalo, tem que ter
atravessado o eixo das ordenadas. Essa é a essência do Teorema de Bolzano. Esse é o
principal resultado utilizado para garantir a existência de um ponto onde a função se anula.
Existência Esse teorema é consequência direta do Teorema do Valor Intermediário.

Mesmo que a função não troque de sinal nos extremos de um intervalo, ainda pode haver
Teorema de Bolzano pontos onde a função se anula. Observe o gráfico e imagine que o intervalo de interesse,
ao invés de ser [a, b] fosse [0, b]. A função é positiva tanto em 0 como em b, mas mesmo
Seja f é contı́nua em [a, b]. Se f (a) · f (b) < 0, então existe assim, se anula em dois pontos no interior deste intervalo.
x ∈ (a, b) tal que f (x) = 0.
A dificuldade em aplicar esse resultado é conseguir exibir um intervalo [a, b] onde f (a) e f (b)
têm sinais opostos. Isso é feito principalmente por tentativa e erro.

a
x b

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
Como todo polinômio é contı́nuo e exibimos dois pontos, −3 e 3, onde o valor de f troca de
sinal, pelo Teorema de Bolzano, é possı́vel garantir que há pelo menos um zero de f nesse
intervalo.
Exemplo

f (x) = x 3 − 6x + 3

f (−3) = −6, f (3) = 12

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Enquanto que a existência de zeros para funções contı́nuas é garantida examinando-se apenas
os extremos de intervalos, a unicidade não pode ser assegurada sem que todo o intervalo
seja analisado.
Unicidade
Note que garantir que não exista apenas um zero em um intervalo é o mesmo que pedir que
a função corte o eixo das ordenadas uma única vez. Uma maneira de garantir isso é pedir
Teorema que a função seja estritamente crescente (se f (a) < 0 < f (b)) ou estritamente decrescente
(se f (a) > 0 > f (b)). Dessa forma, após cruzar o eixo uma vez não haveria como cruzá-lo
Seja f é diferenciável em [a, b]. Se f (a) · f (b) < 0 e f 0 (x) não novamente. Essa é a essência do teorema apresentado.
troca de sinal em (a, b), então existe um único x ∈ (a, b) tal que
Atenção: para dizer que uma função é estritamente crescente no intervalo (a, b) é preciso
f (x) = 0. verificar se f 0 (x) > 0 para todo x ∈ (a, b), e não apenas nos pontos a e b. O mesmo vale
para funções estritamente decrescentes.

a
x b

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
No exemplo anterior, havı́amos concluı́do que f tinha zeros no intervalo [−3, 3]. Entretanto
f 0 troca de sinal nesse intervalo. Logo, não é possı́vel assegura a unicidade da solução da
equação f (x) = 0.
Exemplo √
Porém
√ é fácil verificar que f 0 (x) > 0 se x > 2, isto é f é estritamente crescente depois de
2. Como f (1.5) < 0 < f (3), podemos assegurar que no intervalo (1.5, 3) há apenas um
zero de f .

f (x) = x 3 − 6x + 3, f 0 (x) = 3x 2 − 6

f (−3) = −6, f (3) = 12


f 0 (−3) > 0, f 0 (0) < 0
Porém

f 0 (x) > 0, se x > 2, e f (1.5) < 0, f (3) > 0

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


A função f não está definda para x < 0. Observe que f (1) < 0 < f (2). Além disso,
5
f 0 (x) = 2x − √ e não é difı́cil perceber que f 0 (x) > 0 se x > 1. Logo, existe um único
Exercı́cio 2 5x
zero de f no intervalo (1, 2).

Para a função abaixo, tente localizar seus zeros. Dentro de cada


intervalo que você encontrou, é possı́vel garantir que a função tem
apenas um zero?
√ 1
f (x) = x 2 − 5x +
4

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
No método da bissecção, parte-se de um intervalo inicial [a, b] onde f (a) · f (b) < 0.
Calcula-se então o valor da função no ponto médio e com base nisso reduz-se o intervalo de
maneira a ficar com o subintervalo da direita ou da esquerda onde ainda é possı́vel observar
Método da bissecção a alternância de sinal da função.

Dessa forma, sucessivamente o intervalo de confinamento do zero da função é contraı́do.

b
a

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Método da bissecção

b
a

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Método da bissecção

b
a a

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Método da bissecção

b
a a

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Método da bissecção

b b
a a

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Método da bissecção

b b
a a

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Método da bissecção

b b
a a a

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Método da bissecção

b b
a a a

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Método da bissecção

b b
a a a

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


A grande dificuldade para a aplicação do método da bissecção é a sua inicialização, que
requer a determinação de um intervalo inicial [a, b] onde haja a alternância de sinal no
valores da função.
Caracterı́sticas
Uma vez iniciado, o método a bissecção tem convergência assegurada, porém a obtenção
de uma aproximação com a precisão desejada pode implicar numa grande quantidade de
iterações. O grande problema disso é que, em algumas situações de interesse real, a avaliação
da função f pode ser muito cara.

I [a, b]?

I Convergência assegurada (dado [a, b])

I Convergência lenta

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
O método de Newton parte do fato de que encontrar o zero de uma reta é simples e uma
função diferenciável pode ser aproximada pela reta tangente, pelo menos próximo do ponto
de tangência. Desta forma, se xk é uma aproximação para o zero de f , no método de Newton,
Aproximação linear a função é aproximada pela reta tangente no ponto xk e depois é computado o zero da reta
tangente. Esse ponto é então definido como a nova aproximação para o zero da função,
denotada por xk+1 .
y

xk+1 xk x

r (x) = f (xk ) + f 0 (xk )(x − xk )

f (xk )
r (xk+1 ) = 0 ⇒ xk+1 = xk −
f 0 (xK )

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Em linhas gerais, o algoritmo para o método de Newton é bem simples.

Parte-se de uma aproximação inicial para o zero da função, denominada x0 .


Método de Newton
Depois, sucessivamente computam-se as aproximações seguintes pela fórmula de iteração,
desde que em nenhum dos iterandos a derivada seja nula.

I Seja x0 uma aproximação razoável de x∗


I Para k = 0, 1, 2, . . .
f (xk )
I Se f 0 (xk ) 6= 0, xk+1 = xk −
f 0 (xk )

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

O problema de computar 3 pode ser formulado como encontrar o zero da função
√ f (x) = x 2 − 3. Desta forma a iteração de Newton é dada por xk+1 = (xk + 3/xk )/2.
Exemplo: aproximando 3 Como aproximação inicial, escolhemos x0 = 2. Após
√ duas iterações de Newton já temos uma
aproximação para a qual f (x) ≈ 2 · 10−4 e |x2 − 3| ≈ 5 · 10−5 .

f (xk ) Observe o quão rápido conseguimos progredir de uma aproximação inicial grosseira para uma
xk+1 = xk − aproximação aceitável. De fato, uma grande vantagem do método de Newton é sua velocidade
f 0 (xk ) de convergência.

f (x) = x 2 − 3, f 0 (x) = 2x

x2 − 3
 
1 3
xk+1 = xk − k = xk +
2xk 2 xk

x0 = 2, f (x0 ) = 1
x02
−3
x1 = x0 − = 1.7500, f (x1 ) = 0.0625
2x0
x2 − 3
x2 = x1 − 1 = 1.7321, f (x2 ) = 0.0002
2x1
http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Outra maneira de chegarmos ao método de Newton é através da expansão de Taylor de
primeira ordem. Ao utilizar tal caminho é possı́vel estimar também a taxa de convergência
do método.
Taylor ⇒ Newton
Teorema de Taylor: Seja f : [a, b] → R uma função com n derivadas contı́nuas em [a, b] e
f (n+1) contı́nua em (a, b). Então existe c ∈ (a, b) tal que

Se f ∈ C 2 então
f 00 (a) f (n) (a) f (n+1) (c)
f (x∗ ) = f (x) + f 0 (x)(x∗ − x) + O(|x∗ − x|2 ) f (b) = f (a) + f 0 (a)(b − a) + (b − a)2 + · · · + (b − a)n + (b − a)n+1 .
2 n! (n + 1)!
| {z }
Tn (b)
Se x for uma aproximação razoável para x∗ , então |x∗ − x| é
pequeno. Logo Isto significa que
|f (b) − Tn (b)| ≤ K (b − a)n+1 .
0 = f (x∗ ) ≈ f (x) + f 0 (x)(x∗ − x)
ou, se f 0 (x) 6= 0,
f (x)
x∗ ≈ x −
f 0 (x)

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

História

1600 François Viète prôpos técnica de perturbação para solução


de equações polinomiais escalares.
1664 Newton conhece o trabalho de Viète.
1669 Newton aperfeiçoa Viète, linearizando os sucessivos
polinômios.
1687 O método é aplicado à primeira equação não polinomial.
1690 Joseph Raphson transforma o método em iterativo.
1740 Thomas Simpson introduz derivadas e extende o método
para sistemas de equações.

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


O núcleo do algoritmo para o método de Newton é bem simples. Ele consiste apenas de
computar sucessivamente uma aproximação linear para a função e resolver o problema de
encontrar o zero dessa aproximação, tomando-o como nova estimativa para o zero da função.
Algoritmo
Entretando, ao sair do campo teórico para o computacional, devemos nos atentar a algumas
questões perguntas importantes. Vimos que a convergência do Método de Newton é
asseguranda apenas quando partimos de um ponto inicial próximo. E se este não for o caso?
Não temos como ter certeza, pois em geral não conhecemos uma vizinhaça onde a solução
deve estar.

Quando dissemos que as aproximações são computadas sucessivamente, precisamos especi-


I Seja x0 uma aproximação razoável de x∗ E se não for? ficar até quando ou por quanto tempo, visto que na prática não é possı́vel interar ao infinito.

Por fim, como a fórmula de interação do Método de Newton realiza uma divisão, pode
I Para k = 0, 1, 2, . . . Até quando? acontecer do denominador ser zero. O que fazer então nessa situação?
f (xk )
I Se f 0 (xk ) 6= 0, xk+1 = xk − E se f 0 (xk ) = 0?
f 0 (xk )

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
Como o método de Newton precisa de uma boa estimativa inicial, uma estratégia pode ser
utilizar um método menos exigente, que funcione mesmo que essa aproximação inicial não
seja tão boa. Depois desse método melhorá-la um pouco, então emprega-se o Método de
E se x0 não for razoável? Newton. O método da Bissecção poderia ser utilizado com essa finalidade.

Outra estratégia é Globalizar o método de Newton, ou seja, modifica-lo para que o método
convirja independentemente de ponto de partida. As duas principais formas de globalizar o
método de Newton são através da inserção de uma busca linear na direção apontada pelo
método de Newton ou através da definição de uma Região de confiança, dentro da qual
a aproximação linear é válida. Ambas as estratégias são melhor discutidas no contexto de
métodos de otimização e fogem ao escopo desta notas.
I Aplicar um método menos restritivo para começar

I Globalizar o método de Newton


I Busca linear

I Região de confiança

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Um algoritmo computacional não pode deixar de explicitar o critério de parada de execução.
O desejável seria pedir que o erro ficasse abaixo de um certo nı́vel aceitável. Porém o problema
é como medir o erro absoluto, sem o conhecimento do zero de f , x ∗ ?
Critérios de parada

Gostarı́amos de parar as iterações quando

|ek | ≤ |e0 |

Porém, não temos como medir ek diretamente!

ek = xk − x∗

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
Um dos critérios que sim podemos aplicar é sobre o valor da f (xk ). O ideal seria relacionar
um decréscimo no valor de f (xk ) com um decréscimo em ek . Quando a solução existe,
esta relação de fato pode ser estabelecida. Porém, a constante de proporcionalidade está
Critérios de parada relacioanda ao valor de f 0 (x∗ ).

Pelos três gráficos é possı́vel observar que se |f 0 (x∗ )|  1, a função corta o eixo x muito
“rasante”, o que significa que mesmo para pontos ainda relativamente distantes de x∗ , já
terı́amos a condição |f (xk )| ≤  satisfeita.

Por outro lado, se |f 0 (x∗ )|  1, a função cortaria o eixo x muito abruptamente. Desta
|f (xk )| ≤  forma, apenas quando xk estivesse realmente muito próximo de x∗ é que o critério de parada
seria satisfeito.

Podemos ver isso expandido f em torno de x∗ , em primeira ordem:


|f 0 (x ∗ )|  1 |f 0 (x ∗ )| ≈ 1 |f 0 (x ∗ )|  1
f (xk ) ≈ f (x∗ ) + f 0 (x∗ )(xk − x∗ ) = f 0 (x∗ )(xk − x∗ ),

   pois f (x∗ ) = 0. Logo


− − − f (xk ) 
|ek | = |xk − x∗ | ≈ 0 / ,
f (x∗ ) |f 0 (x∗ )|
se |f (xk )| ≤ .

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Na prática, os critérios mais usados, além de um limite máximo para o número de iterações,
são:
Critérios de parada 1. Uma redução relativa no valor de função: O problema deste critério é que se f (x0 ) for
muito grande, o método pode parar ainda com f (xk ) muito grande. Por outro lado, se
f (x0 ) já for muito pequeno, então o método vai se esforçar em demasia para reduzir
demais o valor de f (xk ).
2. Uma combinação entre uma tolerância relativa e uma absoluta para o valor de função:
A escolha apropriada de 1 e 2 evita as mazelas do critério anterior.
3. Uma redução relativa no comprimento dos passos dados pelo método: Isso evita
prosseguir quando o método parece estagnar.
I |f (xk )| ≤ |f (x0 )|

I |f (xk )| ≤ 1 |f (x0 )| + 2

I |sk | ≤ |s0 |, para sk = xk+1 − xk

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
A iteração de Newton para ser computada precisa de uma divisão pela derivada de f em xk .
Se essa derivada for nula, a única possibilidade é evitar isso, quer seja pela escolha de outro
ponto, quer seja pela troca do método de iteração.
Derivada nula
Claro que a change de você acertar um ponto, no curso das iterações de Newton, que tenha a
derivada exatamente nula, é muitı́ssima pequena. Será que podemos nos tranquilizar então?

I Trocar de ponto

I Fazer uma iteração de outro método

I Utilizar a derivada do passo anterior

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Na prática, a derivada ser quase nula já é um problema. Como a reta tangente, num ponto
onde a derivada é muito pequena, é praticamente paralela ao eixo horizontal, sua interseção
com o eixo (próximo iterando do Método de Newton) acontecerá muito distante. Com isto
Derivada quase nula o iterando pode se afastar da região onde procurávamos por um zero da função, levando à
convergência para outro zero ou mesmo à divergência.

x1 x2
x0

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
A taxa de convergência linear é observada quando o erro em cada passo é aproximadamente
um fração do erro no passo anterior.
Taxas de convergência A convergência superlinear acontece quando essa fração, ao invés de ser aproximadamente
fixa, vai progressivamente reduzindo, ao longo das iterações.

Já a taxa de convergência quadrática é observada quando o erro em cada passo é, a grosso
Convergência linear modo, o quadrado do erro no passo anterior. Na prática, é como se a cada passo o número
de dı́gitos corretos na aproximação dobrasse.
|ek+1 | ≤ C |ek |, 0 < C < 1, ∀k > K

Convergência superlinear
ek+1
lim =0
k→∞ ek

Convergência quadrática
|ek+1 |
lim = C, C >0
k→∞ |ek2 |

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Convergência do método de Newton
Seja f ∈ C 2 , uma função com segunda derivada contı́nua. Suponha que x∗ é tal que
f (x∗ ) = 0, f 0 (x∗ ) 6= 0.
Resultado
Então existe uma vizinhança V de x∗ tal que para qualquer x0 ∈ V , a sequência gerada pelo
método de Newton converge quadraticamente para x∗ .

Convergência do método de Newton


Hipóteses:
I f tem segunda derivada contı́nua
I f (x∗ ) = 0 e f 0 (x∗ ) 6= 0

Então existe uma vizinhança V de x∗ tal que para qualquer


x0 ∈ V , a sequência gerada pelo método de Newton converge
quadraticamente para x∗ .

Próximo da solução: ek+1 ≈ C ek2

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Exercı́cio

Estime π aplicando o método de Newton para f (x) = 1 + cos(x)


I Partindo de x0 = 3, quantas iterações são necessárias para
obter uma aproximação x̂ para π, tal que |x̂ − π| ≤ 10−2 ?
I Qual a taxa de convergência observada?
I Explique o comportamento do método e proponha outra
função que se anule em π e seja mais adequada para o
método de Newton.

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Propriedades

I Necessidade de uma aproximação inicial

I Convergência local

I Taxa de convergência quadrática, se próximo da solução

I Necessidade da derivada a cada passo

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

As três soluções de z 3 = 1, são 1 e − 21 ± i 3.

Exemplo

f (z) = z 3 − 1 = 0, z ∈C

Quantas soluções existem?

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Nesta figura, cada uma das três raı́zes está associada a um cor (laranja, azul escuro e azul
claro). Cada ponto do plano foi pintado com uma dessas três cores para indicar para qual
zero a sequência gerada pelo método de Newton converge quando iniciado naquele ponto.
Fractal A intencidade da cor indica a quantidade de iterações necessárias para declara convergência.
Se a sequência gerada não convergir o ponto é pintado de preto.

Repare que próximo a cada um dos zeros, não há dúvida e o método converge como esperado.
Porém se o ponto inicial não está assim tão próximo de um dos zeros, é impossı́vel saber para
onde o método convergirá.

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
Como a operação mais cara do método de Newton é a avaliação da derivada, uma classe de
métodos, conhecidos como métodos quase-Newton, barateam as iterações, evitando computar
a derivada da função, que é trocada por uma aproximação. Os métodos diferem entre si, pela
Métodos Quase-Newton forma como a derivada é aproximada.

Métodos Quase-Newton são aqueles que utilizam uma

aproximação da derivada.

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


No método das cordas, a derivada é computada apenas no iterando inicial e depois mantida
fixa no decorrer das iterações.
Método das cordas

x2 x1 x0 x

f (xk )
xk+1 = xk −
f 0 (x0 )

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
No método da secante, a inclinação da reta secante ao gráfico da função nas últimas duas
iterações é utilizada como aproximação para o valor da derivada.
Método da secante Esse método tem convergência superlinear e precisa de dois pontos para ser inicializado.
Observe que o ponto x2 obtido pelo método da secante foi melhor que o ponto x2 do método
das cordas.
y

x2 x1 x0 x

f (xk )
xk+1 = xk −
gk
f (xk ) − f (xk−1 )
gk =
xk − xk−1

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Para efeito de comparação, veja qual seria o ponto x2 obtido pelo método de Newton.

Método de Newton

x2 x1 x

f (xk )
xk+1 = xk −
f 0 (xk )

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares


Exemplo: aproximando 3 (Newton)

f (xk )
xk+1 = xk −
f 0 (xk )

f (x) = x 2 − 3, f 0 (x) = 2x

x0 = 2, f (x0 ) = 1
x02
−3
x1 = x0 − = 1.7500, f (x1 ) = 0.0625
2x0
x2 − 3
x2 = x1 − 1 = 1.7321, f (x2 ) = 0.0002
2x1

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


Exemplo: aproximando 3 (Secante)

f (xk ) f (xk ) − f (xk−1 )


xk+1 = xk − , gk =
gk xk − xk−1

f (x) = x 2 − 3, f 0 (x) = 2x

x0 = 2, f (x0 ) = 1
x1 = 1.7500, f (x1 ) = 0.0625
x12 −3
x2 = x1 − = 1.7333, f (x2 ) = 0.0044
g1

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Exercı́cio: Resolver f (x) = 0

f (x) = 3x 2 − e x

I Identifique intervalos que contenham uma única raı́z.


I Quantas raı́zes a equação admite?
I Aplique o método de Newton para encontrar todas as raı́zes
(utilize  = 10−5 ).

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares


A extensão do problema de encontrar uma solução de uma única equação real é procurar
uma solução para um sistema de equações não-lineares. As variáveis agora são x1 , x2 , . . . , xn .
Para não confundir (ou já confundindo), o subı́ndice j em xj indica a j-ésima variável e não
Sistemas não-lineares mais a aproximação computada na j-ésima iteração. Para discriminar iterações, utilizaremos
(2)
ı́ndices acima, por exemplo x3 representa a aproximação para a variável x3 computada na
segunda iteração.

Cada função fj que compõe o sistema é uma função escalar, ou seja, fj : Rn → R, que a cada
(x1 , x2 , . . . , xn ) 7→ f (x1 , x2 , . . . , xn ) ∈ R.

Queremos agora resolver o sistema não-linear Atenção: Na discussão que se segue, vamos nos restringir a sistema com igual número de
 equações e variáveis.
 f1 (x1 , x2 , . . . , xn ) = 0

 f2 (x1 , x2 , . . . , xn ) = 0

..


 .
fn (x1 , x2 , . . . , xn ) = 0

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Exemplo

(x − x0 )2 + (y − y0 )2 − 1 = 0


ax + by + c = 0

y0

x0

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Caracterı́sticas

I Pode ter ou não solução


I Pode ter uma, algumas ou infinitas soluções
I Não é tão simples localizar soluções

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
A maneira de simplificar a notação e poder perceber as semelhanças e diferenças entre o
problema unidimensional e multidimensional, vamos agora reescrever um sistema não-linear
usando notação vetorial.
Sistemas não-lineares
1-D n-D
x ∈R x ∈ Rn
f :R→R F : Rn → Rn

Em notação vetorial, Queremos x ∗ tal que:


f (x ∗ ) = 0 F (x ∗ ) = 0
x ∈ Rn , x = (x1 , x2 , . . . , xn )T , e

F : Rn → Rn , F (x) = (f1 (x), f2 (x), . . . , fn (x))T .

Queremos encontrar x ∗ ∈ Rn tal que

F (x ∗ ) = 0
Hipótese: F é diferenciável

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Exemplo

x12 − e −x1 x2
(
= 0

x1 x2 + sin x1 = 0
Neste caso,

x12 − e −x1 x2
 
F (x) =
x1 x2 + sin x1

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares
Em 1-D:
f (x + s) = f (x) + f 0 (x)s + O(s 2 ), f 0 (x)s ≈ f (x + s) − f (x)
Taylor ⇒ Newton Em n-D:
F (x + s) = F (x) + J(x)s + O(ksk2 ), Js ≈ F (x + s) − F (x)

F (x + s) = F (x) + J(x)s + O(ksk2 )

J(x) é a matriz Jacobiana de F

∇T f1 (x)
 
 ∇T f2 (x) 
J(x) = 
 
.. 
 . 
∇T fn (x)

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Exemplo

x12 − e −x1 x2
!
F (x) =
x1 x2 + sin x1

2x1 + x2 e −x1 x2 x1 e −x1 x2


!
J(x) =
x2 + cos x1 x1

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Método de Newton para sistemas

F (x + s) = F (x) + J(x)s + O(ksk2 )

F (x + s) ≈ F (x) + J(x)s

Impondo que F (x + s) = 0, temos que

J(x)s = −F (x)

Nova aproximação

x + s = x − J(x)−1 F (x)

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Algoritmo

I Seja x (0) uma aproximação razoável de x ∗

I Para k = 0, 1, 2, . . .

I Se J(x (k) ) for não-singular, resolver J(x (k) )s (k) = −F (x (k) )

I x (k+1) = x (k) + s (k)

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Exemplo: ponto inicial

x12 − e −x1 x2 2x1 + x2 e −x1 x2 x1 e −x1 x2


! !
F (x) = J(x) =
x1 x2 + sin x1 x2 + cos x1 x1

Se x (0) = (2, 1)T , então


! !
3.8647 4.1353 0.2707
(0) (0)
F (x )= J(x )=
2.9093 0.5839 2.0000

kF (x (0) )k∞ = 3.8647

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Exemplo: primeira iteração

! !
4.1353 0.2707 3.8647
s (0) = −
0.5839 2.0000 2.9093

s (0) = (−0.8557, −1.2049)T , x (1) = x (0) +s (0) = (1.1443, −0.2049)T

!
0.0453
F (x (1) ) = kF (x (1) )k∞ = 0.6760
−0.6760

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Exemplo: segunda iteração

! !
2.0297 1.4466 0.0453
s (1) = −
0.2088 1.1443 −0.6760

s (1) = (0.4584, −0.6744)T , x (2) = x (1) +s (1) = (1.6026, −0.8793)T

−1.5239
!
(2)
F (x )= kF (x (2) )k∞ = 1.5239
−0.4097

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares Nesse exemplo, temos que

k kF (x (k) )k
Exemplo: terceira iteração 0
1
3.8647
0.6760
2 1.5239 ← aumentou!
3 0.3256

−0.3930 6.5589 −1.5239


! !
Esse comportamento significa o quê? Dá para confiar que a sequência está convergindo?
(2) Pense em um exemplo em uma dimensão, isto é, um exemplo com uma única equação não-
s =−
linear, onde esse mesmo comportamento é observado.
−0.9111 1.6027 −0.4097

s (2) = (0.0457, 0.2296)T , x (3) = x (2) +s (2) = (1.5569, −0.6497)T

−0.3256
!
F (x (3) ) = kF (x (3) )k∞ = 0.3256
−0.0115

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

k kF (x (k) )k∞ kx (k) − x ∗ k∞


0 3.8647 1.6057
Exemplo: trajetória 1 0.6760 0.5021
2 1.5239 0.2734
3 0.3256 0.0894 ← conv. quadrática
4 0.0210 0.0061
5 0.0001 0.0000

x0

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Critérios de parada

I ks (k) k ≤ ks (0) k

I kF (x (k) )k ≤ kF (x (0) )k

I kF (x (k) )k ≤ 1 kF (x (0) )k + 2

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Algoritmo

I Seja x (0) uma aproximação razoável de x ∗

I Enquanto kF (x (k) )k > kF (x (0) )k e k < K

I Se J(x (k) ) for não-singular, resolver J(x (k) )s (k) = −F (x (k) )

I x (k+1) = x (k) + s (k)

I k ←k +1

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

Método de Newton Métodos Quase-Newton Sistemas não-lineares

Subproblema – Sistema Linear

J(x (k) )s (k) = −F (x (k) )

I Métodos diretos
I Métodos iterativos
I Solução exata
I Solução aproximada (Newton Inexato)

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares


Método de Newton Métodos Quase-Newton Sistemas não-lineares

Exercı́cio

x12 + x22 − 2 = 0


x1 x2 − 1 =0

I Analisando graficamente, discuta a existência e unicidade de


soluções.
I Obtenha a matriz jacobiana, J.
I Exiba o sistema linear a ser resolvido em cada iteração do
método.

http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares

También podría gustarte