Public Types | Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
beluga::MultivariateNormalDistributionParam< Vector, Matrix > Class Template Reference

Multivariate normal distribution parameter set class. More...

#include <multivariate_normal_distribution.hpp>

Public Types

using matrix_type = Matrix
 The covariance matrix from Vector. More...
 
using scalar_type = typename Vector::Scalar
 The scalar type. More...
 
using vector_type = Vector
 The vector type. More...
 

Public Member Functions

 MultivariateNormalDistributionParam ()=default
 Constructs a parameter set instance. More...
 
 MultivariateNormalDistributionParam (matrix_type covariance)
 Constructs a parameter set instance. More...
 
 MultivariateNormalDistributionParam (vector_type mean, matrix_type covariance)
 Constructs a parameter set instance. More...
 
bool operator!= (const MultivariateNormalDistributionParam &other) const
 Compares this object with other parameter set object. More...
 
template<class Generator >
auto operator() (std::normal_distribution< scalar_type > &distribution, Generator &generator) const
 Generates a new random object from the distribution. More...
 
bool operator== (const MultivariateNormalDistributionParam &other) const
 Compares this object with other parameter set object. More...
 

Static Private Member Functions

static matrix_type make_transform (matrix_type covariance)
 

Private Attributes

vector_type mean_ {vector_type::Zero()}
 
matrix_type transform_ {make_transform(vector_type::Ones().asDiagonal())}
 

Detailed Description

template<class Vector, class Matrix>
class beluga::MultivariateNormalDistributionParam< Vector, Matrix >

Multivariate normal distribution parameter set class.

Definition at line 32 of file multivariate_normal_distribution.hpp.

Member Typedef Documentation

◆ matrix_type

template<class Vector , class Matrix >
using beluga::MultivariateNormalDistributionParam< Vector, Matrix >::matrix_type = Matrix

The covariance matrix from Vector.

Definition at line 46 of file multivariate_normal_distribution.hpp.

◆ scalar_type

template<class Vector , class Matrix >
using beluga::MultivariateNormalDistributionParam< Vector, Matrix >::scalar_type = typename Vector::Scalar

The scalar type.

Definition at line 40 of file multivariate_normal_distribution.hpp.

◆ vector_type

template<class Vector , class Matrix >
using beluga::MultivariateNormalDistributionParam< Vector, Matrix >::vector_type = Vector

The vector type.

Definition at line 43 of file multivariate_normal_distribution.hpp.

Constructor & Destructor Documentation

◆ MultivariateNormalDistributionParam() [1/3]

template<class Vector , class Matrix >
beluga::MultivariateNormalDistributionParam< Vector, Matrix >::MultivariateNormalDistributionParam ( )
default

Constructs a parameter set instance.

◆ MultivariateNormalDistributionParam() [2/3]

template<class Vector , class Matrix >
beluga::MultivariateNormalDistributionParam< Vector, Matrix >::MultivariateNormalDistributionParam ( matrix_type  covariance)
inlineexplicit

Constructs a parameter set instance.

Parameters
covarianceReal symmetric matrix that represents the covariance of the random variable.
Exceptions
std::runtime_errorIf the provided covariance is invalid.

Definition at line 57 of file multivariate_normal_distribution.hpp.

◆ MultivariateNormalDistributionParam() [3/3]

template<class Vector , class Matrix >
beluga::MultivariateNormalDistributionParam< Vector, Matrix >::MultivariateNormalDistributionParam ( vector_type  mean,
matrix_type  covariance 
)
inline

Constructs a parameter set instance.

Parameters
meanA vector that represents the mean value of the random variable.
covarianceReal symmetric matrix that represents the covariance of the random variable.
Exceptions
std::runtime_errorIf the provided covariance is invalid.

Definition at line 67 of file multivariate_normal_distribution.hpp.

Member Function Documentation

◆ make_transform()

template<class Vector , class Matrix >
static matrix_type beluga::MultivariateNormalDistributionParam< Vector, Matrix >::make_transform ( matrix_type  covariance)
inlinestaticprivate

Definition at line 108 of file multivariate_normal_distribution.hpp.

◆ operator!=()

template<class Vector , class Matrix >
bool beluga::MultivariateNormalDistributionParam< Vector, Matrix >::operator!= ( const MultivariateNormalDistributionParam< Vector, Matrix > &  other) const
inline

Compares this object with other parameter set object.

Parameters
otherParameter set object to compare against.
Returns
True if the objects are not equal, false otherwise.

Definition at line 84 of file multivariate_normal_distribution.hpp.

◆ operator()()

template<class Vector , class Matrix >
template<class Generator >
auto beluga::MultivariateNormalDistributionParam< Vector, Matrix >::operator() ( std::normal_distribution< scalar_type > &  distribution,
Generator &  generator 
) const
inline

Generates a new random object from the distribution.

Template Parameters
GeneratorThe generator type that must meet the requirements of UniformRandomBitGenerator.
Parameters
distributionA reference to a standard normal distribution instance.
generatorAn uniform random bit generator object.
Returns
The generated random object.

Definition at line 95 of file multivariate_normal_distribution.hpp.

◆ operator==()

template<class Vector , class Matrix >
bool beluga::MultivariateNormalDistributionParam< Vector, Matrix >::operator== ( const MultivariateNormalDistributionParam< Vector, Matrix > &  other) const
inline

Compares this object with other parameter set object.

Parameters
otherParameter set object to compare against.
Returns
True if the objects are equal, false otherwise.

Definition at line 75 of file multivariate_normal_distribution.hpp.

Member Data Documentation

◆ mean_

template<class Vector , class Matrix >
vector_type beluga::MultivariateNormalDistributionParam< Vector, Matrix >::mean_ {vector_type::Zero()}
private

Definition at line 105 of file multivariate_normal_distribution.hpp.

◆ transform_

template<class Vector , class Matrix >
matrix_type beluga::MultivariateNormalDistributionParam< Vector, Matrix >::transform_ {make_transform(vector_type::Ones().asDiagonal())}
private

Definition at line 106 of file multivariate_normal_distribution.hpp.


The documentation for this class was generated from the following file:


beluga
Author(s):
autogenerated on Tue Jul 16 2024 02:59:54