*和multiply

 对于矩阵,*为数学意义的矩阵乘法:

import numpy as np
a=np.mat([1,2,3])
b=np.mat([[0],[5],[7]])
print(a*b)
print(b*a)

 输出:

[[31]]
[[ 0  0  0]
 [ 5 10 15]
 [ 7 14 21]]

multiply是对应元素相乘,列向量的元素分别乘以行向量得到的行向量作为结果的行向量。

import numpy as np
a=np.mat([1,2,3])
b=np.mat([[0],[5],[7]])
print(np.multiply(a,b))
print(np.multiply(b,a))

输出:

[[ 0  0  0]
 [ 5 10 15]
 [ 7 14 21]]
[[ 0  0  0]
 [ 5 10 15]
 [ 7 14 21]]

对于数组,*和multiply均为对应元素相乘:

import numpy as np
a=np.array([1,2,3])
b=np.array([[0],[5],[7]])
print(np.multiply(a,b))
print(np.multiply(b,a))
print(a*b)
print(b*a)

 输出:

[[ 0  0  0]
 [ 5 10 15]
 [ 7 14 21]]
[[ 0  0  0]
 [ 5 10 15]
 [ 7 14 21]]
[[ 0  0  0]
 [ 5 10 15]
 [ 7 14 21]]
[[ 0  0  0]
 [ 5 10 15]
 [ 7 14 21]]
原文地址:https://www.cnblogs.com/zhhy236400/p/9919291.html