一個看不見根的計數問題
在留數那一階梯,你學會了把圍道積分化成一筆有限的局部資料之和——留數定理告訴你,繞著一條閉迴路的積分等於 2 pi i 乘上被圈在裡面的那些留數之和。那是個求值積分的工具。現在我們把這台機器反過來開。我們會餵給它一個精心挑選的函數,然後讀出來的不是我們想要的某個數,而是一個計數:一個函數在某個區域內有幾個零點、又有幾個極點。最教人吃驚的地方在於,這個積分數出它們,卻從不把它們定位出來。你永遠不會去解 f(z) = 0;你只要繞著邊界走一圈,答案就自己掉了出來。
首先講清楚「幾個」是什麼意思,因為複分析數得很仔細。一個 m 階的零點——回想冪級數那一階梯的零點的階,那裡 f(z) = (z - z_0)^m 乘上一個非零的全純因子——要算作 m 個零點,而不是一個。一個 m 階的極點,也就是 1/(z - z_0)^m 那種誠實的無窮、帶著它自己的階,要算作 m 個極點。我們總是連同重數一起算。一個二重零點就是兩個零點;一個三階極點就是三個極點。把這套記帳法記在心裡——整條定理就建立在它上面。
對數導數:負責計數的那個函數
要拿去積分的那個聰明函數不是 f 本身,而是 f'/f,叫做 f 的對數導數,因為形式上它就是 log f(z) 的導數。你幾乎能猜到它為什麼會在乎零點:log f 恰好在 f 碰到 0 的地方爆掉,所以它的導數應該感受得到那場爆炸。讓我們把這份猜測弄精確。在 z_0 處一個 m 階零點附近,寫成 f(z) = (z - z_0)^m g(z),其中 g 全純且 g(z_0) 不為零。求導、相除,看看什麼東西活了下來。
f(z) = (z - z_0)^m * g(z), g holomorphic, g(z_0) != 0
f'(z) = m (z - z_0)^(m-1) g(z) + (z - z_0)^m g'(z)
f'/f = m / (z - z_0) + g'/g
\____________/ \____/
simple pole, holomorphic near z_0
residue = m (no contribution)就是它了:f'/f 在每個 m 階零點處有一個等於 m 的留數。現在在極點處跑一遍一模一樣的代數。在 z_0 處一個 m 階極點附近,寫成 f(z) = (z - z_0)^(-m) h(z),其中 h 全純且在 z_0 處非零。同樣的求導給出 f'/f = -m/(z - z_0) + h'/h,所以 f'/f 在那裡也有一個單極點,但這回留數是負 m。零點貢獻 +m;極點貢獻 -m。對數導數把 f 的每個零點與極點,都變成了 f'/f 的一個乾淨俐落的小小單極點,其留數就是那帶了正負號的階。
輻角原理,組裝完成
現在只要把留數定理對準 f'/f。設 C 是一條簡單閉圍道,逆時針繞行一次,並設 f 在 C 內部及其上是亞純的——也就是說,除了極點之外都全純——而且 f 在 C 上既沒有零點也沒有極點。在 C 內部,f'/f 唯一的奇點就是我們剛找到的那些單極點:每個零點處一個(留數 +階),每個極點處一個(留數 -階)。留數定理把它們全加起來。
(1 / 2 pi i) * integral over C of f'(z)/f(z) dz = Z - P Z = number of zeros of f inside C (counted with multiplicity) P = number of poles of f inside C (counted with multiplicity)
這就是輻角原理。左邊那個數零點的積分,原則上是個你能單憑邊界資料算出來的量——你繞著 C 走一圈,把 f'/f 積起來。右邊的 Z - P,則是一個純粹的內部結構計數。這個積分從沒問過零點在哪裡,只問有幾個、扣掉極點後的淨數。倘若你恰好知道 f 是全純的(沒有極點),那麼 P = 0,這個積分就名副其實地在數零點:例如一個n 次多項式,在一個夠大的圓內恰好有 n 個零點,而這個積分就會回傳 n。
為什麼它叫做輻角原理
我們是用留數導出 Z - P 的,但這名字來自同一個積分的第二種、更幾何的讀法——而正是這種讀法給了整個階梯它的味道。既然 f'/f 形式上就是 log f 對 z 的 d/dz,繞著 C 積分它,就是在積 d(log f)。把複對數拆成實部與虛部:log f = log|f| + i arg f。實部 log|f| 是單值的,所以當你在閉迴路 C 上回到起點時,它也回到了出發處,淨貢獻為零。會變的是虛部,arg f——也就是輸出 f(z) 的角度。
所以這個積分量的,是當 z 繞 C 走一圈時 arg f 的總變化量。把它想成實體的畫面:當 z 在邊界迴路上行走,輸出值 w = f(z) 在 w 平面上描出它自己的一條閉曲線。那條像曲線每繞原點轉滿一整圈,arg f 就增加 2 pi。輻角原理說,C 的像繞 0 的淨圈數就等於 Z - P。那個計數,就是輻角的淨變化除以 2 pi——而「一條閉曲線繞某點幾圈」這種計數,正是你在柯西定理初次繞迴路時遇過的繞數。
一個小小的實算,以及誠實的細則
讓我們動手數一個。取 f(z) = z^2,並讓 C 是單位圓 |z| = 1。一眼就看出 f 在原點有一個二重零點、沒有極點,所以我們預期 Z - P = 2 - 0 = 2。用兩種方法驗證。留數法:f'/f = 2z / z^2 = 2/z,在 0 處一個留數為 2 的單極點,於是積分給出 2。輻角法:用 z = e^(i theta)(theta 從 0 到 2 pi)參數化,於是 f(z) = e^(2 i theta)——當 z 繞一圈,輸出 e^(2 i theta) 掃過 4 pi 的角度,也就是繞原點兩圈。兩圈,Z - P = 2。兩種讀法一致,而且哪一種都沒真的去『找』零點,只說了中心有一個二重的。
- 誠實地檢查前提。圍道 C 必須是簡單且封閉的,而 f 必須在一個包含 C 及其內部的區域上是亞純的——除了孤立極點外都全純。
- 關鍵限制:f 在 C 本身上不可有任何零點、也不可有任何極點。若有零點坐落在邊界上,f'/f 在那裡爆掉,積分根本沒有定義——公式就是不適用,你必須縮小或挪動圍道。
- 留意定向。乾淨的 +2 pi i 計數假設 C 逆時針繞行一次。把方向反過來,每個計數都變號;把圍道繞兩圈,答案就加倍。
- 記得它回傳的是 Z - P,那個淨計數,不是單獨的 Z。要把零點單獨分離出來,你得另外知道極點的數目(通常 P = 0,因為 f 全純),而即使零點與極點同時存在,答案也可能是 0。
這就是整個階梯的引擎。從這一條恆等式出發,其餘的一切都靠比較長出來:若兩個函數在邊界上保持靠近,它們的像曲線就繞同樣的圈數,於是它們在內部有同樣多的零點——這就是魯歇定理,第 3 篇登場,是你不必解出任何東西就能定位零點的工具。同樣的繞圈想法逼使全純映射把開集送到開集,這是第 4 篇的開映射定理,它反過來又解釋了最大模原理。而讀出單一點附近的局部計數,就給出第 5 篇的 m 對 1 局部結構與反函數定理。一切都從這裡開始,從一個會計數的積分開始。