A través de la lista de correo sage-dev acabo de descubrir hace un momento Mathics: un sistema de álgebra computacional (CAS) libre y gratuito con una interfaz web y basado en SymPy y Sage. [caption id="attachment_126" align="aligncenter" width="560"]
Interfaz web de Mathics en http://www.mathics.net/[/caption] En el momento de escribir estas líneas se trata de un proyecto personal de Jan Pöschko, un estudiante austríaco. Me parece impresionante que una sola persona haya llevado esto adelante: este hombre tiene mi más sincera admiración. Aunque está basado en SymPy y tiene soporte para Sage también, Mathics toma la sintaxis de Mathematica, el popular CAS de Wolfram Research. Como se menciona en la introducción, Mathics busca parecerse a Mathematica lo máximo posible. Puedes leer las motivaciones del proyecto (hay por ahí quien dice que tienen un punto de ironía, cada uno que lo interprete a su manera :P). Al contrario que CAS como Mathematica, Maple o Derive, Mathics es libre y gratuito (GPLv3):
«It is free both as in “free beer” and as in “freedom”».
La interfaz web disponible en http://www.mathics.net/ hace que podamos utilizarlo también como sustituto de Wolfram|Alpha (no te dice el sentido de la vida, el Universo y todo lo demás... pero resuelve ecuaciones :)). Además, se puede instalar localmente y ejecutarlo como cualquier otro programa de nuestro ordenador, preferiblemente en Linux y Mac OS X aunque también, en principio, puede instalarse en Windows (aunque no hay de momento un instalador que haga el proceso rápido y directo). Algunas de las características más reseñables de Mathics son
- Un poderoso lenguaje de programación funcional (el que usa Mathematica),
- Un sistema de reglas y búsqueda de patrones,
- Números racionales, complejos y aritmética de precisión arbitraria,
- Numerosos métodos de manipulación de listas y estructuras,
- Una interfaz gráfica interactiva en el navegador que usa MathML y MathJax, además de una interfaz de línea de comandos,
- Creación de imágenes y gráficas y representación en el navegador usando SVG,
- Una versión online en http://www.mathics.net para acceso instantáneo,
- Exportación de resultados a $latex LaTeX$ usando Asymptote para los gráficos,
- Una forma muy sencilla de definir nuevas funciones en Python y
- Un sistema integrado de documentación y pruebas.
En la misma interfaz web podéis ver una pequeña muestra de las posibilidades de Mathics. Es, además, muy fácil compartir cuadernos y resultados, simplemente haciendo clic en el asterisco de la esquina superior derecha. Jan anda buscando desarrolladores, así que si queréis ayudar o tal vez escribir documentación, tutoriales, ... o simplemente ver cómo funciona un CAS por dentro, aquí tenéis el código fuente de Mathics en GitHub. Un saludo a todos y larga vida al software libre :)
Pybonacci