引言
这里给大家介绍一下 Pyhon
中如何进行矩阵乘法运算。
正文
对于矩阵乘法,我们推荐使用 Numpy
包来进行,事实上,我们可以使用三个函数来实现。第一个是 np.dot()
函数,第二个是 np.matmul() 函数 以及 @
符号。
这里我们简单说一下它们的区别,np.matmul()
函数与 @
符号是等价的。它们不能够用来计算标量乘法,比如当我们运行如下代码时就会报错。
import numpy as np
a = 1
c = 2
print(np.matmul(a, c))
"""
result:
ValueError: matmul: Input operand 0 does not have enough dimensions (has 0, gufunc core with signature (n?,k),(k,m?)->(n?,m?) requires 1)
"""
但是 np,dot()
函数是可以用来计算标量乘法的。但是对于矩阵乘法,希望各位从此将 np,dot() 函数遗忘掉。以后直接选用后面两种形式,并且为了简化书写,推荐使用 @ 符号来替代。
并且当我们使用 @ 符号进行矩阵乘法运算时,我们无需手动进行矩阵转置操作。比如:
import numpy as np
a = np.array([1, 2])
c = np.array([[1, 2],
[3, 4]])
print(np.matmul(a, c))
print(np.matmul(a.T, c))
"""
result:
[ 7 10]
[ 7 10]
"""
可以看到,两种方式最终获取到的结果是一致的。是不是很方便呢?
如果大家觉得有用,就请点个赞吧~