Ich habe enorme Schwierigkeiten, 2 F 1 ( a , b ; c ; z ) mit dem Paket in R zu bewerten . In meinem Fall sind die Werte von a , b , c immer positive reelle Zahlen. Trotzdem ist die hypergeometrische Funktion unglaublich empfindlich gegenüber ihren Werten. Ich suche keine extreme Präzision; Ich kann Excel verwenden, um eine grobe Schätzung der Guge-Hypergeometrie zu erhalten, die für meine Zwecke in Ordnung ist.hypergeo
Irgendwelche Vorschläge für eine Implementierung in R, die eine schnelle, fehlerfreie, wenn nicht sehr genaue hypergeometrische Gaußsche Berechnung positiver reeller Zahlen mit einem breiten Wertebereich ermöglicht?
Edit: Es scheint, dass es in MATLAB weit mehr Code dafür gibt als in R. Irgendwelche Gedanken darüber, warum?
r
hypergeometric
benrolls
quelle
quelle
Antworten:
Wenn Sie die hypergeometrische Gauß-Funktion nicht für komplexe Werte der Parameter oder der Variablen auswerten müssen, ist es besser, das
gsl
Paket von Robin Hankin zu verwenden .Aktualisieren
Hier ist meine alternative Implementierung mit dem gmp-Paket (zumindest zum Spaß)
quelle
@ Stéphane Laurent's Formel oben ist großartig. Ich habe bemerkt , dass es manchmal produziert
NaN
s , wenna
,b
,c
sind groß undz
negativ ist - ich habe unten nicht in der Lage , die genauen Bedingungen zu fixieren. In diesen Fällen können wir eine andere hypergeometrische Transformation verwenden, die von Stéphanes alternativem Ausdruck ausgeht. Es führt zu dieser alternativen Formel:Zum Beispiel:
Alle drei stimmen mit Mathematica überein
Hypergeometric2F1
. Diese Formel scheint für kleinere auch gut benommena
,b
,c
. Beachten Sie, dass es Fälle gibt, in denen diese Formel gibtNaN
und Stéphane nicht . Am besten von Fall zu Fall prüfen.quelle