補足：変分問題

汎関数の極値を求める視点からオイラー・ラグランジュ方程式を導出します。
ここでの関数は連続的微分可能とします。
「′ 」は x による微分を表すようにします。
変分問題 (variational problem) は汎関数の極値を求める問題で、変分法 (calculus of variations) という分野に含まれているものです。汎関数のことは置いておいて、まずは単純な例として、2 点間を結ぶ最も短い曲線は何かを求めます。
2 次元の xy 平面とします。xy 平面において微小に離れている点 (x, y) と点 (x + ∆x, y + ∆y) との間の距離 dsは√ds = ∆x2 + ∆y 2 = ∆x√
1+(∆y 2)∆xと与えられます。y は y = y(x) で与え、y(x) は xy 平面上の曲線になっているとします。∆x は適当な x = a から
x = b の間を n + 1 個に分割したときの間隔とすれば (a = x0 , b = xn+1 )、点 (xi , y(xi+1 )) と (xi+1 , y(xi+1 )) の間の距離は√dsi = ∆x 1 + (y(xi + ∆x) − y(xi ) 2)∆x(∆x =b−a)n+1a から b の全ての間隔を足し合わせれば、x = a から x = b を繋ぐ曲線 y(x) の長さ s になり

s=n∑√∆x1+(i=0y(xi+1 ) − y(xi ) 2)∆x(1)これの ∆x を 0 の極限に持っていけば和は積分、ルートの中の第二項は微分になるので

∫ bs=

√dx

ady
1 + ( )2 =dx

∫ bdx

√
1 + y ′2aとなります。y(x) を具体的に与えて積分をすればその曲線の長さが分かりますが、ここでは s が最小になる曲線 y(x)を求めます。また、曲線 y(x) の両端 (a, y(a)), (b, y(b)) はすでに与えられいているとします (両端が (a, y(a)), (b, y(b))となっている曲線の中から探す)。つまり、境界条件 (C1 , C2 は定数)y(a) = C1 , y(b) = C2を満たす関数 y(x) の中から、s を最小にするのはどれかを求めるという問題です。
関数 f (x1 , x2 , . . . , xn ) が f (z1 , z2 , . . . , zn ) で最小値となるための必要条件が∂f=0∂xi x=z(x = (x1 , . . . , xn ), z = (z1 , . . . , zn ), i = 1, . . . , n)(2)となっていることを使います (もう少し詳しいことは後で触れます)。そのために、離散的な (1) から s を n + 2 個の変数を持つ関数と考えます。y(xk ) = yk と表記することにし、(1) はs(y0 , y1 , . . . , yn+1 ) =n∑

√∆x

k=0

1

1+(y(xk+1 ) − y(xk ) 2)∆x

として、各 yi に対して

∂s|y =y = 0∂yi i i(3)これを満たす y = y のときに s は最小値になると考えます。面倒なので y i でなく yi を使っていきます。
yi で偏微分すると√√√
y1 − y0 2
yi − yi−1 2
yi+1 − yi 2
yn+1 − yn 2 )1+() + ··· + 1 + () + 1+() + ··· + 1 + ()
∆x
∆x
∆x
∆x
√√
∂ (yi − yi−1 2yi+1 − yi 2 )) + 1+()= ∆x
1+(∂yi∆x∆x√)∂ (√′2′= ∆x
1 + yi,i−1+ 1 + yi+1,i∂yi∂s∂ (= ∆x
∂yi
∂yi

= ∆x

= ∆x

= ∆x

√√)
∂yi′ ∂ (√′2′
1+y1+y+i,i−1i+1,i∂yi ∂yi′( ∂y ′∂

i,i−1

∂yi′
∂yi,i−1√′2
1 + yi,i−1+′)∂yi+1,i∂ √′21 + yi+1,i′∂yi ∂yi+1,i√)∂ √1′2′21+y1 + yi+1,i−i,i−1′′∆x ∂yi,i−1∆x ∂yi+1,i( 1∂′∆x → 0 の極限を取っていないので微分になっていませんが yi,i−1のように表記しています。これの右辺が 0 になるので

0==1∂ √∂ √
1′2′21+y−
1 + yi+1,ii,i−1′′∆x ∂yi,i−1∆x ∂yi+1,i1 ′ yi − yi−11 ′ yi+1 − yi
F ()−F ()
∆x
∆x
∆x
∆x

F ′ は第一項では yi − yi−1 、第二項では yi+1 − yi の偏微分であることを表しています。∆x → 0 の極限を取ることで1 ( ′ yi+1 − yidyi − yi−1 )d ∂F (y ′ )F () − F ′() = − F ′ (y ′ ) =∆x→0 ∆x∆x∆xdxdx ∂y ′− lim

変数は y ′ のみなので常微分と同じですが偏微分のままにしておきます。よって、s が最小値となるのはd ∂F (y ′ )=0dx ∂y ′を満たす y のときです。注意すべきなのは、(2) が必要条件であったように、これは s が最小値となるための必要条件でしかないことです。
微分を計算してみると

20==d ∂ √1 + y ′2dx ∂y ′dy′√dx 1 + y ′2y′C= √1 + y ′2C は定数です。y ′ が x に依存していると定数にならないので、y ′ は定数です。よって、A, B を定数として

dy=Adxy = Ax + Bとなり、直線の式になります。2 次元平面において 2 点を結ぶ最短な曲線は直線なので、それが求められています。
あとは曲線の両端 y(a), y(b) の値を与えれば (境界条件)、A, B は決まります。
(2) との対応から最小値となる曲線を求めましたが、見方を変えます。(3) の微分 ∂s/∂yi において、∂yi は yiの変化、つまり関数 y(xi ) の変化、∂s は yi が変化したときの s の変化です。そうすると、y(xi ) の変化を hi として、変数 yi の部分だけを取り出して書くと

s(yi + hi ) − s(yi )hiと書けます。他の yk でも同様に見れば、曲線 y からズレた曲線 y + h がいるのが分かります。これを利用します。
まず、1 つの曲線 y(x) が与えられているとし、この曲線から微小にズレた曲線を z(x) とします。ただし、y(x)と z(x) の曲線の形自体は極端に異なっていないとします。微小にズレているので、微小な h(x) によって(|y(x) − z(x)| ≪ 1)z(x) = y(x) + h(x)h(a) = 0 , h(b) = 0と与えます。両端の位置が与えられている曲線を扱っているので、h(a) = 0, h(b) = 0 はその両端の位置を変えないためです。
しかし、これでは位置が微小にズレているとしただけなので、y(x) と z(x) による曲線が似ていることにはなりません。例えば、h(x) がプラスとマイナスの値をとっているなら、z(x) は y(x) と交差する曲線になります（y(x)の周りで三角関数のように振動している曲線になる）。そんな大きく異なった曲線ではなく、似た曲線だけを使いたいので条件を加えます。
2 つの曲線が似るのはそれぞれの接線が近い値を持っているときです。なので、接線

dydhdz=+dxdx dx
において、|dzdy−|≪1dx dxとし、dh/dx は h と同じ程度に微小とします。そうすると3∫ b∆s = s(z) − s(y) =dx√∫ b
1 + z ′2 −aa∫ b=√dx 1 + y ′2dx√

∫ b
1 + (y ′ + h′ )2 −a∫ b=dx√
1 + y ′2a√√dx( 1 + (y ′ + ϵη ′ )2 − 1 + y ′2 )(h(x) = ϵη(x))

ah′ は η ′ (x) と微小な定数 ϵ の積によって微小になっているとし、ϵη ′ (x) としています。ϵη ′ で展開すると√

1 + (y ′ + ϵη ′ )2 =√y′
1
11 + y ′2 + √ϵη ′ +ϵ2 η ′2 + · · ·′2 )3/2′22(1+y1+y1∆s = δ1 s + δ2 s + · · · と書くなら
2∫ b
δ1 s = ϵadx √y′∫ b′

1 + y ′2η , δ2 s = ϵ2dxa1
η ′2(1 + y ′2 )3/2となります。もし s(y) が最小値なら常に s(z) に対して ∆s ≥ 0 となるので、δ1 s, δ2 s にそのための条件を与えます。
今は ϵ は微小として展開しているので、δ1 s は δ2 s よりも大きな値を持っています。そうすると、ϵ の符号に ∆sが依存しているのが分かります。しかし、これは任意に設定できるために符号をどちらかに固定することができず、∆s ≥ 0 と言えなくなります。なのでδ1 s = 0を要求することにします。δ2 s では ϵ2 のために ϵ の符号は関係せず、η ′2 /(1 + y ′2 )3/2 ≥ 0 の積分なので積分結果は正になることから

δ2 s ≥ 0となり、∆s = δ2 s + · · · ≥ 0 となります。よって、δ1 s = 0 となるとき最小値になります。というわけで、s が最小値となるためには、y が∫ by′dx √η′ = 01 + y ′2aを満たしていればいいです。ここで積分の性質を持ち込みます。g(a) = 0 = g(b) = 0 となる任意の関数 g(x) があるとします。このとき、ある関数 f (x) と g ′ (x) による積分が∫ bdx f (x)g ′ (x) = 0aとなっているなら、f (x) = const という性質があります。これを使うと√y′
1 + y ′2

C は定数で、上での結果と同じになります。
4=C(4)

η ′ でなく η にするなら、部分積分して∫ badx √y′
1 + y ′2

η′y′b= η√−′21+y a∫ bdx ηady′√dx 1 + y ′2

第一項は η(a) = η(b) = 0 から消えます。よって∫ bdx ηady′√=0dx 1 + y ′2

この場合は、ある関数 f (x) と、g(a) = g(b) = 0 となる任意の関数 g(x) による積分が∫ bdx f (x)g(x) = 0(5)aとなっているなら、f (x) = 0 という性質を使います。そうすると

dy′√=0dx 1 + y ′2となり、これも一致します。というわけで、異なる曲線 s(y + h), s(y) の差から、s を最小にする曲線を求めることが出来ます。
最初の離散的な和から求める方法はオイラーが、曲線のズレから求める方法はラグランジュが導出したものです。
今の話を一般化し、汎関数を導入し、オイラー・ラグランジュ方程式を導出します。まず、問題を一般化します。2 点間を結ぶ距離が最も短くなる曲線を求めましたが、もっと広く言えば、x の適当な区間において F (y(x))
を x で積分したとき、その積分結果が最小値となる y (x の区間の両端で固定されている) は何かというものです。
つまり∫ bJ=dx F (y)(y(a) = C1 , y(b) = C2 )aという積分が最小値になるのはどんな y かというものです。しかし、すでに見たように F には y ′ を含む場合もあり、しかも y ′ による偏微分も出てきていたので、y とは無関係な変数として y ′ を含めた F (y, y ′ ) とします（y とy ′ は独立変数）。さらに、積分は x に対してなので、それも含めるようにして∫ bJ=dx F (x, y, y ′ )aとします。当然、y ′′ やそれ以上を含むとすることも可能ですが、実際の多くの問題では F (x, y, y ′ ) として出てきます。例えば、F (y, y ′ ) = 2πy(x)(1 + y ′2 (x))1/2 (y(x) ≥ 0) では曲線を x 軸を中心に 1 回転させたときに出来る面の表面積の問題になります。
J の最小値を求めるために汎関数 (functional) を導入します。関数において、x のある区間で関数 f (x) が最小値となる x は、その区間での f (x) のグラフを書いて一番低い地点となる x です。このことは、可能な x の値による f (x) の値を全て求めて、最小になる x を見つけるというものです。同じ作業を J に対して行うために汎関数を導入します。
関数 f は数値 x から別の数値 c = f (x) への変換 (写像) です。f (x) を x で積分すれば変数はなくなります。しかし、g(y(x)) となっていて、関数 y が任意なら、g(y(x)) の x 積分の結果は関数 y をどのように選んだかに依存します。つまり、関数が変数としての役割を持ちます。
このように、通常の関数のように数値に依存するのでなく、関数に依存しているものを汎関数と呼びます。関数f は数値 x から別の数値 c = f (x) への変換 (写像) で、汎関数 S は関数 y から数値 s = S[y] への変換です。汎関数の変数は [ ] で書く習慣になっています。
関数ではある区間における最小値を極小値と定義するので、汎関数でも極小値と言うことにします。そして、極小値だけでなく極大値も含めることにして、汎関数 J の極値を求める問題とします。これは極値となる関数を求5めるということです (J[y] が極値となる関数 y を求める)。しかし、まだ汎関数の極値を定義していないので、定義を与えます。
そのために関数の極値から見ていきます。関数の極値は、ある点 x0 があり、十分小さい ϵ > 0 による x0 − ϵ <x < x0 + ϵ の区間 (ϵ 近傍) において、f (x) ≤ f (x0 ) であれば極大値、反対のとき (−f (x0 ) で極大値) では極小値として与えられています。
|∆x| < ϵ とし、f (x + ∆x) を展開すると

f (x + ∆x) = f (x) +df (x)1 d2 f (x)∆x +∆x2 + · · ·dx
2 dx2

1f (x + ∆x) − f (x) = f ′ (x)∆x + f ′′ (x)∆x2 + · · ·2となります。∆x は微小なので、右辺の第一項が一番大きな寄与となります。このため、左辺の符号は右辺の第一項によって決まります。そうすると、x が極値を与えるなら (極大値なら f (x + ∆x) − f (x) ≤ 0)、x − ϵ と x + ϵの区間で f ′ ∆x は符号を変えてはいけなくなります (極大値か極小値のどちらか一方のみだから)。しかし、∆x は任意なので f ′ ∆x は正負どちらでも取れてしまいます。このため、x が極値であるためには右辺第一項が消える必要があり

df (x)=0dxが要求されます。これはdf (x)
df (x + t∆x)|t=0 =∆x = dfdtdx(6)から、df = 0 になるとすることと同じです。なので、極値は極値を与える地点 (停留点) から微小にズラしても関数は変化しない、ということによって定義できます。
関数での極値の定義に対応するように汎関数でも定義します。関数 y を変数のようにします。最初の最短距離の話のように、関数の差 z(x) − y(x) だけでなく、z ′ (x) − y ′ (x) も使います。与えられた x の区間において関数 y, zが、ϵ > 0 として|z(x) − y(x)| < ϵ , |z ′ (x) − y ′ (x)| < ϵとなっており、汎関数 J[y], J[z] がJ[z] ≤ J[y]のとき、y において J は極大値、反対のときは極小値と定義します。これらは弱極値 (weak extremum) と呼ばれます。また、|z(x) − y(x)| < ϵ だけのときは強極値 (strong extremum) と呼ばれますが、ここでの話ではこの区別に意味はないので無視していいです。
もしくは、(6) との対応で言えば

dJ[y + tη]=0t=0dt(7)とすることで極値を定義できます。これは後で確かめます。
ここでは必要ないですが、関連する言葉も与えておきます。x のある区間における |y(x)| の最大値 |y|w = max|y(x)|を弱ノルム (weak norm)、y(x), y ′ (x) の弱ノルムから|y|s = max|y(x)| + max|y ′ (x)|6としたものを強ノルム (strong norm) と言います。強ノルムを使えば|z(x) − y(x)| < ϵ , |z ′ (x) − y ′ (x)| < ϵ ⇒ |z − y|s < ϵとなります。なので、強ノルムのとき弱極値、弱ノルムのとき強極値となります。
極値の定義を与えたので、本題の汎関数∫ bJ[y] =dx F (x, y, y ′ )(y(a) = C1 , y(b) = C2 )aの極値を求めます。h(x), h′ (x) は同じ程度に十分小さいとして、J[y + h] は∫ b
J[y + h] =dx F (x, y + h, y ′ + h′ ) =a

∫ bdx F (x, y + ϵη, y ′ + ϵη ′ )ah(x) を η(x) と微小な ϵ に分けています（ϵ が消えるときは η も消えるようにする）。h は両端で h(a) = h(b) = 0として、両端では y, y + h は一致しているとします。
差を取って∫ b∆J = J[y + ϵη] − J[y] =dx (F (x, y + ϵη, y ′ + ϵη ′ ) − F (x, y, y ′ ))a

F を展開すると

F (x, y + ϵη, y ′ + ϵη ′ ) − F (x, y, y ′ )= F (x, y, y ′ ) + ϵ(η= ϵ(η∂F1
∂F
∂2F
∂2F
∂2F+ η ′ ′ ) + ϵ2 (η 2 2 + 2ηη ′+ η ′2 ′ ′ ) + · · · − F (x, y, y ′ )′∂y∂y2∂y∂y∂y∂y ∂y2∂F∂F1∂2F∂2F′2 ∂ F+ η ′ ′ ) + ϵ2 (η 2 2 + 2ηη ′+η) + ···∂y∂y2∂y∂y∂y ′∂y ′ ∂y ′なので、∫ b∆J =( ∂F)
1
∂F
∂2F
∂2F
∂2Fdx ϵ(η+ η ′2 ′ ′ ) + · · ·+ η ′ ′ ) + ϵ2 (η 2 2 + 2ηη ′′∂y∂y2∂y∂y∂y∂y ∂ya

1= δ1 J + δ2 J + O(ϵ3 )2δ1 J を第一変分 (first variation)、δ2 J を第二変分 (second variation) と言います。
今は |y + ϵη − y| < δ, |y ′ + ϵη ′ − y ′ | < δ となる δ > 0 がいるので、∆J は y による極値とできます。しかし、極大値なら ∆J ≤ 0、極小値なら ∆J ≥ 0 でなければいけないので、極値であるなら h = ϵη とは無関係に ∆J の符号はどちらか一方に固定されるはずです (例えば全ての微小な h で ∆J ≤ 0 となるなら極大値)。微小な ϵ で展開しているので、δ1 J の寄与の方が δ2 J より大きいです。そうすると、δ1 J によって ∆J の符号が決まります。しかし、係数に ϵ がいるために、δ1 J の符号は ϵ の符号 (微小としか言っていないので正負どちらでもいい) に依存するので、極値と言えなくなります。なので、δ1 J = 0 とします。
よって、δ1 J = 0 は極値となるための必要条件です。そして、δ2 J の符号で極大値か極小値になります。δ2 J ≤ 0なら極大値、δ2 J ≥ 0 なら極小値です。第二変分はオイラー・ラグンランジュ方程式とは別の話になるので省きます。
7δ1 J = 0 から∫ b

∂F∂F+ η′ ′ )
∂y∂ya
∫ b
∫ b
∂F
∂F=dx η+dx η ′ ′∂y
∂yaa
∫ b
∫ b
∂F b
∂Fd ∂F+η ′ a−=dx ηdx η∂y∂ydx∂y ′aa0=ϵdx (ηちなみに、ここでの y は δ1 J = 0 となる y = y の意味になっているので、y を使って書くと極値を求めていることがはっきりします。第二項は η(a) = η(b) = 0 から消えるので∫ b0=dx η(a∂Fd ∂F−)
∂ydx ∂y ′

上での (5) の性質を使うことでd ∂F∂F−=0∂ydx ∂y ′となり、オイラー・ラグランジュ方程式となります。オイラー・ラグランジュ方程式に従う y(x) が汎関数 J[y] の極値となります。見てきたように、オイラー・ラグランジュ方程式は δ1 J = 0 のことなので、極値となるための必要条件であって、極大値か極小値かは教えてくれません
また、∫ xG(x) =dλa

∂F (λ, y(λ), y ′ (λ))∂y(dG∂=F (x, y(x), y ′ (x)))
dx∂yから、δ1 J = 0 を∫ b∂F∂F+dx η ′ ′∂y∂yaa∫ b∫ b∂Fb= η(x)G(x) a −dx η ′ G(x) +dx η ′ ′∂yaa∫ b0=dx ηとすれば、この場合も η(a) = η(b) = 0 によって

∫ b0=−dx η ′ (G −a∂F)∂y ′この場合は、(4) の性質から定数を C としてG−∫ xdλa∂F=C∂y ′∂F (λ, y(λ), y ′ (λ)) ∂F− ′ =C∂y∂y8

x で微分すれば∂F (x, y(x), y ′ (x))
d ∂F−=0∂ydx ∂y ′となって、オイラー・ラグランジュ方程式が出てきます。
(7) が第一変分に対応することを確かめます。今の記号に合わせて

dJ[y + ϵη]=0ϵ=0dϵとすれば∫d bdx F (x, y + ϵη, y ′ + ϵη ′ ) ϵ=0dϵ a∫ b∂∂=dx(η F (x, y + ϵη, y ′ + ϵη ′ ) + η ′ ′ F (x, y + ϵη, y ′ + ϵη ′ )) ϵ=0∂y∂ya∫ b)( ∂∂=dx η F (x, y, y ′ ) + η ′ ′ F (x, y, y ′ )∂y∂ya0=となって、第一変分と同じことが確かめられます。
この結果を踏まえて、汎関数 J の展開を∫
J[y + h] = J[y] + ϵ

dx1

δJ[y]1η(x1 ) + ϵ2
δy(x1 )
2∫dx1 dx2

δ 2 J[y]η(x1 )η(x2 ) + · · ·δy(x1 )δy(x2 )と書いたとします。これは汎関数に対するテーラー展開で、δ/δy は汎関数微分 (functional derivative) と呼ばれ、汎関数に対する微分です。オイラー・ラグランジュ方程式は第二項が 0 になることから出てくるので、オイラー・ラグランジュ方程式は

δJ[y]∂Fd ∂F=−=0δy∂ydx ∂y ′と書けます。
ここでの話を作用に対して言えば、作用の極値を与える関数が現実の経路になっているなら、オイラー・ラグランジュ方程式は現実の経路を導くということです。実際にニュートンの運動方程式と等価であることは「オイラー・ラグランジュ方程式」で示しています。

9