#### 7.5.5 Regular Spherical Bessel Functions

Function: double gsl_sf_bessel_j0 (double x)
Function: int gsl_sf_bessel_j0_e (double x, gsl_sf_result * result)

These routines compute the regular spherical Bessel function of zeroth order, j_0(x) = \sin(x)/x.

Function: double gsl_sf_bessel_j1 (double x)
Function: int gsl_sf_bessel_j1_e (double x, gsl_sf_result * result)

These routines compute the regular spherical Bessel function of first order, j_1(x) = (\sin(x)/x - \cos(x))/x.

Function: double gsl_sf_bessel_j2 (double x)
Function: int gsl_sf_bessel_j2_e (double x, gsl_sf_result * result)

These routines compute the regular spherical Bessel function of second order, j_2(x) = ((3/x^2 - 1)\sin(x) - 3\cos(x)/x)/x.

Function: double gsl_sf_bessel_jl (int l, double x)
Function: int gsl_sf_bessel_jl_e (int l, double x, gsl_sf_result * result)

These routines compute the regular spherical Bessel function of order l, j_l(x), for l >= 0 and x >= 0.

Function: int gsl_sf_bessel_jl_array (int lmax, double x, double result_array[])

This routine computes the values of the regular spherical Bessel functions j_l(x) for l from 0 to lmax inclusive for lmax >= 0 and x >= 0, storing the results in the array result_array. The values are computed using recurrence relations for efficiency, and therefore may differ slightly from the exact values.

Function: int gsl_sf_bessel_jl_steed_array (int lmax, double x, double * result_array)

This routine uses Steed’s method to compute the values of the regular spherical Bessel functions j_l(x) for l from 0 to lmax inclusive for lmax >= 0 and x >= 0, storing the results in the array result_array. The Steed/Barnett algorithm is described in Comp. Phys. Comm. 21, 297 (1981). Steed’s method is more stable than the recurrence used in the other functions but is also slower.