NumPy 线性代数 numpy.matmul()
numpy.matmul() 函数返回两个数组的矩阵乘积。当两个数组都是2-D数组时,返回一个普通乘积;但如果任一参数的维度>2,则将其视为最后两个索引中的一组矩阵,并进行相应的广播。
另一方面,如果任一参数是1-D数组,则通过在其维度后附加1将其升级为矩阵,但在乘法完成后被移除。
示例
# For 2-D array, it is matrix multiplication
import numpy.matlib
import numpy as np
a = [[1,0],[0,1]]
b = [[4,1],[2,2]]
print np.matmul(a,b)
它将产生以下输出−
[[4 1]
[2 2]]
示例
# 2-D mixed with 1-D
import numpy.matlib
import numpy as np
a = [[1,0],[0,1]]
b = [1,2]
print np.matmul(a,b)
print np.matmul(b,a)
它将产生以下的输出 −
[1 2]
[1 2]
示例
# one array having dimensions > 2
import numpy.matlib
import numpy as np
a = np.arange(8).reshape(2,2,2)
b = np.arange(4).reshape(2,2)
print np.matmul(a,b)
它将产生以下输出:
[[[2 3]
[6 11]]
[[10 19]
[14 27]]]