https://mooseframework.inl.gov
MaternHalfIntCovariance.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "CovarianceFunctionBase.h"
13 
15 {
16 public:
19 
22  const RealEigenMatrix & x,
23  const RealEigenMatrix & xp,
24  const bool is_self_covariance) const override;
25 
27  const RealEigenMatrix & x,
28  const RealEigenMatrix & xp,
29  const std::vector<Real> & length_factor,
30  const Real sigma_f_squared,
31  const Real sigma_n_squared,
32  const unsigned int p,
33  const bool is_self_covariance);
34 
36  bool computedKdhyper(RealEigenMatrix & dKdhp,
37  const RealEigenMatrix & x,
38  const std::string & hyper_param_name,
39  unsigned int ind) const override;
40 
42  static void computedKdlf(RealEigenMatrix & K,
43  const RealEigenMatrix & x,
44  const std::vector<Real> & length_factor,
45  const Real sigma_f_squared,
46  const unsigned int p,
47  const int ind);
48 
49 private:
51  const std::vector<Real> & _length_factor;
52 
55 
58 
60  unsigned int _p;
61 };
const Real & _sigma_n_squared
noise variance (^2)
static const std::string K
Definition: NS.h:170
Base class for covariance functions that are used in Gaussian Processes.
const std::vector< Real > & _length_factor
lengh factor () for the kernel, in vector form for multiple parameters
bool computedKdhyper(RealEigenMatrix &dKdhp, const RealEigenMatrix &x, const std::string &hyper_param_name, unsigned int ind) const override
Redirect dK/dhp for hyperparameter "hp".
unsigned int _p
non-negative p factor for use in Matern half-int. = p+(1/2) in terms of general Matern ...
static void computedKdlf(RealEigenMatrix &K, const RealEigenMatrix &x, const std::vector< Real > &length_factor, const Real sigma_f_squared, const unsigned int p, const int ind)
Computes dK/dlf for individual length factors.
const std::vector< double > x
static InputParameters validParams()
void computeCovarianceMatrix(RealEigenMatrix &K, const RealEigenMatrix &x, const RealEigenMatrix &xp, const bool is_self_covariance) const override
Generates the Covariance Matrix given two points in the parameter space.
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > RealEigenMatrix
static void maternHalfIntFunction(RealEigenMatrix &K, const RealEigenMatrix &x, const RealEigenMatrix &xp, const std::vector< Real > &length_factor, const Real sigma_f_squared, const Real sigma_n_squared, const unsigned int p, const bool is_self_covariance)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
MaternHalfIntCovariance(const InputParameters &parameters)
const Real & _sigma_f_squared
signal variance (^2)