numpy中数据表示有数组和矩阵两种数据类型,他们的乘法计算也是多种形式,下面我们主要来说一下numpy中的乘法计算
numpy.ndarray
运算符 *
用于计算数量积(点乘),函数 dot()
用于计算矢量积(叉乘)
数量积就是点积,也就是对应位置相乘,矢量积就是我们通常所说的矩阵乘法,下面是例子
import numpy as np
a = np.arange(1,5).reshape(2,2)#[[1, 2], [3, 4]]
b = np.arange(5,9).reshape(2,2)#[[5, 6], [7, 8]]
print('a与b的数量积(点积)',a*b)#[[ 5 12][21 32]]
print('a与b的矢量积',np.dot(a,b))#[[19 22][43 50]]
numpy.matrixlib.defmatrix.matrix
与array不同的是,使用matrix时,运算符 *
用于计算矢量积,函数 multiply()
用于计算数量积
a = np.mat('1 2; 3 4')
b = np.mat('5 6; 7 8');
print('a * b = \n', a * b)#[[19 22][43 50]]
print('np.multiply(a, b) = \n', np.multiply(a, b))#[[ 5 12][21 32]]