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

White noise covariance function. More...

#include <covariance.h>

Inheritance diagram for cmp::covariance::WhiteNoise:
Collaboration diagram for cmp::covariance::WhiteNoise:

Public Member Functions

 WhiteNoise (const WhiteNoise &)=default
 
 WhiteNoise (WhiteNoise &&)=default
 
WhiteNoiseoperator= (const WhiteNoise &)=default
 
WhiteNoiseoperator= (WhiteNoise &&)=default
 
 WhiteNoise (const size_t &indexX=-1, double tol=1e-10)
 
double eval (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par) const
 
double evalGradient (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par, const size_t &i) const
 
double evalHessian (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par, const size_t &i, const size_t &j) const
 
- Public Member Functions inherited from cmp::covariance::Covariance
virtual ~Covariance ()=default
 

Static Public Member Functions

static std::shared_ptr< Covariancemake (const int &i=-1, double tol=1e-10)
 

Private Attributes

int indexX_ {-1}
 Dimension index to evaluate, or -1 for the full isotropic kernel.
 
double tol_ {1e-10}
 Distance tolerance threshold.
 

Detailed Description

White noise covariance function.

Mathematical Formulation Evaluates the Kronecker delta kernel between two inputs \(\mathbf{x}_1, \mathbf{x}_2\):

\[ k(\mathbf{x}_1, \mathbf{x}_2) = \begin{cases} 1.0 & \text{if } d < \text{tol} \\ 0.0 & \text{otherwise} \end{cases} \]

where \(d\) is the distance between the two points.

Implementation Algorithm Computes distance \(d\) and compares it to a small tolerance threshold tol_.

Constructor & Destructor Documentation

◆ WhiteNoise() [1/3]

cmp::covariance::WhiteNoise::WhiteNoise ( const WhiteNoise )
default

◆ WhiteNoise() [2/3]

cmp::covariance::WhiteNoise::WhiteNoise ( WhiteNoise &&  )
default

◆ WhiteNoise() [3/3]

cmp::covariance::WhiteNoise::WhiteNoise ( const size_t &  indexX = -1,
double  tol = 1e-10 
)
inline

Member Function Documentation

◆ eval()

double cmp::covariance::WhiteNoise::eval ( const Eigen::VectorXd &  x1,
const Eigen::VectorXd &  x2,
const Eigen::VectorXd &  par 
) const
inlinevirtual

◆ evalGradient()

double cmp::covariance::WhiteNoise::evalGradient ( const Eigen::VectorXd &  x1,
const Eigen::VectorXd &  x2,
const Eigen::VectorXd &  par,
const size_t &  i 
) const
inlinevirtual

◆ evalHessian()

double cmp::covariance::WhiteNoise::evalHessian ( const Eigen::VectorXd &  x1,
const Eigen::VectorXd &  x2,
const Eigen::VectorXd &  par,
const size_t &  i,
const size_t &  j 
) const
inlinevirtual

◆ make()

static std::shared_ptr< Covariance > cmp::covariance::WhiteNoise::make ( const int &  i = -1,
double  tol = 1e-10 
)
inlinestatic

◆ operator=() [1/2]

WhiteNoise & cmp::covariance::WhiteNoise::operator= ( const WhiteNoise )
default

◆ operator=() [2/2]

WhiteNoise & cmp::covariance::WhiteNoise::operator= ( WhiteNoise &&  )
default

Member Data Documentation

◆ indexX_

int cmp::covariance::WhiteNoise::indexX_ {-1}
private

Dimension index to evaluate, or -1 for the full isotropic kernel.

◆ tol_

double cmp::covariance::WhiteNoise::tol_ {1e-10}
private

Distance tolerance threshold.


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