Python/Numpy之点积叉积内积外积张量积
内积(内积、标量积、数量积、点积、点乘)a与b的内积为 a·b = |a||b|cos∠(a, b),结果为标量(一个数)
外积(叉乘):向量a与b的外积a×b是一个向量,其长度等于|a×b| = |a||b|sin∠(a,b),其方向正交于a与b。并且,(a,b,a×b)构成右手系。(外积是张量积的一种形式)
张量积:Kronecker product a⊗b
1.内积、外积、张量积、对应元素相乘
- 内积:
innerx = np.dot(arr1,arr2)
- 外积:
outerx = np.outer(arr1,arr2)
- 张量积:
kronx = np.kron(arr1,arr2)
- 对应元素相乘:
mul = arr1 * arr2
# 只有这种方式是元素相乘,其余都是矩阵相乘运算规则
2. 举例如下
>>> arr1 = np.array([1,2,3])
>>> arr2 = np.array([2,3,4])
# 外积
>>> outerx = np.outer(arr1,arr2)
>>> outerx
array([[ 2, 3, 4],
[ 4, 6, 8],
[ 6, 9, 12]])
# 内积
>>> dotx = np.dot(arr1,arr2)
>>> dotx
20
# 张量积
>>> kronx = np.kron(arr1,arr2)
>>> kronx
array([ 2, 3, 4, 4, 6, 8, 6, 9, 12])
# 对应元素乘积
>>> mul = a * b
>>> mul
array([1, 4, 9])
更多
Python
数据科学相关见专题Python数据科学技能索引
点乘与叉乘
向量内积外积,为啥要叫「内」「外」?
python实现矢量积、叉积、外积、张量积