Go to the documentation of this file.
14 #ifndef AEIGENSOLVER_INCLUDED
15 #define AEIGENSOLVER_INCLUDED
41 template<
typename FIELD,
typename FOPR>
62 virtual void solve(std::vector<real_t>& TDa,
63 std::vector<FIELD>& vk,
64 int& Nsbt,
int& Nconv,
67 vout.
crucial(
"AEigensolver: real solve not implemented.\n");
72 virtual void solve(std::vector<complex_t>& TDa,
73 std::vector<FIELD>& vk,
74 int& Nsbt,
int& Nconv,
77 vout.
crucial(
"AEigensolver: complex solve not implemented.\n");
91 ProductCreator p = Factory_fopr::Find(subtype);
92 return p ? (*p)(fopr) : 0;
97 ProductCreator_params p = Factory_fopr_params::Find(subtype);
98 return p ? (*p)(fopr, params) : 0;
101 #ifdef USE_FACTORY_AUTOREGISTER
103 static bool init_factory();
105 #endif // USE_FACTORY
virtual void set_parameters(const Parameters &)=0
ComplexTraits< real_t >::complex_t complex_t
virtual void solve(std::vector< complex_t > &TDa, std::vector< FIELD > &vk, int &Nsbt, int &Nconv, const FIELD &b)
complex version of solve.
virtual void solve(std::vector< real_t > &TDa, std::vector< FIELD > &vk, int &Nsbt, int &Nconv, const FIELD &b)
AEigensolver & operator=(const AEigensolver< FIELD, FOPR > &)
virtual void get_parameters(Parameters &) const =0
void crucial(const char *format,...)
std::string IdentifierType
Eigensolver class for abstract base class of eigen solvers.