GNU Octave 11.1: Extreme performance, sparse matrices, and a Matlab clone

Key points:
  • Matrix convolution and folding operations up to 150 times faster with automatic path selection.
  • Indexing of exact class properties to Matlab and support for null handling arguments in statistical functions.
  • New randi function that consumes 3,5 times less memory and integrated Kahan algorithm for absolute precision in vector norms.
  • The pkg install command automatically detects URLs and local files, adding SHA256 validation.
  • 25% faster PDF export, native SVG icons, and improvements to OpenGL transparency rendering.

GNU Octave Logo

A few days ago it was announced Release of the new version of GNU Octave 11.1, a version with which the project not only closes critical gaps with its commercial counterpart, Matlab, but also iIt introduces optimizations that redefine its performance in big data analysis.

This version features improvements ranging from low-level efficiency in memory management to the modernization of its graphical interface and package manager.

Main new features of GNU Octave 11.1

With the release of Octave 11.1, the software has become a completely revamped computing powerhouse. And that's because the engineers have managed massive advances in the performance of matrix folding and convolution operationsFor short and wide arrays (especially row vectors), execution times have been accelerated between 10 and 150 times, depending on the data topology. The system now It is smart enough to analyze the orientation of the entry and automatically select the fastest algorithmic calculation path without requiring manual transposition by the user.

the management of the Memory and arithmetic accuracy have also been rewritten. strict. The function of The generation of pseudorandom integers has been redesigned from scratchachieving performance 4.5 times faster while consuming 3.5 times less RAM. Furthermore, theSummation and accumulation functions process logical inputs up to 6 times faster.

For scientific calculations that do not tolerate margins of error, the The vector norm function now uses Kahan's summation algorithm, drastically mitigating floating-point errors, while root-finding in nonlinear functions achieves near-perfect accuracy levels.

Structural Convergence with Matlab

Cross-compatibility is Octave's holy grail, and the Version 11.1.0 removes huge barriers of friction for developers. The object-oriented system has been improved in the indexing of properties defined with the class keyword. Now, when invoking an element using dot notation, the interpreter prioritizes searching for the symbol name as a property and, only if it doesn't exist, looks for an associated method, perfectly mimicking the behavior of the Matlab engine.

On the other hand, it is highlighted that Dozens of commands now natively support dimensionality arguments and value handling nulls that were previously exclusive to its commercial rival. The polynomial fitting function, for example, has been enhanced to return the coefficient of determination ($R^2$), providing an immediate statistical metric on how well the model fits the input data. Furthermore, Automatic broadcasting has been enabled for complex mathematical operations. that mix sparse matrices with complete matrices, or diagonal matrices with regular vectors.

The workflow for extending language capabilities has been simplified and secured. The internal package manager has left its old premises of manual flags. The The installation command now includes a parser. capable of automatically determining if the provided argument is a local file path, a direct URL, or a package name from the central repository, and proceeding to download and install it.

For corporate and research environments that require reproducibility, security and latency have been optimized. Octave 11 implements local caching of metadata of the packets, updating them in the background only when strictly necessary. In parallel, any packet downloaded from the network is now cryptographically verified using a SHA256 hash to ensure that the code has not been tampered with during transit.

Visual and graphic modernization

The end-user experience is abandoning the rigidity of the past. The graphical user interface has been polished to support high-resolution displays. through the implementation of natively scalable SVG vector icons. Managing large projects is made easier with a File Explorer intelligently divided into two separate tabs: one for navigating the operating system tree and another dedicated exclusively to managing documents currently open in the code editor. The graphics rendering engine is no slouch either.

La Printing figures and graphs to PDF format has accelerated by 25%. Eliminating troublesome bottlenecks when exporting research reports. Users viewing complex data on modern systems will enjoy a significant improvement in alpha blending (transparency) by leveraging the latest versions of OpenGL.

And for data presentation purists, polar plots have been corrected to prevent perspective changes from obscuring the plotting area, while the text engine now rigorously respects lead and trailing spaces in axis labels.

Finally, if you are interested in learning more about this new version, you can consult the details in the following link.

How to install GNU Octave on Linux?

For those interested in installing this new version of GNU Octave, I should mention that, For now, the version contained in the repositories of the main The distributions are a bit behind, so new versions take some time to be updated in the repositories. However, you can perform the installation as soon as it becomes available using one of the following commands.

For example, for those who are users of Debian, Ubuntu or any derivative distribution or based on these, they can perform the installation by opening a terminal and typing:

sudo apt-get install octave

Now, for the case of those who are users of Arch Linux, Manjaro or any other Arch Linux-based distro, The installation is performed with the following command:

sudo pacman -S octave

While for those who are OpenSUSE users, They can perform the installation with:

sudo zipper install octave

For those who prefer using Flatpak packages, they can install Octave on their system by typing the following command:

flatpak install flathub org.octave.Octave

Another method is with the help of Snap packages, and the installation is done by typing:

sudo snap install octave