我的目标是使用最大似然方法(通常大约10 ^ 5次迭代),其概率分布创建非常大的整数和非常小的浮点值,不能存储为numeric
,也不能存储在{{1 }类型。
我以为我会使用float
包中的as.bigq
。我的问题是,只能添加,减去,乘法和潜入两个类/类型gmp
的对象,而我的分布实际上包含对数,幂,伽马和汇合超几何函数。
处理此问题的最佳选择是什么?
bigq
个对象编写所有这些函数吗?
bigq
运算符编写对数函数?我应该使用泰勒系列扩展来估算这个功能吗?+,-,*,/
运算符来编写幂函数?+,-,*,/
中的Hypergeometric1F1Regularized[..]
函数)?我最终可以在Mathematica
中编写这些函数并从C
调用它们,但这听起来像是一些复杂的工作,特别是如果我必须在C中使用R
包以及处理这些大数字。
答案 0 :(得分:1)
所有问题都可以通过Rmpfr
解决,最有可能让您以任意精度使用getGroupMembers("Math")
返回的所有函数。
小插图:http://cran.r-project.org/web/packages/Rmpfr/vignettes/Rmpfr-pkg.pdf
它可以做什么的简单例子:
test <- mpfr(rnorm(100,mean=0,sd=.0001), 240)
Reduce("*", test)
我不认为它具有超几何功能但是......