動機
一個量常常依賴於一些中間變量,而這些變量又依賴於其他輸入。高度取決於水平位置,位置又取決於時間;用直角座標表示的函數,也可以通過極座標輸入來研究。在這兩種情形中,變化都要經過中間變量。鏈式法則負責把每條影響路徑的貢獻準確相加。
可微性讓這個過程有嚴格依據。每一層函數都可以用線性映射近似,因此複合函數可以用這些線性映射的複合來近似。在座標中,複合對應矩陣乘法。矩陣的行列數記錄輸入、中間變量和輸出各有多少個,所以核對維數本身也是核對依賴結構的一種方法。
方向導數是特別重要的一種複合:把函數限制在經過基點的某條直線上。鏈式法則於是把梯度轉化為沿該直線的變化率。若限制在一般可微曲線上,就得到隨路徑移動時的變化率。這些公式把座標求導與最快上升、下降和等值集的幾何問題聯繫起來。
開始之前
對於 F:Rn→Rm,雅可比矩陣有 m 行、n 列。位移採用列向量;實值函數的梯度通過內積作用於位移。每寫一個雅可比矩陣,都應同時註明它的取值點:外層導數在內層函數的輸出處計算。
定義
定義
指定方向上的導數
設 f 定義在 a∈Rn 的開鄰域內,u 是單位向量。若有限雙側極限
Duf(a)=t→0limtf(a+tu)−f(a)存在,就稱它為沿 u 的方向導數。因為 ∥u∥=1,參數 t 表示沿該直線的帶符號距離。
同一個差商也可以使用任意固定向量 v。此時描述的是參數變化一單位時的輸出變化,移動速度為 ∥v∥。若 v=0,相應變化率等於 ∥v∥Dv/∥v∥f(a)。單位向量約定的作用,是把幾何方向與人為選擇的移動速度分開。
路徑 a+tu 只是接近該點的一種規定方式。沿它的導數存在,首先只說明這條路徑上的行為。即使每個方向導數都存在,也不自動保證有一個線性近似適用於所有小位移。下面的公式利用可微性建立這種更強的聯繫。
定義
沿曲線觀察到的變化率
設 γ:I→Rn 為可微曲線,t0 位於區間內部,且 f 定義在 γ(t0) 附近。沿曲線觀察到的量是一元函數 f∘γ;它在 t0 處的導數表示相對於曲線參數的變化率。向量 γ′(t0) 是速度,同時包含方向與速率。
因此,時間導數和單位方向導數可能具有不同單位。以秒為參數的曲線給出每秒的輸出變化;空間座標下的單位方向導數給出每單位距離的輸出變化。若當前速率非零,把前者除以速率,才得到當前移動方向上每單位距離的變化率。
定理與命題
定理
矩陣形式的鏈式法則
設 F:U⊆Rn→Rm 在 a 處可微,G:V⊆Rm→Rp 在 F(a) 處可微。假設 U,V 為開集,且複合函數在 a 附近有定義,則
D(G∘F)(a)=DG(F(a))DF(a).矩陣維數為 (p×m)(m×n)=p×n。
內層導數先作用於輸入位移,所以雖然它寫在乘積右邊,實際作用的次序卻在前。顛倒兩個矩陣通常會改變結果,甚至使乘法沒有定義。外層取值點 F(a) 同樣不可遺漏:外層導數衡量的是從當前輸入真正到達的中間位置附近的響應。
定理
曲線變化率與梯度
若 f 在 a=γ(t0) 處可微,且 γ 在 t0 處可微,則
(f∘γ)′(t0)=∇f(a)⋅γ′(t0).特別地,對單位向量 u,
Duf(a)=∇f(a)⋅u.若 ∇f(a)=0,最大的單位方向變化率為 ∥∇f(a)∥,在方向 ∇f(a)/∥∇f(a)∥ 取得;最小值為其相反數,在反方向取得。
柯西–施瓦茨不等式把內積的絕對值控制在梯度範數以內,等號條件確定最大與最小的方向。如果梯度為零,所有單位方向導數均為零,就沒有唯一的一階最快上升方向。僅憑這個結論還不能判斷該點是不是極值點。
證明思路
證明
把兩個線性近似連接起來
令 A=DF(a)、b=F(a)、B=DG(b)。對小位移,
F(a+h)=b+Ah+r(h),r(h)=o(∥h∥).記 Δ=Ah+r(h)。外層展開為
G(b+Δ)=G(b)+BΔ+s(Δ),s(Δ)=o(∥Δ∥).代入後,一階項為 BAh,餘項為 Br(h)+s(Δ)。由線性映射的範數上界,充分小的 h 滿足 ∥Δ∥≤C∥h∥。所以 Br(h)=o(∥h∥),外層餘項估計也推出 s(Δ)=o(∥h∥);若 Δ=0,該餘項直接等於零。因此複合函數具有導數 BA。
把鏈式法則用於直線 γ(t)=a+tu,由於直線的導數就是列向量 u,便得到方向導數公式。把它用於一般可微曲線,便得到速度內積公式。這個推導不要求曲線以單位速率移動。
等值集也有一個直接的幾何結果。若可微曲線在 t0 附近滿足 f(γ(t))=c,則沿曲線觀察到的值恆定,因而
∇f(a)⋅γ′(t0)=0.
當梯度非零時,它垂直於所有這樣的切向量。三維正則等值面的法向量可由此確定。這裏討論的是真正在等值集中運動的可微曲線,而不是先假定任意向量都一定能由這樣的曲線實現。
例題詳解
例題
兩層向量函數的乘法次序
設
F(x,y)=(x2+y, x−y2),G(u,v)=(uev, u2+v).在 a=(1,1),中間輸出為 F(a)=(2,0),所以
DF(a)=(211−2),DG(F(a))=(1421).按複合次序相乘得
D(G∘F)(a)=(49−32).例如第一行第一列的 1⋅2+2⋅1=4,就是輸入 x 經過兩條中間通道,對第一個最終輸出產生的總影響。
可直接核對:第一個複合分量是 (x2+y)ex−y2,在 (1,1) 的兩個偏導數為 4,−3;第二個分量是 (x2+y)2+x−y2,兩個偏導數為 9,2。獨立展開核對了矩陣次序與各層取值點。
例題
實際路徑與最快上升方向
設 T(x,y)=40−2x2−y2,路徑為 γ(t)=(1+t,2−t2)。當 t=0 時,位置是 a=(1,2),速度是 (1,0),而
∇T(a)=(−4,−4).因此沿當前路徑的變化率為 −4。直接代入得 T(γ(t))=34−4t+2t2−t4,在零點的導數也為負四。
同一點處,單位距離下最快上升的方向是 (−1,−1)/2,速率為 42;最快下降方向相反,速率為 −42。方向 (1,−1)/2 的一階變化率為零,它是等值橢圓 2x2+y2=6 的切向方向。
實際運動方向由速度決定,並不一定是最快上升方向。最快方向問題是在同一個點比較所有單位方向;這裏的幾何比較使用兩個座標相同的空間單位。
例題
極座標中的角度變化率
設 f(x,y)=x2y+xy2,並令
P(r,θ)=(rcosθ,rsinθ),r>0.其雅可比矩陣為
DP(r,θ)=(cosθsinθ−rsinθrcosθ).對 H=f∘P,鏈式法則給出
Hr=fxcosθ+fysinθ,Hθ=−rfxsinθ+rfycosθ,其中 f 的偏導數在 P(r,θ) 處取值。
當 (r,θ)=(2,π/2),直角座標點為 (0,2),此時 fx=4、fy=0。因此 Hr=0、Hθ=−8。角度參數對應的切向速度向量長度為二,所以同一切向方向上每單位距離的變化率是 −4。因子 r 記錄沿圓周的速度,不能從角度導數中隨意刪除。
閲讀依賴關係圖
設 w=g(u1,…,um),而每個中間變量 uj 都依賴於 x1,…,xn。對固定輸入 xi,
∂xi∂w=j=1∑m∂uj∂g∂xi∂uj.
每一項對應從 xi 經過 uj 到輸出的一條路徑。沿路徑相乘,再對所有中間變量求和,恰好就是雅可比矩陣的行乘列規則。
同一項中的兩個因子屬於不同層次。第一個因子在當前的中間變量值處計算,第二個因子在原始輸入點處計算。先寫明這些點,再相乘,能夠避免把所有導數都代入同一個座標組,甚至把維數不符的座標代入外層函數。
長複合中的矩陣乘法可以利用結合律分組,但不能改變各層的次序。每一次乘法都可用維數核對。標量輸出不意味着它的雅可比矩陣應寫成列:它是一行,作用於輸入列向量。梯度內積記號表達的正是同一個線性作用。
選擇題目真正要求的變化率
先識別參數:題目問的是每秒、每單位距離,還是每單位角度的變化?若問沿某方向每單位距離的變化,應把方向向量歸一化;若問沿實際運動每秒的變化,應保留速度向量的長度。若變化的是座標變換中的角度,就使用變換雅可比矩陣相應的列。
再確定各空間中的基點。曲線參數給出空間位置,座標變換給出直角座標輸入,內層函數給出外層導數的取值點。把這些值固定以後,才組裝導數因子。這樣能把“函數怎樣連接”與“當前在哪裏計算”分開檢查。
最後解釋符號和大小。內積為負表示此刻沿指定運動函數正在下降;內積為零表示沒有一階變化,並不保證沿整條直線一直保持常數。運動繼續後,曲率與高階效應仍可改變函數值。對於等值集,零變化來自路徑確實留在同一水平集中的條件。
切向方向不等於整條直線都是等值線
考慮 f(x,y)=x2+y2 在 (1,0) 處的情況。梯度為 (2,0),所以豎直單位方向的方向導數為零。但沿豎直直線,f(1,t)=1+t2;每個非零位移都會改變函數值,雖然基點處的導數為零。
與之比較,曲線 γ(t)=(cost,sint) 經過同一個點,在零點也有相同的豎直速度,卻因為 f(γ(t))=1 而始終留在等值圓上。兩條路徑的一階觀察變化率相同,二階偏離卻不同。方向導數記錄的是共同的一階信息,不負責區分後續效應。
這個比較說明切向量是瞬時速度,並不保證沿着相應整條直線都留在曲面上。使用梯度作法向量時,先明確等值集方程,並核實目標點處梯度非零;再對真正留在該集合中的曲線應用鏈式法則。這樣得到的正交關係是精確的局部結論,即使等值集整體形狀較複雜也成立。
常見錯誤
常見錯誤
方向向量與速度向量扮演不同角色
若方向由 v=(3,4) 給出,單位代表是 (3/5,4/5)。使用 a+tv 的差商表示以速率五移動,所以其變化率是單位方向變化率的五倍。只有要求每單位距離的變化時才需要歸一化;把實際速度歸一化會改變時間導數。
不能只因偏導數存在就使用梯度內積公式。該公式的條件是可微。即使所有方向導數都存在,它們對方向的依賴也可能不是線性的。最後一道練習給出連續函數的具體例子,指出這種差別。
總結
鏈式法則複合導數映射,並按函數次序相乘雅可比矩陣。沿曲線的實值變化率是梯度與速度的內積;單位方向下就是方向導數。柯西–施瓦茨不等式確定最快上升與下降。等值集中的切向速度垂直於梯度。取值點、矩陣維數和參數單位共同保證這些解釋一致。
練習
思考檢查
設 F(s,t)=(s+t,st)、G(u,v)=u2+v,用矩陣鏈式法則求 D(G∘F)(1,2)。
外層導數應在 F(1,2) 處取值。
解答 · 解答一:兩個中間輸入之後的一個輸出
F(1,2)=(3,2),所以 DG(3,2)=(6,1),並且
DF(1,2)=(1211).相乘得行向量 (8,7)。
思考檢查
設 f(x,y)=ex−y+xy,求原點處沿 (3,4) 方向的單位方向變化率,以及最大的單位方向變化率。
解答 · 解答二:指定方向與最大速率
函數光滑,∇f(0,0)=(1,−1)。給定方向的單位向量為 (3/5,4/5),所以變化率為 −1/5。最大單位變化率為 2,在 (1,−1)/2 方向取得。若直接使用 (3,4),得到的是參數變化率 −1。
思考檢查
在原點外定義 q(x,y)=x3/(x2+y2),並令 q(0,0)=0。證明原點處所有方向導數存在,但函數不可微。
先沿任意固定單位向量計算,再與座標偏導數所決定的候選梯度比較。
解答 · 解答三:方向信息未必線性
對單位向量 u=(u1,u2) 及非零 t,有 q(tu)=tu13,所以每個方向上 Duq(0)=u13。座標偏導數給出候選梯度 (1,0);若可微,則在 (1,1)/2 方向上的導數應是 1/2,實際卻為 1/(22),因此不可微。它仍然連續,因為 ∣q(x,y)∣≤x2+y2。
直線可能錯過彎曲的趨近路徑
學習鏈式法則時,可以先看標量內層函數 g:Rn→R 與一元外層函數 ϕ。若 g 在 p 可微,ϕ 在 g(p) 可微,且複合在附近有定義,則
D(ϕ∘g)(p)=ϕ′(g(p))Dg(p).
這個標量情形可以先於一般矩陣法則學習。例如 g(x,y)=x2+y2、ϕ(s)=es,複合函數在 (1,0) 的梯度是 e(2,0)=(2e,0)。外層導數代入的是 g(1,0)=1,而不是輸入座標對。在已經可微的條件下,方向導數公式也能直接由線性餘項定義推出,毋須先掌握矩陣乘法。
例題
所有方向導數都存在,函數卻不連續
在整個平面上定義
f(x,y)=⎩⎨⎧x2+y4xy2,0,(x,y)=(0,0),(x,y)=(0,0).分母只在原點為零,而原點的函數值已單獨指定。固定一個單位方向 u=(a,b),滿足 a2+b2=1。我們必須計算定義中的差商,不能先假設梯度公式成立。當 t=0 時,
f(ta,tb)=a2+t2b4tab2.若 a=0,先除以 t,再取極限,得到
Duf(0,0)=t→0lima2+t2b4ab2=ab2.若 a=0,整條直線都有 x=0,所以 f(0,tb)=0,從而 Duf(0,0)=0。這一情況必須單獨處理,因為 b2/a 此時無定義。因此,每個固定單位方向都有有限的雙側方向導數。沿每條固定直線,函數本身也都趨向零。
現在沿拋物線 γ(t)=(t2,t) 趨近。當 t=0 時,
f(t2,t)=t4+t4t4=21,∥γ(t)∥=t4+t2⟶0.函數值不趨向 f(0,0)=0。因此 f 在原點不連續,更不可能在那裏可微。只要一條這樣的路徑就能否定連續性,毋須檢查所有可能的曲線。
為甚麼所有直線檢查都錯過了它?直線固定兩個座標的比例;拋物線上卻有 x=y2,趨近原點時方向在改變。沿這條曲線,分母兩項始終完全平衡。沿固定的非豎直直線,x2 最終主導 y4;豎直線上則是分子恆為零。對每個固定方向分別成立的結論,不等於對隨距離變化的方向有統一估計。
常見錯誤
座標偏導存在,不代表可以使用鏈式法則
這裏 fx(0,0)=fy(0,0)=0。若錯誤地使用梯度公式,就會斷言所有方向的變化率都是零。實際上,u=(1,1)/2 的定義差商給出 Duf(0,0)=1/2。此外,雖然 γ′(0)=(0,1),複合函數 f∘γ 在零點卻連連續都做不到。不能使用鏈式法則,因為 f 可微這一條件不成立。
思考檢查
4. 比較直線、曲線路徑與前面的連續反例。
對上面的 f,求 u=(3/5,4/5) 與 u=(0,1) 的方向導數。對固定實常數 c 和 t=0,計算 f(ct2,t)。說明為甚麼它對連續性的否定,比前面在原點取零的 q(x,y)=x3/(x2+y2) 更強。
解答 · 4. 方向導數中的方向必須固定
第一個方向導數是 (4/5)2/(3/5)=16/15;豎直方向導數是零。沿這一族曲線路徑,
f(ct2,t)=c2t4+t4ct4=c2+1c.每個固定的 c=0 都在輸入趨近原點時給出非零極限。這些是曲線路徑,而不是方向向量固定的直線。前面的 q 雖然所有方向導數存在且不可微,卻仍然連續,因為 ∣q(x,y)∣≤x2+y2。兩個例子都不可微,只有現在的 f 還不連續。必須區分這兩種不同的邏輯失敗。