Matlab中的快速矩阵乘法

Cow*_*boy 3 performance matlab matrix matrix-multiplication

我需要在非常大的Matlab中进行矩阵/向量乘法:"A"是一个655360乘5的实值矩阵,不一定是稀疏的,"B"是655360乘1的实值向量.我的问题是如何计算:B'*A有效.

我已经注意到通过计算A'*B来改善时间,这给出了一个列向量.但它仍然很慢(我需要在程序中多次执行此操作).

随着一点点的搜索,我发现了一个有趣的matlab工具箱MTIMESX詹姆斯Tursa,我希望这将提高上述矩阵乘法性能.经过几次试验,我只能在Matlab原生矩阵乘法上获得非常小的收益.

有关如何重写A'*B以使操作更有效的任何建议?谢谢.

thi*_*ton 10

Matlab的raison d'etre正在进行矩阵计算.如果你能用手工工具明显优于内置矩阵乘法,我会感到非常惊讶.首先,你应该确保你的乘法实际上可以更快地执行.您可以通过在C++中使用Eigen实现类似的乘法来实现.

  • +1.这正是MATLAB擅长的. (2认同)