Está en la página 1de 24

Mtodos sin Derivada para Resolver f (x) = 0 e

J. Juan Rosales Garc Manuel Gu Caldern, Jos Cuauhtmoc Rubio Arana a, a o e e 21 de enero de 2011

Indice
1. Mtodo de un punto e 1.1. Mtodo de Punto Fijo . . . . . . . . . . . . . . . . . . . . . . . . e 1.2. Aceleracin de Aitken . . . . . . . . . . . . . . . . . . . . . . . . o 2. Mtodos de dos puntos e 2.1. Mtodo de Biseccin . . . . . . . e o 2.1.1. Implementacin detallada o 2.2. Mtodo de la Posicin Falsa . . . e o 2.3. Mtodo de la Secante . . . . . . . e 2.4. Mtodo de la Secante back-step . e 2.5. Mtodo Pegasus . . . . . . . . . e 1 2 5 8 8 9 14 17 19 20

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

1.

Mtodo de un punto e

1 Mtodo de un punto e

1.1.

Mtodo de Punto Fijo e

Se trata de un mtodo muy popular, usado ahora en la enseanza para la dee n mostracin de numerosas propiedades de los mtodos iterativos funcionales. En o e el campo numrico es usado rara vez solo en el clculo manual especialmente e a junto con el mtodo de aceleracin de Aitken. e o El mtodo encuentra la ra de una ecuacin del tipo x = g(x) mediante la e z o iteracin de o xi+1 = g(xi ) La condicin suciente para que o la sucesin x0 x1 x2 . . . xn cono verja a la ra es: z y = g(x) g (x) L < 1 Donde la g(x) es una contraccin en un entorno local de la o ra Si se dene el error: z. en+1 = |r xn | Ahora se demuestra que: en+1 |g (r)|en De esta ultima relacin se ve que el error se reduce en cada iteracin por un o o factor aproximado de |g (r)|. Si |g (r)| est en la vecindad de 1 se tendr una a a renduccin lenta del error y por lo tanto una convergencia lenta. Vese como o a funciona este mtodo con un ejemplo. e Ejemplo: En el ao de 1225 el matemtico Leonardo Pisano Fibonacci estudi la a o siguiente ecuacin cbica: o u x3 + 2x2 + 10x 20 = 0 y calcul la unica ra real x = 1,368808107. o z No se conoce qu mtodo us Fibonacci para encontrar este valor, pero es un e e o resultado notable para su tiempo. Mediante la frmula de Cardano-Tartaglia es o posible expresarla en forma exacta como: x=
3

y=x

2 3930 252 + 3 27

2 3930 252 2 3 27 3

Aproximando esta frmula con 15 cifras signicativas obtenemos. o x 1,36880810782137 =

1 Mtodo de un punto e

Como se puede vericar, el resultado calculado por Fibonacci tiene 10 cifras exactas! Es, sin duda, un resultado excelente an ahora. Se usa el mtodo de u e punto jo para encontrar la ra Primero se pone la ecuacin en la forma exacta. z. o Esto se puede hacer de varios modos, pero, como se ver, no todos son vlidos. a a Pngase, por ejemplo: o x(x2 + 2x + 10) = 20 Pero como el valor de x es tal que x2 + 2x + 10 = 0 podemos escribir: x= Poniendo 20 + 2 x + 10 x2 20 + 2 x + 10

g(x) =

x2

se obtiene la funcin iterativa g(x). Eligiendo como punto de inicio, por o ejemplo, x0 = 1 2.0 x 1 1.538461538 1.295019157 1.401825309 1.354209390 1.375298092 1.365929788 1.370086003 1.368241024 1.369059812 1.368696398 1.368857689 1.368786103 g(x) 1.538461538 1.295019157 1.401825309 1.354209390 1.375298092 1.365929788 1.370086003 1.368241024 1.369059812 1.368696398 1.368857689 1.368786103 1.368817874 5/3 4/3 1.0 2/3 1/3 y=x

y = g(x)

(0,0)

1.0 Figura 1: Mtodo de punto jo. e

2.0

1 Mtodo de un punto e

Los valores de la tabla a la izquierda de la Figura 1 se determinaron con el programa en PYTHON que se muestra a continuacin: o h = range(14) x0 = 1.0 for i in h: iteracion = i xn = 20/(x0**2+2*x0+10) print iteracion, x0, xn x0 = xn Como se nota, para alcanzar la precisin de 4 cifras se debe llegar a la o 13ava iteracin. Ahora se estimar la velocidad de convergencia. Para estimar la o a velocidad de convergencia se calcula, en primer lugar, la derivada de g(x) g (x) = (x2 40(x + 1) + 2 x + 10)2

De aqu sustituyendo valores aproximados de la ra obtenemos g (1,3688) , z, = 0,443823348 . . . De donde: en+1 0,44en . Esto signica que son necesarias cerca de tres iteraciones para obtener una cifra exacta. Para 4 cifras sern necesarias cerca a de 12 iteraciones; que es justo lo que el algoritmo ha producido. Se ver ahora qu otro arreglo de la funcin puede no ser vlido. El ms a e o a a inmediato es el siguiente: 1 1 (x3 2 x2 + 20) G(x) = (x3 2 x2 + 20) 10 10 La derivada de g(x) es: x= x(3x + 4) 10 De aqu sustituyendo, se tiene g (1,3688) 1,1096 . . . , = Como se ve, en la proximidad de la ra el valor absoluto de la derivada z es mayor de 1. Por lo tanto no se tiene esperanza de obtener una sucesin o convergente. Es interesante, en este caso, ver la trayectoria de los puntos de la sucesin. o g (x) =

Es evidente la caracter stica de una sucesin oscilatoria y divergente al paso o del tiempo. Los valores de la sucesin x0 , x1 , x2 , x3 , . . ., que en la grca son las o a absisas de los puntos de cruce con las curvas, se dirigen en direcciones opuestas. El carcter de la sucesin puede cambiar como los puntos se van alejando del a o punto jo, que es la interseccin de las curvas. De una cosa se puede estar seguro: o que en el entorno de la ra la sucesin es divergente, y que no existe ningn z o u punto de inicio que pueda acercar a la sucesin a la ra o z.

1.2

Aceleracin de Aitken o

2.0 x 1 1.7 0.9307 1.746142 0.8577968 1.7897189 0.7861175 1.8278233 0.7211479 1.8584855 0.6672913 1.8812315 0.6264198 g(x) 1.7 0.9307 1.746142 0.8577968 1.7897189 0.7861175 1.8278233 0.7211479 1.8584855 0.6672913 1.8812315 0.6264198 1.8969388 5/3 4/3 1.0 2/3 1/3 y=x

y = g(x)

(0,0)

1.0

2.0

Figura 2: Mtodo de punto jo no convergente. e Como se ha visto, la eleccin de la funcin iterativa g(x), puede ser arbitraria, o o y es determinante en el proceso. Es esto, ms que la lentitud del proceso, el punto a principal ms dbil del mtodo. La eleccin arbitraria de la funcin iterativa no a e e o o se presta para la implementacin automtica. o a

1.2.

Aceleracin de Aitken o

La velocidad del mtodo de punto jo no es elevada. El mtodo de aceleracin e e o de Aitken (tambin llamado proceso 2 ) puede, en ciertas circunstancias, acele erar el proceso iterativo. Dados tres valores consecutivos de la sucesin: xn , xn+1 , xn+2 , se calculan o las siguientes diferencias nitas de primero y segundo orden: n+1 = xn+2 xn+1 , n = xn+1 xn 2 = n+1 n = xn+2 2xn+1 + xn n Se extrapola el valor nal de la sucesin con la frmula: o o x = xn+2 (n+1 )2 (xn+2 xn+1 )2 = xn+2 2 n xn+2 2xn+1 + xn

Si todo funciona, el valor x es un valor aproximado de la solucin verdadera, o que se habr podido obtener con un nmero mayor de iteraciones. Este valor a u puede ser usado para tener una nueva sucesin de la cual se pueden obtener tres o nuevos puntos. Se puede repetir la frmula de Aitken para obtener un valor ms o a preciso por la misma v a.

1.2

Aceleracin de Aitken o

Vase cmo funciona este mtodo usando la sucesin de punto jo obtenida e o e o anteriormente. x G(x) |en | 1 1.538461538 0.368808108 1.538461538 1.295019157 0.169653431 1.295019157 1.401825309 0.073788951 1.370813883 1.36791809 0.002005775 1.36791809 1.369203163 0.000890018 1.369203163 1.368632779 0.000395055 1.36880817 1.36880808 6.21234E-08 1.36880808 1.36880812 2.75721E-08 1.36880812 1.368808102 1.22373E-08 1.368808108 1.368808108 2.66454E-15

Figura 3: Visualizacin del mtodo de aceleracin de Aitken. o e o

En negritas se muestran los resultados obtenidos con la frmula 2 de o Aitken.def Bisecc(f,a,b,tol,itmax=100): La aceleracin es tan evidente que no deja lugar a dudas de la bondad del o mtodo. e En solo 10 iteraciones el mtodo ha alcanzado la precisin de cerca de 1E-15 e o

1.2

Aceleracin de Aitken o

mientras que con el mtodo de punto jo, unicamente, solo se habr obtenido, e a para estos pasos, una precisin de apenas 1E-3. o Es de notar la forma caracter stica a saltos que tiene la trayectoria de aceleracin 2 . Con cada salto se capturan un nmero siempre mayor de cifras. o u Esto indica claramente que el orden de convergencia es mayor de 1. Ya se hab visto que la frmula recursiva del error para el mtodo de punto a o e jo aplicado a la ecuacin de Fibonacci es: en+1 0,44en . De donde dedujimos o que el orden de convergencia era casi 1 con constante asinttica de 0.44; estos o valores estn conformes con el comportamiento rectil a neo de la trayectoria. Para el mtodo de punto jo + 2 se adoptar el mtodo estad e a e stico ilustrado antes. Tomando logaritmos y construyendo la regresin lineal de la tabla [-log(ei ), o -log(ei+1 )], con i = 0,1,2...9, se obtiene la recta y 1,3x + 0,44 De la cual se obtiene el orden de convergencia de cerca de p 1,3 y una = constante de convergencia c 100,44 0,36. En realidad, tentativamente, se = = prueba una mayor cuadratura de la trayectoria con el valor de c = 0,45. Pasando de un orden de convergencia medio de cerca de 1 a otro con apenas 1.3 se tiene la excelente aceleracin que se vio anteriormente. Claramente, la o ganancia en unas dcimas del orden de convergencia tiene una enorme ventaja e en la velocidad. Todos los mtodos que veremos intentan aprovecharse de esto e para mejorar su operacin en este aspecto. o

Se pueden tener tres casos: 1. f (m) = 0 m es la ra buscada, y el proceso termina. z 2. f (a) f (m) < 0 los signos son diferentes y la ra se encuentra en [a, m]. z 3. f (a) f (m) > 0 los signos son iguales y la ra se encuentra en [m, b]. z Nota: los casos (2.) y (3.) son complementarios por lo que basta probar uno para tener informacin sobre el otro. En la gura, el intervalo que contiene la ra z es [a, m] que est reducido en un factor de 2 respecto al intervalo original. Ahora a podemos repetir el proceso con el nuevo intervalo [a, m] obteniendo un nuevo intervalo conteniendo la ra y reducido en un factor de 2. Con cada iteracin z o el intervalo que contiene la ra se reduce en un factor de 2 segn la relacin: z u o |b a| 2i Esta relacin demuestra que la convergencia del mtodo iterativo es o e |ei+1 | = |xi+1 x| l m (1)

|b a| = 0 l |xi+1 x| = 0 l xi+1 = x m m (2) i i 2i para i >> 1 la relacin tambin puede ser escrita como |ei+1 | 0,5|ei | t o e pica de un proceso iterativo de orden p = 1 con una constante asinttica de convergencia o c = 0,5. En la prctica es capturada una cifra cada 2-3 iteraciones. a
i

1.2

Aceleracin de Aitken o

2.
2.1.

Mtodos de dos puntos e


Mtodo de Biseccin e o

El mtodo de biseccin, o dicotmico, es uno de los mtodos iterativos ms e o o e a simples para aproximarse al cero de una funcin, es en tal simplicidad, a nuestra o forma de ver, donde reside su mayor fuerza. El mtodo est basado en el hecho e a de que si una funcin cambia de signo en un intervalo, en tal intervalo debe o existir al menos un cero. El mtodo procede de la e siguiente forma. Se elige un intervalo [a ,b] en el cual los signos de la funcin en los o extremos son opuestos; esto debe ser f (a) f (b) < 0 El intervalo se subdivide en dos partes iguales por el punto medio m = (a + b)/2. La ra debe encontrarse, z necesariamente, en uno de los dos semi-intervalos [a, m] o [m, b]. Para saberlo basta calcular la funcin o f (m).

Figura 4: Representacin grca. o a

Vese cmo funciona el a o mtodo aplicndolo a la e a funcin o f (x) = (3x/2)3 1 La grca es reportada a la a derecha. Supongamos como intervalo de particin el sego mento [0, 1] en el cual se verica seguramente f (a) f (b) < 0 siendo f (0) = 1 y f (1) 2,375 = Figura 5: Visualizacin grca o a

El primer punto medio es m = 0,5 y f (0,5) 0,578125. El valor de la ra z = es negativo por lo cual el valor de la ra debe encontrarse en 0,5 < x < 1. El z

1.2

Aceleracin de Aitken o

l mite a = 0 es sustituido por a = m = 0,5, el segmento del cual se partir para a una nueva iteracin es [0.5 , 1]. o Se reportan en la siguiente tabla las primeras 9 iteraciones del mtodo de e biseccin. o

a 0 0.5 0.5 0.625 0.625 0.65625 0.65625 0.664063 0.664063

f (a) -1 -0.578125 -0.578125 -0.176025 -0.176025 -0.046146 -0.046146 -0.011673 -0.011673

b 1 1 0.75 0.75 0.6875 0.6875 0.67188 0.67188 0.66797

f (b) 2.375 2.375 0.423828 0.423828 0.09671 0.09671 0.023621 0.023621 0.005871

Figura 6: Grca de los intervaa los.

En la Figura 6 se evidenc (en azul) la sucesin de los intervalos [ai , bi ] de a o cada iteracin. o El mtodo de biseccin pertenece a la familia de mtodos que no fallan, cuya e o e convergencia a la ra siempre est garantizada matemticamente al 100 % si z a a solo se satisfacen las condiciones iniciales: continuidad de la funcin y diferentes o signos en los extremos del intervalo. Cuando el intervalo contiene ms de una a ra el mtodo de biseccin converge a alguna de ellas. z, e 2.1.1. Implementacin detallada o

Por motivos de eciencia, la prueba sobre el producto f (a) f (m) < 0 es evitada en la rutina real. En sustitucin, solo se efecta la prueba del signo del o u punto medio f (m). Esto funciona porque, al inicio de la rutina, fuera del lazo, vienen jados los signos de los extremos: a la izquierda el valor positivo y a la derecha el negativo. En caso contrario los dos extremos se deben cambiar. Puesto que el algoritmo de biseccin no utiliza ms que los dos extremos, para todo o a el ciclo de iteracin, el valor positivo siempre estar a la derecha y el negativo o a siempre estar a la izquierda. a

En esta situacin, para decidir dnde se encuentra la ra basta simplemente o o z con controlar el signo de f (m); si es negativo la ra estar a la izquierda del z a punto m de otro modo estar a la derecha. Todo el cuerpo del algoritmo puede a ser condensado en pocas l neas. Este algoritmo se debe modicar cuando f (a) es menor que cero.

1.2

Aceleracin de Aitken o

10

Figura 7: Posibles gracas de la funcin a o Data: a, b, f , tol, ITmax Result: IT, m initialization; m (a + b)/2; f m f (m); if f m < 0 then b m; f b f m; else a m; f a f m; end Algorithm 1: Algoritmo simplicado para el mtodo de Biseccin e o

Costo computacional. El costo del mtodo es el ms bajo de todos: 2 op e a + 1 f. Ningn otro mtodo puede jactarse de un costo menor. Existe otra caru e acter stica que hace que este mtodo sea especialmente vlido en el clculo e a a automtico y es su excepcional e intr a nseca robustez. Vese el siguiente ejemplo: a

1.2

Aceleracin de Aitken o

11

Dada la funcin: o f (x) = arctan(10x 3) + arctan(20x 4) + sen(20x)

4
Se busca el cero en el intervalo [1, 2]. Se nota cmo la curva preo senta una oscilacin ms aceno a tuada hacia la izquierda, como se muestra en la Figura 8, de la ra que hacia la derecha.y z Pocos algoritmos pueden aproximarse a la ra partiendo de un z intervalo tan amplio y con tal variacin. El mtodo de biseco e cin, slido como una roca, o o no encuentra ninguna dicultad particular para encontrar la ra z x 0,273910 . . .. =

2 0 2 4 2 1 x
Figura 8: Grca de la funcin. a o

a -1 -1 0.5 0.125 0.125 0.21875 0.265625 0.265625 0.265625 0.271484

b 2 0.5 -0.25 0.5 0.3125 0.3125 0.3125 0.289063 0.277344 0.277344 Figura 9: Grca de los intervalos a

Por estos dotes de excelente robustez el mtodo de biseccin es actualmente e o usado en los buscadores modernos de ra ces en lugar de otros mtodos ms e a

1.2

Aceleracin de Aitken o

12

rpidos pero al mismo tiempo ms inestables. Tales mtodos h a a e bridos estn a compuestos en general de dos etapas: la primera etapa es un mtodo lento pero e ms robusto para aislar las ra con una moderada aproximacin mientras que a ces o en la segunda etapa se utiliza un mtodo de alto orden de convergencia para e incrementar la precisin al valor nal del valor buscado. La primera etapa es o casi siempre dejada al mtodo de biseccin. e o Otra ventaja del mtodo de biseccin es que el nmero de iteraciones es e o u independiente de la funcin f (x) y depende unicamente del intervalo de particin o o y de la precisin nal, segn la siguiente frmula: o u o n = log2 ba

Como ejemplo, si la precisin nal requerida es = 1E-15, partiendo de un o intervalo de amplitud unitaria (b a) = 1, ocurrirn cerca de 50 iteraciones, a para cualquier tipo de funcin. Este hecho es utilizado ampliamente para denir o un ndice relativo con el cual confrontar diferentes algoritmos. Otra ventaja del mtodo, muy apreciado en el clculo automtico, es la e a a de mantener la separacin de ra o ces (bracketing). Esto signica que la ra no z puede estar fuera del intervalo; independientemente de la forma de la funcin y o del nmero de iteraciones efectuadas. u El siguiente es un programita en python: def Bisecc(f,a,b,tol,itmax=100): it = 0 fa = f(a) fb = f(b) if fa*fb > 0: print "No existe una raiz en el intervalo [ ",a, b," ]." return None else: if fa < 0: x = a a = b b = x fx = fa fa = fb fb = fx if fa == 0: print "La raiz buscada es x = ", a return a if fb == 0: print "La raiz buscada es x = ", b return b while it < itmax: it = it +1 c = (a+b)/2

1.2

Aceleracin de Aitken o

13

fc = f(c) print "En ",it, " iteraciones, a = ", a, ", b = ", b, ", c = ", c, "." if fc == 0 or abs(fc) < tol: print "La raiz buscada es x = ", c return c if fc < 0: b = c fb = fc else: a = c fa = fc return None def f(x): return 3./2.*x**2-1. a=0. b=5. sol=Bisecc(f,a,b,1e-15,100) print sol

2.2

Mtodo de la Posicin Falsa e o

14

2.2.

Mtodo de la Posicin Falsa e o

Es un antiguo mtodo ahora usado, especialmente, en el clculo manual y e a para la enseanza. Se basa en la interpolacin lineal de la funcin f (x) entre los o o extremos [a, b] en los cuales la funcin tiene signos opuestos. El valor de c es el o punto de cruce de la recta que pasa por los puntos A(a, f (a)) y B(b, f (b)) con el eje x. Si el valor f (c) < 0 la ra se encuentra en [a, c], de lo contrario se enconz trar en el intervalo [c, b]. a

Figura 10: Grca de algunas de las formas que podr tener la funcin. a a o

El proceso, anlogo al de biseccin, puede repetirse a partir del nuevo intervaa o lo. La eleccin del nuevo intervalo [a, b] debe ser siempre tal que f (a) f (b) < 0. o Esta oposicin de signos es la garant de que el mtodo funcione. iteracin o a e o tras iteracin el punto c converger a la ra En forma similar al mtodo de o a z. e biseccin; este mtodo mantiene la ra en el intervalo; lo cual garantiza la cono e z vergencia en un 100 %. Respecto a esto, hay varias diferencias que caracterizan el funcionamiento, puede suceder que uno de los extremos (por ejemplo el extremo a de la Figura 10) se mantenga inalterado para todo el proceso y, por esto, el intervalo que contiene la ra no converge, necesariamente, a cero. Esto z debe tomarse en cuenta en el criterio de paro; desechando la prueba |b a| < .

2.2

Mtodo de la Posicin Falsa e o

15

Otra diferencia es que el nmero de iteraciones depende de la forma de la u funcin f (x); esto permite al mtodo ser mejor, en cuanto a velocidad, que o e el mtodo de biseccin (pero tambin podr empeorarla como se ver ms e o e a a a adelante). La frmula de interpolacin para calcular el valor de c es: o o c=b donde: f (b) , m (3)

f (a) f (b) , (4) ab es el coeciente angular, o pendiente, de la recta interpolante. Todo el cuerpo del algoritmo puede ser condensado en las siguientes l neas: m= Data: a, b, f , tol, ITmax Result: IT, c initialization; m (f a f b)/(a b); c b f b/m; f c f (c); if f c < 0 then b c; f b f c; else a c; f a f c; end Algorithm 2: Algoritmo simplicado para el mtodo de Posicin Falsa e o

Costo computacional: El costo computacional del mtodo es bajo: 5 op e + 1 f.

Comparando los mtodos de posicin falsa con el de biseccin. Claramente e o o el nmero de iteraciones es sensiblemente menor (35 contra 50) pero el costo del u algoritmo es mayor. Suponiendo el costo del clculo de la funcin como 5 op ( 1 f = 5 op) podemos a o comparar el costo total de los dos algoritmos para este problema espec co. mtodo Iter. e Biseccin Posicin Falsa o iter. 50 35 costo/iter 7 10 costo tot 350 350

Como se ve, la eciencia global de los dos mtodos es prcticamente la misma. e a Hay casos para los cuales el algoritmo de posicin falsa entra en crisis en o cuanto a convergencia, siempre garantizada, volvindose muy lento y con vee locidad menor al algoritmo de biseccin. o

2.2

Mtodo de la Posicin Falsa e o

16

Vese como trabaja este mtodo a e con la funcin de prueba f (x) = o (3x/2)3 1. Supngase como intervalo de o partida el segmento [0, 1]. El mtodo converge a la ra x = e z 2/3 con un error de cerca de 3E 15 en 35 iteraciones. = La constante asinttica medida o es c 0,368. = Se observa que el extremo b = 1 permanece jo para todas las iteraciones. Esto siempre sucede cuando la funcin es cncava o o o convexa. Vese este ejemplo de pruea ba. f (x) = (3x/2)6 1 Supongamos como intervalo el segmento [0, 1]. El mtoe do converge a la ra x = z 2/3 con un error de cerca 3E 15 en 111 itera= ciones. La constante asinttica o medida es c 0,711. Co= mo se ve, el proceso de acercamiento a la ra z, est garantizado, es muy a lento, inferior al mtodo de e biseccin. o

Figura 11: Grca del ejemplo 1. a

Figura 12: Grca del ejemplo. a

Este comportamiento se presenta cuando la funcin presenta amplios tramos o con pendiente casi nula, seguida de pequeos tramos con pendiente muy grande. La unica forma de evitar tal situacin es reduciendo el intervalo lo ms posible. o a El mtodo tiene convergencia lineal (orden p = 1), pero la constante asinttica e o de convergencia puede variar, como se ha visto, de acuerdo con la funcin. o

2.3

Mtodo de la Secante e

17

2.3.

Mtodo de la Secante e

El mtodo de la secante es una variante del mtodo de la posicin falsa en el e e o cual se renuncia a la garant de signos opuestos. La aproximacin a la ra en a o z el intervalo [x0 , x1 ] se basa ahora en la interpolacin lineal de la funcin f (x) o o para lo cual se utiliza la siguiente frmula: o xi+1 = xi f (xi ) mi donde mi = f (xi ) f (xi1 ) xi xi1

El mtodo requiere de dos e valores iniciales que, en general, son los extremos del intervalo de particin [a, b] o seleccionando [x0 , x1 ] = [a, b]. El proceso genera el punto x2 . Con [x1 , x2 ], el proceso genera x3 , etc. En la prctia ca los puntos son generados con los ultimos dos puntos que, si el mtodo converge, e cada vez son ms cercanos a a la ra z. Figura 13: Grca del mtodo de la secante. a e

Esta simple variacin del algoritmo (la frmula es la misma de la de la o o posicin falsa) produce una fuerte aceleracin de la convergencia. o o Por otro lado se pierde la garant de la convergencia y el encerramiento de a la ra z. Costo computacional: El costo computacional del mtodo es bajo: 5 op e + 1 f.

La eciencia respecto del mtodo de biseccin, en este caso, est dada por e o a 350/ 110 3.2, la cual es ms de tres veces. Es sorprendente que la misma a = frmula de extrapolacin utilizada en el mtodo de posicin falsa pueda dar o o e o resultados tan diferentes simplemente adoptando una estrategia diferente para seleccionar los puntos de sucesin {xn }. Se observa, adems, que no es necesario o a que el intervalo de particin [x0 , x1 ] contenga la ra a aproximar. El mtodo se o z e puede iniciar con cualquier par de puntos con la condicin de que se encuentren o cerca de la ra Rep z. tase la prueba, por ejemplo, con [x0 , x1 ] = [1, 0.8]. La secuencia persiste ms veloz, convergiendo en 9 iteraciones. a

2.3

Mtodo de la Secante e

18

Vese este mtodo con la a e funcin de prueba o f (x) = (3x/2)3 1 Supngase, como intervao lo de partida, el segmento [0, 1]. El mtodo converge a e la ra x = 2/3 con un error z de cerca 1E 15 en 11 = iteraciones. El orden de convergencia medio es de p = 1,6 La constante asinttica o medida es c 1,1 El costo = total es tot = 11*10 = 110.

Figura 14: Grca de la funcin. a o

xi 0 1 0.296296296 0.491575818 0.865207005 0.616975298 0.653919035 0.667679559 0.66664707 0.666666637 0.666666667 0.666666667

fi -1 2.375 -0.912209 -0.599091 1.185918 -0.207358 -0.056274 0.0045649 -8.82E-05 -1.34E-07 3.935E-12 1.00E-16

|ei | 0.6666667 0.3333333 0.3703704 0.1750908 0.1985403 0.0496914 0.0127476 0.0010129 1.96E-05 2.975E-08 8.744E-13 1.00E-16

Figura 15: Grca de la funcin. a o

Tanta eciencia debe tener un riesgo. De hecho el mtodo puede caer fcile a mente en dicultades para cierto tipo de funciones. Como ejemplo se repite la prueba incrementando la potencia de 3 a 4.

En tales casos, el mtodo, puede disminuir su eciencia restndole competitivie a dad con los mtodos de biseccin o con el de la posicin falsa, en cuanto al costo e o o total es 180. Si se repite la prueba incrementando la potencia de 4 a 6 f (x) = (3x/2)6 1 el mtodo diverge totalmente. El hecho de que la sucesin {xn } tiende a e o escaparse del intervalo de particin; esto es un factor negativo de este mtodo. En o e presencia de otras ra el mtodo puede converger a una ra no contemplada. ces e z En general, en el programa automtico, la divergencia puede ser fcilmente a a

2.4

Mtodo de la Secante back-step e

19

Prueba: f (x) = (3x/2)4 1 Intervalo de particin [0, 1]. o El mtodo converge a la ra e z x = 2/3 con un error de cerca de e 1E 15 en 18 itera= ciones. El orden de convergencia medio es de p = 1,6. La constante asinttica medida es o c 1,275. Costo tot = 18*10 = = 180. Se observa que algunos puntos de la secuencia se alejan mucho de la ra z.

Figura 16: Grca de la funcin. a o

Esta inestabilidad es comn u a los mtodos muy veloces. e Las primeras iteraciones tienden a divergir pero pueden retornar brscamente en los u ultimos pasos a la convergen cia de la ra En la prctiz. a ca las primeras 10 iteraciones no producen ninguna reduccin del error y son del todo o intiles al n del proceso iteru ativo. Figura 17: Grca del error. a interceptada o bloqueada pero la convergencia a una ra no contemplada es z ms dif de controlar. Este es uno de los defectos ms cr a cil a ticos de los mtodos e que no mantienen la ra en un intervalo como el de la secante y muchos otros. z

2.4.

Mtodo de la Secante back-step e

Una forma de mantener un poco ms estable el mtodo de la secante es la a e variante back-step. Se parte de un intervalo [a, b] = [x0 , x1 ] que contiene la ra tal que f (x0 ) f (x1 ) < 0. z, En cada iteracin se controla si a < xi+1 < b . o En caso contrario se sustituye xi1 con xi2 y f (xi1 ) con f (xi2 ) y se inicia otra vez.

2.5

Mtodo Pegasus e

20

En el ejemplo esquematizado, el mtodo produce la see cuencia x0 , x1 , x2 , x . 3 El ultimo valor se descarta porque se sale del intervalo inicial.

Figura 18: Grca: secante back-step a

El valor x1 es sustituido con x0 y se inicia, otra vez, con la secuencia x0 , x2 , que produce x3 , y se repite nuevamente. En la prctica esto evita que los a valores de la secuencia se salgan del intervalo inicial. En los casos dif ciles la variante back-step de la secante se comporta como la posicin falsa; en los casos favorables adquiere la velocidad de la secante. o Por no prescindir de la garant de convergencia, este mtodo resulta ms robusa e a to que el de la secante pura, conservando, al mismo tiempo, una buena eciencia en la proximidad de la ra z. La vericacin de la condicin a < xi+1 < b con cada iteracin aporta 2 o o o operaciones adicionales por lo cual el costo es ligeramente superior. Costo computacional: El costo computacional es bajo: 7 op + 1 f.

2.5.

Mtodo Pegasus e

Los intentos de combinar la robustez del mtodo de posicin falsa con e o la velocidad del mtodo de la secante han conducido a diversos e ingeniosos e algoritmos. Uno de los ms interesantes es el conocido como Pegasus1 . a El mtodo se inicia con los dos extremos del intervalo inicial en el cual se e verica la condicin de oposicin de signos f (x0 ) f (x1 ) < 0. La aproximacin o o de la ra en el intervalo se basa ahora en la interpolacin lineal de la funcin z o o f (x) para el cual la frmula es ahora o xi+1 = xi
1 Propuesto

f (xi ) mi

donde mi =

f (xi ) f (xi1 ) xi xi1

en 1971 por M. Dowell y P. Jarratt.

2.5

Mtodo Pegasus e

21

Prueba f (x) = (3x/2)4 1. Intervalo de particin [0, 1]. o El mtodo converge a la ra e z x = 2/3 con un error cercano a e 1E 15 en 13 = iteraciones. El orden de convergencia medio es de p = 1,6. La constante asinttica meo dida es c 1,8. Costo tot = = 13*12 = 156. Figura 19: Grca de la funcin. a o Para tener la velocidad de convergencia de la secante el mtodo usa los e ultimos dos valores de la sucesin, que son presumiblemente los ms vecinos a o a la ra Por otro lado, para garantizar el encerramiento de la ra se efecta la z. z u prueba de signos en cada iteracin. o Se pueden vericar los siguientes casos:

Figura 20: Grca del mtodo. a e

2.5

Mtodo Pegasus e

22

Que el ultimo valor de la sucesin o Que la sucesin tenga signos difero tengan el mismo signo f1 f2 > 0. Se entes f1 f2 < 0. Todo bien. La ra se z reduce el valor de f0 por el factor encuentra entre x1 y x2 . Se calcula k = f 1/(f 1 + f 2) si pone f0 = kf0 la interpolacin x3 entre los puntos o y se calcula la interpolacin x3 entre o (x1 , f1 ) y (x2 , f2 ). los puntos (x1 , f1 ) e (x0 , f0 ).

Se observa que el segundo caso, f1 f2 > 0, es el ms cr a tico porque puede sacar la sucesin del intervalo inicial. Esto sucede, por ejemplo, cuando los dos o valores f1 y f2 son del mismo signo y la recta interpolante es casi paralela al eje x. El factor k = f1 /(f1 + f2 ) es siempre positivo y menor de 1; en consecuencia el punto (x0 , f0 ) cae siempre dentro del segmento (x0 , f0 ) entonces el punto x3 est siempre comprendido entre x0 y x2 , interno al intervalo de particin. Esta a o genial ocurrencia asegura el encerramiento de la ra y, por lo tanto, asegura z la convergencia al 100 %. Otra vez se observa que en el caso cr tico f1 f2 , el = factor de renduccin k tiende a 0.5; el valor f0 tiende a f0 /2 y el punto x3 se o acerca ms a la ra como se muestra en la gura. a z, Costo computacional: el clculo del valor reducido f0 necesita de 3 opa eraciones adicionales respecto al algoritmo de la secante. Sin embargo, el clculo a se efecta solo si se verica la condicin de igualdad de signos por lo cual, para u o la regla del costo, atribuimos el 50 % de probabilidad. Por lo tanto el costo del algoritmo pegasus es: 5+0.5*3 op + 1 f = 6.5 op + 1 f.

En este ultimo caso de prueba el mtodo de la secante falla mientras que el e mtodo de regla falsa emplea ms de 100 iteraciones. Es interesante observar, e a en su grca, las primeras iteraciones del mtodo para captar cmo busca la a e o ra para no caer en las trampas de los otros dos mtodos: baja convergencia y z e divergencia.

2.5

Mtodo Pegasus e

23

Vese su comportamiento a con la funcin de prueba o f (x) = (3x/2)3 1. Intervalo de particin [0, 1]. o El mtodo converge a la ra e z x = 2/3 con un error de cerca e 1E 15 en 7 itera= ciones. El orden de convergencia medio es de p = 1,6. La constante asinttica meo dida es c 0,8. Costo tot = = 9*11.5 = 103.5Pegasus. Figura 21: Comportamiento grco. a

Prueba f (x) = (3x/2)6 1 Intervalo de particin [0, 1]. o El mtodo converge a la ra e z x = 2/3 con un error de aproximadamente e 1E = 15 en 8 iteraciones. El orden de convergencia medio es de p = 1,6. La constante asinttica medida es c o = 1,2. Costo tot = 12*11.5 = 138. Figura 22:

2.5

Mtodo Pegasus e

24

Como se nota claramente, por cuatro iteraciones el punto b = 1 no cambia pero se reduce el valor de la funcin para cada iteracin proporcionalmente o o por el factor k. La caracter sticas de este mtodo son reveladas globalmente e como ptimas en muchos otros casos de prueba: alta conabilidad, excepcional o robustez, velocidad, eciencia y ausencia del clculo de la derivada. Podemos a decir, despus de muchas pruebas, que lo unico cr e tico de relevancia son las ra ces mltiples, algo que es comn al resto de los mtodos comunes de orden u u e ms elevado. a