小编use*_*916的帖子

是否存在numpy/scipy点积,仅计算结果的对角线条目?

想象一下有2个numpy数组:

> A, A.shape = (n,p)
> B, B.shape = (p,p)
Run Code Online (Sandbox Code Playgroud)

通常p是较小的数字(p <= 200),而n可以是任意大的.

我正在做以下事情:

result = np.diag(A.dot(B).dot(A.T))
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我只保留n个对角线条目,但是有一个中间(nxn)数组计算出来,只保留对角线条目.

我希望像diag_dot()这样的函数,它只计算结果的对角线条目,而不分配完整的内存.

结果将是:

> result = diag_dot(A.dot(B), A.T)
Run Code Online (Sandbox Code Playgroud)

是否有这样的预制功能,这是否可以有效地完成而无需分配中间(nxn)阵列?

python product numpy scipy

28
推荐指数
2
解决办法
8044
查看次数

标签 统计

numpy ×1

product ×1

python ×1

scipy ×1