線性代數總結記錄一.關於矩陣的乘法


一.前言

  這是我准備做的線性代數系列正式開始的第一章節,但是我不准備從行列式或者方程開始說起.在我的理解框架中,矩陣是核心內容,行列式和方程等內容都是工具或者待解決的一些問題.因此,我打算直接從矩陣展開自己的理解,在使用到行列式或者和方程有聯系時再切入這些相關內容,因此我直接從矩陣的核心運算-乘法開始,記錄一下我理解的矩陣乘法究竟在計算什么.

二.我理解的矩陣是什么

  數學的學習過程如果搞不清楚自己學習的公式在計算什么,就只能痛苦地背公式,然后在一段時間后忘記;反之,如果直到這個東西在計算什么,則學習起來容易得多,不需要刻意地背公式,梳理清楚了其中的邏輯關系,自己做幾遍例題就記住了公式,甚至能夠在應用中舉一反三.因此我首先梳理一下自己對矩陣的理解.其實一言以蔽之,矩陣就是一堆向量的組合.向量在中學階段多以在一行中按順序羅列坐標的形式出現,這種稱為行向量記法;如果在一列中按順序羅列向量的所有坐標,就是列向量.下面分別是行向量和列向量的三維空間坐標系中的x軸單位向量:

  接下來我們看到下面的稱為單位陣的兩個矩陣:

  這兩個矩陣我們都可以看做是一堆列向量的組合(注意:這里也可以看作是橫向量的組合,但是要知道將矩陣看做列向量的組合矩陣乘法是從右到左進行的,而將矩陣看做橫向量的組合矩陣乘法是從左到右進行的,大部分的線性代數或高等代數書籍中也將矩陣看做列向量的組合,我也采取這種方式),這些列向量就分別是平面直角坐標系和空間直角坐標系中的各個軸的單位向量.

三.矩陣乘法

  在矩陣的基礎運算中,應用最頻繁的運算就是矩陣的乘法運算,因此這里梳理一下我理解的這個運算的意義.

1.向量左乘方陣

  我們現在有一個常見的空間變換:將平面直角坐標系繞原點旋轉90°.我們知道,在旋轉的過程中,平面內的所有向量會跟隨平面一同旋轉.那么現在假使有一個向量(3,2),它跟隨空間旋轉后的向量如何計算呢?中學時可能我們會采用畫圖的方式去找旋轉后的向量,那么如果是平面內的任意向量(x,y)呢,有沒有計算的通用方法呢?

  以(3,2)為例,現在我們提供如下的方法進行計算:我們知道向量(3,2)可以將起始點放在原點(向量有方向和長度,沒有位置),那么它旋轉后的向量起始點仍然在原點,接下來這個向量就可以理解為從原點出發,沿x軸移動3個單位,沿y軸移動兩個單位的一個移動,或者說向量分解為3*(1,0)+2*(0,1),其中(1,0)和(0,1)是旋轉前坐標軸的單位向量(或稱為基向量).我們可以這樣理解,旋轉的過程中,整個平面內的向量都會跟隨平面作旋轉,因此基向量也會跟隨平面作旋轉,且很容易理解旋轉前后(3,2)向量和基向量的關系是不變的,也就是說旋轉前(3,2)向量可以分解為3倍旋轉前x軸基向量的乘積和2倍旋轉前y軸基向量的乘積的和,旋轉后的(3,2)向量同樣可以分解為3倍旋轉后x軸基向量的乘積和2倍旋轉后y軸基向量的乘積的和.旋轉后的基向量分別是(0,1)和(-1,0),因此(3,2)向量旋轉后的向量就是3*(0,1)+2*(-1,0).

  這個思路可以用於求解平面直角坐標系中的很多變換,我們將其一般化.如果在平面空間變換的過程中,兩個基向量經過一個明確的變換變換分別變換為(m,n)和(p,q),那么原來空間中的任意向量(x,y),它一定可以分解為x*(1,0)+y*(0,1),那么它經過這樣的空間變換后的向量一定可以分解為x*(m,n)+y*(p,q),也就是向量(x*m+y*p,x*n+y*q).

  下面我用矩陣的乘法將(3,2)向量逆時針旋轉90°的過程和一般二維矩陣變換的過程描述出來:

  總結:可以很容易看出,在空間變換中,兩個基向量經過變換后的向量按照順序以列向量方式羅列出來就是我們的2*2矩陣,如逆時針旋轉90°后,(1,0)和(0,1)兩個基向量分別變換到了(0,1)和(-1,0)的位置,將這兩個向量以列向量的形式寫出來放到一起就得到了如上所示的2*2矩陣.向量左乘矩陣的過程,就是對向量也應用矩陣對應的空間變換,求得的結果就是向量應用空間變換后的向量坐標.因此,我們推廣一下,就很容易理解單位矩陣其實就是沒有對空間應用任何變換(因為變換前后的基向量坐標一致).同樣地,二維平面直角坐標系的情形可以推廣到三維空間直角坐標系甚至更高維度的坐標系,在三維空間直角坐標系中,矩陣乘法變成了3維向量左乘3*3矩陣.

2.線性變換

  不知道你是否曾經對線性代數這個名詞有疑惑?為什么這門研究矩陣的課程叫做線性代數?線性又是什么意思呢?我理解的線性就是指線性變換,剛才說的旋轉就是一種線性變換.試想在旋轉前的空間中有一條直線,在旋轉后你會發現它仍然是直線,因此旋轉這種變換就可以稱為是線性變換.具體來說,線性變換有3種,分別是旋轉\拉伸和投影,旋轉和拉伸這兩種線性變換不涉及空間維度的改變,而投影可以是在維度升高或者降低時出現的一種變換(例如將二維平面放到三維空間中並將整個平面或傾斜或翻轉,這個變換就是一種低維向高維的投影.又例如在三維空間中選擇xy平面,將所有空間中的向量垂直投影到這個平面上,這就是高維向地位的投影).

  旋轉對應的線性變換矩陣怎么構造我們已經見過了,其實拉伸和投影的構造方法相同,投影我們在接下來的小節中會涉及,這里以二維空間坐標系的情況舉例說明一下拉伸的情況,其他維度的空間直角坐標系同理.

  試想一種簡單的拉伸情況,將x軸拉伸為原來的m倍,將y軸拉伸為原來的q倍,這時我們假使有一個向量(x,y),在經過拉伸變換后的坐標為(m*x,q*y),是不是比較熟悉,和剛才的旋轉的情況幾乎相同.我們同樣可以使用相同的思路去得到矩陣:x軸基向量在拉伸后變為了(m,0),而y軸基向量在拉伸后變為了(0,q),這時就構造了我們的二維拉伸矩陣(如下),二維向量左乘這個矩陣后就可以得到拉伸后的向量坐標:

3.方陣和方陣的乘法

  我們說線性變換有旋轉\拉伸和投影的情形,同時我們也以二維空間為例說明了矩陣如何描述和快速計算二維空間中的拉伸和旋轉的情形.但是如果現在有一種變換既要拉伸又要旋轉,如先將橫坐標拉伸為原來的兩倍,縱坐標縮短為原來的一半,再將拉伸后的向量繞原點旋轉180°,那么得到的向量坐標每次都需要連續依次左乘兩個對應的矩陣嗎?能不能找到一個矩陣讓我們左乘一次就一步到位呢?也就是將兩步線性變換矩陣通過某種運算結合起來?相信你已經能想到了,這就是方陣和方陣的乘法.

  我們看到下面一個矩陣乘法:

  我們嘗試按照以前的方式去拆分它:向量(x,y)可以用基坐標表示為x*(1,0)+y*(0,1),當我們第一次應用了矩陣變換后,基坐標理論上變成了(m0,n0)和(p0,q0),那么得到的結果向量就應該是x*(m0,n0)+y*(p0,q0),接下來我們應用下一組矩陣變換,得到了一組新的基坐標,假設為(m,n)和(p,q),那么我們的最終結果向量就是x*(m,n)+y*(p,q).那么在這個過程中,第二組基坐標(m,n)是不是可以看做是由第一組基坐標(m0,n0)經過第二次線性變換得到的,第二組(p,q)是不是可以看做是由第一組基坐標(p0,q0)應用第二次線性變換得到的呢?答案當前是肯定的.也就是說第一組基坐標分別左乘了第二次線性變換的矩陣得到了第二組基坐標,那么這兩組基坐標運算既然過程是相同的,我們完全可以寫到一起,如下面公式所示:

  總結:從上面過程我們可以看到,方陣和方陣的乘法其實是基坐標的變化,當一個向量按順序左乘這些方陣和一次性乘上這些方陣的結果對應的變換后的坐標理論上是相同的.方陣和方陣的乘法理論上是兩種線性變換的復合(類似於復合函數).但是值得注意的是,和復合函數復合順序改變最終的結果可能改變類似,矩陣乘法的順序改變其結果也不一定相同,也就是說,矩陣乘法是沒有交換律的,但是矩陣乘法是有結合律的.

4.非方陣和非方陣的乘法

  之前我們已經舉例說明了方陣可以描述相應維度線性空間的旋轉變換和拉伸變換,那么投影變換又是怎樣的呢?我們可以以容易理解的三維空間向二維空間的投影為例說明:

  試想下面一種情形:將三維空間中的任意向量向它所在的xy平面投影,任意一個三維空間的向量都可以得到一個新的向量,而且很容易得到這個新的向量的z軸坐標一定為0.接下來我們可以按照原來的思路構造一個矩陣:

  如何解釋這個矩陣呢?可以看到矩陣是由三個列向量組成的,分別是(1,0),(0,1),(0,0),我們可以發現還是按照原來向量左乘方陣的思路理解,這三個向量恰好就是這次投影中原來三維空間坐標系的基向量投影在xy平面上得到,而且結果是二維向量,代表原來的三維向量經過投影變成了二維向量.我們這里描述了向量投影的結果,當一個三維列向量左乘這個向量時,就可以得到這個三維列向量投影的結果向量.這里的思路其實和之前向量左乘方陣的理解思路相同,就不再贅述了.

  總結一下:非方陣對應的線性變換一定是維度發生了變化的(可以是升維,也可以是降維),這種維度發生變化的線性變換一定包含了投影,當然,也可以和旋轉以及拉伸復合變換(左乘相應方陣和右乘相應方陣).怎么看維度的變換呢?其實很簡單,看矩陣是由幾個幾維列向量組成的就可以了.如果矩陣是由n個m維向量組成(mXn矩陣),那么應用線性變換前空間有n個基向量,是n維空間,應用線性變換后每個基向量有m個坐標,也相應地有m個基坐標,是m維向量,所以mXn矩陣對應着n維空間的向量投影到m維空間中變為m維空間的向量(可能同時有旋轉或拉伸).

四.關於矩陣乘法

  矩陣是由一系列向量組成的,這些向量就是在空間應用矩陣對應線性空間變換過程中,原來的基向量跟隨空間變換得到的新的基向量,而在空間進行線性變換的過程中所有空間中的向量和基向量的關系保持不變.當向量左乘矩陣后得到的向量就是該向量應用矩陣對應線性變換后得到的新向量,這種線性變換可以是旋轉\拉伸和投影(投影會產生維度變化).矩陣和矩陣的乘法就是兩個矩陣對應的線性空間變換按照從右到左的順序復合.同時,我們在視圖梳理清楚矩陣乘法運算的意義的過程中也同時解釋了矩陣乘法為什么是左行乘右列,為什么沒有交換律卻有結合律,為什么矩陣或向量乘上單位陣得到的結果不變,單位陣的意義是什么等問題.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM