Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
eigensolver::ArPackppCmplxGen Class Reference

Eigensolver for general Eigenproblems for complex matrices. More...

#include <arpackpp.hh>

Inheritance diagram for eigensolver::ArPackppCmplxGen:
Inheritance graph
[legend]
Collaboration diagram for eigensolver::ArPackppCmplxGen:
Collaboration graph
[legend]

List of all members.

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_

Detailed Description

Eigensolver for general Eigenproblems for complex matrices.

Using Cayley mode of arpack++

Definition at line 349 of file arpackpp.hh.


Constructor & Destructor Documentation

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.

Parameters:
OPmultiplication operator (A-B*sigma)^-1
AStiffness matrix
Bis the Matrix on the right hand side and had to be symmetric and positive definite
kmaxNumber of eigenpairs to be computed must be lower then the dimension of the matrices -1
Warning:
kmax have to be lower than the dimension of the matrix -1!
Parameters:
tolConvergence tolerance for the eigenpairs.
maxiterMaximum number of Arnoldi iterations allowed
targetWhat sort of eigenvalues to compute
modeMode in which ARPACK should be used
sigmaShift 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.

Parameters:
OPmultiplication operator for B^-1
Ais the Matrix on the left hand side of the problem Ax = Bx
Bis the Matrix on the right hand side and had to be positive definite
kmaxNumber of eigenpairs to be computed must be lower then the dimension of the matrices
which- which eigenvalue is searched
tolConvergence tolerance for the eigenpairs.
maxiterMaximum number of Arnoldi iterations allowed
targetWhat sort of eigenvalues to compute
modeMode in which ARPACK should be used
sigmaShift for the shift-invert modes
virtual eigensolver::ArPackppCmplxGen::~ArPackppCmplxGen ( ) [inline, virtual]

Definition at line 392 of file arpackpp.hh.


Member Function Documentation

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.

Here is the call graph for this function:

virtual const concepts::Array<Cmplx>& eigensolver::ArPackppCmplxGen::getEV ( ) [inline, virtual]

Returns an array with the eigen values.

Deprecated:
: this interface requires that the returned array must be hold as a member variable of the class.

(use std::auto_pointer or similar)

Implements eigensolver::EigenSolver< Cmplx >.

Definition at line 402 of file arpackpp.hh.

Here is the call graph for this function:

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.


Member Data Documentation

Definition at line 462 of file arpackpp.hh.

Definition at line 464 of file arpackpp.hh.

Definition at line 468 of file arpackpp.hh.

Definition at line 467 of file arpackpp.hh.

References into storage for eigenvectors.

Definition at line 471 of file arpackpp.hh.

Definition at line 472 of file arpackpp.hh.

Definition at line 466 of file arpackpp.hh.

Definition at line 460 of file arpackpp.hh.

Definition at line 461 of file arpackpp.hh.

Definition at line 459 of file arpackpp.hh.

Definition at line 458 of file arpackpp.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)