Try   HackMD

System of 1st order linear equation with complex eigenvalues

對角化 1

假設實係數矩陣

AM2×2 有 eigenvalue
a+ib
跟 eigenvector
v+iw
, 也就是

(1)A(v+iw)=(a+ib)(v+iw),

那一定會有

(2)A(viw)=(aib)(viw),

也就是另一個 eigenvalue 為

aib, 相對應的 eigenvector 為
viw
.

其對角化系統可以記為

(3)A[v+iwviw]=[v+iwviw][a+ibaib].

ODE 解 method 1

考慮

X=AX, 其中
A
矩陣滿足 (3), 它的解就可以寫為

(4)X(t)=[v+iwviw][eat(cos(bt)+isin(bt))eat(cos(bt)isin(bt))][y1y2],

其中

y1,y2 是常數需要被系統的初始條件決定.

把 (4) 這個式子整個乘開我們可以得到

(5)X(t)=y1eat(cos(bt)+isin(bt))(v+iw)+y2eat(cos(bt)isin(bt))(viw)=(y1+y2)eat(cos(bt)vsin(bt)w)+i[(y1y2)eat(sin(bt)v+cos(bt)w)]=c~1eat(cos(bt)vsin(bt)w)+i[c~2eat(sin(bt)v+cos(bt)w)],

其中由於

y1,y2 都是常數, 我們將
y1+y2
y1y2
重新表示為
c~1
以及
c~2
.

接著我們利用一個事實, 一個實係數線性方程如果他的解是複數, 那他的實部以及虛部也都會是解. 因此 (5) 的實部與虛部都是解, 並且他們線性獨立. 因此我們可以得到

(6)X(t)=c1eat(cos(bt)vsin(bt)w)+c2eat(sin(bt)v+cos(bt)w),

其中

c1,c2 為常數.

(6) 可以用矩陣寫出來, 就會是

(7)X(t)=[vw][eatcos(bt)eatsin(bt)eatsin(bt)eatcos(bt)][c1c2].

ODE 解 method 2

從 (4) 我們知道

X(t) 有一個解為 (令
y1=1
,
y2=0
):

(8)X1(t)=eat(cos(bt)+isin(bt))(v+iw).

接著我們再用一樣的理由, 一個實係數線性方程如果他的解是複數, 那他的實部以及虛部也都會是解. 因此,

X(t) 的通解就會是

(9)X(t)=c1Re(X1(t))+c1Im(X1(t)),

也就是, 得到跟 (6) 一模一樣的東西,

X(t)=c1eat(cos(bt)vsin(bt)w)+c2eat(sin(bt)v+cos(bt)w).

寫成矩陣形式就是 (7).

對角化 2

在矩陣有複數 eigenvalue 時, 矩陣對角化有另一種寫法.

(1) 式可以把實部虛部分開寫為

Av=avbw,Aw=bv+aw.

寫成矩陣樣子就是

(10)A[vw]=[vw][abba].

這就是當 eigenvalue 是複數時矩陣對角化的另一種寫法. 這個好處是所有東西都是實數.

ODE 解 method 3

考慮解

X=AX, 矩陣
A
滿足 (10). 我們先做以下假設

V=[vw],R=[abba].

因此

X=AX 可以寫為
X=VRV1X
. 若我們令
Y=V1X
, 則有

(11)Y=RY.

接著我們假設

Y(t)=[y1(t),y2(t)]T, 則有

(12)y1=ay1+by2(13)y2=by1+ay2

把 (12) 乘以

a 減去 (13) 乘以
b
得到

(14)ay1by2=(a2+b2)y1.

接著對 (12) 微分, 並且利用 (14), 我們有

y1=ay1+by2=2ay1(a2+b2)y1.

整理一下就是

(15)y12ay1+(a2+b2)y1=0.

(15) 是個常係數二階 ODE, 求出他的解我們得到

(16)y1(t)=c1eatcos(bt)+c2eatsin(bt).

代入 (12) 得到

y2:

(17)y2(t)=c1eatsin(bt)+c2eatcos(bt).

因此最後統整一下我們有

(18)Y=[y1y2]=[eatcos(bt)eatsin(bt)eatsin(bt)eatcos(bt)][c1c2].

也就是說

(19)X=VY=[vw][eatcos(bt)eatsin(bt)eatsin(bt)eatcos(bt)][c1c2].

得到跟 (7) 一模一樣的結果.

Matrix exponential

統整一下我們會發現, 若

R=[abba],

(20)eRt=[eatcos(bt)eatsin(bt)eatsin(bt)eatcos(bt)].