lambda-lanczos 2.0.0
Loading...
Searching...
No Matches
lambda_lanczos::eigenpair_manager::EigenPairManager< T > Class Template Reference

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
 

Detailed Description

template<typename T>
class lambda_lanczos::eigenpair_manager::EigenPairManager< T >

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.

Member Typedef Documentation

◆ real_t

template<typename T >
template<typename n_type >
using lambda_lanczos::eigenpair_manager::EigenPairManager< T >::real_t = util::real_t<n_type>
private

Constructor & Destructor Documentation

◆ EigenPairManager()

template<typename T >
lambda_lanczos::eigenpair_manager::EigenPairManager< T >::EigenPairManager ( bool  find_maximum,
size_t  num_eigs 
)
inline

Member Function Documentation

◆ getEigenpairs()

template<typename T >
decltype(eigenpairs) & lambda_lanczos::eigenpair_manager::EigenPairManager< T >::getEigenpairs ( )
inline

◆ getEigenvectors()

template<typename T >
lambda_lanczos::util::MapValueIterable< decltype(eigenpairs)> lambda_lanczos::eigenpair_manager::EigenPairManager< T >::getEigenvectors ( ) const
inline

◆ insertEigenpairs()

template<typename T >
bool lambda_lanczos::eigenpair_manager::EigenPairManager< T >::insertEigenpairs ( std::vector< real_t< T > > &  eigenvalues,
std::vector< std::vector< T > > &  eigenvectors 
)
inline

◆ size()

template<typename T >
size_t lambda_lanczos::eigenpair_manager::EigenPairManager< T >::size ( ) const
inline

Member Data Documentation

◆ eigenpairs

template<typename T >
std::multimap<real_t<T>, std::vector<T>, std::function<bool (real_t<T>, real_t<T>)> > lambda_lanczos::eigenpair_manager::EigenPairManager< T >::eigenpairs
private

◆ find_maximum

template<typename T >
const bool lambda_lanczos::eigenpair_manager::EigenPairManager< T >::find_maximum
private

◆ num_eigs

template<typename T >
const size_t lambda_lanczos::eigenpair_manager::EigenPairManager< T >::num_eigs
private

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