Dakota  Version 6.15
Explore and Predict with Confidence
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Kernel Class Referenceabstract

Kernel functions for the Gaussian Process surrogate. More...

Inheritance diagram for Kernel:
Matern32Kernel Matern52Kernel SquaredExponentialKernel

Public Member Functions

virtual void compute_gram (const std::vector< MatrixXd > &dists2, const VectorXd &theta_values, MatrixXd &gram)=0
 Compute a Gram matrix given a vector of squared distances and kernel hyperparameters. More...
 
virtual void compute_gram_derivs (const MatrixXd &gram, const std::vector< MatrixXd > &dists2, const VectorXd &theta_values, std::vector< MatrixXd > &gram_derivs)=0
 Compute the derivatives of the Gram matrix with respect to the kernel hyperparameters. More...
 
virtual MatrixXd compute_first_deriv_pred_gram (const MatrixXd &pred_gram, const std::vector< MatrixXd > &mixed_dists, const VectorXd &theta_values, const int index)=0
 Compute the first derivatve of the prediction matrix for a given component. More...
 
virtual MatrixXd compute_second_deriv_pred_gram (const MatrixXd &pred_gram, const std::vector< MatrixXd > &mixed_dists, const VectorXd &theta_values, const int index_i, const int index_j)=0
 Compute the second derivatve of the prediction matrix for a pair of components. More...
 

Protected Member Functions

void compute_Dbar (const std::vector< MatrixXd > &cw_dists2, const VectorXd &theta_values, bool take_sqrt=true)
 Compute the ``Dbar'' matrices of scaled distances. More...
 

Protected Attributes

MatrixXd Dbar
 
MatrixXd Dbar2
 

Detailed Description

Kernel functions for the Gaussian Process surrogate.

Member Function Documentation

virtual void compute_gram ( const std::vector< MatrixXd > &  dists2,
const VectorXd theta_values,
MatrixXd gram 
)
pure virtual

Compute a Gram matrix given a vector of squared distances and kernel hyperparameters.

Parameters
[in]dists2Vector of squared distance matrices.
[in]theta_valuesVector of hyperparameters.
[in,out]gramGram matrix.
Returns
Gram matrix.

Implemented in Matern52Kernel, Matern32Kernel, and SquaredExponentialKernel.

virtual void compute_gram_derivs ( const MatrixXd gram,
const std::vector< MatrixXd > &  dists2,
const VectorXd theta_values,
std::vector< MatrixXd > &  gram_derivs 
)
pure virtual

Compute the derivatives of the Gram matrix with respect to the kernel hyperparameters.

Parameters
[in]gramGram Matrix
[in]dists2Vector of squared distance matrices.
[in]theta_valuesVector of hyperparameters.
[in,out]gram_derivsVector of Gram matrix derivatives.
Returns
Derivatives of the Gram matrix w.r.t. the hyperparameters.

Implemented in Matern52Kernel, Matern32Kernel, and SquaredExponentialKernel.

virtual MatrixXd compute_first_deriv_pred_gram ( const MatrixXd pred_gram,
const std::vector< MatrixXd > &  mixed_dists,
const VectorXd theta_values,
const int  index 
)
pure virtual

Compute the first derivatve of the prediction matrix for a given component.

Parameters
[in]pred_gramPrediction Gram matrix - Rectangular matrix of kernel evaluations between the surrogate and prediction points.
[in]mixed_distsComponent-wise signed distances between the prediction and build points.
[in]theta_valuesVector of hyperparameters.
[in]indexSpecifies the component of the derivative.
Returns
first_deriv_pred_gram First derivative of the prediction Gram matrix for a given component.

Implemented in Matern52Kernel, Matern32Kernel, and SquaredExponentialKernel.

virtual MatrixXd compute_second_deriv_pred_gram ( const MatrixXd pred_gram,
const std::vector< MatrixXd > &  mixed_dists,
const VectorXd theta_values,
const int  index_i,
const int  index_j 
)
pure virtual

Compute the second derivatve of the prediction matrix for a pair of components.

Parameters
[in]pred_gramPrediction Gram matrix - Rectangular matrix of kernel evaluations between the surrogate and prediction points.
[in]mixed_distsComponent-wise signed distances between the prediction and build points.
[in]theta_valuesVector of hyperparameters.
[in]index_iSpecifies the first component of the second derivative.
[in]index_jSpecifies the second component of the second derivative.
Returns
second_deriv_pred_gram Second derivative of the prediction matrix for a pair of components.

Implemented in Matern52Kernel, Matern32Kernel, and SquaredExponentialKernel.

void compute_Dbar ( const std::vector< MatrixXd > &  cw_dists2,
const VectorXd theta_values,
bool  take_sqrt = true 
)
protected

Compute the ``Dbar'' matrices of scaled distances.

Parameters
[in]cw_dists2Vector of component-wise squared distance matrices.
[in]theta_valuesVector of hyperparameters.
[in]take_sqrtFlag for computing the square root of Dbar2.
Returns
Matrix of hyperparameter-scaled distances.

Referenced by Matern32Kernel::compute_first_deriv_pred_gram(), Matern52Kernel::compute_first_deriv_pred_gram(), SquaredExponentialKernel::compute_gram(), Matern32Kernel::compute_gram(), Matern52Kernel::compute_gram(), Matern32Kernel::compute_gram_derivs(), Matern52Kernel::compute_gram_derivs(), and Matern52Kernel::compute_second_deriv_pred_gram().


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