Está en la página 1de 50

Capítulo 3

Solución de ecuaciones por iteraciones

Diversas aplicaciones físicas y áreas de investigación matemática requieren el estudio de varios


tipos de ecuaciones. Algunas de estas ecuaciones son bastante simples de resolver, como por
ejemplo la ecuación lineal ax + b = 0, donde a y b son números reales con a 6= 0 y cuya solución
es dada por x = −b a
. Muchas otras ecuaciones son no lineales, como por ejemplo la clásica
ecuación cuadrática ax2 + bx + c = 0, con a, b y c números reales tal que a 6= 0. Las dos
soluciones de esta ecuación, denominadas x1 y x2 , se encuentran en y son de la forma:
√ √
−b + b2 − 4ac −b − b2 − 4ac
x1 = y x2 = .
2a 2a
Sin embargo, de manera general, resolver una ecuación puede presentar dos inconvenientes:

1. Que la ecuación no sea simple de resolver explícitamente, como por ejemplo ex −2x−1 = 0,
de la cual no se puede despejar x y sin embargo, si se escribe la ecuación de la forma
ex = 2x + 1 y se grafican las funciones f (x) = ex y g(x) = 2x + 1 como se muestra en la
figura 3.1, se puede observar que esta ecuación tiene dos soluciones en [0, 2], una de ellas
es x = 0.

2. Problemas por trabajar con la aritmética de precisión finita, como se mostró en el ejemplo
2.22, de la página 128.

Así, las técnicas numéricas usuales consideradas para resolver el problema:

Definición 3.1 (Problema modelo).


Dada una función real f definida y continua sobre un intervalo cerrado [a, b], encontrar
ξ ∈ [a, b] tal que f (ξ) = 0.

consisten en brindar una aproximación inicial x0 de la solución, donde a partir de ella se


construya una nueva aproximación x1 y así sucesivamente se genera xk a partir de xk−1 . En
otras palabras, la idea general consiste en construir una sucesión (xk ) de tal forma que xk → ξ
cuando k → +∞.

135
136 Capítulo 3. Solución de ecuaciones por iteraciones

Figura 3.1: Gráfica de f (x) = ex y de g(x) = 2x + 1.

En este capítulo se consideran varios métodos de gran renombre, para los cuales se define la
sucesión (xk ) de diversas formas. Estos métodos son denominados métodos iterativos y de entre
ellos se considerarán: el método de bisección y los métodos basados en la iteración de punto
fijo: Newton, Secante, Posición falsa, entre otros. Sin embargo, para todos ellos, es importante
primero garantizar que para la ecuación f (x) = 0, exista la solución ξ en un determinado
intervalo, por lo tanto, se establece el siguiente resultado.

Teorema 3.1.
Sea f una función real, definida y continua sobre un intervalo cerrado [a, b] de . Si se
cumple que f (a)f (b) ≤ 0, entonces existe ξ ∈ [a, b] tal que f (ξ) = 0.

Demostración. Nótese que si f (a) = 0 o f (b) = 0, entonces ξ = a o ξ = b, respectivamente.


Así, suponiendo que f (a)f (b) < 0, es decir que f (a) y f (b) tienen signos opuestos, entonces se
cumple que f (a) < 0 < f (b), suponiendo sin pérdida de generalidad que f (a) < f (b). Luego,
ya que f es continua, entonces por el teorema de los valores intermedios (Teorema A.1 de la
página 523) existe un ξ ∈ ]a, b[ tal que f (ξ) = 0. 

Ejemplo 3.1.
Considere la función f (x) = ex − 2x − 1 sobre [1, 2] y nótese que f (1) < 0, mientras que
f (2) > 0. Por lo tanto, existe un ξ ∈ ]1, 2[ tal que f (ξ) = 0.

Observación: El teorema anterior establece que si f es continua en [a, b], donde f (a) y f (b)
tienen signos opuestos, entonces la ecuación f (x) = 0 tiene una solución en ]a, b[. Nótese que el
3.1. Iteración de bisección 137

teorema no brinda la solución, sólo garantiza su existencia. Además, el recíproco del teorema
es falso, ya que es posible considerar una función f continua en [a, b] tal que f (x) = 0 tiene
solución en ]a, b[, pero que f (a)f (b) > 0. Por ejemplo, considere f (x) = x2 sobre [−1, 1].

3.1. Iteración de bisección


La iteración o método de bisección para encontrar la solución de la ecuación f (x) = 0, con f
continua y x ∈ [a0 , b0 ], se basa en el teorema 3.1 para definir una succesión (xk ) que converja
a ξ cuando k tiende a +∞, donde f (ξ) = 0. Para ello, se debe cumplir la condición de cambio
de signo f (a0 )f (b0 ) < 0 y luego considerar m0 el punto medio de [a0 , b0 ]. Es decir,
a0 + b0
m0 = ,
2
con lo que el intervalo [a0 , b0 ] es dividido en dos subintervalos: [a0 , m0 ] y [m0 , b0 ], donde en
alguno de ellos se encuentra ξ. Ahora, para determinar en cuál subintervalo se encuentra ξ,
basta verificar si f (a0 )f (m0 ) ≤ 0 o si f (m0 )f (b0 ) ≤ 0.

Figura 3.2: Idea del método de bisección.

En otras palabras, el método de bisección genera un sucesión de subintervalos Ik = [ak , bk ] para


k ≥ 0, la cual es decreciente respecto a la inclusión, es decir, Ik ⊂ Ik−1 . Además satisface la
propiedad f (ak )f (bk ) < 0, donde

 [ak , mk ] si f (ak )f (mk ) < 0,
Ik+1 = [ak+1 , bk+1 ] =
 [m , b ] si f (a )f (m ) > 0.
k k k k

Cuando f (ak )f (mk ) = 0 se tiene que ξ = mk . Luego, para apreciar que la sucesión xk = mk =
1
(a + bk ) converge, basta considerar el error ek = xk − ξ el cual satisface que:
2 k
1
bk−1 − ak−1 (bk−2 − ak−2 ) b0 − a0
|ek | = |xk − ξ| ≤ bk − ak = = 2 = ... = .
2 2 2k
Así, ya que |ek | → 0 cuando k → +∞, entonces la iteración de bisección converge a ξ. Sin
embargo, por detalles computacionales se debe generar una forma de detener la iteración
ya que a pesar de que converge, esta podría realizar iteraciones infinitamente debido a que
puede producirse un subdesbordamiento o una cancelación catastrófica. Por esta razón para esta
iteración, así como para las iteraciones de las secciones siguientes, se consideran las siguientes
dos condiciones de parada.
138 Capítulo 3. Solución de ecuaciones por iteraciones

Definición 3.2 (Condiciones de parada).


Las condiciones de parada para la iteración xk son:

1. |ek | < tol, en la cual se considera una tolerancia tol con el fin de obtener una
aproximación adecuada para la solución.

2. k < iterMax, en la que se considera un entero máximo de iteraciones a realizar,


pues debido a errores provenientes de la precisión finita, la iteración podría nunca
converger con la tolerancia dada.

Con estas condiciones de parada, en el algoritmo 3.1 se presenta el pseudocódigo de la iteración


de bisección.
Algoritmo 3.1: Bisección.
Recibe: f continua sobre [a, b] con f (a)f (b) < 0, tol ∈ , iterMax ∈ .
Retorna: k número de iteraciones usadas y x aproximación de ξ.

1 k ← −1
2 err ← tol + 1
3 v←1
4 w ← f (a)
5 Mientras que v 6= 0 ∧ k < iterMax ∧ err ≥ tol hacer
6 x ← 12 (a + b)
7 v ← f (x)
8 err ← |b − a|
9 Si w · v > 0 entonces
10 a←x
11 w←v
12 Sino
13 b←x
14 k ←k+1

Ejemplo 3.2.
Utilice el método de bisección para aproximar la solución de la ecuación ex − 2x − 1 = 0
en el intervalo [1, 2] para una tolerancia de 10−2 .

Solución. La solución esta dada en las siguientes iteraciones:


1+2
Iteración 0: Se tiene que a0 = 1, b0 = 2 y x0 = 2
= 1.5. Así, (b0 − a0 ) = 1 > 0.01, por
lo que el método no se detiene aún.

Iteración 1: Dado que f (1) = e − 3 < 0, f (2) = e2 − 5 > 0 y f (1.5) = e3 − 4 > 0,
entonces se considera a1 = a0 = 1 y b1 = x0 = 1.5. Luego, se calcula x1 = 1.5+1
2
= 1.25 y
además (b1 − a1 ) = 0.5 > 0.01. El método aún no se detiene.
3.1. Iteración de bisección 139

4
Iteración 2: Como f (1) < 0, f (1.5) > 0 y f (1.25) = e5 − 3.5 < 0, entonces a1 = x1 =
1.25 y b1 = b0 = 1.5. Así, x2 = 1.25+1
2
.5 = 1.375 y además (b − a ) = 0.25 > 0.01. El
2 2
método aún no se detiene.

Similarmente, se calculan x3 y x4 como se muestra en la siguiente figura, sin lograr parar aún
el método.

Finalmente, el método se detiene en la iteración 8, tal y como se muestra en la tabla 3.1. 

k ak bk xk f (xk ) bk − ak
0 1.0000 2.0000 1.5000 0.4817 1.0000
1 1.0000 1.5000 1.2500 −0.0097 0.2500
2 1.2500 1.5000 1.3750 0.2051 0.5000
3 1.2500 1.3750 1.3125 0.0905 0.1250
4 1.2500 1.3125 1.2813 0.0386 0.0625
5 1.2500 1.2813 1.2656 0.0141 0.0313
6 1.2500 1.2656 1.2578 0.0021 0.0156
7 1.2500 1.2578 1.2539 −0.0038 0.0078

Tabla 3.1: Método de bisección para f (x) = ex − 2x − 1 sobre [1, 2] con tol = 10−2 .

Ejemplo 3.3.
Utilice MATLAB y el método de bisección para aproximar la solución de la ecuación
ex = 3x en el intervalo [0, 1] para una tolerancia de 10−6 .

Solución. Considerando la función f (x) = ex − 3x, esta se puede implementar en MATLAB,


en un archivo f.m, tal y como se muestra:
% Función continua
function [y] = f( x )
y = exp( x ) - 3 * x;
return

Luego, al implementar en MATLAB el algoritmo 3.1 en un archivo biseccion.m, se obtiene


el siguiente fragmento de código:
140 Capítulo 3. Solución de ecuaciones por iteraciones

% Método de bisección
function [x, k] = biseccion(a, b, tol, iterMax)
k = -1;
err = tol + 1;
v = 1;
w = f( a );
while v ~= 0 && k < iterMax && err >= tol
x = (a + b) / 2;
v = f( x );
err = abs( b - a );
if w * v > 0
a = x;
w = v;
else
b = x;
end
k = k + 1;
end
return

Así, al ejecutar el comando [x,k] = biseccion(0, 1, 1e-6, 30) en la ventana de


comandos, se obtiene el resultado:

x = k =

6.190609931945801e-001 20

Como k < iterMax = 30, entonces se dice que el método convergió con la tolerancia deseada.
En caso contrario de que k = 30, se dice que no convergió. Además, al evaluar la aproximación
en la función, es decir al ejecutar f(x), se obtiene el valor 3.354638895558537e-007. 

Observación: En la iteración de bisección se tiene que |ek | = |xk − ξ| ≤ 2−k (b − a), además se
considera |ek | < tol como condición de parada, entonces despejando k se obtiene que:
 
b−a b−a k b−a
< tol ⇒ < 2 ⇒ log2 < k,
2k tol tol
así, si se desea utilizar una tolerancia tol, entonces el valor mínimio de iterMax para la iteración
de bisección puede ser considerado de la forma:
s  {
b−a
iterMax = log2 + 1. (3.1)
tol
Por otro lado, el método de bisección considera una partición uniforme de [a0 , b0 ] al tomar el
punto medio de este intervalo. Sin embargo, también es posible considerar una partición no
uniforme como la que se muestra en la figura 3.3.
3.1. Iteración de bisección 141

Figura 3.3: Partición no uniforme del intervalo, con λ ∈ ]0, 1[.

Para este caso, el error puede ser acotado de la forma:

|ek | = |xk − ξ| ≤ máx{λ, 1 − λ}|bk−1 − ak−1 | ≤ . . . ≤ máx{λk , (1 − λ)k }(b0 − a0 ),

y nótese que para λ = 12 se tiene que |ek | ≤ 21k (b0 − a0 ), mientras que para λ = 1
3
se tiene que
k
|ek | ≤ 32 (b0 − a0 ). Además, x0 = (1 − λ)a0 + λb0 .

Ejemplo 3.4.
Considere el polinomio de Legendre de grado 5, dado por:
x
p5 (x) = (63x4 − 70x2 + 15).
8
1
p √
Este polinomio tiene un cero en ]0.6, 1[ dado por ξ = 21 245 + 14 70 ≈ 0.9061798459.
¿Cuántas iteraciones máximas se necesitan para aproximar este cero por el método de
bisección con una tolerancia de 10−10 ? Luego, utilice MATLAB para aproximar este cero.

Solución. Utilizando la expresión (3.1), se tiene que:


s  { s  {
b−a 1 − 0.6
iterMax = log2 + 1 = log2 + 1 = J31.8974K + 1 = 32.
tol 10−10

Así, las iteraciones máximas necesarias para aproximar el cero, por el método de bisección con
una tolerancia de 10−10 , es de al menos 32. Con ello, se cambia el archivo f.m, como se muestra:
% Función continua
function [y] = f( x )
y = ( 63*x^5 - 70*x^3 + 15*x ) / 8;
return

y al ejecutar el comando [x,k] = biseccion(0.6, 1, 1e-10, 40), se obtiene el re-


sultado:

x = k =

9.061798459384589e-001 32

Además al ejecutar las instrucciones:


142 Capítulo 3. Solución de ecuaciones por iteraciones

xi = sqrt( 245 + 14 * sqrt(70) ) / 21;


err = abs( xi - x )

se obtiene un error de 0.2051 × 10−12 < 10−10 . 

Ejercicios (sección 3.1)


♦ Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Considere las siguientes ecuaciones

i) cos(x) = x2 ii) ln(x) = x3 iii) x − 2−x = 0 iv) e−x = sec(x)

a) Determine gráficamente el número de soluciones que poseen cada ecuación.


b) Proporcione un intervalo que contenga cada solución y que sea adecuado para utilizar
el método de la bisección.
c) Dado el intervalo seleccionado en b) determine el número mínimo de iteraciones
necesarias para alcanzar la tolerancia 10−5 .

2. Verifique que las siguientes ecuaciones tienen al menos una solución en los intervalos
indicados.

a) ex = x2 , en I = [−1, 0].
b) x cos(x) − 2x2 + 3x − 1 = 0, en I1 = [0.2, 0.3] y en I2 = [1.2, 3.3].
c) (x − 2)2 − ln(x) = 0, en I1 = [1, 2] y en I2 = [e, 4].
d ) 2x cos(2x) − (x − 2)2 = 0, en I1 = [2, 3] y en I2 = [3, 4].
e) x − (ln(x))x = 0, en I = [4, 5].

3. Encuentre intervalos que garanticen, al menos, una solución para las siguientes ecuaciones

a) x − 3−x = 0 b) 4x2 = ex

4. Si se sabe que f tiene un cero en el intervalo I, determine el número de iteraciones


necesarias para calcular una aproximación del cero, para el cual se asegure una tolerancia
de ε en cada uno de los siguientes casos.

a) I = [−2, 4] y ε = 10−4 c) I = [0.2, 0.5] y ε = 10−10


b) I = [0, 6] y ε = 10−5 d ) I = [−1, 5] y ε = 10−3

5. Aplique la iteración de bisección a la ecuación sen(x) − 0.75 = 0 en el intervalo [0.8, 0.9]


y trate de determinar el cero actual con tres decimales correctos.

6. Encuentre una solución de la ecuación x = tan(x), en el intervalo I = [4, 4.5], para una
tolerancia de 10−3.
3.2. Iteración de punto fijo 143

7. Use el método de la bisección para encontrar una solución de las siguientes ecuaciones,
utilizando una tolerancia de 10−5 .

a) x = 2−x , en I = [0, 1].


b) ex − x2 = 2 − 3x, en I = [0, 1].
c) 2x cos(2x) − (x + 1)2 = 0, en I1 = [−3, −2] y en I2 = [−1, 0].
d ) x cos(x) + 3x = 2x2 − 1, en I1 = [0.2, 0.3] y en I2 = [1.2, 1.3].

8. Encuentre una aproximación para 3, con un error menor a 10−4 , utilizando el método
de la bisección. Sugerencia: plantee una ecuación que no involucre raíces, cuya solución

sea 3.

♦ Avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9. Demuestre que la ecuación dada por

ln(q) + eq = q 2 + cos(q)

tiene al menos una solución en el intervalo ]0, 1]. Utilice el método de bisección para
aproximar dicho cero con una tolerancia de 10−2 .

10. ¿Porqué el método de bisección no sirve para resolver la ecuación tan(x) = x en [1, 2],
con x en radianes?

11. Sea f una función continua definida en [0, 1], la cual tiene una única raíz α en ]0, 1[
y f (0)f (1) < 0. Diseñe un método iterativo para aproximar α, en el cual obtiene un
dígito de precisión en cada iteración. Sugerencia: considere la idea general del método
de bisección.

3.2. Iteración de punto fijo


Considere la función continua
1 1
f (x) = − ,
2 1 + M|x − 1.05|

graficada en la figura 3.4 en el intervalo cerrado [0.8, 1.8], para M = 200. Las soluciones de
la ecuación f (x) = 0 son ξ1 = 1.05 − M1 y ξ2 = 1.05 + M1 , es decir, que ambas soluciones
se encuentran a una distancia de M2 y con ello se puede apreciar que cuando M es grande,
ambos ceros tienden a ser el mismo, lo que provoca que localizar estas soluciones sea una tarea
computacionalmente costosa.
Por ejemplo, resolver por el método de bisección la ecuación f (x) = 0 en [0.8, 1.8] para M = 200
con tol = 10−10 y iterMax = 100, se obtiene para 34 iteraciones una aproximación x34 =
1.799999999970896. Sin embargo, |x34 − ξ1 | ≈ 0.75499 y |x34 − ξ2 | ≈ 0.74499. Es decir, que el
método de bisección no converge con un error de 10−10 como se esperaba. Parte de esto se debe
144 Capítulo 3. Solución de ecuaciones por iteraciones

1 1
Figura 3.4: Gráfica de f (x) = 2
− 1+200|x−1.05|
.

a que f (0.8) ≈ 0.48 y f (1.8) ≈ 0.49 no satisfacen la condición inicial f (0.8)f (1.8) < 0, lo cual
es díficil de obtener para esta ecuación ya que ambas soluciones están muy juntas.
Así, se debe encontrar una nueva condición de existencia para la solución de la ecuación f (x) = 0
dada por el teorema 3.1, para lo cual se requiere la siguiente definición.

Definición 3.3 (Punto fijo).


Dada ϕ una función definida en D ⊆ . Se dice que ξ ∈ D es punto fijo de ϕ si y sólo si
ϕ(ξ) = ξ.

Una condición suficiente alternativa para garantizar la existencia de la solución de f (x) = 0,


consiste en reescribir esta ecuación de la forma equivalente x−ϕ(x) = 0, donde ϕ es una función
real, definida y continua sobre [a, b]. La elección de ϕ y su relación con f será aclarada en los
ejemplos presentes en esta sección. Luego, encontrar una solución ξ ∈ [a, b] de f (x) = 0, es
equivalente a encontrar una solución para x − ϕ(x) = 0.

Teorema 3.2 (Punto fijo de Brouwer).


Suponga que ϕ es una función real, definida y continua sobre un intervalo cerrado [a, b] de
y ϕ(x) ∈ [a, b] para todo x ∈ [a, b]. Entonces existe ξ en [a, b], tal que ξ = ϕ(ξ).

Demostración. Considere g(x) = ϕ(x) − x, definida y continua sobre [a, b]. Como ϕ(a) ∈ [a, b]
entonces se tiene que g(a) = ϕ(a) − a ≥ 0 y de manera similar como ϕ(b) ∈ [a, b] entonces
g(b) = ϕ(b) − b ≤ 0. Por lo tanto, se cumple que g(a)g(b) ≤ 0 y por el teorema 3.1 existe
ξ ∈ [a, b] tal que g(ξ) = 0, es decir, ϕ(ξ) − ξ = 0, con lo que ξ es punto fijo de ϕ. 

En la figura 3.5 se muestra una función ϕ que posee tres puntos fijos en el intervalo [a, b].
Además, cualquier ecuación f (x) = 0 puede ser reescrita de la forma x = ϕ(x) tomando
3.2. Iteración de punto fijo 145

Figura 3.5: Puntos fijos de ϕ(x) sobre [a, b].

ϕ(x) = x + f (x), sin embargo, no hay garantía que esta nueva función cumpla las condiciones
del teorema 3.2, es decir, que cumpla que f (x) ∈ [a, b], para todo x ∈ [a, b]. Por esta razón se
consideran varias alternativas para transformar f (x) = 0 en x = ϕ(x), para luego encontrar la
que cumpla que ϕ sea continua sobre [a, b] y tal que ϕ(x) ∈ [a, b] para todo x ∈ [a, b].

Ejemplo 3.5.
Dada la ecuación ex −2x−1 = 0 para x ∈ [1, 2], encuentre ϕ(x) que cumpla las condiciones
del teorema 3.2.

Solución. Una forma de reescribir la ecuación ex −2x−1 = 0 de la forma equivalente ϕ(x) = x,


con ϕ continua sobre [1, 2], es dada por:
ex − 1
ex − 2x − 1 = 0 ⇒ ex − 1 = 2x ⇒ x = ,
2
es decir, se considera ϕ(x) = 12 (ex − 1). Nótese que ϕ(1) ≈ 0.8591 6∈ [1, 2], por lo que no se
cumplen las condiciones del teorema 3.2, con lo que se debe considerar otra forma para ϕ(x).
Así, realizando un despeje alternativo para x, dado por:

ex − 2x − 1 = 0 ⇒ ex = 2x + 1 ⇒ x = ln(2x + 1),

es decir ϕ(x) = ln(2x + 1), donde se tiene que ϕ(1) ≈ 1.0986 ∈ [1, 2] y ϕ(2) ≈ 1.6094 ∈ [1, 2],
luego, como ϕ(x) es creciente (la base del logaritmo es mayor a 1), entonces se cumple que
ϕ(x) ∈ [1, 2] para todo x ∈ [1, 2], lo cual satisface las condiciones del teorema 3.2 y con ello se
tiene la existencia de ξ ∈ [1, 2] punto fijo de ϕ, tal que f (ξ) = 0. 

Observación: Esta nueva forma de verificar la existencia para la solución de la ecuación f (x) =
0, al reescribirla de la forma ϕ(x) = x, también provee una nueva forma de construir una
146 Capítulo 3. Solución de ecuaciones por iteraciones

sucesión (xk ) que converge a ξ punto fijo ϕ, que a su vez es solución de f (x) = 0. Esta nueva
iteración se presenta a continuación.

Definición 3.4 (Iteración de punto fijo).


Suponga que ϕ es una función real, definida y continua sobre un intervalo cerrado [a, b] de
y asuma que ϕ(x) ∈ [a, b] para todo x ∈ [a, b]. Dado un valor cualquiera x0 ∈ [a, b], se
define la iteración por recursión

xk+1 = ϕ(xk ), para k = 0, 1, 2, . . . ,

conocida como la iteración de punto fijo o el método de aproximaciones sucesivas.

Ejemplo 3.6.
Considere la ecuación x = sen(x) y determine x5 , donde (xk ) es la iteración de punto fijo
y el valor inicial corresponde a x0 = 2.

Solución. Considerando ϕ(x) = sen(x), se tiene que:

x0 = 2,
x1 = ϕ(x0 ) = sen(2) ≈ 0.9092974268,
x2 = ϕ(x1 ) = sen(sen(2)) ≈ 0.7890723436,
x3 = ϕ(x2 ) = sen(sen(sen(2))) ≈ 0.7097000402,
x4 = ϕ(x3 ) = sen(sen(sen(sen(2)))) ≈ 0.6516062636,
x5 = ϕ(x4 ) = sen(sen(sen(sen(sen(2))))) ≈ 0.6064643449.

En la figura 3.6, se puede apreciar el seguimiento de la iteración. 

Figura 3.6: Ruta de la iteración de punto fijo para ϕ(x) = sen(x) con x0 = 2.
3.2. Iteración de punto fijo 147

Observación: Suponiendo que la iteración xk+1 = ϕ(xk ) converge, esta debe converger a un
punto fijo ξ de ϕ, como se muestra:
 
ξ = lı́m xk+1 = lı́m ϕ(xk ) = ϕ lı́m xk = ϕ(ξ),
k→+∞ k→+∞ k→+∞
| {z }
(∗)

sin embargo, nótese que la igualdad (∗) es consecuencia de la continuidad de ϕ.


Además, considerando una aproximación para el error ek = xk − ξ, dada por |ek | ≤ |xk − xk−1 |,
es decir, a la diferencia entre dos aproximaciones consecutivas, se puede apreciar la iteración
de punto fijo en el algoritmo 3.2.
Algoritmo 3.2: PuntoFijo.
Recibe: ϕ continua sobre [a, b], x0 ∈ [a, b] valor inicial, tol ∈ , iterMax ∈ .
Retorna: k número de iteraciones usadas y x punto fijo de ϕ en [a, b].

1 k←0
2 x ← x0
3 err ← tol + 1
4 Mientras que k < iterMax ∧ err ≥ tol hacer
5 x ← ϕ(x)
6 err ← |x − x0 |
7 x0 ← x
8 k ←k+1

Si se implementa este algoritmo en MATLAB y se ejecuta para ϕ(x) = sen(x), x0 = 2, tol =


10−6 y iterMax = 104 se obtiene una aproximación de 0.01816941 en la iteración 9080. Además,
para garantizar la convergencia de la iteración de punto fijo a un único punto fijo ξ, es necesaria
la siguiente definición.

Definición 3.5 (Contracción).


Suponga que ϕ es una función real, definida y continua sobre el intervalo cerrado [a, b]
de . Entonces, ϕ se dice una contracción sobre [a, b], si existe una constante L, con
0 < L < 1, tal que

|ϕ(x) − ϕ(y)| ≤ L|x − y|, para todo x, y ∈ [a, b]. (3.2)

Observación: El término “contracción” proviene del hecho de que cuando (3.2) cumple que
0 < L < 1, la distancia |ϕ(x) − ϕ(y)| entre las imágenes de x y y es más pequeña (al menos L1
veces) que la distancia |x − y| entre x y y. Además, de manera general, cuando L es un número
real positivo, la ecuación (3.2) es conocida como una condición de Lipschitz.
148 Capítulo 3. Solución de ecuaciones por iteraciones

Ejemplo 3.7.
Dada ϕ(x) = x2 − 4, se tiene que:

|ϕ(x) − ϕ(y)| = |x2 − 4 − (y 2 − 4)| = |x2 − y 2| = |(x + y)(x − y)|,


= |x + y| · |x − y| ≤ (|x| + |y|) · |x − y|.
 
Así, si se considera ϕ(x) sobre 0, 13 se tiene que 0 ≤ x, y ≤ 13 , con lo que:
 
1 1 2
|ϕ(x) − ϕ(y)| ≤ + · |x − y| = · |x − y|,
3 3 3
 
por lo tanto, ϕ(x) = x2 − 4 es una contracción sobre 0, 13 , con constante L = 23 .

Teorema 3.3 (Mapeo de contracción).


Sea ϕ una función real, definida y continua sobre un intervalo cerrado [a, b] de . Suponga
además que ϕ(x) ∈ [a, b] para todo x ∈ [a, b] y que ϕ es una contracción sobre [a, b].
Entonces, ϕ tiene un único punto fijo ξ en [a, b]. Además, la iteración de punto fijo xk =
ϕ(xk−1 ) converge a ξ cuando k tiende a +∞ para cualquier valor x0 en [a, b].

Demostración. La existencia de un punto fijo ξ de ϕ es consecuencia del teorema 3.2 de


Brouwer. Luego, para probar la unicidad de este punto fijo, suponga que ϕ tiene un segundo
punto fijo η ∈ [a, b], con lo que:

|ξ − η| = |ϕ(ξ) − ϕ(η)| ≤ L|ξ − η|,

es decir, (1 − L)|ξ − η| ≤ 0. Además, como 1 − L > 0, pues 0 < L < 1, entonces se tiene que
ξ = η, por lo que ϕ sólo tiene un punto fijo en [a, b].
Ahora, sea x0 cualquier elemento en [a, b] y considere la sucesión (xk ) definida por xk = ϕ(xk−1 ).
A continuación se probará que (xk ) converge al punto fijo ξ, para ello nótese que

|xk − ξ| = |ϕ(xk−1 ) − ϕ(ξ)| ≤ L|xk−1 − ξ|, para k ≥ 1,

de donde siguiendo esta recursión se deduce que

|xk − ξ| ≤ Lk |x0 − ξ|, para k ≥ 1. (3.3)

Como L ∈ ]0, 1[, entonces lı́m Lk = 0 y con ello se concluye que lı́m |xk − ξ| = 0. Por lo
k→+∞ k→+∞
tanto, la sucesión (xk ) converge a ξ. 

Observación: El teorema 3.3 expresa que basta que ϕ sea contracción para que la iteración
de punto fijo converja. Además, una forma simple de verificar si una función es contracción,
cuando esta es diferenciable, consiste en utilizar el teorema de valor medio (Teorema A.3 de la
página A.3), del cual se tiene el siguiente resultado.
3.2. Iteración de punto fijo 149

Teorema 3.4.
Suponga que ϕ es una función real, definida, continua y diferenciable sobre un intervalo
cerrado [a, b] de . Entonces, si |ϕ′ (x)| ≤ L para todo x ∈ [a, b], con L < 1, se cumple que
ϕ es una contracción sobre [a, b].

Demostración. Considere x, y ∈ [a, b] y suponga sin pérdida de generalidad que x ≤ y. Así,


por el teorema del valor medio, existe η ∈ ]x, y[ tal que

ϕ(x) − ϕ(y) = ϕ′ (η)(x − y).

Luego, ya que |ϕ′ (z)| ≤ L para todo z ∈ [a, b], se cumple que

|ϕ(x) − ϕ(y)| = |ϕ′ (η)| · |x − y| ≤ L|x − y|. (3.4)

Finalmente, como L < 1, la expresión (3.4) satisface la condición (3.2), por lo tanto se tiene
que ϕ es una contracción sobre [a, b]. 

Observación: Las condiciones ϕ : [a, b] → [a, b] y ϕ′ ∈ C[a, b] garantizan la existencia del


punto fijo. Mientras que la condición |ϕ′ (x)| ≤ L < 1 garantiza la unicidad del punto fijo. Por
otro lado, el recíproco del teorema anterior es falso, ya que es posible tener una función que sea
una contracción, pero que no sea diferenciable en [a, b]. Por ejemplo, considere ϕ(x) = 21 |x|, la
cual es una contracción con constante L = 12 , pero no es diferenciable en [−1, 1].

Ejemplo 3.8.
En el ejemplo 3.5 se obtuvo la función ϕ(x) = ln(2x + 1), para ex − 2x − 1 = 0 sobre [1, 2].
Pruebe que ϕ una contracción sobre [1, 2] y por lo tanto la iteración de punto fijo converge
para cualquier x0 ∈ [1, 2].

Solución. Nótese que

2 −4
ϕ′ (x) = y ϕ′′ (x) = .
2x + 1 (2x + 1)2

Como ϕ′′ (x) < 0 para todo x ∈ [1, 2], entonces ϕ′ es decreciente sobre [1, 2]. Luego, se puede
 
apreciar que ϕ′ (1) ≥ ϕ′ (x) ≥ ϕ′ (2), con lo que ϕ′ (x) ∈ 25 , 23 para todo x ∈ [1, 2], es decir que
ϕ′ (x) ≤ 32 < 1 para todo x ∈ [1, 2]. Así, por el teorema anterior ϕ es una contracción sobre [1, 2]
con L = 32 . Por lo tanto, por el teorema 3.3 se tiene que la iteración de punto fijo converge a
un único punto fijo, para cualquier x0 ∈ [1, 2].
Finalmente, en la tabla 3.2 se muestran los resultados obtenidos al resolver la ecuación f (x) =
ex − 2x − 1 = 0 con la iteración de punto fijo, para x0 = 1, tol = 5 × 10−5 y iterMax = 50. De
ella, se puede apreciar que ξ ≈ 1.2563. 
150 Capítulo 3. Solución de ecuaciones por iteraciones

k xk ϕ(xk ) |xk − xk−1 | k xk ϕ(xk ) |xk − xk−1 |


0 1.000000 1.098612 1.000050 8 1.253018 1.254486 0.002571
1 1.098612 1.162283 0.098612 9 1.254486 1.255323 0.001467
2 1.162283 1.201339 0.063670 10 1.255323 1.255800 0.000837
3 1.201339 1.224562 0.039056 11 1.255800 1.256071 0.000476
4 1.224562 1.238120 0.023223 12 1.256071 1.256226 0.000271
5 1.238120 1.245951 0.013557 13 1.256226 1.256314 0.000154
6 1.245951 1.250446 0.007830 14 1.256314 1.256364 0.000088
7 1.250446 1.253018 0.004495 15 1.256364 1.256393 0.000050

Tabla 3.2: Iteración de punto fijo para ϕ(x) = ln(2x + 1) sobre [1, 2].

Teorema 3.5.
Considere la iteración de punto fijo xk = ϕ(xk−1 ), donde ϕ satisface las hipótesis del
teorema 3.3 sobre [a, b]. Dado x0 ∈ [a, b] y una tolerancia tol > 0, entonces el número de
iteraciones máximas puede ser considerado como:
s {
ln (tol(1 − L)) − ln |x1 − x0 |
iterMax = + 1.
ln(L)

Demostración. De la ecuación (3.3) se tiene que:

|xk − ξ| ≤ Lk |x0 − ξ|, para k ≥ 1.

Utilizando este resultado para k = 1, se obtiene que:

|x0 − ξ| = |x0 − x1 + x1 − ξ| ≤ |x0 − x1 | + |x1 − ξ| ≤ |x0 − x1 | + L|x0 − ξ|,

por lo que se tiene que:


1
|x0 − ξ| ≤ |x1 − x0 |.
1−L
Luego, sustituyendo este resultado en (3.3), se obtiene que:

Lk
|xk − ξ| ≤ |x1 − x0 |.
1−L

Así, dado que |ek | = |xk − ξ| < tol, entonces se puede tomar

Lk
|x1 − x0 | < tol.
1−L
Finalmente, al tomar el logaritmo natural a ambos lados de la desigualdad, teniendo el cuenta
que ln(L) < 0, se obtiene que

ln (tol(1 − L)) − ln |x1 − x0 |


k > .
ln(L)
3.2. Iteración de punto fijo 151

Por lo que, el menor entero que satisface que |ek | = |xk − ξ| < tol y por lo tanto, el menor valor
a considerar como iteraciones máximas es dado por
s {
ln (tol(1 − L)) − ln |x1 − x0 |
iterMax = + 1.
ln(L)


Ejemplo 3.9.
Considerando nuevamente los ejemplos 3.5 y 3.8. Determine el número máximo de itera-
ciones, para que con el valor inicial x0 = 1, la última iteración sea calcula con seis dígitos
correctos.

Solución. Como se desean seis dígitos correctos, entonces basta tomar tol = 12 × 10−6 . Además,
ya que L = 32 , por el teorema anterior se puede tomar que iterMax = J32.778918K + 1 = 33.
Así, utilizando esta tolerancia y número máximo de iteraciones, se obtiene x24 = 1.256431, la
cual posee seis dígitos correctos. 

Ejercicios (sección 3.2)


♦ Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Muestre que las siguientes funciones tienen un punto fijo en ξ, exactamente cuando f (ξ) =
0. donde f (x) = x4 + 2x2 − x − 3.
r r
x + 3 − x4 x+3 3x4 + 2x2 + 3
a) ϕ1 (x) = b) ϕ2 (x) = c) ϕ3 (x) =
2 x2 + 2 4x3 + 4x − 1

2. Efectúe cuatro iteraciones del método de punto fijo a las funciones del ejercicio anterior,
para x0 = 1, siempre que sea posible hacerlo.

3. Utilice la iteración de punto fijo para determinar una solución para x4 − 3x2 − 3 = 0 en
[1, 2]. Utilice x0 = 1 y una tolerancia de 10−2 .

4. La ecuación
f (x) = x3 + 2x2 + 10x − 20 = 0
tiene una solución en ξ = 1.368808107. Reescriba esta ecuación en la forma equivalente:
20
x = ,
x2 + 2x + 10
y aplique la iteración de punto fijo, con el valor inicial x0 = 1, para determinar las primeras
tres aproximación de ξ.

5. Para cada una de las siguientes ecuaciones determine un intervalo [a, b] en el que conver-
gerá la iteración de punto fijo. Estime la cantidad de iteraciones necesarias para obtener
aproximaciones con una exactitud de 10−4 y realice los cálculos.
152 Capítulo 3. Solución de ecuaciones por iteraciones

a) x2 + 10 cos(x) = 0 c) x − 3−x = 0
b) 10−4 cos(x) = tan(x) d ) 2x − sen(x) = cos(x)

6. A continuación se proponen tres iteraciones de punto fijo para calcular α.
α 1 α
a) x = x2 + x − α b) x = c) x = x+
x 2 x

Sustituya el valor de α por un número real y determine con cuál de las tres iteraciones se
obtiene una mejor aproximación.

7. Considere la función f (x) = x2 + 10 cos(x), la cual posee dos raíces positivas 3.1619 y
1.9688.

a) Encuentre la o las funciones auxiliares que satisfaga en un intervalo adecuado las


condiciones del teorema de punto fijo de Brouwer.
b) ¿Cuántas iteraciones de punto fijo se necesitan para obtener una aproximación con
una tolerancia de 10−4 ?

♦ De programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8. La iteración de punto fijo determina el siguiente valor xk+1 de la forma xk+1 = ϕ(xk ).
Ahora considere una variante de la la forma:


 v1 = xk ,

 v2 = ϕ(v1 ),

v3 = ϕ(v2 ),



 (v2 − v1 )2
 xk+1 = v1 − ,
(v3 − 2v2 + v1 )

conocida como la iteración de Steffensen.

a) Implemente en MATLAB la iteración de Steffensen.


b) Realice experimentos numéricos que le permitan comparar la velocidad de la iteración
de punto fijo, con la velocidad de la iteración de Steffensen.

♦ Avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9. Puede verificarse gráficamente que la función f (x) = x3 + 4x2 − 10 admite un único cero
real α. Para encontrar α utilice la siguiente iteración de punto fijo:

2(xk )3 + 4(xk )2 + 10
xk+1 = , para k ≥ 0.
3(xk )2 + 8xk

a) Determine un intervalo adecuado y un valor x0 apropiado.


b) Con las elecciones hechas en a), determine el número de iteraciones necesarias para
alcanzar una aproximación con tolerancia 10−4.
3.2. Iteración de punto fijo 153

c) Con las consideraciones hechas en a) y en b), determine la aproximación de α.

10. Considere la siguiente iteración de punto fijo

xk [(xk )2 + 3α]
xk+1 = , para k ≥ 0.
3(xk )2 + α

Verifique que la misma puede ser utilizada para calcular la raíz cuadrada de un número
positivo.

11. Considere la función g(x) = 12 x + α


2x
, con α entero positivo.

a) Verifique que satisface las condiciones de punto fijo siempre que x0 > α.

b) Verifique que converge a α, siempre que x0 > 0.

12. Si f satisface la condición de Lipschitz

|ϕ(x) − ϕ(y)| ≤ L|x − y|,

para todo x, y ∈ [a, b] y L > 0. Entonces f es una función continua en [a, b].

13. En el teorema 3.4, suponga que en vez de la condición

|ϕ′ (x)| ≤ L < 1, para todo x ∈ [a, b]

solamente se supone que |ϕ′ (x)| < 1 para todo x ∈ [a, b].

a) ¿Todavía puede garantizarse la existencia del punto fijo? Demuéstrelo o dé un con-


traejemplo.
b) ¿Todavía puede garantizarse la unicidad del punto fijo (si existe)? Demuéstrelo o dé
un contraejemplo.

14. Considere la ecuación


2x − αx2 = x, donde α > 0.
Describa un método iterativo para aproximar α−1 , el cual utiliza solamente, restas y
multiplicaciones como operaciones. Determine ¿para qué valores iniciales su algoritmo
converge hacia α−1 ?

15. La iteración definida por xk+1 = 12 (x2k + c), donde 0 < c < 1, tiene dos puntos fijos ξ1 y
ξ2 , donde 0 < ξ1 < 1 < ξ2 . Muestre que
1
xk+1 − ξ1 = (xk + ξ1 )(xk − ξ1 ), para 0, 1, 2, . . . ,
2
y deduzca que lı́m xk = ξ1 , si 0 ≤ x0 < ξ2 . ¿Cómo se comporta esta iteración para otros
k→+∞
valores de x0 ?
154 Capítulo 3. Solución de ecuaciones por iteraciones

16. Discuta la dinámica de las iteraciones de punto fijo


√ 1
a) xk+1 = 2 + xk b) xk+1 =
1 + xk

para ello, determine valores de x0 con los cuales la sucesión (xk ) diverja y converja. En
cada caso de que converja, determine su límite.

17. Para todo t ∈ [−1, 1] considere la sucesión (pn (t)) obtenida a partir del método de punto
fijo:

p0 (t) = 0,
pn+1 (t) = pn (t) + 21 (t2 − p2n (t)) .
Muestre que la sucesión (pn (t)) converge para todo t ∈ [−1, 1]. Determine el valor de este
límite en función de t.

18. Para la iteración de punto fijo xk+1 = ϕ(xk ), se dice que ξ es un punto fijo estable de ϕ,
si (xk ) converge a ξ para cualquier valor inicial x0 suficientemente cerca de ξ. De manera
contraria, si (xk ) no converge a ξ para todo x0 cercano a ξ, con x0 6= ξ, se dice que ξ es
un punto fijo inestable de ϕ.

a) Muestre que f (x) = −x sen2 x1 para 0 < x ≤ 1 con f (0) = 0, es una función
continua en [0, 1] y que 0 es el único punto fijo de f en [0, 1].
b) Muestre que 0 no es punto fijo estable pero tampoco es un punto inestable.

3.3. Iteración de Newton


Considere la ecuación f (x) = 0 y λ ∈ − {0}, entonces

f (x) = 0 ⇒ −λf (x) = 0 ⇒ x − λf (x) = x,

define una iteración de punto fijo con ϕ(x) = x−λf (x). La constante λ se le denomina relajación
y tiene por objetivo mejorar la eficiencia del método iterativo. Además, esta constante puede
ser generalizada a una función λ(x) continua que no se anule.

Definición 3.6 (Iteración de relajación).


Suponga que f es una función real, definida y continua en un vecindario de ξ ∈ . Una
iteración de relajación se define como

xk+1 = xk − λ(xk )f (xk ), para k = 0, 1, 2, . . . ,

donde λ(x) 6= 0 es una función continua en el vecindario de ξ y x0 es un valor cercano a ξ.


3.3. Iteración de Newton 155

Nótese que al ser una iteración de relajación una iteración de punto fijo con ϕ(x) = x−λ(x)f (x),
se tiene que si (xk ) converge a ξ, entonces ξ es solución de la ecuación f (x) = 0, excepto cuando
λ(ξ) = 0. Además, para garantizar la convergencia, se requiere que ϕ(x) sea una contracción
en un vecindario de ξ, lo cual es simple de verificar si f y λ son diferenciables. Así, considere
la derivada de ϕ dada por:

ϕ′ (x) = 1 − λ′ (x)f (x) − λ(x)f ′ (x),

donde ϕ′ (ξ) = 1 − λ(ξ)f ′(ξ) y como ϕ′ es continua en [ξ − h, ξ + h], para algún h > 0, entonces
suponiendo que |ϕ′ (ξ)| < 1, se puede encontrar Iδ = [ξ − δ, ξ + δ] con 0 < δ ≤ h, tal que
|ϕ′ (x)| ≤ L en Iδ , donde L = 21 (1 + |ϕ′ (ξ)|) < 1. Para probarlo considere la definición de
continuidad de ϕ′ en ξ y tome ε = 21 (1 − |ϕ′ (ξ)|) para obtener δ ≤ h. Con ello, ϕ(x) es una
contracción en un vecindario de ξ si ϕ′ (ξ) = 1 − λ(ξ)f ′ (ξ) es pequeño, por lo que una elección
simple corresponde a tomar λ(x) = f ′1(x) , la cual deduce la iteración para el método de Newton.

Definición 3.7 (Iteración de Newton).


La iteración de Newton o iteración de Newton-Raphson para aproximar la solución
de f (x) = 0 es dada por

f (xk )
xk+1 = xk − , para k = 0, 1, 2, . . . ,
f ′ (xk )

con f ′ (xk ) 6= 0 para todo k ≥ 0 y x0 algún valor inicial.

Newton introdujo la idea del método en “De analysi per aecquationes numero terminorum
infinitas (1666-1669)” para resolver la ecuación f (x) = y 3 − 2y − 5 = 0, mientras que Raphson
posteriormente tomó la idea utilizada por Newton, la convirtió en un algoritmo y lo presentó
en “Analysis Aequationum Universalis (1690)”.
Además, la iteración de Newton tiene una interpretación geométrica ilustrada en la figura 3.7,
donde la tangente a la curva y = f (x) en el punto (xk , f (xk )) es la recta con ecuación

y − f (xk ) = f ′ (xk )(x − xk ).

Así, para localizar donde esta recta interseca al eje x, basta tomar y = 0, de donde se obtiene
f (xk )
−f (xk ) = f ′ (xk )(x − xk ) ⇒ x = xk − ,
f ′ (xk )
por lo que interseca al eje x en el punto (xk+1 , 0).

Ejemplo 3.10.
 
Considere la ecuación cos2 (2x) = x2 , la cual posee un cero en 0, 32 . Tomando x0 = 34 ,
determine el valor de x4 de la iteración de Newton.

Solución. Dado que f (x) = cos2 (2x) − x2 y f ′ (x) = −2 sen(4x) − 2x, entonces se tiene que:
156 Capítulo 3. Solución de ecuaciones por iteraciones

Figura 3.7: Iteración de Newton.

f (x0 ) f (x2 )
x1 = x0 − ≈ 0.4371935074 x3 = x2 − ≈ 0.5149332479
f ′ (x0 ) f ′ (x2 )
f (x1 ) f (x3 )
x2 = x1 − ≈ 0.5147024678 x4 = x3 − ≈ 0.5149332646
f ′ (x1 ) f ′ (x3 )

Por lo tanto, x4 = 0.5149332646, la cual es una buena aproximación a la solución dada por
ξ = 0.51493326466113 . . .. Además en la figura 3.8 se presenta el recorrido de la iteración. 

Figura 3.8: Iteración de Newton para f (x) = cos2 (2x) − x2 con x0 = 43 .


3.3. Iteración de Newton 157

Ejemplo 3.11.
Considere cos(x) = x3 y aplique cuatro iteraciones del método de Newton para aproximar
una solución de esta ecuación, utilice x0 = 12 , cuatro cifras significativas y truncamiento.

Solución. Para resolver la ecuación cos(x) = x3 , se considera f (x) = cos(x) − x3 y f ′ (x) =


− sen(x) − 3x2 . Con ello, el método de Newton se define como:

 x0 = 0.5000,
cos(xk ) − x3k
 xk+1 = xk + , para k ≥ 0.
sen(xk ) + 3x2k
Luego, efectuando cuatro iteraciones, se obtiene
 
cos(0.5) − (0.5)3
x1 = f l 0.5 + = 0.1112 × 101
sen(0.5) + 3(0.5)2
 
cos(1.112) − (1.112)3
x2 = f l 1.112 + 2
= 0.9096 × 100
sen(1.112) + 3(1.112)
 
cos(0.9096) − (0.9096)3
x3 = f l 0.9096 + = 0.8672 × 100
sen(0.9096) + 3(0.9096)2
 
cos(0.8672) − (0.8672)3
x4 = f l 0.8672 + = 0.8654 × 100
sen(0.8672) + 3(0.8672)2

Por lo tanto, una aproximación para la solución de la ecuación cos(x) = x3 , con 4 cifras
significativas y truncamiento corresponde a ξ ≈ 0.8654. 

Observación: Con respecto a la condición de parada de la iteración de Newton, se puede


considerar el error absoluto o el error relativo de una aproximación con la siguiente, es decir
xk − xk−1
ek = xk − xk−1 o ek = .
xk
Con alguno de estos estimados de error, preferiblemente el error relativo, se puede considerar
el pseudocódigo del método de Newton en el algoritmo 3.3.

Ejemplo 3.12.
Considere la ecuación tan(π − x) = x y utilice MATLAB para aproximar una solución de
ella, con una tolerancia de tol = 10−8 y el valor inicial x0 = 4.

Solución. Sea f (x) = tan(π − x) − x y f ′ (x) = − sec2 (π − x) − 1, con lo que se pueden


implementar en MATLAB estas funciones, tal y como se muestra:
% Función f(x)
function [y] = f( x )
y = tan( pi - x ) - x;
return
158 Capítulo 3. Solución de ecuaciones por iteraciones

Algoritmo 3.3: Newton.


Recibe: f continua, f ′ continua, x0 valor inicial, tol ∈ , iterMax ∈ .
Retorna: k número de iteraciones usadas y x aproximación de la solución de f (x) = 0.

1 k←0
2 x ← x0
3 err ← tol + 1
4 Mientras que k < iterMax ∧ err ≥ tol hacer
5 q ← f ′ (x)
6 Si q = 0 entonces
7 Imprimir: ¡Se anula la derivada!
8 Detener
f (x)
x←x−
9 q
|x − x0 |
err ←
10 |x|
11 x0 ← x
12 k ←k+1

% Derivada de la función f(x)


function [y] = df( x )
y = -sec( pi - x )^2 - 1;
return

Así, en la octava iteración el algoritmo se detiene con una aproximación de 2.0287578. 

Teorema 3.6 (Convergencia de la iteración de Newton).


Suponga que f es una función real, continua y con segunda derivada f ′′ continua, definida
en el intervalo cerrado Iδ = [ξ − δ, ξ + δ], con δ > 0, tal que f (ξ) = 0 y f ′′ (ξ) 6= 0. Suponga
además que existe un número real A > 0 tal que

|f ′′(x)|
≤ A, para todo x, y ∈ Iδ . (3.5)
|f ′(y)|

Si |ξ − x0 | ≤ mı́n δ, A1 , entonces la iteración de Newton converge a ξ.

Demostración. Suponga que |ξ − xk | ≤ mı́n δ, A1 , entonces se tiene que xk ∈ Iδ . Además,
realizando la expansión de Taylor para f alrededor de ξ, se tiene que
(ξ − xk )2 ′′
0 = f (ξ) = f (xk ) + (ξ − xk )f ′ (xk ) + f (ζk ),
2
para algún ζk entre ξ y xk . Luego, de la ecuación anterior se obtiene que
f ′′ (ζk )
ξ − xk+1 = −(ξ − xk )2 . (3.6)
2f ′(xk )
3.3. Iteración de Newton 159

1
Luego, como |ξ − xk | ≤ A
y por (3.5) se cumple que:
′′
′′

f (ζ k ) 1 f (ζ k )
|ξ − xk+1 | = (ξ − xk )(ξ − xk ) ′ ≤ (ξ − xk ) ,
2f (xk ) A 2f ′ (xk )
′′
1 f (ζk )
≤ 1 |ξ − xk |.
= |ξ − xk | ′
2A f (xk ) 2

Ahora, como |ξ − xk+1 | ≤ 12 |ξ − xk | y |ξ − x0 | ≤ mı́n δ, A1 , aplicando inducción se obtiene

|ξ − x0 | ≤ 2−k mı́n δ, A1 , para todo k ≥ 0. Por lo tanto, (xk ) converge a ξ cuando k → +∞. 

Observación: Observe que a diferencia de los métodos anteriores, la iteración de Newton no


converge para cualquier valor de x0 dado.

3.3.1. Método de la secante

La iteración o método de Newton resuelve la ecuación f (x) = 0, considerando la primera


derivada de f . Sin embargo, muchas de las ecuaciones contienen funciones no diferenciables,
además, que en la práctica, determinar f ′ conlleva a un alto costo computacional. Por esta razón
es intuitivo tratar de conseguir una aproximación para f ′ y con ella considerar la iteración de
Newton con esa aproximación. A estos métodos se les conoce como métodos cuasi-Newtons.
Así, por ejemplo, para obtener una aproximación para f ′ , considere la expansión de Taylor
(Teorema A.5 de la página 524) para f alrededor de xk , de donde se obtiene que:

(x − xk )2 ′′
f (x) = f (xk ) + (x − xk )f ′ (xk ) + f (ζk ),
2

luego, eliminando el residuo de la expansión se tiene que:

f (x) ≈ f (xk ) + (x − xk )f ′ (xk ),

donde sustituyendo en x = xk−1 , nótese que:

f (xk−1 ) ≈ f (xk ) + (xk−1 − xk )f ′ (xk ), (3.7)



f (xk−1 ) − f (xk ) ≈ (xk−1 − xk )f (xk ), (3.8)
f (xk ) − f (xk−1)
≈ f ′ (xk ). (3.9)
xk − xk−1

Es decir, el valor de f ′ (xk ) puede ser aproximado por medio de la pendiente de la recta que
pasa por los puntos (xk−1 , f (xk−1)) y (xk , f (xk )), lo cual transforma la iteración de punto fijo
xk+1 = ϕ(xk ) en una nueva iteración que depende de las dos aproximaciones anteriores, es decir,
xk+1 = ϕ(xk , xk−1 ), lo que introduce la iteración para el método de la secante.
160 Capítulo 3. Solución de ecuaciones por iteraciones

Definición 3.8 (Iteración de la secante).


La iteración de la secante se define como
 
xk − xk−1
xk+1 = xk − f (xk ), para k = 1, 2, . . . ,
f (xk ) − f (xk−1)

donde x0 y x1 son los valores iniciales y se asume que f (xk ) −f (xk−1 ) 6= 0 para todo k ≥ 1.

La iteración o método de la secante se ilustra en la figura 3.9, donde la nueva iteración xk+1 es
obtenida de xk−1 y xk al trazar el segmento que une los puntos (xk−1 , f (xk−1)) y (xk , f (xk )).
Luego, xk+1 corresponde al punto donde el segmento interseca al eje x. Si xk−1 y xk están muy
cercanos y f es diferenciable, xk+1 es aproximadamente el mismo resultado retornado por la
iteración de Newton.

Figura 3.9: Iteración de la secante.

Ejemplo 3.13.
2
Considere la ecuación e−x = x y utilice el método de la secante para aproximar una
solución de esta ecuación, con error relativo (similar a Newton) menor a tol = 10−3 y
valores iniciales de x0 = 0 y x1 = 1.

−x2 xk −xk−1
Solución. Sea f (x) = e − x y |ek | = xk , con lo que:

 
x1 − x0 x2 − x1
= 0.632120 6< 10−3
x2 = x1 − f (x1 ) ≈ 0.612699 y |e2 | ≈

f (x1 ) − f (x0 ) x2
 
x2 − x1 x3 − x2
= 0.062350 6< 10−3
x3 = x2 − f (x2 ) ≈ 0.653442 y |e3 | ≈

f (x2 ) − f (x1 ) x3
3.3. Iteración de Newton 161
 
x3 − x2 x4 − x3
= 0.000804 < 10−3
x4 = x3 − f (x3 ) ≈ 0.652917 y |e4 | ≈
f (x3 ) − f (x2 ) x4
2
Por lo tanto, una aproximación a la solución de la ecuación e−x = x, es dada por 0.652917. 

A continuación se presenta el pseudocódigo del método de la secante, así como el resultado que
describe la convergencia de su iteración.

Algoritmo 3.4: Secante.


Recibe: f continua, x0 y x1 valores iniciales, tol ∈ , iterMax ∈ .
Retorna: k número de iteraciones usadas y x aproximación de la solución de f (x) = 0.

1 k←1
2 err ← tol + 1
3 Mientras que k < iterMax ∧ err ≥ tol hacer
4 q ← f (x1 ) − f (x0 )
5 Si q = 0 entonces
6 Imprimir: ¡Pendiente indefinida!
7 Detener
8 t ← x1
x1 − x0
x1 ← x1 − f (x1 )
9 q
10 x0 ← t
|x1 − x0 |
err ←
11 |x1 |
12 k ←k+1
13 x ← x1

Teorema 3.7 (Convergencia de la iteración de la secante).


Suponga que f es una función real, definida, continua y con primera derivada continua
sobre un intervalo I = [ξ − h, ξ + h], con h > 0. Suponga además que f (ξ) = 0 y f ′ (ξ) 6= 0,
entonces la iteración (xk ) de la secante converge a ξ, para x0 y x1 suficientemente cercanos
a ξ.

Demostración. Considere f ′ (ξ) = α 6= 0 y sin pérdida de generalidad α > 0. Luego, como f ′


es continua sobre I, considere ε > 0, por lo que existe Iδ = [ξ − δ, ξ + δ], con 0 < δ ≤ h, tal que

|f ′(x) − α| < ε, para x ∈ Iδ .

Tomando ε = 41 α, se obtiene que:


3 5
0 < α < f ′ (x) < α, para x ∈ Iδ .
4 4
Luego, por el teorema del valor medio (Teorema A.3 de la página A.3), se tiene que:
162 Capítulo 3. Solución de ecuaciones por iteraciones

f (xk ) − f (xk−1 ) = f ′ (ηk )(xk − xk−1 ), para ηk entre xk y xk−1 ,

f (xk ) − f (ξ) = f ′ (ζk )(xk − ξ), para ζk entre xk y ξ.

Así, como f (ξ) = 0, entonces la iteración de la secante puede ser reescrita como:
 
xk − xk−1
xk+1 = xk − f (xk ),
f (xk ) − f (xk−1 )
  
xk − xk−1 ′
xk+1 = xk − f (ζ k )(xk − ξ) ,
f ′ (ηk )(xk − xk−1 )
(xk − ξ)f ′ (ζk )
xk+1 = xk − ,
f ′ (ηk )
(xk − ξ)f ′(ζk )
ξ − xk+1 = ξ − xk + .
f ′ (ηk )

Ya que xk , xk−1 ∈ Iδ , entonces ηk , ζk ∈ Iδ , por lo tanto


5
α 2
|ξ − xk+1 | ≤ |ξ − xk | 1 − 43 = |ξ − xk |,

4
α 3

2 k
es decir, que |ξ − xk+1 | ≤ 3
|ξ − x1 |, por lo que la sucesión (xk ) converge a ξ. 

3.3.2. Método de la posición falsa

El método de la posición falsa o método de regula falsi, consiste en una variante del método de
la secante, donde en lugar de calcular la pendiente con los puntos (xk , f (xk )) y (xk−1 , f (xk−1 )),
se eligen los puntos (xk , f (xk )) y (xσ , f (xσ )), siendo σ ∈ {0, 1, . . . , k − 1} el índice menor que, al
igual que bisección, cumple que f (xk )f (xσ ) < 0. Es decir, este método combina la iteración de
bisección con la de la secante, con el fin de acelerar la convergencia. De esta manera, el método
de la posición falsa se ilustra en la figura 3.10 y su pseudocódigo se presenta en el algoritmo
3.5.

Ejemplo 3.14.
Considere cos(x) = x y utilice el método de la posición falsa para aproximar una solución
de esta ecuación, con una tolerancia de tol = 10−3 y valores iniciales de x0 = 12 y x1 = π4 .


Solución. Sea f (x) = cos(x) − x y |ek | = xk −x
k−1
xk , con lo que:

 
x2 − x1
x2 = x1 − x1 −x0
f (x1 ) = 0.736384 y |e2 | =
f (x1 )−f (x0 )
6 10−3 . Luego,
= 0.06656 <
x2
f (x0 ) > 0, f (x1 ) < 0 y f (x2 ) > 0, por lo que σ = 1
3.3. Iteración de Newton 163

Figura 3.10: Iteración de la posición falsa.

Algoritmo 3.5: PosiciónFalsa.


Recibe: f continua, x0 y x1 valores iniciales, tol ∈ , iterMax ∈ . !
Retorna: k número de iteraciones usadas y x aproximación de la solución de f (x) = 0.

1 k←1
2 err ← tol + 1
3 Mientras que k < iterMax ∧ err ≥ tol hacer
4 q ← f (x1 ) − f (x0 )
5 Si q = 0 entonces
6 Imprimir: ¡Pendiente indefinida!
7 Detener
8 t ← x1
x1 − x0
x1 ← x1 − f (x1 )
9 q
|x1 − t|
err ←
10 |x1 |
11 Si f (x1 )f (t) < 0 entonces
12 x0 ← t
13 k ←k+1
14 x ← x1

 
x3 − x2
x3 = x2 − x2 −x1
f (x2 ) = 0.739058 y |e3 | = = 0.00361811 6< 10−3 Luego,
f (x2 )−f (x1 )
x3
f (x1 ) < 0, f (x2 ) > 0 y f (x3 ) > 0, por lo que σ = 1
 
x4 − x3
x3 −x1
x4 = x3 − f (x3 )−f (x1 ) f (x3 ) = 0.739084 y |e4 | = = 0.0000361590 < 10−3
x4
164 Capítulo 3. Solución de ecuaciones por iteraciones

Por lo tanto, una aproximación a la solución de la ecuación cos(x) = x, es dada por 0.739084.
Además, si se utiliza MATLAB con tol = 10−12 , se obtienen los resultados de la tabla 3.3. 

xk −xσ
k xk f (xk ) xk
0 0.500000000000 0.377582561890 × 100 −
1 0.785398163397 −0.782913822109 × 10−1 −
2 0.736384138836 0.451771852217 × 10−2 0.665604023442 × 10−1
3 0.739058139213 0.451772159637 × 10−4 0.361811911056 × 10−2
4 0.739084863814 0.450871808332 × 10−6 0.361590422541 × 10−4
5 0.739085130526 0.449964276949 × 10−8 0.360867588886 × 10−6
6 0.739085133188 0.449059678331 × 10−10 0.360141196605 × 10−8
7 0.739085133214 0.448086012738 × 10−12 0.359416960908 × 10−10
8 0.739085133215 0.455191440096 × 10−14 0.358565237031 × 10−12

Tabla 3.3: Método de la posición falsa para f (x) = cos(x) con tol = 10−12 .

Observación: Las condiciones y demostración de la convergencia de la iteración de la posición


falsa, son análogas a la de la iteración de la secante. Ya que del algoritmo 3.5 se puede apreciar
que si nunca se cumple la condición del cambio de signo de la línea 11, entonces este método
corresponde al de la secante.

Ejercicios (sección 3.3)


♦ Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Para la función en el siguiente gráfico:

Construya un cuadro,

Método Ventajas Desventajas


.. .. ..
. . .

donde se compare, en términos geométricos, las ventajas y desventajas de tres nuevas


iteraciones de: (i) bisección en [a, b], (ii) secante con [x0 , x1 ] = [a, b] y (iii) Newton con
x0 = c.
3.3. Iteración de Newton 165

2. Utilice el método de Newton para calcular una aproximación de la solución de la ecuación


x6 = x + 1, en el intervalo [1, 2], con un error relativo de 10−4 .

3. Verifique que
√ 1 1 1
2 ≈ 1+ − − .
2 12 408
Sugerencia: utilice tres iteraciones de Newton, para resolver la ecuación x2 = 2.

4. Utilice el método de Newton para calcular una aproximación de la solución de la ecuación


cos(x) = −x3 , utilizando cinco iteraciones y con valor inicial x0 = 3. ¿Se puede utilizar
x0 = 0 como aproximación inicial?

5. Utilice el método de Newton para calcular una aproximación de la solución de la ecuación

1 x2 cos(2x)
0 = + − x sen(x) − ,
2 4 2
π
con la aproximación inicial x0 = 2
y con un error relativo menor a 10−5 .

6. La suma de dos números es 20. Si a cada número se le suma su raíz cuadrada, entonces
el producto de estos dos nuevos números es 155.55. Determine estos dos números, con un
error relativo menor a 10−4.

7. La función f (x) = ex − 2x2 posee tres ceros: x1 < 0, x2 > 0 y x3 > 0. Determine un valor
apropiado para x0 , con el cual la iteración de Newton converja a la raíz negativa.

8. Aplique el método de Newton para calcular el cero de la función f (x) = x3 − 3x2 2−x +
3x4−x − 8−x en el intervalo [0, 1].

9. Un proyectil es lanzado con una velocidad inicial v0 y con una inclinación αqen un túnel
2gh
de altura h, obtiene su máximo alcance cuando α es tal que sen(α) = v2
, donde
0
g = 9.8m/s2 corresponde a la aceleración de la gravedad. Calcule el valor de α usando el
método de Newton, cuando v0 = 10m/s y h = 1m.

10. Dada la función f (x) = x sen(x) + x2 − 1, utilice el método de la secante para aproximar
un cero de f (x) con tolerancia 10−3 y considerando x0 = 0.1 y x1 = 0.9.

11. Utilice el método de la secante para aproximar la solución de la ecuación ex = x2 , utili-


zando ocho iteraciones y considerando los valores iniciales x0 = 1 y x1 = 3.

12. Utilice el método de la secante para aproximar la solución de la ecuación e−x = x, con un
error relativo menor al 1 % y utilizando los valores iniciales x0 = 0 y x1 = 1.
3
13. Utilice el método de la secante para aproximar la solución de la ecuación e−x = 2x − 1,
con un error relativo menor al 1 % y utilizando los valores iniciales x0 = 0.75 y x1 = 1.
166 Capítulo 3. Solución de ecuaciones por iteraciones

14. Considere la siguiente ecuación

log(2) + log(11 − x2 ) = 2 log(5 − x).

Utilice el método de la secante para aproximar las dos soluciones de la ecuación con
error relativo menor que 10−6 y usando como aproximaciones iniciales (x0 , x1 ) = (0, 1) y
(x0 , x1 ) = (2.5, 3.5). Calcule la solución exacta de la ecuación y determine el error absoluto
y error relativo exacto de cada aproximación.

15. Utilice el método de la posición falsa para aproximar una solución de la ecuación ex = x2 ,
en el intervalo [−2, 0], con un error relativo menor que 10−3 .

16. Utilice el método de la posición falsa para aproximar una solución de la ecuación xex = 10,
en el intervalo [1, 2], con un error relativo menor que 10−2 .

17. Utilice el método de la posición falsa para aproximar una solución de la ecuación ex−1 =
10, en el intervalo [3.2, 3.7], utilizando cinco iteraciones. Calcule el error relativo en cada
iteración.

18. Utilice el método de la posición falsa para aproximar una solución de la ecuación sen(x3 ) =
 
0, en el intervalo π2 , π3 , utilizando cuatro iteraciones. Calcule el error relativo en la última
iteración.

19. Encuentre en (10, 5, −∞, +∞), el punto más cercano a (0, 0) desde el gráfico de y = ex .

20. Aproxime la solución entre −1 y 0 de la ecuación:


 
3 3
(x + 0.1) sen = x.
x2 + 0.06

Justifique la elección del método usado, indicando las ventajas que tiene sobre otros
métodos para esta ecuación particular.

♦ De programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21. Modifique los algoritmos 3.4 y 3.5 para que, similar al algoritmo 3.1, realicen sólo una
evaluación de f en cada iteración. Luego, implemente ambos métodos en MATLAB y
verifique que efectivamente dan los mismos resultados que los algoritmos 3.4 y 3.5, res-
pectivamente.

♦ Avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22. Considere método de la cuerda para aproximar una solución de f (x) = 0 en [a, b], el cual
consiste en una iteración de relajación para
b−a
λ(x) = λ = .
f (b) − f (a)

a) Interprete geométricamente esta iteración.


3.4. Orden de convergencia 167

b) Escriba el pseudocódigo para el método de la cuerda.

c) Determine condiciones, para que la iteración (xk ) de la cuerda converja para cualquier
x0 ∈ [a, b].

23. El método de Newton para resolver ecuaciones de la forma f (x) = 0 funciona extendiendo
una recta tangente al gráfico de f en un punto inicial y converge en un paso si f es lineal.

a) Derive una variante del método que extienda una parábola tangente al gráfico en el
punto inicial y que converja en un paso si f es cuadrática.

b) Compare la rapidez de convergencia del método anterior con el de Newton para


resolver la ecuación ex = 3x.

24. Sea α un número real positivo. Considere la ecuación

x3 − α = 0.

Demuestre que el método de Newton converge hacia la solución de la ecuación para



cualquier valor inicial x0 > 0. Sugerencia: primero pruebe el resultado para x ≥ 3 α.

3.4. Orden de convergencia

En las secciones anteriores se presentan algunos métodos basados en la construcción de una


sucesión (xk ), la cual converge a la solución númerica ξ ∈ , de la ecuación f (x) = 0. Sin
embargo, desde el punto de vista práctico, por lo general no es posible obtener ξ de manera
exacta, debido a que no se puede llevar k al infinito. Por tal razón, lo que se busca es una
aproximación de ξ, al considerar una cantidad finita de términos de (xk ).
De esta forma, si se comparan dos métodos iterativos sin tener en cuenta aspectos computacio-
nales, se dice que el método mejor es aquel que logra una buena aproximación en el menor
número de iteraciones. Es decir, se mide la rapidez con la cual cada método converge hacia
su límite, donde un criterio que permite cuantificar dicha rapidez lo ofrece la definición 3.9.
Sin embargo, dicha definición no considera la dificultad de la implementación del método, ni la
complejidad computacional correspondiente a la cantidad y al costo de los cálculos, así como a
la memoria requerida por el mismo. Estos últimos factores también se deben tener en cuenta a
la hora de decidir sobre el uso de un método específico.
168 Capítulo 3. Solución de ecuaciones por iteraciones

Definición 3.9.
Sea (xk ) una sucesión que converge hacia ξ. Se dice que la sucesión converge por lo menos
de orden q, con q > 1, si y sólo si existe µ > 0 y una sucesión (εk ) de número positivos
que converge a 0, tales que
εk+1
|xk − ξ| ≤ εk y lı́m q = µ, para k = 0, 1, 2, . . .
k→+∞ ε
k

Si se cumple que |xk − ξ| = εk para k = 0, 1, 2, . . ., entonces se dice que la sucesión


(xk ) converge a ξ con orden q. Luego, para q = 1, se distinguen los siguientes tipos de
convergencia:

si µ = 0 la convergencia es superlineal,

si µ ∈ ]0, 1[ la convergencia es lineal,

si µ = 1 la convergencia es sublineal.

Mientras que si q = 2, la convergencia es cuadrática.

La noción de orden de convergencia se puede interpretar como sigue. Suponga que una sucesión
(xk ) converge con orden q > 1 hacia ξ, entonces existe α ∈ ]0, 1[ y kα ∈ para los cuales el
error se comporta como:
k
∀ k ≥ kα , εk = |xk − ξ| ≈ αq .

Nótese que entre más grande sea el valor q, menor será el valor de εk , debido a que 0 < α < 1,
por lo que la (xk ) convergerá hacia ξ a mayor rapidez, con lo que es posible obtener una
aproximación a ξ con la precisión deseada, en menos iteraciones. Luego, debido a que en la
práctica es más fácil probar la desigualdad |xk − ξ| ≤ εk que la igualdad, que se considera la
noción de convergencia de por lo menos orden q.
Para la convergencia lineal, al número ρ = − log(µ) se le llama radio de convergencia asintótico,
y mide el número de dígitos decimales correctos ganados en una iteración.

Ejemplo 3.15.
En este ejemplo se ilustra el comportamiento de varias sucesiones en que convergen a 0
con diferentes ordenes de convergencia.
1 1
wk = , orden sublineal, yk = , orden superlineal,
k3 k!
k
xk = 2−k , orden lineal, zk = 2−2 , orden cuadrático.

El comportamiento de todas estas sucesiones se puede apreciar en la figura 3.11.


3.4. Orden de convergencia 169

Figura 3.11: Comportamiento de algunas sucesiones en .

Ejemplo 3.16.
Considere la sucesión en definida por

xk (x2k + 3α) √
xk+1 = , donde x0 ≥ α,
3x2k + α

para α > 0 fijo. Determine el orden de convergencia de esta sucesión.

Solución. Sea ξ el límite de (xk ), es decir que,

ξ(ξ 2 + 3α)
ξ = ,
3ξ 2 + α
√ √
de donde se tiene que ξ ∈ {− α, 0, α}. Ahora, considere las funciones

x (x2 + 3α) 3(x2 − α)2


ϕ(x) = y ϕ′ (x) = ,
3x2 + α (3x2 + α)2

y como ϕ′ (x) ≥ 0, entonces ϕ es creciente, con lo que


√ √ √
α ≤ x0 ⇒ ϕ( α) ≤ ϕ(x0 ) ⇒ α ≤ x1 ,

por inducción, se puede concluir que α ≤ xk para todo k = 0, 1, 2, . . ., con lo que la sucesión

es acotada inferiormente por α.

Así, como 0 < α ≤ xk , entonces

−2xk (x2k − α)
xk+1 − xk = ϕ(xk ) − xk = ≤ 0,
3x2k + α
170 Capítulo 3. Solución de ecuaciones por iteraciones


por lo que la sucesión (xk ) es decreciente y como es acotada inferiormente por α, entonces se

tiene que (xk ) converge a α.
Finalmente, para determinar el orden de convergencia, nótese que:
√ 3
√ (xk − α)
xk+1 − α = ,
3x2k + α

con lo que:

|xk+1 − α| 1 1
lı́m √ 3 = lı́m = ,
k→+∞ |xk − α| k→+∞ 3x2
k +α 4α
por lo que la sucesión converge y tiene exactamente orden 3. 

Observación: De manera similar se puede considerar α > 0 y la sucesión definida por

yk2 + α
yk+1 = ,
2yk
√ √
para y0 ≥ α. Esta sucesión también converge hacia α. Además observe que

√ (yk − α)2
yk+1 − α = .
2yk

De donde se tiene √
|yk+1 − α| 1 1
lı́m √ 2 = lı́m = √ ,
k→+∞ |yk − α| k→+∞ 2yk 2 α
por lo que (yk ) converge cuadráticamente. Así, considerando las sucesiones (xk ) y (yk ), en la
tabla 3.4 se pueden apreciar los valores de xk y yk , así como el comportamiento del error para
algunos valores de k. En ambas sucesiones se tomó el mismo valor inicial, x0 = y0 = 1000 y el

valor de α = 49 por lo que el límite es α = 7. Nótese que el error en la sucesión (xk ) de mayor
orden, decrece con mayor velocidad.
√ √
k xk yk |xk − α| |yk − α|
0 1.000000 × 103 1.000000 × 103 9.93 × 102 9.93 × 102
1 3.333768 × 102 5.000244 × 102 3.26 × 102 4.93 × 102
2 1.112562 × 102 2.500612 × 102 1.04 × 102 2.43 × 102
3 3.747639 × 101 1.251285 × 102 3.05 × 101 1.18 × 102
4 1.364098 × 101 6.276009 × 101 6.64 × 100 5.58 × 101
5 7.482330 × 100 3.177042 × 101 4.82 × 10−1 2.48 × 101
6 7.000517 × 100 1.665636 × 101 5.17 × 10−4 9.66 × 100
7 7.000000 × 100 9.799093 × 100 7.05 × 10−13 2.80 × 100
8 6.999999 × 100 7.399778 × 100 8.88 × 10−16 4.00 × 10−1
9 7.000000 × 100 7.010799 × 100 8.88 × 10−16 1.08 × 10−2

Tabla 3.4: Convergencia de (xk ) y (yk ) para α = 49.


3.4. Orden de convergencia 171

Ejemplo 3.17 (Orden de la iteración de bisección).


En el caso del método de bisección, se tiene que
1
|xk − ξ| ≤ (b0 − a0 ) ,
2k
1
Por lo cual, tomando εk = (b
2k 0
− a0 ) se tiene que

εk+1 1
lı́m = ,
k→+∞ εk 2
por lo tanto, la convergencia de la iteración de bisección es al menos lineal.

Ejemplo 3.18 (Orden de la iteración de punto fijo).


Suponga que ϕ es una función real, definida, continua y con primera derivada continua
sobre un intervalo cerrado [a, b] de , y asuma que ϕ(x) ∈ [a, b] para todo x ∈ [a, b]. Sea
ξ = ϕ(ξ) ∈ [a, b] el punto fijo de ϕ, suponga además que |ϕ′ (ξ)| < 1. Determine el orden
de convergencia de la iteración xk+1 = ϕ(xk ).

Solución. Nótese que se cumple que


|xk+1 − ξ| |ϕ(xk ) − ϕ(ξ)|
lı́m = lı́m = |ϕ′ (ξ)|,
k→+∞ |xk − ξ| k→+∞ |xk − ξ|
de donde se tiene que la iteración de punto fijo converge con orden lineal o superlineal. 

Ejemplo 3.19 (Orden de la iteración de Newton).


Dadas las condiciones del teorema 3.6, muestre que la iteración de Newton converge con
orden cuadrático.

Solución. De la demostración del teorema 3.6, se tiene la expresión (3.6) dada por:
f ′′ (ζk )
ξ − xk+1 = −(ξ − xk )2 ,
2f ′ (xk )
además, como ζk esta entre ξ y xk , entonces la sucesión (ζk ) también converge a ξ cuando
k → +∞. Entonces, dado que f ′ y f ′′ son continuas en Iδ , entonces de la ecuación (3.6) se
obtiene que:
 
′′
′′ f lı́m ζk ′
|xk+1 − ξ| f (ζ k ) k→+∞ f (ξ)
lı́m = lı́m ′ =   = ′′ ,
k→+∞ |xk − ξ|2 k→+∞ 2f (xk )
2f ′ lı́m x 2f (ξ)
k
k→+∞

de donde se tiene que la sucesión (xk ) converge de orden cuadrático. 

Observación: El ejemplo anterior garantiza la convergencia cuadrática del método de Newton.


Sin embargo, se puede probar que si f ′′ (ξ) = 0 y que f tiene una tercera derivada continua, la
cual requiere ciertas cantidades para ser acotada, entonces la convergencia puede ser cúbica.
172 Capítulo 3. Solución de ecuaciones por iteraciones

Ejemplo 3.20 (Orden de la iteración de la secante).


De la demostración del teorema 3.7, se tiene que
2
|ξ − xk+1 | ≤ |ξ − xk |,
3
por lo que considerando εk = 23 |ξ − xk |, se obtiene que la iteración de la secante converge
a ξ al menos linealmente.

Observación: También se puede apreciar que para la iteración de la secante, el radio de con-

vergencia es de al menos log 32 ≈ 0.176. Además, se puede probar (Ejercicio 5, página 173)
que
|xk+1 − ξ|
lı́m = µ,
k→+∞ |xk − ξ|q

donde µ es una constante positiva y q = 12 (1 + 5) ≈ 1.6, así la convergencia de (xk ) a ξ es
mayor que lineal, pero no tan rápida como la cuadrática.
Para finalizar, en la tabla 3.5 se presenta una comparación del método de Newton y de la
secante para encontrar una solución de la ecuación ex − x − 2 = 0. El método de Newton tiene
como valor inicial x0 = 1, mientras que el método de la secante los valores iniciales x0 = 1
y x1 = 3. El experimento muestra, tal y como se espera, que el método de Newton converge
más rápido, sin embargo, recuerde que este método calcula el valor f ′ , lo cual demanda mayor
trabajo, por lo que es un método computacionalmente más costoso.

k Método de la secante Método de Newton


0 1.000000 1.000000
1 3.000000 1.163953
2 1.036665 1.146421
3 1.064489 1.146193
4 1.153299 1.146193
5 1.145745
6 1.146191
7 1.146193

Tabla 3.5: Comparación del método de la secante y de Newton.

Ejercicios (sección 3.4)


♦ Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Determine los ordenes de convergencia para las siguientes sucesiones:

a) xk = k −q , para q > 1 valor fijo


b) yk = 10−k
3.4. Orden de convergencia 173

k
c) zk = 10−3×2

2. Determine el orden de convergencia del método diseñado en el ejercicio 11 de la página


143.

♦ De programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. a) Pruebe que la iteración


1 α
xk+1 = xk + , para n ≥ 1,
2 2xk
converge de orden lineal, a un valor que que debe determinarse.
b) Utilice MATLAB para verificar que la iteración anterior converge de orden lineal.
Para ello, considere una sucesión (εk ) de aproximaciones al error, y tomando el
logaritmo natural yk = ln(εk ), encuentre la pendiente de la recta de mejor ajuste
(utilice polyfit() para ello) de los puntos (k, yk ).

♦ Avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4. Considere la iteración

[f (xk )]2
xk+1 = xk − , para k = 0, 1, 2, . . . ,
f (xk + f (xk )) − f (xk )

para la solución de f (x) = 0. Explique la conexión con la iteración de Newton y muestre


que (xk ) converge cuadráticamente si x0 es suficientemente cercano a la solución. Aplique
este método para resolver f (x) = ex − x − 2 = 0 y verifique la convergencia cuadrática
para x0 = 1. Experimente además con x0 = 10 y x0 = −10.

5. Escriba la iteración de la secante en la forma


xk f (xk−1 ) − xk−1 f (xk )
xk+1 = , para k = 1, 2, 3, . . .
f (xk−1 ) − f (xk )

Suponga que f tiene una segunda derivada continua en un vecindario de la solución ξ de


f (x) = 0, que f ′ (ξ) > 0 y que f ′′ (ξ) > 0. Luego, defina

xk+1 − ξ
ϕ(xk , xk−1 ) = ,
(xk − ξ)(xk−1 − ξ)

donde xk+1 ha sido expresado en términos de xk y xk−1 . Encuentre una expresión para

ψ(xk−1 ) = lı́m ϕ(xk , xk−1 ),


xk →ξ

entonces determine lı́m ψ(xk−1 ). Deduzca que


xk−1 →ξ

f ′′ (ξ)
lı́m ϕ(xk , xk−1 ) = .
xk ,xk−1 →ξ 2f ′ (ξ)
174 Capítulo 3. Solución de ecuaciones por iteraciones

Ahora asuma que


|xk+1 − ξ|
lı́m = A.
k→+∞ |xk − ξ|q
1

Muestre que q − 1 − q
= 0, y con ello se tiene que q = 12 (1 + 5). Finalmente, deduzca
que q
  1+q
|xk+1 − ξ| f ′′ (ξ)
lı́m = .
k→+∞ |xk − ξ|q 2f ′ (ξ)

3.5. Iteraciones específicas para polinomios


En esta sección se consideran funciones f (x), cuyos criterios corresponden a polinomios de
grado n ≥ 0. Así, f ∈ Pn , por lo que:
n
X
f (x) = pn (x) = ak xk ,
k=0

donde ak ∈ , para k = 0, 1, . . . , n, son los coeficientes.


n+1
Desde el punto de vista computacional, el polinomio anterior es considerado un vector p ∈ ,
definido por los coeficientes de ak , es decir,
p = ( an , an−1 , . . . , a1 , a0 )T .
Se debe tener especial cuidado con el orden, ya que se ordena por el exponente, es decir,
pi = an+1−i , con i = 1, 2, . . . , n + 1.

3.5.1. Evaluación de polinomios


Al considerar un polinomio pn ∈ Pn de la forma usual
n
X
pn (x) = ak xk = a0 + a1 x + a2 x2 + . . . + an xn ,
k=0

se puede contar que se realizan n sumas y 21 (n + 1)(n + 2) multiplicaciones, para un total de


1
2
(n2 + 5n+ 2) operaciones aritméticas. Así, se dice que evaluar un polinomio es de orden O(n2 ),
donde la notación O(µ) se utiliza para denotar expresiones complicadas, las cuales son acotadas
por cµ, donde c es una constante.

Ejemplo 3.21.
Considere el polinomio p(x) = 7x4 − 19x3 + 86x2 − 6x + 11. Al evaluar en x = 5, se tiene:

· 5}4 − 19
p(5) = |7 {z · 5}3 + |86{z
| {z · 5}2 − |{z}
6 · 5 + 11 = 4375 + (−2375) + 2150 + (−30) + 11,
| {z }
4 multip. 3 multip. 2 multip. 1 multip. 4 sumas

Por lo que se tiene un total de 4 + 3 + 2 + 1 + 4 = 14 operaciones, lo cual es aproximado


a 42 = 16 operaciones.
3.5. Iteraciones específicas para polinomios 175

Una forma de reducir la cantidad de operaciones al evaluar el polinomio p del ejemplo 3.21,
consiste en ir factorizando x localmente, de la forma:
p(x) = 7x4 − 19x3 + 86x2 − 6x + 11 = x(7x3 − 19x2 + 86x − 6) + 11,
= x(x(7x2 − 19x + 86) − 6) + 11 = x(x(x(7x − 19) + 86) − 6) + 11,
debido a que de esta forma se tiene que

Expresión Operaciones Total de operaciones


7x − 19 1 multip. y 1 suma 2
x(7x − 19) + 86 1 multip. y 1 suma 2
x(x(7x − 19) + 86) − 6 1 multip. y 1 suma 2
x(x(x(7x − 19) + 86) − 6) + 11 1 multip. y 1 suma 2

donde se realizan únicamente 8 operaciones. De manera general, nótese que:


pn (x) = a0 + a1 x + a2 x2 + . . . + an−1 xn−1 + an xn ,
 
= a0 + x a1 + a2 x + . . . + an−1 xn−2 + an xn−1 ,
  
= a0 + x a1 + x a2 + . . . + an−1 xn−3 + an xn−2 ,
.. .. ..
.  .  . 
= a0 + x a1 + x a2 + . . . + x an−1 + an x · · · .
Con esta nueva representación para pn (x) se realizan n sumas y n multiplicaciones, para un
total de 2n operaciones. Así, el costo de evaluar pn es de orden O(n), es decir, de orden lineal.

Ejemplo 3.22.
Considerando p(x) = x3 − 3x2 − x + 2 = x(x(x − 3) − 1) + 2 y evaluando en x = 7, se tiene
que

1 −3 −1 2 7
↓ 7 28 189
1 4 27 191

por lo que p(7) = 191.

Esta nueva forma de evaluar un polinomio, se denomina el método de Horner y permite


evaluar eficientemente el polinomio pn en un punto x, siguiendo el procedimiento:

bn = an ,
(3.10)
bk = ak + bk+1 · x, para k = n − 1, n − 2, . . . , 1, 0,
n+1
donde pn (x) = b0 . Además, los coeficientes ai de pn son almacenados en el vector c ∈ de
la forma:
c = ( an , an−1 , . . . , a1 , a0 )T .
Con ello en el algoritmo 3.6 se presenta el método de Horner.
176 Capítulo 3. Solución de ecuaciones por iteraciones

Algoritmo 3.6: Horner.


Recibe: c = (an , an−1 , . . . , a1 , a0 )T ∈ n+1 , coeficientes de un polinomio p ∈ Pn , x ∈ .
Retorna: p(x) = an xn + an−1 xn−1 + . . . + a1 x + a0 .

1 p ← c1
2 Para k ← 2 hasta n + 1 hacer
3 p ← ck + p · x

Observación: El algoritmo de Horner se usa a menudo para convertir algún valor en su equi-
valente en distintos sistemas numéricos posicionales, en cuyo caso x es la base del sistema y los
coeficientes ai son los dígitos de la representación del número dado en la base x, además puede
usarse también siendo x una matriz, reduciendo aún más el costo computacional. Por otro lado,
MATLAB cuenta con su versión del algoritmo de Horner, denominada polyval().

3.5.2. Raíces de polinomios

Teorema 3.8 (Fundamental del álgebra).


Todo polinomio de una variable de grado n ≥ 1, con coeficientes en , tiene por lo menos
una raíz en .

Demostración. (no se considera)

Así, para n ≥ 1 la ecuación pn (x) = 0 tiene por lo menos una raíz, sea esta r1 tal que pn (r1 ) = 0
y por el teorema del factor se tiene que p(x) = (x − r1 )pn−1 (x), donde pn−1 es un polinomio de
grado n − 1. Luego, siguiendo este proceso se puede factorizar pn de la forma:
n
Y
pn (x) = an (x − r1 )(x − r2 ) · . . . · (x − rn ) = an (x − ri ),
i=1

donde r1 , r2 , . . . , rn no son necesariamente distintos.


De esta forma, para encontrar todas las raíces de un polinomio pn , primero se determina una de
ellas, r1 , resolviendo pn (x) = 0 con alguna de las iteraciones de las secciones anteriores, luego
se considera el nuevo polinomio:
n
pn (x) Y
pn−1 (x) = = an (x − ri ).
x − r1 i=2

Ahora, se encuentra r2 una solución de pn−1 (x) = 0, de manera análoga a r1 y luego se considera
el polinomio:
n
pn−1 (x) Y
pn−2 (x) = = an (x − ri ).
x − r2 i=3

A este proceso se le conoce como método de deflación y puede ser utilizado para encontrar
todas las raíces de un polinomio.
3.5. Iteraciones específicas para polinomios 177

Ejemplo 3.23.
Encuentre todos las raíces del polinomio p(x) = x4 − 5x3 + 5x2 + 5x − 6.

Solución. Una raíz de p4 (x) = x4 − 5x3 + 5x2 + 5x − 6 es dada por r1 = 1, por lo que se debe
encontrar p3 (x) = px−1
4 (x)
, para ello se tiene que:

1 −5 5 5 −6 1
↓ 1 −4 1 6
1 −4 1 6 0

con lo que p3 (x) = x3 − 4x2 + x + 6. Este proceso es consecuencia del teorema del factor y el
teorema del residuo, además nótese la relación con el algoritmo de Horner.
Ahora, una raíz de p3 es dada por r2 = −1, con lo que:

1 −4 1 6 −1
↓ −1 5 −6
1 −5 6 0

y con ello p2 (x) = x2 − 5x + 6. Finalmente, este polinomio tiene las raíces r3 = 2 y r4 = 3, por
lo tanto, el conjunto de las raíces de p4 es dado por {−1, 1, 2, 3}. 

Observación: Del ejemplo anterior, se puede apreciar que los valores de (3.10) del algoritmo
de Horner, son necesarios para realizar fácilmente la división pn+1−i
x−ri
(x)
. Por esta razón, se puede
considerar una modificación del algoritmo 3.6 que retorne los valores bi , como se muestra en el
algoritmo 3.7. A este proceso se le conoce como división sintética.
Algoritmo 3.7: DivisiónSintética.
Recibe: c = (an , an−1 , . . . , a1 , a0 )T ∈ n+1
, coeficientes de un polinomio, x ∈ .
Retorna: b = (b1 , b2 , . . . , bn−1 , bn )T .

1 b1 ← c1
2 Para k ← 2 hasta n hacer
3 bk ← ck + bk−1 · x

Con esta nueva modificación se puede considerar el algoritmo 3.8, el cual aproxima todas las
raíces de un polinomio. En él es necesario resolver, para las primeras n − 2 raíces, una ecuación
p(x) = 0, mientras que para las restantes dos, como se obtiene un polinomio cuadrático, se
utiliza la forma cuadrática usual. Del proceso de deflación presente en el algoritmo 3.8, es
importante resaltar que si se usa Newton para resolver la ecuación p(x) = 0, entonces no se
pueden considerar polinomios que contengan raíces no simples (raíces repetidas), pues
en ese caso p′ se anularía, produciendo un error.
178 Capítulo 3. Solución de ecuaciones por iteraciones

Algoritmo 3.8: Deflación.


Recibe: c = (an , an−1 , . . . , a1 , a0 )T ∈ n+1 , coeficientes de un polinomio p ∈ Pn .
Retorna: r = (r1 , r2 , . . . , rn−1 , rn )T las raíces reales de p(x).

1 Para i ← 1 hasta n − 2 hacer


2 Encontrar ri al resolver p(x) = 0
3 c ← DivisionSintetica(c, ri )
p
c2 + sgn(c2 ) c22 − 4c1 c3
rn−1 ← −
4 2c1
c3
rn ←
5 c1 rn−1

Generalmente, resolver p(x) = 0 con los métodos de las secciones anteriores (bisección, pun-
to fijo, Newton, secante) tienen el inconveniente de que si el polinomio contiene alguna raíz
compleja, no será encontrada. Sin embargo, si el polinomio es cuadrático, como por ejemplo
p(x) = x2 + 1, con ayuda de la fórmula cuadrática es posible obtener sus raíces complejas
r = ±i. Un manera de aproximar las raíces de un polinomio de grado n, sean estas complejas
o no, es por medio del método de Müller, el cual se describe a continuación.

Método de Müller

El método de Müller calcula las raíces de la ecuación f (x) = 0 en el intervalo [a, b], de manera
semejante al método de la secante, de hecho es conocido como una extensión del mismo, ya que
considera tres aproximaciones iniciales x0 , x1 , x2 y luego se construye la cuarta aproximación,
como la intersección con el eje x de la parábola que pasa por lo puntos (x0 , f (x0 )), (x1 , f (x1 )),
(x2 , f (x2 )), tal y como se muestra en la figura 3.12.

Figura 3.12: Método de Müller.


3.5. Iteraciones específicas para polinomios 179

Sin pérdida de generalidad, suponga que la aproximación x2 es la que está más cerca de la
solución ξ de f (x) = 0. De esta forma, se puede considerar la forma de la parábola dada por:

p(x) = a(x − x2 )2 + b(x − x2 ) + c,

donde la siguiente aproximación x3 satisface que p(x3 ) = 0. Ahora, como p(x0 ) = f (x0 ),
p(x1 ) = f (x1 ) y p(x2 ) = f (x2 ), entonces las constantes a, b y c pueden ser determinadas
resolviendo el sistema:


 f (x0 ) = a(x0 − x2 )2 + b(x0 − x2 ) + c,


f (x1 ) = a(x1 − x2 )2 + b(x1 − x2 ) + c,




f (x2 ) = c,

cuya solución es dada por:




 c = f (x2 ),




 (x0 − x2 )2 [f (x1 ) − f (x2 )] − (x1 − x2 )2 [f (x0 ) − f (x2 )]
b = ,
 (x0 − x1 )(x0 − x2 )(x1 − x2 )



 (x1 − x2 )[f (x0 ) − f (x2 )] − (x0 − x2 )[f (x1 ) − f (x2 )]
 a =
 .
(x0 − x1 )(x0 − x2 )(x1 − x2 )

Para mayor facilidad en la implementación, se pueden introducir las variables: e0 = f (x0 ) −


f (x2 ), e1 = f (x1 ) − f (x2 ), h0 = x0 − x2 y h1 = x1 − x2 , con las cuales, los coeficientes de p(x)
pueden ser escritos de la siguiente forma:
e0 h1 − e1 h0 e1 h20 − e0 h21
a = , b = y c = f (x2 ).
h1 h20 − h0 h21 h1 h20 − h0 h21

Luego, como x3 es raíz de p(x), ecuación cuadrática, se puede utilizar la fórmula cuadrática
racionalizada (2.4), para evitar la propagación de errores (sobre todo si 4ac es muy cercano a
cero). Así, de esta forma se tiene que:
−2c
x3 − x2 = √ ,
b + sgn(b) b2 − 4ac
2c
x3 = x2 − √ .
b + sgn(b) b2 − 4ac
Así, si x3 es solución de la ecuación, o si x3 está muy cercano a x2 , el método se detiene. En caso
contrario, se repite el proceso anterior con x1 , x2 y x3 . El pseudocódigo de este procedimiento
se presenta en el algoritmo 3.9

Ejemplo 3.24.
Realice una iteración del método de Müller para el polinomio f (x) = 16x4 − 40x3 + 5x2 +
20x + 6, utilizando los valores: x0 = 21 , x1 = − 12 y x2 = 0.
180 Capítulo 3. Solución de ecuaciones por iteraciones

Solución. Primero, se determinan las constantes del método:


1 1
h0 = x0 − x2 = 2
−0 = 2
,

h1 = x1 − x2 = − 12 − 0 = − 12 ,
53 29
e0 = f (x0 ) − f (x2 ) = 4
−6 = 4
,
13
e1 = f (x1 ) − f (x2 ) = 4
−6 = − 11
4
.

Así, con estos valores se obtienen los coeficientes para el polinomio cuadrático, dados por:

c = 6,

1 2
2
− 11
4 2
− 29
4
− 21
b =  2 = 10,
1 2
− 21 2
− 1
2
− 12
29
4
· − 12 + 11
4
· 12
a = 2 2 = 9.
− 12 12 − 12 − 21

De esta manera, se tiene la parábola p(x) = 9(x − x2 )2 + 10(x − x2 ) + 6 = 9x2 + 10x + 6, cuyo
discriminante corresponde a △ = −116, por lo que esta parábola contiene las raíces:
√ √
−5 + i 29 −5 − i 29
x̂1 = y x̂2 = .
9 9
Basta tomar una de estas raíces, ya que como se ilustra, si un polinomio tiene una raíz compleja
z = a + bi, entonces su conjugado z = a − bi también es una raíz del polinomio. Por lo tanto,
considere √
−5 + i 29
x3 = ≈ −0.555556 + 0.598352i.
9
La ilustración de esta iteración, se muestra en la figura 3.13, mientras que en la tabla 3.6 se
presentan los resultados de las siguientes iteraciones con una tolerancia tol = 4 × 10−2 . Para el
error |xk − xk−1 |, donde en el caso que xk sea complejo, | · | corresponde al módulo. 

k xk f (xk ) |xk − xk−1 |


0 0.500000 13.2500 −
1 −0.500000 3.25000 −
2 0.000000 6.00000 −
3 −0.555556 + 0.598352i −29.4007 − 3.89872i 8.165 × 10−1
4 −0.228059 + 0.116876i 1.70926 + 1.33995i 5.823 × 10−1
5 −0.291462 + 0.197615i −0.153809 + 1.50133i 1.027 × 10−1
6 −0.368728 + 0.196963i −0.786502 − 0.146475i 7.727 × 10−2
7 −0.379224 + 0.151414i 0.180899 − 0.464287i 4.674 × 10−2
8 −0.347601 + 0.140299i 0.424072 + 0.0788559i 3.352 × 10−2

Tabla 3.6: Método de Müller para f (x) = 16x4 − 40x3 + 5x2 + 20x + 6.
3.5. Iteraciones específicas para polinomios 181

Figura 3.13: Método de Müller para f (x) = 16x4 − 40x3 + 5x2 + 20x + 6.

Observación: La característica más importante del método de Müller, consiste de determinar


tanto las raíces reales como las complejas de un polinomio. Además, un ejercicio interesante
(Ejercicio 3), consiste en incorporar la técnica de deflación (junto con el algoritmo de Horner)
al método de Müller, para lograr un método que encuentre todas las raíces reales y complejas
de un polinomio de grado n.
Finalmente, el orden de convergencia del método de Müller es aproximadamente 1.84. Para ser
más precisos, sea ξ una raíz simple de f , es decir, f (ξ) = 0 y f ′ (ξ) 6= 0. Además, suponiendo
que f tiene tercera derivada continua, entonces para x0 , x1 y x2 valores iniciales suficientemente
cercanos a ξ, se puede probar que:
′′′ (q−1)/2
|xk+1 − ξ| f (ξ)
lı́m = ,
k→+∞ |xk − ξ|q 6f ′ (ξ)

donde q ≈ 1.84, es la raíz positiva de q 3 − q 2 − q − 1 = 0. Con lo que, este método es más veloz
que el de la secante, con orden aproximado de 1.62, pero más lento que el método de Newton,
de orden cuadrático.

Ejercicios (sección 3.5)


♦ Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Considere el polinomio p3 (x) = x3 + 4x + 3x2 + 12. Aplique el algoritmo de Müller


y deflación de Horner para aproximar todas las raíces de p3 (x). Considere los valores
iniciales x0 = 0, x1 = 1 y x2 = 2, además de una tolerancia de 10−5 .
182 Capítulo 3. Solución de ecuaciones por iteraciones

Algoritmo 3.9: Müller.


Recibe: f continua, x0 , x1 y x2 valores iniciales, tol ∈ , iterMax ∈ . !
Retorna: k número de iteraciones usadas y x aproximación de la solución de f (x) = 0.

1 k←2
2 err ← tol + 1
3 Mientras que k < iterMax ∧ err ≥ tol hacer
4 h0 ← x0 − x2
5 h1 ← x1 − x2
6 c ← f (x2 )
7 e0 ← f (x0 ) − c
8 e1 ← f (x1 ) − c
e1 h20 − e0 h21
b←
9 h1 h20 − h0 h21
e0 h1 − e1 h0
a←
10 h1 h20 − h0 h21

11 q ← b + sgn(b) b2 − 4ac
12 Si q = 0 entonces
13 Imprimir: ¡Denominador cero!
14 Detener
2c
t ← x2 −
15 q
16 err ← |t − x2 |
17 x0 ← x1
18 x1 ← x2
19 x2 ← t
20 k ←k+1
21 x ← x2

♦ De programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Implemente en MATLAB el algoritmo 3.8 utilizando la iteración de Newton para apro-


ximar las raíces ri . Sugerencia: considere la derivada de un polinomio, he implemente
una modificación del método de Horner para evaluar esta derivada.

3. Implemente en MATLAB una extensión del método de Müller, para encontrar todas las
raíces reales y complejas de un polinomio de grado n.

4. Considere los siguientes polinomios

a) p3 (x) = x3 − 9x2 + 12 c) p4 (x) = 600x4 − 550x3 + 200x2 − 20x − 1


b) p3 (x) = x3 − 7x2 + 14x − 6 d ) p5 (x) = x5 +11x4 −21x3 −10x2 −21x−5
3.5. Iteraciones específicas para polinomios 183

Usando el programa implementado en el ejercicio 3, obtenga las aproximaciones de todas


las raíces de los polinomios. Considere una tolerancia de 10−4.

5. El método de Müller puede ser utilizado para encontrar la solución de una ecuación
no polinomial. Implemente el método de Müller que reciba una función cualquiera y
encuentre un cero para las siguientes funciones, dado los valores de x0 , x1 y x3 . Considere
una tolerancia de 10−5 .

a) f (x) = 4x2 − ex , con x0 = 4, x1 = 4.1 y x2 = 4.2


b) f (x) = −ex + x2 + 50, con x0 = 2.8, x1 = 3.5 y x2 = 3.8

6. Sea p(x) un polinomio de grado n, se dice que x0 es una raíz múltiple de pn (x) si pn (x) =
(x − x0 )k pn−k (x), con k > 1 y pn−k (x) un polinomio de grado n − k. Por ejemplo, p4 (x) =
x4 − 6x3 + 12x2 − 10x + 3 tiene una raíz múltiple x0 = 1, ya que p4 (x) = (x − 1)3 (x − 3).
Para este tipo de polinomios el método de Newton tiene una convergencia lenta, por este
motivo se introduce la siguiente modificación en su iteración, para p un polinomio:

p(xk )p′ (xk )


xk+1 = xk − .
[p′ (xk )]2 − p(xk )p′′ (xk )

a) Implemente en MATLAB el algoritmo de Newton-Modificado.


b) Utilice el algoritmo implementado en a) para encontrar los ceros del polinomio

p(x) = x6 − 12x5 + 63x4 − 216x3 + 567x2 − 972x + 729 = (x2 + 9)(x − 3)4 .

c) Para el polinomio en b) encuentre las raíces con los métodos de Newton-Modificado


y de Müller. Describa las diferencias observadas.
184 Capítulo 3. Solución de ecuaciones por iteraciones

También podría gustarte