數學上的內積、外積和叉積
內積
也即是:點積、標量積或者數量積
從代數角度看,先對兩個數字序列中的每組對應元素求積,再對所有積求和,結果即為點積。從幾何角度看,點積則是兩個向量的長度與它們夾角余弦的積。
具體解釋
外積
也即是:張量積
在線性代數中一般指兩個向量的張量積,其結果為一矩陣,也就是矩陣乘法
具體解釋
叉積
也即是:向量積
叉積axb得到的是與a和b都垂直的向量
具體解釋
Numpy中的矩陣乘法
np.dot()
對於二維矩陣,計算真正意義上的矩陣乘積;對於一維矩陣,計算兩者的內積。(結合了數學意義上的內積和外積)
# 2-D array
import numpy
a = numpy.array([[1,2],
[3,4]])
b = numpy.array([[5,6],
[7,8]])
a.dot(b)
>>>array([[19, 22],
[43, 50]])
numpy.dot(a,b)
>>>array([[19, 22],
[43, 50]])
# 1-D array
import numpy
a = numpy.array([1, 2, 3])
b = numpy.array([4, 5, 6])
numpy.dot(a,b)
>>>32
對應元素相乘
在Python中,實現對應元素相乘,有2種方式,一個是np.multiply(),另外一個是*。
import numpy
a = numpy.array([[1,2],
[3,4]])
b = numpy.array([[5,6],
[7,8]])
a*b
>>>array([[ 5, 12],
[21, 32]])
numpy.multiply(a,b)
>>>array([[ 5, 12],
[21, 32]])