Blame doc/specfunc-bessel.rst

Packit 67cb25
.. index:: Bessel functions
Packit 67cb25
Packit 67cb25
The routines described in this section compute the Cylindrical Bessel
Packit 67cb25
functions :math:`J_n(x)`, :math:`Y_n(x)`, Modified cylindrical Bessel
Packit 67cb25
functions :math:`I_n(x)`, :math:`K_n(x)`, Spherical Bessel functions
Packit 67cb25
:math:`j_l(x)`, :math:`y_l(x)`, and Modified Spherical Bessel functions
Packit 67cb25
:math:`i_l(x)`, :math:`k_l(x)`.  For more information see Abramowitz & Stegun,
Packit 67cb25
Chapters 9 and 10.  The Bessel functions are defined in the header file
Packit 67cb25
:file:`gsl_sf_bessel.h`.
Packit 67cb25
Packit 67cb25
Regular Cylindrical Bessel Functions
Packit 67cb25
------------------------------------
Packit 67cb25
.. index:: Cylindrical Bessel Functions
Packit 67cb25
.. index:: Regular Cylindrical Bessel Functions
Packit 67cb25
.. index::
Packit 67cb25
   single: J(x), Bessel Functions
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_J0 (double x)
Packit 67cb25
              int gsl_sf_bessel_J0_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular cylindrical Bessel function of zeroth
Packit 67cb25
   order, :math:`J_0(x)`.
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_J1 (double x)
Packit 67cb25
              int gsl_sf_bessel_J1_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular cylindrical Bessel function of first
Packit 67cb25
   order, :math:`J_1(x)`.
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Jn (int n, double x)
Packit 67cb25
              int gsl_sf_bessel_Jn_e (int n, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular cylindrical Bessel function of 
Packit 67cb25
   order :data:`n`, :math:`J_n(x)`.
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_Jn_array (int nmin, int nmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the regular cylindrical Bessel
Packit 67cb25
   functions :math:`J_n(x)` for :math:`n` from :data:`nmin` to :data:`nmax`
Packit 67cb25
   inclusive, storing the results in the array :data:`result_array`.  The
Packit 67cb25
   values are computed using recurrence relations for efficiency, and
Packit 67cb25
   therefore may differ slightly from the exact values.
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
Packit 67cb25
Irregular Cylindrical Bessel Functions
Packit 67cb25
--------------------------------------
Packit 67cb25
.. index:: Irregular Cylindrical Bessel Functions
Packit 67cb25
.. index::
Packit 67cb25
   single: Y(x), Bessel Functions
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Y0 (double x)
Packit 67cb25
              int gsl_sf_bessel_Y0_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular cylindrical Bessel function of zeroth
Packit 67cb25
   order, :math:`Y_0(x)`, for :math:`x>0`.
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Y1 (double x)
Packit 67cb25
              int gsl_sf_bessel_Y1_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular cylindrical Bessel function of first
Packit 67cb25
   order, :math:`Y_1(x)`, for :math:`x>0`.
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Yn (int n, double x)
Packit 67cb25
              int gsl_sf_bessel_Yn_e (int n, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular cylindrical Bessel function of 
Packit 67cb25
   order :data:`n`, :math:`Y_n(x)`, for :math:`x>0`.
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_Yn_array (int nmin, int nmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the irregular cylindrical Bessel
Packit 67cb25
   functions :math:`Y_n(x)` for :math:`n` from :data:`nmin` to :data:`nmax`
Packit 67cb25
   inclusive, storing the results in the array :data:`result_array`.  The
Packit 67cb25
   domain of the function is :math:`x>0`.  The values are computed using
Packit 67cb25
   recurrence relations for efficiency, and therefore may differ slightly
Packit 67cb25
   from the exact values.
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
Regular Modified Cylindrical Bessel Functions
Packit 67cb25
---------------------------------------------
Packit 67cb25
.. index:: Modified Cylindrical Bessel Functions
Packit 67cb25
.. index:: Regular Modified Cylindrical Bessel Functions
Packit 67cb25
.. index::
Packit 67cb25
   single: I(x), Bessel Functions
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_I0 (double x)
Packit 67cb25
              int gsl_sf_bessel_I0_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular modified cylindrical Bessel function
Packit 67cb25
   of zeroth order, :math:`I_0(x)`.
Packit 67cb25
.. Exceptional Return Values: GSL_EOVRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_I1 (double x)
Packit 67cb25
              int gsl_sf_bessel_I1_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular modified cylindrical Bessel function
Packit 67cb25
   of first order, :math:`I_1(x)`.
Packit 67cb25
.. Exceptional Return Values: GSL_EOVRFLW, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_In (int n, double x)
Packit 67cb25
              int gsl_sf_bessel_In_e (int n, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular modified cylindrical Bessel function
Packit 67cb25
   of order :data:`n`, :math:`I_n(x)`.
Packit 67cb25
.. Exceptional Return Values: GSL_EOVRFLW, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_In_array (int nmin, int nmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the regular modified cylindrical
Packit 67cb25
   Bessel functions :math:`I_n(x)` for :math:`n` from :data:`nmin` to
Packit 67cb25
   :data:`nmax` inclusive, storing the results in the array
Packit 67cb25
   :data:`result_array`.  The start of the range :data:`nmin` must be positive
Packit 67cb25
   or zero.  The values are computed using recurrence relations for
Packit 67cb25
   efficiency, and therefore may differ slightly from the exact values.
Packit 67cb25
.. Domain: nmin >=0, nmax >= nmin 
Packit 67cb25
.. Conditions: n=nmin,...,nmax, nmin >=0, nmax >= nmin 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_I0_scaled (double x)
Packit 67cb25
              int gsl_sf_bessel_I0_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled regular modified cylindrical Bessel
Packit 67cb25
   function of zeroth order :math:`\exp(-|x|) I_0(x)`.
Packit 67cb25
.. Exceptional Return Values: none
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_I1_scaled (double x)
Packit 67cb25
              int gsl_sf_bessel_I1_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled regular modified cylindrical Bessel
Packit 67cb25
   function of first order :math:`\exp(-|x|) I_1(x)`.
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_In_scaled (int n, double x)
Packit 67cb25
              int gsl_sf_bessel_In_scaled_e (int n, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled regular modified cylindrical Bessel
Packit 67cb25
   function of order :data:`n`, :math:`\exp(-|x|) I_n(x)` 
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_In_scaled_array (int nmin, int nmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the scaled regular cylindrical
Packit 67cb25
   Bessel functions :math:`\exp(-|x|) I_n(x)` for :math:`n` from
Packit 67cb25
   :data:`nmin` to :data:`nmax` inclusive, storing the results in the array
Packit 67cb25
   :data:`result_array`. The start of the range :data:`nmin` must be positive
Packit 67cb25
   or zero.  The values are computed using recurrence relations for
Packit 67cb25
   efficiency, and therefore may differ slightly from the exact values.
Packit 67cb25
.. Domain: nmin >=0, nmax >= nmin 
Packit 67cb25
.. Conditions:  n=nmin,...,nmax 
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
Irregular Modified Cylindrical Bessel Functions
Packit 67cb25
-----------------------------------------------
Packit 67cb25
.. index:: Irregular Modified Cylindrical Bessel Functions
Packit 67cb25
.. index::
Packit 67cb25
   single: K(x), Bessel Functions
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_K0 (double x)
Packit 67cb25
              int gsl_sf_bessel_K0_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular modified cylindrical Bessel
Packit 67cb25
   function of zeroth order, :math:`K_0(x)`, for :math:`x > 0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_K1 (double x)
Packit 67cb25
              int gsl_sf_bessel_K1_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular modified cylindrical Bessel
Packit 67cb25
   function of first order, :math:`K_1(x)`, for :math:`x > 0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Kn (int n, double x)
Packit 67cb25
              int gsl_sf_bessel_Kn_e (int n, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular modified cylindrical Bessel
Packit 67cb25
   function of order :data:`n`, :math:`K_n(x)`, for :math:`x > 0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_Kn_array (int nmin, int nmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the irregular modified cylindrical
Packit 67cb25
   Bessel functions :math:`K_n(x)` for :math:`n` from :data:`nmin` to
Packit 67cb25
   :data:`nmax` inclusive, storing the results in the array
Packit 67cb25
   :data:`result_array`. The start of the range :data:`nmin` must be positive
Packit 67cb25
   or zero. The domain of the function is :math:`x>0`. The values are
Packit 67cb25
   computed using recurrence relations for efficiency, and therefore
Packit 67cb25
   may differ slightly from the exact values.
Packit 67cb25
.. Conditions: n=nmin,...,nmax 
Packit 67cb25
.. Domain: x > 0.0, nmin>=0, nmax >= nmin
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_K0_scaled (double x)
Packit 67cb25
              int gsl_sf_bessel_K0_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled irregular modified cylindrical Bessel
Packit 67cb25
   function of zeroth order :math:`\exp(x) K_0(x)` for :math:`x>0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_K1_scaled (double x) 
Packit 67cb25
              int gsl_sf_bessel_K1_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled irregular modified cylindrical Bessel
Packit 67cb25
   function of first order :math:`\exp(x) K_1(x)` for :math:`x>0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Kn_scaled (int n, double x)
Packit 67cb25
              int gsl_sf_bessel_Kn_scaled_e (int n, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled irregular modified cylindrical Bessel
Packit 67cb25
   function of order :data:`n`, :math:`\exp(x) K_n(x)`, for :math:`x>0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_Kn_scaled_array (int nmin, int nmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the scaled irregular cylindrical
Packit 67cb25
   Bessel functions :math:`\exp(x) K_n(x)` for :math:`n` from :data:`nmin` to
Packit 67cb25
   :data:`nmax` inclusive, storing the results in the array
Packit 67cb25
   :data:`result_array`. The start of the range :data:`nmin` must be positive
Packit 67cb25
   or zero.  The domain of the function is :math:`x>0`. The values are
Packit 67cb25
   computed using recurrence relations for efficiency, and therefore
Packit 67cb25
   may differ slightly from the exact values.
Packit 67cb25
.. Domain: x > 0.0, nmin >=0, nmax >= nmin 
Packit 67cb25
.. Conditions: n=nmin,...,nmax 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
Regular Spherical Bessel Functions
Packit 67cb25
----------------------------------
Packit 67cb25
.. index:: Spherical Bessel Functions
Packit 67cb25
.. index:: Regular Spherical Bessel Functions
Packit 67cb25
.. index::
Packit 67cb25
   single: j(x), Bessel Functions
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_j0 (double x)
Packit 67cb25
              int gsl_sf_bessel_j0_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular spherical Bessel function of zeroth
Packit 67cb25
   order, :math:`j_0(x) = \sin(x)/x`.
Packit 67cb25
.. Exceptional Return Values: none
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_j1 (double x)
Packit 67cb25
              int gsl_sf_bessel_j1_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular spherical Bessel function of first
Packit 67cb25
   order, :math:`j_1(x) = (\sin(x)/x - \cos(x))/x`.
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_j2 (double x)
Packit 67cb25
              int gsl_sf_bessel_j2_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular spherical Bessel function of second
Packit 67cb25
   order, :math:`j_2(x) = ((3/x^2 - 1)\sin(x) - 3\cos(x)/x)/x`.
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_jl (int l, double x)
Packit 67cb25
              int gsl_sf_bessel_jl_e (int l, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular spherical Bessel function of 
Packit 67cb25
   order :data:`l`, :math:`j_l(x)`, for
Packit 67cb25
   :math:`l \geq 0` and :math:`x \geq 0`.
Packit 67cb25
.. Domain: l >= 0, x >= 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_jl_array (int lmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the regular spherical Bessel
Packit 67cb25
   functions :math:`j_l(x)` for :math:`l` from 0 to :data:`lmax`
Packit 67cb25
   inclusive  for
Packit 67cb25
   :math:`lmax \geq 0` and
Packit 67cb25
   :math:`x \geq 0`, storing the results in the array :data:`result_array`.
Packit 67cb25
   The values are computed using recurrence relations for
Packit 67cb25
   efficiency, and therefore may differ slightly from the exact values.
Packit 67cb25
.. Domain: lmax >= 0 
Packit 67cb25
.. Conditions: l=0,1,...,lmax 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_jl_steed_array (int lmax, double x, double * result_array)
Packit 67cb25
Packit 67cb25
   This routine uses Steed's method to compute the values of the regular
Packit 67cb25
   spherical Bessel functions :math:`j_l(x)` for :math:`l` from 0 to
Packit 67cb25
   :data:`lmax` inclusive for
Packit 67cb25
   :math:`lmax \geq 0` and
Packit 67cb25
   :math:`x \geq 0`, storing the results in the array
Packit 67cb25
   :data:`result_array`.
Packit 67cb25
   The Steed/Barnett algorithm is described in Comp. Phys. Comm. 21,
Packit 67cb25
   297 (1981).  Steed's method is more stable than the
Packit 67cb25
   recurrence used in the other functions but is also slower.
Packit 67cb25
.. Domain: lmax >= 0 
Packit 67cb25
.. Conditions: l=0,1,...,lmax 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
Irregular Spherical Bessel Functions
Packit 67cb25
------------------------------------
Packit 67cb25
.. index:: Irregular Spherical Bessel Functions
Packit 67cb25
.. index::
Packit 67cb25
   single: y(x), Bessel Functions
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_y0 (double x)
Packit 67cb25
              int gsl_sf_bessel_y0_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular spherical Bessel function of zeroth
Packit 67cb25
   order, :math:`y_0(x) = -\cos(x)/x`.
Packit 67cb25
.. Exceptional Return Values: none
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_y1 (double x)
Packit 67cb25
              int gsl_sf_bessel_y1_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular spherical Bessel function of first
Packit 67cb25
   order, :math:`y_1(x) = -(\cos(x)/x + \sin(x))/x`.
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_y2 (double x)
Packit 67cb25
              int gsl_sf_bessel_y2_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular spherical Bessel function of second
Packit 67cb25
   order, :math:`y_2(x) = (-3/x^3 + 1/x)\cos(x) - (3/x^2)\sin(x)`.
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_yl (int l, double x)
Packit 67cb25
              int gsl_sf_bessel_yl_e (int l, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular spherical Bessel function of 
Packit 67cb25
   order :data:`l`, :math:`y_l(x)`, for
Packit 67cb25
   :math:`l \geq 0`.
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_yl_array (int lmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the irregular spherical Bessel
Packit 67cb25
   functions :math:`y_l(x)` for :math:`l` from 0 to :data:`lmax`
Packit 67cb25
   inclusive for
Packit 67cb25
   :math:`lmax \geq 0`, storing the results in the array :data:`result_array`.
Packit 67cb25
   The values are computed using recurrence relations for
Packit 67cb25
   efficiency, and therefore may differ slightly from the exact values.
Packit 67cb25
.. Domain: lmax >= 0 
Packit 67cb25
.. Conditions: l=0,1,...,lmax 
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
Regular Modified Spherical Bessel Functions
Packit 67cb25
-------------------------------------------
Packit 67cb25
.. index:: Modified Spherical Bessel Functions
Packit 67cb25
.. index:: Regular Modified Spherical Bessel Functions
Packit 67cb25
.. index::
Packit 67cb25
   single: i(x), Bessel Functions
Packit 67cb25
Packit 67cb25
The regular modified spherical Bessel functions :math:`i_l(x)` 
Packit 67cb25
are related to the modified Bessel functions of fractional order,
Packit 67cb25
:math:`i_l(x) = \sqrt{\pi/(2x)} I_{l+1/2}(x)`
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_i0_scaled (double x)
Packit 67cb25
              int gsl_sf_bessel_i0_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled regular modified spherical Bessel
Packit 67cb25
   function of zeroth order, :math:`\exp(-|x|) i_0(x)`.
Packit 67cb25
.. Exceptional Return Values: none
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_i1_scaled (double x)
Packit 67cb25
              int gsl_sf_bessel_i1_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled regular modified spherical Bessel
Packit 67cb25
   function of first order, :math:`\exp(-|x|) i_1(x)`.
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_i2_scaled (double x)
Packit 67cb25
              int gsl_sf_bessel_i2_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled regular modified spherical Bessel
Packit 67cb25
   function of second order, :math:`\exp(-|x|) i_2(x)` 
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_il_scaled (int l, double x)
Packit 67cb25
              int gsl_sf_bessel_il_scaled_e (int l, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled regular modified spherical Bessel
Packit 67cb25
   function of order :data:`l`, :math:`\exp(-|x|) i_l(x)`
Packit 67cb25
.. Domain: l >= 0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_il_scaled_array (int lmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the scaled regular modified
Packit 67cb25
   spherical Bessel functions :math:`\exp(-|x|) i_l(x)` for :math:`l` from
Packit 67cb25
   0 to :data:`lmax` inclusive for
Packit 67cb25
   :math:`lmax \geq 0`, storing the results in
Packit 67cb25
   the array :data:`result_array`. 
Packit 67cb25
   The values are computed using recurrence relations for
Packit 67cb25
   efficiency, and therefore may differ slightly from the exact values.
Packit 67cb25
.. Domain: lmax >= 0 
Packit 67cb25
.. Conditions: l=0,1,...,lmax 
Packit 67cb25
.. Exceptional Return Values: GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
Irregular Modified Spherical Bessel Functions
Packit 67cb25
---------------------------------------------
Packit 67cb25
.. index:: Irregular Modified Spherical Bessel Functions
Packit 67cb25
.. index::
Packit 67cb25
   single: k(x), Bessel Functions
Packit 67cb25
Packit 67cb25
The irregular modified spherical Bessel functions :math:`k_l(x)`
Packit 67cb25
are related to the irregular modified Bessel functions of fractional order,
Packit 67cb25
:math:`k_l(x) = \sqrt{\pi/(2x)} K_{l+1/2}(x)`.
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_k0_scaled (double x)
Packit 67cb25
              int gsl_sf_bessel_k0_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled irregular modified spherical Bessel
Packit 67cb25
   function of zeroth order, :math:`\exp(x) k_0(x)`, for :math:`x>0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_k1_scaled (double x)
Packit 67cb25
              int gsl_sf_bessel_k1_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled irregular modified spherical Bessel
Packit 67cb25
   function of first order, :math:`\exp(x) k_1(x)`, for :math:`x>0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW, GSL_EOVRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_k2_scaled (double x)
Packit 67cb25
              int gsl_sf_bessel_k2_scaled_e (double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled irregular modified spherical Bessel
Packit 67cb25
   function of second order, :math:`\exp(x) k_2(x)`, for :math:`x>0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW, GSL_EOVRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_kl_scaled (int l, double x)
Packit 67cb25
              int gsl_sf_bessel_kl_scaled_e (int l, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled irregular modified spherical Bessel
Packit 67cb25
   function of order :data:`l`, :math:`\exp(x) k_l(x)`, for :math:`x>0`.
Packit 67cb25
.. Domain: x > 0.0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_kl_scaled_array (int lmax, double x, double result_array[])
Packit 67cb25
Packit 67cb25
   This routine computes the values of the scaled irregular modified
Packit 67cb25
   spherical Bessel functions :math:`\exp(x) k_l(x)` for :math:`l` from
Packit 67cb25
   0 to :data:`lmax` inclusive for
Packit 67cb25
   :math:`lmax \geq 0` and :math:`x>0`, storing the results in
Packit 67cb25
   the array :data:`result_array`. 
Packit 67cb25
   The values are computed using recurrence relations for
Packit 67cb25
   efficiency, and therefore may differ slightly from the exact values.
Packit 67cb25
.. Domain: lmax >= 0 
Packit 67cb25
.. Conditions: l=0,1,...,lmax 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
Regular Bessel Function---Fractional Order
Packit 67cb25
------------------------------------------
Packit 67cb25
.. index::
Packit 67cb25
   single: Fractional Order Bessel Functions
Packit 67cb25
   single: Bessel Functions, Fractional Order
Packit 67cb25
   single: Regular Bessel Functions, Fractional Order
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Jnu (double nu, double x)
Packit 67cb25
              int gsl_sf_bessel_Jnu_e (double nu, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular cylindrical Bessel function of
Packit 67cb25
   fractional order :math:`\nu`, :math:`J_\nu(x)`.
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: int gsl_sf_bessel_sequence_Jnu_e (double nu, gsl_mode_t mode, size_t size, double v[])
Packit 67cb25
Packit 67cb25
   This function computes the regular cylindrical Bessel function of
Packit 67cb25
   fractional order :math:`\nu`, :math:`J_\nu(x)`, evaluated at a series of
Packit 67cb25
   :math:`x` values.  The array :data:`v` of length :data:`size` contains the
Packit 67cb25
   :math:`x` values.  They are assumed to be strictly ordered and positive.
Packit 67cb25
   The array is over-written with the values of :math:`J_\nu(x_i)`.
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EINVAL
Packit 67cb25
Packit 67cb25
Irregular Bessel Functions---Fractional Order
Packit 67cb25
---------------------------------------------
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Ynu (double nu, double x)
Packit 67cb25
              int gsl_sf_bessel_Ynu_e (double nu, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular cylindrical Bessel function of
Packit 67cb25
   fractional order :math:`\nu`, :math:`Y_\nu(x)`.
Packit 67cb25
.. Exceptional Return Values: 
Packit 67cb25
Packit 67cb25
Regular Modified Bessel Functions---Fractional Order
Packit 67cb25
----------------------------------------------------
Packit 67cb25
.. index::
Packit 67cb25
   single: Modified Bessel Functions, Fractional Order
Packit 67cb25
   single: Regular Modified Bessel Functions, Fractional Order
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Inu (double nu, double x)
Packit 67cb25
              int gsl_sf_bessel_Inu_e (double nu, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the regular modified Bessel function of
Packit 67cb25
   fractional order :math:`\nu`, :math:`I_\nu(x)` for :math:`x>0`,
Packit 67cb25
   :math:`\nu>0`.
Packit 67cb25
.. Domain: x >= 0, nu >= 0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Inu_scaled (double nu, double x)
Packit 67cb25
              int gsl_sf_bessel_Inu_scaled_e (double nu, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled regular modified Bessel function of
Packit 67cb25
   fractional order :math:`\nu`, :math:`\exp(-|x|)I_\nu(x)` for :math:`x>0`,
Packit 67cb25
   :math:`\nu>0`.
Packit 67cb25
.. Domain: x >= 0, nu >= 0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM
Packit 67cb25
Packit 67cb25
Irregular Modified Bessel Functions---Fractional Order
Packit 67cb25
------------------------------------------------------
Packit 67cb25
.. index::
Packit 67cb25
   single: Irregular Modified Bessel Functions, Fractional Order
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Knu (double nu, double x)
Packit 67cb25
              int gsl_sf_bessel_Knu_e (double nu, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the irregular modified Bessel function of
Packit 67cb25
   fractional order :math:`\nu`, :math:`K_\nu(x)` for :math:`x>0`,
Packit 67cb25
   :math:`\nu>0`.
Packit 67cb25
.. Domain: x > 0, nu >= 0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_lnKnu (double nu, double x)
Packit 67cb25
              int gsl_sf_bessel_lnKnu_e (double nu, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the logarithm of the irregular modified Bessel
Packit 67cb25
   function of fractional order :math:`\nu`, :math:`\ln(K_\nu(x))` for
Packit 67cb25
   :math:`x>0`, :math:`\nu>0`. 
Packit 67cb25
.. Domain: x > 0, nu >= 0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_Knu_scaled (double nu, double x)
Packit 67cb25
              int gsl_sf_bessel_Knu_scaled_e (double nu, double x, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the scaled irregular modified Bessel function of
Packit 67cb25
   fractional order :math:`\nu`, :math:`\exp(+|x|) K_\nu(x)` for :math:`x>0`,
Packit 67cb25
   :math:`\nu>0`.
Packit 67cb25
.. Domain: x > 0, nu >= 0 
Packit 67cb25
.. Exceptional Return Values: GSL_EDOM
Packit 67cb25
Packit 67cb25
Zeros of Regular Bessel Functions
Packit 67cb25
---------------------------------
Packit 67cb25
.. index::
Packit 67cb25
   single: Zeros of Regular Bessel Functions
Packit 67cb25
   single: Regular Bessel Functions, Zeros of 
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_zero_J0 (unsigned int s)
Packit 67cb25
              int gsl_sf_bessel_zero_J0_e (unsigned int s, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the location of the :data:`s`-th positive zero of
Packit 67cb25
   the Bessel function :math:`J_0(x)`.
Packit 67cb25
.. Exceptional Return Values: 
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_zero_J1 (unsigned int s)
Packit 67cb25
              int gsl_sf_bessel_zero_J1_e (unsigned int s, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the location of the :data:`s`-th positive zero of
Packit 67cb25
   the Bessel function :math:`J_1(x)`.
Packit 67cb25
.. Exceptional Return Values: 
Packit 67cb25
Packit 67cb25
.. function:: double gsl_sf_bessel_zero_Jnu (double nu, unsigned int s)
Packit 67cb25
              int gsl_sf_bessel_zero_Jnu_e (double nu, unsigned int s, gsl_sf_result * result)
Packit 67cb25
Packit 67cb25
   These routines compute the location of the :data:`s`-th positive zero of
Packit 67cb25
   the Bessel function :math:`J_\nu(x)`.  The current implementation does not
Packit 67cb25
   support negative values of :data:`nu`. 
Packit 67cb25
.. Exceptional Return Values: