【发布时间】:2018-11-16 21:24:23
【问题描述】:
我想在 numpy 中乘以 B = A @ A.T。显然,答案将是一个对称矩阵(即B[i, j] == B[j, i])。
但是,我不清楚如何轻松利用它来将计算时间减少一半(仅计算 B 的下三角形,然后使用它免费获得上三角形)。
有没有办法以最佳方式执行此操作?
【问题讨论】:
-
在 BLAS 或其他优化库中搜索此类函数,并使用
cython或其他此类工具将其链接到您的代码。对于现有的numpy函数来说,它太专业了。 -
@hpaulj。但也许不是为了 scipy?
-
其实 numpy 为你做的,见this 帖子。
-
@PaulPanzer,你是怎么找到的!想想我对这个话题发表了评论,但不记得了 :( 内存一定会消失。
dot正在检测特殊情况并使用不同的BLAS调用。 -
@hpaulj 想想我对这个话题发表了评论,却不记得了是的,记忆是一件有趣的事情。我,实际上确实记得,因为我当时觉得它很迷人。
标签: python numpy matrix-multiplication