先把牆壁剝掉
前幾篇指南講了本級的核心思想:要解一個線性問題 L u = f,先回答一個更乾淨的問題——系統對單次、無限集中的戳擊如何響應?這個響應就是格林函數 G,由 L G(x, s) = delta(x - s) 連同邊界條件所定義,於是疊加積分 u(x) = integral of G(x, s) f(s) ds 便能把所有點源響應相加,構建出對任意載荷的答案。但那個定義裡藏著一個狡猾的困難:G 必須同時滿足右端的 delta 和邊界條件,而邊界條件通常才是難的那部分。所以我們把活兒拆成兩半。
前一半完全無視牆壁。問:在無限、毫無特徵的空間裡——四處都沒有邊界,只要求場在遠處合理地衰減——算子對單個點源做了什麼?這個赤裸裸的答案就是[[fundamental-solution|基本解]],而把它看作源點 s 與場點 x 的函數時,便是[[free-space-greens-function|自由空間格林函數]],記作 G_free。它是整門學問裡最純粹的建築磚塊:一個無限、空曠的介質被你戳一下時所做的事。每個算子只需把它造出來一次,便可永遠複用。後一半——把牆壁裝回去——正是鏡像法所處理的,而它是靠巧妙地疊放這同一個自由空間物件的若干副本來做到的。
拉普拉斯算子:點電荷的勢
從最有名的那個開始。算子是 L = -nabla^2,負拉普拉斯算子,它的源方程 -nabla^2 G = delta(x - s) 不過是放在 s 處的單位點電荷的泊松方程。在電荷之外什麼都沒有,所以除源點外 G 必須處處滿足拉普拉斯方程 nabla^2 G = 0。由對稱性,場只能依賴於到電荷的距離 r = |x - s|,而徑向拉普拉斯算子逼出一個唯一的衰減形狀。在三維中答案是 G_free = 1/(4 pi r)——那個你見過十幾次的、熟悉的庫侖勢、引力勢、自然界的 1/r 定律。現在你知道 4 pi 是從哪來的了:它正是讓單位源恰好湧出的那個因子,單位球面的面積。
維數很要緊,而且它要緊的方式值得在腦中描畫。在二維中同樣的邏輯給出 G_free = -(1/(2 pi)) ln r——一個對數,而不是冪。注意它隨 r 增大而無界地增長,而不是衰減下去;平面世界裡的影響從不完全消退,這是二維勢論一個真實而略帶不安的特徵。在一維中,-d^2/dx^2 的基本解是帳篷函數 -(1/2)|x - s|,朝源點一路直線上升、離開它一路直線下降。三個形狀——一頂帳篷、一個對數、一個 1/r 衰減——而每一個都恰恰是當你把球面面積如何隨維數縮放計入後、那個 delta 所逼出的結果。
熱算子與波算子:一團彌散的斑與一層膨脹的殼
現在加進時間。對熱算子 L = d/dt - k nabla^2,基本解回答一個生動的問題:在 t = 0 時刻於一點注入一個單位的熱脈衝,然後看著。答案是熱核,那個高斯函數 G_free = (4 pi k t)^{-n/2} exp(-r^2/(4 k t))(對時間 t > 0),一團以源點為中心的鐘形斑。在最初那一刻它是一根無限高、無限窄的尖峰(就是 delta 本身);下一刻它是一個光滑、有限的鼓包;此後永遠地鋪開、攤平,其寬度像 sqrt(t) 那樣增長。這正是一滴落入靜水的染料如何模糊散開的精確數學,而那高斯形狀絕非巧合——它就是支配隨機遊走的同一條鐘形曲線,因為熱擴散就是無數隨機微觀碰撞的極限。
一個值得留意的誠實皺褶:那個高斯函數對每個 t > 0(無論多小)處處嚴格為正。這意味著你此刻一劃火柴,銀河系另一端的溫度便升高一個荒謬地微小、卻非零的量。熱方程以無限速度傳播影響——一個已知的理想化,對工程足夠好,物理上卻只是近似。波算子 L = d^2/dt^2 - c^2 nabla^2 則截然相反。在三維中它的基本解不是一團彌散的斑,而是一層無限薄、向外膨脹的球殼:原點處的一閃,只在球面 r = c t 上被感覺到,球內一概感覺不到。一記尖銳的拍擊抵達你、掠過、便消失了,身後留下寂靜——光與聲服從嚴格的速度上限,並在過後乾淨利落。
這裡藏著一個奇妙而可愛的轉折,把它點出來才誠實。那個乾淨的膨脹球殼畫面——一閃尖銳地抵達又離去、留下寂靜——在三個空間維度成立,在每一個奇數維度也成立。在二維它失效了:平面世界裡的一閃,在波前抵達時被尖銳地感覺到,但隨後留下一條緩緩消退、卻永不徹底歸零的尾巴,就像池塘上的漣漪,在領頭的圓環掠過很久之後仍在顫動。這正是著名的區別:奇數維中的「乾淨」傳播,與偶數維中拖泥帶水的「尾跡」。這也是我們安然棲居於三維的一個原因:一個回聲從不乾淨停止的世界,會把言語和視覺攪成一團模糊。
鏡像法:用一個幽靈替換一堵牆
現在把牆裝回去。設有一個點電荷,坐在一塊平直接地金屬平面之上、高度為 z 處(該平面保持電位為零——一個狄利克雷邊界條件)。你想要平面上方那個半空間的格林函數:它必須在正確的位置帶有點源,並且在平面上為零。正面去解那個邊值問題看起來很慘。[[method-of-images|鏡像法]]是一條華麗的捷徑。假裝那堵牆根本不在。然後,在牆原先所在位置的另一側,放置一個虛構的鏡像電荷——同樣強度、相反符號——放在鏡像位置上,與真實電荷在平面之上的距離相等地位於平面之下。
為什麼這管用?在平面本身上,每一點到真實電荷與它鏡像的距離都恰好相等,於是真實電荷的正勢與鏡像的負勢完美抵消——沿整個平面,總和自動為零,毫不費力。狄利克雷條件白白地被滿足了。而這裡有一筆關鍵的記賬:鏡像電荷住在平面之下,在我們真正關心的區域之外,所以在半空間內部,它貢獻的無非是拉普拉斯方程的一個光滑解——它不會在我們觀察之處添上任何多餘的源。樓上那個真實的點源原封未動,牆被滿足了,我們就完工了。格林函數就是 G = 1/(4 pi |x - s|) - 1/(4 pi |x - s_image|),真實源的自由空間核減去它鏡像的同一個核。
Half-space z > 0, Dirichlet wall at z = 0 (potential = 0 on the wall)
real source s = (a, b, c), c > 0
* +1 field point x
| o
__________|__________________________________ wall z = 0
|
* -1 (image at s' = (a, b, -c), opposite sign)
G(x, s) = 1/(4 pi |x - s|) - 1/(4 pi |x - s'|)
On the wall, |x - s| = |x - s'| => G = 0 automatically.
Variants by reflecting the SAME free-space kernel:
Neumann wall (insulated, dG/dn = 0): use a +1 image (same sign) -> potentials ADD
Slab 0 < z < L (two parallel walls): infinitely many images, reflected again and again
Right-angle corner / wedge of angle pi/n: a finite ring of 2n alternating images
Sphere of radius R: one image of strength -R/d at the inverse point R^2/d (Kelvin)鏡像能走多遠——以及它在哪裡止步
同樣的技巧能適配一整族對稱情形,而一旦你看出其中的模式,適配的規則便很直觀。改變邊界條件,你就改變鏡像的符號:接地牆(狄利克雷,取值為零)要一個反號鏡像,好讓兩個勢在牆上抵消;絕熱牆(諾伊曼,法向導數為零——沒有熱或通量穿過它)要一個同號鏡像,好讓場平直地抵達牆、跨牆斜率為零,像一個球徑直彈回。邊界完美絕熱的熱傳導、一端固定或自由的振動弦、靠近導體的電荷——全都是同一個反射思想換了身衣裳。
改變幾何,你就改變需要多少個鏡像。一堵平牆要一個鏡像。兩堵平行牆(一塊平板,或一根兩端夾緊的弦)需要一列無窮:每個鏡像本身又必須在另一堵牆裡被反射,來回彈個不停,生出一條沒有盡頭的鏡像線——而令人滿意的是,這正是吉他弦那些離散諧波的來源。一個夾角為 pi/n 的尖楔(直角角是 n = 2)需要繞著角排布的、由 2n 個正負交替鏡像構成的有限環。一個球面也只要一個鏡像,但要由開爾文反演放在沿半徑方向 R^2/d 的點上、並以 -R/d 加權——一種更微妙的反射,卻仍然只是單獨一個幽靈。
- 為你的算子把自由空間格林函數造出來一次——三維 -nabla^2 是 1/(4 pi r),熱算子是高斯熱核,波算子是膨脹的球殼。
- 把真實源跨每一道平直邊界反射,求出鏡像位置;對球面則用開爾文反演點 R^2/d。
- 按邊界條件選定每個鏡像的符號與強度:狄利克雷(取值為零)牆用反號,諾伊曼(絕熱)牆用同號。
- 把真實源與所有鏡像的自由空間核相加;鏡像的奇點都落在區域之外,於是在區域內部你恰好得到你想要的那個點源,而邊界自動被滿足。
不過要誠實地說出它的天花板,因為那是真實的。鏡像法在適用之處是精確的——沒有近似、沒有截斷誤差,那個閉式答案是確確實實正確的。但它只適用於那些足夠對稱、使得一組有限的(或至少是乾淨可求和的無窮的)反射源能夠再現邊界條件的邊界:平面、球面、特殊的楔形、圓盤。對一般的彎曲或坑窪邊界,並不存在這樣的鏡像集合,這個技巧就是不適用。那時你便退回到本級其餘部分所搭建的方法——格林函數的本徵函數展開,它由區域的固有模態把 G 裝配起來,以及最終的數值求解器。鏡像是那個優雅的特例;本徵函數展開才是通用的引擎。