Eigensolver for general Eigenproblems for complex matrices. More...
#include <arpackpp.hh>


Public Member Functions | |
| ArPackppCmplxGen (concepts::Operator< concepts::Cmplx > &OP, concepts::Operator< concepts::Cmplx > &A, concepts::Operator< concepts::Cmplx > &B, int kmax=1, concepts::Cmplx sigma=0.0, Real tol=0.01, int maxiter=300, concepts::Vector< concepts::Cmplx > *start=0, concepts::Array< concepts::Cmplx > *resid=0, bool schur=false) | |
| Constructor. | |
| ArPackppCmplxGen (concepts::Operator< concepts::Cmplx > &OP, concepts::Operator< concepts::Cmplx > &A, concepts::Operator< concepts::Cmplx > &B, int kmax=1, ArPack< Real >::which which=ArPack< Real >::LM, Real tol=0.0, int maxiter=300, concepts::Vector< concepts::Cmplx > *start=0, concepts::Array< concepts::Cmplx > *resid=0, bool schur=false) | |
| Constructor. | |
| virtual uint | converged () const |
| Returns the number of converged eigenpairs. | |
| virtual concepts::Array < concepts::Vector< Cmplx > * > & | getEF () |
| Getter for the computed eigenvectorsComputes Eigenvalus and Eigenvectors if they were not computed. | |
| virtual const concepts::Array < Cmplx > & | getEV () |
| Returns an array with the eigen values. | |
| concepts::Array< Cmplx > | getRESID () |
| Returns the RESID vector: | |
| virtual uint | iterations () const |
| returns the actual number of Arnoldi iterations taken. | |
| virtual | ~ArPackppCmplxGen () |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Member Functions | |
| void | compute_ () |
Private Attributes | |
| ArpackOperatorWrapper< Cmplx > | aow_ |
| ARCompGenEig< Real, ArpackOperatorWrapper< Cmplx > , ArpackOperatorWrapper< Cmplx > > | arpackSolver_ |
| bool | computed_ |
| uint | convEigenvalues_ |
| concepts::Array< Cmplx > | eigenValues_ |
| References into storage for eigenvectors. | |
| concepts::Array < concepts::Vector< Cmplx > * > | eigenVectors_ |
| uint | iter_ |
| ArPack< Real >::modus | modus_ |
| uint | n_ |
| ArPack< Real >::which | which_ |
| char * | whichEV_ |
Eigensolver for general Eigenproblems for complex matrices.
Using Cayley mode of arpack++
Definition at line 349 of file arpackpp.hh.
| eigensolver::ArPackppCmplxGen::ArPackppCmplxGen | ( | concepts::Operator< concepts::Cmplx > & | OP, |
| concepts::Operator< concepts::Cmplx > & | A, | ||
| concepts::Operator< concepts::Cmplx > & | B, | ||
| int | kmax = 1, |
||
| concepts::Cmplx | sigma = 0.0, |
||
| Real | tol = 0.01, |
||
| int | maxiter = 300, |
||
| concepts::Vector< concepts::Cmplx > * | start = 0, |
||
| concepts::Array< concepts::Cmplx > * | resid = 0, |
||
| bool | schur = false |
||
| ) |
Constructor.
| OP | multiplication operator (A-B*sigma)^-1 |
| A | Stiffness matrix |
| B | is the Matrix on the right hand side and had to be symmetric and positive definite |
| kmax | Number of eigenpairs to be computed must be lower then the dimension of the matrices -1 |
| tol | Convergence tolerance for the eigenpairs. |
| maxiter | Maximum number of Arnoldi iterations allowed |
| target | What sort of eigenvalues to compute |
| mode | Mode in which ARPACK should be used |
| sigma | Shift for the shift-invert modes |
| eigensolver::ArPackppCmplxGen::ArPackppCmplxGen | ( | concepts::Operator< concepts::Cmplx > & | OP, |
| concepts::Operator< concepts::Cmplx > & | A, | ||
| concepts::Operator< concepts::Cmplx > & | B, | ||
| int | kmax = 1, |
||
| ArPack< Real >::which | which = ArPack< Real >::LM, |
||
| Real | tol = 0.0, |
||
| int | maxiter = 300, |
||
| concepts::Vector< concepts::Cmplx > * | start = 0, |
||
| concepts::Array< concepts::Cmplx > * | resid = 0, |
||
| bool | schur = false |
||
| ) |
Constructor.
| OP | multiplication operator for B^-1 |
| A | is the Matrix on the left hand side of the problem Ax = Bx |
| B | is the Matrix on the right hand side and had to be positive definite |
| kmax | Number of eigenpairs to be computed must be lower then the dimension of the matrices |
| which | - which eigenvalue is searched |
| tol | Convergence tolerance for the eigenpairs. |
| maxiter | Maximum number of Arnoldi iterations allowed |
| target | What sort of eigenvalues to compute |
| mode | Mode in which ARPACK should be used |
| sigma | Shift for the shift-invert modes |
| virtual eigensolver::ArPackppCmplxGen::~ArPackppCmplxGen | ( | ) | [inline, virtual] |
Definition at line 392 of file arpackpp.hh.
| void eigensolver::ArPackppCmplxGen::compute_ | ( | ) | [private] |
| virtual uint eigensolver::ArPackppCmplxGen::converged | ( | ) | const [inline, virtual] |
Returns the number of converged eigenpairs.
Implements eigensolver::EigenSolver< Cmplx >.
Definition at line 425 of file arpackpp.hh.
| virtual concepts::Array<concepts::Vector<Cmplx>*>& eigensolver::ArPackppCmplxGen::getEF | ( | ) | [inline, virtual] |
Getter for the computed eigenvectorsComputes Eigenvalus and Eigenvectors if they were not computed.
Implements eigensolver::EigenSolver< Cmplx >.
Definition at line 413 of file arpackpp.hh.

| virtual const concepts::Array<Cmplx>& eigensolver::ArPackppCmplxGen::getEV | ( | ) | [inline, virtual] |
Returns an array with the eigen values.
(use std::auto_pointer or similar)
Implements eigensolver::EigenSolver< Cmplx >.
Definition at line 402 of file arpackpp.hh.

| concepts::Array<Cmplx> eigensolver::ArPackppCmplxGen::getRESID | ( | ) | [inline] |
Returns the RESID vector:
Definition at line 430 of file arpackpp.hh.
| virtual std::ostream& eigensolver::ArPackppCmplxGen::info | ( | std::ostream & | os | ) | const [inline, protected, virtual] |
Returns information in an output stream.
Reimplemented from eigensolver::EigenSolver< Cmplx >.
Definition at line 437 of file arpackpp.hh.
| virtual uint eigensolver::ArPackppCmplxGen::iterations | ( | ) | const [inline, virtual] |
returns the actual number of Arnoldi iterations taken.
Implements eigensolver::EigenSolver< Cmplx >.
Definition at line 420 of file arpackpp.hh.
ArpackOperatorWrapper<Cmplx> eigensolver::ArPackppCmplxGen::aow_ [private] |
Definition at line 462 of file arpackpp.hh.
ARCompGenEig<Real, ArpackOperatorWrapper<Cmplx> , ArpackOperatorWrapper< Cmplx> > eigensolver::ArPackppCmplxGen::arpackSolver_ [private] |
Definition at line 464 of file arpackpp.hh.
bool eigensolver::ArPackppCmplxGen::computed_ [private] |
Definition at line 468 of file arpackpp.hh.
uint eigensolver::ArPackppCmplxGen::convEigenvalues_ [private] |
Definition at line 467 of file arpackpp.hh.
concepts::Array<Cmplx> eigensolver::ArPackppCmplxGen::eigenValues_ [private] |
References into storage for eigenvectors.
Definition at line 471 of file arpackpp.hh.
concepts::Array<concepts::Vector<Cmplx>*> eigensolver::ArPackppCmplxGen::eigenVectors_ [private] |
Definition at line 472 of file arpackpp.hh.
uint eigensolver::ArPackppCmplxGen::iter_ [private] |
Definition at line 466 of file arpackpp.hh.
ArPack<Real>::modus eigensolver::ArPackppCmplxGen::modus_ [private] |
Definition at line 460 of file arpackpp.hh.
uint eigensolver::ArPackppCmplxGen::n_ [private] |
Definition at line 461 of file arpackpp.hh.
ArPack<Real>::which eigensolver::ArPackppCmplxGen::which_ [private] |
Definition at line 459 of file arpackpp.hh.
char* eigensolver::ArPackppCmplxGen::whichEV_ [private] |
Definition at line 458 of file arpackpp.hh.