我想知道一些小数的总和,例如 {e^-1000, -e^1001, e^1002...}
如果所有数字都是正数,我可以使用 log-sum-exp 算法。但不幸的是,负数也包含在数字中。
有什么方法可以计算这些数字的总和吗?
我想知道一些小数的总和,例如 {e^-1000, -e^1001, e^1002...}
如果所有数字都是正数,我可以使用 log-sum-exp 算法。但不幸的是,负数也包含在数字中。
有什么方法可以计算这些数字的总和吗?
就 Python 而言,使用
from cmath import log, exp
def clog(x):
if x == 0:
return -float('inf')
else:
return log(x)
的负值,这给出了,对于,这给出了。