數學

Numerical Linear Algebra(數值線性代數)

Lloyd N. Trefethen; David Bau III

英文原名: Numerical Linear Algebra

Numerical Linear Algebra(數值線性代數) cover

一本精簡的研究所教科書,以四十個短講的形式講述線性代數問題的數值求解。全書從QR分解與奇異值分解而非高斯消去法入手,強調條件數與穩定性的概念,並以疊代法收尾。

需要的基礎

紮實的大學部線性代數課程,以及在MATLAB、Python或Julia等數值環境中的一定程式設計經驗。

版次
25th anniversary
出版年份
2022
難度等級
高級
學術層次
研究所
numerical linear algebramatrix factorizationsiterative methodsnumerical analysis教科書

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 分解是貫穿最小二乘、特徵值、奇異值和迭代方法的主線。
  • 條件與穩定性佔有完整一部分。 在分析任何解方程組的演算法之前,先用八講處理這些主題,後面各部分的穩定性分析都依賴它們。
  • 結構便於使用。 短小的講義配有習題,適合逐講授課,六部分的佈局也讓人容易看出哪些講屬於一組。下文所述的佛羅里達大學課程以本書為指定教科書,其大綱依序涵蓋:基礎與奇異值分解、QR 與最小二乘、條件與穩定性、方程組、特徵值、迭代方法。

侷限

  • 有意不做成參考書。 作者說明本書無意重複百科全書式的 Golub 與 Van Loan 的著作;它按一個學期的容量編寫,作者期望讀者為獲得更多細節和更多主題而查閱 Golub 與 Van Loan 的書,以及註釋中介紹的 Higham 和 Demmel 的著作。
    • 下文所述的 CSci 5304 課程把 Matrix Computations(第 4 版)列為首選主要參考書,尤其適用於涉及數值線性代數的研究。
    • 該課程授課教師評價 Trefethen 與 Bau 的書易讀且富洞見,但較不詳細、也較不完整。
  • 敘述緊湊。 四十講每講約八頁,推導較簡短,讀者需要熟悉複向量空間中的線性代數,因為本書預設在複數域上討論。
  • 迭代方法未必講完。 MAD 6406 的迭代方法單元標註「時間允許」才講,可能不會完整涵蓋;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,迭代方法排在最後並註明「時間允許」。
    • 這些標號是課程自訂的,未附講次或頁碼,請依主題對照手上版本的講名。
    • 課程另涵蓋正定系統與 Toeplitz 系統等內容,屬於課程主題,而非指定的本書閱讀。
  • 作為選讀參考書:CSci 5304《Computational Aspects of Matrix Theory》,2025 年秋季,課程大綱置於明尼蘇達大學網站(課程大綱 PDF)。
    • 未指定任何章節或頁數。
    • 本書列於 Matrix Computations 之後。
    • 作為選讀輔助,可在課程講到 QR、奇異值分解、條件數與特徵值演算法時查閱相應講解。

版本說明

兩門課程引用的都是 1997 年的 SIAM 版本,未標示版次;CSci 5304 另註明為平裝本。本頁介紹的是 2022 年的 25 週年紀念版。若跟隨上述課程學習,請以授課教師指明的版本核對頁碼與章節,勿假定兩者一致。