Ask HN: Physics, Algorithms and Programming - How to approach?
4 comments
In my Master's work I'm using NumPy and SciPy, which are Python packages to do very fast numerics, but there is indeed a lot of Fortran, and there's also a lot of Mathematica.
It's not completely related, but the idea of expressing complicated physics ideas in simpler code form has been handled in Scheme in the book Structure and Interpretation of Classical Mechanics, free to read from here:
It's not completely related, but the idea of expressing complicated physics ideas in simpler code form has been handled in Scheme in the book Structure and Interpretation of Classical Mechanics, free to read from here:
http://mitpress.mit.edu/SICM/book.html
You might also look up the textbook Computational Physics by J.K. Thijssen (full disclosure: I am working underneath this professor at the TU Delft), but it's not quite for your particular niche -- I don't think in my physics education proper I was ever really taught about chaos or bifurcation diagrams or solitons, except to mention that it existed.The R language (http://www.r-project.org/) might lend itself well to your more intense mathematical demands. There are packages with specific to some of your concerns (e.g. Nonlinear Dynamics: http://cran.r-project.org/web/packages/tsDyn/).
That said, R is sort of a quirky language in some respects and does not tend to encourage as disciplined approach to software engineering as a language like Python.
That said, R is sort of a quirky language in some respects and does not tend to encourage as disciplined approach to software engineering as a language like Python.
Introduction to Algorithms by Cormen et al would be a good place to start if you're going the theoretical way. Very mathmatical and not so practical - I read this myself at uni and I learned a ton.
http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...
http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...
Thanks, you helped me a lot.
Right now, I'm attending the Stanford "Design and Analysis of Algorithms I" online class to get a first introduction to algorithms, but that's not enough for me.
I'm asking you what is the best approach in my case to become a better programmer with application to physics, especially nonlinear dynamics and complex systems?