小编M.G*_*.Gu的帖子

如何对这个python代码进行矢量化以使其更高效?(速度快)

我试图使用numpy模块向量化我的代码,原始代码如下:

m = [M[i,:9].dot(N[:9,i]) for i in xrange(9)]
Run Code Online (Sandbox Code Playgroud)

我改进了代码:

m = np.diagonal(M[:9,:9].dot(N[:9,:9]))  
Run Code Online (Sandbox Code Playgroud)

然而,这将导致一些不必要的计算(特别是当指数远大于9时).我该怎么做才能进一步提高效率?

编辑:基本上我打算做的是计算两个矩阵M和N的点积的对角元素.

python performance numpy vectorization matrix-multiplication

4
推荐指数
1
解决办法
106
查看次数