1 #ifndef WHITENOISEKERNEL_H
2 #define WHITENOISEKERNEL_H
9 namespace Approximation
30 const double sigma2In) :
WhiteNoiseKernel(dim, sigma2In, {0.0, std::numeric_limits<double>::infinity()}){}
33 const double sigma2In,
46 template<
typename ScalarType1,
typename ScalarType2,
typename ScalarType3>
47 void FillBlockImpl(Eigen::Ref<
const Eigen::Matrix<ScalarType1, Eigen::Dynamic, 1>>
const& x1,
48 Eigen::Ref<
const Eigen::Matrix<ScalarType1, Eigen::Dynamic, 1>>
const& x2,
49 Eigen::Ref<
const Eigen::Matrix<ScalarType2, Eigen::Dynamic, 1>>
const& params,
50 Eigen::Ref<Eigen::Matrix<ScalarType3,Eigen::Dynamic, Eigen::Dynamic>> block)
const
52 ScalarType1 squaredDist = (x1-x2).squaredNorm();
53 block(0,0) = (squaredDist<1
e-14) ? params(0) : 0.0;
Eigen::VectorXd cachedParams
Eigen::MatrixXd paramBounds
Base class in CRTP pattern for covariance kernels.
void FillBlockImpl(Eigen::Ref< const Eigen::Matrix< ScalarType1, Eigen::Dynamic, 1 >> const &x1, Eigen::Ref< const Eigen::Matrix< ScalarType1, Eigen::Dynamic, 1 >> const &x2, Eigen::Ref< const Eigen::Matrix< ScalarType2, Eigen::Dynamic, 1 >> const ¶ms, Eigen::Ref< Eigen::Matrix< ScalarType3, Eigen::Dynamic, Eigen::Dynamic >> block) const
WhiteNoiseKernel(unsigned dim, const double sigma2In, const Eigen::Vector2d sigmaBounds)
virtual ~WhiteNoiseKernel()
WhiteNoiseKernel(unsigned dim, const double sigma2In)