numpy中的乘法(*,dot)

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]]

你可能感兴趣的:(numpy中的乘法(*,dot))