At Thu, 21 Jan 2010 16:12:45 +0100, Lorenzo Moneta wrote: > gsl_sf_hyperg_1F1(-1.5, 1.5, - 99.9) returns the correct value of > 4.55768964383819423e+02 > while gsl_sf_hyperg_1F1(-1.5, 1.5, -100.) returns -1.13760e+20 when the > correct value is 456.44 (from Mathematica) > I think the Kummer formula ( 1F1(a,b,x) = exp(-x) * 1F1(b-a,b,-x) could be > used for larger value of |x| ( at least works for |x| = 700), while > the current cut-off is for |x| < 100.
Thanks for the suggestion, Lorenzo. I've added a test case for your example and extended the range for using the Kummer formula up to |x|<2*GSL_LOG_DBL_MAX (|x| < ~1400) -- so it is computed correctly now. -- Brian Gough GNU Scientific Library - http://www.gnu.org/software/gsl/ _______________________________________________ Bug-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-gsl
