多數高中生學習矩陣和矩陣乘法,但是他們往往不知道爲什麼矩陣乘法是這樣工作的。
添加矩陣很簡單: 只需添加相應的條目。 然而,矩陣乘法並不是這樣工作的,對於一個不理解矩陣背後理論的人來說,這種矩陣相乘的方法可能看起來非常不自然和奇怪。
爲了真正理解矩陣,我們把它們看作是更大圖景的一部分。 矩陣表示空間之間的函數,稱爲向量空間,也不是任何函數,而是線性函數。 這實際上就是線性代數關注矩陣的原因。
關於矩陣的兩個基本事實是: 每個矩陣表示一個線性函數,每個線性函數表示一個矩陣。
因此,實際上在矩陣和線性函數之間存在雙射。 我們將說明,乘法矩陣對應於對它們所表示的函數進行合成。接下來,我們將研究矩陣有什麼好處,以及爲什麼線性代數首先興起。
最有可能的是,如果你在高中學過代數,你會看到下面這些東西:
你的高中代數老師可能告訴你這是一個“矩陣” 然後你學習瞭如何用矩陣做事情。 例如,你可以相加兩個矩陣,操作相當直觀:
你也可以減去矩陣,它的工作原理類似。 你可以用一個數字乘以一個矩陣:
然後,當你學習如何乘法矩陣時,一切似乎都錯了:
也就是說,要找到乘積的第 i 行, j 列中的條目,你看第一個矩陣的第i行,第二個矩陣的第 j列,你把它們的相應數字相乘,然後你把結果加起來,得到那個位置的條目。
在上面的例子中,第一行和第二列的條目結果是 4,因爲第一個矩陣的第一行是,第二個矩陣的第二列是。 此外,這意味着矩陣乘法甚至不是交換的! 如果我們按照上面的乘法順序計算,那我們可以計算如下另外一個矩陣相乘進行學習,例如
爲什麼矩陣乘法不像加法和減法那樣工作? 如果乘法是這樣運算的,那麼除法到底是怎麼運算的呢? 這篇文章的目的就是回答這些問題。
爲理解矩陣乘法爲什麼是這樣工作的,有必要理解矩陣實際上是什麼。 但是在我們開始之前,讓我們簡單的看一下爲什麼我們首先關心矩陣。
矩陣最基本的應用是求解線性方程組。
一個線性方程是所有變量單獨出現而沒有冪的方程; 它們不會相乘或相乘,也沒有有趣的函數。 線性方程組的一個例子是
這個系統的解是。 這樣的方程式看似簡單,但在生活中卻很容易出現。
例如,假設有兩個朋友 舒克 和 貝塔 去買糖果。 舒克 買了2塊巧克力和1袋彩虹糖,花了3塊錢; 而 貝塔 買了4塊巧克力和3袋彩虹糖,花了7塊錢。 如果我們想知道巧克力棒和彩虹糖的價格,我們可以設定一塊巧克力棒的價格 x,設定一包彩虹糖的價格 y,變量滿足上述線性方程組。 因此我們可以很簡單的推斷出,一塊巧克力和一包彩虹糖都要1塊錢。 這個系統特別容易解決,因爲人們可以猜測和檢查的解決方案,但一般來說,用變量和方程式代來解決類似問題,會更困難些。 這就是矩陣的用武之地! 請注意,到了矩陣乘法,上面的線性方程組可以改寫爲
如果我們能找到一個矩陣 A,它是矩陣的逆矩陣,那麼如果我們將 A 同時乘在方程的兩邊,將左邊的 約掉,右邊增一個 A,我們就能得到
矩陣的應用遠遠超出了這個簡單的問題,但是現在我們將把它作爲我們的動機。 讓我們回到理解矩陣是什麼。 爲了理解矩陣,我們必須知道向量是什麼。 向量空間是一個具有特定的集合,而向量是向量空間的元素。 現在,爲了技術上的簡單性,我們將只使用實數上的向量空間,也稱爲實向量空間(real vector space)。 一個真正的向量空間,基本上就是你想構成的空間。 例如線是一維實向量空間,x-y 平面是二維實向量空間,三維空間是三維實向量空間,等等。
如果你在學校學過矢量,那麼你可能很熟悉把它們想象成箭頭,你可以把它們加在一起,乘以一個實數,等等,但是把矢量加在一起的結果是不同的。 這聽起來熟悉嗎? 應該是的。 這就是矩陣的工作原理,這不是巧合。
關於空間向量最重要的事實是它們總是有基的。 向量空間的基礎是一組向量,這樣空間中的任何向量都可以寫成這些向量的線性組合。 如果是你的基礎向量(即每個維度上的一段單位向量),那麼是一個線性組合,如果是實數,將也可以表示在這個向量空間中的任何一個向量。 一個具體的例子如下: x-y 平面的是基礎向量。 那麼任何向量的形式都可以寫成
所以我們確實有一個基礎! 這不是唯一可能的基礎。 事實上,在我們的基礎上的向量,甚至不必是垂直的! 例如,矢量構成了基礎,因爲我們可以寫
.
現在,線性映射只是兩個向量空間之間的一個函數,碰巧是線性的。 線性是一個非常好的性質。
如果下列兩個屬性成立,那麼函數就是線性的:
例如,該函數在實線限定上不是線性的,因爲而。現在,我們將迄今爲止所討論的所有想法聯繫在一起:矩陣,基礎和線性變換。即矩陣是線性變換的表示,你可以通過查看矩陣基礎的作用來弄清楚如何寫下矩陣。要理解第一個陳述,我們需要了解爲什麼第二個陳述是正確的。這個想法是任何向量都是基向量的線性組合,因此您只需要知道線性變換如何影響每個基向量。這是因爲,由於函數是線性的,如果我們有一個可以寫成線性組合的任意向量,那麼
請注意,值完全由值決定,因此我們需要完全定義線性變換所需的所有信息。矩陣在哪裏?那麼,一旦我們選擇線性變換的域和目標的基礎,矩陣的列將表示函數下的基矢量的圖像。例如,假設我們有一個映射到的線性變換,意味着它採用三維向量並吐出二維向量。現在只是一些抽象的功能,我們無法在紙上寫下來。讓我們爲我們的域(3空間)和目標(2空間或平面)選擇基礎。一個不錯的選擇是前者和對於後者。我們需要知道的是如何影響,目標的基礎是具體地寫下價值觀。我們函數的矩陣將是一個2乘3的矩陣,其中3列被索引,2行被索引。我們需要記下的就是價值觀。具體來說,讓我們說吧
然後相應的矩陣將是
這樣做的原因是矩陣乘法的設計使得如果將矩陣乘以向量乘以除-th條目中的1之外的全零,則結果只是矩陣的第-列。你可以自己檢查一下。因此我們知道矩陣在應用於(相乘)基矢量時可以正常工作。而且矩陣滿足相同的性質的線性變換,即和,其中的載體和爲實數。因此適用於所有向量,因此它是正確的表示。請注意,如果我們爲基向量選擇了不同的向量,則矩陣看起來會有所不同。因此,矩陣不是自然的,因爲它們取決於我們選擇的基礎。
現在,最後回答一開始提出的問題。爲什麼矩陣乘法按照它的方式工作?讓我們來看看我們在開始時使用的兩個矩陣:和。我們知道,它們分別對應於線性函數在飛機上,讓我們稱他們和分別。乘法矩陣對應於組成 它們的函數。因此,做與任何向量相同。爲了確定矩陣應該是什麼樣子,我們可以看到它如何影響基矢量。我們有
所以第一列應該是,和
所以第二列應該是。實際上,這與我們在開始時通過矩陣乘法得到的答案一致!雖然這根本不是一個嚴格的證明,因爲它只是一個例子,它捕捉了矩陣乘法就是這樣的原因。
現在我們已經瞭解矩陣乘法如何以及爲什麼按照它的方式工作,矩陣劃分如何工作?您可能熟悉功能反轉。 函數的逆是一個函數,使得所有函數。由於矩陣的乘法對應於函數的組合,所以只有矩陣的乘法逆是相應函數的組合逆纔有意義。這就是爲什麼不是所有矩陣都有乘法逆。有些函數沒有組合反轉!例如,線性函數映射到定義由不具有逆,因爲許多矢量被映射到相同的值(什麼會是???)。這對應於1×2矩陣沒有乘法逆的事實。因此,如果存在,則除以矩陣只是乘以。有用於計算矩陣求逆的算法,但我們會將其保存爲另一篇文章