長さ \ell の糸におもりを吊るした振り子を考えます。支点を原点にとると、おもりの位置は 2 つの数 x と y で表せます。図の破線がその 2 つです。
ところが糸の長さが決まっているので、x と y はいつも x^2 + y^2 = \ell^2 を満たします。おもりが支点より下にあれば、x を決めると y も 1 つに決まり、2 つを別々に変えることはできません。このように、座標のあいだに課される条件を拘束と呼びます。
独立に変えられる座標の数を自由度と呼びます。この振り子の自由度は、座標の数 2 から拘束の数 1 を引いて 1 です。一般に、N 個の質点が空間を動くとき、座標は 3N 個あり、拘束の式が k 個あれば、自由度は 3N - k になります。
平面の上で振れる二重振り子は、おもり 2 つの座標が 4 つ、糸の長さの拘束が 2 つで、自由度は 2 です。剛体は、どの 2 点のあいだの距離も変わらないという拘束のため、たくさんの質点でできていても自由度は 6 で、重心の位置に 3 つ、向きに 3 つです。
x と y のまま運動方程式を書くと、おもりには重力のほかに糸の張力が働きます。張力の大きさは振れの角と速さによって時刻ごとに変わり、はじめはわかりません。振れ方だけを知りたいのに、張力も一緒に求めなければならなくなります。
真下から測った糸の角を \theta とすると、おもりの位置は x = \ell\sin\theta、y = -\ell\cos\theta です。\theta がどんな値でも x^2 + y^2 = \ell^2 は成り立つので、\theta 1 つで振り子の配置が決まります。
このように、自由度の数だけ選んだ互いに独立な座標を一般化座標と呼び、q_1, q_2, \dots と書きます。長さでなくても、角でもかまいません。q_1 が長さで q_2 が角というように、単位がそろっていなくてもかまいません。
一般化座標で書くと、拘束の式は残りません。\theta をどう選んでも拘束が満たされているからです。拘束を保つために働く糸の張力も、運動方程式に現れなくなります。張力はいつもおもりの動く向きと直角に働くので、おもりに仕事をせず、エネルギーの式に入らないためです。
一般化座標の選び方は 1 通りではありません。振り子なら、角 \theta のかわりに、真下の点から円に沿って測った長さ s = \ell\theta を使うこともできます。どちらを選んでも同じ運動が求まることは、最後の場面で確かめます。
一般化座標を使って力学全体を書いたのは、1788 年に出たラグランジュの『解析力学』です。序文には、この本には図が 1 つもなく、すべてが決まった手順の計算で進む、と書かれています。
おもりは半径 \ell の円の上を動くので、速さは \ell\dot\theta で、運動エネルギーは T = m\ell^2\dot\theta^2/2 です。高さは支点から測って -\ell\cos\theta なので、位置エネルギーは U = -mg\ell\cos\theta です。L = T - U に入れると、図の式 L = m\ell^2\dot\theta^2/2 + mg\ell\cos\theta になります。
図の下の 2 つの数は、質量、重力加速度、糸の長さを 1 としたときの T と U です。薄く描いた 2 本は振れの端の位置で、そこでは T = 0、U = -0.939 です。真下を通るときは T = 0.061、U = -1.000 です。
T と U の和はどちらでも -0.939 で、運動のあいだ変わりません。一方、作用に入る差 T - U は、振れの端で 0.939、真下で 1.061 と、時刻によって変わります。
ここで使ったのは、速さと高さを \theta で書き直したことだけです。ニュートンの運動方程式で解くなら、重力と張力を糸の向きと円の接線の向きに分け、接線の向きの成分を取り出す必要があります。ラグランジアンは向きを持たないエネルギーだけでできているので、力を成分に分ける手間がありません。
オイラー–ラグランジュ方程式は、q を \theta にかえるだけで、そのまま使えます。\partial L/\partial \dot\theta = m\ell^2\dot\theta、\partial L/\partial \theta = -mg\ell\sin\theta なので、m\ell^2\ddot\theta = -mg\ell\sin\theta、つまり \ddot\theta = -(g/\ell)\sin\theta が得られます。図の 3 行目です。
m\ell^2 は支点のまわりの慣性モーメント、-mg\ell\sin\theta は重力が支点のまわりに作る力のモーメントで、この式は回転の運動方程式と同じ形です。\partial L/\partial \dot\theta = m\ell^2\dot\theta は、支点のまわりの角運動量になっています。
振れが小さいときは \sin\theta \approx \theta なので、\ddot\theta = -(g/\ell)\theta となり、角振動数 \sqrt{g/\ell} の単振動です。周期は 2\pi\sqrt{\ell/g} で、振れ幅によりません。長さ 1 m の振り子なら、g = 9.8 m/s² として周期は約 2.0 秒です。
図の振り子の振れ幅は 0.35 rad、およそ 20° です。このとき \sin\theta と \theta の差は最大で 2% ほどで、本当の周期は単振動の周期より 0.77% 長くなるだけです。
座標を選び直しても、同じ方程式が使えます。円に沿った長さ s = \ell\theta を座標にすると L = m\dot s^2/2 + mg\ell\cos(s/\ell) で、方程式は m\ddot s = -mg\sin(s/\ell) になります。s = \ell\theta を入れて両辺を m\ell で割ると、\theta で書いた式と一致します。
ニュートンの運動方程式は、直交座標でなければ m\ddot x = F_x の形になりません。平面の極座標 r、\theta では、加速度の r 方向の成分は \ddot r - r\dot\theta^2 で、\ddot r だけではありません。オイラー–ラグランジュ方程式は、どの一般化座標でも同じ形で成り立ちます。この性質を共変性と呼びます。