14 breaking releases
0.15.0 | Jun 24, 2024 |
---|---|
0.14.0 | Jan 16, 2023 |
0.13.0 | May 2, 2022 |
0.12.0 | Jan 2, 2022 |
0.1.1 | Sep 26, 2019 |
#97 in Science
1,368 downloads per month
17KB
277 lines
nalgebra-mvn
Multivariate normal distribution using nalgebra.
Example of usage
use nalgebra::{ Vector2, Matrix2, OMatrix, U2, U3};
use nalgebra_mvn::MultivariateNormal;
// specify mean and covariance of our multi-variate normal
let mu = Vector2::from_row_slice(&[9.0, 1.0]);
let sigma = Matrix2::from_row_slice(
&[1.0, 0.0,
0.0, 1.0]);
let mvn = MultivariateNormal::from_mean_and_covariance(&mu, &sigma).unwrap();
// input samples are row vectors vertically stacked
let xs = OMatrix::<_,U3,U2>::new(
8.9, 1.0,
9.0, 1.0,
9.1, 1.0,
);
// evaluate the density at each of our samples.
let result = mvn.pdf(&xs);
// result is a vector with num samples rows
assert!(result.nrows()==xs.nrows());
License
Licensed under either of
- Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
License: MIT/Apache-2.0
Dependencies
~3MB
~57K SLoC