當沒有公式肯回答時
到現在為止,你已經能用公式求解一大類常微分方程:可分離變量的、帶積分因子的一階線性方程、用特徵方程解的常係數方程。但這些都是幸運的情形。寫下一個看似無害的方程,比如 y'' - x y = 0(艾里方程),所有閉形式技巧就都失效了——沒有任何冪、指數、對數、正弦的組合能滿足它。誠實的回應不是放棄,而是改變我們對「答案」的理解。我們將把解構造成一個無窮級數。
這個想法穩穩地立在你第一卷已經見過的東西上。冪級數就是一個無窮次多項式,y = 從 n = 0 到無窮的 a_n x^n 之和 = a_0 + a_1 x + a_2 x^2 + ……,而你學過,在它的收斂半徑之內它表現得像一個你能信賴的多項式:你可以逐項求導,也能自由地把這樣的級數相加、相乘。泰勒級數是其中一種特殊情形,那裡的係數來自一個已知函數的各階導數。這裡我們把邏輯反過來。我們並不知道這個函數;我們把係數 a_n 當作未知數,讓微分方程替我們把它們一個個揪出來。
常點:方法被允許奏效的地方
在猜級數之前,我們必須問清楚自己在哪裡有資格這樣猜。把一個二階線性方程寫成標準形 y'' + P(x) y' + Q(x) y = 0。一個點 x_0 是常點,如果 P 和 Q 在那裡都表現良好——確切地說,如果它們各自在 x_0 處都是解析的(本身等於一個收斂的冪級數)。如果其中任一個係數在那裡發散,x_0 就是奇點,單純的冪級數可能就不夠用了。這種常點與奇點的區分並不是官樣文章裡的小字:它正是「一個整潔的冪級數行得通」與「你需要更重的工具」之間的那條界線。
在常點處會啟動一條保證,而它值得明明白白地說出來,因為正是它讓整個方法成為正當之舉、而非一廂情願:如果 x_0 是常點,那麼方程確實有兩個獨立的解,每一個都由 (x - x_0) 的一個冪級數給出,並在 x_0 周圍的一個實區間內收斂。所以我們不是在指望某個級數也許存在——一條定理擔保它存在,而且正如我們將看到的,還告訴我們它收斂到多遠。你留作未定的兩個自由常數 a_0 和 a_1,恰恰就是兩個初始條件 y(x_0) 和 y'(x_0);它們正是二階方程為通解所留出的空間。
這台機器:代入、對齊、配平
整套流程就是一小段需要細心完成的記賬工作。你把 y 寫成一個未定級數,逐項求導得到 y' 和 y''(這在收斂半徑之內是被允許的——這張許可證直接來自第一卷的冪級數理論),把這三者全部代入方程,然後要求結果恆等於零。關鍵洞見在於「恆等於零」所強制的東西:一個冪級數在某區間內對所有 x 都為零,當且僅當它的每一個係數都為零。於是逐次匹配 x 各次冪的係數,就把一個微分方程變成了無窮多個普通的代數方程,每一次冪一個。
- 寫下猜測:y = sum a_n x^n(以常點為中心,這裡 x_0 = 0)。逐項求導:y' = sum n a_n x^{n-1},y'' = sum n(n-1) a_n x^{n-2}。
- 把所有部件代入方程,於是每一項現在都是某個常數乘以 x 的一個冪次。
- 平移求和指標,讓每個求和都對同一個冪次 x^k 進行。這種重新貼標籤是唯一瑣碎的一步——它把各個求和對齊,好讓你逐次冪讀出一捆係數。
- 令每個 x^k 的係數為零。把它對最高指標的 a 解出來,就用較早的係數表示了它——這就是你的遞迴關係。
第三步值得多說一句,因為它頭一回總會把人絆倒。代入之後,y'' 從 x^0 這個冪次開始,可它的指標 n 卻從 2 起步;與此同時,像 x 乘 y 這樣的項從 x^1 起步。要把它們擺在一起比較,你就重新標註求和指標,讓所有求和都談論同一個冪次 x^k——例如把 y'' 寫成 從 k = 0 起的 (k+2)(k+1) a_{k+2} x^k 之和。頭一回會覺得像在變戲法,但它只不過是給求和所用的變量改個名,就像在定積分裡給啞變量改名一樣。一旦各次冪對齊,係數的匹配就乾淨俐落地讀出來了。
一幅做出來的圖景:從零搭出餘弦
我們把這台機器開在一個答案早已知道的方程上,好讓我們看著它運轉、並信任它的輸出:諧振子方程 y'' + y = 0,在常點 x_0 = 0 處展開。代入 y = sum a_n x^n。經過指標平移後,y'' 這一項貢獻 (k+2)(k+1) a_{k+2} x^k,而 y 這一項直接貢獻 a_k x^k。相加並要求 x^k 的係數為零,就得到對每個 k 都成立的 (k+2)(k+1) a_{k+2} + a_k = 0。解出最新的係數:a_{k+2} = -a_k / [(k+2)(k+1)]。這一行就是遞迴關係。
y'' + y = 0, y = sum_{n>=0} a_n x^n
recurrence: a_{k+2} = - a_k / [ (k+2)(k+1) ]
leave a_0, a_1 free (= y(0), y'(0))
even chain (from a_0): odd chain (from a_1):
a_2 = -a_0/2! a_3 = -a_1/3!
a_4 = +a_0/4! a_5 = +a_1/5!
a_6 = -a_0/6! a_7 = -a_1/7!
y = a_0 (1 - x^2/2! + x^4/4! - ...) + a_1 (x - x^3/3! + x^5/5! - ...)
= a_0 cos(x) + a_1 sin(x)注意遞迴關係是怎樣把一切組織起來的。它每次跳兩步,於是偶數係數構成一條回溯到 a_0 的鏈,奇數係數構成另一條回溯到 a_1 的鏈。兩個起始值從不相混——這正是為什麼我們最終得到兩個獨立的解和兩個自由常數。沿偶數鏈走下去得到 1 - x^2/2! + x^4/4! - ……,即 cos(x) 的泰勒級數;奇數鏈給出 sin(x) 的泰勒級數。這個方法用純代數重新搭出了三角函數,從頭到尾都沒假設我們認得它們。當方程的答案不是一個熟悉的函數時,這同一台機器照樣運轉,而那個級數就是那個新函數。
它能伸到多遠?收斂半徑
一個級數解只有在它收斂的地方才值錢,所以最後一個問題是:我們這個無窮次多項式真正有意義的那個圓盤有多大?回想第一卷:每個冪級數都有一個收斂半徑 R,在這段距離以內它收斂、超出它就發散。對於由遞迴關係搭出來的級數,你常常可以直接對係數用比值判別法求出 R。對 y'' + y = 0,係數之比無限地縮小,所以 R 是無窮——cos 和 sin 確實是整函數,對每個 x 都有效,這與我們早已知道的相符。
但還有一種遠為漂亮的辦法,能在算出任何一個係數之前就預知 R,而且它把整個故事繫在了一起。常點處的定理保證:級數解的收斂半徑至少等於從中心 x_0 到方程最近奇點的距離——而這裡有一處反轉,正是它撐起了這個判據的價值:那個最近的奇點可能落在實軸之外,活在複平面裡。方程 (1 + x^2) y'' + …… 的係數在 1 + x^2 = 0 處變壞,也就是 x = 正負 i。儘管這些點在實軸上看不見,它們距原點為 1,於是把實的收斂半徑鎖定在 R = 1。實數解感覺到了一堵它看不見的牆。
為什麼它開啟了這一階梯
你手裡握著的是一把通用的開門鑰匙。每當一個方程是線性的、有一個常點、又拒絕一切閉形式技巧時,冪級數法仍然能誠實而構造性地給出兩個解,它們是係數服從某個遞迴關係的級數,其觸及範圍由最近的奇點所固定。它就是微積分版的手算長除法:某些地方繁瑣,但它總會停在一個你信得過的數位上。
而它也是這一階梯其餘部分要穿過的那道門。把 y'' - 2x y' + 2n y = 0 餵給這台機器,只要 n 是整數,遞迴關係就在有限多項之後終止——埃爾米特多項式便掉了出來。把 (1 - x^2) y'' - 2x y' + l(l+1) y = 0 餵進去,勒讓德多項式以同樣的方式出現。貝塞爾方程在原點處有一個奇點,所以它需要弗羅貝尼烏斯式的升級——但那正是緊接著的下一篇指南,而它無非就是這個方法被准許以一個分數次冪作為起點。數學物理中每一個偉大的具名函數,歸根結底都是一個等著被展開的遞迴關係。