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.