summaryrefslogtreecommitdiff
path: root/gsl-1.9/doc/specfunc-hyperg.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gsl-1.9/doc/specfunc-hyperg.texi')
-rw-r--r--gsl-1.9/doc/specfunc-hyperg.texi108
1 files changed, 108 insertions, 0 deletions
diff --git a/gsl-1.9/doc/specfunc-hyperg.texi b/gsl-1.9/doc/specfunc-hyperg.texi
new file mode 100644
index 0000000..c67eb8c
--- /dev/null
+++ b/gsl-1.9/doc/specfunc-hyperg.texi
@@ -0,0 +1,108 @@
+@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