python 矩阵乘法
python 矩阵有两种形式:array 和 matrix 对象(它们的区别在这里就不说了),下面介绍相关乘法
1. np.multiply
>>> a = np.array([[1,2],[1,2]]) >>> a*a >>> array([[1, 4], [1, 4]])
>>> a = np.array([[1],[1],[1]]) >>> b = np.array([1,2]) >>> np.multiply(a, b) >>> array([[1, 2], [1, 2], [1, 2]])
(3)a 和 b为标量:则标量直接相乘
2. *
(1)对于 matrix 对象,代表矩阵乘法(维度必须满足相应规则);
(2)对于array对象,则是每行对应元素相乘。当 array 对象的 shape 不同时(matrix 对象不行) ,其规则和 np.multiply 一样;
3. np.matmul
该函数对 array 和 matrix 对象的操作是不一样的。
(1)对于 matrix 对象,对应矩阵乘法,对象维度必须满足矩阵乘法规则。
(2)对于 array 对象,对应内积,但对象维度必须相同,不支持维度扩展。
(3)不支持标量运算。
>>>a = np.array([[1,2], [3, 4]]) >>>b = np.array([1, 2]) >>>np.dot(a, b) >>>array([ 5, 11])
以上的总结并不完善,如果有错欢迎指出,谢谢。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200997.html原文链接:https://javaforall.net
