Métodos Numéricos e Estatísticos Parte I-Métodos Numéricos Lic. Eng. Biomédica e Bioengenharia-2009/2010
Para determinarmos um valor aproximado das raízes de uma equação não linear, convém notar inicialmente que várias situações diferentes podem ocorrer no que respeita a existência e unicidade de solução: Não existe solução sin x 2 = 0; Existe solução e é única Existe uma solução múltipla x + 1 e x = 0; (x 3) 2 = 0; Existem várias soluções, algumas delas múltiplas Existe uma infinidade de soluções (x 1)(x π) 3 = 0; cos x = 0.8. A maior parte dos métodos numéricos para resolução de equações não lineares exige o fornecimento de uma região que contenha as raízes procuradas. Como tal, na utilização de tais métodos, é necessário um estudo preliminar mínimo da função envolvida na equação.
Método Gráfico Um dos métodos mais elementares para localizar um zero de uma função é o método gráfico. Imaginemos que pretendemos localizar os zeros da função f (x) = e x 3x. Notemos, em primeiro lugar que determinar os zeros de f é equivalente a determinar as raízes da equação f (x) = 0 e x = 3x. Assim sendo, ao utilizarmos o método gráfico, em vez de fazermos o traçado do gráfico de f e localizar os pontos onde este intersecta o eixo dos xx, é mais simples se fizermos o traçado das funções e x e 3x e localizar os pontos onde estes se intersectam.
y 6 4 2 e x 3x Por análise dos gráficos, podemos palpitar que existem duas raízes, x1 e x 2 da equação e que x1 [0, 1] e x 2 [1, 2]. -0.5 0.5 1 1.5 2 x Convém sempre verificar analiticamente a existência e a unicidade de tais raízes nos respectivos intervalos. Recordemos que Se f é uma função contínua num intervalo [a, b] e se f (a) f (b) < 0, então f tem pelo menos um zero em [a, b]. Se além disso, x ]a, b[, f (x) 0 então, nesse intervalo, esse zero é único. Verifiquemos então que sendo f (x) = e x 3x, existe um único x1 [0, 1] tal que f (x1 ) = 0. f (0) = 1 > 0, f (1) = e 3 < 0, logo f (0) f (1) < 0; f (x) = e x 3 só se anula em ln 3 1.1, logo x ]0, 1[, f (x) 0.
Métodos Numéricos para equações não lineares Os métodos que iremos estudar são iterativos, i.e., fornecem-nos uma sucessão de valores x 1, x 2,..., os quais, em caso de convergência da sucessão, se irão aproximar da solução x de uma equação f (x) = 0. Esta sucessão é definida por recorrência, necessitando de uma ou mais aproximações iniciais, conforme o método. A utilização de um método iterativo coloca-nos, à partida três problemas: 1 construção do método; 2 estudo da convergência da sucessão de aproximações x 1, x 2,... fornecida pelo método; 3 análise da velocidade de convergência.
Critérios de paragem Como é impossível efectuar um número infinito de iterações, será necessário parar após a obtenção de uma aproximação x N. Isto coloca-nos outro problema: o da escolha de um critério de paragem, dependente da precisão pretendida. Suponhamos que pretendemos determinar uma aproximação x n da raíz x da equação f (x) = 0, localizada num intervalo I = [a, b], tal que x n x < ε. Existem vários critérios de paragem, p.e.: (i) Critério do erro absoluto: x n x n 1 < ε; (ii) Critério do erro relativo: xn x n 1 x n < ε; (iii) Número máximo de iterações: n = n max. Este critério costuma usar-se como factor de segurança, para o caso do método divergir, e como tal é usual usá-lo juntamente com outro critério;
(iv) no caso de f C 1 (I ), sabemos, pelo teorema do valor médio de Lagrange que f (x n ) f (x ) = f (ξ) (x n x ), para algum ξ I. Sendo f (ξ) 0, podemos dizer x n x = f (x n) f (x ) f. (ξ) Como f (x ) = 0 e ξ é desconhecido: x n x f (x n ) min x I f (ξ), e desta forma obtém-se o critério de paragem f (x n ) min x I f (ξ) < ε. Note-se que se f tomar valores muito pequenos, mesmo não sendo nulos, este deixa de ser um critério razoável;
(v) Critério do valor da função: f (x n ) < ε. Este critério pode não ser uma boa escolha sempre que o gráfico de f esteja muito próximo do eixo dos xx, pois assim pode ser verificado o critério de paragem e no entanto x n estar longe de x.
Ordem de convergência Chamamos ordem de convergência de uma sucessão convergente (x n ) n N, à maior potência p 1 tal que x n+1 x k x n x p, para algum 0 < k < 1. A k dá-se o nome de factor de convergência. Se p = 1, dizemos que a convergência é linear; se p > 1, a convergência diz-se supra-linear. Assim, quanto maior for a ordem de convergência de um método, mais rápido ele é no fornecimento de uma boa aproximação da solução; Se dois métodos tiverem a mesma ordem de convergência, é mais rápido aquele que apresentar um factor de convergência menor.
No caso de convergência linear, são válidas as seguintes majorações: x n x x n+1 x 1 1 k x n x n+1 k 1 k x n x n+1 No caso de convergência supra-linear: x n x x n x n+1
Método da Bissecção O teorema de Bolzano sugere-nos um processo muito simples para obter uma aproximação do zero de uma função f : Supondo que 1. f é contínua em [a, b], 2. f (a) f (b) < 0, 3. ]a, b[, f (x) 0, i.e existe um único zero da função f no interior do intervalo [a, b], o processo consiste em dividir o intervalo dado ao meio, obtendo-se assim os dois subintervalos [ a, a + b 2 ] e [ a + b 2, b e depois testar a condição 2. nestes dois intervalos para determinar qual deles contém a raíz. O processo é repetido para o novo subintervalo contendo a raíz até que se obtenha a precisão pretendida. ]
Método da bissecção Condição suficiente de convergência: f contínua em [a, b] f (a)f (b) < 0 Inicialização: a 0 = a, b 0 = b x 0 = a ou x 0 = b Ciclo: Para m 0 fazer x m+1 = am+bm 2 Se x m+1 x m ε ou f (x m+1 ) ε então fazer x x m+1 e parar caso contrário Se f (x m+1 ) f (a m) < 0 então fazer a m+1 = a m e b m+1 = x m+1 senão a m+1 = x m+1 e b m+1 = b m
Se x é o zero de f localizado no intervalo [a n, b n], então Por outro lado, prova-se facilmente que x n+1 x x n+1 x n. e que x n+1 x bn an 2 b n a n = 1 (b a) 2n ou x n x b a 2 n, n 0. No caso do método da bissecção não existe nenhuma constante k, 0 < k < 1 que satisfaça x n+1 x k x n x ou x n x k n x 0 x, n 0. No entanto, se considerarmos que um método tem convergência linear quando x n x k n (b a), n 0, podemos afirmar que o método da bissecção converge linearmente, com factor de convergência k = 1 2.
Exemplo O número de indivíduos de uma população pode ser dado, num curto período de tempo, pela função N(t) = N 0 e λt + ν ( ) e λt 1, λ onde ν representa a taxa anual de imigração, λ a taxa anual de natalidade e N 0 o número de indivíduos no instante inicial. Sabe-se que uma dada população possui inicialmente um milhão de indivíduos, que 281 10 3 imigraram para a comunidade durante o primeiro ano e que no fim desse ano existem 1.780 10 6 de indivíduos. Pretende-se determinar a taxa de natalidade dessa população nesse ano.
Para determinarmos a taxa de natalidade, temos que resolver a equação não linear 1.780 10 6 = 10 6 e λ + 281 103 λ Vamos fazê-lo determinando o zero da função f (λ) = 10 6 e λ + 281 103 λ ( ) e λ 1. ( ) e λ 1 1.780 10 6 no intervalo [0.1, 1], pelo método da bissecção com x 0 = 0.1.
Com o critério de paragem f (x n ) < 10 4 : x 1 = 0.55 f (x 1 ) = 327878.650632 x 17 = 0.365216827393 f (x 17 ) = 0.8283339 x 2 = 0.325 f (x 2 ) = 63930.5493404 x 18 = 0.365213394165 f (x 18 ) = 4.735935 x 3 = 0.4375 f (x 3 ) = 121336.159014 x 19 = 0.365215110779 f (x 19 ) = 1.9538028 x 4 = 0.38125 f (x 4 ) = 26188.1277134 x 20 = 0.365215969086 f (x 20 ) = 0.5627351 x 5 = 0.353125 f (x 5 ) = 19482.6488803 x 21 = 0.365216398239 f (x 21 ) = 0.1327992 x 6 = 0.3671875 f (x 6 ) = 3197.7633636 x 22 = 0.365216183662 f (x 22 ) = 0.2149679 x 7 = 0.36015625 f (x 7 ) = 8180.9199049 x 23 = 0.365216290951 f (x 23 ) = 0.0410844 x 8 = 0.363671875 f (x 8 ) = 2501.2307709 x 24 = 0.365216344595 f (x 24 ) = 0.0458574 x 9 = 0.3654296875 f (x 9 ) = 345.8490071 x 25 = 0.365216317773 f (x 25 ) = 0.0023865 x 10 = 0.36455078125 f (x 10 ) = 1078.2946831 x 26 = 0.365216304362 f (x 26 ) = 0.0193489 x 11 = 0.364990234375 f (x 11 ) = 366.3738534 x 27 = 0.365216311067 f (x 27 ) = 0.0084811 x 12 = 0.365209960938 f (x 12 ) = 10.3001852 x 28 = 0.36521631442 f (x 28 ) = 0.0030473 x 13 = 0.365319824219 f (x 13 ) = 167.7649694 x 29 = 0.365216316096 f (x 29 ) = 3.304 10 4 x 14 = 0.365264892578 f (x 14 ) = 78.7300319 x 30 = 0.365216316935 f (x 30 ) = 0.0010281 x 15 = 0.365237426758 f (x 15 ) = 34.2143333 x 31 = 0.365216316516 f (x 31 ) = 3.488 10 4 x 16 = 0.365223693848 f (x 16 ) = 11.9569266 x 32 = 0.365216316306 f (x 32 ) = 9.2 10 6 São necessárias 32 iterações.
Com o critério de paragem x n x n+1 < 10 4 : Seriam necessárias 18 iterações para a aproximação pedida, com a seguinte majoração para o erro: x x 18 1 0.1 2 18 = 3.4 10 6.
No scilab: Exemplo Exercício 18 dos problemas propostos: x=[2:0.1:8] ; function y=fun(t),y=7*exp(-2*t)+2*exp(-0.1*t)-1, endfunction;clf(); plot(x,fun(x)) a=6;b=7;it=0;h=10; while h>10^(-8), c=(a+b)/2; if fun(c)*fun(a)>0 then a=c;else b=c;end; printf( it=%d\n,it); printf( xi=%0.8f\n,c); printf( f(xi)=%0.8f\n,fun(c)); it=it+1; h=abs(b-a); end; printf( h=%0.8f\n,h);printf( valor aprox:%0.8f,c)
Método do ponto fixo Muitas vezes, o problema da determinação do zero de uma função f pode reduzir-se à procura de um valor z que satisfaça a equacão g(x) = x. Diz-se então que z é um ponto fixo de g. O método do ponto fixo é um método iterativo para aproximar o zero de uma função f, localizado no intervalo [a, b], baseado na relação de recorrência x n+1 = g(x n), n 0, x 0 [a, b]. Existem várias maneiras de reescrever f (x) = 0 na forma g(x) = x. Exemplo Para aproximarmos a raíz de e x 1 = 0 no intervalo [0.4, 0.6], pelo método do ponto x fixo, temos que inicialmente escolher a função de iteração g. Ora e x 1 = 0 pode ser reescrita, p.e., x x = e x ; x = ln x. O próximo teorema diz-nos quais as condições que teremos que impôr a g por forma a obter um método convergente.
Teorema do ponto fixo Seja g uma função definida no intervalo fechado [a, b] satisfazendo 1 a g(x) b, para todo o x [a, b]; 2 existe uma constante L, 0 < L < 1 tal que g(x) g(y) L x y para quaiquer x, y [a, b]. Nestas condições g possui em [a, b] um único ponto fixo z, limite da sucessão definida por recorrência { x0 x n = g (x n 1 ), n N qualquer que seja x 0 [a, b].
Dem.: Comecemos por mostrar que a sucessão (x n) n N é convergente: Ora x n+1 x n = g(x n) g(x n 1 ) L x n x n 1 L 2 x n 1 x n 2... L n x 1 x 0. Sendo n > k pela desigualdade triangular x n x k = x n x n 1 + x n 1 x n 2 +... + x k+1 x k x n x k x n x n 1 + x n 1 x n 2 +... + x k+1 x k (L n 1 + L n 2 +... + L k) x 1 x 0 } {{ } progressão geométrica de razão L = L k 1 Ln k 1 L x 1 x 0 < Lk 1 L x 1 x 0. Desta forma, dado δ > 0, existe p N, tal que n, k p x n x k < δ, desde que n > k. Podemos então afirmar que (x n) n N é uma sucessão de Cauchy em R logo convergente para um limite z que pertence a [a, b], pela condição 1.
Mostremos agora que z é um ponto fixo de g: g(z) z = g(z) x n+1 + x n+1 z g(z) x n+1 + x n+1 z = g(z) g(x n) + x n+1 z. Como g é contínua (pela condição 2.) e como lim x n = z, fazendo n na n desigualdade acima obtém-se g(z) z = 0 g(z) = z. Resta-nos mostrar que o ponto fixo é único. Para tal suponhamos que existem dois pontos fixos de g, z 1 e z 2. z 1 z 2 = g (z 1 ) g (z 2 ) L z 1 z 2 < z 1 z 2, o que é absurdo. Logo teremos que ter z 1 = z 2. Nota: Dividindo ambos os membros da inequação da condição 2. do teorema por g(x) g(y) x y e supondo que existe o limite lim, podemos concluir que y x x y g (x) L < 1 em [a, b].
Método do ponto fixo Condição suficiente de convergência: f contínua em [a, b] f (a)f (b) < 0 Escolher uma função g tal que f (x) = 0 g(x) = x, com g C 1 (]a, b[) g ([a, b]) [a, b] max x ]a,b[ g (x) < 1 Inicialização: x 0 [a, b] Ciclo: Para m 0 fazer x m+1 = g(x m) até x m+1 x m ε ou f (x m+1 ) ε
Supondo g (x) 0, x ]a, b[, o método do ponto fixo tem convergência linear a admite a seguinte majoração do erro Se g é tal que z x n+1 max x [a,b] g (x) z x n, n 0. g (z) =... g (p 1) (z) = 0 e g (p) (z) 0, então a ordem de convergência do método é p e a estimativa para o erro é z x n+1 M p! z x n p, n 0, com M = max x ]z ɛ,z+ɛ[ g (p) (x).
Exemplo Vamos resolver a equação algébrica x 2 100x + 1 = 0 pelo metodo do ponto fixo. Usando a fórmula resolvente, sabemos que as raízes desta equação são x1 0.01 e x2 99.99. Ora, x 2 100x + 1 = 0 x = 1 ( x 2 + 1 ) O esquema iterativo. 100 } {{ } g 1 (x) Como g 1 (x) = 0.02x a escolha desta função iteradora g 1 é boa para aproximarmos x1. x 0 = 1 x n+1 = x i g 1 (x i ) 0.02 0.010004 0.010004 0.0100010008 0.0100010008 0.0100010002 0.0100010002 0.0100010002 1 100 ( x 2 n + 1 ), n 0, fornece as seguintes aproximações: Analizando os resultados obtidos, concluímos que a partir da quarta iteração se tem x n g 1 (x n).
A função iteradora g 1 já não é uma boa escolha quando se pretende aproximar a raíz x2 pelo método do ponto fixo. Vamos então escrever x 2 100x + 1 = 0 x = 100 1. x } {{ } g 2 (x) Começando com a aproximação inicial x 0 = 10, como g 2 (x) = 1 x 2, o esquema iterativo x 0 = 10 x n+1 = 100 1 x n, n 0, convergirá para x 2. x i g 2 (x i ) 99.9 99.9899899 99.9899899 99.9899989989 99.9899989989 99.9899989998 99.9899989998 99.9899989998
No scilab: Exemplo Exercício 21 dos problemas propostos: function y=f(x), y=exp(x)-4*x^2, endfunction; x=[-6:0.1:6] ; plot(x,f(x)); f(4) f(5) function z=g(x), z=log(4*x^2), endfunction; g(4) g(5) a=[4:0.1:5] ; plot(a,g(a)); x0=4;it=1;tol=1; while tol>10^(-5) xi=g(x0);tol=abs(xi-x0); printf( it=%d\n,it); printf( xi=%0.8f\n,xi); x0=xi; it=it+1; end;
Método de Newton Seja f C 2 [a, b], [a, b] R e x [a, b] a única raíz de f (x) = 0 nesse intervalo. Suponhamos que: f (a)f (b) < 0 f (x) 0 x (a, b) f (x) de sinal constante em (a, b). Pela fórmula de Taylor, sendo x 0 [a, b], Podemos então escrever f (x) = f (x 0 ) + f (x 0 )(x x 0 ) + f (η) (x x 0 ) 2, η I {x, x 0 } 2 f (x) f (x 0 ) + f (x 0 )(x x 0 ), e obter uma aproximação da raíz de f (x) = 0 fazendo x = x 1, de forma a que o segundo membro se anule, i.e.: f (x 0 ) + f (x 0 )(x 1 x 0 ) = 0 x 1 = x 0 f (x 0) f (x 0 ), f (x 0 ) 0.
Fazendo sucessivamente f (x) f (x n) + f (x n)(x x n), vem a chamada fórmula iteradora do método de Newton x n+1 = x n f (xn) f, n = 0, 1,..., (x n) desde que f (x) nunca se anule em nenhuma das iterações. Nota: Note que y = x n f (xn) f é a equação da recta tangente ao gráfico de f no (x n) ponto x n, razão pela qual o método de Newton também é conhecido pelo método da tangente.
Interpretação geométrica Suponhamos que f (a) < 0, f (b) > 0 e f (x) > 0. Sendo x 0 = b, consideremos a recta tangente à curva em x 0. A equação desta recta tangente é então y f (x 0 ) = f (x 0 )(x x 0 ). Se considerarmos a intersecção desta recta com o eixo dos abcissas (fazendo y = 0), obtemos: x = x 0 f (x 0) f (x 0 ) } {{ } x 1 Se considerarmos a recta tangente à curva em x 1 : e assim sucessivamente. y f (x 1 ) = f (x 1 )(x x 1 ) y=0 = x = x 1 f (x 1) f (x 1 ) } {{ } x 2
Método de Newton Condição suficiente de convergência: f contínua em [a, b] f (a)f (b) < 0 f (x), f (x) 0, x [a, b] f (x 0 )f (x) > 0, x [a, b] Inicialização: x 0 escolhido de acordo com a última condição de convergência Ciclo: Para m 0 fazer x m+1 = x m f (xm) f (x m) até x m+1 x m ε ou f (x m+1 ) ε
Exemplo Dado a > 0, determinemos, pelo método de Newton, uma aproximação do seu inverso, 1 a. O problema proposto é equivalente à determinação da raíz da equação a = 1 x. Consideremos então a função f (x) = 1 x a Com a = 7, f (x) = 1 x 7 e pode localizar-se o zero desta função no intervalo [0.1, 0.2]. Como f é contínua em [0.1, 0.2] e f (0.1) = 3 > 0, f (0.2) = 2 < 0, f (x) = 1 x 2 < 0, x [0.1, 0.2], f (x) = 2 x 3 > 0, x [0.1, 0.2], com x 0 = 0.1, o método de Newton será convergente para a solução do problema fornecendo as seguintes aproximações: x 1 = 0.13 x 2 = 0.1417 x 3 = 0.14284777 x 4 = 0.1428571422 x 5 = 0.1428571429 x 5 = 0.1428571429
Condições suficientes de convergência Se f (a)f (b) < 0, f (x) 0 e f (x) 0, x [a, b], então a sucessão {x n} é convergente para o único zero de f em [a, b], desde que se considere a condição f (x 0 )f (x 0 ) > 0. Dem.: Suponhamos, sem perda de generalidade, que f (a) < 0, f (b) > 0, f (x), f (x) > 0, x 0 = b. Para provarmos que {x n} é convergente, mostraremos que {x n} é não crescente e limitada inferiormente. {x n} é limitada inferiormente: Usando a fórmula de Taylor 0 = f (x ) = f (x n) + f (x n)(x x n) + f (η) (x x n) 2, η n I {x, x n} 2 Dividindo tudo por f (x) 0, temos: ( 0 = x x n f (xn) ) f + f (η n) (x x n) 2 (x n) f (x n) 2 } {{ } x n+1 x x n+1 = f (η n) (x x n) 2 f 0 (x n) 2 donde resulta que x x n+1, n N 0.
{x n} é não crescente: Como x x n, n N, vem que f (x n) 0, n N 0. De x 1 x 0 = f (x 0) f (x 0 ) e f (x 0 ) > 0 resulta x 1 < x 0 e de x n+1 x n = f (xn) f (x n) (1) e de f (x n) 0 resulta x n+1 < x n. Provámos então que a sucessão {x n} é convergente. Vejamos agora se x n x. Sendo α tal que x n α, tomando o limite em (1) obtemos f (α) = 0. Mas como este intervalo contém uma única raíz, temos que α x
Convergência quadrática Nas condições do teorema anterior x x n+1 M x x n 2, n N 0 onde M = 1 max x [a,b] f (x) 2 min x [a,b] f (x) Dem.: Seja x 0 [a, b] tal que f (x 0 )f (x 0 ) > 0. Vimos que x x n+1 = 1 f (η n ) 2 f (x n ) (x x n ) 2, η n I {x, x n } donde resulta imediatamente o pretendido.
No scilab: Exemplo Exercício 21 dos problemas propostos: function y=f(x), y=5*10^(-2)-(4+x)./(((25-x)^2).*(30-x)), endfunction; x=[10:0.1:20]; plot(x,f(x)); f(18) f(19) x0=19;it=1;tol=1; while tol>10^(-8) xi=x0+(f(x0))/(((25-x0)*(30-x0)+2*(4+x0)*(30-x0)+(4+x0))/((25-x0)^3*(30-x0)^2) tol=abs(xi-x0); printf( it=%d\n,it); printf( xi=%f\n,xi); x0=xi; it=it+1; end;
Método da secante Este método conjuga a simplicidade do método da bisecção com a rapidez do método de Newton, evitando as dificuldades deste último nos pontos onde não se pode calcular a derivada. Deduz-se tal como o método de Newton, mas em vez da tangente consideramos a intersecção da recta secante que passa pelos pontos (x n, f (x n )) e (x n 1, f (x n 1 )) com o eixo dos xx. obtendo-se a seguinte fórmula de recorrência: f (x n ) x n+1 = x n f (x n ) f (x n 1 ) (x n x n 1 ) Tal como no método da bissecção, este requer duas aproximações iniciais.
Método da secante Condição suficiente de convergência: f contínua em [a, b] f (a)f (b) < 0 f (x), f (x) 0, x [a, b] f (x 1 )f (x) > 0 e f (x 0 )f (x) > 0, x [a, b] Inicialização: x 0 e x 1 Ciclo: Para m 0 fazer x m+1 = x m f (x m ) x m x m 1 f (x m) f (x m 1 ) até x m+1 x m ε ou f (x m+1 ) ε
Pode provar-se que x x n+1 1 2 max x [a,b] f (x) min x [a,b] f (x) x x n x x n 1 e que o método da secante tem convergência supra-linear, não chegando a ser quadrática. Mais ainda, pode provar-se que a ordem de convergência do método da secante é o número de ouro. p = Φ = 1 + 5, 2
No scilab: Exemplo Exercício 30 dos problemas propostos: function y=f(x), y=sqrt(x).*log(10000./2.51*sqrt(x))-1.1513, endfunction; x=[0.01:0.001:0.05] ; plot(x,f(x)); clf(); function z=df(x), z=0.5*x^(-0.5).*(1+log(10000./2.51*sqrt(x))), endfunction; plot(x,df(x)); clf(); function w=d2f(x), w=0.5.*x^(-0.5).*(-0.25*x^(-1).*(1+log(10000./2.51*sqrt(x)))+1), endfunction; plot(x,d2f(x)); f(0.01) f(0.02) f(0.05) xm1=0.01;x0=0.02;it=1;tol=1; while tol>10^(-8) xi=x0-f(x0)*((x0-xm1)/(f(x0)-f(xm1)));tol=abs(xi-x0); printf( it=%d\n,it); printf( xi=%0.8f\n,xi); xm1=x0; x0=xi; it=it+1; end;
Equações algébricas Um caso particular frequente de equação não linear é a equação algébrica de grau n, com coeficientes reais: p(x) = a 0 x n + a 1 x n 1 + + a n 1 x + a n = 0, a 0 0 Existem fórmulas de resolução para n 4, mas são em geral, de difícil implementação e por vezes mal condicionadas do ponto de vista numérico. Desta forma, é costume recorrer-se aos métodos numéricos para n 3, sendo estes obrigatórios sempre que n 5.
Teorema Fundamental da Álgebra Seja p(x) um polinómio de grau n 1 de coeficientes reais. Então existe x C tal que p(x ) = 0. E seus corolários: Se p(x) é um polinómio de grau n de coeficientes reais, então p(x) admite n zeros, reais ou complexos, iguais ou distintos. Um polinómio de grau ímpar admite pelo menos um zero real.
Teorema de Cauchy n Todos os zeros x do polinómio p(x) = a j x n j, com a 0 0, estão no interior j=0 do circulo (do plano complexo) centrado na origem e raio { } a j R = 1 + max j=1,...,n a 0 E seu corolário: n Os zeros x do polinómio p(x) = a j x n j, com a 0 0 e a n 0, estão no exterior j=0 do circulo (do plano complexo) centrado na origem e raio 1 r = { } a j 1 + max j=0,...,n 1 a n
Exemplo Localizemos os zeros de p(x) = 8x 6 { 4x 5 22x 4 + 5x 3 3x 2 + 9x + 27. 27 R = 1 + max 8, 9 8, 3 8, 5 8, 22 8, 4 } = 1 + 27 8 8 = 35 8 1 1 r = { 8 1 + max 27, 4 27, 22 27, 5 27, 3 27, 9 } = 1 + 22 = 27 49 27 27 então 0.55 = 27 44 < x < 35 8 = 4.375
Regra de sinais de Descartes O número np de zeros reais positivos de um polinómio p(x) é menor ou igual ao número de variações de sinal ν dos coeficientes de P(x). Mais ainda, ν np é um inteiro par positivo. Da mesma maneira, o número de zeros reais negativos de P(x) é no máximo igual ao número de variações de sinal dos coeficientes de P( x). Exemplo p(x) = x 4 x 3 x 2 + x 1. Temos então 1 3 zeros reais positivos um zero real negativo, ou 2 1 zero real positivo, 1 zero real negativo e dois zeros complexos conjugados.
Teorema de Newton Se em c > 0 o polinómio p(x) = n a j x n j, com a 0 > 0 e as suas sucessivas j=0 derivadas p j (x), j = 1, 2,..., n 1 são não negativas, então qualquer zero real positivo x de p(x) é inferior a c. Chamamos sequência de Fourier de p(x) em [a, b], à sequência formada por p e pelas sucessivas derivadas p, p,..., p (k) até à primeira derivada p (k) que tem sinal constante em [a, b]. O número de raízes reais de p(x) = 0 em [a, b], onde p(a) 0 e p(b) 0, é igual ao número de variações de sinal perdidas pela sequência de Fourier de p(x) de a para b ou um número inferior e da mesma paridade. Este último resultado é o conhecido teorema de Fourier.
No caso de se pretender obter um zero real simples de uma equação algébrica qualquer dos métodos numéricos apresentados anteriormente são válidos. No entanto para se determinar um zero complexo o método da bissecção não pode ser usado. O método de Newton e o método da secante só convergirão para um zero complexo se a aproximação inicial for um complexo (e obviamente forem satisfeitas as condições de convergência) sendo todo o processo realizado em aritmética complexa. Note-se que uma vez determinada uma raíz complexa, ficamos imediatamente a conhecer a sua conjugada.