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

在整條直線上求解熱方程

對熱方程做傅立葉轉換,看著這條偏微分方程在每一個頻率上塌陷成一行常微分方程。把它解出來、再轉換回去,就交到你手上一個熱核——那個會擴散、會平滑、並解釋擴散那道奇異單向箭頭的高斯函數。

沒有牆的問題

在一根有限長的桿子上,分離變數法之所以管用,是因為兩端把被允許的形狀量子化成一份離散的正弦模態清單。現在把那兩道牆拿掉。我們想要一根無窮長桿子上的溫度:熱方程的柯西問題,對所有 x 與所有 t > 0 而言 u_t = k u_xx,只附帶一件資料——初始分布 u(x,0) = f(x)。沒有邊界條件要施加,只有一個溫和的要求:u 保持有界、在遠處衰減。既然沒有牆來挑出特殊的頻率,現在每一個頻率都被允許了,於是對模態的離散求和就得變成一個連續的積分。

這恰好就是上一篇指南那件工具的工作。傅立葉轉換把任何合理的 f(x) 重建成純波 e^(i xi x) 的連續疊加,每一個波數 xi 對應一個,並以轉換 F(xi) = (f(x) e^(-i xi x) 的積分) 為權重。在有限桿子上給出傅立葉級數的地方,無窮直線給出的是傅立葉積分——同樣的想法,連續的模態。策略自己就寫好了:對整個問題在 x 上做轉換、解掉剩下的東西、再轉換回來。

在 x 上轉換,偏微分方程變成常微分方程

那個神奇的動作是微分規則:在 x 上的傅立葉轉換之下,取一次空間導數就變成乘以 i xi。於是 u_x 變成 i xi 乘以轉換,而 u_xx——兩次導數——變成 (i xi)^2 = -xi^2 乘以它。令 U(xi,t) 表示 u(x,t) 在每個固定時刻 t 對 x 所取的轉換。時間導數只是搭著順風車,因為在 x 上轉換與對 t 微分是可交換的。把轉換施加到 u_t = k u_xx 的兩邊,空間中的二階導數就溶解成一個單純的乘法。

u_t = k u_xx                  (PDE in x, t)

  transform in x:  u_xx  ->  -xi^2 U

  U_t = k (-xi^2) U  =  -k xi^2 U   (one ODE in t, per xi)

solve the ODE (xi is just a constant here):

  U(xi, t) = U(xi, 0) e^(-k xi^2 t)
           = F(xi) e^(-k xi^2 t)
空間導數變成 -xi^2;偏微分方程對每個波數 xi 都變成一條獨立的、對 t 的一階常微分方程。

看看我們剩下了什麼:U_t = -k xi^2 U。對每個固定的 xi,這是世界上最簡單的常微分方程——單一條一階線性方程,正是你在下兩階見過的衰減律。它的解是一個純指數,U(xi,t) = F(xi) e^(-k xi^2 t),其中 F(xi) = U(xi,0) 是初始資料 f 的轉換。無窮長的桿子非但不比有限的難,某些方面還更乾淨:沒有本徵值的搜捕,只有一條對每個頻率都同時成立的明確公式。

轉換回去給出一個高斯函數

我們已經在頻率空間裡有了答案;現在用逆傅立葉轉換把它帶回家。乘積 U(xi,t) = F(xi) · e^(-k xi^2 t) 是一個轉換乘以另一個轉換。頻率側的乘法正是物理側捲積的招牌——這就是捲積定理,是轉換那兩條偉大規則中的第二條。所以 u(x,t) 是 f 與某個函數的捲積,那個函數的傅立葉轉換恰好是 e^(-k xi^2 t)。我們只需要認出那個函數。

這裡有一個美麗的事實救了我們:高斯函數的傅立葉轉換仍是一個高斯函數。頻率中的鐘形曲線 e^(-k xi^2 t) 是 x 中一條鐘形曲線的轉換——一個寬度隨時間增長的高斯函數。仔細把帳算清楚,那個夥伴函數是 G(x,t) = (1 / sqrt(4 pi k t)) · e^(-x^2 / (4 k t)),一個面積為一、向外擴散的鐘形。這個 G 就是熱核,擴散理論中最重要的單一物件,而整個解就是它與初始資料的捲積。

由此得到的捲積公式 u(x,t) = (G(x - y, t) f(y) 對 y 的積分),有一個極富物理意味的讀法。把初始分布 f 想成一群微小的熱尖峰,每個點 y 上一個,各自強度為 f(y)。核 G(x - y, t) 是位於 y 的單一尖峰到了時刻 t 已經擴散成什麼樣子:一個以 y 為中心的高斯隆起,隨著 t 增長而越來越寬、越來越平。在 (x,t) 處完整的溫度,就只是所有那些擴散隆起的總和,每一個都以其源頭有多熱為權重。擴散不過就是每一個點把它的初始熱量向外抹成一個越來越寬的鐘形,而那些鐘形彼此重疊。

核是對一個點的響應

G 本身是什麼?把初始資料設成單一個集中的尖峰——所有熱量都堆在原點,別處什麼也沒有。那個理想化的尖峰就是狄拉克δ函數,而把 f = delta 餵進捲積,就只是傳回 u(x,t) = G(x,t)。所以熱核就是把一個單位的熱量倒在一個點上所得到的溫度:它是對點源的響應,是熱方程的基本解。要誠實面對這是哪一種物件——δ函數在通常意義下不是一個函數,而是一個分布,一個密度無窮大、總量為一的理想化點,而核就是這個理想化所觸發的平滑響應。

這就是為什麼對 G 做捲積能解出一切:由線性,任意的 f 是點尖峰的疊加,所以對 f 的響應就是點響應 G 的同一份疊加。核本身也有一個乾淨的形狀。在每個時刻它都是一個精確的高斯函數,其寬度正比於 sqrt(k t)——所以它的擴展像時間的平方根那樣增長,這是自相似擴散不會看錯的招牌。要走遠四倍,一個擴散波前需要花十六倍的時間;正是這個 sqrt(t) 的標度——而不是某個穩定的速度——才是熱量向外蔓延的誠實規律。

高斯函數招供了擴散的什麼

現在直接從公式上讀出三件深刻的事實。第一,無窮速度。只要 t > 0,無論多麼小,高斯函數 G(x,t) 對每一個 x 都嚴格為正。所以原點的一個尖峰會立刻溫暖一英里外的一個點——在 t = 0.0001 時那裡的溫度小得不可思議卻不為零。熱方程具有無窮的傳播速度:資訊一瞬間就漏到處處皆是。這在物理上是一種虛構(真實的熱量會尊重光速),而這恰恰是擴散身為一條會平滑的拋物型方程、而非像波動方程那種有限速度的雙曲型方程,所付出的代價。

第二,平滑化。只要 t > 0 的那一瞬間,u(x,t) 就是對一個無窮平滑的高斯函數做的捲積,而與某個平滑的東西做捲積會使結果平滑——即便 f 原本是鋸齒狀的階梯或一個尖峰。所以參差不齊的初始溫度立刻變得完美平滑;我們在 e^(-k xi^2 t) 因子裡瞥見的平滑化效應,如今以那條鐘形曲線在做模糊化的樣子清楚可見。第三,作為直接的後果,不可逆性。把公式倒著跑到負的 t,4kt 變成負數,於是高斯函數的指數翻轉正負號、積分爆炸;逆向熱方程是不適定的。你無法把一張模糊的照片變清晰、無法把牛奶從咖啡裡攪回來,而那核就是用數學寫下的原因。

那套配方,以及它觸及極限之處

  1. 在 x 上轉換。 對 u_t = k u_xx 施加傅立葉轉換;微分規則把 u_xx 送成 -xi^2 U。
  2. 解常微分方程。 把 xi 凍住,U_t = -k xi^2 U 給出 U(xi,t) = F(xi) e^(-k xi^2 t),其中 F 是 f 的轉換。
  3. 認出夥伴。 因子 e^(-k xi^2 t) 是高斯熱核 G(x,t) = 1/sqrt(4 pi k t) e^(-x^2/(4 k t)) 的轉換。
  4. 用捲積反轉。 轉換的乘積是一個捲積,所以 u(x,t) = G(x - y, t) f(y) 的積分——封閉形式的答案。

要誠實面對那些細則。傅立葉轉換法需要整條直線(或一個週期區域)——一個真正的邊界,比如有限桿子的端點,會打破那條乾淨的規則,因為 e^(i xi x) 並不尊重那道牆。對半條直線,你就改用正弦或餘弦轉換,那正是下一篇指南的主題。這套方法也倚賴方程在 x 上有常係數,這樣導數變乘法的規則才能乾淨地套用;隨空間變化的係數並不會轉換成一個簡單的代數因子。

即便如此,我們所建起的也絕非小事。兩條轉換規則——導數變乘法、乘積變捲積——把一條偏微分方程化成一行常微分方程,並交回了無窮桿子上任何初始溫度的封閉形式解。掉出來的熱核,正是你之後會再次遇見的那個高斯函數:作為基本解、作為布朗運動的機率密度,以及在上方幾階作為格林函數。若要在過程中加入一個熱源、而不只是一個初始條件,你就用杜哈梅原理把這些點響應沿時間疊起來——但那仍是同一個核在做工,只是再積分了一次。