Is there anybody where who knows the ins and outs of the Bessel function implementation in GSL? Under certain circumstances my code is spending over 90% of its time in gsl_sf_bessel_J_CF1. This occurs for large x<1000 and n<50. The time taken to evaluate the continued fraction grows with x.
This observation is supported by the discussion here on the implementation in the Boost library: http://www.boost.org/doc/libs/1_38_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html This suggests that a different continued fraction (CF2) converges much faster than CF1 for x>n. Is there a reason that CF2 is not used in GSL? I don't know about the reasoning behind the implementation and the regimes where each of the various evaluation methods are used. Is there a reason for not using CF2 in the appropriate circumstances, or is it just that nobody has felt the need to implement it up to now? I'd be interested to hear peoples thoughts on this - if it's purely that nobody has bothered yet I might have a go at implementing it if I get a chance. Thanks for any comments Jonny _______________________________________________ Help-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gsl
