Bayesian force fields
- 
class SparseGP
- Public Functions - 
SparseGP()
 - 
SparseGP(std::vector<Kernel*> kernels, double energy_noise, double force_noise, double stress_noise)
 - 
void add_training_structure(const Structure &structure, const std::vector<int> atom_indices = {-1}, double rel_e_noise = 1, double rel_f_noise = 1, double rel_s_noise = 1)
 - 
void update_Kuu(const std::vector<ClusterDescriptor> &cluster_descriptors)
 - 
void update_Kuf(const std::vector<ClusterDescriptor> &cluster_descriptors)
 - 
void stack_Kuu()
 - 
void stack_Kuf()
 - 
void update_matrices_QR()
 - 
void compute_likelihood_stable()
 - 
double compute_likelihood_gradient_stable(bool precomputed_KnK = false)
 - 
void precompute_KnK()
 - 
void compute_KnK(bool precomputed = false)
 - 
Eigen::MatrixXd compute_dKnK(int i)
 - 
void compute_likelihood()
 - 
double compute_likelihood_gradient(const Eigen::VectorXd &hyperparameters)
 - 
void set_hyperparameters(Eigen::VectorXd hyps)
 - 
void write_mapping_coefficients(std::string file_name, std::string contributor, int kernel_index)
 - 
void write_varmap_coefficients(std::string file_name, std::string contributor, int kernel_index)
 - 
void write_sparse_descriptors(std::string file_name, std::string contributor)
 - 
void write_L_inverse(std::string file_name, std::string contributor)
 - Public Members - 
Eigen::VectorXd hyperparameters
 - 
std::vector<Eigen::MatrixXd> Kuu_kernels
 - 
std::vector<Eigen::MatrixXd> Kuf_kernels
 - 
Eigen::MatrixXd Kuu
 - 
Eigen::MatrixXd Kuf
 - 
std::vector<Eigen::MatrixXd> Kuf_e_noise_Kfu
 - 
std::vector<Eigen::MatrixXd> Kuf_f_noise_Kfu
 - 
std::vector<Eigen::MatrixXd> Kuf_s_noise_Kfu
 - 
Eigen::MatrixXd KnK_e
 - 
Eigen::MatrixXd KnK_f
 - 
Eigen::MatrixXd KnK_s
 - 
int n_kernels = 0
 - 
double Kuu_jitter
 - 
Eigen::MatrixXd Sigma
 - 
Eigen::MatrixXd Kuu_inverse
 - 
Eigen::MatrixXd R_inv
 - 
Eigen::MatrixXd L_inv
 - 
Eigen::VectorXd alpha
 - 
Eigen::VectorXd R_inv_diag
 - 
Eigen::VectorXd L_diag
 - 
std::vector<ClusterDescriptor> sparse_descriptors
 - 
std::vector<std::vector<std::vector<int>>> sparse_indices
 - 
std::vector<std::vector<int>> training_atom_indices
 - 
Eigen::VectorXd noise_vector
 - 
Eigen::VectorXd y
 - 
Eigen::VectorXd label_count
 - 
Eigen::VectorXd e_noise_one
 - 
Eigen::VectorXd f_noise_one
 - 
Eigen::VectorXd s_noise_one
 - 
Eigen::VectorXd inv_e_noise_one
 - 
Eigen::VectorXd inv_f_noise_one
 - 
Eigen::VectorXd inv_s_noise_one
 - 
int n_energy_labels = 0
 - 
int n_force_labels = 0
 - 
int n_stress_labels = 0
 - 
int n_sparse = 0
 - 
int n_labels = 0
 - 
int n_strucs = 0
 - 
double energy_noise
 - 
double force_noise
 - 
double stress_noise
 - 
double log_marginal_likelihood
 - 
double data_fit
 - 
double complexity_penalty
 - 
double trace_term
 - 
double constant_term
 - 
Eigen::VectorXd likelihood_gradient
 - 
Eigen::MatrixXd varmap_coeffs
 - Public Static Functions - static NLOHMANN_DEFINE_TYPE_INTRUSIVE(SparseGP, hyperparameters, kernels, Kuu_kernels, Kuf_kernels, Kuu, Kuf, n_kernels, Kuu_jitter, Sigma, Kuu_inverse, R_inv, L_inv, alpha, R_inv_diag, L_diag, sparse_descriptors, training_structures, sparse_indices, noise_vector, y, label_count, n_energy_labels, n_force_labels, n_stress_labels, n_sparse, n_labels, n_strucs, energy_noise, force_noise, stress_noise, log_marginal_likelihood, data_fit, complexity_penalty, trace_term, constant_term, likelihood_gradient) void to_json(std SparseGP from_json (std::string file_name)
 
- 
SparseGP()