Macsyma ( / ˈ m æ k s ɪ m ə / ; "Manipulador Simbólico del Proyecto MAC") [ 1 ] es uno de los sistemas de álgebra computacional de propósito general más antiguos que aún se utilizan ampliamente. Fue desarrollado originalmente entre 1968 y 1982 en el Proyecto MAC del MIT . [ 2 ]
En 1982, Symbolics otorgó la licencia de Macsyma [ 2 ] y esta se convirtió en un producto comercial. En 1992, Symbolics Macsyma se independizó y se convirtió en Macsyma, Inc. [ 2 ] , que continuó desarrollando Macsyma hasta 1999. Esa versión aún está disponible para el sistema operativo Windows XP de Microsoft .
La versión de 1982 de MIT Macsyma siguió estando disponible para académicos y agencias gubernamentales estadounidenses, y es distribuida por el Departamento de Energía de los Estados Unidos (DOE). Dicha versión, DOE Macsyma, fue mantenida por Bill Schelter . Con el nombre de Maxima , se publicó bajo la licencia GPL en 1999 y continúa recibiendo mantenimiento activo.
Desarrollo
El proyecto fue iniciado en julio de 1968 por Carl Engelman , [ 3 ] William A. Martin (front-end, visualización de expresiones, aritmética polinomial) y Joel Moses (simplificador, integración indefinida : heurística/Risch). Martin estuvo a cargo del proyecto hasta 1971, y Moses lo dirigió durante la década siguiente. Engelman y su equipo se marcharon en 1969 para regresar a The MITRE Corporation . [ 1 ] Parte del código provino de trabajos anteriores, en particular del simplificador de Knut Korsvold. [ 4 ] [ 5 ] Los principales contribuyentes posteriores al motor matemático central fueron: [ 6 ] Yannis Avgoustis ( funciones especiales ), David Barton (resolución de sistemas de ecuaciones algebraicas ), Richard Bogen ( funciones especiales ), Bill Dubuque ( integración indefinida , límites, series de potencias, teoría de números , funciones especiales , ecuaciones funcionales, coincidencia de patrones , consultas de signos, Gröbner , TriangSys), Richard Fateman ( funciones racionales , coincidencia de patrones , punto flotante de precisión arbitraria ), Michael Genesereth (comparación, base de datos de conocimiento), Jeff Golden (simplificador, lenguaje, sistema), RW Gosper ( suma definida , funciones especiales , simplificación, teoría de números ), Carl Hoffman (simplificador general, macros, simplificador no conmutativo , puertos a Multics y LispM , sistema, editor de ecuaciones visuales ), Charles Karney (trazado), John Kulp, Ed Lafferty ( solución de EDO , funciones especiales ), Stavros Macrakis ( partes reales/imaginarias , compilador, sistema), Richard Pavelle ( cálculo tensorial indicial , paquete de relatividad general , ecuaciones diferenciales ordinarias y parciales ), David A. Spear ( Gröbner ), [ 7 ] [ 8 ] Barry Trager (integración algebraica, [ 9 ] factorización , Gröbner [ 10 ] ), Paul S. Wang ( factorización polinómica yMCD , números complejos , límites, integración definida , generación de código Fortran y LaTeX ), David YY Yun ( MCD polinomiales ), Gail Zacharias ( Gröbner ) [ 10 ] [ 11 ] y Rich Zippel ( series de potencias , factorización polinomial , teoría de números , combinatoria ).
Macsyma fue escrito en Maclisp y, en algunos casos, fue un factor clave para mejorar ese dialecto de Lisp en las áreas de computación numérica, compilación eficiente y diseño de lenguajes. Maclisp se ejecutaba principalmente en computadoras PDP-6 y PDP-10 , pero también en el sistema operativo Multics y en las arquitecturas de Lisp Machine . Macsyma fue uno de los programas Lisp más grandes de la época, y posiblemente el más grande.
Comercialización
En respuesta a una solicitud de Richard Fateman, entonces profesor de la UC Berkeley , el MIT proporcionó una licencia temporal para el código Macsyma en 1979. Este código se implementó casi de inmediato en la nueva computadora VAX-11/780, que utilizaba un dialecto de Maclisp, Franz Lisp , escrito por el grupo de Fateman. El MIT, a regañadientes, otorgó licencias de versiones de VAX Macsyma de Berkeley a unas 50 universidades, comenzando por Caltech, con la condición de que las licencias se revocarían una vez finalizadas las negociaciones para obtener una licencia definitiva. De hecho, esto ocurrió cuando se completó la negociación con Symbolics (véase más adelante). Symbolics se mostró reacia a licenciar el producto VAX, ya que VAX representaba un hardware competitivo para sus propias máquinas Lisp, por lo que suprimió el software VAX durante cinco años. La UC Berkeley también implementó copias de Macsyma en sistemas basados en Motorola 68000 , principalmente en estaciones de trabajo Sun. Symbolics también las suprimió. Al mismo tiempo, Fateman trabajó para convertir la licencia temporal (ahora revocada) de Macsyma en algo más permanente.
En última instancia, el Departamento de Energía de Estados Unidos impuso al MIT el requisito de publicar una copia en la biblioteca del Centro Nacional de Software de Energía (NESC) en 1982, permitiendo al MIT imponer restricciones en cuanto al precio y la prohibición de redistribución. Esto tenía como objetivo proteger la transferencia de tecnología a Symbolics. (Dichas restricciones se eliminaron alrededor de 2002). Este llamado DOE Macsyma había sido reescrito en el MIT en un dialecto anterior a Common Lisp llamado NIL lisp , implementado de forma incompleta en VAX/VMS , un sistema poco popular en el ámbito académico, donde Berkeley VAX Unix era común. DOE Macsyma constituyó la base del sistema Maxima de código abierto, desarrollado mucho más tarde .
En 1981, Moses y Richard Pavelle , miembro del personal del MIT y defensor de la aplicación de Macsyma a la ingeniería y la ciencia, intentaron fundar una empresa para comercializar Macsyma. Pavelle había escrito numerosos artículos científicos utilizando Macsyma. Con estos artículos en mano, Pavelle y Moses se pusieron en contacto con varias firmas de capital riesgo que mostraron interés en financiar una empresa emergente de Macsyma. Cuando los posibles acuerdos estaban a punto de cerrarse, el MIT decidió repentinamente que su personal no debía beneficiarse directamente de los desarrollos del MIT. A principios de 1982, el MIT cedió la licencia de Macsyma a Arthur D. Little , Inc. (ADL), que se convirtió en el intermediario de Macsyma y, a finales de ese mismo año, la cedió a Symbolics. ADL apartó a Moses del proyecto y Pavelle se convirtió en el jefe de la división de Macsyma en Symbolics. Era evidente que a Symbolics no le interesaba tanto el código como mantener a Macsyma fuera del catálogo de software de su competidor en el sector de las máquinas Lisp, LMI . El acuerdo comercial entre Symbolics y Arthur D. Little requería el pago de regalías a ADL del 15% de las ventas brutas de Macsyma. Estas regalías generaron especulaciones sobre el interés del MIT y ADL en el éxito de Macsyma. El desarrollo de Macsyma continuó en Symbolics a pesar de que se consideraba una distracción de las ventas de máquinas Lisp , que Symbolics consideraba su negocio principal, aunque las ventas de Macsyma y las ventas apalancadas de máquinas Lisp alcanzaron el 10% de las ventas totales de Symbolics en dos años. A pesar de la resistencia de muchos en Symbolics, Macsyma se lanzó para computadoras DEC VAX y estaciones de trabajo Sun que utilizaban Franz Lisp de Berkeley a principios y mediados de los 80.
Sin embargo, los problemas de Symbolics con la venta de Macsyma en ordenadores que no eran de Symbolics acabaron provocando el declive de las ventas de Macsyma. En el primer semestre de 1986, los ingresos de Macsyma fueron inferiores a los del primer semestre de 1985, en un sector en auge. El programa SMP de Wolfram y Waterloo Maple también estaban creciendo en ese momento, aunque MACSYMA era claramente superior a estos otros paquetes en matemáticas simbólicas.
Pavelle dirigió la división Macsyma en Symbolics hasta principios de 1986. En la segunda mitad de ese año, Richard Petti se convirtió en el gerente del negocio de Macsyma para reducir las ventas y evitar conflictos con los empleados de Symbolics. Macsyma redujo su plantilla, pero amplió su fuerza de ventas y marketing, y centró a sus desarrolladores en las funcionalidades que solicitaban los clientes. (Por ejemplo, el algoritmo base Spear-Zacharias ( Gröbner ), implementado en la década de 1970 en el MIT, no se instaló en un Macsyma comercial hasta 1987). En 1987, los ingresos anuales de Macsyma prácticamente se duplicaron. MACSYMA se volvió más fácil de usar: la documentación y la ayuda en línea se reorganizaron y ampliaron; algunos nombres de comandos se modificaron para que fueran más fáciles de recordar. El sistema se adaptó a Common Lisp (por Kent M. Pitman ). Petti argumentó ante la dirección de Symbolics que Macsyma era una " unidad de negocio estratégica " que debía financiarse en función de su rendimiento y potencial, no de las perspectivas del negocio principal de estaciones de trabajo. Sin embargo, Symbolics redujo la plantilla de Macsyma tras este período de fuerte crecimiento; Symbolics intentó utilizar a Macsyma como una pequeña fuente de ingresos para financiar las pérdidas del negocio de estaciones de trabajo, que era 30 veces mayor.
La mayor debilidad de Macsyma radicaba en su análisis numérico. Dominar las matemáticas simbólicas era una tarea titánica; sin embargo, las capacidades numéricas eran cruciales para acceder a los mercados mucho más amplios de ingeniería y ciencia de gama baja. En el MIT, Macsyma tenía una conexión con las bibliotecas numéricas IMSL (ahora un producto de Perforce Software ), pero esta conexión se interrumpió cuando Macsyma se trasladó a Symbolics. Los desarrolladores de Lisp en Symbolics generalmente creían que el análisis numérico era una tecnología obsoleta e irrelevante para las aplicaciones de Lisp, por lo que decidieron no invertir en ella. La aritmética de doble precisión en Macsyma (en la versión para PC ) era aproximadamente seis veces más lenta que Fortran. Además, las matrices de Macsyma se implementaban como listas de listas, lo que reducía la velocidad de los algoritmos clave en un factor de entre 5 y 10. Macsyma carecía de muchos de los algoritmos básicos del álgebra lineal numérica , como la descomposición LU .
En 1987-88, el grupo Macsyma intentó crear una versión para PC de Macsyma con Gold Hill Lisp . (Anteriormente, Symbolics había cancelado su propio proyecto para crear un compilador de Lisp para ordenadores estándar con el fin de evitar competir con las ventas de máquinas Lisp. Esta fue una decisión controvertida que, según algunos, se llevó a cabo sin la aprobación de la alta dirección. Symbolics también se negó a cooperar con Sun para que Lisp estuviera disponible en las estaciones de trabajo Sun por la misma razón). Gold Hill Lisp era demasiado inestable y su débil arquitectura impedía a Gold Hill eliminar los errores. Este fue un fracaso crucial para Macsyma. Significó que Macsyma no pudo funcionar en PC cuando Mathematica apareció en los ordenadores Apple a mediados de 1988. Macsyma apareció en PC con Windows en agosto de 1989 utilizando CLOE Lisp de Symbolics. Sin embargo, el personal de Macsyma era demasiado pequeño y carecía de la combinación de habilidades necesarias para añadir el tipo de gráficos, interfaz de portátil y mejores capacidades numéricas que tenía Mathematica .
Para 1989, Petti tenía claro que Symbolics colapsaría debido a una mala estrategia de producto, y que arrastraría a Macsyma consigo. (Algunos problemas de producto: (1) El software de Symbolics estaba diseñado para desarrolladores de software del MIT sin suficientes concesiones para otros. (2) El software de clase mundial de Symbolics estaba perdiendo cuota de mercado debido a la dependencia de hardware de muy alto costo. (3) Al migrar al hardware VLSI a mediados de la década de 1980, Symbolics cambió de un tamaño de palabra de 36 bits a uno de 40 bits, sin que el mercado justificara el enorme costo de desarrollo de este cambio). Macsyma no pudo formar un equipo de compra debido a la falta de cooperación del MIT. Después de mantenerse relativamente discreto desde 1986 sobre los problemas de producto, Petti intentó a finales de 1988 persuadir a Symbolics para que adoptara una estrategia exclusivamente de software o a nivel de placa; pero el cuarto presidente en cuatro años no quiso escuchar nada al respecto. En 1990, Petti dejó Symbolics para emprender una empresa emergente.
Macsyma, Inc.
Macsyma, Inc., fue fundada en 1992 por Russell Noftsker (presidente, quien había cofundado Symbolics ) y Richard Petti (presidente, quien había reflotado Macsyma durante un tiempo en Symbolics) mediante la recaudación de fondos y la compra de los derechos de Macsyma a la maltrecha Symbolics. [ 12 ] Aunque el mercado crecía rápidamente, las ventas de Macsyma en 1991 y principios de 1992 seguían cayendo rápidamente. La cuota de mercado de Macsyma en software de matemáticas simbólicas había caído del 70% en 1987 al 1% en 1992. Para 1993, el crecimiento del mercado se había ralentizado y el mercado se había estandarizado en Mathematica y Maple. Los competidores tenían equipos de desarrollo que eran entre 4 y 8 veces más grandes que el de Macsyma Inc. durante la década de 1990.
A principios de 1995, la compañía lanzó Macsyma 2.0.5, con muchas mejoras: en la gran prueba de matemáticas simbólicas de Wester, Macsyma 2.0.5 obtuvo un 10 % más de puntuación que Maple y un 15 % más que Mathematica. [ 13 ] Aunque Macsyma 2.0.5 seguía siendo muy lento en operaciones numéricas, contaba con una cartera mucho más sólida de rutinas de análisis numérico y álgebra lineal. (En 1996, Macsyma añadió LAPACK , que aumentó considerablemente la velocidad de la mayoría de las operaciones numéricas de álgebra lineal).
En aquel momento, el equipo de desarrollo incluía a Jeff Golden (lenguaje, compilador, etc.), Bill Gosper (funciones especiales, sumatoria), Howard Cannon (interfaz de usuario, optimización) y varios consultores. Bill Dubuque trabajó en la integración, la resolución de ecuaciones, la base de datos y la optimización. Christopher Stacy y David H. Wood añadieron el lenguaje y la funcionalidad matricial de MATLAB . Otros desarrolladores realizaron importantes contribuciones en análisis numérico, gráficos y sistemas de ayuda.
La empresa no podía seguir superando indefinidamente a equipos entre cuatro y ocho veces más grandes y revertir la dinámica del mercado. La cuota de mercado no superó el 2%, ya que los competidores estaban bien posicionados en todas las cuentas clave, la transición a un nuevo producto requería un gran tiempo de aprendizaje y el crecimiento del mercado disminuyó. Además, a partir de 1992 o 1993, Mathsoft implementó una estrategia de inversión de 10 millones de dólares en correo directo a precios muy bajos, lo que le permitió captar gran parte del crecimiento restante en el mercado de matemáticas simbólicas, justo cuando Macsyma Inc. luchaba por reconstruir su producto de clase mundial.
En 1999, Macsyma fue adquirida por Tenedos LLC , una sociedad holding que previamente había comprado Symbolics. La sociedad holding no ha vuelto a lanzar ni a vender Macsyma, pero Symbolics continúa distribuyéndolo para versiones de Microsoft Windows hasta Windows XP . [ 14 ]
Versiones disponibles
También existe una versión con licencia GPL , llamada Maxima , basada en la versión de 1982 de DOE Macsyma, posteriormente adaptada a Common Lisp y mejorada por William Schelter . Se encuentra en desarrollo activo y puede compilarse en varios sistemas Common Lisp . Hay disponibles ejecutables descargables para Linux , Microsoft Windows , Mac OS X y otros sistemas, incluyendo interfaces gráficas de usuario . Maxima no incluye muchas de las numerosas características añadidas durante el período de desarrollo comercial entre 1982 y 1999, pero es un código fuente actual, libre y abierto que incluye numerosas características adicionales, varias interfaces alternativas y funciona con varios motores Common Lisp. Si bien esto ha dado lugar a algunas incompatibilidades entre Macsyma y Maxima, los programas escritos en el lenguaje algebraico de Macsyma a menudo pueden ejecutarse, con solo pequeños cambios, en cualquiera de los dos sistemas.
La versión ITS Macsyma de alrededor de 1982 está disponible, con la mayoría de los archivos en un directorio llamado MAXSRC .
Referencias
- 1 2 Moses, Joel (mayo de 2008). "Macsyma: una historia personal" (PDF) . Hitos en álgebra computacional.Véase también Joel Moses (2012), "Macsyma: Una historia personal", Journal of Symbolic Computation , 47 (2): 123–130 , doi : 10.1016/j.jsc.2010.08.018
- 1 2 3 Ross, Paul W., ed. (1996). Manual de software para ingenieros y científicos . Boca Raton, Fla.: [Nueva York]: CRC Press; IEEE Press. ISBN 978-0-8493-2530-4.
- ↑ «Fondo en memoria de Carl Engelman» (PDF) . Boletín informativo FINITE STRING . American Journal of Computational Linguistics, volumen 9, números 3-4, julio-diciembre de 1983. Archivado del original (PDF) el 28 de abril de 2003.
- ↑ Richard J. Fateman, "El simplificador general de MACSYMA: filosofía y funcionamiento", Conferencia de usuarios de Macsyma de 1979 , texto completo , sección 2
- ↑ Knut Korsvold, "Un programa en línea para álgebra no numérica", Actas del primer simposio de la ACM sobre manipulación simbólica y algebraica de SYMSAC '66 , págs. 1301-1314, doi : 10.1145/800005.807963
- ↑ Maccone, Claude (2012). SETI matemático: Estadística, procesamiento de señales, misiones espaciales . Springer. pág. 75. ISBN 978-3-642-27436-7.
- ↑ Spear, David (julio de 1977). "Un enfoque constructivo de la teoría de anillos conmutativos" . Actas de la Conferencia de Usuarios de MACSYMA de 1977.
- ↑ Mora, Teo (2005). Capítulo 26, Spear, en: Solving Polynomial Equation Systems II: Macaulay's Paradigm and Gröbner Technology . Cambridge University Press. ISBN 9780521811569.
- ↑ Trager, Barry (1984). Integración de funciones algebraicas. Tesis doctoral, MIT, Cambridge, MA (Tesis). Instituto Tecnológico de Massachusetts. hdl : 1721.1/15391 .
- 1 2 Gianni, Patrizia ; Trager, Barry; Zacharias, Gail (1988). "Bases de Gröbner y descomposición primaria de ideales polinomiales". Journal of Symbolic Computation . 6 ( 2–3 ): 149–167 . doi : 10.1016/S0747-7171(88)80040-3 .
- ↑ Zacharias, Gail (junio de 1978). "Bases de Gröbner generalizadas en anillos de polinomios conmutativos". Tesis de licenciatura, MIT, Cambridge, MA.
{{cite web}}: Falta o está vacío|url=( ayuda ) - ↑ Maccone, Claudio (30 de agosto de 2012). SETI matemático: Estadística, procesamiento de señales, misiones espaciales . Springer Science & Business Media. ISBN 9783642274374.
- ↑ "Una crítica de las capacidades matemáticas de los sistemas CA" .Reseña de Wester de 1995 y reseña de 1999
- ↑ Página principal de Macsyma, http://www.symbolics-dks.com/Macsyma-1.htm
Enlaces externos
- Resumen de Richard Petti sobre la historia comercial de Macsyma, 30 de octubre de 2003
- La saga Macsyma Richard Petti, 2 de noviembre de 2003
- Simbolismo Macsyma
- Software Common Lisp (lenguaje de programación)
- Software de sistema de álgebra computacional para Linux
- Sistemas de álgebra computacional
- Software descontinuado
- Software Multics