跳轉到

用 NumPy 學線性代數:把矩陣變成看得見的幾何#

本書是一本 用 NumPy 親手運算與畫圖來學線性代數 的書。

線性代數是所有現代科技的地基 —— 電腦繪圖、機器學習、量子計算、Google 搜尋,底層都是矩陣運算。但傳統課程常陷在「手算行列式」的泥沼,學生算了一學期卻不明白矩陣 到底是什麼。

本書的答案:線性代數是幾何。矩陣是空間的變換、特徵向量是變換下不動的方向、行列式是面積(體積)的縮放比。每個概念都用 NumPy 算一遍、用 Matplotlib 畫出來 —— 讓 \(A\mathbf{v}\) 不再是符號操作,而是你 親眼看見 向量被拉伸旋轉的過程。

路線:向量與矩陣 → 解方程組 → 幾何變換 → 特徵值分解 → 奇異值分解(SVD)→ 應用(影像壓縮、PageRank、PCA、最小平方)。讀完本書,你將同時掌握線性代數的 幾何直覺 與 NumPy 實作能力 —— 這是機器學習與資料科學的入場券。

本書特色#

  • 幾何優先:每個代數操作都配圖(2D 向量場、變換網格、特徵向量可視化),先看見再計算
  • NumPy 為主:全書用 NumPy/SciPy 實作,順手建立陣列思維(broadcasting、向量化)
  • 可視化工具箱:第 1 章就建立一個自己的「向量繪圖函式庫」,之後每章重複使用
  • 應用驅動:每章末尾有真實應用(影像壓縮、Google PageRank、推薦系統、PCA)
  • 零背景入門:只需高中數學與一點 Python,第一章把 NumPy 基礎補齊

目錄#

閱讀方式#

  • 看圖算矩陣:每個概念先畫圖建立幾何直覺,再用 NumPy 驗證
  • 工具箱常伴:1.4 建立的繪圖函式庫貫穿全書,建議存成 linalg_viz.py 重複 import
  • 章節依賴:第 1–6 章是線性代數主線,第 7 章是高潮(SVD),第 8–10 章是應用與展望
  • 趕時間的讀者:2.1 → 2.4 → 5.1 → 6.3 → 7 這條主軸可快速抵達 SVD

需要的背景知識#

  • 高中數學(三角函數會在第 2 章旋轉矩陣用到,附複習)
  • 一點 Python 基礎;第 1 章完整補齊 NumPy
  • 不需任何線性代數背景 —— 這正是本書要教的

與本系列其他書的關係#

  • 《用 SymPy 學數學》第 6 章:用 SymPy 做 精確符號 矩陣運算;本書用 NumPy 做 數值與幾何 線性代數
  • 《用 Python 學機率統計》:特徵向量與馬可夫鏈(5.4)在統計中的延伸
  • 《用 Lean 學數學》:如果你想 證明 線性代數定理(如譜定理),請往那邊走