索引 / 001 ZH-TW
Numerical Linear Algebra(數值線性代數) cover

數學

數學

Numerical Linear Algebra(數值線性代數)

Lloyd N. Trefethen; David Bau III

英文原名: Numerical Linear Algebra

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

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

難度等級
高級
學術層次
研究所
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 分解是貫穿最小二乘、特徵值、奇異值和迭代方法的主線。
  • 條件與穩定性佔有完整一部分。 在分析任何解方程組的演算法之前,先用八講處理這些主題,後面各部分的穩定性分析都依賴它們。
  • 結構便於使用。 短小的講義配有習題,適合逐講授課,六部分的佈局也讓人容易看出哪些講屬於一組。

侷限

  • 有意不做成參考書。 作者說明本書無意重複百科全書式的 Golub 與 Van Loan 的著作;它按一個學期的容量編寫,作者期望讀者為獲得更多細節和更多主題而查閱 Golub 與 Van Loan 的書,以及註釋中介紹的 Higham 和 Demmel 的著作。
  • 敘述緊湊。 四十講每講約八頁,推導較簡短,讀者需要熟悉復向量空間中的線性代數,因為本書預設在複數域上討論。

在課程中的定位

在數值分析課程中,這是專講線性代數的教材。它並不取代一般的數值分析教材,而是沿著一條主線挖得更深。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 提供這些書中所呼叫例程背後的幾何與穩定性理解。

如何使用本書

本書適合應用數學、科學計算和工程領域的研究生一年級學生和高年級本科生,也適合使用矩陣演算法並想知道其原理的讀者。主要的先修要求是一門紮實的本科線性代數課程,若有 MATLAB、Python 或 Julia 的程式設計經驗,對計算類習題會有幫助。

一個實用的讀法:

  • 核心: 按順序讀第一至第三部分。第 1–5 講的奇異值分解、第 6–11 講的 QR 以及第 12–15 講的條件與穩定性,承載了本書其餘部分所假定的大部分概念。
  • 接著: 讀第五部分(特徵值)和第六部分(迭代方法);熟悉奇異值分解、QR 和穩定性之後,二者都可以作為獨立單元閱讀。如果眼前需要的是 Gauss 消去法,第四部分可以提前讀。
  • 同時: 隨著內容出現逐個實現演算法,做每講的習題,並閱讀註釋以瞭解來源和延伸閱讀。對於四十講之外的主題,手邊備一本篇幅更大的參考書。