You are on page 1of 21

Tema 1: Resolución de ecuaciones no lineales

Índice
1. Introducción 3

2. Definiciones y resultados preliminares 3

3. Criterios de paro en un método iterativo 5

4. Método de bisección 6

5. Método del punto fijo 7

6. Métodos de Newton y quasi–Newton 10


6.1. Método de iteración simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.2. Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.2.1. Convergencia y error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.2.2. Raíces múltiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.3. Métodos quasi–Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3.1. Método de Whittaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3.2. Regula–falsi. Método de la secante . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3.3. Método de Müller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7. Aceleración de la convergencia. Algoritmos de Aitken y Steffensen 18


2
7.1. Algoritmo ∆ de Aitken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.2. Procedimiento diagonal de Aitken o algoritmo de Steffensen . . . . . . . . . . . . . . . . 19
7.3. Un ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Autora: Profesora Doctora María Teresa González Montesinos


Tema 1: Resolución de ecuaciones no lineales 3

1. Introducción
El cálculo de raíces de una ecuación es uno de los problemas matemáticos que ha recibido un
tratamiento más preferente a lo largo de la historia (de hecho, ha motivado la aparición de diferentes
tipos de números).
Son numerosos los problemas de ingeniería, de la técnica y, en general, de la ciencia, que pueden
formularse en forma de ecuación: problemas de optimización, construcción de cuadraturas o mode-
lados mediante ecuaciones diferenciales, etc. Todos ellos precisan de la resolución de ecuaciones.
El objetivo de este tema es presentar y analizar métodos iterativos para resolver la ecuación

f (x) = 0, (1)

siendo f una función real de variable real. Así, una raíz o solución de (1) será cualquier valor α ∈ R
que satisfaga f (α) = 0.
La mayoría de los métodos de aproximación desembocan en los llamados procesos iterativos en
los que, de alguna forma, se determinan unos valores x1 , x2 , . . . , xn . . ., llamados iteraciones, y se
espera que, bajo ciertas condiciones de regularidad, las iteraciones converjan a la solución, esto es,
lı́mn→∞ xn = α.
El uso de un método iterativo plantea numerosos problemas teóricos y prácticos:
✑ Cómo se construyen dichos métodos.

✑ Estudio de la convergencia de la sucesión (xn ) obtenida.

✑ Examinar la velocidad de convergencia y, si es necesario, acelerarla.

✑ Determinar el número de iteraciones necesarias para obtener la precisión deseada.

✑ Estudiar los efectos de la aritmética del computador sobre la sucesión.


El problema de cómo obtener una buena aproximación inicial es, generalmente, irresoluble. En
los problemas prácticos se conocen numerosas propiedades cualitativas de la ecuación y la raíz
deseada, de manera que la convergencia no suele plantear inconvenientes. Cuando carecemos de este
conocimiento o éste es escaso, es posible usar un método que converja independientemente del valor
de partida (habitualmente con mucha lentitud) hasta lograr una buena aproximación inicial cercana
a la raíz buscada para algún algoritmo más potente.
Por otro lado, cuando un método converge, la exactitud de la aproximación depende únicamente
del número de dígitos usados en la computación. Ésta no suele ser una limitación seria, pero existen
problemas en los que los efectos de los errores debidos a la aritmética del computador dificultan
en gran medida su tratamiento. Aunque la presencia de estos obstáculos son excepcionales, es
importante conocer su existencia y analizar sus causas.

2. Definiciones y resultados preliminares


A largo de este tema haremos uso ciertos conceptos con los que conviene estar familiarizados.
Así, procederemos a introducirlos en esta sección.

Definición 1 (Errores absoluto y relativo) Sea α̃ una aproximación de un valor real α. Llamamos
error absoluto a la expresión
|α − α̃|,
mientras que el error relativo viene dado por
|α − α̃|
.
|α|
4 Métodos Numéricos

Definición 2 (Cifras significativas) Se dice que un valor α̃ aproxima a α con k cifras significa-
tivas o dígitos significativos si k ∈ Z, k > 0, es el mayor entero positivo tal que
|α − α̃|
< 5 · 10−k .
|α|

Definición 3 (Velocidad de convergencia) Sea (αn ) ⊂ R una sucesión tal que αn → α. Se dice
que (αn ) converge a α con rapidez de convergencia O(βn ), donde (βn ) ⊂ R es tal que βn 6= 0,
para cualquier n ∈ N, si existe una constante positiva C, independiente de n, tal que
|αn − α|
≤ K,
|βn |
para un n suficientemente grande. Esto también suele expresarse escribiendo αn = α + O(βn ).

Definición 4 (orden de convergencia) Se dice que la sucesión (xn ) converge a α con orden p si
existe una constante C > 0 tal que

|α − xn+1 | ≤ C|α − xn |p , para cualquier n ≥ 0.

Si p = 1 hablaremos de convergencia lineal, si p = 2 diremos que la convergencia es cuadrática, etc.


Recordemos ahora algunos resultados que serán de gran utilidad para la búsqueda y separación de
raíces de una ecuación.

Teorema 1 (de Bolzano) Sea f ∈ C([a, b]) tal que f (a)f (b) < 0. Entonces existe α ∈ (a, b) tal que
f (α) = 0.

Teorema 2 (de Rolle) Sea f ∈ C([a, b]) y derivable en (a, b). Si f (a) = f (b) entonces existe α ∈
(a, b) tal que f ′ (α) = 0.

Nota 1 (Separación de raíces) Sea f : R → R satisfaciendo el teorema de Bolzano. Entonces la


solución de la ecuación f (x) = 0 es única en (a, b) si existe f ′ (x), para cualquier x ∈ (a, b) y
mantiene el signo en dicho intervalo, es decir, si f es estrictamente creciente o decreciente.
Si f ∈ Pn [x], basta con encontrar los intervalos en los que se produzcan los cambios de signo de
la función. 

Ejemplo 1 Consideremos un ejemplo que tuvo gran aplicación práctica en los primeros años del
desarrollo de los computadores, cuando las máquinas no tenían implementada la división. Éste
consiste en construir un método eficiente para calcular 1/a, a > 0.

x1 X
x0 1/a

Figura 1: Cálculo de 1/a.


Tema 1: Resolución de ecuaciones no lineales 5

Este problema puede formularse como la búsqueda de la raíz de la ecuación

1
f (x) = a − = 0.
x

Supongamos que x0 es una aproximación de 1/a. Tracemos una recta tangente a la gráfica y = f (x)
en el punto (x0 , f (x0 )). El punto de corte de esta recta con el eje de abscisas será un punto x1 :

f (x0 ) + f ′ (x0 )(x1 − x0 ) = 0 ⇐⇒ x1 = x0 (2 − ax0 ).

Realizando este proceso en repetidas ocasiones, obtenemos la fórmula de iteración

xn+1 = xn (2 − axn ), n ≥ 0.

Estudiemos la convergencia, velocidad y dependencia x0 . Se tiene que

1 1 1
en = − xn =⇒ en+1 = − xn+1 = − xn (2 − axn ) = 2e2n ;
a a a

de aquí que
(ae0 )2 (1 − ax0 )2
n n
2 2n+1
aen+1 = (aen ) = (ae0 ) =⇒ en = = .
a a
En consecuencia,
en → 0 ⇐⇒ |1 − ax0 | < 1,

es decir, para que la sucesión converja a 1/a hemos de elegir 0 < x0 < 2/a. El error relativo en la
iteración n + 1–ésima viene dado por
 2
en+1 ae2 en
= n = ,
1/a 1/a 1/a

de donde se colige que el número de dígitos significativos se dobla en cada iteración. 

3. Criterios de paro en un método iterativo


Habitualmente, en un método iterativo, es preciso establecer un criterio de paro, esto es, cuán-
tas iteraciones se desean realizar para alcanzar una precisión determinada. Básicamente podemos
mencionar tres criterios:

1) Cuando |f (xn )| < ε, con ε > 0 suficientemente pequeño. Este criterio no es fiable, pues podría
ocurrir que f (xn ) estuviese muy próximo a cero y xn alejado de α.

2) Cuando |xn+1 − xn | < ε. Éste tampoco es fiable, pues existen sucesiones


P (xn ) tales que |xn+1 −
xn | < ε y la sucesión es divergente. En efecto; considérese xn = nk=1 n1 . Se tiene que

1
|xn+1 − xn | = −→ 0, pero xn −→ +∞.
n+1

3) Cuando |xn+1 −xn |


|xn+1 | < ε o |xn+1 −xn |
|xn | < ε. Nótese que, sin conocimiento adicional de f o α, éste es
el mejor criterio que puede aplicarse, ya que se está computando el error relativo.
6 Métodos Numéricos

4. Método de bisección
Sea f ∈ C([a, b]) tal que f (a)f (b) < 0. Este método se basa en hallar α ∈ (a, b) raíz de f
determinando una sucesión de subintervalos, cada uno de ellos con longitud la mitad de la del
precedente y, al menos uno de los dos, conteniendo un cero de f . Para ello, hacemos

 f (x0 ) = 0 =⇒ α = x0 ,
a0 + b0
a0 = a, b0 = b, x0 = =⇒ f (a0 )f (x0 ) < 0 =⇒ a1 = a0 , b1 = x0 ,
2 
f (a0 )f (x0 ) > 0 =⇒ a1 = x0 , b1 = b0 .

A continuación, si α 6= x0 , se define x1 = a1 +b2


1
y se comienza de nuevo. De este modo, conocidos
an , bn y xn , 
 f (xn ) = 0 =⇒ α = xn ,
f (an )f (xn ) < 0 =⇒ an+1 = an , bn+1 = xn ,

f (an )f (xn ) > 0 =⇒ an+1 = xn , bn+1 = bn .
Debido a que la longitud de los intervalos se va reduciendo a la mitad, podemos asegurar la conver-
gencia del método.

Convergencia y estudio del error


Procediendo de la forma anterior, hallamos una sucesión intervalos de forma que [a0 , b0 ] ⊃
[a1 , b1 ] ⊃ · · · ⊃ [an , bn ] ⊃ · · · Ahora bien, como (an ) es una sucesión estrictamente creciente y tal
que an ≤ b0 , para cualquier n ≥ 0, existe ã ∈ R tal que an → ã. Del mismo modo, (bn ) es una
sucesión estrictamente decreciente satisfaciendo bn ≥ a0 , con lo que existe b̃ ∈ R tal que bn → b̃.
Finalmente, )
lı́m |an − bn | = 0 =⇒ ã = b̃ = α,
n→∞ =⇒ lı́m xn = α.
an ≤ xn ≤ bn , para cualquier n ≥ 0, n→∞

En lo que al error se refiere, tenemos el siguiente

Teorema 3 Sea f ∈ C([a, b]) tal que f (a)f (b) < 0. Entonces el método de bisección genera una
sucesión (xn ) que aproxima a α satisfaciendo
b−a
|xn − α| ≤ , n ≥ 1.
2n
Demostración. Tenemos que
bn−1 − an−1 b−a an + bn
bn − an = = · · · = n y xn = .
2 2 2
Por tanto,
an + bn an + bn an − bn b − a
|xn − α| = − α ≤ − bn = = ,
2 2 2 2n
es decir, (xn ) converge a α con una rapidez de convergencia O(2−n ). 

Ejemplo 2 Para asegurar un error igual a 10−8 en un intervalo de longitud 1, ha de ser

2−n ≤ 10−8 ⇐⇒ n log 2 ≥ 8 ⇐⇒ n ≈ 26, 575.

Consecuentemente, a partir de 27 iteraciones, se consigue un error menor o igual que el deseado.


La ventaja fundamental de este método es que siempre converge. Por el contrario, nos encontramos
ante un algoritmo de convergencia bastante lenta y en el que cabe la posibilidad de desechar una
buena aproximación. No obstante, suele ser de gran utilidad para hallar un buen valor inicial en
otros métodos iterados.
Tema 1: Resolución de ecuaciones no lineales 7

5. Método del punto fijo


Este método consiste en determinar la solución de una ecuación de la forma

g(x) = x. (2)

La ecuación (2) puede considerarse como una transformación de (1); basta con hacer f (x) = g(x)−x.
Toda solución de (2) se llama punto fijo de g.
De forma inmediata, (2) sugiere la construcción de las aproximaciones xn+1 = g(xn ). Así, el
algoritmo consiste en

1) Elegir una aproximación inicial x0 .

2) Para n ≥ 1, construir la sucesión (xn ) dada por xn = g(xn−1 ).

x2 = g(x1 )

x1 = g(x0 )

X
x1 α x2 x0

Figura 2: Método de punto fijo.

Convergencia
En primer lugar, enunciemos un resultado relativo a la existencia de solución de la ecuación (2):

Lema 1 Sea g ∈ C([a, b]) tal que g(x) ∈ [a, b], para cualquier x ∈ [a, b]. Entonces la ecuación (2)
posee una solución α ∈ [a, b].
Demostración. Definamos f (x) = x − g(x) y supongamos que g([a, b]) ⊂ [a, b]. Si g(a) = a o g(b) = b,
la existencia de punto fijo es obvia. En caso contrario, al ser f (a) = a−g(a) < 0 y f (b) = b−g(b) > 0,
gracias al teorema de Bolzano, tenemos garantizada la existencia de α ∈ (a, b) tal que f (α) = 0, es
decir, g(α) = α. 

Teorema 4 (de convergencia global) Sea g ∈ C([a, b]) satisfaciendo

1) g(x) ∈ [a, b], para cualquier x ∈ [a, b].

2) g′ ∈ C([a, b]) y es tal que λ = máx |g′ (x)| < 1.


x∈[a,b]

Entonces

a) Existe una única solución de (2) en [a,b].


8 Métodos Numéricos

b) La sucesión definida por xn+1 = g(xn ) converge al punto fijo, para cualquier x0 ∈ [a, b].
λn
c) |α − xn | ≤ |x0 − x1 |, para cualquier n ≥ 0.
1−λ
α − xn+1
d) lı́m = g′ (α).
n→∞ α − xn
Demostración.
a) En vista del lema 1, la existencia es inmediata. Para probar la unicidad, basta con proceder por
reducción al absurdo.

b) Por hipótesis, tenemos que xn ∈ [a, b], para cualquier n ≥ 0. Aplicando ahora el teorema del
valor medio,

|α − xn+1 | = |g(α) − g(xn )| = |g′ (ξn )||α − xn | ≤ λ|α − xn | ≤ λ2 |α − xn−1 | ≤ · · · ≤ λn+1 |α − x0 |,


n→∞
de donde, al ser λ < 1, se llega a que |α − xn+1 | −→ 0.

c) Teniendo en cuenta que


1
|α − x0 | ≤ |α − x1 | + |x1 − x0 | ≤ λ|α − x0 | + |x1 − x0 | =⇒ |α − x0 | ≤ |x0 − x1 |,
1−λ
deducimos inmediatamente que
λn+1
|α − xn+1 | ≤ λn+1 |α − x0 | ≤ |x0 − x1 |,
1−λ
donde se ha usado el apartado anterior.

d) Para demostrar este apartado, es suficiente con aplicar el teorema fundamental del límite para
la sucesión (xn ). En efecto,
g(x) − g(α) g(xn ) − g(α) xn+1 − α
g′ (α) = lı́m = lı́m = lı́m .
x→α x−α n→∞ xn − α n→∞ xn − α

Las hipótesis de convergencia del teorema anterior no son fáciles de demostrar en la mayoría en los
casos. Sin embargo, pueden debilitarse para un obtener un resultado de convergencia local:

Teorema 5 (de convergencia local) Sea α una solución de x = g(x), y supongamos que g es con-
tinuamente diferenciable en un entorno de α, siendo |g′ (α)| < 1. Entonces existe un entorno de la
solución, (α − ε, α + ε), tal que la sucesión definida por el método del punto fijo converge a α, para
cualquier x0 ∈ (α − ε, α + ε).
Una consecuencia inmediata de los resultados anteriores es que si 0 < g′ (α) < 1, xn → α de
forma monótona. En caso de que sea −1 < g′ (α) < 0, nos encontramos ante el hecho de que las
subsucesiones de términos pares, (x2n ), e impares, (x2n+1 ), son monótonas, siendo x2n ≤ α ≤ x2n+1
o x2n+1 ≤ α ≤ x2n , para cualquier n ≥ 0; esto depende de la elección del valor inicial x0 .

Ejemplo 3 Del teorema de la convergencia global se deduce una estimación del error. De este modo,
si λ = 0, 999, la convergencia será lenta, mientras que si λ = 0, 1, la convergencia va a ser más rápida.
Si deseamos obtener una precisión del orden de 10−5 , tenemos por un lado que
0, 999n
0, 1 < 10−5 ⇐⇒ 0, 999n < 10−7 ⇐⇒ n log 0, 999 > −7 ⇐⇒ n > 16,110 iteraciones.
0, 001
Procediendo de forma totalmente análoga para λ = 0, 1, se obtiene n > 5, es decir, habría que
realizar, al menos, 6 iteraciones. 
Tema 1: Resolución de ecuaciones no lineales 9

Ejemplo 4 Consideremos la ecuación f (x) = x3 + 4x2 − 10 = 0, que posee una solución en el


intervalo (1, 2), ya que f (1) = −5 < 0 y f (2) = 14 > 0. Para aplicar el método del punto fijo,
debemos hallar una función g de modo que la ecuación se transforme en otra de la forma x = g(x).
Realizando algunos cálculos, observamos que podemos obtener distintas funciones de punto fijo; en
particular,
r r
3 2 10 10 x3 + 4x2 − 10
g1 (x) = x − x − 4x + 10, g2 (x) = − 4x, g3 (x) = , g4 (x) = x − .
x x+4 3x2 + 8x

Estudiemos |gk′ (x)|, 1 ≤ k ≤ 4. En cuanto a g1 , es

10 ≤ |g1′ (x)| = |1 − 3x2 − 8x| < 27, para cualquier x ∈ [1, 2],

con lo que el método será divergente. Por otro lado,

5
−2 − 2
g2′ (x)=r x ∈
/ C([1, 2]),
10
− 4x
x
p p
pues sólo está definida en el intervalo [1, 5/2). Como 5/2 ≈ 1, 58114 y f (1, 58) ≈ 3, 929912
p > 0,
sabemos que α ∈ (1, 1, 58); es más, g2′ es una función estrictamente decreciente en [1, 5/2), de
modo que el hecho de que g2′ (1) ≈ −2, 85774 implica de inmediato que g2′ (α) < −1, esto es, el
método va a divergir.
Finalmente, se puede comprobar fácilmente g3 , g4 ∈ C 1 ([1, 2]), siendo
r  3/2
5 1 (6x + 8)(x3 + 4x2 − 10)
g3′ (x) =− , g4′ (x) = .
2 x+4 (3x2 + 8x)2

Las funciones√g3′ y g4′ son estrictamente crecientes en el intervalo [1, 2], y como g3′ (1) = − 2/10
y g3′ (2) = − 15/36, y g4′ (1) = −70/121 y g4′ (2) = 5/14, podemos afirmar que |gk′ (α)| < 1 para
k = 3, 4; por consiguiente, el método de punto fijo convergerá para las funciones g3 y g4 .
A continuación se exponen los resultados obtenidos con el programa Mathematica 5.1 al aplicar
el método del punto fijo con las funciones anteriores y tomando x0 = 1, 5:

g3[x_]:=Sqrt[10/(x+4)]

N[FixedPointList[g3,1.50000000000000000000000,15],18]

{1.50000000000000000,1.34839972492648417,1.36737637199128288,1.36495701540248702,
1.36526474811344211,1.36522559416052501,1.36523057567343384,1.36522994187818320,
1.36523002251556846,1.36523001225612206,1.36523001356142529,1.36523001339535234,
1.36523001341648170,1.36523001341379342,1.36523001341413545,1.36523001341409193}

g4[x_]:=x-(x^3+4x^2-10)/(3x^2+8x)

N[FixedPointList[g4,1.50000000000000000000000,15],18]

{1.50000000000000000,1.37333333333333333,1.36526201487462662,
1.36523001391614665,1.36523001341409685,1.36523001341409685}

Obsérvese que, aunque el método converge con ambas funciones, lo hace más rápidamente con
g4 . Esto se debe a que, en realidad, en este último caso, hemos aplicado el método de Newton, que
estudiaremos más adelante. 
10 Métodos Numéricos

Del teorema de la convergencia global se deduce que


|α − xn+1 |
lı́m = |g′ (α)| < 1 =⇒ |α − xn+1 | ≤ |g′ (α)||α − xn |,
n→∞ |α − xn |
es decir, la convergencia es lineal siempre g′ (α) 6= 0. Pero, ¿qué ocurre si g′ (α) = 0? Aplicando el
teorema de Taylor se colige que

1 ′′ 1
|α − xn+1 | = |g(α) − g(xn )| = − g (ξn )(α − xn ) = |g′′ (ξn )|(α − xn )2 ,
2
2 2
de manera que la convergencia será, al menos, cuadrática.

Teorema 6 Sean la ecuación x = g(x) y α una solución que puede obtenerse como límite de la
sucesión xn+1 = g(xn ). Si g es p–veces diferenciable y tal que g′ (α) = · · · = gp−1) (α) = 0 y
gp) (α) 6= 0, entonces la sucesión converge con orden p.
La demostración de este resultado se basa en aplicar el teorema de Taylor, de forma totalmente
análoga a la anterior.

6. Métodos de Newton y quasi–Newton


Los métodos que vamos a estudiar a continuación se usan para la resolución de la ecuación (1).

6.1. Método de iteración simple


Supongamos que existe α tal que f (α) = 0 y f es de clase C 1 en un entorno de α. Consideremos
la ecuación
g(x) = x − mf (x), m ∈ R \ {0}.
Nótese que α es un punto fijo de g; ahora bien, ¿cómo debe ser m para que la sucesión generada
por el método iterado xn+1 = g(xn ) converja a α? Sabemos que ha de ser |g′ (α)| < 1, es decir,

|1 − mf ′ (α)| < 1 ⇐⇒ 0 < mf ′ (α) < 2.

La convergencia será, en general, lineal, salvo cuando sea m = 1/f (α), en cuyo caso la convergencia
será cuadrática. Sin embargo, si no podemos determinar de forma exacta la solución α, no podremos
hallar el parámetro m.

6.2. Método de Newton


Este método, también conocido como método de Newton–Raphson, es unos de los métodos
numéricos más conocidos y poderosos para la resolución de búsqueda de soluciones de la ecuación
f (x) = 0.
Existe, al menos, tres formas distintas de introducir este algoritmo:
1) Sean f ∈ C 1 ([a, b]) tal que f ′ (x) 6= 0, para cualquier x ∈ [a, b], y x0 ∈ [a, b]. Trácese la recta
tangente a la curva y = f (x) por el punto (x0 , f (x0 )). Dicha recta corta al eje de abscisas en un
punto x1 :
f (x0 )
y − f (x0 ) = f ′ (x0 )(x − x0 ), y = 0 =⇒ −f (x0 ) = f ′ (x0 )(x1 − x0 ) =⇒ x1 = x0 − .
f ′ (x0 )

Repitiendo este proceso, se genera una sucesión (xn ) tal que


f (xn )
xn+1 = xn − , n ≥ 0. (3)
f ′ (xn )
Tema 1: Resolución de ecuaciones no lineales 11

a x0
α x2 X
x1 b

Figura 3: Representación gráfica del método de Newton.

2) Haciendo uso del polinomio de Taylor. Así, sea f ∈ C 2 ([a, b]) y supongamos que α ∈ [a, b] es tal
que f (α) = 0. Entonces sabemos que existe ε > 0 tal que
f ′′ (ξ(x))
f (x) = f (x0 ) + f ′ (x0 )(x − x0 ) + (x − x0 )2 ,
2
con x0 ∈ (α − ε, α + ε) fijo y para cualquier x ∈ (α − ε, α + ε). El método de Newton se deduce
suponiendo que el término cuadrático de la siguiente expresión es despreciable, esto es,
f ′′ (ξ(α))
f (α) = 0 =⇒ f (x0 ) + f ′ (x0 )(α − x0 ) + (α − x0 )2 = 0
| 2 {z }
≈0
f (x0 )
=⇒ f (x0 ) + f ′ (x0 )(α − x0 ) ≈ 0 =⇒ α ≈ x0 − .
f ′ (x0 )
Esta aproximación nos conduce de forma inmediata a (3).

3) Sea f ∈ C 1 ([a, b]) con f ′ (x) 6= 0, para cualquier x ∈ [a, b]. Deseamos construir un método
iterativo que resuelva la ecuación

x = g(x) ≡ x + h(x)f (x),

con h(x) 6= 0, para cualquier x ∈ [a, b]. Intentemos determinar la función h con el fin de obtener
una buena convergencia; para ello, supongamos que g′ (α) = 0, esto es, impongamos convergencia
cuadrática en el método de punto fijo:
1
g′ (x) = 1 + h′ (x)f (x) + h(x)f ′ (x) =⇒ g′ (α) = 1 + h(α)f ′ (α) =⇒ h(α) = − .
f ′ (α)
Consideremos pues h(x) = −1/f ′ (x); entonces la ecuación f (x) = 0 se transforma en la ecuación
de punto fijo
f (x)
x =x− ′ .
f (x)
Así, el método de Newton consiste en

I) Elegir x0 ∈ [a, b].


f (xn )
II) xn+1 = xn − ′ , n ≥ 0.
f (xn )
12 Métodos Numéricos

6.2.1. Convergencia y error


Teorema 7 (de convergencia local) Sea α ∈ (a, b) una solución de f (x) = 0 satisfaciendo f ′ (α) 6=
0. Si f ∈ C 2 ([a, b]), existe ε > 0 tal que la sucesión generada por el método de Newton converge a
α, cualquiera que sea la aproximación inicial x0 ∈ (α − ε, α + ε).

Ejemplo 5 Sean f (x) = sen x y α = 0. Sabemos que f es analítica, es decir, f ∈ C ∞ (R). Es más,
f ′ (x) = cos x 6= 0 en R \ { 2k+1
2 π}, k ∈ Z. Consideremos el intervalo [−π, π]; entonces, en virtud del
teorema anterior, tenemos garantizada la existencia de 0 < ε < π/2 tal que el método de Newton
converge, cualquiera que sea x0 ∈ (−ε, ε). 

Ejemplo 6 Consideremos la función f (x) = x6 − x − 1 en el intervalo [1, 2]. Tenemos que


r
′ 5 1 5 5 1
f (x) = 6x − 1 = 0 ⇐⇒ x = ⇐⇒ x = < 0, 7.
6 6

Podemos garantizar, pues, la convergencia del algoritmo en el intervalo [0, 7, 2]. 

a x1
α b = c = x0

f (c)
f ′ (c)

Figura 4: Teorema de la convergencia global del método de Newton.

Teorema 8 (de convergencia global) Sea f ∈ C 2 ([a, b]) satisfaciendo

a) f (a)f (b) < 0.

b) f ′ (x) 6= 0, para cualquier x ∈ [a, b].

c) f ′′ (x) ≤ 0 o f ′′ (x) ≥ 0, para cualquier x ∈ [a, b].



′ ′
f (c)
d) c ∈ [a, b] es tal que |f (c)| = mı́n |f (x)| y ′ ≤ b − a.

x∈[a,b] f (c)

Entonces, cualquiera que sea x0 ∈ [a, b], la sucesión (xn ), dada por el método de Newton, está bien
definida y converge hacia la única solución α de f (x) = 0 en el intervalo [a, b].
Tema 1: Resolución de ecuaciones no lineales 13

Nota 2 La demostración de este resultado es larga y tediosa. No obstante, podemos hacer algunos
comentarios. En primer lugar, la existencia y unicidad de solución se deduce directamente de las
hipótesis a) y b). Por otro lado, c) implica que f siempre es cóncava o convexa, es decir, f ′ siempre
es creciente o decreciente en el intervalo [a, b].
La hipótesis d) asegura que la sucesión construida sea tal que (xn ) ⊂ [a, b]. A priori, d) implica
que la tangente a la curva en el punto x = c corta al eje de abscisas en un punto del intervalo (a, b).
Comprobémoslo en uno de los cuatro casos que pueden darse: supongamos que f ′ > 0 en [a, b],
o sea, f es estrictamente creciente, y que f ′′ (x) ≤ 0, para cualquier x ∈ [a, b], es decir, que f ′ es
decreciente.
En este caso es c = b. Considerando el peor de los casos para el valor inicial, x0 = b = c,
obsérvese que x1 ∈ (a, α). Se puede demostrar sin dificultad que, en realidad, (xn )n≥1 ⊂ (a, α). Es
más, la sucesión es monótona creciente. 

6.2.2. Raíces múltiples


Definición 5 Decimos que la raíz α tiene multiplicidad m si
f (x) = (x − α)m h(x),
para alguna función h tal que h(α) 6= 0 y m ∈ N.

Teorema 9 Si f es m–veces diferenciable, α es una raíz de multiplicidad m si y sólo si


f (α) = f ′ (α) = · · · = f m−1) (α) = 0, f m) (α) 6= 0.
La presencia de raíces múltiples provoca la pérdida de convergencia cuadrática en el método de
Newton, y ésta se transforma en lineal.

Teorema 10 Si α es una solución de f (x) = 0 con multiplicidad m > 1 y el método de Newton


converge, el orden de convergencia es lineal.
Demostración. Por hipótesis, existen m > 1 y una función h, con h(α) 6= 0, tales que f (x) =
(x − α)m h(x). Recordemos que el método de Newton se introdujo como método de punto fijo; así,
f (x) (x − α)m h(x) (x − α)h(x)
g(x) = x − ′
= x − m−1 m ′
=x− .
f (x) m(x − α) h(x) + (x − α) h (x) mh(x) + (x − α)h′ (x)
Por tanto,
h(α)mh(α) 1
g′ (α) = 1 − 2
=1− 6= 0,
[mh(α)] m
es decir, la convergencia es lineal. 
Para que el método de Newton converja cuadráticamente ha de ser
m
g′ (α) = 0 ⇐⇒ g′ (α) = 1 − ;
m
tómese pues la función
f (x)
g(x) = x − m ′ .
f (x)
De este modo surge el denominado método modificado de Newton:

f (xn ) 
xn+1 = xn − m ′ , n ≥ 0,
f (xn ) (4)
x0 ∈ [a, b] dado.

En la práctica este método no es bueno, pues en la mayoría de los casos no podremos conocer el
valor de m. Se puede aplicar, por ejemplo, en aquellos casos en los que la función presenta dos raíces
muy próximas, siendo m = 2 y obteniéndose convergencia cuadrática.
14 Métodos Numéricos

6.3. Métodos quasi–Newton


La gran ventaja del método de Newton es que, bajo ciertas hipótesis iniciales, se consigue
convergencia cuadrática. Sin embargo, hay un inconveniente: f (xn ) se calcula numéricamente y, por
tanto, vamos a calcular f ′ (xn ) del mismo modo. Esto hace que tengamos que recurrir a métodos de
diferenciación numérica. Asimismo, en cada iteración, debemos hallar la derivada de f en un punto,
lo cual es muy costoso desde el punto de vista computacional, y además, no siempre conoceremos
f explícitamente.
En vista de lo anterior, se proponen otros métodos alternativos que, aunque no tengan conver-
gencia cuadrática, tienen grandes ventajas computacionales frente al método de Newton.

6.3.1. Método de Whittaker


Este algoritmo se describe como

f (xn ) 
xn+1 = xn − , n ≥ 0,
m (5)
x0 ∈ [a, b] a elegir. 

Este método tendrá convergencia lineal, salvo en el caso de que m = f ′ (α) (todo esto bajo ciertas
hipótesis).
Si consideramos m ≈ f ′ (α) entonces, aunque la convergencia no sea cuadrática, sí será más
“rápida” que la convergencia lineal.
En lugar de tomar m constante, procedamos como sigue:

f (xn−1 )
xn = xn−1 − , 1 ≤ n ≤ N;
f ′ (x0 )
f (xN +k−1 )
xN +k = xN +k−1 − , 1 ≤ k ≤ p;
f ′ (xN )
f (xN +p+k−1)
xN +p+k = xN +p+k−1 − , 1 ≤ k ≤ p;
f ′ (xN +p )
..
.

No es necesario tomar p fijo, sino que podemos considerar p1 ≤ p2 ≤ . . ..

6.3.2. Regula–falsi. Método de la secante


Este método consiste en aproximar f ′ (xn ) de forma natural1 , esto es,

f (xn ) − f (xn−1 )
f ′ (xn ) ≈ .
xn − xn−1
Se puede probar, bajo unas hipótesis análogas a las del teorema 8, que este método converge de
forma intermedia entre la convergencia lineal y la cuadrática.
Nótese que, a priori, se precisan dos datos iniciales, esto es, x0 y x1 , ya que cada iteración es
función de las dos iteraciones anteriores. Así,

xn − xn−1
xn+1 = xn − f (xn ) , n ≥ 1, 
f (xn ) − f (xn−1 ) (6)
x , x ∈ [a, b] a elegir.
0 1

Como puede observarse en la figura, el punto xn+1 se obtiene como intersección de la recta que
1 f (x) − f (xn )
Recuérdese que f ′ (xn ) = lı́m .
x→xn x − xn
Tema 1: Resolución de ecuaciones no lineales 15

f (xn )

xn−1 xn
α xn+1

f (xn ) − f (xn−1 )

φ
f (xn−1 )
xn − xn−1

Figura 5: Representación gráfica del método regula–falsi.

pasa por los puntos (xn−1 , f (xn−1 )) y (xn , f (xn )) y el eje de abscisas. Es más, tg φ = f (xxnn)−f (xn−1 )
−xn−1 .
El método de la secante se define de forma totalmente análoga al regula–falsi, pero de forma menos
restrictiva, es decir, no se suponen hipótesis similares a las del teorema 8, con lo que, dependiendo
del valor inicial que se tome, el método puede converger o no.

6.3.3. Método de Müller


Fijado k ≥ 1 entero, tomemos xn+1 como uno de los puntos en los que el polinomio p ∈ Pm [x],
m ≤ k, y que pasa por los puntos (xn−k , f (xn−k )), (xn−k+1 , f (xn−k+1 )), . . . , (xn , f (xn )), corta al eje
de abscisas.
Para aplicar este algoritmo precisamos los datos iniciales x0 , x1 , . . . , xk . Estos puntos podrían
obtenerse, por ejemplo, aplicando el método de bisección. Por otro lado, a la hora de hallar el
polinomio p ∈ Pm [x] deberemos acudir a la interpolación polinomial, que se estudiará en el tema 3.
Así, dicho polinomio se corresponderá con el denominado polinomio de interpolación de Lagrange.
Nótese que este método es una generalización de regula–falsi (k = 1).

6.4. Ejemplos
Apliquemos los métodos descritos en esta sección haciendo uso del programa Mathematica. A
lo largo de toda esta sección, denotaremos el error relativo por en = |xn − xn−1 |/|xn−1 |.

Ejemplo 7 (Método de Newton) Hallemos una aproximación de la raíz de la función f (x) = x −


tg x en el intervalo [π/2, 3π/2].
Aplicando el método de Newton con valor inicial x0 = 4 obtenemos los siguientes valores:

Clear[x] x[0]=4.000000000000000000000000000000000000;
x[n_]:=x[n]=x[n-1]-f[x[n-1]]/f’[x[n-1]] Do[Print[i," ",x[i]],{i,5}]

1 6.1201584866543389173540067429031101

2 238.4042764540764682294778802413307

3 1957.264195711028898321578958701

4 725239.3819366419888317550
16 Métodos Numéricos

15

10

1.5 2.5 3 3.5 4 4.5

-5

5 4.289816819601354789*10^6

Nótese que con este valor inicial el método diverge. En vista de la gráfica de la función, consi-
deremos un valor inicial más próximo a la solución, a saber, x0 = 4, 5:
Clear[x] x[0]=4.500000000000000000000000000000000000;
x[n_]:=x[n]=x[n-1]-f[x[n-1]]/f’[x[n-1]] Do[Print[i," ",x[i]],{i,5}]

1 4.49361390274320323572908525209126318

2 4.49340965501324775209504771410839033

3 4.49340945790924739052966736803579803

4 4.4934094579090641753078810855847267

5 4.4934094579090641753078809272803221

El error relativo cometido se calcula haciendo uso de las dos últimas iteraciones:
|x5 − x4 |
e5 = = 3, 52303537 · 10−26 .
|x4 |

Ejemplo 8 (Método de Newton con multiplicidad) Consideremos la función f (x) = (7 cos x −


3 sen x)2 en el intervalo [0, π].

50

40

30

20

10

0.5 1 1.5 2 2.5 3

Apliquemos el método de Newton para hallar una aproximación de la raíz, α, de f en dicho


intervalo. Para ello, sea x0 = 0, 5 y realicemos 10 iteraciones:
x[0]=N[0.50000000000000000000000000000000,20]; x[n_]:=x[n]=x[n-1]-f[x[n-1]]/f’[x[n-1]]
Table[x[i],{i,10}]

{0.8928048268747088534, 1.0328539010130922391, 1.099774574712884176,


Tema 1: Resolución de ecuaciones no lineales 17

1.132887841698240084, 1.149402192317920000, 1.15765411550265881,


1.16177942160918638, 1.1638419927588332, 1.1648732680967075,
1.1653889044860574}

En vista de los resultados obtenidos, sabemos que el método converge, pero lo hace muy len-
tamente: e10 = 0, 00005729293214998. Consideremos otro punto inicial más próximo a la solución;
por ejemplo, x0 = 1:
Clear[x] x[0]=1.000000000000000000000000000; x[n_]:=x[n]=x[n-1]-f[x[n-1]]/f’[x[n-1]]
Table[N[x[i],20],{i,10}]

{1.0837218119929008195, 1.1249059372324535307, 1.1454167322582501328,


1.1556620699186215389,1.1607834843082647973,1.1633440347927418379,
1.1646242904491449820, 1.1652644158292095413,1.1655844782132275820,
1.1657445093669849127}

En este caso, e10 = 0, 0001372969156235239680, es decir, la convergencia continúa siendo lenta


e impropia del método de Newton. Sin embargo, la gráfica de la función nos indica que la solución
pudiera ser múltiple, con lo que el método de Newton sólo convergería linealmente. Comprobémoslo:

f (α) = 0 =⇒ (7 cos α − 3 sen α) = 0 =⇒ f ′ (α) = −2(7 cos α − 3 sen α)(7 sen α − 3 cos α) = 0.

Ahora bien, como f ′′ (x) = −8(2 cos x − 5 sin x)(5 cos x + 2 sin x), f ′′ (α) 6= 0, de manera que α es
una raíz con multiplicidad m = 2. Apliquemos pues el método de Newton con multiplicidad:
Clear[x] x[0]=N[0.50000000000000000000000000000000000000000000000000000,50];
x[n_]:=x[n]=x[n-1]-2f[x[n-1]]/f’[x[n-1]] Do[Print[i," ",x[i]],{i,5}]

1 1.2856096537494177068685452861763586341373877234974

2 1.165329480139397094397832159720292220292896104938

3 1.165904540573202958035506446214737610341847208514

4 1.16590454050981319591924876263022391999050783882

5 1.16590454050981319591924876263030882554669806350

Con sólo 5 iteraciones, hemos logrado que e5 = 7, 2823763215724477460199205 · 10−32 .

Ejemplo 9 (Método de Whittaker) Retomemos el problema planteado en el ejemplo 7. Para hallar


una aproximación de la solución hemos aplicado el método tomando x0 = 4, 5 y haciendo

f (xn−1 ) f (xL+k−1 )
xn = xn−1 − , 1 ≤ n ≤ L = 4; xL+k = xL+k−1 − .
f ′ (x0 ) f ′ (xL )

Los resultados obtenidos con el programa Mathematica se exponen a continuación:


x[0]=4.50000000000000000000000000000000000; j=0;L=4;
x[n_]:=Piecewise[{{x[n-1]-f[x[n-1]]/f’[x[j]],0<n<=L},
{x[n-1]-f[x[n-1]]/f’[x[L]],L<n<=10}}]
Do[Print[i," ",x[i]],{i,1,10}]

1 4.4936139027432032357290852520912632

2 4.4934217658968040670963689102408993

3 4.4934102093557890647066163893717958
18 Métodos Numéricos

4 4.493409503826031207307146236370975

5 4.493409457909074118281219584833311

6 4.493409457909064175312187078323493

7 4.49340945790906417530788092914525

8 4.49340945790906417530788092728032

9 4.49340945790906417530788092728032

10 4.4934094579090641753078809272803

Con 10 iteraciones se tiene que e10 < 10−33 , mientras que e8 = 2, 66418 · 10−28 .

Ejemplo 10 (Regula–Falsi) Siguiendo con el caso anterior, veamos qué resultados se obtienen al
realizar la aproximación haciendo uso de este método iterado:

7. Aceleración de la convergencia. Algoritmos de Aitken y Steffen-


sen
Hay casos en los que la convergencia de la sucesión (xn ) obtenida mediante un método iterado
es demasiado lenta y, en consecuencia, no resulta de utilidad en situaciones prácticas. Así, es preciso
transformar dicha sucesión en otra que converja más rápidamente al mismo límite α.

7.1. Algoritmo ∆2 de Aitken


Consideremos el método iterado del punto fijo, es decir,

xn+1 = g(xn ),
x0 a elegir,

y supongamos que existe α ∈ [a, b] tal que g(α) = α y xn → α.


Si g ∈ C 1 ([a, b]) es tal que g′ (x) 6= 0, para cualquier x ∈ [a, b], y definimos la sucesión (dn ) dada
por dn = xn − α y d0 6= 0, entonces tenemos por un lado que dn 6= 0, para cualquier n ≥ 1, y para
cada n ≥ 1, existe θn ∈ (0, 1) tal que

dn+1 = g′ (α + θn dn )dn .

Consideremos la sucesión (εn ) definida como εn = g′ (α + θn dn ) − g′ (α). Entonces εn → 0 y dn+1 =


[g′ (α) + εn ]dn .
Denotemos por A = g′ (α); tenemos pues que

dn+1 = (A + εn )dn , dn+2 = (A + εn+1 )dn+1 .

Realizando la aproximación εn , εn+1 ≈ 0, se deduce que



xn+2 − α = A(xn+1 − α) xn+2 − xn+1 (xn+1 − xn )2
=⇒ A = =⇒ α = xn − .
xn+1 − α = A(xn − α) xn+1 − xn xn+2 − 2xn+1 + xn

Así, a partir de (xn ), consideremos la sucesión (x̂n ) dada por

(xn+1 − xn )2
x̂n = xn − .
xn+2 − 2xn+1 + xn
Tema 1: Resolución de ecuaciones no lineales 19

Habitualmente se hace uso de la notación ∆xn = xn+1 − xn . De este modo,


(∆xn )2
∆2 xn = ∆(∆xn ) = ∆xn+1 − ∆xn = xn+2 − 2xn+1 + xn =⇒ x̂n = xn − ;
∆2 xn
de ahí que este método reciba el nombre de algoritmo ∆2 de Aitken.
Nótese que el cálculo de la sucesión (x̂n ) es simultáneo al de la sucesión (xn ), una vez halladas
las tres primeras iteraciones de ésta.
Cabe esperar que x̂n → α más rápidamente que (xn ). Para ello, estudiemos si esta sucesión está
bien definida, su convergencia hacia α y comparemos su convergencia con la de la sucesión (xn ).

Teorema 11 Sea (xn ) una sucesión convergente a α y tal que las cantidades dn = xn − α satisfacen

dn 6= 0, dn+1 = (A + εn )dn , para cualquier n ≥ 0,

donde A ∈ R es tal que |A| < 1, y la sucesión (εn ) converge a cero. Entonces existe n0 tal que,
cualquiera que sea n ≥ n0 , la sucesión (x̂n ) generada por el algoritmo ∆2 de Aitken a partir de (xn )
está bien definida y converge hacia α más rápidamente que (xn ), en el sentido de que
xn − α
lı́m = 0.
n→∞ x̂n − α

7.2. Procedimiento diagonal de Aitken o algoritmo de Steffensen


Supongamos que α es un punto fijo de una función g : [a, b] → R y consideremos el método de
punto fijo. Partamos de un punto x0 , y sean x1 = g(x0 ) y x2 = g(x1 ). Apliquemos ahora el método
de Aitken con estos tres puntos:
(∆x0 )2
x̂0 = x0 − .
∆2 x0
(1) (1) (1) (1) (1)
Si hacemos uso de la notación x0 = x̂0 , x1 = g(x0 ) y x2 = g(x1 ), tenemos que
(1)
(2) (1) (∆x0 )2
x0 = x0 − (1)
.
∆2 x0
(2) (2) (2) (2) (2) (3)
Nuevamente consideramos x0 y hacemos x1 = g(x0 ) y x2 = g(x1 ) para hallar x0 . Así, se
sigue este proceso indefinidamente, siempre que los denominadores no se anulen. Si existe k ≥ 1 tal
(k) (k+1) (k)
que ∆2 x0 = 0, entonces x0 = x0 y, por tanto, obtendremos un punto fijo de esta iteración.
Esquemáticamente, este algoritmo puede representarse como sigue:
 (1)
 (2)
 (k)
 (k+1)

x0  x0   x0   x0   x0 

(1) (2) (k) (k+1)
x1 ր x ր x1 ր · · · ր x1 ր · · · x1 ···
 Aitken 1(1)  Aitken (2)
 Aitken Aitken (k)
 Aitken (k+1)

x2 x2

x2

x2

x2

(k) (k) (k)


Obsérvese que, si g(g(x0 )) − 2g(x0 ) + x0 6= 0,
h i
(k) (k) 2
(k)
(∆x0 )2
(k) (k)
(x1 − x0 )2 g(x0 ) − x0
(k+1) (k) (k) (k)
x0 = x0 − (k)
= x0 − (k) (k) (k)
= x0 − (k) (k) (k)
;
∆2 x0 x2 − 2x1 + x0 g(g(x0 )) − 2g(x0 ) + x0
(k+1) (k)
en caso contrario, será x0 = x0 . Consecuentemente, la sucesión que estamos considerando es
la siguiente:   (k) 2

 (k) g(x ) − x(k)
x(k+1) = x − (k) )
, si N (x(k) ) 6= 0, n ≥ 0,
 N (x
 x(k) , (k)
si N (x ) = 0,
20 Métodos Numéricos

donde N (x) = g(g(x)) − 2g(x) + x. Por otro lado, (x(k) ) es la sucesión que se obtiene aplicando el
método de punto fijo a la función

 [g(x) − x]2
x− , si N (x) 6= 0,
G(x) = N (x)

x, si N (x) 6= 0.

Este método recibe el nombre de procedimiento de Steffensen.


Estudiemos ahora si (x(k) ) está bien definida, la convergencia del algoritmo y el orden de con-
vergencia.

Teorema 12 Sea α la solución de la ecuación x = g(x). Supongamos que g es de clase C 3 en un


entorno de α y es tal que g′ (α) 6= 0, 1. Entonces

1) El procedimiento de Steffesen está bien definido en un entorno de α.

2) G(α) = α.

3) G es de clase C 2 en un entorno de α.

4) G ′ (α) = 0.

Una consecuencia inmediata de este resultado es la convergencia cuadrática del algoritmo de Stef-
fensen siempre que x(0) esté suficientemente próximo a α.

Teorema 13 Sea I un intervalo semi–infinito [a, +∞) y sea g una función tal que

1) g ∈ C 2 (I).

2) g(x) > a, para cualquier x ∈ I.

3) g′ (x) < 0, para cualquier x ∈ I.

4) g′′ (x) > 0, para cualquier x ∈ I.

Entonces existe un único α ∈ I tal que α = g(α) y la sucesión generada por el procedimiento de
Steffensen converge hacia α siempre x(0) ∈ I.

Nota 3 Supongamos que, en el teorema anterior, es a = 0. Veamos gráficamente la forma que


presenta la función g:

y=x

g(a) − a

y = g(x)
α X
Tema 1: Resolución de ecuaciones no lineales 21

7.3. Un ejemplo
Retomemos el ejemplo 8 y apliquemos los algoritmos de Aitken y de Steffensen. Para ello,
recordemos que el método de Newton se definía como un método de punto fijo, donde la función de
punto fijo venía dada por g(x) = x−f (x)/f ′ (x). Apliquemos primeramente el método de Aitken; los
resultados aparecen en tres columnas, indicando el número de la iteración, la iteración de Newton
y la de Aitken:
Clear[x,y]
(*Método de Newton*)
x[0]=N[0.50000000000000000000000000000000000000000000000000000,50];
x[n_]:=x[n]=x[n-1]-f[x[n-1]]/f’[x[n-1]]
(*Algoritmo de Aitken*)
Clear[y];y[n_]:=x[n]-(x[n]-x[n-1])^2/(x[n]-2 x[n-1]+x[n-2])

Do[Print[i," ",x[i]," ",y[i]],{i,11,20}]

11 1.165646722520784893211848589587944607558386323 1.165904540235617921308683605107006639317784703

12 1.165775631518155243224835648201508405951673850 1.16590454047553880861578347701839635971979377

13 1.165840086014341244373602150754990726395359357 1.16590454050552889819452879936147514037731820

14 1.16587231326212184824565635853818921676877286 1.1659045405092776587251654215747844041599318

15 1.16588842688597310059482629546207942326527306 1.1659045405097462537706604278838810279060748

16 1.1658964836978938455710833044105283742160998 1.1659045405098048281506962233766852730284170

17 1.1659005121038536079094217260192293591241323 1.165904540509812149948180351554529532555000

18 1.1659025263068334128098672049676913432546945 1.165904540509813065172865231756177747968026

19 1.165903533408323305726499478850633206582065 1.16590454050981317957595082191199060730351

20 1.165904036959068250993116807621027276362594 1.16590454050981319387633652006054867846616

Con 20 iteraciones, los errores relativos en el método de Newton y en el de Aitken vienen dados
por
(N )
e20 = 4, 31897434492903993234433037290212025325000767127741 · 10−7 ,
(A)
e20 = 1, 2265485896380034429993010055797593690242 · 10−17 .
Veamos qué ocurre con el procedimiento de Steffensen:
Clear[x,y]
(*Método de Newton*)
x[0]=N[0.50000000000000000000000000000000000000000000000000000,50];
x[n_]:=x[n]=x[n-1]-f[x[n-1]]/f’[x[n-1]]
(*Algoritmo de Steffensen*)
Clear [g]; g[x_]:=x-f[x]/f’[x]
y[0]=x[1];
y[n_]:=y[n]=g[g[y[n-1]]]-(g[g[y[n-1]]]-g[y[n-1]])^2/(g[g[y[n-1]]]-2g[y[n-1]]+y[n-1])

Do[Print[i," ",y[i]],{i,2,4}]

2 1.1659045112766164375140717895298234237642134160

3 1.165904540509813195919242517105502272261848215

4 1.1659045405098131959192487626303088255466981
(S)
En este caso es e4 = 5, 356806316083402764625756156377793 · 10−24 , es decir, la convergencia
es mucho más rápida que la del método de Aitken.

You might also like