28 virtual double eval(
const Eigen::VectorXd &x,
const Eigen::VectorXd &par)
const = 0;
29 virtual double evalGradient(
const Eigen::VectorXd &x,
const Eigen::VectorXd &par,
const size_t &i)
const = 0;
30 virtual double evalHessian(
const Eigen::VectorXd &x,
const Eigen::VectorXd &par,
const size_t &i,
const size_t &j)
const = 0;
60 double eval(
const Eigen::VectorXd& x,
const Eigen::VectorXd &par)
const {
67 double evalGradient(
const Eigen::VectorXd& x,
const Eigen::VectorXd &log_par,
const size_t &i)
const {
78 double evalHessian(
const Eigen::VectorXd& x,
const Eigen::VectorXd &log_par,
const size_t &i,
const size_t &j)
const {
85 static std::shared_ptr<Mean>
make(
const size_t &c) {
86 return std::make_shared<Constant>(c);
112 double eval(
const Eigen::VectorXd& x,
const Eigen::VectorXd &par)
const {
119 double evalGradient(
const Eigen::VectorXd& x,
const Eigen::VectorXd &log_par,
const size_t &i)
const {
126 double evalHessian(
const Eigen::VectorXd& x,
const Eigen::VectorXd &log_par,
const size_t &i,
const size_t &j)
const {
133 static std::shared_ptr<Mean>
make() {
134 return std::make_shared<Zero>();
Represents a constant mean function.
Definition mean++.h:42
Constant & operator=(Constant &&)=default
static std::shared_ptr< Mean > make(const size_t &c)
Factory method for creating a Constant mean function.
Definition mean++.h:85
Constant & operator=(const Constant &)=default
double evalGradient(const Eigen::VectorXd &x, const Eigen::VectorXd &log_par, const size_t &i) const
Evaluates the partial derivative of the constant mean function.
Definition mean++.h:67
Constant(const Constant &)=default
double evalHessian(const Eigen::VectorXd &x, const Eigen::VectorXd &log_par, const size_t &i, const size_t &j) const
Evaluates the second-order partial derivative (Hessian) of the constant mean function.
Definition mean++.h:78
double eval(const Eigen::VectorXd &x, const Eigen::VectorXd &par) const
Evaluates the constant mean.
Definition mean++.h:60
Constant(const size_t &c)
Constructs a Constant mean function using the hyperparameter at index c.
Definition mean++.h:55
size_t index_
Hyperparameter index of the constant value.
Definition mean++.h:44
Constant(Constant &&)=default
Abstract base class for Gaussian Process prior mean functions.
Definition mean++.h:25
virtual double evalGradient(const Eigen::VectorXd &x, const Eigen::VectorXd &par, const size_t &i) const =0
virtual double eval(const Eigen::VectorXd &x, const Eigen::VectorXd &par) const =0
virtual double evalHessian(const Eigen::VectorXd &x, const Eigen::VectorXd &par, const size_t &i, const size_t &j) const =0
Represents a constant zero mean function.
Definition mean++.h:100
double evalHessian(const Eigen::VectorXd &x, const Eigen::VectorXd &log_par, const size_t &i, const size_t &j) const
Evaluates the second-order partial derivative (Hessian) of the zero mean function.
Definition mean++.h:126
Zero & operator=(Zero &&)=default
Zero(const Zero &)=default
static std::shared_ptr< Mean > make()
Factory method for creating a Zero mean function.
Definition mean++.h:133
double evalGradient(const Eigen::VectorXd &x, const Eigen::VectorXd &log_par, const size_t &i) const
Evaluates the partial derivative of the zero mean function.
Definition mean++.h:119
Zero & operator=(const Zero &)=default
double eval(const Eigen::VectorXd &x, const Eigen::VectorXd &par) const
Evaluates the zero mean function.
Definition mean++.h:112