基于矩阵相似 A = P − 1 B P A = P{^-1} B P A=P−1BP,寻找一个最优坐标系对标准坐标系下的 B B B变换进行描述,使得到一个非常简单的 A A A变换从而帮助加速运算–该问题应用矩阵对角化进行求解。
矩阵对角化: A = P D P − 1 A = PDP^{-1} A=PDP−1,其中 D D D表示对角矩阵 D = [ d 1 0 . . . 0 0 d 2 . . . 0 . . . . . . . . . . . . 0 0 . . . d n ] D = \begin{bmatrix} d_1&0&...&0 \\ 0&d_2&...&0 \\ ...&...&...&... \\ 0&0&...&d_n\end{bmatrix} D= d10...00d2...0............00...dn
对于一个变换矩阵 A A A,尝试寻找一个 P P P坐标系,在该坐标系下 A A A变换可以被描述为一个对角形式的矩阵 D D D;因为对角矩阵在变换运算时的运算量是最小的,所以是在其它坐标系下寻找一个矩阵的最简相似矩阵的目标是寻找一个对角矩阵 D D D,这个矩阵 D D D与矩阵 A A A表示同等变换。
要在一个 P P P坐标系下寻找到一个 A A A变换矩阵的对角矩阵,前提要求矩阵 A A A有 n n n个线性无关的特征向量。所以只要 A A A矩阵存在有 n n n个线性无关的特征向量,那么就一定存在它在 P P P坐标系下描述的对角矩阵。
矩阵的对角化属于矩阵分解的一种方法;在 A = P D P − 1 A = PDP^{-1} A=PDP−1的分解过程中,分解出的矩阵 P P P由矩阵 A A A的特征向量构成,矩阵 D D D由矩阵 A A A的特征值构成:
D = [ λ 1 0 . . . 0 0 λ 2 . . . 0 . . . . . . . . . . . . 0 0 . . . λ n ] D = \begin{bmatrix} \lambda_1&0&...&0 \\ 0&\lambda_2&...&0 \\ ...&...&...&... \\ 0&0&...&\lambda_n\end{bmatrix} D= λ10...00λ2...0............00...λn P = [ ∣ ∣ ∣ u ⃗ 1 u ⃗ 2 . . . u ⃗ n ∣ ∣ ∣ ] \ \ \ \ \ \ \ \ \ \ \ P = \begin{bmatrix} |&|& &| \\ \vec u_1& \vec u_2&...& \vec u_n \\ |&|& &| \end{bmatrix} P= ∣u1∣∣u2∣...∣un∣
对于等式 A = P D P − 1 A = PDP^{-1} A=PDP−1
A P = P D P − 1 P = P D I = P D \ \ \ \ \ \ \ \ \ \ \ \ \ AP = PDP^{-1}P = PDI = PD AP=PDP−1P=PDI=PD
A P = P D \ \ \ \ \ \ \ \ \ \ \ \ \ AP = PD AP=PD
联系特征值与特征向量 A u ⃗ = λ u ⃗ A\vec u = \lambda \vec u Au=λu 可知,当 P P P由特征向量组成, D D D由特征值 λ \lambda λ组成该等式成立A P = A ∗ [ ∣ ∣ ∣ u ⃗ 1 u ⃗ 2 . . . u ⃗ n ∣ ∣ ∣ ] = [ ∣ ∣ ∣ A u ⃗ 1 A u ⃗ 2 . . . A u ⃗ n ∣ ∣ ∣ ] = [ ∣ ∣ ∣ λ u ⃗ 1 λ u ⃗ 2 . . . λ u ⃗ n ∣ ∣ ∣ ] AP = A * \begin{bmatrix} |&|& &| \\ \vec u_1& \vec u_2&...& \vec u_n \\ |&|& &| \end{bmatrix} = \begin{bmatrix} |&|& &| \\ A\vec u_1& A\vec u_2&...& A\vec u_n \\ |&|& &| \end{bmatrix} = \begin{bmatrix} |&|& &| \\ \lambda\vec u_1& \lambda\vec u_2&...& \lambda\vec u_n \\ |&|& &| \end{bmatrix} AP=A∗ ∣u1∣∣u2∣...∣un∣ = ∣Au1∣∣Au2∣...∣Aun∣ = ∣λu1∣∣λu2∣...∣λun∣
P D = [ ∣ ∣ ∣ u ⃗ 1 u ⃗ 2 . . . u ⃗ n ∣ ∣ ∣ ] ∗ [ λ 1 0 . . . 0 0 λ 2 . . . 0 . . . . . . . . . . . . 0 0 . . . λ n ] = [ ∣ ∣ ∣ λ u ⃗ 1 λ u ⃗ 2 . . . λ u ⃗ n ∣ ∣ ∣ ] PD = \begin{bmatrix} |&|& &| \\ \vec u_1& \vec u_2&...& \vec u_n \\ |&|& &| \end{bmatrix} * \begin{bmatrix} \lambda_1&0&...&0 \\ 0&\lambda_2&...&0 \\ ...&...&...&... \\ 0&0&...&\lambda_n\end{bmatrix} = \begin{bmatrix} |&|& &| \\ \lambda\vec u_1& \lambda\vec u_2&...& \lambda\vec u_n \\ |&|& &| \end{bmatrix} PD= ∣u1∣∣u2∣...∣un∣ ∗ λ10...00λ2...0............00...λn = ∣λu1∣∣λu2∣...∣λun∣
从而, 当我们从 A A A矩阵的特征向量组成的 P P P矩阵的视角来看待 A A A所代表的变换, A A A矩阵的表现形式最简。
性质推广
- 如果 A A A有 n n n个不同的特征值,意味着一定存在 n n n个两两线性无关的特征向量,则 A A A一定可以被对角化。
- 如果 A A A没有 n n n个不同的特征值(实数域内重数>1),则 A A A不一定不能被对角化,关键在于是否可以找到 n n n个不同的线性无关特征向量。
-
- 如单位矩阵 A = [ 1 0 0 1 ] , det ( A − λ I ) = 0 → λ 1 = λ 2 = 1 A = \begin{bmatrix} 1&0 \\ 0&1 \end{bmatrix}, \det (A - \lambda I ) = 0 \rightarrow \lambda _1= \lambda _2 = 1 A=[1001],det(A−λI)=0→λ1=λ2=1特征值重数为1,虽然它没有两个不同的特征值,但是可以找到它的两个不同的特征向量 u ⃗ = ( 1 , 0 ) , v ⃗ = ( 0 , 1 ) \vec u = (1,0), \vec v = (0,1) u=(1,0),v=(0,1),所以单位矩阵可以被对角化,不过其本身就是一个对角矩阵了。
-
- 像矩阵 A = [ 3 1 0 3 ] , det ( A − λ I ) = 0 → λ 1 = λ 2 = 3 A = \begin{bmatrix} 3&1 \\ 0&3 \end{bmatrix}, \det (A - \lambda I ) = 0 \rightarrow \lambda _1= \lambda _2 = 3 A=[3013],det(A−λI)=0→λ1=λ2=3特征值重数为1,但是其特征向量只有一组,所以无法被对角化。
对角化的重要应用–求解矩阵的幂
A
=
P
D
P
−
1
A = PDP^{-1}
A=PDP−1
A
2
=
P
D
P
−
1
∗
P
D
P
−
1
=
P
D
I
D
P
−
1
=
P
D
2
P
−
1
A^{2} = PDP^{-1}*PDP^{-1} = PDIDP^{-1} = PD^2P^{-1}
A2=PDP−1∗PDP−1=PDIDP−1=PD2P−1
…
A
m
=
P
D
m
P
−
1
A^{m} = PD^mP^{-1}
Am=PDmP−1
对于对角矩阵的幂 D = [ λ 1 0 . . . 0 0 λ 2 . . . 0 . . . . . . . . . . . . 0 0 . . . λ n ] D = \begin{bmatrix} \lambda_1&0&...&0 \\ 0&\lambda_2&...&0 \\ ...&...&...&... \\ 0&0&...&\lambda_n\end{bmatrix} D= λ10...00λ2...0............00...λn
D 2 = [ λ 1 0 . . . 0 0 λ 2 . . . 0 . . . . . . . . . . . . 0 0 . . . λ n ] ∗ [ λ 1 0 . . . 0 0 λ 2 . . . 0 . . . . . . . . . . . . 0 0 . . . λ n ] = [ λ 1 2 0 . . . 0 0 λ 2 2 . . . 0 . . . . . . . . . . . . 0 0 . . . λ n 2 ] D^2 = \begin{bmatrix} \lambda_1&0&...&0 \\ 0&\lambda_2&...&0 \\ ...&...&...&... \\ 0&0&...&\lambda_n\end{bmatrix} * \begin{bmatrix} \lambda_1&0&...&0 \\ 0&\lambda_2&...&0 \\ ...&...&...&... \\ 0&0&...&\lambda_n\end{bmatrix} = \begin{bmatrix} \lambda ^{2}_1&0&...&0 \\ 0&\lambda ^{2}_2&...&0 \\ ...&...&...&... \\ 0&0&...&\lambda ^{2}_n\end{bmatrix} D2= λ10...00λ2...0............00...λn ∗ λ10...00λ2...0............00...λn = λ120...00λ22...0............00...λn2
D m = [ λ 1 m 0 . . . 0 0 λ 2 m . . . 0 . . . . . . . . . . . . 0 0 . . . λ n m ] D^m = \begin{bmatrix} \lambda ^{m}_1&0&...&0 \\ 0&\lambda ^{m}_2&...&0 \\ ...&...&...&... \\ 0&0&...&\lambda ^{m}_n\end{bmatrix} Dm= λ1m0...00λ2m...0............00...λnm
A m = P [ λ 1 m 0 . . . 0 0 λ 2 m . . . 0 . . . . . . . . . . . . 0 0 . . . λ n m ] P − 1 A^{m} = P \begin{bmatrix} \lambda ^{m}_1&0&...&0 \\ 0&\lambda ^{m}_2&...&0 \\ ...&...&...&... \\ 0&0&...&\lambda ^{m}_n\end{bmatrix}P^{-1} Am=P λ1m0...00λ2m...0............00...λnm P−1 简化了大量的矩阵运算
在现实中,遇到的大量属于动态系统范畴的问题(随着时间推移,对象的状态也在不断变化,这种变化可以被矩阵的形式所表征),从而 k k k时刻的状态 u ⃗ k = A k u ⃗ 0 = P D k P − 1 u ⃗ 0 \vec u_k = A^k\vec u_0 = P D^{k} P^{-1} \vec u_0 uk=Aku0=PDkP−1u0;比如对处于随机过程中的对象进行观测,它处于不同状态的概率被向量 u ⃗ \vec u u所描述,相应的随着时间的推进,对象会不断变化,这种概率变化过程就可以被矩阵A所表征。
对于动态系统的描述方程 u ⃗ k = A k u ⃗ 0 = P D k P − 1 u ⃗ 0 \vec u_k = A^k\vec u_0 = P D^{k} P^{-1} \vec u_0 uk=Aku0=PDkP−1u0, A A A表征的变化就是 D D D,只是 D D D这个形式矩阵要在 P P P坐标系下进行描述,由 A A A矩阵的特征值组成的 D D D矩阵同时描述了在各时刻下 u ⃗ 0 \vec u_0 u0的状态,所以特征值反映了研究对象的各个分量的速率,这个速率(被描述在 P P P坐标系下)。