- publishing free software manuals
 GNU Scientific Library Reference Manual - Third Edition (v1.12) by M. Galassi, J. Davies, J. Theiler, B. Gough, G. Jungman, P. Alken, M. Booth, F. RossiPaperback (6"x9"), 592 pages, 60 figuresISBN 0954612078RRP £24.95 (\$39.95)

7.21 Hypergeometric Functions

Hypergeometric functions are described in Abramowitz & Stegun, Chapters 13 and 15. These functions are declared in the header file ‘gsl_sf_hyperg.h’.

Function: double gsl_sf_hyperg_0F1 (double c, double x)
Function: int gsl_sf_hyperg_0F1_e (double c, double x, gsl_sf_result * result)
These routines compute the hypergeometric function 0F1(c,x).
Function: double gsl_sf_hyperg_1F1_int (int m, int n, double x)
Function: int gsl_sf_hyperg_1F1_int_e (int m, int n, double x, gsl_sf_result * result)
These routines compute the confluent hypergeometric function of the first kind 1F1(m,n,x) = M(m,n,x) for integer parameters m, n.
Function: double gsl_sf_hyperg_1F1 (double a, double b, double x)
Function: int gsl_sf_hyperg_1F1_e (double a, double b, double x, gsl_sf_result * result)
These routines compute the confluent hypergeometric function 1F1(a,b,x) = M(a,b,x) for general parameters a, b.
Function: double gsl_sf_hyperg_U_int (int m, int n, double x)
Function: int gsl_sf_hyperg_U_int_e (int m, int n, double x, gsl_sf_result * result)
These routines compute the confluent hypergeometric function U(m,n,x) for integer parameters m, n.
Function: int gsl_sf_hyperg_U_int_e10_e (int m, int n, double x, gsl_sf_result_e10 * result)
This routine computes the confluent hypergeometric function U(m,n,x) for integer parameters m, n using the `gsl_sf_result_e10` type to return a result with extended range.
Function: double gsl_sf_hyperg_U (double a, double b, double x)
Function: int gsl_sf_hyperg_U_e (double a, double b, double x, gsl_sf_result * result)
These routines compute the confluent hypergeometric function U(a,b,x).
Function: int gsl_sf_hyperg_U_e10_e (double a, double b, double x, gsl_sf_result_e10 * result)
This routine computes the confluent hypergeometric function U(a,b,x) using the `gsl_sf_result_e10` type to return a result with extended range.
Function: double gsl_sf_hyperg_2F1 (double a, double b, double c, double x)
Function: int gsl_sf_hyperg_2F1_e (double a, double b, double c, double x, gsl_sf_result * result)
These routines compute the Gauss hypergeometric function 2F1(a,b,c,x) = F(a,b,c,x) for |x| < 1.

If the arguments (a,b,c,x) are too close to a singularity then the function can return the error code `GSL_EMAXITER` when the series approximation converges too slowly. This occurs in the region of x=1, c - a - b = m for integer m.

Function: double gsl_sf_hyperg_2F1_conj (double aR, double aI, double c, double x)
Function: int gsl_sf_hyperg_2F1_conj_e (double aR, double aI, double c, double x, gsl_sf_result * result)
These routines compute the Gauss hypergeometric function 2F1(a_R + i a_I, a_R - i a_I, c, x) with complex parameters for |x| < 1. exceptions:
Function: double gsl_sf_hyperg_2F1_renorm (double a, double b, double c, double x)
Function: int gsl_sf_hyperg_2F1_renorm_e (double a, double b, double c, double x, gsl_sf_result * result)
These routines compute the renormalized Gauss hypergeometric function 2F1(a,b,c,x) / \Gamma(c) for |x| < 1.
Function: double gsl_sf_hyperg_2F1_conj_renorm (double aR, double aI, double c, double x)
Function: int gsl_sf_hyperg_2F1_conj_renorm_e (double aR, double aI, double c, double x, gsl_sf_result * result)
These routines compute the renormalized Gauss hypergeometric function 2F1(a_R + i a_I, a_R - i a_I, c, x) / \Gamma(c) for |x| < 1.
Function: double gsl_sf_hyperg_2F0 (double a, double b, double x)
Function: int gsl_sf_hyperg_2F0_e (double a, double b, double x, gsl_sf_result * result)
These routines compute the hypergeometric function 2F0(a,b,x). The series representation is a divergent hypergeometric series. However, for x < 0 we have 2F0(a,b,x) = (-1/x)^a U(a,1+a-b,-1/x)
 ISBN 0954612078 GNU Scientific Library Reference Manual - Third Edition (v1.12) See the print edition