Multivariate normal distribution. More...
#include <multivariate_normal_distribution.hpp>
Public Types | |
using | covariance_type = typename multivariate_distribution_traits< T >::covariance_type |
The covariance matrix from T. More... | |
using | param_type = MultivariateNormalDistributionParam< vector_type, covariance_type > |
The type of the parameter set. More... | |
using | result_type = typename multivariate_distribution_traits< T >::result_type |
The result type from T. More... | |
using | scalar_type = typename multivariate_distribution_traits< T >::scalar_type |
The scalar type. More... | |
using | vector_type = typename multivariate_distribution_traits< T >::vector_type |
The Eigen vector type corresponding to T. More... | |
Public Member Functions | |
MultivariateNormalDistribution ()=default | |
Construct with zero mean and circularly symmetric unitary covariance. More... | |
template<class U > | |
MultivariateNormalDistribution (const MultivariateNormalDistribution< U > &other) | |
Copy construct from another compatible distribution. More... | |
MultivariateNormalDistribution (const param_type ¶ms) | |
Construct from distribution parameters. More... | |
MultivariateNormalDistribution (covariance_type covariance) | |
Construct with zero mean and the given covariance. More... | |
template<class U > | |
MultivariateNormalDistribution (MultivariateNormalDistribution< U > &&other) noexcept | |
Move construct from another compatible distribution. More... | |
MultivariateNormalDistribution (result_type mean, covariance_type covariance) | |
Construct with the given mean and covariance. More... | |
bool | operator!= (const MultivariateNormalDistribution< T > &other) const |
Compares this object with other distribution object. More... | |
template<class Generator > | |
result_type | operator() (Generator &generator) |
Generates the next random object in the distribution. More... | |
template<class Generator > | |
result_type | operator() (Generator &generator, const param_type ¶ms) |
Generates the next random object in the distribution. More... | |
template<class U > | |
MultivariateNormalDistribution & | operator= (const MultivariateNormalDistribution< U > &other) |
Copy assign from another compatible distribution. More... | |
template<class U > | |
MultivariateNormalDistribution & | operator= (MultivariateNormalDistribution< U > &&other) |
Move assign from another compatible distribution. More... | |
bool | operator== (const MultivariateNormalDistribution< T > &other) const |
Compares this object with other distribution object. More... | |
const param_type & | param () const |
Returns the associated parameter set. More... | |
void | param (const param_type ¶ms) |
Sets the associated parameter set to params. More... | |
void | reset () |
Resets the internal state of the distribution. More... | |
Private Attributes | |
std::normal_distribution< scalar_type > | distribution_ |
param_type | params_ |
Friends | |
template<class U > | |
class | MultivariateNormalDistribution |
Multivariate normal distribution.
MultivariateNormalDistribution<T>
is an implementation of Beluga named requirements: RandomStateDistribution that represents a multi-dimensional normal distribution of real-valued random variables.
T | The result type for the distribution. |
Definition at line 137 of file multivariate_normal_distribution.hpp.
using beluga::MultivariateNormalDistribution< T >::covariance_type = typename multivariate_distribution_traits<T>::covariance_type |
The covariance matrix from T.
Definition at line 149 of file multivariate_normal_distribution.hpp.
using beluga::MultivariateNormalDistribution< T >::param_type = MultivariateNormalDistributionParam<vector_type, covariance_type> |
The type of the parameter set.
Definition at line 155 of file multivariate_normal_distribution.hpp.
using beluga::MultivariateNormalDistribution< T >::result_type = typename multivariate_distribution_traits<T>::result_type |
The result type from T.
Definition at line 152 of file multivariate_normal_distribution.hpp.
using beluga::MultivariateNormalDistribution< T >::scalar_type = typename multivariate_distribution_traits<T>::scalar_type |
The scalar type.
Definition at line 143 of file multivariate_normal_distribution.hpp.
using beluga::MultivariateNormalDistribution< T >::vector_type = typename multivariate_distribution_traits<T>::vector_type |
The Eigen vector type corresponding to T.
Definition at line 146 of file multivariate_normal_distribution.hpp.
|
default |
Construct with zero mean and circularly symmetric unitary covariance.
|
inlineexplicit |
Construct from distribution parameters.
params | The distribution parameter set. |
Definition at line 164 of file multivariate_normal_distribution.hpp.
|
inlineexplicit |
Construct with zero mean and the given covariance.
covariance | Real symmetric matrix that represents the covariance of the random variable. |
std::runtime_error | If the provided covariance is invalid. |
Definition at line 172 of file multivariate_normal_distribution.hpp.
|
inline |
Construct with the given mean and covariance.
mean | An object that represents the mean value of the random variable. |
covariance | Real symmetric matrix that represents the covariance of the random variable. |
std::runtime_error | If the provided covariance is invalid. |
Definition at line 181 of file multivariate_normal_distribution.hpp.
|
inline |
Copy construct from another compatible distribution.
U | The result type for the other distribution. |
other | Another instance of a multivariate normal distribution. |
Definition at line 190 of file multivariate_normal_distribution.hpp.
|
inlinenoexcept |
Move construct from another compatible distribution.
U | The result type for the other distribution. |
other | Another instance of a multivariate normal distribution. |
Definition at line 199 of file multivariate_normal_distribution.hpp.
|
inline |
Compares this object with other distribution object.
Two distribution objects are equal when parameter values and internal state are the same. In other words, if they are invoked with equal generators, they generate the same sequence.
other | Distribution object to compare against. |
Definition at line 285 of file multivariate_normal_distribution.hpp.
|
inline |
Generates the next random object in the distribution.
Generator | The generator type that must meet the requirements of UniformRandomBitGenerator. |
generator | An uniform random bit generator object. |
Definition at line 248 of file multivariate_normal_distribution.hpp.
|
inline |
Generates the next random object in the distribution.
Generator | The generator type that must meet the requirements of UniformRandomBitGenerator. |
generator | An uniform random bit generator object. |
params | Distribution parameter set to use instead of the associated one. |
Definition at line 261 of file multivariate_normal_distribution.hpp.
|
inline |
Copy assign from another compatible distribution.
U | The result type for the other distribution. |
other | Another instance of a multivariate normal distribution. |
Definition at line 208 of file multivariate_normal_distribution.hpp.
|
inline |
Move assign from another compatible distribution.
U | The result type for the other distribution. |
other | Another instance of a multivariate normal distribution. |
Definition at line 220 of file multivariate_normal_distribution.hpp.
|
inline |
Compares this object with other distribution object.
Two distribution objects are equal when parameter values and internal state are the same. In other words, if they are invoked with equal generators, they generate the same sequence.
other | Distribution object to compare against. |
Definition at line 273 of file multivariate_normal_distribution.hpp.
|
inline |
Returns the associated parameter set.
Definition at line 230 of file multivariate_normal_distribution.hpp.
|
inline |
Sets the associated parameter set to params.
This doesn't reset the internal state of the distribution.
params | New contents of the associated parameter set. |
Definition at line 238 of file multivariate_normal_distribution.hpp.
|
inline |
Resets the internal state of the distribution.
Definition at line 227 of file multivariate_normal_distribution.hpp.
Definition at line 140 of file multivariate_normal_distribution.hpp.
|
private |
Definition at line 289 of file multivariate_normal_distribution.hpp.
|
private |
Definition at line 288 of file multivariate_normal_distribution.hpp.