不完整的伽玛函数可以在R中用pgamma计算,或者用库(gsl)中的gamma_inc_Q计算,或者用库中的gammainc计算(expint)。但是,所有这些功能都只需要真正的输入。
我需要实现不完整的伽马函数,这将需要复杂的输入。具体来说,我有第一个参数的整数,第二个参数的复数(积分中的限制)。
这个函数是为复杂输入定义的(见Wikipedia),我一直在Mathematica中计算它。它似乎没有内置到R中,我在任何库中都没有看到它。
那么,有谁可以建议一个更短的路径来进行这些计算,而不是查找算法,在C中实现它,以及编写R接口?
(如果我必须自己实现,这是我找到的复杂输入的唯一算法:Kostlan & Gokhman 1987)
答案 0 :(得分:0)
这是一个实现,假设你想要 lower 不完整的gamma函数。我已将Wolfram的几个值进行了比较,但它们匹配。
public override void WillSendRequestForAuthenticationChallenge(NSUrlConnection connection, NSUrlAuthenticationChallenge challenge)
{
Console.WriteLine(challenge.ProtectionSpace);
if (challenge.PreviousFailureCount == 0 )
{
NSUrlCredential cred = new NSUrlCredential(this.myUserName, this.myPass, NSUrlCredentialPersistence.None);
challenge.Sender.UseCredential(cred, challenge);
}
}
对于较大的library(CharFun)
incgamma <- function(s,z){
z^s * exp(-z) * hypergeom1F1(z, 1, s+1) / s
}
,评估可能会失败。