GNU Octave, the free open-source application for numerical computations, released new major 9.1.0 version! Here’s how to install it in Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.10, and Ubuntu 24.04.
The GNU website has not yet announced the new release, but it’s available in the download page.
According to the changelog, the new Octave 9.1.0 overhauled dec2base
, dec2bin
, and dec2hex
. They now accept negative inputs and fractional inputs.
It re-architected the inputParser
function to get a 60% performance improvement. And, the perms
function has been made faster. The audiowrite
function now supports writing to MPEG audio formats (including MP3) if the sndfile
library supports it. The current directory of oruntests
now changes to the directory containing the files with the tests for the duration of the test.
The release features new functions, including isenv
, ismembertol
, isuniform
, tensorprod
.
The disable_diagonal_matrix
, disable_permutation_matrix
, and disable_range
functions have been removed! Replacements are optimize_diagonal_matrix
, optimize_permutation_matrix
, and optimize_range
Operators, such as .+
, .+=
, **
, and .**=
are removed. Replacements are +
, +=
, +=
, ^
, and .^=
. And, following function are obsolete:
idx_vector::bool()
all_ok(const Array&)
inArray-util.h
.octave_base_value::count
Other changes include:
-
- Classdef files now support breakpoints inside them.
- Support Qt6.
- Deprecate FLTK backend, in favor of Qt.
- The
set
function now accepts any combination of name/value pairs, cell array of names / cell array of values, or property structures. - The axes graphics property
"TickDir"
now accepts the option"none"
. It will not draw tick marks but will still draw tick labels. quiver
andquiver3
now properly plot non-float numeric inputs by internally casting them to ‘double’.- Code such as `A = ones (3, 3); A(:, :, 1) = []` is now Matlab compatible.
mad
function now produces Matlab compatible output using improvedmean
andmedian
functionslinspace
andlogspace
now handleInf
inputs in a Matlab compatible way.
mode
now produces Matlab compatible output for empty inputs- There are as well many other Matlab compatibility updates and bug-fixes. See the NEWs file for details!
How to Install GNU Octave 9.1.0
Besides building the new release from source tarball, there are so far 2 unofficial packages for the application: Flatpak package and Ubuntu PPA.
Option 1: Flatpak
Flatpak is an universal Linux package format run in sandbox. Fedora 38/39 and Linux Mint can search & install Octave as Flatpak package from either GNOME Software or Software Manager.
To install Octave as Flatpak in Ubuntu, simply press Ctrl+Alt+T on keyboard to open terminal. Then, run the commands below one by one:
- First, enable Flatpak support by running command:
sudo apt install flatpak
- Then, install Octave Flatpak package via command:
flatpak install https://dl.flathub.org/repo/appstream/org.octave.Octave.flatpakref
Tips: first time installing an app as Flatpak, needs a log out and back in to make app icon visible.
Option 2: Ubuntu PPA
For those who prefer the native .deb
package, I have uploaded the package into this unofficial PPA for Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.10 & 24.04 on both x86_64 and arm64/armhf devices.
1. First, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to add the PPA:
sudo add-apt-repository ppa:ubuntuhandbook1/octave
Type user password (no asterisk feedback, just type in mind) when it asks and hit Enter to continue.
2. After added PPA, Linux Mint users need to manually refresh system package cache by running command:
sudo apt update
3. Finally, either run command in terminal to install the software package:
sudo apt install octave
Or, use “Software Updater” (Update Manager) to install updates if an old version was installed on your system.
Uninstall:
For choice, you can either downgrade Octave package to the stock version in system repository by purging the Ubuntu PPA. To do so, open terminal (Ctrl+Alt+T) and run command:
sudo apt install ppa-purge && sudo ppa-purge ppa:ubuntuhandbook1/octave
Or, remove Octave .deb package by running command:
sudo apt remove --autoremove octave octave-common
And remove the Ubuntu PPA via command:
sudo add-apt-repository --remove ppa:ubuntuhandbook1/octave
If you installed Octave via Flatpak package, run the command below instead to remove it:
flatpak uninstall --delete-data org.octave.Octave
Also, run flatpak uninstall --unused
to remove useless run-time libraries to free up some disk space.