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

定義 e^(At)

純量方程 x' = a x 的解是 x = e^(at) x0。把這同一個奇蹟裝瓶、套到整個向量系統 x' = A x 上,你就得到 e^(At)——一個名副其實是「指數」的矩陣,誕生自一模一樣的冪級數,而且它正好就是那道把任何起始狀態往時間前方推送的「流」。

唯一值得抄襲的純量事實

回到整門學科裡最簡單的微分方程:x' = a x,一個數 a 配一個未知量 x(t)。它的解是 x(t) = e^(at) x0,其中 x0 = x(0)。一個純量指數就把起始值永遠地往前推送——把 x0 乘上 e^(at),你就得到任意時刻 t 的狀態。本篇導引裡的一切,都是一場固執的模仿:我們想要那一句話,一字不漏地,套用到整個系統 x' = A x 上,此時 x 是向量、A 是方陣。夢想是一個讀作 x(t) =(某物)(t) x0 的解,形狀相同、魔法也相同。

在上一篇導引中,你為齊次系統建出了一個基本矩陣:一個以獨立解為各行的矩陣,於是任何解都是它們的組合。這其實已經把系統解開了。但一個一般的基本矩陣很彆扭——它在 t = 0 的值是某個任意的可逆矩陣,所以要用起始狀態 x0 把答案讀出來,還得多算一個反矩陣。矩陣指數,就是那個被調校到最乾淨歸一化的基本矩陣,而正是這個歸一化,讓它的舉止如同 e^(at)。

用早已奏效的那個級數來定義 e^(At)

你究竟要怎麼把 e 升到一個矩陣的次方?你不發明任何新東西;你重用早已信賴的那個 e^x 的定義。回想對一個普通的數,e^x = 1 + x + x^2/2! + x^3/3! + ...。這個無窮和只需要三種運算:相加、相乘,以及除以計數的自然數。一個方陣這三樣都做得到——你可以把矩陣相加、把 A 自乘得到 A^2、A^3 等等、再除以 2!、3!——所以同一個級數,把 x 換成 A,照樣合法。那個和,就是矩陣指數的定義,寫作 e^(At)。

scalar :  e^(at)  =  I + (at) + (at)^2/2! + (at)^3/3! + ...      (a number)

matrix :  e^(At)  =  I + (At) + (At)^2/2! + (At)^3/3! + ...      (a matrix)

          where  I = identity matrix,  (At)^k = A^k t^k

properties :  e^(A*0) = I        (the t=0 term alone survives)
              d/dt e^(At) = A e^(At)   (differentiate the series term by term)
同一個級數,由單位矩陣 I 扮演領頭那個 1 的角色。框起的兩條性質,就是全部的關鍵。

兩個事實直接從那個級數掉出來,而它們正是全部的重點。第一,在 t = 0,每個帶 t 的項都消失,只剩單位矩陣 I,所以 e^(A*0) = I——它從那個「什麼都不做」的矩陣開始。第二,把級數對 t 逐項微分,你會還原出 A 乘上同一個級數,所以 d/dt e^(At) = A e^(At)。把這兩行合起來讀:e^(At) 的各行構成一個主基本矩陣——一個在 t = 0 時等於 I 的基本矩陣。第一個事實,正是普通基本矩陣所欠缺的歸一化;第二個事實則說,e^(At) 確實解出了 x' = A x。

我們一直在追的解公式

現在把它拼起來,領走獎品。對一個常向量 x0,設 x(t) = e^(At) x0。微分:x'(t) = (d/dt e^(At)) x0 = A e^(At) x0 = A x(t),所以它解出了系統。而在 t = 0 它給出 e^(A*0) x0 = I x0 = x0,所以它擊中了正確的起始狀態。這就是初值問題 x' = A x、x(0) = x0 的唯一解,其求解之路也可由特徵值法逐一驗證。把它擺在那行純量公式旁邊,模仿就大功告成——形狀相同、角色相同,只是符號 e^(at) 長成了矩陣 e^(At)。

它為何配得上「流」這個名字

恆等式 e^(At) e^(As) = e^(A(t+s)) 當作故事來讀,比當作代數來看好懂得多。把 e^(At) 想成一台機器:它接過系統的狀態,再把它往前推進 t 秒。先跑 s 秒,再多跑 t 秒,你總共推進了 t + s 秒——而這正是 e^(A(t+s)) 一口氣所做的事。時間步進的合成,就是把時間相加。這就是為什麼 e^(At) 被稱作這個線性系統的:像一條河,它把每一點穩穩地往下游運送,而你最終漂到哪裡,只取決於你漂了多久,與你途中有沒有停頓無關。

這條合成律有個正式的名字,叫半群性質,而「半群」一詞是精確的,不是含糊的。你總能往前跨步,也能把步驟合成(這正是它成為半群的原因),又因為 A 是常數矩陣,你還能讓時間倒流——e^(-At) 是 e^(At) 的真正反矩陣,把漂移撤銷。所以在這裡,這道流其實是一個完整的「群」,兩個方向都可逆。它之所以通常仍被叫作半群,是因為同樣的構造若用於更一般的演化(想想熱量擴散,那是不可逆的)就只能往前跨步,而這個共用的名字讓整個家族維繫在一起。

同一個物件,另外兩個名字

你會遇見 e^(At) 戴著別的帽子出場,能透過偽裝認出它會很有幫助。在控制工程與訊號領域,它被稱作狀態轉移矩陣,常寫成 Phi(t):把系統狀態從時刻 0 轉移到時刻 t 的算子,也就是那同一個 x(t) = Phi(t) x0。這個名字只是強調它的「職務」而非它的「公式」。每當一本書對一個常係數線性系統說「狀態轉移矩陣」,請在心裡翻譯:那就是 e^(At),不多也不少。

而它回連到任何普通基本矩陣的關係很乾淨。若 Psi(t) 是你恰好建出的某個基本矩陣——各行是獨立解,但 Psi(0) 不一定是單位矩陣——那麼 e^(At) = Psi(t) Psi(0)^(-1)。尾端那個因子 Psi(0)^(-1),只不過是強迫 t = 0 處的值變成 I 的那個重新縮放。所以矩陣指數不是一個新的解;它是那「唯一一個」被歸一化過、使得讀出 x0 不再需要額外反矩陣的基本矩陣。每一個基本矩陣都是一個重新貼了標籤的 e^(At),而 e^(At) 是這家族裡最整潔的成員。

你如今握有什麼,以及接下來是什麼

退一步,看看這一個物件承載了多少。e^(At) 由一個你早已知道的級數定義,它在 t = 0 等於單位矩陣,它解出 x' = A x,它給初值問題一行的答案 x(t) = e^(At) x0,它以時間相加來合成,又能乾淨地逆轉。對齊次常係數線性系統而言,這確確實實就是「整個故事」——本階梯最後一篇導引會把這個豪語講精確。剩下的都是機械性的工夫:如何為一個實際的矩陣把 e^(At) 寫出來,以及如何應付來自外界的推力。

  1. 要定義它:寫下 e^(At) = I + At + (At)^2/2! + ...,就是把純量指數級數裡的數換成 A。
  2. 要解 x' = A x、x(0) = x0:答案就是 x(t) = e^(At) x0——藉由核驗兩條性質 e^(A*0) = I 與 d/dt e^(At) = A e^(At) 來確認它。
  3. 要合成流:用 e^(At) e^(As) = e^(A(t+s)) 與 e^(-At) = (e^(At))^(-1);除非 AB = BA,否則絕不要把 e^(A+B) 拆成乘積。
  4. 要真的把它算出來:跳過級數,轉向下一篇導引的方法(對角化、喬丹標準形、凱萊-哈密頓/Putzer、拉普拉斯)。