|
CMP++: Uncertainty Quantification & Bayesian Calibration
|
Abstract base class for all covariance (kernel) functions. More...
#include <covariance.h>

Public Member Functions | |
| virtual | ~Covariance ()=default |
| virtual double | eval (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par) const =0 |
| virtual double | evalGradient (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par, const size_t &i) const =0 |
| virtual double | evalHessian (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par, const size_t &i, const size_t &j) const =0 |
Abstract base class for all covariance (kernel) functions.
Mathematical Formulation A covariance function (kernel) \(k: \mathbb{R}^D \times \mathbb{R}^D \to \mathbb{R}\) defines the covariance between GP values at any two inputs \(\mathbf{x}_1, \mathbf{x}_2\):
\[ \text{Cov}(f(\mathbf{x}_1), f(\mathbf{x}_2)) = k(\mathbf{x}_1, \mathbf{x}_2; \boldsymbol{\theta}) \]
where \(\boldsymbol{\theta}\) is the vector of kernel hyperparameters. The function must be symmetric and positive semi-definite:
\[ \sum_{i=1}^n \sum_{j=1}^n c_i c_j k(\mathbf{x}_i, \mathbf{x}_j) \ge 0 \quad \forall c_i \in \mathbb{R} \]
Implementation Algorithm Provides a virtual interface for evaluating the covariance value (eval), its first-order gradient (evalGradient) with respect to a hyperparameter \(\theta_i\), and its second-order Hessian (evalHessian) with respect to hyperparameters \(\theta_i, \theta_j\).
|
virtualdefault |
|
pure virtual |
Implemented in cmp::covariance::Sum, cmp::covariance::Product, cmp::covariance::Custom, cmp::covariance::Constant, cmp::covariance::Linear, cmp::covariance::Inverse, cmp::covariance::SquaredExponential, cmp::covariance::Matern52, cmp::covariance::Matern, cmp::covariance::WhiteNoise, and cmp::covariance::ModelClusterCovariance.
|
pure virtual |
Implemented in cmp::covariance::Sum, cmp::covariance::Product, cmp::covariance::Custom, cmp::covariance::Constant, cmp::covariance::Linear, cmp::covariance::Inverse, cmp::covariance::SquaredExponential, cmp::covariance::Matern52, cmp::covariance::Matern, cmp::covariance::WhiteNoise, and cmp::covariance::ModelClusterCovariance.
|
pure virtual |
Implemented in cmp::covariance::Sum, cmp::covariance::Product, cmp::covariance::Custom, cmp::covariance::Constant, cmp::covariance::Linear, cmp::covariance::Inverse, cmp::covariance::SquaredExponential, cmp::covariance::Matern52, cmp::covariance::Matern, cmp::covariance::WhiteNoise, and cmp::covariance::ModelClusterCovariance.