Class documentation of Concepts

Loading...
Searching...
No Matches
ARPACKsymm.hh
Go to the documentation of this file.
1
6#ifndef ArPackSymmdsymm_hh
7#define ArPackSymmdsymm_hh
8
9#include <cfloat>
10#include "eigens.hh"
11
12namespace concepts {
13 // forward declaration
14 template<typename F>
15 class Operator;
16} // namespace concepts
17
18namespace eigensolver {
19
20using concepts::Real;
21
22 // **************************************************************** ArPackSymm **
23
65 class ArPackSymm : public EigenSolver<Real> {
66 public:
70 enum which { LA, SA, LM, SM, BE };
87 enum modus { NORMAL = 1, REGINV = 2, SHIFTINV = 3, BUCKLING = 4,
88 CAYLEY = 5 };
124 const int kmax = 1, const Real tol = 0.0,
125 const int maxiter = 300,
126 enum which target = SM, enum modus mode = REGINV,
127 const Real sigma = 0.0,
128 const concepts::Vector<Real>* start = 0);
129 virtual ~ArPackSymm();
130 virtual const concepts::Array<Real>& getEV();
131 virtual const concepts::Array<concepts::Vector<Real>*>& getEF();
132 virtual uint iterations() const { return (uint)iter_; }
133 virtual uint converged() const { return (uint)k_conv_; }
134 protected:
135 virtual std::ostream& info(std::ostream& os) const;
136 private:
144 int kmax_;
146 int maxiter_;
148 Real tol_;
149 int numop_, numopb_, numreo_, k_conv_, iter_;
151 concepts::Array<Real> eigenvalues_;
153 concepts::Array<Real> eigenvectors_;
157 enum which target_;
159 enum modus mode_;
161 const Real sigma_;
163 const concepts::Vector<Real>* start_;
164 bool computed_;
165 void compute_();
166 };
167
168} // namespace eigensolver
169
170#endif // ArPackSymm_hh
ArPackSymm(concepts::Operator< Real > &OP, concepts::Operator< Real > &A, concepts::Operator< Real > &B, const int kmax=1, const Real tol=0.0, const int maxiter=300, enum which target=SM, enum modus mode=REGINV, const Real sigma=0.0, const concepts::Vector< Real > *start=0)
virtual uint iterations() const
Returns the number of iterations.
virtual uint converged() const
Returns the number of converged eigen pairs.
virtual const concepts::Array< Real > & getEV()
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
double Real
Definition typedefs.hh:39