【发布时间】:2017-12-06 00:31:35
【问题描述】:
可以在 R 中使用 pgamma 或使用 library(gsl) 中的 gamma_inc_Q 或使用 library(expint) 中的 gammainc 在 R 中计算不完整的 gamma 函数。然而,所有这些函数都只接受真实的输入。
我需要一个不完全伽马函数的实现,它需要复杂的输入。具体来说,我有一个整数作为第一个参数,一个复数作为第二个参数(积分中的极限)。
这个函数是为复杂的输入定义好的(见Wikipedia),我一直在 Mathematica 中计算它。它似乎没有内置到 R 中,而且我在任何库中都没有看到它。
那么,除了查找算法、在 C 中实现它并编写 R 接口之外,任何人都可以提出更短的方法来进行这些计算吗?
(如果我必须自己实现它,这里是我发现的用于复杂输入的唯一算法:Kostlan & Gokhman 1987)
【问题讨论】:
-
R 特殊函数的实现不如 Mathematica 案例那么广泛,我想如果你没有在 gsl 中找到你想要的东西,那么你能做的最好的事情就是你已经拥有的建议自己。不要害羞与 Rcpp 交互;)
-
我以前没听说过 Rcpp,看起来真的很酷。我在 R 中对外部函数接口有过很多痛苦的经历,欢迎任何简化它的东西。
-
如果您使用的是 RStudio,并且在基于 unix 的操作系统中,那一点也不难。看看这个example,可能会有帮助;)
标签: r gamma-function