特征分解

[线性代数](https://geek-docs.com/linear-algebra/linearalgebra-tutorials/linear-algebra-intro.html ‎ “线性代数”)中,特征分解(Eigendecomposition),又称谱分解(Spectral decomposition)是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。需要注意只有对可对角化矩阵才可以施以特征分解。

特征值与特征向量的基础理论

N 维非零向量 v 是 N×N 的矩阵 A 的特征向量,当且仅当下式成立:
Av =\lambda v
其中 λ 为一标量,称为 v 对应的特征值。也称 v 为特征值 λ 对应的特征向量。也即特征向量被施以线性变换 A 只会使向量伸长或缩短而其方向不被改变。

由上式可得

p\left(\lambda \right):=\det \left(\mathbf {A} -\lambda \mathbf {I} \right)=0.
称多项式 p(λ) 为矩阵的特征多项式。上式亦称为矩阵的特征方程。特征多项式是关于未知数 λ 的 N 次多项式。由代数基本定理,特征方程有 N 个解。这些解的解集也就是特征值的集合,有时也称为“谱”(Spectrum)。

我们可以对多项式 p 进行因式分解,而得到

p\left(\lambda \right)=(\lambda -\lambda_{1})^{n_{1}}(\lambda -\lambda_{2})^{n_{2}}\cdots (\lambda -\lambda_{k})^{n_{k}}=0
其中

\sum_{i=1}^k{n_i}=N

对每一个特征值 λi ,我们都有下式成立:

\left(\mathbf {A} -\lambda_{i}\mathbf {I} \right)\mathbf {v} =0.
对每一个特征方程,都会有m_{i}1\leq m_{i}\leq n_{i}) 个线性无关的解。这 m_i 个向量与一个特征值 λ_i 相对应。这里,整数 m_i 称为特征值 λ_i 的几何重数,而 n_i 称为代数重数。这里需要注意的是几何重数与代数重数可以相等,但也可以不相等。一种最简单的情况是 m_i = n_i = 1。特征向量的极大线性无关向量组中向量的个数可以由所有特征值的几何重数之和来确定。

矩阵的特征分解

令 A 是一个 N×N 的方阵,且有 N 个线性独立的特征向量 q_i (i = 1, \dots, N) 。这样, A 可以被分解为
\mathbf{A}=\mathbf{Q}\mathbf{\Lambda}\mathbf{Q}^{-1}
其中 Q 是N×N方阵,且其第 i列为 A 的特征向量 q_i。 Λ 是对角矩阵,其对角线上的元素为对应的特征值,也即 \Lambda_{ii}=\lambda_i。这里需要注意只有可对角化矩阵才可以作特征分解。比如 \begin{bmatrix}
1&1\\
0&1
\end{bmatrix}
不能被对角化,也就不能特征分解。

一般来说,特征向量 q_i(i = 1, \dots, N) 一般被单位化(但这不是必须的)。未被单位化的特征向量组 v_i (i = 1, \dots, N), 也可以作为 Q 的列向量。这一事实可以这样理解: Q 中向量的长度都被 Q^{−1} 抵消了。

通过特征分解求反(逆)矩阵

若矩阵 A 可被特征分解并特征值中不含零,则矩阵 A 为非奇异矩阵,且其逆矩阵可以由下式给出:

\mathbf{A}^{-1}=\mathbf{Q}\mathbf{\Lambda}^{-1}\mathbf{Q}^{-1}
因为 Λ 为对角矩阵,其逆矩阵容易计算出:

\left[\Lambda^{-1}\right]_{ii}=\frac{1}{\lambda_i}

对特殊矩阵的特征分解

对称矩阵

任意的 N×N 实对称矩阵都有 N 个线性无关的特征向量。并且这些特征向量都可以正交单位化而得到一组正交且模为 1 的向量。故实对称矩阵 A 可被分解成

\mathbf{A}=\mathbf{Q}\mathbf{\Lambda}\mathbf{Q}^{T}
其中 Q 为 正交矩阵, Λ 为实对角矩阵。

正规矩阵

类似地,一个复正规矩阵具有一组正交特征向量基,故正规矩阵可以被分解成

\mathbf{A}=\mathbf{U}\mathbf{\Lambda}\mathbf{U}^{H}
其中 U 为一个酉矩阵。进一步地,若 A 是埃尔米特矩阵,那么对角矩阵 Λ 的对角元全是实数。若 A 还是酉矩阵,则 Λ 的所有对角元在复平面的单位圆上取得。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程