Class interp_krige_optim (o2scl)

O2scl : Class List

template<class vec_t, class vec2_t = vec_t, class mat_t = boost::numeric::ublas::matrix<double>, class mat_inv_t = o2scl_linalg::matrix_invert_det_cholesky<mat_t>>
class o2scl::interp_krige_optim : public o2scl::interp_krige<vec_t, vec_t, std::function<double(double, double)>, std::function<double(double, double, double)>, boost::numeric::ublas::matrix<double>, o2scl_linalg::matrix_invert_det_cholesky<boost::numeric::ublas::matrix<double>>>

One-dimensional interpolation using an optimized covariance function.

See also the Interpolation section of the O2scl User’s guide.

Note

This class is experimental.

Function to minimize and various option

static const size_t mode_loo_cv = 1

Leave-one-out cross validation.

static const size_t mode_max_lml = 2

Minus Log-marginal-likelihood.

size_t mode

Function to minimize (default mode_loo_cv)

Public Types

typedef boost::numeric::ublas::vector<double> ubvector

Public Functions

inline interp_krige_optim()
inline virtual int set_noise(size_t size, const vec_t &x, const vec2_t &y, double noise_var, bool rescale = false, bool err_on_fail = true)

Initialize interpolation routine.

inline virtual void set(size_t size, const vec_t &x, const vec2_t &y)

Initialize interpolation routine.

inline virtual void set(size_t size, const vec_t &x, const vec2_t &y, bool rescale, bool err_on_fail = true)

Initialize interpolation routine.

Public Members

int verbose

Verbosity parameter.

size_t nlen

Number of length scale points to try when full minimizer is not used (default 20)

min_brent_gsl def_min

Default minimizer.

bool full_min

If true, use the full minimizer.

Protected Functions

inline double covar(double x1, double x2)

The covariance function.

inline double deriv_covar(double x1, double x2)

The derivative of the covariance function.

inline double deriv2_covar(double x1, double x2)

The second derivative of the covariance function.

inline double integ_covar(double x, double x1, double x2)

The integral of the covariance function.

inline double qual_fun(double x, double noise_var, int &success)

Function to optimize the covariance parameters.

Protected Attributes

std::function<double(double, double)> ff

Function object for the covariance.

std::function<double(double, double)> ffd

Function object for the covariance.

std::function<double(double, double)> ffd2

Function object for the covariance.

std::function<double(double, double, double)> ffi

Function object for the covariance.

double len

The covariance function length scale.

double qual

The quality factor of the optimization.

min_base *mp

Pointer to the user-specified minimizer.