Hypergeometric collection appeared within the mid-seventeenth century; since then, they’ve performed an essential position within the growth of mathematical and bodily theories. A lot of the elementary and particular features are members of the big hypergeometric class.

Hypergeometric features have been part of Wolfram Language since Model 1.0. The next plot reveals the implementation timeline of various hypergeometric features throughout the evolution of our system:

The Gauss hypergeometric _{2}*F*_{1}, Kummer hypergeometric _{1}*F*_{1} and confluent hypergeometric _{0}*F*_{1} features have been carried out in Wolfram Language Model 1.0, and in Variations 3.0, 4.0 and 7.0, highly effective updates have been made that carried out 4 very common features: the generalized hypergeometric _{p}*F*_{q} operate, the “monster” superfunction `MeijerG`, the `AppellF1` operate and the so-called *q*-hypergeometric operate, carried out as `QHypergeometricPFQ`. All these common features considerably elevated the combination, summation and different symbolic manipulation capabilities of Wolfram Language.

Over the past three years, we have now made a powerful effort to implement the remaining computable hypergeometric features. Three Appell features (`AppellF2`, `AppellF3` and `AppellF4`) have been carried out in Model 13.3; additional generalization of `MeijerG`—the `FoxH` operate—was carried out somewhat earlier, in Model 12.3; and, lastly, for Model 14.0, we’re presenting the doubly infinite hypergeometric operate of 1 variable—the so-called bilateral hypergeometric operate—as `BilateralHypergeometricPFQ`.

## A Little bit of Historical past

The time period “hypergeometric collection” seems to have first been utilized by John Wallis in his 1655 e book *Arithmetica Infinitorum*, after which these hypergeometric collection have been handled by Leonhard Euler.

Ranging from the works of Carl Gauss and persevering with with Ernst Kummer, Bernhard Riemann, Paul Appell and different nice students, these features have been systematically studied, together with the differential equations they fulfill and their huge functions in several engineering, bodily and different functions.

## Hypergeometric Collection

A hypergeometric collection is an influence collection , the place the ratio of successive coefficients is a rational operate of *n* (, the place *A*(*n*) and *B*(*n*) are polynomials in *n*).

Let’s check out the Taylor collection of the exponential operate:

Calculate the ratio of successive coefficients (this may be completed through `DiscreteRatio`):

This ratio is clearly a rational operate of *n*, and for this case *A*(*n*) = 1, *B*(*n*) = *n* + 1, therefore the Taylor collection of `Exp` is hypergeometric.

In actual fact, numerous well-known collection are hypergeometric, so having a complete idea of such series-based features is fascinating in addition to very helpful in several areas of science. So let’s swap to the category of hypergeometric features and begin with the main one—the generalized hypergeometric operate _{p}*F*_{q}—after which transfer on to the well-known Kummer _{1}*F*_{1} and Gauss _{2}*F*_{1} hypergeometric features that continuously come up in several bodily and mathematical functions.

## The Generalized Hypergeometric Perform

The primary operate of the hypergeometric class is the generalized hypergeometric operate _{p}*F*_{q}, which is outlined by the next collection:

the place (*a _{i}*)

_{n}is the

`Pochhammer`image or the rising factorial.

The ratio of successive phrases of _{p}*F*_{q} is clearly rational:

The generalized hypergeometric operate _{p}*F*_{q} is carried out in Wolfram Language as `HypergeometricPFQ``[a;b;z]`. Right here, the variety of parameters within the *a* and *b* lists is just not mounted; they could even be empty lists.

The *q*-analog of _{p}*F*_{q} is the fundamental hypergeometric operate _{r}*Φ*_{s}, which has the collection growth

the place (*a*;*q*)_{n} is the *q*-Pochhammer image. The essential hypergeometric operate _{r}*Φ*_{s}, carried out in Wolfram Language as `QHypergeometricPFQ`, turns into the generalized hypergeometric operate _{p}*F*_{q} within the restrict *q* → 1.

_{p}*F*_{q} performs an essential position within the idea of differential equations. A big set of odd differential equations (ODEs) will be solved when it comes to _{p}*F*_{q} features (we discuss with such equations as hypergeometric ODEs). Following, we current such an ODE that’s solved when it comes to _{p}*F*_{q} features:

_{p}*F*_{q} has a well-developed idea and numerous elementary functions in science (one would possibly check out the Purposes part of the `HypergeometricPFQ` reference web page).

One other outstanding software instance is the trinomial equation *x ^{n}* –

*x*+

*t*= 0 that, within the common type, is solved when it comes to

_{p}

*F*

_{q}features:

The trinomial equation has *n* roots. Let’s generate one among them for, say, *n* = 5 and *t* = 2:

Now we generate a desk of 5 options and test that they actually clear up the trinomial equation:

_{p}*F*_{q} is extensively used for integration and summation as well as for symbolic expression simplification. For example, here is a seemingly simple integration example:

And here is an example of an infinite sum:

Other hypergeometric functions can be written in terms of `HypergeometricPFQ`:

The following table shows some special cases of _{p}*F*_{q}:

Although _{p}*F*_{q} is a very general and important function, its special cases are even more popular. They significantly affected mathematical and physical theories of the nineteenth and twentieth centuries. Two of the most famous special cases are the Gauss hypergeometric function _{2}*F*_{1} and the Kummer confluent hypergeometric function _{1}*F*_{1}.

## Gauss Hypergeometric Function

The well-known _{2}*F*_{1} function is defined by the following series:

It is a solution of the Gauss differential equation, which is a singular second-order linear ODE:

`ComplexPlot3D` demonstrates the pole of _{2}*F*_{1} at the singular point 1:

Why is this function of fundamental importance? Because every second-order linear ODE with three regular singular points can be transformed to it, hence the Gauss differential equation is the “basic” ODE with three singular points.

Second-order linear ODEs with a low number of singularities (the majority of ODEs that describe some physical phenomenon) can often be treated as special or limiting cases of the Gauss hypergeometric equation. This means that the powerful _{2}*F*_{1} incorporates most of the known special functions as special cases, including the famous Bessel functions, Legendre polynomials and others.

More information about the second-order linear ODEs, their solutions and their singularities is available in the author’s earlier blog post, titled “From Sine to Heun,” as well as a comprehensive tutorial on Wolfram Language’s `DSolve` function.

Aside from its mathematical importance, the Gauss hypergeometric function has various applications in physics, statistics and other areas of science. The twentieth-century quantum mechanical potentials can typically be solved in terms of hypergeometric functions.

Some of the applications are presented on the reference page of `Hypergeometric2F1`.

## Kummer Confluent Hypergeometric Function

The confluent hypergeometric function _{1}*F*_{1} is defined by the following series:

It is a solution of the Kummer confluent differential equation *x**y*“(*x*) + (*b* – *x*)*y*‘(*x*) – *a**y*(*x*) = 0. This differential equation can be obtained from the Gauss differential equation for _{2}*F*_{1} via the complex procedure of merging two regular singularities (coalescence).

The radial wavefunction for the continuous spectrum for the hydrogen atom is written in terms of the _{1}*F*_{1} function:

Here is a plot of the solution:

Plotting the solution in 3D gives more insight about the behavior of the radial wavefunction for the hydrogen atom:

Finally, here is a differential equation that can be solved in terms of _{1}*F*_{1}:

## Hypergeometric Functions of Two Variables

So far, we’ve talked about hypergeometric functions of one variable. _{p}*F*_{q} is a very general function with an unlimited number of parameters, but it has only one argument. What if we turn to hypergeometric functions of two or more arguments? Does that make sense?

The answer is yes. Further extensions to two or more variables are possible and yes, they open some new possibilities.

The first class is the Appell hypergeometric functions of two variables, named after French mathematician Paul Émile Appell.

Appell was a remarkable French mathematician who contributed to various fields of mathematics (projective geometry, algebraic functions, differential equations, complex analysis, etc.). Appell polynomials and Appell’s equations of motion in mechanics are named after him. Appell hypergeometric functions were introduced by him in 1880, and in 1926 he authored a treatise on these functions with another famous French mathematician, Joseph Kampé de Fériet:

There are four Appell functions. These functions have the following double series definitions around the origin (presented here with their convergence regions):

Appell functions reduce to `Hypergeometric2F1` when *x* = 0 or *y* = 0.

As noted earlier, `AppellF1` was introduced in Wolfram Language 4.0 back in 1999, while we’ve implemented the `AppellF2`, `AppellF3` and `AppellF4` functions only in 2023 in Wolfram Language 13.3.

Here are plots of a family of `AppellF2` functions:

The series expansions of Appell functions can be written in `Hypergeometric2F1` functions:

As with `HypergeometricPFQ`, we use `AppellF1` for integration:

And here is another general example of a whole class of integrands:

All four Appell functions solve the corresponding Horn PDEs with polynomial coefficients (we might think about these PDEs as a generalization of Gauss hypergeometric ODEs). This is the PDE that `AppellF3` solves:

And as for `HypergeometricPFQ`, many elementary and special functions are to be considered as special cases of the Appell functions:

## Even More General Hypergeometric Functions

The Appell functions are the first four functions in the set of 34 Horn hypergeometric functions of two variables.

The Appell functions are special cases of the Kampé de Fériet function, which is the general hypergeometric function of two variables. The Kampé de Fériet function can be used to represent the derivatives of _{p}*F*_{q} with respect to parameters and multiple integrals of the Meijer G-function.

Further hypergeometric generalizations to *n* dimensions include the Lauricella functions, which are very general and very complex. For *n* = 2, they reduce to the Appell *F*_{1}–*F*_{4} functions, while for *n* = 1 we get the _{2}*F*_{1} Gauss hypergeometric function.

## Bilateral or Doubly Infinite Hypergeometric Series

Another generalization of the hypergeometric _{p}*F*_{q} function is the doubly infinite hypergeometric function (the bilateral hypergeometric function). It is written as

with a very similar definition to _{p}*F*_{q} except that for the bilateral series, the sum is computed from negative infinity to infinity. This function is available in Wolfram Language 14.0 as `BilateralHypergeomtricPFQ`.

There are two completely different subcases of the bilateral hypergeometric function: the “good” case when

*p* = *q* (i.e. _{2}*H*_{2}) and the “bad” case when *p* ≠ *q*.

For the first case, we can think about the bilateral function as a sum of two ordinary generalized hypergeometric functions. For example:

In the following, we calculate the value of _{2}*H*_{2} (1/2, 3/4; 1/4, 1/3; 5.4) and plot this function:

And for this “good” case of `BilateralHypergeometricPFQ`, simplifications are possible:

For the second case, where *p* ≠ *q*, the bilateral hypergeometric series is divergent. Usually for the calculation of such sums, various regularization methods are used. The blog post “The ABCD of Divergent Series” gives comprehensive information about this topic.

For calculation of the bilateral hypergeometric function, we use the Borel regularization technique:

Following is the series expansion for `BilateralHypergemoetricPFQ` at the origin:

The bilateral hypergeometric series has its unique and important role: it can be used for summing doubly infinite series:

So to sum a doubly infinite series, we internally first sum it to `BilateralHypergeometricPFQ` (as in the previous example) and then, where possible, simplify it—as in the following example:

The use of `BilateralHypergeometricPFQ` gives a huge speedup in the summation of doubly infinite hypergeometric series. As an example, the summation of the previous series in Wolfram Language 13.3 (without using `BilateralHypergeometricPFQ`) took more than 46 seconds, but now we’re able to reduce the calculation time by a factor of 1,000!

## Closing Words

Hypergeometric functions have been at the core of Wolfram Language since the first version was launched more than 35 years ago. We constantly improve them, along with implementing new ones.

Version 14.0 contains the whole set of hypergeometric functions of one variable; the four Appell functions; the bilateral hypergeometric function and related ones (the monster superfunctions `MeijerG`/`FoxH` and others); and the *q*-analog of _{p}*F*_{q}—the basic hypergeometric function _{r}*Φ*_{s}.

It seems that we now have an almost complete “hypergeometric” infrastructure needed by researchers. This infrastructure includes powerful symbolic and numeric computational abilities as well as documentation that is being updated in almost every new version of Wolfram Language.

To close this blog post, we would like to thank all the Wolfram Research developers that contributed to this huge project.