Métodos iterativos óptimos para la resolución de
Transcripción
Métodos iterativos óptimos para la resolución de
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)