abax
A lightweight Rust library providing high-precision mathematical constants and special functions.
Features
- Mathematical Constants:
- Bernoulli numbers (B2n) up to n=16.
- Riemann Zeta function values for integers 2 through 16.
- Euler-Mascheroni constant.
- Stirling series coefficients for asymptotic expansions.
- Special Functions:
- Gamma and Polygamma Functions:
gamma(x): Gamma function Γ(x) computed with the Lanczos approximation and reflection formula.gammaln(x): Natural logarithm of the Gamma function ln(Γ(x)) using Stirling's approximation.digamma(x),trigamma(x),tetragamma(x): Polygamma functions ψ(n)(x) implemented with reflection and recurrence shifting.psi(k, x): Polygamma interface for arbitrary order $k$ with stable handling of poles and infinities.gammainc(x, a, lower, scaled): Regularized incomplete gamma function with scaling for improved conditioning.gammaincinv(y, a, lower): Robust inverse incomplete gamma function using a combined Halley-Newton-Bisection method.
- Beta Functions:
beta(z, w),betaln(z, w): Beta function and its natural logarithm.betainc(x, z, w, lower): Regularized incomplete beta function Ix(z,w).betaincinv(y, z, w, lower): Inverse of the regularized incomplete beta function.
- Error Functions:
erf(x),erfc(x),erfcx(x): Error function, complementary error function, and scaled variant.erfinv(x),erfcinv(x): Inverse error functions implemented with piecewise rational approximations.
- Gamma and Polygamma Functions:
- Probability Distributions:
normcdf(x, mu, sigma): Normal cumulative distribution function.normpdf(x, mu, sigma): Normal probability density function.norminv(p, mu, sigma): Inverse of the normal cumulative distribution function (quantile function).lognpdf(x, mu, sigma): Lognormal probability density function.
Usage
Add this to your Cargo.toml:
[]
= "0.1.20"
License
This project is licensed under the MIT License - see the LICENSE file for details.
Repository
Source code is available on GitHub.