Estou tendo uma tremenda dificuldade em avaliar com o pacote em R. No meu caso, os valores de , , são sempre números reais positivos. Mesmo assim, a função hipergeométrica é incrivelmente sensível aos seus valores. Não estou procurando por extrema precisão; Posso usar o Excel para obter uma estimativa aproximada da hipergeometria Guass que é adequada para meus propósitos.a b chypergeo
Alguma sugestão para uma implementação em R que fornecerá um cálculo hipergeométrico gaussiano rápido, sem erros, se não super preciso, de números reais positivos com uma ampla gama de valores?
Edit: parece que há muito mais código para isso no MATLAB do que R. Quaisquer pensamentos sobre o porquê?
r
hypergeometric
benrolls
fonte
fonte
Respostas:
A menos que você precise avaliar a função hipergeométrica de Gauss para valores complexos dos parâmetros ou da variável, é melhor usar o
gsl
pacote de Robin Hankin .Atualizar
Aqui está minha implementação alternativa com o pacote gmp (pelo menos por diversão)
fonte
A fórmula de Stéphane Laurent acima é ótima. Tenho notado que às vezes produz
NaN
s quandoa
,b
,c
são grandes ez
é negativo - Eu não tenho sido capaz de fixar as condições precisas para baixo. Nesses casos, podemos usar outra transformação hipergeométrica a partir da expressão alternativa de Stéphane. Isso leva a esta fórmula alternativa:Por exemplo:
todos os três concordando com o Mathematica
Hypergeometric2F1
. Esta fórmula parece bem comportado também para menoresa
,b
,c
. Observe que há casos em que essa fórmula forneceNaN
e a de Stéphane não , no entanto. Melhor verificar caso a caso.fonte