计算numpy包中矩阵乘法的对角线元素

穆罕默德

有什么方法可以计算等于 numpy.matmul(A, B) 的矩阵 C 的对角线值而不需要计算非对角线元素?因为我正在处理两个大矩阵 A 和 B,我只需要在我的其余代码中使用它们乘法的对角元素。如果我计算整个矩阵 C,运行时间会相当长。提前致谢。

阿文德·库马尔

你可以实现它:

arr1 = np.array([[1,2,3],[4,5,6],[7,8,9]])
arr2 = np.array([[10,11,12],[13,14,15],[16,17,18]])

diag_elem = [sum(arr1[i,]*arr2[:,i]) for i in range(arr1.shape[0])]
print(diag_elem)

输出:

[84, 216, 366]

这是您使用 np.matmul 获得的相同对角线元素

print(np.matmul(arr1,arr2))

结果是

array([[ 84,  90,  96],
   [201, 216, 231],
   [318, 342, 366]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章