Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
o2scl::interpm_krige_optim< vec_t, mat_t, mat_row_t > Class Template Reference

One-dimensional interpolation using an optimized covariance function. More...

#include <interpm_krige.h>

Inheritance diagram for o2scl::interpm_krige_optim< vec_t, mat_t, mat_row_t >:
o2scl::interpm_krige< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::matrix_row< boost::numeric::ublas::vector< double > > >

Detailed Description

template<class vec_t = boost::numeric::ublas::vector<double>, class mat_t = boost::numeric::ublas::vector<double>, class mat_row_t = boost::numeric::ublas::matrix_row <boost::numeric::ublas::vector<double> >>
class o2scl::interpm_krige_optim< vec_t, mat_t, mat_row_t >

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

Note
This class is experimental.

Definition at line 392 of file interpm_krige.h.

Public Types

typedef boost::numeric::ublas::vector< double > ubvector
 
typedef boost::numeric::ublas::matrix< double > ubmatrix
 
typedef boost::numeric::ublas::matrix_column< ubmatrixubmatrix_column
 
- Public Types inherited from o2scl::interpm_krige< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::matrix_row< boost::numeric::ublas::vector< double > > >
typedef boost::numeric::ublas::vector< double > ubvector
 
typedef boost::numeric::ublas::matrix< double > ubmatrix
 
typedef boost::numeric::ublas::vector< size_t > ubvector_size_t
 
typedef boost::numeric::ublas::matrix_column< ubmatrixubmatrix_column
 
typedef boost::numeric::ublas::matrix_row< ubmatrixubmatrix_row
 

Public Member Functions

void set_len_range (double min2, double max2)
 Set the range for the length parameter.
 
template<class mat2_row_t , class mat2_t , class vec2_t , class vec3_t >
int set_data_noise (size_t n_in, size_t n_out, size_t n_points, mat_t &user_x, mat2_t &user_y, const vec2_t &noise_var, const vec3_t &len_precompute, bool rescale=false, bool err_on_fail=true)
 Initialize interpolation routine.
 
template<class mat2_row_t , class mat2_t , class vec2_t >
int set_data (size_t n_in, size_t n_out, size_t n_points, mat_t &user_x, mat2_t &user_y, const vec2_t &len_precompute, bool rescale=false, bool err_on_fail=true)
 Initialize the data for the interpolation. More...
 
- Public Member Functions inherited from o2scl::interpm_krige< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::matrix_row< boost::numeric::ublas::vector< double > > >
int set_data_noise (size_t n_in, size_t n_out, size_t n_points, boost::numeric::ublas::vector< double > &user_x, mat2_t &user_y, func_vec_t &fcovar, const boost::numeric::ublas::vector< double > &noise_var, bool rescale=false, bool err_on_fail=true)
 Initialize the data for the interpolation. More...
 
int set_data (size_t n_in, size_t n_out, size_t n_points, boost::numeric::ublas::vector< double > &user_x, mat2_t &user_y, func_vec_t &fcovar, bool rescale=false, bool err_on_fail=true)
 Initialize the data for the interpolation. More...
 
void eval (const vec2_t &x0, vec3_t &y0, vec_func_t &fcovar)
 Given covariance function fcovar and input vector x store the result of the interpolation in y.
 

Public Attributes

std::vector< std::function< double(const mat_row_t &, const vec_t &)> > ff2
 Function objects for the covariance.
 
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.
 
- Public Attributes inherited from o2scl::interpm_krige< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::matrix_row< boost::numeric::ublas::vector< double > > >
size_t matrix_mode
 Method for matrix inversion.
 
int verbose
 Verbosity parameter (default 0)
 

Protected Member Functions

template<class vec2_t , class vec3_t >
double covar (const vec2_t &x1, const vec3_t &x2, size_t sz, double len2)
 The covariance function.
 
template<class vec3_t >
double qual_fun (double xlen, double noise_var, size_t iout, vec3_t &y, int &success)
 Function to optimize the covariance parameters.
 

Protected Attributes

std::vector< std::function< double(const mat_row_t &, const mat_row_t &)> > ff1
 Function objects for the covariance.
 
std::vector< double > len
 The covariance function length scale for each output function.
 
std::vector< double > qual
 The quality factor of the optimization for each output function.
 
bool len_guess_set
 If true, min and max has been set for the length parameter.
 
double len_min
 Minimum for length parameter range.
 
double len_max
 Maximum for length parameter range.
 
min_basemp
 Pointer to the user-specified minimizer.
 
- Protected Attributes inherited from o2scl::interpm_krige< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::matrix_row< boost::numeric::ublas::vector< double > > >
std::vector< ubvectorKinvf
 Inverse covariance matrix times function vector.
 
size_t np
 The number of points.
 
size_t nd_in
 The number of dimensions of the inputs.
 
size_t nd_out
 The number of dimensions of the outputs.
 
boost::numeric::ublas::vector< double > x
 The data.
 
bool data_set
 True if the data has been specified.
 
ubvector min
 Minimum values for rescaling.
 
ubvector max
 Maximum values for rescaling.
 
bool rescaled
 True if the data needs to be rescaled.
 

Function to minimize and various option

size_t mode
 Function to minimize (default mode_loo_cv)
 
size_t loo_npts
 Number of points to test for cross validation (default 100)
 
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.
 
static const size_t mode_final =10
 No optimization (for internal use)
 

Additional Inherited Members

- Static Public Attributes inherited from o2scl::interpm_krige< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::matrix_row< boost::numeric::ublas::vector< double > > >
static const size_t matrix_cholesky
 Use Cholesky decomposition.
 
static const size_t matrix_LU
 Use LU decomposition.
 

Member Function Documentation

◆ set_data()

template<class vec_t = boost::numeric::ublas::vector<double>, class mat_t = boost::numeric::ublas::vector<double>, class mat_row_t = boost::numeric::ublas::matrix_row <boost::numeric::ublas::vector<double> >>
template<class mat2_row_t , class mat2_t , class vec2_t >
int o2scl::interpm_krige_optim< vec_t, mat_t, mat_row_t >::set_data ( size_t  n_in,
size_t  n_out,
size_t  n_points,
mat_t &  user_x,
mat2_t &  user_y,
const vec2_t &  len_precompute,
bool  rescale = false,
bool  err_on_fail = true 
)
inline
Note
This function works differently than o2scl::interpm_idw::set_data() . See this class description for more details.

Definition at line 933 of file interpm_krige.h.


The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).