科学仿真 从零学起 · 全书 7 节学习笔记

矩阵计算(Golub & Van Loan)

矩阵计算 · Matrix Computations

这本书在讲什么(给完全没接触过的你)

如果 Trefethen 是「讲清楚为什么」,那 Golub 就是「讲清楚怎么做的一切细节」——每个算法的伪代码、复杂度、稳定性分析、实现陷阱,一应俱全。它是数值代数界的字典:不一定从头读到尾,但每个做计算的人书架上都必须有一本。

为什么值得读这一本

这本 700 多页的巨著覆盖了矩阵计算的全部版图:线性方程组、最小二乘、特征值、SVD、稀疏矩阵、以及它们在高性能计算机上的实现。它获奖无数,被引用数十万次,是「查」与「学」两用的经典。

你需要先会什么(不会也没关系)

需要先读过一本入门书(Trefethen 是最佳前置),并且习惯阅读伪代码。数学上需要:线性代数熟练、基本的误差分析概念、一点复分析(对特征值部分有帮助)。不适合零基础直读——它是第二本,不是第一本。

怎么用这份学习笔记

下面是全书的逐节笔记目录。每一节都是独立一页:先讲这节解决什么问题,再把核心概念和公式一条条拆开讲,配上原文要点(公式与出处定位)、例题演算和自检问题。建议顺序读,读完一节再点下一节;卡住就回导览页看「新手最容易卡住的三个地方」。

逐节笔记全书 7 节 · 每节一页

全书目录 · 点开每一节

01 第 1 章 · 基础:误差、正交性与稳定性(先立规矩)这本是数值线性代数的"大部头参考书",开篇先立三条规矩:误差怎么度量、正交为什么金贵、稳定性的严格定义。后文 600 多页都是这三条规矩的应用。… 开始精读 → 02 第 2–4 章 · 矩阵分析工具箱这三章是全书的理论弹药库:矩阵函数、投影、SVD、KR 乘积。它们不是算法,而是推导算法时反复出现的恒等式与视角。… 开始精读 → 03 第 5–7 章 · 线性方程组的直接解法与 Trefethen 讲故事的写法不同,Golub-Van Loan 把直接法的每个细节都摊开:存储格式、循环次序、分块、主元策略。这三章是"想把求解… 开始精读 → 04 第 8–12 章 · 最小二乘与正交化家族数据拟合、传感器标定、定位——一切"方程比未知数多"的问题都是最小二乘。这五章给出它的全部解法谱系与秩亏时的进阶武器。… 开始精读 → 05 第 13–14 章 · 特征值问题的重机器这两章是稠密特征值算法的完整工程学:海森堡化、QR 算法实现、对称/非对称的各路变体、平衡与预处理。比 Trefethen 版多出的是实现级的每一步细节… 开始精读 → 06 第 15–16 章 · Lanczos 与 Arnoldi:大规模时代的答案矩阵大到一个 O(n^2) 的化简都存不下时,特征值与线性方程问题都转向同一个思路:只做矩阵-向量乘,在低维子空间里逼近答案。这两章是这个思想的完整展开… 开始精读 → 07 第 17 章起 · 稀疏与按需专题书末部分转向工程专题:稀疏直接法、大规模 SVD、随机化算法与并行计算。这一节给出检索地图与要点。… 开始精读 →
避坑指南新手卡点

新手最容易卡住的三个地方

卡点一:伪代码符号看不懂

书的前言有符号表。Golub 的伪代码是 MATLAB 的前身语言,向量下标范围如 i:n 表示「从 i 到 n」。花半小时把符号表过一遍,之后畅行无阻。

卡点二:内容太多,不知从何下手

千万不要从头读到尾。正确的用法:先读第 1 章(误差分析)和第 3 章(LU),然后按你的工作需要跳读。这本字典式的书,读法比毅力重要。

卡点三:分块算法的缓存论证看不懂

先补一点计算机体系结构常识:内存分层(缓存比主存快百倍)。理解「分块是为了让数据在缓存里被反复使用」,再看分块伪代码就顺了。

学完之后,你会多出什么

学完(准确说是「用好」)这本书,你将能:为任何矩阵问题设计求解路线并估算成本、读懂 LAPACK 文档的每个选项、在高性能计算项目里做出正确的算法选型。它是从「会用 NumPy」到「懂计算的人」之间的那座桥。

← 返回经典研读 科学仿真 · 相关论文精读

← 经典研读 · 六大方向 36 本经典