#include <LanczosLargestMagnitudeEig.h>
Public Member Functions | |
LanczosLargestMagnitudeEig (Tmatrix const &AA, Tvector const &startVec, int maxIter=100, int cap=100) | |
void | setRelTol (Treal const newTol) |
void | setAbsTol (Treal const newTol) |
void | getLargestMagnitudeEig (Treal &ev, Treal &accuracy) |
void | getLargestMagnitudeEigPair (Treal &eValue, Tvector &eVector, Treal &accuracy) |
virtual void | run () |
void | rerun () |
virtual | ~LanczosLargestMagnitudeEig () |
Protected Member Functions | |
void | computeEigenPairTri () |
void | computeEigVec () |
virtual void | update () |
virtual bool | converged () const |
Protected Attributes | |
Treal | eVal |
Tvector | eVec |
Treal | acc |
Treal * | eigVectorTri |
Treal | absTol |
Eigenvector to the tridiagonal matrix length: this->j. | |
Treal | relTol |
Treal | eValTmp |
Treal | accTmp |
mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::LanczosLargestMagnitudeEig | ( | Tmatrix const & | AA, | |
Tvector const & | startVec, | |||
int | maxIter = 100 , |
|||
int | cap = 100 | |||
) | [inline] |
virtual mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::~LanczosLargestMagnitudeEig | ( | ) | [inline, virtual] |
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::computeEigenPairTri | ( | ) | [inline, protected] |
References mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::accTmp, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eigVectorTri, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eValTmp, mat::arn::Lanczos< Treal, Tmatrix, Tvector >::j, template_blas_fabs(), and mat::arn::Lanczos< Treal, Tmatrix, Tvector >::Tri.
Referenced by mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::update().
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::computeEigVec | ( | ) | [inline, protected] |
References mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eigVectorTri, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eVec, and mat::arn::Lanczos< Treal, Tmatrix, Tvector >::getEigVector().
Referenced by mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::rerun(), mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >::run(), and mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::run().
bool mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::converged | ( | ) | const [inline, protected, virtual] |
Implements mat::arn::Lanczos< Treal, Tmatrix, Tvector >.
Reimplemented in mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >.
References mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::absTol, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::accTmp, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eValTmp, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::relTol, and template_blas_fabs().
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEig | ( | Treal & | ev, | |
Treal & | accuracy | |||
) | [inline] |
References mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::acc, and mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eVal.
Referenced by mat::MatrixTriangular< Treal, Tmatrix >::eucl(), mat::MatrixSymmetric< Treal, Tmatrix >::eucl(), mat::MatrixGeneral< Treal, Tmatrix >::eucl(), mat::euclIfSmall(), and mainFun().
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEigPair | ( | Treal & | eValue, | |
Tvector & | eVector, | |||
Treal & | accuracy | |||
) | [inline] |
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::rerun | ( | ) | [inline] |
References mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::acc, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::accTmp, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::computeEigVec(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eVal, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eValTmp, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eVec, mat::arn::Lanczos< Treal, Tmatrix, Tvector >::restart(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::run(), template_blas_fabs(), and mat::transpose().
Referenced by mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >::run(), and mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::run().
virtual void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::run | ( | ) | [inline, virtual] |
Reimplemented from mat::arn::Lanczos< Treal, Tmatrix, Tvector >.
Reimplemented in mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >.
References mat::arn::Lanczos< Treal, Tmatrix, Tvector >::A, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::acc, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::accTmp, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::computeEigVec(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eVal, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eValTmp, and mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::rerun().
Referenced by mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::rerun().
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::setAbsTol | ( | Treal const | newTol | ) | [inline] |
References mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::absTol.
Referenced by mat::euclIfSmall().
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::setRelTol | ( | Treal const | newTol | ) | [inline] |
References mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::relTol.
Referenced by mat::euclIfSmall().
virtual void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::update | ( | ) | [inline, protected, virtual] |
Treal mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::absTol [protected] |
Eigenvector to the tridiagonal matrix length: this->j.
Referenced by mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::converged(), and mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::setAbsTol().
Treal mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::acc [protected] |
Referenced by mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEig(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEigPair(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::rerun(), mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >::run(), and mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::run().
Treal mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::accTmp [protected] |
Referenced by mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::computeEigenPairTri(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::converged(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::rerun(), mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >::run(), and mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::run().
Treal* mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eigVectorTri [protected] |
Treal mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eVal [protected] |
Referenced by mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEig(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEigPair(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::rerun(), mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >::run(), and mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::run().
Treal mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eValTmp [protected] |
Referenced by mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::computeEigenPairTri(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::converged(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::rerun(), mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >::run(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::run(), and mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >::update().
Tvector mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eVec [protected] |
Treal mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::relTol [protected] |