使用非常大的对数

MyUserIsThis

我已经完成了一个程序,该程序必须输出具有函数值的文件。该函数产生非常大的值,但我只需要对数,该对数可以达到大约10000甚至一百万的值(很大,但是可以使用32位整数变量管理)。

现在,很明显,函数本身的数量级是exp(10000)巨大的。因此,我正在寻找计算对数的任何技巧。我使用python是因为我认为它对非常大的数字的本机支持会很有用,但对于非常大的数字却不是。

该函数的值计算如下:

a*(x1+x2+x3+x4)

我必须以对数的形式 我已经预处理了所有因子的对数,然后将它们全部求和,但是我不能做任何事情(至少是简单的事情)log(x1+x2+x3+x4)

python ar NaN的结果,因为x1,x2,x3,x4变量增长了很多。它们的计算公式为:

x = [1,1,1,1]
for i in range(1,K):
    x[j] *= a*cosh(b*g[i]) # even values of i
    x[j] *= a*sinh(b*g[i]) # odd values of i

对于一些常数ab和一个向量g[]那只是伪代码,我分别写了x [1],x [2]。

有什么技巧可以计算出该对数的对数而不会遇到NaN问题吗?

非常感谢你

PS:我之所以使用python是因为我所说的话,如果有针对C(++)的特殊库或类似的库来处理非常大的数字,我将非常感激。

PS:b里面的常数cosh可以是100的数量级,并且会使事情炸毁,因此,如果以某种方式取出该常数有任何关系...

比约恩·蒙克(Bjorn Munch)

我看到在您的循环中,您每次都将每个x与常数a相乘。如果您跳过该因子,而取log(x1 + x2 + x3 + x4)则可能是可管理的,则只需在其中添加log(a)即可得到最终结果。或n * log(a)(如果要乘以几倍)。

这个想法与语言无关。:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用堆栈加到非常大的数字

来自分类Dev

使用C ++解析非常大的CSV文件

来自分类Dev

使用RMI通过网络发送非常大的对象

来自分类Dev

如何使用C#处理非常大的.xlsx文件

来自分类Dev

如何在非常大的州使用Julia中的DeepQLearning?

来自分类Dev

使用GMP从公式计算非常大的整数

来自分类Dev

使用Twitter Bootstrap创建非常大的表单元素

来自分类Dev

使用Boost库生成非常大的随机数

来自分类Dev

使用find遍历非常大的目录树

来自分类Dev

如何使用非常大的数据优化COUNTIFS

来自分类Dev

如何使用Tableau处理非常大的数据

来自分类Dev

使用POI读取/写入非常大的pptx文件

来自分类Dev

如何使用Powershell遍历非常大的目录树?

来自分类Dev

VLC显示非常大的图标,无法使用

来自分类Dev

使用 openpyxl python 处理非常大的文件

来自分类Dev

使用切片过滤非常大的域列表

来自分类Dev

处理非常大的数字

来自分类Dev

计算非常大的功率

来自分类Dev

搜索非常大的文件

来自分类Dev

非常大的背景纹理

来自分类Dev

压缩非常大的表

来自分类Dev

加载非常大的位图

来自分类Dev

在非常大的文件上优化mmap

来自分类Dev

MuPdf Android JNI库非常大

来自分类Dev

修复非常大的json文件格式

来自分类Dev

与非常大的操作数相乘

来自分类Dev

查看非常大的CSV文件?

来自分类Dev

管理非常大的SQL查询

来自分类Dev

MATLAB:批量导入非常大的文件