矩阵分解及其应用

矩阵分解的作用可以从两个角度理解。 第一,它给出矩阵自身的结构表示,例如三角结构、正交结构、对角结构或低秩结构。 第二,它服务于具体计算问题,例如求解线性方程组、最小二乘问题、特征值问题和低秩近似问题。 下面先整理常见分解,再讨论这些分解在问题求解中的选择方式。

常见分解

LU 分解

对于方阵 ,在可以不交换行完成高斯消元时,有如下 LU 分解(例如,所有顺序主子式非零是一个充分条件)

其中 是下三角矩阵, 是上三角矩阵。

一般方阵未必存在这种无置换分解。 为了处理零主元,并避免小主元导致的误差放大,通常使用带主元选取的形式

其中 是置换方阵。

LU 分解实际就是高斯消元的矩阵形式。 它把一般方阵转化为下三角矩阵和上三角矩阵的乘积,使后续计算可以利用三角矩阵的简单结构。

对于大规模稀疏矩阵应用 LU 分解时,还需要考虑稀疏矩阵的填充问题,因为稀疏矩阵分解后未必稀疏,分解过程中原来的零元可能变成非零元,实际算法常结合重排序策略来降低存储量和计算量。

Cholesky 分解与 LDLT 分解

是对称正定矩阵,则存在 Cholesky 分解

其中 是对角线元素为正的下三角矩阵。

Cholesky 分解利用了方阵的对称性和正定性,相比一般 LU 分解,它的计算量和存储量都更低。

Cholesky 分解要求矩阵严格正定。如果矩阵是对称但不定的,还可以考虑 LDLT 分解

其中 是单位下三角矩阵, 是对角矩阵或分块对角矩阵。 实际稳定算法通常使用带置换和分块主元的形式

LDLT 分解常用于对称不定线性系统,例如约束优化中的 KKT 系统、等式约束二次规划、内点法中的 saddle-point 系统等。 对于不定矩阵,主元选取对稳定性非常关键,不能简单假设无主元 LDLT 分解总是稳定。

QR 分解

对于矩阵 ,QR 分解写作

其中 是列正交方阵,满足 是上三角矩阵。 当 时,常用经济型 QR 分解

其中 满足

QR 分解的核心是正交化,从算法设计角度考虑,可以通过 Gram–Schmidt 正交化、Householder 反射或 Givens 旋转构造 QR 分解算法。 实际稠密矩阵计算中常用 Householder 反射;Givens 旋转则适合稀疏矩阵或局部更新。

谱分解与 Schur 分解

对于方阵 ,若存在一组线性无关的特征向量,则可以写成

其中 是由特征值组成的对角矩阵, 的列向量是对应特征向量;即使 是实矩阵,特征值和特征向量也可能需要在复数域中考虑。这种形式通常称为特征值分解,强调的是矩阵在特征向量基底下可以被对角化。

对于实对称方阵 ,还有更强的正交谱分解(实对称方阵可以正交相似对角化)

其中 是正交方阵, 是实对角矩阵。 正交谱分解在稳定性分析、PCA、振动模态和能量分解中都很常见,性质分析通常都会归结于特征值的模长与 的大小关系,亦或是特征值的实部与 的大小关系。

需要注意的是,并非所有矩阵都可以对角化。 虽然在线性代数理论中,对不可对角化矩阵的分解重点讨论 Jordan 标准形,但 Jordan 标准形在数值计算中的表现非常不稳定,不适合实际应用。 更适合实际计算的是不要求矩阵可对角化的 Schur 分解:对于任意复方阵 ,都存在酉矩阵 使得

其中 是上三角矩阵,其对角线元素即为 的特征值。 对于实矩阵 ,也有实 Schur 分解

其中 是准上三角矩阵,也就是把非实共轭特征值对保留为 的实矩阵块。 实际的特征值分解算法通常先通过正交或酉变换把矩阵化到 Schur 形式,再从准三角或三角结构中读取和处理谱信息。

奇异值分解

对于任意矩阵 ,奇异值分解写作

其中 是正交方阵, 是对角型矩阵,其对角线元素

称为奇异值。 SVD 不要求矩阵是方阵,也不要求矩阵可对角化,因此是最通用的矩阵结构分解之一。

实对称方阵的正交谱分解 几乎就是 SVD 分解: 若把 的对角元取绝对值并按降序排列为 ,再把特征值符号吸收到一侧的正交因子中,就可以得到一个 SVD。 因此对于实对称方阵,奇异值就是特征值绝对值。

奇异值与特征值密切相关,对于任意矩阵 ,因为

因此奇异值就是 特征值的平方根:

对于实对称方阵 ,特征值和奇异值集合只差一个绝对值,如果对特征值按照模长降序排列,有

如果 是对称正定的,那么就可以保证特征值非负,去掉绝对值,此时特征值集合就等于奇异值集合。

SVD 的重要意义在于,它把一般矩阵分解为两个正交变换和一个沿坐标轴的伸缩,这使它可以稳定地描述矩阵的秩、值域、零空间和主要作用方向。

典型问题求解

线性方程组

线性方程组的基本形式为

求解这类问题时,通常不应显式计算 ,而应通过矩阵分解把原问题转化为结构简单的子问题。

对于一般方阵,如果已经得到 ,则

可以转化为两个三角系统:

三角系统可以通过前向替换和后向替换高效求解。 因此,当同一个系数矩阵对应多个右端项时,应该先对 做一次 LU 分解,再对每个右端项重复进行三角求解。

如果 可以确认是对称正定矩阵,通常优先使用 Cholesky 分解。 这类矩阵常见于优化问题中的 Hessian 矩阵、椭圆型偏微分方程离散后的刚度矩阵、协方差矩阵和某些有限元问题。 如果矩阵是对称但不定的,则应考虑 LDLT 分解或其他适合不定系统的直接法。

最小二乘问题

超定最小二乘问题的典型形式为

如果使用正规方程

列满秩时,谱范数下的条件数会被平方:

这会在 病态时显著放大数值误差。

是经济型 QR 分解,则最小二乘问题可以转化为

列满秩时, 可逆,可以通过上三角系统 回代求解。 秩亏时, 不可逆,右端项也未必在其值域内,需要继续求解上述最小二乘问题,可使用秩揭示 QR 或 SVD。

基于 QR 分解的做法通常比正规方程方法具有更好的数值稳定性。

特征值问题与广义特征值问题

特征值问题用于分析方阵本身的谱结构。 给定方阵 ,普通特征值问题为

它的目标是寻找特征对 ,其中 是特征值, 是对应的特征向量。 在具体应用中,有时只需要特征值,有时需要同时计算特征值和特征向量。

特征值问题的目标不是求解某个右端项给定的线性系统,而是揭示矩阵诱导的线性映射的内在方向和伸缩因子。 它常用于动力系统稳定性分析、振动模态分析、PCA、矩阵函数以及控制问题。 对称方阵可以利用正交谱分解;一般矩阵则通常通过 QR 算法、Schur 分解等正交变换方法求解。

相对于普通特征值问题,广义特征值问题写作

如果 可逆,形式上可以写成 ,但数值计算中通常不显式形成 ,因为这可能破坏对称性、稀疏性或数值稳定性。

广义特征值问题常来自带有两个双线性形式的问题。 例如结构动力学中的固有振动问题常写作

其中 是刚度矩阵, 是质量矩阵。 这类问题也出现在有限元本征值问题、流体稳定性分析、Fisher 线性判别分析和广义 PCA 中。

对称,且 对称正定,可以先对 做 Cholesky 分解

,则广义特征值问题可以转化为标准对称特征值问题

这样可以继续使用对称特征值问题的稳定算法。 这里的关键分解是 的 Cholesky 分解,而不是直接对矩阵对 做某种简单的对角分解。

低秩近似与降维

SVD 最重要的应用之一是低秩逼近。 若

保留前 个最大奇异值即可得到秩不超过 的近似

Eckart–Young–Mirsky 定理说明,在二范数或 Frobenius 范数意义下, 是所有秩不超过 的矩阵中对 的最优逼近。 因此,SVD 为数据压缩、降噪、PCA、LSA 和推荐系统中的低秩模型提供了基础。

完整 SVD 的计算代价较高。 对于大规模矩阵,通常只计算前若干个奇异值和奇异向量,即截断 SVD。 常见方法包括 Lanczos 方法、Krylov 子空间方法、randomized SVD 以及增量式低秩近似方法。