SOT
surrogate.h
1 
8 #ifndef SOT_SURROGATE_H
9 #define SOT_SURROGATE_H
10 
11 #include "common.h"
12 
14 namespace sot {
15 
17 
25  class Surrogate {
26  public:
28  virtual int numPoints() const = 0;
29  virtual int dim() const = 0;
31  virtual void reset() = 0;
34  virtual mat X() const = 0;
35  virtual vec X(int i) const = 0;
37  virtual vec fX() const = 0;
39  virtual double fX(int i) const = 0;
41 
46  virtual void addPoint(const vec &point, double funVal) = 0;
48 
52  virtual void addPoints(const mat &points, const vec &funVals) = 0;
54 
58  virtual double eval(const vec &point) const = 0;
60 
65  virtual double eval(const vec &point, const vec &dists) const = 0;
67 
71  virtual vec evals(const mat &points) const = 0;
73 
78  virtual vec evals(const mat &points, const mat &dists) const = 0;
80 
84  virtual vec deriv(const vec &point) const = 0;
86  virtual void fit() = 0;
87  };
88 }
89 
90 
91 #endif
92 
virtual mat X() const =0
Method for getting the current points.
virtual int dim() const =0
Method for getting the number of dimensions.
arma::vec vec
Default (column) vector class.
Definition: common.h:17
virtual vec evals(const mat &points) const =0
Method for evaluating the surrogate at multiple points.
virtual vec fX() const =0
Method for getting the values of the current points.
Abstract class for a SOT surrogate model.
Definition: surrogate.h:25
virtual void fit()=0
Method for fitting the surrogate model.
virtual void addPoints(const mat &points, const vec &funVals)=0
Method for adding multiple points with known values.
virtual void reset()=0
Method for resetting the surrogate model.
virtual double eval(const vec &point) const =0
Method for evaluating the surrogate model at a point.
virtual int numPoints() const =0
Method for getting the current number of points.
virtual vec deriv(const vec &point) const =0
Method for evaluating the derivative of the surrogate model at a point.
SOT namespace.
Definition: sot.h:27
virtual void addPoint(const vec &point, double funVal)=0
Method for adding a point with a known value.
arma::mat mat
Default matrix class.
Definition: common.h:16