11 releases
0.2.5 | Aug 3, 2024 |
---|---|
0.2.4 | Apr 4, 2024 |
0.2.3 | Feb 18, 2024 |
0.2.0 | May 2, 2022 |
0.1.3 | Feb 29, 2020 |
#20 in Science
58,339 downloads per month
Used in 21 crates
(3 directly)
54KB
1.5K
SLoC
PURUSPE
PURe RUSt SPEcial function library. There are no dependencies.
Implemented Functions
Gamma functions
ln_gamma
: Logarithmic gamma functiongamma
: Gamma functiongammp
: Regularized lower gamma functiongammq
: Regularized upper gamma functioninvgammp
: Inverse regularized lower gamma function
Beta function
beta
: Beta functionbetai
: Regularized Incomplete beta functioninvbetai
: Inverse regularized incomplete beta function
Error functions
erf
: Error functionerfc
: Complementary Error functioninverf
: Inverse error functioninverfc
: Inverse complementary error function
Bessel functions
Jn
: Bessel function of the first kind (integer order)Yn
: Bessel function of the second kind (integer order)In
: Modified Bessel function of the first kind (integer order)Kn
: Modified Bessel function of the second kind (integer order)Jnu_Ynu
: Bessel function of the first kind and second kind (fractional order)Inu_Knu
: Modified Bessel function of the first kind and second kind (fractional order)besseljy
: Bessel function of the first and second kinds (include derivatives)besselik
: Modified Bessel function of the second kind (include derivatives)
Dawson's integral
dawson
: Dawson's integral
Note on precision of Bessel functions
Bessel functions exhibit poor precision for extremely large arguments. For instance, Jn(1,1e10) yields only 6 correct digits, in contrast to the typical 14 digits of double precision. This behavior is comparable to Python's scipy.special.j1, which is an optimized variant of the Bessel J function.
Reference
- Press, William H., and William T. Vetterling. Numerical Recipes. Cambridge: Cambridge Univ. Press, 2007.