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

#include <distribution.h>

Inheritance diagram for cmp::distribution::MultivariateUniformDistribution:
Collaboration diagram for cmp::distribution::MultivariateUniformDistribution:

Public Member Functions

 MultivariateUniformDistribution (const Eigen::Ref< const Eigen::VectorXd > &lowerBound, const Eigen::Ref< const Eigen::VectorXd > &upperBound)
 
 MultivariateUniformDistribution ()=default
 
Eigen::VectorXd sample (std::default_random_engine &rng, const double &gamma=1.0)
 
Eigen::MatrixXd toCanonical (const Eigen::MatrixXd &x) const
 
Eigen::MatrixXd toPhysical (const Eigen::MatrixXd &z) const
 
size_t dimension () const
 
- Public Member Functions inherited from cmp::distribution::MultivariateDistribution< MultivariateUniformDistribution >
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.
 

Static Public Member Functions

static MultivariateUniformDistribution canonical (const size_t dim)
 

Private Attributes

Eigen::VectorXd lowerBound_
 Lower bounds vector.
 
Eigen::VectorXd upperBound_
 Upper bounds vector.
 
std::uniform_real_distribution< double > distU_
 Uniform distribution helper for [0, 1] scaling.
 

Constructor & Destructor Documentation

◆ MultivariateUniformDistribution() [1/2]

cmp::distribution::MultivariateUniformDistribution::MultivariateUniformDistribution ( const Eigen::Ref< const Eigen::VectorXd > &  lowerBound,
const Eigen::Ref< const Eigen::VectorXd > &  upperBound 
)
inline

◆ MultivariateUniformDistribution() [2/2]

cmp::distribution::MultivariateUniformDistribution::MultivariateUniformDistribution ( )
default

Member Function Documentation

◆ canonical()

static MultivariateUniformDistribution cmp::distribution::MultivariateUniformDistribution::canonical ( const size_t  dim)
inlinestatic

◆ dimension()

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

◆ sample()

Eigen::VectorXd cmp::distribution::MultivariateUniformDistribution::sample ( std::default_random_engine &  rng,
const double &  gamma = 1.0 
)
inline

◆ toCanonical()

Eigen::MatrixXd cmp::distribution::MultivariateUniformDistribution::toCanonical ( const Eigen::MatrixXd &  x) const
inline

◆ toPhysical()

Eigen::MatrixXd cmp::distribution::MultivariateUniformDistribution::toPhysical ( const Eigen::MatrixXd &  z) const
inline

Member Data Documentation

◆ distU_

std::uniform_real_distribution<double> cmp::distribution::MultivariateUniformDistribution::distU_
private

Uniform distribution helper for [0, 1] scaling.

◆ lowerBound_

Eigen::VectorXd cmp::distribution::MultivariateUniformDistribution::lowerBound_
private

Lower bounds vector.

◆ upperBound_

Eigen::VectorXd cmp::distribution::MultivariateUniformDistribution::upperBound_
private

Upper bounds vector.


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