Best mathematics packages for Linux in 2024


Test 1: The basics

The software packages in this roundup are academic in some form. For that reason, they have both comprehensive documentation and good tutorials. To get through them, you must also learn maths, though sometimes that is part of the reason to use them in the first place. 

Universities have developed several of the programs and are even maintaining them, adding new modules as they expand their curriculum. As you can probably guess, the tutorials are often very theoretical.

On the academic scale, GeoGebra is much more of a teaching tool than the others. It is made as a web service for teachers and learning institutions. However, the source is available under the GPL so you can install it locally. 

One of its most impressive points is that the manual runs in the software – you don’t need to switch to a separate manual to learn about it. This is similar with Scilab and Octave. The two last ones have more power so you need to work more to get the full use of them.

At first glance, Scilab and GNU Octave are both barebones, but don’t be deceived – their power lies in their modules. They both follow the UNIX philosophy where you design software to do one thing well and then create other software for other functions – or modules, in this case. 

The modules range through many disciplines, from physics to chemistry and of course mathematical proofs. Both of these packages have their own programming languages.

Screenshot of Genius

Genius has many examples. The source code is loaded into the IDE, but you have to find explanations in comments and other sources. (Image credit: Genius)

Genius is a programming environment for mathematics and is very easy to start using. The manual is a little tricky but all the examples available from the Examples drop-down menu are very clear. 

Don’t expect to be an expert any time soon, though, as it also has its own language (GEL). The language is designed to look similar to the way you write mathematics in academic situations. 

Test 1 Verdict

Getting started easily may sometimes lead to a harder journey. Consider carefully before you go with one over the other.

Scilab and Octave use the same method, so it’s worthwhile getting used to it. The outlier in this collection is Engauge Digitizer. This program has much fewer functions, but you may find it very useful anyway. It takes a picture of a graph and helps you get the values into a spreadsheet from it.

Swipe to scroll horizontally
Test 1 scores
GNU Octave6/10Scilab6/10
Engauge Digitizer8/10Row 2 - Cell 2 Row 2 - Cell 3

Test 2: Installation

To get the most out of these programs, you will need to use graphs. For this reason, there are many dependencies for some of the packages – they are heavy on using other libraries. 

One solution to this problem is to ‘bake’ them into a Snap, Flatpak or AppImage, though that’s not an option for all the packages. Several of them are written in Java.

GeoGebra has many applications for many platforms. You can use it anywhere, and you can install from your favourite repository or FlatPak. You can even find a Linux Portable version on the official website.

The same goes for Scilab, except that you can run it directly from a folder, if you download the package from the website. Scilab also has a file exchange site for your work using Scilab. Octave is also available in both Snap and Flatpak versions.

screenshot of GeoGebra

GeoGebra is installed very quickly so it is available to you with minimal fuss. Your first experiments are on the way immediately. (Image credit: GeoGebra)

However, there are many Octave-based packages in the Ubuntu repositories, so if you plan to use those, it may be simpler to download it from the official repository. Another consideration is Cantor, which acts as a graphical frontend for mathematical software. It supports Scilab, Octave and Python, plus some others. It integrates with KDE, so is particularly useful if you’re using that. 

Test 2 Verdict

Complications during installing these packages are rare, and it’s easy to find solutions anyway since most are well-maintained old projects.

GNOME users may want to use a Snap or Flatpak to ensure that dependencies are all properly managed. Both Genius and Engauge Digitizer are available from the Snap store, in your repository and as a Flatpak. These do not need many dependencies, so you can use any method with which you’re most comfortable.

Swipe to scroll horizontally
Test 2 scores
GNU Octave7/10Scilab8/10
Engauge Digitizer8/10Row 2 - Cell 2 Row 2 - Cell 3