TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Physics, Algorithms and Programming - How to approach?

3 pointsby pfannerabout 13 years ago
Hello HN, I'm a physics student diving into his second year and in 1 year I'll probably start my bachelor thesis. The topic I'd like to dive into in more detail is Nonlinear Dynamics and Complex Systems (for my bachelor thesis and my future in physics). I think it has a lot to do with programming and finding good algorithms. I have some programming experience (PHP, Javascript, little Python) but I would not call myself a good programmer. I just lack too much knowledge about computer science. I'd really like to change that and prepare for the future with 2-3 books on the topic so that I won't end up as a physicist doing his programming stuff in Fortran.<p>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.<p>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?

4 comments

drostieabout 13 years ago
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.<p>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:<p><pre><code> http://mitpress.mit.edu/SICM/book.html </code></pre> You might also look up the textbook <i>Computational Physics</i> 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.
EzGraphsabout 13 years ago
The R language (<a href="http://www.r-project.org/" rel="nofollow">http://www.r-project.org/</a>) might lend itself well to your more intense mathematical demands. There are packages with specific to some of your concerns (e.g. Nonlinear Dynamics: <a href="http://cran.r-project.org/web/packages/tsDyn/" rel="nofollow">http://cran.r-project.org/web/packages/tsDyn/</a>).<p>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.
doc4tabout 13 years ago
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.<p><a href="http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844" rel="nofollow">http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...</a>
pfannerabout 13 years ago
Thanks, you helped me a lot.