嵌套效率问题?
mathematica吧
全部回复
仅看楼主
level 5
爱因·思果
楼主
都说mathematica的循环效率低,为啥这种情况下Do循环的效率反而比较高呢?重复了多次,大多数时间Nest花的时间多些
nDotl[a_, n_] :=
Module[{bb = 1}, Do[bb = Dot[a, bb], n]; Return[bb]];(*n重点积,左乘*)
nDotl1[a_, n_] := Nest[Dot[a, #] &, a, n - 1]
nn = 500;
AbsoluteTiming[nDotl[o, nn]]
AbsoluteTiming[nDotl1[o, nn]]
2019年12月09日 09点12分
1
吧务
level 15
xzcyr
1. 纯符号计算基本告别效率了。
2. nn太小了。
3. 测速的时候两段代码别放一个单元里,有影响,尤其是这种耗时短的情况。改用新增的RepeatedTiming可以会好一点。(我没怎么用过,不敢断言。)
2020年02月01日 04点02分
2
爱因·思果
谢谢解答!
2020年02月25日 10点02分
1