Matemáticas y programación

A continuación una breve sugerencia y orientación de programas para hacer cálculos matemáticos. Yo recomiendo Sage, Ipython, R o Julia dependiendo de la complejidad y características del problema. Todo esto es software libre.

Para poder usa los programas ya

  • En línea. No hay que instalar nada, sólo necesita un explorador. Se abre una cuenta en https://cloud.sagemath.com/ y ahí se puede usar Sage, Python, IPython, LaTeX, R y otros. Tiene enormes ventajas esta opción. Por ejemplo, puede consultar sus proyectos (la tesis, un trabajo de un curso, etc) en cualquier parte, pueden añadir colaboradores (compañeros, profesor) para que trabajen en un mismo archivo al tiempo y pueden publicar en la web para que otros vean su trabajo. Existen otras opciones como wakari.io, verbtex, sharelatex, etc. Pero creo que cloud.sagemath.com integra todo lo necesario en un mismo lado. Tiene la desventaja de que requiere tener conexión a Internet y no sé cómo sea la garantía de la continuidad y estabilidad del servicio. No conozco una versión online para Ijulia. Si alguien lo ven me avisa por favor.

Para instalar los programas en su computador

  • Instalarlo en la máquina. Si está contento con lo anterior, no tiene que hacer esto. Lo que sigue puede ser más o menos difícil dependiendo del sistema operativo y de sus habilidades como hacker (ese mundo más allá de Office y Facebook). Yo uso únicamente Linux. Sage puede ser descargado de la página  http://www.sagemath.org. En Windows y Mac creo que requiere algo adicional como una máquina virtual. En linux se puede incluso compilar. Yo uso debian que es, a mi modo de ver, la versión de Linux más estable. Ubuntu es menos estable pero es mucho más fácil de instalar. Para el IPython requieren tener instalado el Python primero que es el lenguaje de programación. Hay muchas distribuciones de Python. A mi me gusta anaconda (la más fácil de instalar) que se puede bajar de http://continuum.io/downloads. Luego teclean conda install ipython en donde sea que se haga eso en Windows. Si quieren hacer dibujos y otras vainas hay que bajar las otras librerías como matplotlib, por ejemplo. El Julia lo logré instalar (y compilar) pero no podría repetirles cómo lo hice.  Se baja de http://julialang.org/. Algunas versiones recientes de debian lo traen en el Centro de Software.
Qué hace cada cosa
  • El Sage es un software basado principalmente en el lenguaje Python y busca ser un reemplazo libre del Mathematica. Tiene muchas funciones matemáticas ya cargadas y es más bien fácil de usar. Para la gran mayoría de los cálculos de un matemático promedio es suficiente con Sage. Puede programar ahí (el lenguaje es el mismo Python) e incluso puede hacer simulaciones interactivas. Son una maravilla. Hay una galería aquí http://wiki.sagemath.org/interact/ para que se deleite. Aquí hay un tutorial http://www.sagemath.org/doc/tutorial/
  • El IPython es un cuaderno, parecido al Mathematica y al Sage, pero de Python. Aquí tiene que tener claro que ya está programando. Al ser un lenguaje de programación en sí, tiene mucha más felxibilidad que Sage, puede hacer cuentas más robustas, más largas y más pesadas. En esta página hay unos ejemplos http://nbviewer.ipython.org/
  • El IJulia es un cuaderno parecido al IPython, al Mathematica y al Sage, pero basado en el lenguaje Julia. El lenguaje Julia es uno de los más (si no el más) rápido y róbusto lenguaje de programación de nivel intermedio en ciencias. Fue creado por el MIT. Si el Python se le cuelga mucho tiempo a pesar de que está todo bien programado y optimizado, puede ser hora de utilizar Julia. El la página hay documentación.
Otros especímenes

Si el IJulia “se cuelga” muy seguramente le va tocar devolverse a C++ o Fortran, compilar y trabajar en un cluster. Si no está haciendo simulación de física cuántica o algo por el estilo, puede no ser necesario.

Lo más probable es que con una sola de las tres cosas que aprenda es suficiente. Pero es saludable combinar y aprender de los tres. No se va a arrepentir. Otros programas de software libre en ciencias son Octave y Scilab para análisis numérico, R para estadística y Geogebra para el aprendizaje-enseñanza de las matemáticas. También está Perl que, como lenguaje de programación, es muy usado en Biología y Química.

Muchas de estas herramientas (IPython, IJulia, Perl y R) van a quedar integradas a futuro en una única plataforma que se va a llamar Jupiter.

Recuerde que saber programar bien es una de las competencias del matemático de hoy y la mejor forma de aprender es programando con algo concreto que le toque programar.

Aquí algunos blogs de matemáticas y programación: Math ∩ Programming y Walking Randomly

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s