根据文档,Python 十进制模块中的 .exp() 操作
“使用...正确舍入”。
由于制表者的困境,我希望这不能保证,因为我更愿意保证
它是在具有中等低精度的正常输入上进行的计算不会花费例如一年的时间。
Python 如何解决这个问题?
(版本之间有区别吗?)
和exp()
功能pow()
不同。
您链接到的“制表者的困境”解释指出,任何已知算法都无法在有限的时间内正确舍入x y 。然而,这显然不是其域的所有子集的情况。如果我们将域限制为 x=3 和 y=2,那么我可以告诉您正确舍入的答案是什么。
快速的 Google 搜索出现了双精度算术中的正确舍入指数函数,作者 David Defour、Florent de Dinechin、Jean-Michel Muller ( CiteSeer , PDF )。本文提供了一种计算正确舍入的算法,exp()
并提供了其运行时间的最坏情况界限。
这不是 radix=10 的情况,但它表明制表者的困境不一定适用于exp()
函数。