tecktom.com

汎関数:関数を入れて数を返すもの

2026年10月15日9分で読めますAI生成教科書『虎の巻』第1部 第3章 汎関数と変分(数学だけ)
目次
  1. 1変数と多変数の極値問題
  2. 汎関数
  3. 汎関数の極値問題
  4. 木下の層

AI 生成・木下が未勉強

解析力学から様々な理論分野を組み立てる 第1部 第3章 §1.3.1 ★★★ 1変数・多変数の極値問題と同じ問いを、関数を変数にして立て直す

解析力学は、運動の法則を「ある量が停留する」という形で書き直す。その量は作用 S[q]=∫t1t2L dtS[q]=\int_{t_1}^{t_2}L\,\mathrm{d} t で、経路 q(t)q(t) を1本入れると数が1つ返ってくる。普通の微分積分で扱う関数 f(x)f(x) は数を入れて数を返すが、作用は関数を丸ごと入れて数を返す。この違いのせいで、「作用を経路で微分する」「経路をずらす δq\delta q」といった言い回しが、普通の微分の言葉のままでは意味が定まらない。この章では物理の内容には立ち入らず、この言い回しに数学の意味を与える。

この章で作る道具は4つある。1つ目は汎関数(関数を入れて数を返すもの)という見方で、1変数・多変数の極値問題と並べて導入する。2つ目は離散化で、経路を有限個の点の値で表すと汎関数はただの多変数関数になり、多変数の微分の知識がそのまま使える。3つ目は変分 δ\delta で、経路を1つの実数 ϵ\epsilon でずらした族を作り、ϵ\epsilon で普通に微分する操作として定義する。これで δ\delta と微分 d\mathrm{d} の違い、δ\delta と d/dt\mathrm{d}/\mathrm{d} t を入れ替えてよい理由がはっきりする。4つ目は汎関数微分 δF/δq(t)\delta F/\delta q(t) で、多変数関数の偏微分 ∂f/∂xi\partial f/\partial x_i の添字 ii を連続の tt に置き換えたものにあたる。最後に、すべての方向への変分が 00 になる条件(停留)が「汎関数微分 =0=0」と同じであることを変分法の基本補題で示し、停留が最小とは限らないことを2次の変分で確かめる。

一般の被積分関数 L(q,q˙,t)L(q,\dot q,t) について停留の条件を書き下したものが Euler–Lagrange 方程式で、その導出と、端を固定しないときの境界条件は次の章(第1部第4章)で扱う。この章では具体的な汎関数だけを相手にして、道具の意味を固めることに専念する。

1変数と多変数の極値問題

出発点は高校以来の極値問題である。x0x_0 から少し動かした f(x0+h)=f(x0)+f′(x0)h+O(h2)f(x_0+h)=f(x_0)+f'(x_0)h+\mathcal{O}(h^2) では、1次の項が hh の符号によって増減の向きを変えるので、滑らかな関数 f(x)f(x) が x0x_0 で極値をとるなら f′(x0)=0f'(x_0)=0 が成り立つ。f′(x0)≠0f'(x_0)\neq0 なら、hh を正と負のどちらかに選べば ff を f(x0)f(x_0) より小さくも大きくもできるので、x0x_0 は極値になりえない。f′(x0)=0f'(x_0)=0 を満たす点を停留点と呼ぶ。極小・極大・変曲点のどれもが停留点になるので、停留は極値の必要条件にすぎない。

変数が NN 個の関数 f(x1,…,xN)f(x_1,\dots,x_N) でも同じ考え方をする。動かす向きが1通りでなくなるので、向き h=(h1,…,hN)h=(h_1,\dots,h_N) を1つ決め、その向きに実数 ϵ\epsilon だけ動かした f(x+ϵh)f(x+\epsilon h) を ϵ\epsilon の1変数関数として微分する。

ddϵf(x+ϵh)∣ϵ=0=∑i=1N∂f∂xihi.(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}

これを hh 方向の方向微分と呼ぶ。右辺は連鎖律から出る。xx が停留点であるとは、すべての向き hh について方向微分が 00 になることで、hh に各座標軸の向きを順に入れれば、これは ∂f/∂xi=0\partial f/\partial x_i=0(i=1,…,Ni=1,\dots,N)と同じ条件になる。この章では、「1つの向きを決めて実数1つで動かし、普通に微分する」という同じ手順を関数の空間で行う。

汎関数

定義 1.3.1(汎関数)

区間 [t1,t2][t_1,t_2] 上の滑らかな関数 q(t)q(t) の集まりを考える。そこに属する関数 qq を1つ入れるたびに実数を1つ返す対応 FF を汎関数と呼び、その値を角括弧で F[q]F[q] と書く。

角括弧は「関数 qq 全体を入れる」ことを示す。F[q]F[q] は特定の時刻の値 q(t)q(t) だけでなく、区間全体での qq のふるまいで決まる。これに対して、普通の関数の引数は丸括弧で書く。S[q]S[q](作用)と S(q,t)S(q,t)(後の章で出る Hamilton の主関数)は、括弧で区別する。

典型的な汎関数を4つ挙げる。

F1[q]=∫t1t2q(t)2 dt,F2[q]=q(t0)(t1<t0<t2),ℓ[y]=∫x1x21+y′(x)2 dx,S[q]=∫t1t2L(q(t),q˙(t),t) dt.\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*}

F1F_1 は関数の2乗の面積、F2F_2 は1点での値を取り出すだけの汎関数で、これも「関数を入れて数を返す」ので汎関数に入る。ℓ[y]\ell[y] は平面上の曲線 y(x)y(x) の長さで、1+y′2 dx\sqrt{1+y'^2}\,\mathrm{d} x が線素 dx2+dy2\sqrt{\mathrm{d} x^2+\mathrm{d} y^2} にあたる。S[q]S[q] は被積分関数 LL が qq・q˙\dot q・tt の普通の関数である汎関数で、解析力学の作用はこの形をしている。この章では LL を物理の Lagrangian と結びつけず、「3つの数を入れて数を返す与えられた関数」とだけ考える。L=T−VL=T-V という選び方の理由は 第1部第5章 で扱う。

汎関数の値は経路全体で決まるので、qq と q˙\dot q は LL の中では独立な2つの変数として入るが、経路を1本決めると q˙(t)\dot q(t) は q(t)q(t) の導関数として決まる。L(q,q˙,t)L(q,\dot q,t) の偏微分 ∂L/∂q\partial L/\partial q は「q˙\dot q と tt を止めて qq だけ動かす」偏微分で、経路の上で qq を動かすと q˙\dot q も一緒に動く、という事情とは別の話である。この区別は1.3.6節で、教科書の書き方と並べてもう一度扱う。

汎関数の極値問題

変分問題とは、端の値 q(t1)=qaq(t_1)=q_{\mathrm a}, q(t2)=qbq(t_2)=q_{\mathrm b} を決めた関数のうちで、汎関数 F[q]F[q] を最小(または停留)にするものを探す問題である。平面上の2点を結ぶ曲線のうち最も短いものを探す問題は、ℓ[y]\ell[y] の変分問題になる。答えが線分であることは誰でも知っているが、それを「ℓ\ell の微分が 00」という計算で出すには、関数を変数とする微分を定義する必要がある。多変数の場合の式 (1.3.1) を手本にすると、次の2つを決めればよい。1つは「関数 qq を動かす向き」で、これは端で 00 になる関数 η(t)\eta(t) である(端の値を決めた問題なので、端は動かさない)。もう1つは「その向きに実数 ϵ\epsilon だけ動かした F[q+ϵη]F[q+\epsilon\eta] を ϵ\epsilon で微分する」ことで、これは普通の1変数の微分である。この2つを1.3.3節で定義として書き、1.3.4節で偏微分 ∂f/∂xi\partial f/\partial x_i にあたるものを取り出す。その前に、汎関数をいったん普通の多変数関数に直して、この手順が多変数の微分そのものであることを1.3.2節で確かめておく。

例題 1.3.1 2変数の停留点と方向微分 ★

オリジナルf(x1,x2)=x12+x1x2+x22−3x1f(x_1,x_2)=x_1^2+x_1x_2+x_2^2-3x_1 について次に答えよ。

  1. (1) 向き h=(h1,h2)h=(h_1,h_2) の方向微分 ddϵf(x+ϵh)∣ϵ=0\frac{\mathrm{d} }{\mathrm{d} \epsilon}f(x+\epsilon h)\big|_{\epsilon=0} を直接計算し、式 (1.3.1) の右辺と一致することを確かめよ。
  2. (2) すべての向きで方向微分が 00 になる点を求め、そこでの ff の値を求めよ。
  3. (3) その点で f(x+ϵh)f(x+\epsilon h) を ϵ\epsilon の2次まで展開し、どの向きに動かしても ff が増えることを示せ。
解答

(1) f(x+ϵh)=(x1+ϵh1)2+(x1+ϵh1)(x2+ϵh2)+(x2+ϵh2)2−3(x1+ϵh1)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) を ϵ\epsilon で微分して ϵ=0\epsilon=0 とおくと

2x1h1+(x1h2+x2h1)+2x2h2−3h1=(2x1+x2−3)h1+(x1+2x2)h2.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 .

∂f/∂x1=2x1+x2−3\partial f/\partial x_1=2x_1+x_2-3, ∂f/∂x2=x1+2x2\partial f/\partial x_2=x_1+2x_2 なので、式 (1.3.1) の右辺と一致する。

(2) h1h_1 と h2h_2 が任意なので、係数がともに 00 である。2x1+x2=32x_1+x_2=3, x1+2x2=0x_1+2x_2=0 を解いて (x1,x2)=(2,−1)(x_1,x_2)=(2,-1)。このとき f=4−2+1−6=−3f=4-2+1-6=-3 である。

(3) 停留点では1次の項が消え、ff が2次式なので展開は2次で終わる。

f(x+ϵh)=−3+ϵ2 (h12+h1h2+h22)=−3+ϵ2[(h1+h22)2+34h22].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].

括弧の中は h≠0h\neq0 なら正なので、どの向きに動かしても ff は −3-3 より大きくなる。停留点 (2,−1)(2,-1) は最小点である。1次の項が消えることと、2次の項の符号が決まることを分けて調べる手順は、1.3.5節で汎関数についても同じ手順で行う。

木下の勉強ステータス

木下はまだこの記事を勉強していません。

AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com

← AI生成教科書『虎の巻』の記事一覧へ