iterative-solver 0.0
 
Loading...
Searching...
No Matches
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<int> max_p;
33 std::optional<double> p_threshold;
34 std::optional<bool> check_metric;
35
40 void copy(const Options& source);
41};
42
47
52
57
62
63} // namespace molpro::linalg::itsolv
64#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:14
std::unique_ptr< LinearEigensystem< R, Q, P > > create_LinearEigensystem(const LinearEigensystemOptions &options, const std::shared_ptr< ArrayHandlers< R, Q, P > > &handlers=std::make_shared< molpro::linalg::itsolv::ArrayHandlers< R, Q, P > >())
Definition SolverFactory.h:111
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:45
LinearEquationsOptions(const options_map &opt)
Definition Options.h:50
NonLinearEquationsOptions(const options_map &opt)
Definition Options.h:55
OptimizeOptions(const options_map &opt)
Definition Options.h:60
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< bool > check_metric
whether the properties of a metric are checked every iteration
Definition Options.h:34
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
std::optional< int > max_p
maximum size of P space
Definition Options.h:32