變分法簡介Part 1.(Calculus of Variations)

  1. 泛函數 (Functionals)

簡而言之,泛函數是函數的函數,即它的輸入是函數,輸出是實數。而這個輸出值取決於一個或多個函數(輸入)在一整個路徑上的積分而非像一般函數一樣取決於離散的變量。這樣說可能還是比較抽象,不過堅持看到下文的Example 1就可以更好理解瞭。

通常在變分法中,泛函數是一個積分,記做I

I(y)=int_{x1}^{x2}Fdx

其中我們想要通過選擇被積函數F來最大化或最小化泛函數I的值。同時我們稱F為拉格朗日函數(Lagrange function)。F可以是函數y(x)y(x)各階導數的函數(以下y(x)均簡寫成y)。為瞭說明方便,我們先姑且設Fyy'的函數,所以我們可以進一步將泛函數I寫成:

I(y)=int_{x1}^{x2}F(y,y';x)dx

積分裡面我用分號;將x和前面的y隔開代表yy'x的函數。一般Fy的函數關系是已知的,所以想要最大或最小化泛函數,實際上是通過選擇適當的函數y(x)

為瞭透徹理解這個概念,我們可以來看一個簡單的例子。

Example 1.

一個最簡單直觀的例子是求兩個固定點之間的最短路徑。當然大傢都知道兩點之間直線最短,這裡可以用變分法做出解釋。

如上圖所示路徑是一任意路徑,我們取區中一小段微元ds,可以容易計算微元斷的長度為:

ds^2=dx^2+dy^2=[1+(y')^2]dx^2,即:

ds=sqrt{1+(y')^2}dx

積分得到總的路徑長度為:

L=int_{x1}^{x2}ds=int_{x1}^{x2}sqrt{1+(y')^2}dx

這個例子中,L是泛函數,sqrt{1+(y')^2}是拉格朗日函數F,我們想要找一個函數y(x)使得泛函數L的值最小。這次Part 1.的任務就是為解決這個問題做準備。Part 2.中我們會用變分法證明這個y(x)確實是直線的方程。

2. 泛函數的極值

這裡重申下,泛函數I在區間[x_1,x_2]上的值取決於積分路徑的選擇,即取決於函數y(x)的選擇。我們有理由假設存在一個這樣的y(x),可以使得泛函數I取到極值。而在這個y(x)附近的任意路徑我們記做tilde{y}(x)。另外,我們假設y(x)兩階可微。通過引入一個微小量epsilonll 1和一個任意可微函數eta(x),我們可以用y(x)表示tilde{y}(x):

tilde{y}(x)=y(x)+epsiloneta(x)

這樣做的好處是對於一個給定的eta(x),我們可以通過改變epsilon的值來得到無窮多的路徑,同時對於任何eta(x),當epsilon=0的時候,tilde{y}(x)y(x)重合。

圖像直觀表示如下圖:

由於在邊界條件的限制,eta(x_1)=eta(x_2)=0。這樣就能保證tilde{y}(x)可以通過兩個固定端點。

這時我們可以說,y(x)所對應的泛函數I的值是泛函數tilde{I}=int_{x_1}^{x_2}F(tilde{y},tilde{y}';x)dx的極值。我們可以進一步用epsilon表示tilde{I}

tilde{I}=int_{x_1}^{x_2}F(tilde{y},tilde{y}';x)dx=int_{x1}^{x_2}F(y+epsiloneta,y'+epsiloneta';x)dx

雖然y(x)未知,但是根據之前的合理假設,y(x)是一個存在的確定函數。所以根據上式,如果給定一個特定的eta(x)tilde{I}的變化隻取決於epsilon的變化。所以我們現在可以把tilde{I}看做是epsilon的函數。用泰勒展開公式將tilde{I}epsilon=0處展開得到:

tilde{I}(epsilon)=tilde{I}|_{epsilon=0}+(frac{dtilde{I}}{depsilon})Big|_{epsilon=0}cdotepsilon+ (frac{d^2tilde{I}}{depsilon^2})Big|_{epsilon=0}cdotfrac{epsilon^2}{2!} +cdot cdot cdot =tilde{I}_0+tilde{I}_1epsilon+tilde{I}_2epsilon^2+cdot cdot cdot

很明顯,當epsilon=0時,tilde{I}|_{epsilon=0}=I,帶入上式可得到:

tilde{I}-I=tilde{I}_1epsilon+tilde{I}_2epsilon^2+cdot cdot cdot

這裡我們記delta I=tilde{I}_1epsilon=frac{dtilde{I}}{depsilon}Big|_{epsilon=0}cdotepsilon,並稱之為一階變分。同理二階變分為delta I^2=tilde{I}_2epsilon^2

(這裡插一句變分和微分的區別。變分在上圖的直觀解釋是tilde{y}y在豎直方向上的距離,稱之為delta y,所以這個差是在同一個x上計算的。而微分則是由於x的微小變動引起的y的變動。)

然後我們可以類比求函數極值時的做法。求函數極值時,我們會令函數的一階導數為零。這裡同樣,為瞭求泛函數tilde{I}的極值,我們令一階變分delta I=0。現在我們計算化簡delta I:

delta I=(int_{x_1}^{x_2}frac{dtilde{F}}{depsilon}Big|_{epsilon=0} dx)cdotepsilon

frac{dtilde{F}}{depsilon}Big|_{epsilon=0} cdotepsilon=(frac{partialtilde{F}}{partialtilde{y}}cdotfrac{dtilde{y}}{depsilon}+ frac{partialtilde{F}}{partialtilde{y'}}cdotfrac{dtilde{y'}}{depsilon})Big|_{epsilon=0}cdotepsilon

因為 tilde{y}(x)=y(x)+epsiloneta(x), 不難得到:frac{dtilde{y}}{depsilon}=eta ,frac{dtilde{y'}}{depsilon}=eta' ,另外我們有delta y=epsilon eta,delta y'=epsiloneta'

又因為當epsilonrightarrow 0時,tilde{F}rightarrow F, tilde{y}rightarrow y,tilde{y}'rightarrow y',將這些式子帶入原式可以得到:

delta I=int_{x_1}^{x_2}(frac{partial F}{partial y}delta y+frac{partial F}{partial y'}delta y')dx

終於到最後一步啦,分部積分一下得到:

delta I=int_{x_1}^{x_2}(frac{partial F}{partial y}-frac{d}{dx}(frac{partial F}{partial y'} ))delta ydx+frac{partial F}{partial y'}delta yBig|_{x_1}^{x_2}

delta I=0就可以解得最小化泛函數的y啦。我們註意到delta I有兩個部分。對於第一個積分部分,由於delta y是任意的,所以要想使這個部分等於零,需要保證^{[1]}

frac{partial F}{partial y}-frac{d}{dx}(frac{partial F}{partial y'} )=0 (x_1leq xleq x_2)

這就是傳說中的歐拉-拉格朗日方程(E-L equation)。

而第二部分等於零則是邊界條件。

在Part 2., 我們會以用這次介紹的內容和上述方程解決兩點之間直線最短的問題為開頭,繼續介紹變分法。

—————————————————————————————————————————

註[1]:

假設x_1x_2是給定的常數,phi(x)是一個特定的在x_1leq xleq x_2上連續的函數,那麼如果對於任意連續可微的函數eta(x)都成立int_{x_1}^{x_2}phi(x)eta(x)dx=0,則phi(x)=0 (x_1leq xleq x_2)。

(任意函數和一個非零的特定函數的乘積仍是任意函數,由於無法保證任意函數的積分是零,所以這個特定函數必須在這個區間上恒等於零使得乘積為零,這樣可以保證積分為零。)

赞(0)