Structure and Interpretation of Classical Mechanics (mit.edu) 89 points by octatoan on May 17, 2015 | hide | past | web | favorite | 20 comments

 I found this one of the most useful books I've read, but less so for the physics (which was mostly an intellectual curiosity), and more so for understanding how to write good code.In it, Sussman shows you how to:* Write a Lagrangian* Symbolically convert it into Lagrange's Equations* Compile those into native code* Numerically integrate the with an optimized numerical algorithm to get a path of motion.And all of this, with beautiful, clean, concise, simple code.A-fing-mazing.
 previous submissions with discussions:https://news.ycombinator.com/item?id=6947257
 I love love love this book. Its explanations are wonderful and for someone deeply entrenched in CS like me it is a great approach to learning modern classical mechanics.
 I've read somewhere that the Lagrangian approach was too computationally intensive; leading to explosion of possible paths and dimensions. Anyone can confirm ?
 Too computationally intensive for what?The Lagrangian approach is kinda great. If you can describe the potential energy and the kinetic energy of a system as two functions of whatever variables, Lagrangian mechanics allows you to derive the differential equations that govern the evolution of that system for free.There's absolutely zero fucking around with forces, torques, etc. to get yourself a set of equations with which to model system behavior. You do have to add one constraint equation for every constraint on the system, but this is way easier than trying to formulate a set of differential equations that just happens to satisfy an arbitrary set of constraints.I don't know of a reason why Lagrangian mechanics would tie one to a particular algorithm or class of algorithm; pretty much no matter how you do it, if you're modeling a mechanical system, you're solving some differential equations in one way or another.TL:DR; can't confirm at this time
 But doesn't it have a hard time with coulomb friction, since you can only work with conservative fields/forces? A quick search confirms you have to use a bolted-on "dissipation function".
 Correct. In contrast to Newtonian mechanics, Lagrangians and Hamiltonians completely describe essentially all fundamental laws of physics -- including things like quantum and relativity.However, they are cumbersome to work with for some complex, compound phenomena, such as friction.
 In the case of classical mechanics, the Lagrangian approach leads to exactly the same equations. The reason to learn it is that the Lagrangian approach generalizes and is used in nearly all physics[1].
 Calculus of variations is also pretty much a requirement if you want to dive into geometry.
 For numeric solving, perhaps. This book is focused on symbolic computation.
 Discrete Lagrangians are actually a really fun way to derive various structure preserving integrators. Define your Lagrangian at discrete time steps, then just take some derivatives (no need for calculus of variations due to the discretization in time) and watch time integration methods fall into your lap. This is a nice approach as it makes it really obvious what discrete equivalents of your continuous system are conserved.
 How much of a math background do you need to understand it?
 at least a couple years of calculus and linear algebra
 Is there a solutions manual available for this book? I couldn't find any mention of one on the MIT Press website, and a quick Google search wasn't helpful.
 It looks like the result of combining the first volume of http://en.wikipedia.org/wiki/Course_of_Theoretical_Physics with SICP.
 Is anybody familiar with any Scheme notebooks preferably with math.js or something similar?
 Frankly I find it uninteresting because it doesn't talk much about chaos, which is the normal condition of classical mechanics. You certainly can model aspects of resonance with classical perturbation theory, but the most remarkable think about classical perturbation theory is that it doesn't work very well.
 Yes it does. I'm confused why you believe it doesn't....