所以,我在Python中遇到了一些精度问题。标准库 - 更高精度的浮点数?
我想计算这样的功能:
P(x,y) = exp(-x)/(exp(-x) + exp(-y))
其中X和Y可能是> 1000。 Python的math.exp(-1000)(至少在2.6中!)没有足够的浮点精度来处理这个问题。
- 这种形式看起来像logistic/logit/log-odds,但它不是,对吧?有没有我在这里错过的代数简化?
- 我知道小数,但如果它适用于这里
- 看起来像功课我不知道,但它不是,我答应!
(另外,我接受冠军!我想不出一个好这个问题!)
“我知道十进制但我不确定它是否适用于此”?在你试过之后,你不确定什么? –
那么,正如我在下面指出的那样,我没有意识到Decimal()有一个exp方法。做math.exp(Decimal())不起作用。如果你想给我RTFM治疗,那么至少应该链接到TFM。 –
当然math.exp()不会工作;它期望一个浮动。数学模块镜像C数学函数。我不想给你RTFM治疗,我想给你“在CHM文档的索引面板上输入exp,并且列出两个十进制方法,接着是cmath和math函数(或者使用不是那么闪烁的' http://docs.python.org/search.html?q = exp'(十进制exp方法是第7次和第8次命中))“处理和”避免模糊华夫饼像'我知道X,但不知道它是否适用这里''治疗。 –