Existem v´arios crit´erios de parada, isto ´e, regras para se considerar um determinado iterado xk como a aproxima¸c˜ao desejada para a raiz procurada x∗. Os crit´erios de parada s˜ao importantes primeiramente por raz˜ao de coerˆencia (imagine uma extensa lista de ra´ızes sendo calculadas numericamente, ´e preciso uniformizar a maneira de encontr´a-las), e em segundo lugar para automatizar os procedimentos.
Alguns crit´erios de parada, como aquele que vamos ver aqui, fornecem tamb´em a margem de erro da aproxima¸c˜ao.
O crit´erio do qual falaremos aqui funciona quando, no entorno da raiz, a fun¸c˜ao ´e mon´otona, isto ´e, se x1 < x∗ < x2 ent˜ao os valores de f(x1) ef(x2) tˆem sinais opostos, ou seja,
f(x1)f(x2)<0.
Suponha que queiramos determinar uma aproxima¸c˜ao de x∗ com precis˜ao p. Isto significa que gostar´ıamos de encontrar um valor ¯xtal que a verdadeira raizx∗ esteja no intervalo [¯x−p,x¯+p] (a interpreta¸c˜ao do que significa exatamente a precis˜ao p varia de acordo com o gosto do freguˆes, esta ´e a que adotaremos neste livro).
Como estamos supondo que f ´e mon´otona, isso s´o acontecer´a se f assumir sinais opostos em ¯x−p e ¯x+p.
Bom, ent˜ao nada mais temos a fazer do que iterar a fun¸c˜ao auxiliar ϕ, obtendo valoresx0, x1, . . . , xk, . . ., e para cada iteradoxk calcular
f(xk−p)f(xk+p).
Se esse produto for negativo, ent˜ao podemos considerar xk como sendo a aproxima¸c˜ao desejada.
E claro que devemos prestar um pouco de aten¸´ c˜ao para o n´umero de casas decimais que usamos nas contas, e se fixarmos xk talvez queiramos arredondar para uma casa decimal compat´ıvel com a precis˜ao desejada. Isso pode ser feito com bom senso, mas se tivermos que automatizar para um programa de computador conv´em tomar certos cuidados.
Para exemplificar, sejaf(x) =e−x−x+1 = 0, que tem ´unica raiz (veja isto esbo¸cando o gr´afico!). Usaremos ϕ(x) =e−x+ 1 como fun¸c˜ao auxiliar, para achar a raiz x∗ com precis˜ao p= 10−2.
Partindo dex0 = 0, obtemos os iterados. Temos que usar no m´ınimo um n´umero de casas decimais compat´ıvel com a precis˜ao desejada, por exemplo 4 parece ser razo´avel.
Neste caso, faremos as contas com todas os algarismos significativos da calculadora, e cada etapa arredondaremos para a quarta casa decimal, a fim de minimizar os erros.
Ent˜ao x1 = 2, x2 = 1.1353, x3 = 1.3213, x4 = 1.2668, x5 = 1.2817, x6 = 1.2776, x7= 1.2787. Como f(1.27)>0 e f(1.29)<0 ent˜ao podemos considerar a aproxima¸c˜ao
¯
x = 1.28. Observe que pelo crit´erio de parada j´a poder´ıamos parar em x5, no entanto ao arredondarmos para 1.28 conv´em fazer o teste novamente. Os iteradosx6 e x7 foram a rigor desnecess´arios.
O M´ etodo de Newton
Como j´a mencionado no Cap´ıtulo anterior, o M´etodo de Newton consiste em fazer a itera¸c˜ao
xk+1=xk− f(xk) f0(xk) ,
a partir de uma condi¸c˜ao inicial bem escolhidax0, e assim obter aproxima¸c˜oes sucessivas de alguma raiz x∗ de f.
A maneira de achar x1 em fun¸c˜ao de x0, e igualmente depois de achar xk+1 em fun¸c˜ao de xk, tem uma forte inspira¸c˜ao geom´etrica: olhamos para a reta tangente ao gr´afico def no ponto (xk, f(xk)) e de-finimos xk+1 como sendo o ponto de
en-contro dessa reta com a abscissa.
x
0x
0f( )
f
x
*x
1Vejamos como a f´ormula acima se relaciona com esta id´eia geom´etrica. Para isso, notamos que a inclina¸c˜ao da reta tangente ao gr´afico def no ponto (xk, f(xk)) ´e dada pela derivada f0(xk). A ´unica reta com inclina¸c˜ao f0(xk) que passa por (xk, f(xk)) ´e dada por
y=f(xk) +f0(xk)(x−xk).
O ponto xk+1 ´e definido como o valor dex para o qualy = 0, isto ´e 0 =f(xk) +f0(xk)(xk+1−xk),
145
ou
xk+1 =xk− f(xk) f0(xk) ,
desde que f0(xk) 6= 0 (hip´otese que assumiremos gratuitamente, para facilitar os argu-mentos).
A t´ıtulo de exemplo apliquemos o m´etodo no exemplo f(x) =x3−20, para compa-rarmos com o M´etodo da Dicotomia.
Para f(x) =x3−20 temosf0(x) = 3x2, ent˜ao a f´ormula de itera¸c˜ao fica xk+1 =xk−x3k−20
3x2k , que neste caso pode ser simplificada para
xk+1= 2x3k+ 20 3x2k .
Em primeiro lugar “chutamos” o valor de x0, por exemplo x0 = 3, e obtemos x1: x1 = 2·33+ 20
3·32 = 74
27 = 2.7407407.
E claro que a ´´ ultima igualdade n˜ao ´e de fato uma igualdade, pois um arredondamento foi efetuado. Neste exemplo, usaremos 7 casas decimais depois da v´ırgula.
A partir de x1 calculamos x2, e assim por diante. Os resultados se encontram na tabela abaixo.
n xn x3n
0 3 27
1 2.7407407 20.6 2 2.7146696 20.0056 3 2.7144176 19.9999996 4 2.7144176 19.9999996
Surpreendente! Em poucos iterados chega-se a um valor com precis˜ao de muitas casas decimais!
Podemos testar a precis˜ao desse valor usando o mesmo princ´ıpio do M´etodo da Dicotomia. Por exemplo, queremos saber se essa resposta tem precis˜ao de 0.0000001.
Ent˜ao verificamos se os n´umerosf(2.7144175) e f(2.7144177) tˆem sinais opostos. Ora, f(2.7144175) = 2.71441753−20 =−0.0000026<0
e
f(2.7144177) = 2.71441773−20 = 0.0000018>0, donde conclu´ımos que
√3
20 = 2.7144176±0.0000001.
11.1 Quando o M´ etodo de Newton funciona?
Ser´a que o M´etodo de Newton sempre funciona? Ser´a que qualquer chute inicial levar´a a uma seq¨uˆencia x1, x2, x3, x4, . . . , xk, . . .convergindo `a raizx∗ procurada?
Se formulada a pergunta desse jeito, a resposta ´e n˜ao! Vejamos dois argumentos bastante simplistas para justificar o porquˆe.
O primeiro: imagine uma fun¸c˜ao com duas ra´ızes,f(x) =x2−4, por exemplo. Para qualquer escolha de x0, a seq¨uˆencia x1, x2, x3, x4, . . . , xn, . . . s´o poder´a convergir para uma das ra´ızes! A outra fatalmente ser´a esquecida, e isso pode acontecer quando menos esperarmos!
O segundo: mesmo que s´o haja uma raiz x∗ e que x0 esteja “razo-avelmente perto” dela, a seq¨uˆencia x1, x2, x3, x4, . . . , xn, . . . pode se afastar! Veja um exemplo na figura
ao lado.
x
*x
0x
1f
No entanto, quase sempre podemos garantir que“sex0 for escolhida suficientemente pr´oxima dex∗ ent˜ao a seq¨uˆenciax1, x2, x3, x4, . . . , xn, . . .convergir´a parax∗”. O “quase sempre” se refere `as hip´oteses que devemos exigir que a fun¸c˜aof satisfa¸ca. Por exemplo, pediremos sempre que f seja uma fun¸c˜ao diferenci´avel, com derivada cont´ınua. Mais ainda, devemos examinar como f se comporta perto da raiz (infelizmente, nem sempre isso ´e poss´ıvel sem se conhecer a raiz!!).
Na hip´otese de que f0(x∗) 6= 0 e que a condi¸c˜ao inicial x0 seja escolhida suficien-temente perto da raiz ent˜ao a convergˆencia ser´a bastante r´apida, mais r´apida do que qualquer seq¨uˆencia geom´etrica. De fato, a convergˆencia ´e (no m´ınimo) quadr´atica, se usarmos os resultados deduzidos no Cap´ıtulo anterior: basta mostrar que a derivada da fun¸c˜ao de itera¸c˜ao ϕ(x) =x−ff(x)0(x), calculada na raiz x∗, vale zero.
Ora, usando as regras usuais de deriva¸c˜ao, obtemos ϕ0(x) = f(x)f00(x)
f0(x)2 , e como f(x∗) = 0, segue que ϕ0(x∗) = 0.
No caso f0(x∗) = 0 n˜ao podemos aplicar o racioc´ınio diretamente, porque teremos uma divis˜ao “zero sobre zero”. Esse caso ser´a analisado na pr´oxima Subse¸c˜ao. Antes disso, vale a pena fazer alguns exerc´ıcios.
Exerc´ıcio. Use o M´etodo de Newton para resolver as seguintes equa¸c˜oes:
1. −2 + 3x=e−x 2. x5+ 3x2−x+ 1 = 0 3. cosx+ 0.5x= 0
4. 0.3x4+ 0.2x3+x2+ 0.1x+ 0.5 = 0 5. 0.3x4−x3−x2−2x+ 2 = 0
Aten¸c˜ao: alta probabilidade de pegadinhas.
2 1
1
2
ψ
2 1
1 2
f
Exerc´ıcio. Considere a fun¸c˜ao ψ cujo gr´afico est´a mostrado na figura acima, `a es-querda.
1. (1.0) Descreva, justificando (pode usar desenhos nas justificativas!), o que acon-tece com a seq¨uˆenciax0, x1=ψ(x0), . . . , xk=ψk(x0), . . . para cada uma das cinco possibilidades: (i) x0 = 0.0; (ii) x0 = 1.0; (iii) x0 = 1.5; (iv) x0 = 2.2; (v) x0= 2.7.
2. (1.5) A fun¸c˜aoψ pode ser a fun¸c˜ao de itera¸c˜ao de M´etodo de Newton aplicado `a fun¸c˜ao f acima, `a direita? Dˆe duas justificativas essencialmente diferentes para sua resposta.
Exerc´ıcio. Esboce uma fun¸c˜ao que tenha ra´ızes a e b (com a < b), mas para o qual exista uma condi¸c˜ao inicial x0 entre a e b tal que o M´etodo de Newton produza um resultado divergente (apesar de o M´etodo estar bem definido para x0 e todos os seus iterados posteriores). Justifique sua resposta da melhor forma que puder.
Exerc´ıcio. Encontre numericamente o valor de x tal que e−x2 = x, com precis˜ao p= 10−7.
Exerc´ıcio. Considere a caten´aria dada por g(x) = 1
c(cosh(cx)−1) .
Repare que g(0) = 0, isto ´e, a curva passa por (x, y) = (0,0). Se a curva tamb´em passa por (x, y) = (1,1), qual ´e o valor dec?
Exerc´ıcio. Considere f(x) = x5, que tem ´unica raizx∗ = 0. Se o M´etodo de Newton for aplicado a partir da condi¸c˜ao inicial x0 = 1, qual ser´a o menor valor de k para o qual xk <10−20?
Exerc´ıcio. Considere a fun¸c˜ao f da figura abaixo. Se usarmos o M´etodo de Newton para essa fun¸c˜ao, teremos que considerar iterados de
ϕ(x) =x− f(x) f0(x) .
Esboce o gr´afico deϕ, com base na intui¸c˜ao geom´etrica sobre o M´etodo de Newton. N˜ao esque¸ca de desenhar: abscissa, ordenada, diagonal e os pontos a, b ec.
a b c
f
11.1.1 Retirando a hip´otese f0(x∗)6= 0
A hip´otese de que a derivada def seja diferente de zero na raizx∗ n˜ao ´e necess´aria para se mostrar convergˆencia, e pode ser substitu´ıda por uma hip´otese bem mais fraca, desde que o chute inicial x0 esteja suficientemente pr´oximo de x∗.
Antes de deduzir resultados gerais, vejamos o que acontece com alguns exemplos.
Consideremos f(x) = ax2, que tem raiz em x = 0, mas a derivada de f na raiz ´e nula. Montando a fun¸c˜ao de itera¸c˜ao do M´etodo de Newton obtemos
ϕ(x) =x− f(x)
f0(x) =x− ax2 2ax ,
que a princ´ıpio n˜ao estaria definida em x = 0. No entanto, as itera¸c˜oes s˜ao tomadas fora do zero, onde ϕ est´a bem definida. Al´em disso, a express˜ao pode ser simplificada de modo a esconder o problema:
ϕ(x) = x 2 .
Agora a derivada deϕno zero def ´e igual a 12, que significa que a seq¨uˆencia de iterados ir´a convergir para a raiz zero `a raz˜ao geom´etrica de 12.
Se considerarmosf(x) =axn, ent˜ao teremos ϕ(x) = (1− 1
n)x , e portanto 1− 1n ser´a a raz˜ao da convergˆencia geom´etrica.
Aparentemente, essas considera¸c˜oes levam a crer que quando f0(x∗) = 0 o M´etodo de Newton ainda funciona, mas a velocidade de convergˆencia passa a ser mais lenta (de quadr´atica passa a ser apenas geom´etrica). At´e que ponto isso pode ser generalizado?
A melhor maneira de compreender o que se passa ´e por meio de polinˆomios de Taylor (vide o Apˆendice B para uma revis˜ao sobre o assunto). Para facilitar os argumentos, suporemos que a fun¸c˜ao f pode ser diferenciada infinitamente. A expans˜ao de f em torno dex∗ ´e assim escrita:
f(x) =f(x∗) +f0(x∗)(x−x∗) +f00(x∗)
2 (x−x∗)2+. . .+f(n)(x∗)
n! (x−x∗)n+o((x−x∗)n), ondeo((x−x∗)n) indica a presen¸ca de termos de ordem mais alta do que (x−x∗)n, ou em outras palavras, denota a presen¸ca de um resto que vai a zero mais rapidamente do que (x−x∗)n quando x tende ax∗.
Como x∗ ´e a raiz de f, e estamos supondo que f tem derivada nula em x∗, os dois primeiros termos ser˜ao nulos, necessariamente. J´a a derivada segunda pode ou n˜ao ser nula. Para a maioria das situa¸c˜oes, haver´a um primeiro termo n˜ao nulo, de ordem m, que pode ser 2 ou mais. Assim, podemos escreverf como
f(x) = f(m)(x∗)
m! (x−x∗)m+o((x−x∗)m), ou ainda,
f(x) = f(m)(x∗)
m! (x−x∗)m
1 + m!
f(m)(x∗)
o((x−x∗)m) (x−x∗)m
.
Comoo((x−x∗)m) tem ordem mais alta do que (x−x∗)m, o quociente dos dois vai a zero, e assim podemos escrever
f(x) = f(m)(x∗)
m! (x−x∗)m(1 +r1(x)),
onder1(x) vai a zero quandox tende ax∗.
Da mesma forma, a fun¸c˜aof0(x) pode ser expressa na sua f´ormula de Taylor. Desta vez, o primeiro termo n˜ao nulo ser´a de ordemm−1, e teremos
f0(x) =mf(m)(x∗)
m! (x−x∗)m−1(1 +r2(x)), onder2(x) vai a zero quandox tende ax∗.
Posto tudo isso, podemos montar a fun¸c˜ao de itera¸c˜aoϕ, usando essas express˜oes no lugar de f(x) ef0(x):
ϕ(x) =x− 1
m(x−x∗)1 +r1(x) 1 +r2(x) .
Subtraindo x∗ dos dois lados, e colocando (x−x∗) em evidˆencia no lado direito da equa¸c˜ao, obtemos
ϕ(x)−x∗= (x−x∗)
1− 1 m
1 +r1(x) 1 +r2(x)
. S´o que o quociente envolvendor1 e r2 tende a 1, ent˜ao
ϕ(x)−x∗ x−x∗
tende a 1− m1. Esta ´e a raz˜ao assint´otica de convergˆencia geom´etrica do M´etodo de Newton, que s´o depende da ordemm da fun¸c˜ao f emx∗.