- 程序員數學:用Python學透線性代數和微積分
- (美)保羅·奧蘭德
- 863字
- 2022-01-10 14:44:08
第一部分 向量和圖形
第一部分將深入研究稱為線性代數的數學分支。線性代數能夠在非常高的層次上處理多維度的計算,這里的“維度”是一個幾何概念,當我說“正方形是二維的”或者“立方體是三維的”時,你應該能直觀地了解我的意思。線性代數讓我們把關于維度的幾何概念變成可以具體計算的東西。
線性代數中最基本的概念是向量(vector),可以把它看作某個多維空間中的一個數據點。舉個例子,你在高中學習代數和幾何時一定聽說過二維坐標平面。正如第2章將介紹的那樣,二維空間中的向量對應于平面上的點,這些點可以用形式為的有序數對來表示。第3章將考慮三維空間,其中的向量(點)可以用形式為
的三元數對來表示。基于這兩種情況,我們可以使用向量的集合來定義幾何形狀,而這些形狀又可以被轉換成有趣的圖形。
線性代數中的另一個關鍵概念是線性變換(linear transformation),將在第4章中介紹。線性變換是一種函數,將一個向量作為輸入并返回一個向量作為輸出,同時保持所操作向量(在特殊意義上)的幾何形狀。例如,如果一個向量(點)的集合位于二維平面的一條直線上,在應用線性變換后,它們仍然會位于一條直線上。第5章會介紹矩陣(matrix),這是一種可以表示線性變換的矩形數組。我們對線性變換的最終應用是,在一個Python程序中,隨著時間的推移將其應用到圖形之上,從而得到三維動畫。
雖然只能對二維和三維空間中的向量和線性變換進行可視化處理,但我們其實可以定義任意維數的向量。在維空間中,向量是一個包含
個元素的元組,形式為
。第6章會對二維和三維空間的概念進行逆向研究,得到向量空間(vector space)的一般概念,并更具體地定義維度的概念。值得注意的是,由像素構成的數字圖像可以被看作高維向量空間中的向量,可以通過線性變換來進行圖像處理。
最后,第7章會研究線性代數中最普遍的計算工具:解線性方程組(system of linear equations)。你可能還記得高中代數課上的內容:兩個線性方程的解和
可以告訴我們兩條直線在平面上的交點的位置。一般來說,線性方程能幫助我們求得線、平面或高維空間在向量空間中的相交位置。通過使用Python處理線性方程組,我們將構建視頻游戲引擎的第一個版本。
- LaTeX Cookbook
- Learn React with TypeScript 3
- 從0到1:Python數據分析
- 一塊面包板玩轉Arduino編程
- Deep Learning with R Cookbook
- SignalR:Real-time Application Development(Second Edition)
- Anaconda數據科學實戰
- Learning Ionic(Second Edition)
- 樹莓派開發從零開始學:超好玩的智能小硬件制作書
- Learning Scrapy
- Getting Started with Hazelcast
- iOS應用逆向工程:分析與實戰
- Mastering Python for Data Science
- C++程序設計習題與實驗指導
- Learning VMware vCloud Air