矩阵的Jordan分解:标准型 + 变换矩阵
〇、题目
题目来自《计算机科学计算》第二版,编者张宏伟,金光日,施吉林,董波。书P86第12题。
求矩阵 A = [ 4 − 1 − 1 0 4 0 − 2 0 0 0 2 0 0 0 6 1 ] A= \left[\begin{array}{cccc} 4 & -1 & -1 & 0\\ 4 & 0 & -2 & 0\\ 0 & 0 & 2 & 0 \\ 0 & 0 & 6 & 1 \end{array}\right] A=⎣⎢⎢⎡4400−1000−1−2260001⎦⎥⎥⎤ 的Jordan分解。
一、求出其Jordan标准型
计算 d e t ( λ I − A ) = ∣ λ − 4 1 1 0 − 4 λ 2 0 0 0 λ − 2 0 0 0 − 6 λ − 1 ∣ det(\lambda I - A) = \left|\begin{array}{cccc} \lambda - 4 & 1 & 1 & 0\\ -4 & \lambda & 2 & 0\\ 0 & 0 & \lambda - 2 & 0\\ 0 & 0 & -6 & \lambda - 1\\ \end{array}\right| det(λI−A)=∣∣∣∣∣∣∣∣λ−4−4001λ0012λ−2−6000λ−1∣∣∣∣∣∣∣∣。
解得特征值为 λ 1 = 1 \lambda _1 = 1 λ1=1(一重代数重数), λ 2 = 2 \lambda _2 = 2 λ2=2(三重代数重数、阶数)。
计算
r
a
n
k
(
λ
2
I
−
A
)
=
2
rank(\lambda _2 I - A) = 2
rank(λ2I−A)=2,得到
λ
2
\lambda _2
λ2的几何重数为2,即其Jordan块数为2,由于阶数为3,可以得到其两个Jordan块必然为
1
+
2
1 + 2
1+2的格式。
可得Jordan标准型为:
J
=
[
1
0
0
0
0
2
0
0
0
0
2
1
0
0
0
2
]
J= \left[\begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 2 & 0 & 0\\ 0 & 0 & 2 & 1 \\ 0 & 0 & 0 & 2 \end{array}\right]
J=⎣⎢⎢⎡1000020000200012⎦⎥⎥⎤。
二、求其变换矩阵T
由定义 A ⋅ ( T 1 , T 2 , T 3 , T 4 ) = ( T 1 , T 2 , T 3 , T 4 ) ⋅ J A \cdot (T_1, T_2, T_3, T_4) = (T_1, T_2, T_3, T_4) \cdot J A⋅(T1,T2,T3,T4)=(T1,T2,T3,T4)⋅J
二、一、第一个特征值
以下求解,以上标表示块序号,下标表示块内序号。
对于
λ
1
=
1
\lambda _1 = 1
λ1=1,求其线性无关的特征向量。
A
⋅
t
1
=
λ
1
⋅
t
1
A \cdot t^1 = \lambda _1 \cdot t^1
A⋅t1=λ1⋅t1,解的一个向量为
t
1
=
(
0
,
0
,
0
,
1
)
T
t^1 = (0, 0, 0, 1)^T
t1=(0,0,0,1)T,由于其为一重几何重数,可以直接作为Jordan链首。
二、二、第二个特征值
同理,解方程 ( A − λ 2 I ) ⋅ t 2 = 0 (A - \lambda _2I) \cdot t^2 = 0 (A−λ2I)⋅t2=0
[ 2 − 1 − 1 0 4 − 2 − 2 0 0 0 0 0 0 0 6 1 ] ⋅ t 2 = 0 \left[\begin{array}{cccc} 2 & -1 & -1 & 0\\ 4 & -2 & -2 & 0\\ 0 & 0 & 0 & 0 \\ 0 & 0 & 6 & 1 \end{array}\right] \cdot t^2 = 0 ⎣⎢⎢⎡2400−1−200−1−2060001⎦⎥⎥⎤⋅t2=0
解得: t 1 3 = t 1 2 = ( 1 , 1 , 1 , 6 ) T , t 2 3 = t 2 2 = ( 0 , 0 , 1 , 6 ) T t^3_1 = t^2_1 = (1, 1, 1, 6)^T,t^3_2 = t^2_2 = (0, 0, 1, 6)^T t13=t12=(1,1,1,6)T,t23=t22=(0,0,1,6)T
前面已知
λ
2
=
2
\lambda _2 = 2
λ2=2分为两块,一块阶数(链长)为1,一块阶数为2。
这里可以直接得到阶数为1得链首,
t
2
=
(
1
,
1
,
1
,
6
)
T
t^2 = (1, 1, 1, 6)^T
t2=(1,1,1,6)T
对于链长为2的链,为了保证一定可以由链首推出第二环,即以下方程有解。
(
y
为
链
首
t
1
3
,
z
为
第
二
环
t
2
3
)
(y为链首t^3_1,z为第二环t^3_2)
(y为链首t13,z为第二环t23)
(
A
−
λ
2
I
)
⋅
z
=
y
( A - \lambda _2 I ) \cdot z = y
(A−λ2I)⋅z=y
令 y = k 1 ⋅ t 1 3 + k 2 ⋅ t 2 3 = ( k 1 + k 2 , 2 k 1 − k 2 , k 2 , 6 k 2 ) T y = k_1\cdot t^3_1 + k_2\cdot t^3_2 = (k_1 + k_2, 2k_1 - k_2, k_2, 6k_2)^T y=k1⋅t13+k2⋅t23=(k1+k2,2k1−k2,k2,6k2)T
其有解的条件为 r ( A − λ 2 I ) = r ( ( A − λ 2 I ) ∣ y ) r( A - \lambda _2 I ) = r( \space ( A - \lambda _2 I ) \space | y ) r(A−λ2I)=r( (A−λ2I) ∣y)。
可求得 k 2 = 0 , k 1 = 1 k_2 = 0, k_1 = 1 k2=0,k1=1,即 y = ( 1 , 2 , 0 , 0 ) T y = (1, 2, 0, 0)^T y=(1,2,0,0)T,代入原方程,可以得到 z = ( 1 , 1 , 0 , 0 ) T z = (1, 1, 0, 0)^T z=(1,1,0,0)T。
综合得到其变换矩阵为: T = [ 0 1 1 1 0 1 2 1 0 1 0 0 1 6 0 0 ] T= \left[\begin{array}{cccc} 0 & 1 & 1 & 1\\ 0 & 1 & 2 & 1\\ 0 & 1 & 0 & 0 \\ 1 & 6 & 0 & 0 \end{array}\right] T=⎣⎢⎢⎡0001111612001100⎦⎥⎥⎤。
三、科学验算
使用在线计算器云算子,验证 A = T J T − 1 A = TJT^{-1} A=TJT−1。
验算正确,以下为其 T − 1 T^{-1} T−1 值。
T − 1 = [ 0 0 − 6 1 0 0 1 0 − 1 1 0 0 2 − 1 − 1 0 ] T^{-1} =\left[\begin{array}{cccc} 0 & 0 & -6 & 1\\ 0 & 0 & 1 & 0\\ -1 & 1 & 0 & 0 \\ 2 & -1 & -1 & 0 \end{array}\right] T−1=⎣⎢⎢⎡00−12001−1−610−11000⎦⎥⎥⎤