Python Numpy中的几个矩阵乘法

数学上的内积、外积和叉积

内积

也即是:点积、标量积或者数量积
从代数角度看,先对两个数字序列中的每组对应元素求积,再对所有积求和,结果即为点积。从几何角度看,点积则是两个向量的长度与它们夹角余弦的积。
具体解释

外积

也即是:张量积
在线性代数中一般指两个向量的张量积,其结果为一矩阵,也就是矩阵乘法
具体解释

叉积

也即是:向量积
叉积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]])

相关推荐