performance - Matlab中的快速矩阵乘法

标签 performance matlab matrix matrix-multiplication

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

我注意到通过计算 A'*B 可以稍微缩短时间,它给出了一个列向量。但是仍然很慢(我需要在程序中多次执行此操作)。

稍微搜索一下,我发现了一个有趣的 Matlab 工具箱 MTIMESX由 James Tursa 编写,我希望它能提高上述矩阵乘法的性能。经过几次试验,我对 Matlab 原生矩阵乘法的 yield 微乎其微。

关于我应该如何重写 A'*B 以使操作更有效率的任何建议?谢谢。

最佳答案

Matlab 存在的理由是进行矩阵计算。如果您可以使用手工制作的工具显着超越其内置矩阵乘法,我会感到非常惊讶。首先,您应该确保您的乘法实际上可以更快地执行。您可以通过使用 Eigen 在 C++ 中实现类似的乘法来实现这一点。

关于performance - Matlab中的快速矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7645201/

相关文章:

c++ - OpenCV SVD 返回与 MATLAB 不同的结果

matlab - 如何使用纹理贴图绘制表面

r - 选择由 R 中的随机向量指定的列

arrays - 为什么 Swift 迭代器比数组构建慢?

matlab - 简化matlab代码以切换var

python - 在 Tensorflow 中将一组常量(一维数组)与一组矩阵(三维数组)相乘

java - 水平翻转二维数组矩阵

c++ - 比 memcmp 更快的内存比较相等 16 字节 block

css - "slow"CSS 选择器何时会影响性能?

python - 如果超参数调整的影响很小,我该如何改进我的 XGBoost 模型?