Noticia GNU Octave 11.1: Rendimiento extremo, matrices dispersas y clon de Matlab

GNU-Octave-Logo


Hace pocos días se dio a conocer el lanzamiento de la nueva versión de GNU Octave 11.1, versión con la cual el proyecto no solo recorta distancias críticas con su contraparte comercial, Matlab, sino que introduce optimizaciones que redefinen su rendimiento en el análisis de datos masivos.

Esta versión presenta mejoras que abordan desde la eficiencia de bajo nivel en el manejo de memoria hasta la modernización de su interfaz gráfica y su gestor de paquetes.

Principales novedades de GNU Octave 11.1​


Con el lanzamiento de Octave 11.1, el software se ha convertido en una bestia de cálculo completamente renovada. Y es que los ingenieros han logrado avances masivos en el rendimiento de operaciones de plegado y convolución de matrices. Para matrices cortas y anchas (especialmente 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 ahora es lo suficientemente inteligente como para analizar la orientación de la entrada y seleccionar automáticamente la ruta de cálculo algorítmico más rápida sin requerir la transposición manual por parte del usuario.

La gestión de la memoria y la precisión aritmética también han sido sometidas a una reescritura estricta. La función de generación de números enteros pseudoaleatorios ha sido rediseñada desde cero, logrando ejecutarse 4.5 veces más rápido mientras consume 3.5 veces menos memoria RAM. Además, las funciones de suma y acumulación procesan las entradas lógicas hasta 6 veces más rápido.

Para los cálculos científicos que no toleran márgenes de error, la función de norma vectorial ahora utiliza el algoritmo de suma de Kahan, mitigando drásticamente los errores de coma flotante, mientras que la búsqueda de raíces en funciones no lineales alcanza niveles de precisión casi perfectos.

Convergencia Estructural con Matlab​


La compatibilidad cruzada es el santo grial de Octave, y la versión 11.1.0 elimina enormes barreras de fricción para los desarrolladores. El sistema de orientación a objetos ha sido mejorado en la indexación de propiedades definidas con la palabra clave de clase. Ahora, al invocar un elemento mediante la notación de punto, el intérprete prioriza la búsqueda del nombre del símbolo como una propiedad y, solo si no existe, busca un método asociado, imitando a la perfección el comportamiento del motor de Matlab.

Por otra parte, se destaca que decenas de comandos ahora admiten de forma nativa argumentos de dimensionalidad y tratamiento de valores nulos que antes eran exclusivos de su rival comercial. La función de ajuste polinomial, por ejemplo, ha sido enriquecida para devolver el coeficiente de determinación ($R^2$), proporcionando una métrica estadística inmediata sobre el ajuste del modelo a los datos ingresados. Además, se ha habilitado la difusión o broadcasting automático para operaciones matemáticas complejas que mezclan matrices dispersas con matrices completas, o matrices diagonales con vectores regulares.

El flujo de trabajo para extender las capacidades del lenguaje se ha simplificado y asegurado. El gestor de paquetes interno ha abandonado sus antiguas dependencias de banderas manuales. El comando de instalación ahora posee un analizador capaz de determinar automáticamente si el argumento proporcionado es una ruta de archivo local, una URL directa o un nombre de paquete del repositorio central, procediendo a su descarga e instalación.

Para entornos corporativos y de investigación que requieren reproducibilidad, la seguridad y la latencia han sido optimizadas. Octave 11 implementa el almacenamiento en caché local de los metadatos de los paquetes, actualizándolos en segundo plano solo cuando es estrictamente necesario. Paralelamente, cualquier paquete descargado de la red es ahora verificado criptográficamente mediante un hash SHA256 para garantizar que el código no ha sido manipulado durante el tránsito.

Modernización visual y gráfica​


La experiencia del usuario final abandona la rigidez del pasado. La interfaz gráfica de usuario ha sido pulida para soportar pantallas de alta resolución mediante la implementación de iconos vectoriales SVG escalables de forma nativa. La gestión de proyectos extensos se facilita con un Explorador de Archivos dividido inteligentemente en dos pestañas separadas: una para navegar por el árbol del sistema operativo y otra dedicada exclusivamente a administrar los documentos actualmente abiertos en el editor de código.El motor de renderizado gráfico no se queda atrás.

La impresión de figuras y gráficas a formato PDF se ha acelerado en un 25 %, eliminando los molestos cuellos de botella al exportar reportes de investigación. Los usuarios que visualicen datos complejos en sistemas modernos disfrutarán de una mejora significativa en la combinación alfa (transparencias) aprovechando las versiones más recientes de OpenGL.

Y para los puristas de la presentación de datos, las gráficas polares han sido corregidas para evitar que los cambios de perspectiva oscurezcan el área de trazado, mientras que el motor de texto ahora respeta rigurosamente los espacios iniciales y finales en las etiquetas de los ejes.

Finalmente si estás interesado en poder conocer más al respecto de esta nueva versión, pueden consultar los detalles en el siguiente enlace.

¿Cómo instalar GNU Octave en Linux?​


Para los que estén interesados en poder instalar esta nueva versión de GNU Octave, debo mencionarles que, de momento, la versión contenida en los repositorios de las principales distribuciones es un poco atrasada, por lo que las nuevas versiones liberadas tardan en ser actualizadas en los repositorios. Pero, pueden realizar la instalación en cuanto esté disponible usando alguno de los siguientes comandos.

Por ejemplo, para los que son usuarios de Debian, Ubuntu o cualquier distribucion derivada o basada en estas, pueden realizar la instalación abriendo una terminal y tecleando:

sudo apt-get install octave

Ahora, para el caso de los que son usuarios de Arch Linux, Manjaro o cualquier otra distro basada en Arch Linux, la instalación la realizan con el siguiente comando:

sudo pacman -S octave

Mientras que para los que son usuarios de OpenSUSE, pueden realizar la instalación con:

sudo zypper install octave

En cuanto a los que prefieren el uso de paquetes Flatpak, pueden instalar Octave en su sistema tecleando el siguiente comando:

flatpak install flathub org.octave.Octave

Otro método, es con ayuda de los paquetes de Snap y la instalación se realiza tecleando:

sudo snap install octave

Continúar leyendo...