数学の作り方 How to make Mathematics

第1章 変分問題とは

微分積分学では「関数 f(x)f(x) を最小にする xx」を探しました。f(x)=0f'(x)=0 を解けばよい——これが 最小化の基本でした。ところが世の中には、探すものが数ではなく関数(形)そのものであるような最小化問題が あります。2点を最速で結ぶ滑り台の形、いちばん面積の小さい膜の形、いちばん短い道。この章では、そうした問題が どんなもので、なぜ普通の微分では歯が立たないのか、そして変分法がどんな発想でそこに切り込むのかを掴みます。

つかみ:最短の道は本当に「あたりまえ」か

2点を結ぶいちばん短い線は直線——これは誰でも知っています。でも問いを少しひねると、途端に直感が効かなくなる。

  • 重力の下で、ビーズが最も速く滑り降りる曲線は?(最短の直線が最速だと思いきや、違います。)
  • 針金の輪に張った石けん膜が作る、面積最小の曲面は?
  • 地球儀の上で、2 都市を結ぶ最短経路は?(平面の直線とは限りません。)

どれも「たくさんの候補の形の中から、ある量を最小(最大)にする一つの形を選べ」という問題です。候補は直線、 放物線、円弧、サイクロイド……無限にある形。この中から最良の一つを、当てずっぽうでなく方程式で射止めたい。 それが変分法の目標です。

汎関数:関数を入れると数が返る箱

まず、扱う対象に名前を付けましょう。上のどの問題も、「形(関数)yy を一つ決めると、それに対して一つの数 (長さ・時間・面積)が定まる」という構造をしています。この「関数 \to 数」の対応を汎関数と呼びます。

定義 汎関数

関数の集まり(例えば端点を固定した滑らかな曲線 y ⁣:[a,b]Ry\colon[a,b]\to\mathbb R の全体)から実数への写像 J[y]J[y]汎関数という。多くの場合、yy とその微分 yy' を用いた被積分関数 LLJ[y]=abL(x,y(x),y(x))dxJ[y]=\int_a^b L\big(x,\,y(x),\,y'(x)\big)\,dx の形に書ける。LLラグランジアンという。

具体例で感触を確かめます。いずれも y(a),y(b)y(a),y(b) を固定した曲線の上で考えます。

  • 曲線の長さ:微小な弧の長さは ds=1+y2dxds=\sqrt{1+y'^2}\,dx だから J[y]=ab1+y(x)2dx\displaystyle J[y]=\int_a^b\sqrt{1+y'(x)^2}\,dx。 ラグランジアンは L=1+y2L=\sqrt{1+y'^2}yy そのものは含まず yy' だけ)。
  • 回転面の面積:曲線 yyxx 軸まわりに回すと側面積は J[y]=ab2πy1+y2dx\displaystyle J[y]=\int_a^b 2\pi y\sqrt{1+y'^2}\,dxL=2πy1+y2L=2\pi y\sqrt{1+y'^2}yyyy' の両方を含む)。
  • 降下時間(最速降下線):速さが v=2gyv=\sqrt{2gy} なので J[y]=ab1+y22gydx\displaystyle J[y]=\int_a^b\frac{\sqrt{1+y'^2}}{\sqrt{2gy}}\,dx

汎関数は「関数を丸ごと呑み込んで一つの数を吐く箱」。私たちは、この箱の出力を最小にする入力の関数を探して いるのです。ここで一つ、用語の橋を架けておきます。普通の関数 f(x)f(x) の変数 xx は数直線の一点でしたが、汎関数 J[y]J[y] の「変数」yy無限次元の空間の一点(関数全体が動く空間の一点)だと思えます。最小化の舞台が、 数直線から関数空間へ引っ越した——これがすべての出発点です。

なぜ普通の微分では解けないのか

f(x)=0f'(x)=0 を解く」という手が、なぜそのままでは使えないのか。理由は、微分 f(x)=limh0f(x+h)f(x)hf'(x)=\lim_{h\to0}\frac{f(x+h)-f(x)}{h} の 「xx を少しずらす(x+hx+h)」という操作にあります。xx が数なら hh も数で、ずらし方は一通り(大きさだけ)。 ところが J[y]J[y] の変数 yy は関数なので、「yy を少しずらす」は無限に多様です。全体を持ち上げる、一部だけ つまむ、波打たせる——ずらす「方向」が無限にある。だから「微分 =0=0」を素朴には書けません。

注意 つまずきの正体

数の最小化:xx をずらす方向は本質的に一つ(±\pm)。関数の最小化:yy をずらす方向(=どんな形に変形するか)が 無限にある。どの方向に揺らしても値が悪くならない、という条件を全方向について要求しなければならない。 「無限個の方向すべてで停留」——これをどう一本の方程式にするかが、次章の主題。

変分法のアイデア:形を少しだけ揺らす

行き詰まりを破る発想は、意外なほど素朴です。「yy を関数のまま揺らすのが難しいなら、揺らし方を一つの数 ε\varepsilon で表して、いつもの微分に持ち込もう」。

最適だと思われる形 yy を用意し、それに揺らしの関数 η(x)\eta(x)ε\varepsilon 倍して足します。端点は固定 したいので、η(a)=η(b)=0\eta(a)=\eta(b)=0(端では揺らさない)と約束します。すると変形後の曲線は yε(x)=y(x)+εη(x).y_\varepsilon(x)=y(x)+\varepsilon\,\eta(x). これを汎関数に入れると、J[yε]J[y_\varepsilon]ただの数 ε\varepsilon の関数 Φ(ε)=J[y+εη]\Phi(\varepsilon)=J[y+\varepsilon\eta] に なります。無限次元の話が、ε\varepsilon という一次元に落ちた。もし yy が最小の形なら、ε=0\varepsilon=0Φ(ε)\Phi(\varepsilon) は最小のはず——つまり Φ(0)=0\Phi'(0)=0。これならいつもの微分で扱えます。

定義 第一変分(この時点では気持ち)

汎関数 JJyy における、揺らし η\eta 方向の第一変分δJ[y;η]=ddεε=0J[y+εη]\delta J[y;\eta]=\left.\frac{d}{d\varepsilon}\right|_{\varepsilon=0}J[y+\varepsilon\eta] で定める。yy が極値(極小・極大・停留形)なら、端点で消えるすべての η\eta について δJ[y;η]=0\delta J[y;\eta]=0

これが変分法の心臓です。「関数を揺らして、ε\varepsilon で微分し、ε=0\varepsilon=000」。方向 η\eta が 無限にあるという困難は残っていますが、各方向については普通の微分に還元できました。次章で、この 「すべての η\eta について δJ=0\delta J=0」という条件を、yy が満たすべき一本の微分方程式に凝縮します。

注意 つまずきポイント

  • 汎関数と関数を混同しないL(x,y,y)L(x,y,y') は普通の(多変数)関数、J[y]J[y] が汎関数。角かっこ [ ][\ ] は 「関数を丸ごと受け取る」しるし。
  • 揺らし η\eta は端点で 00。端点を固定した問題では、変形しても端は動かせない。この条件が後で 「境界項が消える」という計算上のご利益を生む(第2章)。端が自由な問題は別扱い(第7章)。
  • 「最小」より広く「停留」δJ=0\delta J=0 は極小だけでなく極大・鞍点でも成り立つ停留条件。実際に最小かは、 第二変分(第9章)や直接法(第10章)で別に確かめる必要がある。

この章のまとめ

  • 変分問題とは、**数ではなく関数(形)**を動かして、汎関数 J[y]=abL(x,y,y)dxJ[y]=\int_a^b L(x,y,y')\,dx を最小(最大・停留)に する問題。最短・最速・最小面積はすべてこの形。
  • 汎関数は「関数を呑んで数を吐く箱」。最小化の舞台が数直線から無限次元の関数空間へ移る。
  • 普通の微分が効かないのは、関数の「ずらし方(方向)」が無限にあるから。
  • 突破口は変分:最適な形 yyy+εηy+\varepsilon\eta と揺らし、Φ(ε)=J[y+εη]\Phi(\varepsilon)=J[y+\varepsilon\eta]ε\varepsilon で微分。第一変分 δJ[y;η]=Φ(0)\delta J[y;\eta]=\Phi'(0) が、すべての η\eta00 になるのが極値の条件。

次章は、この「すべての η\etaδJ=0\delta J=0」を、部分積分と変分法の基本補題でオイラー–ラグランジュ方程式という 一本の微分方程式にまとめます。無限個の条件が、たった一つの方程式に凝縮される瞬間です。