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

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

Eigensolver for general Eigenproblems for symmetric matrices. More...

#include <arpackpp.hh>

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

List of all members.

Public Member Functions

 ArPackppSymGen (concepts::Operator< Real > &OP, concepts::Operator< Real > &A, concepts::Operator< Real > &B, int kmax=1, Real sigma=0.1, Real tol=0.0, int maxiter=300, concepts::Vector< Real > *start=0, concepts::Array< Real > *resid=0, bool schur=false)
 Constructor for SHIFTandINVERT mode, Cayley mode.
 ArPackppSymGen (char invertType, concepts::Operator< Real > &OP, concepts::Operator< Real > &A, int kmax=1, Real sigma=0.1, Real tol=0.0, int maxiter=300, concepts::Vector< Real > *start=0, concepts::Array< Real > *resid=0, bool schur=false)
 Constructor for SHIFTandINVERT mode and Buckling mode.
virtual uint converged () const
 Returns the number of converged eigenpairs.
virtual concepts::Array
< concepts::Vector< Real > * > & 
getEF ()
 Getter for the computed eigenvectorsComputes Eigenvalus and Eigenvectors if they were not computed.
virtual const concepts::Array
< Real > & 
getEV ()
 Getter for the computed eigenvalues.
concepts::Array< Real > getRESID ()
 Returns the RESID vector:
virtual uint iterations () const
 Returns the actual number of Arnoldi iterations taken.
virtual ~ArPackppSymGen ()
 Constructor for SHIFTandINVERT mode and Buckling mode.

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
< concepts::Real,
concepts::Real, concepts::Real
aow_
ARSymGenEig< Real,
ArpackOperatorWrapper
< concepts::Real,
concepts::Real, concepts::Real >
, ArpackOperatorWrapper
< concepts::Real,
concepts::Real, concepts::Real > > 
arpackSolver_
bool computed_
uint convEigenvalues_
concepts::Array< Real > eigenValues_
 References into storage for eigenvectors.
concepts::Array
< concepts::Vector< Real > * > 
eigenVectors_
uint iter_
ArPack< Real >::modus modus_
uint n_
char * whichEV_

Detailed Description

Eigensolver for general Eigenproblems for symmetric matrices.

Using Cayley mode of Arpack.

Definition at line 303 of file arpackpp.hh.


Constructor & Destructor Documentation

eigensolver::ArPackppSymGen::ArPackppSymGen ( concepts::Operator< Real > &  OP,
concepts::Operator< Real > &  A,
concepts::Operator< Real > &  B,
int  kmax = 1,
Real  sigma = 0.1,
Real  tol = 0.0,
int  maxiter = 300,
concepts::Vector< Real > *  start = 0,
concepts::Array< Real > *  resid = 0,
bool  schur = false 
)

Constructor for SHIFTandINVERT mode, Cayley mode.

Warning:
B have to be a symmetric positive definite matrix
Parameters:
OPis the multiplication operator (A-sigma)^(-1)
AStiffness matrix
Bis the Matrix on the right hand side
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. The default value 0.0 is replaced by DLAMCH('EPS') from LAPACK.
maxiterMaximum number of Arnoldi iterations allowed
targetWhat sort of eigenvalues to compute
sigmaShift for the shift-invert modes
Warning:
In the cayley mode sigma should be a real number that is NOT ZERO!
Parameters:
startInitial vector for iteration
schurCalculate Schur vector basis instead of eigenvectors
eigensolver::ArPackppSymGen::ArPackppSymGen ( char  invertType,
concepts::Operator< Real > &  OP,
concepts::Operator< Real > &  A,
int  kmax = 1,
Real  sigma = 0.1,
Real  tol = 0.0,
int  maxiter = 300,
concepts::Vector< Real > *  start = 0,
concepts::Array< Real > *  resid = 0,
bool  schur = false 
)

Constructor for SHIFTandINVERT mode and Buckling mode.

Warning:
B have to be a symmetric positive definite matrix
Parameters:
OPis the multiplication operator (A-sigma)^(-1)
Ais the matrix of the left hand side in Buckling Mode (invertType = 'B')
Ais the Matrix on the right hand side in standard mode (invertType = 'S')
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. The default value 0.0 is replaced by DLAMCH('EPS') from LAPACK.
maxiterMaximum number of Arnoldi iterations allowed
targetWhat sort of eigenvalues to compute
sigmaShift for the shift-invert modes
Warning:
In the buckling mode sigma should be a real number that is NOT ZERO!
Parameters:
startInitial vector for iteration
schurCalculate Schur vector basis instead of eigenvectors
virtual eigensolver::ArPackppSymGen::~ArPackppSymGen ( ) [inline, virtual]

Constructor for SHIFTandINVERT mode and Buckling mode.

Warning:
B have to be a symmetric positive definite matrix
Parameters:
OPis the multiplication operator B^-1
AStiffness matrix
Bis the Matrix on the right hand side
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. The default value 0.0 is replaced by DLAMCH('EPS') from LAPACK.
maxiterMaximum number of Arnoldi iterations allowed
targetWhat sort of eigenvalues to compute
sigmaShift for the shift-invert modes
Warning:
In the buckling mode sigma should be a real number that is NOT ZERO!
Parameters:
startInitial vector for iteration
schurCalculate Schur vector basis instead of eigenvectorsDecstructor

Definition at line 374 of file arpackpp.hh.


Member Function Documentation

void eigensolver::ArPackppSymGen::compute_ ( ) [private]
virtual uint eigensolver::ArPackppSymGen::converged ( ) const [inline, virtual]

Returns the number of converged eigenpairs.

Implements eigensolver::EigenSolver< Real >.

Definition at line 405 of file arpackpp.hh.

virtual concepts::Array<concepts::Vector<Real>*>& eigensolver::ArPackppSymGen::getEF ( ) [inline, virtual]

Getter for the computed eigenvectorsComputes Eigenvalus and Eigenvectors if they were not computed.

Implements eigensolver::EigenSolver< Real >.

Definition at line 393 of file arpackpp.hh.

Here is the call graph for this function:

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

Getter for the computed eigenvalues.

Computes Eigenvalus and Eigenvectors if they were not computed.

Implements eigensolver::EigenSolver< Real >.

Definition at line 383 of file arpackpp.hh.

Here is the call graph for this function:

concepts::Array<Real> eigensolver::ArPackppSymGen::getRESID ( ) [inline]

Returns the RESID vector:

Definition at line 410 of file arpackpp.hh.

virtual std::ostream& eigensolver::ArPackppSymGen::info ( std::ostream &  os) const [inline, protected, virtual]

Returns information in an output stream.

Reimplemented from eigensolver::EigenSolver< Real >.

Definition at line 417 of file arpackpp.hh.

virtual uint eigensolver::ArPackppSymGen::iterations ( ) const [inline, virtual]

Returns the actual number of Arnoldi iterations taken.

Implements eigensolver::EigenSolver< Real >.

Definition at line 400 of file arpackpp.hh.


Member Data Documentation

Definition at line 426 of file arpackpp.hh.

Definition at line 429 of file arpackpp.hh.

Definition at line 434 of file arpackpp.hh.

Definition at line 433 of file arpackpp.hh.

References into storage for eigenvectors.

Definition at line 437 of file arpackpp.hh.

Definition at line 438 of file arpackpp.hh.

Definition at line 432 of file arpackpp.hh.

Definition at line 425 of file arpackpp.hh.

Definition at line 431 of file arpackpp.hh.

Definition at line 424 of file arpackpp.hh.


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

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