numpy.matmul
numpy.matmul(a,b,out = None)
两个numpy数组的矩阵相乘
- 若两个输入a,b都是二维矩阵,
c = np.matmul(a,b)
是对矩阵a,b做普通的矩阵相乘。
-
若其中某一个参数维度大于2维, np.matmul(a,b)参数被理解为一些矩阵(参数的最后两个维数为矩阵维数)的stack,而且计算时会相应的广播.
其中a 为两个2 × 4 的矩阵的stack,b为两个4 × 2 的矩阵的stack。
那么np.matmul(a,b)则会将a的第一个矩阵和b 的第一个矩阵相乘,将a的第二个矩阵b的第二个矩阵相乘,最终得到一个2 × 2 × 2 的结果。 -
如果第一个参数或者第二个参数是1 11维的,它会提升该参数为矩阵(根据另一个参数维数,给该参数增加一个为1的维数)。矩阵相乘之后会将为1的维数去掉。