(a) Analise o comportamento do método de Newton quando x_{0} está próximo de um ponto onde f^{\prime}(x)=0.
(b) Investigue o método de Newton para raízes múltiplas.
(c) Descreva uma modificação do método de Newton para evitar divisão por zero.

Passo 1

O enunciado pede três coisas separadas:
(a) analisar o comportamento do método de Newton quando x_{0} está próximo de um ponto onde f'(x)=0;
(b) investigar o método de Newton no caso de raízes múltiplas;
(c) descrever uma modificação do método de Newton para evitar division by zero.
Informações dadas (ou implicadas) que usaremos:
  • A fórmula básica do método de Newton é
x_{n+1}=x_{n}-\frac{f(x_{n})}{f'(x_{n})}.
  • Vamos supor que f é suficientemente suave (deriváveis até a ordem necessária) nas vizinhanças que analisamos.
  • Para (b) usaremos a definição de multiplicidade: uma raiz r tem multiplicidade m se
f(r)=f'(r)=\dots=f^{(m-1)}(r)=0\quad\text{e}\quad f^{(m)}(r)\neq 0.

Passo 2

Entendendo por que derivada pequena causa problemas (intuição + cálculo local).
Primeiro uma intuição simples: na fórmula de Newton a atualização divide por f'(x_n). Se f'(x_n) é pequeno, o quociente \frac{f(x_n)}{f'(x_n)} pode ser muito grande e o passo x_{n+1}-x_n pula muito; isso pode levar a iterações que saltam para regiões onde f é grande, ou até a divergência.
Agora um cálculo local mais formal. Seja a um ponto tal que f'(a)=0 (não estamos supondo que a seja raiz). Expandindo f por Taylor em torno de a até segunda ordem:
f(x)\approx f(a)+\tfrac{1}{2}f''(a)(x-a)^2,
f'(x)\approx f''(a)(x-a).
Para x próximo de a (ou seja x-a pequeno) temos, substituindo na fórmula de Newton,
x_{n+1}-a \approx (x_n-a)-\frac{f(a)+\tfrac{1}{2}f''(a)(x_n-a)^2}{f''(a)(x_n-a)}.
Simplificando:
x_{n+1}-a \approx (x_n-a)-\frac{f(a)}{f''(a)(x_n-a)}-\tfrac{1}{2}(x_n-a).
Reorganizando os termos dominantes:
x_{n+1}-a \approx -\frac{f(a)}{f''(a)(x_n-a)} + \tfrac{1}{2}(x_n-a).
Observe o termo -\dfrac{f(a)}{f''(a)(x_n-a)}: ele é proporcional a 1/(x_n-a). Se x_n fica muito próximo de a (denominador pequeno), esse termo domina e pode mandar x_{n+1} para um valor muito distante. Conclusão: quando x_n está perto de um ponto onde f' se anula mas f não é zero, a iteração pode produzir passos enormes e comportar-se de forma instável (saltos grandes, possível divergência).

Passo 3

Exemplo numérico simples para fixar a intuição.
Considere f(x)=x^{2}+1. Aqui f'(x)=2x e f'(0)=0 enquanto f(0)=1\neq 0. A iteração de Newton é
x_{n+1}=x_{n}-\frac{x_n^{2}+1}{2x_n}=\frac{x_n}{2}-\frac{1}{2x_n}.
Escolhendo x_0=0{,}1 (perto de zero), calculamos
x_1\approx \frac{0{,}1}{2}-\frac{1}{2\cdot 0{,}1}=0{,}05-5=-4{,}95,
ou seja o passo é enorme e nos leva para longe. Isso ilustra concretamente o perigo: derivada pequena → passo grande → risco de divergência.

Passo 4

Análise do caso de raiz múltipla (definição, derivação do comportamento e taxa de convergência).
Se r é raiz de multiplicidade m, então podemos escrever localmente
f(x)=(x-r)^{m}g(x),
onde g(r)\neq 0. Para a análise é conveniente trabalhar com o erro e_n=x_n-r. Expandindo:
f(x_n)=e_n^{m}\bigl(c+O(e_n)\bigr),\qquad f'(x_n)=m e_n^{m-1}\bigl(c+O(e_n)\bigr),
onde c=g(r). Então a iteração de Newton dá
e_{n+1}=e_n-\frac{f(x_n)}{f'(x_n)} = e_n-\frac{e_n^{m}\bigl(c+O(e_n)\bigr)}{m e_n^{m-1}\bigl(c+O(e_n)\bigr)}.
Cancelando e_n^{m-1} e desenvolvendo:
e_{n+1}=e_n-\frac{1}{m}e_n\bigl(1+O(e_n)\bigr) =\frac{m-1}{m}e_n + O(e_n^{2}).
Portanto, para m\ge 2 a convergência é apenas linear com fator assintótico \dfrac{m-1}{m} (ou seja, convergência lenta), em vez de quadrática. Intuição: perto de uma raiz múltipla f' também se anula (ou é muito pequeno), por isso o denominador reduz os ganhos do método.
Exemplo simples: f(x)=(x-1)^{2} ( m=2). A iteração é
x_{n+1}=x_n-\frac{(x_n-1)^{2}}{2(x_n-1)}=x_n-\tfrac{1}{2}(x_n-1)=1+\tfrac{1}{2}(x_n-1),
logo o erro satisfaz e_{n+1}=\tfrac{1}{2}e_n: convergência linear com razão 1/2.

Passo 5

Modificação quando a multiplicidade m é conhecida (recupera convergência quadrática).
Se a raiz tem multiplicidade conhecida m, há uma correção simples:
x_{n+1}=x_n-m\frac{f(x_n)}{f'(x_n)}.
Com a mesma expansão do passo anterior, substituindo o fator m chegamos a termos de ordem O(e_n^{2}), isto é, a convergência volta a ser quadrática. Raciocínio curto: multiplicar por m compensa o efeito do expoente m em f e em f', anulando o fator (m-1)/m que causava apenas convergência linear.

Passo 6

E se não conhecemos m? estimativa automática de multiplicidade e outros remédios.
Uma estimativa útil para a multiplicidade local (quando f' não é exatamente zero) vem da relação entre f, f' e f''. Para f(x)=c(x-r)^{m}+\dots calcula-se
\frac{f(x)f''(x)}{[f'(x)]^{2}}=\frac{m-1}{m}+O(e),
onde e=x-r. Assim, definindo
A(x)=\frac{f(x)f''(x)}{[f'(x)]^{2}}
temos aproximadamente A\approx (m-1)/m, portanto uma estimativa para a multiplicidade é
\widehat{m}=\frac{1}{1-A(x)}=\frac{1}{1-\dfrac{f(x)f''(x)}{[f'(x)]^{2}}}.
Usando \widehat{m} no passo modificado x_{n+1}=x_n-\widehat{m}\dfrac{f(x_n)}{f'(x_n)} costuma melhorar a taxa quando a raiz é quase múltipla. Atenção: se f'(x_n) for muito pequeno a própria expressão de \widehat{m} fica instável; então essa técnica precisa de regularização (ver abaixo).
Outra alternativa que evita dividir apenas por f' é usar um método que combina f,f',f'', por exemplo a iteração de Halley (uma generalização cúbica de Newton):
x_{n+1}=x_n-\frac{f(x_n)f'(x_n)}{[f'(x_n)]^{2}-f(x_n)f''(x_n)}.
Para o caso exato f(x)=c(x-r)^{m} essa fórmula dá convergência muito melhor e, no caso idealizado de monômio puro, leva x_n exatamente a r em um passo. Portanto usar Halley é uma forma prática de contornar o problema de multiplicidade (mas exige f'').

Passo 7

Estratégias práticas para evitar divisão por zero e tornar o método robusto (receita de uso na prova).
  1. Safeguard simples: se |f'(x_n)| for menor que uma tolerância \varepsilon, não faça o passo de Newton padrão. Em vez disso:
    • usar um passo de secante (não precisa de derivada): x_{n+1}=x_n-\dfrac{f(x_n)(x_n-x_{n-1})}{f(x_n)-f(x_{n-1})} (precisa de x_{n-1}); ou
    • usar bisseção/regula falsi se você tem um intervalo que contém a raiz (método robusto e garantido); ou
    • usar Halley (se f'' disponível): faz divisão por [f']^{2}-f f'' em vez de só por f' e tende a ser mais estável perto de raízes múltiplas.
  2. Damped (ou line-search) Newton: substituir o passo por x_{n+1}=x_n-\lambda_n \dfrac{f(x_n)}{f'(x_n)} com 0<\lambda_n\le 1 escolhido por uma busca que garanta redução de |f| (evita saltos grandes quando f' é pequeno).
  3. Regularização numérica: substituir divisor por \max(|f'(x_n)|,\delta) com pequeno \delta>0 (método bruto — tende a introduzir viés, mas evita divisão por zero).
  4. Estima multiplicidade com A(x)=\dfrac{f f''}{(f')^{2}} e usar m aproximado no passo modificado x_{n+1}=x_n-\widehat{m}\dfrac{f(x_n)}{f'(x_n)}. Se a estimativa for instável, combinar com os itens 1–2.
  5. Sempre programar um critério de parada e um número máximo de iterações; se o método fizer passos enormes, interromper e tentar um método alternativo (bisseção/secante) ou mudar o x_0.

Resposta

(a) Se x_{0} está próximo de um ponto onde f'(x)=0 (mas f não é zero aí), a iteração de Newton pode produzir passos muito grandes porque \dfrac{f(x_n)}{f'(x_n)} fica grande; isso provoca saltos, instabilidade e possível divergência. Em torno de tal ponto a expansão de Taylor mostra um termo dominante proporcional a 1/(x_n-a), responsável pelo comportamento errático.\n
(b) Para uma raiz de multiplicidade m o método de Newton convencional converge apenas linearmente com razão assintótica \dfrac{m-1}{m} (perde a convergência quadrática). Escrevendo e_n=x_n-r obtém-se e_{n+1}=\dfrac{m-1}{m}e_n+O(e_n^2). Se m for conhecida, a correção x_{n+1}=x_n-m\frac{f(x_n)}{f'(x_n)} restaura a convergência quadrática.\n
(c) Modificações práticas para evitar divisão por zero: (i) usar passo modificado x_{n+1}=x_n-m\frac{f(x_n)}{f'(x_n)} se a multiplicidade m for conhecida; (ii) estimar m por \widehat{m}=\dfrac{1}{1-\dfrac{f f''}{(f')^{2}}} e aplicar o passo com \widehat{m} (com regularização); (iii) usar Halley
x_{n+1}=x_n-\frac{f(x_n)f'(x_n)}{[f'(x_n)]^{2}-f(x_n)f''(x_n)}
(mais robusto perto de raízes múltiplas, exige f''); (iv) se |f'(x_n)| for muito pequeno, trocar provisoriamente para secant, bisseção ou usar damped-Newton (linha de busca) em vez do passo puro para evitar divisão por zero e passos gigantes.

Exercícios relacionados