I'd like to know the equivalents of Mathematica, Maple, or MATLAB on Ubuntu, since both are costly.


Octave provides a lot of the functionality of Matlab, and can run some Matlab programs. Sage is the open source "equivalent" of Mathematica.

  • Good answer, gets straight to the point. GNU Octave is pretty good, although, yeah I would like to see a GUI made for it. Sage can also be used to perform numerical computations. It's the fusion of GNU Octave, MATLAB, Scilab, Numpy, Scipy, Maple, Mathematica and other mathematics software written in a common python programming language. – Josh Pinto Sep 30 '12 at 15:52

I use QT Octave as GNU Octave does not have a nice GUI. Though most of the commands work out pretty well, some functions may not work as expected in MATLAB

  • I strongly recommend QT Octave, or called from C++ (which I have also been experimenting with). – david6 Mar 14 '12 at 7:57

You can also give R a try. It is an open-source, free, programming environment. It has both powerful visualization capabilities, power numerical libraries, and everything you would expect from a functional programming language (well, except a compiler).

  • If you want to use R, I recommend looking at RStudio ( rstudio.org ), which has an interface which should be familiar to a MATLAB user. It isn't in the Ubuntu repositories but you can download a .deb package from their website. – chronitis Oct 10 '12 at 9:39

I would suggest python with appropriate libraries as a good option.

It is not quite a replacement, since the python language is not as specialised for mathematics as matlab/mathematica syntax, but it combines a relatively good syntax for interactive mathematics with a fully-capable programming language.

You will want to install the packages:

  • ipython - a much nicer version of the standard python shell, with session saving, tab-completion, etc. See their website. You might also want ipython-notebook which provides a browser-based interactive session (see image below).

ipython notebook

  • python-numpy python-scipy python-matplotlib - Core scientific python libraries; Numpy provides efficient arrays for handling large amounts of data; Scipy provides algorithms, eg clustering, FFT, numerical integration, linear algebra; and Matplotlib provides a wide variety of plotting functions (including an interface designed for interactive use).

  • spyder - I normally just use these libraries with a text editor and a ipython terminal session, but if you are more comfortable with an integrated environment you may look at spyder, an IDE designed in the vein of matlab/mathematica using the above libraries. See screenshot below.

spyder screenshot


Reduce, Maxima, Sage, Axiom (in three variations), and others, all are free and will provide you computer algebra on Linux.


Freemat is a good alternative. It can handle most of the Matlab m-scripts.

  • Eh, not really -- FreeMat is rarely updated. The latest version available in the software centre was released 2008. – Josh Pinto Nov 25 '12 at 23:22

Both Mathematica and Matlab are very bloated as they try to do too much and be sort of a silver bullet. As I said, they try.

Most open source libraries and tools however, focus on a particular problem or domain area and do it the best and fastest way, while making sure that they import and export to appropriate formats so you can work with several different tools and pass your data from one to another.

You will likely receive much more useful response to your question by specifying the specific domain you want to work in, or the specific type of tools you need as opposed to trying to find a clone of something like Matlab, which I wouldn't use even if it was free.


I would suggest installing Cantor which supports four different environments (Maxima, R, SAGE and KAlgebra).

sudo apt-get install cantor

It has a very simple interface and it is easy to use. Cantor main window

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.