Capítulo 2

Raíces de ecuaciones no lineales
2.1. Introducción
El problema matemático que tratamos en este capítulo es el siguiente: dada una función 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 válidos para funciones complejas
analíticas de variable compleja. Los valores x
0
para los que se cumple
f (x
0
) = 0
se denominan raíces de la ecuación.
2.2. Método de bisección
El método de bisección se basa en la aplicación directa del Teorema de Bolzano: Si tenemos
una función 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 método de la bisección hace falta encontrar dos puntos
en los que la función tome valores opuestos, lo cual se consigue en general mediante exploración
de la función mediante, por ejemplo, un programa de representación gráfica. El acotamiento de la
raíz entre dos puntos donde la función toma valores opuestos se denomina horquillado de la raíz.
Una vez que estos dos valores se conocen, se elabora en siguiente método iterativo: Se define
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 redefinición: 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 flecha indica que el se-
gundo símbolo toma el valor del primero. Es decir, nos quedamos con un nuevo par de puntos
x
0
, x
1
en los cuales la función toma valores opuestos. El intervalo inicial tiene una longitud
igual a |a −b|. Si por casualidad f (x
2
) = 0, dentro de la precisión numérica de nuestro orde-
nador (es decir todos los bits de f (x
2
) son nulos), entonces se toma x
2
como la raíz. En caso
15
16 CAPÍTULO 2. RAÍCES DE ECUACIONES NO LINEALES
contrario, se realiza una nueva iteración. Vemos que este procedimiento lo que hace es definir
una sucesión x
0
, x
1
, x
2
, . . . , x
n−1
, x
n
que cumple que la distancia entre dos puntos sucesivos es
|x
n
−x
n−1
| = |a −b|/2
n
y que converge a la raíz α, en la cual f (α) = 0, salvo que la encontre-
mos accidentalmente en una de las iteraciones y la sucesión se pare. Cuando este procedimiento
lo realizamos mediante un programa de ordenador debemos de definir criterios que nos digan
cuando debemos parar el cálculo de términos de la sucesión. Un primer criterio es parar las ite-
raciones cuando la distancia a la raíz sea menor que una tolerancia preestablecida δ. Es decir, si
|x
n
−x
n−1
| <δ, paramos el cálculo y aceptamos x
n
como el valor de la raíz. Un segundo criterio,
que puede ser necesario establecer simultáneamente con el primero, o como único criterio, es
que el valor de la función sea menor que una determinada tolerancia ε, es decir | f (x
n
)| <ε. Si lo
que nos interesa es que esta función se anule, este último será el criterio a seguir. El método de la
bisección permite determinar, sin necesidad de calcular las aproximaciones sucesivas a la raíz, el
número de iteraciones necesario para alcanzar la tolerancia δ; este número n
max
viene dado por
por la solución de la ecuación
δ =
|a−b|
2
n
max
que es
n
max
=
1
ln2
ln
_
|a−b|
δ
_
El método de la bisección es un método robusto, que converge en todos los casos. Sin em-
bargo, no es un método eficiente. Ello es debido a que no utiliza ninguna información sobre el
comportamiento de la función.
Por último, el método de bisección necesita relativamente pocas precauciones en su progra-
mación. Una de ellas es evitar cálculos innecesarios de la función cuando se verifica el cumpli-
miento de la condición 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. Método de la regula falsi.
El método de bisección no tiene en cuenta el comportamiento de la función f (x) a la hora
de calcular el punto x
2
. El método de la régula 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
parámetros m y p vienen determinados por las condiciones
f (x
0
) = mx
0
+ p
f (x
1
) = mx
1
+ p
que da como solución
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. MÉTODO DE LA SECANTE 17
x
x
0
1
x
2
Figura 2.1: Ilustración del método de la régula falsi
el punto de corte se obtiene de la ecuación 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 método de la régula 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 método de la régula falsi converge usualmente
mucho más rápido que el método de bisección.
2.4. Método de la secante
El método de la secante es en cierta forma similar al método de la régula falsi, en el sentido
de que calcula la sucesión
x
r+1
= x
r

f (x
r
)
f (x
r
) − f (x
r−1
)
(x
r
−x
r−1
)
a partir de dos valores iniciales x
0
y x
1
. La diferencia esencial es que no se requiere horquillado,
simplemente se calcula la sucesión hasta que se alcanza la convergencia. Frecuentemente el
método de la secante es más rápido que el método de la régula falsi, aunque algo menos robusto.
Esto sucede en particular cuando hay un cambio brusco de pendiente a uno de los lados de
la raíz. La convergencia es más rápida si todos los puntos de la sucesión x
r
están en la zona de
mayor pendiente de la función f (x). En determinadas ocasiones el método de la secante converge
rápidamente mientras que el de la régula falsi converge lentamente. En otras, el método de la
secante puede diverger, lo que no ocurre nunca con el método de la régula falsi.
18 CAPÍTULO 2. RAÍCES DE ECUACIONES NO LINEALES
2.5. Método de Müller
El método de la régula falsi toma como raíz de la función f (x) la raíz de una función que
pasa por dos puntos de la misma, es decir la raíz de la secante. El método de Müller aproxima la
raíz de la función por la raíz del polinomio de segundo grado que pasa por tres puntos de dicha
función. Tomemos dos puntos, x
0
y x
1
que horquillen la raíz, y determinemos x
2
por un método
cualquiera, como por ejemplo bisección o preferentemente régula falsi. La raíz del polinomio que
pasa por los tres puntos x
0
, x
1
y x
2
se toma como una nueva aproximación a la raíz. Si escribimos
este polinomio interpolador como
P(x) = a(x −x
2
)
2
+b(x −x
2
) +c
la nueva aproximación a la raíz viene dada por la solución 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
más pequeña en valor absoluto. El procedimien-
to se repite iterativamente, redenominando x
3
→x
2
, x
2
→x
1
y x
1
→x
0
. Los coeficientes 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 verificar fácilmente de forma directa o por los métodos de interpolación del
capítulo 6.
El método de Müller converge bastante rápidamente. Además, se puede utilizar en el caso de
raíces complejas. Para evitar overflows cuando aes muy pequeño, es conveniente escribir x
3
−x
2
como
x
3
−x
2
=
2c
−b∓

b
2
−4ac
tomando el signo que haga máximo el módulo del denominador. El método de Müller puede
tomar como valores de comienzo números complejos, en cuyo caso sirve para obtener raíces
complejas. El uso de la clase complex del C++ facilita mucho la programación del álgebra com-
pleja.
Ejemplo: Vamos a comparar los métodod de bisección, régula falsi, secante y Müller para la
ecuación x −e
−x
= 0. La raíz, con 7 cifras decimales exactas es α = 0,5671433. Tomando [0,1]
como intervalo inicial, los diferentes métodos dan los resultados siguientes
Metodo Biseccion
2.5. MÉTODO DE MÜLLER 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 CAPÍTULO 2. RAÍCES DE ECUACIONES NO LINEALES
Tabla 2.1: Convergencia de x
r+1
= e
−xr
iteración 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 método de la secante y el método de Müller dan 7 cifras decimales exactas o
más en 4 iteraciones, mientras que el método de la régula falsi necesita 6 iteraciones para alcanzar
esa precisión y el método de la bisección necesita 17 iteraciones para dar 5 cifras decimales
exactas. El método de Müller es el único que da 5 cifras decimales en la tercera iteración, y tres
cifras decimales en la segunda iteración. También produce una mayor anulación de la función en
una iteración dada que los otros métodos.
2.6. Métodos iterativos de un punto
Estos métodos se basan en escribir la ecuación 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 filosofía del método
es que la ecuación
x = g(x) (2.1)
que sólo se cumple para la raíz α, sirve para definir la serie
x
r+1
= g(x
r
)
partiendo de un punto inicial x
0
, que converge a la raíz. Por supuesto, esto sólo ocurre si g(x)
cumple una serie de condiciones. Sea α la raíz. Entonces g(α) = α. Las diferencias entre los
elementos de la serie x
r
y la raíz viene dada por:
x
r
−α = g(x
r−1
) −g(α) = g

(ξ)(x
r−1
−α)
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 función g(x)
determina la convergencia del método. Con frecuencia, el método converge lentamente. Consi-
deremos por ejemplo la ecuación 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 método converge lentamente en com-
paración con los métodos de la secante, régula falsi y Müller, y su velocidad de convergencia
es comparable al método de la bisección. Sin embargo, este método constituye una base teórica
para la derivación de métodos de orden superior, por lo que vamos a estudiar sus propiedades en
cierto detalle.
2.7. MÉTODOS DE ACELERACIÓN 21
Tabla 2.2: Convergencia de la relación x
r+1
=
3x
r
+5e
−x
r
8
iteración r 0 1 2 3 4 5
x
r
1 0.604925 0.568169 0.567144 0.567143 0.567143
2.7. Métodos de aceleración
Hemos visto que para que el método converja, el requerimiento esencial es que g

(x) sea
pequeña cerca de la raíz. Un método de aceleración consiste en una transformación de la fun-
ción g(x) de forma que se cumpla este requerimiento. Para ello consideremos la siguiente trans-
formación trivial de la ecuación 2.1
x +λx = λx +g(x)
que la podemos reescribir en la forma
x =
1
1+λ
(λx +g(x)) ≡G(x)
La condición de convergencia es por lo tanto G

(x)0, o lo que es lo mismo
λ+g

(x) 0
cerca de la raíz. Por lo tanto, debemos de tomar λ próximo a −g

(α). Consideremos el ejemplo
de la tabla 2.1. Podemos tomar como próximo a la raíz λ = 0,6. Entonces tenemos la relación de
recurrencia
x
r+1
=
1
1,6
(0,6x
r
+e
−x
r
) =
3x
r
+5e
−x
r
8
Esta relación converge mucho más rápidamente como se puede ver en la tabla 2.2. En sólo 5 ite-
raciones se ha alcanzado el resultado con 5 cifras decimales exactas, que necesita 25 iteraciones
si no se emplea el método de aceleración.
2.7.1. Método de aceleración de Aitken
Este método, 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 raíz. Si g

(x) es
una constante Γ, g(x) = a+Γ(x −α) es una función lineal de x. De la relación
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 relación
e
r+1
e
r
=
e
r
e
r−1
= Γ
22 CAPÍTULO 2. RAÍCES DE ECUACIONES NO LINEALES
que proporciona una ecuación para α conocidos tres términos de la serie. El método de Aitken
se basa en reemplazar la raíz α por un número x

r+1
que cumpla la relación anterior. Este número
será próximo a la raíz si la función G tiene un comportamiento suave cerca de la raíz, es decir no
demasiado distinto de la forma lineal. Tendremos por lo tanto la relación
x
r+1
−x

r+1
x
r
−x

r+1
=
x
r
−x

r+1
x
r−1
−x

r+1
cuya solución proporciona para x

r+1
x

r+1
=
x
r+1
x
r−1
−x
2
r
x
r+1
−2x
r
+x
r−1
= x
r+1

(x
r+1
−x
r
)
2
x
r+1
−2x
r
+x
r−1
La aplicación de esta transformación a los términos x
r
de una sucesión proporcionada por un mé-
todo iterativo que converge a la raíz, se conoce como método de aceleración de Aitken, quien lo
publicó en 1926. En términos del operador diferencia regresiva x
r
=x
r
−x
r−1
podemos escribir
la relación anterior como:
x

r+1
= x
r+1

(x
r+1
)
2

2
x
r+1
La manera más eficiente de utilizar este método es tomar x

r+1
como nuevo punto de partida
y realizar tres nuevas iteraciones a las que se vuelve a aplicar el método de aceleración. Este
método, consistente en aplicar sistemáticamente el método de aceleración de Aitken cada tres
iteraciones, converge en general muy rápidamente. En la figura 2.2 se presenta un diagrama de
flujo del método de Aitken.
2.8. Métodos de orden superior
Cuando tenemos un método iterativo
x
r+1
= g(x
r
)
que converge a una raíz α, lo podemos escribir en función de los errores que separan la iteración
x
r
de la raíz. Escribimos
x
r
= α+e
r
con lo que nos queda para la anterior ecuación
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. MÉTODO DE NEWTON 23
Figura 2.2: Diagrama de flujo del método 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
pequeño. Decimos entonces que el método es de orden k. Un procedimiento de desarrollar
métodos de orden superior es mediante la introdución de parámetros que se fijan de forma que
las derivadas de la función g(x) se anulen en la raíz.
2.9. Método de Newton
Vamos a desarrollar un método de segundo orden. Para ello escribimos la ecuación
f (x) = 0
como
x = x − f (x)
y le aplicamos el método de aceleración expuesto anteriormente, introduciendo un parámetro λ,
x +λx = λx +x − f (x)
24 CAPÍTULO 2. RAÍCES DE ECUACIONES NO LINEALES
x =
λ
1+λ
x +
1
1+λ
(x − f (x)) = G(x) (2.2)
Imponiendo que G

(α) = 0 tenemos que el parámetro λdebe satisfacer:
λ
1+λ
+
1
1+λ
(1− f

(α)) = 0 (2.3)
λ = f

(α) −1
y sustituyendo este valor de λ en la ecuación 2.2 obtenemos la relación
x = x −
f (x)
f

(α)
que sugiere el método iterativo
x
r+1
= x
r

f (x
r
)
f

(x
r
)
que es un método 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 raíz α, ya que f (α) = 0. Este método de segundo orden se conoce con el
nombre de método de Newton, quien lo derivó de forma geométrica. 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 relación, 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 intersección x
1
de la recta tangente con el eje de abcisas (y = 0), es la solución de la
ecuación:
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 método de Newton es muy utilizado debido a su rápida convergencia, aunque falla con faci-
lidad, es decir no es un método robusto, ya que se deben de cumplir condiciones relativamente
estrictas para que converja. El método de Newton converge si se cumplen las siguientes tres
condiciones para la función f (x):
2.9. MÉTODO DE NEWTON 25
Tabla 2.3: Convergencia del método de Newton para f (x) = x −e
−x
iteración 0 1 2 3
x
r
0 0.537882 0.566987 0.5671433
f (x
r
) 0.6321 -0.04610 -0.00024 -6.9·10
−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 método puede todavía converger, aunque no se puede
garantizar nada. En particular, cuando f

(x) se hace muy pequeña en el intervalo comprendido
entre el punto de partida y la raíz, el punto dado por la iteración siguiente tiene un valor muy
grande, puesto que la tangente es casi paralela al eje de abcisas, y en estos casos el método
diverge. Debido a la rápida convergencia del método de Newton cuando converge, un algoritmo
eficiente es comenzar con este método y continuar con otro más robusto, como bisección o régula
falsi, si se produce una divergencia.
Notemos que el método de Newton se reduce al método de la secante si se reemplaza f

(x
r
)
por
f (x
r
) − f (x
r−1
)
x
r
−x
r−1
Como la exactitud de esta substitución aumenta a medida que nos acercamos a la raíz, vemos
que el método de la secante converge al de Newton.
En la tabla se dan las primeras tres iteraciones del método de Newton para nuestro caso test
de la ecuación x −e
−x
= 0. Vemos que el método converge más rápido que el método de Müller,
y que proporciona 7 cifras exactas en tres iteraciones.
El método de Newton es ampliamente utilizado para diseñar algoritmos para procesadores
matemáticos. Vamos a considerar aquí el algoritmo de obtención de la raíz cuadrada de un nú-
mero. Este problema es equivalente al de encontrar la raíz de la ecuación no lineal
x
2
−c = 0
El método 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 eficiencia del algoritmo se tiene en cuenta que cualquier número c se puede
poner en la forma c = 4
n
s, con 1/4 ≤s < 1. Puesto de esta forma, que implica sólo dividir por 4
hasta que lleguemos a un valor de s adecuado, tenemos que la raíz viene dada por

c = 2
n

s
26 CAPÍTULO 2. RAÍCES DE ECUACIONES NO LINEALES
Figura 2.3: Conjunto de Mandelbrot. Los límites de la figura 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 método al intervalo [1/4, 1]. Como punto de partida x
0
se toma una
aproximación a

x en este intervalo. Una aproximación adecuada es
x
0
=
2
3
s +
17
48
obtenida por el método de ajuste conocido como minimax, y que cumple |x
0
−s| ≤
1
48
en [1/4, 1].
El método de Newton se puede aplicar a raíces complejas; para ello hay que dar un punto de
partida en el plano complejo. De hecho, la aplicación del método de Newton a raíces complejas
ha sido muy fructífero en el campo de los fractales. Si existen varias raíces, el plano complejo
se puede dividir en zonas de convergencia a las raíces y en zonas de divergencia. Las fronteras
entre las zonas de convergencia y divergencia exhiben un comportamiento fractal, caracterizado
por patrones que se repiten indefinidamente cuando se disminuye la escala de observación, al
estilo de las muñecas rusas. El célebre conjunto de Mandelbrot, mostrado en la figura 2.3, no
es otra cosa que la zona de convergencia en el plano de c de la ecuación 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 ecuación z −z
2
−c = 0 es soluble por el método iterativo de un punto z = g(z),
con g(z) = z
2
+c, partiendo del valor inicial z
0
= 0. En la figura 2.4 se muestra el conjunto de
Mandelbrot coloreando las zonas de divergencia según la velocidad de divergencia.
Otras ecuaciones muy simples producen figuras de asombrosa complejidad. Por ejemplo, al
aplicar el método 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 figuras de asombrosa complejidad, como la mostrada en la figura 2.9. En esta figura,
2.9. MÉTODO DE NEWTON 27
Figura 2.4: Conjunto de Mandelbrot coloreando las zonas de divergencia según la velocidad de
divergencia.
Figura 2.5: Zonas de convergencia según el punto de partida z
0
, para la solución de la ecuación
z
6
−1 = 0 por el método de Newton, coloreadas según el número de iteraciones necesario para
la convergencia. La zona azul celeste corresponde a la convergencia y la rojiza es la que diverge
más rápido. Los límites de la figura son -1 y 1 en ambos ejes. Los brazos corresponden a cada
una de las seis raíces de la ecuación.
28 CAPÍTULO 2. RAÍCES DE ECUACIONES NO LINEALES
el patrón central aparece repetido en cada uno de los brazos, a cualquier nivel de escala.
2.10. Método de Newton para funciones de varias variables
El método de Newton se puede extender fácilmente al caso de funciones de varias variables.
Consideraremos aquí el caso de un sitema de m ecuaciones no lineales con n incógnitas:
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 notación vectorial como:
f(x) = 0
donde f(x) es un vector de m dimensiones y x un vector de n dimensiones. La solución de este
sistema de ecuaciones implica encontrar un vector x al que la función f(x) lo aplique en el vector
nulo. Llamemos α a esta raíz. Si tenemos una aproximación x
r
a la raíz, desarrollando en serie
de Taylor alrededor de la raíz, 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
)
define un vector x
r+1
más próximo a la raíz que x
r
. Hemos utilizado f(α) =0 y reemplazado la
raíz por x
r+1
en e
r
. El término ∇f(x
r
) es una matriz m×n, que denotamos por J, conocida con
el nombre de Jacobiana de la función 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 n×m, obtenemos la
relación:
x
r+1
= x
r
−J
−1
· f(x
r
)
que es la generalización del método de Newton para n variables. Esta relación proporciona una
relación de recurrencia a partir de un vector de partida x
0
, que converge a la raíz si x
0
se encuentra
en el atractor de ésta (como se denomina a la zona de convergencia), y si además, la matriz
inversa de la Jacobiana existe (J es no singular, en el caso de una matriz cuadrada). Veremos en
2.11. UN MÉTODO DE TERCER ORDEN 29
el próximo capítulo que es más fácil resolver un sistema de ecuaciones lineales que calcular la
inversa de la matriz de los coeficientes. Por lo tanto, desde el punto de vista práctico, el método
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 iteración consiste en resolver un
sistema de ecuaciones lineales y utilizar la solución encontrada para calcular la nueva matriz de
coeficientes y el nuevo vector de términos independientes (que supone la evaluación 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 ecuación como una ecuación para δx
r
:
J· δx
r
=−f(x
r
) (2.4)
que resolveremos en cada iteración para actualizar x
r
, parando cuando ||δx
r
|| < ε.
2.11. Un método de tercer orden
Para obtener un método de tercer orden debe de cumplirse que g

(α) = g

(α) = 0. Para que
se cumplan estas dos condiciones hay que introducir dos parámetros adicionales. Si tenemos la
ecuación f (x) = 0, podemos escribir, por ejemplo, la ecuación
x +λ
1
x = x +λ
1
x − f (x) +
1
2
λ
2
f (x)
2
que es válida en la raíz. Obviamente, hay una infinidad de posibilidades diferentes de elegir estos
dos parámetros. Esta forma de G(x) es la más sencilla en el sentido que es cuadrática 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 define la función G(x). Obtenemos de ests forma el método 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 CAPÍTULO 2. RAÍCES 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 método queda como la siguiente relación 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 aparición de la derivada
segunda en el método, lo cual lo hace menos robusto e implica cálculos tediosos si f (x) es
complicada. De hecho, desde el punto de vista numérico, tenemos que calcular tres funciones por
iteración (la función y sus dos primeras derivadas), con lo que el método no suele ser ventajoso
desde el punto de vista de volumen de cálculo, 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 numéricamente, los errores implicados hacen que los métodos
de orden superior sean desaconsejables.
2.12. Raíces de Polinomios
Cualquiera de los métodos que hemos visto sirven para obtener raíces reales de polinomios.
El método de Müller permite obtener raíces complejas a partir de puntos de partida reales, mien-
tras que el método de Newton permite obtener raíces complejas a partir de puntos de partida
complejos. Si el polinomio es real, los complejos conjugados de las raíces complejas son también
raíces. Una vez que hemos obtenido una raíz α
n
, se procede a dividir el polinomio por (x −α
n
)
para obtener un polinomio de grado inferior P
n
(x) = (x −α
n
)P
n−1
(x). Este procedimiento se co-
noce como deflación. Se procede seguidamente a calcular una nueva raíz del polinomio P
n−1
(x).
Sin embargo esta raíz se calcula sólo de forma aproximada, y se refina aplicando el método de
Newton al polinomio completo. Esto se hace para evitar problemas de redondeo y propagación
de errores en los coeficientes del polinomio. Si la raíz es compleja y el polinomio real, sabemos
que la compleja conjugada es también una raíz, por lo que se divide el polinomio por el factor
cuadrático (x −α)(x −α

) = x
2
−2Reα+|α|
2
. El método se prosigue hasta encontrar todas las
raíces.
2.12.1. Método de Bairstow
El método de Bairstow permite encontrar pares de raíces complejas. Se basa en escribir
P
n
(x) = Q
n−2
(x)(x
2
+ px +q) +rx +s (2.5)
2.12. RAÍCES DE POLINOMIOS 31
donde los coeficientes 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
n−2
, r, y s se obtienen
dividiendo P
n
(x) por el factor cuadrático C(x) = x
2
+ px +q. La idea es aplicar el método 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 ecuación 2.4 queda como
_
_
_
_
∂r
∂p
∂r
∂q
∂s
∂p
∂s
∂q
_
_
_
_
_
δp
δq
_
=
_
−r
−s
_
Lo más interesante del método de Bairstow es que las derivadas parciales de la matriz jacobiana
se obtienen mediante una simple división 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
n−2
(x)x +(x
2
+ px +q)
∂Q
n−2
∂p
+
∂r
∂p
x +
∂s
∂p
0 = Q
n−2
(x) +(x
2
+ px +q)
∂Q
n−2
∂q
+
∂r
∂q
x +
∂s
∂q
(2.6)
La segunda de las ecuaciones nos dice que si dividimos Q
n−2
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 sólo una división
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
n−2
(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 CAPÍTULO 2. RAÍCES 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 sumándolas, resulta:
∂r
∂p
= pr
1
−s
1
∂s
∂p
= qr
1
con lo que hemos obtenido los elementos restantes del Jacobiano. Vemos que la determinación
del jacobiano implica sólo una división polinomial.
En resumen, el método de Bairstow consiste en dividir P(
n
x) dos veces por el factor cuadrático
aproximado x
2
+ px +q para obtener r y s del resto de la primera división 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 iteración del método 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 función de división de polinomios, en la práctica, la utilización de una función
general de este tipo requiere más operaciones de las necesarias, ya que no estamos interesados
en los polinomio cociente, sino sólo en los restos de ambas divisiones. Es más eficiente reali-
zar la división directamente en este caso particular para obtener los coeficientes del resto y sus
derivadas. Escribiendo
P
n
(x) = a
n
x
n
+a
n−1
x
n−1
+· · · +a
1
x +a
0
Q
n−2
(x) = b
n
x
n−2
+b
n−1
x
n−3
+· · · +b
3
x +b
2
rx +s = b
1
(x + p) +b
0
donde P
n
(x) = (x
2
+ px +q)Q
n−2
(x) +b
1
(x + p) +b
0
, obtenemos que los coeficientes b
k
del
polinomio cociente Q
n−2
(x) satisfacen la relación 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. RAÍCES DE POLINOMIOS 33
donde la última ecuación es válida desde k = 3 hasta n, si definimos 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
n−1
=d
n−2
=b
n
y que a partir de aquí c
k
=d
k−1
, ya que ambos términos satisfacen
la misma relación de recurrencia, con las mismas condiciones iniciales. Iteramos esta relación de
recurrencia hasta obtener c
0
y d
0
. Tenemos de la definición 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 sólo la relación de recurrencia de los c
k
para calcular c
0
, c
1
, c
2
.
Obtenemos δp y δq, aplicando el método 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 CAPÍTULO 2. RAÍCES DE ECUACIONES NO LINEALES
c
0
δp+c
1
δq = −b
0
c
1
δp+c
2
δq = −b
1
con lo que obtenemos finalmente
δ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 iteración del método 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 suficientemente pequeños o δp y δq sean inferiores a una tolerancia
preestablecida.
2.12.2. Obtención de raíces de polinomios mediante diagonalización
Finalmente, mencionemos que el cálculo de los valores propios de una matriz es equivalente
a calcular las raíces del polinomio característico. De hecho, los métodos de diagonalización de
matrices son más eficientes que los métodos de cálculo de raíces de polinomios, por lo que los
primeros son útiles para obtener todas las raíces de un polinomio. Para ello, basta simplemente
notar que un polinomio arbitrario
P(x) = a
n
x
n
+a
n−1
x
n−1
+· · · +a
1
x +a
0
es el polinomio característico de la matriz:
_
¸
¸
¸
¸
¸
¸
_

a
n−1
a
n

a
n−2
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 raíces del polinomio basta con diagonalizar la matriz. Este método
calcula rápidamente todas las raíces de polinomios de orden de decenas o incluso centenares, a
condición de que no existan problemas de mal condicionamiento en la matriz.
2.13. MINIMIZACIÓN DE FUNCIONES MEDIANTE CÁLCULO DE RAÍCES 35
2.13. Minimización de funciones mediante cálculo de raíces
A menudo se presenta el problema de obtener el punto x para el que la función f (x) es
mínima. Esto es equivalente a encontrar el cero de la función f

(x). Cuando la derivada se puede
calcular analíticamente esto no presenta problemas. Sin embargo a menudo esto no es posible.
Sin embargo siempre es posible calcular la derivada numérica, como veremos en el capítulo 7,
y podemos calcular el cero de esta derivada numérica. A menudo, unas pocas iteraciones del
método de la secante o de Müller son suficientes para obtener el mínimo con buena precisión. En
el caso de funciones de varias variables, se puede utilizar el método de Newton de varias varibles,
estimando el Hessiano numéricamente cuando el cálculo analítico no es posible.

16

CAPÍTULO 2. RAÍCES DE ECUACIONES NO LINEALES

contrario, se realiza una nueva iteración. Vemos que este procedimiento lo que hace es definir una sucesión x0 , x1 , x2 , . . . , xn−1 , xn que cumple que la distancia entre dos puntos sucesivos es |xn − xn−1 | = |a − b|/2n y que converge a la raíz α, en la cual f (α) = 0, salvo que la encontremos accidentalmente en una de las iteraciones y la sucesión se pare. Cuando este procedimiento lo realizamos mediante un programa de ordenador debemos de definir criterios que nos digan cuando debemos parar el cálculo de términos de la sucesión. Un primer criterio es parar las iteraciones cuando la distancia a la raíz sea menor que una tolerancia preestablecida δ. Es decir, si |xn − xn−1 | < δ, paramos el cálculo y aceptamos xn como el valor de la raíz. Un segundo criterio, que puede ser necesario establecer simultáneamente con el primero, o como único criterio, es que el valor de la función sea menor que una determinada tolerancia ε, es decir | f (xn )| < ε. Si lo que nos interesa es que esta función se anule, este último será el criterio a seguir. El método de la bisección permite determinar, sin necesidad de calcular las aproximaciones sucesivas a la raíz, el número de iteraciones necesario para alcanzar la tolerancia δ; este número nmax viene dado por por la solución de la ecuación |a − b| δ= n 2 max que es 1 |a − b| ln nmax = ln 2 δ El método de la bisección es un método robusto, que converge en todos los casos. Sin embargo, no es un método eficiente. Ello es debido a que no utiliza ninguna información sobre el comportamiento de la función. Por último, el método de bisección necesita relativamente pocas precauciones en su programación. Una de ellas es evitar cálculos innecesarios de la función cuando se verifica el cumplimiento de la condición f (x0 ) · f (x2 ) < 0. Para ellos, debemos almacenar los valores f (x0 ), f (x1 ) y f (x2 ) en variables f0 , f1 y f2 .

2.3. Método de la regula falsi.
El método de bisección no tiene en cuenta el comportamiento de la función f (x) a la hora de calcular el punto x2 . El método de la régula falsi determina x2 como el punto de corte con el eje de abscisas de la recta que pasa por los puntos (x0 , f (x0 )) y (x1 , f (x1 )). Esta recta, que es la secante a la curva que pasa por estos dos puntos, la escribimos como y = mx + p, y los parámetros m y p vienen determinados por las condiciones f (x0 ) = mx0 + p f (x1 ) = mx1 + p que da como solución m = p = f (x1 ) − f (x0 ) x1 − x0 f (x0 )x1 − f (x1 )x0 x1 − x0

aunque algo menos robusto. MÉTODO DE LA SECANTE 17 x2 x0 x1 Figura 2. El proceso se repite iterativamente hasta alcanzar convergencia. en caso contrario x2 → x1 y x0 → x0 . Esto sucede en particular cuando hay un cambio brusco de pendiente a uno de los lados de la raíz. que da como resultado x2 = − p f (x1 )x0 − f (x0 )x1 f (x1 )x0 − f (x0 )x1 + f (x1 )x1 − f (x1 )x1 f (x1 ) = = = x1 − (x1 −x0 ) m f (x1 ) − f (x0 ) f (x1 ) − f (x0 ) f (x1 ) − f (x0 ) El método de la régula falsi exige mantener el horquillado a lo largo del proceso iterativo. El método de la régula falsi converge usualmente mucho más rápido que el método de bisección.4. En otras.2. Frecuentemente el método de la secante es más rápido que el método de la régula falsi.1: Ilustración del método de la régula falsi el punto de corte se obtiene de la ecuación mx2 + p = 0 . simplemente se calcula la sucesión hasta que se alcanza la convergencia. La diferencia esencial es que no se requiere horquillado. Método de la secante El método de la secante es en cierta forma similar al método de la régula falsi. es decir. lo que no ocurre nunca con el método de la régula falsi. en el sentido de que calcula la sucesión xr+1 = xr − f (xr ) (xr − xr−1 ) f (xr ) − f (xr−1 ) a partir de dos valores iniciales x0 y x1 . si f (x2 ) · f (x1 ) < 0. x2 → x1 y x1 → x0 . La convergencia es más rápida si todos los puntos de la sucesión xr están en la zona de mayor pendiente de la función f (x). En determinadas ocasiones el método de la secante converge rápidamente mientras que el de la régula falsi converge lentamente. .4. el método de la secante puede diverger. 2.

Si escribimos este polinomio interpolador como P (x) = a(x − x2 )2 + b(x − x2 ) + c la nueva aproximación a la raíz viene dada por la solución de P(x3 ) = 0. los diferentes métodos dan los resultados siguientes Metodo Biseccion .1] como intervalo inicial. dada por √ −b ± b2 − 4ac x3 − x2 = 2a Tomamos el signo que haga la diferencia x3 − x2 más pequeña en valor absoluto. x2 → x1 y x1 → x0 . Tomemos dos puntos. en cuyo caso sirve para obtener raíces complejas. RAÍCES DE ECUACIONES NO LINEALES 2. Tomando [0. x1 y x2 se toma como una nueva aproximación a la raíz. Además. como por ejemplo bisección o preferentemente régula falsi. redenominando x3 → x2 . y determinemos x2 por un método cualquiera.18 CAPÍTULO 2. con 7 cifras decimales exactas es α = 0. es decir la raíz de la secante. P (x2 ) = f (x2 ) que dan como resultado a = (x1 − x2 ) [ f (x0 ) − f (x2 )] − (x0 − x2 ) [ f (x1 ) − f (x2 )] (x0 − x2 )(x1 − x2 )(x0 − x1 ) 2 [ f (x ) − f (x )] − (x − x )2 [ f (x ) − f (x )] (x0 − x2 ) 1 2 1 2 0 2 b = (x0 − x2 )(x1 − x2 )(x0 − x1 ) c = f (x2 ) como se puede verificar fácilmente de forma directa o por los métodos de interpolación del capítulo 6. es conveniente escribir x3 − x2 como 2c √ x3 − x2 = −b b2 − 4ac tomando el signo que haga máximo el módulo del denominador. El procedimiento se repite iterativamente. b y c se determinan de las condiciones P (x0 ) = f (x0 ). El método de Müller puede tomar como valores de comienzo números complejos. El uso de la clase complex del C++ facilita mucho la programación del álgebra compleja. Los coeficientes a. La raíz del polinomio que pasa por los tres puntos x0 .5. se puede utilizar en el caso de raíces complejas. La raíz. secante y Müller para la ecuación x − e−x = 0. Método de Müller El método de la régula falsi toma como raíz de la función f (x) la raíz de una función que pasa por dos puntos de la misma. Ejemplo: Vamos a comparar los métodod de bisección. El método de Müller aproxima la raíz de la función por la raíz del polinomio de segundo grado que pasa por tres puntos de dicha función. x0 y x1 que horquillen la raíz. régula falsi. P (x1 ) = f (x1 ).5671433. Para evitar overflows cuando aes muy pequeño. El método de Müller converge bastante rápidamente.

5 0.000877392 9.6126998 2 0.07081395 0.5638384 3 0. MÉTODO DE MÜLLER iteracion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 x 0.578125 0.5672607 0.5625 0.5671426 4 0.241924e-05 2.07081395 0.5671463 f(x) -0.59375 0.75 0.5683594 0.001155202 0.00496376 -0.142242e-06 2.001077767 -1.5671387 0.5677032 4 0.5671433 f(x) 0.237912e-06 0.5671539 0.007888273 0.07081395 -0.5.5671502 6 0.005182355 4.5671692 0.667477e-05 4.206646e-06 f(x) 0.0003898588 -7.5664062 0.841203e-05 4.007282825 0.058732e-05 1.718446e-06 19 Metodo secante iteracion x 1 0.1065307 0.134071e-12 .5671704 4 0.00190536 0.2776334 0.5671441 Metodo Muller iteracion x 1 0.5721814 3 0.5671997 0.625 0.5673828 0.538017e-08 f(x) 0.2.5678311 3 0.085062e-05 1.08973857 -0.757273e-05 1.04149755 0.5668945 0.5671433 Metodo Regula Falsi iteracion x 1 0.0001840599 8.01717584 0.0003753492 -0.5703125 0.6126998 2 0.6126998 2 0.5672056 5 0.

1. y tres cifras decimales en la segunda iteración.692201 3 0.1) que sólo se cumple para la raíz α. RAÍCES DE ECUACIONES NO LINEALES Tabla 2.20 CAPÍTULO 2. sirve para definir la serie xr+1 = g(xr ) partiendo de un punto inicial x0 . Las diferencias entre los elementos de la serie xr y la raíz viene dada por: xr − α = g(xr−1 ) − g(α) = g (ξ)(xr−1 − α) donde. Si tomamos x = 1 como punto de partida. el método converge lentamente. por lo que vamos a estudiar sus propiedades en cierto detalle. este método constituye una base teórica para la derivación de métodos de orden superior.579612 10 0. Por lo tanto. obtenemos los resultados de la tabla 2. entonces se cumplirá |xr − α| ≤ Lr |x0 − α| y como Lr → 0 cuando r → ∞. Consideremos por ejemplo la ecuación x = e−x .567148 25 0. esto sólo ocurre si g(x) cumple una serie de condiciones. con lo que g(x) = x − f (x).545396 6 0. hemos aplicado el teorema del valor medio.567143 Vemos que el método de la secante y el método de Müller dan 7 cifras decimales exactas o más en 4 iteraciones. Esto es siempre posible. Sea α la raíz. La filosofía del método es que la ecuación x = g(x) (2. Con frecuencia.500474 4 0. Sin embargo. la serie converge.1: Convergencia de xr+1 = e−xr iteración xr 0 1 1 2 0. También produce una mayor anulación de la función en una iteración dada que los otros métodos. 2. . Vemos que en este caso el método converge lentamente en comparación con los métodos de la secante. pues podemos poner x = x − f (x). régula falsi y Müller. la derivada de la función g(x) determina la convergencia del método. Por supuesto.568429 20 0. en el último paso. es decir si |g (ξ)| ≤ L < 1. que converge a la raíz. El método de Müller es el único que da 5 cifras decimales en la tercera iteración.606244 5 0. mientras que el método de la régula falsi necesita 6 iteraciones para alcanzar esa precisión y el método de la bisección necesita 17 iteraciones para dar 5 cifras decimales exactas. Si g (ξ) es estrictamente menor que 1. y su velocidad de convergencia es comparable al método de la bisección. Métodos iterativos de un punto Estos métodos se basan en escribir la ecuación f (x) = 0 como x = g(x).6. Entonces g(α) = α.

7. En sólo 5 iteraciones se ha alcanzado el resultado con 5 cifras decimales exactas. Entonces tenemos la relación de recurrencia 3xr + 5e−xr 1 (0. que necesita 25 iteraciones si no se emplea el método de aceleración.7. MÉTODOS DE ACELERACIÓN Tabla 2. Método de aceleración de Aitken Este método.1. Podemos tomar como próximo a la raíz λ = 0.6.567143 2.567143 −xr 21 5 0. debemos de tomar λ próximo a −g (α). Si g (x) es una constante Γ. Por lo tanto. propuesto por Aitken en 1926.568169 0. De la relación xr+1 − α = g(xr ) − g(α) = g (βr )(xr − α) = Γ(xr − α) se cumple para el cociente de los errores er = xr − αla relación er er+1 = =Γ er er−1 .7. el requerimiento esencial es que g (x) sea pequeña cerca de la raíz. Consideremos el ejemplo de la tabla 2. 2. Métodos de aceleración Hemos visto que para que el método converja.1 x + λx = λx + g(x) que la podemos reescribir en la forma x= 1 (λx + g(x)) ≡ G(x) 1+λ La condición de convergencia es por lo tanto G (x) 0. g(x) = a + Γ(x − α) es una función lineal de x.6 8 Esta relación converge mucho más rápidamente como se puede ver en la tabla 2.567144 0.6xr + e−xr ) = xr+1 = 1. o lo que es lo mismo λ + g (x) 0 cerca de la raíz. Un método de aceleración consiste en una transformación de la función g(x) de forma que se cumpla este requerimiento.604925 0. La idea de partida es que g(x) es aproximadamente lineal cerca de la raíz. Para ello consideremos la siguiente transformación trivial de la ecuación 2. se basa en requerir condiciones equivalentes a g (α) = 0.2: Convergencia de la relación xr+1 = 3xr +5e 8 iteración r 0 1 2 3 4 xr 1 0.2.1.2.

consistente en aplicar sistemáticamente el método de aceleración de Aitken cada tres iteraciones. 2. En la figura 2. Este método. es decir no demasiado distinto de la forma lineal. En términos del operador diferencia regresiva xr = xr − xr−1 podemos escribir la relación anterior como: ( xr+1 )2 ∗ xr+1 = xr+1 − 2x r+1 ∗ La manera más eficiente de utilizar este método es tomar xr+1 como nuevo punto de partida y realizar tres nuevas iteraciones a las que se vuelve a aplicar el método de aceleración. Este número será próximo a la raíz si la función G tiene un comportamiento suave cerca de la raíz. lo podemos escribir en función de los errores que separan la iteración xr de la raíz. Tendremos por lo tanto la relación ∗ ∗ xr+1 − xr+1 xr − xr+1 = ∗ ∗ xr − xr+1 xr−1 − xr+1 ∗ cuya solución proporciona para xr+1 ∗ xr+1 = 2 xr+1 xr−1 − xr (xr+1 − xr )2 = xr+1 − xr+1 − 2xr + xr−1 xr+1 − 2xr + xr−1 La aplicación de esta transformación a los términos xr de una sucesión proporcionada por un método iterativo que converge a la raíz.8. Métodos de orden superior Cuando tenemos un método iterativo xr+1 = g(xr ) que converge a una raíz α. converge en general muy rápidamente. RAÍCES DE ECUACIONES NO LINEALES que proporciona una ecuación para α conocidos tres términos de la serie. Escribimos xr = α + er con lo que nos queda para la anterior ecuación er+1 + α = g(er + α) Desarrollando en serie de Taylor. obtenemos 1 1 1 g(k) (ξ)ek+1 er+1 + α = g(α) + g (α)er + g (α)er + · · · + g(k) (α)ek + r r 2 k! (k + 1)! .2 se presenta un diagrama de flujo del método de Aitken. El método de Aitken ∗ se basa en reemplazar la raíz α por un número xr+1 que cumpla la relación anterior. se conoce como método de aceleración de Aitken.22 CAPÍTULO 2. quien lo publicó en 1926.

9.9. 2. Método de Newton Vamos a desarrollar un método de segundo orden. Un procedimiento de desarrollar métodos de orden superior es mediante la introdución de parámetros que se fijan de forma que las derivadas de la función g(x) se anulen en la raíz. teniendo en cuenta que g(α) = α. er+1 1 (k) g (α)ek r k! para er pequeño. MÉTODO DE NEWTON 23 Figura 2. introduciendo un parámetro λ. x + λx = λx + x − f (x) .2.2: Diagrama de flujo del método de Aitken de donde. Decimos entonces que el método es de orden k. Para ello escribimos la ecuación f (x) = 0 como x = x − f (x) y le aplicamos el método de aceleración expuesto anteriormente. queda 1 1 1 er+1 = g (α)er + g (α)er + · · · + g(k) (α)ek + g(k) (ξ)ek+1 r r 2 k! (k + 1)! Observamos que si las primeras k − 1 derivadas se anulan.

es decir no es un método robusto. RAÍCES DE ECUACIONES NO LINEALES (2.3) f (x) f (x) f (x) f (x) f (x) + = 2 f (x) [ f (x)] [ f (x)]2 que se anula en la raíz α. El método de Newton converge si se cumplen las siguientes tres condiciones para la función f (x): x1 = x0 − que viene dada por: . ya que G(x) = x − cumple G (x) = 1 − f (x) f (x) f (x) f (α) f (xr ) f (xr ) λ = f (α) − 1 (2. f (x0 )). Este método de segundo orden se conoce con el nombre de método de Newton. aunque falla con facilidad. la ordenada en el origen b viene dada por b = f (x0 ) − f (x0 )x0 El punto de intersección x1 de la recta tangente con el eje de abcisas (y = 0). ya que se deben de cumplir condiciones relativamente estrictas para que converja. Para comprobar que este requerimiento da la misma relación. es la solución de la ecuación: f (x0 )x1 + f (x0 ) − f (x0 )x0 = 0 f (x0 ) f (x0 ) El método de Newton es muy utilizado debido a su rápida convergencia.2 obtenemos la relación x = x− que sugiere el método iterativo xr+1 = xr − que es un método se segundo orden. y = mx + b con m = f (x0 ) . quien lo derivó de forma geométrica. Newton tomó el punto xr+1 como el punto en el que la tangente en f (xr ) corta al eje de abscisas. Como la recta tangente pasa por el punto (x0 . ya que f (α) = 0.2) λ 1 x+ (x − f (x)) = G(x) 1+λ 1+λ Imponiendo que G (α) = 0 tenemos que el parámetro λdebe satisfacer: λ 1 + (1 − f (α)) = 0 1+λ 1+λ y sustituyendo este valor de λ en la ecuación 2. escribimos la recta tangente a f (x) en el punto x0 como.24 x= CAPÍTULO 2.

Notemos que el método de Newton se reduce al método de la secante si se reemplaza f (xr ) por f (xr ) − f (xr−1 ) xr − xr−1 Como la exactitud de esta substitución aumenta a medida que nos acercamos a la raíz. MÉTODO DE NEWTON Tabla 2. 25 Si no se cumplen estas condiciones. Este problema es equivalente al de encontrar la raíz de la ecuación no lineal x2 − c = 0 El método de Newton conduce a la serie iterativa xr+1 = xr − 2 xr − c 1 = 2xr 2 2 xr + c xr = 1 c xr + 2 xr Para aumentar la eficiencia del algoritmo se tiene en cuenta que cualquier número c se puede poner en la forma c = 4n s. El método de Newton es ampliamente utilizado para diseñar algoritmos para procesadores matemáticos. y en estos casos el método diverge. Puesto de esta forma. el punto dado por la iteración siguiente tiene un valor muy grande. el método puede todavía converger. En particular.537882 0. Debido a la rápida convergencia del método de Newton cuando converge.566987 0. En la tabla se dan las primeras tres iteraciones del método de Newton para nuestro caso test de la ecuación x − e−x = 0.9. si se produce una divergencia. con 1/4 ≤ s < 1. iii. Vemos que el método converge más rápido que el método de Müller. que implica sólo dividir por 4 hasta que lleguemos a un valor de s adecuado. b].2. cuando f (x) se hace muy pequeña en el intervalo comprendido entre el punto de partida y la raíz. Existen dos puntos a y b en los que f (a) · f (b) < 0. vemos que el método de la secante converge al de Newton. un algoritmo eficiente es comenzar con este método y continuar con otro más robusto. y que proporciona 7 cifras exactas en tres iteraciones.3: Convergencia del método de Newton para f (x) = x − e−x iteración 0 1 2 3 xr 0 0.5671433 f (xr ) 0. b]. Las tangentes a f (x) en a y b cortan al eje de abscisas en [a.6321 -0. Vamos a considerar aquí el algoritmo de obtención de la raíz cuadrada de un número. ii. puesto que la tangente es casi paralela al eje de abcisas.00024 -6. tenemos que la raíz viene dada por √ √ c = 2n s . f (x) no cambia de signo en [a. como bisección o régula falsi.9·10−9 i.04610 -0. aunque no se puede garantizar nada.

para ello hay que dar un punto de partida en el plano complejo. Una aproximación adecuada es 2 17 x0 = s + 3 48 1 obtenida por el método de ajuste conocido como minimax.9. se obtienen figuras de asombrosa complejidad. mostrado en la figura 2. El célebre conjunto de Mandelbrot. y -1. caracterizado por patrones que se repiten indefinidamente cuando se disminuye la escala de observación. El método de Newton se puede aplicar a raíces complejas. Esto es equivalente al conjunto de puntos c del plano complejo para los que de la ecuación z − z2 − c = 0 es soluble por el método iterativo de un punto z = g(z). Por ejemplo. y que cumple |x0 − s| ≤ 48 en [1/4. Por lo tanto basta aplicar el método al intervalo [1/4.25 y 0. En esta figura. En la figura 2. el plano complejo se puede dividir en zonas de convergencia a las raíces y en zonas de divergencia. Como punto de partida x0 se toma una √ aproximación a x en este intervalo.5 y 1. De hecho. Otras ecuaciones muy simples producen figuras de asombrosa complejidad. n comenzando en z0 = 0. Los límites de la figura son -2. Si existen varias raíces. 1]. al estilo de las muñecas rusas. partiendo del valor inicial z0 = 0. representando cada punto del plano de un color. RAÍCES DE ECUACIONES NO LINEALES Figura 2. al aplicar el método de Newton a ecuaciones de la forma zn − 1 = 0. como la mostrada en la figura 2.75 en el eje x.26 CAPÍTULO 2. . no es otra cosa que la zona de convergencia en el plano de c de la ecuación iterativa zn+1 = z2 + c. 1]. Las fronteras entre las zonas de convergencia y divergencia exhiben un comportamiento fractal.3. la aplicación del método de Newton a raíces complejas ha sido muy fructífero en el campo de los fractales.4 se muestra el conjunto de Mandelbrot coloreando las zonas de divergencia según la velocidad de divergencia.3: Conjunto de Mandelbrot.5 en el eje y. segun que cuando se parte de este punto se obtenga convergencia o divergencia. con g(z) = z2 + c.

Figura 2. coloreadas según el número de iteraciones necesario para la convergencia. MÉTODO DE NEWTON 27 Figura 2. para la solución de la ecuación z6 − 1 = 0 por el método de Newton. Los límites de la figura son -1 y 1 en ambos ejes. .5: Zonas de convergencia según el punto de partida z0 .4: Conjunto de Mandelbrot coloreando las zonas de divergencia según la velocidad de divergencia.2. La zona azul celeste corresponde a la convergencia y la rojiza es la que diverge más rápido. Los brazos corresponden a cada una de las seis raíces de la ecuación.9.

28 CAPÍTULO 2. x2 . . 2. . La solución de este sistema de ecuaciones implica encontrar un vector x al que la función f(x) lo aplique en el vector nulo. multiplicando por la matriz inversa por la izquierda de J (hemos supuesto que en principio J no es cuadrada). . . y si además. y denominando er = xr − α. .1 . x2 . . xn ) = 0 f2 (x1 . . x3 . que converge a la raíz si x0 se encuentra en el atractor de ésta (como se denomina a la zona de convergencia). . . . a cualquier nivel de escala. . .  . x3 . Veremos en . El término ∇f(xr ) es una matriz m × n. .  . Si tenemos una aproximación xr a la raíz. . . Llamemos α a esta raíz. xn ) = 0 que podemos escribir en notación vectorial como: f(x) = 0 donde f(x) es un vector de m dimensiones y x un vector de n dimensiones. obtenemos la relación: xr+1 = xr − J−1 · f(xr ) que es la generalización del método de Newton para n variables. Consideraremos aquí el caso de un sitema de m ecuaciones no lineales con n incógnitas: f1 (x1 . y que viene dada por:  ∂f  ∂ f1 1 1 · · · ∂ fn ∂x ∂x ∂x  ∂ f1 ∂ f2   ∂x2 ∂x2 · · · ∂ f2  ∂xn  2 J =  . . fm (x1 . xn ) = 0 . . . RAÍCES DE ECUACIONES NO LINEALES el patrón central aparece repetido en cada uno de los brazos. podemos suponer que la igualdad f(xr ) = ∇f(xr ) · (xr − xr+1 ) define un vector xr+1 más próximo a la raíz que xr .  . J−1 . . y dado que no conocemos α. la matriz inversa de la Jacobiana existe (J es no singular. que denotamos por J. . Esta relación proporciona una relación de recurrencia a partir de un vector de partida x0 . conocida con el nombre de Jacobiana de la función f(x).  . x2 . desarrollando en serie ˜ de Taylor alrededor de la raíz. x3 . podemos escribir : f(xr ) = f(α) + ∇f(α) · er + · · · Si nos quedamos en primer orden. que es una matriz de dimensiones n × m.10. en el caso de una matriz cuadrada). Hemos utilizado f(α) =0 y reemplazado la raíz por xr+1 en er . ∂ fm ∂ fm ∂ fm ∂x1 ∂x2 · · · ∂xn De la anterior igualdad. Método de Newton para funciones de varias variables El método de Newton se puede extender fácilmente al caso de funciones de varias variables.

La anterior igualdad la podemos reescribir como. por ejemplo.11.4) 2. el método de Newton multidimensional conviene escribirlo como: J · xr+1 = J · xr − f(xr ) donde J es la matriz jacobiana calculada en el punto xr . Podemos escribir la anterior ecuación como una ecuación para δxr : J · δxr = −f(xr ) que resolveremos en cada iteración para actualizar xr . de forma que xr+1 = xr + δxr . podemos escribir. Obtenemos de ests forma el método iterativo xr+1 = G(xr ) con G(x) = x − λ2 1 f (x) + f (x)2 1 + λ1 2(1 + λ1 ) Las condiciones G (α) = G (α) = 0 dan las siguientes dos ecuaciones: λ2 1 f (α) + f (α) f (α) = 0 1 + λ1 (1 + λ1 ) λ2 1 f (α) + ( f 2 (α) + f (α) f (α)) = 0 − 1 + λ1 (1 + λ1 ) 1− . x = x− λ2 1 f (x) + f (x)2 ≡ G(x) 1 + λ1 2(1 + λ1 ) que define la función G(x). Obviamente. UN MÉTODO DE TERCER ORDEN 29 el próximo capítulo que es más fácil resolver un sistema de ecuaciones lineales que calcular la inversa de la matriz de los coeficientes. Por lo tanto. (2. Para que se cumplan estas dos condiciones hay que introducir dos parámetros adicionales. hay una infinidad de posibilidades diferentes de elegir estos dos parámetros. Esta forma de G(x) es la más sencilla en el sentido que es cuadrática en f (x). En general. parando cuando ||δxr || < ε. Un método de tercer orden Para obtener un método de tercer orden debe de cumplirse que g (α) = g (α) = 0.11. Si tenemos la ecuación f (x) = 0. la ecuación 1 x + λ1 x = x + λ1 x − f (x) + λ2 f (x)2 2 que es válida en la raíz.2. lo que se hace es actualizar el valor de xr por un valor δxr . Cada iteración consiste en resolver un sistema de ecuaciones lineales y utilizar la solución encontrada para calcular la nueva matriz de coeficientes y el nuevo vector de términos independientes (que supone la evaluación de (n + 1)m funciones). desde el punto de vista práctico.

se obtienen las soluciones: f (α) f 2 (α) λ1 = f (α) − 1 f (x) f (α) G(x) = x − + f (x)2 f (α) 2 f 3 (α) λ2 = Reemplazando α por xr . se procede a dividir el polinomio por (x − αn ) para obtener un polinomio de grado inferior Pn (x) = (x − αn )Pn−1 (x). el método queda como la siguiente relación iterativa: f (xr ) f (xr ) xr+1 = xr − + f (xr ) 2 f (xr ) f (xr ) f (xr ) 2 Vemos que el precio a pagar por la convergencia en tercer orden es la aparición de la derivada segunda en el método. Si las derivadas deben de ser calculadas numéricamente. Este procedimiento se conoce como deflación. sin contar con el hecho de que. Esto se hace para evitar problemas de redondeo y propagación de errores en los coeficientes del polinomio. Se basa en escribir (2. Se procede seguidamente a calcular una nueva raíz del polinomio Pn−1 (x).12. El método de Müller permite obtener raíces complejas a partir de puntos de partida reales.1. 2.5) . Si el polinomio es real. con lo que el método no suele ser ventajoso desde el punto de vista de volumen de cálculo. Método de Bairstow Pn (x) = Qn−2 (x)(x2 + px + q) + rx + s El método de Bairstow permite encontrar pares de raíces complejas. los complejos conjugados de las raíces complejas son también raíces.12. los errores implicados hacen que los métodos de orden superior sean desaconsejables. Una vez que hemos obtenido una raíz αn . la segunda derivada resulta tediosa y larga de calcular. mientras que el método de Newton permite obtener raíces complejas a partir de puntos de partida complejos. RAÍCES DE ECUACIONES NO LINEALES Teniendo en cuenta que f (α) = 0. lo cual lo hace menos robusto e implica cálculos tediosos si f (x) es complicada.30 CAPÍTULO 2. por lo que se divide el polinomio por el factor cuadrático (x − α)(x − α∗ ) = x2 − 2Reα + |α|2 . 2. desde el punto de vista numérico. Si la raíz es compleja y el polinomio real. Sin embargo esta raíz se calcula sólo de forma aproximada. y se refina aplicando el método de Newton al polinomio completo. tenemos que calcular tres funciones por iteración (la función y sus dos primeras derivadas). sabemos que la compleja conjugada es también una raíz. El método se prosigue hasta encontrar todas las raíces. De hecho. incluso para funciones relativamente simples. Raíces de Polinomios Cualquiera de los métodos que hemos visto sirven para obtener raíces reales de polinomios.

Tomando derivadas parciales con respecto de p y q en la ec. Si x1 y x2 son las dos soluciones de x2 + px + q = 0. La ecuación 2. al igual que r y s. tenemos las dos ecuaciones ∂s ∂r x1 + = −x1 (r1 x1 + s1 ) ∂p ∂p ∂s ∂r x2 + = −x2 (r1 x2 + s1 ) ∂p ∂p (2. y s se obtienen dividiendo Pn (x) por el factor cuadrático C(x) = x2 + px + q.2.6 tenemos que Qn−2 (x1. Variamos p y q hasta que r y s se anulan. Se parte de valores iniciales aproximados de p y q. q) y variando p y q de forma que r y s se anulen. de la segunda de las ecuaciones 2. con lo que Qn−2 . r. entonces ∂r = −r1 ∂q ∂s = −s1 ∂q con lo que determinar la segunda columna de la matriz Jacobiana implica sólo una división polinomial.2 + s1 .7) Multiplicando la primera por x2 y la segunda por x1 .12. RAÍCES DE POLINOMIOS 31 donde los coeficientes r y s se suponen funciones de p y q. y teniendo en cuenta que x1 + x2 = −p y x1 x2 = q.6) La segunda de las ecuaciones nos dice que si dividimos Qn−2 por x2 + px + q y tenemos como resto r1 x + s1 . y teniendo en cuenta que Pn (x) es un polinomio que no depende ni de p ni de q. obtenemos ∂r ∂s q + x2 = −q(r1 x1 + s1 ) ∂p ∂p ∂r ∂s q + x1 = −q(r1 x2 + s1 ) ∂p ∂p . suponiendo la dependencia r(p.5. q) y s(p. obtenemos 0 = Qn−2 (x)x + (x2 + px + q) ∂Qn−2 ∂r ∂s + x+ ∂p ∂p ∂p ∂Qn−2 ∂r ∂s 0 = Qn−2 (x) + (x2 + px + q) + x+ ∂q ∂q ∂q (2.2 ) = r1 x1. 2. La idea es aplicar el método de Newton para funciones de dos variables. Introduciendo cada uno de los valores particulares de x1 y x2 en la primera de las ecuaciones 2.4 queda como   ∂r ∂r  ∂p ∂q  δp −r    ∂s ∂s  δq = −s ∂p ∂q Lo más interesante del método de Bairstow es que las derivadas parciales de la matriz jacobiana se obtienen mediante una simple división polinomial.6 .

y luego. resulta: ∂r = pr1 − s1 ∂p ∂s = qr1 ∂p con lo que hemos obtenido los elementos restantes del Jacobiano.32 CAPÍTULO 2. . obtenemos que los coeficientes bk del polinomio cociente Qn−2 (x) satisfacen la relación de recurrencia: a0 = qb2 + pb1 + b0 a1 = qb3 + pb2 + b1 . Escribiendo Pn (x) = an xn + an−1 xn−1 + · · · + a1 x + a0 Qn−2 (x) = bn xn−2 + bn−1 xn−3 + · · · + b3 x + b2 rx + s = b1 (x + p) + b0 donde Pn (x) = (x2 + px + q)Qn−2 (x) + b1 (x + p) + b0 . el método de Bairstow consiste en dividir P(n x) dos veces por el factor cuadrático aproximado x2 + px + q para obtener r y s del resto de la primera división y r1 y s1 del de la segunda la segunda. lo nos permite obtener todos los elementos del Jacobiano de las ecuaciones anteriores. ak = qbk+2 + pbk+1 + bk . podemos aplicar una nueva iteración del método de Newton y calcular δp y δq y los nuevos valores de p y q. en la práctica. Aunque podemos elaborar el algoritmo de Bairstow en la forma que acabamos de enunciar mediante una función de división de polinomios. Vemos que la determinación del jacobiano implica sólo una división polinomial. sino sólo en los restos de ambas divisiones. la utilización de una función general de este tipo requiere más operaciones de las necesarias.8) −p ∂r ∂s + 2 = −r1 (p2 − 2q) + ps1 ∂p ∂p (2. obtenemos (2.9) De las dos ecuaciones anteriores. ya que no estamos interesados en los polinomio cociente. . Es más eficiente realizar la división directamente en este caso particular para obtener los coeficientes del resto y sus derivadas. multiplicando la primera por p y la segunda por 2q y sumandolas.7 y teniendo en cuenta que x1 + x2 = p2 − 2q. Con esto. En resumen. multiplicando la primera por 2 y la segunda por p y sumándolas. RAÍCES DE ECUACIONES NO LINEALES Sumando ambas ecuaciones obtenemos ∂r ∂s 2q − p = pqr1 − 2qs1 ∂p ∂p 2 2 Sumando las ecuaciones 2.

si definimos bn+1 = bn+2 = 0. Para las derivadas parciales de bk podemos escribir las relaciones de recurrencia ∂bk ∂bk+1 ∂bk+2 = −bk+1 − p −q ∂p ∂p ∂p ∂bk ∂bk+1 ∂bk+2 = −bk+2 − p −q ∂q ∂p ∂p que podemos reescribir . Iteramos esta relación de recurrencia hasta obtener c0 y d0 .12.11) con las condiciones iniciales dn+2 = cn+2 = dn+1 = cn+1 = 0. llamando ck = ∂bk ∂bk y dk = . con las mismas condiciones iniciales. c0 = c1 d0 d1 ∂b0 ∂p ∂b1 = ∂p ∂b0 = = c1 ∂q ∂b1 = = c2 ∂q por lo que tenemos que iterar sólo la relación de recurrencia de los ck para calcular c0 .2. Vemos que los primeros elementos no nulos son cn−1 = dn−2 = bn y que a partir de aquí ck = dk−1 . c1 . Obtenemos δp y δq. con bn+2 = bn+1 = 0. Podemos escribir por lo tanto bk = ak − pbk+1 − qbk+2 (2. ya que ambos términos satisfacen la misma relación de recurrencia. b1 y sus derivadas. . RAÍCES DE POLINOMIOS 33 donde la última ecuación es válida desde k = 3 hasta n. ∂b0 ∂b0 δp + δq = −b0 ∂p ∂q ∂b1 ∂b1 δp + δq = −b1 ∂p ∂q Utilizando las relaciones anteriores para b0 .10) para calcular bk desde k = n hasta 0. aplicando el método de Newton para obtener el cero de b0 y b1 . estas ecuaciones quedan como. c2 . como: ∂p ∂q ck = −bk+1 − pck+1 − qck+2 dk = −bk+2 − pdk+1 − qdk+2 (2. Tenemos de la definición de bk y dk .

12. 2.. 0 0 ··· a1 a0  − − an an  0 0   0 0   . y de aquí δp y δq de las ecuaciones 2.  .. Obtención de raíces de polinomios mediante diagonalización Finalmente.12. Para ello. ··· por lo que para calcular las raíces del polinomio basta con diagonalizar la matriz. . los métodos de diagonalización de matrices son más eficientes que los métodos de cálculo de raíces de polinomios. .12) Cada paso de iteración del método de Bairstow consiste en calcular los conjuntos bk y ck mediante las ecuaciones 2.11. . basta simplemente notar que un polinomio arbitrario P(x) = an xn + an−1 xn−1 + · · · + a1 x + a0 es el polinomio característico de la matriz:         an−2 an−1 − − an an 1 0 0 1 . . 1 0 ··· ··· . .  .2. por lo que los primeros son útiles para obtener todas las raíces de un polinomio. . . De hecho. Seguidamente actualizamos p → p + δp y q → q + δq. mencionemos que el cálculo de los valores propios de una matriz es equivalente a calcular las raíces del polinomio característico. . . Paramos el proceso iterativo cuando b1 y b0 sean suficientemente pequeños o δp y δq sean inferiores a una tolerancia preestablecida. a condición de que no existan problemas de mal condicionamiento en la matriz. RAÍCES DE ECUACIONES NO LINEALES c0 δp + c1 δq = −b0 c1 δp + c2 δq = −b1 con lo que obtenemos finalmente δp = c1 b1 − b0 c2 c0 c2 − c2 1 c1 b0 − b1 c0 δq = c0 c2 − c2 1 (2.34 CAPÍTULO 2.10 y 2. Este método calcula rápidamente todas las raíces de polinomios de orden de decenas o incluso centenares.

13. . se puede utilizar el método de Newton de varias varibles. En el caso de funciones de varias variables. Minimización de funciones mediante cálculo de raíces A menudo se presenta el problema de obtener el punto x para el que la función f (x) es mínima. A menudo. Sin embargo siempre es posible calcular la derivada numérica. MINIMIZACIÓN DE FUNCIONES MEDIANTE CÁLCULO DE RAÍCES 35 2.2. Cuando la derivada se puede calcular analíticamente esto no presenta problemas. Esto es equivalente a encontrar el cero de la función f (x). estimando el Hessiano numéricamente cuando el cálculo analítico no es posible. Sin embargo a menudo esto no es posible.13. como veremos en el capítulo 7. unas pocas iteraciones del método de la secante o de Müller son suficientes para obtener el mínimo con buena precisión. y podemos calcular el cero de esta derivada numérica.

Sign up to vote on this title
UsefulNot useful