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

Represents a Linear covariance function. More...

#include <covariance.h>

Inheritance diagram for cmp::covariance::Linear:
Collaboration diagram for cmp::covariance::Linear:

Public Member Functions

 Linear (const Linear &)=default
 
 Linear (Linear &&)=default
 
Linearoperator= (const Linear &)=default
 
Linearoperator= (Linear &&)=default
 
 Linear (const int &indexX=-1)
 Constructs a Linear covariance function.
 
double eval (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const Eigen::VectorXd &par) const
 Evaluates the Linear 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 Linear 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 Linear 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 a linear covariance.
 

Private Attributes

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

Detailed Description

Represents a Linear covariance function.

Mathematical Formulation If indexX_ is -1, computes the full dot product:

\[ k_{\text{lin}}(\mathbf{x}_1, \mathbf{x}_2) = \mathbf{x}_1^T \mathbf{x}_2 \]

Otherwise, evaluates only for the coordinate at indexX_:

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

Constructor & Destructor Documentation

◆ Linear() [1/3]

cmp::covariance::Linear::Linear ( const Linear )
default

◆ Linear() [2/3]

cmp::covariance::Linear::Linear ( Linear &&  )
default

◆ Linear() [3/3]

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

Constructs a Linear covariance function.

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

Member Function Documentation

◆ eval()

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

Evaluates the Linear kernel.

Implements cmp::covariance::Covariance.

◆ evalGradient()

double cmp::covariance::Linear::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 Linear kernel.

Implements cmp::covariance::Covariance.

◆ evalHessian()

double cmp::covariance::Linear::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 Linear kernel.

Implements cmp::covariance::Covariance.

◆ make()

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

Factory method for creating a linear covariance.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Member Data Documentation

◆ indexX_

int cmp::covariance::Linear::indexX_
private

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


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