pub struct Chi { /* private fields */ }
Expand description
Implements the Chi
distribution
use statrs::distribution::{Chi, Continuous};
use statrs::statistics::Distribution;
use statrs::prec;
let n = Chi::new(2.0).unwrap();
assert!(prec::almost_eq(n.mean().unwrap(), 1.25331413731550025121, 1e-14));
assert!(prec::almost_eq(n.pdf(1.0), 0.60653065971263342360, 1e-15));
Constructs a new chi distribution
with freedom
degrees of freedom
Returns an error if freedom
is NaN
or
less than or equal to 0.0
use statrs::distribution::Chi;
let mut result = Chi::new(2.0);
assert!(result.is_ok());
result = Chi::new(0.0);
assert!(result.is_err());
Returns the degrees of freedom of
the chi distribution.
use statrs::distribution::Chi;
let n = Chi::new(2.0).unwrap();
assert_eq!(n.freedom(), 2.0);
Performs copy-assignment from source
. Read more
Calculates the probability density function for the chi
distribution at x
(2^(1 - (k / 2)) * x^(k - 1) * e^(-x^2 / 2)) / Γ(k / 2)
where k
is the degrees of freedom and Γ
is the gamma function
Calculates the log probability density function for the chi distribution
at x
ln((2^(1 - (k / 2)) * x^(k - 1) * e^(-x^2 / 2)) / Γ(k / 2))
Calculates the cumulative distribution function for the chi
distribution at x
.
where k
is the degrees of freedom and P
is
the regularized 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 chi distribution
Returns NaN
if freedom
is INF
sqrt2 * Γ((k + 1) / 2) / Γ(k / 2)
where k
is degrees of freedom and Γ
is the gamma function
Returns the variance of the chi distribution
Returns NaN
if freedom
is INF
where k
is degrees of freedom and μ
is the mean
of the distribution
Returns the entropy of the chi distribution
Returns None
if freedom
is INF
ln(Γ(k / 2)) + 0.5 * (k - ln2 - (k - 1) * ψ(k / 2))
where k
is degrees of freedom, Γ
is the gamma function,
and ψ
is the digamma function
Returns the skewness of the chi distribution
Returns NaN
if freedom
is INF
where μ
is the mean and σ
the standard deviation
of the distribution
Returns the standard deviation, if it exists. Read more
Returns the maximum value in the domain of the chi distribution
representable by a double precision float
Returns the minimum value in the domain of the chi distribution
representable by a double precision float
Returns the mode for the chi distribution
If freedom < 1.0
where k
is the degrees of freedom
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.