1.1 数值分析的研究对象
本节回答三个问题:科学计算在科学研究里扮演什么角色?数值分析研究什么?这门课的路线图长什么样?主线是一条链:实际问题 → 数学模型 → 数值问题 → 数值解——误差在链条的每一环溜进来,而数值分析专管其中能靠算法控制的两环。
1.1.1 科学计算:第三种研究方法
现代科学技术问题的研究方法可分为三种:理论推导、科学实验和科学计算。三种方法相辅相成,又相互独立、缺一不可。
理论推导给出普适规律,但许多问题(三体问题、湍流、大规模结构)没有闭式解;科学实验直接接触真实世界,但受成本、尺度、伦理限制——不能试飞一百次机翼,更不能对地核做实验。科学计算则在两者之间搭桥:用计算机模拟代替不可行的实验,用数值解代替不存在的闭式解。
科学计算的完整链条是:
实际问题 ——建立数学模型→ 数学模型 ——离散化→ 数值问题 ——数值方法(算法)→ 数值解
最后把数值解当作原问题的解交出去。链条的每一环都是一次「翻译」,而每次翻译都会引入或放大误差:
| 环节 | 引入的误差 | 例子 |
|---|---|---|
| 实际问题 → 数学模型 | 模型误差 | 把空气当理想流体、把梁当一维杆 |
| 模型参数来自测量 | 观测误差 | 重力加速度 只测到 |
| 数学模型 → 数值问题 | 截断误差(方法误差) | 用 Taylor 展开的前 项代替 |
| 数值问题在计算机上执行 | 舍入误差(计算误差) | 存成 |
这张表是全章的地图:1.2.1 节将逐一给四类误差下定义,其后的全部内容都在处理最后两类——我们唯一能通过算法设计控制的误差。
把这条链条想象成一场传话游戏:目击者(实际问题)转述给数学模型,再传给数值问题,最后由计算机写出终稿(数值解)。每一环都丢一点信息、加一点噪声。数值分析的工作就是:承认信息一定会丢,然后精确量化丢了多少——前两环归建模与测量学科管,后两环(截断与舍入)是算法设计者的战场。
「数学模型」指反映实际问题中有关量之间关系的计算公式(方程、方程组、泛函等);「数值问题」指可以在有限步四则运算内求解的问题(如解线性方程组、算积分的近似值)。有些数学模型要先离散化(微分方程 → 差分方程)才成为数值问题;也有许多问题(如解 )本身就是数值问题。
1.1.2 数值分析研究什么
数值分析(numerical analysis)是计算数学中最基本的内容,它研究两件事:
- 怎样用数值计算方法求解各种基本数学问题——线性方程组、特征值问题、非线性方程、插值与逼近、数值积分、微分方程……这是「方法」的层面;
- 求解过程中出现的收敛性、数值稳定性和误差估计——这是「可靠」的层面,也是数值分析区别于「编程算数」的本质所在。
- 收敛性(convergence): 或 时,数值解是不是趋向真解?收敛多快?
- 数值稳定性(numerical stability):执行中的舍入误差,会被压住还是被放大成雪球?
- 误差估计(error estimation):能不能在给出解之前,先给出「解与真值差多少」的定量界限?
- 计算复杂性(computational complexity):达到给定精度需要多少计算量、多少内存?
前两个是定性的(行不行),后两个是定量的(好多少、贵多少)——全书每个算法都会被这四把尺子量一遍。
随着计算机性能不断提高,科学计算已渗透到科学技术的各个领域:数值天气预报、飞机全机气动仿真、芯片电路仿真(SPICE)、医学影像重建、大模型训练(本质是大规模非凸优化——一个数值分析问题)。这些应用的可靠性,最终都落在上面四个关键词上。
1.1.3 一个预告性的例子:算出来 ≠ 算对了
在进入技术细节之前,先看一个 30 秒的小实验。取 (有误差的输入,就像一切测量数据一样),计算 。准确值约为 。用六个数学上完全等价的公式(证明见习题 C4):
| 公式 | 用 代入的结果 | 与真值的差 |
|---|---|---|
同一个数学问题,六个等价公式,最坏与最好的结果相差近五个数量级——第 个公式甚至给出 ,与真值 毫无关系。差别不在数学(六个公式恒等),而在计算过程中误差被放大了多少。
解释这张表只需要本章的三件工具:
- 误差传播(1.2.3):六个公式都是 的函数,输入的误差被放大多少倍,取决于公式「长什么样」;
- 相近数相减(1.2.4 原则 (3)): 是两个 的数相减,结果却只有 量级——最危险的写法;
- 有效数字(1.2.2):用来数一数每个结果还剩几位可靠数字。
读完 1.2 节后,你应能独立算出每个公式的误差放大因子,并复现这张表的每一行(习题 C4);六个公式的相对条件数与逐行复现的完整计算见附录 A.1.1。
这个例子说明数值分析的核心立场:算法不是公式的机械执行,公式写法本身就是算法设计的一部分。
1.1.4 全书路线图
全书主线按庞刚老师的七章顺序组织(也就是原书第 1–7 章的顺序),另设一个补充篇放现代数值线性代数工具箱(原书 §1.3 的扩充,课堂未系统讲)。正文里出现的章号都链到本表。
- 本书主线章号 = 老师/原书章号:第 1–7 章一一对应,不再错位。第 2 章是线性方程组,不是矩阵工具箱;矩阵工具箱整体后移为补充篇。
- 补充篇:内积/正交/投影/QR/条件数/谱/SVD,节号 2.1–2.8 是补充篇内部编号,不是第 2 章的节号;课堂未系统讲,按需查阅。
- 提原书时带「原书」;原书第 8 章(偏微分方程)不在老师七章范围内,暂不列入主线。
| 章 | 主题 | 对标原书 | 课堂 | 状态 |
|---|---|---|---|---|
| 1 | 绪论:误差、算法与范数(本章) | 第 1 章 | 第 1–3 讲 | ✅ 已成章 |
| 2 | 线性方程组的解法:高斯消去、LU、追赶法、迭代法、SOR | 第 2 章 | 第 3–6 讲 | 🚧 讲座页承载 |
| 3 | 矩阵特征值与特征向量的计算:幂法、反幂法、位移反幂法 | 第 3 章 | 第 6–7 讲 | 🚧 讲座页承载 |
| 4 | 非线性方程与非线性方程组的迭代解法 | 第 4 章 | 第 7–9 讲 | 🚧 讲座页承载(第 8 讲待补) |
| 5 | 插值与逼近 | 第 5 章 | 第 9 讲起 | 🚧 开篇 |
| 6 | 数值积分与数值微分 | 第 6 章 | 未讲 | ⏳ 待写 |
| 7 | 常微分方程初值问题的数值解法 | 第 7 章 | 未讲 | ⏳ 待写 |
| 补 | 数值线性代数工具箱:内积、正交、投影、QR、条件数、谱、SVD | 1.3 节扩充 | 未系统讲 | ✅ 补充篇 |
一条红线贯穿全部七章 + 补充篇:误差 → 条件数(问题的固有敏感性)→ 稳定性(算法对误差的处理)。第一章把红线的前半段立起来;从第二章起,每个新算法都会被这三把尺子量一遍。
| 概念 | 一句话定义 | 本节出现位置 | 将在何处深入 |
|---|---|---|---|
| 模型误差 | 由实际问题建立数学模型时丢失的信息 | 1.1.1 误差表 | 不在数值分析范围 |
| 观测误差 | 输入数据来自测量,天然带噪声 | 1.1.1 误差表 | 1.2.1 |
| 截断误差 | 用有限步近似代替无穷过程 | 1.1.1 误差表 | 1.2.1、1.2.3 |
| 舍入误差 | 有限精度存储带来的偏差 | 1.1.1 误差表 | 1.2.1、1.2.5 |
| 收敛性 | 或 时数值解 → 真解 | 1.1.2 四关键词 | 每章每个算法 |
| 数值稳定性 | 舍入误差在计算过程中被压住还是放大 | 1.1.2 四关键词 | 1.2.3(误差传播) |
| 条件数 | 问题本身对输入扰动的敏感度 | 1.1.4 红线 | 1.3 |
| 有效数字 | 近似值中「可信」的位数 | 1.1.3 预告 | 1.2.2 |
学完 1.1 节后,你应该能不看笔记回答以下五个问题。答不上来,就回到对应小节重读:
- ☐ 科学计算的完整链条是什么?每一环分别引入什么误差?(答不出 → 回 1.1.1)
- ☐ 数值分析的四个关键词是什么?各自回答什么问题?(答不出 → 回 1.1.2)
- ☐ 为什么六个等价公式算 会差出五个数量级?根本原因是什么?(答不出 → 回 1.1.3)
- ☐ 全书十二章的主线是什么?第一章在全书中承担什么角色?(答不出 → 回 1.1.4)
- ☐ 「跑通 = 算对」为什么是错的?举一个真实事故说明。(答不出 → 回 1.1.5 三个常见误解)
1.1.5 小结与常见误解
- 科学计算 = 理论推导与科学实验之外的第三条路,链条是「实际问题 → 数学模型 → 数值问题 → 数值解」,每一环都有误差进入。
- 数值分析研究方法(怎么算)与可靠(收敛性、稳定性、误差估计、复杂性)两个层面。
- 公式写法即算法设计:等价公式可以差出五个数量级( 六公式)。
- 全书主线:误差 → 条件数 → 稳定性;第一章负责把「误差」与「尺子(范数)」造好。
- 「计算机算出来的结果就是对的。」——反例见 1.1.3 的表格:公式 3 给出 ,真值是 。计算机只会忠实执行公式,误差是公式与算法的属性,不是机器的「故障」。
- 「精度不够就提高精度(换 double、加位数)。」——提高精度只能推迟问题,不能消除方法性的误差放大。六个公式的例子全部用同一精度计算,差别完全来自公式本身。当然,「该用多少位」也是一件严肃的事,1.2.5 节给出定量答案。
- 「误差分析是理论家的事,工程上跑通就行。」——1991 年 2 月 25 日海湾战争中爱国者导弹系统因累计舍入误差(0.1 秒的二进制表示误差 × 100 小时运行时间)导致拦截失败、28 名士兵死亡;1996 年 Ariane 5 首飞因数值溢出 37 秒后自毁。跑通 ≠ 算对,误差分析是工程义务。
本节的三个引例(Kepler 方程、海洋水温插值、波纹瓦弧长的第二类椭圆积分)正是课堂第一讲的开场;老师的完整讲法(含课程考核方式、七章地图与学习建议)见第 1 讲精编。