Posted by
Antonio Cangiano in
Software on
June 2nd, 2007 |
109 responses

Mathematical software can be very expensive. Programs like Mathematica, Maple and Matlab are incredibly powerful, flexible and usually well documented and supported. Their price tags however are a big let down for many people, even if there are cheap (in some cases crippled) versions available for educational purposes (if you are a student or a teacher). The secondary disadvantages are those caused by the fact that such programs are proprietary. This can also affect or limit a “sharing oriented” environment like the academic and research fields. In this short article I propose well known programs that will give you a lot of flexibility and math crunching fun. And with no cost, they are great for all the different careers with a math degree. All of them have advantages and drawbacks and none of them can be considered perfect or infallible, but I consider them some of the best available today in their respective categories. They are rather general purpose softwares, but there are plenty of other specialized open source programs if you have specific needs. I’ve chosen one program for each of the 3 macro categories: symbolic, numeric and statistical computing, but you can expect quite a bit of overlapping and shared functionalities. Try the three of them, try the suggested alternatives and settle with the ones that you like and that meet your needs the best.

A general purpose CAS (Computer Algebra System) is a program that’s able to perform symbolic manipulation for the resolution of common problems. As a matter of fact, modern CAS covers an extremely wide range of functionalities. Maple is a prime example of a commercial CAS software. In this category I’d say that Maxima is an excellent open source cross platform tool. wxMaxima is a good GUI version (possibly the best one on Windows), but other front-ends exist. The 3D plot below was generated by Maxima.

Valuable mentions are:

Matlab is the standard for numerical computing, but there are a few clones and valid alternatives that are entirely free. Scilab is the closest that you can get to Matlab without spending a penny. It’s very compatible with Matlab (albeit not 100%) but it’s really flexible, powerful and comes with a Matlab converter and Scicos which is a block diagram modeler and simulator.

Valid alternatives are:

For statistical computing and analysis in the Open Source world, it doesn’t get any better than R. It is a programming language and environment that enables you to do pretty much anything that the commercial software (S-Plus) does. It is so widely adopted that it can be considered a standard in the field.

As usual, please feel free to share your experiences and add your suggestions to enrich the discussion.

**Sponsor’s message**: Math Better Explained is an insightful ebook and screencast series that will help you deeply understand fundamental mathematical concepts, and see math in a new light. Get it here.

I noticed that PTC Mathcad’s latest free version of Mathcad isn’t on your list. It debuted in September of 2012 but it is free for life engineering calculations software. Try it here: http://www.ptc.com/product/mathcad/free-trial/download/

I think GNU Octave is better than scilab.

Incanter is R-like and works with the Clojure language.

I’ve use Gnu Octave and it’s pretty good.

Another powerful tool is ILNumerics: It’s a math library for C#/.NET that offers convenient syntax, high performance, very nice visualization features and a wide platform support. The Community Edition of ILNumerics is available for download here: http://ilnumerics.net/download-ilnumerics.html

thanks