Programming Langauages for Research in Quantum Mechanicsby rshalloo Tags: c++, mathematica, matlab, programming 

#1
Jan1612, 04:32 PM

P: 47

Hey, I'm a second year physics undergrad and I'm interested in doing research in quantum Physics after I graduate. I'm just wondering what programming language I should be focusing on to enable me to carry out such research I've done introductory courses for Mathematica, Matlab and C++ and so far have found Mathematica nicest to use (as it involves the least amount of 'real' coding) although Matlab would seem to me to be most useful for Quantum research. But I'd love to your opinions! also is a high level of programming knowledge needed? Do I need to bother doing more courses in any programming languages?
Thanks! 



#2
Jan1612, 06:39 PM

P: 402

This completely depends on what you are up to. Different areas of quantum physics may require anything from Fortran over C++ over Python/Matlab to Mathematica/ML/LISP etc. Your best bet is to become a competent programmer; for that you typically want to start with one or two languages (e.g., C++ and Python or C++ and Mathematica seem like good combinations to me).
Some notes on the languages:  Fortran: Ugly language, very bad to start with. Used for hardcore number crunching in many areas (e.g., quantum chemistry, solid state physics, and other electronic structure stuff).  C++: The most complicated language ever invented. Very powerful if used right, able to create horrific abominations if used wrong. Useful for all kinds of highperformance code (if used right), lowlevel to highlevel. Useful for building *large* applications with many million lines of code (most major Programs in Windows, and a great part of Windows itself are written in C++).  Python/Matlab: Can be used moreorless interchangably in the numerics department (Python with numpy and scipy). Both are very powerful and very easy to use "glue" languages (languages you mainly use to glue library functions together). Usually the best way to get something to work, fast. Python has the advantage of being somewhat cleaner and freely available and also being useful for many things besides numerics; but in the numerics department it is less powerful than Matlab.  Mathematica/ML/LISP: Functional languages which are mainly useful for symbolic algebra. (that is, if you have to write your symbolic algebra routines yourself, which, in fact, often happens). 



#3
Jan1612, 08:29 PM

P: 1,153

However, if by "quantum physics" you mean quantum field theory and particle physics (i.e. highenergy physics) then these simulations tends to be things like lattice gauge theory and such. For this you still can't go wrong with C++ and FORTRAN but I feel like there are a lot more libraries that have developed over the decades. In other words, you are less likely to write completely new code and more likely to cobble together codes that others have written and train them to a new situation. In such a case the actual language you use matters little unless you actually want to change these libraries in which case you need to know the programming language they were written in (often something awful like FORTRAN 77). 


Register to reply 
Related Discussions  
Do I need Classical mechanics and waves in order to understand Quantum mechanics????  Academic Guidance  22  
hydrogen atom obeying classical mechanics rather than quantum mechanics  Introductory Physics Homework  6  
Bad programming skills = biggest hurdle to astronomy research  Astrophysics  33  
A Quantum programming language  Quantum Physics  0  
suggestion about research object(quantum mechanics)  Quantum Physics  2 