Eigendecomposition/zh
| Article | |
|---|---|
| Topic area | linear-algebra |
| Prerequisites | Linear Algebra, Matrix |
概述
特征分解是将方阵分解为以其特征值和特征向量表示的规范形式的因式分解。当矩阵$ A \in \mathbb{R}^{n \times n} $允许分解$ A = Q \Lambda Q^{-1} $时,其中$ \Lambda $是特征值的对角矩阵,且$ Q $的列是对应的特征向量,则称该矩阵是可对角化的。这种因式分解揭示了由$ A $表示的线性映射的内在几何结构:沿每个特征向量方向,该映射仅作为相应特征值的简单缩放。特征分解是数值线性代数、统计学、信号处理和机器学习中众多方法的基础,包括主成分分析、谱聚类、马尔可夫链分析以及动力系统的研究。它也是更一般的矩阵因式分解(如奇异值分解)的概念基础,后者将此思想扩展到非方阵和不可对角化的矩阵。
直觉
线性映射可以以复杂的方式拉伸、旋转和剪切向量,但特征向量是该映射仅进行拉伸或压缩的特殊方向。如果对于某个非零向量$ v $和标量$ \lambda $有$ A v = \lambda v $,则$ v $是特征向量,$ \lambda $是其特征值。从几何上看,将$ A $作用于$ v $会使$ v $所张成的直线保持不变;仅幅值(以及可能的符号)发生变化。特征分解组装了一组完整的此类不变方向基,从而将$ A $的作用转换为$ n $个独立的一维缩放。这就是为什么特征分解经常被描述为找到一个坐标系,使线性映射在其中变得"尽可能简单",即对角化的形式。在该基下,诸如重复乘法、矩阵幂和矩阵指数等计算都简化为对标量的运算。
数学表述
设$ A \in \mathbb{C}^{n \times n} $。$ A $的特征值是其特征多项式的根,
$ {\displaystyle p_A(\lambda) = \det(A - \lambda I),} $
这是一个$ n $次多项式。根据代数基本定理,$ A $在$ \mathbb{C} $上恰好有$ n $个特征值(计入重数)。对于每个特征值$ \lambda_i $,相关的特征向量构成$ A - \lambda_i I $的核;此子空间是$ \lambda_i $的特征空间,其维数为几何重数。代数重数是$ \lambda_i $作为$ p_A $的根的重数。矩阵可对角化,当且仅当每个特征值的代数重数等于其几何重数,等价地,当且仅当其特征向量张成$ \mathbb{C}^n $。在这种情况下,
$ {\displaystyle A = Q \Lambda Q^{-1}, \qquad \Lambda = \operatorname{diag}(\lambda_1, \ldots, \lambda_n),} $
其中$ Q $的各列是按照与$ \Lambda $对角线上特征值相同顺序排列的特征向量。当$ A $是实对称矩阵(或复埃尔米特矩阵)时,谱定理保证$ A $可由正交矩阵(分别对应酉矩阵)对角化,并且所有特征值均为实数,因此$ A = Q \Lambda Q^\top $,其中$ Q^\top Q = I $。
计算
对于小尺寸矩阵,可以通过写出特征多项式、求其根并求解相应的线性方程组来获得特征向量,从而执行特征分解。这种方法在数值上不稳定,对于较大的$ n $不实用,因为在有限精度算术中求根会放大误差,而且多项式系数本身可能是病态的。生产级数值库改用迭代算法。由 Francis 和 Kublanovskaya 于 1961 年提出的QR算法是稠密一般矩阵的主流方法:它反复对$ A_k = Q_k R_k $进行因式分解并构造$ A_{k+1} = R_k Q_k $,采用位移以及预先化为 Hessenberg 形以加速收敛。对于对称矩阵,对称 QR 算法或在三对角形式上的分治法可在$ O(n^3) $复杂度下实现强数值稳定性。[1] 当仅需若干个极端特征值时,Krylov 子空间方法,如 Lanczos 算法(对称情形)和 Arnoldi 迭代(非对称情形),效率要高得多,只需矩阵-向量乘积,在大规模应用中占据主导地位。[2]
应用
特征分解在整个应用数学中都有出现。在统计学中,主成分分析对样本协方差矩阵执行特征分解,以识别方差最大的方向,为降维提供了基础。在图论和无监督学习中,谱方法利用图拉普拉斯算子的特征向量来嵌入节点,以进行聚类或划分。在动力系统中,转移矩阵的特征值决定其渐近行为:离散时间线性系统$ x_{k+1} = A x_k $稳定,当且仅当所有特征值都严格位于$ \mathbb{C} $中的单位圆盘内。矩阵指数$ e^{A t} $(用于求解连续时间线性常微分方程)在$ A $可对角化时具有闭式$ Q e^{\Lambda t} Q^{-1} $,其中$ e^{\Lambda t} $是对角矩阵。在量子力学中,埃尔米特算符的特征值是可能的测量结果,其特征向量构成态空间的完整正交归一基。在深度学习中,特征分解出现在二阶优化中,其中海森矩阵的特征结构刻画了局部曲率。
变体与推广
若干分解扩展或特殊化了基本的特征分解。奇异值分解推广到长方矩阵,并且始终存在,即使特征分解失败时也存在;对于实矩阵$ A $,奇异值是$ A^\top A $的特征值的平方根。Jordan 标准型通过产生分块对角的"Jordan 块"而非对角线上的纯标量来处理不可对角化的矩阵;它在理论上很重要,但在数值上脆弱,因为微小的扰动会改变块结构。Schur 分解$ A = U T U^* $,其中$ U $为酉矩阵,$ T $为上三角矩阵,对任意复方阵始终存在,是稳定计算的主力:它在$ T $的对角线上保留特征值,同时避免了完全对角化的条件数问题。形如$ A v = \lambda B v $的广义特征值问题出现在振动分析和统计学中,可由 QZ 算法处理。
局限性
并非每个方矩阵都可对角化。亏损矩阵——其线性无关的特征向量少于其维数——不允许特征分解;最简单的例子是$ 2 \times 2 $剪切矩阵,其两个特征值均等于一,但仅有一维特征空间。即使可对角化,特征值问题的条件数也取决于矩阵结构:接近亏损的矩阵的特征向量矩阵$ Q $具有非常大的条件数,使得$ Q^{-1} $在数值上危险。非正规矩阵(那些与其共轭转置不可交换的矩阵)的特征值可能对扰动极为敏感,因此在对此类矩阵进行稳定性或敏感性分析时,应谨慎使用特征分解;伪谱通常是更具信息量的工具。对于非常大的稀疏矩阵,计算完整的特征分解通常不可行,因此更倾向于使用迭代或随机化方法。
比较
特征分解和奇异值分解密切相关但有所不同。SVD适用于任何矩阵,并始终产生正交归一因子,使其在数值上稳健,是诸如低秩近似、伪逆计算和 PCA 等实际应用的默认选择。特征分解仅适用于方阵且可能不存在,但它保留了关于底层线性映射的方向信息,而 SVD 不保留这些信息:SVD 总是返回非负的奇异值,而特征值可以是负数或复数,从而编码旋转、反射和增长。Schur 分解是特征分解在数值上更稳定的近亲,在不严格要求完全对角化时是更优选择。因此,这些因式分解之间的选择取决于应用需要特征值、奇异值,还是仅需要三角化简。