Take the 2-minute tour ×
Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. It's 100% free, no registration required.

Soon, I am going to write my master thesis in theoretical physics. I assume there, and later on in my career, I will have to do more serious numerics than I did up to this point. That's why I want to find out:

What programming languages are available for doing numerics in theoretical physics? What are their relative strengths/weaknesses? How do their speeds compare?

The programming language should be able to do top performance (in the first place) and at the same time be reasonable fun to programm in. Considering the first criterion, I assume there will be a mostly not opinion-based answer to my question.

So far, for most calculations in physics, I have been using Maple and Mathematica, with which I am fairly familliar with but which do not seem to provide the performance for more serious stuff. Furthermore I know Matlab, which I am using now for a year but only for a lecture of numerics thus far (so purely for elementary problems).

Then of course I know C++, where there is a numerics package called GSL. This does not seem very handy to me on the first glance.

I never worked with python but fear, it will not provide the needed performance and will be rather a drastic change from what I used so far.

So are there other options, which I oversaw? And what is the way to go for "modern numerics in physics"? What does the answer depend on?

share|improve this question

closed as primarily opinion-based by David Z Jul 16 at 18:51

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

1  
This really is opinion-based, as most advice-type questions are. But beyond that, it's just off topic here. It would be a good topic to bring up in Physics Chat though. –  David Z Jul 16 at 18:52
2  
It is fairly undeniable that C/C++ and Fortran are your top two/three languages when it comes to performance. –  Kyle Kanos Jul 16 at 18:54
1  
I am not quite sure if I agree with this close, as physics.stackexchange.com/q/401 seems pretty parallel and is still open. Could you please clearify? –  Hagadol Jul 16 at 19:42
2  
@Hagadol There is a subtle difference. Your question is "What should I use", the other is more general "Which tools ara available". (Although the other one might be closed for being a list-type question). –  Bernhard Jul 16 at 19:47
2  
Yes, that question was pretty old and I hadn't thought of it. I've now put a historical lock on it. –  David Z Jul 16 at 19:50