• Aucun résultat trouvé

Optimize startup for faster boot times

Dans le document Prepared exclusively for J.S. Ash (Page 66-70)

O m´etodo de Newton ´e um dos m´etodos mais poderosos para resolver equa¸c˜oes do tipo f (x) = 0. Tal como no caso do m´etodo iterativo simples (de que pode ser considerado um caso particu- lar), este m´etodo parte de uma estimativa inicial x0 e gera uma sucess˜ao {xn} de uma forma

recorrente.

Cada novo valor da sucess˜ao, xn+1, ´e determinado como sendo a abcissa do ponto de intersec¸c˜ao com o eixo dos xx da recta tangente ao gr´afico da fun¸c˜ao no ponto (xn, (f (xn)), ou seja, no ponto correspondente ao valor anterior da sucess˜ao.

f (x)

x0 x1

x2

s

Figura 2.9: M´etodo de Newton

notando que a recta tangente ao gr´afico de f no ponto (xn, (f (xn)) pode ser descrita pela equa¸c˜ao

y = f (xn) + f(xn)· (x − xn).

De acordo com o exposto atr´as, esta recta passar´a tamb´em pelo ponto (xn+1, 0). Substituindo

na equa¸c˜ao da recta este ponto e resolvendo a equa¸c˜ao obtida em ordem a xn+1 obt´em-se

xn+1= xn f (xn)

f(xn),

que ser´a ent˜ao a express˜ao de recorrˆencia do m´etodo de Newton. Refira-se que neste m´etodo se tem tamb´em que xn+1= F (xn) para a fun¸c˜ao de recorrˆencia

F (x) = x− f (x) f(x). Note-se ainda que se f(x)= 0 se tem que

f (x) = 0⇔ x = x − f (x) f(x). M´etodo de Newton Inicializa¸c˜ao Escolher x0

Repetir xn+1= xnff (x(xnn))

At´e verificar crit´erio de paragem

Antes de apresentar condi¸c˜oes que garantem a convergˆencia do m´etodo de Newton, mostram-se graficamente na figura 2.5 algumas situa¸c˜oes em que o m´etodo n˜ao produz sucess˜oes convergentes para a solu¸c˜ao da equa¸c˜ao que se pretende calcular.

O teorema apresentado em seguida fornece condi¸c˜oes suficientes para a convergˆencia do m´etodo de Newton. Estas condi¸c˜oes n˜ao s˜ao, em geral, necess´arias, isto ´e, h´a situa¸c˜oes em que elas n˜ao

x

x

2

x

1

x

0

s

y = f(x)

Anulamento da derivada

x

x

2

x

1

x

0

s

y = f(x)

Mudan¸ca de concavidade

Figura 2.10: Alguns comportamentos indesej´aveis do m´etodo de Newton

se verificam e o m´etodo converge. Refira-se tamb´em que ´e poss´ıvel estabelecer outras condi¸c˜oes suficientes de convergˆencia.

Teorema 2.5.1. Seja f ∈ C2([a, b];R) tal que f(x) = 0, e f(x) ≤ 0 ou f(x)≥ 0 em [a, b].

Seja ainda s o (´unico) zero de f em [a, b]. Ent˜ao a sucess˜ao gerada pelo m´etodo de Newton converge para s sempre que o ponto inicial x0 ∈ [a, b] satisfizer f(x0)f(x0)≥ 0. Mais ainda, a

sucess˜ao gerada ´e mon´otona. Demonstra¸c˜ao.

Consideremos o caso f > 0 e f≥ 0 (nos outros casos a demonstra¸c˜ao ´e semelhante).

1. Seja ent˜ao x0∈ [a, b] tal que f(x0)≥ 0, por forma a que f(x0)f(x0)≥ 0.

2. Como f ´e crescente tem-se ent˜ao que x0 ≥ s.

3. Como x1= x0ff (x(x00)), tem-se ainda que x1≤ x0.

4. O desenvolvimento de Taylor de f em torno do ponto x0 permite escrever

f (s) = f (x0) + f(x0)(s− x0) +f 0)

2 (s− x0)

2,

para algum ξ0 entre x0 e s. Como, por hip´otese, f (s) = 0, tem-se

s− x0 =−f (x0) f(x0) f(ξ0) 2f(x0)(s− x0) 2 ≤ −f (x0) f(x0)

atendendo aos sinais de f e f. Como x1 = x0ff (x(x00)), ent˜ao x1 ≥ s e tamb´em f(x1)≥ 0.

5. Supondo que xn ≥ s, e argumentando como atr´as, ´e poss´ıvel concluir que xn+1≤ xn que

6. Acabou de se mostrar, por indu¸c˜ao, que {xn} ´e decrescente e limitada inferiormente por

s. Ent˜ao {xn} ´e convergente, para um dado valor z, no intervalo [a, b]. 7. Como xn+1= xn−f (xf(xn)

n e f e fs˜ao fun¸c˜oes cont´ınuas, ent˜ao no limite tem-se z = z−

f (z) f(z),

ou ainda f (z) = 0.

8. Sendo este zero ´unico (devido `a monotonia estrita de f ) conclui-se finalmente que z = s.

Vamos agora determinar a evolu¸c˜ao do erro de aproxima¸c˜ao para as estimativas geradas pelo m´etodo de Newton. Na exposi¸c˜ao que se segue sup˜oe-se que {xn} ⊂ [a, b].

1. Mais uma vez, do desenvolvimento de Taylor de f em torno de xn, garante-se a existˆencia de ξn entre xn e xn+1 tal que

f (xn+1) = f (xn) + f(xn)(xn+1− xn) +f

 n)

2 (xn+1− xn)

2.

2. Da express˜ao de recorrˆencia do m´etodo de Newton, xn+1= xnff (x(xn)

n), podemos concluir que f (xn) + f(xn)(xn+1− xn) = 0, verificando-se assim que

f (xn+1) = f

 n)

2 (xn+1− xn)

2. (2.5.1)

3. Do desenvolvimento de Taylor de f em torno de s, garante-se a existˆencia de ζnentre xn+1 e s, tal que

f (xn+1) = f (s) + f(ζn)(xn+1− s). Uma vez que f (s) = 0, esta express˜ao pode ser escrita na forma

f (xn+1) = f(ζn)(xn+1− s). (2.5.2) 4. Combinando agora as express˜oes (2.5.1) e (2.5.2), pode escrever-se

f(ζn)(xn+1− s) = f  n) 2 (xn+1− xn) 2, ou ainda, |f n)||xn+1− s| = |f  n)| 2 |xn+1− xn| 2.

5. Definindo agora M2 = maxx∈[a,b]|f(x)| e m1 = minx∈[a,b]|f(x)|, e supondo que m1 > 0,

pode afirmar-se que

|xn+1− s| ≤

M2

2m1|xn+1− xn| 2,

express˜ao esta que poder´a ser utilizada para determinar o majorante do erro de aprox- ima¸c˜ao de xn+1, dado por

εn+1= M2

2m1|xn+1− xn| 2,

Exemplo 2.5.1. Utilizar o m´etodo de Newton para determinar uma aproxima¸c˜ao, com um erro absoluto inferior a 5× 10−6, do (´unico) zero da fun¸c˜ao f (x) = 1 + x + ex, que se sabe estar no intervalo [−2, −1].

Resolu¸ao

Condi¸c˜oes de convergˆencia f(x) = 1 + ex f > 0 f(x) = ex f > 0

O m´etodo converge desde que x0 esteja `a direita do zero, garantindo f (x0)f(x0) > 0. Ent˜ao,

escolhendo x0=−1, garante-se a convergˆencia do m´etodo.

Estima¸c˜ao do erro

Utilizando a estimativa do erro de aproxima¸c˜ao atr´as deduzida temos m1 = min x∈[−2,−1]|f (x)| = 1 + e−2 = 1.1353 M2 = max x∈[−2,−1]|f (x)| = e−1= 0.3679 M2 2m1 = 0.162

pelo que εn+1= 0.162· |xn+1− xn|2 ser´a um majorante do erro de xn+1. Crit´erio de paragem

De acordo com a majora¸c˜ao do erro o crit´erio de paragem a utilizar ser´a εn+1≤ 5 × 10−6. Itera¸c˜ao 1

x1 = x0 f (x0)

f(x0) =−1.26894

ε1= 0.162· |x1− x0|2= 1.2× 10−1

Como ε1 5 × 10−6, devemos prosseguir as itera¸c˜oes.

Itera¸c˜ao 2

x2 = x1 f (x1)

f(x1) =−1.27485

ε2= 0.162· |x2− x1|2= 1.5× 10−5

Como ε2 5 × 10−6, devemos prosseguir as itera¸c˜oes. Itera¸c˜oes

A tabela seguinte resume a aplica¸c˜ao do m´etodo.

n xn f (xn) f(xn) xn+1 εn+1

0 −1.00000 +3.68 × 10−1 +1.368 −1.26894 +1.2 × 10−1 1 −1.26894 +1.22 × 10−2 +1.281 −1.27845 +1.5 × 10−5 2 −1.27845 +1.27 × 10−5 +1.278 −1.27846 +1.6 × 10−11

Solu¸c˜ao

A solu¸c˜ao aproximada ser´a s −1.27846 (com todos os algarismos exactos).

Neste exemplo verificou-se que o m´etodo de Newton apresentou uma convergˆencia bastante mais r´apida do que os m´etodos anteriores, conseguindo-se uma precis˜ao maior num menor n´umero de itera¸c˜oes. Como ser´a discutido mais `a frente, o m´etodo de Newton ´e na generalidade dos casos um m´etodo de convergˆencia mais r´apida. Note-se no entanto que a sua aplica¸c˜ao exige o c´alculo de valores da derivada da fun¸c˜ao e tamb´em que as condi¸c˜oes para a sua convergˆencia podem ser mais dif´ıceis de verificar.

A terminar a exposi¸c˜ao sobre o m´etodo de Newton, apresenta-se em seguida um teorema que fornece outras condi¸c˜oes suficientes para a convergˆencia do m´etodo de Newton. Este teorema justifica a constata¸c˜ao de que o m´etodo de Newton, de uma forma geral, ´e convergente desde que parta de uma estimativa inicial x0 suficientemente pr´oxima da solu¸c˜ao s a determinar.

Teorema 2.5.2. Sendo f ∈ C2([a, b];R) e s um zero de f em [a, b], tal que f(s) = 0, ent˜ao existe δ > 0 tal que a sucess˜ao{xn} gerada pelo m´etodo de Newton converge para s sempre que

x0∈ [s − δ, s + δ].

Dans le document Prepared exclusively for J.S. Ash (Page 66-70)