07.點乘
本文的主要內容:點乘的計算方式,幾何含義和詳細證明.
1.點積的計算方式
下面的式子可以看出點積滿足交換律.
from sympy import * a,b,c,d,e,f= symbols("a,b,c,d,e,f") M1=Matrix([a, b, c]) M2=Matrix([d, e, f]) M1.dot(M2)#a*d + b*e + c*f import numpy as np M1 = np.array([1,2,3]) M2 = np.array([4,5,6]) print (np.dot(M1,M2)) #32
2.點積的含義
點乘:也叫數量積,內積,點積,標積。結果的絕對值是一個向量在另一個向量方向上投影的長度乘以另一個向量的長度,是一個標量。
2.1矩陣乘法和點積的關聯:
點積:對應左邊向量轉置後和右邊向量進行矩陣乘法.
2.2幾何意義:
向量點積:一個向量長度*另一個向量在其投影長度*正負符號(兩個向量夾角是否小於90°,是則正,否則負).即a·b=|a||b|·cosθ.
基於這一層幾何意義,看似點積不符合交換律.因為交換左右向量,看似點積大小不同.
但是,實際,仍然是符合交換律的:
(A)當 等長時,利用投影的對稱(偶)性,點積的絕對值 = 的投影長度* 的長度 = 的投影長度* 的長度,顯然滿足交換律.
(B)當 時,例如 長度為2* 的長度,則點積的絕對值 = 2* 在 的投影長度* 的長度 = 的投影長度*2* 長度,顯然也滿足交換律.
2.3幾何含義的證明
設 為某一方向上的單位向量,其向量為[[ui],[uj]].
根據對稱性:
向量在上的投影 = 向量在上的投影 = Ux,
向量在上的投影 = 向量在上的投影 = Uy.
A)設 = Vx* + Vy* ,當Vx和Vy都>0時:
當 時,在上的投影長度為Ux,當 時,在 上的投影長度為2*Ux,證明了投影的成比例性.
當 時,在上的投影長度為2Ux,而當 時,在上的投影長度為2*Ux+Uy,證明了投影的可加性.
根據投影的可加性和等比例性,在 上的投影長度* 的長度為|Vx*Ux+Vy*Uy|,等於| |,等於 的點積的絕對值,符合a·b=|a||b|·cosθ.
B)當Vx和Vy其中一個小於0時
注意到和夾角大於90°的情況:投影長度總為正數.
例如當 時,上的投影長度*的長度為|Uy-Ux|,等於| |,等於 的點積的絕對值,符合a·b=|a||b|·cosθ.
同理也很容易證明滿足其滿足可加性和等比例性,根據投影的可加性和等比例性,在 上的投影長度* 的長度為|Vx*Ux+Vy*Uy|,等於| |,等於和 的點積,符合a·b=|a||b|·cosθ.
C)當Vx和Vy都小於0時
同理,翻轉上圖即可證明,證明略.符合a·b=|a||b|·cosθ.
下一節內容鏈接為:
袁傑雄:08.叉乘[python線性代數]推薦閱讀:
※Python3入門精講,十五分鐘認識Python基礎
※自己寫的Python函數,如何調用?
※Python數據分析4——Pandas數據結構之DataFrame