【发布时间】:2016-11-20 12:34:25
【问题描述】:
我正在尝试使用 numpy 模块对我的代码进行矢量化,原始代码如下:
m = [M[i,:9].dot(N[:9,i]) for i in xrange(9)]
我将代码改进为:
m = np.diagonal(M[:9,:9].dot(N[:9,:9]))
但这会导致一些不必要的计算(尤其是当索引远大于 9 时)。怎样做才能进一步提高效率?
编辑:基本上我打算做的是计算两个矩阵M和N的点积的对角线元素。
【问题讨论】:
-
提及代码实际想要完成的工作总是很高兴。
-
感谢您的建议,我现在重新编辑了我的问题
-
对不起,误导信息,但在我的实际代码中,两个矩阵的形状不一定是正方形。
标签: python performance numpy vectorization matrix-multiplication