[英]In R, incomplete gamma function with complex input?
不完整的 gamma 函數可以在 R 中使用 pgamma 計算,或者使用 library(gsl) 中的 gamma_inc_Q,或者使用 library(expint) 中的 gammainc。 但是,所有這些函數都只接受實際輸入。
我需要一個不完整的伽馬函數的實現,它將接受復雜的輸入。 具體來說,我的第一個參數有一個整數,第二個參數有一個復數(積分中的限制)。
這個函數對於復雜的輸入是明確定義的(參見Wikipedia ),我一直在 Mathematica 中計算它。 不過,它似乎沒有內置到 R 中,而且我在任何庫中都沒有看到它。
那么,有人能建議一條更短的路徑來進行這些計算,而不是查找算法、用 C 實現它並編寫 R 接口嗎?
(如果我必須自己實現它,這是我發現的唯一用於復雜輸入的算法: Kostlan & Gokhman 1987 )
這是一個實現,假設您想要較低的不完整伽馬函數。 我已經將幾個值與 Wolfram 進行了比較,並且它們匹配。
library(CharFun)
incgamma <- function(s,z){
z^s * exp(-z) * hypergeom1F1(z, 1, s+1) / s
}
也許評估失敗了大s
。
看起來CharFun
已從 CRAN 中刪除。 您可以使用IncGamma
在HypergeoMat
:
> library(HypergeoMat)
> IncGamma(m=50, 2+2i, 5-6i)
[1] 0.3841221+0.3348439i
Wolfram上的結果相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.