Saya mengalami kesulitan luar biasa mengevaluasi dengan paket di R. Dalam kasus saya, nilai , , selalu bilangan real positif. Meski begitu, fungsi hypergeometrik sangat sensitif terhadap nilai-nilai mereka. Saya tidak mencari presisi ekstrim; Saya dapat menggunakan Excel untuk mendapatkan estimasi kasar dari hypergeometrik Guass yang baik untuk tujuan saya.hypergeo
Adakah saran untuk implementasi dalam R yang akan memberikan perhitungan hypergeometrik Gaussian yang cepat, bebas kesalahan, jika tidak super akurat dari bilangan real positif dengan berbagai nilai?
Sunting: sepertinya ada jauh lebih banyak kode untuk ini di MATLAB daripada R. Ada pemikiran mengapa?
r
hypergeometric
Benrolls
sumber
sumber
Jawaban:
Kecuali jika Anda perlu mengevaluasi fungsi hypergeometrik Gauss untuk nilai-nilai kompleks dari parameter atau variabel, lebih baik menggunakan
gsl
paket Robin Hankin .Berdasarkan pengalaman saya, saya juga merekomendasikan untuk hanya mengevaluasi fungsi hypergeometrik Gauss untuk nilai variabel yang terletak pada , dan menggunakan rumus transformasi untuk nilai dalam .[0,1] ]−∞,0]
Memperbarui
Berikut ini adalah implementasi alternatif saya dengan paket gmp (setidaknya, untuk bersenang-senang)
sumber
@ Stéphane Formula Laurent di atas sangat bagus. Aku telah memperhatikan bahwa kadang-kadang menghasilkan
NaN
s ketikaa
,b
,c
besar danz
negatif - saya belum mampu pin kondisi yang tepat ke bawah. Dalam kasus ini kita dapat menggunakan transformasi hypergeometrik lain mulai dari ekspresi alternatif Stéphane. Ini mengarah ke formula alternatif ini:Sebagai contoh:
ketiganya setuju dengan Mathematica
Hypergeometric2F1
. Formula ini tampaknya berperilaku baik juga untuk lebih kecila
,b
,c
. Perhatikan bahwa ada kasus-kasus di mana formula ini memberiNaN
dan Stéphane tidak . Terbaik untuk memeriksa kasus per kasus.sumber