Recientemente se ha anunciado el lanzamiento de GNU Octave 11.1, una versión que acerca notablemente este software libre a su competidor comercial, Matlab. Las optimizaciones implementadas redefinen su rendimiento en el análisis de grandes volúmenes de datos, abarcando desde la gestión de memoria hasta la modernización de la interfaz gráfica y el gestor de paquetes.
Entre las principales novedades, destaca que el rendimiento en operaciones de plegado y convolución de matrices ha mejorado considerablemente. Para matrices cortas y anchas, especialmente los vectores fila, los tiempos de ejecución se han acelerado entre 10 y 150 veces, dependiendo de la topología de los datos. El sistema ha sido diseñado para evaluar automáticamente la orientación de las entradas y seleccionar la ruta de cálculo más eficiente sin necesidad de que el usuario realice transposiciones manuales.
Asimismo, la gestión de memoria y la precisión aritmética han sido revisadas de forma exhaustiva. La nueva función de generación de números enteros pseudoaleatorios se ejecuta 4,5 veces más rápido y utiliza un 3,5% menos de memoria RAM. Además, las funciones de suma y acumulación han visto su velocidad de procesamiento incrementada hasta seis veces.
Para cálculos científicos que exigen alta precisión, la función de norma vectorial ahora implementa el algoritmo de suma de Kahan, lo que reduce los errores de coma flotante. Por otro lado, la búsqueda de raíces en funciones no lineales ha alcanzado niveles de precisión casi perfectos.
Mejoras en compatibilidad y gestión de paquetes
La compatibilidad con Matlab se ha convertido en una de las prioridades del desarrollo de Octave, y la versión 11.1 elimina barreras para los desarrolladores. Se ha mejorado el sistema de orientación a objetos, facilitando la indexación de propiedades definidas por la clase. Esto significa que al invocar un elemento con la notación de punto, el intérprete primero busca el nombre del símbolo como propiedad y, solo si no se encuentra, busca un método asociado, imitando el comportamiento de Matlab.
Decenas de comandos ahora aceptan argumentos de dimensionalidad y tratamiento de valores nulos que anteriormente eran exclusivos de Matlab. Por ejemplo, la función de ajuste polinomial ha sido mejorada para devolver el coeficiente de determinación, proporcionando una métrica estadística inmediata sobre el ajuste del modelo a los datos.
El gestor de paquetes interno ha sido simplificado, eliminando dependencias de banderas manuales. Ahora, el comando de instalación puede determinar automáticamente si el argumento proporcionado es una ruta de archivo local, una URL o un nombre de paquete del repositorio central, procediendo a su descarga e instalación.
Mejoras visuales y gráficas
La interfaz gráfica también ha sido modernizada, soportando pantallas de alta resolución mediante la implementación de iconos vectoriales SVG. La gestión de proyectos extensos se facilita con un explorador de archivos que permite navegar tanto por el sistema operativo como por los documentos abiertos en el editor de código.
El motor de renderizado gráfico ha visto mejoras, acelerando la impresión de figuras y gráficas en formato PDF en un 25%. Los usuarios que trabajan con datos complejos se beneficiarán de una mejora en la combinación alfa, gracias a las últimas versiones de OpenGL. Las gráficas polares han sido corregidas, y el motor de texto ahora respeta los espacios iniciales y finales en las etiquetas de los ejes.
Para aquellos interesados en instalar esta nueva versión de GNU Octave, es importante mencionar que la versión en los repositorios de las principales distribuciones puede estar desactualizada. Sin embargo, se puede instalar utilizando comandos específicos según la distribución. Por ejemplo, en Debian y Ubuntu se puede usar sudo apt-get install octave, mientras que en Arch Linux el comando es sudo pacman -S octave.
Por último, para quienes prefieren usar Flatpak o Snap, los comandos son flatpak install flathub org.octave.Octave y sudo snap install octave, respectivamente.













