|
Calling Sequence
|
|
hypergeom([n1, n2, ... ], [d1, d2, ... ], z)
%hypergeom([n1, n2, ... ], [d1, d2, ... ], z)
|
|
Parameters
|
|
[n1, n2, ...]
|
-
|
list of upper parameters (may be empty)
|
[d1, d2, ...]
|
-
|
list of lower parameters (may be empty)
|
z
|
-
|
expression
|
|
|
|
|
Description
|
|
•
|
Let , , and . The hypergeom(n, d, z) calling sequence is the generalized hypergeometric function . This function is frequently denoted by .
|
•
|
Formally, is defined by the series
|
|
For the definition of the symbol, see pochhammer.
|
•
|
If some is a non-positive integer, the series is finite (that is, is a polynomial in ).
|
|
If some is a non-positive integer, the function is undefined for all non-zero , unless there is also a negative upper parameter of smaller or equal absolute value, in which case the previous rule applies.
|
•
|
For the remainder of this description, assume no or is a non-positive integer.
|
•
|
When , this series converges for all complex , and hence defines everywhere.
|
•
|
When , the series converges for . is then defined for by analytic continuation. The point is a branch point, and the interval (1,infinity) is the branch cut.
|
•
|
When the hypergeometric series diverges for all unless it is a polynomial (i.e. the function has nonpositive integers in the first list of parameters). In this case, the hypergeometric function can be defined as the analytic continuation of the (customarily undefined) hypergeometric series through a contour integral (see DLMF (16.5.1)). In this event, the formal hypergeometric series is the asymptotic expansion of the contour integral when z goes to 0 in a restricted sector of the complex plane. The positive real axis is the branch cut. This is analogous to perform the summation with the sum command and the option formal for resummation of divergent series (see sum, details). To compute with the customary behavior where the hypergeometric series and the hypergeometric function are considered divergent when , assign the variable _EnvFormal to false (see example at the end).
|
•
|
%hypergeom is the inert form of hypergeom (that is, it returns unevaluated because it is the inert form of this function). Use value to evaluate a call to %hypergeom, or evalf to compute a floating-point approximate value. See also simplify and convert/StandardFunctions.
|
|
|
Examples
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
| (3) |
>
|
|
| (4) |
To compute floating point values, use evalf or include a floating point number in the function call.
>
|
|
| (5) |
>
|
|
| (6) |
The simplify function is used to simplify expressions which contain hypergeometric functions.
>
|
|
>
|
|
The inert form of %hypergeom can be evaluated by the function value.
>
|
|
| (9) |
| (10) |
This following 2F0 hypergeometric function is not polynomial (no nonpositive integers in the first list of parameters).
>
|
|
| (11) |
This is the equivalent hypergeometric series,
>
|
|
| (12) |
While in this case where this sum is divergent, the hypergeometric function analytically extendes this series by means of a contour integral (see DLMF 16.5.1), and the sum is numerically evaluated as the asymptotic expansion of that contour integral resulting in a finite value (see sum, details, the _EnvFormal variable). So
| (13) |
Assigning the variable _EnvFormal := false, and clearing the remember table of evalf, the system uses the customary definition of the hypergeometric function as divergent in the case
|
|
|