M´etodos Iterativos para Ecuaciones no Lineales
Contents
1 M´etodos iterativos para ecuaciones no lineales 2
1.1 El m´etodo de aproximaciones sucesivas . . . 2
1.1.1 Teoremas de convergencia y del error . . . 2
1.1.2 El m´etodo de punto fijo para resolver ecuaciones de una variable . . . 8
1.2 M´etodo de la Bisecci´on . . . 11
1.2.1 Estudio del error en el m´etodo de la bisecci´on . . . 14
1.3 M´etodo de Newton–Raphson . . . 15
1.4 M´etodo de la Secante . . . 19
1.5 Orden de convergencia . . . 22
1.6 Convergencia acelerada y el m´etodo de Steffensen . . . 26
1.6.1 El m´etodo 42 de Aitken . . . . 26
Chapter 1
M´
etodos iterativos para
ecuaciones no lineales
1.1
El m´
etodo de aproximaciones sucesivas
1.1.1
Teoremas de convergencia y del error
Teorema 1 Sea U un subconjunto completo de un espacio normado X y A : U → U una contracci´on. Entonces las aproximaciones sucesivas:
xn+1= Axn, para n = 0, 1, 2, . . . ,
con x0arbitrario en U, convergen al punto fijo ´unico x de A.
Prueba Sea x0 ∈ U entonces definimos recursivamente la siguiente sucesi´on
en U :
xn+1:= Axn, para n = 0, 1, 2, . . . .
De donde se tiene que:
kxn+1− xnk = kAxn− Axn−1k ≤ q kxn− xn−1k ,
luego por inducci´on se deduce que:
kxn+1− xnk ≤ qnkx1− x0k , para n = 0, 1, 2, . . . .
Por lo tanto para m > n se tiene que:
kxn− xmk ≤ kxn− xn+1k + kxn+1− xn+2k + · · · + kxm−1− xmk (1.1) ≤ qn+ qn+1+ · · · + qm−1 kx 1− x0k ≤ q n 1 − qkx1− x0k . Como qn→ 0 cuando n → ∞, entonces (x
n) es una sucesi´on de Cauchy y como
Corolario 1 [Cota del Error a Priori] Con las mismas hip´otesis del Teorema 1 se tiene el siguiente estimado para el error a priori:
kxn− xk ≤
qn
1 − qkx1− x0k . Prueba Es evidente de la desigualdad (1.1).
Corolario 2 [Cota del Error a Posteriori] Con las mismas hip´otesis del Teorema 1 se tiene el siguiente estimado para el error a posteriori:
kxn− xk ≤
q
1 − qkxn− xn−1k . Prueba Se deduce del error a priori iniciando con x0= xn−1.
Teorema 2 [Versi´on 1] Sea D ⊂ R un cerrado y sea g : D → D una funci´on continuamente diferenciable con la siguiente propiedad:
q := sup
x∈D
|g0(x)| < 1.
Entonces la ecuaci´on g(x) = x tiene soluci´on ´unica x ∈ D y la sucesi´on de aproximaciones sucesivas:
xn+1:= g(xn), para n = 0, 1, 2, . . .
con x0 arbitrario en D converge a esta soluci´on. Adem´as se tiene el siguiente
estimado para el error a priori:
|xn− x| ≤
qn
1 − q|x1− x0| , (1.2) y el siguiente estimado para el error a posteriori:
|xn− x| ≤
q
1 − q|xn− xn−1| . (1.3) Adem´as si D = [a, b] entonces se tiene tambi´en la siguiente cota del error:
|xn− x| ≤ qnmax{x0− a, b − x0}. (1.4)
Prueba El espacio R equipado de la norma valor absoluto | · | es un espacio de Banach. Por el teorema del valor medio, para todo x, y ∈ D con x < y se tiene que:
g(x) − g(y) = g0(ξ)(x − y) para alg´un punto ξ ∈ ]x, y[. Por lo tanto:
|g(x) − g(y)| ≤ sup
ξ∈D
lo cual tambi´en es v´alido para x, y ∈ D con x ≥ y. Por lo tanto g es una contracci´on, luego aplicando el Teorema de Banach o el Teorema 1 se tiene la existencia y unicidad del punto fijo.
De los corolarios 1 y 2 se tienen obviamente las desigualdades (1.2) y (1.3). Para probar la cota del error (1.4) note que:
|xn− x| = |g(xn−1) − g(x)| = |g0(ξ1)| · |xn−1− x| ≤ q |xn−1− x|
= q |g(xn−2) − g(x)| = q |g0(ξ2)| · |xn−2− x| ≤ q2|xn−2− x|
≤ · · ·
≤ qn|x0− x|
≤ qnmax{x0− a, b − x0}.
Teorema 3 [Versi´on 2] Sea g ∈ C[a, b], con g : [a, b] → [a, b]. Entonces:
1. g tiene un punto fijo en [a, b].
2. Adem´as si g0(x) existe en ]a, b[ y |g0(x)| ≤ q < 1, para todo x ∈ ]a, b[ entonces g tiene un punto fijo ´unico en [a, b].
Prueba
1. I Caso: Si g(a) = a o g(b) = b se tiene la prueba. II Caso: Si g(a) 6= a y g(b) 6= b ⇒ g(a) > a y g(b) < b Tome h(x) = g(x) − x, note que:
h es continua en [a, b], h(a) = g(a) − a > 0, h(b) = g(b) − b < 0,
luego h(a) y h(b) tienen signos opuestos, usando el teorema de los valores intermedios, se tiene que existe x ∈ [a, b] tal que h(x) = 0 ⇒ g(x) − x = 0 ⇒ g(x) = x, por lo x es el punto fijo de g.
2. Suponga que g tiene dos puntos fijos en [a, b], sean estos x y y, con x 6= y, entonces por el Teorema del Valor Medio existe ξ ∈ ]a, b[ tal que:
|x − y| = |g(x) − g(y)| = g0(ξ) |x − y| ≤ q |x − y| < |x − y|
de donde |x − y| < |x − y| , lo cual es una contradicci´on, luego se tiene que x = y.
Ejemplo 1 Pruebe que f (x) = x
2− 2x
Soluci´on: Se debe probar que f (x) ∈ [−1, 1] para todo x ∈ [−1, 1]. Como f0(x) = 1
6(2x − 2) = x − 1
3 = 0 ⇔ x = 1 entonces los m´aximos o m´ınimos posibles est´an en x = −1 o x = 1. Como f (−1) = 1
2 es m´aximo y f (1) = − 1 6 es m´ınimo entonces para todo x ∈ [−1, 1] se tiene que f (x) ∈ [−1, 1], de donde f tiene un punto fijo en [−1, 1].
Solo se ha probado que existe por lo menos un punto fijo, ahora tenemos que probar que es ´unico. Se debe probar que existe q < 1 tal que |f0(x)| ≤ q < 1, para todo x ∈ ] − 1, 1[. Note que:
| f0(x)| = x − 1 3 ≤ −1 − 1 3 =2 3 < 1, para todo x ∈ ] − 1, 1[, Luego f (x) tiene un punto fijo ´unico en [−1, 1].
Teorema 4 Sea x un punto fijo de una funci´on continuamente diferenciable g tal que |g0(x)| < 1. Entonces el m´etodo de la aproximaciones sucesivas xn+1 := g(xn), para n = 0, 1, 2, . . . es localmente convergente, es decir,
ex-iste un vecindario B del punto fijo x de g tal que el m´etodo de aproximaciones sucesivas converge a x, para x0∈ B.
Prueba Como g0 es continua y |g0(x)| < 1 entonces existe una constante 0 < q < 1 y δ > 0 tal que |g0(y)| < q para todo y ∈ B := [x − δ, x + δ]. Entonces se tiene que:
|g(y) − x| = |g(y) − g(x)| ≤ q |y − x| < |y − x| ≤ δ
para todo y ∈ B, por lo que se deduce que g mapea B en si mismo, o sea que g : B → B es una contracci´on, por lo que el resultado se tiene del Teorema 1. El Teorema 4 se ilustra en la Figura 1.1.
Figure 1.1: El m´etodo de aproximaciones sucesivas.
Algoritmo 1 [Para encontrar puntos fijos] Entrada: x0 (aproximaci´on inicial), T ol, N, g(x)
Salida: x (punto fijo aproximado) o mensaje de error Paso 1. i ← 1
Paso 2. Mientras i ≤ N siga los pasos 3–6 Paso 3. x ← g(x0) Paso 4. Si |x − x0| < T ol Salida x Parar Paso 5. i ← i + 1 Paso 6 x0← x
Paso 7. Mensaje de error (“N´umero m´aximo de iteraciones excedido”) Parar
Una implementaci´on iterativa en Mathematica es la siguiente:
PuntoFijo[X0 ,Tol , n , G ]:= Module[{i=1,X0Tem=X0,X},
While[i<=n, X=G[X0Tem];
Print[‘‘En la iteraci´on ’’,i, ‘‘el valor de X es ’’,N[X,15]]; If[Abs[X-X0Tem]<Tol, Return[X] ]; i++; X0Tem=X; ]; If[i==n+1,
Print[‘‘N´umero m´aximo de iteraciones excedido’’] ];
];
Una implementaci´on recursiva en Mathematica es la siguiente:
PuntoFijoRecursivo[X0 ,Tol ,N ,F ]:= Module[{X1}, X1=F[X0]; If[(Abs[(X0-X1)]<Tol)||(N<1), If[N>=1, X1,
Print[‘‘N´umero m´aximo de iteraciones excedido’’]; ]
PuntoFijoRecursivo[X1,Tol,N-1,F] ]
Ejemplo 2 Sea f (x) = e−x, es f´acil probar que f (x) mapea A = [0.5, 0.69] en si mismo (ejercicio). Como f es continuamente diferenciable tome
q = max x∈A| f 0(x)| = max x∈A −e−x ≈ 0.606531 < 1 Si se ejecuta el programa iterativo en Mathematica como sigue:
In[1]:=[PuntoFijo[0.55, 0.000001, 30, G], 15]
es decir, tomando x0 = 0.55 como aproximaci´on inicial, con ε = T ol = 10−6
para el algoritmo anterior obtenemos que el “punto fijo” de F es x = x19 =
0.567143650676, pues en x19 se termin´o la ejecuci´on del programa, como se
aprecia en la salida del programa:
En la iteraci´on 1 el valor de X es 0.576949810380487 En la iteraci´on 2 el valor de X es 0.561608769952327 En la iteraci´on 3 el valor de X es 0.570290858658895 En la iteraci´on 4 el valor de X es 0.565360974647922 En la iteraci´on 5 el valor de X es 0.568155020178646 En la iteraci´on 6 el valor de X es 0.566569784824922 En la iteraci´on 7 el valor de X es 0.567468643541252 En la iteraci´on 8 el valor de X es 0.566958798578383 En la iteraci´on 9 el valor de X es 0.567247933366687 En la iteraci´on 10 el valor de X es 0.567083945963931 En la iteraci´on 11 el valor de X es 0.567176948212764 En la iteraci´on 12 el valor de X es 0.567124201933893 En la iteraci´on 13 el valor de X es 0.567154116414135 En la iteraci´on 14 el valor de X es 0.567137150547289 En la iteraci´on 15 el valor de X es 0.567146772602292 En la iteraci´on 16 el valor de X es 0.567141315511106 En la iteraci´on 17 el valor de X es 0.567141315511106 En la iteraci´on 18 el valor de X es 0.567142655180367 En la iteraci´on 19 el valor de X es 0.567143650676 Out[1]:=0.567143650676
Por otro lado el error absoluto al calcular x12= 0.567124201933893 igual a:
|x − x12| ≈ 1.91 ∗ 10−5,
mientras que usando el error a priori se obtiene:
|x − x12| ≤
q12
1 − q|x1− x0| = 1.70 ∗ 10
−4
y usando el error a posteriori se obtiene que:
|x − x12| ≤
q
1 − q|x12− x11| = 8.13 ∗ 10
que es una mejor estimaci´on del verdadero error. Usando el error a priori se deduce que para obtener una precisi´on de ε = 10−6 se requieren al menos de:
n ≥ log ε(1 − q) |x1− x0|
/ log(q) ≈ 22.3 ≤ 23 iteraciones,
pero se observa que el programa requiri´o de 19 iteraciones. Ejecutando la versi´on recursiva se obtiene el mismo resultado:
N[PuntoFijo Re cursivo[0.55, 0.000001, 30, G], 15] es decir, x = 0.567143650676.
1.1.2
El m´
etodo de punto fijo para resolver ecuaciones de
una variable
Ejemplo 3 Resuelva la ecuaci´on x3− x − 1 = 0 en el intervalo [1, 2].
Soluci´on: Se debe plantear un problema de encontrar los puntos fijos de una funci´on g(x) que sea equivalente a resolver la ecuaci´on x3− x − 1 = 0. Resolver
x3− x − 1 = 0 es equivalente a resolver la ecuaci´on x3− 1 = x, entonces se
puede tratar de encontrar los puntos de g(x) := x3− 1. Pero g(x) no cumple las
hip´otesis del Teorema de Punto Fijo de Banach, pues g0(x) = 3x2 > 0 ⇒ g(x)
es creciente en [1, 2], luego g(1) = 0 y g(2) = 7 son el m´ınimo y el m´aximo de g(x) en el intervalo [1, 2] respectivamente, por lo que g(x) /∈ [1, 2] ∀x ∈ [1, 2]. Otro intento se puede hacer usando el hecho de que:
x3− x − 1 = 0 ⇔ x = ± r 1 + 1 x, luego tome g(x) := r 1 + 1 x, g 0(x) = − 1 2x2q1 + 1 x < 0 en [1, 2], esto implica
que g(x) es decreciente en [1, 2], luego g(1) =√2 ≈ 1.41, g(2) =q32 ≈ 1.22 son el m´aximo y el m´ınimo respectivamente de g(x) en [1, 2], por lo que g(x) ∈ [1, 2] ∀x ∈ [1, 2], luego la funci´on g(x) tiene al menos un punto fijo en [1, 2].
Se prob´o que g : [1, 2] → [1, 2], falta probar que g es una contracci´on en el intervalo [1, 2]. Veamos g0(x) = − 1 2x2q1 + 1 x ⇒ |g0(x)| = 1 2x2q1 + 1 x ≤1 2 := q < 1
de donde se puede tomar q :=1 2.
Ejecutando el programa de punto fijo con x0= 2 y = 10−5 se obtiene:
N[PuntoFijo[2,0.00001,30,G],15] En la iteraci´on 1 el valor de X es 1.22474487139159 En la iteraci´on 2 el valor de X es 1.3477746773581 En la iteraci´on 3 el valor de X es 1.31983475643837 En la iteraci´on 4 el valor de X es 1.32577170214339 En la iteraci´on 5 el valor de X es 1.32449147872207 En la iteraci´on 6 el valor de X es 1.32476667564583 En la iteraci´on 7 el valor de X es 1.32470747924203 En la iteraci´on 8 el valor de X es 1.32472021086795 En la iteraci´on 9 el valor de X es 1.32471747253653
Luego el punto fijo de g(x) y soluci´on de la ecuaci´on x3−x−1 = 0 en el intervalo
[1, 2] es: x = 1.32471747253653. Ejecutando la versi´on recursiva se obtiene la misma soluci´on:
In[9]:=N[PuntoFijoRecursivo[2,0.00001,30,G],15] Out[9]:=1.32471747253653
Usando el comando Solve de Mathematica se obtiene:
N[Solve[x^3 - x - 1 == 0, x]]
{{x->1.32472},{x->-0.662359+0.56228 I},{ x->-0.662359-0.56228 I}}
Que coincide con la soluci´on encontrada por nuestro programa. Gr´aficamente se ilustra el la Figura 1.2 usando el comando de Plot[{G[x],x},{x,0.1,3}] de Mathematica.
Ejemplo 4 Dada la ecuaci´on del ejemplo anterior x3− x − 1 = 0 en el intervalo [1, 2], ¿Cu´antas iteraciones se requieren para obtener un error absoluto menor que 10−5?
Soluci´on: Recuerde que q = 1
2 de donde se tiene que: |xn− x| ≤ qnmax{x0− a, b − x0} = 1 2 n max{1, 0} (con x0= 2) ≤ 1 2 n . Luego: |xn− x| ≤ 10−5⇔ 1 2 n ≤ 10−5⇔ n ≥ 16.6. Tome n = 17.
Observaci´on 1 En la pr´actica el programa requiri´o solamente 9 iteraciones.
Ejemplo 5 Para la ecuaci´on x3− x − 1 = 0 en el intervalo [1, 2], con x 0 = 2
estime usando el error a priori (1.2) ¿Cu´antas iteraciones se requieren para obtener un error absoluto menor que 10−5?
Soluci´on: Se tiene que
q = 1
2, x0= 2, g(x) = r
1 + 1 x.
De donde se obtiene que x1=
r 1 + 1 2 = r 3 2 ≈ 1.2 entonces: |xn− x| ≤ 1 2 n 1 − 12 |2 − 1.2| = 1 2 n−1 · 0.8, entonces: |xn− x| ≤ 10−5⇔ 1 2 n−1 · 0.8 ≤ 10−5 ⇔ (n − 1)(− log(2)) ≤ −5 − log(0.8),
esto implica que n ≥ 17.28, por lo que se puede tomar n = 18.
1.2
M´
etodo de la Bisecci´
on
Las hip´otesis de este m´etodo son:
• f debe ser continua en el intervalo [a, b]. • f (a) y f (b) deben tiener signos opuestos.
Luego por el Teorema de los Valores Intermedios existe x ∈ [a, b] tal que f (x) = 0, gr´aficamente se ilustra en la Figura 1.3.
Figure 1.3: El m´etodo de la bisecci´on.
La idea es encontrar una sucesi´on (xn) tal que xn → x cuando n → ∞ tal que
f (x) = 0. Para encontrar la sucesi´on (xn) la idea es la siguiente:
• Tome a1= a, b1= b, x1=
a1+ b1
2 .
• Si f (x1) = 0 entonces ya se tiene el cero de la ecuaci´on x = x1.
• Si no:
– Si f (x1) y f (a) tienen el mismo signo se toma:
a2= x1, b2= b1, x2= a2+ b2 2 . – Si no se toma: a2= a1, b2= x1, x2= a2+ b2 2 ,
y as´ı sucesivamente hasta que f (xi) ≈ 0 o hasta superar el n´umero
Algoritmo 2 [M´etodo de la Bisecci´on] Entrada: a, b, T ol (tolerancia), N, f .
Salida: Aproximaci´on de x (cero de la ecuaci´on) o mensaje de error Paso 1. i ← 1
Paso 2. Mientras i ≤ N, siga los pasos 3–6 Paso 3. x ← a + b 2 Paso 4. Si f (x) = 0 o |b − a| < T ol Salida (x) Parar Paso 5. i ← i + 1 Paso 6. Si f (a) · f (x) > 0 a ← x Si no b ← x
Paso 7. Salida ( “N´umero m´aximo de iteraciones excedido”) Parar
Este algoritmo se puede programar iterativamente en Mathematica como sigue:
Biseccion[a ,b ,Tol ,n ,G ]:=
Module[{i = 1, a1 = a, b1 = b, X}, If[G[a]G[b] > 0,
Print[‘‘El m´etodo no Converge], While[i<=n,
X=N[(a1 + b1)/2,15];
Print[‘‘En la iteraci´on ’’, i, ‘‘ el valor de X es ’’,X]; If[G[a]G[X]>0, a1 = X,b1 = X];
If[(G[X] == 0)||((b1 - a1) < Tol),Return[X]]; i++;
];
If[i==n+1,
Print[‘‘El m´etodo no Converge’’] ];
]; ];
Este algoritmo se puede programar recursivamente en Mathematica como sigue:
BiseccionRecursivo[a ,b ,Tol ,F ] := Module[{A=a,B=b,X},
X=(A+B)/2;
Return[X], If[F[A]*F[X]>0, BiseccionRecursivo[X,B,Tol,F], BiseccionRecursivo[A,X,Tol,F] ] ] ];
Ejemplo 6 Resuelva la ecuaci´on x3+ 4x2− 10 = 0 en el intervalo [1, 2] con una tolerancia de ε = 10−6.
Soluci´on: Usando en Mathematica los comandos: In[20]:=G[x ] := x^3 + 4 x^2 - 10;
Out[20]:=N[Biseccion[1,2,0.000001,50,G],15]; se obtiene la siguiente sucesi´on:
En la iteraci´on 1 el valor de X es 1.5 En la iteraci´on 2 el valor de X es 1.25 En la iteraci´on 3 el valor de X es 1.375 En la iteraci´on 4 el valor de X es 1.3125 En la iteraci´on 5 el valor de X es 1.34375 En la iteraci´on 6 el valor de X es 1.359375 En la iteraci´on 7 el valor de X es 1.3671875 En la iteraci´on 8 el valor de X es 1.36328125 En la iteraci´on 9 el valor de X es 1.365234375 En la iteraci´on 10 el valor de X es 1.3642578125 En la iteraci´on 11 el valor de X es 1.36474609375 En la iteraci´on 12 el valor de X es 1.364990234375 En la iteraci´on 13 el valor de X es 1.3651123046875 En la iteraci´on 14 el valor de X es 1.36517333984375 En la iteraci´on 15 el valor de X es 1.36520385742188 En la iteraci´on 16 el valor de X es 1.36521911621094 En la iteraci´on 17 el valor de X es 1.36522674560547 En la iteraci´on 18 el valor de X es 1.36523056030273 En la iteraci´on 19 el valor de X es 1.3652286529541 En la iteraci´on 20 el valor de X es 1.36522960662842 Ejecutando la versi´on recursiva se obtiene:
1.2.1
Estudio del error en el m´
etodo de la bisecci´
on
Teorema 5 Sea f ∈ C[a, b], con f (a)f (b) < 0. Entonces el algoritmo de la bisecci´on produce una sucesi´on (xn) que aproxima a x, el cero de la ecuaci´on
f (x) = 0, con un error absoluto tal que:
|xn− x| < b − a 2n para n ≥ 1. (1.5) Prueba |b1− a1| = |b − a| |b2− a2| = 1 2|b − a| |b3− a3| = 1 22|b − a| .. . |bn− an| = 1 2n−1|b − a| como x ∈ ]an, bn[ y xn = an+ bn 2 se tiene que: |xn− x| ≤ |bn− an| 2 = 1 2· 1 2n−1|b − a| = 1 2n(b − a). Observaci´on 3 |xn− x| < b − a 2n ⇒ |xn− x| 1 2n
< b − a = k, esto implica que la
sucesi´on (xn) es O
1 2n
, es decir, xn→ x con r´apidez
1
2n, lo cual es bastante
r´apido.
Ejemplo 7 Para f (x) = x3+ 4x2− 10, con a = 1 y b = 2; usando (1.5) hallar
el n ∈ N necesario para tener un error absoluto menor a ε = 10−6. Soluci´on: |xn− x| < b − a 2n < 10 −6 ⇔ 2−n< 10−6 ⇔ −n log 2 < −6 ⇔ n > 6 log 2 ⇔ n > 19.9 Entonces se puede escoger n = 20.
1.3
M´
etodo de Newton–Raphson
El m´etodo de Newton–Raphson es uno de los m´as poderosos para resolver la ecuaci´on f (x) = 0. Si f es una funci´on de una variable y x0es una aproximaci´on
a cero de la funci´on f, entonces en un vecindario de x0por la f´ormula de Taylor
se tiene que:
f (x) ≈ f (x0) + f0(x0)(x − x0).
Si se define g(x) := f (x0) + f0(x0)(x − x0) entonces el cero de la funci´on af´ın
g(x) se puede considerar como una nueva aproximaci´on al cero de f (x) el cual denotamos por x1. Luego se tiene que:
g(x1) = f (x0) + f0(x0)(x1− x0) = 0, despejando se tiene: x1= x0− f (x0) f0(x 0) . (1.6)
Geom´etricamente la funci´on af´ın g(x) representa la recta tangente a f (x) en el punto x0, esto se ilustra en la Figura 1.4.
Figure 1.4: M´etodo de Newton.
De la Figura 1.4 tambi´en se puede deducir el m´etodo de Newton–Raphason, n´otese que:
f0(xi) =
f (xi) − 0
xi− xi+1
lo cual implica que:
xi− xi+1=
f (xi)
de donde:
xi+1= xi−
f (xi)
f0(x i)
que es la sucesi´on del m´etodo de Newton–Raphson.
Observaci´on 5 El m´etodo de Newton–Raphson consiste en dise˜nar un algo-ritmo que calcule la sucesi´on:
xn = x0 si n = 0 xn−1− f (xn−1) f0(x n−1) si n > 0
Algoritmo 3 [M´etodo de Newton–Raphson] Entrada: x0, N, T ol, f .
Salida: La soluci´on x aproximada de la ecuaci´on f (x) o mensaje de error. Paso 1. i ← 1
Paso 2. Mientras i ≤ N, pasos 3-6 Paso 3. x ← x0− f (x0) f0(x 0) Paso 4. Si |x − x0| < T ol Salida (x) Parar. Paso 5. i ← i + 1 Paso 6. x0← x
Paso 7. Salida ( “N´umero m´aximo de iteraciones excedido”) Parar
El m´etodo de Newton–Raphson se puede implementar iterativamente en Math-ematica como sigue:
NewtonRaphson[x0 , Tol , n , F ] := Module[{i = 1, X0Tem = x0, x}, G[X ] = D[F[X],X]; While[(i <= n), x = N[X0Tem - F[X0Tem]/G[X0Tem],15]; Print[‘‘En la iteraci´on ’’, i, ‘‘ el valor de x es ’’, x]; If[Abs[x - X0Tem] < Tol, Return[x]]; i++;
X0Tem = x; ];
If[i <= n, Return[x],
Print[‘‘N´umero m´aximo de iteraciones excedido’’] ];
El m´etodo de Newton–Raphson se puede implementar recursivamente en Math-ematica como sigue:
NewtonRaphsonRecursivo[x0 , Tol , n , F ] := Module[{X0Tem = x0, x},
G[X ] = D[F[X],X];
x = X0Tem - F[X0Tem]/G[X0Tem];
If[(Abs[x - X0Tem] < Tol) || (n == 0), If[n > 0,
Return[x],
Print[‘‘N´umero m´aximo de iteraciones excedido’’]] NewtonRaphsonRecursivo[x, Tol, n-1, F]
] ];
Ejemplo 8 Ejecutando el programa iterativo para resolver la ecuaci´on e−x− x = 0 con x0 = 1 como aproximaci´on inicial y con una tolereacia de = 10−6
se obtiene la siguiente: In[2]:=F[x ]:=N[Exp[-x]-x]; In[3]:=N[NewtonRaphson[1,0.000001,20,F],15] En la iteraci´on 1 el valor de x es 0.53788284273999 En la iteraci´on 2 el valor de x es 0.566986991405413 En la iteraci´on 3 el valor de x es 0.567143285989123 En la iteraci´on 4 el valor de x es 0.567143290409784 Out[3]:=0.567143290409784
Mientras que ejecutando el programa recursivo se obtiene: In[5]:=N[NewtonRaphsonRecursivo[1,0.000001,20,F],15] Out[5]:=0.567143290409784
Teorema 6 Sea f ∈ C2[a, b]. Si x ∈ [a, b] con f (x) = 0 y f0(x) 6= 0, entonces
existe > 0 tal que el m´etodo de Newton–Raphson:
xn+1:= xn−
f (xn)
f0(x n)
genera una sucesi´on que est´a bien definida y converge a x cuando n → ∞, para todo x0∈ [x − , x + ].
Prueba Sea
g(x) := x − f (x) f0(x).
pn:=
p0 si n = 0
g(pn−1) si n ≥ 1
Es claro que la (pn) es la sucesi´on de Newton–Rapson, entonces basta probar
que g cumple las hip´otesis del Teorema de punto fijo de Banach, a saber que: ∃ > 0 y q ∈ ]0, 1[ tal que ∀ x ∈ ]ex − ,x + [ ⇒ |ge 0(x)| ≤ q < 1, y que g mapea el intervalo [x − ,e ex + ] en si mismo.
Como f0(
e
x) 6= 0 y f0 es continua se tiene que existe un
1> 0 tal que f0(x) 6= 0
para todo x ∈ ]ex − 1,ex + 1[ ⊂ [a, b], de esta manera g est´a definida y es continua en ]x − e 1,ex + 1[. Tambi´en lo est´a:
g0(x) = f (x)f
00(x)
[f0(x)]2 para todo x ∈ ]ex − 1,x + e 1[.
Como f ∈ C2[a, b] entonces g ∈ C1[ex − 1,x + e 1]. Como por hip´otesis f (x) = 0e
entonces: g0(ex) = f (x)fe 00( e x) [f0( e x)]2 = 0.
Luego como g0 es continua, esto implica que para cualquier constante q < 1 existe un , con 0 < < 1 y tal que:
|g0(x)| ≤ q < 1 para todo x ∈ ]x − ,e ex + [.
Solo falta probar que g : ]x − ,e ex + [→]ex − ,x + [, pero si x ∈ ]e ex − ,x + [e por el Teorema del Valor Medio para alg´un ξ entre x yex se tiene que:
|g(x) − g(x)| = |ge 0(ξ)| |x −x| ,e entonces:
|g(x) −x| = |g(x) − g(e ex)| = |g0(ξ)| |x −ex| ≤ q |x −x| < |x −e ex| . (1.7) Como x ∈ ]x − ,e ex + [ entonces |x −ex| < luego por (1.7) se tiene que |g(x) −ex| < lo cual implica que g(x) ∈ ]x − ,e ex + [ con lo que se prueba que g : ]ex − ,x + [→]e ex − ,x + [.e
Ejemplo 9 Hallar un m´etodo para calcular√A, con A ≥ 0.
Soluci´on: Probaremos que la sucesi´on (xn) definida por xn+1=
1 2 xn+ A xn
converge a√A. N´otese que calcular√A es equivalente a resolver la ecuaci´on:
usando el m´etodo de Newton–Raphson con f (x) = x2− A y f0(x) = 2x se tiene que: xn+1 = xn− f (xn) f0(x n) = xn− x2 n− A 2xn = 1 2 xn+ A xn .
De donde es claro que la sucesi´on xn→
√
A cuando n → ∞.
1.4
M´
etodo de la Secante
El problema con el m´etodo de Newton–Rapson es que requiere la derivada de f (x) la cual en muchos casos no se tiene. La idea del m´etodo de la secante es usar una aproximaci´on para esta derivada, como se ilustra en la Figura 1.5.
Figure 1.5: M´etodo de la secante.
La deducci´on del m´etodo es la siguiente:
f0(xn−1) = lim n→xn−1 f (x) − f (xn−1) x − xn−1 ≈ f (xn−2) − f (xn−1) xn−2− xn−1 . (1.8) Si en el m´etodo de Newton–Rapson xn= xn−1− f (xn−1) f0(x n−1) sustituimos f0(x n−1)
xn ≈ xn−1−
f (xn−1)
f (xn−2) − f (xn−1)
xn−2− xn−1
,
simplificando se obtiene el M´etodo de la Secante:
xn≈ xn−1−
(xn−2− xn−1)f (xn−1)
f (xn−2) − f (xn−1)
.
Entonces el m´etodo de la secante consiste en calcular la sucesi´on (xn) definida
por: xn = x0 si n = 0 x1 si n = 1 xn−1− (xn−2− xn−1)f (xn−1) f (xn−2) − f (xn−1) si n ≥ 2
El siguiente algoritmo permite calcular esta sucesi´on:
Algoritmo 4 [M´etodo de la Secante] Entrada: N, T ol, x0, x1
Salida: Aproximaci´on de x, con f (x) = 0 o mensaje de error Paso 1. i ← 2
Paso 2. Mientras i ≤ N, pasos 3–6 Paso 3. x ← x1− (x0− x1)f (x1) f (x0) − f (x1) Paso 4. Si |x − x0| < T ol Salida (x) Parar Paso 5. x0← x1 x1← x Paso 6. i ← i + 1
Paso 7. Salida (“N´umero m´aximo de iteraciones excedido”) Parar
Una implementaci´on iterativa en Mathematica del algoritmo anterior es la siguiente:
Secante[X0 ,X1 ,Tol ,N ,F ]:=
Module[{i=2,X0Tem=X0,X1Tem=X1,X}, While[(i<=N),
X=X1Tem-((X0Tem-X1Tem)*F[X1Tem]/(F[X0Tem]-F[X1Tem])); Print[‘‘En la iteraci´on ’’,i,‘‘ el valor de X es ’’,X]; If[(Abs[X-X1Tem])<Tol,Return[X]];
If[i==N+1,
Print[‘‘N´umero m´aximo de iteraciones excedido’’] ];
];
Una implementaci´on recursiva en Mathematica del algoritmo anterior es la siguiente: SecanteRecursivo[X0 ,X1 ,Tol ,N ,F ]:= Module[{X0Tem=X0,X1Tem=X1,X}, X=X1Tem-((X0Tem-X1Tem)*F[X1Tem]/(F[X0Tem]-F[X1Tem])); If[((Abs[X-X1Tem])<Tol)||(N==0), If[N>=1, Return[X],
Print[‘‘N´umero m´aximo de iteraciones excedido’’]], SecanteRecursivo[X1,X,Tol,N-1,F]
] ];
Ejemplo 10 Ejecutando el programa iterativo para resolver la ecuaci´on e−x− x = 0 con x0= 1 y x1= 12 como aproximaciones iniciales y con una tolereacia
de = 10−6 se obtiene la siguiente: In[1]:=F[x ]:=Exp[-x]-x In[2]:=N[Secante[1,0.5,0.000001,100,F],15] En la iteraci´on 2 el valor de P es 0.572112 En la iteraci´on 3 el valor de P es 0.567204 En la iteraci´on 4 el valor de P es 0.567143 En la iteraci´on 5 el valor de P es 0.567143 Out[2]:=0.567143290410387
Mientras que ejecutando la versi´on recursiva se obtiene: In[3]:=N[SecanteRecursivo[1,0.5,0.000001,100,F],15] Out[3]:=0.567143290410387
Teorema 7 Sea f una funci´on de clase C2[a, b] con a < b. Si existe un punto
x tal que f (x) = 0 y f0(x) 6= 0 entonces existe un n´umero > 0 tal que si x0y
x1 est´an dentro del intervalo [x − , x + ] la sucesi´on generada por el m´etodo
de la secante
xn= xn−1−
(xn−2− xn−1)f (xn−1)
f (xn−2) − f (xn−1)
.
est´a bien definida dentro del intervalo [x − , x + ] y converge a x (cero de la ecuaci´on f (x) = 0).
1.5
Orden de convergencia
Definici´on 1 Sea (xn) una sucesi´on que converge a x, se denota en:= xn− x
para n ≥ 0. Si existen constantes α y λ positivas, tal que:
lim n→∞ |xn+1− x| |xn− x| α = lim n→∞ |en+1| |en| α = λ,
entonces se dice que la sucesi´on (xn) converge a x con orden α y con constante
asint´otica λ.
Observaci´on 6 • Entre mayor sea el orden de convergencia, o sea entre mayor sea α, mayor ser´a la “velocidad” de convergencia.
• Si α = 1, se dice que el m´etodo tiene orden lineal. • Si α = 2, se dice que el m´etodo tiene orden cuadr´atico.
Ejemplo 11 Suponga que tenemos dos esquemas (sucesiones) xn yxental que: • lim n→∞ |en+1| |en| = 0.75 (m´etodo lineal). • lim n→∞ |een+1| |een|2
= 0.75 (m´etodo cuadr´atico).
• Se supone adem´as que e0= 0.5 yee0= 0.5
¿Cu´antas iteraciones requieren xn y xen para converger con un error absoluto
menor a 10−8? Soluci´on:
1. Analicemos primero la sucesi´on (esquema) xn:
|xn+1− x| < 10−8⇔ |en+1| < 10−8.
Pero |en+1| |en|
≈ 0.75 de donde |en+1| ≈ 0.75 |en| ≈ 0.752|en−1| ≈ · · · ≈
0.75n|e0| = 0.75n· 0.5, esto implica que:
|en+1| < 10−8⇔
0.75n· 0.5 < 10−8⇔
n log(0.75) < −8 − log(0.5) ⇔ n > −8 − log(0.5)
log(0.75) ≈ 61.62.
Se puede tomar n = 62, por lo tanto xn requiere aproximadamente 62
2. Analicemos ahora la sucesi´onexn: |exn+1− x| < 10−8⇔ |een+1| < 10−8. Pero |een+1| |een| 2 ≈ 0.75 de donde |een+1| ≈ 0.75 |een| 2 ≈ 0.75h0.75 |een−1|2 i2 = 0.753| e en−1| 4 ≈ 0.753h0.75 | e en−2| 2i4 = 0.757| e en−2| 8 ≈ · · · ≈ 0.752n+1−1| e e0| 2n+1 , de donde |een+1| < 10−8⇔ 0.752n+1−1|ee0| 2n+1 < 10−8⇔ 0.752n+1−1· 0.52n+1 < 10−8⇔ 0.75−1· 0.3752n+1 < 10−8⇔ 2n+1log(0.375) < −8 + log(0.75) ⇔ 2n+1 > −8 + log(0.5) log(0.375) ⇔ (n + 1) log(2) > log(19.07) ⇔ n > log(19.07) log(2) − 1 ≈ 3.24,
luego n = 4, por lo que exn requiere solamente de n = 4 iteraciones para
converger a x mientras que esquema lineal requiri´o de aproximadamente 62 iteraciones para converger a x.
Teorema 8 Sea xn =
x0 si n = 0
g(xn−1) si n ≥ 1
el esquema (la sucesi´on) de punto fijo visto en la secci´on 1.1. Si adem´as se supone que:
• g : [a, b] → [a, b]. • g ∈ C2[a, b].
• Existe q tal que 0 ≤ q < 1 y |g0(x)| ≤ q < 1 para todo x ∈ ]a, b[.
• g0(x) 6= 0 para x el punto fijo de g.
Entonces (xn) converge al menos linealmente a x, cuando n → ∞.
Prueba
|en+1| = |xn+1− x| = |g(xn) − g(x)| = |g0(ξn)(xn− x)| = |g0(ξn)en|
con ξn entre xn y x. Como xn → x cuando n → ∞ y ξn est´a entre xn y x
Por lo tanto lim
n→∞
|en+1|
|en|
= g0(x) := λ < 1, de donde la convergencia es lineal.
Teorema 9 Seaex un punto fijo de g, adem´as g0(
e
x) = 0, g00 es continua en un
intervalo abierto I que contiene a x y g00(
e
x) 6= 0. Entonces existe > 0 tal que para x0∈ [ex − ,ex + ] la sucesi´on xn =
x0 si n = 0
g(xn−1) si n ≥ 1
converge al menos cuadr´aticamente ax.e
Prueba Escoja tal que intervalo [ex − ,x + ] est´e e contenido en I, |g0(x)| ≤ q < 1 y g00 sea continua. Como |g0(x)| ≤ q < 1 se tiene que los t´erminos de la sucesi´on (xn) est´an contenidos en [x − ,e x + ]. Expandiendo g(x) en sue
polinomio de Taylor para x ∈ [ex − ,x + ] se tiene que:e
g(x) = g(x) + ge 0(ex)(x −ex) +g
00(ξ)
2 (x −ex)
2,
con ξ entre x yx. Por hip´e otesis g(ex) =x y ge 0(x) = 0, esto implica que:e g(x) =x +e g
00(ξ)
2 (x −x)e
2.
En particular si se toma x = xn entonces:
xn+1= g(xn) =ex +
g00(ξn)
2 (xn−x)e
2.
con ξn entre xn yex. Luego
xn+1−x =e
g00(ξn)
2 (xn−x)e
2. (1.9)
.
Como |g0(x)| ≤ q < 1 y g mapea [ex − ,x + ] en si mismo es claro que (xe n)
converge ax punto fijo de g, entonces como ξe n est´a entre xn y ex la sucesi´on (ξn) converge tambi´en a ex. Luego usando (1.9) se deduce que:
lim n→∞ |xn+1−x|e |xn−x|e 2 = |g00( e x)| 2 = λ 6= 0. Entonces la sucesi´on (xn) converge cuadr´aticamentex.e Corolario 3 Sea f ∈ C3[a, b]. Si
e
x ∈ [a, b] con f (ex) = 0, f0(ex) 6= 0 y f00(x) 6= 0,e entonces existe > 0 tal que el m´etodo de Newton–Raphson:
xn+1:= xn−
f (xn)
f0(x n)
Prueba La convergencia de (xn) se demostr´o en el Teorema 6. Usando el
teorema anterior se concluye el corolario, pues si se toma g(x) := x − f (x) f0(x) entonces g(x) =e ex − f (x)e f0( e x) =x pues f (e ex) = 0 y f 0( e x) 6= 0. Adem´as g0(x) = 1 −f 0(x)f0(x) − f (x)f00(x) (f0(x))2 = 1 − 1 − f (x)f00(x) [f0(x)]2 = − f (x)f00(x) [f0(x)]2 de donde g0(x) = 0, pues f (e x) = 0.e Como: g00(x) = [f 0(x)]2 f00(x) + f (x)f0(x)f(3)(x) − 2f (x) [f00(x)]2 [f0(x)]3 , entonces g00( e x) = f 00( e x) f0( e x) 6= 0. Es claro que g
00 es continua en un intervalo que
contiene ax dado que f ∈ Ce 3[a, b]. Entonces g(x) cumple todas las hip´otesis
del teorema anterior por lo que (xn) converge cuadr´aticamente aex.
Teorema 10 Sea f una funci´on de clase C2[a, b]. Si existe un puntox tal quee f (x) = 0, fe 0(
e
x) 6= 0 y f00(
e
x) 6= 0 entonces existe un n´umero > 0 tal que si x0
y x1est´an dentro del intervalo [x − , x + ] la sucesi´on generada por el m´etodo
de la secante
xn= xn−1−
(xn−2− xn−1)f (xn−1)
f (xn−2) − f (xn−1)
.
converge ax con orden de al menose 1 + √
5
2 ≈ 1.618. Prueba (Ejercicio) Sugerencias: Pruebe que
|en+1| ≈ C · |en| · |en−1| , (1.10) con C := |f 00( e x)| |2f0( e
x)|. Por la definici´on 1 se busca una soluci´on aproximada a la ecuaci´on
|en| = λ |en−1| α
, (1.11)
con λ > 0 y α ≥ 1. Pero considerando (1.10) como una ecuaci´on y sustituyendo en (1.11) se tiene que: λ |en| α = λλα|en−1| α2 = Cλ |en−1| α+1 . (1.12) La ecuaci´on (1.12) es v´alida solamente para n suficientemente grandes si:
1.6
Convergencia acelerada y el m´
etodo de
Steffensen
1.6.1
El m´
etodo 4
2de Aitken
El m´etodo 42de Aitken tiene las siguientes hip´otesis:
1. (xn) converge linealmente a x con constante as´ınt´otica λ tal que 0 < λ < 1.
2. Los signos de xn− x, xn+1− x y xn+2− x son iguales.
3. Se asume que para n suficientemente grande: xn+1− x
xn− x
≈ xn+2− x xn+1− x
. (1.13)
La idea es encontrar una sucesi´on (xen) la cual converge “m´as r´apidamente” a x
que la sucesi´on (xn). Note que de (1.13):
⇒ (xn+1− x)(xn+1− x) ≈ (xn− x)(xn+2− x) ⇒ x2n+1− 2xxn+1+ x2≈ xn+2xn− xxn+2− xxn+ x2 ⇒ −2xxn+1+ xxn+2+ xxn≈ −x2n+1+ xn+2xn ⇒ (−2xn+1+ xn+2+ xn)x ≈ −x2n+1+ xn+2xn ⇒ x ≈ −x 2 n+1+ xn+2xn (−2xn+1+ xn+2+ xn) ⇒ x ≈ xn+2xn− x 2 n+1 xn+2− 2xn+1+ xn ⇒ x ≈ x 2 n+ xn+2xn− 2xnxn+1− x2n+ 2xnxn+1− x2n+1 xn+2− 2xn+1+ xn ⇒ x ≈ xn(xn+ xn+2− 2xn+1) − (xn+1− xn) 2 xn+2− 2xn+1+ xn ⇒ x ≈ xn− (xn+1− xn)2 xn+2− 2xn+1+ xn
El m´etodo de 42 de Aitken se basa en el hecho de que la sucesi´on (
e xn) definida por: e xn+3:= xn− (xn+1− xn)2 xn+2− 2xn+1+ xn ,
bajo ciertas condiciones, converge “m´as rapidamente” a x que la sucesi´on (xn).
• 4k(x
n) = 4k−1(4xn) para k ≥ 2.
Observaci´on 7 N´otese que con esta notaci´on se tiene: 42(xn) = 4(4xn)
= 4xn+1− 4xn
= xn+2− xn+1− (xn+1− xn)
= xn+2− 2xn+1+ xn.
Por lo que el m´etodo 42de Aitken se puede escribir como: e xn+3:= xn− (4xn)2 42x n . (1.14)
Pero ¿qu´e quiere decir que una sucesi´on (exn) converge m´as r´apido a x que la
sucesi´on (xn)?
Definici´on 2 Sean (xn) y (xen) dos sucesiones que convergen a x, se dice que
la sucesi´on (xen) converge m´as r´apido a x que la sucesi´on (xn) si:
lim n→∞ e xn− x xn− x = 0.
Teorema 11 Sea (xn) una sucesi´on que converge a x con orden lineal con
constante asint´otica λ < 1, adem´as se asume que en = xn− x 6= 0 para todo
n. Entonces la sucesi´on (xen), definida en (1.14), converge a x m´as r´apido que
(xn).
Prueba Ejercicio.
1.6.2
El m´
etodo de Steffensen
Por el Teorema 8 la sucesi´on de aproximaciones sucesivas (xn) converge
lineal-mente a x, cuando n → ∞ con constante asint´otica λ < 1, entonces tiene sentido aplicar el m´etodo 42 de Aitken a ´esta sucesi´on. Es as´ı como una combinaci´on
entre el m´etodo de aproximaciones sucesivas y el m´etodo 42de Aitken producen
un m´etodo conocido como el M´etodo de Steffensen, el cual consiste en calcular la sucesi´on: xn+1:= xn− [g(xn) − xn] 2 g(g(xn)) − 2g(xn) + xn . (1.15)
Algoritmicamente el M´etodo de Steffensen para acelerar el m´etodo de punto fijo se puede expresar de la siguiente manera. Sea x0 la aproximaci´on inicial en el
x(0)0 = x0 x(0)1 = gx(0)0 x(0)2 = gx(0)1 x(1)0 = 42x(0) 0 = x(0)0 − h x(0)1 − x(0)0 i 2 x(0)2 − 2x(0)1 + x(0)0 x(1)1 = gx(1)0 x(1)2 = gx(1)1 x(2)0 = 42x(1) 0 = x(1)0 − h x(1)1 − x(1)0 i2 x(1)2 − 2x(1)1 + x(1)0 .. .
En pseudoc´odigo el M´etodo de Steffensen se puede expresar como sigue:
Algoritmo 5 [M´etodo de Steffensen] Entrada: N, T ol, x0, g
Salida: Aproximaci´on de x o mensaje de error Paso 1. i ← 2
Paso 2. Mientras i ≤ N, siga los pasos 3–6 Paso 3. x1= g(x0) x2= g(x1) x = x0− (x1− x0)2 x2− 2x1+ x0 Paso 4. Si |x − x0| < T ol Salida (x) Parar Paso 5. i ← i + 1 Paso 6. x0← x
Paso 7. Salida ( “N´umero m´aximo de iteraciones excedido”) Parar
x=N[x0Tem-(x1-x0Tem)^2/(x2-2*x1+x0Tem)]; Print[‘‘En la iteraci´on ’’, i, ‘‘ el valor de x es ’’,N[x,15]]; If[Abs[x-x0Tem]<Tol,Return[x]]; i++; x0Tem=x; ]; If[i==n+1,
Print[‘‘N´umero m´aximo de iteraciones excedido’’]]; ];
Este algoritmo se puede programar recursivamente en Mathematica como sigue: SteffensenRecursivo[x0 ,Tol ,n ,G ]:= Module[{x1,x2,x}, x1=N[G[x0]]; x2=N[G[x1]]; x=N[x0Tem-(x1-x0Tem)^2/(x2-2*x1+x0Tem)]; If[(Abs[(x-x0)]<Tol)||(n < 1), If[n>=1, x,
Print[‘‘N´umero m´aximo de iteraciones excedido’’] ],
SteffensenRecursivo[x,Tol,n-1,G] ]
];
Ejemplo 12 Resuelva la ecuaci´on x3− x − 1 = 0 en el intervalo [1, 2] con = 10−5.
Soluci´on: Como se mostr´o en el ejemplo 3, utilizando g(x) = r
1 + 1
xel m´etodo de punto fijo requir´ıo de 9 iteraciones para resolver esta ecuaci´on, con una tolerancia de = 10−5, mientras que el M´etodo de Steffensen requiere solamente
de 5 iteraciones, como se muestra seguidamente: In[32]:=G[x ]:=Sqrt[1+1/x] In[33]:=N[Steffensen[2,0.00001,100,G],15] En la iteraci´on 1 el valor de x es 1.37502 En la iteraci´on 2 el valor de x es 1.32478 En la iteraci´on 3 el valor de x es 1.32472 En la iteraci´on 4 el valor de x es 1.32472 Out[33]:=1.32472
Teorema 12 Si el m´etodo de punto fijo xn+1 = g(xn) converge linealmente
Prueba (Ejercicio) Suponga que g(x) es un n´umero suficiente de veces deriv-able, luego pruebe que: