You are on page 1of 5

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


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

Para i = n-1 a 0
Obsrvese 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
.Si esto es hecho con la ecuacin,
polinomio entre el factor cuadrtico
el resultado es un nuevo polinomio

Con un residuo

Como con una divisin sinttica normal, la simple relacin de recurrencia puede
usarse
para 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,
necesarios para mejorar nuestros valores iniciales se
y
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 se
obtienen 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


cuales
pueden 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

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 d<0
d=-d;
im1=sqrt(d)/2; r1=-u/2; r2=r1; im2=-im1;
elseif d>0
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;

You might also like