Professional Documents
Culture Documents
TRABAJO: Bsqueda de un algoritmo eficiente para la aproximacin de las races de una ecuacin
GANADOR EN LA CATEGORA DE BACHILLERATO AUTORES: o Estela Sanz Jimnez o ngel Sanz Nez TUTOR: o Fernando Alcaide CENTRO: IES Mara Guerrero (Collado Villalba, Madrid)
2. Trasfondo histrico
El problema de la resolucin de la ecuacin no lineal es un tema amplsimo, que ha dado qu pensar a matemticos durante cientos de aos. Uno de los ejemplos ms sencillos es el caso en el que la funcin es un polinomio. La resolucin de los polinomios de primer y segundo grado era conocida por pueblos antiguos, como los babilonios. En torno a la dcada de 1540, Girolamo Cardano, Niccol Fontana Tartaglia y Scipione del Ferro desarrollaron y compitieron por la solucin algebraica de la ecuacin cbica, que fue finalmente expuesta en la obra Ars Magna (Cardano, 1545). En ella, el autor reconoce que Tartaglia le haba mostrado anteriormente su forma de resolver cierto tipo de ecuaciones cbicas, y tambin afirma que Scipione del Ferro haba descubierto esa misma frmula de forma independiente y antes que Tartaglia. Cardano muestra el mtodo para resolver cualquier ecuacin cbica. En la obra tambin se muestra el mtodo para resolver ecuaciones curticas (de grado cuatro), que haba sido desarrollado principalmente por Lodovico Ferrari, alumno y secretario de Cardano (aunque el mtodo de resolucin de las ecuaciones curticas fue ms tarde desarrollado por otros matemticos, como Descartes o Euler). Posteriormente, muchos matemticos trataron de dar una solucin general a las ecuaciones polinmicas de grado quinto y superior, pero los esfuerzos fueron en vano. De hecho, el teorema de Abel-Ruffini, que se considera completamente probado en 1824, con la aportacin de Niels 1
Henrik Abel, demuestra que no existe una solucin algebraica general para ecuaciones polinmicas de quinto grado, lo que significa que no existe un mtodo algebraico que permita resolver todas las ecuaciones polinmicas de quinto grado, si bien la solucin exacta de algunas de ellas s puede ser obtenida. En este momento es cuando comienzan a cobrar importancia los algoritmos de aproximacin de races. Puesto que no se puede obtener la solucin exacta, es conveniente contar al menos con una forma de aproximarla con toda la exactitud que se desee. sta es la idea general de los mencionados algoritmos. Sin embargo, los mtodos de aproximacin de races ya se conocan antes de que el teorema de Abel-Ruffini fuera probado: el mtodo de la regula falsi ya era conocido en el III a.C. Del mismo modo, el mtodo de Newton-Raphson fue descrito por Isaac Newton en De analysi per aequationes numero terminorum infinitas (escrito en 1669, publicado en 1711) y en De metodis fluxionum et serierum infinitarum (escrito en 1671, traducido y publicado en 1736). El mtodo como tal fue publicado por primera vez en 1685 en A Treatise of Algebra both Historical and Practical, por John Wallis. En 1690, Joseph Raphson public una revisin simplificada del mtodo en Analysis aequationum universalis. Si bien las bases fueron establecidas por Newton, su forma original de llevarlo a cabo difiere bastante de la actual, y l slo lo aplicaba a ecuaciones polinmicas. En la obra mencionada de Raphson, ste hace una descripcin ms parecida a la actual.
3. Descripcin y desarrollo de algunos mtodos clsicos para la aproximacin de las races de una ecuacin
A continuacin se exponen los distintos algoritmos que han servido como base para la bsqueda de nuevas tcnicas. En todos ellos, se requiere una funcin y un intervalo en el que sea continua y se encuentre la raz a aproximar, .
3. Si , entonces es la raz que se pretende encontrar, y el mtodo finaliza aqu. En caso contrario, se contina con el paso 4. 4. Se tiene una de las siguientes opciones: 2
a. b. 5. Se toma el intervalo en el cual se cumpla 6. Se determina el valor anterior. 7. Si , entonces contina con el paso 8. es la raz que se pretende encontrar. En caso contrario, se . , en funcin el intervalo elegido en el paso
8. Se repite el proceso de forma anloga al paso 4. El proceso se repite un nmero de veces hasta obtener un o, lo que es ms habitual, un que se aproxime a la solucin lo suficiente como para considerar aceptable el error cometido en la estimacin, es decir, hasta que con una tolerancia prefijada. La ventaja ms importante del mtodo de biseccin es que siempre converge a la solucin, sea cual sea la ecuacin en cuestin, siempre y cuando se verifiquen las condiciones iniciales. Sin embargo, no es un mtodo eficiente ya que pueden ser necesarias un gran nmero de iteraciones para obtener una solucin con un error aceptable.
2. Se determina la recta , que pasa por y . Esta recta ser secante a la grfica de , y adems cortar al eje de abscisas en un punto . El vector director de ser el que une los puntos y , es decir
la
ecuacin
de
la
recta
definida
como
la
recta
de
pendiente
en un punto
De donde se desarrolla :
3. Si es una aproximacin aceptable o es el valor exacto de la raz, la tomamos sin ms, en caso contrario se sigue con el paso 4. 4. Se evala el signo de a. b. 5. Se toma el intervalo en el que se cumpla 6. Se repite desde el paso 2 para hallar un nuevo punto de interseccin de la siguiente recta, , con el eje de abscisas, comenzando as la segunda iteracin. En general, se puede decir que el mtodo de la regula falsi emplea un intervalo inicial en el que se comprueba que exista al menos una raz por medio del Teorema de Bolzano, y a partir del cual se obtiene un punto que vale y se tiene una de las siguientes opciones:
siendo el nmero de iteracin. A la vista del valor de , o bien se toma como solucin (si el error cometido se considera aceptable o si ), o bien se toma como un extremo del intervalo de la siguiente iteracin, que devolver a su vez un valor que se evaluar idnticamente. Este proceso se iterar el nmero de veces que se considere necesario o hasta que se halle el valor exacto de .
. Se halla
con el eje de
4. El proceso se repite el nmero deseado de veces, obteniendo, en ciertas condiciones, valores ms prximos a la raz de la ecuacin. Ntese que tambin se puede comenzar por el otro extremo del intervalo, haciendo , siempre que se tome la pendiente con el signo que garantice la convergencia (vase a continuacin). El mtodo se puede resumir en la siguiente sucesin, definida por recurrencia, que converge a la raz de la ecuacin :
Este algoritmo es ms cmodo de ejecutar manualmente en comparacin con el mtodo de biseccin. Adems, la convergencia a la raz suele ser algo ms rpida que en tal mtodo. El mayor problema que se presenta consiste en la eleccin del valor de la pendiente . Precisamente, este es el nico factor que afecta a la convergencia del mtodo. El signo de la misma es claro, pues ha de satisfacer la condicin siguiente:
aunque esta nocin es imprecisa, por lo que a veces es conveniente probar con varios valores antes de desarrollar el algoritmo completo.
converge a la raz de la ecuacin que se encuentra en el intervalo . Como valor inicial se toma el extremo del intervalo cuyo signo coincide con el signo de en dicho intervalo. De esta forma se produce la convergencia ptima y, de hecho, de tomarse el extremo contrario, podra no producirse la convergencia. Demostracin: Ahora se expone una demostracin de la convergencia del mtodo de Newton-Raphson. Las condiciones iniciales son las siguientes: es constante Funcin continua en real de variable real definida.
Lo que se busca probar es que el mtodo converge a la raz, es decir, que sirva para aproximarla. Esto significa que lo que se ha de probar es que o que . Por tanto, el objetivo es llegar a una expresin en la que se puedan relacionar algunos de esos elementos. Para hacer la demostracin ms sencilla, y sin que esto suponga una prdida de generalidad, se supone un tal que . La eleccin de un extremo u otro del intervalo es indiferente, siempre que se cumpla esta condicin. A continuacin, se ha de definir en trminos de su polinomio de Taylor de grado 1, centrado en , que es sencillamente la recta tangente a la grfica de la funcin en . (1) El valor de esta expresin en es el siguiente: (2) Si se desarrolla:
(3)
POLINOMIOS DE TAYLOR Dada una funcin , es posible definir un polinomio similar a esta funcin en las proximidades de un punto . La definicin se realiza en base a las sucesivas derivadas de . Cuanto mayor es el grado del polinomio, ms parecido es ste a . El polinomio de Taylor de grado de una funcin centrado en un punto se define como
donde es el resto, un valor que es diferente para cada y que, al ser sumado al polinomio de Taylor , consigue que tenga el mismo efecto que .
De donde
Y como
Evidentemente,
Por lo tanto,
y , lo que asegura la
caso de que las intersecciones de las secantes con el eje sean unas mayores y otras menores que , esto es, que caigan tanto a la izquierda como a la derecha de la raz. Si esto se diera en el mtodo combinado, se podra llegar a una incongruencia, obteniendo un intervalo que no contuviera ninguna raz en l. Sin embargo, al aadir las dos condiciones citadas arriba, se garantiza que todas las aproximaciones que aporte el mtodo de la regula falsi se irn acercando a la raz por un mismo lado, es decir, a un lado de la raz se encontrarn las aproximaciones del mtodo de Newton-Raphson, en una sucesin convergente a la raz y con una monotona determinada, y al otro lado de la raz estarn las aproximaciones del mtodo de la regula falsi, en sucesin convergente a la raz pero con la monotona opuesta, consiguindose de este modo intervalos cada vez ms pequeos en los que se siga encontrando la raz. Concretamente, el mtodo combinado sigue los siguientes pasos: 1. Se considera la funcin continua en el intervalo y tal que las imgenes en y en tienen diferente signo (las imgenes no son nulas ya que, en caso contrario, el problema ya estara resuelto). Por el Teorema de Bolzano, se sabe que existe al menos un . Adems, tambin se ha de verificar que tanto como tengan signo constante en . Si estas condiciones iniciales no son satisfechas, el mtodo finaliza porque no va a funcionar. En otro caso, se sigue con el paso 2. 2. Siendo intervalo en el que se cumple que , y el otro extremo, se halla el valor siguiendo la sucesin definida por recurrencia que, de hecho, es definitoria del mtodo de NewtonRaphson: el extremo del
y por
, y corta al eje
Ntese que, tal y como ya se ha dicho, el punto es constante en todas las iteraciones, es decir, , mientras que va cambiando en cada iteracin. As, los siguientes puntos de la iteracin por parte de la regula falsi vienen dados por la expresin
4. Si, en algn caso, , la solucin se ha encontrado, en caso contrario, se puede continuar repitiendo los pasos 2 y 3 hasta obtener un intervalo de la longitud deseada, o tomar como aproximacin un valor (que cumpla la tolerancia requerida) que puede ser: O bien uno de los sucesivos , o bien uno de los sucesivos , o como opcin adicional un valor , o incluso con distinto subndice (i.e. que pertenezcan a 9
CASO 2
CASO 4
10
distinta iteracin). En caso de desear elegir un valor y no un intervalo como resultado final, la eleccin del mismo se deja en manos del que ejecuta el algoritmo. Demostracin: La demostracin de la parte en la que se aplica el mtodo de Newton-Raphson es idntica a la demostracin de este mismo mtodo, expuesta en el apartado 3.4. Sin embargo, queda pendiente demostrar la convergencia del mtodo de regula falsi limitado, el que se emplea por el otro extremo. Las condiciones iniciales para esta demostracin son: es constante es constante Funcin real de variable real definida.
Para facilitar la demostracin, se tratarn nicamente los casos 2 y 3. Esta simplificacin, si bien descarta dos de los cuatro casos posibles, es suficiente pues los casos eliminados se demostraran de forma anloga. En los casos que se van a demostrar, se debe probar que . Se comienza definiendo la recta , que es la recta secante en la primera iteracin. Pasa por los puntos y . Por tanto, su vector director es y, directamente, su pendiente viene dada por la expresin
La ecuacin de
es la siguiente:
Cuando
corta a
Por tanto:
Ahora se trabaja con el desarrollo de Taylor para poner en relacin polinomio de Taylor de grado 2, centrado en , para
y . Se utilizar el su valor en
11
De nuevo, el resultado es verdadero en los dos casos analizados. Las conclusiones obtenidas son las siguientes:
Y de ah:
12
Se conjetur que la parbola tena que centrarse en el extremo del intervalo contrario al extremo por el que se empezara el mtodo de Newton-Raphson, es decir, tena que centrarse en ,y que era necesario que tuviera signo constante en todo . Adems, se observ que, de los dos cortes que la parbola tendra con , habra que descartar uno de ellos, el que estuviera ms alejado de la raz, siendo el otro la aproximacin que interesara al caso. A partir de estas ideas iniciales se elabor una demostracin en la que se probaba que el mtodo funcionara. Segn la misma, era posible iterar un proceso en el que se defina la parbola , centrada en , que cortara al eje en un punto que se encontrara siempre entre y , de modo que las condiciones para la siguiente parbola no variaran, y se podra definir sta del mismo modo que , pero centrada en el punto de corte que interesaba. Cada punto de corte, evidentemente, era una nueva aproximacin. Tras realizar esta demostracin, entre abril y mayo de 2011, el asunto qued un tanto apartado, ya que todava quedaba bastante por hacer en cuanto a todos los dems aspectos del trabajo, y haba que terminarlos antes de que se acabara el curso. Por ello, no fue hasta mediados de agosto de 2011 que result que la demostracin era errnea. Se empez a sospechar de esto al probar algn clculo a mano y otros ejemplos en GeoGebra. El proceso seguido para elaborar esta primera demostracin fue similar al de la demostracin del mtodo de Newton-Raphson: Se intent poner en relacin el punto de corte, , con , y luego estudiar tambin la relacin entre y . Debido a un simple error de despeje, se lleg a unas conclusiones que implicaban que el mtodo converga. Ms especficamente, en la mencionada demostracin se prob, errneamente, que siempre cortaba a entre y , pero al probar varios ejemplos en GeoGebra siempre se obtuvo el resultado contrario: pareca cortar siempre entre y (es decir, al otro lado de ). Poco despus, se elabor otro documento, ms especfico, que trataba los cuatro casos posibles (explicados anteriormente), e intentaba enmendar el error de la primera demostracin. En esta segunda prueba, la conclusin que se obtuvo es que no se poda afirmar que el mtodo, con esas condiciones, fuera a converger o no. Ms tarde, se intent una tercera demostracin que pretenda probar que el punto siempre cortaba a entre y , tal y como parecan indicar los resultados en GeoGebra, sin embargo, tampoco se consigui llegar a una prueba convincente. De este modo, la situacin actual es que la hiptesis planteada en la tercera demostracin parece, de momento, ser vlida, pero no se ha conseguido demostrar. Teniendo en cuenta todo esto, se concluy que el mejor camino que se poda seguir era tener presentes las conclusiones que se han podido sacar a partir del estudio en tres fases que se ha mencionado, e incluirlas como una modificacin del mtodo de Newton-Raphson. Hay que remarcar que, al tomar esta decisin, se ha tenido en cuenta que, al ser el inters de la investigacin puramente matemtico, ha sido clave considerar que las operaciones involucradas son ms costosas y de ms lenta realizacin al trabajar con parbolas. Se ha conseguido mantener un cierto equilibrio entre el coste de las operaciones y los beneficios (en trminos de rapidez de convergencia) que aporta el uso del mtodo que se va a presentar. 13
Al igual que en el mtodo combinado, todas las combinaciones posibles de las condiciones del mtodo configuran cuatro casos posibles. El mtodo modificado se desarrolla, concretamente, de este modo: 1. Se considera la funcin continua en el intervalo y tal que las imgenes en y en tienen diferente signo (las imgenes no son nulas ya que, en caso contrario, el problema ya estara resuelto). Por el Teorema de Bolzano, se sabe que existe al menos un . Adems, tambin se ha de verificar que tanto como tengan signo constante en . Si estas condiciones iniciales no son satisfechas, el mtodo finaliza porque no va a funcionar. En otro caso, se sigue con el paso 2. 2. Siendo intervalo en el que se cumple que , y el otro extremo, se halla el valor siguiendo la sucesin definida por recurrencia que, de hecho, es definitoria del mtodo de Newton-Raphson: el extremo del
Hay que tener en cuenta que si (casos 1 y 4), ), y si (casos 2 y 3), el menor. 4. Se comprueba cul de las dos aproximaciones,
a. Casos 1 y 4: Si , entonces es mejor aproximacin que que se contina con el mtodo de Newton-Raphson, hallando redefiniendo antes , de modo que
contrario, se contina con el mtodo de Newton-Raphson tal y como se haba empezado, con . 14
b. Casos 2 y 3: Si , entonces es mejor aproximacin que que se contina con el mtodo de Newton-Raphson, hallando redefiniendo antes , de modo que
contrario, se contina con el mtodo de Newton-Raphson tal y como se haba empezado, con . 5. Despus de estos clculos iniciales, el proceso consiste en iterar el mtodo de NewtonRaphson a partir de , tal y como ya se ha descrito. De este modo, la ventaja que presenta esta variacin del mtodo de Newton-Raphson es que puede llegar a ahorrar algunas iteraciones que habra que realizar si se empleara slo el mtodo clsico.
5. Conclusiones
El resultado principal que se puede obtener del expuesto trabajo es que, si bien el tema elegido como objetivo de la investigacin, los algoritmos de aproximacin de races, ya ha sido estudiado y trabajado en profundidad, todava se pueden obtener resultados no vistos anteriormente que, aunque de pocas aplicaciones en la vida cotidiana a causa de la venida de fenmenos como la computacin, son valiosos porque contribuyen a aumentar nuestro conocimiento en la rama, lo que no es sino un beneficio para el futuro. Cumpliendo con los objetivos marcados antes incluso de empezar a redactar la presente memoria, se ha hecho un repaso de los mtodos ms importantes ya existentes, y se ha conseguido entenderlos a fondo. Sin embargo, lo ms importante ha sido idear ciertas estrategias que son de utilidad en la aproximacin de races cuando las circunstancias lo permiten, a partir de las cuales se han desarrollado el mtodo combinado y el modificado. El primero es til cuando lo que interesa es obtener una mejor acotacin de la raz, mientras que el segundo consigue mejorar la rapidez del mtodo de Newton-Raphson a costa de unas operaciones un tanto ms elaboradas. Pese a los problemas acontecidos, se ha conseguido aportar algo que no haba sido concebido previamente, lo cual es todo un xito para la investigacin.
6. Bibliografa
A lo largo de todo el proceso de elaboracin de este trabajo, han sido varios los recursos empleados para la formacin, especialmente en lo que concierne al estudio inicial de los algoritmos ya existentes. Las publicaciones ms notables empleadas son: JAVIER ETAYO; [et al.] 1978. Matemticas. Madrid, Anaya. Curso de Orientacin Universitaria FERNANDO CHAMIZO LORENTE, Clculo Numrico I y II. Universidad Autnoma de Madrid. Problemas resueltos y resmenes de teora T.M APOSTOL. 1981. Anlisis Matemtico. Madrid. Revert.
15
R. RIVEROS. 2010. Clculo Numrico. Pilar. Paraguay. Libros de Ctedra MIGUEL ALEMN FLORES. Anlisis numrico. Universidad de Las Palmas.
Asimismo, los sitios web ms relevantes y de mayor utilidad al trabajo son los siguientes: http://www.wiris.net/demo/formula/portal/es/ http://en.wikipedia.org/wiki/Gerolamo_Cardano http://en.wikipedia.org/wiki/Ars_Magna_(Gerolamo_Cardano) http://es.wikipedia.org/wiki/Tartaglia http://en.wikipedia.org/wiki/Lodovico_Ferrari http://en.wikipedia.org/wiki/Newton%27s_method#History http://en.wikipedia.org/wiki/False_position_method http://neohumanism.org/n/ne/newton_s_method.html#History http://www.geogebra.org/forum/viewtopic.php?f=20&t=21587 http://www.python.org/ http://code.google.com/p/sympy/
16
Nmero de iteracin 1 2 3 4 5 6
Mtodo de biseccin
Mtodo de NewtonRaphson
Mtodo combinado
Mtodo modificado
17
#se hallan las derivadas primera y segunda de la funcin dada por medio de sympy primera_derivada = str(diff(ecuacion, x)) segunda_derivada = str(diff(primera_derivada, x)) #Se definen en Python las funciones a utilizar en el algoritmo
18
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
def f(x): return eval(ecuacion) def d(x): return eval(primera_derivada) def dd(x): return eval(segunda_derivada) #Se comprueba cul es el extremo por el que empezar el mtodo de Newton (alfa) y el otro (beta) if (dd(a) * f(a)) > 0: alfa = a beta = b else: alfa = b beta = a #Se definen unas variables necesarias i = 0 #Variable ndice para el bucle while N_0 = alfa #Variable que almacena el valor inicial del mtodo de Newton y se actualiza en cada iteracin del bucle #con el valor de la aproximacin anterior RF = 0 #Variable que almacenar sucesivamente el valor de las iteraciones del mtodo de la "regula falsi". Aqu #slo se define con el valor 0 b_k = b #Variable para el mtodo de la "regula falsi" que se va actualizando segn cambia el valor del extremo #que no est fijo (por las condiciones del mtodo, hay uno que est fijo y otro que no lo est) #Cuerpo del algoritmo while i < n: N = N_0 - (f(N_0)/d(N_0)) N_0 = N i += 1 RF = (f(b_k) * a - f(a) * b_k) /(f(b_k) - f(a)) #No es necesario evaluar el signo de RF ya que las condiciones b_k = RF #del problema indican que RF siempre cae entre r y b c = (N + RF) / 2.0 #Impresin por pantalla de las soluciones obtenidas print ' ' print ':: SOLUCIONES APROXIMADAS ::' print ' '
19
68 69 70 71 72 73 74 75 76 77
'En %d iteraciones del mtodo combinado, los resultados obtenidos en la' % n 'aproximacin de la raz de %s = 0 en el intervalo (%f, %f) son los siguientes:' % (ecuacion, a, b) ' ' ') La ltima itereacin por el lado del mtodo de Newton-Raphson aporta el resultado N =', N ' ' ') La ltima iteracin por el lado del mtodo de la "regula falsi" aporta el resultado RF =', RF ' ' ') Punto medio final: c =', c
20