namespace gpr::optim

Overview

namespace optim {
 
// typedefs
 
typedef std::function<std::pair<double, Eigen::VectorXd>(const Eigen::VectorXd&positions)> OracleFn;
 
// structs
 
struct MinimizationConfig;
struct MinimizationResult;
 
// classes
 
class LBFGS;
 
// global functions
 
MinimizationResult gp_minimize(OracleFn oracle, const Eigen::VectorXd& x_init, const AtomsConfiguration& atoms_config, const MinimizationConfig& config = {});
 
} // namespace optim

Detailed Documentation

Typedefs

typedef std::function<std::pair<double, Eigen::VectorXd>(const Eigen::VectorXd&positions)> OracleFn

Oracle function: positions -> (energy, gradient).

Global Functions

MinimizationResult gp_minimize(OracleFn oracle, const Eigen::VectorXd& x_init, const AtomsConfiguration& atoms_config, const MinimizationConfig& config = {})

GP-accelerated geometry minimization.

Parameters:

oracle

Energy/gradient evaluation function

x_init

Initial positions (flat 3*N_atoms vector)

atoms_config

Atomic configuration for GP kernel

config

Minimization parameters

Returns:

MinimizationResult