| @cindex hypergeometric functions |
| @cindex confluent hypergeometric functions |
| |
| Hypergeometric functions are described in Abramowitz & Stegun, Chapters |
| 13 and 15. These functions are declared in the header file |
| @file{gsl_sf_hyperg.h}. |
| |
| @deftypefun double gsl_sf_hyperg_0F1 (double @var{c}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_0F1_e (double @var{c}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the hypergeometric function @c{${}_0F_1(c,x)$} |
| @math{0F1(c,x)}. |
| @comment It is related to Bessel functions |
| @comment 0F1[c,x] = |
| @comment Gamma[c] x^(1/2(1-c)) I_(c-1)(2 Sqrt[x]) |
| @comment Gamma[c] (-x)^(1/2(1-c)) J_(c-1)(2 Sqrt[-x]) |
| @comment exceptions: GSL_EOVRFLW, GSL_EUNDRFLW |
| @end deftypefun |
| |
| @deftypefun double gsl_sf_hyperg_1F1_int (int @var{m}, int @var{n}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_1F1_int_e (int @var{m}, int @var{n}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the confluent hypergeometric function |
| @c{${}_1F_1(m,n,x) = M(m,n,x)$} |
| @math{1F1(m,n,x) = M(m,n,x)} for integer parameters @var{m}, @var{n}. |
| @comment exceptions: |
| @end deftypefun |
| |
| @deftypefun double gsl_sf_hyperg_1F1 (double @var{a}, double @var{b}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_1F1_e (double @var{a}, double @var{b}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the confluent hypergeometric function |
| @c{${}_1F_1(a,b,x) = M(a,b,x)$} |
| @math{1F1(a,b,x) = M(a,b,x)} for general parameters @var{a}, @var{b}. |
| @comment exceptions: |
| @end deftypefun |
| |
| @deftypefun double gsl_sf_hyperg_U_int (int @var{m}, int @var{n}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_U_int_e (int @var{m}, int @var{n}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the confluent hypergeometric function |
| @math{U(m,n,x)} for integer parameters @var{m}, @var{n}. |
| @comment exceptions: |
| @end deftypefun |
| |
| @deftypefun int gsl_sf_hyperg_U_int_e10_e (int @var{m}, int @var{n}, double @var{x}, gsl_sf_result_e10 * @var{result}) |
| This routine computes the confluent hypergeometric function |
| @math{U(m,n,x)} for integer parameters @var{m}, @var{n} using the |
| @code{gsl_sf_result_e10} type to return a result with extended range. |
| @end deftypefun |
| |
| @deftypefun double gsl_sf_hyperg_U (double @var{a}, double @var{b}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_U_e (double @var{a}, double @var{b}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the confluent hypergeometric function @math{U(a,b,x)}. |
| @comment exceptions: |
| @end deftypefun |
| |
| @deftypefun int gsl_sf_hyperg_U_e10_e (double @var{a}, double @var{b}, double @var{x}, gsl_sf_result_e10 * @var{result}) |
| This routine computes the confluent hypergeometric function |
| @math{U(a,b,x)} using the @code{gsl_sf_result_e10} type to return a |
| result with extended range. |
| @comment exceptions: |
| @end deftypefun |
| |
| @deftypefun double gsl_sf_hyperg_2F1 (double @var{a}, double @var{b}, double @var{c}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_2F1_e (double @var{a}, double @var{b}, double @var{c}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the Gauss hypergeometric function |
| @c{${}_2F_1(a,b,c,x)$} |
| @math{2F1(a,b,c,x)} for @math{|x| < 1}. |
| |
| If the arguments @math{(a,b,c,x)} are too close to a singularity then |
| the function can return the error code @code{GSL_EMAXITER} when the |
| series approximation converges too slowly. This occurs in the region of |
| @math{x=1}, @math{c - a - b = m} for integer m. |
| @comment exceptions: |
| @end deftypefun |
| |
| @deftypefun double gsl_sf_hyperg_2F1_conj (double @var{aR}, double @var{aI}, double @var{c}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_2F1_conj_e (double @var{aR}, double @var{aI}, double @var{c}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the Gauss hypergeometric function |
| @c{${}_2F_1(a_R + i a_I, aR - i aI, c, x)$} |
| @math{2F1(a_R + i a_I, a_R - i a_I, c, x)} with complex parameters |
| for @math{|x| < 1}. |
| exceptions: |
| @end deftypefun |
| |
| @deftypefun double gsl_sf_hyperg_2F1_renorm (double @var{a}, double @var{b}, double @var{c}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_2F1_renorm_e (double @var{a}, double @var{b}, double @var{c}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the renormalized Gauss hypergeometric function |
| @c{${}_2F_1(a,b,c,x) / \Gamma(c)$} |
| @math{2F1(a,b,c,x) / \Gamma(c)} for @math{|x| < 1}. |
| @comment exceptions: |
| @end deftypefun |
| |
| @deftypefun double gsl_sf_hyperg_2F1_conj_renorm (double @var{aR}, double @var{aI}, double @var{c}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_2F1_conj_renorm_e (double @var{aR}, double @var{aI}, double @var{c}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the renormalized Gauss hypergeometric function |
| @c{${}_2F_1(a_R + i a_I, a_R - i a_I, c, x) / \Gamma(c)$} |
| @math{2F1(a_R + i a_I, a_R - i a_I, c, x) / \Gamma(c)} for @math{|x| < 1}. |
| @comment exceptions: |
| @end deftypefun |
| |
| @deftypefun double gsl_sf_hyperg_2F0 (double @var{a}, double @var{b}, double @var{x}) |
| @deftypefunx int gsl_sf_hyperg_2F0_e (double @var{a}, double @var{b}, double @var{x}, gsl_sf_result * @var{result}) |
| These routines compute the hypergeometric function @c{${}_2F_0(a,b,x)$} |
| @math{2F0(a,b,x)}. The series representation |
| is a divergent hypergeometric series. However, for @math{x < 0} we |
| have |
| @c{${}_2F_0(a,b,x) = (-1/x)^a U(a,1+a-b,-1/x)$} |
| @math{2F0(a,b,x) = (-1/x)^a U(a,1+a-b,-1/x)} |
| @comment exceptions: GSL_EDOM |
| @end deftypefun |