Skip to main content

The Calculus of Variations and Hamilton's Principle from the Top Down

This installment of “It’s Obvious. Not!” looks at:

Book: “Classical Dynamics of Particles and Systems”

Edition: third

Authors: Jerry B. Marion and Stephen T. Thornton

Publisher: Harcourt Brace Jovanovich

Page: 172-177

Chapter Five in the third edition is titled "The Calculus of Variations" The book does a great job of giving a very detailed bottom-up derivation of Euler's equation and a second form of Euler's equation. I had a much easier time with the material once I figured out that Euler's equation was actually the goal of the derivation and how Euler's equation is used. Since the top-down view made things simple for me, I decided to post it here for other top-down thinkers.

Chapter five is simply building a set of tools to be used in chapter six with regard to Hamilton's Principle and Lagrangian mechanics. So, maybe the first question should be, 'Why are Hamilton's Principle and Langrangian mechanics important?'

Newtonian Mechanics essentially says that given information about all the forces acting on a system, the equations of motion can be derived for that system. It doesn't, however, say that the derivation will be easy. Especially in systems where there are forces due to constraints, (a particle moving on the surface of a sphere for example), the derivation can be quite complex.

Very broadly stated, Hamilton's Principle says that given two states of a physical system, nature will choose the allowable path between the two states that minimizes the time integral of the difference between the potential and kinetic energies of the two states. As it turns out, this alternate view of mechanics makes solving for the equations of motion of constrained systems much simpler in some cases. But this alternative view leads to finding equations, y(x), that minimize integrals that look like:

where f depends on x, y as a function of x and y prime, the first derivative of y with respect to x.

The book launches into a rather detailed and abstract derivation regarding varying y(x) to find a maximum or minimum value for the above integral. It's easy to get caught up in the derivation and wander off into the weeds, and I did. But, the derivation is headed somewhere. It turns out that if you have a y(x) that will produce a max or min of the integral, then it obeys Euler's equation:

And that's the real crux of the matter! If you wind up with an integral in the form of
rather than actually solving the integral equation, you can plug f into Euler's equation and solve the resulting differential equation to find the y(x) that produces a minimum.

The book presents a concrete example where the minimum of the integral:

is found by substituting f:
into Euler's equation. I'll cover that example in more detail in my next post. But, for now I just wanted to reveal the point of the rather lengthy initial derivation from the book. Euler's equation makes solving integral equations of the form shown above simpler!


Popular posts from this blog

Cool Math Tricks: Deriving the Divergence, (Del or Nabla) into New (Cylindrical) Coordinate Systems

Now available as a Kindle ebook for 99 cents! Get a spiffy ebook, and fund more physics
The following is a pretty lengthy procedure, but converting the divergence, (nabla, del) operator between coordinate systems comes up pretty often. While there are tables for converting between common coordinate systems, there seem to be fewer explanations of the procedure for deriving the conversion, so here goes!

What do we actually want?

To convert the Cartesian nabla

to the nabla for another coordinate system, say… cylindrical coordinates.

What we’ll need:

1. The Cartesian Nabla:

2. A set of equations relating the Cartesian coordinates to cylindrical coordinates:

3. A set of equations relating the Cartesian basis vectors to the basis vectors of the new coordinate system:

How to do it:

Use the chain rule for differentiation to convert the derivatives with respect to the Cartesian variables to derivatives with respect to the cylindrical variables.

The chain rule can be used to convert a differe…

Division: Distributing the Work

Our unschooling math comes in bits and pieces.  The oldest kid here, seven year-old No. 1 loves math problems, so math moves along pretty fast for her.  Here’s how she arrived at the distributive property recently.  Tldr; it came about only because she needed it.
“Give me a math problem!” No. 1 asked Mom-person.

“OK, what’s 18 divided by 2?  But, you’re going to have to do it as you walk.  You and Dad need to head out.”

And so, No. 1 and I found ourselves headed out on our mini-adventure with a new math problem to discuss.

One looked at the ceiling of the library lost in thought as we walked.  She glanced down at her fingers for a moment.  “Is it six?”

“I don’t know, let’s see,” I hedged.  “What’s two times six?  Is it eighteen?”

One looked at me hopefully heading back into her mental math.

I needed to visit the restroom before we left, so I hurried her calculation along.  “What’s two times five?”

I got a grin, and another look indicating she was thinking about that one.

I flashed eac…

The Javascript Google URL Shortener Client API

I was working with the Google API Javascript Client this week to shorten the URLs of Google static maps generated by my ham radio QSL mapper. The client interface provided by Google is very useful. It took me a while to work through some of the less clear documentation, so I thought I'd add a few notes that would have helped me here. First, you only need to authenticate your application to the url shortener application if you want to track statistics on your shortened urls. If you just want the shortened URL, you don't need to worry about this. The worst part for me was that the smaple code only showed how to get a long url from an already shortened rul. If you follow the doucmentaiotn on the insert method, (the method for getting a shortened url from a long one), there is a reference to a rather nebulous Url resource required argument. It's not at all clear how to create one of these in Javascript. The following example code shows how:
var request = gapi.clie…