 Quote by rshalloo
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!
|
Well "quantum physics" isn't actually a field. People work on the foundations and interpretation of quantum mechanics (but they don't use computers), however, the science/math has basically been done for about 60 years. Condensed Matter is the largest field of physics (according to the American Physical Society) and concerns the *emergent* phenomena that occur in system of MANY quantum mechanical particles. Specifically how individual quantum mechanical particles cooperate to make phase of matter with drastically different properties, from superconductors to Bose-Einstein condensates, metals to semiconductors. This is a field which uses a lot of computing (in fact I work in computational condensed matter). Generally, the only options for hardcore computations are FORTRAN or C++. However, for lighter computations (i.e. if you're not actually trying to simulate larger systems than anyone has before or some such but just want to use some standard techniques for, say, a new type of system) then people use things like Python, Java and MATLAB along with some pretty advanced libraries for numerical computation (like BLAST)
However, if by "quantum physics" you mean quantum field theory and particle physics (i.e. high-energy 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).