R

R中超幾何函數的計算

  • August 1, 2012

我很難評估使用hypergeoR 中的包。在我的情況下,值為,,總是正實數。即便如此,超幾何函數對它們的值非常敏感。我不是在尋找極端的精確度;我可以使用 Excel 粗略估計適合我的目的的 Guass 超幾何。

對於 R 中的實現,有什麼建議可以對具有廣泛值的正實數進行快速、無錯誤、即使不是超精確的高斯超幾何計算?

編輯:似乎 MATLAB 中的代碼比 R 多得多。有什麼想法嗎?

除非您需要評估參數或變量的複數值的高斯超幾何函數,否則最好使用 Robin Hankin 的gsl包。

根據我的經驗,我還建議只評估高斯超幾何函數的變量值, 並對中的值使用轉換公式.

library(gsl)
Gauss2F1 <- function(a,b,c,x){
   if(x>=0 & x<1){
       hyperg_2F1(a,b,c,x)
   }else{
           hyperg_2F1(c-a,b,c,1-1/(1-x))/(1-x)^b
       }
}

更新

這是我使用 gmp 包的替代實現(至少,為了好玩)

引用自:https://stats.stackexchange.com/questions/33451

comments powered by Disqus