CMP++: Uncertainty Quantification & Bayesian Calibration
Loading...
Searching...
No Matches
cmp::distribution::MultivariateMixtureDistribution Class Reference

#include <distribution.h>

Inheritance diagram for cmp::distribution::MultivariateMixtureDistribution:
Collaboration diagram for cmp::distribution::MultivariateMixtureDistribution:

Public Member Functions

 MultivariateMixtureDistribution (const std::vector< std::shared_ptr< MultivariateNormalDistribution > > &components, const std::vector< double > &weights)
 
Eigen::VectorXd sample (std::default_random_engine &rng)
 
double logPDF (const Eigen::Ref< const Eigen::VectorXd > &x) const
 
size_t dimension () const
 
- Public Member Functions inherited from cmp::distribution::MultivariateDistribution< MultivariateMixtureDistribution >
double logPDF (const Eigen::Ref< const Eigen::VectorXd > &x) const
 Computes the joint log probability density function (log-PDF) of the distribution.
 
Eigen::VectorXd sample (std::default_random_engine &rng)
 Draws a single vector sample from the joint distribution.
 
Eigen::MatrixXd toCanonical (const Eigen::MatrixXd &x) const
 Transforms physical samples to standard canonical space.
 
Eigen::MatrixXd fromCanonical (const Eigen::MatrixXd &x) const
 Transforms standard canonical samples back to physical space.
 
size_t dimension () const
 Returns the dimensionality of the multivariate space.
 

Private Attributes

std::vector< std::shared_ptr< MultivariateNormalDistribution > > components_
 Gaussian components of the mixture.
 
std::vector< double > weights_
 Mixing weights for each component.
 

Constructor & Destructor Documentation

◆ MultivariateMixtureDistribution()

cmp::distribution::MultivariateMixtureDistribution::MultivariateMixtureDistribution ( const std::vector< std::shared_ptr< MultivariateNormalDistribution > > &  components,
const std::vector< double > &  weights 
)
inline

Member Function Documentation

◆ dimension()

size_t cmp::distribution::MultivariateMixtureDistribution::dimension ( ) const
inline

◆ logPDF()

double cmp::distribution::MultivariateMixtureDistribution::logPDF ( const Eigen::Ref< const Eigen::VectorXd > &  x) const
inline

◆ sample()

Eigen::VectorXd cmp::distribution::MultivariateMixtureDistribution::sample ( std::default_random_engine &  rng)
inline

Member Data Documentation

◆ components_

std::vector<std::shared_ptr<MultivariateNormalDistribution> > cmp::distribution::MultivariateMixtureDistribution::components_
private

Gaussian components of the mixture.

◆ weights_

std::vector<double> cmp::distribution::MultivariateMixtureDistribution::weights_
private

Mixing weights for each component.


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