Está en la página 1de 5

7.

5 MÉTODO DE BAIRSTOW 181

El seudocódigo del método de Müller para raíces reales se presenta en la figura 7.4.
Observe que esta rutina toma un valor inicial único diferente de cero, que después se
altera por el factor h para generar los otros dos valores iniciales. Por supuesto, el algo-
ritmo puede programarse para considerarse tres valores iniciales. Con lenguajes pareci-
dos a Fortran, el programa encontrará raíces complejas si las variables adecuadas se
declaran como complejas.

7.5 MÉTODO DE BAIRSTOW

El método de Bairstow es un método iterativo relacionado de alguna manera con los


métodos de Müller y de Newton-Raphson. Antes de hacer la descripción matemática de
éste, recuerde la forma factorizada de un polinomio, por ejemplo
ƒ5(x) = (x + l)(x – 4)(x – 5)(x + 3)(x – 2) (7.28)

FIGURA 7.4
Seudocódigo para el método de Müller.

SUB Muller(xr, h, eps, maxit)


x2 = xr
x1 = xr + h*xr
x0 = xr – h*xr
DO
iter = iter + 1
h0 = x1 – x0
h1 = x2 – x1
d0 = (f(x1) – f(x0)) / h0
d1 = (f(x2) – f(x1)) / h1
a = (d1 – d0) /(h1 + h0)
b = a*h1 + d1
c = f(x2)
rad = SQRT(b*b – 4*a*c)
If |b+rad| > |b–rad| THEN
den = b + rad
ELSE
den = b – rad
END IF
dxr = –2*c /den
xr = x2 + dxr
PRINT iter, xr
IF (|dxr| < eps*xr OR iter > maxit) EXIT
x0 = x1
x1 = x2
x2 = xr
END DO
END Muller
182 RAÍCES DE POLINOMIOS

Si se divide entre un factor que no es una raíz (por ejemplo, x + 6), el cociente es un
polinomio de cuarto grado. Aunque, en este caso, habrá un residuo diferente de cero.
Con estas consideraciones se puede elaborar un algoritmo para determinar la raíz
de un polinomio: 1. dé un valor inicial para la raíz x = t; 2. divida el polinomio entre el
factor x – t, y 3. determine si hay un residuo diferente de cero. Si no, el valor inicial es
perfecto y la raíz es igual a t. Si existe un residuo, se ajusta el valor inicial en forma
sistemática y se repite el procedimiento hasta que el residuo desaparezca y se localice
la raíz. Una vez hecho esto, se repite el procedimiento totalmente, ahora con el cociente
para localizar otra raíz.
Por lo general, el método de Bairstow se basa en esta manera de proceder. Por con-
siguiente, depende del proceso matemático de dividir un polinomio entre un factor.
Recuerde (sección 7.2.2) de nuestro estudio de la deflación de polinomios que la división
sintética implica la división del polinomio entre un factor x – t. Por ejemplo, el polinomio
general [ecuación (7.1)]
ƒn (x) = a0 + a1x + a2x2 +···+ anxn (7.29)

se divide entre el factor x – t para dar un segundo polinomio que es de un grado menor:
ƒn–1 (x) = b1 + b2x + b3x2 + ··· + bnxn–1 (7.30)

con un residuo R = b 0 , donde los coeficientes se calculan por la relación de recurrencia


bn = an
bi = ai + bi+1t para i = n – 1 a 0

Observe que si t es una raíz del polinomio original, el residuo b 0 sería igual a cero.
Para permitir la evaluación de raíces complejas, el método de Bairstow divide el
polinomio entre un factor cuadrático x2 – rx – s. Si esto se hace con la ecuación (7.29),
el resultado es un nuevo polinomio
ƒn–2(x) = b2 + b3x +···+ bn–1xn–3 + bnxn–2

con un residuo
R = b1(x – r) + b0 (7.31)

Como con la división sintética normal, se utiliza una relación de recurrencia simple para
realizar la división entre el factor cuadrático:
bn = an (7.32a)
bn–1 = an–1 + rbn (7.32b)
bi = ai + rbi+1 + sbi+2 para i = n – 2 a 0 (7.32c)

El factor cuadrático se introduce para permitir la determinación de las raíces com-


plejas. Esto se relaciona con el hecho de que, si los coeficientes del polinomio original
son reales, las raíces complejas se presentan en pares conjugados. Si x2 – rx – s es un
divisor exacto del polinomio, las raíces complejas pueden determinarse con la fórmula
cuadrática. Así, el método se reduce a determinar los valores de r y s que hacen que el
factor cuadrático sea un divisor exacto. En otras palabras, se buscan los valores que
hacen que el residuo sea igual a cero.
7.5 MÉTODO DE BAIRSTOW 183

La inspección de la ecuación (7.31) nos lleva a concluir que para que el residuo sea
cero, b 0 y b1 deben ser cero. Como es improbable que los valores iniciales para evaluar
r y s conduzcan a este resultado, debemos determinar una forma sistemática para mo-
dificar los valores iniciales, de tal forma que b 0 y b1 tiendan a cero. Para lograrlo, el
método de Bairstow usa una estrategia similar a la del método de Newton-Raphson.
Como tanto b 0 como b1 son funciones de r y s, se pueden expandir usando una serie de
Taylor, así [recuerde la ecuación (4.26)]:
∂b1 ∂b
b1(r + ∆r, s + ∆s) = b1 + ∆r + 1 ∆s
∂r ∂s

∂b0 ∂b
b0(r + ∆r, s + ∆s) = b0 + ∆r + 0 ∆s (7.33)
∂r ∂s

donde los valores del lado derecho se evalúan en r y s. Observe que se han despreciado
los términos de segundo orden y de orden superior. Esto representa una suposición im-
plícita de que –r y –s son suficientemente pequeños para que los términos de orden
superior puedan despreciarse. Otra manera de expresar esta suposición es que los valo-
res iniciales son adecuadamente cercanos a los valores de r y s en las raíces.
Los incrementos, ∆r y ∆s, necesarios para mejorar nuestros valores iniciales, se
estiman igualando a cero la ecuación (7.33) para dar

∂b1 ∂b
∆r + 1 ∆s = − b1 (7.34)
∂r ∂s

∂b0 ∂b
∆r + 0 ∆s = − b0 (7.35)
∂r ∂s

Si las derivadas parciales de las b, pueden determinarse, hay un sistema de dos ecuacio-
nes que se resuelve simultáneamente para las dos incógnitas, ∆r y ∆s. Bairstow demos-
tró que las derivadas parciales se obtienen por división sintética de las b en forma
similar a como las b mismas fueron obtenidas:
cn = bn (7.36a)
cn–1 = bn–1 + rcn (7.36b)
ci = bi + rci+1 + sci+2 para i = n – 2 a 1 (7.36c)

donde ∂b 0 /∂r = cl, ∂b 0 /∂s = ∂b1 /∂r = c2 y ∂b1 /∂s = c3. Así, las derivadas parciales se
obtienen por la división sintética de las b. Entonces, las derivadas parciales se sustituyen
en las ecuaciones (7.34) y (7.35) junto con las b para dar
c2∆r + c3∆s = –b1
c1∆r + c2∆s = –b0

Estas ecuaciones se resuelven para ∆r y ∆s, las cuales, a su vez, se emplean para mejorar
los valores iniciales de r y s. En cada paso, se estima un error aproximado en r y s:
∆r
|ea,r| = 100% (7.37)
r
184 RAÍCES DE POLINOMIOS

y
∆s
|ea,s| = 100% (7.38)
s

Cuando ambos errores estimados caen por debajo de un criterio especificado de termi-
nación es, los valores de las raíces se determinan mediante

r ± r 2 + 4s
x= (7.39)
2
En este punto, existen tres posibilidades:
1. El cociente es un polinomio de tercer grado o mayor. En tal caso, el método de
Bairstow se aplica al cociente para evaluar un nuevo valor de r y s. Los valores
anteriores de r y s pueden servir como valores iniciales en esta aplicación.
2. El cociente es cuadrático. Aquí es posible evaluar directamente las dos raíces res-
tantes con la ecuación (7.39).
3. El cociente es un polinomio de primer grado. En este caso, la raíz restante se evalúa
simplemente como
s
x=− (7.40)
r

EJEMPLO 7.3 Método de Bairstow

Planteamiento del problema. Emplee el método de Bairstow para determinar las


raíces del polinomio
ƒ5(x) = x5 – 3.5x4 + 2.75x3 + 2.125x2 – 3.875x + 1.25

Utilice como valores iniciales r = s = –1 e itere hasta un nivel de es = 1%.

Solución. Se aplican las ecuaciones (7.32) y (7.36) para calcular

b5 = 1 b4 = –4.5 b3 = 6.25 b2 = 0.375 b1 = –10.5


b0 = 11.375
c5 = 1 c4 = –5.5 c3 = 10.75 c2 = –4.875 c1 = –16.375

Así, las ecuaciones simultáneas para encontrar ∆r y ∆s son

–4.875∆r + 10.75∆s = 10.5


–16.375∆r – 4.875∆s = –11.375

al ser resueltas se encuentra que ∆r = 0.3558 y ∆s = 1.1381. Por lo tanto, nuestros valores
iniciales se corrigen a
r = –1 + 0.3558 = –0.6442
s = –1 + 1.1381 = 0.1381

y se evalúa el error aproximado con las ecuaciones (7.37) y (7.38),


7.5 MÉTODO DE BAIRSTOW 185

0.3558 1.1381
|ea,r| = 100% = 55.23% |ea,s| = 100% = 824.1%
−0.6442 0.1381

A continuación, se repiten los cálculos usando los valores revisados para r y s. Aplican-
do las ecuaciones (7.32) y (7.36) se obtiene
b5 = 1 b4 = –4.1442 b3 = 5.5578 b2 = –2.0276 b1 = –1.8013
b0 = 2.1304
c5 = 1 c4 = –4.7884 c3 = 8.7806 c2 = –8.3454 c1 = 4.7874

Por lo tanto, se debe resolver el sistema de ecuación

–8.3454∆r + 8.7806∆s = 1.8013


4.7874∆r – 8.3454∆s = –2.1304

al tener la solución ∆r = 0.1331 y ∆s = 0.3316, ésta se utiliza para corregir la raíz esti-
mada:
r = –0.6442 + 0.1331 = –0.5111 |ea,r| = 26.0%

s = 0.1381 + 0.3316 = 0.4697 |ea,s| = 70.6%

El cálculo continúa, resultando que después de cuatro iteraciones el método conver-


ge a los valores r = –0.5 (|ea,r| = 0.063%) y s = 0.5 (|ea,s| = 0.040%). La ecuación (7.39)
puede emplearse para evaluar las raíces:

−0.5 ± ( −0.5) 2 + 4(0.5)


x= = 0.5, − 1.0
2
Entonces, se tiene que, el cociente es la ecuación cúbica
ƒ(x) = x3 – 4x2 + 5.25x – 2.5

El método de Bairstow puede aplicarse a este polinomio usando los resultados del paso
anterior, r = –0.5 y s = 0.5, como valores iniciales. Cinco iteraciones dan las aproxima-
ciones r = 2 y s = –1.249, las cuales se usan para calcular

2 ± 2 2 + 4( −1.249)
x= = 1 ± 0.499i
2
Ahora, el cociente es un polinomio de primer grado que puede ser directamente
evaluado mediante la ecuación (7.40) para determinar la quinta raíz: 2.

Observe que la esencia del método de Bairstow es la evaluación de las b y de las c por
medio de las ecuaciones (7.32) y (7.36). Una de las ventajas principales de este método
radica en la forma concisa en la cual tales fórmulas de recurrencia pueden programarse.
En la figura 7.5 se muestra el seudocódigo que ejecuta el método de Bairstow. La
parte principal de este algoritmo es el ciclo que evalúa las b y c. También observe que
el seudocódigo para resolver las ecuaciones simultáneas revisa para evitar la división
entre cero. Si éste es el caso, los valores de r y s se alteran ligeramente y el procedimien-