hypergeom
generalized hypergeometric function
Calling Sequence
Parameters
Description
Examples
hypergeom([n1, n2, ... ], [d1, d2, ... ], z)
%hypergeom([n1, n2, ... ], [d1, d2, ... ], z)
[n1, n2, ...]
-
list of upper parameters (may be empty)
[d1, d2, ...]
list of lower parameters (may be empty)
z
expression
Let n=[n1,n2,...], p=nops⁡n, d=[d1,d2,...] and q=nops⁡d. The hypergeom(n, d, z) calling sequence is the generalized hypergeometric function F⁡n,d,z. This function is frequently denoted by pFq⁡n,d,z.
Formally, F⁡n,d,z is defined by the series
∑k=0∞zk⁢∏i=1ppochhammer⁡ni,kk!⁢∏j=1qpochhammer⁡dj,k
For the definition of the pochhammer symbol, see pochhammer.
If some ni is a non-positive integer, the series is finite (that is, F⁡n,d,z is a polynomial in z).
If some dj is a non-positive integer, the function is undefined for all non-zero z, 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 ni or dj is a non-positive integer.
When p≤q, this series converges for all complex z, and hence defines F⁡n,d,z everywhere.
When p=q+1, the series converges for |z|<1. F⁡n,d,z is then defined for |z|>=1 by analytic continuation. The point z=1 is a branch point, and the interval (1,infinity) is the branch cut.
When q+1<p the hypergeometric series diverges for all z≠0 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 q+1<p, 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.
hypergeom⁡,,z
hypergeom⁡,,π
hypergeom⁡a,,z
hypergeom⁡1,2,2,3,z
hypergeom⁡1,3,z
To compute floating point values, use evalf or include a floating point number in the function call.
evalf⁡hypergeom⁡,,π=evalf⁡exp⁡π
23.14069264=23.14069264
hypergeom⁡1,1,12,0.6+1.⁢I
−0.7108888111+0.9936207217⁢I
The simplify function is used to simplify expressions which contain hypergeometric functions.
simplify⁡z⁢hypergeom⁡,32,−z24,hypergeom
sin⁡z
simplify⁡hypergeom⁡a,,z,hypergeom
1−z−a
The inert form of %hypergeom can be evaluated by the function value.
%hypergeom⁡1,2,2,3,z
value⁡
This following 2F0 hypergeometric function is not polynomial (no nonpositive integers in the first list of parameters).
hypergeom⁡310,32,,−15
This is the equivalent hypergeometric series,
Sum⁡pochhammer⁡310,n⁢pochhammer⁡32,n⁢−15nn!,n=0..∞
∑n=0∞⁡pochhammer⁡310,n⁢pochhammer⁡32,n⁢−15nn!
While in this case where q+1<p 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
evalf⁡=evalf⁡
0.9298279399=0.9298279399
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 q+1<p
forget⁡evalf
_EnvFormal≔false
evalf⁡
Float⁡∞+Float⁡∞⁢I
See Also
Appell
convert
convert/elementary
convert/StandardFunctions
evalf
Heun
initialfunctions
MeijerG
pochhammer
simplify/hypergeom
value
Download Help Document