|
| | Matern52 (const Matern52 &)=default |
| |
| | Matern52 (Matern52 &&)=default |
| |
| Matern52 & | operator= (const Matern52 &)=default |
| |
| Matern52 & | operator= (Matern52 &&)=default |
| |
| | Matern52 (const size_t &l, const int &i=-1) |
| |
| 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 |
| |
| virtual | ~Covariance ()=default |
| |
Matérn covariance function with parameter nu = 5/2.
Mathematical Formulation Evaluates the Matérn 5/2 kernel between two inputs \(\mathbf{x}_1, \mathbf{x}_2\):
\[
k(\mathbf{x}_1, \mathbf{x}_2) = \left( 1 + \frac{\sqrt{5}d}{\ell} + \frac{5d^2}{3\ell^2} \right) \exp\left( -\frac{\sqrt{5}d}{\ell} \right)
\]
where \(d\) is the distance (isotropic or coordinate-based) and \(\ell = \theta_{\text{index}}\) is the lengthscale hyperparameter. This kernel yields processes that are twice differentiable.
Implementation Algorithm
- Computes the distance \(d\).
- Computes the polynomial coefficients and exponential scaling terms.
- Evaluates analytical first-order and second-order derivatives with respect to \(\ell\).