Método de Newton para polinômios - alan.pro.br · Seja f(x) uma fun˘c~ao polinomial de grau n. A...

31
etodo de Newton para polinˆomios Alan Costa de Souza 26 de Agosto de 2017 Alan Costa de Souza etodo de Newton para polinˆomios 26 de Agosto de 2017 1 / 31

Transcript of Método de Newton para polinômios - alan.pro.br · Seja f(x) uma fun˘c~ao polinomial de grau n. A...

Metodo de Newton para polinomios

Alan Costa de Souza

26 de Agosto de 2017

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 1 / 31

Seja f(x) uma funcao polinomial de grau n.

A princıpio. podemos usar qualquer dos metodos anteriores paraencontrar o intervalo inicial e os zeros da funcao f(x).

Mas devido a frequencia das funcoes polinomiais, vamos dar ummaior destaque a esse tipo de funcoes.

Encontrar zeros de um polinomio do segundo grau e trivial.

Encontrar zeros de polinomios de graus maiores sao possıveis emalguns casos, mas nao sao possıveis no caso geral.

Entao a alternativa e encontrar numericamente.

Como eles aparecem com bastante frequencia, veremos um metodode Newton adaptado especificamente para polinomios.

A diferenca entre esse metodo de Newton e o que vimos na ultimaaula e a eficiencia computacional do metodo.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 2 / 31

A aula de hoje sera devidida em duas partes:

1 Teoremas para auxiliar a localizar raızes de polinomios.

2 Metodo de Newton especıfico para polinomios.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 3 / 31

Teorema fundamental da algebra

Se pn(x) e um polinomio de grau n ≥ 1, ou seja,pn(x) = a0 + a1x + a2x

2 + ...+ anxn, com ai reais ou complexos e com

an 6= 0, entao pn(x) tem pelo menos um zero, ou seja, existe um numerocomplexo ξ tal que pn(ξ) = 0.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 4 / 31

Para determinar o numero de zeros reais de um polinomio comcoeficientes reais, podemos usar a regra de sinal de Descartes.

Dado um polinomio com coeficientes reais, o numero de zeros reaispositivos p desse polinomio nao excede o numero v de variacoes desinal dos coeficientes. E v-p e um numero inteiro, par e nao-negativo.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 5 / 31

Exemplo 1

p5(x) = 2x5 − 3x4 − 4x3 + x + 1.

v=2

p=0 ou p=2

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 6 / 31

Exemplo 2

p5(x) = 4x5 − x3 + 4x2 − x − 1.

v=3

p=1 ou p=3

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 7 / 31

Exemplo 3

p5(x) = x7 + 1.

v=0

p=0

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 8 / 31

Exemplo 4

Para encontrar o numero de raızes reais negativas usamos a mesmaregra com pn(−x)

p5(x) = 2x5 − 3x4 − 4x3 + x + 1.

p5(−x) = −2x5 − 3x4 + 4x3 − x + 1.

v=3

n=1 ou n=3

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 9 / 31

Exemplo 5

p5(x) = 4x5 − x3 + 4x2 − x − 1.

p5(−x) = −4x5 + x3 + 4x2 + x − 1.

v=2

n=0 ou n=2

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 10 / 31

Exemplo 6

p5(x) = x7 + 1.

p5(−x) = −x7 + 1.

v=1

n=1

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 11 / 31

Se quisermos encontrar o numero de zeros num intervalo [a,b],podemos usar as sequencias de Sturm, que sao construıdas assim:

Dado um polinomio pn e um numero real α, podemos contruir umasequencia de Sturm {gi (α)}, da seguinte maneira:

g0(x) = pn(x).

g1(x) = p′n(x).

gk(x) e o resto da divisao entre gk−2(x) e gk−1(x) com sinal trocado,para k ≥ 2.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 12 / 31

Exemplo

p3(x) = x3 + x2 − x + 1

g0(x) = p3(x) = x3 + x2 − x + 1

g1(x) = p′3(x) = 3x2 + 2x − 1.

g2(x) =8x

9− 10

9.

g3(x) = −99

16.

Para α = 2g0(2) = p3(2) = 11.

g1(2) = p′3(x) = 15.

g2(2) =2

3g3(2) = −99

16.

Sequencia gi (α) e 11,15, 23 , - 99

16Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 13 / 31

Teorema de Sturm

Se pn(α) 6= 0 e pn(β) 6= 0, entao o numero de raızes distintas de pn(x) nointervalo [α,β] e exatamente v(α)-v(β), onde v(c) e o numero de variacoesde sinal da sequencia {gi (c)}.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 14 / 31

Exemplo

p3(x) = x3 + x2 − x + 1

g0(x) = p3(x) = x3 + x2 − x + 1

g1(x) = p′3(x) = 3x2 + 2x − 1.

g2(x) =8x

9− 10

9.

g3(x) = −99

16.

gi (2) e 11,15, 23 , - 99

16

v(2) = 1

gi (3) e 34,32, 149 , - 99

16

v(3)= 1

O polinomio nao possui raızes reais em [2,3].

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 15 / 31

Teorema 3.

Se pn(x) = a0 + a1x + a2x2 + ...+ anx

n, entao pn(x) tem pelo menos umzero no interior do cırculo centrado na origem e com raio igual ao mınimoentre ρ1,ρn, onde

ρ1 = n|a0||a1|

e

ρn = n

√|a0||an|

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 16 / 31

Exemplo.

p5(x) = x5 − 3, 7x4 + 7, 4x3 − 10, 8x2 + 10, 8x − 6, 8.

n = 5 a5 = 1 a1 = 10, 8 a0 = −6, 8.

ρ1 = n|a0||a1|

= 56, 8

10, 8= 3, 14...

ρn =5

√6, 8

1= 1, 46...

Logo pn(x) tem um zero real ou complexo dentro do cırculo de raio1,46..., ou seja

|x | ≤ 1, 46...

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 17 / 31

Teorema 4.

Se pn(x) = a0 + a1x + a2x2 + ...+ anx

n, e se

r = 1 + max0≤k≤n−1

|ak ||an|

.

Entao cada um dos zeros de pn(x) se encontra no cırculo |x | ≤ r .

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 18 / 31

Exemplo

x3 − x2 + x − 1.

n = 3 a0 = −1 a1 = 1 a2 = −1 a3 = 1.

|a0||a3|

= 1|a1||a3|

= 1|a2||a3|

= 1.

r = 1 + 1 = 2.

|x | ≤ 2.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 19 / 31

O polinomio tem 3 raızes.

x1 = 1 x2 = 0 + 1i x3 = 0− 1i .

|x1| = 1 |x2| =√

02 + 12 = 1. |x3| = 1.

|xn| ≤ 2.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 20 / 31

Determinacao das raızes reais.

Depois de obter uma ideia de onde estao as raızes de um polinomio,que e a fase de isolamento, vamos para a fase de refinamento, paraencontrar a raiz de forma mais precisa.

O metodo mais eficaz no caso geral para encontrar zeros de umafuncao, e o metodo de Newton.

Ele tem a desvantagem de ter que se derivar a funcao f(x) e calcular ovalor em cada iteracao.

Veremos uma versao especial do metodo de Newton, que e mais eficazcomputacionalmente, e tambem elimina a necessidade de se derivar.

Para comecar veremos um metodo mais eficiente de se calcular ovalor de um polinomio num ponto.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 21 / 31

Valor numerico de um polinomio.

Seja o polinomio:

p4(x) = a4x4 + a3x

3 + a2x2 + a1x + a0

Para se calcular o valor numerico para algum x , precisa-se de 10multiplicacoes e 4 adicoes.

p4(x) = a4x4 + a3x

3 + a2x2 + a1x + a0

p4(x) = (a4x3 + a3x

2 + a2x + a1)x + a0

p4(x) = ((a4x2 + a3x + a2)x + a1)x + a0

p4(x) = (((a4x + a3)x + a2)x + a1)x + a0

Precisamos de 4 multiplicacoes e 4 somas.

Logo a segunda forma e mais eficiente computacionalmente.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 22 / 31

p4(x) = (((a4x + a3)x + a2)x + a1)x + a0

b4 = a4.

b3 = a3 + b4x .

b2 = a2 + b3x .

b1 = a1 + b2x .

b0 = a0 + b1x .

Valor de p(x) e b0.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 23 / 31

Exemplo

.p(x) = x2 + 1

p(4) =?

b2 = a2 = 1

b1 = a1 + b2x = 0 + 1× 4 = 4.

b0 = a0 + b1x = 1 + 4× 4 = 17.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 24 / 31

Valor numerico da derivada de um polinomio.

p4(x) = a4x4 + a3x

3 + a2x2 + a1x + a0

b4 = a4. a4 = b4

b3 = a3 + b4x a3 = b3 − b4x

b2 = a2 + b3x a2 = b2 − b3x

b1 = a1 + b2x a1 = b1 − b2x

b0 = a0 + b1x a0 = b0 − b1x

p′4(x) = 4a4x3 + 3a3x

2 + 2a2x + a1

p′4(x) = 4b4x3 + 3(b3 − b4x)x2 + 2(b2 − b3x)x + (b1 − b2x)

p′4(x) = 4b4x3 + 3b3x

2 − 3b4x3 + 2b2x − 2b3x

2 + b1 − b2x

p′4(x) = b4x3 + b3x

2 + b2x + b1

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 25 / 31

p′4(x) = b4x3 + b3x

2 + b2x + b1

p′4(x) = (b4x2 + b3x + b2)x + b1

p′4(x) = ((b4x + b3)x + b2)x + b1

c4 = b4

c3 = b3 + c4x

c2 = b2 + c3x

c1 = b1 + c2x

c1 e o valor de p’(x).

Podemos calcular o valor de p(x) atraves dos coeficientes ai de formaotimizada.

O calculo de p(x) gera uma sequencia bi .

Usamos os bi para calcular p’(x) de forma otimizada.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 26 / 31

Calculando f(x) e f’(x) simultaneamente.

b4 = a4.

c4 = b4

b3 = a3 + b4x .

c3 = b3 + c4x

b2 = a2 + b3x .

c2 = b2 + c3x

b1 = a1 + b2x .

c1 = b1 + c2x

b0 = a0 + b1x .

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 27 / 31

Exemplo 1.

p5(x) = x5 − 3, 7x4 + 7, 4x3 − 10, 8x2 + 10, 8x − 6, 8

x0 = 1, 5 ε = 10−6

x1 = x0 −p5(x0)

p′5(x0)= 1, 5− p5(1, 5)

p′5(1, 5)

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 28 / 31

b5 = a5 = 1 c5 = b5 = 1.

b4 = a4 + b5x = −3, 7 + 1× 1, 5 = −2, 2.

c4 = b4 + c5x = −2, 2 + 1× 1, 5 = −0, 7.

b3 = a3 + b4x = 7, 4− 2, 2× 1, 5 = 4, 1.

c3 = b3 + c4x = 4, 1− 0, 7× 1, 5 = 3, 05.

b2 = a2 + b3x = −10, 8 + 4, 1× 1, 5 = −4, 65.

c2 = b2 + c3x = −4, 65 + 3, 05× 1, 5 = −0, 075.

b1 = a1 + b2x = 10, 8− 4, 65× 1, 5 = 3, 825.

c1 = b1 + c2x = 3, 825− 0, 075× 1, 5 = 3, 7125

b0 = a0 + b1x = −6, 8 + 3, 825× 1, 5 = −1, 0625.

p5(1, 5) = −1, 0625 p′5(1, 5) = 3, 7125.

x1 = x0 −p5(x0)

p′5(x0)= 1, 5− p5(1, 5)

p′5(1, 5)≈ 1, 78619.

x5 = 1, 7.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 29 / 31

Exemplo 2.

x3 − 3x + 3 ε ≤ 10−6.

b3 = a3 = 1 c3 = b3 = 1. x0 = −2.

b2 = a2 + b3x = 0 + 1× (−2) = −2.

c2 = b2 + c3x = −2 + 1× (−2) = −4.

b1 = a1 + b2x = −3− 2× (−2) = 1.

c1 = b1 + c2x = 1− 4× (−2) = 9.

b0 = a0 + b1x = 3 + 1× (−2) = 1.

p(−2) = b0 = 1 p′(−2) = c1 = 9.

x1 = x0 −p(x0)

p′(x0)= −2− 1

9≈ −2, 11.

x4 = −2.10380340274. (1)

f (x4) ≈ −6.69× 10−9

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 30 / 31

Exemplo 3.

x3 − 3x + 3 ε ≤ 10−6 x0 = −0, 8.

x18 ≈ −2.10380340274.

p′(x) = 3x2 − 3

Zeros da derivada sao:x = 1 x = −1.

x0 proximo ao zero da derivada explica as 18 iteracoes.

Alan Costa de Souza Metodo de Newton para polinomios 26 de Agosto de 2017 31 / 31