#include <arpackpp.hh>
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) | |
| 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) | |
| virtual | ~ArPackppSymGen () |
| Deconstructor. | |
| virtual const concepts::Array< Real > & | getEV () |
| virtual concepts::Array< concepts::Vector< Real > * > & | getEF () |
| virtual uint | iterations () const |
| Returns the actual number of Arnoldi iterations. | |
| virtual uint | converged () const |
| Returns the number of converged eigenpairs. | |
| concepts::Array< Real > | getRESID () |
| Returns the RESID vector. | |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
EigenSolver for symmetric, real-valued, general eigenproblems. Solves problems of the form 
Definition at line 349 of file arpackpp.hh.
| 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 |
||
| ) |
Shift and invert mode constructor, Cayley mode.
| OP | multiplication operator, OP * x = inv(A-sigma*B) * x |
| A | matrix of the left hand side |
| B | matrix of the right hand side |
| kmax | number of eigenpairs to be computed, default 1 |
| sigma | real-valued shift for the shift-invert mode, default 0.1 |
| tol | convergence tolerance for the eigenpairs, default 0.0 (is replaced by LAPACK's DLAMCH('EPS')) |
| maxiter | maximum number of Arnoldi iterations, default 300 |
A has to be real and symmetric. B has to be real, symmetric and positive definite. kmax has to be larger than or equal to 1 and smaller than than dimension of the matrix sigma must not be 0. Therefore the default value is set to 0.1. | 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 |
||
| ) |
Shift and invert mode constructor, buckling and standard mode.
| invertType | mode identifier, either "B" for buckling mode, or "S" for standard mode |
| OP | multiplication operator, OP * x = inv(A-sigma*B) * x |
| A | depending on the invertType, A is either the matrix A of the left hand side (buckling mode "B") or the matrix B of the right hand side (standard mode "S") |
| kmax | number of eigenpairs to be computed, default 1 |
| sigma | real-valued shift for the shift-invert mode, default 0.1 |
| tol | convergence tolerance for the eigenpairs, default 0.0 (is replaced by LAPACK's DLAMCH('EPS')) |
| maxiter | maximum number of Arnoldi iterations, default 300 |
A of the left hand side has to be real and symmetric. B of the right hand side has to be real, symmetric and positive definite. kmax has to be larger than or equal to 1 and smaller than or equal to the dimension of the matrix minus 2. sigma must not be 0. Therefore the default value is set to 0.1.
|
inlinevirtual |
Deconstructor.
Definition at line 433 of file arpackpp.hh.
|
inlinevirtual |
Returns the number of converged eigenpairs.
Implements eigensolver::EigenSolver< Real >.
Definition at line 464 of file arpackpp.hh.
|
inlinevirtual |
Getter for the computed eigenvectors. Computes eigenvalues and eigenvectors if they have not yet been computed.
Implements eigensolver::EigenSolver< Real >.
Definition at line 452 of file arpackpp.hh.
|
inlinevirtual |
Getter for the computed eigenvalues. Computes eigenvalues and eigenvectors if they have not yet been computed.
Implements eigensolver::EigenSolver< Real >.
Definition at line 442 of file arpackpp.hh.
|
inline |
Returns the RESID vector.
Definition at line 469 of file arpackpp.hh.
|
inlineprotectedvirtual |
Returns information in an output stream.
Reimplemented from eigensolver::EigenSolver< Real >.
Definition at line 476 of file arpackpp.hh.
|
inlinevirtual |
Returns the actual number of Arnoldi iterations.
Implements eigensolver::EigenSolver< Real >.
Definition at line 459 of file arpackpp.hh.