既然已經會加了,為什麼還要乘?
在這一階梯以下的一切,都是靠「加」蓋起來的:泰勒級數 sum a_n (z - z_0)^n、帶著負次冪的羅朗級數、以及每一個把全純函數的艱深事實化為某個收斂和的估計。那為什麼忽然要伸手去拿乘法呢?因為一個頑固的事實:零點會相乘。一個多項式就是 c(z - r_1)(z - r_2) ... (z - r_n),一串有限的乘積,它的因式恰好在它的根上消失,而你可以把每一個根直接從紙面上讀出來。一個總和永遠無法這樣把零點攤在明處。
現在想像一個有無窮多個零點的函數——譬如 sin(pi z),它在每個整數 0、正負 1、正負 2 等等處都消失。我們極想用多項式的方式來寫它:每個零點配一個因式的乘積。那正是整個這一階梯所追逐的夢:第 3 篇的魏爾斯特拉斯因式分解定理會替你打造一個整函數,讓它的零點正好是你指定的那些;而著名的正弦乘積公式會把 sin(pi z) 寫成一個乾淨的無窮乘積。但在這一切之前,我們得先回答第一個誠實的問題:把無窮多個因式相乘究竟是什麼意思,而它又在什麼時候才會安頓成一個有限的答案?
部分乘積,以及加法從未有過的轉折
我們把級數那一套劇本原封不動地照抄。對一個總和,你盯著部分和 S_N = a_1 + ... + a_N,問它們是否安頓下來。對一個乘積,你就盯著部分乘積 P_N = b_1 b_2 ... b_N,問同一件事。有一個值得馬上採用的約定,能讓一切都更乾淨:把每個因式寫成 1 + a_n,而不是光禿禿的 b_n。於是一個無窮乘積就是 (1 + a_1)(1 + a_2)(1 + a_3) ...,你盯著 P_N = (1 + a_1) ... (1 + a_N) 隨 N 變大。把因式寫成 1 + a_n 並不只是裝飾;它大聲說出:要安頓下來,因式就必須趨近 1,這逼使 a_n 趨近 0——正是「項必須趨於零」的乘法版回聲。
這就是那個總和裡毫無對應物的轉折。對加法而言,唯一的安頓方式是加入越來越小的片段。對乘法而言,你還可以一路漂向零——乘上 0.9,再乘 0.99,再乘 0.999,即使每個因式都靠近 1,這串乘積仍能一路滑落到 0。因此我們刻意做一個選擇:一個乘積只有在 P_N 趨於一個非零極限 P 時,才稱為收斂。趨於 0 算作發散。這聽起來很龜毛,卻讓理論保持誠實:若有一個因式是 0,部分乘積就會永遠是 0,那麼它後面的任何亂七八糟都會看起來「收斂」。藉由禁止極限為 0,一個收斂的乘積就只能透過有限多個貨真價實的零因式而消失——而那恰好正是函數的零點稍後現身的方式。
主竅門:取對數
你究竟要怎麼判斷一個乘積是否安頓下來呢?誠實的答案是把乘法變成加法——藉由取對數。乘積的對數等於各對數的總和:log[(1 + a_1) ... (1 + a_N)] = log(1 + a_1) + ... + log(1 + a_N)。於是部分乘積 P_N 安頓到非零極限,恰好發生在 log(1 + a_n) 的部分和安頓的時候。一筆下去,無窮乘積的收斂就變成了一個你早已會檢驗的級數的收斂。那個艱深的乘法問題,被換成了熟悉的加法問題。
log[ (1+a_1)(1+a_2) ... (1+a_N) ] = log(1+a_1) + log(1+a_2) + ... + log(1+a_N)
product converges (nonzero) <=> series sum log(1 + a_n) converges
and since log(1 + a) = a - a^2/2 + ... ~ a for small a:
product of (1 + a_n) converges ABSOLUTELY <=> sum |a_n| < infinity最後那一行就是你真正會用的檢驗。因為泰勒展開給出 log(1 + a) = a - a^2/2 + a^3/3 - ...,所以當 a_n 很小時,一個因式的對數約莫就是 a_n 本身——而任何像樣的乘積,其因式的 a_n 確實都很小。於是對數級數 sum log(1 + a_n) 絕對收斂的條件,和光禿禿的級數 sum a_n 完全相同:也就是當 sum |a_n| 為有限時。這條工作口號簡單到不能再簡單:sum |a_n| < infinity 就是避風港。當它成立,乘積就收斂到一個非零值,而你甚至可以自由地重排因式而不改變答案,就和絕對收斂的級數一樣。
一個小小的算例,和一個失敗的例子
在信任這條避風港規則之前,先拿一個真正的乘積來檢驗它。考慮 (1 + 1/n^2) 對 n >= 1 的乘積。這裡 a_n = 1/n^2,所以 sum |a_n| = sum 1/n^2,這個著名的和等於 pi^2/6——有限。規則承諾會有一個非零極限,而它確實收斂到一個漂亮的數(它是 sinh(pi)/pi,雖然我們不需要這個)。對照先前那個失敗的乘積 (1 - 1/n):那裡 a_n = -1/n,而 sum |a_n| = sum 1/n 發散,所以這個檢驗正確地拒絕為它背書——而它也確實滑到了 0。
- 把因式寫成標準形式 1 + a_n。對於 (1 + 1/n^2) 的乘積,這已經寫好了,其中 a_n = 1/n^2。
- 讀出 a_n,並組成模的級數 sum |a_n|。這裡 sum |1/n^2| = sum 1/n^2。
- 用任何你早已掌握的工具檢驗那個級數——比較、p 級數、比值檢驗。由於 sum 1/n^2 是一個收斂的 p 級數(p = 2 > 1),它是有限的。
- 下結論:sum |a_n| < infinity,所以乘積絕對收斂到一個非零極限,其因式可隨意重排。沒有零因式出現,所以極限真真切切地非零。
當因式是 z 的函數時
到目前為止,a_n 都是普通的數。然而我們之所以在這裡,正是要靠相乘來建造函數,其中每個因式是 1 + f_n(z),而那些偏差 f_n(z) 依賴於點 z。如今單一個數的收斂已經不夠了——我們要乘積以一種尊重全純性的方式收斂,好讓極限函數本身也是全純的。恰到好處的強度是在緊緻集上一致收斂:在區域中每一塊閉的有界片段 K 上,部分乘積以一個不依賴於你在 K 中選哪個 z 的單一速率趨近其極限。全純函數的一致極限仍是全純的(你在正規族那一階梯碰過的一條魏爾斯特拉斯定理),所以這恰好就是讓極限從它的因式繼承全純性的條件。
實務上的把手與數值情形如出一轍。若在每一個緊緻子集 K 上,你都能界定 sum (在 K 上取 |f_n| 的上確界) < infinity——也就是偏差在 K 上一致可和——那麼乘積 (1 + f_n) 就在 K 上一致收斂到一個全純極限,而你可以靠操作因式來微分或積分。這種「偏差在緊緻集上一致可和」是標準的假設,有時稱為正規收斂,這一階梯上的每一項建構都是在它之下進行的。為什麼非得堅持用緊緻片段,而不是一口氣整個平面?因為像正弦公式那種真實乘積的偏差,在無窮遠附近並不會保持一致地小——當 |z| 變大時 sum |z^2/n^2| 會爆掉。對策是一次只盯住一個圓盤 |z| <= R,在那裡尾項一致地微小,然後讓 R 變大,一個圓盤一個圓盤地把整個平面覆蓋掉。
有了這套機制在手,開篇那一節的夢想就變得可及了。我們如今確切知道一個函數的無窮乘積何時收斂到全純極限,也知道那極限只能在有限多個點——某個因式真正為零的地方——消失。下一篇〈以零點將函數因式分解〉就要動用這份知識:它探問該如何挑選因式,好讓它們的零點恰好落在我們想要的位置,並架起那套讓 sum |f_n| 保持有限的記帳法,進而揭露一道障礙——像 (1 - z/z_n) 這種天真因式往往不收斂——而第 3 篇的魏爾斯特拉斯基本因式正是為了修補它而發明的。