第 5 章 数值计算的内功:算得准与算得动


第 5 章 · 数值计算的内功:算得准与算得动

章节摘要:数学上正确的算法,在有限精度的计算机上可能给出垃圾。本章讲数值计算的三层内功:5.1 误差来源与数值稳定性——为什么两个几乎相等的数相减是灾难;5.2 插值、数值积分与方程求根的经典算法及其适用病情;5.3 大规模稀疏线性系统的求解策略——现代仿真的真正瓶颈。读完本章,你写出的数值代码会自带"这步误差多大"的自觉。

学习目标

阅读完本章,你应当能够:

  1. 说出舍入误差、截断误差、数据误差三种来源与传播方式;
  2. 通过公式重排消除相消误差,用条件数预判问题难度;
  3. 为给定问题选择插值、求积或求根方法并控制精度;
  4. 用稀疏存储与迭代法求解十万阶以上的线性系统。

核心概念速览

算法的稳定性与问题的条件数是两回事:前者是"医生的手稳不稳",后者是"病人的体质好不好"。

5.1 误差分析与数值稳定性

三种误差源、相消灾难的复现与消除、经典的一元二次公式修复案例。

5.2 插值、数值积分与方程求根

拉格朗日与样条插值的选择、复合求积与自适应积分、二分法与牛顿法的搭档关系。

5.3 大规模稀疏线性求解

稀疏存储格式、雅可比与共轭梯度迭代、预条件的作用与工程选型。

子章节之间的逻辑关系

5.1 误差观(世界观)──► 5.2 经典算法(招式)──► 5.3 大规模(内力放大) ​

5.1 建立判断力,5.2 在小问题上练招,5.3 把招式带进十万阶的真实战场。三节的代码都可直接运行,误差数字都是真跑出来的。

门诊记录:本章算例一览

工单 用到的方法 关键产出
数值微分步长选择 相消误差复现 误差 U 形曲线
一元二次求根 恒等变形修复 朴素与稳定版对照
黏度曲线查值 拉格朗日与样条对比 龙格现象现场
稳态温度方程 二分与牛顿混合 有效数字翻倍节奏
大型热网络 稀疏存储、CG、预条件 迭代数对比

本章的误差观是全册的底层纪律:2.2 节的病态诊断、8.2 节的反问题病态,都是它的直系后代。

本章的自学节奏建议:先通读 5.1 建立"误差世界观",它决定你读后两节时的警觉程度;5.2 的三组算法各配一个小实验,跑一遍误差阶的对比输出,把"阶数"从名词变成手感;5.3 视兴趣深浅——不从事大规模计算可选读,但要记住"迭代不收敛先上预条件"这条急救口诀。全章的代码都不依赖大规模算力,笔记本即可,重点始终是读懂输出里那些误差数字的来源。

出科小考

自测三题:其一,数值微分的步长为什么不是越小越好?其二,求根时牛顿法步长突然巨大,标准防御动作是什么?其三,共轭梯度对矩阵性质有什么硬要求,用错会怎样?(答案分别在 5.1、5.2、5.3。)

三题若都对,你的数值代码就已经自带误差自觉——这是本章唯一真正要带走的东西。

另外提醒:本章所有实验在普通笔记本上的总运行时间不超过半分钟,反复重跑的成本极低——数值直觉就是靠这种廉价实验堆出来的。

祝练得开心。

动手愉快,误差自知。

本章实践建议

数值代码的调试与常规代码不同:语法对、逻辑对,结果仍可能错。建议把"误差预算"写成显式注释——每个计算结果旁标注"这步误差预期多大、来自哪个源头"(5.1 的方法);改一处公式立刻重跑全部实验(笔记本半分钟即可,5.2 的成本优势);涉及大规模矩阵先查条件数与稀疏结构再选求解器(5.3 的选型顺序)。三节的小实验值得各跑两遍:第一遍照抄复现,第二遍故意改一个参数(步长放大十倍、容差放松一档),看误差数字怎么变——对误差的敏感度,正是本章想练成的内功。

前置知识与后续延伸

  • 前置知识:第 2 章的分解与条件数;
  • 后续延伸:第 7 章的仿真类工单直接调用本章的大规模求解策略;第 8 章的反问题正则化以本章的条件数概念为地基。
作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U