我在想Matlab如何如此快速地计算两个矩阵的乘积。当两个N x N的矩阵相乘时,需要进行N^3次乘法运算。即使使用Strassen算法,也需要N^2.8次乘法运算,这仍然是一个很大的数字。我正在运行以下测试程序:
a = rand(2160);
b = rand(2160);
tic;a*b;toc
使用2160是因为2160^3约等于10^10(a*b应该大约有10^10次乘法)
我的理解是:
Elapsed time is 1.164289 seconds.
我使用一台2.4Ghz的笔记本电脑,在不使用线程的情况下,我的计算机在一秒钟内进行了约10亿次运算。
这是怎么做到的呢?