This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Hypergeometric function





hypergeom(a,b,z) represents the generalized hypergeometric function.


Hypergeometric Function for Numeric and Symbolic Arguments

Depending on its arguments, hypergeom can return floating-point or exact symbolic results.

Compute the hypergeometric function for these numbers. Because these numbers are not symbolic objects, you get floating-point results.

A = [hypergeom([1, 2], 2.5, 2),
hypergeom(1/3, [2, 3], pi),
hypergeom([1, 1/2], 1/3, 3*i)]
A =
  -1.2174 - 0.8330i
   1.2091 + 0.0000i
  -0.2028 + 0.2405i

Compute the hypergeometric function for the numbers converted to symbolic objects. For most symbolic (exact) numbers, hypergeom returns unresolved symbolic calls.

symA = [hypergeom([1, 2], 2.5, sym(2)),
hypergeom(1/3, [2, 3], sym(pi)),
hypergeom([1, 1/2], sym(1/3), 3*i)]
symA =
     hypergeom([1, 2], 5/2, 2)
    hypergeom(1/3, [2, 3], pi)
 hypergeom([1/2, 1], 1/3, 3i)

Use vpa to approximate symbolic results with the required number of digits:

ans =
   - 1.21741893 - 0.8330405509i
 - 0.2027516975 + 0.2405013423i

Special Values

The hypergeometric function has special values for some parameters:

syms a b c d x
hypergeom([], [], x)
hypergeom([a, b, c, d], [a, b, c, d], x)
hypergeom(a, [], x)
ans =
ans =
ans =
1/(1 - x)^a

Any hypergeometric function, evaluated at 0, has the value 1:

syms a b c d
hypergeom([a, b], [c, d], 0)
ans =

If, after cancelling identical parameters in the first two arguments, the list of upper parameters contains 0, the resulting hypergeometric function is constant with the value 1. For details, see Algorithms.

hypergeom([0, 0, 2, 3], [a, 0, 4], x)
ans =

If, after canceling identical parameters in the first two arguments, the upper parameters contain a negative integer larger than the largest negative integer in the lower parameters, the hypergeometric function is a polynomial. If all parameters as well as the argument x are numeric, a corresponding explicit value is returned.

hypergeom([(-4), -2 , 3], [-3, 1, 4], x*pi*sqrt(2))
ans =
(6*pi^2*x^2)/5 - 2*2^(1/2)*pi*x + 1

Hypergeometric functions also reduce to other special functions for some parameters:

hypergeom([1], [a], x)
hypergeom([a], [a, b], x)
ans =
(exp(x/2)*whittakerM(1 - a/2, a/2 - 1/2, -x))/(-x)^(a/2)
ans =
 x^(1/2 - b/2)*gamma(b)*besseli(b - 1, 2*x^(1/2))

Handling Expressions That Contain Hypergeometric Functions

Many functions, such as diff and taylor, can handle expressions containing hypergeom.

Differentiate this expression containing hypergeometric function:

syms a b c d x
diff(1/x*hypergeom([a, b], [c, d], x), x)
ans =
(a*b*hypergeom([a + 1, b + 1], [c + 1, d + 1], x))/(c*d*x)...
 - hypergeom([a, b], [c, d], x)/x^2

Compute the Taylor series of this hypergeometric function:

taylor(hypergeom([1, 2], [3], x), x)
ans =
(2*x^5)/7 + x^4/3 + (2*x^3)/5 + x^2/2 + (2*x)/3 + 1

Input Arguments

collapse all

Upper parameters of hypergeometric function, specified as a number, variable, symbolic expression, symbolic function, or vector.

Lower parameters of hypergeometric function, specified as a number, variable, symbolic expression, symbolic function, or vector.

Argument of hypergeometric function, specified as a number, variable, symbolic expression, symbolic function, or vector. If z is a vector, hypergeom(a,b,z) is evaluated element-wise.

More About

collapse all

Generalized Hypergeometric Function

The generalized hypergeometric function of order p, q is defined as follows:


Here a = [a1,a2,...,ap] and b = [b1,b2,...,bq] are vectors of lengths p and q, respectively.

(a)k and (b)k are Pochhammer symbols.

For empty vectors a and b, hypergeom is defined as follows:


Pochhammer Symbol

The Pochhammer symbol is defined as follows:


If n is a positive integer, then (x)n = x(x + 1)...(x + n - 1).


The hypergeometric function is


  • The hypergeometric function has convergence criteria:

    • Converges if p ≤ q and |z| < ∞.

    • Converges if p = q + 1 and |z| < 1. For |z| >= 1, the series diverges, and is defined by analytic continuation.

    • Diverges if p > q + 1 and z ≠ 0. Here, the series is defined by an asymptotic expansion of pFq(a;b;z) around z = 0. The branch cut is the positive real axis.

  • The function is a polynomial, called the hypergeometric polynomial, if any aj is a nonpositive integer.

  • The function is undefined:

    • If any bk is a nonpositive integer such that bk > aj where aj is also a nonpositive integer, because division by 0 occurs

    • If any bk is a nonpositive integer and no aj is a nonpositive integer

  • The function has reduced order when upper and lower parameter values are equal and cancel. If r values of the upper and lower parameters are equal (that is, a = [a1,…,ap - r, c1,…,cr], b = [b1,…,bq - r, c1,…,cr]), then the order (p, q) of pFq(a;b;z) is reduced to (p - r, q - r):


    This rule applies even if any ci is zero or a negative integer [2].

  • pFq(a;b;z) is symmetric. That is, it does not depend on the order a1, a2, … in a or b1, b2, … in b.

  • U(z)=Fpq(a;b;z) satisfies the differential equation in z

    [δ(δ+b1)z(δ+a)]U(z)=0,  δ=zz.

    Here, (δ + a) represents


    And (δ + b) represents


    Thus, the order of this differential equation is max(p, q + 1), and the hypergeometric function is only one of its solutions. If p < q + 1, this differential equation has a regular singularity at z = 0 and an irregular singularity at z = ∞. If p = q + 1, the points z = 0, z = 1, and z = ∞ are regular singularities, which explains the convergence properties of the hypergeometric series.

  • The hypergeometric function has these special values:

    • pFp(a;a;z) = 0F0(;;z) = ez.

    • pFq(a;b;z) = 1 if the list of upper parameters a contains more 0s than the list of lower parameters b.

    • pFq(a;b;0) = 1.


[1] Oberhettinger, F. “Hypergeometric Functions.” Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. (M. Abramowitz and I. A. Stegun, eds.). New York: Dover, 1972.

[2] Luke, Y.L. "The Special Functions and Their Approximations", Vol. 1, Academic Press, New York, 1969.

[3] Prudnikov, A.P., Yu.A. Brychkov, and O.I. Marichev, "Integrals and Series", Vol. 3: More Special Functions, Gordon and Breach, 1990.

Introduced before R2006a

Was this topic helpful?