Documentation

Mathlib.Analysis.SpecialFunctions.RegularizedHypergeometric

Generalized hypergeometric function #

In this file we define the generalized hypergeometric function as well as the Gaussian hypergeometric function.

The hypergeometric function is a function with parameters a : Fin p → ℂ and b : Fin q → ℂ.

Note that in this file, we use the regularized version of the hypergeometric function, that is the coefficients are divides by ∏ i, Gamma (b i), giving in the case of the Gaussian hypergeometric function the series representation $$\sum_j \frac{(a)^n (b)^n}{\Gamma(c + n) n!} z^ n,$$ where (a)^n denotes the rising Pochhammer symbol.

This definition is valid for all values of c, whereas the usual hypergeometric function has a pole for c = -k and k : ℕ. To our knowledge the regularized hypergeometric function only appears in the literature only for the Gaussian case, it is implicit in the definition of the Bessel function (p = 0 and q = 1). To recover the usual hypergeometric function, simply multiply by ∏ i, Gamma (b i).

Definitions #

For the general case we have

For the Gaussian case (p = 2 and q = 1), we define

Results #

Convergence:

noncomputable def Complex.regularizedHGFunCoeff (a b : Multiset ) (n : ) :

The coefficients of the regularized hypergeometric series.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem Complex.regularizedHGFunCoeff_eq_zero_iff {a b : Multiset } {n : } :
    regularizedHGFunCoeff a b n = 0 (∃ ja, k < n, j = -k) jb, ∃ (m : ), j + n = -m
    theorem Complex.regularizedHGFunCoeff_eq_zero_right (a b : Multiset ) (n m : ) (hb : -n - m b := by grind) :
    theorem Complex.regularizedHGFunCoeff_eq_zero_left (a b : Multiset ) (n m : ) (ha : -m a := by grind) (hm : m < n := by grind) :
    theorem Complex.regularizedHGFunCoeff_add_one {a b : Multiset } {n : } (hb : kb, k -n) :
    regularizedHGFunCoeff a b (n + 1) = regularizedHGFunCoeff a b n * ((Multiset.map (fun (x : ) => x + n) a).prod / ((Multiset.map (fun (x : ) => x + n) b).prod * (n + 1)))

    Recursion formula for the coefficients of the hypergeometric series.

    This is mainly used to calculate the convergence radius.

    theorem Complex.regularizedHGFunCoeff_add_one_div_self {a b : Multiset } {n : } (h : regularizedHGFunCoeff a b n 0) :
    regularizedHGFunCoeff a b (n + 1) / regularizedHGFunCoeff a b n = (Multiset.map (fun (x : ) => x + n) a).prod / ((Multiset.map (fun (x : ) => x + n) b).prod * (n + 1))

    Recursion formula for the coefficients of the hypergeometric series.

    This is mainly used to calculate the convergence radius.

    noncomputable def Complex.regularizedHGFun (a b : Multiset ) (z : ) :

    The regularized hypergeometric function.

    Equations
    Instances For

      If there exists j and k : ℕ, such that a j = -k, then the hypergeometric series is finite and has convergence radius .

      If for all j and k : ℕ, a j ≠ -k, then the coefficients of the hypergeometric series are eventually non-vanishing.

      If a.card ≤ b.card, then the hypergeometric series has infinite convergence radius.

      theorem Complex.radius_regularizedHGFunSeries_eq_one {a b : Multiset } (h : a.card = b.card + 1) (h' : ja, ∀ (k : ), j -k) :

      If a.card = b.card + 1, then the hypergeometric series has convergence radius 1, unless it is a polynomial.

      If a.card = b.card + 1, then the hypergeometric series has convergence radius greater or equal to 1.

      @[simp]

      The regularized hypergeometric series with a = b = 0 is exponential series.

      @[simp]

      The regularized hypergeometric function ₀F₀ is the complex exponential.

      The regularized Gaussian hypergeometric function.

      Equations
      Instances For
        noncomputable def Complex.regularizedGaussHGFun (a b c z : ) :

        The regularized Gaussian hypergeometric function.

        Equations
        Instances For
          theorem Complex.ordinaryHypergeometric_div_Gamma_eq {a b c z : } (hc : ∀ (k : ), c -k) :
          theorem Complex.radius_regularizedGaussHGFunSeries_eq_one {a b : } (c : ) (h : ∀ (k : ), a -k b -k) :