标准库高精度浮点?

2024-04-25 23:36:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中遇到了一些精度问题。在

我想计算如下函数:

P(x,y) = exp(-x)/(exp(-x) + exp(-y))

其中x和y可能大于1000。Python的数学实验(-1000)(至少为2.6!)没有足够的浮点精度来处理此问题。在

  1. 这张表格看起来像逻辑/逻辑/对数概率,但它不是,对吗?这里有没有我遗漏的代数简化?在
  2. 我知道十进制,但不确定它是否适用于这里
  3. 看起来像是家庭作业,但不是,我保证!在

(另外,我对头衔很开放!我想不出一个好的答案来回答这个问题!)在


Tags: 函数答案对数精度数学逻辑概率表格
3条回答

你可以用exp(-x)来划分顶部和底部

P(x,y) = 1/(1 + exp(x-y))
>>> import decimal
>>> decimal.Decimal(-1000).exp()
Decimal('5.075958897549456765291809480E-435')
>>> decimal.getcontext().prec = 60
>>> decimal.Decimal(-1000).exp()
Decimal('5.07595889754945676529180947957433691930559928289283736183239E-435')
P(x,y) = exp(-x)/(exp(-x) + exp(-y))

相当于:

^{pr2}$

也许第二种方法没有使用更精确的方法。在

相关问题 更多 >