## If money were no object – what Maths software would you use?

I’ve not really done this before out of fear of the possibility that no one would reply but I’m going to do it anyway and ask my readers a question or two.

If money were no object – what Maths software would you use? Why? Are there any commercial maths applications that you wouldn’t use – even if they were free?

I am not just thinking of general applications such as Mathematica, Maple, Matlab and Mathcad but also those that focus on something more specific such as SPSS, the NAG libraries, Origin or COMSOL.

**Update (20th August 2008):**Some people have questioned my motivation for asking this question so I guess it’s only fair that I lay all of my cards on the table. I do not work for any software company but I do work for a University that has site licenses for almost all of the applications I mentioned above. Furthermore I am the campus representative for many of these site licenses so I am responsible for getting them from the supplier to our users and I am sometimes involved in site license negotiations.

Back when I was a PhD student of physics (at a different university) I sat on the other side of the fence and was a user of Mathematica, MATLAB, the NAG libraries, Fortran, C++ and, occasionally, Mathcad. All of them have strengths and weaknesses but, of course, my point of view was limited only to what was useful to me at the time. I have strong opinions in some areas (I love Mathematica, I hate Mathcad and I respect MATALB for instance) that have been shaped by my own experiences but I like to have my opinions challenged whenever possible.

So, the reason for my question is simply professional and personal interest. The only agenda I have is to learn more and seek people’s opinions. I am not selling anything and I do not aim to promote any particular company. People who disagree with me are especially welcomed to comment.

In my opinion, Mathematica is hands down better than any other mathematical software I’ve used, free or commercial.

Hi John,

I guess it depends on what you plan to do. I have heard people express a similar opinion about Matlab for example – others have stated that they could not live without Maple.

No, it has to be Mathematica unless your needs are very narrow (and will remain so). Maple is just a computer algebra system, and Matlab is only any good at numerical matrices. Mathematica is as good at both and lots more. Buy Mathematica and you will never need anything else.

I’ve sparingly used Mathematica and Maple, so I can’t really say too much about them.

I like MATLAB a lot because it’s pretty versatile and has a bunch of toolboxes that are easy to use, i.e. signal processing, curve fitting, statistics, differential equations, etc. In terms of speed, MATLAB is considered somewhat slow, but it’s great for development!

Also, some people probably don’t know that MATLAB can use symbolic variables for mathematical computation, which can come in pretty handy.

I’ve heard good things for all these programs but I ended up using MATLAB the most because it was taught in all my engineering classes.

Quan

Hi Quan

Good to hear from you :)

I find it interesting that you say that you ended up using MATLAB most because that was what you were taught while studying. If I am honest, I would say the same is true of me and Mathematica although my current job is teaching me to appreciate the strengths of other packages.

I wish software vendors would take this into account when trying to squeeze extra cash out of cash strapped universities. It’s quite simple really – If your software is taught at a university then a generation of students will end up using it in industry.

Some vendors understand this and act accordingly but others don’t.

As for speed – I have never done benchmarks so couldn’t possibly comment but the word on the street is that Matlab is faster than Mathematica for many numerical tasks. Mathematica has made massive strides in this area recently though. Of course, nothing beats FORTRAN for raw executional speed but it might take you a year to actually code the thing compared to a week in Matlab or Mathematica.

I’ve used some of the packages you mentioned at the top – Mathematica, Maple, MATLAB, SPSS, and also MiniTab. I would say for everyday users that Mathematica and MiniTab are pretty good. I particularly like MiniTab for production environments since the functions are very clear and standardized (GUI based). For research and development type work, I like Mathematica and MATLAB best. I have more experience with MATLAB, so I’m a bit biased that way, but it is quite flexible and powerful (programatically speaking).

Agree with the Fortran comment – fast to execute but slow to program. I think either Mathematica or MATLAB offer a decent compromise there. The few times I have used SPSS have been like having dental work.

Emphatically agree with the comment about software companies giving the Universities a break! They must realize that giving up a few $$$ now will grow a crop of users down the road. This seems like a very short-sighted sales strategy to me. In their defence however, some software companies DO give these type of student breaks – but not all.

I wonder if anyone will fight Mathcad’s corner? I have used it a bit myself and have spent far too much of my life sorting out problems for other users at my workplace and, to be honest, I think it stinks!

When someone doesn’t have a clue which application to try, I usually suggest that they install everything we have and play around for a bit before asking more specific questions. That is, everything EXCEPT Mathcad.

I’ve used Mathematica a lot in the past year. At first, this was not by choice, but eventually I got used to it and I have to say I really like some of its data presentation capabilities, as well as the symbolic computation. I still find it a bit on the slow side for numerical / computationally-intensive work, but I’m coming from a background of C++ there, so few things will compare for speed there!

Maple I’ve also used a fair bit, and I have to say I like it, a lot. Admittedly its scope is limited compared to Mathematica, but it annoys me less than Mathematica does.

So, money being no object, I’d have to go for both Mathematica and Maple, using them alongside excellent free tools such as gnuplot!

I would recommend Gauss. It can handle very large data set since Gauss is built for analyzing econometrics models. Check it out :-)

How about some opensource software? I’d rather go with Octave than Matlab. And Maxima over mathamatica for symbolic math. I heard Sage is pretty good, i’m checking it out right now.

I use Mathematica. It’s nice, but slow. I’m also keen to know: what math software is preferred by quant engineers & software developers in Investment banks & finance industry ?

Ronin – There are some quantitative finance people at my University who use the NAG libraries and they swear by them. The nice thing is that you can use the same routines in any environment you like, Matlab, VBA, Fortran, Python – whatever.

I look after the NAG site license at my institution and am a huge fan of their work.

I believe the programming language J has a following in the quant community.

It is amazingly idiosyncratic, I tried to learn it last year.

You thing you have to say about Mathematica: despite all its very buggy history (in being written in C – you can look it up on Usenet), it definitely has better marketing than Maple. From what I’ve seen Mathematica sometimes displays answers that are awkward (if correct), for even simple integrations.

This seems seems to generate a lot of misconceptions. For instance, since version 8 Maple has acquired code from NAG (Numerical Algorithms Group), so I don’t think it’s correct to say Maple is slow. If it were slow, it wouldn’t have stuff like the Optimization package.

I mean, to say, like David James said that “Maple is just a CAS” is wrong. To my knowledge, Maple and Mathematica overlap considerably.

The guys who’s saying open source Octave beats Matlab and Maxima beats Maple doesn’t know what he’s talking about and probably knows/uses no Math beyond simple Calculus/Linear Algebra. Besides, Scilab is the best open source contender for a Matlab substitute.

I’ll say this about Mathematica: it was too slow for our bioinformatics needs.

Hi jt

Thanks for your comments. I am lucky these days in that I get to use pretty much all of the major CAS packages and ALL of them work amazingly well in one domain or another. On the other hand, ALL of them – without exception – have bugs, problems and inefficiencies.

I don’t think ‘hp’ was saying that Octave was better than MATLAB in some absolute way. He just stated the opinion that HE would take it over MATLAB. It’s better for HIM. He may have many reasons for this – perhaps he prefers for his work to be based on open-source rather than closed source software or maybe it’s just that Octave meets his computational needs and he doesn’t need to shell out hundreds on MATLAB. Maybe he can’t use Scilab because he needs to run a lot of .m files contributed by MATLAB owning colleagues and Scilab isn’t source-compatible with MATLAB.

We don’t know his reasons because he chose not to give them – he just stated an opinion and that’s fine by me.

I feel that essentially mounting an attack on him and saying that he ‘Doesn’t know what he’s talking about and probably knows/uses no [advanced] Math’ is a little counter-productive to say the least.

For general use Mathematica.

Matlab only if you need some very specific package (simulation, signal… ) or if your company forces you.

It’s not faster, only marketing, very bloated, needs much more resources.

Mathematica now also has very good simulation packages and much better symbolics and abstract algebra.

Maple is similar to Mathematica but with fewer options.

For some tasks you will rather need other software, such as Pari or Magma.