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

隱函數定理與反函數定理

當一個拒絕被解出的方程,卻依然在內部藏著一個光滑函數時,那是何時?而一個多變量映射能被倒著運行,又是何時?這兩個問題有著同一個答案,它就棲身於一個行列式裡——雅可比行列式。

一個藏著函數的方程

早在第一卷,你遇見過寫作 x^2 + y^2 = 1 的圓,並學了一招漂亮的手法:縱然你無法為整條曲線工整地寫下「y 等於關於 x 的某個公式」,你仍能用隱函數求導求出斜率——把整個方程求導,把 y 當作依賴於 x 來對待,再解出 dy/dx。那一招奏效了,但它悄悄假定了一件它從未核查過的事:在你的點附近,方程裡真的*藏著*一個光滑函數 y(x)。[[implicit-function-theorem-tool|隱函數定理]]便是那個成熟版的陳述,它道出這個假定究竟何時安全——而且令人滿意的是,它還附贈給你同一個導數公式。

把它框得清爽些。你有一個方程 F(x, y) = 0,以及一個落在曲線上的特定點 (a, b),於是 F(a, b) = 0。問題是局部的:你能否在 (a, b) 周圍劃出一個小窗口,使得在其中曲線恰是某個單一、光滑、單值的函數 y = g(x) 的圖像?看看那個圓。在頂點 (0, 1) 附近,答案是肯定的——那裡曲線溫和地就是 y = sqrt(1 - x^2) 的圖像。但在最右點 (1, 0) 附近,答案是否定的:曲線在那裡豎直地走,並折返回來,而沒有任何函數 y = g(x) 能在同一個 x 上方既在上又在下。那一點的幾何裡有某樣東西把它攪黃了,而這條定理的全部職責,就是用一個可計算的檢驗把那「某樣東西」點出名來。

那個判據,以及它何以是判據

判據如下,而且是一個你能算出來的單一數字。在 (a, b) 附近解 F(x, y) = 0 求 y 是可行的——y = g(x) 存在、光滑、且在小窗口內唯一——只要偏導數 partial F / partial y 在 (a, b) 處*不*為零。這便是整個判據。而背後有一個美麗的幾何緣由。回想本級稍早處:梯度 nabla F = (partial F/partial x, partial F/partial y) 總是垂直於水平集 F = 0,是橫跨曲線的最陡上坡箭頭。分量 partial F/partial y 量度梯度往豎直方向傾斜得有多猛。若 partial F/partial y 不為零,曲線在那點便*不*是豎直地走——於是對每個鄰近的 x,曲線上恰有一個 y,你的函數也就到手了。

在圓上跑一遍,F = x^2 + y^2 - 1。則 partial F/partial y = 2y。在頂點 (0, 1) 它等於 2,穩穩地非零——綠燈,函數存在,正如我們所見。在右緣 (1, 0) 它等於 0——紅燈,而那裡確實正是曲線豎起、無函數倖存之處。這判據並非只是與幾何相關;它*就是*幾何,化作一個數字讀出來。當綠燈亮起,隱函數求導還白送給你斜率。用鏈式法則對 F(x, g(x)) = 0 求導:partial F/partial x + (partial F/partial y) (dy/dx) = 0,於是 dy/dx = -(partial F/partial x) / (partial F/partial y)。partial F/partial y 的不為零,恰恰正是允許你做除法的那個條件——同一個條件,戴著第二頂帽子。

多個方程,雅可比登場

現在升級,因為真正的威力要等到幾個方程糾纏幾個變量時才顯現。假設你有兩個方程 F(x, y, u, v) = 0 與 G(x, y, u, v) = 0,而你想把它們解出來,讓 (u, v) 這一對成為 (x, y) 的光滑函數。單一的偏導數 partial F/partial y 對一個方程一個未知量足矣;面對兩個未知量,你需要問:(F, G) 對 (u, v) 的*合併*敏感度是否可逆。那個合併敏感度恰恰是一個[[jacobian-matrix-map|雅可比矩陣]]——我們本級稍早造出的那個多變量導數,一格格偏導數排成的網 [partial F/partial u, partial F/partial v; partial G/partial u, partial G/partial v],每個方程一行,每個待解未知量一列。

條件毫無意外地推廣開來:在你那點附近能解出 (u, v),只要這個雅可比矩陣在那裡可逆——等價地說,只要它的[[calc-jacobian-determinant|雅可比行列式]]不為零。非零的行列式意味著矩陣沒有扁塌的方向,沒有辦法把兩個未知量擠進更少的維度;它可逆,而求逆正是「解出 (u, v)」在線性層面上所要求的。當 partial F/partial y 還是單個數字時,「非零」與「可逆」本是同一句話——所以那個單方程判據一直暗地裡就是行列式判據,只不過是對一個一乘一矩陣而言。雅可比行列式,正是「partial F/partial y 不為零」向任意多個方程的誠實推廣。

把映射倒著跑

[[inverse-function-theorem-tool|反函數定理]]是同一個想法換了身衣裳——一旦你看穿這層偽裝,便能白白得到它。一個映射把輸入送往輸出,比如它按某條光滑規則 u = P(x, y)、v = Q(x, y) 把 (x, y) 送到 (u, v)。你想把它倒著跑:給定一個輸出 (u, v),找回輸入 (x, y)。這種倒推何時可行,至少在某點附近?定理的回答再乾淨不過:當映射的雅可比矩陣——正是那張網 [partial P/partial x, partial P/partial y; partial Q/partial x, partial Q/partial y],它*就是*映射的全導數——在該點可逆時,倒推恰好可行。一個行列式決定一切,與先前如出一轍。

為何這可信:全導數是映射在該點附近最佳的*線性*逼近,是切線的多變量替身。在一點附近,彎曲的映射在一階看來,就活像它的雅可比作為一個線性變換在作用。而一個線性變換恰好在其矩陣可逆時可被還原——在它不把空間壓扁(行列式為零)時,因為壓扁會不可挽回地把不同的輸入併到一處。定理是這樣一份誠實的承諾:若那個*線性影子*可逆,那麼*彎曲的原物*在足夠小的鄰域裡也可逆。這是從「逼近可逆」躍向「真東西在附近可逆」的一跳——而這一跳確確實實是一條定理,它要求映射連續可微,並非你可以想當然的東西。

Map:   u = P(x,y),   v = Q(x,y)        ( (x,y) --> (u,v) )

Jacobian of the map at a point:

      J =  [ dP/dx   dP/dy ]
           [ dQ/dx   dQ/dy ]

Test:   det J  =  (dP/dx)(dQ/dy) - (dP/dy)(dQ/dx)

   det J  != 0   -->  map is locally invertible here;
                      AND the inverse map's Jacobian is  J^{-1}.

Polar example:   x = r cos(theta),  y = r sin(theta)

      J = [ cos(theta)   -r sin(theta) ]
          [ sin(theta)    r cos(theta) ]

   det J = r cos^2 + r sin^2 = r

   r != 0  -->  invertible (recover r, theta from x, y)
   r  = 0  -->  det = 0 at the origin: every theta maps to
                the SAME point, so direction is unrecoverable.
反函數定理濃縮在一張卡片上。極坐標映射處處可逆,唯獨 r = 0 例外,而雅可比行列式 r 恰恰正在那裡歸零——所有角度都坍縮成一個點的原點。

兩條定理,一個真相

這並非兩個碰巧相似的結果——它們是同一條定理從兩側看去的樣子,看清那個樞紐是值得的。從一個映射 (x, y) -> (u, v) 出發,想把它求逆。把這個願望改寫成一個方程組:定義 F = P(x, y) - u 與 G = Q(x, y) - v,於是「給映射求逆」就成了「就 (u, v) 解 F = 0, G = 0 求 (x, y)」——一個隱函數問題。反過來,一個隱式方程組也可重新打包成給某個輔助映射求逆。這座橋就是雅可比行列式:它是兩條定理共同盤問的那個唯一對象,而那個行列式的不為零,正是潛伏在兩者之下的*那一條*前提。掌握行列式判據,你就一舉掌握了兩條定理。

反函數定理甚至額外奉送一份贈禮:它告訴你逆的導數,而你壓根無需算出逆映射的公式。若 J 是映射的雅可比,逆映射的雅可比就乾脆是 J^{-1},即矩陣逆。這是第一卷那條規則的多變量回響——逆函數的導數是原函數導數的倒數,(g^{-1})'(y) = 1/g'(x)。上到多變量的樓層,「倒數」化為「矩陣逆」——同一支旋律,更豐富的樂器。即便把那個倒推顯式寫出來已是無望,你仍能確切知道它如何運作,連同它的導數。

如何使用它們,以及它們通向何處

在實踐中你幾乎從不把那個隱藏的函數顯式造出來——這正是全部要點,也是全部饋贈。你核查雅可比條件,然後就地對關係式求導,抽出你實際所需的任何變化率。下面這段走查就是那把主力工具;它不過是你早已信賴的單方程隱函數求導,如今由矩陣判據驅動,於是在多個變量參與時依舊成立。

  1. 把約束寫成 F = 0(或方程組 F = 0, G = 0),並釘住你關心的集合上那個具體的點,使方程在那裡成立。
  2. 決定哪些變量是「輸出」(要被解出)、哪些是「輸入」(自由),然後*只*對那些輸出變量構造方程組的雅可比。
  3. 在該點算出那個雅可比的行列式。若它非零,綠燈亮起:局部存在一個光滑的解函數。若它為零,停下——線性判據無法定論,你必須手動查究。
  4. 用多變量鏈式法則對關係式求導,把輸出變量當作輸入的函數,再解所得的*線性*方程組,求出你想要的導數——根本不必去找那個函數本身。

退一步,看看你握有之物的形狀。全導數給了你一個多變量映射最佳的線性圖景;雅可比把它打包成一個矩陣;而如今它的行列式竟成了主導整個微積分中兩個最有用的局部問題的總開關——「這裡藏著一個函數嗎?」與「我能把它倒著跑嗎?」這也是接下來換坐標手法引擎蓋下的發動機:那個准許給坐標映射求逆的雅可比行列式,正是你在重積分內換元時為面積和體積重新標度的那個因子。一個偏導數矩陣,只算一次,便回答了高等微積分今後會就一個映射向你發問的、出人意料地一大部分問題。