簡體   English   中英

在 R 中,具有復雜輸入的不完整伽馬函數?

[英]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 中刪除。 您可以使用IncGammaHypergeoMat

> library(HypergeoMat)
> IncGamma(m=50, 2+2i, 5-6i)
[1] 0.3841221+0.3348439i

Wolfram上的結果相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM