• Nenhum resultado encontrado

Um crit´ erio de parada

No documento Sistemas Lineares (páginas 142-151)

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

0

x

0

f( )

f

x

*

x

1

Vejamos 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

0

x

1

f

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), . . . , xkk(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.

No documento Sistemas Lineares (páginas 142-151)