Class documentation of Concepts

Loading...
Searching...
No Matches
eigensolver::ArPackppStd< T > Class Template Reference

#include <arpackpp.hh>

Inheritance diagram for eigensolver::ArPackppStd< T >:
eigensolver::EigenSolver< concepts::Cmplx > concepts::OutputOperator

Public Member Functions

 ArPackppStd (concepts::Operator< T > &OP, int kmax=1, concepts::Cmplx sigma=0.0, Real tol=0.0, int maxiter=300)
 
 ArPackppStd (concepts::Operator< T > &OP, int kmax=1, char *which=(char *) "LM", Real tol=0.0, int maxiter=300)
 
virtual ~ArPackppStd ()
 Deconstructor.
 
virtual const concepts::Array< Cmplx > & getEV ()
 
virtual concepts::Array< concepts::Vector< Cmplx > * > & getEF ()
 
virtual uint iterations () const
 Returns the actual number of Arnoldi iterations.
 
virtual uint converged () const
 Returns the number of converged eigenpairs.
 
concepts::Array< Cmplx > getRESID ()
 Returns the RESID vector.
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 

Detailed Description

template<class T>
class eigensolver::ArPackppStd< T >

EigenSolver for complex, standard eigenproblems. Solves problems of the form $ A x = \lambda x $ with complex-valued matrix A.

Definition at line 161 of file arpackpp.hh.

Constructor & Destructor Documentation

◆ ArPackppStd() [1/2]

template<class T >
eigensolver::ArPackppStd< T >::ArPackppStd ( concepts::Operator< T > &  OP,
int  kmax = 1,
concepts::Cmplx  sigma = 0.0,
Real  tol = 0.0,
int  maxiter = 300 
)
inline

Shift and invert mode constructor.

Parameters
OPmultiplication operator, OP * x = inv(A-sigma*Id) * x
kmaxnumber of eigenpairs to be computed, default 1
sigmacomplex-valued shift for the shift-invert mode, default 0.0
tolconvergence tolerance for the eigenpairs, default 0.0 (is replaced by LAPACK's DLAMCH('EPS'))
maxitermaximum number of Arnoldi iterations allowed, default 300
Warning
kmax has to be larger than or equal to 1 and smaller than or equal to the dimension of the matrix minus 2.

Definition at line 174 of file arpackpp.hh.

◆ ArPackppStd() [2/2]

template<class T >
eigensolver::ArPackppStd< T >::ArPackppStd ( concepts::Operator< T > &  OP,
int  kmax = 1,
char *  which = (char*) "LM",
Real  tol = 0.0,
int  maxiter = 300 
)
inline

Regular mode constructor.

Parameters
OPmultiplication operator, OP * x = A * x
kmaxnumber of eigenpairs to be computed, default 1
whichdefines which sort of eigenvalues should be computed, i.e. eigenvalues of largest magnitude ("LM"), smallest magnitude ("SM"), largest real part ("LR"), smallest real part ("SR"), largest imaginary part ("LI") or smallest imaginary part ("SI"), default "LM"
tolconvergence tolerance for the eigenpairs, default 0.0 (is replaced by LAPACK's DLAMCH('EPS'))
maxitermaximum number of Arnoldi iterations, default 300
Warning
kmax has to be larger than or equal to 1 and smaller than or equal to the dimension of the matrix minus 2.

Definition at line 206 of file arpackpp.hh.

◆ ~ArPackppStd()

template<class T >
virtual eigensolver::ArPackppStd< T >::~ArPackppStd ( )
inlinevirtual

Deconstructor.

Definition at line 225 of file arpackpp.hh.

Member Function Documentation

◆ converged()

template<class T >
virtual uint eigensolver::ArPackppStd< T >::converged ( ) const
inlinevirtual

Returns the number of converged eigenpairs.

Implements eigensolver::EigenSolver< concepts::Cmplx >.

Definition at line 258 of file arpackpp.hh.

◆ getEF()

template<class T >
virtual concepts::Array< concepts::Vector< Cmplx > * > & eigensolver::ArPackppStd< T >::getEF ( )
inlinevirtual

Getter for the computed eigenvectors. Computes eigenvalues and eigenvectors if they have not yet been computed.

Implements eigensolver::EigenSolver< concepts::Cmplx >.

Definition at line 246 of file arpackpp.hh.

◆ getEV()

template<class T >
virtual const concepts::Array< Cmplx > & eigensolver::ArPackppStd< T >::getEV ( )
inlinevirtual

Getter for the computed eigenvalues. Computes eigenvalues and eigenvectors if they have not yet been computed.

Implements eigensolver::EigenSolver< concepts::Cmplx >.

Definition at line 235 of file arpackpp.hh.

◆ getRESID()

template<class T >
concepts::Array< Cmplx > eigensolver::ArPackppStd< T >::getRESID ( )
inline

Returns the RESID vector.

Definition at line 263 of file arpackpp.hh.

◆ info()

template<class T >
virtual std::ostream & eigensolver::ArPackppStd< T >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from eigensolver::EigenSolver< concepts::Cmplx >.

Definition at line 271 of file arpackpp.hh.

◆ iterations()

template<class T >
virtual uint eigensolver::ArPackppStd< T >::iterations ( ) const
inlinevirtual

Returns the actual number of Arnoldi iterations.

Implements eigensolver::EigenSolver< concepts::Cmplx >.

Definition at line 253 of file arpackpp.hh.


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