A Comparative Evaluation of Matlab, Octave, FreeMat, Scilab, R, and IDL on Tara

Author/Creator ORCID

Date

2012

Department

Program

Citation of Original Publication

Rights

This item is likely protected under Title 17 of the U.S. Copyright Law. Unless on a Creative Commons license, for uses protected by Copyright Law, contact the copyright holder or the author.

Abstract

Matlab is the most popular commercial package for numerical computations in mathematics, statistics, the sciences, engineering, and other fields. IDL, a commercial package used for data analysis, along with the free numerical computational packages Octave, FreeMat, Scilab, and the statistical package R shares many of the same features as Matlab. They are available to download on the Linux, Windows, and Mac OS X operating systems. We investigate whether these packages are viable alternatives to Matlab for uses in research and teaching. We compare the results on the cluster tara in the UMBC High Performance Computing Facility with 86 nodes, each with two quadcore Intel Nehalem processors and 24 GB of memory. The tests focused on usability lead us to conclude that the package Octave is the most compatible with Matlab, since it uses the same syntax and has the native capability of running m-files. FreeMat, Scilab, R, and IDL were hampered by somewhat different syntax or function names and some missing functions. The tests focused on efficiency show that Matlab and Octave are fundamentally able to solve problems of the same size and with equivalent efficiency in absolute times, except in one test dealing with a very large problem. Also IDL performed equivalently in the case of iterative methods. FreeMat, Scilab, and R exhibit significant limitations on the problem size and the efficiency of the problems they can solve in our tests. The syntax of R and IDL are significantly different from that of Matlab, Octave, FreeMat, and Scilab. In summary, we conclude that Octave is the best viable alternative to Matlab because it was not only fully compatible (in terms of syntax) with Matlab in our tests, but it also performed very well.