Método de Newton–Raphson

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

Em análise numérica, o método de Newton (ou Método de Newton–Raphson), desenvolvido por Isaac Newton e Joseph Raphson, tem o objetivo de estimar as raízes de uma função. Para isso, escolhe-se uma aproximação inicial para esta. Após isso, calcula-se a equação da reta tangente (por meio da derivada) ao gráfico da função nesse ponto e a interseção dela com o eixo das abcissas, a fim de encontrar uma melhor aproximação para a raiz. Repetindo-se o processo, cria-se um método iterativo para encontrarmos a raiz da função. Em notação matemática, o método de Newton é dado pela seguinte sequência recursiva:

xn+1=xnf(xn)f(xn),n

onde x0 é uma aproximação inicial dada, n indica a n-ésima iteração do algoritmo e f(xn) é a derivada da função f no ponto xn.

Interpretação geométrica

Consideremos o problema de calcular a raiz de uma função f, conforme a figura ao lado.[1][2][3][4]

As três primeiras iterações do método de Newton.[5]

Queremos calcular x1 em função de x0, sabendo que x1 será a cota no eixo das abcissas interceptado pela reta tangente à curva, originada por x0.

A equação da reta tangente ao gráfico da função f no ponto (x0,f(x0)) tem inclinação m=f(x0) e é dada por yf(x0)=f(x0)(xx0) Sabendo que essa reta passa por (x1,0), temos que 0f(x0)=f(x0)(x1x0). Portanto, x1=x0f(x0)f(x0). De modo geral, temos xn+1=xnf(xn)f(xn).

Análise de convergência

Devemos ter em mente que, mesmo se a condição estabelecida na introdução for satisfeita, o método de Newton poderá não convergir para a raiz. Seja f(x) uma função e sua derivada diferente de zero, definimos uma função ϕ(x) como:[2][3][4]

ϕ(x)=xf(x)f(x)


Consideramos x* uma aproximação da solução x de f(x)=0 tal que f'(x*)≠0 e |x – x*| seja “pequeno”. Expandimos ϕ(x) por Série de Taylor em torno de x* e obtemos:

ϕ(x)=ϕ(x*)+(xx*)ϕ(x*)+(xx*)22ϕ(x*)+O((xx*)3)


Para a dedução do método de Newton, vamos supor que |x - x*| é pequeno, logo, o termo (x - x*)² será muito menor. Com isso, dizemos que:


ϕ(x)ϕ(x*)+(xx*)ϕ(x*)


Pelo processo iterativo do método do ponto fixo, sabemos que:

ϕ(x*)=x*f(x*)f(x*)=x*


ϕ(x*)=1f(x*)f(x*)f(x*)f(x*)(f(x))2=11=0


ϕ(x*)=(f(x*)f(x*)+f(x*)f(x*))(f(x*))22f(x*)f(x*)f(x*)(f(x*))4=f(x*)f(x*)


Portanto:

ϕ(x)=x*+(xx*)2ϕ(x*)2+O((xx*)3)


ϕ(x)x*+(xx*)2ϕ(x*)2


Logo:

xn+1=ϕ(xn)


x*+(xnx*)2ϕ(x*)2


(xn+1x*)(xnx*)2ϕ(x*)2


Considerando (xn - x*) o erro absoluto, obtemos:


ϵn+1ϵn2ϕ(x*)2=12|f(x*)f(x*)|ϵn2


Com isso, observamos que o erro (ϵn) é de ordem quadrática e, por isso, a iteração convergirá rapidamente para a raiz da função.

Generalização

O método de Newton é uma poderosa ferramenta para resolvermos equações de uma variável (f(x)=0). Esse método, contudo, pode ser utilizado em problemas mais complexos, como na solução de equações do tipo Ax=b, em que x e b são vetores e A é uma matriz. Queremos, portanto, generalizar o método de Newton para resolvermos um sistema de equações da forma:[2][3][4][6]

f1(x1,x2,...,xn)=0f2(x1,x2,...,xn)=0f3(x1,x2,...,xn)=0fn(x1,x2,...,xn)=0

Podemos analisar esse sistema de equações na forma vetorial, definindo o vetor F(x) tal que:

F(x)=[f1(x1,x2,...,xn)f2(x1,x2,...,xn)fn(x1,x2,...,xn)]


Para resolvermos o problema de uma variável (f(x)=0), nós expandíamos a função f(x) em torno de x* por sua Série de Taylor, de modo a obtermos:

f(x)f(x*)+(xx*)f(x*),

sendo x* uma aproximação para a solução de f(x)=0 . De modo equivalente, o problema matricial se resume a resolver a equação F(x)=0, e devemos expandir a função F(x) em torno de x*, sendo x* uma aproximação para a solução de F(x)=0. Efetuando-se essa expansão, obteremos:

F(x)F(x*)+(xx*)F(x*)

Portanto, será necessário definirmos a derivada de F(x). Definimos, então, a Matriz Jacobiana por:


JF=[f1x1f1xnfmx1fmxn]


E percebemos que a Matriz Jacobiana, ou o Jacobiano do vetor F(x), é a matriz formada pelas derivadas parciais das componentes de F(x):

F(x)=(JF)ij=fixj


Logo, podemos reescrever a expansão por Série de Taylor de F(x) como F(x)F(x*)+(xx*)JF(x*). Também de acordo com o problema de uma variável, tínhamos que o método de Newton era dado pela iteração:

xn+1=xnf(xn)f(xn)


Consequentemente, em problemas envolvendo sistemas de equações, teremos que o método de Newton será dado pela iteração:[6]

xn+1=xnJF1(xn)F(xn)

Problemas de otimização

O método de Newton pode ainda ser visto da seguinte forma:

Se F(x)=0, para 0,xm, podemos definir outra função

g(x)=F(x)22=F(x)F(x)2,

em que denota o produto escalar usual.

Então o valor mínimo de g(x) é 0, ou seja,

minxg(x)=0F(x)=0

e a equação F(x)=0 pode ser resolvida como um problema de otimização.

Definindo a equação diferencial ordinária

{JF(u(t))u(t)=F(u(t))u(0)=x0(*),

pode-se mostrar, sob certas condições, que a única solução u(t) dessa equação (*) é tal que

dg(u(t))dt=2g(u(t)).

Isso garante que g(u(t)) decresce, enquanto F(u(t))0, e que

g(u(t))=e2tg(x0).

O uso do método de Euler para determinar uma aproximação para u(t), com tamanho de passo h=1, é equivalente ao método de Newton[7].



Quando desconfiarmos que a matriz jacobiana JF(x) não possui inversa (em algum ponto), podemos usar a equação diferencial {v(t)=g(v(t))v(0)=x0,(**)

em que

g(v(t))=JF(v(t))*F(v(t)),

e JF(v(t))* denota a matriz transposta da matriz jacobiana JF(v(t)).

Nesse caso, pode-se mostrar que g(v(t)) também é decrescente[7], enquanto F(v(t))0; e uso do método de Euler para determinar uma aproximação a solução v(t) (da equação (**)) é equivalente ao método do gradiente.

Exemplos com uma variável

  1. Neste exemplo,[5] mostraremos porque a função f deve ser diferenciável em xn, para a satisfazer a condição inicial. Considere a função f(x)=|x-3|-1. Essa função possui uma cúspide em (3,-1); portanto, f não é diferenciável nesse ponto. Analisando o gráfico dessa função, percebemos que x=2 e x=4 são suas raízes. Caso iniciemos o método de Newton com x0=3, o processo iterativo falhará porque a derivada de f em x=3 não é definida.
  2. Neste exemplo,[5] mostraremos porque a função f deve ter derivada não nula em xn. Considere a função f(x)=x2-1. Essa função possui uma reta tangente horizontal em (0,-1); portanto, a derivada de f nesse ponto é nula. Como a reta tangente é horizontal, logo ela nunca interceptará o eixo das abcissas e, assim, o método de Newton falhará, pois ocorrerá uma indeterminação matemática (divisão por zero).
  3. Neste exemplo,[5] mostraremos que mesmo escolhendo-se uma aproximação x0 distante da real raiz da função f, o método de Newton ainda assim poderá convergirá rapidamente para a solução de f(x)=0. Considere a função f(x)=sen(x). Se arbitrarmos x0=10,85 rad, valor relativamente distante da primeira raiz, x=π rad, o método convergirá para essa raiz rapidamente.

Isso mostra que a primeira aproximação da raiz não necessita ser um valor próximo dela. Existem casos em que essa aproximação é distante da raiz e mesmo assim o método converge, conforme mostrado no exemplo acima.

Considerações sobre o método

O método de Newton é considerado por muitos autores o melhor método para encontrar sucessivas melhores aproximações de raízes (ou zeros) de uma determinada função real e, portanto, tem sido estudado e utilizado em diversos ramos da ciência (Matemática, Física, Engenharia), sendo também muito utilizado na resolução de sistemas não lineares. Além disso, esse método tem sido alvo de novos estudos e aprimoramentos. Em 1984, Allan J. Macleod mostrou, num artigo da International Journal of Mathematical Education in Science and Technology, que o método iterativo de Newton–Raphson para equações não lineares pode ser considerado um membro da família geral de um parâmetro de métodos de segunda ordem.[8]

Um ponto importante a ser observado diz respeito a praticidade do método de Newton. Caso a função f seja complicada, encontrar sua derivada pode ser muito trabalhoso e o método torna-se improdutivo. Nesses casos, o método das secantes é mais produtivo de ser utilizado, porque não exige que a derivada de f seja conhecida.

Predefinição:Referências

Ligações externas


Predefinição:Isaac Newton Predefinição:Authority control