References
- Clausen functions
- Coulomb wave functions
- Debye functions
- Fermi-Dirac integrals
- Marcum Q-function
- Parabolic cylinder functions
API
FewSpecialFunctions.η
— Functionη(a::Number, k::Number)
η(ϵ::Number)
Coulomb parameter. For two arguments, returns 1/(a*k). For one argument, returns 1/sqrt(ϵ).
FewSpecialFunctions.C
— FunctionC(ℓ::Number, η::Number)
Coulomb normalization constant.
FewSpecialFunctions.θ
— Functionθ(ℓ::Number, η::Number, ρ::Number)
Coulomb phase function.
FewSpecialFunctions.F
— FunctionF(ℓ::Number, η::Number, ρ::Number)
Regular Coulomb wave function.
References:
FewSpecialFunctions.D⁺
— FunctionD⁺(ℓ::Number, η::Number)
Coulomb D⁺ normalization factor.
FewSpecialFunctions.D⁻
— FunctionD⁻(ℓ::Number, η::Number)
Coulomb D⁻ normalization factor.
FewSpecialFunctions.H⁺
— FunctionH⁺(ℓ::Number, η::Number, ρ::Number)
Outgoing Coulomb wave function.
References:
FewSpecialFunctions.H⁻
— FunctionH⁻(ℓ::Number, η::Number, ρ::Number)
Incoming Coulomb wave function.
References:
FewSpecialFunctions.F_imag
— FunctionF_imag(ℓ::Number, η::Number, ρ::Number)
Imaginary part of the regular Coulomb wave function.
FewSpecialFunctions.G
— FunctionG(ℓ::Number, η::Number, ρ::Number)
Irregular Coulomb wave function.
References:
FewSpecialFunctions.M_regularized
— FunctionM_regularized(α::Number, β::Number, γ::Number)
Regularized confluent hypergeometric function.
FewSpecialFunctions.Φ
— FunctionΦ(ℓ::Number, η::Number, ρ::Number)
Modified Coulomb function Φ.
FewSpecialFunctions.w
— Functionw(ℓ::Integer, η::Number)
w(ℓ::Number, η::Number)
Auxiliary function for Coulomb wave functions.
FewSpecialFunctions.w_plus
— Functionw_plus(ℓ::Number, η::Number)
Auxiliary function for Coulomb wave functions.
FewSpecialFunctions.w_minus
— Functionw_minus(ℓ::Number, η::Number)
Auxiliary function for Coulomb wave functions.
FewSpecialFunctions.h_plus
— Functionh_plus(ℓ::Number, η::Number)
Auxiliary function for Coulomb wave functions.
FewSpecialFunctions.h_minus
— Functionh_minus(ℓ::Number, η::Number)
Auxiliary function for Coulomb wave functions.
FewSpecialFunctions.g
— Functiong(ℓ::Number, η::Number)
Auxiliary function for Coulomb wave functions.
FewSpecialFunctions.Φ_dot
— FunctionΦ_dot(ℓ::Number, η::Number, ρ::Number; h=1e-6)
Numerical derivative of Φ with respect to ℓ.
FewSpecialFunctions.F_dot
— FunctionF_dot(ℓ::Number, η::Number, ρ::Number; h=1e-6)
Numerical derivative of F with respect to ℓ.
FewSpecialFunctions.Ψ
— FunctionΨ(ℓ::Number, η::Number, ρ::Number; h=1e-6)
Auxiliary function for Coulomb wave functions.
FewSpecialFunctions.I
— FunctionI(ℓ::Number, η::Number, ρ::Number; h=1e-6)
Auxiliary function for Coulomb wave functions.
FewSpecialFunctions.debye_function
— Functiondebye_function(n::Float64, β::Float64, x::Float64;
tol=1e-35, max_terms=2000) -> Float64
Compute the generalized Debye function with parameters n
, β
, and x
.
References:
FewSpecialFunctions.FresnelC
— FunctionFresnelC(z::Number) -> Number
Computes the Fresnel cosine integral C(z) for the given number z
.
Arguments
z::Number
: The input value (can be real or complex).
Returns
Number
: The value of the Fresnel cosine integral atz
.
FewSpecialFunctions.FresnelS
— FunctionFresnelS(z::Number) -> Number
Computes the Fresnel sine integral S(z) for a given number z
.
Arguments
z::Number
: The input value (real or complex) at which to evaluate the Fresnel sine integral.
Returns
Number
: The value of the Fresnel sine integral S(z).
FewSpecialFunctions.FresnelE
— FunctionFresnelE(z::Number) -> Number
Computes the Fresnel E integral for the given input z
.
Arguments
z::Number
: The input value (real or complex) at which to evaluate the Fresnel E integral.
Returns
Number
: The value of the Fresnel E integral atz
.
FewSpecialFunctions.Struve
— FunctionStruve(ν,z,min_tol=1e-15)
Returns the Struve function given by
\[ \mathbf{H}_\nu(z) = \frac{2(z/2)^\nu}{\sqrt{\pi}\Gamma(\nu+1/2)} \int_0^1 (1-t)^{{\nu-1/2}}\sin(zt) \, \text{d}t\]
FewSpecialFunctions.Clausen
— FunctionClausen(n::Int, θ::Float64; N::Int=10, m::Int=20)
Compute the Clausen function of order n
at angle θ
.
References:
FewSpecialFunctions.Ci_complex
— FunctionCi_complex(z::ComplexF64)
Complex cosine integral function used in Clausen function calculations.
FewSpecialFunctions.f_n
— Functionf_n(n::Int, k::Int, θ::Float64)
Compute the Clausen series summand fₙ(k, θ): sin(kθ)/kⁿ for even n, cos(kθ)/kⁿ for odd n.
FewSpecialFunctions.F_clausen
— FunctionF_clausen(n::Int, z::ComplexF64, θ::Float64)
Dispatch to the correct primitive function Fₙ(z, θ) for n = 1..6.
FewSpecialFunctions.FermiDiracIntegral
— FunctionFermiDiracIntegral(j, x)
The Fermi-Dirac integral
Returns the value $F_j(x)$
Resources: [1] D. Bednarczyk and J. Bednarczyk, Phys. Lett. A, 64, 409 (1978) [2] J. S. Blakemore, Solid-St. Electron, 25, 1067 (1982) [3] X. Aymerich-Humet, F. Serra-Mestres, and J. Millan, Solid-St. Electron, 24, 981 (1981) [4] X. Aymerich-Humet, F. Serra-Mestres, and J. Millan, J. Appl. Phys., 54, 2850 (1983) [5] H. M. Antia, Rational Function Approximations for Fermi-Dirac Integrals (1993)
https://arxiv.org/abs/0811.0116 https://de.wikipedia.org/wiki/Fermi-Dirac-Integral https://dlmf.nist.gov/25.12#iii
FewSpecialFunctions.FermiDiracIntegralNorm
— FunctionFermiDiracIntegralNorm(j,x)
The Fermi-Dirac integral
\[ F_j(x) = \frac{1}{\Gamma(j+1)}\int_0^\infty \frac{t^j}{\exp(t-x)+1} \, dt\]
Returns the value $F_j(x)$
Resources: [1] D. Bednarczyk and J. Bednarczyk, Phys. Lett. A, 64, 409 (1978) [2] J. S. Blakemore, Solid-St. Electron, 25, 1067 (1982) [3] X. Aymerich-Humet, F. Serra-Mestres, and J. Millan, Solid-St. Electron, 24, 981 (1981) [4] X. Aymerich-Humet, F. Serra-Mestres, and J. Millan, J. Appl. Phys., 54, 2850 (1983) [5] H. M. Antia, Rational Function Approximations for Fermi-Dirac Integrals (1993)
https://arxiv.org/abs/0811.0116 https://de.wikipedia.org/wiki/Fermi-Dirac-Integral https://dlmf.nist.gov/25.12#iii
FewSpecialFunctions.MarcumQ
— FunctionMarcumQ(μ::Float64, a::Float64, b::Float64)
Compute the generalized Marcum Q-function of order μ
with non-centrality parameter a
and threshold b
.
Reference: [1] https://arxiv.org/pdf/1311.0681v1
FewSpecialFunctions.dQdb
— FunctiondQdb(M, a, b)
Derivative ∂Q_M(a,b)/∂b of the (standard) Marcum Q-function of order M
. Requires M
integer ≥1 and a>0
.
FewSpecialFunctions.U
— FunctionU(a::Float64, x::Float64)::Float64
Compute the parabolic cylinder function U(a,x) of the first kind for real parameters.
S. Zhang and J. Jin, 'Computation of Special functions' (Wiley, 1966), E. Cojocaru, January 2009
FewSpecialFunctions.V
— FunctionV(a::Float64, x::Float64)::Float64
Compute the parabolic cylinder function V(a,x).
FewSpecialFunctions.W
— FunctionW(a::Float64, x::Float64)::Float64
Compute the parabolic cylinder function W(a,x) for real parameters.
FewSpecialFunctions.dU
— FunctiondU(a::Float64, x::Float64)::Float64
Compute the derivative of the parabolic cylinder function U(a,x) for real parameters.
FewSpecialFunctions.dV
— FunctiondV(a::Float64, x::Float64)::Float64
Compute the derivative of the parabolic cylinder function V(a,x) for real parameters.
FewSpecialFunctions.dW
— FunctiondW(a::Float64, x::Float64)::Float64
Compute the derivative of the parabolic cylinder function W with parameters a
evaluated at x
.