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

Multi-dimensional interpolation by kriging. More...

#include <interpm_krige.h>

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< vec_t, mat_t, mat_row_t >

Note
The set data functions for this class uses a particular format, one different format than that in o2scl::interpm_idw . This design choice makes it easier to pass vector arguments to the covariance function and the linear algebra routines. The x and y objects should be of the form x[n_points][n_in] and y[n_out][n_points]. A separate covariance function is required for each output.
This class assumes that the function specified in the call to set_data() is the same as that passed to the eval() functions. If this is not the case, the behavior of this class is undefined.
Experimental.

Definition at line 74 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::vector< size_t > ubvector_size_t
 
typedef boost::numeric::ublas::matrix_column< ubmatrixubmatrix_column
 
typedef boost::numeric::ublas::matrix_row< ubmatrixubmatrix_row
 

Protected Attributes

std::vector< ubvectorKinvf
 Inverse covariance matrix times function vector.
 

Select matrix inversion method

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.
 
mat_t 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.
 
size_t matrix_mode
 Method for matrix inversion.
 
int verbose
 Verbosity parameter (default 0)
 
static const size_t matrix_cholesky =0
 Use Cholesky decomposition.
 
static const size_t matrix_LU =1
 Use LU decomposition.
 
template<class mat2_row_t , class mat2_t , class func_vec_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, func_vec_t &fcovar, const vec_t &noise_var, bool rescale=false, bool err_on_fail=true)
 Initialize the data for the interpolation. More...
 
template<class mat2_row_t , class mat2_t , class func_vec_t >
int set_data (size_t n_in, size_t n_out, size_t n_points, mat_t &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...
 
template<class vec2_t , class vec3_t , class vec_func_t >
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.
 

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 func_vec_t >
int o2scl::interpm_krige< 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,
func_vec_t &  fcovar,
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 291 of file interpm_krige.h.

◆ set_data_noise()

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 func_vec_t >
int o2scl::interpm_krige< vec_t, mat_t, mat_row_t >::set_data_noise ( size_t  n_in,
size_t  n_out,
size_t  n_points,
mat_t &  user_x,
mat2_t &  user_y,
func_vec_t &  fcovar,
const vec_t &  noise_var,
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 120 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).