Está en la página 1de 21

Captulo 2

Races de ecuaciones no lineales


2.1. Introduccin
El problema matemtico que tratamos en este captulo es el siguiente: dada una funcin con-
tinua f (x), encontrar el valor x
0
de x, para el cual f (x
0
) = 0. Suponemos que tanto x como f (x)
son reales, aunque algunos de los algoritmos que veremos son vlidos para funciones complejas
analticas de variable compleja. Los valores x
0
para los que se cumple
f (x
0
) = 0
se denominan races de la ecuacin.
2.2. Mtodo de biseccin
El mtodo de biseccin se basa en la aplicacin directa del Teorema de Bolzano: Si tenemos
una funcin continua f (x) y dos puntos a y b tales que f (a) f (b) < 0, entonces existe un punto
c [a, b] tal que f (c) = 0. Para aplicar el mtodo de la biseccin hace falta encontrar dos puntos
en los que la funcin tome valores opuestos, lo cual se consigue en general mediante exploracin
de la funcin mediante, por ejemplo, un programa de representacin grca. El acotamiento de la
raz entre dos puntos donde la funcin toma valores opuestos se denomina horquillado de la raz.
Una vez que estos dos valores se conocen, se elabora en siguiente mtodo iterativo: Se dene
x
0
= a, x
1
= b y
x
2
=
a+b
2
es decir, x
2
es el punto medio del intervalo. Ahora se hace la siguiente redenicin: Si f (x
0
)
f (x
2
) < 0, x
2
x
1
y en caso contrario x
1
x
0
y x
2
x
1
donde la echa indica que el se-
gundo smbolo toma el valor del primero. Es decir, nos quedamos con un nuevo par de puntos
x
0
, x
1
en los cuales la funcin toma valores opuestos. El intervalo inicial tiene una longitud
igual a |a b|. Si por casualidad f (x
2
) = 0, dentro de la precisin numrica de nuestro orde-
nador (es decir todos los bits de f (x
2
) son nulos), entonces se toma x
2
como la raz. En caso
15
16 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
contrario, se realiza una nueva iteracin. Vemos que este procedimiento lo que hace es denir
una sucesin x
0
, x
1
, x
2
, . . . , x
n1
, x
n
que cumple que la distancia entre dos puntos sucesivos es
|x
n
x
n1
| = |a b|/2
n
y que converge a la raz , en la cual f () = 0, salvo que la encontre-
mos accidentalmente en una de las iteraciones y la sucesin se pare. Cuando este procedimiento
lo realizamos mediante un programa de ordenador debemos de denir criterios que nos digan
cuando debemos parar el clculo de trminos de la sucesin. Un primer criterio es parar las ite-
raciones cuando la distancia a la raz sea menor que una tolerancia preestablecida . Es decir, si
|x
n
x
n1
| <, paramos el clculo y aceptamos x
n
como el valor de la raz. Un segundo criterio,
que puede ser necesario establecer simultneamente con el primero, o como nico criterio, es
que el valor de la funcin sea menor que una determinada tolerancia , es decir | f (x
n
)| <. Si lo
que nos interesa es que esta funcin se anule, este ltimo ser el criterio a seguir. El mtodo de la
biseccin permite determinar, sin necesidad de calcular las aproximaciones sucesivas a la raz, el
nmero de iteraciones necesario para alcanzar la tolerancia ; este nmero n
max
viene dado por
por la solucin de la ecuacin
=
|ab|
2
n
max
que es
n
max
=
1
ln2
ln
_
|ab|

_
El mtodo de la biseccin es un mtodo robusto, que converge en todos los casos. Sin em-
bargo, no es un mtodo eciente. Ello es debido a que no utiliza ninguna informacin sobre el
comportamiento de la funcin.
Por ltimo, el mtodo de biseccin necesita relativamente pocas precauciones en su progra-
macin. Una de ellas es evitar clculos innecesarios de la funcin cuando se verica el cumpli-
miento de la condicin f (x
0
) f (x
2
) < 0. Para ellos, debemos almacenar los valores f (x
0
), f (x
1
)
y f (x
2
) en variables f
0
, f
1
y f
2
.
2.3. Mtodo de la regula falsi.
El mtodo de biseccin no tiene en cuenta el comportamiento de la funcin f (x) a la hora
de calcular el punto x
2
. El mtodo de la rgula falsi determina x
2
como el punto de corte con
el eje de abscisas de la recta que pasa por los puntos (x
0
, f (x
0
)) y (x
1
, f (x
1
)). Esta recta, que
es la secante a la curva que pasa por estos dos puntos, la escribimos como y = mx + p, y los
parmetros m y p vienen determinados por las condiciones
f (x
0
) = mx
0
+ p
f (x
1
) = mx
1
+ p
que da como solucin
m =
f (x
1
) f (x
0
)
x
1
x
0
p =
f (x
0
)x
1
f (x
1
)x
0
x
1
x
0
2.4. MTODO DE LA SECANTE 17
x
x
0
1
x
2
Figura 2.1: Ilustracin del mtodo de la rgula falsi
el punto de corte se obtiene de la ecuacin mx
2
+ p = 0 , que da como resultado
x
2
=
p
m
=
f (x
1
)x
0
f (x
0
)x
1
f (x
1
) f (x
0
)
=
f (x
1
)x
0
f (x
0
)x
1
+ f (x
1
)x
1
f (x
1
)x
1
f (x
1
) f (x
0
)
=x
1

f (x
1
)
f (x
1
) f (x
0
)
(x
1
x
0
)
El mtodo de la rgula falsi exige mantener el horquillado a lo largo del proceso iterativo, es decir,
si f (x
2
) f (x
1
) < 0, x
2
x
1
y x
1
x
0
; en caso contrario x
2
x
1
y x
0
x
0
. El proceso se repite
iterativamente hasta alcanzar convergencia. El mtodo de la rgula falsi converge usualmente
mucho ms rpido que el mtodo de biseccin.
2.4. Mtodo de la secante
El mtodo de la secante es en cierta forma similar al mtodo de la rgula falsi, en el sentido
de que calcula la sucesin
x
r+1
= x
r

f (x
r
)
f (x
r
) f (x
r1
)
(x
r
x
r1
)
a partir de dos valores iniciales x
0
y x
1
. La diferencia esencial es que no se requiere horquillado,
simplemente se calcula la sucesin hasta que se alcanza la convergencia. Frecuentemente el
mtodo de la secante es ms rpido que el mtodo de la rgula falsi, aunque algo menos robusto.
Esto sucede en particular cuando hay un cambio brusco de pendiente a uno de los lados de
la raz. La convergencia es ms rpida si todos los puntos de la sucesin x
r
estn en la zona de
mayor pendiente de la funcin f (x). En determinadas ocasiones el mtodo de la secante converge
rpidamente mientras que el de la rgula falsi converge lentamente. En otras, el mtodo de la
secante puede diverger, lo que no ocurre nunca con el mtodo de la rgula falsi.
18 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
2.5. Mtodo de Mller
El mtodo de la rgula falsi toma como raz de la funcin f (x) la raz de una funcin que
pasa por dos puntos de la misma, es decir la raz de la secante. El mtodo de Mller aproxima la
raz de la funcin por la raz del polinomio de segundo grado que pasa por tres puntos de dicha
funcin. Tomemos dos puntos, x
0
y x
1
que horquillen la raz, y determinemos x
2
por un mtodo
cualquiera, como por ejemplo biseccin o preferentemente rgula falsi. La raz del polinomio que
pasa por los tres puntos x
0
, x
1
y x
2
se toma como una nueva aproximacin a la raz. Si escribimos
este polinomio interpolador como
P(x) = a(x x
2
)
2
+b(x x
2
) +c
la nueva aproximacin a la raz viene dada por la solucin de P(x
3
) = 0, dada por
x
3
x
2
=
b

b
2
4ac
2a
Tomamos el signo que haga la diferencia x
3
x
2
ms pequea en valor absoluto. El procedimien-
to se repite iterativamente, redenominando x
3
x
2
, x
2
x
1
y x
1
x
0
. Los coecientes a, b y
c se determinan de las condiciones P(x
0
) = f (x
0
), P(x
1
) = f (x
1
), P(x
2
) = f (x
2
) que dan como
resultado
a =
(x
1
x
2
)[ f (x
0
) f (x
2
)] (x
0
x
2
)[ f (x
1
) f (x
2
)]
(x
0
x
2
)(x
1
x
2
)(x
0
x
1
)
b =
(x
0
x
2
)
2
[ f (x
1
) f (x
2
)] (x
1
x
2
)
2
[ f (x
0
) f (x
2
)]
(x
0
x
2
)(x
1
x
2
)(x
0
x
1
)
c = f (x
2
)
como se puede vericar fcilmente de forma directa o por los mtodos de interpolacin del
captulo 6.
El mtodo de Mller converge bastante rpidamente. Adems, se puede utilizar en el caso de
races complejas. Para evitar overows cuando aes muy pequeo, es conveniente escribir x
3
x
2
como
x
3
x
2
=
2c
b

b
2
4ac
tomando el signo que haga mximo el mdulo del denominador. El mtodo de Mller puede
tomar como valores de comienzo nmeros complejos, en cuyo caso sirve para obtener races
complejas. El uso de la clase complex del C++ facilita mucho la programacin del lgebra com-
pleja.
Ejemplo: Vamos a comparar los mtodod de biseccin, rgula falsi, secante y Mller para la
ecuacin x e
x
= 0. La raz, con 7 cifras decimales exactas es = 0,5671433. Tomando [0,1]
como intervalo inicial, los diferentes mtodos dan los resultados siguientes
Metodo Biseccion
2.5. MTODO DE MLLER 19
iteracion x f(x)
1 0.5 -0.1065307
2 0.75 0.2776334
3 0.625 0.08973857
4 0.5625 -0.007282825
5 0.59375 0.04149755
6 0.578125 0.01717584
7 0.5703125 0.00496376
8 0.5664062 -0.001155202
9 0.5683594 0.00190536
10 0.5673828 0.0003753492
11 0.5668945 -0.0003898588
12 0.5671387 -7.237912e-06
13 0.5672607 0.0001840599
14 0.5671997 8.841203e-05
15 0.5671692 4.058732e-05
16 0.5671539 1.667477e-05
17 0.5671463 4.718446e-06
Metodo secante
iteracion x f(x)
1 0.6126998 0.07081395
2 0.5638384 -0.005182355
3 0.5671704 4.241924e-05
4 0.5671433 2.538017e-08
Metodo Regula Falsi
iteracion x f(x)
1 0.6126998 0.07081395
2 0.5721814 0.007888273
3 0.5677032 0.000877392
4 0.5672056 9.757273e-05
5 0.5671502 1.085062e-05
6 0.5671441 1.206646e-06
Metodo Muller
iteracion x f(x)
1 0.6126998 0.07081395
2 0.5678311 0.001077767
3 0.5671426 -1.142242e-06
4 0.5671433 2.134071e-12
20 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
Tabla 2.1: Convergencia de x
r+1
= e
xr
iteracin 0 1 2 3 4 5 6 10 20 25
x
r
1 0.692201 0.500474 0.606244 0.545396 0.579612 0.568429 0.567148 0.567143
Vemos que el mtodo de la secante y el mtodo de Mller dan 7 cifras decimales exactas o
ms en 4 iteraciones, mientras que el mtodo de la rgula falsi necesita 6 iteraciones para alcanzar
esa precisin y el mtodo de la biseccin necesita 17 iteraciones para dar 5 cifras decimales
exactas. El mtodo de Mller es el nico que da 5 cifras decimales en la tercera iteracin, y tres
cifras decimales en la segunda iteracin. Tambin produce una mayor anulacin de la funcin en
una iteracin dada que los otros mtodos.
2.6. Mtodos iterativos de un punto
Estos mtodos se basan en escribir la ecuacin f (x) = 0 como x = g(x). Esto es siempre
posible, pues podemos poner x = x f (x), con lo que g(x) = x f (x). La losofa del mtodo
es que la ecuacin
x = g(x) (2.1)
que slo se cumple para la raz , sirve para denir la serie
x
r+1
= g(x
r
)
partiendo de un punto inicial x
0
, que converge a la raz. Por supuesto, esto slo ocurre si g(x)
cumple una serie de condiciones. Sea la raz. Entonces g() = . Las diferencias entre los
elementos de la serie x
r
y la raz viene dada por:
x
r
= g(x
r1
) g() = g

()(x
r1
)
donde, en el ltimo paso, hemos aplicado el teorema del valor medio. Si g

() es estrictamente
menor que 1, es decir si |g

()| L < 1, entonces se cumplir


|x
r
| L
r
|x
0
|
y como L
r
0 cuando r , la serie converge. Por lo tanto, la derivada de la funcin g(x)
determina la convergencia del mtodo. Con frecuencia, el mtodo converge lentamente. Consi-
deremos por ejemplo la ecuacin x = e
x
. Si tomamos x = 1 como punto de partida, obtenemos
los resultados de la tabla 2.1. Vemos que en este caso el mtodo converge lentamente en com-
paracin con los mtodos de la secante, rgula falsi y Mller, y su velocidad de convergencia
es comparable al mtodo de la biseccin. Sin embargo, este mtodo constituye una base terica
para la derivacin de mtodos de orden superior, por lo que vamos a estudiar sus propiedades en
cierto detalle.
2.7. MTODOS DE ACELERACIN 21
Tabla 2.2: Convergencia de la relacin x
r+1
=
3x
r
+5e
x
r
8
iteracin r 0 1 2 3 4 5
x
r
1 0.604925 0.568169 0.567144 0.567143 0.567143
2.7. Mtodos de aceleracin
Hemos visto que para que el mtodo converja, el requerimiento esencial es que g

(x) sea
pequea cerca de la raz. Un mtodo de aceleracin consiste en una transformacin de la fun-
cin g(x) de forma que se cumpla este requerimiento. Para ello consideremos la siguiente trans-
formacin trivial de la ecuacin 2.1
x +x = x +g(x)
que la podemos reescribir en la forma
x =
1
1+
(x +g(x)) G(x)
La condicin de convergencia es por lo tanto G

(x)0, o lo que es lo mismo


+g

(x) 0
cerca de la raz. Por lo tanto, debemos de tomar prximo a g

(). Consideremos el ejemplo


de la tabla 2.1. Podemos tomar como prximo a la raz = 0,6. Entonces tenemos la relacin de
recurrencia
x
r+1
=
1
1,6
(0,6x
r
+e
x
r
) =
3x
r
+5e
x
r
8
Esta relacin converge mucho ms rpidamente como se puede ver en la tabla 2.2. En slo 5 ite-
raciones se ha alcanzado el resultado con 5 cifras decimales exactas, que necesita 25 iteraciones
si no se emplea el mtodo de aceleracin.
2.7.1. Mtodo de aceleracin de Aitken
Este mtodo, propuesto por Aitken en 1926, se basa en requerir condiciones equivalentes a
g

() = 0. La idea de partida es que g(x) es aproximadamente lineal cerca de la raz. Si g

(x) es
una constante , g(x) = a+(x ) es una funcin lineal de x. De la relacin
x
r+1
= g(x
r
) g() = g

(
r
)(x
r
) = (x
r
)
se cumple para el cociente de los errores e
r
= x
r
la relacin
e
r+1
e
r
=
e
r
e
r1
=
22 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
que proporciona una ecuacin para conocidos tres trminos de la serie. El mtodo de Aitken
se basa en reemplazar la raz por un nmero x

r+1
que cumpla la relacin anterior. Este nmero
ser prximo a la raz si la funcin G tiene un comportamiento suave cerca de la raz, es decir no
demasiado distinto de la forma lineal. Tendremos por lo tanto la relacin
x
r+1
x

r+1
x
r
x

r+1
=
x
r
x

r+1
x
r1
x

r+1
cuya solucin proporciona para x

r+1
x

r+1
=
x
r+1
x
r1
x
2
r
x
r+1
2x
r
+x
r1
= x
r+1

(x
r+1
x
r
)
2
x
r+1
2x
r
+x
r1
La aplicacin de esta transformacin a los trminos x
r
de una sucesin proporcionada por un m-
todo iterativo que converge a la raz, se conoce como mtodo de aceleracin de Aitken, quien lo
public en 1926. En trminos del operador diferencia regresiva x
r
=x
r
x
r1
podemos escribir
la relacin anterior como:
x

r+1
= x
r+1

(x
r+1
)
2

2
x
r+1
La manera ms eciente de utilizar este mtodo es tomar x

r+1
como nuevo punto de partida
y realizar tres nuevas iteraciones a las que se vuelve a aplicar el mtodo de aceleracin. Este
mtodo, consistente en aplicar sistemticamente el mtodo de aceleracin de Aitken cada tres
iteraciones, converge en general muy rpidamente. En la gura 2.2 se presenta un diagrama de
ujo del mtodo de Aitken.
2.8. Mtodos de orden superior
Cuando tenemos un mtodo iterativo
x
r+1
= g(x
r
)
que converge a una raz , lo podemos escribir en funcin de los errores que separan la iteracin
x
r
de la raz. Escribimos
x
r
= +e
r
con lo que nos queda para la anterior ecuacin
e
r+1
+ = g(e
r
+)
Desarrollando en serie de Taylor, obtenemos
e
r+1
+ = g() +g

()e
r
+
1
2
g

()e
r
+ +
1
k!
g
(k)
()e
k
r
+
1
(k +1)!
g
(k)
()e
k+1
r
2.9. MTODO DE NEWTON 23
Figura 2.2: Diagrama de ujo del mtodo de Aitken
de donde, teniendo en cuenta que g() = , queda
e
r+1
= g

()e
r
+
1
2
g

()e
r
+ +
1
k!
g
(k)
()e
k
r
+
1
(k +1)!
g
(k)
()e
k+1
r
Observamos que si las primeras k 1 derivadas se anulan,
e
r+1

1
k!
g
(k)
()e
k
r
para e
r
pequeo. Decimos entonces que el mtodo es de orden k. Un procedimiento de desarrollar
mtodos de orden superior es mediante la introducin de parmetros que se jan de forma que
las derivadas de la funcin g(x) se anulen en la raz.
2.9. Mtodo de Newton
Vamos a desarrollar un mtodo de segundo orden. Para ello escribimos la ecuacin
f (x) = 0
como
x = x f (x)
y le aplicamos el mtodo de aceleracin expuesto anteriormente, introduciendo un parmetro ,
x +x = x +x f (x)
24 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
x =

1+
x +
1
1+
(x f (x)) = G(x) (2.2)
Imponiendo que G

() = 0 tenemos que el parmetro debe satisfacer:

1+
+
1
1+
(1 f

()) = 0 (2.3)
= f

() 1
y sustituyendo este valor de en la ecuacin 2.2 obtenemos la relacin
x = x
f (x)
f

()
que sugiere el mtodo iterativo
x
r+1
= x
r

f (x
r
)
f

(x
r
)
que es un mtodo se segundo orden, ya que
G(x) = x
f (x)
f

(x)
cumple
G

(x) = 1
f

(x)
f

(x)
+
f (x) f

(x)
[ f

(x)]
2
=
f (x) f

(x)
[ f

(x)]
2
que se anula en la raz , ya que f () = 0. Este mtodo de segundo orden se conoce con el
nombre de mtodo de Newton, quien lo deriv de forma geomtrica. Newton tom el punto x
r+1
como el punto en el que la tangente en f (x
r
) corta al eje de abscisas. Para comprobar que este
requerimiento da la misma relacin, escribimos la recta tangente a f (x) en el punto x
0
como,
y = mx +b
con m = f

(x
0
) . Como la recta tangente pasa por el punto (x
0
, f (x
0
)), la ordenada en el origen b
viene dada por
b = f (x
0
) f

(x
0
)x
0
El punto de interseccin x
1
de la recta tangente con el eje de abcisas (y = 0), es la solucin de la
ecuacin:
f

(x
0
)x
1
+ f (x
0
) f

(x
0
)x
0
= 0
que viene dada por:
x
1
= x
0

f (x
0
)
f

(x
0
)
El mtodo de Newton es muy utilizado debido a su rpida convergencia, aunque falla con faci-
lidad, es decir no es un mtodo robusto, ya que se deben de cumplir condiciones relativamente
estrictas para que converja. El mtodo de Newton converge si se cumplen las siguientes tres
condiciones para la funcin f (x):
2.9. MTODO DE NEWTON 25
Tabla 2.3: Convergencia del mtodo de Newton para f (x) = x e
x
iteracin 0 1 2 3
x
r
0 0.537882 0.566987 0.5671433
f (x
r
) 0.6321 -0.04610 -0.00024 -6.910
9
i. Existen dos puntos a y b en los que f (a) f (b) < 0.
ii. f

(x) no cambia de signo en [a, b].


iii. Las tangentes a f (x) en a y b cortan al eje de abscisas en [a, b].
Si no se cumplen estas condiciones, el mtodo puede todava converger, aunque no se puede
garantizar nada. En particular, cuando f

(x) se hace muy pequea en el intervalo comprendido


entre el punto de partida y la raz, el punto dado por la iteracin siguiente tiene un valor muy
grande, puesto que la tangente es casi paralela al eje de abcisas, y en estos casos el mtodo
diverge. Debido a la rpida convergencia del mtodo de Newton cuando converge, un algoritmo
eciente es comenzar con este mtodo y continuar con otro ms robusto, como biseccin o rgula
falsi, si se produce una divergencia.
Notemos que el mtodo de Newton se reduce al mtodo de la secante si se reemplaza f

(x
r
)
por
f (x
r
) f (x
r1
)
x
r
x
r1
Como la exactitud de esta substitucin aumenta a medida que nos acercamos a la raz, vemos
que el mtodo de la secante converge al de Newton.
En la tabla se dan las primeras tres iteraciones del mtodo de Newton para nuestro caso test
de la ecuacin x e
x
= 0. Vemos que el mtodo converge ms rpido que el mtodo de Mller,
y que proporciona 7 cifras exactas en tres iteraciones.
El mtodo de Newton es ampliamente utilizado para disear algoritmos para procesadores
matemticos. Vamos a considerar aqu el algoritmo de obtencin de la raz cuadrada de un n-
mero. Este problema es equivalente al de encontrar la raz de la ecuacin no lineal
x
2
c = 0
El mtodo de Newton conduce a la serie iterativa
x
r+1
= x
r

x
2
r
c
2x
r
=
1
2
_
x
2
r
+c
x
r
_
=
1
2
_
x
r
+
c
x
r
_
Para aumentar la eciencia del algoritmo se tiene en cuenta que cualquier nmero c se puede
poner en la forma c = 4
n
s, con 1/4 s < 1. Puesto de esta forma, que implica slo dividir por 4
hasta que lleguemos a un valor de s adecuado, tenemos que la raz viene dada por

c = 2
n

s
26 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
Figura 2.3: Conjunto de Mandelbrot. Los lmites de la gura son -2.25 y 0.75 en el eje x, y -1.5
y 1.5 en el eje y.
Por lo tanto basta aplicar el mtodo al intervalo [1/4, 1]. Como punto de partida x
0
se toma una
aproximacin a

x en este intervalo. Una aproximacin adecuada es


x
0
=
2
3
s +
17
48
obtenida por el mtodo de ajuste conocido como minimax, y que cumple |x
0
s|
1
48
en [1/4, 1].
El mtodo de Newton se puede aplicar a races complejas; para ello hay que dar un punto de
partida en el plano complejo. De hecho, la aplicacin del mtodo de Newton a races complejas
ha sido muy fructfero en el campo de los fractales. Si existen varias races, el plano complejo
se puede dividir en zonas de convergencia a las races y en zonas de divergencia. Las fronteras
entre las zonas de convergencia y divergencia exhiben un comportamiento fractal, caracterizado
por patrones que se repiten indenidamente cuando se disminuye la escala de observacin, al
estilo de las muecas rusas. El clebre conjunto de Mandelbrot, mostrado en la gura 2.3, no
es otra cosa que la zona de convergencia en el plano de c de la ecuacin iterativa z
n+1
= z
2
n
+c,
comenzando en z
0
= 0. Esto es equivalente al conjunto de puntos c del plano complejo para
los que de la ecuacin z z
2
c = 0 es soluble por el mtodo iterativo de un punto z = g(z),
con g(z) = z
2
+c, partiendo del valor inicial z
0
= 0. En la gura 2.4 se muestra el conjunto de
Mandelbrot coloreando las zonas de divergencia segn la velocidad de divergencia.
Otras ecuaciones muy simples producen guras de asombrosa complejidad. Por ejemplo, al
aplicar el mtodo de Newton a ecuaciones de la forma z
n
1 = 0, representando cada punto del
plano de un color, segun que cuando se parte de este punto se obtenga convergencia o divergencia,
se obtienen guras de asombrosa complejidad, como la mostrada en la gura 2.9. En esta gura,
2.9. MTODO DE NEWTON 27
Figura 2.4: Conjunto de Mandelbrot coloreando las zonas de divergencia segn la velocidad de
divergencia.
Figura 2.5: Zonas de convergencia segn el punto de partida z
0
, para la solucin de la ecuacin
z
6
1 = 0 por el mtodo de Newton, coloreadas segn el nmero de iteraciones necesario para
la convergencia. La zona azul celeste corresponde a la convergencia y la rojiza es la que diverge
ms rpido. Los lmites de la gura son -1 y 1 en ambos ejes. Los brazos corresponden a cada
una de las seis races de la ecuacin.
28 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
el patrn central aparece repetido en cada uno de los brazos, a cualquier nivel de escala.
2.10. Mtodo de Newton para funciones de varias variables
El mtodo de Newton se puede extender fcilmente al caso de funciones de varias variables.
Consideraremos aqu el caso de un sitema de m ecuaciones no lineales con n incgnitas:
f
1
(x
1
, x
2
, x
3
, . . . , x
n
) = 0
f
2
(x
1
, x
2
, x
3
, . . . , x
n
) = 0
.
.
.
f
m
(x
1
, x
2
, x
3
, . . . , x
n
) = 0
que podemos escribir en notacin vectorial como:
f(x) = 0
donde f(x) es un vector de m dimensiones y x un vector de n dimensiones. La solucin de este
sistema de ecuaciones implica encontrar un vector x al que la funcin f(x) lo aplique en el vector
nulo. Llamemos a esta raz. Si tenemos una aproximacin x
r
a la raz, desarrollando en serie
de Taylor alrededor de la raz, y denominando e
r
= x
r
, podemos escribir :
f(x
r
) = f() +f() e
r
+
Si nos quedamos en primer orden, y dado que no conocemos, podemos suponer que la igualdad
f(x
r
) = f(x
r
) (x
r
x
r+1
)
dene un vector x
r+1
ms prximo a la raz que x
r
. Hemos utilizado f() =0 y reemplazado la
raz por x
r+1
en e
r
. El trmino f(x
r
) es una matriz mn, que denotamos por J, conocida con
el nombre de Jacobiana de la funcin f(x), y que viene dada por:
J =
_

_
f
1
x
1
f
1
x
2

f
1
x
n
f
2
x
1
f
2
x
2

f
2
x
n
.
.
.
.
.
.
.
.
.
.
.
.
f
m
x
1
f
m
x
2

f
m
x
n
_

_
De la anterior igualdad, multiplicando por la matriz inversa por la izquierda de J (hemos supuesto
que en principio J no es cuadrada), J
1
, que es una matriz de dimensiones nm, obtenemos la
relacin:
x
r+1
= x
r
J
1
f(x
r
)
que es la generalizacin del mtodo de Newton para n variables. Esta relacin proporciona una
relacin de recurrencia a partir de un vector de partida x
0
, que converge a la raz si x
0
se encuentra
en el atractor de sta (como se denomina a la zona de convergencia), y si adems, la matriz
inversa de la Jacobiana existe (J es no singular, en el caso de una matriz cuadrada). Veremos en
2.11. UN MTODO DE TERCER ORDEN 29
el prximo captulo que es ms fcil resolver un sistema de ecuaciones lineales que calcular la
inversa de la matriz de los coecientes. Por lo tanto, desde el punto de vista prctico, el mtodo
de Newton multidimensional conviene escribirlo como:
J x
r+1
= J x
r
f(x
r
)
donde J es la matriz jacobiana calculada en el punto x
r
. Cada iteracin consiste en resolver un
sistema de ecuaciones lineales y utilizar la solucin encontrada para calcular la nueva matriz de
coecientes y el nuevo vector de trminos independientes (que supone la evaluacin de (n+1)m
funciones). En general, lo que se hace es actualizar el valor de x
r
por un valor x
r
, de forma que
x
r+1
= x
r
+x
r
. Podemos escribir la anterior ecuacin como una ecuacin para x
r
:
J x
r
=f(x
r
) (2.4)
que resolveremos en cada iteracin para actualizar x
r
, parando cuando ||x
r
|| < .
2.11. Un mtodo de tercer orden
Para obtener un mtodo de tercer orden debe de cumplirse que g

() = g

() = 0. Para que
se cumplan estas dos condiciones hay que introducir dos parmetros adicionales. Si tenemos la
ecuacin f (x) = 0, podemos escribir, por ejemplo, la ecuacin
x +
1
x = x +
1
x f (x) +
1
2

2
f (x)
2
que es vlida en la raz. Obviamente, hay una innidad de posibilidades diferentes de elegir estos
dos parmetros. Esta forma de G(x) es la ms sencilla en el sentido que es cuadrtica en f (x).
La anterior igualdad la podemos reescribir como,
x = x
1
1+
1
f (x) +

2
2(1+
1
)
f (x)
2
G(x)
que dene la funcin G(x). Obtenemos de ests forma el mtodo iterativo x
r+1
= G(x
r
) con
G(x) = x
1
1+
1
f (x) +

2
2(1+
1
)
f (x)
2
Las condiciones G

() = G

() = 0 dan las siguientes dos ecuaciones:


1
1
1+
1
f

() +

2
(1+
1
)
f () f

() = 0

1
1+
1
f

() +

2
(1+
1
)
( f
2
() + f () f

()) = 0
30 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
Teniendo en cuenta que f () = 0, se obtienen las soluciones:

2
=
f

()
f
2
()

1
= f

() 1
G(x) = x
f (x)
f

()
+
f

()
2 f
3
()
f (x)
2
Reemplazando por x
r
, el mtodo queda como la siguiente relacin iterativa:
x
r+1
= x
r

f (x
r
)
f

(x
r
)
+
f

(x
r
)
2 f

(x
r
)
_
f (x
r
)
f

(x
r
)
_
2
Vemos que el precio a pagar por la convergencia en tercer orden es la aparicin de la derivada
segunda en el mtodo, lo cual lo hace menos robusto e implica clculos tediosos si f (x) es
complicada. De hecho, desde el punto de vista numrico, tenemos que calcular tres funciones por
iteracin (la funcin y sus dos primeras derivadas), con lo que el mtodo no suele ser ventajoso
desde el punto de vista de volumen de clculo, sin contar con el hecho de que, incluso para
funciones relativamente simples, la segunda derivada resulta tediosa y larga de calcular. Si las
derivadas deben de ser calculadas numricamente, los errores implicados hacen que los mtodos
de orden superior sean desaconsejables.
2.12. Races de Polinomios
Cualquiera de los mtodos que hemos visto sirven para obtener races reales de polinomios.
El mtodo de Mller permite obtener races complejas a partir de puntos de partida reales, mien-
tras que el mtodo de Newton permite obtener races complejas a partir de puntos de partida
complejos. Si el polinomio es real, los complejos conjugados de las races complejas son tambin
races. Una vez que hemos obtenido una raz
n
, se procede a dividir el polinomio por (x
n
)
para obtener un polinomio de grado inferior P
n
(x) = (x
n
)P
n1
(x). Este procedimiento se co-
noce como deacin. Se procede seguidamente a calcular una nueva raz del polinomio P
n1
(x).
Sin embargo esta raz se calcula slo de forma aproximada, y se rena aplicando el mtodo de
Newton al polinomio completo. Esto se hace para evitar problemas de redondeo y propagacin
de errores en los coecientes del polinomio. Si la raz es compleja y el polinomio real, sabemos
que la compleja conjugada es tambin una raz, por lo que se divide el polinomio por el factor
cuadrtico (x )(x

) = x
2
2Re+||
2
. El mtodo se prosigue hasta encontrar todas las
races.
2.12.1. Mtodo de Bairstow
El mtodo de Bairstow permite encontrar pares de races complejas. Se basa en escribir
P
n
(x) = Q
n2
(x)(x
2
+ px +q) +rx +s (2.5)
2.12. RACES DE POLINOMIOS 31
donde los coecientes r y s se suponen funciones de p y q. Variamos p y q hasta que r y s se
anulan. Se parte de valores iniciales aproximados de p y q, con lo que Q
n2
, r, y s se obtienen
dividiendo P
n
(x) por el factor cuadrtico C(x) = x
2
+ px +q. La idea es aplicar el mtodo de
Newton para funciones de dos variables, suponiendo la dependencia r(p, q) y s(p, q) y variando
p y q de forma que r y s se anulen. La ecuacin 2.4 queda como
_
_
_
_
r
p
r
q
s
p
s
q
_
_
_
_
_
p
q
_
=
_
r
s
_
Lo ms interesante del mtodo de Bairstow es que las derivadas parciales de la matriz jacobiana
se obtienen mediante una simple divisin polinomial, al igual que r y s. Tomando derivadas
parciales con respecto de p y q en la ec. 2.5, y teniendo en cuenta que P
n
(x) es un polinomio que
no depende ni de p ni de q, obtenemos
0 = Q
n2
(x)x +(x
2
+ px +q)
Q
n2
p
+
r
p
x +
s
p
0 = Q
n2
(x) +(x
2
+ px +q)
Q
n2
q
+
r
q
x +
s
q
(2.6)
La segunda de las ecuaciones nos dice que si dividimos Q
n2
por x
2
+ px +q y tenemos como
resto r
1
x +s
1
, entonces
r
q
=r
1
s
q
=s
1
con lo que determinar la segunda columna de la matriz Jacobiana implica slo una divisin
polinomial. Si x
1
y x
2
son las dos soluciones de x
2
+ px +q = 0, de la segunda de las ecuaciones
2.6 tenemos que Q
n2
(x
1,2
) = r
1
x
1,2
+s
1
. Introduciendo cada uno de los valores particulares de
x
1
y x
2
en la primera de las ecuaciones 2.6 , tenemos las dos ecuaciones
r
p
x
1
+
s
p
= x
1
(r
1
x
1
+s
1
)
r
p
x
2
+
s
p
= x
2
(r
1
x
2
+s
1
) (2.7)
Multiplicando la primera por x
2
y la segunda por x
1
, y teniendo en cuenta que x
1
+x
2
= p y
x
1
x
2
= q, obtenemos
r
p
q+
s
p
x
2
= q(r
1
x
1
+s
1
)
r
p
q+
s
p
x
1
= q(r
1
x
2
+s
1
)
32 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
Sumando ambas ecuaciones obtenemos
2q
r
p
p
s
p
= pqr
1
2qs
1
(2.8)
Sumando las ecuaciones 2.7 y teniendo en cuenta que x
2
1
+x
2
2
= p
2
2q, obtenemos
p
r
p
+2
s
p
=r
1
(p
2
2q) + ps
1
(2.9)
De las dos ecuaciones anteriores, multiplicando la primera por p y la segunda por 2q y suman-
dolas, y luego, multiplicando la primera por 2 y la segunda por p y sumndolas, resulta:
r
p
= pr
1
s
1
s
p
= qr
1
con lo que hemos obtenido los elementos restantes del Jacobiano. Vemos que la determinacin
del jacobiano implica slo una divisin polinomial.
En resumen, el mtodo de Bairstow consiste en dividir P(
n
x) dos veces por el factor cuadrtico
aproximado x
2
+ px +q para obtener r y s del resto de la primera divisin y r
1
y s
1
del de la
segunda la segunda, lo nos permite obtener todos los elementos del Jacobiano de las ecuaciones
anteriores. Con esto, podemos aplicar una nueva iteracin del mtodo de Newton y calcular p
y q y los nuevos valores de p y q.
Aunque podemos elaborar el algoritmo de Bairstow en la forma que acabamos de enunciar
mediante una funcin de divisin de polinomios, en la prctica, la utilizacin de una funcin
general de este tipo requiere ms operaciones de las necesarias, ya que no estamos interesados
en los polinomio cociente, sino slo en los restos de ambas divisiones. Es ms eciente reali-
zar la divisin directamente en este caso particular para obtener los coecientes del resto y sus
derivadas. Escribiendo
P
n
(x) = a
n
x
n
+a
n1
x
n1
+ +a
1
x +a
0
Q
n2
(x) = b
n
x
n2
+b
n1
x
n3
+ +b
3
x +b
2
rx +s = b
1
(x + p) +b
0
donde P
n
(x) = (x
2
+ px +q)Q
n2
(x) +b
1
(x + p) +b
0
, obtenemos que los coecientes b
k
del
polinomio cociente Q
n2
(x) satisfacen la relacin de recurrencia:
a
0
= qb
2
+ pb
1
+b
0
a
1
= qb
3
+ pb
2
+b
1
.
.
.
a
k
= qb
k+2
+ pb
k+1
+b
k
2.12. RACES DE POLINOMIOS 33
donde la ltima ecuacin es vlida desde k = 3 hasta n, si denimos b
n+1
= b
n+2
= 0. Podemos
escribir por lo tanto
b
k
= a
k
pb
k+1
qb
k+2
(2.10)
para calcular b
k
desde k = n hasta 0, con b
n+2
= b
n+1
= 0.
Para las derivadas parciales de b
k
podemos escribir las relaciones de recurrencia
b
k
p
= b
k+1
p
b
k+1
p
q
b
k+2
p
b
k
q
= b
k+2
p
b
k+1
p
q
b
k+2
p
que podemos reescribir , llamando c
k
=
b
k
p
y d
k
=
b
k
q
, como:
c
k
= b
k+1
pc
k+1
qc
k+2
d
k
= b
k+2
pd
k+1
qd
k+2
(2.11)
con las condiciones iniciales d
n+2
=c
n+2
=d
n+1
=c
n+1
=0. Vemos que los primeros elementos
no nulos son c
n1
=d
n2
=b
n
y que a partir de aqu c
k
=d
k1
, ya que ambos trminos satisfacen
la misma relacin de recurrencia, con las mismas condiciones iniciales. Iteramos esta relacin de
recurrencia hasta obtener c
0
y d
0
. Tenemos de la denicin de b
k
y d
k
,
c
0
=
b
0
p
c
1
=
b
1
p
d
0
=
b
0
q
= c
1
d
1
=
b
1
q
= c
2
por lo que tenemos que iterar slo la relacin de recurrencia de los c
k
para calcular c
0
, c
1
, c
2
.
Obtenemos p y q, aplicando el mtodo de Newton para obtener el cero de b
0
y b
1
,
b
0
p
p+
b
0
q
q = b
0
b
1
p
p+
b
1
q
q = b
1
Utilizando las relaciones anteriores para b
0
, b
1
y sus derivadas, estas ecuaciones quedan
como,
34 CAPTULO 2. RACES DE ECUACIONES NO LINEALES
c
0
p+c
1
q = b
0
c
1
p+c
2
q = b
1
con lo que obtenemos nalmente
p =
c
1
b
1
b
0
c
2
c
0
c
2
c
2
1
q =
c
1
b
0
b
1
c
0
c
0
c
2
c
2
1
(2.12)
Cada paso de iteracin del mtodo de Bairstow consiste en calcular los conjuntos b
k
y c
k
mediante las ecuaciones 2.10 y 2.11, y de aqu p y q de las ecuaciones 2.12.
Seguidamente actualizamos p p +p y q q +q. Paramos el proceso iterativo
cuando b
1
y b
0
sean sucientemente pequeos o p y q sean inferiores a una tolerancia
preestablecida.
2.12.2. Obtencin de races de polinomios mediante diagonalizacin
Finalmente, mencionemos que el clculo de los valores propios de una matriz es equivalente
a calcular las races del polinomio caracterstico. De hecho, los mtodos de diagonalizacin de
matrices son ms ecientes que los mtodos de clculo de races de polinomios, por lo que los
primeros son tiles para obtener todas las races de un polinomio. Para ello, basta simplemente
notar que un polinomio arbitrario
P(x) = a
n
x
n
+a
n1
x
n1
+ +a
1
x +a
0
es el polinomio caracterstico de la matriz:
_

a
n1
a
n

a
n2
a
n

a
1
a
n

a
0
a
n
1 0 0 0
0 1 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 0
_

_
por lo que para calcular las races del polinomio basta con diagonalizar la matriz. Este mtodo
calcula rpidamente todas las races de polinomios de orden de decenas o incluso centenares, a
condicin de que no existan problemas de mal condicionamiento en la matriz.
2.13. MINIMIZACIN DE FUNCIONES MEDIANTE CLCULO DE RACES 35
2.13. Minimizacin de funciones mediante clculo de races
A menudo se presenta el problema de obtener el punto x para el que la funcin f (x) es
mnima. Esto es equivalente a encontrar el cero de la funcin f

(x). Cuando la derivada se puede


calcular analticamente esto no presenta problemas. Sin embargo a menudo esto no es posible.
Sin embargo siempre es posible calcular la derivada numrica, como veremos en el captulo 7,
y podemos calcular el cero de esta derivada numrica. A menudo, unas pocas iteraciones del
mtodo de la secante o de Mller son sucientes para obtener el mnimo con buena precisin. En
el caso de funciones de varias variables, se puede utilizar el mtodo de Newton de varias varibles,
estimando el Hessiano numricamente cuando el clculo analtico no es posible.