1. 一句话总览
线性方程组求解的核心问题是:
给定:
求未知向量:
主要方法分两类:
直接法:通过矩阵分解,一步步算出精确解,例如 Gauss、LU、Cholesky、QR。
迭代法:从一个初始解出发,不断逼近真实解,例如 Jacobi、Gauss-Seidel、GMRES、CG。一句话记忆:
直接法:分解矩阵,直接求解。
迭代法:不断修正,逐步逼近。2. 为什么要做矩阵分解?
直接解:
表面上可以写:
但工程上很少真的去求逆矩阵。
原因:
1. 求逆计算量大
2. 数值误差大
3. 对多个右端项 b 不划算
4. 分解法更稳定、更高效所以实际做法是:
把 A 分解成更容易求解的矩阵乘积。例如:
LU:A = LU
Cholesky:A = LL^T
QR:A = QR然后通过三角方程一步步求解。
3. Gauss 消去法
3.1 一句话功能
Gauss 消去法就是把矩阵 A 消成上三角矩阵,然后回代求解。
原方程:
通过消元变成:
其中 (U) 是上三角矩阵。
3.2 上三角矩阵为什么好解?
例如:
$$
\begin
2 & 1 & 3
0 & 4 & 5
0 & 0 & 6
\end
\begin
x_1
x_2
x_3
\end
\begin
7
9
12
\end
6x_3=12
x_3=2
再代入第二行求 (x_2),再代入第一行求 (x_1)。 这叫回代。 --- ## 3.3 Gauss 消去法主流程 ```text 1. 用第1行消掉第1列下面的元素 2. 用第2行消掉第2列下面的元素 3. 用第3行消掉第3列下面的元素 4. 最终得到上三角矩阵 5. 从最后一行开始回代求解 ``` --- ## 3.4 数字例子 求解:\begin
2x+y=5
4x+5y=13
\end
用第一行消第二行。
第二行减去 2 倍第一行:
右端:
得到:
所以:
代回第一行:
所以:
4. LU 分解
4.1 一句话功能
LU 分解就是把矩阵 A 拆成:
其中:
L:下三角矩阵
U:上三角矩阵如果 L 的对角线全是 1,则叫单位下三角矩阵。
4.2 为什么 LU 有用?
原方程:
如果:
那么:
令:
于是先解:
再解:
也就是两步:
第一步:前代,解 Ly=b
第二步:回代,解 Ux=y4.3 LU 和 Gauss 的关系
Gauss 消去法的消元过程,本质上就藏着 LU 分解。
U:是消元后得到的上三角矩阵
L:记录每一步消元用到的倍数例如你用第 1 行消第 2 行时,倍数是 2。 这个 2 就会进入 L 矩阵。
4.4 LU 的适用场景
LU 特别适合:
同一个 A,对应多个 b。比如:
如果每次都重新 Gauss 消去,浪费。
更好的方式是:
先分解一次 A=LU
然后每个 b 都只做前代和回代4.5 LU 的条件
你材料中写到:
如果 n 阶矩阵 A 的前 n-1 阶顺序主子矩阵非奇异,则存在唯一的单位下三角矩阵 L 和上三角矩阵 U,使得 A=LU。
先不用死背。你先记直觉:
不是所有矩阵都能在不换行的情况下直接 LU 分解。如果遇到主元为 0 或太小,就要做行交换,也就是:
其中 (P) 是置换矩阵。
工程里常用的是带主元选取的 LU。
5. Cholesky 分解
5.1 一句话功能
Cholesky 分解是对称正定矩阵专用的高效分解方法。
如果 (A) 是对称正定矩阵,则:
其中 (L) 是下三角矩阵。
5.2 什么是对称正定?
对称
也就是矩阵沿主对角线对称。
例如:
就是对称矩阵。
正定
对任意非零向量 (x),都有:
直觉理解:
正定矩阵对应一个“碗形”的二次型。5.3 Cholesky 怎么解线性方程?
原方程:
如果:
那么:
令:
先解:
再解:
流程:
1. Cholesky 分解:A = LL^T
2. 前代求 y:Ly = b
3. 回代求 x:L^T x = y5.4 Cholesky 的优势
相比 LU:
1. 计算量更小
2. 存储量更小
3. 数值稳定性好但前提严格:
A 必须是对称正定矩阵。5.5 典型应用
Cholesky 常见于:
最小二乘正规方程
协方差矩阵
MIMO检测
优化问题中的 Hessian 正定矩阵
高斯过程
卡尔曼滤波6. QR 分解
6.1 一句话功能
QR 分解把矩阵 A 拆成:
其中:
Q:标准正交矩阵
R:上三角矩阵6.2 什么是标准正交矩阵?
如果矩阵 (Q) 的列向量两两正交,且每个列向量长度为 1,则:
如果 (Q) 是方阵,还满足:
这个性质非常重要。
因为求逆很麻烦,但 (Q) 的逆就是转置。
6.3 QR 怎么解线性方程?
原方程:
如果:
则:
两边左乘 (Q^T):
因为:
所以:
此时 (R) 是上三角矩阵,可以回代求 (x)。
6.4 QR 的典型用途
QR 特别适合:
最小二乘问题
过定方程组
数值稳定性要求高的场景比如样本数多于未知数:
这时可能没有精确解,就找最小二乘解:
QR 是求这种问题的经典方法。
7. 投影与 QR 的关系
你材料里投影这块写得比较断。先用最简单的方式理解。
7.1 什么是投影?
二维空间中,向量 (b) 投影到向量 (a) 上,就是找 (a) 方向上最接近 (b) 的那一段。
投影公式:
如果 (a) 是单位向量,也就是:
则:
7.2 QR 和投影
QR 分解的一种构造方法叫 Gram-Schmidt 正交化。
它的核心动作就是:
不断把一个向量中已经被前面方向解释掉的投影部分减掉,
留下新的正交方向。所以 QR 的本质可以理解为:
把原来相互不正交的列向量,改造成一组正交基。这对最小二乘非常重要,因为正交基下求解更稳定。
8. 直接法对比总结
| 方法 | 分解形式 | 适用条件 | 优点 | 缺点 |
|---|---|---|---|---|
| Gauss | 消成上三角 | 一般矩阵 | 直观 | 多个 b 时重复计算 |
| LU | A=LU | 一般方阵,最好可主元分解 | 适合多个 b | 需要主元处理 |
| Cholesky | A=LL^T | 对称正定矩阵 | 快、省、稳定 | 条件严格 |
| QR | A=QR | 一般矩阵,尤其最小二乘 | 稳定 | 计算量比 LU 大 |
一句话:
一般方阵用 LU;
对称正定优先 Cholesky;
最小二乘优先 QR;
教学理解先从 Gauss 开始。9. 迭代法求解线性方程组
9.1 一句话功能
迭代法不是一次算出精确解,而是从初值出发,一步步逼近。
形式:
直到残差足够小。
残差是:
如果 (r) 越接近 0,说明 (x) 越接近真实解。
9.2 为什么需要迭代法?
直接法虽然可靠,但在大规模问题中可能太贵。
迭代法适合:
矩阵规模很大
矩阵稀疏
不需要特别精确
只需要近似解
存储资源有限无线仿真、大规模优化、有限元、图计算中都常见。
10. 基本迭代方法
10.1 Jacobi 迭代
把矩阵分成:
其中:
D:对角部分
L:下三角部分
U:上三角部分Jacobi 迭代:
直觉:
每个变量用上一轮的其他变量值来更新。10.2 Gauss-Seidel 迭代
和 Jacobi 类似,但更新更激进。
Jacobi:所有变量都用上一轮的值。
Gauss-Seidel:新算出来的值立刻拿来用。所以 Gauss-Seidel 通常比 Jacobi 收敛更快。
10.3 基本迭代法的问题
收敛速度可能慢
不一定收敛
对矩阵性质敏感所以大规模工程问题中,会用更强的方法,比如 GMRES 和 CG。
11. GMRES
11.1 一句话功能
GMRES 是一种适合一般非对称线性系统的迭代求解方法。
全称:
Generalized Minimal Residual Method
广义最小残差法目标是:
在 Krylov 子空间中寻找让残差最小的近似解。你先不用被 Krylov 吓到,先抓本质:
GMRES 每一步都在尝试让残差 ||b-Ax|| 变小。11.2 适用场景
GMRES 适合:
大型稀疏矩阵
非对称矩阵
直接法太贵
需要逐步逼近的系统缺点:
存储量会随着迭代次数增加
通常需要重启机制 restarted GMRES12. CG 共轭梯度法
12.1 一句话功能
CG 是专门求解对称正定线性系统的高效迭代法。
适用问题:
其中:
A 必须是对称正定矩阵12.2 CG 的优化视角
求解:
等价于最小化二次函数:
因为对 (f(x)) 求梯度:
令梯度为 0:
也就是:
所以 CG 本质是在最小化一个二次碗形函数。
12.3 为什么叫共轭梯度?
普通梯度下降每次沿负梯度方向走,可能会“之”字形震荡。
CG 选择一组更聪明的方向,这些方向满足 A-共轭关系:
直觉:
每次走的方向都尽量不破坏之前已经优化好的方向。所以 CG 比普通梯度下降快很多。
12.4 CG 适用场景
适合:
大规模稀疏
对称正定矩阵
要求高效率
不想显式分解矩阵典型应用:
最小二乘
优化二次子问题
信号处理
MIMO检测
图优化
有限元13. 直接法 vs 迭代法
| 对比项 | 直接法 | 迭代法 |
|---|---|---|
| 思路 | 分解矩阵,直接求解 | 从初值逐步逼近 |
| 精度 | 通常高 | 可控,取决于迭代停止条件 |
| 计算成本 | 中小规模较好 | 大规模稀疏更好 |
| 存储需求 | 可能较大 | 通常较小 |
| 代表方法 | Gauss、LU、Cholesky、QR | Jacobi、GS、GMRES、CG |
| 适用场景 | 中小规模、稠密矩阵 | 大规模、稀疏矩阵 |
一句话:
小而密,直接法;
大而稀,迭代法。14. 学习路线建议
你不要一上来啃 GMRES。顺序应该是:
1. 先会 Gauss 消去法
2. 再理解 LU = 记录 Gauss 消元过程
3. 再学 Cholesky = 对称正定矩阵的高效 LU
4. 再学 QR = 正交化和最小二乘
5. 再学残差概念
6. 再学 Jacobi / Gauss-Seidel
7. 最后学 CG / GMRES如果基础弱,先把前三个拿下。
15. 和无线通信的关系
这些方法不是纯数学,和你的工作关系很大。
15.1 MIMO 检测
例如:
检测 (x) 时,经常涉及:
最小二乘
矩阵求逆
QR分解
Cholesky分解
迭代检测15.2 波束赋形
求解预编码矩阵、MMSE 权重时,经常有:
这里的矩阵通常是 Hermitian 正定,可以用 Cholesky。
15.3 最小二乘拟合
比如仿真参数拟合、信道估计、KPI拟合,经常是:
QR、Cholesky、迭代法都能用。
15.4 大规模系统仿真
大规模稀疏系统不适合直接求逆,迭代法更重要。
16. 自测问题
Q1:为什么不推荐直接算 (A^b)?
因为求逆计算量大、数值误差大,矩阵分解更稳定高效。
Q2:LU 分解适合什么场景?
适合一般方阵,尤其适合同一个 A 对多个 b 求解。
Q3:Cholesky 分解的适用条件是什么?
A 必须是对称正定矩阵。
Q4:QR 分解为什么适合最小二乘?
因为 Q 是正交矩阵,数值稳定,并能把问题化成上三角方程。
Q5:残差是什么?
残差越小,说明当前解越接近真实解。
Q6:CG 的适用条件是什么?
A 必须是对称正定矩阵。
Q7:GMRES 适合什么矩阵?
适合一般大型稀疏非对称矩阵。
17. 一句话总结
矩阵分解和线性方程组求解的核心不是“背分解公式”,而是知道不同矩阵该用什么工具。
一般方阵:LU
对称正定:Cholesky
最小二乘:QR
大规模稀疏对称正定:CG
大规模稀疏非对称:GMRES最重要的一条主线是:
Ax=b 很难直接解;
把 A 分解成简单结构,或者通过迭代逼近;
最终目的都是更稳定、更高效地得到 x。