Volver menú revistas Volver página anterior

El Amiga Me Encanta ha conseguido el permiso por escrito de IDG Comunications España para ofrecer los artículos de la revista Amiga World España.

N° 38 - Diciembre 1992
Amiga World

HABLEMOS........... DE MATEMATICAS.


Por Marvin Weinstein

Profesionales y aspirantes a científicos: ¡Maple V habla su lenguaje!. Maple V es unprograma de álgebra que hace cálculos, dibuja gráficos y abre un mundo de nuevas posibilidades a los usuarios de Amiga. Una captura de Maple V

Aunque el Amiga siempre ha sido un medio ideal para la preparación de escritos científicos, no disponía de aplicaciones adecuadas. Ahora Maple V, el primer programa de matemáticas simbólico ($450, Waterloo Maple Software), viene a cubrir la carencia de este tipo de aplicaciones.

Como físico teórico, la combinación de Maple V, Amiga-TeX (potencia procesador de textos, Radical Eye Software, $200) y un buen programa de dibujo con puerto ARexx, como por ejemplo PreVector ($299, Stylus) me provee de todo lo que necesito a la hora de hacer complejos cálculos, redactar las conclusiones y presentar los resultados listos para su publicación. Imprescindible para físicos, matemáticos, ingenieros. Maple V es útil incluso para presores y estudiantes. De hecho, la Universidad Estatal de Nueva York en Albany, ofrece un innovador curso de matemáticas basado en Maple V e impartido en Amiga 2000 y Amiga 2500.

Los programas de matemáticas simbólica eliminan el trabajo pesado al hacer cálculos analíticos, se podría comparar a lo que aporta una calculadora en cálculos numéricos. Con Maple V cualquier persona puede manejar la compleja técnica matemática hasta ahora reservada a los altamente cualificados ingenieros o científicos.

Maple V hace lo que conocemos como manipulación álgebraica, manipulación matemática o simplemente álgebra. Maneja ecuaciones y las dibuja, tanto en dos como en tres dimensiones. Como cualquier otro programa de álgebra, Maple V es en parte un lenguaje. Sin embargo distinto de otros lenguajes como C o Fortran en que puede manipular expresiones en las cuales hay partes que son definidas o indefinidas. Es por esto que Maple V permite expresiones de este tipo:
x:=(a+b)
x:=x+11
incluso si "a" y "b" no tienen asignado ningún valor.

Los buenos programas vienen provistos de medios para desarrollar, simplificar, factorizar, derivar (diferenciar), integrar y cualquier otro tipo de operación que el usuario diseñe. Los programas más avanzados manejan funciones trigonométricas, funciones Bessel, álgebra lineal, matrices... También son capaces de resolver integrales definidas e indefinidas, algebra de precisión aleatoria, seires infinitas y en general hacer la vida más simple para alguien que tiene que hacer largos cálculos analíticos. Si combinamos todo lo expuesto anteriormente y añadimos un manejo sencillo obtenemos el programa ideal.

A lo largo de este artículo iré detallando como Maple V se acerca a este ideal, pero antes de nada, hay que eñalar que los predecesores de Maple V (todos ellos basados en tres plataformas) solo tenían una parte de esas características. Cuando Maple V y su rival Mathematica aparecieron en la década de los 80, añadieron mucha mayor potencia, un interface de usuario más perfeccionado, sintaxis actualizada para el lenguaje de programación y potentes capacidades gráficas.

La revolución llego cuando el creador de Mathematica se dio cuenta de que un programa de estas característcas no era simple curiosidad científica sino que poseía un valor comercial innegable. Desde entonces el Grupo de Calculo Simbólico de la universidad de Waterloo ha trabajado sin descanso y una sana competencia ha nacido entre los dos programas. Maple V es el primero en aparecer para Amiga.


LAS COMPARACIONES PUEDEN SER ODIOSAS

Aunque Mathematica no exista para Amiga (versiones de ambos programas existen para MS-DOS, Mac, NeXT, Sparc y otras estaciones de trabajo basadas en procesadores RISC) es el más directo competidor de Maple V. Mi propia experiencia y la de muchos colegas, es que Maple V es más potente. Además, es más rápido y requiere menos memoria que el Mathematica al compararlo en cualquier plataforma.

- Cualquier persona puede manejar la compleja técni-
ca matemática hasta ahora reservada a los altamente
cualificados ingenieros o científicos. Imprescindible
para físicos, matemáticos, ingenieros, Maple V es útil
incluso para profesores y estudiantes

Una inspección rápida del Manual de Referencia de la Liberías de Maple V (New York: Springer-Verlag) revela la gran cantidad de funciones que Maple V trae como estándar. Este libro, que reproduce las ayudas que Maple V ofrece on-line, describe, aproximadamente 2000 funciones. Aparte de todas las funciones especiales, hay conjuntos de funciones para utilizar en problemas de álgebra lineal, análisis estadístico, calculo numérico, combinatoria, derivadas, reoría de grupos, lógica, optimización lineal simple, bases de Groebner, teoría de los números, simetrías de Lie, formalismo Newman-Penrose, espacios euclídeos, geometría analítica y proyectiva, y un sinfín más...

El único problema con tal cantidad de funciones reside en que en algunas ocasiones es difícil elegir la herramienta que se va a utilizar. Frecuentemente empiezo a escribir un programa cuando de pronto encuentro escondida detrás de un nombre desconocido una función que puede resolver mi problema.

Esto me lleva a la documentación, algo en lo que Mathematica supere a Maple V. No hay duda alguna de que a nivel básico existe una variada documentación para Mathematica. Aparte del "Manual de Referencia de las Librerías de Maple V", los únicos libros que conozco que traten de Maple V son el "Manual de Referencia del Lenguaje de Maple V" y "Primeros Pasos: una introducción a Maple V" New York: Springer-Verlag). Estos libros son útiles, pero no ofrecen una visión completa de lo que Maple V es capaz de hacer.

Aunque es muy sencillo empezar a utilizar Maple V desde el primer día, aprender a explotar todas sus posibilidades a fondo lleva su tiempo. Afortunadamente, Maple V incorpora una ayuda on-line, y quizá lo más importante, muchas de las funciones de Maple V están escritas en su propio lenguaje. Esto significa que se puede imprimir el código fuente de estas funciones y aprender técnicas de programación.

Aunque mantengo que Maple V es más potente que Mathematica, hay algunas cosas que Mathematica hace y Maple V no. Por ejemplo, la versión actual de Mathematica evalúa funciones especiales con variables complejas (no sólo reales), y Maple V no es capaz; Mathematica dibuja mapas de contornos y Maple V no; y los gráficos 3D de Mathematica utilizan un modelo de iluminación que Maple V carece. Es más, las capacidades gráficas de Mathematica son más potentes que las de Maple V. De todas maneras, la inminente versión 2 de Maple V corregirá muchos de estos defectos.


COMO TRIUNFAR

Entender un problema y saber reconocer una solución errónea es un requisito para tener seguridad, ya que TODOS los programas de álgebra analítica comenten errores. Por ejemplo, si pedimos a Maple V o Mathematica que nos calcule la integral del campo eléctrico dentro de una esfera hueca cargada, el programa llegará a una solución incorrecta. Una razón para esto es que estos programas no escogen bifurcaciones consistentes para las funciones analíticas. Otra razón podría ser la imposibilidad de especificar si una variable es real o compleja o si una variable tiene que ser considerada siempre mayor o menor que otra.

Otra captura de Maple V
Tres anillos distorsionados en su creación por falta de la opción Constrained. Si desaparece un anillo, los otros dos se separan automáticamente.

Sorprendentemente, un programa más antíguo y menos completo llamado MACSYMA, si calcula bien la solución al tener en cuenta dichos factores. Aunque esto prueba que no hay ninguna dificultad insuperable en incorporar esa característica a Maple V, requeriría una reescritura total del programa. He sido informado por Waterloo Software sobre la intención de añadir esa opción en la versión 2 de Maple, que será distribuida a finales de año. Sin embargo, existe la posibilidad de que algunas rutinas del nuevo Maple V.2 no sean incorporadas a tiempo.

Esto no quiere decir que los programas de álgebra simbólica sean inútiles, ¡ni mucho menos!. Simplemente significa que hay que usarlos con la misma precaución con la que haríamos un cálculo a mano. No hay ningún sustituto para el sentido común.


INTERFACES

El núcleo de Maple V está separado del interface de usuario. Esto significa que el núcleo puede ser el mismo para todas las plataformas, y el interface de usuario se puede adpatar a cada máquina para usar todos los recursos disponibles. La versión Amiga de Maple V se puede utilizar de tres maneras: desde el interface estándar (llamado IRIS), desde una línea de comandos (CLI) o como un servidor ARexx.

El interface IRIS consiste en dos ventanas: una para la introducción de datos (ventana INPUT) y otra para reflejar los resultados (ventana OUTPUT). La ventana INPUT tiene un menú con algunas opciones y rudimentarias capacidades de edición. La ventana OUTPUT tiene una barra para hacer scroll, permitiendo al usuario examinar los resultados que han desaparecido del área visible. En ambas ventanas se puede tanto cortar como pegar texto.

Desgraciadamente, Maple V controla ambas ventanas directamente, no son procesos separados. Así, cuando Maple V está procesando una expresión muy larga y compljea, las ventanas se quedan desactivdas y no se puede revisar resultados anteriores hasta que Maple V termine el cálculo. Dada la naturaleza multitarea del Amiga no hay ninguna razón pra que esto sea así. Afortunadamente esta limitación se puede evitar usando el interface CLI.

Maple V se puede iniciar desde un CLI o Shell con la opción "-cli". en este caso, Maple V utiliza el CLI para la introducción de datos y la presentación de resultados, tal y como lo haría en un mainframe. Aunque a primera vista no parezca una virtud, permite configurar totalmente la manera que tiene Maple V de trabajar. Por ejemplo, combinando WShell 2.0, ARexx, rexxarplib, Turbo Text y fifo-pipes, tengo unaversión de Maple V con una potencia superior a la ofrecida por el interface IRIS. COn esta versión configurada de Maple V trabajo con el interface parecido al IRIS pero con la ventaja de tener menús programables, una bara de scroll que permanece activa mientras Maple V hace cálculos, cortar y pegar parte de una sesión de trabajo, salvar a disco todos los resultados para revisarlos más tarde y mucho más gracias a WShell. También puedo cargar un fichero desde un menú o abrir el procesador de textos Turbo Text, escribir un programa y con solo pulsar una tecla pasárselo a Maple V para que procese.

Desgraciadamente, utilizar Maple V con la opción "-cli" hay que respetar las mayúsculas y las minúsculas o el Amiga se colgará. Waterloo Maple Software ya tiene preparado un parche para solucionar esta deficiencia. Un problema más serio surge cuando Maple V dibuja una gráfica 2D: se "olvida" de la ventana en la que esta dibujando y al salir delprograma el Amiga se cuelga. Algo parecido sucede al emplear gráficos 3D. En la versión 2 las rutinas para dibujar gráficas están siendo reescrita sy probablemente este problema se solucione.

Maple V también tiene un puerto ARexx, aunque este es mínimo. Sólo se puede acceder a él cuando Maple V funciona como un proceso sin interface de usuario. Tiene un comando "system()" que permite evitar estas limitaciones. Futuras versiones incorporan un puerto ARexx siempre activo que evitará el uso de fifo-pipes.


GRAFICOS

Las capacidades gráficas de Maple V son impresionantes y su interface de usuario incorpora muchas ventajas del WorkBench 2.0 (Maple V solo funciona bajo 2.0) concretamente los gráficos 3D, son presentados en una pantalla con barras de scroll horizontales y verticales, y un gadget que sirve para ajustar la perspectiva. Esto permite dibujar un gráfico y luego en tiempo real rotarlo, cambiar los colores, mostrar líneas ocultas o cancelar los cambios realizados sin teclear ningún comando.

Una vez el gráfico ha sido ajustado, la pantalla puede ser salvada como IFF o como fichero PostScript. En la versión actual de Maple V, los ficheros PS no guardan información sobre los colores o las tramas para los sombreados. las fotografías que acompañan a este artículo dan ideas de los gráficos que se pueden crear fácilmente usando Maple V.

Otra captura de Maple V, grabada a IFF
Recreación de la superficie vibrante de un tambor. Pantalla creada en 3D y grabada posteriormente como IFF.

Aunque he manejado complejos programas Maple V en un Amiga con 3 Mb sin ninguna dificultad, los grandes proyectos y gráficos en 3D con numerosos puntos requieren más memoria. Aunque Maple V sólo necesita 150 Kb de stack y carga sin problemas en un A500 con 1 Mb de RAM, el uso para aplicaciones serias precisa de más memoria. Es mas, como Maple V necesita 9 Mb para su instalación, aquellos que no dispongan de un disco duro no podrán explotar sus capacidades al 100%. Científicos e ingenieros que piensen utilizar Maple V para aplicaciones complejas deberían considerar un Amiga 3000 con memoria extra como configuración mínima.

Y habalndo de problemas, Waterloo Maple Software tiene un soporte técnico excelente. No solamente se puede obtener ayuda si surgen dificultades al instalar el programa o durante su funcionamiento, sino que incluso se pueden obtener conejos sobre los programas que estés escribiendo. Todo lo que hay que hacer es llamar o mandar un mensaje por InterNET a las direcciones que se indican en el manual. Es mas, siempre que alguien informa de un fallo en el programa que Waterloo puede solucionar, el parche para corregir el problema es puesto a disposición de todos los usuarios a través de uns ervidor FTP anónimo: daisy.waterloo.edu (129.97.140.58). Sólo hay que conectar con ese servidor y buscar en el directorio "Maple", incluso podrá encontrar programas que escriben otros usuarios y que son considerados de interés general.

Lo más probable es que no encuentre el programa Maple V en su distribuidor Amiga, para comprarlo deberá dirigirse a Waterloo Maple Software directamente (email: [email protected] ). Waterloo Maple Software proporcioan descuentos a estudiantes y licencias a escuelas y facultades a precios muy asequibles. Una unidad viene a costar $395 (no es mucho descuento considerando que suele cortas $450), pero para licencias de 25 o más máquinas el precio baja hasta $79 cada uno, incluyendo 5 manuales completos. en mi opinión recibes más de lo que pagas.

A pesar de los problemas de la versión actual, Maple V es una herramienta extremadamente potente y muy útil, que sitúa al Amiga como estación científica de bajo coste. Aparte de eso, existen muchas posibilidades interesantes.

Por ejemplo, usando Maple V para manejar un programa de ray tracing y/o animación, se podrían preparar ambiciosos proyectos científicos de tremenda flexibilidad. Maple V descubre muchas posibilidades nuevas, aparte de las más obvias.


Volver menú revistas Volver página anterior