一個物件,整個解
退後一步,看看本級造出了什麼。你從一串鬆散的解向量起步,把它們歸檔成基本矩陣,再歸一化使起始時為單位矩陣,並認出這個結果配得上一個名字:矩陣指數 e^(At)。此後的每一篇指南,都從不同的側面繞著同一個物件打轉。這篇壓軸要把話講白:e^(At) 並非線性系統眾多工具中的一件——它就是那個線性系統,以運動的形式寫出。懂得 e^(At),就是懂得方程 x' = A x 所能做的一切。
把兩條招牌公式並排端詳。對無外力系統,x(t) = e^(At) x(0):矩陣指數把起始狀態接過去、帶向未來,這就是對系統所能提出的每一個初值問題的完整答案。對受迫系統 x' = A x + g(t),同一個物件再次出現在卷積公式 x(t) = e^(At) x(0) + 從 0 到 t 對 e^(A(t - s)) g(s) ds 的積分裡:起點的自由流,加上每一記過去的推力被同一個流帶到當下並加總。一個物件回答了兩個問題。自由情形不過是「無人推動」的受迫情形。
free system: x' = A x => x(t) = e^(At) x(0)
forced system: x' = A x + g(t) => x(t) = e^(At) x(0)
+ integral_0^t e^(A(t - s)) g(s) ds
same e^(At) in both lines
| |
the flow the carrier inside the convolution四條路,同一座峰
若 e^(At) 就是全部的故事,那麼本級稍早的每一種計算技巧,都只是同一座山的不同上山路。你至少學了四條。對角化把系統解耦成沿特徵基底的各別純量指數 e^(lambda t),再組裝回去。當特徵向量不夠用時,喬丹形式法以一個有限的「多項式乘指數」修正項處理那些虧損的區塊。Putzer 演算法與凱萊-漢密爾頓定理則完全跳過特徵向量,僅憑 A 的各次冪構造 e^(At)。而拉普拉斯變換途徑把它直接讀作 (sI - A)^(-1) 的反變換。
這些並非互相競爭的答案。它們是對一個定義明確的矩陣所做的四種計算,而它們必須一致到最後一位數,因為 e^(At) 被唯一地釘住了:它是唯一同時滿足自身微分律、且在 t = 0 取值為 I 的矩陣函數。這份多樣純粹是實務上的。當 A 有乾淨的特徵基底時對角化最快;當沒有時喬丹救你;Putzer 對小型 A 是俐落的手算;而當你本就身處變換世界時拉普拉斯最自然。為你的矩陣挑最省的那條路——峰頂是同一個。
e^(at) 的精確類比
為何這一個物件承載如此之多?因為它是你解過的最簡單方程的忠實矩陣翻譯。純量問題 x' = a x 的答案是 x(t) = e^(at) x(0);把數 a 升級為矩陣 A、把數 x 升級為向量 x,幾乎每一個符號都熬過了這次升級而原樣倖存。定義律 (e^(at))' = a e^(at) 變成 (e^(At))' = A e^(At);初值 e^(0) = 1 變成 e^(A0) = I;那個以單一速率增長或衰減的純量指數,變成一個同時沿幾個交織方向增長與衰減的矩陣。一旦你容許那個速率是矩陣,矩陣指數本就是 e^(at)注定要成為的樣子。
不過有一個純量習慣沒有倖存——而忘了這點正是經典的錯誤。對數而言,e^(a + b) = e^a e^b 永遠成立。對矩陣而言,e^(A + B) = e^A e^B 只在 A 與 B 可交換時成立,也就是當 AB = BA。純量律的證明悄悄地把因子重排了,而矩陣拒絕被重排。倖存下來的,是在單一個 A 中的那條律:e^(A(t + s)) = e^(At) e^(As),因為 A 永遠與自身可交換。這條倖存的恆等式就是半群性質,它恰恰是說系統的流能複合——先跑時間 s、再跑時間 t,你就跑了時間 t + s。
特徵值早已告訴你結局
正是在這裡,e^(At) 越過了一條公式,伸進了命運。你通常不需要矩陣本身就能知道系統最終走向何方——你需要的是它的特徵值。在可對角化的情形,每個解都是各項 e^(lambda t) 的混合,而每個模態的長期行為由其特徵值 lambda 的實部決定。負實部讓那個模態衰減至零;正實部讓它爆增;虛部只決定它沿途旋轉得多快。於是 x' = A x 的整個定性未來,都編碼在 A 的特徵值落於複平面何處。
這就是從本級直接通往相平面的橋樑。若 A 的每個特徵值都有負實部,e^(At) 把每個狀態縮向原點,而 0 處的平衡點是漸近穩定的——你方才直接從譜讀出了漸近穩定性,根本不必計算那個指數。隨之而來的幾何——軌跡是螺旋、是收進結點、還是擦著原點作鞍形而過——就是相圖,而它的整個形狀,由支配 e^(At) 的同一批特徵值所決定。矩陣指數給出精確的軌跡;它的特徵值給出你能徒手勾勒的那幅圖。
在為它加冕前的誠實提醒
壓軸該欠你的是極限,而不只是凱旋。第一條邊界是鋒利的:這整個故事關乎的是線性、常係數系統。矩陣指數之所以存在、能傳播狀態、並服從卷積公式,是因為疊加原理成立、且 A 不依賴於 t。系統一旦變成非線性 x' = f(x),就沒有 e^(At),通常也根本沒有封閉形式;那些方程需要後面幾級的定性與數值方法。而若 A(t) 隨時間變化,流仍然存在,卻極少是一個乾淨的指數。請就著它所服務的那一類,珍惜這個俐落的故事。
第二條提醒是數值上的,且常令人意外。「我們有封閉形式」並不等於「我們能可靠地算出它」。對一個大型矩陣、或對一個特徵向量幾近平行的非正規A,真要把 e^(At) 算出來,是貨真價實地棘手——天真的做法會嚴重損失精度,這正是為何有一篇著名的綜述題為〈計算矩陣指數的十九種可疑方法〉(後來的續篇還發現它們依舊一樣可疑)。你學過的四種手算法,用來理解、用來解小問題,再完美不過;嚴肅的大規模計算,則把這份工作交給精心打造的演算法,而非教科書裡的級數。