Necesito calcular la función hipergeométrica de Gauss $${}_{2}F_{1}(a,b;c;x)$$ para el caso en que uno de $|a|$ o $|b|$ es grande y $x\ll 0$ o $ x \approx 1$ . Al emplear algunos transformaciones lineales Puedo elegir si quiero $x\ll 0$ o $ x \approx 1$ pero los parámetros superiores siguen siendo grandes en valor absoluto.
Por ejemplo, considere $a=1000, b=0.006, c=0.01, x = -9000$ . Utilizando las transformaciones o no, estos valores de los parámetros dan lugar a errores con hypergeom en MATLAB, hyperg_2F1 de la gsl en R y hypergeo de la hypergeo en R. Funciona cuando $a$ es de alrededor de 100. Sin embargo, necesito calcular ${}_{2}F_{1}$ con $a$ a partir de $10^6$ .
¿Hay algún truco conocido para este problema?
0 votos
Wolfram Mathematica no tiene problemas con esa entrada, aunque para $a = 10^6$ el tiempo de cálculo es de unos segundos.
0 votos
@uranix Eso es interesante - entonces al menos puedo estar seguro de que hay maneras de hacer esto. ¿Cuánto tiempo de computación para $a=10^6$ ?
0 votos
2 segundos. Encontré una interesante recurrencia aquí en la página 31 people.maths.ox.ac.uk/porterm/research/pearson_final.pdf . Estoy desarrollando una respuesta ahora
0 votos
Pero hay un error, trataré de arreglarlo