lambda-lanczos 2.1.1
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: