numpy或scipy实现次三次乘法

use*_*ser 5 python numpy blas matrix-multiplication

我已经搜索了很多,但只发现了Strassen矩阵乘法的本地重新实现。

Wikipedia表示numpy使用BLAS(包括次立方矩阵乘法算法的高性能实现,例如Strassen的方法),但是我找不到numpy矩阵乘法是否具有某种大小检查功能,然后选择天真$ O (n ^ 3)$乘法或基于矩阵大小的某种更复杂的方法(这类似于在Strassen子调用中选择叶子大小或递归限制)。

我还尝试仅绘制运行时日志与问题大小日志的关系图,但是寻找斜率的细微变化并非易事(由于高速缓存的影响等,因为问题变大了)。

由于有关numpy矩阵的文档没有提及Strassen(或其他次立方算法)或运行时,并且由于有问题的numpy源在C ++中具有性能(C ++代码反过来使用BLAS库),因此从源代码讲起来并不容易,所以我想问一下:

有人知道numpy.matrix(...) * numpy.matrix(...)呼叫的算法或大运行时间吗?