サンプル
第九章 汎関数と変分法

 この章では物理学の学習には欠かすことができない「汎関数」の意味と、それを用いた「変分法」について学ぶ。

§1. 汎関数と変分法

【汎関数とは】

 まず「汎関数」の意味を与えることから始める。変数xの値を与え、それに対してfで指定される一連の操作を施し、値 f(x)を返す操作が「関数 f(x)の意味であった。同じ様に、 xの関数f( x)を与え、それに対してJで指定される一連の捜査を施した後に出来る関数を返す操作を「汎関数といい、J[f ]と書く。簡単に言えば「汎関数は関数を変数とする関数である」。関数と汎関数の違いを並べて示すと下表のようになる。

関数f(x)の場合 汎関数J[f]の場合
変数 x f(x)
x に施す操作の内容 f J
操作の結果 f(x) J[f]

初学者にはなかなかわかりにくいので、具体的かつ簡単な汎関数の例を以下に与える。

【汎関数の例】
 変数xの関数をf (x)とするとき、この関数をx= 0からx=1まで積分した値を与える操作 01f(x )dxを考える。すなわち、ここでのf( x)に対する「操作の内容」は「x=0から x=1までの積分」である。といってもこの結果がどのような値になるか分からない。f(x)が何か分からないので積分が実行できないからである。もしf(x)が与えられれば、むずかしいかやさしいかは別にして積分を実行することができ、その結果を得ることができる。すなわち 01f(x)dxの値は関数 fを与えることによって初めて定まる。これが 「01f(x )dxは関数fを変数とする汎関数」の意味である。そしてそれを

<9-1> J[f]=0 1f(x)dx

と書くのである。[]の意味は[…]内の関数の形を変えると結果が変わることを表している。たとえば、もしf(x)= xであれば<9-2>J= 01xdx=1 2x201=1 2であり、もしf(x )=x2であれば<9-3> J=01x2 dx=13x3 01=13であり、もしf(x)=x3 であれば<9-4>J= 01x3dx= 14x401= 14である。

 これをもう一段階複雑にした汎関数が物理では重要になる。つまりf( x)を与えて直ちにJが決まるのではなく、関数 f(x)を与えるとまず f(x)の汎関数 F[f(x)] が決まり、さらにxの関数である Fを積分して得られるJ を問題にすることがある。したがってこの場合は、f(x )が与えられてもFがわからなければ J[f]が決まらない。たとえば、 F[f(x)] x=0から x=1まで積分した

<9-5>J[f]=0 1F[f(x)]dx

はその例であるが、これはFの形を与えたとしても fを与えない限り決まらないので、結局は fの汎関数である。例えば上の場合で F[f(x)]が関数 f(x)1を加える操作

<9-6> F[f(x)]= f(x)+1

であるとする。この時はもしf(x)=x であればF=x+1であるから、 <9-7>J= 01(x+1)dx= 12x2+x 01=32であり、もし f(x)=x2 であれば<9-8>J= 01(x2+1)dx =13x3+ x01=43であり、もしf(x)=x3 であれば<9-9>J= 01(x3+1) dx=14x4 +x01=54 である。

 物理では「関数f(x)を与えた時に決まる J[f]を最も小さくする関数 fを知りたい」というような場合がある。それに使われるのが「変分法」という方法である。


【変分法】
 「汎関数は関数を変数とする関数」であることと「変分法の基本的な考え方は関数の微分計算と同じ」を合わせて、「変分は関数による汎関数の微分である」と簡単に言っても良い。「汎関数は関数を変数と考えた関数である」ことを理解し、「変分法の基本的な考え方は関数の微分計算と同じである」ことを理解するために、上に与えた汎関数の例を使って具体的に説明しよう。例ににあるように関数 f(x)の汎関数 F[f(x)]を積分の形で含む汎関数、すなわち

<9-10> (9.1.1) J[f]= ABF[f(x)]dx

から始める。汎関数の微分を理解するには、汎関数の意味をしっかりと理解していないといけない。そのために(9.1.1)式を使ってもう一度、汎関数の意味を確かめておく:

  • fxの関数であるから、それとFの具体的な形が与えられれば、 xの関数としてF [f(x)]が決まり、積分を実行することができる。それが(9.1.1)式右辺の意味である。積分を実行した結果のJ fを変えると変わる。それが左辺のJ[f] の意味である。

 物理学で重要になるのは、fを少し変えたときその変化が Fを通して左辺のJ に与える影響である。すなわち、f(x)に小さな関数Δ(x)をつけ加え、 f(x)(f(x)+Δ( x))とする。必要なのはfΔを加えたことによって Jがどれだけ変わったか、すなわち

<9-11> (9.1.2) Jf+Δ-J f=ABF f(x)+Δ(x) dx - ABFf(x) dx

を知ることである。物理学を学ぶときにはそれを知ることがなぜ重要であるかを理解することは必要であるが、今は数学の問題としてこの式を考えよう。(9.1.2)式の両辺に対して以下の二つの考察を行なう。

  1. いまf(x)Δ(x)が積分を行う区間 (AxB)で突然大きな変化をすることがないとする。そうすると、Δ(x)を限りなく小さくすれば(9.1.2)式右辺の引き算の結果もやはり小さくなり、左辺の量も小さくなる。その意味を表すために左辺を δJfと書く。δfにとても小さなΔを加えたことによって生じる Jの変化が「とても小さい」ということを表す記号である。
  2. 少し面倒な計算をすると、同じ区間(Ax B)で「xのある関数」を積分した量として(9.1.2)式の右辺を表すことができる。汎関数F f(x)についてそれを実行した時の「xのある関数」を F fδfと書く。不思議な記号を使うが、 「xのある関数」が持つ意味を正確に伝えるためには仕方がない。このなかのδfは 「Fに含まれるfが僅かに変わったとき」ということを忘れないための記号である。そして FfFのなかにある関数fを普通の変数であるかのように考えて、それで Fを微分して得られる微分係数である。
以上より、結局(9.1.2)式を

<9-12> (9.1.3) δJf =AB Ffδfdx

と書き表すことができる。
 「物理学」でしばしば、(9.1.1)式のJに最も小さな値を与える関数 fを求めることが必要になる。いま関数 f(x)を与えたときに Jが最も小さくなって J0となったとする。その値を与えるf( x)をわずかに変えるとJJ0から必ず大きくなるので、(9.1.3)式の δJf0でない値を与えるはずである。したがって JJ0 の値を与える関数fは(9.1.3)式の δJf0とするfであるということになる。もし(9.1.3)式右辺の積分の中にあるF f0にするような fがあれば、それは必ず δJf 0にする。したがって、もしF f=0を満足する fを探し出すことができれば、それが求めるfを与えることになる。
 物理で生じる実際の状況はもう一つ複雑になる。それは Ffの微係数 dfdxf'を含む Ff(x) ,f'(x)の形をし、その結果 JJ[ f,f']となる時、それに最も小さな値を与える関数 f(x)を求めることが必要になる。この時には、(9.1.3)式以下で与えたと同じ議論をていねいに行えば、Fの中にあるff'が関係式

<9-13> (9.1.4) ddxF f'-Ff =0

を満たせば、Ff(x ),f'(x)が最小となることが分かる。この方程式は一般に「オイラー方程式」と呼ばれ、物理学では「最小作用原理」を表す「オイラー‐ラグランジの方程式」として現われる。
 Ff Fのなかにある関数 fを普通の変数と考えて偏微分を実行して得られる偏微分係数といった。同様に Ff'Fのなかにある関数f' を普通の変数と考えて偏微分を実行して得られる偏微分係数である。したがって、 J[f]に最も小さな値を与える関数fは、ff'による Fの偏微分を実行して得られた偏微分係数を(9.1.4)式に代入し、その方程式を満足するfを求める問題に帰着する。どのようにこれが実行されるかを理解するため、簡単な練習問題をひとつあげる。

  • 【練習問題】 (x-y)平面上の原点 Oと平面上の座標( a,b)にあるP点を結ぶ最も短い曲線を求めよ。答えはもちろんO P点を結ぶ直線、y=b axである[1]。
  • 【解】 まずこの問題を汎関数を使った変分法の問題として表す。そのため、OPを結ぶ曲線は非常に短い直線の連続で出来ていると考える。一般に (x-y)平面上の二点 (x1,y1 )(x2, y2)間の直線距離sを与える公式は<9-14>s=( x2-x1)2+( y2-y1)2 である。これを使うと、OPを結ぶ曲線上の一点( x,y)と、それから少し離れた点( x+Δx,y+Δy)間の短い直線距離 Δs

    <9-15>  Δs=(Δx)2+( Δy)2 =1+Δy Δx2Δx

    である。したがってOから Pまでの距離は、Oから短い直線距離 Δsを加えながらP にたどり着いたときのΔsの総和に等しい。この総和は Δs(したがってΔx Δy)を短くすればするほど考えている曲線の距離を正確に表すことになる。数学的にこれを実行してOから Pに至る曲線の距離Lを与えると、 L

    <9-16> (9.1.5) L=0a 1+y'2dx

    となる。ここで、Oから Pに至る曲線上のx座標と y座標の関係を表す与える式(曲線の方程式)を y(x)と書いたとき、 y'=dydxxにおけるその曲線の傾きを表す yの微分係数である。したがって、もし(9.1.4)式のLを最小にする右辺の中にあるy'がわかれば、それは OPを最短でつなぐ曲線のx座標とy座標の関係を表す微分方程式を与えることになり、それを解けば曲線がわかる。
     (9.1.5)式右辺で積分される関数はy'のみを含むので、それを(9.1.1)式の Fと考え、F[ y'(x)]と書くことができる。よって Fyに関する微分は 0である。したがってF y'で微分したものを(9.1.4)式のオイラー方程式に代入すれば、y(x)が満たす微分方程式がただちに得られる。Fy'に関する微分を実行すると

    <9-17> (9.1.6)  dF[y'(x)]dy'= d1+y'2 dy' =y'1+y'2

    となる。これとdFdy= 0を(9.1.4)式に代入すれば、OPを最短でつなぐ曲線を表す関数が満足するオイラー方程式は

    <9-18> (9.1.7) ddxy' 1+y'2=0

    となる。したがってy'1+ y'2は定数であるから、それを Cと置きy'を求めれば y'=C1-C 2となる。右辺は定数であるから、それを改めて Aとすれば

    <9-19> (9.1.8) y'=A

    である。xに関する一階の微分係数が定数 Aとなるyを一般に

    <9-20> (9.1.9) y=Ax+B

    と書くことができる。ここで、Bはもう一つの定数である。これは直線を表す方程式であるが、この直線は原点O(0,0)P(a,b)点を通るから

    <9-21> (9.1.10)  0=B b=Aa

    であるから、よって二つの定数は

    <9-22> (9.1.11)  B=0 A=ba

    でなければならない。したがって原点とP点をつなぐ最短曲線は

    <9-23> (9.1.12) y=bax

    で与えられる直線になることが変分の考え方を使って証明できた。

 上で与えたのは自明でつまらない例のように思うかも知れないが、「相対性理論」で光が通る道筋が四次元空間内の直線になることは基本的に同じやり方で示すことができる。さらには、自然界の全てを支配する「最小作用の原理」から、ニュートン方程式を初めとする自然界の諸方程式を導くのも基本的にはオイラー方程式を使って同じやり方で行う。そのような、物理学独特の考え方を理解するためには、ここで与えた簡単な例をしっかりと理解しておくことが大切である。

[1] これが物理で現れたときは、空間のある点からある点まで光がたどる経路を求める問題になる。その時には、もし空間が真空であれば答えはこの練習問題の結論のように直線になるが、もし空間に質量を持つ物質があれば、光の経路は物質の存在によって曲げられて、最短経路は曲線になる。そのような例は宇宙物理に現れる。