我們該如何看待矩陣的乘法

2021-02-19 線性代數

在講矩陣的乘法之前,我們先來看線性方程組的幾何解釋,由此來引入矩陣乘法我們該如何看待以及如何運算。

線性方程組意味著約束,方程越多,約束條件一般來說越多,舉個例子,一個簡單的線性方程組:

我們應該怎麼來看待這個線性方程組?兩個角度,一個是橫著看,這兩行在幾何上看分別是兩條直線,我們在線性代數中有一類題是討論一個線性方程組有唯一解,有無窮多解和無解的情況,在幾何上來看的話,兩條直線重合,就是有無窮多解,相交就是有唯一解,而平行就是無解。

而第二個角度是從列上看待,我希望大家以後更習慣也更喜歡從列上來看待線性方程組,列上的本質實際上是

怎麼來理解這個線性方程組呢,也就是一個向量(1,1)和一個向量(1,-1)經過某種程度的線性組合,得到向量(1,1),先解釋一下線性組合,簡單來說有幾個向量,分別乘以幾個常數,這個表達式就叫做這幾個向量的線性組合。上圖中就是一個典型的線性組合,兩個向量,一個乘以X,一個乘以Y,然後相加。上面所說的某種程度的意思就是x,y的大小。

 我們想一下,在什麼情況下,這個方程組有唯一解(兩向量相交,為什麼?因為兩向量相交,其線性組合可以布滿整個二維平面,希望大家可以理解這句話),有無窮多解?(兩向量平行,第三個要得到的向量也與之平行),無解(兩向量平行,第三個要得到的向量與之不平行,即與前面兩向量方向不一致)。

 前面講了這麼多,就是為了接下來引入矩陣的乘法,書上的矩陣乘法大家需要掌握,這裡為一句話帶過:C=AB,C的第i行第j列是A的第i行分別與B的第j列相乘後相加的結果)。而接下來我們要看待矩陣的角度是這樣引入的,將上次課所講的線性方程組寫出矩陣相乘的形式(初學者對這個寫法可能一下子接受不了,大家需要好好領會):

  

我們上面寫的看待線性方程組的角度:


也就是說

這就是我們所要理解並且要掌握的矩陣乘法:

C=AB,C的各列為A中各列的線性組合(C中各行為B中各行的線性組合),希望大家能更喜歡也更習慣從列去看,因為考研出題一般是從列來出題的。也就是說C的第一列只與A和B的第一列有關,C的第二列只與A和B的第二列有關,下面舉一個實際的例子,我們來看上述矩陣乘法的角度在我們實際計算中給我們帶來什麼好處(其實有了這個角度很多抽象的問題我們看起來都很直觀了):
這個矩陣乘法怎麼求呢:我們當然可以按照書上的觀點一個一個元素的求,如果按照我們上述觀點呢,新矩陣的第一列:


新矩陣的第二列:
新矩陣的第三列:
新矩陣的第四列:

那麼我們所求的矩陣結果就是


理解矩陣的乘法是學好線代重要一步。

相關焦點

  • 矩陣乘法計算器
    矩陣乘法計算器 學習辦公 大小: 791KB
  • Adreno GPU 矩陣乘法——第1講:OpenCL優化
    在要相乘的矩陣中,例如A和B,每個元素對結果矩陣C的不同分量貢獻多次。因此,為Adreno優化MM算法需要我們利用GPU內存子系統。關於GPU 上的矩陣乘法存在哪些困難?然後,我們強制執行內存運算指令,使得矩陣乘法得到的點積在整個tile中部分完成,之後我們將讀取指針移動到tile邊界之外。我們的算法確認兩個層次的平鋪:micro-tile和macro-tile。下圖表示如何映射矩陣,使矩陣A中的分量乘以矩陣B中的分量,得到矩陣C中的單點積:
  • 矩陣乘法的純Python實現 | 離開Python庫!!
    在《這篇文章》中,我們有簡單提到「矩陣乘法」的相關知識,如果你不記得了,可以複習一下這張圖片。想起來了沒?本篇文章將深入探討在沒有機器學習庫的情況下如何從零實現矩陣乘法!你有沒有想過在沒有任何複雜的機器學習庫的情況下處理機器學習問題?
  • 矩陣乘法的簡單應用-信息檢索
    矩陣乘法是線性代數中最基本的運算,但其運算法則理解起來具有一定的困難,更多的解釋是基於線性方程組的矩陣形式的角度。這僅僅是矩陣乘法的一個最基本的應用,實際上它在實際應用中具有更多更重要的影響。矩陣乘法在信息檢索中的應用隨著信息化的發展,網絡或圖書館中的信息越來越多,信息提取問題,即如何快速有效的從眾多信息中搜索自己所關心的內容,就變得越來越重要,與這個問題緊密相關的就是矩陣理論與線性代數中相關知識,例如矩陣與向量乘法、向量的內積運算、矩陣特徵值問題等。
  • cuda入門:如何進行矩陣乘法優化
    所以我們的第二個 CUDA 程序,要做一個確實有(某些)實用價值的程序,也就是進行矩陣乘法。而且,這次我們會使用浮點數。  雖然矩陣乘法有點老套,不過因為它相當簡單,而且也可以用來介紹一些有關 CUDA 的有趣性質。  矩陣乘法  為了單純起見,我們這裡以方形的矩陣為例子。
  • 矩陣乘法的通俗理解
    今天先分享一下矩陣乘法的理解。一、問題引出 - 一道小學生應用題計算題一:小明今天要做飯,消耗2斤肉,1斤蔬菜。肉每斤20元,蔬菜每斤5元,則一共需多少花費?             解法: 20 X 2+ 5 X 1 = 45計算題二:小明第二天有另一種做飯的方法,需要消耗1斤肉,4斤蔬菜,那麼這兩種方法的花費各是多少呢?
  • ARM處理器NEON編程及優化技巧——矩陣乘法的實例
    接下來是由於SIMD指令的應用而導致剩下的若干個單元的處理,然後是用一個矩陣乘法的例子來說明用NEON來進行SIMD優化,最後關注如何用NEON來優化各種各樣的移位操作,左移或者右移以及雙向移位等。本節是一個用NEON優化矩陣乘法的實例。
  • 線性代數的第一堂課──矩陣乘法的定義
    1850年,英國數學家西爾維斯特(James Joseph Sylvester)將矩形陣列命名為「矩陣」 (matrix),但他並未定義矩陣乘法。這段歷史顯示矩陣乘法──矩陣理論中最重要的一個代數運算──絕對不是如數學課本所述那般理所當然,矩陣乘法定義隱含深層的意義,否則為何眾多優秀的數學家竟然看不出矩陣理當如此相乘。今天我們事後諸葛,已然明了矩陣代數之所以遲至十九世紀中葉才誕生的最主要原因在於人們一直無法確定矩陣的本質與功用究竟為何。
  • 線性代數入門——矩陣乘法的定義及其意義
    對於一些難度較大或對理解所學知識有幫助的「經典好題」,我們會詳細講解。閱讀更多「線性代數入門」系列文章,歡迎關注數學若只如初見!上一節中我們介紹了矩陣的加法和數乘運算,本節我們來介紹矩陣與矩陣的乘法運算,矩陣乘法在線性代數中非常重要,而且具有一些「奇怪」的性質,例如不滿足交換律等,我們在後面幾節中還會對矩陣乘法的相關內容做深入介紹。
  • 十個利用矩陣乘法解決的經典題目
    這裡我們不介紹其它有關矩陣的知識,只介紹矩陣乘法和相關性質。不要以為數學中的矩陣也是黑色屏幕上不斷變化的綠色字符。在數學中,一個矩陣說穿了就是一個二維數組。一個n行m列的矩陣可以乘以一個m行p列的矩陣,得到的結果是一個n行p列的矩陣,其中的第i行第j列位置上的數等於前一個矩陣第i行上的m個數與後一個矩陣第j列上的m個數對應相乘後所有m個乘積的和。
  • 考研數學矩陣乘法複習指導
    儘管矩陣乘法不滿足交換律。但是,矩陣乘法在多方面的成功應用,令人感到很愜意。         1.若A,B都是n階方陣,則|AB|=|A||B|。        我們知道,|A+B|難解。
  • 拋棄複雜的運算來理解「矩陣乘法」和「行列式」
    上一篇我們知道了,矩陣其實就是一個線性變換,矩陣的各列就是由原來的基向量變換而來。在此基礎上,假如我們把兩個矩陣放在一起,也就是說,讓兩個矩陣做乘法,它又有什麼含義呢?矩陣乘法我們還是先從矩陣和向量的乘法看起:矩陣乘以一個向量,得到一個新向量。如果我們把新向量再乘以一個矩陣呢?
  • blender python處理矩陣乘法變更符號
    如果對矩陣對象執行任何乘法,要注意一件事情,Python 的最新版本(當然還有包含Blender內置Python版本)為適當的矩陣乘法實現了新的表示方法。用blender腳本編寫器編寫任何矩陣乘法,乘法* 語法仍然有效,這個只能作為 2.8 中嘗試普通乘法,而不是 2.7 中的矩陣乘法。如果你用在矩陣乘法會報出有趣的錯誤,因為這並不一定會拋出一個錯誤,a * ba @ b想要支持 2.7 和 2.8 的相同矩陣乘法樣式?
  • 線性代數(2):矩陣運算之矩陣加法、乘法、除法
    下面就讓我們一起解決《線性代數》中令人頭痛的——矩陣的加法運算吧!前言:想要學會《線性代數》中的——矩陣的加法運算問題,我們這次的學習將按照下面的步驟進行:(1)       了解矩陣與線性方程的對應關係;(2)       了解矩陣的定義;(3)       特殊矩陣;(4)       矩陣加法運算規則;(5)       例題講解;2讓我們首先了解矩陣與線性方程的對應關係
  • 名家指導:考研數學矩陣乘法複習指導
    儘管矩陣乘法不滿足交換律。但是,矩陣乘法在多方面的成功應用,令人感到很愜意。   1.若A,B都是n階方陣,則|AB|=|A||B|。   我們知道,|A+B|難解。相比之下,乘積算法複雜得多,而積矩陣行列式公式卻如此簡明,自然顯示了矩陣乘法之成功。
  • 斐波那契數列與矩陣乘法的聯繫以及其python實現
    運行結果可見下圖可以看到 feb(2)feb(1) 被多次調用如何能避免這個問題呢?避免重複 的關鍵在於 要實現檢查即將進行的計算是否已經經歷過。有同學會想到使用列表,每計算一個feb(n),就將結果存儲到列表的下標n 處。
  • 一直不解,為什麼如此定義矩陣的乘法,為什麼這樣一種怪異的乘法規則卻能夠在實踐中發揮如此巨大的功效?
    難道在矩陣乘法那看上去莫名其妙的規則下面,包含著世界的某些本質規律?如果是的話,這些本質規律是什麼?矩陣的乘法的規則並不是莫名其妙的,而是有它的意義的。學過矩陣的同學應該知道線性代數這門課,這門課程同時還講到了線性空間等相關知識。在線性空間下理解,矩陣其實就是一個線性映射,而矩陣的乘積就是線性映射的複合。
  • 道阻且長_再探矩陣乘法優化
    如果我們一次計算C矩陣的4個元素,那麼我們可以每次遍歷A矩陣的一行和B矩陣的四列,代碼實現大概是這個樣子:void MY_MMult2( int m, int n, int k, float *a, int lda,                                     float *b, int ldb,
  • 預告:OpenBLAS項目與矩陣乘法優化|AI研習社
    提起矩陣計算,學過《高等數學》的人可能都聽過,但若不是這個領域的研究者,恐怕也只停在「聽過」的程度。在矩陣計算領域,開源項目OpenBLAS影響巨大,除IBM、華為等巨頭公司在使用外,還吸引了全球的研究院校、開發者們關注。
  • 線性代數學習之矩陣不只是m*n個數字
    實現屬於我們自己的矩陣類:跟向量的學習一樣,接下來則編程實現一下自己的矩陣類,先新建一個文件:把矩陣看作是對系統的描述:在學習了矩陣的基本運算之後,接下來則該跟向量一樣學習一下矩陣x矩陣了,不過在學習它之前,先來從另一個視角來審視下矩陣~~之前我們的例子中矩陣是一個數據表格: