For those involved in data analysis, numerical computation and taks of that nature, Matlab is an industry standard software to use, though it is not necessarily the best available. The problem is that (Matlab) is commercial and can be expensive.
Recently I took a class on Machine Learning and was surprised to find that the professor was not going to use Matlab, but a Free Software alternative called GNU Octave, which was good news because it meant not having to spend money on a proprietary software.
Being relatively new to this field, I decided to see what other Free Software alternatives are available. It turns out that there are a bunch of them that are already available in the repository of your favorite distribution.
The following list (in alphabetical order) contains four alternative to Matlab that I found:
1. Genius: Also called Genius Math tool (GMT), is the least feature-rich of the bunch. Like others in this list, Genius has a built-in interactive programming language. In the case of GMT, it is called GEL, short for the Genius Extension Language. GMT began life as a simple GNOME calculator, but morphed into something more powerful and useful.
GMT is officially described as a:
General purpose calculator program similar in some aspects to BC, Matlab, Maple or Mathematica. It is useful both as a simple calculator and as a research or educational tool. The syntax is very intuitive and is designed to mimic how mathematics is usually written.
2. GNU Octave: Also just called Octave, this is one I have first-hand knowledge of, though I’m not a guru-level user yet. It is officially described as a:
High-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation.
A Machine Learning class on Coursera.org uses GNU Octave instead of Matlab or any other commercial equivalent.
3. Sagemath or just Sage, is where a suite of more than 100 Free Software applications come to provide a unified interface suitable for elementary to advanced number theory, cryptography, numerical computation, commutative algebra, group theory, combinatorics, etc.
Sagemath’s user interface is described as:
A notebook in a web browser or the command line. Using the notebook, Sage connects either locally to your own Sage installation or to a Sage server on the network. Inside the Sage notebook you can create embedded graphics, beautifully typeset mathematical expressions, add and delete input, and share your work across the network.
4. Scilab: This is Free Software used for numerical computation. It also comes with a high-level programming language. Scilab began as a university project, but has since become much more than that. Its development is presently sponsored by Scilab Enterprises, which also provides paid professional services around the application.
It comes with features capable of handling enterprise-scale mathematical computations and simulations; 2- and 3D data visualization; discrete optimization problems; data analysis and modeling; control system analysis and design; signal Processing; and much more. More information about it at scilab.org.
In this age of Big Data, where data analysis is big business, and data scientist are in hot demand, becoming proficient in the tools used for data-crunching can come in handy. You just never know when familiarity with any of these tools can make you more valuable to your boss.