解析力学から様々な理論分野を組み立てる 第1部 第3章 §1.3.1 ★★★ 1変数・多変数の極値問題と同じ問いを、関数を変数にして立て直す
解析力学は、運動の法則を「ある量が停留する」という形で書き直す。その量は作用 S [ q ] = ∫ t 1 t 2 L d t S[q]=\int_{t_1}^{t_2}L\,\mathrm{d} t S [ q ] = ∫ t 1 t 2 L d t で、経路 q ( t ) q(t) q ( t ) を1本入れると数が1つ返ってくる。普通の微分積分で扱う関数 f ( x ) f(x) f ( x ) は数を入れて数を返すが、作用は関数を丸ごと入れて数を返す。この違いのせいで、「作用を経路で微分する」「経路をずらす δ q \delta q δ q 」といった言い回しが、普通の微分の言葉のままでは意味が定まらない。この章では物理の内容には立ち入らず、この言い回しに数学の意味を与える。
この章で作る道具は4つある。1つ目は汎関数 (関数を入れて数を返すもの)という見方で、1変数・多変数の極値問題と並べて導入する。2つ目は離散化 で、経路を有限個の点の値で表すと汎関数はただの多変数関数になり、多変数の微分の知識がそのまま使える。3つ目は変分 δ \delta δ で、経路を1つの実数 ϵ \epsilon ϵ でずらした族を作り、ϵ \epsilon ϵ で普通に微分する操作として定義する。これで δ \delta δ と微分 d \mathrm{d} d の違い、δ \delta δ と d / d t \mathrm{d}/\mathrm{d} t d / d t を入れ替えてよい理由がはっきりする。4つ目は汎関数微分 δ F / δ q ( t ) \delta F/\delta q(t) δ F / δ q ( t ) で、多変数関数の偏微分 ∂ f / ∂ x i \partial f/\partial x_i ∂ f / ∂ x i の添字 i i i を連続の t t t に置き換えたものにあたる。最後に、すべての方向への変分が 0 0 0 になる条件(停留)が「汎関数微分 = 0 =0 = 0 」と同じであることを変分法の基本補題 で示し、停留が最小とは限らないことを2次の変分で確かめる。
一般の被積分関数 L ( q , q ˙ , t ) L(q,\dot q,t) L ( q , q ˙ , t ) について停留の条件を書き下したものが Euler–Lagrange 方程式で、その導出と、端を固定しないときの境界条件は次の章(第1部第4章 )で扱う。この章では具体的な汎関数だけを相手にして、道具の意味を固めることに専念する。
1変数と多変数の極値問題
出発点は高校以来の極値問題である。x 0 x_0 x 0 から少し動かした f ( x 0 + h ) = f ( x 0 ) + f ′ ( x 0 ) h + O ( h 2 ) f(x_0+h)=f(x_0)+f'(x_0)h+\mathcal{O}(h^2) f ( x 0 + h ) = f ( x 0 ) + f ′ ( x 0 ) h + O ( h 2 ) では、1次の項が h h h の符号によって増減の向きを変えるので、滑らかな関数 f ( x ) f(x) f ( x ) が x 0 x_0 x 0 で極値をとるなら f ′ ( x 0 ) = 0 f'(x_0)=0 f ′ ( x 0 ) = 0 が成り立つ。f ′ ( x 0 ) ≠ 0 f'(x_0)\neq0 f ′ ( x 0 ) = 0 なら、h h h を正と負のどちらかに選べば f f f を f ( x 0 ) f(x_0) f ( x 0 ) より小さくも大きくもできるので、x 0 x_0 x 0 は極値になりえない。f ′ ( x 0 ) = 0 f'(x_0)=0 f ′ ( x 0 ) = 0 を満たす点を停留点 と呼ぶ。極小・極大・変曲点のどれもが停留点になるので、停留は極値の必要条件にすぎない。
変数が N N N 個の関数 f ( x 1 , … , x N ) f(x_1,\dots,x_N) f ( x 1 , … , x N ) でも同じ考え方をする。動かす向きが1通りでなくなるので、向き h = ( h 1 , … , h N ) h=(h_1,\dots,h_N) h = ( h 1 , … , h N ) を1つ決め、その向きに実数 ϵ \epsilon ϵ だけ動かした f ( x + ϵ h ) f(x+\epsilon h) f ( x + ϵ h ) を ϵ \epsilon ϵ の1変数関数として微分する。
d d ϵ f ( x + ϵ h ) ∣ ϵ = 0 = ∑ i = 1 N ∂ f ∂ x i h i . (1.3.1) \frac{\mathrm{d} }{\mathrm{d} \epsilon}f(x+\epsilon h)\Big|_{\epsilon=0}=\sum_{i=1}^N\frac{\partial f}{\partial x_i}h_i .\tag{1.3.1} d ϵ d f ( x + ϵ h ) ϵ = 0 = i = 1 ∑ N ∂ x i ∂ f h i . ( 1.3.1 )
これを h h h 方向の方向微分 と呼ぶ。右辺は連鎖律から出る。x x x が停留点であるとは、すべての向き h h h について方向微分が 0 0 0 になることで、h h h に各座標軸の向きを順に入れれば、これは ∂ f / ∂ x i = 0 \partial f/\partial x_i=0 ∂ f / ∂ x i = 0 (i = 1 , … , N i=1,\dots,N i = 1 , … , N )と同じ条件になる。この章では、「1つの向きを決めて実数1つで動かし、普通に微分する」という同じ手順を関数の空間で行う。
汎関数
定義 1.3.1(汎関数)
区間 [ t 1 , t 2 ] [t_1,t_2] [ t 1 , t 2 ] 上の滑らかな関数 q ( t ) q(t) q ( t ) の集まりを考える。そこに属する関数 q q q を1つ入れるたびに実数を1つ返す対応 F F F を汎関数 と呼び、その値を角括弧で F [ q ] F[q] F [ q ] と書く。
角括弧は「関数 q q q 全体を入れる」ことを示す。F [ q ] F[q] F [ q ] は特定の時刻の値 q ( t ) q(t) q ( t ) だけでなく、区間全体での q q q のふるまいで決まる。これに対して、普通の関数の引数は丸括弧で書く。S [ q ] S[q] S [ q ] (作用)と S ( q , t ) S(q,t) S ( q , t ) (後の章で出る Hamilton の主関数)は、括弧で区別する。
典型的な汎関数を4つ挙げる。
F 1 [ q ] = ∫ t 1 t 2 q ( t ) 2 d t , F 2 [ q ] = q ( t 0 ) ( t 1 < t 0 < t 2 ) , ℓ [ y ] = ∫ x 1 x 2 1 + y ′ ( x ) 2 d x , S [ q ] = ∫ t 1 t 2 L ( q ( t ) , q ˙ ( t ) , t ) d t . \begin{align*}F_1[q]&=\int_{t_1}^{t_2}q(t)^2\,\mathrm{d} t, &
F_2[q]&=q(t_0)\quad(t_1<t_0<t_2),\tag{1.3.2}\\\ell[y]&=\int_{x_1}^{x_2}\sqrt{1+y'(x)^2}\,\mathrm{d} x, &
S[q]&=\int_{t_1}^{t_2}L\bigl(q(t),\dot q(t),t\bigr)\,\mathrm{d} t .\tag{1.3.3}\end{align*} F 1 [ q ] ℓ [ y ] = ∫ t 1 t 2 q ( t ) 2 d t , = ∫ x 1 x 2 1 + y ′ ( x ) 2 d x , F 2 [ q ] S [ q ] = q ( t 0 ) ( t 1 < t 0 < t 2 ) , = ∫ t 1 t 2 L ( q ( t ) , q ˙ ( t ) , t ) d t . ( 1.3.2 ) ( 1.3.3 )
F 1 F_1 F 1 は関数の2乗の面積、F 2 F_2 F 2 は1点での値を取り出すだけの汎関数で、これも「関数を入れて数を返す」ので汎関数に入る。ℓ [ y ] \ell[y] ℓ [ y ] は平面上の曲線 y ( x ) y(x) y ( x ) の長さで、1 + y ′ 2 d x \sqrt{1+y'^2}\,\mathrm{d} x 1 + y ′2 d x が線素 d x 2 + d y 2 \sqrt{\mathrm{d} x^2+\mathrm{d} y^2} d x 2 + d y 2 にあたる。S [ q ] S[q] S [ q ] は被積分関数 L L L が q q q ・q ˙ \dot q q ˙ ・t t t の普通の関数である汎関数で、解析力学の作用はこの形をしている。この章では L L L を物理の Lagrangian と結びつけず、「3つの数を入れて数を返す与えられた関数」とだけ考える。L = T − V L=T-V L = T − V という選び方の理由は 第1部第5章 で扱う。
汎関数の値は経路全体で決まるので、q q q と q ˙ \dot q q ˙ は L L L の中では独立な2つの変数として入るが、経路を1本決めると q ˙ ( t ) \dot q(t) q ˙ ( t ) は q ( t ) q(t) q ( t ) の導関数として決まる。L ( q , q ˙ , t ) L(q,\dot q,t) L ( q , q ˙ , t ) の偏微分 ∂ L / ∂ q \partial L/\partial q ∂ L / ∂ q は「q ˙ \dot q q ˙ と t t t を止めて q q q だけ動かす」偏微分で、経路の上で q q q を動かすと q ˙ \dot q q ˙ も一緒に動く、という事情とは別の話である。この区別は1.3.6 節で、教科書の書き方と並べてもう一度扱う。
汎関数の極値問題
変分問題 とは、端の値 q ( t 1 ) = q a q(t_1)=q_{\mathrm a} q ( t 1 ) = q a , q ( t 2 ) = q b q(t_2)=q_{\mathrm b} q ( t 2 ) = q b を決めた関数のうちで、汎関数 F [ q ] F[q] F [ q ] を最小(または停留)にするものを探す問題である。平面上の2点を結ぶ曲線のうち最も短いものを探す問題は、ℓ [ y ] \ell[y] ℓ [ y ] の変分問題になる。答えが線分であることは誰でも知っているが、それを「ℓ \ell ℓ の微分が 0 0 0 」という計算で出すには、関数を変数とする微分を定義する必要がある。多変数の場合の式 (1.3.1) を手本にすると、次の2つを決めればよい。1つは「関数 q q q を動かす向き」で、これは端で 0 0 0 になる関数 η ( t ) \eta(t) η ( t ) である(端の値を決めた問題なので、端は動かさない)。もう1つは「その向きに実数 ϵ \epsilon ϵ だけ動かした F [ q + ϵ η ] F[q+\epsilon\eta] F [ q + ϵη ] を ϵ \epsilon ϵ で微分する」ことで、これは普通の1変数の微分である。この2つを1.3.3 節で定義として書き、1.3.4 節で偏微分 ∂ f / ∂ x i \partial f/\partial x_i ∂ f / ∂ x i にあたるものを取り出す。その前に、汎関数をいったん普通の多変数関数に直して、この手順が多変数の微分そのものであることを1.3.2 節で確かめておく。
例題 1.3.1 2変数の停留点と方向微分 ★
オリジナル f ( x 1 , x 2 ) = x 1 2 + x 1 x 2 + x 2 2 − 3 x 1 f(x_1,x_2)=x_1^2+x_1x_2+x_2^2-3x_1 f ( x 1 , x 2 ) = x 1 2 + x 1 x 2 + x 2 2 − 3 x 1 について次に答えよ。
(1) 向き h = ( h 1 , h 2 ) h=(h_1,h_2) h = ( h 1 , h 2 ) の方向微分 d d ϵ f ( x + ϵ h ) ∣ ϵ = 0 \frac{\mathrm{d} }{\mathrm{d} \epsilon}f(x+\epsilon h)\big|_{\epsilon=0} d ϵ d f ( x + ϵ h ) ϵ = 0 を直接計算し、式 (1.3.1) の右辺と一致することを確かめよ。
(2) すべての向きで方向微分が 0 0 0 になる点を求め、そこでの f f f の値を求めよ。
(3) その点で f ( x + ϵ h ) f(x+\epsilon h) f ( x + ϵ h ) を ϵ \epsilon ϵ の2次まで展開し、どの向きに動かしても f f f が増えることを示せ。
解答 (1) f ( x + ϵ h ) = ( x 1 + ϵ h 1 ) 2 + ( x 1 + ϵ h 1 ) ( x 2 + ϵ h 2 ) + ( x 2 + ϵ h 2 ) 2 − 3 ( x 1 + ϵ h 1 ) f(x+\epsilon h)=(x_1+\epsilon h_1)^2+(x_1+\epsilon h_1)(x_2+\epsilon h_2)+(x_2+\epsilon h_2)^2-3(x_1+\epsilon h_1) f ( x + ϵ h ) = ( x 1 + ϵ h 1 ) 2 + ( x 1 + ϵ h 1 ) ( x 2 + ϵ h 2 ) + ( x 2 + ϵ h 2 ) 2 − 3 ( x 1 + ϵ h 1 ) を ϵ \epsilon ϵ で微分して ϵ = 0 \epsilon=0 ϵ = 0 とおくと
2 x 1 h 1 + ( x 1 h 2 + x 2 h 1 ) + 2 x 2 h 2 − 3 h 1 = ( 2 x 1 + x 2 − 3 ) h 1 + ( x 1 + 2 x 2 ) h 2 . 2x_1h_1+(x_1h_2+x_2h_1)+2x_2h_2-3h_1=(2x_1+x_2-3)h_1+(x_1+2x_2)h_2 . 2 x 1 h 1 + ( x 1 h 2 + x 2 h 1 ) + 2 x 2 h 2 − 3 h 1 = ( 2 x 1 + x 2 − 3 ) h 1 + ( x 1 + 2 x 2 ) h 2 .
∂ f / ∂ x 1 = 2 x 1 + x 2 − 3 \partial f/\partial x_1=2x_1+x_2-3 ∂ f / ∂ x 1 = 2 x 1 + x 2 − 3 , ∂ f / ∂ x 2 = x 1 + 2 x 2 \partial f/\partial x_2=x_1+2x_2 ∂ f / ∂ x 2 = x 1 + 2 x 2 なので、式 (1.3.1) の右辺と一致する。
(2) h 1 h_1 h 1 と h 2 h_2 h 2 が任意なので、係数がともに 0 0 0 である。2 x 1 + x 2 = 3 2x_1+x_2=3 2 x 1 + x 2 = 3 , x 1 + 2 x 2 = 0 x_1+2x_2=0 x 1 + 2 x 2 = 0 を解いて ( x 1 , x 2 ) = ( 2 , − 1 ) (x_1,x_2)=(2,-1) ( x 1 , x 2 ) = ( 2 , − 1 ) 。このとき f = 4 − 2 + 1 − 6 = − 3 f=4-2+1-6=-3 f = 4 − 2 + 1 − 6 = − 3 である。
(3) 停留点では1次の項が消え、f f f が2次式なので展開は2次で終わる。
f ( x + ϵ h ) = − 3 + ϵ 2 ( h 1 2 + h 1 h 2 + h 2 2 ) = − 3 + ϵ 2 [ ( h 1 + h 2 2 ) 2 + 3 4 h 2 2 ] . f(x+\epsilon h)=-3+\epsilon^2\,(h_1^2+h_1h_2+h_2^2)=-3+\epsilon^2\Bigl[\Bigl(h_1+\frac{h_2}{2}\Bigr)^2+\frac34h_2^2\Bigr]. f ( x + ϵ h ) = − 3 + ϵ 2 ( h 1 2 + h 1 h 2 + h 2 2 ) = − 3 + ϵ 2 [ ( h 1 + 2 h 2 ) 2 + 4 3 h 2 2 ] .
括弧の中は h ≠ 0 h\neq0 h = 0 なら正なので、どの向きに動かしても f f f は − 3 -3 − 3 より大きくなる。停留点 ( 2 , − 1 ) (2,-1) ( 2 , − 1 ) は最小点である。1次の項が消えることと、2次の項の符号が決まることを分けて調べる手順は、1.3.5 節で汎関数についても同じ手順で行う。
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com