Class emulator_interpm_krige_table (o2scl)

O2scl : Class List

template<class vec2_t, class vec_t>
class emulator_interpm_krige_table : public o2scl::emulator_unc<vec2_t, vec2_t, vec_t>

Emulate data stored in a table object with interpm_krige.

This class is experimental.

Note

Currently, this emulator only works if the data object from the MCMC class is a vector type so that it knows how to find the “log weight” output

Public Functions

inline emulator_interpm_krige_table()

Create an emulator.

inline void set(size_t np, size_t n_out, size_t ix_log_wgt, table<> &t, std::vector<std::string> list)

Set the emulator.

Set the emulator using a table containing np parameters and n_out output quantities. The variable ix_log_wgt should be the index of the log_weight among all of the output variables, from 0 to n_out-1. The list, list, should include the column names of the parameters and then the output quantities (including the log weight column), in order.

inline virtual int eval_unc(size_t n, const vec_t &p, double &log_wgt, double &log_wgt_unc, vec2_t &dat, vec2_t &dat_unc)

Evaluate the emulator at the point p returning log_wgt and dat and their uncertainties.

Public Members

interpm_krige_optim<ubvector, mat_x_t, mat_x_row_t, mat_x_col_t, mat_y_t, mat_y_row_t, ubmatrix, o2scl_linalg::matrix_invert_det_cholesky<ubmatrix>> iko

The internal interpolation object.

Protected Types

typedef boost::numeric::ublas::vector<double> ubvector
typedef boost::numeric::ublas::matrix<double> ubmatrix
typedef o2scl::matrix_view_table mat_x_t
typedef const matrix_row_gen<mat_x_t> mat_x_row_t
typedef const matrix_column_gen<mat_x_t> mat_x_col_t
typedef o2scl::matrix_view_table_transpose mat_y_t
typedef const matrix_row_gen<mat_y_t> mat_y_row_t

Protected Attributes

matrix_view_table_transpose cmvtt

The view of the user-specified table.

size_t ix
std::vector<std::string> col_list_x
std::vector<std::string> col_list_y
matrix_view_table mvt_x
matrix_view_table_transpose mvt_y