NumPy中的并行矩阵-向量乘法
在这篇文章中,我们将讨论如何在NumPy中做矩阵-向量乘法。
矩阵与矢量的乘法
对于矩阵-向量乘法来说,有一些重要的点。
- 矩阵-向量乘法的最终产物是一个向量。
- 这个向量的每个元素都是通过在矩阵的每一行和被乘的向量之间进行点积而得到的。
- 矩阵中的列数等于向量中的元素数。
# a and b are matrices
prod = numpy.matmul(a,b)
对于矩阵-向量的乘法,我们将使用NumPy的np.matmul()函数,w _ e将定义一个4 x 4的矩阵和一个长度为4的向量。
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))
输出:
矩阵与另一矩阵的乘法
我们使用点积来做矩阵-矩阵的乘法。我们也将使用同样的函数来做这个。
prod = numpy.matmul(a,b) # a and b are matrices
对于矩阵与矩阵的乘法,有一些重要的要点。
- 第一个矩阵中的列数应等于第二个矩阵中的行数。
- 如果我们将一个尺寸为m x n的矩阵与另一个尺寸为n x p的矩阵相乘,那么结果乘积将是一个尺寸为m x p的矩阵。
我们将定义两个3 x 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))
输出: