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

#include <LanczosLargestMagnitudeEig.h>

Inheritance diagram for mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >:
mat::arn::Lanczos< Treal, Tmatrix, Tvector > mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >

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 ()
 
- Public Member Functions inherited from mat::arn::Lanczos< Treal, Tmatrix, Tvector >
 Lanczos (Tmatrix const &AA, Tvector const &startVec, int maxIt=100, int cap=100)
 
void restart (Tvector const &startVec)
 
void copyTridiag (MatrixTridiagSymmetric< Treal > &Tricopy)
 
virtual ~Lanczos ()
 

Protected Member Functions

void computeEigenPairTri ()
 
void computeEigVec ()
 
virtual void update ()
 
virtual bool converged () const
 
- Protected Member Functions inherited from mat::arn::Lanczos< Treal, Tmatrix, Tvector >
void increaseCapacity (int const newCapacity)
 
void step ()
 
void getEigVector (Tvector &eigVec, Treal const *const eVecTri) 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
 
- Protected Attributes inherited from mat::arn::Lanczos< Treal, Tmatrix, Tvector >
Tmatrix const & A
 
Tvector * v
 
Tvector r
 Vectors spanning Krylov subspace.
 
MatrixTridiagSymmetric< Treal > Tri
 Residual vector.
 
int capacity
 
int j
 
int maxIter
 Current step.
 

Constructor & Destructor Documentation

◆ LanczosLargestMagnitudeEig()

template<typename Treal, typename Tmatrix, typename Tvector>
mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::LanczosLargestMagnitudeEig ( Tmatrix const & AA,
Tvector const & startVec,
int maxIter = 100,
int cap = 100 )
inline

◆ ~LanczosLargestMagnitudeEig()

template<typename Treal, typename Tmatrix, typename Tvector>
virtual mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::~LanczosLargestMagnitudeEig ( )
inlinevirtual

References eigVectorTri.

Member Function Documentation

◆ computeEigenPairTri()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::computeEigenPairTri ( )
protected

◆ computeEigVec()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::computeEigVec ( )
protected

◆ converged()

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

◆ getLargestMagnitudeEig()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEig ( Treal & ev,
Treal & accuracy )
inline

◆ getLargestMagnitudeEigPair()

template<typename Treal, typename Tmatrix, typename Tvector>
void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEigPair ( Treal & eValue,
Tvector & eVector,
Treal & accuracy )

References acc, eVal, and eVec.

Referenced by mat::euclIfSmall().

◆ rerun()

◆ run()

template<typename Treal, typename Tmatrix, typename Tvector>
virtual void mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::run ( )
inlinevirtual

◆ setAbsTol()

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

References absTol.

Referenced by mat::euclIfSmall().

◆ setRelTol()

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

References relTol.

Referenced by mat::euclIfSmall().

◆ update()

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

Member Data Documentation

◆ absTol

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

Eigenvector to the tridiagonal matrix length: this->j.

Referenced by converged(), LanczosLargestMagnitudeEig(), and setAbsTol().

◆ acc

template<typename Treal, typename Tmatrix, typename Tvector>
Treal mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::acc
protected

◆ accTmp

template<typename Treal, typename Tmatrix, typename Tvector>
Treal mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::accTmp
protected

◆ eigVectorTri

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

◆ eVal

template<typename Treal, typename Tmatrix, typename Tvector>
Treal mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eVal
protected

◆ eValTmp

◆ eVec

template<typename Treal, typename Tmatrix, typename Tvector>
Tvector mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::eVec
protected

◆ relTol

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

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