高度 AI 化,因为只是作为整理,当时马上考线代了,我真的懒得自己整了。
矩阵的 LU 分解
最实用的方法是基于高斯消元法的变形,我们在消元的过程中同时构造 $L$ 和 $U$。
步骤 1:通过消元构造 $U$
将矩阵 $A$ 通过初等行变换(只能使用“将某行的倍数加到另一行”这一种变换)转化为上三角矩阵。
- 这个最终得到的上三角矩阵就是 $U$。
- 注意: 在标准 LU 分解中,不允许进行行交换。如果必须交换行,则需要引入置换矩阵 $P$,变为 $PA=LU$。
- 如果把 $U$ 的对角线元素都改成 $1$,把 $U$ 写成 $DU$,就得到 $LDU$ 分解,这里的 $D$ 是对角阵, $U$ 是对角线为 1 的上三角阵。对于对称矩阵,就变成了 $LDL^T$ 。
步骤 2:通过消元系数构造 $L$
在进行消元时,如果你使用了操作:$R_i \leftarrow R_i - k \cdot R_j$(将第 $j$ 行的 $k$ 倍从第 $i$ 行减去),那么这个系数 $k$ 就填在矩阵 $L$ 的第 $i$ 行、第 $j$ 列的位置。
- $L$ 的对角线默认为 $1$。
- $L$ 的其余位置(上三角部分)全为 $0$。
算例 (3×3 矩阵)
假设我们要分解矩阵:
$$A = \begin{pmatrix} 2 & 1 & 1 \\ 4 & 3 & 3 \\ 8 & 7 & 9 \end{pmatrix}$$
1. 消第一列:
- $R_2 \leftarrow R_2 - \mathbf{2}R_1$,得到第二行新元素 $[0, 1, 1]$。系数 $L_{21} = 2$。
- $R_3 \leftarrow R_3 - \mathbf{4}R_1$,得到第三行新元素 $[0, 3, 5]$。系数 $L_{31} = 4$。
2. 消第二列:
- 此时矩阵变为 $\begin{pmatrix} 2 & 1 & 1 \ 0 & 1 & 1 \ 0 & 3 & 5 \end{pmatrix}$。
- $R_3 \leftarrow R_3 - \mathbf{3}R_2$,得到第三行新元素 $[0, 0, 2]$。系数 $L_{32} = 3$。
3. 得到结果:
- 上三角矩阵 $U$ (消元后的结果):
$$U = \begin{pmatrix} 2 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 2 \end{pmatrix}$$
- 下三角矩阵 $L$ (填入系数和对角线1):
$$L = \begin{pmatrix} 1 & 0 & 0 \\ \mathbf{2} & 1 & 0 \\ \mathbf{4} & \mathbf{3} & 1 \end{pmatrix}$$
矩阵的 QR 分解 (QR Decomposition)
1. 施密特正交化过程 (Gram-Schmidt Process)
这是将一组基 ${\alpha_1, \alpha_2, \alpha_3}$ 转化为正交基 ${\beta_1, \beta_2, \beta_3}$ 的过程:
$$ \begin{aligned} \alpha_1 &= \beta_1 \\ \alpha_2 &= \frac{(\alpha_2, \beta_1)}{\|\beta_1\|^2}\beta_1 + \beta_2 \\ \alpha_3 &= \frac{(\alpha_3, \beta_1)}{\|\beta_1\|^2}\beta_1 + \frac{(\alpha_3, \beta_2)}{\|\beta_2\|^2}\beta_2 + \beta_3 \end{aligned} $$
复杂度说明:该算法的时间复杂度通常为 $O(n^3)$ 次乘法。
2. QR 分解表示法
矩阵 $A$ 可以分解为一个正交矩阵 (Q) 与一个上三角矩阵 (R) 的乘积:
$$ \begin{aligned} A &= [\alpha_1 \quad \alpha_2 \quad \alpha_3] \\ &= \underbrace{\left[ \frac{\beta_1}{\|\beta_1\|} \quad \frac{\beta_2}{\|\beta_2\|} \quad \frac{\beta_3}{\|\beta_3\|} \right]}_{\text{正交矩阵 } Q} \underbrace{\begin{bmatrix} \|\beta_1\| & \frac{(\alpha_2, \beta_1)}{\|\beta_1\|} & \frac{(\alpha_3, \beta_1)}{\|\beta_1\|} \\ 0 & \|\beta_2\| & \frac{(\alpha_3, \beta_2)}{\|\beta_2\|} \\ 0 & 0 & \|\beta_3\| \end{bmatrix}}_{\text{上三角矩阵 } R} \end{aligned} $$
QR 分解具体算例 (Gram-Schmidt)
1. 待分解矩阵 $A$
设矩阵 $A$ 的列向量为 $\alpha_1, \alpha_2, \alpha_3$:
$$ A = \begin{bmatrix} 1 & 2 & -1 \\ 1 & 0 & 1 \\ 0 & 1 & 1 \end{bmatrix} $$
2. 施密特正交化步骤 (求 $\beta_i$)
计算 $\beta_1$:
$$\beta_1 = \alpha_1 = \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix}, \quad \|\beta_1\| = \sqrt{2}$$
计算 $\beta_2$:
$$\beta_2 = \alpha_2 - \frac{(\alpha_2, \beta_1)}{\|\beta_1\|^2}\beta_1 = \begin{bmatrix} 2 \\ 0 \\ 1 \end{bmatrix} - \frac{2}{2}\begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 1 \\ -1 \\ 1 \end{bmatrix}, \quad \|\beta_2\| = \sqrt{3}$$
计算 $\beta_3$:
$$\beta_3 = \alpha_3 - \frac{(\alpha_3, \beta_1)}{\|\beta_1\|^2}\beta_1 - \frac{(\alpha_3, \beta_2)}{\|\beta_2\|^2}\beta_2 = \begin{bmatrix} -1 \\ 1 \\ 1 \end{bmatrix} - \frac{0}{2}\beta_1 - \frac{-1}{3}\begin{bmatrix} 1 \\ -1 \\ 1 \end{bmatrix} = \begin{bmatrix} -2/3 \\ 2/3 \\ 4/3 \end{bmatrix}, \quad \|\beta_3\| = \sqrt{\frac{24}{9}} = \frac{2\sqrt{6}}{3}$$
3. 分解结果:$A = QR$
- 正交矩阵 $Q$ (单位化后的基)
$$ Q = \begin{bmatrix} 1/\sqrt{2} & 1/\sqrt{3} & -1/\sqrt{6} \\ 1/\sqrt{2} & -1/\sqrt{3} & 1/\sqrt{6} \\ 0 & 1/\sqrt{3} & 2/\sqrt{6} \end{bmatrix} $$
- 上三角矩阵 $R$
$$ R = \begin{bmatrix} \sqrt{2} & \sqrt{2} & 0 \\ 0 & \sqrt{3} & -1/\sqrt{3} \\ 0 & 0 & 2\sqrt{6}/3 \end{bmatrix} $$
几何意义验证
- $R_{11} = \sqrt{2}$ 是第一个向量 $\alpha_1$ 的长度。
- $R_{12} = \sqrt{2}$ 是 $\alpha_2$ 在 $\alpha_1$ 方向上的投影分量。
- $R_{33} = 2\sqrt{6}/3$ 是 $\alpha_3$ 到平面 $\text{span}(\alpha_1, \alpha_2)$ 的垂直距离。
矩阵的 $LL^T$ 分解 (Cholesky Decomposition)
1. 定义与前提
如果矩阵 $A$ 是一个对称正定矩阵 (Symmetric Positive Definite),则它可以唯一地分解为一个下三角矩阵 $L$ 及其转置的乘积:
$$ A = LL^T $$
其中 $L$ 是一个对角线元素皆为正数的下三角矩阵。
2. 计算公式 (逐列求解)
$$ \begin{aligned} l_{jj} &= \sqrt{a_{jj} - \sum_{k=1}^{j-1} l_{jk}^2} \\ l_{ij} &= \frac{1}{l_{jj}} \left( a_{ij} - \sum_{k=1}^{j-1} l_{ik}l_{jk} \right), \quad i > j \end{aligned} $$
Cholesky 分解 ($LL^T$) 具体算例
1. 待分解矩阵 $A$
设 $A$ 是一个对称正定矩阵:
$$ A = \begin{bmatrix} 4 & 12 & -16 \\ 12 & 37 & -43 \\ -16 & -43 & 98 \end{bmatrix} $$
2. 计算步骤 (逐列求解下三角矩阵 $L$)
设
$$ L = \begin{bmatrix} l_{11} & 0 & 0 \\ l_{21} & l_{22} & 0 \\ l_{31} & l_{32} & l_{33} \end{bmatrix}$$
,根据 $A = LL^T$ 逐步推导:第一列计算:
- $l_{11} = \sqrt{a_{11}} = \sqrt{4} = \mathbf{2}$
- $l_{21} = a_{21} / l_{11} = 12 / 2 = \mathbf{6}$
- $l_{31} = a_{31} / l_{11} = -16 / 2 = \mathbf{-8}$
第二列计算:
- $l_{22} = \sqrt{a_{22} - l_{21}^2} = \sqrt{37 - 6^2} = \sqrt{1} = \mathbf{1}$
- $l_{32} = \frac{1}{l_{22}}(a_{32} - l_{31}l_{21}) = \frac{1}{1}(-43 - (-8 \times 6)) = -43 + 48 = \mathbf{5}$
第三列计算:
- $l_{33} = \sqrt{a_{33} - (l_{31}^2 + l_{32}^2)} = \sqrt{98 - ((-8)^2 + 5^2)} = \sqrt{98 - (64 + 25)} = \sqrt{9} = \mathbf{3}$
3. 分解结果
$$ L = \begin{bmatrix} 2 & 0 & 0 \\ 6 & 1 & 0 \\ -8 & 5 & 3 \end{bmatrix}, \quad L^T = \begin{bmatrix} 2 & 6 & -8 \\ 0 & 1 & 5 \\ 0 & 0 & 3 \end{bmatrix} $$
验证计算
$$ LL^T = \begin{bmatrix} 2 & 0 & 0 \\ 6 & 1 & 0 \\ -8 & 5 & 3 \end{bmatrix} \begin{bmatrix} 2 & 6 & -8 \\ 0 & 1 & 5 \\ 0 & 0 & 3 \end{bmatrix} = \begin{bmatrix} 4 & 12 & -16 \\ 12 & 37 & -43 \\ -16 & -43 & 98 \end{bmatrix} = A $$
3. 性质与应用
核心观察
- 正定性判定:在分解过程中,如果根号下的值出现负数,说明原矩阵 $A$ 不是正定矩阵。
矩阵的 SVD 分解 (Singular Value Decomposition)
1. 核心定义
对于任何一个 $m \times n$ 的实矩阵 $A$,都存在如下分解:
$$ A = U \Sigma V^T $$
- $U$:左奇异向量($AA^T$ 的特征向量)。
- $\Sigma$:奇异值($\sqrt{\lambda_i}$)。
- $V$:右奇异向量($A^TA$ 的特征向量)。
证明见SVD的随笔
2. 构造关系
SVD 与矩阵特征值分解(EVD)有着深刻的联系:
$$ \begin{aligned} A^T A &= (V \Sigma^T U^T)(U \Sigma V^T) = V (\Sigma^T \Sigma) V^T \\ A A^T &= (U \Sigma V^T)(V \Sigma^T U^T) = U (\Sigma \Sigma^T) U^T \end{aligned} $$
[!info] 结论
- $V$ 的列向量:是 $A^T A$ 的特征向量。
- $U$ 的列向量:是 $A A^T$ 的特征向量。
- 奇异值 $\sigma_i$:是 $A^T A$(或 $AA^T$)非零特征值 $\lambda_i$ 的平方根,即 $\sigma_i = \sqrt{\lambda_i}$。
3. 几何意义:线性变换的分解
SVD 将一个复杂的线性变换拆解为三个简单的几何步骤:
- 旋转/翻转 ($V^T$):将输入向量旋转到新的坐标系。
- 拉伸 ($\Sigma$):沿着新坐标轴的方向进行缩放。
- 再次旋转/翻转 ($U$):将缩放后的向量映射到目标空间的坐标系。
4. 应用场景
[!tip] 为什么 SVD 很重要?
- PCA (主成分分析):保留前k个奇异值得到秩k最佳近似。
- 伪逆计算:$A^+ = V \Sigma^+ U^T$。
矩阵的极分解 (Polar Decomposition)
1. 核心定理
每个实方阵 $A$ 都可以分解为一个半正定实对称矩阵与一个正交矩阵的乘积。
$$ A = (U \Sigma U^T) (U V^T) $$
- $U \Sigma U^T$:对称变换(拉伸/压缩)。
- $U V^T$:正交变换(旋转/镜像)。
2. 变换过程的几何直观
极分解的过程可以看作是基底经历了一系列连续的线性变换:
$$ (\gamma_1, \dots, \gamma_n) \xrightarrow{\text{正交变换}} (\beta_1, \dots, \beta_n) \xrightarrow{\text{对称变换}} (\sigma_1 \beta_1, \dots, \sigma_n \beta_n) $$
[!tip] 物理类比
在连续介质力学中,极分解被用来将物体的形变分解为纯粹的旋转(Rotation)和纯粹的伸展(Stretch)。这类似于复数 $z = r e^{i\theta}$ 的极坐标表示,其中 $r$ 对应对称阵的缩放,$e^{i\theta}$ 对应正交阵的旋转。
3. 与 SVD 的关系
极分解实际上是奇异值分解(SVD)的一种重新组合方式:
- 设 $A = U \Sigma V^T$
- 则 $A = (U \Sigma U^T) (U V^T)$
- 这里 $U \Sigma U^T$ 是对称半正定阵,而 $U V^T$ 是正交阵。