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

全導數與雅可比矩陣

在多元的世界裡,「可微」真正的含義是存在唯一一個最佳線性逼近——而承載它的那個矩陣,即雅可比矩陣,把一個向量值映射的每一個偏導數整整齊齊地裝進一個可以相乘的對象裡。

從斜率到最佳線性映射

在第一卷裡,導數 f'(a) 是切線的斜率,是一個數。但在這個數的背後藏著一層更深的讀法:f'(a) 是 f 在 a 附近最佳直線逼近裡的那個乘數,也就是 f(a + h) 約等於 f(a) + f'(a) h。誠實的說法是:當 h 趨於 0 時,誤差 f(a + h) - f(a) - f'(a) h 比 h 本身衰減得更快——這正是「最佳」的含義。能在「多元躍遷」中倖存下來的,正是這種線性逼近的視角,而不是斜率的圖像。

現在讓 f 吃進平面上的一個點、吐出一個數,即 f(x, y)。直線不再合身了——在一點附近,圖像是一張曲面,正確的逼近對象是一張平坦的切平面。此時「最佳線性逼近」的意思是:存在一個線性映射 L(它吃進位移向量 h = (h1, h2)、吐出一個數),使得 f(a + h) 約等於 f(a) + L(h),而誤差同樣比 h 的長度衰減得更快。這個唯一的線性映射 L 就是全導數。斜率已經變成了一整台線性機器。

為什麼光有偏導數還不夠

像 df/dx 這樣的偏導數,只測量你沿某一個坐標軸方向行走、把其餘變量凍住時 f 的變化率。上一份指南把它們重新理解為梯度 nabla f = (df/dx, df/dy) 的分量。人們很容易在兩個偏導數剛一存在時就宣布函數可微。這是錯的,而且這個落差很要緊:偏導數只探測兩個坐標方向,而可微性是對「所有逼近方向同時」作出的承諾。

經典的警示例子是 f(x, y) = xy / (x^2 + y^2),並約定 f(0, 0) = 0。沿 x 軸 f 恆為 0,所以原點處 df/dx = 0;沿 y 軸同理,df/dy = 0。兩個偏導數都存在且都等於 0。然而沿對角線 y = x,對任意非零 x,函數取值 x*x / (2x^2) = 1/2——當你順著這條線滑向原點時,它甚至根本不趨於 0。一個連續性都不成立的函數,不可能有切平面,所以它不可微,儘管它的偏導數定義得清清楚楚。

全微分:梯度來幹活

當 f(x, y) 可微時,那個神秘的線性映射 L 一點也不神秘——它必須由偏導數拼出來。唯一能與 f 各單方向變化率相符的線性映射是 L(h1, h2) = (df/dx) h1 + (df/dy) h2,這恰好就是梯度與位移的點積:L(h) = nabla f · h。把微小位移寫成 dx 與 dy,這就是全微分 df = (df/dx) dx + (df/dy) dy。它是 dy = f'(x) dx 在多元裡的回響。

把它想得具體些。設一塊金屬板上某點溫度為 T(x, y),在該點 nabla T = (3, -2) 度每釐米。沿 x 走 0.1 釐米、沿 y 走 0.05 釐米。全微分把溫度變化估計為 dT = 3(0.1) + (-2)(0.05) = 0.3 - 0.1 = 0.2 度。每個偏導數貢獻自己的變化率乘以自己的步長,然後直接相加——沒有交叉項,因為線性逼近按設計就忽略了各方向之間如何相互作用。那種相互作用住在二階項裡,後面的指南會通過海森矩陣和二階泰勒展開去觸及。

兩點誠實的提醒。第一,全微分是一種逼近,只有在步長無窮小的極限下才精確;對有限的 dx、dy 存在誤差,而這個誤差恰好就是你丟掉的那個高階餘項。第二,它也是實驗室裡誤差傳播的引擎:如果你知道測量值裡大致的不確定度 dx 與 dy,那麼 |df| 不超過 |df/dx||dx| + |df/dy||dy|,給出 f 不確定度的一個初步估計——它之所以誠實,正因為它是線性而局部的。

雅可比矩陣:把向量映射的偏導數裝進矩陣

再往上走一級:讓輸出也是向量。映射 F 把點 (x, y) 送到一對 (u, v) = (f1(x, y), f2(x, y))——想像一次坐標變換,或一種把平面某區域彎折映到另一區域的物理變換。每個分量 f1、f2 都是普通的標量函數,各有自己的梯度,從而各有自己的全微分。把這些梯度作為行堆疊成一個矩陣,你就造出了 F 的雅可比矩陣,它正是一個向量值映射的全導數這個單一對象。

F(x, y) = ( f1(x, y), f2(x, y) ).  Its Jacobian matrix:

  J = [ df1/dx, df1/dy ;
        df2/dx, df2/dy ]

Row i = gradient of the i-th output component.
Column j = how every output responds to input x_j.

Worked example:  F(x, y) = ( x^2 - y^2 , 2xy )   (squaring a complex number)

  df1/dx = 2x    df1/dy = -2y
  df2/dx = 2y    df2/dy =  2x

  J = [ 2x, -2y ;
        2y,  2x ]

Local linear model of the map near a:
  F(a + h) is approximately F(a) + J(a) h     (J(a) h is matrix times column vector h)
雅可比矩陣的每一行都是一個梯度;局部模型 F(a + h) 約等於 F(a) + J(a) h,正是 f(a + h) 約等於 f(a) + f'(a) h 在向量情形下的精確對應。

這個矩陣要從兩個方向讀。第 i 行是第 i 個輸出的梯度,告訴你那個輸出如何對所有輸入作出反應。第 j 列把固定輸入 x_j 對應的所有 df_i/dx_j 收集起來——當你輕推那一個輸入時,整個輸出向量如何回應。梯度只是單一輸出的特例:一個 1 乘 n 的雅可比矩陣。參數化一條曲線的列向量則是單一輸入的情形:一個 m 乘 1 的雅可比矩陣。雅可比矩陣才是真正一般的導數,而你已經熟悉的一切都是它的某個切片。

為什麼是矩陣:複合變成相乘

把偏導數裝進矩陣不只是為了整潔;這正是讓鏈式法則變得優美的原因。如果你先做映射 F、再做映射 G,那麼複合 G of F 的局部線性模型,就是它們各自線性模型的複合——而複合線性映射恰恰就是矩陣相乘。於是多元鏈式法則寫成 J_{G of F} = J_G · J_F,即把雅可比矩陣按順序相乘。單變量的 (g of f)' = g'(f(x)) f'(x) 正是這條法則在一乘一矩陣下的樣子,那時乘法就是普通數的乘法;矩陣形式是同一論斷長大成人的版本。

當 F 從 n 個輸入映到 n 個輸出時,它的雅可比矩陣是方陣,而它的行列式自有其名:雅可比行列式,常寫作 det(J) 或 d(u,v)/d(x,y)。從幾何上看,它是該映射的局部面積(或體積)伸縮因子:某點附近一個面積為 dA 的小方塊,被搬運成一個面積為 |det J| dA 的小平行四邊形。符號則告訴你定向——雅可比行列式為負,意味著映射把區域翻了個面,像鏡子一樣。這正是你在多重積分裡換元時出現的那個因子。

這一個數還決定了映射是否局部可逆。反函數定理說:凡是 det J 不為零之處,F 在一個小鄰域內可逆,而逆映射的雅可比矩陣恰好就是 J 的矩陣逆——這是 (f inverse)' = 1 / f' 的多維版本。它的姊妹定理隱函數定理則用一個不為零的子雅可比矩陣來保證:即使寫不出公式,你也能在局部把某些變量用其餘變量解出來。兩者都是帶有真實前提的局部定理,正是後面幾份指南的主題。

把它們串起來

  1. 先定形狀:F 從 n 個輸入映到 m 個輸出,所以它的雅可比矩陣是 m 乘 n 的(行數對應輸出,列數對應輸入)。
  2. 把第 (i, j) 個元素填成 df_i/dx_j——按第一卷的做法,固定其餘輸入,逐個算出每個偏導數。
  3. 在基點 a 處對 J 求值,得到一個具體的數值矩陣;局部模型就是 F(a + h) 約等於 F(a) + J(a) h。
  4. 若映射為方陣,則求 det J:不為零意味著局部可逆、並以 |det J| 縮放面積;映射相接則把它們的雅可比矩陣相乘。

把整條脈絡收進一個畫面。斜率被推廣為全導數,一個最佳線性映射;這個映射的坐標,也就是偏導數,整齊地排成雅可比矩陣的各行;雅可比矩陣的行列式則度量該映射如何拉伸空間、如何定向。從這裡出發,積分的換元定理、任意複合的鏈式法則,以及反函數與隱函數定理,全都只是從不同角度看到的同一個雅可比矩陣。一個矩陣,承載著一個映射全部的一階信息——這就是本階梯餘下內容的統攝性思想。