Kernels

class Kernel

Subclassed by DotProduct, NormalizedDotProduct, NormalizedDotProduct_ICM, SquaredExponential

Public Functions

Kernel()
Kernel(Eigen::VectorXd kernel_hyperparameters)
virtual Eigen::MatrixXd envs_envs(const ClusterDescriptor &envs1, const ClusterDescriptor &envs2, const Eigen::VectorXd &hyps) = 0
virtual std::vector<Eigen::MatrixXd> envs_envs_grad(const ClusterDescriptor &envs1, const ClusterDescriptor &envs2, const Eigen::VectorXd &hyps) = 0
virtual Eigen::MatrixXd envs_struc(const ClusterDescriptor &envs, const DescriptorValues &struc, const Eigen::VectorXd &hyps) = 0
virtual std::vector<Eigen::MatrixXd> envs_struc_grad(const ClusterDescriptor &envs, const DescriptorValues &struc, const Eigen::VectorXd &hyps) = 0
virtual Eigen::VectorXd self_kernel_struc(const DescriptorValues &struc, const Eigen::VectorXd &hyps) = 0
virtual Eigen::MatrixXd struc_struc(const DescriptorValues &struc1, const DescriptorValues &struc2, const Eigen::VectorXd &hyps) = 0
virtual Eigen::MatrixXd compute_mapping_coefficients(const SparseGP &gp_model, int kernel_index) = 0
virtual Eigen::MatrixXd compute_varmap_coefficients(const SparseGP &gp_model, int kernel_index) = 0
virtual void write_info(std::ofstream &coeff_file) = 0
virtual std::vector<Eigen::MatrixXd> Kuu_grad(const ClusterDescriptor &envs, const Eigen::MatrixXd &Kuu, const Eigen::VectorXd &hyps)
virtual std::vector<Eigen::MatrixXd> Kuf_grad(const ClusterDescriptor &envs, const std::vector<Structure> &strucs, int kernel_index, const Eigen::MatrixXd &Kuf, const Eigen::VectorXd &hyps)
virtual void set_hyperparameters(Eigen::VectorXd hyps) = 0
virtual ~Kernel() = default
virtual nlohmann::json return_json() = 0

Public Members

Eigen::VectorXd kernel_hyperparameters
std::string kernel_name
class NormalizedDotProduct : public Kernel

Public Functions

NormalizedDotProduct()
NormalizedDotProduct(double sigma, double power)
virtual Eigen::MatrixXd envs_envs(const ClusterDescriptor &envs1, const ClusterDescriptor &envs2, const Eigen::VectorXd &hyps)
virtual std::vector<Eigen::MatrixXd> envs_envs_grad(const ClusterDescriptor &envs1, const ClusterDescriptor &envs2, const Eigen::VectorXd &hyps)
virtual Eigen::MatrixXd envs_struc(const ClusterDescriptor &envs, const DescriptorValues &struc, const Eigen::VectorXd &hyps)
virtual std::vector<Eigen::MatrixXd> envs_struc_grad(const ClusterDescriptor &envs, const DescriptorValues &struc, const Eigen::VectorXd &hyps)
virtual Eigen::VectorXd self_kernel_struc(const DescriptorValues &struc, const Eigen::VectorXd &hyps)
virtual Eigen::MatrixXd struc_struc(const DescriptorValues &struc1, const DescriptorValues &struc2, const Eigen::VectorXd &hyps)
virtual std::vector<Eigen::MatrixXd> Kuu_grad(const ClusterDescriptor &envs, const Eigen::MatrixXd &Kuu, const Eigen::VectorXd &new_hyps)
virtual std::vector<Eigen::MatrixXd> Kuf_grad(const ClusterDescriptor &envs, const std::vector<Structure> &strucs, int kernel_index, const Eigen::MatrixXd &Kuf, const Eigen::VectorXd &new_hyps)
virtual void set_hyperparameters(Eigen::VectorXd new_hyps)
Eigen::MatrixXd compute_map_coeff_pow1(const SparseGP &gp_model, int kernel_index)
Eigen::MatrixXd compute_map_coeff_pow2(const SparseGP &gp_model, int kernel_index)
virtual Eigen::MatrixXd compute_mapping_coefficients(const SparseGP &gp_model, int kernel_index)
virtual Eigen::MatrixXd compute_varmap_coefficients(const SparseGP &gp_model, int kernel_index)
virtual void write_info(std::ofstream &coeff_file)

Public Members

double sigma
double sig2
double power