#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. | |
| MatrixTridiagSymmetric< Treal > | Tri |
| Residual vector. | |
| Treal * | eigVectorTri |
| int | capacity |
| int | j |
| int | maxIter |
| Current step. | |
| 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 |
| mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::LanczosSeveralLargestEig | ( | Tmatrix const & | AA, | |
| Tvector const & | startVec, | |||
| int | num_eigs, | |||
| int | maxit = 100, |
|||
| int | cap = 100, |
|||
| Tvector * | deflVec_ = NULL, |
|||
| Treal | sigma_ = 0 | |||
| ) | [inline] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::absTol, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::number_of_eigenv, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::r, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::relTol, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::sigma, template_blas_sqrt(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::unset_use_full_orth(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::unset_use_selective_orth(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::v.
| virtual mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::~LanczosSeveralLargestEig | ( | ) | [inline, virtual] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::accTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::counter_all, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::counter_orth, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eigVectorTri, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eValTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::use_selective_orth, and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::v.
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::computeEigenPairTri | ( | ) | [inline, protected, virtual] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::accTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eigVectorTri, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eValTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j, max, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::number_of_eigenv, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::size_accTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::Tri, and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::use_selective_orth.
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::update().
| bool mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged | ( | ) | const [inline, protected, virtual] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged_ith(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j, and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::number_of_eigenv.
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::run().
| bool mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged_ith | ( | int | i | ) | const [inline, protected, virtual] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::accTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eValTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::relTol, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::size_accTmp, and template_blas_fabs().
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged().
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::copyTridiag | ( | MatrixTridiagSymmetric< Treal > & | Tricopy | ) | [inline] |
| virtual void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::get_ith_eigenpair | ( | int | i, | |
| Treal & | eigVal, | |||
| Tvector & | eigVec, | |||
| Treal & | acc | |||
| ) | [inline, virtual] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::accTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eigVectorTri, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eValTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::getEigVector(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j, and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::size_accTmp.
Referenced by eigvec::lanczos_method().
| int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::get_num_iter | ( | ) | const [inline] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j.
Referenced by eigvec::lanczos_method().
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::getEigVector | ( | Tvector & | eigVec, | |
| Treal const *const | eVecTri | |||
| ) | const [inline, protected] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j, and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::v.
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::get_ith_eigenpair(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth().
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::increaseCapacity | ( | int const | newCapacity | ) | [inline, protected] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::capacity, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j, and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::v.
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::step().
| virtual void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::run | ( | ) | [inline, virtual] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::maxIter, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::step(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::update(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::use_selective_orth.
Referenced by eigvec::lanczos_method().
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth | ( | ) | [inline, protected] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::accTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::beta, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::counter_all, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::counter_orth, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eigVectorTri, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eValTmp, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::getEigVector(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j, template_blas_fabs(), template_blas_sqrt(), mat::transpose(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::Tri, and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::v.
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::run().
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::set_use_full_orth | ( | ) | [inline] |
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::set_use_selective_orth | ( | ) | [inline] |
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::setAbsTol | ( | Treal const | newTol | ) | [inline] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::absTol.
Referenced by eigvec::lanczos_method().
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::setRelTol | ( | Treal const | newTol | ) | [inline] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::relTol.
Referenced by eigvec::lanczos_method().
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::step | ( | ) | [inline, protected, virtual] |
References mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::A, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::alpha, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::beta, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::capacity, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::deflVec, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::increaseCapacity(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::r, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::sigma, mat::transpose(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::Tri, mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::use_full_orth, and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::v.
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::run().
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::unset_use_full_orth | ( | ) | [inline] |
| void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::unset_use_selective_orth | ( | ) | [inline] |
| virtual void mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::update | ( | ) | [inline, protected, virtual] |
Tmatrix const& mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::A [protected] |
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::absTol [protected] |
Treal* mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::accTmp [protected] |
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::computeEigenPairTri(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged_ith(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::get_ith_eigenpair(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::~LanczosSeveralLargestEig().
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::alpha [private] |
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::beta [private] |
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::capacity [protected] |
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::counter_all [private] |
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::counter_orth [private] |
Tvector* mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::deflVec [private] |
Treal* mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eigVectorTri [protected] |
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::computeEigenPairTri(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::get_ith_eigenpair(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::~LanczosSeveralLargestEig().
Treal* mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::eValTmp [protected] |
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::computeEigenPairTri(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged_ith(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::get_ith_eigenpair(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::~LanczosSeveralLargestEig().
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::j [protected] |
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::computeEigenPairTri(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::converged(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::get_ith_eigenpair(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::get_num_iter(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::getEigVector(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::increaseCapacity(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::run(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::step().
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::maxIter [protected] |
Current step.
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::run().
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::number_of_eigenv [protected] |
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(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::step().
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::relTol [protected] |
Treal mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::sigma [private] |
int mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::size_accTmp [protected] |
MatrixTridiagSymmetric<Treal> mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::Tri [protected] |
Residual vector.
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::computeEigenPairTri(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::copyTridiag(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::step().
bool mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::use_full_orth [private] |
bool mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::use_selective_orth [private] |
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::computeEigenPairTri(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::run(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::set_use_selective_orth(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::unset_use_selective_orth(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::~LanczosSeveralLargestEig().
Tvector* mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::v [protected] |
Referenced by mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::getEigVector(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::increaseCapacity(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::LanczosSeveralLargestEig(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::step(), and mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::~LanczosSeveralLargestEig().
1.6.1