lambda-lanczos 2.0.0
|
Class to manage calculated eigenpairs. More...
#include <eigenpair_manager.hpp>
Public Member Functions | |
EigenPairManager (bool find_maximum, size_t num_eigs) | |
size_t | size () const |
bool | insertEigenpairs (std::vector< real_t< T > > &eigenvalues, std::vector< std::vector< T > > &eigenvectors) |
lambda_lanczos::util::MapValueIterable< decltype(eigenpairs)> | getEigenvectors () const |
decltype(eigenpairs) & | getEigenpairs () |
Private Types | |
template<typename n_type > | |
using | real_t = util::real_t< n_type > |
Private Attributes | |
const bool | find_maximum |
const size_t | num_eigs |
std::multimap< real_t< T >, std::vector< T >, std::function< bool(real_t< T >, real_t< T >)> > | eigenpairs |
Class to manage calculated eigenpairs.
This class does: (1) keep only N largest (smallest) eigenvalues and correspoinding eigenvectors. (2) add new eigenpairs and examine whether some of them are kept or all of them are dropped by (1) (which determine whether more Lanczos iterations are required). (3) give reference to eigenvectors.
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |