SIRIUS 7.5.0
Electronic structure library and applications
Classes | Namespaces | Enumerations | Functions
davidson.hpp File Reference

Davidson iterative solver implementation. More...

Go to the source code of this file.

Classes

struct  sirius::davidson_result_t
 Result of Davidson solver. More...
 

Namespaces

module  sirius
 Namespace of the SIRIUS library.
 

Enumerations

enum class  davidson_evp_t { hamiltonian , overlap }
 

Functions

template<typename T , typename F >
void sirius::project_out_subspace (::spla::Context &spla_ctx__, sddk::memory_t mem__, wf::spin_range spins__, wf::Wave_functions< T > &phi__, wf::Wave_functions< T > &sphi__, int N__, int n__, la::dmatrix< F > &o__)
 
template<typename T , typename F , davidson_evp_t what>
auto sirius::davidson (Hamiltonian_k< T > const &Hk__, K_point< T > &kp__, wf::num_bands num_bands__, wf::num_mag_dims num_mag_dims__, wf::Wave_functions< T > &psi__, std::function< double(int, int)> tolerance__, double res_tol__, int num_steps__, bool locking__, int subspace_size__, bool estimate_eval__, bool extra_ortho__, std::ostream &out__, int verbosity__, wf::Wave_functions< T > *phi_extra__=nullptr)
 Solve the eigen-problem using Davidson iterative method. More...
 

Detailed Description

Davidson iterative solver implementation.

Definition in file davidson.hpp.