CMP++: Uncertainty Quantification & Bayesian Calibration
Loading...
Searching...
No Matches
cmp::prior::Prior Class Referenceabstract

Base class for prior probability distributions. More...

#include <prior++.h>

Inheritance diagram for cmp::prior::Prior:

Public Member Functions

virtual ~Prior ()=default
 
virtual double eval (const Eigen::VectorXd &par) const =0
 
virtual double evalGradient (const Eigen::VectorXd &par, const size_t &i) const =0
 
virtual double evalHessian (const Eigen::VectorXd &par, const size_t &i, const size_t &j) const =0
 

Detailed Description

Base class for prior probability distributions.

Mathematical Formulation Represents a log-prior probability density function \( \log p(\theta) \) over parameters \( \theta \in \mathbb{R}^d \). Provides virtual interfaces for evaluation, gradient, and Hessian computation:

  • Value: \( f(\theta) = \log p(\theta) \)
  • Gradient: \( \nabla_i f(\theta) = \frac{\partial \log p(\theta)}{\partial \theta_i} \)
  • Hessian: \( \mathcal{H}_{ij} f(\theta) = \frac{\partial^2 \log p(\theta)}{\partial \theta_i \partial \theta_j} \)

    Implementation Algorithm Pure virtual interface specifying the contract for prior evaluation. Concrete subclasses must implement eval, evalGradient, and evalHessian.

Constructor & Destructor Documentation

◆ ~Prior()

virtual cmp::prior::Prior::~Prior ( )
virtualdefault

Member Function Documentation

◆ eval()

virtual double cmp::prior::Prior::eval ( const Eigen::VectorXd &  par) const
pure virtual

◆ evalGradient()

virtual double cmp::prior::Prior::evalGradient ( const Eigen::VectorXd &  par,
const size_t &  i 
) const
pure virtual

◆ evalHessian()

virtual double cmp::prior::Prior::evalHessian ( const Eigen::VectorXd &  par,
const size_t &  i,
const size_t &  j 
) const
pure virtual

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