GNU Octave 8.1.0 ya fue lliberado y estas son sus novedades
Se dio a conocer el lanzamiento de la nueva versión del sistema para realizar cálculos matemáticos GNU Octave 8.1.0 (el primer lanzamiento de la rama 8.x), que proporciona un lenguaje interpretado y que es en gran medida compatible con Matlab.
Proporciona una interfaz de línea de comandos conveniente para resolver numéricamente problemas lineales y no lineales, y para realizar otros experimentos numéricos utilizando un lenguaje que es principalmente compatible con MATLAB.
Octave tiene muchas herramientas para resolver problemas comunes de álgebra lineal digital, encontrar las raíces de ecuaciones no lineales, etc.
Ademas, permite integrar funciones ordinarias, manipular polinomios e integrar ecuaciones diferenciales y diferenciales algebraicas ordinarias. Es fácilmente ampliable y personalizable mediante funciones definidas por el usuario escritas en el lenguaje Octave, o mediante el uso de módulos cargados dinámicamente escritos en C ++, C, Fortran u otros lenguajes.
Principales novedades de GNU Octave 8.1.0
Esta nueva versión que se presenta de Octave 8.1.0 llega con muchos cambios y mejoras generales de los cuales, los cambios más importantes en la nueva versión incluyen la capacidad de usar un tema oscuro a la interfaz gráfica, asi como tambien que la barra de herramientas ofrece nuevos iconos de alto contraste.
Ademas de ello, las bibliotecas de Octave ahora se construyen utilizando la visibilidad de símbolos de forma predeterminada. Eso significa que se exportan menos símbolos de estas bibliotecas. Se puede configurar con –disable-lib-visibility-flags para exportar todos los símbolos (como en versiones anteriores).
Otro de los cambios que se destaca de la nueva versión, es que se agregó un nuevo widget con un terminal (deshabilitado de forma predeterminada, la activación requiere el lanzamiento con el parámetro «–experimental-terminal-widget»).
Ademas de ello, tambien se destaca que se mejoro cinco veces el rendimiento de la función filter, lo que también resultó en mejoras de rendimiento para las funciones deconv, fftfilt y arma_rnd.
Tambien se destaca que se proporciona compatibilidad con la biblioteca de expresiones regulares PCRE2, que está habilitada de forma predeterminada y que se ha realizado una gran parte de los cambios destinados a mejorar la compatibilidad con Matlab, se han ampliado las capacidades de muchas funciones existentes.
Se agregaron nuevas fuentes para el Visor de documentos y tambien se agregaron nuevas funciones clearAllMemoizedCaches, matlab.lang.MemoizedFunction, memoize, normalize, pagectranspose, pagetranspose, uifigure
Finalmente, cabe mencionar que tambien se menciona un aviso anticipado de futuros cambios importantes:
Debido a muchas solicitudes de usuarios de que Octave debería tener una clase de cadena compatible con Matlab, se está trabajando para implementar una clase de cadena que diferirá de un vector de caracteres.
En Octave, las matrices de caracteres entre comillas simples son actualmente compatibles con Matlab, pero las formas entre comillas dobles no lo son. Actualmente en Octave, tanto «foo» como «foo» son en gran medida intercambiables, salvo ciertas interpretaciones de secuencias de escape como «\n» (convertido en un solo carácter de nueva línea) en lugar de «\n» (dos caracteres separados). Las matrices de caracteres entre comillas simples y las cadenas entre comillas dobles de Matlab no procesan secuencias de escape de barra invertida, a diferencia de muchos otros lenguajes, y esas secuencias de escape son procesadas por funciones individuales como fprintf.
Es probable que el comportamiento de Octave cambie en el futuro como consecuencia de la implementación de la sintaxis de cadenas al estilo de Matlab. Por ejemplo, ‘foo’ seguirá siendo un vector de caracteres de tres elementos, pero «foo» se convertirá en un objeto de cadena de un solo elemento. La implementación exacta es un trabajo en progreso y puede o no incluir métodos para preservar la compatibilidad con versiones anteriores.
Finalmente si estás interesado en poder conocer más al respecto, puedes 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 7.1.0, 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
En cuanto a los que prefieren el uso de paquetes Flatpak, pueden instalar Octave en su sistema, solo deben contar con el soporte de Flatpak y para realizar la instalación solo vamos a abrir una terminal y en ella teclear 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
Un ultimo método para poder instalar Octave, es con docker y la instalación se realiza tecleando:
docker pull docker.io/gnuoctave/octave:8.1.0