pub struct Gamma { /* private fields */ }
Expand description
Implements the Gamma
distribution
use statrs::distribution::{Gamma, Continuous};
use statrs::statistics::Distribution;
use statrs::prec;
let n = Gamma::new(3.0, 1.0).unwrap();
assert_eq!(n.mean().unwrap(), 3.0);
assert!(prec::almost_eq(n.pdf(2.0), 0.270670566473225383788, 1e-15));
Constructs a new gamma distribution with a shape (α)
of shape
and a rate (β) of rate
Returns an error if shape
is ‘NaN’ or inf or rate
is NaN
or inf.
Also returns an error if shape <= 0.0
or rate <= 0.0
use statrs::distribution::Gamma;
let mut result = Gamma::new(3.0, 1.0);
assert!(result.is_ok());
result = Gamma::new(0.0, 0.0);
assert!(result.is_err());
Returns the shape (α) of the gamma distribution
use statrs::distribution::Gamma;
let n = Gamma::new(3.0, 1.0).unwrap();
assert_eq!(n.shape(), 3.0);
Returns the rate (β) of the gamma distribution
use statrs::distribution::Gamma;
let n = Gamma::new(3.0, 1.0).unwrap();
assert_eq!(n.rate(), 1.0);
Performs copy-assignment from source
. Read more
Calculates the probability density function for the gamma distribution
at x
Returns NAN
if any of shape
or rate
are INF
or if x
is INF
(β^α / Γ(α)) * x^(α - 1) * e^(-β * x)
where α
is the shape, β
is the rate, and Γ
is the gamma function
Calculates the log probability density function for the gamma
distribution
at x
Returns NAN
if any of shape
or rate
are INF
or if x
is INF
ln((β^α / Γ(α)) * x^(α - 1) * e ^(-β * x))
where α
is the shape, β
is the rate, and Γ
is the gamma function
Calculates the cumulative distribution function for the gamma
distribution
at x
where α
is the shape, β
is the rate, Γ
is the gamma function,
and γ
is the lower incomplete gamma function
Due to issues with rounding and floating-point accuracy the default
implementation may be ill-behaved.
Specialized inverse cdfs should be used whenever possible.
Performs a binary search on the domain of cdf
to obtain an approximation
of F^-1(p) := inf { x | F(x) >= p }
. Needless to say, performance may
may be lacking. Read more
Formats the value using the given formatter. Read more
Generate a random value of T
, using rng
as the source of randomness.
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
Create a distribution of values of ‘S’ by mapping the output of Self
through the closure F
Read more
Returns the mean of the gamma distribution
where α
is the shape and β
is the rate
Returns the variance of the gamma distribution
where α
is the shape and β
is the rate
Returns the entropy of the gamma distribution
α - ln(β) + ln(Γ(α)) + (1 - α) * ψ(α)
where α
is the shape, β
is the rate, Γ
is the gamma function,
and ψ
is the digamma function
Returns the skewness of the gamma distribution
where α
is the shape
Returns the standard deviation, if it exists. Read more
Returns the maximum value in the domain of the
gamma distribution representable by a double precision
float
Returns the minimum value in the domain of the
gamma distribution representable by a double precision
float
Returns the mode for the gamma distribution
where α
is the shape and β
is the rate
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
impl<T> Any for T where
T: 'static + ?Sized,
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
impl<T, U> Into<U> for T where
U: From<T>,
Performance hack: Clone doesn’t get inlined for Copy types in debug mode, so make it inline anyway.
Tests if Self
the same as the type T
Read more
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
Checks if self
is actually part of its subset T
(and can be converted to it).
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
The inclusion map: converts self
to the equivalent element of its superset.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
The type returned in the event of a conversion error.