Class NLO

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class NLO : public qb::vqee::VqeOpt

NLOpt library with common options for these algorithms:

  • Nelder-Mead

Subclassed by qb::vqee::NelderMeadNLO

Public Functions

inline NLO()

Default constructor - calls the base class and sets the provider name and algorithm name.

inline NLO(const std::string &in_algorithm)

Simple constructor.

inline NLO(const std::vector<double> &in_initial_parameters, const std::string &in_algorithm = "cobyla", const int in_maxeval = 1000, const double in_ftol = 1.0e-6, const YAML::Node &in_node = YAML::Load(""))

Constructor with defaults shown.

virtual std::shared_ptr<xacc::Optimizer> get() override

Getters.

inline virtual void show_info()

Private Members

std::set<std::string> integer_valued_fields_ = {}

Integer-valued fields.

std::set<std::string> string_valued_fields_ = {}

String-valued fields.

std::set<std::string> boolean_valued_fields_{"maximise", "maximize"}

Boolean-valued fields.

std::set<std::string> double_valued_fields_ = {"stopval"}

Double-valued fields.

std::set<std::string> vector_double_valued_fields_{"upperbounds", "lowerbounds"}

Vector of double fields.

std::map<std::string, std::string> all_valid_fields_yaml_xacc_{{"maximise", "maximize"}, {"maximize", "maximize"}, {"stopval", "nlopt-stopval"}, {"upperbounds", "nlopt-upper-bounds"}, {"lowerbounds", "nlopt-lower-bounds"}}

Union of all the above fields. Conversion of keys from YAML -> XACC.