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

Represents an Inverse covariance function. More...

#include <covariance.h>

Inheritance diagram for cmp::covariance::Inverse:
Collaboration diagram for cmp::covariance::Inverse:

Public Member Functions

 Inverse (const Inverse &)=default
 
 Inverse (Inverse &&)=default
 
Inverseoperator= (const Inverse &)=default
 
Inverseoperator= (Inverse &&)=default
 
 Inverse (const int &indexX=-1)
 Constructs an Inverse covariance function.
 
double eval (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par) const
 Evaluates the Inverse kernel.
 
double evalGradient (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par, const size_t &i) const
 Evaluates the partial derivative of the Inverse kernel.
 
double evalHessian (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par, const size_t &i, const size_t &j) const
 Evaluates the second-order partial derivative of the Inverse kernel.
 
- Public Member Functions inherited from cmp::covariance::Covariance
virtual ~Covariance ()=default
 

Static Public Member Functions

static std::shared_ptr< Covariancemake (const int &i)
 Factory method for creating an inverse covariance.
 

Private Attributes

int indexX_
 Coordinate index to project (-1 for full vector dot product).
 

Detailed Description

Represents an Inverse covariance function.

Mathematical Formulation If indexX_ is -1, computes:

\[ k_{\text{inv}}(\mathbf{x}_1, \mathbf{x}_2) = \frac{1}{\mathbf{x}_1^T \mathbf{x}_2 + 1} \]

Otherwise, evaluates only for the coordinate at indexX_:

\[ k_{\text{inv}}(\mathbf{x}_1, \mathbf{x}_2) = \frac{1}{x_{1,\text{index}} \times x_{2,\text{index}} + 1} \]

Constructor & Destructor Documentation

◆ Inverse() [1/3]

cmp::covariance::Inverse::Inverse ( const Inverse )
default

◆ Inverse() [2/3]

cmp::covariance::Inverse::Inverse ( Inverse &&  )
default

◆ Inverse() [3/3]

cmp::covariance::Inverse::Inverse ( const int &  indexX = -1)
inline

Constructs an Inverse covariance function.

Parameters
indexXDimension index to evaluate, or -1 for the full dot product.

Member Function Documentation

◆ eval()

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

Evaluates the Inverse kernel.

Implements cmp::covariance::Covariance.

◆ evalGradient()

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

Evaluates the partial derivative of the Inverse kernel.

Implements cmp::covariance::Covariance.

◆ evalHessian()

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

Evaluates the second-order partial derivative of the Inverse kernel.

Implements cmp::covariance::Covariance.

◆ make()

static std::shared_ptr< Covariance > cmp::covariance::Inverse::make ( const int &  i)
inlinestatic

Factory method for creating an inverse covariance.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Member Data Documentation

◆ indexX_

int cmp::covariance::Inverse::indexX_
private

Coordinate index to project (-1 for full vector dot product).


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