from numpy import *
a = [1,2,3]
b = [0,0,1]
c = [[1,2],[3,4]]
a = mat(a)
b = mat(b)
c = mat(c)
d = eye(2)
def testMatMulti(a,b):
y1 = multiply(a,b)
print("multiply:\n", y1)
y2 = dot(a,b)
print("dot:\n", y2)
y3 = a*b
print("*:\n", y3)
testMatMulti(b, a)
当a和b具有完全相同的维度时,multiply(a,b)会执行element_wise级别的,否则如果符合n*m m*n则执行矩阵相乘的运算。所以说,multiply是一个没有骨气的函数。自己原定的任务完成不了时,就屈服于别的功能了。。[手动微笑]
* 和 dot(a, b)则完全是矩阵的乘法,没有异议。