JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

在函數空間中求最優

普通微積分尋找最佳的數;這裡我們尋找最佳的整條曲線。讓我們認識泛函、第一變分,以及當一整個函數(而非一個點)成為極小值時究竟意味著什麼。

從最佳的數到最佳的曲線

在第一卷中,你學會了尋找普通函數 f(x) 在何處取最大或最小值:求導數,令 f'(x) = 0,再讀出那些特殊的輸入。答案始終是一個數——峰頂或谷底所在的那個 x。變分法提出了一個更大膽的問題。如果我們要選擇的根本不是一個數,而是一整個形狀——一條從某點延伸到另一點的完整曲線 y(x)——又會怎樣?一條懸掛的鏈子應取什麼形狀?小珠沿哪條路徑下滑最快?這裡的未知量是一個函數,而舞台是無窮維的。

把整個函數變成單個數的機器稱為泛函。可以把它看成函數的函數:你輸入一整條曲線 y(x),它返回一個數——曲線的長度、下滑的時間、儲存的能量。典型的泛函形如 J[y] = 從 a 到 b 對 L(x, y, y') dx 積分,其中被積函數 L 在每一點都依賴於位置 x、高度 y(x) 以及斜率 y'(x)。方括號 J[y] 是有意為之的提醒:輸入是一個函數,而不是一個數。

擾動曲線:第一變分

當候選者是一整條曲線時,我們究竟如何定義極大或極小?借用第一卷的精神。要檢驗數 x0 是否使 f 取極小,你曾推動它:f(x0 + h),問值是否上升。要檢驗曲線 y(x) 是否使 J 取極小,我們就推動整條曲線。取一個小小的「擾動」eta(x)——任何在兩端點都為零的光滑函數,使得變形後的曲線仍從該出發、在該結束的地方出發與結束——然後考察這一族 y(x) + epsilon eta(x)。當旋鈕 epsilon 離開零時,曲線隨之彎曲;問題是 J 是否上升。

一旦擾動 eta 固定下來,J[y + epsilon eta] 就只是單個數 epsilon 的普通函數。我們又回到了第一卷的地盤!記它為 Phi(epsilon) = J[y + epsilon eta]。若原曲線 y 要成為極小,則 epsilon = 0 必須是 Phi 的普通極小值,於是普通導數 dPhi/d epsilon 在 epsilon = 0 處必須為零。這個導數有個名字:第一變分,記作 delta J。它所扮演的角色,恰恰就是 f'(x0) 對單個數所扮演的角色——它是泛函沿擾動方向的斜率。

對整條曲線而言「駐定」意味著什麼

關鍵的轉折在此。對單個數,f'(x0) = 0 是一個條件。但第一變分必須對每一個容許的擾動 eta 同時為零——變形曲線的方式有無窮多種,真正的極小值必須勝過所有這些方式。令 delta J = 0 並用分部積分(變分法的主力工具,從第一卷回想起來)來計算它,便把這一要求化為一個積分:從 a 到 b 對 [ partial L / partial y - d/dx ( partial L / partial y' ) ] eta(x) dx 積分 = 0,且對每一個在兩端為零的 eta 都必須成立。

接下來是一小段雖小卻決定性的邏輯,即變分法基本引理:若一個連續量乘以每一個可能的 eta 後積分總為零,則該量本身必處處為零。這一直覺誠實而簡單——倘若方括號中的表達式在某一小段上為正,我們便可選一個恰好在那裡、而別處都不鼓起的 eta,使積分為正,矛盾。於是方括號必在每一點為零,從而給出著名的歐拉-拉格朗日方程

Euler-Lagrange equation:

  d  ( partial L )    partial L
  -- ( -------- )  -  --------  =  0
  dx ( partial y')    partial y

for a functional   J[y] = integral_a^b  L(x, y, y') dx
歐拉-拉格朗日方程:最優曲線在每一點都必須滿足的一個微分方程。

解讀方程,以及它並不保證什麼

請注意剛才發生了什麼。條件 delta J = 0 本是關於無窮多個擾動的陳述,卻坍縮成關於未知曲線 y(x) 的一個普通微分方程——通常是二階的。無窮變成了有限。如今求解變分問題成了熟悉的任務:積分那個微分方程,再用兩個端點值 y(a) 與 y(b) 定下兩個積分常數。一旦寫下歐拉-拉格朗日方程,第二卷全部的微分方程方法立刻可用。

要誠實地說明這個方程保證了什麼,正如第一卷對 f'(x) = 0 的誠實。歐拉-拉格朗日方程的解是一條駐定曲線:第一變分在那裡為零。這對極小值是必要的,但並不充分。正如 f'(x) = 0 可能標記極大、極小或拐點,一條駐定曲線在函數空間中也可能是真正的極小者、極大者或鞍點——而真正的極小者還須通過一個二階檢驗(相當於 f''(x) > 0)。更糟的是,極小值未必存在:某些泛函根本沒有最小值,只是滑向一個沒有任何實際曲線能達到的下確界。方程找出候選者;確認勝出者還需更多功夫。

由此打開的兩個問題

一種方法的威力,最好在真實問題上去體會。看那條懸鏈:一條長度固定的柔軟鏈子懸於兩柱之間,安頓成使其重力勢能最小的形狀。把這能量寫成泛函並應用歐拉-拉格朗日方程,得到的不是伽利略最初猜想的拋物線,而是雙曲餘弦 y = c cosh(x/c)——懸鏈線。這形狀並非設計者的選擇;它是「能量泛函取駐定值」這一要求所迫成的。

又或這門學科的奠基問題,最速降線:在一高點與一低點之間塑出一條鋼絲,使小珠從靜止出發、在重力下滑動,用時最短而到達。下滑時間是鋼絲形狀的泛函;歐拉-拉格朗日方程給出一條旋輪線——滾動車輪上一點所描出的曲線。引人注目的是,最快路徑竟低於直線,以更長的路程換取早早獲得的速度。當初馴服懸鏈的那同一套第一變分邏輯,也裁決了這場賽跑。

  1. 把你想優化的量寫成泛函 J[y] = 對 L(x, y, y') dx 積分。
  2. 通過擾動 y -> y + epsilon eta(eta 在兩端為零)構造第一變分,並要求 delta J = 0。
  3. 用基本引理把 delta J = 0 轉化為歐拉-拉格朗日微分方程。
  4. 求解該方程,並用兩個端點條件 y(a) 與 y(b) 定下其常數。