Métodos iterativos óptimos para la resolución de

Anuncio
Métodos iterativos óptimos para la resolución
de ecuaciones no lineales
Juan R. Torregrosa, Alicia Cordero, José L. Hueso
Instituto de Matemática Multidisciplinar, Universitat Politècnica de València
[email protected], [email protected], [email protected]
Eulalia Martı́nez
Instituto de Matemática Pura y Aplicada, Universitat Politècnica de València
[email protected]
Resumen
En este trabajo mostramos diferentes técnicas para diseñar métodos de tipo
Steffensen con orden de convergencia 4. Algunas de estas técnicas se pueden
extender para conseguir métodos de orden superior. Los distintos métodos descritos son óptimos según la conjetura de Kung-Traub. Los ejemplos numéricos
presentados muestran el comportamiento de los métodos descritos, sobre ecuaciones no suaves, confirman los resultados teóricos obtenidos y nos permiten
hacer un estudio comparativo entre los diferentes métodos.
1.
Introducción
La resolución de ecuaciones no lineales es un problema clásico con interesantes aplicaciones en múltiples ramas de la ciencia y la ingenierı́a. En este trabajo,
describimos nuevos métodos iterativos para encontrar una raı́z simple α de una
ecuación no lineal f (x) = 0. El método iterativo más conocido es el método de
k)
Newton, xk+1 = xk − ff0(x
(xk ) , k = 0, 1, . . ., que bajo ciertas condiciones converge
cuadráticamente en un entorno de α. Si reemplazamos f 0 (xk ) por una diferencia dividida progresiva obtenemos el conocido método de Steffensen (SM), cuya
expresión iterativa es
xk+1 = xk −
(f (xk ))2
, k = 0, 1, . . .
f (xk + f (xk )) − f (xk )
Este esquema sigue siendo de segundo orden, utiliza el mismo número de evaluaciones funcionales, pero a diferencia del método de Newton es libre de derivadas.
Para mejorar las propiedades de convergencia, se han propuesto en los últimos años numerosas variantes del método de Steffensen. Algunas utilizan diferencias divididas centrales, otras componen dos métodos de órdenes p y q
para conseguir un método de orden pq y posteriormente aproximan la derivada
mediante diferentes técnicas. Por ejemplo, Jain in [5] combina los métodos de
Newton y secante para obtener el siguiente esquema (SSM):
xk+1 = xk −
(f (xk ))3
,
[f (xk + f (xk )) − f (xk )][f (xk ) − f (yk )]
(1)
donde yk es la k-ésima iteración del método de Steffensen. Este proceso sólo usa
tres evaluaciones funcionales por iteración y tiene orden de convergencia 3.
Componiendo los métodos de Newton y Steffensen, y utilizando una particular aproximación de la derivada, Liu et al. en [6] derivan el método de orden
4, (LZZ)
xk+1 = yk −
f [xk , yk ] − f [yk , zk ] + f [xk , zk ]
f (yk ), k = 0, 1, . . .
f [xk , yk ]2
(2)
donde yk es la aproximación de Steffensen, zk = xk +f (xk ) y f [·, ·] es la diferencia
dividida de orden 1.
Utilizando técnicas similares, Ren et al. describen en [8] una familia uniparamétrica (con a como parámetro) de métodos de orden 4, (RWB)
xk+1 = yk −
f (yk )
,
f [xk , yk ] + f [yk , zk ] − f [xk , zk ] + a(yk − xk )(yk − zk )
(3)
donde yk es la aproximación del método de Steffensen.
Las técnicas para eliminar las derivadas normalmente hacen crecer el número
de evaluaciones funcionales por iteración. Habitualmente, la eficiencia de un
método iterativo se mide por el ı́ndice de eficiencia definido como I = p1/d
(ver [7]), donde p es el orden de convergencia y d el número de evaluaciones
funcionales por iteración. Kung y Traub conjeturaron en [4] que el orden de
convergencia de cualquier método multipaso sin memoria no podı́a exceder la
cota de 2d−1 , llamado orden óptimo. Por tanto, el orden óptimo para métodos
con 3, 4 ó 5 evaluaciones funcionales por paso será 4, 8 ó 16, respectivamente.
En este trabajo, describimos métodos óptimos de tipo Steffensen (libres de
derivadas) de diferentes órdenes componiendo los métodos de Steffensen y Newton y utilizando diferentes técnicas para aproximar la derivada. En la Sección
2 describimos métodos óptimos de orden 4 aproximando la derivada por combinación de diferencias divididas, polinomios cuadráticos o por interpolación de
funciones base. Algunas de las técnicas anteriores se pueden generalizar para
obtener métodos óptimos de orden superior, lo que pondremos de manifiesto
en la Sección 3. Finalmente, en la Sección 4 analizamos el comportamiento de
algunos de los métodos descritos sobre funciones no derivables.
2.
Descripción de los métodos y convergencia
Es sencillo comprobar que el siguiente esquema Steffensen-Newton
yk
γ(f (xk ))2
,
f (zk ) − f (xk )
=
xk −
=
f (yk )
yk − 0
,
f (yk )
(4)
xk+1
donde zk = xk + γf (xk ), γ 6= 0, es una familia uniparamétrica de métodos de
cuarto orden. Para γ = 1 tenemos el caso particular del método de Steffensen.
Para evitar la evaluación de la primera derivada nos planteamos la siguiente
cuestión:
¿Qué expresión deberı́amos utilizar para reemplazar f 0 (yk ) y seguir
manteniendo el orden de convergencia 4?
Vamos a responder a esta pregunta con diferentes técnicas de aproximación.
Combinación de diferencias divididas.
En [3] los autores trabajan con γ = 1 y aproximan f 0 (yk ) mediante la combinación lineal de diferencias divididas
f 0 (yk ) ≈
af (yk ) − bf (zk ) cf (yk ) − df (xk )
+
,
yk − zk
yk − xk
(5)
donde a, b, c, d ∈ R son parámetros. Demuestran que, para determinados valores
de los parámetros se obtiene una familia uniparamétrica de métodos iterativos,
denotada por CT4, todos ellos de orden de convergencia 4. Se trata pues de
métodos óptimos libre de derivadas, con ı́ndice de eficiencia 41/3 ≈ 1,587.
Teorema 2.1. Sea α ∈ I un cero simple de una función suficientemente diferenciable f : I ⊆ R −→ R en un intervalo abierto I. Si x0 está próxima a
α, entonces el método iterativo resultante tiene orden óptimo de convergencia 4
para a = c = 1 y b + d = 1, y satisface la ecuación de error
ek+1 = (1 + f 0 (α))2 c2 (c22 − c3 )e4k + O(e5k ),
donde ek = xk − α y ck =
(k)
(α)
1 f
k! f 0 (α) ,
k = 2, 3, . . .
Polinomio cuadrático.
Consideremos el polinomio cuadrático m(t) = a(t − yk )2 + b(t − yk ) + c,
donde a, b, c ∈ R son elegidos de manera que se satisfagan las condiciones
m(xk ) = f (xk ), m(yk ) = f (yk ) y m(zk ) = f (zk ). De esta manera obtenemos a = f [xk , yk , zk ], b = f [xk , yk ] + (yk − xk )f [xk , yk , zk ] y c = f (yk ), donde
f [·, ·, ·] denota una diferencia dividida de orden 2.
Si en (4) aproximamos f 0 (yk ) ≈ m0 (yk ) = b, obtenemos un esquema libre de
derivadas, que denotamos por MPC4, que satisface el siguiente resultado:
Teorema 2.2. Sea α ∈ I un cero simple de una función suficientemente diferenciable f : I ⊆ R −→ R en un intervalo abierto I. Si x0 está próxima a
α, entonces los métodos iterativos de la familia MPC4 tienen orden óptimo de
convergencia 4 y satisfacen la ecuación de error
ek+1 = (1 + γf 0 (α))2 c2 (c22 − c3 )e4k + O(e5k ),
donde ek = xk − α y ck =
(k)
(α)
1 f
k! f 0 (α) ,
k = 2, 3, . . .
Demostración. El desarrollo de Taylor alrededor de x = α nos proporciona
£
¤
f (xk ) = f 0 (α) ek + c2 e2k + c3 e3k + c4 e4k + O(e5k )
y
zk − α = (1 + γf 0 (α))ek + γf 0 (α)c2 e2k + γf 0 (α)c3 e3k + γf 0 (α)c4 e4k + O(e5k ),
entonces
f (zk )
¢
¡
= f 0 (α)(1
+ γf 0 (α))ek + f 0 (α) γf 0 (α) + (1 + γf 0 (α))2 c2 e2k ¤
£
+ f 0 (α) £2γf 0 (α)(1 + γf 0 (α))c22 + γf 0 (α)c3 + (1 + γf 0 (α))3 c3 e3k
+ f 0 (α) 3γf 0 (α)(1 + γf 0 (α))2 c2 c3 + γf 0 (α)c2 (γf¤0 (α)c22
+ 2(1 + γf 0 (α))c3 ) + γf 0 (α)c4 + (1 + γf 0 (α))4 c4 e4k + O(e5k ).
Sustituyendo estos desarrollos en la expresión de yk en (4) resulta
£ ¡
¢ 2 ¡
¢ ¤
0
2
0
2 0
2
yk − α = (1
c2 + 2 + 3γf 0 (α) + γ 2 f 0 (α)2 c3 e3k¢
2 ek + − 2 + 2γf (α) + ¢γ f (α)
£¡ + γf (α))c
¡
+ ¡ 4 + 5γf 0 (α) + 3γ 2 f 0 (α)2 + γ 3 f 0 (α)3¢ c32¤ − 7 + 10γf 0 (α) + 7γ 2 f 0 (α)2 + 2γ 3 f 0 (α)3 c2 c3
+
3 + 6γf 0 (α) + 4γ 2 f 0 (α)2 + γ 3 f 0 (α)3 c4 e4k + O(e5k )
y utilizando de nuevo el desarrollo de Taylor
¡
¢ ¤
£ ¡
¢
f (yk ) = f 0 (α)(1
+ γf 0 (α))c2 e2k + f 0 (α) − 2 + 2γf 0 (α)
+ γ¡2 f 0 (α)2 c22 + 2 + 3γf 0 (α) + γ 2 f 0 (α)2 ¢c3 e3k
£¡
¢
0
2 0
2
3 0
3
3
3
+ f¡0 (α) 5 + 7γf 0 (α) + 4γ 2 f 0 (α)2 + γ 3 ¢f 0 (α)
¤ 4 c2 − 57 + 10γf (α) + 7γ f (α) + 2γ f (α) c2 c3
0
2 0
2
3 0
3
+
3 + 6γf (α) + 4γ f (α) + γ f (α) c4 ek + O(ek ).
Llevando todos estos desarrollos a la expresión (4) y teniendo en cuenta que
f 0 (yk ) ≈ f [xk , yk ] + (yk − xk )f [xk , yk , zk ], obtenemos
¢
¡
ek+1 = xk+1 − α = (1 + γf 0 (α))2 c2 c22 − c3 e4k + O(e5k ),
con lo que se establece el orden 4 del método diseñado.
¤
Interpolación con funciones base.
Consideremos el polinomio m(t) = w1 (t)f (xk ) + w2 (t)f (yk ) + w3 (t)f (zk ),
donde w1 (t), w2 (t) y w3 (t) son polinomios cuadráticos determinados a partir de
las condiciones:

 w1 (xk ) = 1, w1 (yk ) = 0, w1 (zk ) = 0,
w2 (xk ) = 0, w2 (yk ) = 1, w2 (zk ) = 0,

w3 (xk ) = 0, w1 (yk ) = 0, w1 (zk ) = 1.
Estas condiciones proporcionan los polinomios:
w1 (t) =
yk zk
yk + zk
1
−
t+
t2 ,
(xk − yk )(xk − zk ) (xk − yk )(xk − zk )
(xk − yk )(xk − zk )
w2 (t) =
xk zk
xk + zk
1
−
t+
t2 ,
(xk − yk )(zk − yk ) (xk − yk )(zk − yk )
(xk − yk )(zk − yk )
w3 (t) =
xk + yk
1
xk yk
−
t+
t2 .
(xk − zk )(yk − zk ) (xk − zk )(yk − zk )
(xk − zk )(yk − zk )
Si en (4) aproximamos f 0 (yk ) ≈ m0 (yk ) = w10 (yk )f (xk ) + w20 (yk )f (yk ) +
obtenemos un esquema libre de derivadas, que denotamos por
MIH4, que satisface el siguiente resultado:
w30 (yk )f (zk ),
Teorema 2.3. Sea α ∈ I un cero simple de una función suficientemente diferenciable f : I ⊆ R −→ R en un intervalo abierto I. Si x0 está próxima a
α, entonces los métodos iterativos de la familia MIH4 tienen orden óptimo de
convergencia 4 y satisfacen la ecuación de error
ek+1 = xk+1 − α = (1 + γf 0 (α))2 c2 (c22 − c3 )e4k + O(e5k ),
donde ek = xk − α y ck =
(k)
(α)
1 f
k! f 0 (α) ,
k = 2, 3, . . .
Hacemos notar que las tres familias de métodos óptimos de orden 4, libres
de derivadas, que acabamos de describir tienen la misma fórmula del error.
Este hecho lo utilizaremos en la siguiente sección para mejorar el orden de
convergencia.
3.
Métodos iterativos de orden superior
Las técnicas descritas en la sección anterior, en los epı́grafes de polinomio
cuadrático e interpolación con funciones base, se pueden extender de manera
natural para conseguir métodos óptimos, libres de derivadas, de orden 2n , n =
3, 4, . . ., sin mas que utilizar polinomios de grado n o n + 1 funciones base
que sean polinomios de grado n. Sin embargo, el objetivo de esta sección va
a ser mejorar el orden 4 de los métodos descritos sin aumentar el número de
evaluaciones funcionales.
Vamos a analizar la expresión del error de la familia de métodos MPC4
descrita en el Teorema 2.2, si bien lo que decimos a continuación se puede
aplicar también a los esquemas CT4 y MIH4.
A partir de la expresión del error observamos que si |1 + γf 0 (α)| < 1, es
decir, −2/f 0 (α) < γ < 0 el error será mas pequeño, obteniendo al menos orden
5 si γ = −1/f 0 (α). Sin necesidad de llegar a este valor de γ, máxime teniendo
en cuenta que la raı́z α no es conocida, podemos tomar un valor de γ recursivo
γk = −1/f 0 (xk ). Esta elección mejora el orden de convergencia del método pero
utiliza una evaluación funcional más por iteración, lo que hace decrecer el ı́ndice
de eficiencia, al tiempo que se pierde el carácter ”libre de derivadas”del método.
Para evitar esto proponemos una elección recursiva del parámetro γ de la forma
γk = −
zk−1 − xk−1
,
f (zk−1 ) − f (xk−1 )
lo que nos proporciona el siguiente esquema iterativo, que denotamos por RMPC4,
yk
γk (f (xk ))2
,
f (zk ) − f (xk )
=
xk −
=
f (yk )
yk −
,
f [xk , yk ] + (yk − xk )f [xk , yk , zk ]
(6)
xk+1
k−1 −xk−1
donde zk = xk + γk f (xk ), γk = − f (zzk−1
)−f (xk−1 ) , k = 1, 2, . . ..
En [9] a este tipo de esquemas iterativos se les llama métodos multipaso con
memoria. Para este método podemos establecer el siguiente resultado.
Teorema 3.1. Sea α ∈ I un cero simple de una función suficientemente diferenciable f : I ⊆ R −→ R en un intervalo abierto I. Si las aproximaciones
iniciales x0 y x1 están próximas
a α, entonces el método iterativo (6) tiene
√
orden de convergencia 2 + 6 y su ecuación del error es
ek+1 = (2 + γk−1 f 0 (α))2 c32 (c22 − c3 )e2k−1 e4k + O(e3k−1 e4k ).
A partir de este resultado √
obtenemos que el ı́ndice de eficiencia del método
RMPC4 es IRM P C4 = (2 + 6)1/3 ≈ 1,645, el cual es superior al ı́ndice de
eficiencia de los métodos óptimos de orden 4 cuyo valor es I = 41/3 = 1,587.
4.
Resultados numéricos
En esta sección analizamos la eficiencia de algunos miembros de la familia
MPC4 al aplicarlos sobre funciones no derivables, comparando los resultados
con los obtenidos con el método de Steffensen y el método RWB (con a = 0).
Las funciones test que vamos a utilizar son:
½
x(x + 1),
if x < 0,
(7)
f1 (x) =
−2x(x − 1), if x ≥ 0,
y
½
f2 (x) =
10(x4 + x),
−10(x3 + x),
if x < 0,
if x ≥ 0.
(8)
Los resultados numéricos se han obtenido utilizando aritmética de precisión
variable, con 2000 dı́gitos significativos, en MATLAB 7.1. El criterio de parada
utilizado es incr1 = |xk+1 − xk | < 10−150 o incr2 = |f (xk+1 )| < 10−150 .
Para cada método calculamos el número de iteraciones necesario para alcanzar la precisión deseada y estimamos el orden de convergencia computacional
ρ (normalmente denominado ACOC) introducido por Cordero y Torregrosa en
[2]:
ln(|xk+1 − xk | / |xk − xk−1 |)
p≈ρ=
.
(9)
ln(|xk − xk−1 | / |xk−1 − xk−2 |)
El valor de ρ que aparece en las Tablas 1 y 2 es la menor componente del vector
definido por (9), cuando éste es estable, en otro caso lo denotamos por ’-’.
Las Tablas 1 y 2 muestran para cada estimación inicial y cada método, el
error absoluto exacto en las primeras y últimas iteraciones, el número de iteraciones, los valores de incr1 e incr2 y el orden de convergencia computacional.
La Tabla 1 está dedicada a la función f1 (x) que tiene tres raı́ces 0, 1 y −1,
siendo el cero un punto singular en este caso.
RWB
iter
error
1
1.93e-2
2
6.95e-4
..
.
MPC4 (γ = 1)
iter
error
1
1.93e-2
2
6.95e-4
..
.
MPC4 (γ = −1)
iter
error
1
0.0033019
2
3.59e-008
..
.
8
9.98e-124
9
2.99e-246
9.98e-124
2.99e-246
2.0058
iter
error
1
2.86e-1
2
1.53e-1
..
.
7
1.80e-92
8
6.45e-184
1.80e-92
6.45e-184
2.0000
iter
error
1
1.75e-1
2
2.13e-3
..
.
7
1.80e-092
8
6.45e-184
1.7962e-092
6.453e-184
2.0000
iter
error
1
1.75e-1
2
2.13e-3
..
.
4
9.85e-068
5
9.57e-202
9.8538e-068
9.5679e-202
3.0000
iter
error
1
6.32e-1
2
8.66e-2
..
.
α = −1
9
2.72e-114
10
7.38e-228
2.71e-114
1.48e-227
2.0000
iter
error
1
18.44
2
17.88
..
.
4 1.91e-43
5
1.34e-171
1.91e-43
2.69e-171
4.0005
iter
error
1
9.34e-1
2
4.47e-1
..
.
4
1.9142e-043
5
1.3426e-171
1.9142e-043
2.6852e-171
4.0005
iter
error
1
9.34e-1
2
4.47e-1
..
.
5
1.98e-052
6
1.37e-206
1.9765e-052
2.7468e-206
3.9999
iter
error
1
8.8033
2
3.7551
..
.
incr1
incr2
ρ
33
2.01e-115
34
8.09e-335
2.0e-115
0.0000
-
6
6.19e-27
7
5.61e-158
6.19e-27
5.61e-158
-
6
6.1871e-027
7
5.6093e-158
6.1871e-027
5.6093e-158
-
8
1.3746e-126
9
0
1.3746e-126
0
4.0000
x0 = 0,1
α=0
incr1
incr2
ρ
x0 = 3
α=1
incr1
incr2
ρ
x0 = −20
SM
iter
1
2
..
.
error
4.52e-2
4.60e-3
Tabla 1: Resultados numéricos para la función (7)
Hemos elegido en la Tabla 1 los métodos de la familia MPC4 correspondientes a γ = 1 y γ = −1. Serı́a interesante analizar cuál es el valor del parámetro
γ que proporciona los métodos mas eficientes y estables de la familia. En cual-
quier caso, observamos que γ = −1 es una buena elección ya que, a diferencia
de los otros métodos que aparecen en la Tabla 1, a pesar de tomar aproximaciones iniciales alejadas de la solución, seguimos obteniendo un buen orden de
convergencia computacional.
Analicemos ahora la Tabla 2 en la que se muestran los resultados obtenidos
para la función f2 (x) y una de sus raı́ces α = 0, punto en el que la función pierde
su suavidad. Observamos que para esta función el método de Steffensen tiene
problemas de convergencia, mientras que el resto de métodos, si bien convergen,
problemas de estabilidad hacen que pierdan el orden de convergencia y ésta sea
únicamente lineal.
Una forma de mejorar la estabilidad de los métodos serı́a introduciendo la
estrategia de control que Amat y Busquier presentan en [1].
Agradecimientos
El presente trabajo está financiado parcialmente por el Ministerio de Ciencia
y Tecnologı́a MTM2010-18539 y por el Vicerrectorado de Investigación de la
Universitat Politècnica de València PAID-06-2010-2285
Sección en el CEDYA 2011: AN
Bibliografı́a
[1] S. Amat, S. Busquier, On a Steffensen’s type method and its behavior for semismooth
equations, Applied Mathematics and Computation, 177 (2006) 819-823.
[2] A. Cordero, J.R. Torregrosa, Variants of Newton’s method using 5fth-order quadrature
formulas, Applied Mathematics and Computation, 190 (2007) 686-698.
[3] A. Cordero, J.R. Torregrosa, A class of Steffensen type methods with optimal order of
convergence, Applied Mathematics and Computation, 217 (2011) 7653-7659.
[4] H.T. Kung, J.F. Traub, Optimal order of one-point and multi-point iteration, Applied
Mathematics and Computation, 21 (1974) 643-651.
[5] P. Jain, Steffensen type methods for solving nonlinear equations, Applied Mathematics
and Computation, 194 (2007) 527-533.
[6] Z. Liu, Q. Zheng, P. Zhao, A variant of Steffensen’s method of fourth-oder convergence
and its applications, Applied Mathematics and Computation, 216 (2010) 1978-1983.
[7] A.M. Ostrowski, Solutions of equations and systems of equations, Academic Press, New
York-London, 1966.
[8] H. Ren, Q. Wu, W. Bi, A class of two-step Steffensen type methods with fourth-order
convergence, Applied Mathematics and Computation, 209 (2009) 206-210.
[9] J.F. Traub, Iterative methods for the solution of equations, Chelsea Publishing Company, New York, 1982.
MPC4 (γ = 1)
iter
error
1
0.51207
2
0.16821
..
.
MPC4 (γ = −2)
iter
error
1
4.93e-1
2
1.27e-1
..
.
350
1.531e-150
351
5.741e-151
9.5686e-151
5.7412e-150
1.0000
iter
error
1
10.653
2
7.0826
..
.
350 1.531e-150
351
5.741e-151
9.5686e-151
5.7412e-150
1.0000
iter
error
1
10.653
2
7.0826
..
.
209
3.133e-151
210
6.013e-152
2.5322e-151
6.0139e-151
1.0000
iter
error
1
10.652
2
7.0803
..
.
α=0
358 1.242e-150
359 4.657e-151
7.7627e-151
4.6576e-150
1.0000
iter
error
1
1.001
2
0.998
..
.
358
1.242e-150
359
4.657e-151
7.7627e-151
4.6576e-150
1.0000
iter
error
1
10.653
2
7.0826
..
.
212
3.833e-151
213
7.356e-152
3.0974e-151
7.3563e-151
1.0000
iter
error
1
10.652
2
7.0803
..
.
incr1
incr2
ρ
359 1.058e-150
360 3.968e-151
6.6145e-151
3.9687e-150
1.0000
358
1.242e-150
359
4.657e-151
7.7627e-151
4.6576e-150
1.0000
212
3.833e-151
213
7.356e-152
3.0974e-151
7.3563e-151
1.0000
x0 = 1
SM
iter
> 104
error
α=0
incr1
incr2
ρ
x0 = 16
iter
> 104
error
α=0
incr1
incr2
ρ
x0 = 32
iter
> 104
error
RWB
iter
1
2
..
.
error
0.51207
0.16821
Tabla 2: Resultados numéricos para la función (8)
Descargar