ESC
输入关键词搜索文章
目录

线性方程组与矩阵数值计算

Chap 5–10 · 数值分析
从直接法到迭代法——线性系统如何被稳定而高效地求解
8核心主题
5方法层次
12关键公式
5例题/实验方向

模块导航

  • 第一组:直接法与问题背景 —— Part 0–2
  • 第二组:误差传播、迭代法与优化视角 —— Part 3–5
  • 第三组:课程收束与复习 —— Part 6 + 速查
Part 0 · 学习目标
从消元到变分:线性方程组如何成为数值分析的中心舞台

这一组内容覆盖数值分析里最核心的一段主线:线性方程组怎样被稳定、高效地求解。课程安排非常清楚:先从高斯消元和 LU 分解讲直接法(Chap5),再引入范数、条件数和 Hilbert 矩阵解释“为什么有的方程组虽然有解,却非常难算”(Chap6),随后从 PDE/差分方程离散化背景切入迭代法(Chap7–9),最后把对称正定线性方程组重新解释为二次函数极小化问题,引出最速下降法(Chap10)。

如果说前面的误差分析章节回答的是“近似值能不能信”,那么这一页回答的是:当大量实际问题最终都变成矩阵方程时,我们到底该怎样算,怎样判断它算得稳不稳、快不快

前置知识回顾

  • 线性代数基础:矩阵乘法、逆矩阵、上三角 / 下三角矩阵、特征值、对称与正定。
  • 矩阵分解直觉:把复杂运算拆成结构化子步骤,是 LU 分解和后续迭代法的共同思想。
  • 多元微积分:梯度、方向导数和二次函数极值,对最速下降法的理解尤为关键。
  • 差分离散背景:PDE/边值问题离散后会产生大规模稀疏线性方程组,这正是迭代法出现的现实动机。
Part 1 · 背景问题
矩阵不是终点,而是连续模型进入计算机后的中间形态

很多线性方程组并不是“凭空给出一个矩阵”,而是来自连续问题的离散化。比如边值问题、热传导问题、温度场问题离散之后,就会出现大规模、稀疏、甚至带明显结构(三对角、块状)的线性系统。

这使得课程的关注点自然分裂成三层:

  1. 能不能算出来:直接法,如高斯消元、LU 分解;
  2. 算出来靠不靠谱:范数、条件数、病态性;
  3. 规模太大时还算不算得动:Jacobi、Gauss-Seidel、SOR、最速下降等迭代和优化方法。
一句话主线:这几章的真正核心不是“记住几种算法”,而是理解求解线性方程组的四层结构——直接法、稳定性、迭代法、优化观点。
Part 2 · 概念定义
高斯消元、LU 分解、条件数与迭代矩阵

高斯消元与回代

高斯消元的目标是把一般线性方程组逐步化为上三角系统,然后用回代求解。它的本质不是“机械消元”,而是通过一系列初等行变换,把难解的系统转化成结构化的系统。

LU 分解

若消元过程可被组织成矩阵乘法形式,就能写成

$$A=LU$$

其中 $L$ 为单位下三角阵,$U$ 为上三角阵。于是解方程组可分成两步:先解 $Ly=b$,再解 $Ux=y$

这意味着:若系数矩阵 $A$ 不变而右端项 $b$ 多次变化,只需做一次分解即可重复使用。

向量范数、矩阵范数与条件数

范数是“大小”的抽象度量。向量有 $\|x\|_1,\|x\|_2,\|x\|_\infty$ 等;矩阵范数则用于刻画线性变换的放大能力。

条件数定义为

$$\kappa(A)=\|A\|\,\|A^{-1}\|$$

它衡量的是:输入中的微小误差会在解中被放大多少倍。

迭代格式与迭代矩阵

把方程组 $Ax=b$ 改写为

$$x^{(k+1)}=Bx^{(k)}+f$$

其中 $B$ 称为迭代矩阵。这样一来,求解问题就转成“序列是否收敛”的问题。

Part 3 · 推导
从消元过程到误差传播,再到最速下降法的优化解释

LU 分解为什么是“消元的矩阵化”

高斯消元把 $Ax=b$ 化成上三角系统 $Ux=c$。若把所有消元乘子整理到一个下三角矩阵里,就得到

$$A=LU$$

于是问题被拆成

$$Ly=b,\qquad Ux=y$$

LU 分解的价值就在于:把一次复杂消元变成一个可以复用的因子化结果。

误差传播为何落到 $e^{(k)}=B^k e^{(0)}$

若迭代格式为

$$x^{(k+1)}=Bx^{(k)}+f$$

而精确解 $x^*$ 满足

$$x^*=Bx^*+f$$

两式相减得误差递推:

$$e^{(k+1)}=Be^{(k)}$$

进一步可得

$$e^{(k)}=B^k e^{(0)}$$

因此收敛性的本质就是研究 $B^k$ 是否趋于零。课程里会给出像 $\|B\|<1$ 这样的充分条件,更深一层则与谱半径 $\rho(B)$ 有关。

Jacobi、Gauss-Seidel、SOR 与块迭代的统一视角

把矩阵分裂为

$$A=D-L-U$$

则可得到:

Jacobi 法

$$x^{(k+1)}=D^{-1}(L+U)x^{(k)}+D^{-1}b$$

Gauss-Seidel 法

$$x^{(k+1)}=(D-L)^{-1}Ux^{(k)}+(D-L)^{-1}b$$

SOR 法则是在 GS 基础上加入松弛因子 $\omega$,其中 $\omega=1$ 时退化为 GS。

Chap9 还进一步提到:如果未知量天然可按物理子区域或变量块来组织,就可以把标量迭代推广成块迭代。也就是说,不再逐个分量更新,而是一次更新一组分量。这种块结构特别适合来自温度场、网格离散等大系统。

这说明上述方法不是孤立公式,而是一族由“矩阵分裂与更新粒度”决定的迭代法。

为什么最速下降法能解对称正定线性方程组

$A$ 为对称正定矩阵时,求解 $Ax=b$ 等价于最小化二次函数

$$f(x)=\frac12 x^TAx-b^Tx$$

其梯度为

$$\nabla f(x)=Ax-b$$

因此残差

$$r=b-Ax$$

恰好就是负梯度方向。最速下降法就是沿这个方向做一维最小化,并取最优步长

$$t_k=\frac{(r_k,r_k)}{(Ar_k,r_k)}$$

更新

$$x^{(k+1)}=x^{(k)}+t_k r_k$$

这样,线性方程组就被重新解释成一个“在碗形曲面里往最低点滑下去”的优化过程。

Part 4 · 实验背景与方法分工
从温度场离散化到大型稀疏系统:为什么迭代法会成为主力

课件在 Chap7–9 反复强调的一个背景是:很多线性方程组来自连续场问题的离散化。比如温度场问题在网格上差分后,会得到一个大规模稀疏系统。对这类系统来说,直接法虽然原则上可用,但存储和运算代价都很高,于是迭代法就变得更自然。

在这种背景下,Jacobi、Gauss-Seidel、SOR 和块迭代的真正意义不是“多几种公式可选”,而是:面对稀疏、结构化、来自物理网格的大系统时,怎样用更省内存、更能利用局部结构的方式逐步逼近解。

路线代表方法适合场景核心优点主要风险/限制
直接法高斯消元、LU 分解中小规模稠密系统步骤明确,一次完成大规模问题代价高
稳定性分析范数、条件数、Hilbert 矩阵所有线性系统判断结果是否可信条件数大时问题本身就难
迭代法Jacobi、GS、SOR大规模稀疏系统存储省,可逐步逼近不一定收敛,速度依赖谱性质
块迭代按变量块或子区域更新结构化网格 / 分区系统更贴近物理结构,利于分块求解实现与分析都更复杂
优化法最速下降法对称正定系统把求解统一到极小化框架可能收敛慢,常作为更高级方法前奏
Part 5 · 例题与实验
从 Hilbert 病态到温度场离散,把“为什么这样做”落下来

例题 1 · LU 分解为何适合“多右端项”问题

题目:说明当系数矩阵 $A$ 不变、右端项 $b$ 多次变化时,为什么 LU 分解优于每次重新做高斯消元。

  1. 第一步:一次高斯消元得到 $A=LU$
  2. 第二步:对每个新的 $b$,只需求解 $Ly=b$$Ux=y$ 两个三角系统。
  3. 第三步:比较开销——分解只做一次,而回代 / 前代可以重复利用。

答案:LU 分解的价值不只在“能解一次”,而在“把消元过程缓存下来”,为重复求解提供结构化复用。

易错点:很多人把 LU 只当作一种写法变化,却忽略了它真正的工程意义是“重复求解的提速”。

例题 2 · Hilbert 矩阵为什么可解却难算

题目:解释 Hilbert 矩阵的“病态性”到底意味着什么。

  1. 第一步:注意 Hilbert 矩阵通常并不奇异,所以“有解”并不是问题。
  2. 第二步:问题在于条件数极大,因此右端项或舍入误差中的微小扰动,会被解向量显著放大。
  3. 第三步:因此同一个数学问题,哪怕输入只改动很小,输出也可能剧烈变化。

答案:病态不是“算法坏”,而是“问题本身就对误差高度敏感”。条件数正是这种敏感性的量化旋钮。

易错点:不要把“条件数大”简单理解成程序写错了。它首先说明的是问题本身的不适定或近病态性质。

例题 3 · 温度场离散为什么天然走向迭代法

题目:说明为什么课件在温度场问题后会自然引出 Jacobi、Gauss-Seidel 与 SOR,而不是继续只讲消元法。

  1. 第一步:连续温度场离散后会得到一个规模大、稀疏、带网格结构的矩阵方程组。
  2. 第二步:若直接做消元,存储和计算代价会迅速上升。
  3. 第三步:迭代法只依赖局部更新,更适合逐层扫过网格节点,因此与这类离散物理问题天然匹配。

答案:迭代法在这里不是“数学上多一种选择”,而是大规模稀疏离散系统下更符合结构的计算路线。

易错点:不要把迭代法理解成“直接法不够高级的替代品”。在稀疏系统里,它往往才是更自然的主力方法。

例题 4 · 最速下降法的几何解释

题目:说明为什么在对称正定情形下,解 $Ax=b$ 可以看成在一个碗形曲面上寻找最低点。

  1. 第一步:构造二次函数 $f(x)=\frac12 x^TAx-b^Tx$
  2. 第二步:求梯度,得到 $\nabla f(x)=Ax-b$
  3. 第三步:极小值点满足 $\nabla f(x)=0$,即 $Ax=b$

答案:$A$ 是对称正定矩阵时,函数图像像一个凸碗,最速下降法就是每一步沿最陡下降方向往底部滑。

易错点:最速下降法不是“随便往残差方向走一步”,关键在于每一步都要选最优步长。
Part 6 · 后续章节
为什么这一章群会一路通向特征值、优化与更高级迭代法

后续用途 / 连接

这一组内容是后续特征值问题、共轭梯度法和更一般最优化算法的基础。条件数与谱性质直接影响迭代收敛;LU 分解会在反幂法中再次出现;而 Chap10 的优化视角,则把“解线性方程组”重新嵌入到“最小化二次型”的更大框架里。可以说,这里是数值线性代数真正开始成形的地方。

复习速查

  • 直接法:消元 → 上三角 → 回代;LU 是消元的矩阵化。
  • 条件数:衡量误差放大量,问题病态不等于算法写错。
  • Hilbert 矩阵:经典病态矩阵,说明“有解”不代表“好算”。
  • 迭代法核心$e^{(k)}=B^k e^{(0)}$,收敛性本质取决于迭代矩阵。
  • Jacobi / GS / SOR:来自不同矩阵分裂方式,是一族方法。
  • 块迭代:把分量更新提升为“按变量块 / 子区域更新”,更贴近结构化大系统。
  • 最速下降法:在对称正定条件下,把 $Ax=b$ 转成二次函数极小化。

参考来源

  • 电子科技大学数学科学学院数值分析课程组:《数值分析》Chap5–Chap10 PDF 讲义(主参考来源)
  • 本页结构与叙述以本地 PDF 为主,网页来源仅作为补充解释,不覆盖课程脉络。