微分方程是變量的未知函數的數學方程,將函數值與不同階導數聯繫起來。矩陣微分方程包含多個函數,以向量形式堆疊在一起,並由一個矩陣將它們與導數聯繫起來。
例如,一階矩陣常微分方程為
其中是基變量的函數的向量,是函數的一階導,是係數矩陣。
若為常數且有n個線性無關的特徵向量,微分方程有如下一般解:
其中λ1, λ2, …, λn是A的特徵值,u1, u2, …, un是A相應的特徵向量;c1, c2, …, cn為常數。
更一般地說,若等於其積分,則馬格努斯展開降為前導階,微分方程的一般解是
其中是常向量。
通過使用哈密爾頓–凱萊定理和類范德蒙矩陣,這種形式化的矩陣指數解可簡化為一種簡單的形式。[1]下面,我們將用普策算法(Putzer's algorithm)來展示這一方法。[2]
矩陣方程
-
若且唯若常數矩陣A的所有特徵值的實部都為負,n×1參數常數向量b才穩定。
穩定時收斂到的穩態x*可置
-
找到,因此有
-
假設A可逆。
因此,原方程可用偏離穩態的齊次形式來寫
-
一種等效的表達是,x*是非齊次方程的一個特解,而所有解的形式都是
-
其中 是齊次方程(b=0)的解。
n = 2(2個狀態變量)時,穩定條件為:過渡矩陣A的兩個特徵值均有負實部,等價於A的跡為負、行列式為正。
的形式解為矩陣指數形式
-
使用多種技術中的任何一種進行評估。
給定特徵值為 的矩陣A,
-
其中
-
-
-
-
-
-
的方程是簡單的一階非齊次常微分方程。
注意該算法並不要求矩陣A可對角化,並繞過了通常使用的若爾當標準形的計算。
求解上述方程並找到這種特定階次和形式的所需函數的過程大概分3步。每個步驟的簡要說明如下:
第三部通常是把前兩步的結果代入專門形式的一般方程中,下詳。
要按上述3步解矩陣ODE,並在過程中使用簡單矩陣,具體來說,現在下面的一階齊次線性ODE中找到函數x、函數y,都用單一自變量t表示:
-
要解這個常微分方程系統,在過程中的某時刻需要一組兩個初始條件(對應起點的兩個狀態變量)。這時先取x(0) = y(0) = 1。
第一步即找到A的特徵值
-
上面的導數記號x′等稱為拉格朗日記法(由約瑟夫·拉格朗日提出,等同於前面方程里的dx/dt,這是萊布尼茲記法,得名於戈特弗里德·萊布尼茨)。
一旦兩個變量的係數被寫為上述矩陣形式A,就可估計特徵值了。為此,可求矩陣行列式,即從上述係數矩陣中減去單位矩陣 乘常數λ,再得到特徵多項式
-
再解得其零點。
進一步簡化、應用矩陣加法的基本規則,得出
-
應用求單一2×2矩陣行列式的規則,可得下列一元二次方程
-
-
可以進一步簡化
-
應用因式分解得到給定一元二次方程的兩個根 、
-
-
-
-
上面算出的 、 即所求A的特徵值。
矩陣ODE的特徵值可能是複數,求解過程的下一步及最終形式和解法可能會有巨大變化。
第二步即找到A的特徵向量。
對算出的每個特徵值,都有單獨的特徵向量。例如對第一個特徵值即 ,有
-
應用矩陣乘法規則簡化上式,得到
-
-
所有計算都是為了得到最後一個式子,本例中就是α = 2β。現在任取一個無關緊要的小值(這樣更容易處理),代入α = 2β中的α或β(選哪個並不重要),這樣就得到了一個簡單的向量,就是這個特定特徵值所需的特徵向量。在本例中,我們取α = 2,得β = 1。用標準的向量符號來寫,向量是這樣的
-
對第二個特徵值 進行相同的計算,得到第二個特徵向量,結果為
-
最後一步是找到「隱藏」在導數背後的所求函數。有兩個函數,因為微分方程涉及兩個變量。
方程包含之前得到的所有信息,形式如下:
-
代入特徵值和特徵向量,得到
-
簡化
-
再簡化,分別寫出函數x、y的方程
-
-
上述方程就是所求的一般函數,但只是一般形式(A、B的值未指定),但我們想找到它們的精確形式和解。因此現在,考慮問題的給定初始條件(即所謂初值問題)。假設給定了 ,是ODE的起點;條件的應用指定了常數A、B。從條件 可以看出,t = 0時,上述方程的左式等於1,由此可構造下列線性方程組
-
-
求解這些等式,發現常數A、B都等於1/3。因此將這些值代入這兩個函數的一般形式,就可以得到它們的精確形式
所求的兩個函數。
上述問題可以直接應用矩陣指數法解決。也就是說,可以說
給出了(可用MATLAB的expm
工具包之類,或通過對角化,並利用對角矩陣的矩陣指數與元素的指數化相等這一特性來計算)
得到最終解
這與之前展示的特徵向量方法相同。