Class interp_krige_optim (o2scl)

O2scl : Class List

template<class vec_t, class vec2_t = vec_t>
class o2scl::interp_krige_optim : public o2scl::interp_krige<vec_t, vec_t>

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

const size_t mode_loo_cv = 1

Leave-one-out cross validation.

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
typedef boost::numeric::ublas::matrix<double> ubmatrix
typedef boost::numeric::ublas::matrix_column<ubmatrix> ubmatrix_column

Public Functions

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

Initialize interpolation routine.

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

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

double covar(double x1, double x2)

The covariance function.

double deriv_covar(double x1, double x2)

The derivative of the covariance function.

double deriv2_covar(double x1, double x2)

The second derivative of the covariance function.

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

The integral of the covariance function.

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.

double len

The covariance function length scale.

double qual

The quality factor of the optimization.

min_base *mp

Pointer to the user-specified minimizer.