eigensolver::ArPackppStd< T > Class Template Referenceabstract
EigenSolver for complex, standard eigenproblems. More...
#include <arpackpp.hh>
Public Member Functions | |
ArPackppStd (concepts::Operator< T > &OP, int kmax=1, char *which=(char *) "LM", Real tol=0.0, int maxiter=300) | |
Regular mode constructor. More... | |
ArPackppStd (concepts::Operator< T > &OP, int kmax=1, concepts::Cmplx sigma=0.0, Real tol=0.0, int maxiter=300) | |
Shift and invert mode constructor. More... | |
virtual uint | converged () const |
Returns the number of converged eigenpairs. More... | |
virtual uint | converged () const=0 |
Returns the number of converged eigen pairs. More... | |
virtual concepts::Array< concepts::Vector< Cmplx > * > & | getEF () |
Getter for the computed eigenvectors. More... | |
virtual const concepts::Array< Cmplx > & | getEV () |
Getter for the computed eigenvalues. More... | |
concepts::Array< Cmplx > | getRESID () |
Returns the RESID vector. More... | |
virtual uint | iterations () const |
Returns the actual number of Arnoldi iterations. More... | |
virtual uint | iterations () const=0 |
Returns the number of iterations. More... | |
virtual | ~ArPackppStd () |
Deconstructor. More... | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
Private Member Functions | |
void | compute_ () |
Computes and stores the eigenpairs. More... | |
Private Attributes | |
ArpackStdOperatorWrapper< T > | aow_ |
Wrapper. More... | |
ARCompStdEig< Real, ArpackStdOperatorWrapper< T > > | arpackSolver_ |
Arpack solver. More... | |
bool | computed_ |
Whether or not eigenpairs have already been computed. More... | |
uint | convEigenvalues_ |
Number of converged eigenpairs. More... | |
concepts::Array< Cmplx > | eigenValues_ |
References into storage for eigenvalues. More... | |
concepts::Array< concepts::Vector< Cmplx > * > | eigenVectors_ |
References into storage for eigenvectors. More... | |
uint | iter_ |
Number of Arnoldi iterations. More... | |
ArPack< Real >::modus | modus_ |
Mode of the Arpack solver. More... | |
char * | whichEV_ |
Identifier indicating which eigenvalues should be calculated. More... | |
Detailed Description
template<class T>
class eigensolver::ArPackppStd< T >
EigenSolver for complex, standard eigenproblems.
Solves problems of the form with complex-valued matrix A.
Definition at line 161 of file arpackpp.hh.
Constructor & Destructor Documentation
◆ ArPackppStd() [1/2]
|
inline |
Shift and invert mode constructor.
- Parameters
-
OP multiplication operator, OP * x = inv(A-sigma*Id) * x kmax number of eigenpairs to be computed, default 1 sigma complex-valued shift for the shift-invert mode, default 0.0 tol convergence tolerance for the eigenpairs, default 0.0 (is replaced by LAPACK's DLAMCH
('EPS'))maxiter maximum 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]
|
inline |
Regular mode constructor.
- Parameters
-
OP multiplication operator, OP * x = A * x kmax number of eigenpairs to be computed, default 1 which defines 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" tol convergence tolerance for the eigenpairs, default 0.0 (is replaced by LAPACK's DLAMCH
('EPS'))maxiter maximum 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()
|
inlinevirtual |
Deconstructor.
Definition at line 225 of file arpackpp.hh.
Member Function Documentation
◆ compute_()
|
inlineprivate |
Computes and stores the eigenpairs.
Definition at line 292 of file arpackpp.hh.
◆ converged() [1/2]
|
inlinevirtual |
Returns the number of converged eigenpairs.
Definition at line 258 of file arpackpp.hh.
◆ converged() [2/2]
|
pure virtualinherited |
Returns the number of converged eigen pairs.
Implemented in eigensolver::ArPackppGen< typename eigensolver::OperatorType< F, concepts::Real >::type, F, concepts::Real >, eigensolver::ArPackppStd< typename eigensolver::OperatorType< Cmplx, Real >::type >, and eigensolver::ArPackppStd< F >.
◆ 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()
|
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()
|
inline |
Returns the RESID vector.
Definition at line 263 of file arpackpp.hh.
◆ info()
|
inlineprotectedvirtual |
Returns information in an output stream.
Reimplemented from eigensolver::EigenSolver< concepts::Cmplx >.
Definition at line 271 of file arpackpp.hh.
◆ iterations() [1/2]
|
inlinevirtual |
Returns the actual number of Arnoldi iterations.
Definition at line 253 of file arpackpp.hh.
◆ iterations() [2/2]
|
pure virtualinherited |
Returns the number of iterations.
Implemented in eigensolver::ArPackppGen< typename eigensolver::OperatorType< F, concepts::Real >::type, F, concepts::Real >, eigensolver::ArPackppStd< typename eigensolver::OperatorType< Cmplx, Real >::type >, and eigensolver::ArPackppStd< F >.
Member Data Documentation
◆ aow_
|
private |
Wrapper.
Definition at line 321 of file arpackpp.hh.
◆ arpackSolver_
|
private |
Arpack solver.
Definition at line 324 of file arpackpp.hh.
◆ computed_
|
private |
Whether or not eigenpairs have already been computed.
Definition at line 333 of file arpackpp.hh.
◆ convEigenvalues_
|
private |
Number of converged eigenpairs.
Definition at line 330 of file arpackpp.hh.
◆ eigenValues_
|
private |
References into storage for eigenvalues.
Definition at line 336 of file arpackpp.hh.
◆ eigenVectors_
|
private |
References into storage for eigenvectors.
Definition at line 339 of file arpackpp.hh.
◆ iter_
|
private |
Number of Arnoldi iterations.
Definition at line 327 of file arpackpp.hh.
◆ modus_
|
private |
Mode of the Arpack solver.
Definition at line 315 of file arpackpp.hh.
◆ whichEV_
|
private |
Identifier indicating which eigenvalues should be calculated.
Definition at line 312 of file arpackpp.hh.
The documentation for this class was generated from the following file:
- eigensolver/arpackpp.hh