Trait special::Gamma [−][src]
Gamma functions.
Required methods
fn digamma(self) -> Self
[src]
Compute the real-valued digamma function.
The formula is as follows:
d ln(Γ(p))
ψ(p) = ----------
dp
where Γ is the gamma function. The computation is based on an approximation as described in the reference below.
Examples
use special::Gamma; const EULER_MASCHERONI: f64 = 0.57721566490153286060651209008240243104215933593992; assert!((1.0.digamma() + EULER_MASCHERONI).abs() < 1e-15);
References
- M. J. Beal, Variational algorithms for approximate Bayesian inference. University of London, 2003, pp. 265–266.
fn gamma(self) -> Self
[src]
Compute the gamma function.
fn inc_gamma(self, p: Self) -> Self
[src]
Compute the regularized lower incomplete gamma function.
The formula is as follows:
γ(x, p) 1 x
P(x, p) = ------- = ---- ∫ t^(p - 1) e^(-t) dt
Γ(p) Γ(p) 0
where γ is the incomplete lower gamma function, and Γ is the complete gamma function.
The code is based on a C implementation by John Burkardt. The original algorithm was published in Applied Statistics and is known as Algorithm AS 239.
fn ln_gamma(self) -> (Self, i32)
[src]
Compute the natural logarithm of the gamma function.
fn trigamma(&self) -> Self
[src]
Compute the trigamma function.
The code is based on a Julia implementation.