mpqc::math::SingleStateDavidsonDiag< D > Class Template Reference
Collaboration diagram for mpqc::math::SingleStateDavidsonDiag< D >:

Public Member Functions

 SingleStateDavidsonDiag (unsigned int n_roots, double shift, bool symmetric=true, unsigned int n_guess=2, unsigned int max_n_guess=4, double vector_threshold=1.0e-5)
 
value_typeeigen_vector () override
 
template<typename Operator >
EigenVector< element_typesolve (value_type &guess, Operator &op, const DavidsonDiagPred< D > *const pred, double convergence, std::size_t max_iter)
 
- Public Member Functions inherited from mpqc::math::DavidsonDiag< D >
 DavidsonDiag (unsigned int n_roots, bool symmetric=true, unsigned int n_guess=2, unsigned int max_n_guess=4, double vector_threshold=1.0e-5)
 
virtual ~DavidsonDiag ()
 
template<typename Operator >
EigenVector< element_typesolve (value_type &guess, Operator &&op, const DavidsonDiagPred< D > *const pred, double convergence, std::size_t max_iter)
 
std::tuple< EigenVector< element_type >, EigenVector< element_type > > extrapolate (value_type &HB, value_type &B, const DavidsonDiagPred< D > *const pred)
 
void reset ()
 clean the cached values More...
 

Additional Inherited Members

- Public Types inherited from mpqc::math::DavidsonDiag< D >
using element_type = typename TA::detail::numeric_type< D >::type
 
using result_type = EigenVector< element_type >
 
using value_type = std::vector< D >
 
- Protected Attributes inherited from mpqc::math::DavidsonDiag< D >
unsigned int n_roots_
 
bool symmetric_
 
unsigned int n_guess_
 
unsigned int max_n_guess_
 
double vector_threshold_
 
std::deque< value_typeeigen_vector_
 
value_type HB_
 
value_type B_
 
RowMatrix< element_typesubspace_
 

Constructor & Destructor Documentation

◆ SingleStateDavidsonDiag()

template<typename D >
mpqc::math::SingleStateDavidsonDiag< D >::SingleStateDavidsonDiag ( unsigned int  n_roots,
double  shift,
bool  symmetric = true,
unsigned int  n_guess = 2,
unsigned int  max_n_guess = 4,
double  vector_threshold = 1.0e-5 
)
inline

Member Function Documentation

◆ eigen_vector()

template<typename D >
value_type& mpqc::math::SingleStateDavidsonDiag< D >::eigen_vector ( )
inlineoverridevirtual
Returns
return current eigen vector in Davidson

Reimplemented from mpqc::math::DavidsonDiag< D >.

◆ solve()

template<typename D >
template<typename Operator >
EigenVector<element_type> mpqc::math::SingleStateDavidsonDiag< D >::solve ( value_type guess,
Operator op,
const DavidsonDiagPred< D > *const  pred,
double  convergence,
std::size_t  max_iter 
)
inline

This is not a virtual function, it doesn't override DavidsonDiag::solve()

Template Parameters
Operatoroperator that computes the product of H*B
Parameters
guessinitial guess vector
opop(B) should compute HB
predpreconditioner, which inherit from DavidsonDiagPred
convergenceconvergence threshold
max_itermax number of iteration allowd
Returns

The documentation for this class was generated from the following file: