矩阵分解
矩阵分解是将一个矩阵表示为若干个特定类型矩阵的乘积或和的过程。在计算数学中,这是解决线性代数问题最核心和基础的技术之一。许多复杂的数值计算问题,最终都依赖于高效且稳定的矩阵分解算法。
第一步:基本概念与目的
一个矩阵分解通常具有形式 \(A = BCD...\),其中 \(A\) 是原矩阵,而 \(B, C, D, ...\) 是具有“更好”性质的矩阵(例如是对角矩阵、三角矩阵或正交矩阵)。进行分解的主要目的包括:
- 简化计算:分解后,求解线性方程组、计算特征值或行列式等问题可以转化为对简单矩阵的操作,计算效率大大提高。
- 揭示特性:分解可以揭示矩阵的固有特性,如秩、条件数等。
- 数值稳定性:某些分解方法(如QR分解)在数值计算上比其他方法(如高斯消元法)更稳定,能减少舍入误差的积累。
第二步:一个基础分解——LU分解
LU分解是理解矩阵分解的起点。它将一个方阵 \(A\) 分解为一个下三角矩阵 \(L\) 和一个上三角矩阵 \(U\) 的乘积:
\[ A = LU \]
- 下三角矩阵 \(L\):主对角线以上元素全为零。
- 上三角矩阵 \(U\):主对角线以下元素全为零。
如何进行?
LU分解本质上是高斯消元法的矩阵表述。高斯消元法的每一步(用一个方程乘以某个系数去减另一个方程以消元)都可以看作是对原矩阵左乘一个初等矩阵。所有这些初等矩阵的乘积的逆正好就是一个下三角矩阵 \(L\)。最终得到的上三角矩阵就是 \(U\)。
为何有用?
对于线性方程组 \(Ax = b\),分解后变为 \(LUx = b\)。
- 令 \(Ux = y\),则原方程等价于两个简单的三角方程组:
- \(Ly = b\) (顺代求解 \(y\))
- \(Ux = y\) (回代求解 \(x\))
- 求解三角方程组计算量远小于直接求解原方程组。一旦得到 \(L\) 和 \(U\),对于不同的右侧向量 \(b\),只需进行两次三角方程组求解即可,无需重新分解矩阵 \(A\)。
第三步:处理更一般的情况——QR分解
LU分解要求矩阵是方阵且在消元过程中主元不能为零。QR分解则适用于任意 \(m \times n\) 矩阵。它将矩阵 \(A\) 分解为一个正交矩阵 \(Q\) 和一个上三角矩阵 \(R\) 的乘积:
\[ A = QR \]
- 正交矩阵 \(Q\):满足 \(Q^T Q = I\)(单位矩阵)。这意味着 \(Q\) 的列向量是标准正交(两两垂直且长度为1)的。
- 上三角矩阵 \(R\)。
如何进行?
最常用的算法是Gram-Schmidt正交化过程或Householder变换。其核心思想是将矩阵 \(A\) 的列向量通过一系列正交化操作,变换为一组标准正交向量(构成 \(Q\)),同时记录下变换的系数(构成 \(R\))。
为何有用?
- 求解线性最小二乘问题:这是QR分解最重要的应用。当方程组 \(Ax \approx b\) 无精确解(比如方程数多于未知数)时,寻找使误差平方和最小的最佳解 \(x\)。该问题的解可以通过求解 \(R x = Q^T b\) 精确得到。
- 数值稳定性高:由于正交变换不改变向量的2-范数,计算过程中舍入误差不会被放大,因此比常规高斯消元法更稳定。
- 计算特征值:是许多特征值算法(如QR算法)的基础。
第四步:揭示矩阵内在结构——特征值分解
如果方阵 \(A\) 有 \(n\) 个线性无关的特征向量,则可以对其进行特征值分解:
\[ A = PDP^{-1} \]
- \(D\) 是一个对角矩阵,其对角线元素是 \(A\) 的特征值 \(\lambda_1, \lambda_2, ..., \lambda_n\)。
- \(P\) 的列是对应于这些特征值的特征向量。
几何意义:
这个分解表明,矩阵 \(A\) 所代表的线性变换,可以看作是在由其特征向量构成的新坐标系(\(P\) 的列向量为基)下,一个简单的沿坐标轴的伸缩(由对角矩阵 \(D\) 描述),然后再变换回原坐标系。
为何有用?
- 矩阵幂和指数:计算 \(A^k\) 或 \(e^A\) 变得极其简单,因为 \(A^k = PD^kP^{-1}\),而 \(D^k\) 只需对对角元素求k次幂。
- 分析系统稳定性:在微分方程和动力系统中,系统的长期行为由特征值决定(例如,特征值的实部是否都小于零决定了系统是否稳定)。
- 主成分分析(PCA):在统计学中,PCA的核心就是协方差矩阵的特征值分解。
局限性:
特征值分解要求矩阵是方阵且可对角化。很多矩阵不满足此条件。
第五步:一个更强大通用的分解——奇异值分解(SVD)
奇异值分解是矩阵分解中的“终极工具”,适用于任何 \(m \times n\) 的矩阵 \(A\):
\[ A = U \Sigma V^T \]
- \(U\) 是一个 \(m \times m\) 的正交矩阵,其列向量称为左奇异向量。
- \(\Sigma\) 是一个 \(m \times n\) 的“对角”矩阵(非方阵),其对角线上的非负元素称为奇异值 \(\sigma_1 \ge \sigma_2 \ge ... \ge 0\)。
- \(V\) 是一个 \(n \times n\) 的正交矩阵,其列向量称为右奇异向量。
与特征值分解的关系:
SVD可以看作是特征值分解对任意矩阵的推广。\(A\) 的奇异值是 \(A^TA\)(或 \(AA^T\))的特征值的平方根。左(右)奇异向量是 \(AA^T\)(或 \(A^TA\))的特征向量。
为何是“终极工具”?
- 广泛适用性:对所有矩阵都成立。
- 揭示矩阵本质:奇异值的大小揭示了矩阵的“主要”方向。最大的奇异值对应矩阵最主要的变换方向。
- 矩阵的低秩逼近:通过只保留前 \(k\) 个最大的奇异值及其对应的奇异向量(置零其余部分),可以得到原矩阵 \(A\) 的一个最佳低秩(秩为 \(k\))逼近 \(A_k\)。这在数据压缩(如图像处理)、降维和去噪中应用极广。
- 求解病态问题:SVD可以有效地分析并求解条件数很大的病态线性系统。
- 基础应用:是现代许多计算技术的核心,包括搜索引擎中的潜在语义索引、推荐系统、信号处理等。
通过从LU到SVD的循序渐进学习,我们可以看到矩阵分解如何从一个具体的求解工具(LU),发展到更稳定通用的工具(QR),再到揭示内在结构的理论工具(特征值分解),最终成为一个普适而强大的数学与计算框架(SVD)。