Presentando Mathics: una alternativa libre y ligera a Mathematica

Por Juan Luis Cano

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.

Interfaz web de Mathics

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$ 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 🙂

Comentarios