ergo
mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector > Class Template Reference

#include <LanczosSeveralLargestEig.h>

Public Member Functions

 LanczosSeveralLargestEig (Tmatrix const &AA, Tvector const &startVec, int num_eigs, int maxit=100, int cap=100, Tvector *deflVec_=NULL, Treal sigma_=0)
 
void setRelTol (Treal const newTol)
 
void setAbsTol (Treal const newTol)
 
void set_use_selective_orth ()
 
void set_use_full_orth ()
 
void unset_use_selective_orth ()
 
void unset_use_full_orth ()
 
virtual void run ()
 
virtual void get_ith_eigenpair (int i, Treal &eigVal, Tvector &eigVec, Treal &acc)
 
int get_num_iter () const
 
virtual ~LanczosSeveralLargestEig ()
 
void copyTridiag (MatrixTridiagSymmetric< Treal > &Tricopy)
 

Protected Member Functions

void increaseCapacity (int const newCapacity)
 
void getEigVector (Tvector &eigVec, Treal const *const eVecTri) const
 
virtual void step ()
 
virtual void computeEigenPairTri ()
 
virtual void update ()
 
void selective_orth ()
 
virtual bool converged () const
 
virtual bool converged_ith (int i) const
 

Protected Attributes

Tmatrix const & A
 
Tvector * v
 
Tvector r
 Vectors spanning Krylov subspace. More...
 
MatrixTridiagSymmetric< Treal > Tri
 Residual vector. More...
 
Treal * eigVectorTri
 
int capacity
 
int j
 
int maxIter
 Current step. More...
 
Treal absTol
 
Treal relTol
 
Treal * eValTmp
 
Treal * accTmp
 
int number_of_eigenv
 
int size_accTmp
 

Private Attributes

Treal alpha
 
Treal beta
 
bool use_selective_orth
 
bool use_full_orth
 
int counter_all
 
int counter_orth
 
Tvector * deflVec
 
Treal sigma
 

Constructor & Destructor Documentation

◆ LanczosSeveralLargestEig()

◆ ~LanczosSeveralLargestEig()

Member Function Documentation

◆ computeEigenPairTri()

template<typename Treal , typename Tmatrix , typename Tvector >
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::computeEigenPairTri ( )
protectedvirtual

◆ converged()

template<typename Treal , typename Tmatrix , typename Tvector >
bool mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged ( ) const
protectedvirtual

◆ converged_ith()

template<typename Treal , typename Tmatrix , typename Tvector >
bool mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged_ith ( int  i) const
protectedvirtual

References template_blas_fabs().

◆ copyTridiag()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::copyTridiag ( MatrixTridiagSymmetric< Treal > &  Tricopy)
inline

◆ get_ith_eigenpair()

◆ get_num_iter()

template<typename Treal, typename Tmatrix, typename Tvector>
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::get_num_iter ( ) const
inline

◆ getEigVector()

template<typename Treal , typename Tmatrix , typename Tvector >
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::getEigVector ( Tvector &  eigVec,
Treal const *const  eVecTri 
) const
protected

◆ increaseCapacity()

template<typename Treal , typename Tmatrix , typename Tvector >
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::increaseCapacity ( int const  newCapacity)
protected

◆ run()

◆ selective_orth()

template<typename Treal , typename Tmatrix , typename Tvector >
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth ( )
protected

◆ set_use_full_orth()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::set_use_full_orth ( )
inline

◆ set_use_selective_orth()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::set_use_selective_orth ( )
inline

◆ setAbsTol()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::setAbsTol ( Treal const  newTol)
inline

◆ setRelTol()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::setRelTol ( Treal const  newTol)
inline

◆ step()

template<typename Treal , typename Tmatrix , typename Tvector >
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::step ( )
protectedvirtual

◆ unset_use_full_orth()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::unset_use_full_orth ( )
inline

◆ unset_use_selective_orth()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::unset_use_selective_orth ( )
inline

◆ update()

template<typename Treal, typename Tmatrix, typename Tvector>
virtual void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::update ( )
inlineprotectedvirtual

Member Data Documentation

◆ A

template<typename Treal, typename Tmatrix, typename Tvector>
Tmatrix const& mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::A
protected

◆ absTol

template<typename Treal, typename Tmatrix, typename Tvector>
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::absTol
protected

◆ accTmp

◆ alpha

template<typename Treal, typename Tmatrix, typename Tvector>
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::alpha
private

◆ beta

template<typename Treal, typename Tmatrix, typename Tvector>
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::beta
private

◆ capacity

template<typename Treal, typename Tmatrix, typename Tvector>
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::capacity
protected

◆ counter_all

template<typename Treal, typename Tmatrix, typename Tvector>
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::counter_all
private

◆ counter_orth

template<typename Treal, typename Tmatrix, typename Tvector>
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::counter_orth
private

◆ deflVec

template<typename Treal, typename Tmatrix, typename Tvector>
Tvector* mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::deflVec
private

◆ eigVectorTri

template<typename Treal, typename Tmatrix, typename Tvector>
Treal* mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eigVectorTri
protected

◆ eValTmp

template<typename Treal, typename Tmatrix, typename Tvector>
Treal* mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eValTmp
protected

◆ j

◆ maxIter

template<typename Treal, typename Tmatrix, typename Tvector>
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::maxIter
protected

◆ number_of_eigenv

template<typename Treal, typename Tmatrix, typename Tvector>
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::number_of_eigenv
protected

◆ r

template<typename Treal, typename Tmatrix, typename Tvector>
Tvector mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::r
protected

Vectors spanning Krylov subspace.

In step j: Vectors 0 : j-2 is on file Vectors j-1 : j is in memory

Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::LanczosSeveralLargestEig().

◆ relTol

template<typename Treal, typename Tmatrix, typename Tvector>
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::relTol
protected

◆ sigma

template<typename Treal, typename Tmatrix, typename Tvector>
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::sigma
private

◆ size_accTmp

template<typename Treal, typename Tmatrix, typename Tvector>
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::size_accTmp
protected

◆ Tri

template<typename Treal, typename Tmatrix, typename Tvector>
MatrixTridiagSymmetric<Treal> mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::Tri
protected

◆ use_full_orth

template<typename Treal, typename Tmatrix, typename Tvector>
bool mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::use_full_orth
private

◆ use_selective_orth

◆ v


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