【发布时间】:2014-12-25 05:49:34
【问题描述】:
在 David Lay 的线性代数中,他问两种矩阵计算方式中哪一种更快:
-
A*(A*x)或 (A*A)*x
其中A 是nxn 矩阵,x 是nx1 向量(矩阵积定义明确。)
我制作了一个 matlab 程序,并亲眼目睹了它的更高维度,我对此深信不疑。但是我也尝试过 n=1 的情况,在这种情况下,奇怪的是选项 1 仍然比选项 2 更快,但事实并非如此。
有人知道为什么 case n=1 显示得更快吗?它只是稍微快一点
【问题讨论】:
-
两个选项我都得到了 0.000002 秒。
-
@user3100754,请附上你用来做基准测试的代码,我们可以自己看看。
-
@lanpa:两次计算的 2 微秒读数已四舍五入。这是不准确的。好的方法是进行 100 次计算,然后测量这 100 次计算的时间(for 循环在 tic toc 内。)