Best mathematics packages for Linux in 2024


Test 3: Using them for research

Even if you are not a researcher, you should know how the professionals approach things. This way you can choose the package that suits your interest the most. Even if you don’t agree, you may find it interesting anyway.

In this collection, two stand out again: Scilab and Octave. They both started out in higher education environments to create results for the developer. GeoGebra is much heavier on teaching rather than research. 

Most research revolves around teaching and using it as a teaching tool. This has led to a tool that is very powerful for learning. But when you start using it for advanced research, another tool will probably be more suitable.

GNU Octave started as, and still is, a mathematical language with an application attached to it. Originally created at the University of Wisconsin-Madison and University of Texas, it has grown to be used for many research projects. 

The subjects the projects cover are as diverse as physics, chemistry and many electronics projects.

Screenshot of Scilab

Collecting and analysing data may help calm your nerves about current events. With Scilab, you have a GUI interface to collect data from almost any source. (Image credit: Scilab)

Research citing Genius is more sparse, for various reasons. Partly, it can be that the program and language is newer. Another reason may be that you have fewer ways to implement routines in other languages. 

The language is called GEL (Genius Extension Language). Its syntax tries to mimic the way mathematics is usually written in the classroom. 

Test 3 Verdict

It’s difficult to quantify scores in this area – you’ll need to choose a package according to your use case.

Engauge Digitizer is a very simple program, which means the people who use it have limited information about the subject they are working on. Scilab, created by French researchers, is designed with advanced science in mind. With a vast array of ways to interface with other programs and websites, it has become very popular.

Swipe to scroll horizontally
Test 3 scores
GNU Octave9/10Scilab10/10
Engauge Digitizer4/10Row 2 - Cell 2 Row 2 - Cell 3

Test 4: How flexible are they

When you’re working on a serious project, you need a way to use all the power of Linux. With the packages presented here, you have a number of options to send data in and out. 

To a certain degree, you also have the option to use other languages and even web technologies in combination with them.

With GeoGebra, you have a comprehensive set of tools for websites. You can send your results directly to a site that you run. It is written in Java, so if you are a Java programmer you can take advantage of that. 

This is the greatest strength of GeoGebra, but you can also use JavaScript to call the different applications that is available through the project.

GNU Octave has a C/C++ API to connect current software to it using the libraries. The interface is bi-directional, so you can call external code from Octave and use Octave when it suits the situation better. 

Octave is very efficient, so make sure you have read all the information about making it as efficient as possible before using an external language.

To use Octave in Python, you can use oct2py; once you have that imported to your project, you can create Octave objects. These objects supports the functions that Octave has. 

Genius has its own language as well; however, that language works better for mathematical expressions. 

You do not get any C++ API or Python package to use the GEL language in other languages. This limits your opportunities to make anything advanced with Genius. 

Scilab, meanwhile, has a full API available for C++ programmers. This API gives you full access to the Java-based Scilab application. It acts as an extension to Scilab, so you can extend it for your particular case.

Test 4 Verdict

GNU Octave and Scilab shine brightly in this rating – not surprising, since they are used and supported by scientists.

There is also a Python package, scilab2py, that gives you access to all the functions in Scilab. This package is not currently maintained, however.

The best use of these packages is for solving your mathematical problems. However, many of their functions can be useful individually to enhance your own projects, so experiment and see what they can do.

Swipe to scroll horizontally
Test 4 scores
GNU Octave5/10Scilab9/10
Engauge Digitizer2/10Row 2 - Cell 2 Row 2 - Cell 3