iterative-solver 0.0
molpro::linalg::itsolv::LinearEigensystemDavidsonOptions Struct Reference

Allows setting and getting of options for LinearEigensystemDavidson instance via IterativeSolver base class. More...

#include <LinearEigensystemDavidsonOptions.h>

Inheritance diagram for molpro::linalg::itsolv::LinearEigensystemDavidsonOptions:
Collaboration diagram for molpro::linalg::itsolv::LinearEigensystemDavidsonOptions:

Detailed Description

Allows setting and getting of options for LinearEigensystemDavidson instance via IterativeSolver base class.

Example

#include <molpro/linalg/itsolv/CastOptions.h>
#include <molpro/linalg/itsolv/LinearEigensystemDavidsonOptions.h>
#include "create_solver.h"
// create_solver is implemented by the user with definition in .cpp to avoid recompilation
std::shared_ptr<IterativeSolver<R,Q,P>> solver = create_solver(SolverType::LinearEigensystemDavidson);
// Setting implementation dependent options for the solver through its base class
auto options = std::make_shared<LinearEigensystemDavidsonOptions>();
options->max_size_q = 10;
options->hermiticity = true;
options->svd_thresh = 1.0e-12;
solver->set_options(options);
// Retrieving options
std::shared_ptr<Options> options_itsolv = solver->get_options();
std::cout << "convergence threshold= " << options_itsolv->coonvergence_threshold.get();
// To access options specific to LinearEigensystemDavidson we need to down-cast
std::shared_ptr<LinearEigensystemDavidsonOptions> options_lin_eig =
CastOptions::LinearEigensystemDavidson(solver->get_options()); std::cout << "svd threshold= " <<
options_p->svd_threshold.get() << std::endl;
4-parameter interpolation of a 1-dimensional function given two points for which function values and ...
Definition: helper.h:10
const std::shared_ptr< const molpro::Options > options()
Get the Options object associated with iterative-solver.
Definition: options.cpp:4

Public Member Functions

 LinearEigensystemDavidsonOptions ()=default
 
 LinearEigensystemDavidsonOptions (const options_map &opt)
 
- Public Member Functions inherited from molpro::linalg::itsolv::LinearEigensystemOptions
 LinearEigensystemOptions ()=default
 
 LinearEigensystemOptions (const options_map &opt)
 
- Public Member Functions inherited from molpro::linalg::itsolv::Options
virtual ~Options ()=default
 
 Options ()=default
 
 Options (const options_map &opt)
 Initialises options from key/value strings. Unrecognised options are ignored. More...
 
void copy (const Options &source)
 copies options from source object More...
 

Public Attributes

std::optional< int > reset_D
 
std::optional< int > reset_D_max_Q_size
 
std::optional< int > max_size_qspace
 
std::optional< double > norm_thresh
 
std::optional< double > svd_thresh
 
std::optional< bool > hermiticity
 
- Public Attributes inherited from molpro::linalg::itsolv::Options
std::optional< double > convergence_threshold
 convergence threshold More...
 
std::optional< int > n_roots
 number of roots to solve for More...
 
std::optional< Verbosityverbosity
 verbosity level during IterativeSolver::solve() More...
 
std::optional< int > max_iter
 maximum number of iterations during IterativeSolver::solve() More...
 
std::optional< double > max_p
 maximum size of P space More...
 
std::optional< double > p_threshold
 threshold for selecting P space More...
 

Constructor & Destructor Documentation

◆ LinearEigensystemDavidsonOptions() [1/2]

molpro::linalg::itsolv::LinearEigensystemDavidsonOptions::LinearEigensystemDavidsonOptions ( )
default

◆ LinearEigensystemDavidsonOptions() [2/2]

molpro::linalg::itsolv::LinearEigensystemDavidsonOptions::LinearEigensystemDavidsonOptions ( const options_map opt)

Member Data Documentation

◆ hermiticity

std::optional<bool> molpro::linalg::itsolv::LinearEigensystemDavidsonOptions::hermiticity

◆ max_size_qspace

std::optional<int> molpro::linalg::itsolv::LinearEigensystemDavidsonOptions::max_size_qspace

◆ norm_thresh

std::optional<double> molpro::linalg::itsolv::LinearEigensystemDavidsonOptions::norm_thresh

◆ reset_D

std::optional<int> molpro::linalg::itsolv::LinearEigensystemDavidsonOptions::reset_D

◆ reset_D_max_Q_size

std::optional<int> molpro::linalg::itsolv::LinearEigensystemDavidsonOptions::reset_D_max_Q_size

◆ svd_thresh

std::optional<double> molpro::linalg::itsolv::LinearEigensystemDavidsonOptions::svd_thresh