長度固定,形狀自由
本階梯中較早的幾份指南,是在所有端點固定的曲線上極值化一個泛函 J[y] = L(x, y, y') 對 x 的積分,而穩定曲線所滿足的條件就是歐拉-拉格朗日方程。但整個學科最著名的那個問題,並不能乾淨俐落地塞進這個框架。傳說中迦太基女王狄多被許諾:用一張牛皮剪成的細條能圈住多大的地,那地就歸她——給定一根定長 P 的繩子,怎樣的閉曲線能圍出最大的面積?這就是最初的等周問題(iso = 相等,perimeter = 週長),而其中的關竅在於:我們已不能再隨心所欲地改變曲線了——每一條參與競爭的曲線都必須保持同一個週長 P。我們要極值化一個泛函(面積),同時讓另一個泛函(長度)保持固定。
如果這聞起來很像你在有限維裡遇到的約束優化,那你的嗅覺一點沒錯。回憶有限維的拉格朗日乘數:要在 g(x) = c 的約束下極值化 f(x),你不必硬碰約束——你構造 f - lambda g,並去尋找這個組合的無約束穩定點,讓那個數 lambda 把約束吸收進去。變分法把這個想法整批繼承了下來。如今未知量是整個的函數而非一個個點,目標與約束是積分而非普通函數,但這套配方在升級之後,其精神絲毫未變。
用於泛函的拉格朗日乘數
把方法濃縮成一句乾淨的話。要在固定取值的約束 K[y] = M 的積分 = c 下極值化 J[y] = L 的積分,就引入一個常數 lambda,轉而去極值化組合泛函 J - lambda K = (L - lambda M) 的積分,把它當作一個普通的無約束問題來對待。這就是用於泛函的拉格朗日乘數。具體而言:寫下修改後的被積函數 H = L - lambda M,對 H 跑一遍普通的歐拉-拉格朗日方程,你便得到一個含有未知數 lambda 的微分方程。這樣你比先前多了一條方程,但也多了一個未知量——而那條補足的方程,恰恰就是約束 K[y] = c 本身,它把 lambda 釘死。數目恰好相配,系統就此封閉。
Isoperimetric / constrained variational problem
extremize J[y] = integral_a^b L(x, y, y') dx
subject to K[y] = integral_a^b M(x, y, y') dx = c (fixed)
Step 1 Form H = L - lambda * M (one unknown constant lambda)
Step 2 Euler-Lagrange on H:
d/dx ( dH/dy' ) - dH/dy = 0
Step 3 Solve the ODE for y(x); the answer carries lambda along.
Step 4 Impose K[y] = c to fix lambda (and use boundary data for
the integration constants).把它用在狄多女王的問題上,答案正是你的直覺一直在低聲告訴你的那個:在所有給定長度的閉曲線之中,圓所圍出的面積最大。當你把面積與長度都寫成積分、構造 H、再施以歐拉-拉格朗日方程,所得的方程會說曲率處處為常數——而一條曲率為常數的平面曲線,恰恰就是圓。那個乘數 lambda 結果正好等於半徑。同一套機器,把兩個泛函的角色對調一下,也能證明其對偶命題:在所有圍出給定面積的曲線之中,圓的週長最短。一套方法,由單獨一個數來了斷。
懸鏈,由一個乘數來裁定
最具物理意味的等周問題是懸鏈線——一條定長 L 的柔軟鏈子懸掛在兩根柱子之間所取的形狀。大自然以一條美得慵懶的原理來裁定它:鏈子會下垂成任何能讓其質心儘可能最低的形狀,從而極小化重力勢能。那勢能正比於 y ds 的積分 = y sqrt(1 + y'^2) 對 x 的積分,即沿弧加權的高度。但鏈子無法伸長,所以它的總長度 sqrt(1 + y'^2) 的積分 = L 就是那個固定的約束。壓低高度、保持長度:一個徹頭徹尾的等周問題。
構造 H = (y - lambda) sqrt(1 + y'^2)——即高度被積函數減去 lambda 乘以長度被積函數。由於 H 中不顯含 x,你可以略過完整的歐拉-拉格朗日方程,改用早先一份指南裡的捷徑——貝爾特拉米恆等式,它立刻給你一個首次積分:H - y' (dH/dy') = 常數。把它推演下去,便得到 y - lambda = C cosh((x - x0)/C),即雙曲餘弦。鏈子掛成的是懸鏈線,而不是許多人所猜的拋物線。乘數 lambda 在這裡同樣有乾淨的物理含義:它不過是設定參考水平面的高度,即那個豎直方向的平移常數,而長度約束則定下垂度參數 C。同樣的形狀翻轉過來,就是那座純受壓而屹立的拱——這正是它出現在大教堂穹頂與聖路易斯大拱門上的緣由。
多個函數,多個變量
真實問題裡很少只牽涉單獨一條未知曲線 y(x)。一顆行星劃出的軌跡有好幾個座標 x(t)、y(t)、z(t);一個振動系統同時擁有許多位移。設被積函數依賴於多個函數,L(t, y1, y2, ..., y1', y2', ...)。變分原理幾乎不變:你可以獨立地撥動每一個函數,因此每一個都必須各自使泛函穩定。結果是每個未知函數對應一條歐拉-拉格朗日方程,對每個 k 有 d/dt(dL/dyk') - dL/dyk = 0,它們通過共享的被積函數相互耦合。單條方程於是化為一個方程組,每個自由度一條——而這些耦合方程,正是哈密頓原理為整個力學系統重現牛頓定律的方式,每個座標一條運動方程。
還有第二種真正不同的推廣:未知量可以是多個變量的函數,比如某個區域上的高度 u(x, y)。這時泛函是一個二重積分,J[u] = L(x, y, u, u_x, u_y) 對 x、y 的二重積分,其中 u_x 與 u_y 是偏導數。如今對 u 作變分並要求穩定,所產生的不再是常微分方程,而是一個偏微分方程:d/dx(dL/du_x) + d/dy(dL/du_y) - dL/du = 0。最乾淨的例子是肥皂膜,即張在金屬絲圈上的極小曲面:對平緩的膜而言,極小化面積在一階近似下給出拉普拉斯方程,正是那條支配穩態熱傳導與靜電學的拉普拉斯方程——於是一張繃緊的膜與一個溫度場服從同一條定律,二者都是大自然在極小化某種能量時所做的事。
當端點可以自由移動
至此每一個問題都把曲線的兩個端點都固定住了。但有時其中一端可以自由滑動。設想一顆穿在線上的珠子,必須從一根固定的柱子出發,卻可以在一條豎直導軌上的任意處結束——最優路徑會在導軌的哪一點與它相遇?當我們推導歐拉-拉格朗日方程時,那一步分部積分吐出了一個邊界項,而我們是靠堅持變分在兩端為零(端點固定就沒有撥動的餘地)才讓它消失的。一旦端點自由,這條退路就沒了:變分在那裡不為零,於是邊界項必須自己消失。令它為零,便給出解在自由端處必須滿足的一個條件,它凌駕於內部的歐拉-拉格朗日方程之上、是額外的一條。
那個自我強加的條件,就是自然邊界條件。對標準被積函數 L(x, y, y') 而言,它寫作:在自由端處 dL/dy' = 0。這些條件之所以叫「自然」,是因為你並非依據邊界的物理由手工把它們強加上去——變分原理會免費生成它們,作為你讓端點鬆開所付的代價。它們正是自然邊界條件,其物理讀法十分鮮活:對一根末端無支撐的樑,自然條件說那裡的彎矩為零;對張在開放邊緣上的肥皂膜,它說膜以直角與邊緣相交;對一根末端暴露的受熱桿,它編碼了那裡沒有被規定的熱通量。自由端並不意味著「沒有條件」——它意味著一個由數學替你選定的條件。