Class documentation of Concepts

Loading...
Searching...
No Matches
jdbsym.hh
Go to the documentation of this file.
1
6#ifndef jdbsym_hh
7#define jdbsym_hh
8
9#include "eigens.hh"
10
11namespace concepts {
12 // forward declaration
13 template<typename F>
14 class Operator;
15 template<typename F>
16 class SolverFabric;
17} // namespace concepts
18
19namespace eigensolver {
20
21using concepts::Real;
22
23 // **************************************************************** JdbSym **
24
48 class JdbSym : public EigenSolver<Real> {
49 public:
77 Real tol, uint maxit = 150, Real tau = 0.0, uint jdtype = 1,
78 uint kmax = 1, concepts::SolverFabric<Real>* fabric = 0,
79 const concepts::Array<concepts::Vector<Real>*>* start = 0);
80 virtual ~JdbSym();
81 virtual const concepts::Array<Real>& getEV();
82 virtual const concepts::Array<concepts::Vector<Real>*>& getEF();
83 virtual uint iterations() const { return (uint)it_; }
84 virtual uint converged() const { return (uint)k_conv_; }
85 protected:
86 virtual std::ostream& info(std::ostream& os) const;
87 private:
91 void compute_();
93 bool computed_;
101 Real tol_;
103 uint maxit_;
105 Real tau_;
107 const uint jdtype_;
109 uint kmax_;
111 int it_;
113 int k_conv_;
114
116 concepts::Array<Real> lambda_;
118 concepts::Array<Real> eigenvectors_;
121
123 uint stiffCounter_, massCounter_;
124
127
129 static int jdbsymLock_;
130 };
131
132}
133
134#endif // jdbsym_hh
virtual uint converged() const
Returns the number of converged eigen pairs.
Definition jdbsym.hh:84
JdbSym(concepts::Operator< Real > &stiff, concepts::Operator< Real > &mass, Real tol, uint maxit=150, Real tau=0.0, uint jdtype=1, uint kmax=1, concepts::SolverFabric< Real > *fabric=0, const concepts::Array< concepts::Vector< Real > * > *start=0)
virtual uint iterations() const
Returns the number of iterations.
Definition jdbsym.hh:83
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const concepts::Array< Real > & getEV()
double Real
Definition typedefs.hh:39