I LOVE this book. I've had a hard copy for years. I always felt kind of lonely, though - it's such a niche topic that I had trouble finding anyone else interested enough to actually work through it :) So it's great to see it on the front page of HN.<p>Its software, scmutils, includes an emacs-like editor and execution environment called Edwin. Here's an oooold blog post I wrote about using GNU Emacs with scmutils instead:
<a href="http://ai.redsymbol.net/2007/06/using-gnu-emacs-with-scmutils.html" rel="nofollow">http://ai.redsymbol.net/2007/06/using-gnu-emacs-with-scmutil...</a>
I really like the idea of introducing classical mechanics and methods of numerical solution alongside one another. I do feel that physics at the undergraduate level fetishizes pencil and paper to the detriment of understanding how complex a classical system really can be.<p>I am also ecstatic about the choice of not-Fortran for representing the algorithms.<p>Makes me tempted to try and write a "Structure and Interpretation of Neutron Transport"
> The dimension of the configuration space of the juggling pin is six: the minimum number of parameters that specify the position in space is three, and the minimum number of parameters that specify an orientation is also three.<p>Can somebody explain this? Isn't the number of parameters that specify an orientation two, totaling five?<p>Pick two atoms in the pin and specify the location of one atom. Now the other atom can only be located on a sphere around the first atom. The sphere is a 2d surface for which you need two parameters.<p>Another problem is that you can encode two real numbers into one, for example by interleaving digits. So you could specify the entire pin with one real number. What exactly is the problem here and how can you eliminate it? You need to impose more conditions than simply continuity, because you can make a continuous bijection [0,1] <-> [0,1]^2?<p>I really like the approach of this book. I often don't feel like I understand (or even know what there is to understand) something until I code a program for it. For example you understand collisions if you can write a program that given an initial configuration of polygons at t=0, gives the configuration at later time. If you don't do this then you don't know exactly what you understand. Perhaps you understand collisions of point masses, but not general collisions.
I also once took the course on which this book is based at MIT. A programmer by trade at the time, I found out a bit more about my learning style. Namely, I was able to relatively easily complete the assignments without developing a very deep understanding of classical mechanics along the way. It was only later in physics graduate school, and after semesters of doing calculations by hand, that I was able to put my previous work in a larger context. I'd love to revisit the course with that new perspective and a bit more time than that haggered MIT student of yore. In summary I'd echo another poster's comment that "it's liberating to have unambiguous notation but it doesn't replace intuition".
I once took the MIT class on which this book is based:
<a href="http://groups.csail.mit.edu/mac/users/gjs/6946/index.html" rel="nofollow">http://groups.csail.mit.edu/mac/users/gjs/6946/index.html</a><p>If anyone's interested, my problem sets solutions are here: <a href="http://www.cag.csail.mit.edu/~namin/mechanics/" rel="nofollow">http://www.cag.csail.mit.edu/~namin/mechanics/</a><p>The class was definitely out of my comfort zone in terms of the physics, but I loved the scheme system that allowed us to focus on the concepts, and leave the grunge to the computer. It's liberating to have an unambiguous notation, but it doesn't replace intuition.
I'd like to point out that, in addition to SICM and SICP, there is also a SIQM - Structure and Interpretation of Quantum Mechanics.<p>Always hoped there were going to be more of these books.