Fabric class for ARPACK eigenvalue solver for a constrained problem. More...
#include <arpackFabric.hh>


Public Member Functions | |
| ArPackFabric (int kmax=1, Real tol=0.0, const int maxiter=300, enum ArPackSymm::which target=ArPackSymm::SM, enum ArPackSymm::modus mode=ArPackSymm::REGINV, const Real sigma=0.0, const concepts::Vector< Real > *start=0) | |
| Constructor. | |
| virtual ArPackSymm & | operator() (concepts::Operator< Real > &stiff, concepts::Operator< Real > &mass) |
Creates an eigenvalue solver which solves the abstract eigenvalue problem defined by stiff and mass. | |
| virtual | ~ArPackFabric () |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Member Functions | |
| ArPackFabric (const ArPackFabric &) | |
| void | bucklingMode_ (concepts::Operator< Real > &stiff, concepts::Operator< Real > &mass) |
| void | cayleyMode_ (concepts::Operator< Real > &stiff, concepts::Operator< Real > &mass) |
| void | normalMode_ (concepts::Operator< Real > &stiff, concepts::Operator< Real > &mass) |
| void | reginvMode_ (concepts::Operator< Real > &stiff, concepts::Operator< Real > &mass) |
| void | shiftinvMode_ (concepts::Operator< Real > &stiff, concepts::Operator< Real > &mass) |
Private Attributes | |
| std::auto_ptr < concepts::Operator< Real > > | B_ |
| int | kmax_ |
| Number of eigenpairs to be computed. | |
| int | maxiter_ |
| Maximum number of Arnoldi iterations allowed. | |
| enum ArPackSymm::modus | mode_ |
| Mode in which ARPACK should be used. | |
| std::auto_ptr < concepts::Operator< Real > > | OP_ |
| const Real | sigma_ |
| Shift for the shift-invert, Buckling or Cayley mode. | |
| std::auto_ptr< ArPackSymm > | solver_ |
| const concepts::Vector< Real > * | start_ |
| Starting vector, if not given ARPACK invents one. | |
| enum ArPackSymm::which | target_ |
| What sort of eigenvalues to compute. | |
| std::auto_ptr < concepts::Operator< Real > > | tmp1_ |
| std::auto_ptr < concepts::Operator< Real > > | tmp2_ |
| Real | tol_ |
| Convergence tolerance for the eigenpairs. | |
Fabric class for ARPACK eigenvalue solver for a constrained problem.
Definition at line 21 of file arpackFabric.hh.
| eigensolver::ArPackFabric::ArPackFabric | ( | int | kmax = 1, |
| Real | tol = 0.0, |
||
| const int | maxiter = 300, |
||
| enum ArPackSymm::which | target = ArPackSymm::SM, |
||
| enum ArPackSymm::modus | mode = ArPackSymm::REGINV, |
||
| const Real | sigma = 0.0, |
||
| const concepts::Vector< Real > * | start = 0 |
||
| ) | [inline] |
Constructor.
| kmax | Number of eigenpairs to be computed |
| tol | Convergence tolerance for the eigenpairs. The default value 0.0 is replaced by DLAMCH('EPS') from LAPACK. |
| 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, Buckling or Cayley mode |
| start | Starting vector, if not given ARPACK invents one |
Definition at line 33 of file arpackFabric.hh.
| virtual eigensolver::ArPackFabric::~ArPackFabric | ( | ) | [virtual] |
| eigensolver::ArPackFabric::ArPackFabric | ( | const ArPackFabric & | ) | [private] |
| void eigensolver::ArPackFabric::bucklingMode_ | ( | concepts::Operator< Real > & | stiff, |
| concepts::Operator< Real > & | mass | ||
| ) | [private] |
| void eigensolver::ArPackFabric::cayleyMode_ | ( | concepts::Operator< Real > & | stiff, |
| concepts::Operator< Real > & | mass | ||
| ) | [private] |
| virtual std::ostream& eigensolver::ArPackFabric::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
| void eigensolver::ArPackFabric::normalMode_ | ( | concepts::Operator< Real > & | stiff, |
| concepts::Operator< Real > & | mass | ||
| ) | [private] |
| virtual ArPackSymm& eigensolver::ArPackFabric::operator() | ( | concepts::Operator< Real > & | stiff, |
| concepts::Operator< Real > & | mass | ||
| ) | [virtual] |
Creates an eigenvalue solver which solves the abstract eigenvalue problem defined by stiff and mass.
This fabric should only by used once as subsequent uses would invalidate older solvers.
Implements eigensolver::SolverFabric< Real >.
| void eigensolver::ArPackFabric::reginvMode_ | ( | concepts::Operator< Real > & | stiff, |
| concepts::Operator< Real > & | mass | ||
| ) | [private] |
| void eigensolver::ArPackFabric::shiftinvMode_ | ( | concepts::Operator< Real > & | stiff, |
| concepts::Operator< Real > & | mass | ||
| ) | [private] |
std::auto_ptr<concepts::Operator<Real> > eigensolver::ArPackFabric::B_ [private] |
Definition at line 48 of file arpackFabric.hh.
int eigensolver::ArPackFabric::kmax_ [private] |
Number of eigenpairs to be computed.
Definition at line 50 of file arpackFabric.hh.
int eigensolver::ArPackFabric::maxiter_ [private] |
Maximum number of Arnoldi iterations allowed.
Definition at line 52 of file arpackFabric.hh.
enum ArPackSymm::modus eigensolver::ArPackFabric::mode_ [private] |
Mode in which ARPACK should be used.
Definition at line 58 of file arpackFabric.hh.
std::auto_ptr<concepts::Operator<Real> > eigensolver::ArPackFabric::OP_ [private] |
Definition at line 48 of file arpackFabric.hh.
const Real eigensolver::ArPackFabric::sigma_ [private] |
Shift for the shift-invert, Buckling or Cayley mode.
Definition at line 60 of file arpackFabric.hh.
std::auto_ptr<ArPackSymm> eigensolver::ArPackFabric::solver_ [private] |
Definition at line 47 of file arpackFabric.hh.
const concepts::Vector<Real>* eigensolver::ArPackFabric::start_ [private] |
Starting vector, if not given ARPACK invents one.
Definition at line 62 of file arpackFabric.hh.
enum ArPackSymm::which eigensolver::ArPackFabric::target_ [private] |
What sort of eigenvalues to compute.
Definition at line 56 of file arpackFabric.hh.
std::auto_ptr<concepts::Operator<Real> > eigensolver::ArPackFabric::tmp1_ [private] |
Definition at line 48 of file arpackFabric.hh.
std::auto_ptr<concepts::Operator<Real> > eigensolver::ArPackFabric::tmp2_ [private] |
Definition at line 48 of file arpackFabric.hh.
Real eigensolver::ArPackFabric::tol_ [private] |
Convergence tolerance for the eigenpairs.
Definition at line 54 of file arpackFabric.hh.