Obsidian
Probabilistic Geophysical Joint Inversion
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
obsidian::distrib Namespace Reference

Classes

struct  MultiGaussian
 Represents a multivariate Gaussian distribution. More...
 

Functions

double logGaussian (const Eigen::VectorXd &x, const Eigen::VectorXd &mu, const Eigen::VectorXd &sigma)
 Compute the log Gaussian distribution PDF with a diagonal covariance matrix. More...
 
MultiGaussian coupledGaussianBlock (const Eigen::MatrixXd &mean, double coupledSD, double decoupledSD)
 
double logPDF (const Eigen::MatrixXd &theta, const MultiGaussian &input, const Eigen::MatrixXd &thetaMin, const Eigen::MatrixXd &thetaMax)
 Compute the log PDF of a multivariate Gaussian distribution.
 
double logPDF (const Eigen::VectorXd &theta, const MultiGaussian &input, const Eigen::VectorXd &thetaMin, const Eigen::VectorXd &thetaMax)
 Compute the log PDF of a multivariate Gaussian distribution.
 
double uniformLogPDF (const Eigen::MatrixXd &theta, const MultiGaussian &input, const Eigen::MatrixXd &thetaMins, const Eigen::MatrixXd &thetaMaxs)
 
Eigen::MatrixXd drawValues (const MultiGaussian &input, std::mt19937 &gen)
 Draw a sample from a multivariate Gaussian distribution.
 
Eigen::MatrixXd drawUniformValues (const Eigen::MatrixXd &min, const Eigen::MatrixXd &max, std::mt19937 &gen)
 
std::vector< Eigen::MatrixXd > drawFrom (const std::vector< distrib::MultiGaussian > &prior, std::mt19937 &gen, const std::vector< Eigen::MatrixXd > &mins, const std::vector< Eigen::MatrixXd > &maxs, const std::vector< bool > &uniformFlags)
 Draw a sample from a multivariate Gaussian distribution.
 
std::vector< Eigen::VectorXd > drawVectorFrom (const std::vector< distrib::MultiGaussian > &prior, std::mt19937 &gen, const std::vector< Eigen::VectorXd > &mins, const std::vector< Eigen::VectorXd > &maxs)
 Draw a sample from a multivariate Gaussian distribution.
 

Detailed Description

Namespace for probability distribution related functions.

Function Documentation

double obsidian::distrib::logGaussian ( const Eigen::VectorXd &  x,
const Eigen::VectorXd &  mu,
const Eigen::VectorXd &  sigma 
)

Compute the log Gaussian distribution PDF with a diagonal covariance matrix.

Parameters
xThe vector to evaluate the distribution at.
muThe mean vector containing the means of each dimension.
sigmaThe diagonal of the covariance matrix.