Python 矩阵乘法

Python 矩阵乘法

  • 引言
  • 正文

引言

这里给大家介绍一下 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]
"""

可以看到,两种方式最终获取到的结果是一致的。是不是很方便呢?

如果大家觉得有用,就请点个赞吧~

你可能感兴趣的:(Python科学计算基础,python,矩阵)