Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
El análisis numérico es una vía de solución alterna que permite conectar la teoría y
la práctica al nivel que se quiera de medición y cálculo pero en una forma diferente
a como normalmente se enseña la operación analítica de los conceptos.
Las computadoras, hoy en día, juegan un papel decisivo en esto, pues la complejidad de los
cálculos supera al poder humano de cómputo. La historia marca la década de los años cuarenta
durante el siglo XX como el nacimiento de los métodos numéricos modernos, al conjuntarse tres
elementos esenciales: el desarrollo de las computadoras electrónicas programables, el desarrollo
del análisis matemático moderno y la disponibilidad y necesidad de problemas complejos en
ciencia y tecnología. Aspectos como la mecánica de fluidos, el estudio de las propiedades
electromagnéticas de los materiales y el análisis de sistemas mecánicos complejos dependieron
fuertemente de estos desarrollos.
Una supercomputadora tiene un alto poder de cómputo y estabilidad. Empleadas para tareas intensivas de cálculo como el
cálculo de procesos cuánticos, análisis de resultados de física de partículas, predicción del clima, efectos del cambio
climático, cinética molecular, simulaciones aeronáuticas o automotrices en viento y procesos dentro de reactores de fusión
y fisión. Las primeras fueron introducidas en la década de los sesenta, diseñadas por Seymour Cray en la compañía
Control Data Corporation, hasta que Cray constituyó su propia empresa, Cray Research. Desde entonces el mercado de
super-cómputo ha crecido exponencialmente. M ás información aquí.
El artículo de Von Newmann y Goldstine (1947) sobre inversión de matrices de orden superior
estableció la posibilidad de emplear las computadoras para realizar cálculos numéricos complejos
en tiempos razonables que hasta entonces no eran asequibles al ser humano. Diversos
problemas que de manera conjunta aparecen en el análisis físico y tecnológico tenían las mismas
características:
Estos problemas aparecen de manera conjunta al analizar los sistemas físicos de fenómenos y
aplicaciones complejas y el advenimiento de las computadoras programables propulsaron el
desarrollo de las técnicas numéricas para hacerlo. Cada vez se planteaban problemas más
complejos con un mayor número de variables, lo que competía rápidamente con la creciente
capacidad de cómputo existente y la necesidad de resultados cada vez más precisos. Un ejemplo
puede bastar para explicar esto.
Aún con las computadoras más poderosas, se hizo necesario que los complicados procesos
de cálculo fueran lentos, así que precisión y rapidez comenzaron a librar una batalla muy fina
para combinarse adecuadamente en las computadoras disponibles, sin comprometer la exactitud.
El análisis de estabilidad de los resultados y métodos numéricos desarrollados se hizo cada vez
más tan importante como el desarrollo de los métodos numéricos en sí mismos.
El impacto y simulación de la propagación de un terremoto ha sido un trabajo destacable para las computadoras CRAY
por parte de la UNAM , como la propia compañía que las produce anuncia orgullosamente en su portal.
Se puede estudiar la historia de los métodos numéricos estadísticamente y se encontrará que
en todos los campos descritos antes, alrededor del 90% de ellos han sido desarrollados en los
últimos 70 años. Si bien gran parte de los métodos numéricos estudiados en este libro no
corresponden a los desarrollados a partir de 1940, el 10% restante sí surgieron como
curiosidades matemáticas con baja aplicabilidad por no disponer en su momento de una
plataforma de implementación como los son las computadoras. Pero son actualmente suficientes
para resolver la mayoría de los problemas genéricos de simulación. Los métodos numéricos
desarrollados en estos últimos 70 años son aplicables cada uno a problemas altamente
específicos. Los albores del desarrollo de los métodos numéricos apenas pueden rastrearse en
la historia, y están referidos a los tiempos anteriores a nuestra era con las civilizaciones egipcia y
árabe que resolvieron problemas que sólo después pudieron resolverse analíticamente mediante
el álgebra (un caso particular es la solución de ecuaciones de segundo grado antes de que se
conociera una fórmula para resolverla) y que no perdieron vigencia por sentar las bases de
desarrollos para resolver problemas que hoy se saben algebraicamente irresolubles.
El comprender el uso de los métodos numéricos hoy requiere de disponer de las tres
habilidades asociadas con los elementos antes mencionados.
Este enfoque y su importancia pueden estar llenos de escepticismo. Por un lado quien no ha
empleado los métodos numéricos para resolver un problema complejo tendrá hasta ahora dos
caminos ya conocidos a los que costará trabajo renunciar: por un lado el enfoque analítico que
permite resolver, mediante el análisis matemático, un problema simple sin demasiadas
complicaciones como se hace en la mayoría de los cursos teóricos de ciencia e introducción a la
ingeniería y por otro lado, el camino de desarrollo experimental o tecnológico, que permite
diseñar un proceso o prototipo sin grandes elementos de cálculo previo. Es posible permanecer
ahí por comodidad y sin grandes sobresaltos, pero el camino a la ciencia y tecnología modernas
ni plantea problemas sencillos que regularmente se puedan resolver analíticamente, ni permite el
dispendio ni imprecisión de un desarrollo experimental aproximado basado en el ensayo y error.
Nadie construye un avión sin haberlo simulado previamente, ni un acelerador de partículas sin
haber reproducido numéricamente su implementación y construcción.
El desarrollo del poder de cómputo ha desarrollado el estudio de métodos numéricos, su eficiencia y complejidad. Al dar
clic aquí verás el sistema de cómputo JAGUAR, instalado en el laboratorio nacional de Oak Ridge, una de las
computadoras más rápidas y robustas del mundo.
De este modo, esta obra tiene tres orientaciones. La primera es realizar una introducción a los
métodos numéricos de problemas típicos y básicos, sobre todo aquellos asociados con el álgebra
y el cálculo, los cuales son elementos básicos en muchas de las aplicaciones analíticas de la
ciencia y la tecnología. La segunda se refiere a lograr transmitir no sólo la comprensión de los
métodos numéricos, sino la forma en que estos se implementan a través de lenguajes de
programación y el dominio de algunos elementos de este proceso. Finalmente, la posibilidad de
emplear software especializado, que si bien simplifica el grado de dominio de los métodos
numéricos, deja aún la construcción del análisis numérico de un problema. Por estas razones,
este libro evoluciona a partir de la comprensión básica de algunos métodos sencillos y su
enfoque recursivo, mediante el empleo de Excel como herramienta primaria, para posteriormente
enfatizar la aplicabilidad de un primer lenguaje de presentación y culminar con una perspectiva
dual en que el Método numérico es implementado sobre una plataforma robusta que soporta la
visualización o bien mediante comandos predefinidos que se emplean en conjunto para el
análisis.
La solución exhibe un término transitorio que se anula para tiempos grandes y un término
armónico estacionario, que posee un máximo que puede calcularse por métodos analíticos
habituales para γ y es útil para analizar la resonancia del sistema, el cual es:
para:
Hay varios procedimientos analíticos que se llevan a cabo aquí. El primero de ellos y que está
implícito en varias partes del análisis es la posibilidad de resolver o despejar en una ecuación
cualquiera de sus parámetros. Posteriormente, el obtener la solución analítica de una ecuación
diferencial y finalmente el poder resolver un problema de máximos y mínimos mediante las
técnicas habituales del cálculo diferencial. Una variación del modelo matemático para la fuerza
armónica , puede hacer inviable la aplicación de dichas técnicas analíticas, las cuales
deberán sustituirse por técnicas numéricas. Aprender cómo combinarlas para resolver problemas
de análisis completos es parte del objetivo de este libro.
Gran parte de los métodos numéricos presentados aquí corresponden a métodos clásicos
iterativos. En ellos se busca la repetición de un proceso dirigido, lo cual mejora la exactitud del
resultado. Existe todo un campo de estudio relacionado con esto en matemáticas, la teoría de la
estabilidad, bajo la cual se sustenta la implementación de métodos teóricamente convergentes a
la solución esperada sobre sistemas de cómputo imperfectos, que poseen precisión limitada y
errores de redondeo. Esta característica es la que permite obtener resultados equiparables con
los métodos analíticos hasta cualquier precisión requerida como ilustra la Figura 1.2 en donde se
esquematiza el proceso numérico unitario, que considera datos de entrada, que sirven como
insumo del método numérico propiamente dicho, el cual incluye un criterio para decidir la salida
del proceso iterativo a través de la entrega de un resultado mediante datos de salida. Aunque
este proceso, debe entenderse en la práctica profesional, dentro de una secuencia de cálculo,
dentro de la descripción de los métodos se hará referencia a procesos numéricos unitarios,
dejando la integración a algunas aplicaciones propuestas en la sección correspondiente.
A diferencia de los métodos analíticos directos en donde las soluciones se obtienen en forma cerrada y funcional, los
métodos iterativos, particularmente los de las matemáticas computacionales, persiguen resolver un problema (una
ecuación o sistema de ecuaciones) mediante aproximaciones sucesivas, empezando de una estimación inicial. Estos
métodos de utilidad para resolver problemas complejos con gran número de variables, en los cuales es imposible obtener
una solución cerrada o en la que esta tendría un alto costo temporal o computacional.
Excel es una herramienta de fácil disponibilidad, aunque no se apega del todo al esquema de
aplicación en el sentido de los lenguajes de programación. Sin embargo, es una herramienta que
permitirá al lector introducirse a la comprensión primaria del cálculo numérico visualizando el
proceso y sus elementos intermedios, así como la implementación sencilla, aunque no del todo
práctica dado el manejo de un gran número de datos y celdas. Su inclusión en los métodos
introductorios atiende más a una cuestión didáctica sobre la comprensión de la forma interna de
trabajo de éstos, que a una promoción de su uso.
En una aplicación directa de Excel se emplearán columnas para guardar un tipo particular de
variable, ya sean de entrada, intermedias o de salida, y cada paso iterativo del método se
representará en cada renglón, como ejemplifica la Figura 1.3 con el método de bisección para
resolver ecuaciones no lineales de una variable.
Existen diversas formas para programar. Algunas más similares a la forma secuencial de
realizar cálculos y operaciones por un ser humano y otras más óptimas para un lenguaje de
computadora y más eficientes al manipular simultáneamente los elementos de cálculo.
La programación estructurada es un enfoque para escribir programas de cómputo empleando únicamente tres
estructuras: secuencia, selección e iteración; siendo innecesaria la transferencia incondicional.
Para ilustrar esquemáticamente estos conceptos, la Figura 1.4 muestra esta concepción para
el primero de los métodos numéricos que se estudiará, el método de bisección. Este método se
emplea para determinar el valor aproximado donde una función f(x) se anula, y consiste en dar
dos valores aproximados que limiten a cada lado a la raíz, con lo que se calcula su valor medio y
posteriormente este valor se sustituye por alguno de los valores iniciales de manera que sigan
cumpliendo con acotar a la raíz.
El proceso se repite varias veces para mejorar la acotación de la raíz o dar un valor mejor a
través del punto medio de ambas cotas. Esta descripción corresponde a una programación
estructurada donde a través de un proceso iterativo se va obteniendo la aproximación mediante
la repetición del método n veces. En forma alternativa, si se definen dos funciones: g que
básicamente constituye la regla de sustitución de (a,b) por nuevos valores (a’,b’) y h que
constituye la aplicación repetitiva de una función sobre una variable, n veces. Así, h(g(f,a,b),n)
constituye la aplicación funcional del algoritmo. Posteriormente se analizará detalladamente esta
comparación con la programación hecha sobre Mathematica al estudiar su sintaxis.
En esta sección será presentada una introducción sobre la forma en que se empleará Python
y Mathematica en este libro, así como una revisión superficial de la sintaxis. No se pretende
agotar, por supuesto, el tema de la sintaxis, las librerías complementarias y otros aspectos de
construcción de ambas herramientas, para lo cual se recomienda la revisión de bibliografía
complementaria.