NumPy 中的并行矩阵向量乘法
在本文中,我们将讨论如何在 NumPy 中进行矩阵向量乘法。
矩阵与向量的乘法
对于矩阵向量乘法,有一些重要的点:
- 矩阵向量乘法的最终乘积是向量。
- 这个向量的每个元素都是通过在矩阵的每一行和被相乘的向量之间执行点积来获得的。
- 矩阵中的列数等于向量中的元素数。
# a and b are matrices
prod = numpy.matmul(a,b)
为矩阵-向量乘法,我们将使用NumPy的的np.matmul()函数,宽E将定义一个4×4矩阵,并且长度为4的矢量。
Python3
import numpy as np
a = np.array([[1, 2, 3, 13],
[4, 5, 6, 14],
[7, 8, 9, 15],
[10, 11, 12, 16]])
b = np.array([10, 20, 30, 40])
print("Matrix a =", a)
print("Matrix b =", b)
print("Product of a and b =",
np.matmul(a, b))
Python3
import numpy as np
a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
b = np.array([[11, 22, 33],
[44, 55, 66],
[77, 88, 99]])
print("Matrix a =", a)
print("Matrix b =", b)
print("Product of a and b =", np.matmul(a, b))
输出:
矩阵与另一个矩阵的乘法
我们使用点积进行矩阵-矩阵乘法。我们也将为此使用相同的函数。
prod = numpy.matmul(a,b) # a and b are matrices
对于矩阵-矩阵乘法,有一些重要的点:
- 第一个矩阵中的列数应等于第二个矩阵中的行数。
- 如果我们将一个维度为 mxn 的矩阵与另一个维度为 nxp 的矩阵相乘,那么结果乘积将是一个维度为 mxp 的矩阵
我们将定义两个 3 x 3 矩阵:
蟒蛇3
import numpy as np
a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
b = np.array([[11, 22, 33],
[44, 55, 66],
[77, 88, 99]])
print("Matrix a =", a)
print("Matrix b =", b)
print("Product of a and b =", np.matmul(a, b))
输出: