Método de Bairstow

download Método de Bairstow

of 5

description

metodo

Transcript of Método de Bairstow

Mtodo de Bairstow

El mtodo de Baristow es un proceso iterativo relacionado aproximadamente con los mtodos de Muller y Newton-Raphson. Antes de proceder a la descripcin de la tcnica matemtica, recurdese la forma factorizada de un polinomio.

f5(x)=(x+1)(x-4)(x-5)(x+3)(x-2) (7.28)Si se divide entre un factor que no es una raz (por ejemplo, x+6), el coeficiente podra ser un polinomio de cuarto orden. Sin embargo, en este caso, podra haber residuo.

Con estas bases se puede elaborar un algoritmo para determinar la raz de un polinomio:1) suponiendo que el valor inicial de la raz es x = t, 2) al dividir el polinomio entre el factor x-t, y 3) determinando si existe un residuo. Si no, el valor es perfecto y la raz es igual a t. Si hay residuo, el valor puede ajustarse en forma sistemtica y el procedimiento repetirse hasta que el residuo desaparezca y la raz sea localizada. Una vez hecho esto, el procedimiento entero puede repetirse hasta que el coeficiente localice la raz.

El mtodo de Baristow se basa por lo general en esta aproximacin. Consecuentemente, el proceso matemtico depende de dividir el polinomio entre el factor. Recurdese la discusin del polinomio de la deflacin en la cual se concluye que la divisin sinttica implica la divisin del polinomio entre un factor x t. Por ejemplo, el polinomio general.

puede dividirse entre el factor x t para producir un segundo polinomio que de un ordenbajo

con un residuo R= bo, donde los coeficientes son calculados por la relacion de recurrencia.

Para i = n-1 a 0Obsrvese que si t fue una raz del polinomio original, el residuo bo seria igual a cero.

Para permitir la evaluacin de races complejas, el mtodo de Baristow divide el polinomio entre el factor cuadrtico .Si esto es hecho con la ecuacin, el resultado es un nuevo polinomio

Con un residuo

Como con una divisin sinttica normal, la simple relacin de recurrencia puede usarsepara realizar la divisin entre un factor cuadratico:

Para i = n-1 a 0

El factor cuadrtico se introduce para permitir la determinacin de las races complejas. Esto se relaciona con el hecho de que, si los coeficientes del polinomio original son reales,las races complejas se presentan en pares conjugados. Si es un divisor exacto del polinomio, las races complejas pueden determinarse por la formula cuadratica.Entonces el mtodo se reduce a determinar los valores de r y s que hacen que le factor cuadratico sea un divisor exacto. En otras palabras, se busca los valores que hacen que el residuo sea igual a cero.

La inspeccin de la ecuacin conduce a concluir que el residuo debe ser cero, bo y b1 deben ser cero. Debido a que es improbable que los valores iniciales para evaluar r y s conduzcan a este resultado debemos determinar un camino sistemtico que modifica que nuestros valores iniciales, de tal forma que bo y b1 tiendan a cero. Para hacer esto, El mtodo de Baristow usa una estrategia si1milar a la de aproximacin de Newton-Raphson. Ya que tanto bo como b1 son funciones de r y s, se pueden expandir usando la serie de Taylor,

donde los valores del lado derecho son evaluados en r y s. Obsrvese que el segundo trmino y el termino de orden superior se han despreciado. Esto representa la consideracin implcita de que -r y -s son tan pequeos que los trminos de orden superior pueden despreciarse. Otro camino para expresar esta consideracin es que los valores iniciales son adecuadamente cercanos a los valores de r y s de las races.Los cambios, y necesarios para mejorar nuestros valores iniciales se pueden estimar al poner la ecuacin igual a cero para dar

Si las derivadas parciales, de las b, pueden determinarse, hay un sistema de dos ecuaciones que pueden resolverse simultneamente para dos incgnitas, incremento r e incremento s. Baristow muestra que las derivadas parciales pueden obtenerse por divisin sinttica de las b en forma similar al camino en el cual las b en s mismas fueron derivadas:

Para i = n-2 a 1

donde Entonces, las derivadas parciales seobtienen por divisin sinttica de las b. As, las derivadas parciales pueden sustituirse en las ecuaciones junto con las b para dar

Estas ecuaciones pueden resolverse para incremento de r y incremento de s, las cualespueden emplearse para mejorar los valores iniciales de r y s. En cada paso, el error aproximado en r y s puede se estimado como en

Y Cuando ambos errores estimados fallan bajo un criterio especificado de paro, los valores de las races pueden determinarse como

En este punto, existen tres posibilidades:

1.- El coeficiente es un polinomio de tercer orden o mayor. Para este caso, el mtodo de Baristow podra aplicarse al coeficiente para evaluar un nuevo valor de r y s. Los valores anteriores de r y s pueden servir como valores iniciales para esta aplicacin.

2.- El coeficiente es cuadratico. Para este caso, el residuo de las dos races puede evaluarse directamente con la ecuacin.

3.- El coeficiente es un polinomio de primer orden. Para este caso, el residuo es una sola raz que se puede evaluar simplemente como

Function [rts,it]=bairstow(a,n,tol) % Bairstow's method for finding the roots of a polynomial of %degree n. % % Example call: [rts,it]=bairstow(a,n,tol) % a is a row vector of REAL coefficients so that the % polynomial is x^n+a(1)*x^(n-1)+a(2)*x^(n-2)+...+a(n). % The accuracy to which the polynomial is satisfied is given by tol. % The output is produced as an (n x 2) matrix rts. % Cols 1 & 2 of rts contain the real & imag part of root respectively. % The number of iterations taken is given by it. % it=1; while n>2 %Initialise for this loop u=1; v=1; st=1; while st>tol b(1)=a(1)-u; b(2)=a(2)-b(1)*u-v; for k=3:n b(k)=a(k)-b(k-1)*u-b(k-2)*v; end; c(1)=b(1)-u; c(2)=b(2)-c(1)*u-v; for k=3:n-1 c(k)=b(k)-c(k-1)*u-c(k-2)*v; end; %calculate change in u and v c1=c(n-1); b1=b(n); cb=c(n-1)*b(n-1); c2=c(n-2)*c(n-2); bc=b(n-1)*c(n-2); if n>3, c1=c1*c(n-3); b1=b1*c(n-3); end; dn=c1-c2; du=(b1-bc)/dn; dv=(cb-c(n-2)*b(n))/dn; u=u+du; v=v+dv; st=norm([du dv]); it=it+1; end; [r1,r2,im1,im2]=solveq(u,v,n,a); rts(n,1:2)=[r1 im1]; rts(n-1,1:2)=[r2 im2]; n=n-2; a(1:n)=b(1:n); end; %Solve last quadratic or linear equation u=a(1); v=a(2); [r1,r2,im1,im2]=solveq(u,v,n,a); rts(n,1:2)=[r1 im1]; if n==2 rts(n-1,1:2)=[r2 im2]; end; function [r1,r2,im1,im2]=solveq(u,v,n,a); % Solves x^2 + ux + v = 0 (n 1) or x + a(1) = 0 (n = 1). % % Example call: [r1,r2,im1,im2]=solveq(u,v,n,a) % r1, r2 are real parts of the roots, % im1, im2 are the imaginary parts of the roots. % Called by function bairstow. % if n==1 r1=-a(1);im1=0; r2=0; im2=0; else d=u*u-4*v; if d0 r1=(-u+sqrt(d))/2; im1=0; r2=(-u-sqrt(d))/2; im2=0; else r1=-u/2; im1=0; r2=-u/2; im2=0; end; end;