泛函是什麼?從函數到變分法的第一步
普通微積分找讓函數極值的數字;泛函與變分法則找讓泛函極值的函數形狀。本文從泛函的定義出發,推導 Euler–Lagrange 方程式,並以最短路徑、最速降線、費馬原理與最小作用量說明應用。
微積分還不夠
學完微積分,你已經知道如何找極值:令 $f’(x) = 0$,解出讓函數值最大或最小的數字 $x^*$。
但有些問題的答案不是一個數字,而是一條曲線的形狀:
- 重力場中從 $A$ 到 $B$,讓鋼珠滑行時間最短的軌道是什麼形狀?
- 兩端固定的鏈條,在重力下自然懸掛成哪條曲線?
- 在所有連接兩點的曲線中,哪一條最短?(你當然猜得到答案,但能否用方程式推出來?)
這些問題的共同結構是:在所有可能的函數(即曲線)中,找出讓某個量(時間、位能、弧長)極值的那一條。
這正是變分法(calculus of variations)與泛函(functional)的用武之地。
泛函:吃函數、吐數字
普通函數把一個數映射到另一個數,例如 $f(x) = x^2$ 吃數字 $x$,吐出 $x^2$。
泛函把一整條函數映射到一個數,標準形式為:
\[J[y] = \int_a^b F\!\left(x,\, y(x),\, y'(x)\right)\dd{x}\]它吃進整條曲線 $y(x)$,吐出一個數字。記號慣例用方括號 $J[y]$(輸入是函數),與一般函數的圓括號 $f(x)$(輸入是數字)做區分。
兩個具體例子:
弧長泛函:
\[J[y] = \int_a^b \sqrt{1 + y'(x)^2}\,\dd{x}\]吃進一條曲線,吐出它的弧長。
作用量泛函(拉格朗日力學):
\[S[q] = \int_{t_1}^{t_2} L(q,\dot{q},t)\,\dd{t}\]吃進一條粒子軌跡 $q(t)$,吐出作用量(動能減位能的時間積分)。
問題設定
變分法的核心問題:在所有滿足邊界條件
\[y(a) = y_A,\qquad y(b) = y_B\]的函數 $y(x)$ 中,找使 $J[y]$ 取極值的那一條 $y^*(x)$。
與普通微積分的對照:
| 普通微積分 | 變分法 | |
|---|---|---|
| 極值化的對象 | 數字 $x$ | 函數 $y(x)$ |
| 極值條件 | $f’(x^*)=0$ | Euler–Lagrange 方程式 |
| 輸出(泛函/函數的值) | 數字 | 數字 |
推導:第一變分與 Euler–Lagrange 方程式
引入擾動
設 $y^*(x)$ 是極值函數。對它施加微小擾動 $\varepsilon\eta(x)$:
\[y_\varepsilon(x) = y^*(x) + \varepsilon\,\eta(x)\]其中 $\eta(x)$ 是任意光滑函數,端點不動要求
\[\eta(a) = \eta(b) = 0\]把 $y_\varepsilon$ 代入泛函,得到關於 $\varepsilon$ 的普通函數:
\[\varphi(\varepsilon) = J[y_\varepsilon] = \int_a^b F(x,\, y^* + \varepsilon\eta,\, y^{*\prime} + \varepsilon\eta')\,\dd{x}\]極值條件等價於 $\varphi’(0) = 0$。
計算 $\varphi’(0)$
對 $\varepsilon$ 微分並令 $\varepsilon = 0$:
\[\varphi'(0) = \int_a^b \left(\pdv{F}{y}\cdot\eta + \pdv{F}{y'}\cdot\eta'\right)\dd{x}\]對第二項做分部積分,令 $u = \pdv*{F}{y’}$,$\dd{v} = \eta’\,\dd{x}$:
\[\int_a^b \pdv{F}{y'}\cdot\eta'\,\dd{x} = \underbrace{\left[\pdv{F}{y'}\cdot\eta\right]_a^b}_{=\,0 \text{(端點條件)}} - \int_a^b \dv{}{x}\!\left(\pdv{F}{y'}\right)\cdot\eta\,\dd{x}\]代回:
\[\varphi'(0) = \int_a^b \left[\pdv{F}{y} - \dv{}{x}\!\left(\pdv{F}{y'}\right)\right]\eta\,\dd{x} = 0\]Euler–Lagrange 方程式
由於 $\eta(x)$ 是任意光滑函數,上面積分恆為零意味著被積函數本身為零(變分引理):
\[\boxed{\pdv{F}{y} - \dv{}{x}\!\left(\pdv{F}{y'}\right) = 0}\]這就是 Euler–Lagrange 方程式。解它,就能找出使泛函極值的函數 $y^*(x)$。
例一:兩點之間最短路徑
連接兩定點的弧長泛函:
\[J[y] = \int_{x_1}^{x_2} \sqrt{1 + y'^2}\,\dd{x}\]此處 $F = \sqrt{1+y’^2}$,與 $y$ 無關,所以 $\pdv{F}{y} = 0$。Euler–Lagrange 方程式化為:
\[\dv{}{x}\!\left(\pdv{F}{y'}\right) = 0 \;\Rightarrow\; \pdv{F}{y'} = \frac{y'}{\sqrt{1+y'^2}} = C\text{(常數)}\]解得 $y’ = \text{常數}$,即
\[y = mx + b\]兩點間最短路徑是直線——答案早在直覺中,但現在被嚴格推出。
例二:最速降線——答案是擺線
問題(Brachistochrone):重力場中,從 $A$ 到 $B$($B$ 在 $A$ 右下方),什麼形狀的無摩擦軌道讓鋼珠滑行時間最短?
取 $y$ 軸向下為正,由能量守恆得高度 $y$ 處的速率為 $\sqrt{2gy}$。沿曲線的滑行時間:
\[T[y] = \int_0^{x_B}\frac{\sqrt{1+y'^2}}{\sqrt{2gy}}\,\dd{x}\]被積函數 $F$ 不顯含 $x$,可用 Beltrami 恆等式(E-L 的積分形式),最終解為擺線(cycloid):
\[x = R(\theta - \sin\theta),\qquad y = R(1-\cos\theta)\]這是 1696 年 Johann Bernoulli 提出的挑戰題。牛頓、萊布尼茲、Jacob Bernoulli 等人次年各自獨立解出——據傳牛頓在收到題目的同一個晚上就解完了。
直覺上為什麼不是直線?鋼珠需要先快速獲得速度(讓後段的水平行進更快),然後再往右滑。擺線在起點附近比直線更陡,正是為了「先加速,後行進」。
物理應用:費馬原理與最小作用量
變分法是整個理論物理的基礎語言。
費馬光學原理:光走讓光程 $\displaystyle\int n\,\dd{s}$ 極值(通常是最短)的路徑。折射定律(Snell’s law)
\[n_1\sin\theta_1 = n_2\sin\theta_2\]可由此直接推導——光「選擇」彎折路徑,正是因為這樣光程最短。
最小作用量原理:物理系統的真實運動軌跡 $q(t)$ 使作用量
\[S[q] = \int_{t_1}^{t_2} L(q,\dot{q},t)\,\dd{t}\]取極值。取 $L = T - V$(動能 $-$ 位能),Euler–Lagrange 方程式直接給出牛頓第二定律。換任何廣義座標,方程式形式不變,這正是拉格朗日力學相比牛頓力學的最大優勢。
統整
| 概念 | 對應 | 說明 |
|---|---|---|
| 泛函 $J[y]$ | 函數 $f(x)$ | 以整條函數為輸入,輸出一個數 |
| 第一變分 $\delta J = 0$ | 導數條件 $f’=0$ | 泛函極值的必要條件 |
| Euler–Lagrange 方程式 | $f’(x^*)=0$ | 解它即得極值函數 |
| 擺線(Brachistochrone) | 普通極值點 | 最速降線的解 |
| 作用量 $S[q]$ | 能量函數 | 拉格朗日力學的泛函 |
學習路線:泛函 $\to$ 第一變分 $\to$ Euler–Lagrange $\to$ 拉格朗日力學 $\to$ 費曼路徑積分。每一步都是「升一個抽象層次,換來更強的一般性」。