為什麼圖形行不通——映射來救援
在單變數微積分裡,你把函數想成一條圖形:在水平軸送入 x,在垂直軸讀出 y,描出一條曲線。一個複變函數 f 則把複數輸入 z 送成複數輸出 w = f(z)。可是 z 本身就住在一個二維平面裡,w 也是——要老老實實地把 (z, w) 這一對畫出來,你得用上四個維度,沒有人畫得出來。圖形這套畫法在這裡悄悄陣亡了。
於是我們徹底改變看待的方式。不再是一個平面上畫一條曲線,而是並排畫兩個平面:左邊一個 z 平面,裝著所有輸入;右邊一個 w 平面,裝著所有輸出。函數就成了一個映射——一條逐點搬運的配方,把 z 平面裡的每一個點拾起,再放到 w 平面裡的某處。我們不再問「這個點上方的高度是多少?」,改問「這個點搬去了哪裡?」
拆成實部與虛部
把輸入寫成 z = x + i y,其中 x、y 是它的實部與虛部。輸出 w = f(z) 本身也是個複數,所以它同樣拆成一個實部與一個虛部。這兩個部分各自都是兩個實變數 x、y 的一個普通實值函數。我們把它們命名為 u 與 v,寫成 f = u + i v。這一步正是從複分析通回你早已熟悉的多變數微積分的橋樑。
z = x + i y f(z) = u(x, y) + i v(x, y) example: f(z) = z^2 z^2 = (x + i y)^2 = (x^2 - y^2) + i (2 x y) so u(x, y) = x^2 - y^2, v(x, y) = 2 x y
算出 u 與 v 是你面對任何新函數時最可靠的第一步——它把一個神祕的複數物件化成兩個你能畫出的具體曲面,而且稍後柯西-黎曼方程正是用它們寫出來的。不過要誠實面對這個拆分能與不能給你什麼:把 u、v 當成分開的實值函數來看,告訴了你點搬到哪裡的一切,卻藏起了使函數複可微的那種特殊剛性。那層更深的結構是下一個階梯的故事;在這裡我們只是學著讀這張地圖。
簡單映射的動物園
建立直覺最快的辦法,就是看幾個小映射如何作用在平面上。先看 f(z) = z + a,這裡 a 是一個固定複數。每一個點都沿著同一支箭頭 a 滑動——整個平面平移而不旋轉、不伸縮。這就是平移映射,最溫柔的一種:圓還是同一個圓,只是換了位置。
接著看 f(z) = a z。把 a 寫成極式 a = r e^(i theta),乘上 a 會把每個模長放大 r 倍,並把每個輻角加上 theta——於是整個平面繞原點旋轉角度 theta,同時以倍率 r 伸縮。這個旋轉伸縮映射正是你在上一階梯認識的複數乘法的幾何意義,如今當成映射來看。共軛映射 f(z) = z-bar 則屬於另一類:它把每個點對實軸反射,把上半平面翻折到下半平面去。反射會反轉定向,等到我們開始在意角度時,這一點將大有關係。
現在來看真正會把平面彎折的兩個。平方映射 f(z) = z^2 把每個輻角加倍,於是它把平面繞著自己纏繞兩圈:一個角度為 pi 的楔形張開成整整半圈,而相對的兩點 z 與 -z 落在同一個輸出上。而反演映射 f(z) = 1/z 把模長 |z| 送成 1/|z|,同時把輻角取負——靠近原點的點飛向遠方,遙遠的點擠到原點附近,而單位圓則原地不動。我們會用整整下一篇來細畫 z^2 與 1/z 對直線和圓做了什麼;現在只要先嚐到每一個的味道就好。
複數極限:每一條路都得一致
要對映射說出任何精確的話,我們得有「接近」的概念,那就意味著極限。我們說當 z 趨近 z_0 時 f(z) 趨近 L,也就是這個複變函數的極限等於 L,意思是:只要取 z 與 z_0 夠近,就能把距離 |f(z) - L| 壓到我們想要的任意小——距離是用模長 |z - z_0| 來量的,那不過是平面上的尋常距離。這個定義讀起來和實數版一模一樣,只是把絕對值換成了模長。
可是有一個安靜卻關鍵的差別。在實數線上,你只能從兩側趨近 z_0,左邊和右邊。在平面上,你能沿著無窮多個方向趨近 z_0——從東邊直直進來、從北邊進來、螺旋進來、扭來扭去地進來。極限要存在,這些趨近裡的每一個都必須給出同一個答案 L。這就是讓複數極限確實比實數極限更苛刻的方向無關性,也是日後複分析將交付的一切強悍與剛性的種子。
來看這個測試的實際運作。考慮在原點之外的 g(z) = z-bar / z,問它在 z 趨近 0 時有沒有極限。沿正實軸進來,此時 z = x 是實數:那麼 z-bar = x,於是 g = x/x = 1。再沿虛軸進來,此時 z = i y:那麼 z-bar = -i y,於是 g = (-i y)/(i y) = -1。兩條路,兩個不同的答案——所以 0 處沒有極限。一隻只看實變數的眼睛會完全錯過這件事;正是平面多出來的趨近自由,把它揭露了出來。
連續性,以及映射所搬運的曲線
有了極限在手,連續性讀起來正如你所願:f 在 z_0 連續,就是說當 z 趨近 z_0 時 f(z) 的極限存在且等於 f(z_0)——不跳躍、不意外。這幅圖景和任何一門微積分課裡的一樣:相近的輸入送到相近的輸出,所以映射絕不會撕裂平面。
因為一切都拆成 f = u + i v,複連續性恰好等價於兩個實值函數 u(x, y) 與 v(x, y) 的聯合連續性。這真的很有用:它讓你把多變數微積分裡每一條連續性的事實整批搬過來。連續複變函數的和、積、合成都連續,而商在分母不為零之處連續——所以多項式處處連續,而 1/z 除了原點之外處處連續,原點正是它爆掉的地方。
最後,映射最生動地作用其上的物件,不是單點,而是曲線。描述一條路徑的辦法,是讓一個實參數 t 跑過一個區間,寫成 z(t) = x(t) + i y(t);當 t 一路掃過,z(t) 就在 z 平面裡描出一條路。把它推過一個連續的 f,你就在 w 平面裡得到一條新的路 w(t) = f(z(t))。這正是你真正畫出映射作為的辦法:餵給它一格橫線與直線的網格,看著像的網格如何彎折。
- 在 z 平面裡挑一個熟悉的測試形狀——一條水平線 y = c、一條垂直線 x = c,或圓 |z| = r。
- 把它參數化:例如圓就是 z(t) = r e^(i t),t 跑過 [0, 2 pi)。
- 套上映射得到 w(t) = f(z(t)),並化簡成 w = u + i v 的形式。
- 辨認 w 平面裡得出的曲線——它是直線、圓,還是拋物線?——那就是你那個測試形狀的像。