古典力学を見通しよくするための方法に解析力学がある。解析力学では、変分問題の一つである最小作用の原理(ハミルトンの原理)を指導原理として要請する。変分とは何か、汎関数とは何か、一歩一歩考えながら、有限自由度の系に対して、最小作用の原理からオイラー・ラグランジュ方程式を導くことを本稿では目指す。
最小作用の原理
系の性質を決定づける量にラグランジアン$ L(q,\dot{q},t) $がある。ここで、$t$は時間変数とし、$ q = \left\{ q_i(t) \right\} (i=1,2・・・,N) $ は全ての力学変数をまとめて表している。$N$ は力学変数の個数であり自由度と呼ばれる。$\dot{q} = \left\{ \dot{q_i}(t) \right\} (i=1,2・・・,N) $ は、全ての力学変数の時間微分をまとめたものである。
ラグランジアンを時間で積分した量
S[q] = \int^{t_a}_{t_b} dt L(q,\dot{q},t)
は力学変数の汎関数であり、これを作用(作用積分)と呼び、
作用が停留値を持つ要請を最小作用の原理と呼ぶ。
また、この要請は次のように、
\delta S[q] = 0
作用の変分が$0$という形でも表現される。
以降では、まず、汎関数・変分についてまとめながら、 $ \delta S[q] = 0 $ と停留条件が本当に等価であるか確かめてみる(自明だろ!というツッコミは待っていただきたい)。
汎関数とは
汎関数は、「関数の関数」と呼ばれたりするが、もうちょっと真面目に述べると「関数から実数への写像」である。$F$に関数$x(t)$を与えると、$F[x]$という数値が得れるとする。この$F$が汎関数である。
例えば、
F[x] = \int^{a}_{b} dt f( x(t) , t )
F[x] = x(0) = \int^{a}_{b} dt x(t) \delta (t) \ \ \ (a < 0 < b)
これらは汎関数である。
変分とは
汎関数の引数である関数の微小変化、
x(t) \rightarrow x(t) + \delta x(t)
または、その関数の微小変化による汎関数の微小変化
\delta F = F[x(t) + \delta x(t)] - F[x]
を変分という。
作用原理の一つの表現では、後者(汎関数の微小変化)が出てきていた。この量に注目してみよう。
汎関数の微小変化と汎関数微分
汎関数の微小変化を、多変数関数の微小変化の拡張として考えることができる。
そのために、汎関数の微小変化と汎関数微分の関係を次のように定義する。
関数$x(t)$を
x(t) \rightarrow x(t) + \delta x(t)
とわずかに変化させたときに、汎関数$F[x]$の微小変化(の一次)は、
\delta F = F[x(t) + \delta x(t)] - F[x] = \int dt \frac{\delta F}{\delta x} \delta x(t)
である、と書いたときの
\frac{\delta F}{\delta x}
を汎関数微分と呼ぶ。これは一般に$t$の関数となる。
右辺にも$ \delta F $が入り込んでいて奇妙に見えるが、これは標記の問題である。ひとまずは、汎関数の微小変化と汎関数微分どちらを指しているかを、理解していれば問題ないだろう。
さて、次に多変数関数$f(x_1, x_2, ..., x_n)$の微小変化を考える。
変数$x_i (i=1,2・・・,N)$を
x_i \rightarrow x_i + d x_i
とわずかに変化させたときの、多変数関数の微小変化(の一次)は、
df = f(x_1 + d x_1, ... ,x_n + d x_n ) - f(x_1, x_2, ..., x_n) = \sum^{n}_{i=1} \frac{\partial f}{\partial x_i} d x_i
で与えられた。
現在、$f(x_1, x_2, ..., x_n)$は、$n$個の有限個の変数を引数としていたが、もし実数$t$をラベルとする無限個の変数を引数とすれば、多変数関数の微小変化は、
df = \int dt \frac{\partial f}{\partial x_t} d x_t
$\sum$が$\int$となり、このように書ける。汎関数の微小変化と汎関数微分の関係と同じ形である。
これが、汎関数の微小変化を多変数関数の微小変化の拡張として考えることができる理由である。
汎関数の停留条件
多変数関数の微分を引き合いに、話をつづける。多変数関数$f(x_1, x_2, ..., x_n)$が停留値を持つ条件は、
\frac{\partial f}{\partial x_i} = 0
が全ての$i$で成り立つことである。
では、汎関数$F[x]$ではどうなるだろうか。
もちろん
\frac{\delta F}{\delta x} = 0
である。
ここで、最小作用の原理を思い出してみよう。作用が停留値(最小値ではない)を持つ要請であったはずだ。
それゆえ、
\frac{\delta S}{\delta q} = 0
汎関数微分 $=0$ が最小作用の原理の意味することと言える。
この結果と汎関数の微小変化と汎関数微分の関係、
\delta S = S[x(t) + \delta x(t)] - S[x] = \int dt \frac{\delta S}{\delta x} \delta x(t)
から、最小作用の原理のもう一つの表現、
\delta S[q] = 0
が得られる。
加えて、この逆、「$汎関数の変分 = 0$」から「$汎関数微分=0$(停留条件)」も、汎関数の微小変化と汎関数微分の関係より、導ける。ちゃんとこの二つは同等の主張だと確かめることができた。
冒頭で、停留とは、引数となる関数を僅かに動かしても「$汎関数の変分 = 0$」になる状況だろうと言われてしまったら、「$汎関数微分=0$」を経由する必要がなかった。わざわざ、汎関数微分を紹介したのは、変分問題の解を求めるためには、結局のところ「$汎関数の変分 = 0$」も「$汎関数微分=0$」の形に持っていく必要があるからである。この都合は、多変数関数の停留値を求めるときと同様である。
そこで、次は、汎関数微分の計算方法について説明する。
汎関数微分の計算方法
汎関数微分を計算する際に、もし汎関数$F[x]$の中に$x(t)$の$t$微分が現れないなら、汎関数$F[x]$を普通の変数のように微分してよい。
例えば、
F[x] = \int^{a}_{b} dt \frac{x(t)^{2}}{2} = \int^{a}_{b} dt f(x(t))
であれば、
\frac{\delta F}{\delta x} = \frac{df(x(t))}{dx} = x(t) \\
\delta F = \int^{a}_{b} dt x(t) \delta x(t)
となる。
一方で、汎関数$F[x]$が$x(t)$の$t$微分$\dot x(t)$を含む場合は、そう上記のように単純ではない。$\delta x(t)$が、$\dot x(t)$に及ぼす影響を考えなければならない。特に、汎関数が$F[x] = \int^{t_a}_{t_b} dt L(x,\dot{x},t)$の形で(つまり作用と同じ形)与えられる場合が有名である。
$ F[x] = \int^{t_a}_{t_b} dt L(x,\dot{x},t)$ の「$汎関数微分=0$」を考えると、変分問題はオイラー・ラグランジュ方程式という微分方程式の解を求める問題に帰着できる。この結果を次に示そう。
オイラー・ラグランジュ方程式
汎関数$F[x] = \int^{t_a}_{t_b} dt L(x,\dot{x},t)$を相手に汎関数微分を求める。変分は、
\delta F = \int^{t_a}_{t_b} dt \left( L(x+ \delta x , \frac{d}{dt}(x+\delta x) , t ) - L(x,\dot{x} ,t ) \right)
であるので、微小変化させた$L(x,\dot{x},t) $のテイラー展開を考える。
L(x+ \delta x , \frac{d}{dt}(x+\delta x) ,t ) \\
= L(x+\delta x , \dot{x}+\delta \dot{x} ,t ) ただし、\frac{d}{dt} \delta x = \delta \dot{x} \\
= L(x,\dot{x},t) + \frac{\partial L}{\partial x} \delta x + \frac{\partial L}{\partial \dot{x}} \delta \dot{x} +O(\delta x ^2)
ゆえに、2次以降を無視して(停留条件には入ってこない)
\delta F = \int^{t_a}_{t_b} dt \left( \frac{\partial L}{\partial x} \delta x + \frac{\partial L}{\partial \dot{x}} \delta \dot{x} \right) \\
= \int^{t_a}_{t_b} dt \left( \frac{\partial L}{\partial x} \delta x - \frac{d}{dt} \left( \frac{\partial L}{\partial \dot{x}} \right) \delta x \right) + \biggl[ \frac{\partial L}{\partial \dot{x}} \delta x \biggr]^{t_a}_{t_b} \\
= \int^{t_a}_{t_b} dt \left( \frac{\partial L}{\partial x} - \frac{d}{dt} \left( \frac{\partial L}{\partial \dot{x}} \right) \right) \delta x
となる。二行目では、部分積分を行い、三行目では、$\delta x $ or $\frac{\partial L}{\partial \dot{x}} $が積分の境界$(t = t_a,t_b ) $で$0$であるという条件を課した。
これにより、我々は、作用の変分を汎関数微分が表れている $ \delta F= \int dt \frac{\delta F}{\delta x} \delta x $ という形にまとめることができた。つまり、作用に対応する汎関数微分の形を知ることができた。
さて、汎関数に関して考えるきっかけになった最小作用の原理をこの結果に適用してみよう。
汎関数$F[x] = \int dt L(x,\dot{x},t)$を考えた際に、$汎関数微分 = 0$ の条件は、
\frac{\delta F}{\delta x} = \frac{\partial L}{\partial x} - \frac{d}{dt} \left( \frac{\partial L}{\partial \dot{x}} \right) = 0
となる。
これが、オイラー・ラグランジュ方程式である。
解析力学の本では多くの場合、いきなりこの節で行った作用の変分の変形を行い、オイラー・ラグランジュ方程式を求めている。汎関数の変分が $0$ であることと汎関数微分が $0$ であることは等価であるが、汎関数微分が表れる形に式変形を進めていることにはあまり言及がなされていない。頭の片隅に留めておいても良いと思う。
補足1
$\dot{x}$は$x$により決まるのに、上記のテイラー展開を行っていいのかという疑問を持つ方もいると思うが、そのような心配はいらない。あくまで、テイラー展開では、ラグランジアンの$x$や$\dot{x}$の依存性を調べているだけである。別の言い方をすれば、$\delta x$による微小変化の影響を、$\dot{x}$と$x$に分けているだけである。懸念されている $\dot{x}$と$x$の関係は、微小変化の関係として、$ \frac{d}{dt} \delta x = \delta \dot{x} $ につまっているのである。
補足2
この節では、力学変数が一つの場合に、最小作用の原理からオイラー・ラグランジュ方程式を導いた。力学変数をN個に増やしても、それらの力学変数は独立であるので、力学変数が一つの場合と同様に簡単に導出できる。
まとめ
最小作用の原理における作用停留の条件は、汎関数の微小変化または汎関数微分が$0$であることを意味していた。汎関数の微小変化と汎関数微分の関係は、多変数関数の微小変化と偏微分の関係の拡張と見られることがわかった。このことから、「$汎関数微分 = 0$」が停留条件であることが自然に思えるはずである。そして、汎関数微分が表れるように作用積分を変形すると、「$汎関数微分 = 0$」の条件は、オイラー・ラグランジュ方程式に相当することが導出できた。
以上