You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This package implements the generalized hypergeometric function `pFq((α1,…,αp), (β1,…,βq), z)`. Please refer to the documentation for more information.
5
+
This package provides an implementation of the generalized hypergeometric function `pFq((α1,…,αp), (β1,…,βq), z)`.
6
6
7
7
```julia
8
8
julia>using HypergeometricFunctions
@@ -23,3 +23,11 @@ julia> pFq((1, 2+im), (3.5, ), exp(im*π/3)) # ₂F₁ at that special point in
23
23
0.6786952632946592+0.4523504929285015im
24
24
25
25
```
26
+
27
+
# References
28
+
29
+
[1] N. Michel and M. V. Stoitsov, [Fast computation of the Gauss hypergeometric function with all its parameters complex with application to the Pöschl–Teller–Ginocchio potential wave functions](https://doi.org/10.1016/j.cpc.2007.11.007), *Comp. Phys. Commun.*, **178**:535–551, 2008.
30
+
31
+
[2] J. W. Pearson, S. Olver and M. A. Porter, [Numerical methods for the computation of the confluent and Gauss hypergeometric functions](https://doi.org/10.1007/s11075-016-0173-0), *Numer. Algor.*, **74**:821–866, 2017.
32
+
33
+
[3] R. M. Slevinsky, [Fast and stable rational approximation of generalized hypergeometric functions](https://arxiv.org/abs/2307.06221), arXiv:2307.06221, 2023.
Copy file name to clipboardExpand all lines: src/drummond.jl
+7-2Lines changed: 7 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
-
# Rational approximations to generalized hypergeometric functions
2
-
# using Drummond's sequence transformation
1
+
@docraw"""
2
+
pFqdrummond(α, β, z; kmax)
3
+
Compute the generalized hypergeometric function [`pFq`](@ref) by rational approximations of type (k, k) generated by Drummond's sequence transformation described in
4
+
5
+
> R. M. Slevinsky, [Fast and stable rational approximation of generalized hypergeometric functions](https://arxiv.org/abs/2307.06221), arXiv:2307.06221, 2023.
6
+
"""
7
+
pFqdrummond
3
8
4
9
# ₀F₀(;z)
5
10
functionpFqdrummond(::Tuple{}, ::Tuple{}, z::T; kmax::Int= KMAX) where T
Copy file name to clipboardExpand all lines: src/gauss.jl
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ end
71
71
Compute the Gauss hypergeometric function `₂F₁(a, b, c; z)` with general parameters a, b, and c.
72
72
This polyalgorithm is designed based on the paper
73
73
74
-
> N. Michel and M. V. Stoitsov, [Fast computation of the Gauss hypergeometric function with all its parameters complex with application to the Pöschl–Teller–Ginocchio potential wave functions](https://doi.org/10.1016/j.cpc.2007.11.007), Comp. Phys. Commun., 178:535–551, 2008.
74
+
> N. Michel and M. V. Stoitsov, [Fast computation of the Gauss hypergeometric function with all its parameters complex with application to the Pöschl–Teller–Ginocchio potential wave functions](https://doi.org/10.1016/j.cpc.2007.11.007), *Comp. Phys. Commun.*, **178**:535–551, 2008.
75
75
"""
76
76
function_₂F₁general(a, b, c, z; kwds...)
77
77
if z ==1
@@ -101,7 +101,7 @@ end
101
101
Compute the Gauss hypergeometric function `₂F₁(a, b, c; z)` with general parameters a, b, and c.
102
102
This polyalgorithm is designed based on the review
103
103
104
-
> J. W. Pearson, S. Olver and M. A. Porter, [Numerical methos for the computation of the confluent and Gauss hypergeometric functions](https://doi.org/10.1007/s11075-016-0173-0), Numer. Algor., 74:821–866, 2017.
104
+
> J. W. Pearson, S. Olver and M. A. Porter, [Numerical methods for the computation of the confluent and Gauss hypergeometric functions](https://doi.org/10.1007/s11075-016-0173-0), *Numer. Algor.*, **74**:821–866, 2017.
105
105
"""
106
106
function_₂F₁general2(a, b, c, z)
107
107
T =promote_type(typeof(a), typeof(b), typeof(c), typeof(z))
This ratio is used in the Lanczos approximation of ``\\log\\frac{\\Gamma(z+\\epsilon)}{\\Gamma(z)}`` in
185
185
186
-
> N. Michel and M. V. Stoitsov, [Fast computation of the Gauss hypergeometric function with all its parameters complex with application to the Pöschl–Teller–Ginocchio potential wave functions](https://doi.org/10.1016/j.cpc.2007.11.007), Comp. Phys. Commun., 178:535–551, 2008.
186
+
> N. Michel and M. V. Stoitsov, [Fast computation of the Gauss hypergeometric function with all its parameters complex with application to the Pöschl–Teller–Ginocchio potential wave functions](https://doi.org/10.1016/j.cpc.2007.11.007), *Comp. Phys. Commun.*, **178**:535–551, 2008.
187
187
"""
188
188
macrolanczosratio(z, ϵ, c₀, c...)
189
189
ex_num = :(zero(z))
@@ -228,7 +228,7 @@ end
228
228
"""
229
229
Compute the function ``\\dfrac{\\frac{1}{\\Gamma(z)}-\\frac{1}{\\Gamma(z+\\epsilon)}}{\\epsilon}`` by the method dscribed in
230
230
231
-
> N. Michel and M. V. Stoitsov, [Fast computation of the Gauss hypergeometric function with all its parameters complex with application to the Pöschl–Teller–Ginocchio potential wave functions](https://doi.org/10.1016/j.cpc.2007.11.007), Comp. Phys. Commun., 178:535–551, 2008.
231
+
> N. Michel and M. V. Stoitsov, [Fast computation of the Gauss hypergeometric function with all its parameters complex with application to the Pöschl–Teller–Ginocchio potential wave functions](https://doi.org/10.1016/j.cpc.2007.11.007), *Comp. Phys. Commun.*, **178**:535–551, 2008.
Compute the function ``\\dfrac{(z+\\epsilon)_m-(z)_m}{\\epsilon}`` by the method dscribed in
262
262
263
-
> N. Michel and M. V. Stoitsov, [Fast computation of the Gauss hypergeometric function with all its parameters complex with application to the Pöschl–Teller–Ginocchio potential wave functions](https://doi.org/10.1016/j.cpc.2007.11.007), Comp. Phys. Commun., 178:535–551, 2008.
263
+
> N. Michel and M. V. Stoitsov, [Fast computation of the Gauss hypergeometric function with all its parameters complex with application to the Pöschl–Teller–Ginocchio potential wave functions](https://doi.org/10.1016/j.cpc.2007.11.007), *Comp. Phys. Commun.*, **178**:535–551, 2008.
Copy file name to clipboardExpand all lines: src/weniger.jl
+7-2Lines changed: 7 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
-
# Rational approximations to generalized hypergeometric functions
2
-
# using Weniger's sequence transformation
1
+
@docraw"""
2
+
pFqweniger(α, β, z; kmax, γ = 2)
3
+
Compute the generalized hypergeometric function [`pFq`](@ref) by rational approximations of type (k, k) generated by a factorial Levin-type sequence transformation described in
4
+
5
+
> R. M. Slevinsky, [Fast and stable rational approximation of generalized hypergeometric functions](https://arxiv.org/abs/2307.06221), arXiv:2307.06221, 2023.
6
+
"""
7
+
pFqweniger
3
8
4
9
# ₀F₀(;z), γ = 2.
5
10
functionpFqweniger(::Tuple{}, ::Tuple{}, z::T; kmax::Int= KMAX) where T
0 commit comments