Vous êtes sur la page 1sur 9

Método de Newton-Raphson: análisis de erro-

res
Si tratamos de resolver la ecuación f (x) = 0 y lo que obtenemos no es la
solución exacta x sino sólo una aproximación xn tal que x = xn + h tendremos
que
f (xn ) f (xn )
f (x) ' f (xn ) + h · f 0 (xn ) =⇒ h ' − =⇒ x ' xn −
f 0 (xn ) f 0 (xn )
obteniéndose la denominada fórmula de Newton-Raphson
f (xn )
xn+1 = xn − (1)
f 0 (xn )

Hemos transformado la ecuación f (x) = 0 en x = ϕ(x) con


f (x)
ϕ(x) = x −
f 0 (x)

f (xn )
Si partiendo de x0 ∈ [a, b] la sucesión (xn ) con xn+1 = ϕ(xn ) = xn −
f 0 (xn )
converge entonces ϕ(x) es contractiva.
Además:
f (lim xn ) f (lim xn )
lim xn+1 = lim xn − 0
=⇒ = 0 =⇒ f (lim xn ) = 0
lim f (xn ) lim f 0 (xn )
es decir, lim xn = x.

Interpretación geométrica: Método de la tangente

Si trazamos la tangente a la curva y = f (x) en el punto (xn , f (xn )) obtenemos


la recta
y = f (xn ) + f 0 (xn )(x − xn )
que corta al eje y = 0 en el punto de abscisa
f (xn )
x = xn −
f 0 (xn )
que es precisamente el valor de xn+1 de la fórmula de Newton-Raphson.
En otras palabras, xn+1 viene determinado por el punto en el que la tangente
a la curva y = f (x) en (xn , f (xn )) corta al eje de abscisas, por lo que este
método es también conocido como método de la tangente.
y = f (x)

x
x2 x1 x0

Figura 1: Interpretación geométrica del método de Newton.

Orden de convergencia
f (x)
Si el método converge, ϕ(x) = x − es contractiva y además
f 0 (x)

f 02 (x) − f (x)f 00 (x) f (x)f 00 (x)


ϕ0 (x) = 1 − = con f 0 (x) 6= 0 =⇒ ϕ0 (x) = 0
f 02 (x) f 02 (x)

El método de Newton es, al menos, de segundo orden.

Cota del error: Error “a priori”

La diferencia entre la solución exacta x y la aproximación xn+1 viene dada por

f (xn ) f (xn )
en+1 = x − xn+1 = x − xn + 0
= en + 0
f (xn ) f (xn )

Dado que
(
f 00 (t) 2 (x, xn )
0 = f (x) = f (xn + en ) = f (xn ) + f 0 (xn )en + en con t ∈
2 (xn , x)

Si f 0 (x) 6= 0 ∀ x ∈ [a, b] podemos dividir entre f 0 (xn ) 6= 0 obteniéndose

f (xn ) f 00 (t) 2 f 00 (t) 2


0= + en + en = en+1 + en
f 0 (xn ) 2 2

Tomando valores absolutos:


|f 00 (t)| 2 2 máx |f 00 (x)|
εn+1 = ε ≤ k ε con k ≥
2|f 0 (xn )| n n
2 mı́n |f 0 (x)|
es decir, en cada iteración dispondremos, aproximadamente, del doble de cifras
decimales exactas que en la iteración anterior, que es lo que significa el hecho
de ser una convergencia de segundo orden.
Además, podemos obtener, multiplicando por k,
n+1
kεn+1 ≤ k 2 ε2n = (kεn )2 ≤ (kεn−1 )4 ≤ (kεn−2 )8 ≤ · · · ≤ (kε0 )2 =⇒
1 n máx |f 00 (x)|
εn ≤ (kε0 )2 con k ≥
k 2 mı́n |f 0 (x)|
lo que nos proporciona una cota del error “a priori”, pudiéndose garantizar la
1
convergencia siempre que kε0 < 1 es decir, si ε0 ≤ .
k

Algoritmo
Una vez realizado un estudio previo para ver que se cumplen las condiciones
que requiere el método, establecer el valor inicial x0 y calcular el valor de
m = mı́n |f 0 (x)|, el algoritmo, que tiene por entradas los valores de a, b, x, ε,
x∈[a,b]
f (x) y m y por salida la raı́z x, es el siguiente:

Algoritmo de Newton

e = abs (f(x)/m);
while e>ε
x = x-f(x)/f0 (x);
e = abs (f(x)/m);
end
x

Ejemplo 1 Cuando tratamos el teorema del punto fijo establecimos una ite-
ración funcional para calcular la raı́z de 3 con 14 cifras decimales exactas y se
necesitaron 26 iteraciones. Vamos a ver cómo se disminuye considerablemente
el número de iteraciones cuando se utiliza la fórmula de Newton-Raphson.
Partimos de la ecuación f (x) = x2 − 3 = 0, por lo que la fórmula de Newton-
Raphson nos dice que
x2n − 3 x2n + 3
 
f (xn ) 1 3
xn+1 = xn − 0 = xn − = = xn +
f (xn ) 2xn 2xn 2 xn

Dado que la raı́z de 3 es un número comprendido entre 1 y 2 y la función


f 0 (x) = 2x no se anula en dicho intervalo, podemos aplicar el método de
Newton tomando como valor inicial x0 = 2. (Más adelante veremos porqué
debemos tomar 2 como valor inicial), obteniéndose:

x0 =2
x1 = 1.75000000000000
x2 = 1.73214285714286
x3 = 1.73205081001473
x4 = 1.73205080756888

El error vendrá dado, al igual que en el caso de la iteración funcional por


|f (xn )|
εn < , por lo que
mı́n |f 0 (x)|
x∈[1,2]

|x24 − 3|
ε4 < = 4.884981308350688 · 10−15 < 10−14
2

es decir, 3 = 1.73205080756888 con todas sus cifras decimales exactas.

 
1 A
La fórmula xn+1 = xn + es conocida como fórmula de Heron ya que
2 xn
este matemático la utilizaba para aproximar la raı́z cuadrada de un número
real positivo A hacia el año 100 a.C. pues sabı́a que si disponı́a de un valor
aproximado xn y éste fuese mayor que la raı́z buscada, necesariamente A/xn
serı́a menor que su raı́z y viceversa, por lo que la media entre ambos debı́a ser
una mejor aproximación que xn . En otras palabras, en cada iteración tomaba
como aproximación de la raı́z la media aritmética entre el valor xn anterior y
el cociente A/xn .
Análisis de la convergencia: Regla de Fourier
Hay que tener en cuenta que la naturaleza de la función puede originar difi-
cultades, llegando incluso a hacer que el método no converja.

Ejemplo 2 Tratemos de determinar, por el método de Newton-Raphson, la


raı́z positiva de la función f (x) = x10 −1, tomando como valor inicial x0 = 0.5.
La fórmula de Newton-Raphson es, en este caso,

x10
n −1
xn+1 = xn − .
10x9n
Aplicando el algoritmo se obtienen los valores

x1 = 51.65 x20 = 6.97714912329906


x2 = 46.485 x30 = 2.43280139954230
x3 = 41.8365 x40 = 1.00231602417741
x4 = 37.65285 x41 = 1.00002393429084
x5 = 33.887565 x42 = 1.00000000257760
x10 = 20.01026825685012 x43 =1

Puede observarse que la convergencia es muy lenta y sólo se acelera (a partir


de x40 ) cuando estamos muy cerca de la raı́z buscada.

• Si en las proximidades de la raı́z existe un punto de inflexión, las itera-


ciones divergen progresivamente de la raı́z.


 
  
 
   
9
 
x1  x0

x x2

Figura 2: En las proximidades de un punto de inflexión puede diverger.

• El método de Newton-Raphson oscila en los alrededores de un máximo


o un mı́nimo local, persistiendo o llegando a encontrarse con pendientes
cercanas a cero, en cuyo caso la solución se aleja del área de interés.

¿Quiere decir eso que el método de Newton puede ser divergente?

El método de Newton siempre converge en las proximidades de la raı́z. El


problema surge cuando se toma un valor inicial x0 inadecuado (próximo a un
punto crı́tico).

¿Cómo podemos saber que el valor inicial x0 es adecuado?


y = f (x)

x x0 x1

Figura 3: En las proximidades de un extremo local puede oscilar o diverger.

La elección de x0 : Regla de Fourier

Si la función f (x) cambia de signo en los extremos de un intervalo [a, b] y


además, en dicho intervalo, no se anulan ni f 0 (x) ni f 00 (x), nos aseguramos
de que en [a, b] existe una única raı́z de la ecuación f (x) = 0 y no existen
extremos locales ni puntos de inflexión.

Por otra parte, como no nos interesa que x0 esté situado cerca de un extremo
local, vamos a estudiar los diferentes casos con que podemos encontrarnos
y elegir, en cada uno de ellos, un valor adecuado para x0 (aquel que no se
encuentre cercano a un extremo local).

a a b b
b b a a

f 0 (x) > 0 f 0 (x) > 0 f 0 (x) < 0 f 0 (x) < 0


f 00 (x) < 0 f 00 (x) > 0 f 00 (x) > 0 f 00 (x) < 0
x0 = a x0 = b x0 = a x0 = b
Figura 4: Los cuatro casos posibles

Obsérvese que en cualquiera de los cuatro casos (véase la Figura 4) hemos


optado por elegir, como valor inicial x0 , el extremo en el que la función tiene
el mismo signo que su segunda derivada.
Este resultado, que formalizamos a continuación en forma de teorema es co-
nocido como regla de Fourier.

Teorema 1 [Regla de Fourier]

Sea f (x) una función continua y dos veces derivable [a, b]. Si sig f (a) 6= sig f (b)
y sus dos primeras derivadas f 0 (x) y f 00 (x) no se anulan en [a, b] existe una
única raı́z de la ecuación f (x) = 0 en dicho intervalo y se puede garantizar la
convergencia del método de Newton tomando como valor inicial x0 el extremo
del intervalo en el que la función y su segunda derivada tienen el mismo signo.

Método de Newton generalizado


Cuando el método de Newton converge lentamente se debe a que la raı́z que
estamos aproximando es múltiple.
Supongamos que x fuese una raı́z doble de f (x). La función de iteración
f (x)
ϕ(x) = x − 0 del método de Newton verifica que
f (x)
f 0 2 (x) − f (x)f 00 (x) f (x)f 00 (x)
ϕ0 (x) = 1 − =
f 0 2 (x) f 0 2 (x)
ϕ0 (x) es una indeterminación del tipo 00 que resulta ser distinta de cero, por lo
que la convergencia es de primer orden. De ahı́ su lentitud.

¿Serı́a posible alguna modificación en el método para que la convergencia


volviese a ser, al menos, de segundo orden?

f (x)
• La raı́z x de f (x) también lo es de g(x) = pero con la particularidad
f 0 (x)
de que
g(x)
ϕ(x) = x −
g 0 (x)
verifica que ϕ0 (x) y ϕ00 (x) tienden a cero cuando x lo hace a x, por lo
que al aplicar el método de Newton a la función g(x) obtenemos x con
una convergencia de, al menos, tercer orden.
Este proceso tiene el inconveniente de que si f (x) es, por ejemplo, un
polinomio, g(x) es una función racional, por lo que se complican los
cálculos.
• Sea x una raı́z de multiplicidad k de la ecuación f (x) = 0.

f (xn )
Si en vez de hacer xn+1 = xn − hacemos
f 0 (xn )

f (xn )
xn+1 = xn − k (2)
f 0 (xn )

donde k representa el orden de la primera derivada que no se anula para


x = x (multiplicidad de la raı́z x), la convergencia vuelve a ser, al menos,
de segundo orden.

En la práctica, el problema es que no conocemos k pero podemos determinar


su valor estudiando las derivadas de la función f (x).

Ejemplo 3 Para resolver la ecuación x−sen x = 0 comenzamos por expresarla


de la forma x = sen x, por lo que las soluciones serán los puntos de intersección
de la curva y = sen x con y = x (Fig.5).

y=x

y = sen x
-1

0 1

Figura 5: Las gráficas de y = x e y = sen x.

Aunque es conocido que la solución de la ecuación es x = 0, supondremos que


sólo conocemos que está comprendida entre -1 y 1 y vamos aplicar el método
de Newton.

xn − sen xn sen xn − xn cos xn


xn+1 = xn − =
1 − cos xn 1 − cos xn
Comenzando con x0 = 1 se obtiene:

x0 = 1
..................... 


 f 0 (x10 ) = 0.0001 . . .

x10 = 0.016822799 . . . f 00 (x10 ) = 0.016 . . .


 f 000 (x ) = 0.9998 . . .

10

..................... 


 f 0 (x20 ) = 0.00000001 . . .

x20 = 0.0000194 . . . f 00 (x20 ) = 0.0019 . . .


 f 000 (x ) = 0.9999 . . .

20

Como la convergencia es muy lenta, hace pensar que se trata de una raı́z
múltiple. Además, como la primera y la segunda derivadas tienden a cero y
la tercera lo hace a 1, parece que nos encontramos ante una raı́z triple, por lo
que aplicamos el método generalizado de Newton.
xn − sen xn
xn+1 = xn − 3
1 − cos xn
que comenzando, al igual que antes, por x0 = 1 se obtiene:

x0 =1
x1 = −0.034 . . .
x2 = 0.000001376 . . .
x3 = 0.00000000000009 . . .

que se ve que converge rápidamente a x = 0.

Vous aimerez peut-être aussi