1. 程式人生 > >矩陣外積與內積

矩陣外積與內積

一個行向量乘以一個列向量稱作向量的內積,又叫作點積,結果是一個數;

一個列向量乘以一個行向量稱作向量的外積,外積是一種特殊的克羅內克積,結果是一個矩陣,

假設和b分別是一個行向量和一個列向量,那麼內積、外積分別記作,為了討論方便,假設每個向量的長度為2。

注意:外積在不同的地方定義方式不太一樣,這裡不詳細討論

定義了內積和外積以後,我們討論矩陣的乘法。矩陣是由向量組成的,因此對矩陣不同角度的抽象,將矩陣乘法轉換為向量乘法,可以使我們從不同的角度去理解矩陣的乘法。首先我們可以對於一個矩陣A(假設行和列的大小都是2),我們可以即可以把它看作由兩個行向量組成的列向量,

,又可以看作是由兩個列向量組成的行量

,我們表示列向量,表示行向量

這樣矩陣A和矩陣B的乘積按照不同的角度就可以組成四種理解方式。

一、 A是由行向量組成的列向量,B是由列向量組成的行向量

                              

此時AB乘積變為了兩個新的向量的外積形式,按照外積定義,我們有

注意到這裡面每一個都是一個向量,因此就是一個內積,計算結果就是AB矩陣第i行第j列中的元素。因此,我們可以看到,矩陣乘積是兩個向量的外積,並且外積矩陣中的每一個元素是一個內積。這種方式是最直接的理解方式。

二、 A是由列向量組成的行向量,B也是由列向量組成的行向量

令C = AB, 我們考慮C的每一個列向量:

同理:

因此,矩陣C的每一個列向量,是A的列向量的一個線性組合,該線性組合中的係數是的各個元素。從這個角度說C的每一列都存在於A的列向量空間內。

三、 A是由行向量組成的列向量,B也是由行向量組成的列向量


類似於上面的情況,不過我們現在考慮C的每一個行向量:


同理:


因此,矩陣C的每一個行向量,是B的行向量的一個線性組合,該線性組合中的係數是的各個元素。從這個角度說C的每一個行向量都存在於B的行向量空間內。

四、 A是由列向量組成的行向量,B也是由行向量組成的列向量


此時AB乘積變為了兩個新的向量的內積形式。按照內積定義我們有:


注意到是一個外積形式,因為

是一個列向量,是一個行向量,因此C是由各個外積矩陣相加得到的。

根據以上分析,我們可以將第一種和第四種方式放到一起,第二種和第三种放到一起分別進行理解。第一種方式先將A抽象為列向量,將B抽象為行向量,從而將矩陣乘法變為了一種外積的形式,而外積矩陣中的每一個元素是一個行向量和一個列向量的內積。這種方式每次得到C的一個元素

第四種理解方式先將A抽象為行向量,將B抽象為列向量,從而將矩陣乘法變為了一種內積形式,內積的各個組成部分又是一個外積。這種方式每次不是得到C的一個元素,而是將C看作是多個矩陣相加組成的,每次計算得到一個加數矩陣。

第二種方式將矩陣A、B都抽象為行向量,行向量的每個組成是一個列向量,A乘以B的每一個列向量得到一個新的列向量,並且該列向量存在於A的列向量空間內,A乘以B相當於是對A進行了列變換。第三種方式則將A乘以B看作是對B進行了行變換。

如果想對一個矩陣進行行變換,可以左乘一個矩陣;相應的如果想對矩陣進行列變換,可以右乘一個矩陣。這種思想被應用到高斯消元的過程中。

最後我們總結一下矩陣C(C=AB)到底是什麼,C是一個矩陣,是一個多面孔的矩陣。它既是列向量組成的行向量,每個列向量是A的列空間的線性組合,又是行向量組成的列向量,每個行向量是B的行空間的線性組合;它是一個內積,內積的每個成分是一個外積,同時它又是一個外積,外積矩陣的每一個元素是一個內積。

向量是由n個實陣列成的一個n行1列(n*1)或一個1行n列(1*n)的有序陣列;

向量的點乘,也叫向量的內積、數量積,對兩個向量執行點乘運算,就是對這兩個向量對應位一一相乘之後求和的操作,點乘的結果是一個標量

點乘公式

對於向量a和向量b:

                                                           

a和b的點積公式為:

要求一維向量a和向量b的行列數相同。

點乘幾何意義

點乘的幾何意義是可以用來表徵或計算兩個向量之間的夾角,以及在b向量在a向量方向上的投影,有公式:


推導過程如下,首先看一下向量組成:


定義向量:


根據三角形餘弦定理有:


根據關係c=a-b(a、b、c均為向量)有:


即:


向量a,b的長度都是可以計算的已知量,從而有a和b間的夾角θ:


根據這個公式就可以計算向量a和向量b之間的夾角。從而就可以進一步判斷這兩個向量是否是同一方向,是否正交(也就是垂直)等方向關係,具體對應關係為:


     a·b>0    方向基本相同,夾角在0°到90°之間

     a·b=0    正交,相互垂直  

     a·b<0    方向基本相反,夾角在90°到180°之間 

叉乘公式

兩個向量的叉乘,又叫向量積、外積、叉積,叉乘的運算結果是一個向量而不是一個標量。並且兩個向量的叉積與這兩個向量組成的座標平面垂直。

對於向量a和向量b:


a和b的叉乘公式為:


其中:


根據i、j、k間關係,有:

叉乘幾何意義

在三維幾何中,向量a和向量b的叉乘結果是一個向量,更為熟知的叫法是法向量,該向量垂直於a和b向量構成的平面。

在3D影象學中,叉乘的概念非常有用,可以通過兩個向量的叉乘,生成第三個垂直於a,b的法向量,從而構建X、Y、Z座標系。如下圖所示: 

在二維空間中,叉乘還有另外一個幾何意義就是:aXb等於由向量a和向量b構成的平行四邊形的面積。


相關推薦

矩陣

一個行向量乘以一個列向量稱作向量的內積,又叫作點積,結果是一個數; 一個列向量乘以一個行向量稱作向量的外積,外積是一種特殊的克羅內克積,結果是一個矩陣, 假設和b分別是一個行向量和一個列向量,那麼內積、外積分別記作和,,為了討論方便,假設每個向量的長度為2。

形象理解線性代數(四)——向量的點乘(點)和叉乘(

一、向量的點積 首先,我們知道向量的點積公式定義:                       (1) 但是當學過內積之後,我們對其又有了新的表述形式  

CSS--發光陰影

依次 屬性 css info 代碼 color 分享圖片 不同 image 外陰影:box-shadow: X軸 Y軸 Rpx color; 屬性說明(順序依次對應): 陰影的X軸(可以使用負值) 陰影的Y軸(可以使用負值) 陰影模糊值

部類部類的訪問

let 註意 成員 類對象 類的方法 delet 獲得 類的成員 管理 外部類與內部類之間的訪問 內部類相當於外部類的一個成員,和其它成員處於同一個級別,因此可以在內部類中直接訪問外部類的各個成員(包括私有屬性)。 需要註意的是在外部類中要想訪問內部類的各個成員(這裏

向量點等幾何的定義及應用研究

要計算兩個向量的點積,需要將兩個向量的對應分量相乘,然後再將乘積相加。下面這段程式碼可以計算出兩個二維向量的點積: var dotProduct = vectorOne.x * vectorTwo.x +vectorOne.y * vectorTwo.y; 計算兩個向量之間的點積是很簡

初學計算幾何(一)——點向量·叉

前言 計算幾何應該是一個比較複雜的東西吧,它的應用十分廣泛。為此,我花了很長的時間來學習計算幾何。 點與向量 點 點應該還算比較簡單吧!對於平面上的一個座標為(x,y)(x,y)的點

部類部類之間的訪問(程式碼是連結串列資料結構為例)

外部類與內部類之間的訪問 內部類相當於外部類的一個成員,和其它成員處於同一個級別,因此可以在內部類中直接訪問外部類的各個成員(包括私有屬性)。 需要注意的是在外部類中要想訪問內部類的各個成員(這裡也包括內部類的私有屬性)就必須先例項化內部類,然後才能訪問。對

java部類部類的關係

private,public,protected,default的訪問許可權區別 在學習外部類與內部類之前我們首先要弄明白private,public,protected,default在訪問許可權上有什麼不同,這對我們之後的理解會有一定的幫助。 1、private:訪問許可權最低的訪問

“全棧2019”Java第九十二章:部類部類成員覆蓋詳解

零基礎 回復 鏈接 dea 類成員 版權 語言 設計模式 應用 難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文鏈接 “全棧2019”Java第九十二章:外部類與內部類成

連線連線有什麼區別?

(一)內連線   內連線查詢操作列出與連線條件匹配的資料行,它使用比較運算子比較被連線列的 列值。內連線分三種:   1、等值連線:在連線條件中使用等於號(=)運算子比較被連線列的列值,其查詢結 果中列出被連線表中的所有列,包括其中的重複列。   2、不等連線: 在連線條件使

【Unity3D】淺談Vector3的點

    1、理論知識    在數學中,點積的定義為a·b=|a|·|b|cos<a,b> 【注:粗體小寫字母表示向量,<a,b>表示向量a,b的夾角,取值範圍為[0,π]】。從定義上,我們知道向量的點積得到的是一個數值。而不是向量(這點大家要注意了!要與叉積進行區別)。另外點積中的

numpy的rank1 array矩陣計算

a = np.random.randn(5) print(a) ## [-1.17124494 -1.0144042 -1.81090015 0.06239375 0.80871696] print(a.T) ## [ 1.27831203 -0.02878799 -0

矩陣分析應用(二)——範數

常數向量的內積與範數   兩個m×1的向量之間的內積(點積)定義為: ⟨x,y⟩=xHy=∑i=1mx∗iyi   其夾角定義為: cosθ=⟨x,y⟩⟨x,x⟩⟨y,y⟩−−−−−−−−−√=

對偶性的實質,向量就是矩陣叉乘

對偶性的實質就是轉置,【1,2】的轉置是【1                                   &nbs

矩陣論】05——線性空間——空間

本系列文章由Titus_1996 原創,轉載請註明出處。   文章連結:https://blog.csdn.net/Titus_1996/article/details/83087918 本系列文章使用的教材為《矩陣論》(第二版),楊明,劉先忠編,華中科技大學出

矩陣的向量化及

定義1. 設矩陣 A = (

【深度學習數學基礎】向量點乘()和叉乘(、向量)概念及幾何意義解讀

1. 點乘 向量的點乘,也叫向量的內積、數量積,對兩個向量執行點乘運算,就是對這兩個向量對應位一一相乘之後求和的操作,點乘的結果是一個標量。 對於向量a和向量b:                                                 

矩陣分析 第三章 空間 正規矩陣 Hermite矩陣

第一節 歐式空間和酉空間 歐式空間:在實數域的線性空間的基礎上,有了內積的定義(兩個空間元素相乘等於一個實數) 酉空間: 在複數域的線性空間基礎上,有了內積的定義(兩個空間元素相乘等於一個複數)

向量點乘()和叉乘(、向量)概念及幾何意義解讀

向量是由n個實陣列成的一個n行1列(n*1)或一個1行n列(1*n)的有序陣列; 向量的點乘,也叫向量的內積、數量積,對兩個向量執行點乘運算,就是對這兩個向量對應位一一相乘之後求和的操作,點乘的結果是一個標量。 點乘公式 對於向量a和向量b:            

向量(點乘)和(叉乘)概念及幾何意義

向量的內積(點乘) 定義 概括地說,向量的內積(點乘/數量積)。對兩個向量執行點乘運算,就是對這兩個向量對應位一一相乘之後求和的操作,如下所示,對於向量a和向量b:   a和b的點積公式為: 這裡要求一維向量a和向量b的行列數相同。注意:點乘的結果是一個標量(數量