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

傅立葉變換把微分變成乘法

本學習階梯每一篇導讀都貫穿著同一招:把一個函數拆成一個個純波,於是最讓你害怕的運算——微分——就化成了無害的乘以 i k。看看單憑這一件事,如何把整條偏微分方程變成代數。

為什麼微分才是難處

你來到這一級時,已能徒手在有界區間上解偏微分方程:把變數分離,將資料展成傅立葉級數,再讓每個模態各自演化。之所以行得通,是因為有限長的棒擁有一道離散的固有頻率階梯。但若是無限長的棒,或是整條實數線,那裡沒有箱子來框住模態,又該如何?級數化成積分,級數展開化成變換,同一個想法便放大開來。這一級講的正是這個「搬上整條線」的動作,而其中每一篇導讀,都倚賴你此刻即將遇見的一件機械化的事實。

障礙說穿了很簡單。這一級的方程——熱方程 u_t = k u_xx、波動方程 u_tt = c^2 u_xx——之所以易,恰恰只有一個理由:它們含有對 x 的導數。把一個數乘以固定權重再加總、積分,這些我們眼皮都不眨一下就辦到了。微分卻是那個把一個值與它無窮小的鄰居耦合起來的運算,而正是這份耦合,使偏微分方程之所以為偏微分方程。倘若我們能找到一個觀點,使得 u_xx 不過就是 u 乘上某個數,那麼整件事便會坍縮成代數。傅立葉變換,正是這樣的觀點。

用純波把函數拼出來

傅立葉變換 立基於一個大膽的主張:線上任何夠規矩的函數 f(x),都能寫成一個個純波 e^(i k x) 的連續混合,每個頻率 k 各對應一個波,從負無窮到正無窮。你需要每個波多少分量,就是一個數 F(k),即 f 的變換。所以 F(k) 是一份配方:它逐個頻率告訴你,要攪入每個波多少,才能把 f 重建起來。一個集中在一點的尖峰,需要等量地取一點點每個頻率;一個緩慢溫柔的凸起,則大多只需低頻。從 F 反讀出 f,就是 逆變換,那條把所有這些波再加回去的積分。

forward (analysis):   F(k) = integral over x of  f(x) e^(-i k x) dx
inverse (synthesis):  f(x) = (1/2pi) integral over k of  F(k) e^(i k x) dk

      f(x)  <-- a function of position --
      F(k)  <-- the same thing, sorted by frequency --
兩條積分,互為逆變換。前向的那條秤出 f 含有每個頻率多少;逆向的那條則把波加回去重建 f。(2pi 擺在哪裡有不同的約定;但下面的微分法則不受影響。)

整個學習階梯倚賴的那一件事實

現在來收割成果。取一個純波 e^(i k x),對 x 微分。由連鎖律,你得到 i k 乘以 e^(i k x)——一模一樣的那個波,只不過被數 i k 縮放了。微分絲毫不改變純波的形狀;它只是把它乘了起來。既然每個函數都是這些波的混合,那麼對整個函數 f 微分,不過就是把混合中的每個波各乘上它自己的 i k。翻譯成變換語言:f_x 的變換是 (i k) F(k)。這就是 微分法則,是整個學習階梯的引擎。

transform of  u_x    =  (i k)   U(k)
transform of  u_xx   =  (i k)^2 U(k)  =  -k^2 U(k)
transform of  u_xxx  =  (i k)^3 U(k)

  derivative in x   <-->   multiply by i k in k
  (the hard operation)     (the easy operation)
每多一次對 x 的微分,就多乘一個 i k。二階導數給出 (i k)^2 = -k^2,是一個實的負數——這正是熱方程中高頻被衰減的原因。

請與剛發生的事多待一會。原問題裡最難的運算——那個把每一點與鄰居耦合起來的 x 導數——竟成了天下最容易的運算:乘以一個數。微分兩次就乘以 (i k)^2 = -k^2。於是在變換這一側,u_xx 不過是 -k^2 乘上 U(k)——一個導數都不剩了。原本把 u 在相鄰各點的值綁在一起的偏微分方程,搖身一變,成了在每個頻率 k 上彼此分離、互不耦合的關係,沒有哪個 k 與別的 k 交談。我們用一個 x 中的難題,換來了 k 中無窮多個易如反掌的題目。

看一條偏微分方程坍縮成代數

讓我們把熱方程送進這台機器,只走到足以感覺它「卡」一聲到位之處——完整的工作留給下一篇導讀。從整條線上的 u_t = k u_xx 出發,把兩側都對 x 做變換。左側 u_t 是時間導數,對 x 的變換對它毫無作用,只是讓 U 同時成為 k 與 t 的函數:它變成 U_t(k,t)。右側 k u_xx 變成 k 乘以 -k^2 U,即 -k k^2 U。(要小心:這裡的小 k 是熱常數,大 k 是頻率——兩個不同的 k,不巧共用了同一個符號。)偏微分方程就此化成 U_t = -(常數) k^2 U。

  1. 對 x 變換偏微分方程。用微分法則,u_xx 變成 -k^2 U,於是 u_t = k u_xx 在每個固定頻率上化成 U_t = -k k^2 U。
  2. 解出隨之而來的 t 中常微分方程。對每個凍結的 k,這只是指數衰減,U(k,t) = U(k,0) e^(-k k^2 t)——一條你兩級之前就掌握過的常微分方程。
  3. 從初始資料讀出 U(k,0):它就是 u(x,0) = f(x) 的變換。整個解,已完整組裝好,就活在頻率這一側。
  4. 做逆變換。施以逆變換,把 U(k,t) 變回 u(x,t)。真正的功夫就藏在這最後一條積分裡——而熱核也將在下一篇導讀中於此現身。

請留意這個縮影般的策略:變換、解掉那個簡單的問題、再逆變換。第一步把偏微分方程換成常微分方程;中間那步是你閉著眼都會做的事;唯有最後一步,逆變換,需要新的細心。再看看免費掉出來的物理。衰減速率是 k^2:高頻、大 k,消逝得遠比低頻快。這正是熱方程的平滑化最純粹的樣貌——最扭動的特徵最先消失,留下一條逐漸更光滑的輪廓。變換不只解了方程;它還一行字就解釋了熱量為何會平滑。

第二條法則,以及波的代價

微分是頭條法則,但有個夥伴與它同行。許多解在頻率這一側以乘積的形式現身——譬如 U(k,t) = F(k) G(k),初始資料乘上某個響應。捲積定理 告訴你這個乘積回到 x 中是什麼意思:兩個變換的乘積,是一個捲積的變換,那是一條「滑動並混合」的積分,把 f 抹在 g 上。這正是為何一個解如此頻繁地看起來像是被某個固定形狀模糊化了的初始資料的結構性理由——那個固定形狀是一個基本解,而模糊化就是捲積。k 中的乘法即 x 中的捲積;同一件事實的兩張臉。

變換裡還藏著一條守恆律,普朗歇雷定理:f 的總能量,即 |f|^2 的積分,等於(差個約定的常數)F 的總能量,即 |F|^2 的積分。在過渡到頻率側時,沒有任何東西流失;變換只是把同一份能量按頻率重新分類。對波動方程而言,這恰恰就是守恆的能量。對熱方程而言,它使平滑化變得可量化:當 |F|^2 的高 k 部分衰減,總能量便確實下降,而你能精確量出它下降得多快。

變換一眼便讀出的東西

這單獨一招值得寫五篇導讀的最後一個理由:一旦偏微分方程上了頻率側,你往往不必解任何東西,就能直接讀出它的物理。把一個試驗波 e^(i (k x - omega t)) 餵進一條線性常係數偏微分方程,微分法則便把方程化成頻率 omega 與波數 k 之間一條樸素的代數連結。那條連結就是 色散關係,omega = omega(k),是方程的指紋。由它你能讀出相速度與群速度——單一個波峰行進的快慢,相對於一群波及其能量移動的快慢——這便是本學習階梯收尾的那篇導讀。

不過,要誠實面對這套方法的邊界。微分法則立基於線性常係數:它行得通,是因為對一個波微分只是把它乘起來,而把解疊加起來仍是解——疊加原理正在運作。一旦摻入隨 x 變化的係數,或像 u u_x 這樣的非線性項,單一頻率便不再自顧自演化;各頻率開始互相餵養,乾淨的解耦就此瓦解。變換法是專為線性、常係數、整條線的世界打造的精密工具——而那恰恰是這一級所居住的世界,且是一個既廣大又有用的世界。