Python/Numpy之点积叉积内积外积张量积

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.内积、外积、张量积、对应元素相乘

  1. 内积:innerx = np.dot(arr1,arr2)
  2. 外积:outerx = np.outer(arr1,arr2)
  3. 张量积:kronx = np.kron(arr1,arr2)
  4. 对应元素相乘: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实现矢量积、叉积、外积、张量积

你可能感兴趣的:(Python数据科学)