GNU Octave es un lenguaje de alto nivel, incialmente pensado para la computación numérica. Octave proporciona una interfaz de línea de comandos para resolver problemas lineales y no lineales de manera numérica, y desarrollar otros experimentos numéricos utilizando para ello un lenguaje que en sun mayoría es compatible con Matlab. También se puede utilizar como un lenguaje de lotes (batch-oriented language).
Octave tiene una gran cantidad de herramientas para resolver problemas de álgebra numérica comunes, encontrar las soluciones de ecuaciones no lineales, realizar integrales de funciones ordinarias, manipular polinomios, e integrar ecuaciones diferenciales ordinarias y ecuaciones diferenciales algebraicas. Es fácil de extender y modificar a través de funciones definidas por el usuario escritas en el porpio lenguaje de Octave, o utilizando módulos cargados dinámicamente escritos en otros lenguajes como C, C++, Fortran, etc.
GNU Octave es un software de distribución libre. Puedes distribuir y/o modificar GNU Octave bajo las condiciones del contrato GNU General Public License (GPL) publicado por la Free Software Foundation.
Octave lo escribió John W. Eaton y muchos otros. Debido a que Octave es software libre, puedes ayudar a hacer Octave más útil escribiendo y contribuyendo con funciones adicionales, y notificando los problemas o errores encontrados.
Paralelización de Octave
- Parallel Octave
Parallel Octave es un paquete que añade paralelismo a la computación de las funciones en Octave. Las funciones que se computan en paralelo están soportadas por las librerías de computación paralela MPI. Estas operaciones sólo se han probado en sistemas Linux (pero podrían ser aplicables en otros sitemas operativos).
Web del proyecto: http://www.aoki.ecei.tohoku.ac.jp/octave/.
- OctaveMPI
OctaveMPI es un port del paquete comercial MatlabMPI. Éste paquete es una versión para GNU Octave, probado bajo sistemas linux, utilizando los paquetes de octave-forge. Su uso está pensado para la computación distribuida en clústeres bajo Octave. El desarrollo de este proyecto se encuentra en fase Beta, y aún no han publicado ninguna versión del mismo.
Web del proyecto: http://sourceforge.net/projects/octavempi/.
- MPI Toolbox for Octave (MPITB)
- Código fuente disponible.
- Útil para aprender LAM/MPI.
- Útil para la investigación, permitiendo es uso inmediato de Octave en un cluster.
- Sopota todos los tipos de datos de Octave.
- También incluye todas las llamadas MPI-1.2, excepto las de MPI_Pcontrol, MPI_Op_create, MPI_Op_free, y aquellos relacionados con los tipos de datos derivados (MPI_Type_*). Éstas no tienen sentido en Octave, ya que no tienen funcionalidad asociada.
- También incluye algunas llamadas de MPI-2.0: el objeto “Info” (MPI_Info_*) y “Spawn” (MPI_Comm_spawn[_multiple], _Comm_get_parent, _Open/Close_port, _Comm_accept/connect/disconnect, _[Un]Publish/Lookup_name).
- Archivos de ayuda para todas las interfaces MPI, extraídas de las páginas “man” de LAM/MPI.
- Archivos de tutoriales para aprender y adquirir concimientos de MPI rápida y cómodamente.
- Web del proyecto: http://atc.ugr.es/javier-bin/mpitb .
Los usuarios de Octave en clústeres de Linux con varios PC's pueden utilizar MPITB para llamar a las rutinas de las librerías MPI desde el entorno de Octave.
Detalles
- Estado del desarrollo: 3 versiones, stable, testing y development.
- Licencia: GNU General Public License (GPL).
- Lenguaje: Propio de Octave.
- Sistema Operativo: Linux, Windows, MacOsX y OS/2.
- Interfaz de usuario: Terminal/Consola, aunque existen proyectos de IDE para Octave.
- Sitio web: http://www.gnu.org/software/octave/ .
- GNU Octave Repository: http://octave.sourceforge.net/