Open source math and numerical computing tools

3 open source alternatives to MATLAB

3 open source alternatives to MATLAB
Image by : 

Did you use MATLAB in school?

For many students in mathematics, physical sciences, engineering, economics, and other fields with a heavy numeric component, MATLAB is their first introduction to programming or scientific computing in general.

It can be a good tool for learning, although in my experience many of the things that students and researchers alike use MATLAB for are not particularly demanding calculations that easily could be conducted with any number of basic scripting tools, with or without statistical or math-oriented packages. However, it does have a near ubiquity in many academic settings, bringing with it a large community of users familiar with the the language, plugins, and capabilities in general.

But MATLAB is a proprietary tool. Without access to its source code, you are limited in how you can truly understand how it works, and how you can modify it. It is also prohibitively expensive for many people outside of an academic setting, where license fees for a single copy can reach into the thousands of dollars.

Fortunately, there are many great open source alternatives. Depending on exactly what your objective is, you may find one or another to more aptly fit your specific needs. Here are three to consider:

GNU Octave

GNU Octave may be the best-known alternatives to MATLAB. In active development for almost three decades, Octave runs on Windows, Mac, and Linux alike, and is packaged for most major distributions. If you're looking for a project that is as close to the actual MATLAB language as possible, Octave may be a good fit for you; it strives for exact compatibility, so many of your projects developed for MATLAB may run in Octave with no modification necessary.

Octave has many different choices available for a front end interaction outside of the default which ships with newer version; some resemble MATLAB's interface more than others. Octave's Wikipedia page lists several options.

Octave is licensed under the GPL, and its source code can be found on the GNU ftp site.

Scilab

Scilab is another open source option for numerical computing which runs across all of the major platforms: Windows, Mac, and Linux included. Scilab perhaps the best known alternative outside of Octave, and like Octave, it is very similar to MATLAB in its implementation, although exact compatibility is not a goal of the project's developers.

Scilab is distributed as open source under the CeCILL license, a GPL-compatible license, and its source code is available on the project website.

Sage

SageMath is another open source mathematics software system which might be a good option for those seeking a MATLAB alternative. Built on top of a variety of well-know Python-based scientific computing libraries, and its own language is syntactically similar to Python. It has many features, including a command-line interface, browser-based notebooks, tools for embedding formulas in other documents, and of course, many mathematical libraries.

SageMath is available under a GPL license, and its source code can be found on the project website.


This list only scratches the surface of tools that researchers and students alike may choose to use as open source alternatives to MATLAB. There are plenty of others like Genius Mathematic Tool and FreeMat, and of course R, Julia, Python, and other standard programming languages might be a good fit for you, depending on exactly what your needs are. Have you used any of these, or others? Which one do you prefer and why? Let us know in the comments below.

Tags

16 Comments

sfsdf

GNU Octave has started to ship with a frontend user interface by default beginning with version 4.

Vote up!
0
Vote down!
0
Jason Baker

Thanks, updated!

Vote up!
0
Vote down!
0
sfsdf

Thanks for the update.
But I don't see a mention of Octave having it's own official GUI now with version 4.

Vote up!
0
Vote down!
0
Joel Goldstick

python has very popular numpy library

Vote up!
1
Vote down!
0
sethkenlon

That's what I used, too. Er, use.

Vote up!
0
Vote down!
0
Don Watkins

Very interesting article Jason. I shared it far and wide with Edtech and OER people.

Vote up!
0
Vote down!
0
Tom2015

Just to say that I ticked the "No, I didn't use a numerical computing platform." as I dont think they even existed when I was at school, or Uni come to that.

Vote up!
0
Vote down!
0
apostolos tapsas

i don't know if is opensource but the R programming laguage is good as matlab.

Vote up!
0
Vote down!
0
Steaphany

Check out Maxima, it is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, sets, lists, vectors, matrices and tensors.

http://maxima.sourceforge.net/

Vote up!
0
Vote down!
0
Firstbyte

The article does a good job at attempting to come out with open source math and numerical tools that could be alternatives to well-known proprietary packages. It would be helpful to mention well-known educational establishments, organizations and even corporate bodies that use these open source tools. Institutions in the so-called Third World would not have problems with open source software if they (institutions) could source help from established sources.

The fear of being left with experimental projects -with infrequent updates- or sometimes even defunct projects, leave educational institutions in the Third World to standardize on proprietary packages, whose developers/publishers/marketers, as the author rightly pointed out, offer steeply reduced educational licenses.

In the case of open source tools that offer compatiblity with proprietary counterparts, the above risk is reduced, whereas in the case of those incompatible withe their proprietary peers, Third World educational institutions adopting such open source tools are left in the cold.

Vote up!
0
Vote down!
0
jxjl

Python + SciPy stack is IMO the only competitive alternative, unfortunatelly for windows users, there is no easy way, how to install it

Vote up!
0
Vote down!
0
SamL

For those wanting to use the Python+SciPy stack on Windows (or elsewhere) the Anaconda package by Continuum is well packaged, and installs as a stand-alone python install, which makes it much easier to manage on Windows. The associated Conda package manager is easy to work with as well.

Vote up!
0
Vote down!
0
juanklopper

The Anaconda installation from Continuum Analytics makes for a very easy install, even on Windows.

Vote up!
0
Vote down!
0
palle

In order to be fair here: Are you aware of the home use license of MathWorks products, which is approx. 100$? Of course, it's still not open source ;)

Vote up!
0
Vote down!
0
Scott Jones

From all I've seen, I think Julia would be a very good (and better performing) alternative to MATLAB. It is MIT licensed, not GPL, so you won't have any problems using it for commercial projects (which I am currently doing).

Vote up!
0
Vote down!
0
John Gibson

If you're looking to replace Matlab with something free and better, look to the Julia programming language, http://julialang.org. Julia is a general-purpose, open-source language aimed squarely at scientific computation, with the high-level feel of Python, the numerical ease-of-use of Matlab, the speed of compiled C, and the meta-programming CS sophistication of Lisp. It's a killer combination of capabilities that opens a whole new world of possibility in scientific computing.

Vote up!
0
Vote down!
0