向大佬们求助,eigensystem计算怎么这么慢?
mathematica吧
全部回复
仅看楼主
level 5
明明N[]默认的就是16位精度,凭什么N[,$MachinePrecision] 就慢了500多倍?甚至连N[,5]都比N[]慢了300倍。为什么啊。
L = 50;
mat = SparseArray[{Band[{2, 1}] ->
RandomPrime[15, L - 1]/RandomPrime[40, L - 1],
Band[{1, 2}] ->
RandomPrime[15, L - 1]/RandomPrime[40, L - 1]}, {L, L}];
Eigensystem[N[mat]]; // AbsoluteTiming
Eigensystem[N[mat, MachinePrecision]]; // AbsoluteTiming
Eigensystem[N[mat, $MachinePrecision]]; // AbsoluteTiming
Eigensystem[N[mat, 5]]; // AbsoluteTiming
2023年12月09日 15点12分 1
level 5
tutorial/Numbers#22593
意思是不用默认精度,计算就会很慢呗
2023年12月09日 17点12分 2
吧务
level 10
此问题已在某群聊得到解决。
GMP任意精度就是这么慢,默认的是机器精度(一般是双精度浮点数)所以快。
2023年12月13日 10点12分 3
哪个群啊?纸飞机群?
2023年12月13日 12点12分
1