Iteración de punto fijo Recorrido por diferentes registros y un programa para fx-9860GII Daniela Laura Parada1 1
Casio, Profesora de Matemática, UBA UNSAM Buenos Aires, Argentina
[email protected]
Abstract. El presente trabajo recorre diferentes registros con los que puede ser abordado el método numérico de iteración de punto fijo para la resolución de ecuaciones. Se presenta el tema desde el enfoque teórico valiéndonos de pruebas analíticas y gráficas para su demostración lo que hace que se tenga una comprensión más profunda del algoritmo. Luego, se presentan diferentes registros para trabajar con los estudiantes valiéndonos de herramientas de cálculo como la calculadora científica hasta alcanzar herramientas más sofisticadas como la calculadora gráfica y programable. Finalmente, se culmina el desarrollo con la elaboración de un programa que simula el algoritmo de punto fijo y se compara con los resultados anteriores. Es una actividad pensada para estudiantes de último nivel de la escuela media o de cursos preuniversitarios que ya hayan tenido contacto con algunos objetos y resultados del cálculo y del análisis matemático. Objetivos. Estudiar el método de iteración de punto fijo. Conocer el algoritmo. Explorar la validez del método desde una prueba gráfica y una analítica. Utilizar diferentes herramientas tecnológicas para explorar ventajas y potencias de su uso en cada caso. Realizar un programa en una calculadora científica programable para simular el algoritmo.
1. INTRODUCCIÓN La resolución de ecuaciones es un tópico del algebra que ha ocupado siglos de estudio. Bien sabemos hoy virtualmente imposible desarrollar procedimientos analíticos para la resolución de cualquier tipo de ecuación. No obstante, desde el desarrollo del cálculo y gracias a muchos resultados teóricos del estudio de funciones de clase C, ha sido posible estudiar diversos métodos y definir algoritmos en pos de aproximar soluciones para cualquier tipo de ecuaciones. A estos desarrollos se los conoce como métodos numéricos o cuantitativos y son una herramienta muy poderosa para la aplicación en cualquier disciplina. Un estudiante con algunas nociones de precálculo está en condiciones de estudiar los métodos, comprender su validez y ponerlos en práctica. Como sucede con muchos de los teoremas más complejos y difíciles de demostrar del cálculo, los enunciados sobre los que se construyen estos métodos, son intuitivos y casi triviales lo que los hace especialmente interesantes para deducir en el aula.
El objeto de este trabajo es el de presentar una alternativa para el estudio de uno de estos métodos: iteración de punto fijo, desde un punto de vista exploratorio y de uso de diferentes registros. Actividad. Se quiere hallar una solución para la ecuación
( )−
= 0.
2. NOTAS TEÓRICO-PRÁCTICAS 1.
Registro: función SOLVE
Si contamos con una calculadora científica como la fx-991LAX veremos que es posible usar la función SOLVE 1 para hallar una solución aproximada.
Figura 1. Dentro del menú CALCULAR se ingresa la función, se define un valor inicial para comenzar la aproximación y luego se ejecuta. El resultado se muestra en la última pantalla donde, además, la leyenda L-R muestra que para el valor hallado, la diferencia entre el miembro de la derecha y el de la izquierda de la ecuación es cero.
2.
Registro gráfico
Resolver la ecuación luce gráficamente.
( )−
= 0 es equivalente a hallar los ceros de la función
=
( )−
. Veamos cómo
Figura 2. Dentro del menú GRAPH se ingresa la función y con la opción de ZOOM y del comando G-SOLVE ROOT es posible darse una idea del valor aproximado de la raíz.
Si no se cuenta con calculadora gráfica, es posible darse una idea aproximada del comportamiento usando la función TABLA en las calculadoras fx-991LAX y la opción del QR para ver la visualización en línea del gráfico.
Figura 3. Uso de la función TABLA. En rojo se muestra el cambio de signo del valor funcional lo que sugiere, según el Teorema de Bolzano, la existencia de una raíz entre los valores 0,725 y 0,75.
1
Para acceder a la función SOLVE es necesario definir la ecuación y luego presionar qr.
Figura 4. Visualización en línea a través del QR generado por la TABLA confeccionada en la figura 3.
Ahora bien, en cualquiera de los dos registros, ¿cómo es posible lograr una aproximación semejante en una resolución que no es analítica? ¿Cómo logra procesarlo la calculadora? ¿Cuál es el modelo teórico que justifica ese cálculo? Y algo más, ¿con qué nivel de precisión accedimos a esos resultados?
ITERACIÓN DE PUNTO FIJO El objetivo de este algoritmo es el de aproximar la solución de una ecuación de la forma = ( ). Para ello, conociendo un valor inicial se harán iteraciones finitas de la forma = hasta hallar un valor al que convergen las sucesivas iteraciones. Dicho valor , de existir, es conocido como punto fijo y es la solución de la ecuación = ( ). Veamos por qué sucede esto usando dos pruebas que validan el criterio, según sea el nivel de complejidad deseado para trabajar con los estudiantes: Prueba analítica
Sea ( ) una función continua y sea
una sucesión definida
:
. Supongamos que, efectivamente, = tras un número suficientemente grande de iteraciones el valor de entrada converge, es decir que lim = . Como ( ) →
es continua, se cumple que: ( )=
=
lim
= lim
→
Es decir, como ( ) =
→
,
= lim →
=
(también conocido como punto fijo) es solución de la ecuación inicial2.
Bajo los supuestos de que la función ( ) es de clase en un intervalo , y que, además verifica que ( ) ∈ , , entonces ( á | ´( )|) ( − ). Esta desigualdad nos permite conocer el número el error de cada iteración cumple la desigualdad mínimo de iteraciones para conseguir un error deseado. No obstante, para la implementación del algoritmo, utilizaremos un criterio de paro basado en el error relativo que -oportunamente- comentaremos. 2
Prueba gráfica Hallar la solución para = ( ) es equivalente a encontrar la intersección en el primer o tercer cuadrante de las curvas = ( ) e = . A los efectos de simplificar un poco, consideraremos sólo una curva ( ) creciente y cóncava ya que nos garantizaremos -así- la convergencia 3. Podemos definir un punto de partida que de modo tal que en su intersección con la curva ( ) determina un punto ( ) = . Asimismo, como hemos estudiado, este valor = determina un nuevo punto sobre la recta = que llamaremos y que será un nuevo punto para evaluar en la curva ( ). Como es un nuevo valor para evaluar en ( ), podemos definirlo como un de una nueva iteración y repetir el mismo procedimiento ad infinitum.
Figura 5. Figura de análisis para la prueba gráfica del método.
Como se ve, cada uno de estos puntos representa las iteraciones del método y muestran cómo los segmentos van siendo cada vez más pequeños a medida que aumentan las iteraciones mientras los segmentos determinan los valores que son cada vez más próximos al valor teórico de la convergencia que es el punto fijo y solución de la ecuación = ( ).
3.
Registro: iteración de punto fijo con sucesiones
Veamos, entonces, cómo aproximar la solución de fijo. Para ello, utilizaremos la ecuación equivalente
=
( )−
( )
calculadora científica fx-991LAX, definiremos la sucesión
= 0 utilizando 9 iteraciones para el método de punto
4.
Luego, con la función HOJA DE CÁLCULO en una
=
cuyo valor inicial definimos en
= 1.
3 Se puede probar, análogamente, que si la curva es dereciente y convexa también la sucesión resulta convergente (aunque en forma de espiral en lugar de escalonada, como se vio en la figura). Para ampliar, una de las condiciones para la convergencia es que | ´( )| < 1 . 4 Como hemos adelantado en la prueba gráfica del método, no todas las ecuaciones de la forma = ( ) satisfacen las condiciones de convergencia. Al final del trabajo mostraremos la conveniencia (o no) en la elección de la función
=
( )
.
Luego de 9 iteraciones, se alcanza el punto fijo aunque no sabemos -aún- con qué nivel de tolerancia ya que no hemos definido un criterio de paro.
Figura 6. Aproximación por iteración de punto fijo usando la sucesión en una hoja de cálculo. Se muestra en círculo el resultado para la novena iteración.
Figura 7. Tabla disponible para visualización en línea generada por el QR para la función HOJA DE CÁLCULO. Es una herramienta interesante para mostrar la convergencia de la sucesión pues, como se muestra, a partir de la 7ma iteración ya se logra una aproximación de 6 decimales.
Un criterio de paro puede ser el del cálculo del error relativo
como el que se agrega en la tercera columna de la
hoja de cálculo de la figura 8.
Figura 8. HOJA DE CÁLCULO que incluye la columna con el error relativo de cada iteración.
La calculadora fx-9860GII ofrece, además, un menú para el estudio de sucesiones por lo que podemos indagar su comportamiento y ver las iteraciones y la convergencia al punto fijo.
Figura 8. Sucesión usando el menú RECUR.
Usando la opción G-CON del menú, es posible mostrar una gráfica continua de los puntos de la sucesión para las iteraciones y ver -efectivamente- cómo se logra la convergencia al punto fijo.
Figura 9. Gráfica continua de la sucesión de la figura 8. Se muestra, además, cómo para la segunda iteración ya se logra un nivel de precisión muy bueno.
4.
Registro: programa PTOFIJO para fx-9860GII
Hemos reservado para el final uno de los desarrollos más interesantes para trabajar con todos los estudiantes. A lo largo de estos párrafos hemos mostrado diferentes registros para acercarnos a la aproximación de soluciones de ecuaciones tratando de hacer emerger la necesidad de un desarrollo teórico que justifique un procedimiento acorde. En ese sentido, hemos desarrollado escuetamente el método de iteración de punto fijo y lo hemos modelado con una calculadora científica fx-991LAX sin inconvenientes. Aun así, hemos visto que tanto el cálculo como el criterio de paro deben ser operados manualmente y -lo que es más difícil- la cantidad de iteraciones para alcanzar un error mínimo deseado debe ser estudiada a medida que se opera. Por ello, una actividad de síntesis interesante puede ser la de elaborar un programa que simule el algoritmo de punto fijo. Definir un programa, ejecutarlo y ponerlo a prueba pueden resultar en un ejercicio de autoevaluación ya que el estudiante sólo será capaz de poder elaborar la secuencia si verdaderamente comprende la lógica del algoitmo. Sugerimos, a continuación, una secuencia posible para el programa PTOFIJO donde se incluyen -además- tablas de valores para la iteración, el valor funcional y el error de cada paso con la función STAT.
s
PTOFIJO para Casio fx-9860GII Definiremos dos programas, uno de ellos correspondiente al algoritmo de punto fijo (PTOFIJO) y otro a la función cuya solución aproximaremos (G). Para el ejemplo considerado, entonces, definimos el programa G: Comando
Explicación
(X+cos(X))÷2→Y
La función debe estar dada en la forma
Figura 10. Programa G donde se define la función
= ( ).
= ( ) a usar con PTOFIJO.
A continuación, creamos el programa PTOFIJO con la siguiente secuencia:
Comando
Explicación
ClrText┘
Iniciamos el programa.
“p0”?→Q┘
Definimos el valor inicial.
“TOL”→T┘
Definimos el nivel de tolerancia.
“n”?→N┘
Definimos la cantidad de iteraciones.
N→Dim List 1┘
Las iteraciones determinan la cantidad de filas de las tablas.
N→Dim List 2┘ N→Dim List 3┘ “p”→List 1[0]┘
La primera lista contiene los valores de p en cada iteración.
“f(p)”→List 1[0]┘
La segunda lista contiene los valores funcionales evaluados en cada iteración.
“error”→List 1[0]┘
La tercera lista contiene los errores de cada iteración.
1→I┘
Se empieza con la primer iteración. El proceso se repetirá siempre y cuando resten iteraciones de las definidas y el error sea mayor al tolerado.
While I≤N┘ Q→List 1[I]┘
La lista 1 comienza con el valor inicial definido.
Q→X:Prog “G”:Y→P┘
Los restantes de la lista 1 son los valores funcionales de la lista 2 en la iteración anterior.
P→List 2[I]┘ Abs(P-Q)÷Abs(P)→R┘
El error se calcula con el criterio de paro
If I=1┘
error de la primer iteración se considera 1.
y su cálculo se ubica en la tercer columna. El
Then 1→List 3[I]┘ Else R→List 3[I]┘ IfEnd┘ If R
El método terminará cuando el error sea menor que el nivel de tolerancia definido. En ese caso, el programa arrojará el valor funcional de la última iteración.
Then P┘ Stop┘ IfEnd I+1→I┘ P→Q WhileEnd
Si el error es mayor que el nivel de tolerancia definido, entonces, el programa continuará con las iteraciones redefiniendo como nuevo valor inicial, al valor funcional de la iteración anterior. Si se agotan las iteraciones y no se alcanza el nivel de tolerancia deseado, el programa se interrumpe y arroja el mensaje de fracaso.
ClrText: “El método fracasó después de” Locate 9,2,N: “iteraciones.” Figura 11. Secuencia y código para la carga del programa PTOFIJO.
Figura 12. Visualización del programa PTOFIJO tal como se describió en la figura 9.
La ventaja del programa es que fue armado para que, además de proveer el valor final de salida, muestre las tablas con los cálculos de cada una de las iteraciones. Veamos, por ejemplo, qué sucede con la búsqueda de soluciones para la ( ) ( ) = 0 a través de la auxiliar = función − con un valor inicial = 1. Si definimos una tolerancia de 10 y un total de 9 iteraciones:
Figura 13. Solución del problema con PTOFIJO.
Ahora bien, ese nivel de precisión, ¿se habrá logrado antes de las 9 iteraciones? Si aprovechamos las tablas que se confeccionan cuando se ejecuta el programa, vemos que para la iteración 7 el criterio de paro es menor que el nivel de tolerancia exigido y por eso el programa finaliza arrojando el valor del punto fijo 0,7390856959.
Figura 14. Visualización de las tablas del programa PTOFIJO en el menú STAT. Se marca el valor de salida del programa y el error asociado.
Veamos, por el contrario, qué sucede si buscamos un nivel de tolerancia muy alto con pocas iteraciones.
Figura 15. Visualización del programa PTOFIJO.
El programa finaliza luego de las 5 iteraciones consignadas. Al momento de revisar las tablas con los cálculos auxiliares, vemos que el criterio de paro en la última iteración es mayor que la tolerancia pedida por lo que el programa finaliza sin éxito. No obstante, con una tolerancia menor, es posible hallar una aproximación del punto fijo con cuatro decimales de precisión.
Figura 16. Visualización de las tablas del programa PTOFIJO en el menú STAT. Se señala que el valor arrojado se encuentra por encima del nivel de tolerancia admitido.
5.
Acerca de la forma de la ecuación
= ( )
Como hemos comentado en 2.3, es importante notar que no todas las ecuaciones de la forma = ( ) garantizan la convergencia con el método de punto fijo. Si bien en un nota al pie señalamos algunas condiciones para tener la garantía
de la convergencia, sería conveniente presentar a los estudiantes este tópico desde un punto de vista exploratorio ya que la prueba teórica de lo que enunciamos sería algo compleja y extensa para un estudiante de nivel medio. Por ello, y dado que hemos definido un programa 2.4 que facilita los cálculos, sería interesante estudiar diferentes formas = ( ) para la misma ecuación y analizar qué sucede con su convergencia. Veamos algunos ejemplos:
Ejemplo 1:
= cos( )
Figura 16. Visualización de la función y las tablas del programa PTOFIJO. Se muestra cómo, para la función = cos( ) no hay convergencia ni se alcanza el nivel tolerado de error. Por eso el programa arroja el mensaje de error.
Ejemplo 2:
=
( )
( )
Figura 17. Visualización de la función y las tablas del programa PTOFIJO. Se muestra cómo, para la función : hay convergencia y se alcanza el nivel tolerado de error en 9 iteraciones. Esta es, de hecho, la función que hemos usado a lo largo del desarrollo.
Ejemplo 3:
=
( )
( )
Figura 18. Visualización de la función y las tablas del programa PTOFIJO. Se muestra cómo, para la función : hay convergencia pero no se alcanza el nivel tolerado de error en 9 iteraciones (se logra una aproximación a tres decimales, en comparación con los 5 decimales logrados en la anterior). Esta es una sucesión convergente algo más lenta que la presentada en la figura 17.
3. REFLEXIONES La resolución numérica de ecuaciones es, sin dudas, uno de los campos con mayor necesidad de integración de la tecnología para el abordaje práctico pues la sistematización de cálculo que exige hace que sea virtualmente imposible el cálculo manual. No obstante, el objeto de este trabajo era algo más ambicioso que la sola sistematización del cálculo para un algoritmo. A lo largo de estas líneas, hemos intentado mostrar la necesidad de la definición de un método numérico de resolución a partir de los resultados de 2.1 y 2.2 pues era necesario conocer la teoría que nos permitía decidir qué nivel de tolerancia es el que tiene un resultado aproximado. A partir de ello, hemos mostrado la definición del método de iteración de punto fijo y hemos discuto acerca de sus hipótesis y validez a partir de la prueba gráfica y analítica. Es importante que los estudiantes conozcan cuáles son los mecanismos de validación en matemática, de otra forma, sólo la considerarán como un compendio de fórmulas y verdades absolutas que no contribuyen a la formación del pensamiento matemático y crítico. A tal punto son relevantes las pruebas que hemos mostrado que es gracias a ellas que es posible, posteriormente, cuestionarse aspectos prácticos que surgen de la resolución de un ejercicio, como hemos tratado de mostrar en 2.5. Uno de los fines más importantes que perseguimos con este trabajo ha sido el de formular un programa para la resolución de ecuaciones por el método de punto fijo, considerándolo como un ejercicio de exploración, de síntesis y de autoevaluación para los estudiantes. De síntesis y autoevalución porque no es posible formularlo si no se tienen claros los conceptos teóricos estudiados más arriba; y de exploración porque una vez definido el programa nos es posible, casi sin ningún esfuerzo adicional, estudiar qué sucede a medida que cambian condiciones de las hipótesis del método como lo es la función, la cantidad de iteraciones o el error relativo. Los dispositivos tecnológicos no sólo constituyen una herramienta para el aprendizaje sino que, de acuerdo a cómo se seleccionen los temas y se definan las secuencias didácticas, pueden ser verdaderos “pares didácticos” para los estudiantes que fomenten la exploración, la búsqueda de patrones o recurrencias, el ensayo y el error así también como la autoevaluación. Todo depende, por supuesto, del sentido didáctico que se le dé tanto a los objetos como al uso que se hará con ellos en un tema específico.
4. MÁS INFORMACIÓN Desde Casio nos ponemos al servicio de la mejora de la calidad de enseñanza y aprendizaje en todos los niveles educativos de Latinoamérica, acercándoles recursos a docentes e instituciones para que puedan hacer de la enseñanza matemática un conocimiento profundo y completo en sus estudiantes. Por ello, les acercamos estas actividades así como la posibilidad de solicitar un workshop para el trabajo de resolución de problemas en matemática. Para acceder a más recursos digitales en su idioma: http://educasio.com Para solicitar el dictado de un workshop escríbanos a:
[email protected]