
第六章
SciPy 中的線性代數
沒人可以告訴你
Matrix
1
是什麼,你必須自己去看。
—莫菲斯,
駭客任務
和第 4 章處理 FFT 時一樣,這一章我們要介紹的是一個很讚的方法。我們要說明一個
SciPy 中用來作線性代數的套件,而線性代數在大多科學計算中都是重要基礎。
線性代數基礎概念
在一本程式書中學習線性代數是有點怪,所以我們假設讀者已有線性代數的觀念,最起
碼,讀者應該知道線性代數包括向量(有序的數字組合)以及將它們乘上矩陣(一組向
量)後可以進行轉換。如果你聽完之後覺得不知道這是在說什麼鬼,那建議你在閱讀這
一章之前先讀一本介紹線性代數的教科書。我們推薦 Gil Strang 的 Linear Albebra and Its
Application(Pearson,1994 年出版)。雖然有個概念應該就可以了,不過我們仍希望傳
達線性代數有能讓工作變簡單的能力!
順便說一下,為了要符合線性代數的習慣,我們將捨棄 Python 的符號約定,在 Python
中變數名稱通常以小寫字母作為開頭,然而,在線性代數中,矩陣是用大寫字母表示,
而向量和純量是以小寫表示。由於我們接下來要處理很多矩陣與向量,所以遵守線性代
數的習慣比較容易看,因此接下來的內容中,表示矩陣的變數將以大寫開頭,而向量和
數字向以小寫開頭:
1 譯註:Matrix 為矩陣之意,電影《駭客任務》中譯為「母體」。