Matemáticas en Linux: estado del arte

Matemáticas en Linux

Linux es usado por científicos e ingenieros de todo el mundo. Un ordenador es una herramienta básica para el cálculo matemático actualmente. Este texto es sólo una revisión de algunos de los programas más importantes que se pueden encontrar en el mundo del software libre.

Algunos conceptos previos

Hay que distinguir entre cálculo simbólico y cálculo numérico.

Si se le pide a un sistema de cálculo simbólico que te resuelva una integral, lo hará y te dará el resultado en forma de una función. Por ejemplo, si se calcula, 1/4 + 1/2, el sistema responderá 3/4. Si se le pide calcular la integral de 2, devolverá 2x+k.

Un sistema de cálculo numérico resuelve todas las operaciones usando número, por lo que si se le pide integrar una función, lo hará numéricamente. Por ejemplo, si se calcula 1/4+1/2, el sistema responderá 0’75.

Maxima

Maxima es un programa de cálculo simbólico. Por lo que es capaz de calcular derivadas, integrales o resolver ecuaciones, dando los resultados en forma de ecuaciones o polinomios. Es muy potente, pero hay que manejarlo por línea de comandos.

Existen interfaces gráficas que hacen más sencillo el uso de Maxima. LyX es un procesador de texto, capaz de importar y exportar texto en LaTEX. LaTEX es un procesador de texto que no posee modo gráfico, pero es muy usado por la alta calidad de los resultados. LyX tiene la ventaja de que se pueden escribir ecuaciones y fórmulas de forma gráfica, por lo que una persona sin conocimientos puede escribir ecuaciones que en LaTEX llevarían mucho tiempo. También posee una extensión que permite incorporar cálculos en Maxima, por lo que se puede escribir una integral en LyX y Maxima se encargará de resolverla.

LaTEX es muy usado por matemáticos para escribir sus cálculos. Existe un paquete de LaTEX que hace posible insertar operaciones de Maxima en LaTEX.

Otra herramienta es WxMaxima, una interfaz gráfica para Maxima, aunque no al nivel de LyX.

Otro editor que se puede usar para álgebra simbólica es TeXMACS.

Yacas

Yacas es otro programa de álgebra simbólica. Destaca el poco consumo de recursos que necesita para funcionar.

Octave

Octave es un sistema de cálculo numérico similar a MatLab. Permite realizar muchas de las operaciones matemáticas que se hacen con MatLab y es bastante compatible con él.

Octave es un sistema de cálculo numérico. Su especialidad es el cálculo con matrices. El lenguaje de Octave posee muchas herramientas para tratar las matrices de forma sencilla.

Al igual que Maxima funciona en modo texto. Pero existe interfaces gráficos que hacen su uso más llevadero. Entre las interfaces gráficas disponibles se encuentra QtOctave, que posee editores, menús y editores de matrices, que hacen el trabajo con Octave más llevadero. Actualmente el desarrollo de QtOctave ha sido abandonado, pero la aplicación sigue disponible en los repositorios.

Octave también dispone de un conjunto de bibliotecas en C++ que permiten programar cálculos con el extra de rendimiento que proporciona C++. Octave es un lenguaje interpretado, por lo tanto es más lento que uno compilado. Al programar en C++ se consigue obtener ese extra de rendimiento.

SciLab

Scilab es un programa muy similar a Octave. Dispone de su propio entorno que permite manejarlo de una forma cómoda.

R

R es un lenguaje usado para el análisis estadístico. Cuenta con numerosas interfaces gráficas y puede ser usada dentro de Cantor.

Sage

Sage es una increíble herramienta, escrita en Python que permite el acceso a otras muchas herramientas como Maxima.

Gnuplot

Es un pequeño programa que permite la representación gráfica de funciones. Su uso es tan simple como escribir en un terminal el comando de dibujo y la función a dibujar. Es usado por Maxima y Octave para realizar sus representaciones.

También es usado por científicos para realizar la representación de los datos de sus experimentos y simulaciones.

Una de sus capacidades es la de poder exportar a diferentes formatos. Puede exportar a png, pdf, jpeg, eps, svg,… si se exportan los gráficos a svg, después se pueden editar con otros programas como Inkscape, para poner las leyendas, cambiar los tipos de letra,…

GSL

La GSL (GNU Scientific Library) es una biblioteca en lenguaje C. Por lo que se necesitará saber programar en lenguaje C para poder usarla. Tiene la ventaja de tener un rango de operaciones muy elevado. Permite desde ralizar operaciones con matrices o números complejos, a tener definidas constantes físicas como la constante de Planck.

Los programas compilados en C serán, en general, mucho más rápidos que los de las soluciones anteriores, pero antes de lanzarse a usar GSL con el lenguaje C hay que sopesar si el tiempo que se va a emplear en programar y depurar la aplicación va a valer la pena.

GSL es usado por muchas aplicaciones como base para realizar los cálculos. Programas como GSL-Shell permiten usar la GSL de una forma más sencilla que la programación directa en C.

A parte de la GSL, el lenguaje C permite usar un gran número de bibliotecas que permiten desde la edición de vídeo, a la búsqueda de la descomposición en números primos de un número. Por lo que si se necesita una gran potencia y variedad en los cálculos el lenguaje C puede ser una buena opción.

QiPlot

Es un programa para hacer representaciones gráficas, similar al programa Origin usado por muchos científicos para representar sus resultados.

Consiste en una hoja de cálculo en la que el usuario introduce sus datos. Después se pueden seleccionar las columnas a representar y de forma gráfica se pueden cambiar los atributos del gráfico generado.

Bc

Bc es un clásico dentro del mundo UNIX. Es un lenguaje interpretado similar a JavaScript. Entre sus puntos fuertes están el manejo de números de cualquier precisión. Se pueden seleccionar el número de decimales que se desean usar en los cálculos y obtener, por ejemplo, el valor de pi con 300 decimales (o más).

Entre sus limitaciones están el no poder leer o grabar archivos (aunque se puede usar la redirección para salvar esta limitación), sólo trabaja con vectores, no con matrices y no permite amplicaciones (a no ser que se modifique el propio pograma). Su utilidad se encuentra cuando no hay que hacer cálculos muy complejos, y no se desea tener instalado un gran sistema de cálculo. Sólo necesita unos 100Kb para intalarlo en el disco.

Python

Python es un lenguaje de programación. También se puede usar para realizar cálculos científicos a través de su biblioteca PyNum.

La ventaja de usar Python es que al ser un lenguaje de propósito general, ya hay muchas bibliotecas desarrolladas para las diversas tareas. Por ejemplo, existe una biblioteca que permite usar GTK desde Python, por lo que se podrán realizar cálculos científicos y después mostrar los resultados usando ventanas construídas en GTK.

Existen comparativas en la red de su rendimiento frente a Octave.

Fortran

Es un clásico entre los lenguajes de programación. Afortunadamente, Fortran ha evolucionado mucho desde su aparición y las versiones actuales permiten orientación a objetos, sobrecarga de operadores,…

Cantor

Es un entorno gráfico que permite usar otras herramientas. Así se pueden manejar de forma cómoda tanto el lenguaje R como Maxima.

Hojas de cálculo

Las hojas de cálculo, por su sencillez, son muy utilizadas para realizar cálculos y representación gráfica. Entre las hojas de cálculo que se pueden encontrar en Linux están LibreOffice/OpenOffice calc, Gnumeric, Kspread,…

Anuncios
Esta entrada fue publicada en Software. Guarda el enlace permanente.

Una respuesta a Matemáticas en Linux: estado del arte

  1. Sergio dijo:

    Geogebra se implementa en las escuelas nivel secundario en Argentina

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 )

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 )

Google+ photo

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

Conectando a %s