把 d/dx 提升為一個獨立的對象
到目前為止,你把 y'、y''、y''' 寫成「發生在」函數身上的事。本篇指南的第一步是觀點的轉換:把「微分」這個動作打包成單一符號 D,使得 D y 代表 y'、D^2 y 代表 y'',一般地 D^k y 代表 y^(k)。字母 D 不再指向任何特定函數——它是一個算子,一台吃進一個函數、吐出另一個函數的機器。這個線性微分算子在誠實的意義下是線性的:D(c1 f + c2 g) = c1 D f + c2 D g,所以它對和分配,並把常數直接抽出。
有了 D,整個常係數方程就塌縮成一個俐落的式子。方程 a y'' + b y' + c y 變成 (a D^2 + b D + c) y,其中括號裡那一團 L = a D^2 + b D + c 本身就是一個算子,由 D 的加權複本相加而成。我們悄悄地把一個微分方程,變成了陳述 L y =(外力)——算子 L 作用在未知函數上等於右端。從這裡開始,整場遊戲就是學會把 L 當成一隻代數生物來操弄。
D 的多項式:把它因式分解,答案就掉出來
這就是那些記帳工作的回報。因為 L = a D^2 + b D + c 是一個 D 的多項式,它沿著自己的根做因式分解,恰好像 a^2 + b a + c 沿著數做因式分解一樣。若特徵多項式 a r^2 + b r + c 有根 r1 與 r2,則 L = a (D - r1)(D - r2)——而且關鍵在於,那些因子的順序無關緊要,因為常係數算子可交換。特徵多項式的根,與算子的因子,正是同一批數穿著兩套戲服。
每一個線性因子都解出一個你早已認識的小小一階問題。方程 (D - r) y = 0 其實就是 y' = r y,它的解是 y = e^(rt)。所以 L 的一個因子 (D - r) 就「宣告」了齊次解中的構件 e^(rt)。看一個重複的因子:(D - r)^2 y = 0 意思是把 (D - r) 連用兩次得零,而這正是其額外解為 t e^(rt) 的那個情況。神秘的 t 因子——也就是重根解的形式——終於在這裡有了乾淨的來源:一個重複 m 次的根來自因子 (D - r)^m,它貢獻 e^(rt)、t e^(rt)、……、t^(m-1) e^(rt)。
請注意,我們重新推導出了前兩篇指南整套高階齊次理論,卻沒有用上任何一個新想法——只是把算子因式分解,再把每個因子讀成一個一階的小塊。這正是一個好觀點的試金石:它讓舊結果看起來無可避免。但把這一切搭建起來的真正理由,是它對「非齊次」方程能做什麼,而那正是消滅子登場之處。
消滅子:一個把外力項殺掉的算子
假設你面對一個非齊次方程 L y = g(x),其中 g 是外力項。關鍵的觀察既簡單又帶點俏皮:你在實務中遇到的許多 g——多項式、e^(ax)、sin(bx)、cos(bx),以及它們的乘積——本身就是某個常係數齊次方程的解。這意味存在一個算子 A,使得 A g = 0。這樣的 A 就是 g 的消滅子:把它一作用,外力項就憑空消失了。
消滅子是一本簡短、可背誦的字典,而每一條目不過就是「哪個因子把這個函數當成齊次解產生出來」。一個 m 次的多項式被 D^(m+1) 殺掉;指數 e^(ax) 被 (D - a) 殺掉;一對 sin(bx)、cos(bx) 被 (D^2 + b^2) 殺掉;而像 x e^(ax) 這樣的乘積被 (D - a)^2 殺掉。你不是把這些當成任意的事實去背——你是直接從剛才搭好的「根對應因子」關係上讀出來的。下方的表格就是全部工具。
forcing term g(x) annihilator A (because g solves A y = 0) ----------------------------- -------------------- ------------------------- c (a constant) D root r = 0 x^m (polynomial deg m) D^(m+1) root r = 0, mult. m+1 e^(ax) D - a root r = a x^m e^(ax) (D - a)^(m+1) root r = a, mult. m+1 cos(bx), sin(bx) D^2 + b^2 roots r = +/- i*b e^(ax) cos(bx), e^(ax)sin(bx) (D - a)^2 + b^2 roots r = a +/- i*b
方法,一步一步來
現在把兩個想法合起來。要解 L y = g,就把 g 的消滅子 A 作用到「兩側」。右側死掉(A g = 0),你便剩下單一個、更大的、純粹齊次的方程 A L y = 0。你可以用你已經擁有的特徵多項式機器去解它——而它的通解必定包含原問題真正答案的每一塊,既有互補解(來自 L 自己的根),也有特解(來自 A 的根)。消滅子法正是這個把一個非齊次問題換成一個更大齊次問題的把戲。
- 先解齊次方程 L y = 0,得到互補解 y_c——你需要它的根,以便稍後辨認重疊。
- 從字典中挑出外力項 g 的消滅子 A,使得 A g = 0。
- 把 A 作用到兩側形成 A L y = 0,再從它的特徵根列出這個更大齊次方程的完整通解。
- 丟掉已經出現在 y_c 中的項;存活下來的就是特解 y_p 的正確形式,帶有待定係數。
- 把那個 y_p 代回 L y = g,比對係數以定出常數;完整答案是 y = y_c + y_p。
用 y'' - y = e^(x) 把它具體化,也就是 (D^2 - 1) y = e^(x)。這裡 L = (D - 1)(D + 1),所以 y_c = C1 e^(x) + C2 e^(-x)。外力 e^(x) 被 A = (D - 1) 消滅,得 (D - 1)^2 (D + 1) y = 0。它的根是 r = 1(現在變成重根了!)與 r = -1,所以擴大後的解是 C1 e^(x) + C2 e^(-x) + C3 x e^(x)。前兩項已經是 y_c,所以唯一真正新增的存活者是特解形式 y_p = A x e^(x)——而那個多出來的 x 自動出現了,因為 e^(x) 早已是一個齊次解。
它解釋了什麼,又在哪裡止步
這個方法最深的禮物,是它把待定係數法去神秘化了。當那個方法叫你「猜」一個試解形式、再丟給你一條修正規則——「若你的猜測與齊次解衝突,就乘上 x」——消滅子法則「推導」出那條規則。衝突不過就是 A L 中的一個重根:當外力的根與 L 的某個根重合時,那個因子的次方就攀升,而那個因子更高的次方,正是產生出額外 x 的東西。著名的「乘上 x」不是補丁;它是更大的特徵多項式所宣告的必然。
對這個方法撞上的那堵牆要誠實。消滅子只在 g 本身是某個常係數齊次方程的解時才存在——也就是說,是多項式、指數、正弦或餘弦,或它們的有限乘積與和。一旦外力是像 tan(x)、ln(x) 或 1/x 之類的東西,就「沒有」有限的消滅子存在,整套做法便啞口無言,你必須退回到參數變異法——本層最後一篇指南所專注的那個真正通用的方法。消滅子法銳利而優雅,但它是個專才,不是通才。