01 / 导读
导读
引用
Trefethen, L. N., & Bau, D., III. (2022). Numerical Linear Algebra (25th anniversary ed.). SIAM.
章节概要
全书由四十讲短小的讲义组成,每讲围绕一两个核心思想展开,分为六个部分,后接附录、注释和参考文献。1997 年的原版约 360 页。
第一部分 基础(第 1–5 讲):矩阵与向量的乘法;正交向量与正交矩阵;范数;奇异值分解;奇异值分解续
开头几讲带着计算的眼光重新审视熟悉的线性代数。第 1 讲把矩阵与向量的乘积看作各列的线性组合,再推广到矩阵与矩阵的乘积,并讨论值域、零空间和逆。随后讲正交性和范数,这一部分以奇异值分解收尾,后面各部分会不断回到它。
第二部分 QR 分解与最小二乘(第 6–11 讲):投影;QR 分解;Gram-Schmidt 正交化;MATLAB;Householder 三角化;最小二乘问题
由投影引出约化与完全 QR 分解,先用 Gram-Schmidt 正交化计算,再用 Householder 三角化计算。第 9 讲是一篇简短的 MATLAB 讲义,这一部分最后用这些分解来求解最小二乘问题。
第三部分 条件与稳定性(第 12–19 讲):条件与条件数;浮点运算;稳定性;稳定性续;Householder 三角化的稳定性;回代的稳定性;最小二乘问题的条件;最小二乘算法的稳定性
这一部分提供评判算法所需的概念:问题有多敏感,浮点运算如何运作,算法稳定意味着什么。随后把这些思想用于第二部分的算法和回代,使前面的方法得到分析,而不只是被陈述。
第四部分 方程组(第 20–23 讲):Gauss 消去法;选主元;Gauss 消去法的稳定性;Cholesky 分解
Gauss 消去法在 QR 之后才出现,并配有选主元和稳定性分析。对称正定矩阵的 Cholesky 分解结束这一部分。
第五部分 特征值(第 24–31 讲):特征值问题;特征值算法概览;化为 Hessenberg 或三对角形式;Rayleigh 商与逆迭代;不带位移的 QR 算法;带位移的 QR 算法;其他特征值算法;奇异值分解的计算
八讲先陈述问题,把矩阵化为 Hessenberg 或三对角形式,研究 Rayleigh 商与逆迭代,再分别发展不带位移和带位移的 QR 算法,最后介绍其他特征值算法以及奇异值分解的计算。
第六部分 迭代方法(第 32–40 讲):迭代方法概览;Arnoldi 迭代;Arnoldi 如何定位特征值;GMRES;Lanczos 迭代;从 Lanczos 到 Gauss 求积;共轭梯度法;双正交化方法;预条件
从 Arnoldi 和 Lanczos 出发建立 Krylov 子空间方法,并通过 GMRES、共轭梯度法和双正交化方法把它们用于特征值问题和线性方程组,最后讲预条件。
附录与后附部分
附录“数值分析的定义”之后是给出来源和延伸阅读的注释、参考文献和索引。每一讲末尾都有习题。
核心概念
第一、二部分
- 矩阵与向量的乘积是各列的组合:第 1 讲引入、贯穿全书的观点。
- 奇异值分解:第 4 讲引入,在第 5 讲和第 31 讲中再次出现。
- QR 分解:用 Gram-Schmidt 或 Householder 三角化计算,并用于最小二乘。
第三部分
- 条件数:衡量问题对扰动有多敏感。
- 浮点运算与稳定性:判断算法结果是否可信的框架。
第四至六部分
- 带选主元的 Gauss 消去法与 Cholesky 分解:求解线性方程组的直接方法。
- QR 算法:主要的特征值方法,分别在无位移和有位移的情形下展开。
- Krylov 方法:Arnoldi、Lanczos、GMRES、共轭梯度法和预条件。
评析
优点
- 设计意图明确。 前言把本书定位为一学期的教材,由四十讲构成,每讲集中于一两个思想,避免陷入细节。
- 先讲 QR,后讲 Gauss 消去法。 作者有意偏离惯常顺序,理由是 Gauss 消去法在这一学科中并不典型且难以分析,而 QR 分解是贯穿最小二乘、特征值、奇异值和迭代方法的主线。
- 条件与稳定性占有完整一部分。 在分析任何解方程组的算法之前,先用八讲处理这些主题,后面各部分的稳定性分析都依赖它们。
- 结构便于使用。 短小的讲义配有习题,适合逐讲授课,六部分的布局也让人容易看出哪些讲属于一组。下文介绍的佛罗里达大学课程的单元主题顺序与这六部分大体一致。
局限
- 有意不做成参考书。 作者说明本书无意重复百科全书式的 Golub 与 Van Loan 的著作;它按一个学期的容量编写,作者期望读者为获得更多细节和更多主题而查阅 Golub 与 Van Loan 的书,以及注释中介绍的 Higham 和 Demmel 的著作。
- 下文介绍的 CSci 5304 课程把 Matrix Computations(第 4 版)列为首选的主要参考书,尤其适用于涉及数值线性代数的研究。
- 该课程的授课教师评价 Trefethen 与 Bau 的书易读且富有洞见,但不够详细、不够完整。
- 叙述紧凑。 四十讲每讲约八页,推导较简短,读者需要熟悉复向量空间中的线性代数,因为本书默认在复数域上讨论。
- 迭代方法部分在课程中未必讲完。 MAD 6406 把迭代方法单元标为“时间允许”(time permitting),因此可能不会完整讲授;CSci 5304 中的稀疏技术、Lanczos 方法和 Krylov 子空间同样视时间而定。
在课程中的定位
在数值分析课程中,这是专讲线性代数的教材。它并不取代一般的数值分析教材,而是沿着一条主线挖得更深。Burden、Faires 与 Burden 的 Numerical Analysis 和 Süli 与 Mayers 的 An Introduction to Numerical Analysis 是覆盖面更广的入门书,后者更强调收敛性的证明,二者都可以先读。Stoer 与 Bulirsch 的 Introduction to Numerical Analysis 是内容更全面的研究生教材,在线性方程组和特征值方面与本书有所重叠。
对于想先编程、后分析的读者,Moler 的 Numerical Computing with MATLAB 和基于 Python 的数值方法教材是更温和、更偏动手的起点。之后,Trefethen 与 Bau 提供这些书中所调用例程背后的几何与稳定性理解。
在下文介绍的两门 2025 年秋季课程中,本书都与 Golub 与 Van Loan 的 Matrix Computations 一同出现,但角色不同:
- MAD 6406: Trefethen 与 Bau 为指定教材,Matrix Computations(第 3 版)为“强烈推荐”。
- CSci 5304: 顺序相反。该课程没有指定教材,Trefethen 与 Bau 是两本选读参考书中的第二本。
如何使用本书
本书适合应用数学、科学计算和工程领域的研究生一年级学生和高年级本科生,也适合使用矩阵算法并想知道其原理的读者。主要的先修要求是一门扎实的本科线性代数课程,若有 MATLAB、Python 或 Julia 的编程经验,对计算类习题会有帮助。下面两门课程的要求与此相近:
- MAD 6406 要求修过一门线性代数课程(MAS 3114、4105 或 4124),并掌握一门编程语言。
- CSci 5304 要求良好的线性代数基础(CSci 2033 或同等课程),并熟悉 MATLAB 或带 NumPy/SciPy 的 Python。
一个实用的读法:
- 核心: 按顺序读第一至第三部分。第 1–5 讲的奇异值分解、第 6–11 讲的 QR 以及第 12–15 讲的条件与稳定性,承载了本书其余部分所假定的大部分概念。
- 接着: 读第五部分(特征值)和第六部分(迭代方法);熟悉奇异值分解、QR 和稳定性之后,二者都可以作为独立单元阅读。如果眼前需要的是 Gauss 消去法,第四部分可以提前读。
- 同时: 随着内容出现逐个实现算法,做每讲的习题,并阅读注释以了解来源和延伸阅读。对于四十讲之外的主题,手边备一本篇幅更大的参考书。
常见课程安排
- 作为指定教材:佛罗里达大学 MAD 6406,2025 年秋季(课程大纲)。
- 大纲分为标作 Ch 1–6 的六个单元:基础与奇异值分解;QR 与最小二乘;条件与稳定性;方程组;特征值;迭代方法。迭代方法排在最后,并标注“时间允许”。
- 这些编号是课程自己的标注,没有给出讲次或页码范围,因此请把各单元主题与你手中版本的讲义标题对应起来。
- 课程还涉及正定方程组和 Toeplitz 方程组,但这些是课程主题,而非指定的本书阅读内容。
- 作为选读参考书:CSci 5304《Computational Aspects of Matrix Theory》,2025 年秋季(大纲托管于明尼苏达大学网站,课程大纲 PDF)。
- 没有指定任何章节或页码。
- 本书排在 Matrix Computations 之后,列为第二本。
- 作为选读辅助材料,可在课程讲到 QR、奇异值分解、条件数和特征值算法时查阅相应讲解。
版本说明
两门课程引用的都是 1997 年 SIAM 出版的版本,未标注版次编号;CSci 5304 还注明为平装本。这里列出的是 2022 年的 25 周年纪念版。如果你跟随其中一门课程学习,请以授课教师指定的版本核对页码和章节引用,不要默认二者一致。
