程序員的自我修養之數學基礎03:矩陣的意義和運算

什麼是矩陣?

按照課本上的定義:

矩陣就是由m行n列數放在一起組成的數學對象。

或者更簡單一點:

把數列排成矩形,就是矩陣。

對於一個n行m列的矩陣,我們把它叫做一個n×m矩陣。當矩陣的行數和列數相同時,我們稱這樣的矩陣爲正方矩陣,根據其規模將其稱爲2階矩陣、3階矩陣等。通常,用大寫字母表示矩陣,用小寫字母表示矩陣內的元素。

矩陣的運算-加法和數乘

矩陣的加法數量乘法的方法和向量基本上是一樣的,如下所示(來源:《程序員的數學3 線性代數》)。
在這裏插入圖片描述
下面,我們引入非常重要的運算方法:矩陣與向量的乘積
在這裏插入圖片描述
其實,矩陣與向量的乘積,可以想成是把向量“放平”,然後分別於矩陣中每一行對應的元素相乘並求和。但是在計算過程中需要注意以下幾點:

  • 矩陣與向量的乘積是向量
  • 矩陣與向量相乘時,矩陣的列數與向量的維數要相等

對矩陣的進一步理解——映射

矩陣和向量的乘積,其實表示了一種“平直”的關係,也就是說,各個數據之間是不相互影響的,只是單純的各種因素的加和。在這裏,我們先說一下“線性映射”的概念。

一般來說,滿足 f(x+y)=f(x)+f(y) 以及 f(cx)=cf(x) 的映射f,我們稱其爲線性映射(其中,x, y 爲維數相同的向量,c爲常數)。

我們可以看到,將n維向量 x 乘以m×n矩陣 A ,得到的結果是一個m維向量(即f(x)),仍然滿足矩陣的加法和數乘規律,也就是說,通過矩陣A,我們確定了一個向量到另一個向量的映射,所以說“矩陣就是用座標來表示的線性映射”。下圖可以直觀的表示這種映射關係(來源:《程序員的數學3 線性代數》):
在這裏插入圖片描述
因爲向量可以作爲一個點的“位置座標”,你們在這個理解之上,我們可以說,矩陣,描述了一個“點”到另一個"點"的移動(當然,向量可以是很高維的,大多時候並不是代表一個點)。那麼,更廣泛一點來說,m×n矩陣 A ,實際上表示的是從 n 維空間到 m 維空間的映射

在我驚訝於“從 n 維空間到 m 維空間的映射”這句話的時候,我又發現了另一個很有趣味的解釋——“矩陣是線性空間裏的變換的描述”,在這裏和大家一起分享一下:

向量:向量描述對象(在選定基之後)
矩陣:矩陣描述對象的運動(在選定基之後)
是某個對象發生要求的運動,就是用描述此運動的矩陣乘以代表該對象的向量:運動×對象=矩陣×向量

矩陣的乘積

在理解了矩陣和向量的乘積之後,我們來看矩陣和矩陣的乘積(來源:《程序員的數學3 線性代數》):
在這裏插入圖片描述
如果沒有看懂的話,可以看這個:
在這裏插入圖片描述
其實,就相當於把後一個矩陣拆成 n 個向量,分別求積再組合(我自己想的,可能不大嚴謹)。注意,在矩陣相乘的時候,一定要保證 B 的寬度(列數)和 A 的高度(行數)相等。

我們剛剛說,矩陣是映射,那矩陣與矩陣的乘積是什麼意思呢?其實,我們可以簡單的將其理解爲“映射的合成”,將右邊矩陣按列分割開來看做若干個列向量,通過左邊矩陣的“映射”轉換後再組合成爲一個新的矩陣,具體的意義之後結合具體的矩陣變換具體分析吧,OK,Bye~
在這裏插入圖片描述

參考:
https://www.cnblogs.com/fengff/p/9758272.html
https://blog.csdn.net/u012513525/article/details/78077151(強烈推薦)
《程序員的數學3 線性代數》(強烈推薦)
https://blog.csdn.net/c991262331/article/details/79893108

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章