numpy.matmul()函数返回两个数组的矩阵乘积,虽然它为二维数组返回正常乘积,但如果任一参数的维数> 2,则将其视为驻留在最后两个索引中的矩阵堆栈,并进行相应广播。
另一方面,如果任一自变量是一维数组,则通过在其维上附加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]]]