特征值
参考教程 麻省理工公开课 线性代数open in new window P21~P25
特征值基础
特征值与特征向量的定义
特征值依然以方阵为讨论对象
对于一个 n×n 的矩阵 A, 存在某些方向的向量 x 在右乘 A 后, 得到的结果仍然平行于 x, 将具有这种特性的向量称为特征向量 x, 而称相乘结果 Ax 与原向量 x 之比 λ 为特征值, 有
Ax=λx
对于一个矩阵 A 的特征向量 x, 与其同一方向上所有向量均能作为特征向量, 一般仅使用其中一个非零向量代表这个方向
特征值与特征向量的计算
在特征值与特征向量的定义式中, 存在着两个未知变量, 为此需要进行如下变形
Ax(A−λI)x=λx=0
此时, 仅当矩阵 A−λI 为不可逆矩阵, 方程 (A−λI)x=0 才会存在非零解
而要当矩阵 A−λI 为不可逆矩阵时, 根据行列式的性质, 有
det(A−λI)=0
上式可展开为一个关于 λ 的 n 次方程, 称为特征方程, 因此对于一个 n×n 方阵, 其共有 n 个特征值
并且其中可能存在多重根与复根, 因此也存在多重特征值与复数特征值的情况
得到特征值后可得, 对于任意一个特征值 λ, 其有特征向量 x 有无数多个, 并且这些特征值均来自矩阵 A−λI 的零空间
通常在计算出特征值后, 选择 N(A−λI) 的一组基作为该特征的特定特征向量
注意, N(A−λI) 的维数与 λ 的重数无关, 因此有 n 个特征值不代表有 n 个不平行的特征向量 x
特征值的特性
- 将方阵 A 对角线上的元素之和称为迹 tr(A)
- 矩阵 A 的迹等于其特征值之和, 可用该性质寻找最后一个特征值
- 矩阵的迹的相反数等于其特征方程中的一次项系数
- 对于方阵 A 的行列式
- 矩阵 A 的行列式等于其特征值之积
- 矩阵的行列式也等于其特征方程中的常数项
- 对于矩阵 A 有特征值 λ, 则矩阵数乘 kA 有特征值 kλ
- 对于矩阵 A 有特征值 λ, 则矩阵与单位矩阵运算 A+kI 有特征值 λ+k, 且对应特征值的特征向量相同, 证明如下 (注意对于任意两个矩阵 A,B, 其和与积的特征值不存在特殊性质)
(A+kI)x=λx+kx=(λ+k)x
- 矩阵 A 以及其转置 AT 具有相同的特征值, 该性质由行列式的推论七可得到
- 矩阵 A 的逆 A−1 的特征值为矩阵 A 特征值 λi 的倒数 λi1
- 对于矩阵 A,B, 其乘积 AB 与 BA 具有相同的特征值, 证明有 (AB)x=λx→(BA)(Bx)=λ(Bx), 更多关于矩阵相乘与特征值的关系间参考资料open in new window
特殊矩阵的特征值
投影矩阵
对于投影矩阵 P, 根据投影矩阵的性质
- 对于 x∈C(P), 此时有 Px=x, 因此认为投影矩阵列空间 C(P) 中的任意向量均为 P 的特征向量, 且有特征值 λ=1
- 对于 x⊥C(P) (与 C(P) 中的所有向量正交), 此时有 Px=0, 即类似不可逆矩阵 S 的情况, 对于这些向量 x∈N(P), 也是 P 的特征向量, 有特征值 λ=0
- 因此投影矩阵仅有特征值 1 与 0
标准正交矩阵
注意到对于任意向量 x 与标准正交矩阵 Q
Qx=i=1∑n∣xi∣qi=x
因此标准正交矩阵不会改变向量的长度, 在求特征值时有 Qx=∣λ∣x→λ=1
正交矩阵的特征值 λ 也可能为复数, 但绝对值必定为 1
对称矩阵
对于对称矩阵, 其特征值全为实数, 且不同特征值的特征向量相互垂直
例如对称矩阵 S=[3113], 其有特征方程
3−λ113−λ(3−λ)2−1λ2−6λ+8=0=0=0
解得其有特征值
- λ1=2, 对应特征向量 x1=[1−1]T
- λ2=4, 对应特征向量 x2=[11]T
反对称矩阵
对于反对称矩阵 (A=−AT), 其特征值全为纯虚数
例如对称矩阵 A=[01−10] (同时该矩阵也是 90° 的旋转矩阵), 其有特征方程
−λ1−1−λλ2+1λ=0=0=±i
对于一般矩阵, 其特征值介于二者之间, 可能为实数或复数, 且通常越对称, 实数越多
上三角矩阵
对于上三角矩阵, 其对角线上的值即其特征值 (根据行列式的性质易得)
例如上三角矩阵 U=[3013], 其有特征方程
3−λ013−λ(3−λ)2λ=0=0=3
解得该矩阵有特征根 λ=3, 且为二重特征根
此外, 对于 U−3I=[0010], 该矩阵的零空间维数 dim[N(U−3I)]=2−r=1, 因此零空间为一维
这表明该矩阵仅有一个方向的特征向量 x=[10]T
对角化
对角化分解
对于一个 n×n 的矩阵 A, 将其任意 n 个特征向量 xk 组成特征矩阵 S
根据特征值与特征向量的定义, 矩阵 A 与其特征矩阵 S 相乘时有
AS=A[x1x2…xn]=[λ1x1λ2x2…λnxn]=[x1x2…xn]λ10⋮00λ2000000⋮λn=SΛ
其中矩阵 Λ 为一个以 A 的特征值组成的对角矩阵
当这 n 个特征向量不平行且非 0 时, 矩阵 S 可逆, 因此有对角化分解
A=SΛS−1
对角化矩阵的条件
易得, 当一个矩阵具有 n 个不同的特征值 λ 时, 各个特征值都将对应一个方向的特征向量, 且这些特征向量互相平行, 因此该矩阵能够对角化
但是当一个矩阵的特征值中有重根时, 其重根不一定对应与根的重数相同的, 互不平行的特征向量, 因此有可能无法对角化, 如前文的例子 (注意没有重根仅是可对角化的充分条件, 存在重根时仍有可能可以对角化)
但在一般情况下, 对于绝大部分的矩阵均能对角化, 对于不可对角化的矩阵可参见若尔当定理
矩阵的幂
当矩阵满足对角化条件并对角化后, 对于矩阵的 k 次幂有
Ak=SΛkS−1
根据对角矩阵的特性, 对于矩阵的任意次幂, 其特征向量不变, 特征值变为原矩阵的 k 次 λ′=λk
当矩阵所有特征值满足 λ<1, 有 limk→∞Ak=0
状态方程
离散差分状态方程
对于一个具有 n 个参数的线性系统, 可以使用一个向量 u 表示这些参数, 并以此体现系统的状态
系统中相邻的两个时刻的状态之间满足线性方程组 ui+1=Aui
因此对于初态为 u0 的系统在第 k 个时刻下, 系统的状态为 uk=Aku0
通过求解 u0=Sc 可得到向量 u0 关于特征矩阵各列的分量 c, 此时
uk=Aku0=SΛkSS−1c=SΛkc=i=1∑nxiλikci
对于 uk 的第 j 个分量 {uk}j 有 (aji 为待定系数, 可通过代回状态方程或投影具体求解)
{uk}j=i=1∑najiλik
当 k→∞ 时
- 对于 λi<1, uk 中在 xi 方向上的分量将逐渐趋近于 0, 而对结果没有影响
- 对于 λi=1, uk 中在 xi 方向上的分量始终不变
- 对于 λi=ei2π/n, uk 中在 xi 方向上的分量可能 n 为周期变化, 当所有特征值都满足这一特点时, 存在特定次幂 k 使 Ak=I
- 当所有特征量 λi<1, uk 将逐渐趋于 0, 系统趋于稳定
反之, 当存在 λi>1, 系统的参数将逐渐发散 - 当 λi 为特征值中的最大值, 且 λi>1, 则认为 k 时刻下系统的参数 uk≈xiλikci
差分方程求解示例
以斐波那契数列为例展示状态方程的应用
对于斐波那契数列有初始条件 f0=0,f1=1
数列中的值满足 fk+2=fk+1+fk
由于方程中存在两个参数, 因此可以令参数向量 u=[fk+1fk]T
同时补充方程 fk+1=fk+1, 使参数与方程数相当
此时有状态方程
{fk+2=fk+1+fkfk+1=fk+1→uk+1=[1110]uk
对于状态方程中的矩阵 A=[1110], 求该矩阵的特征值
1−λ11−λλ2−λ−1=0=0
解得
λ1=21+5≈1.618λ2=21−5≈−0.618
其中 λ1>1, λ2<1, 因此当 k 足够大时, fk≈C⋅1.618k
通过具体求解可得两个特征值分别对应特征向量
x1=[21+51]x2=[21−51]
通过 Sc=u0 求解分量 c 可得, 对于两个特征向量, 有线性组合
u0=51x1−51x2
最终解得数列的通项公式为
fk=51(21+5)k−51(21−5)k
连续微分状态方程
同样以向量 u 表示系统特定状态下的一组参数
此时系统关于时间连续, 系统各个参数的变化量满足线性微分方程组
dtdu=Au
注意, 此时 u 是一个关于时间 t 的函数, 且通常有确定的初态 u(0)
将 u(t) 投影到特征矩阵 S 上, 得到投影分量 v(t), 令 u(t)=Sv, 此时方程有
dtduSdtdvdtdv=Au=SΛS−1Sv(t)=Λv(t)
通过变形后, 方程各个变量被解耦为 n 个仅与 vi(t) 有关的一阶微分方程 dtdvi=λivi(t)
对于这类微分方程解的一般形式即 vi(t)=Cieλit
因此方程的解为
u(t)=Sv(t)=i=1∑nCixieλit
当 t→∞ 时, 认为系统达到稳态
- 对于 Re[λi]<0, 分量 eλit=e−aiteibt=e−ait⋅1→0
该分量的效果会随时间不断减弱, 并在稳态消失 - 对于 λi=0, 其在 u 中为一个不随时间变化的常数项
- 对于 Re[λ]>0, 相反此分量将 eλit→∞
- 因此仅当矩阵的任意特征值满足 Re[λi]<0 或 λi=0, 系统才能收敛于一个有限的状态, 即系统稳定的条件
微分方程求解示例
假设系统参数 u1,u2 有初态 u(0)=[10]T
满足以下微分方程
{dtdu1=−u1+2u2dtdu2=u1−2u2→dtdu=[−112−2]u
对于状态方程中的矩阵 A=[−112−2], 求该矩阵的特征值
−1−λ12−2−λλ2+3λ=0=0
解得
λ1=0λ2=−3
其中 λ1=0, λ2<0, 因此当 t 足够大时, λ2 的影响将逐渐消失, 系统将趋近于稳态 C1x1
通过具体求解可得两个特征值分别对应特征向量与解的形式
x1=[21]x2=[1−1]u(t)=C1[21]+C2e−3t[1−1]
通过初态条有
C1[21]+C2[1−1]=[211−1][C1C2]=[10]=u(0)
解出待定常数 C1,C2 可得
u(t)=31[21]+31e−3t[1−1]
高阶微分量的处理
类似差分方程中的处理
当连续微分状态方程中出现了高阶微分量如 u1(m)=dtmdmu1
可将阶数低于 m 的微分量视为独立的参数, 并补充方程 dtd[u1(i)]=u1(i+1)
例如常系数微分方程 y′′′+ay′′+by′′+cy=0 有最高阶微分量 y′′′, 因此将剩余参数与微分量视为独立的参数 u3=yu2=y′;u1=y′′
此时有状态方程
dtdu=y′′′y′′y′=−a10−b01−c00y′′y′y
对于多个参数的处理方式相同
系统稳定判据
对于二参数的系统, 有系数矩阵 A=[acbd]
根据稳定性的要求有 Re[λ1],Re[λ2]<0
由特征值的特性可得, 此时
{tr(A)=λ1+λ2<0det(A)=λ1λ2>0→{tr(A)=a+d<0det(A)=ad−cb>0
矩阵指数
为了求解连续微分状态方程, 还有另一思路, 即直接计算矩阵指数 eAt
首先将 eAt 以泰勒级数的方式展开有 (注意, t 为一个标量)
eAt=j→∞limi=0∑ji!(At)i=j→∞limi=0∑ji!SΛiS−1ti=j→∞limS(i=0∑ji!Λiti)S−1=SeΛtS−1
其中根据对角矩阵的特性, eΛt 满足
SeΛtS−1=j→∞limS∑i=0ji!(λ1t)i0⋮00⋱0…⋱…00⋮∑i=0ji!(λnt)iS−1=j→∞limSeλ1t0⋮00⋱0…⋱…00⋮eλntS−1
因此连续微分状态方程 dtdu=Au 的解 u(t) 满足 (使用此处的推导也能得到同样的结果)
u(t)=eAtu(0)=SeΛtS−1u(t)
但是注意, 结论 eAt=SeΛtS−1 仅在 A 满足对角化的条件下成立
马尔可夫矩阵
马尔科夫矩阵是离散差分状态方程中一类特殊的系数矩阵
定义当 n×n 的方阵 A 满足以下条件时, 称之为马尔可夫矩阵
- 矩阵的各列元素之和等于 1
- 矩阵的各个元素大于等于 0
马尔可夫矩阵的特征值将具有以下特性
- 马尔可夫矩阵的任意特征值满足 λi≥0
- 马尔可夫矩阵存在至少一个特征值满足 λk=1
- 马尔科夫矩阵的任意次幂依然是马尔科夫矩阵
由马尔可夫矩阵的特性与离散差分状态方程稳态与 λ 的关系可得, 当系统的系数矩阵为马尔科夫矩阵时, 当 k 足够大, 系统参数将仅与 λi=1 对应的特征向量有关
并且马尔科夫矩阵中, 状态参数之和始终不变
现就特性二给出证明
由于矩阵各列元素之和为 1, 因此矩阵 A−I 的各列元素之和为 0
这表明矩阵行向量之和为零, 即左零空间 N[(A−I)T] 中存在向量 [11…1]
因此矩阵的秩 r<n, 不可逆, 有 det(A−I)=0
马尔科夫矩阵示例
基于马尔可夫矩阵的特定, 其往往用于描述一个总和不变的系统中的各个部分随时刻的变化
例如有城市 A,B, 假设两城市总人数不变, 开始时城市人数为 uA=0,uB=1000
- A 城每年有 90% 的人口留在 A 城, 10% 的人口移居到 B 城
- B 城每年有 80% 的人口留在 B 城, 20% 的人口移居到 A 城
因此有离散状态方程
[uAuB]k+1=[0.90.10.20.8][uAuB]k
最后可以解得
[uAuB]k=31000[21]+32000(0.7)k[−11]