iterative-solver 0.0
Options.h
1#ifndef LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_ITERATIVESOLVER_H_OPTIONS_H
2#define LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_ITERATIVESOLVER_H_OPTIONS_H
3#include <molpro/linalg/itsolv/options_map.h>
4
5#include <map>
6#include <optional>
7#include <string>
8
10
12enum class Verbosity {
13 None = 0,
14 Summary = 1,
15 Iteration = 2,
16 Detailed = 3
17};
18
20struct Options {
21 virtual ~Options() = default;
22 Options() = default;
27 Options(const options_map& opt);
28 std::optional<double> convergence_threshold;
29 std::optional<int> n_roots;
30 std::optional<Verbosity> verbosity;
31 std::optional<int> max_iter;
32 std::optional<double> max_p;
33 std::optional<double> p_threshold;
34
39 void copy(const Options& source);
40};
41
45};
46
50};
51
55};
56
58 OptimizeOptions() = default;
59 OptimizeOptions(const options_map& opt) : Options(opt) {}
60};
61
62} // namespace molpro::linalg::itsolv
63#endif // LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_ITERATIVESOLVER_H_OPTIONS_H
4-parameter interpolation of a 1-dimensional function given two points for which function values and ...
Definition: helper.h:10
std::map< std::string, std::string > options_map
Definition: options_map.h:8
Verbosity
Specifies how much detail IterativeSolver::solve should write to output.
Definition: Options.h:12
@ Summary
only summary at the start and end of solve
@ Detailed
Iteration plus more detail such as operation count.
@ Iteration
Summary plus minimal results at each iteration.
LinearEigensystemOptions(const options_map &opt)
Definition: Options.h:44
LinearEquationsOptions(const options_map &opt)
Definition: Options.h:49
NonLinearEquationsOptions(const options_map &opt)
Definition: Options.h:54
OptimizeOptions(const options_map &opt)
Definition: Options.h:59
Access point for different options in iterative solvers.
Definition: Options.h:20
void copy(const Options &source)
copies options from source object
Definition: Options.cpp:6
std::optional< double > p_threshold
threshold for selecting P space
Definition: Options.h:33
std::optional< double > convergence_threshold
convergence threshold
Definition: Options.h:28
std::optional< double > max_p
maximum size of P space
Definition: Options.h:32
std::optional< int > max_iter
maximum number of iterations during IterativeSolver::solve()
Definition: Options.h:31
std::optional< Verbosity > verbosity
verbosity level during IterativeSolver::solve()
Definition: Options.h:30
std::optional< int > n_roots
number of roots to solve for
Definition: Options.h:29