numerical-collection-cpp 0.10.0
A collection of algorithms in numerical analysis implemented in C++
Loading...
Searching...
No Matches
num_collect::rbf::gaussian_process_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction > Class Template Reference

Class to interpolate using Gaussian process. More...

#include <num_collect/rbf/gaussian_process_interpolator.h>

+ Inheritance diagram for num_collect::rbf::gaussian_process_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction >:
+ Collaboration diagram for num_collect::rbf::gaussian_process_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction >:

Public Types

using base_type
 Type of the base class.
 

Public Member Functions

void compute (const std::vector< variable_type > &variables, const function_value_vector_type &function_values)
 Compute parameters for interpolation.
 
auto evaluate_mean_and_variance_on (const variable_type &variable) const -> std::pair< function_value_type, function_value_type >
 Evaluate mean and variance in the gaussian process for a variable.
 

Private Attributes

function_value_type common_coeff_ {}
 Common coefficients for RBF.
 

Static Private Attributes

static constexpr auto reg_param = static_cast<kernel_value_type>(0)
 Regularization parameter.
 

Detailed Description

template<typename FunctionSignature, concepts::rbf RBF = rbfs::gaussian_rbf<impl::get_default_scalar_type<FunctionSignature>>, kernel_matrix_type KernelMatrixType = kernel_matrix_type::dense, concepts::distance_function DistanceFunction = distance_functions::euclidean_distance_function< impl::get_variable_type_t<FunctionSignature>>>
class num_collect::rbf::gaussian_process_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction >

Class to interpolate using Gaussian process.

Template Parameters
FunctionSignatureSignature of the function to interpolate. (Example: double(double), double(Eigen::Vector3d), ...)
RBFType of the RBF.
KernelMatrixTypeType of kernel matrices.
DistanceFunctionType of the distance function.
Note
This class adds some functions for Gaussian process to num_collect::rbf::rbf_interpolator class.

Definition at line 60 of file gaussian_process_interpolator.h.

Member Typedef Documentation

◆ base_type

template<typename FunctionSignature , concepts::rbf RBF = rbfs::gaussian_rbf<impl::get_default_scalar_type<FunctionSignature>>, kernel_matrix_type KernelMatrixType = kernel_matrix_type::dense, concepts::distance_function DistanceFunction = distance_functions::euclidean_distance_function< impl::get_variable_type_t<FunctionSignature>>>
using num_collect::rbf::gaussian_process_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction >::base_type
Initial value:
global_rbf_interpolator<FunctionSignature, RBF,
KernelMatrixType, DistanceFunction>
rbf_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction, length_parameter_calculators::global_length_parameter_calculator< DistanceFunction > > global_rbf_interpolator
Class to interpolate using RBF with globally fixed length parameters.

Type of the base class.

Definition at line 68 of file gaussian_process_interpolator.h.

Member Function Documentation

◆ compute()

template<typename FunctionSignature , concepts::rbf RBF = rbfs::gaussian_rbf<impl::get_default_scalar_type<FunctionSignature>>, kernel_matrix_type KernelMatrixType = kernel_matrix_type::dense, concepts::distance_function DistanceFunction = distance_functions::euclidean_distance_function< impl::get_variable_type_t<FunctionSignature>>>
void num_collect::rbf::gaussian_process_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction >::compute ( const std::vector< variable_type > & variables,
const function_value_vector_type & function_values )
inline

Compute parameters for interpolation.

Parameters
[in]variablesVariables.
[in]function_valuesFunction values.
Note
Pointer to the variables are saved internally, so do not destruct it.

Definition at line 89 of file gaussian_process_interpolator.h.

◆ evaluate_mean_and_variance_on()

template<typename FunctionSignature , concepts::rbf RBF = rbfs::gaussian_rbf<impl::get_default_scalar_type<FunctionSignature>>, kernel_matrix_type KernelMatrixType = kernel_matrix_type::dense, concepts::distance_function DistanceFunction = distance_functions::euclidean_distance_function< impl::get_variable_type_t<FunctionSignature>>>
auto num_collect::rbf::gaussian_process_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction >::evaluate_mean_and_variance_on ( const variable_type & variable) const -> std::pair<function_value_type, function_value_type>
inlinenodiscard

Evaluate mean and variance in the gaussian process for a variable.

Parameters
[in]variableVariable on which the function value is interpolated.
Returns
Mean and variance.

Definition at line 102 of file gaussian_process_interpolator.h.

Member Data Documentation

◆ common_coeff_

template<typename FunctionSignature , concepts::rbf RBF = rbfs::gaussian_rbf<impl::get_default_scalar_type<FunctionSignature>>, kernel_matrix_type KernelMatrixType = kernel_matrix_type::dense, concepts::distance_function DistanceFunction = distance_functions::euclidean_distance_function< impl::get_variable_type_t<FunctionSignature>>>
function_value_type num_collect::rbf::gaussian_process_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction >::common_coeff_ {}
private

Common coefficients for RBF.

Definition at line 134 of file gaussian_process_interpolator.h.

◆ reg_param

template<typename FunctionSignature , concepts::rbf RBF = rbfs::gaussian_rbf<impl::get_default_scalar_type<FunctionSignature>>, kernel_matrix_type KernelMatrixType = kernel_matrix_type::dense, concepts::distance_function DistanceFunction = distance_functions::euclidean_distance_function< impl::get_variable_type_t<FunctionSignature>>>
auto num_collect::rbf::gaussian_process_interpolator< FunctionSignature, RBF, KernelMatrixType, DistanceFunction >::reg_param = static_cast<kernel_value_type>(0)
staticconstexprprivate

Regularization parameter.

Definition at line 129 of file gaussian_process_interpolator.h.


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