Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matlab或倍频程怎么会这么快?_Python_Performance_Matlab_Math_Computation - Fatal编程技术网

Python Matlab或倍频程怎么会这么快?

Python Matlab或倍频程怎么会这么快?,python,performance,matlab,math,computation,Python,Performance,Matlab,Math,Computation,我真的对or的计算速度感到困惑 如何能够立即给出像5^5^5^5(=2.351*10^87)这样的计算结果 我在()中找到了一些结果,但在其他方面没有发现任何结果。这不是解释(我的Python(naive)实现现在正在运行大约5分钟)。5^5^5^5毕竟不需要这么多操作。例如,在每个功率步,比如说a^b,您可以计算exp(log(a)*b),这会给出相同的结果 我并不是说这一定是Matlab所做的,可能存在数值精度问题。但这表明,多重幂运算并不像直接计算那样困难 关于数值精度: >>

我真的对or的计算速度感到困惑

如何能够立即给出像
5^5^5^5
(=
2.351*10^87
)这样的计算结果


我在()中找到了一些结果,但在其他方面没有发现任何结果。这不是解释(我的Python(naive)实现现在正在运行大约5分钟)。

5^5^5^5
毕竟不需要这么多操作。例如,在每个功率步,比如说
a^b
,您可以计算
exp(log(a)*b)
,这会给出相同的结果

我并不是说这一定是Matlab所做的,可能存在数值精度问题。但这表明,多重幂运算并不像直接计算那样困难

关于数值精度:

>> format long
>> 5^5^5^5
ans =
    2.350988701644576e+087
>> exp(log(exp(log(exp(log(5)*5))*5))*5)
ans =
    2.350988701644561e+087
相对误差为

>> 1 - (5^5^5^5 / exp(log(exp(log(exp(log(5)*5))*5))*5))
ans =
   -6.661338147750939e-015

这离我们不远。

可能的答案太多,或者好的答案对于这种格式来说太长。请添加详细信息以缩小答案集或隔离可以在几个段落中回答的问题。是否要计算
5^(5^(5^5))
((5^5)^5)^5=2.351*10^87
?乘法使用哪种算法?卡拉祖巴,学校方法,使用FFT?@Jornsharpe:我知道你的评论,但也许有可能给出一些线索或其他什么?我不知道如何减少我的问题。你认为专注于权力是个好主意吗?5^5^5不是2.351*1087。大约是1.3357*102184。求幂是右关联的。5^5^5^5是5^(5^(5^5))的缩写。((5^5)^5^5是一个更容易计算的数字。这只是55*5*5=5125。你的意思可能是“不需要”。@MrAzzaman Woops!非常感谢。